WP User Avatar - Version 4.3.2

Version Description

Download this release

Release Info

Developer Collizo4sky
Plugin Icon 128x128 WP User Avatar
Version 4.3.2
Comparing to
See all releases

Code changes from version 4.3.1 to 4.3.2

Files changed (91) hide show
  1. changelog.txt +6 -0
  2. languages/wp-user-avatar.pot +3310 -12974
  3. readme.txt +7 -20
  4. src/Admin/SettingsPages/Membership/DashboardPage/AbstractReport.php +2 -2
  5. src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php +1 -1
  6. src/Classes/BuddyPressBbPress.php +9 -5
  7. src/Classes/FormRepository.php +7 -7
  8. src/Classes/PPRESS_Session.php +4 -0
  9. src/Classes/SendEmail.php +5 -4
  10. src/Classes/UserAvatar.php +59 -38
  11. src/ContentProtection/ConditionCallbacks.php +1 -1
  12. src/Membership/Controllers/CheckoutController.php +1 -1
  13. src/Membership/Controllers/FrontendController.php +4 -4
  14. src/ShortcodeParser/Builder/FieldsShortcodeCallback.php +3 -1
  15. third-party/composer.json +2 -2
  16. third-party/vendor/autoload.php +1 -1
  17. third-party/vendor/composer/autoload_classmap.php +50 -8
  18. third-party/vendor/composer/autoload_psr4.php +2 -1
  19. third-party/vendor/composer/autoload_real.php +7 -7
  20. third-party/vendor/composer/autoload_static.php +61 -14
  21. third-party/vendor/composer/installed.json +92 -36
  22. third-party/vendor/composer/installed.php +1 -1
  23. third-party/vendor/composer/platform_check.php +2 -2
  24. third-party/vendor/nesbot/carbon/lazy/Carbon/PHPStan/AbstractMacroBuiltin.php +4 -0
  25. third-party/vendor/nesbot/carbon/lazy/Carbon/PHPStan/AbstractMacroStatic.php +3 -0
  26. third-party/vendor/nesbot/carbon/lazy/Carbon/PHPStan/MacroStrongType.php +2 -1
  27. third-party/vendor/nesbot/carbon/lazy/Carbon/PHPStan/MacroWeakType.php +2 -1
  28. third-party/vendor/nesbot/carbon/src/Carbon/CarbonInterface.php +12 -12
  29. third-party/vendor/nesbot/carbon/src/Carbon/CarbonInterval.php +7 -2
  30. third-party/vendor/nesbot/carbon/src/Carbon/CarbonPeriod.php +14 -8
  31. third-party/vendor/nesbot/carbon/src/Carbon/Lang/de.php +1 -1
  32. third-party/vendor/nesbot/carbon/src/Carbon/Lang/es.php +2 -1
  33. third-party/vendor/nesbot/carbon/src/Carbon/Lang/fi.php +1 -1
  34. third-party/vendor/nesbot/carbon/src/Carbon/Lang/fr.php +1 -1
  35. third-party/vendor/nesbot/carbon/src/Carbon/Lang/it.php +1 -1
  36. third-party/vendor/nesbot/carbon/src/Carbon/Lang/lv.php +1 -1
  37. third-party/vendor/nesbot/carbon/src/Carbon/Lang/pt.php +1 -1
  38. third-party/vendor/nesbot/carbon/src/Carbon/Lang/sl.php +1 -1
  39. third-party/vendor/nesbot/carbon/src/Carbon/Language.php +1 -1
  40. third-party/vendor/nesbot/carbon/src/Carbon/PHPStan/AbstractMacro.php +57 -5
  41. third-party/vendor/nesbot/carbon/src/Carbon/Traits/Converter.php +3 -33
  42. third-party/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php +2 -2
  43. third-party/vendor/nesbot/carbon/src/Carbon/Traits/Date.php +14 -10
  44. third-party/vendor/nesbot/carbon/src/Carbon/Traits/Difference.php +1 -1
  45. third-party/vendor/nesbot/carbon/src/Carbon/Traits/Localization.php +9 -0
  46. third-party/vendor/nesbot/carbon/src/Carbon/Traits/Modifiers.php +1 -1
  47. third-party/vendor/nesbot/carbon/src/Carbon/Traits/Rounding.php +16 -1
  48. third-party/vendor/nesbot/carbon/src/Carbon/Traits/Serialization.php +3 -3
  49. third-party/vendor/nesbot/carbon/src/Carbon/Traits/ToStringFormat.php +52 -0
  50. third-party/vendor/nesbot/carbon/src/Carbon/Traits/Units.php +4 -3
  51. third-party/vendor/pelago/emogrifier/src/Caching/SimpleStringCache.php +79 -0
  52. third-party/vendor/pelago/emogrifier/src/Css/CssDocument.php +162 -0
  53. third-party/vendor/pelago/emogrifier/src/Css/StyleRule.php +71 -0
  54. third-party/vendor/pelago/emogrifier/src/{Emogrifier/CssInliner.php → CssInliner.php} +423 -336
  55. third-party/vendor/pelago/emogrifier/src/Emogrifier.php +0 -1504
  56. third-party/vendor/pelago/emogrifier/src/Emogrifier/HtmlProcessor/AbstractHtmlProcessor.php +0 -272
  57. third-party/vendor/pelago/emogrifier/src/HtmlProcessor/AbstractHtmlProcessor.php +401 -0
  58. third-party/vendor/pelago/emogrifier/src/{Emogrifier/HtmlProcessor → HtmlProcessor}/CssToAttributeConverter.php +29 -43
  59. third-party/vendor/pelago/emogrifier/src/{Emogrifier/HtmlProcessor → HtmlProcessor}/HtmlNormalizer.php +1 -2
  60. third-party/vendor/pelago/emogrifier/src/{Emogrifier/HtmlProcessor → HtmlProcessor}/HtmlPruner.php +13 -20
  61. third-party/vendor/pelago/emogrifier/src/{Emogrifier/Utilities → Utilities}/ArrayIntersector.php +7 -7
  62. third-party/vendor/pelago/emogrifier/src/{Emogrifier/Utilities → Utilities}/CssConcatenator.php +55 -31
  63. third-party/vendor/sabberworm/php-css-parser/src/CSSList/AtRuleBlockList.php +75 -0
  64. third-party/vendor/sabberworm/php-css-parser/src/CSSList/CSSBlockList.php +138 -0
  65. third-party/vendor/sabberworm/php-css-parser/src/CSSList/CSSList.php +434 -0
  66. third-party/vendor/sabberworm/php-css-parser/src/CSSList/Document.php +161 -0
  67. third-party/vendor/sabberworm/php-css-parser/src/CSSList/KeyFrame.php +92 -0
  68. third-party/vendor/sabberworm/php-css-parser/src/Comment/Comment.php +63 -0
  69. third-party/vendor/sabberworm/php-css-parser/src/Comment/Commentable.php +23 -0
  70. third-party/vendor/sabberworm/php-css-parser/src/OutputFormat.php +290 -0
  71. third-party/vendor/sabberworm/php-css-parser/src/OutputFormatter.php +212 -0
  72. third-party/vendor/sabberworm/php-css-parser/src/Parser.php +55 -0
  73. third-party/vendor/sabberworm/php-css-parser/src/Parsing/OutputException.php +18 -0
  74. third-party/vendor/sabberworm/php-css-parser/src/Parsing/ParserState.php +462 -0
  75. third-party/vendor/sabberworm/php-css-parser/src/Parsing/SourceException.php +30 -0
  76. third-party/vendor/sabberworm/php-css-parser/src/Parsing/UnexpectedEOFException.php +12 -0
  77. third-party/vendor/sabberworm/php-css-parser/src/Parsing/UnexpectedTokenException.php +47 -0
  78. third-party/vendor/sabberworm/php-css-parser/src/Property/AtRule.php +30 -0
  79. third-party/vendor/sabberworm/php-css-parser/src/Property/CSSNamespace.php +136 -0
  80. third-party/vendor/sabberworm/php-css-parser/src/Property/Charset.php +115 -0
  81. third-party/vendor/sabberworm/php-css-parser/src/Property/Import.php +121 -0
  82. third-party/vendor/sabberworm/php-css-parser/src/Property/KeyframeSelector.php +23 -0
  83. third-party/vendor/sabberworm/php-css-parser/src/Property/Selector.php +128 -0
  84. third-party/vendor/sabberworm/php-css-parser/src/Renderable.php +19 -0
  85. third-party/vendor/sabberworm/php-css-parser/src/Rule/Rule.php +358 -0
  86. third-party/vendor/sabberworm/php-css-parser/src/RuleSet/AtRuleSet.php +66 -0
  87. third-party/vendor/sabberworm/php-css-parser/src/RuleSet/DeclarationBlock.php +701 -0
  88. third-party/vendor/sabberworm/php-css-parser/src/RuleSet/RuleSet.php +295 -0
  89. third-party/vendor/sabberworm/php-css-parser/src/Settings.php +81 -0
  90. third-party/vendor/sabberworm/php-css-parser/src/Value/CSSFunction.php +66 -0
  91. third-party/vendor/sabberworm/php-css-parser/src/Value/CSSString.php +32 -0
changelog.txt CHANGED
@@ -1,5 +1,11 @@
1
  == Changelog ==
2
 
 
 
 
 
 
 
3
  = 4.3.1 =
4
  * Pro: [Checkout social login support](https://profilepress.com/addons/social-login/?ref=changelog).
5
  * Pro: [Checkout reCAPTCHA support](https://profilepress.com/addons/recaptcha/?ref=changelog).
1
  == Changelog ==
2
 
3
+ = 4.3.2 =
4
+ * PHP 8 compatibility improvements.
5
+ * Fixed bug where default avatar wasn't reflecting in buddypress.
6
+ * Fixed bug where nocache header might be applied site-wide.
7
+ * Fixed bug where session might have started where unnecessary.
8
+
9
  = 4.3.1 =
10
  * Pro: [Checkout social login support](https://profilepress.com/addons/social-login/?ref=changelog).
11
  * Pro: [Checkout reCAPTCHA support](https://profilepress.com/addons/recaptcha/?ref=changelog).
languages/wp-user-avatar.pot CHANGED
@@ -2,9 +2,9 @@
2
  # This file is distributed under the same license as the ProfilePress package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: ProfilePress 4.3.1\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-user-avatar\n"
7
- "POT-Creation-Date: 2022-11-01 14:10:48+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -12,63 +12,83 @@ msgstr ""
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
14
 
 
 
 
15
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:57
16
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:66
17
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:127
18
  msgid "Profile & Cover Photo"
19
  msgstr ""
20
 
 
21
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:77
22
  msgid "Available Shortcodes"
23
  msgstr ""
24
 
 
 
25
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:81
26
- #: src/Admin/SettingsPages/AbstractSettingsPage.php:212
27
  msgid "Check out MailOptin"
28
  msgstr ""
29
 
 
30
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:93
31
  msgid "%s[avatar]%s displays a user's profile pictures."
32
  msgstr ""
33
 
 
34
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:100
35
  msgid ""
36
  "%s[avatar_upload]%s adds a standalone avatar uploader visible only to logged-"
37
  "in users."
38
  msgstr ""
39
 
 
40
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:106
41
  msgid "Learn more"
42
  msgstr ""
43
 
 
44
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:201
45
  msgid "Mystery Man"
46
  msgstr ""
47
 
 
48
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:202
49
  msgid "Blank"
50
  msgstr ""
51
 
 
52
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:203
53
  msgid "Gravatar Logo"
54
  msgstr ""
55
 
 
56
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:204
57
  msgid "Identicon (Generated)"
58
  msgstr ""
59
 
 
60
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:205
61
  msgid "Wavatar (Generated)"
62
  msgstr ""
63
 
 
64
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:206
65
  msgid "MonsterID (Generated)"
66
  msgstr ""
67
 
 
68
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:207
69
  msgid "Retro (Generated)"
70
  msgstr ""
71
 
 
 
 
 
72
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:241
73
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:242
74
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:119
@@ -76,152 +96,210 @@ msgstr ""
76
  msgid "Default Profile Picture"
77
  msgstr ""
78
 
 
 
79
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:242
80
- #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:180
81
  msgid "Choose Image"
82
  msgstr ""
83
 
 
 
 
 
 
84
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:243
85
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:79
86
- #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:300
87
- #: src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:100
88
- #: src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:119
89
- #: src/templates/checkout/form-checkout-sidebar.php:89
90
  msgid "Remove"
91
  msgstr ""
92
 
 
 
93
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:243
94
- #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:206
95
  msgid "Undo"
96
  msgstr ""
97
 
 
98
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-shortcode.php:177
99
  msgid "Profile updated."
100
  msgstr ""
101
 
 
 
102
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-shortcode.php:202
103
  #: src/Themes/DragDrop/AbstractTheme.php:113
104
  msgid "Update Profile"
105
  msgstr ""
106
 
 
107
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-widget.php:13
108
  msgid "Insert"
109
  msgstr ""
110
 
 
 
111
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-widget.php:13
112
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:193
113
  msgid "[avatar_upload]"
114
  msgstr ""
115
 
 
116
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-widget.php:14
117
  msgid "ProfilePress Avatar Upload"
118
  msgstr ""
119
 
 
 
 
 
120
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-widget.php:56
121
  #: src/Widgets/Form.php:65 src/Widgets/TabbedWidget.php:473
122
  #: src/Widgets/UserPanel.php:74
123
  msgid "Title:"
124
  msgstr ""
125
 
 
126
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-widget.php:60
127
  msgid "Description:"
128
  msgstr ""
129
 
 
130
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-widget.php:65
131
  msgid "Automatically add paragraphs"
132
  msgstr ""
133
 
 
 
134
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:43
135
  #: src/Classes/ImageUploader.php:41
136
  msgid "Cover Photo"
137
  msgstr ""
138
 
 
 
 
139
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:73
140
- #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:186
141
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:192
142
  msgid "Upload"
143
  msgstr ""
144
 
145
- #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:146
146
- #: src/RegisterScripts.php:94 src/RegisterScripts.php:176
 
 
 
147
  msgid "Are you sure?"
148
  msgstr ""
149
 
150
- #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:147
151
- #: src/RegisterScripts.php:95
 
 
152
  msgid "Deleting..."
153
  msgstr ""
154
 
155
- #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:148
156
- #: src/RegisterScripts.php:96
 
 
157
  msgid "An error occurred. Please try again."
158
  msgstr ""
159
 
160
- #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:189
 
 
 
161
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:38
162
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:70
163
  msgid "Maximum upload file size: %d%s."
164
  msgstr ""
165
 
166
- #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:190
 
167
  msgid "Allowed Files"
168
  msgstr ""
169
 
170
- #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:190
 
171
  msgid "<code>jpg jpeg png gif</code>"
172
  msgstr ""
173
 
174
- #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:196
 
 
175
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:139
176
  msgid "Original Size"
177
  msgstr ""
178
 
179
- #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:200
 
 
180
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:142
181
  msgid "Thumbnail"
182
  msgstr ""
183
 
184
- #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:203
 
185
  msgid "Remove Image"
186
  msgstr ""
187
 
188
- #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:253
 
189
  msgid "This file is not an image. Please try another."
190
  msgstr ""
191
 
192
- #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:257
193
- #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:284
 
 
194
  msgid "Memory exceeded. Please try another smaller file."
195
  msgstr ""
196
 
197
- #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:261
 
198
  msgid ""
199
  "Unable to create directory %s. Is its parent directory writable by the "
200
  "server?"
201
  msgstr ""
202
 
 
203
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:18
204
  msgid "Profile Picture — ProfilePress"
205
  msgstr ""
206
 
 
207
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:120
208
  msgid "Display Profile Picture"
209
  msgstr ""
210
 
 
 
211
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:121
212
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/ProfilePicture.php:22
213
  msgid "Upload Profile Picture"
214
  msgstr ""
215
 
 
 
216
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:126
217
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:127
218
  msgid "wp_user_avatar_user"
219
  msgstr ""
220
 
 
221
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:126
222
  msgid "User Name"
223
  msgstr ""
224
 
 
 
 
 
225
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:136
226
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:137
227
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:149
@@ -229,314 +307,408 @@ msgstr ""
229
  msgid "wp_user_avatar_size"
230
  msgstr ""
231
 
 
 
 
232
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:136
233
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:148
234
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/EditProfile/ShowProfilePicture.php:30
235
  msgid "Size"
236
  msgstr ""
237
 
 
 
238
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:140
239
- #: src/Themes/DragDrop/AbstractBuildScratch.php:335
240
  msgid "Large"
241
  msgstr ""
242
 
 
 
243
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:141
244
- #: src/Themes/DragDrop/AbstractBuildScratch.php:334
245
  msgid "Medium"
246
  msgstr ""
247
 
 
248
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:143
249
- #: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:264
250
  msgid "Custom"
251
  msgstr ""
252
 
 
253
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:147
254
  msgid "wp_user_avatar_size_number_section"
255
  msgstr ""
256
 
 
 
257
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:148
258
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:149
259
  msgid "wp_user_avatar_size_number"
260
  msgstr ""
261
 
 
 
262
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:153
263
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:154
264
  msgid "wp_user_avatar_align"
265
  msgstr ""
266
 
 
267
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:153
268
  msgid "Alignment"
269
  msgstr ""
270
 
 
 
271
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:156
272
- #: src/Themes/DragDrop/AbstractBuildScratch.php:409
273
  msgid "Center"
274
  msgstr ""
275
 
 
 
 
276
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:157
277
- #: src/Themes/DragDrop/AbstractBuildScratch.php:349
278
- #: src/Themes/DragDrop/AbstractBuildScratch.php:408
279
  msgid "Left"
280
  msgstr ""
281
 
 
 
 
282
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:158
283
- #: src/Themes/DragDrop/AbstractBuildScratch.php:350
284
- #: src/Themes/DragDrop/AbstractBuildScratch.php:410
285
  msgid "Right"
286
  msgstr ""
287
 
 
 
288
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:163
289
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:164
290
  msgid "wp_user_avatar_link"
291
  msgstr ""
292
 
 
293
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:163
294
  msgid "Link To"
295
  msgstr ""
296
 
 
297
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:166
298
  msgid "Image File"
299
  msgstr ""
300
 
 
 
301
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:167
302
- #: src/ContentProtection/views/view.access-condition.php:146
303
  msgid "Custom URL"
304
  msgstr ""
305
 
 
306
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:171
307
  msgid "wp_user_avatar_link_external_section"
308
  msgstr ""
309
 
 
 
310
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:172
311
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:173
312
  msgid "wp_user_avatar_link_external"
313
  msgstr ""
314
 
 
315
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:172
316
  msgid "URL"
317
  msgstr ""
318
 
 
 
319
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:177
320
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:178
321
  msgid "wp_user_avatar_target"
322
  msgstr ""
323
 
 
324
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:178
325
  msgid "Open link in a new window"
326
  msgstr ""
327
 
 
 
328
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:182
329
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:183
330
  msgid "wp_user_avatar_caption"
331
  msgstr ""
332
 
 
333
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:182
334
  msgid "Caption"
335
  msgstr ""
336
 
 
 
337
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:187
338
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:197
339
  msgid "Insert into Post"
340
  msgstr ""
341
 
 
 
 
342
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:191
343
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:192
344
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:193
345
  msgid "wp_user_avatar_upload"
346
  msgstr ""
347
 
 
 
 
 
 
 
348
  #: deprecated/wp-user-avatar/includes/wpua-functions.php:65
349
  #: deprecated/wp-user-avatar/includes/wpua-functions.php:73
350
  #: deprecated/wp-user-avatar/includes/wpua-functions.php:78
351
  #: deprecated/wp-user-avatar/includes/wpua-functions.php:131
352
  #: src/Classes/ImageUploader.php:49
353
- #: src/ShortcodeParser/MyAccount/MyAccountTag.php:642
354
  msgid "Profile Picture"
355
  msgstr ""
356
 
 
 
357
  #: deprecated/wp-user-avatar/includes/wpua-functions.php:75
358
  #: deprecated/wp-user-avatar/includes/wpua-functions.php:81
359
  msgid "Image"
360
  msgstr ""
361
 
 
362
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:13
363
  msgid ""
364
  "Avatar is currently disabled. Kindly %senable it on \"Avatar Display\" "
365
  "section%s."
366
  msgstr ""
367
 
 
368
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:29
369
  msgid "Cover Photo Maximum File Size"
370
  msgstr ""
371
 
 
 
372
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:36
373
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:68
374
  msgid "%s exceeds the maximum upload size for this site."
375
  msgstr ""
376
 
 
377
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:47
378
  msgid "Default Cover Photo"
379
  msgstr ""
380
 
 
381
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:53
382
  msgid ""
383
  "Please make sure that the default cover is large enough (min. 1000px in "
384
  "width) and respects the ratio you are using for cover photos."
385
  msgstr ""
386
 
 
387
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:61
388
  msgid "Profile Picture Maximum File Size"
389
  msgstr ""
390
 
 
391
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:75
392
  msgid "Resize avatars on upload"
393
  msgstr ""
394
 
 
 
 
 
395
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:79
396
  #: src/Themes/DragDrop/AbstractBuildScratch.php:83
397
  #: src/Themes/DragDrop/AbstractBuildScratch.php:224
398
- #: src/Themes/DragDrop/AbstractBuildScratch.php:492
399
  msgid "Width"
400
  msgstr ""
401
 
 
402
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:81
403
  msgid "Height"
404
  msgstr ""
405
 
 
406
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:85
407
  msgid "Crop avatars to exact dimensions"
408
  msgstr ""
409
 
 
410
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:94
411
  msgid "Disable Gravatar"
412
  msgstr ""
413
 
 
414
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:102
415
  msgid "Disable Gravatar and use only local avatars"
416
  msgstr ""
417
 
 
418
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:124
419
  msgid ""
420
  "For users without a custom avatar of their own, you can either display a "
421
  "generic logo or a generated one based on their e-mail address."
422
  msgstr ""
423
 
424
- #: src/Admin/ProfileCustomFields.php:58
425
- msgid "Billing Address (ProfilePress)"
426
- msgstr ""
427
-
428
  #: src/Admin/SettingsPages/AbstractSettingsPage.php:26
429
  msgid "ProfilePress - WordPress User Registration & Profile Plugin"
430
  msgstr ""
431
 
432
- #: src/Admin/SettingsPages/AbstractSettingsPage.php:71
 
433
  msgid "Review"
434
  msgstr ""
435
 
436
- #: src/Admin/SettingsPages/AbstractSettingsPage.php:75
 
437
  msgid "Support"
438
  msgstr ""
439
 
440
- #: src/Admin/SettingsPages/AbstractSettingsPage.php:79
 
441
  msgid "Pro Upgrade"
442
  msgstr ""
443
 
444
- #: src/Admin/SettingsPages/AbstractSettingsPage.php:83
445
- #: src/Classes/Miscellaneous.php:179
446
  msgid "Docs"
447
  msgstr ""
448
 
449
- #: src/Admin/SettingsPages/AbstractSettingsPage.php:208
 
450
  msgid "Need Support?"
451
  msgstr ""
452
 
453
- #: src/Admin/SettingsPages/AbstractSettingsPage.php:237
 
454
  msgid ""
455
  "Whether you need help or have a new feature request, let us know. %sRequest "
456
  "Support%s"
457
  msgstr ""
458
 
459
- #: src/Admin/SettingsPages/AbstractSettingsPage.php:245
 
460
  msgid ""
461
  "Detailed documentation is also available on the plugin website. %sView "
462
  "Knowledge Base%s"
463
  msgstr ""
464
 
465
- #: src/Admin/SettingsPages/AbstractSettingsPage.php:253
 
466
  msgid ""
467
  "If you are enjoying ProfilePress and find it useful, please consider leaving "
468
  "a ★★★★★ review on WordPress.org. %sLeave a Review%s"
469
  msgstr ""
470
 
471
- #: src/Admin/SettingsPages/AbstractSettingsPage.php:265
 
472
  msgid "Use the coupon code %s10PERCENTOFF%s to save %s off MailOptin."
473
  msgstr ""
474
 
475
- #: src/Admin/SettingsPages/AbstractSettingsPage.php:280
476
- #: src/Admin/SettingsPages/AbstractSettingsPage.php:297
 
 
 
 
 
 
 
 
477
  #: src/Admin/SettingsPages/DragDropBuilder/Metabox.php:162
478
  #: src/Admin/SettingsPages/DragDropBuilder/Metabox.php:223
479
- #: src/Admin/SettingsPages/GeneralSettings.php:390
480
- #: src/Admin/SettingsPages/Membership/CheckoutFieldsManager.php:90
481
- #: src/Admin/SettingsPages/Membership/PlanIntegrationsMetabox.php:175
482
- #: src/Functions/GlobalFunctions.php:1313
483
- #: src/Functions/GlobalFunctions.php:1345
484
- #: src/Functions/GlobalFunctions.php:1367
485
  msgid "Select..."
486
  msgstr ""
487
 
488
- #: src/Admin/SettingsPages/AbstractSettingsPage.php:315
 
489
  msgid "Custom URL Here"
490
  msgstr ""
491
 
 
 
492
  #: src/Admin/SettingsPages/AddNewForm.php:27
493
  #: src/Admin/SettingsPages/MemberDirectories.php:40
494
  msgid "Add Member Directory"
495
  msgstr ""
496
 
 
497
  #: src/Admin/SettingsPages/AddNewForm.php:47
498
  msgid "Drag & Drop Builder"
499
  msgstr ""
500
 
 
501
  #: src/Admin/SettingsPages/AddNewForm.php:48
502
  msgid ""
503
  "Create beautiful, responsive forms with easy to use drag & drop form builder."
504
  msgstr ""
505
 
 
506
  #: src/Admin/SettingsPages/AddNewForm.php:51
507
  msgid "Get Started"
508
  msgstr ""
509
 
 
 
510
  #: src/Admin/SettingsPages/AddNewForm.php:61
511
  #: src/Admin/SettingsPages/AddNewForm.php:77
512
  msgid "Shortcode Builder"
513
  msgstr ""
514
 
 
515
  #: src/Admin/SettingsPages/AddNewForm.php:62
516
  msgid ""
517
  "Code your own from scratch with complete control and flexibility using "
518
  "shortcodes."
519
  msgstr ""
520
 
521
- #: src/Admin/SettingsPages/AddNewForm.php:65 src/Classes/AjaxHandler.php:117
 
 
522
  msgid "Build Now"
523
  msgstr ""
524
 
 
525
  #: src/Admin/SettingsPages/AddNewForm.php:79
526
  msgid ""
527
  "Code your own from scratch with complete control and flexibility. %sLearn "
528
  "more%s."
529
  msgstr ""
530
 
 
 
531
  #: src/Admin/SettingsPages/AddNewForm.php:85
532
  #: src/Admin/SettingsPages/ExtensionsSettingsPage.php:122
533
  msgid "Upgrade to Premium"
534
  msgstr ""
535
 
 
536
  #: src/Admin/SettingsPages/AddNewForm.php:123
537
  msgid "Back to Overview"
538
  msgstr ""
539
 
 
540
  #: src/Admin/SettingsPages/AdminFooter.php:27
541
  msgid ""
542
  "Thank you for using <a href=\"%1$s\" target=\"_blank\">ProfilePress</a>! "
@@ -544,129 +716,178 @@ msgid ""
544
  "\" target=\"_blank\">WordPress.org</a> to help us spread the word."
545
  msgstr ""
546
 
547
- #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:192
 
548
  msgid "Form title cannot empty"
549
  msgstr ""
550
 
551
- #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:211
 
552
  msgid "Changes saved"
553
  msgstr ""
554
 
555
- #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1198
 
556
  msgid "Select Icon"
557
  msgstr ""
558
 
559
- #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1226
560
- #: src/Admin/SettingsPages/Membership/CheckoutFieldsManager.php:93
561
- #: src/Functions/GlobalFunctions.php:1370
 
 
562
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:202
563
  msgid "Standard Fields"
564
  msgstr ""
565
 
566
- #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1227
 
567
  msgid "Extra Fields"
568
  msgstr ""
569
 
570
- #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1229
571
- #: src/Admin/SettingsPages/Membership/CheckoutFieldsManager.php:101
572
- #: src/Classes/ExtensionManager.php:72 src/Functions/GlobalFunctions.php:1373
 
 
 
573
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:216
574
  msgid "Custom Fields"
575
  msgstr ""
576
 
577
- #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1230
 
578
  msgid "WooCommerce Billing Address"
579
  msgstr ""
580
 
581
- #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1231
 
582
  msgid "WooCommerce Shipping Address"
583
  msgstr ""
584
 
585
- #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1254
 
586
  msgid "No custom field available. %sClick here to create one%s."
587
  msgstr ""
588
 
589
- #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1282
 
590
  msgid "Enter title here"
591
  msgstr ""
592
 
593
- #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1284
594
- #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1311
 
 
 
 
 
 
 
595
  #: src/Admin/SettingsPages/EmailSettings/CustomizerTrait.php:11
596
- #: src/Admin/SettingsPages/Membership/CheckoutFieldsManager.php:68
597
  #: src/AdminBarDashboardAccess/include.settings-page.php:54
598
  #: src/AdminBarDashboardAccess/include.settings-page.php:109
599
- #: src/Functions/custom-settings-api.php:1093
600
- #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:1095
601
  msgid "Save Changes"
602
  msgstr ""
603
 
604
- #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1289
 
605
  msgid ""
606
  "Copy this shortcode and paste it into your post, page, or text widget "
607
  "content:"
608
  msgstr ""
609
 
610
- #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1314
 
611
  msgid "Delete Form"
612
  msgstr ""
613
 
614
- #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1372
615
- #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1411
616
- #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1463
 
 
 
617
  msgid "Success Message"
618
  msgstr ""
619
 
620
- #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1378
 
621
  msgid "New User Role"
622
  msgstr ""
623
 
624
- #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1379
 
625
  msgid "Role users registered through this form will be assigned."
626
  msgstr ""
627
 
628
- #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1386
 
629
  msgid "Username Requirement"
630
  msgstr ""
631
 
632
- #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1387
 
633
  msgid "Check to disable username requirement"
634
  msgstr ""
635
 
636
- #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1388
 
637
  msgid ""
638
  "Disable requirement for users to enter a username during registration. "
639
  "Usernames will automatically be generated from their email addresses."
640
  msgstr ""
641
 
642
- #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1395
643
- #: src/Admin/SettingsPages/GeneralSettings.php:276
 
 
644
  msgid "Registration Settings"
645
  msgstr ""
646
 
647
- #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1418
 
648
  msgid "Edit Profile Settings"
649
  msgstr ""
650
 
651
- #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1436
652
- #: src/Classes/ExtensionManager.php:102
 
 
653
  msgid "Passwordless Login"
654
  msgstr ""
655
 
656
- #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1437
 
657
  msgid "Check to make this a passwordless login form."
658
  msgstr ""
659
 
660
- #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1447
661
- #: src/Admin/SettingsPages/GeneralSettings.php:290
 
 
662
  msgid "Login Settings"
663
  msgstr ""
664
 
665
- #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1470
 
666
  msgid "Password Reset Settings"
667
  msgstr ""
668
 
669
- #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1491
 
 
 
 
 
 
 
 
 
 
 
670
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/CheckboxList.php:35
671
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Country.php:35
672
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Checkbox.php:50
@@ -680,113 +901,151 @@ msgstr ""
680
  msgid "Label"
681
  msgstr ""
682
 
683
- #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1497
 
684
  msgid "Processing Label"
685
  msgstr ""
686
 
687
- #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1504
 
688
  msgid "Submit Button"
689
  msgstr ""
690
 
691
- #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1511
 
692
  msgid "Appearance"
693
  msgstr ""
694
 
695
- #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1518
 
696
  msgid "Colors"
697
  msgstr ""
698
 
699
- #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1546
700
- #: src/Themes/DragDrop/AbstractBuildScratch.php:526
 
 
 
 
701
  #: src/Themes/DragDrop/Login/PerfectoLite.php:51
702
  #: src/Themes/DragDrop/Registration/PerfectoLite.php:53
703
  msgid "Text"
704
  msgstr ""
705
 
706
- #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1547
 
707
  msgid "Visual"
708
  msgstr ""
709
 
710
- #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1548
 
711
  msgid "Add Media"
712
  msgstr ""
713
 
 
 
 
 
 
714
  #: src/Admin/SettingsPages/DragDropBuilder/FieldBase.php:87
715
- #: src/Admin/SettingsPages/GeneralSettings.php:20
716
- #: src/Admin/SettingsPages/GeneralSettings.php:61
717
- #: src/Admin/SettingsPages/GeneralSettings.php:86
718
- #: src/Admin/SettingsPages/Membership/views/orders/order-data-metabox.php:73
719
- #: src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:30
720
  msgid "General"
721
  msgstr ""
722
 
 
723
  #: src/Admin/SettingsPages/DragDropBuilder/FieldBase.php:88
724
  msgid "Style"
725
  msgstr ""
726
 
 
 
 
 
 
727
  #: src/Admin/SettingsPages/DragDropBuilder/FieldBase.php:89
728
  #: src/Admin/SettingsPages/DragDropBuilder/FieldBase.php:232
729
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:98
730
- #: src/Admin/SettingsPages/GeneralSettings.php:43
731
- #: src/Admin/SettingsPages/GeneralSettings.php:44
732
- #: src/Admin/SettingsPages/Membership/PaymentSettings.php:30
733
- #: src/Classes/Miscellaneous.php:153
734
  msgid "Settings"
735
  msgstr ""
736
 
 
737
  #: src/Admin/SettingsPages/DragDropBuilder/FieldBase.php:111
738
  msgid "Edit Field"
739
  msgstr ""
740
 
 
741
  #: src/Admin/SettingsPages/DragDropBuilder/FieldBase.php:210
742
- #: src/Admin/SettingsPages/Membership/CustomersPage/SettingsPage.php:366
743
- #: src/ShortcodeParser/MyAccount/view-subscription.tmpl.php:38
744
  msgid "Cancel"
745
  msgstr ""
746
 
 
747
  #: src/Admin/SettingsPages/DragDropBuilder/FieldBase.php:213
748
  msgid "Apply Changes"
749
  msgstr ""
750
 
 
 
 
 
 
 
 
751
  #: src/Admin/SettingsPages/DragDropBuilder/FieldBase.php:235
752
- #: src/Admin/SettingsPages/FormList.php:241
753
- #: src/Admin/SettingsPages/FormList.php:317
754
- #: src/Admin/SettingsPages/GeneralSettings.php:152
755
- #: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:78
756
- #: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:201
757
- #: src/Admin/SettingsPages/Membership/CustomersPage/CustomerWPListTable.php:263
758
- #: src/Admin/SettingsPages/Membership/DownloadLogsPage/WPListTable.php:130
759
- #: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:112
760
- #: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:259
761
- #: src/Admin/SettingsPages/Membership/PlansPage/PlanWPListTable.php:77
762
- #: src/Admin/SettingsPages/Membership/PlansPage/PlanWPListTable.php:172
763
- #: src/Admin/SettingsPages/Membership/SubscriptionsPage/SubscriptionWPListTable.php:114
764
- #: src/Admin/SettingsPages/Membership/SubscriptionsPage/SubscriptionWPListTable.php:259
765
- #: src/Admin/SettingsPages/Membership/views/checkout-field-item.php:45
766
- #: src/Admin/SettingsPages/Membership/views/coupons-page-sidebar.php:12
767
- #: src/Admin/SettingsPages/Membership/views/customers/submit-sidebar.php:15
768
- #: src/Admin/SettingsPages/Membership/views/orders/order-notes-sidebar.php:11
769
- #: src/Admin/SettingsPages/Membership/views/orders/order-submit-sidebar.php:16
770
- #: src/Admin/SettingsPages/Membership/views/plans-page-sidebar.php:12
771
- #: src/Admin/SettingsPages/Membership/views/subscriptions/submit-sidebar.php:16
772
  #: src/ContentProtection/WPListTable.php:96
773
- #: src/ContentProtection/WPListTable.php:322
774
  #: src/ContentProtection/views/include.view-sidebar.php:12
775
  msgid "Delete"
776
  msgstr ""
777
 
 
778
  #: src/Admin/SettingsPages/DragDropBuilder/FieldBase.php:238
779
  msgid "Clone"
780
  msgstr ""
781
 
 
 
 
 
 
782
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Bio.php:22
783
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/Bio.php:22
784
- #: src/Functions/GlobalFunctions.php:1357
785
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:211
786
  #: src/Themes/DragDrop/AbstractTheme.php:189
787
  msgid "Biography"
788
  msgstr ""
789
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
790
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Bio.php:30
791
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/CFPassword.php:40
792
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/ConfirmEmail.php:30
@@ -809,10 +1068,36 @@ msgstr ""
809
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Textarea.php:40
810
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Username.php:30
811
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Website.php:30
812
- #: src/Themes/DragDrop/AbstractBuildScratch.php:429
813
  msgid "Placeholder"
814
  msgstr ""
815
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
816
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Bio.php:38
817
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/CFPassword.php:48
818
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/CheckboxList.php:53
@@ -842,6 +1127,32 @@ msgstr ""
842
  msgid "Required"
843
  msgstr ""
844
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
845
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Bio.php:39
846
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/CFPassword.php:49
847
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/CheckboxList.php:54
@@ -871,6 +1182,44 @@ msgstr ""
871
  msgid "Force users to fill out this field, otherwise it will be optional."
872
  msgstr ""
873
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
874
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Bio.php:45
875
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/CFPassword.php:55
876
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/CheckboxList.php:60
@@ -912,6 +1261,44 @@ msgstr ""
912
  msgid "CSS Classes"
913
  msgstr ""
914
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
915
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Bio.php:47
916
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/CFPassword.php:57
917
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/CheckboxList.php:62
@@ -953,18 +1340,34 @@ msgstr ""
953
  msgid "Enter the CSS class names you would like to add to this field."
954
  msgstr ""
955
 
 
 
 
 
 
 
 
 
956
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/CFPassword.php:22
957
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Login/Password.php:22
958
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Password.php:22
959
- #: src/Admin/SettingsPages/Membership/CustomersPage/SettingsPage.php:315
960
- #: src/Membership/CheckoutFields.php:86
961
- #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:183
962
  #: src/Themes/DragDrop/AbstractTheme.php:165
963
  #: src/Themes/DragDrop/AbstractTheme.php:205 src/Widgets/TabbedWidget.php:144
964
- #: src/Widgets/TabbedWidget.php:172 src/templates/checkout/form-login.php:12
965
  msgid "Password"
966
  msgstr ""
967
 
 
 
 
 
 
 
 
 
 
 
968
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/CFPassword.php:35
969
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/CheckboxList.php:40
970
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Country.php:39
@@ -978,15 +1381,21 @@ msgstr ""
978
  msgid "Field Key"
979
  msgstr ""
980
 
 
981
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/CheckboxList.php:22
982
  msgid "Checkbox List"
983
  msgstr ""
984
 
 
 
985
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/CheckboxList.php:45
986
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/RadioButtons.php:45
987
  msgid "Choices"
988
  msgstr ""
989
 
 
 
 
990
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/CheckboxList.php:47
991
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/RadioButtons.php:47
992
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/SelectDropdown.php:52
@@ -995,246 +1404,347 @@ msgid ""
995
  "select."
996
  msgstr ""
997
 
 
 
998
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/ConfirmEmail.php:22
999
  #: src/Themes/DragDrop/AbstractTheme.php:171
1000
  msgid "Confirm Email"
1001
  msgstr ""
1002
 
 
 
 
1003
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/ConfirmPassword.php:22
1004
- #: src/Membership/CheckoutFields.php:93
1005
- #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:209
1006
  #: src/Themes/DragDrop/AbstractTheme.php:168
1007
  msgid "Confirm Password"
1008
  msgstr ""
1009
 
 
1010
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Country.php:22
1011
- #: src/Admin/SettingsPages/GeneralSettings.php:179
1012
- #: src/Admin/SettingsPages/Membership/views/tax-rates-setup.php:13
1013
- #: src/Membership/CheckoutFields.php:150
1014
  msgid "Country"
1015
  msgstr ""
1016
 
 
1017
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/CoverImage.php:22
1018
  msgid "Upload Cover Photo"
1019
  msgstr ""
1020
 
 
1021
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Date.php:22
1022
  msgid "Date / Time"
1023
  msgstr ""
1024
 
 
1025
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Date.php:40
1026
  msgid "Date/Time Format"
1027
  msgstr ""
1028
 
 
 
1029
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Date.php:58
1030
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Date.php:59
1031
  msgid "Only Time"
1032
  msgstr ""
1033
 
 
1034
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Date.php:61
1035
  msgid ""
1036
  "Select a date and time format that users will be able to choose a date in."
1037
  msgstr ""
1038
 
 
1039
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Agreeable.php:50
1040
  msgid "Checked by Default"
1041
  msgstr ""
1042
 
 
1043
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Agreeable.php:52
1044
  msgid "False"
1045
  msgstr ""
1046
 
 
1047
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Agreeable.php:53
1048
  msgid "True"
1049
  msgstr ""
1050
 
 
 
 
 
 
 
 
 
 
1051
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/DisplayName.php:22
1052
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/DisplayName.php:22
1053
- #: src/Functions/GlobalFunctions.php:1355 src/Membership/CheckoutFields.php:114
1054
- #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:339
1055
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:208
 
1056
  #: src/Themes/DragDrop/AbstractTheme.php:180
1057
  #: src/Themes/DragDrop/MemberDirectory/DefaultTemplate.php:115
1058
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:106
1059
  msgid "Display Name"
1060
  msgstr ""
1061
 
 
1062
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/EditProfile/ShowCoverImage.php:22
1063
  msgid "Show Cover Photo"
1064
  msgstr ""
1065
 
 
 
1066
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/EditProfile/ShowCoverImage.php:30
1067
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/EditProfile/ShowProfilePicture.php:35
1068
  msgid "Alt Text"
1069
  msgstr ""
1070
 
 
1071
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/EditProfile/ShowProfilePicture.php:22
1072
  msgid "Show Profile Picture"
1073
  msgstr ""
1074
 
 
 
 
 
 
 
 
 
1075
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Email.php:22
1076
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/Email.php:22
1077
- #: src/Admin/SettingsPages/Membership/CustomersPage/SettingsPage.php:307
1078
- #: src/Functions/GlobalFunctions.php:1356 src/Membership/CheckoutFields.php:51
1079
- #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:231
1080
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:206
1081
  #: src/Themes/DragDrop/AbstractTheme.php:162
1082
  #: src/Themes/DragDrop/AbstractTheme.php:221 src/Widgets/TabbedWidget.php:137
1083
  msgid "Email Address"
1084
  msgstr ""
1085
 
 
 
 
 
 
 
 
 
1086
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/FirstName.php:22
1087
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/FirstName.php:22
1088
- #: src/Admin/SettingsPages/Membership/CustomersPage/SettingsPage.php:299
1089
- #: src/Functions/GlobalFunctions.php:1352 src/Membership/CheckoutFields.php:65
1090
- #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:371
1091
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:209
1092
- #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:479
1093
  #: src/Themes/DragDrop/AbstractTheme.php:183
1094
  #: src/Themes/DragDrop/AbstractTheme.php:224
1095
  msgid "First Name"
1096
  msgstr ""
1097
 
 
 
1098
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/HTML.php:22
1099
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/HTML.php:27
1100
  msgid "Custom HTML"
1101
  msgstr ""
1102
 
 
1103
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/HTML.php:35
1104
  msgid "Content"
1105
  msgstr ""
1106
 
 
 
 
 
 
 
 
 
1107
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/LastName.php:22
1108
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/LastName.php:22
1109
- #: src/Admin/SettingsPages/Membership/CustomersPage/SettingsPage.php:303
1110
- #: src/Functions/GlobalFunctions.php:1353 src/Membership/CheckoutFields.php:72
1111
- #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:404
1112
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:210
1113
- #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:480
1114
  #: src/Themes/DragDrop/AbstractTheme.php:186
1115
  #: src/Themes/DragDrop/AbstractTheme.php:227
1116
  msgid "Last Name"
1117
  msgstr ""
1118
 
 
1119
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Login/RememberLogin.php:22
1120
  msgid "Remember Login"
1121
  msgstr ""
1122
 
 
 
1123
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Login/RememberLogin.php:27
1124
  #: src/Themes/DragDrop/AbstractTheme.php:208
1125
  msgid "Remember Me"
1126
  msgstr ""
1127
 
 
 
 
 
 
 
1128
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Login/Userlogin.php:22
1129
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/PasswordReset/Userlogin.php:22
1130
  #: src/ShortcodeParser/Builder/PasswordResetBuilder.php:35
1131
  #: src/Themes/DragDrop/AbstractTheme.php:202
1132
  #: src/Themes/DragDrop/AbstractTheme.php:213 src/Widgets/TabbedWidget.php:133
1133
- #: src/templates/checkout/form-login.php:7
1134
  msgid "Username or Email"
1135
  msgstr ""
1136
 
 
 
1137
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Login/Userlogin.php:27
1138
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/PasswordReset/Userlogin.php:27
1139
  msgid "User Login"
1140
  msgstr ""
1141
 
 
 
 
 
 
 
 
 
1142
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Nickname.php:22
1143
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/Nickname.php:22
1144
- #: src/Functions/GlobalFunctions.php:1354 src/Membership/CheckoutFields.php:107
1145
- #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:307
1146
- #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:321
1147
- #: src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:140
1148
  #: src/Themes/DragDrop/AbstractTheme.php:177
1149
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:107
1150
  msgid "Nickname"
1151
  msgstr ""
1152
 
 
1153
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Number.php:22
1154
  msgid "Number"
1155
  msgstr ""
1156
 
 
1157
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Number.php:47
1158
  msgid "Minimum Value"
1159
  msgstr ""
1160
 
 
1161
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Number.php:49
1162
  msgid "Enter the minimum value allowed."
1163
  msgstr ""
1164
 
 
1165
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Number.php:52
1166
  msgid "Maximum Value"
1167
  msgstr ""
1168
 
 
1169
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Number.php:54
1170
  msgid "Enter the maximum value allowed."
1171
  msgstr ""
1172
 
 
1173
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Number.php:57
1174
  msgid "Step Value"
1175
  msgstr ""
1176
 
 
1177
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Number.php:59
1178
  msgid "Enter the number intervals."
1179
  msgstr ""
1180
 
 
1181
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/PasswordStrengthMeter.php:22
1182
  msgid "Password Strength"
1183
  msgstr ""
1184
 
 
1185
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/PasswordStrengthMeter.php:31
1186
  msgid "Enforce"
1187
  msgstr ""
1188
 
 
1189
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/PasswordStrengthMeter.php:32
1190
  msgid "Prevent registration unless users entered password is strong."
1191
  msgstr ""
1192
 
 
1193
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/RadioButtons.php:22
1194
  msgid "Radio Buttons"
1195
  msgstr ""
1196
 
 
1197
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/SelectDropdown.php:22
1198
  msgid "Dropdown"
1199
  msgstr ""
1200
 
 
1201
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/SelectDropdown.php:44
1202
  msgid "Multiple Selection"
1203
  msgstr ""
1204
 
 
1205
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/SelectDropdown.php:47
1206
  msgid "Check to allow multiple options to be selected."
1207
  msgstr ""
1208
 
 
 
1209
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/SelectDropdown.php:50
1210
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/SelectRole.php:33
1211
  msgid "Options"
1212
  msgstr ""
1213
 
 
1214
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/SelectRole.php:21
1215
  msgid "Select Role"
1216
  msgstr ""
1217
 
 
1218
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/SelectRole.php:35
1219
  msgid "Enter comma separated list of roles to include in the select dropdown."
1220
  msgstr ""
1221
 
 
1222
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/SingleCheckbox.php:22
1223
  msgid "Single Checkbox"
1224
  msgstr ""
1225
 
 
1226
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/SingleCheckbox.php:40
1227
  msgid "Checkbox Text"
1228
  msgstr ""
1229
 
 
1230
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/TextBox.php:22
1231
  msgid "Text Box"
1232
  msgstr ""
1233
 
 
1234
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Textarea.php:22
1235
  msgid "Textarea"
1236
  msgstr ""
1237
 
 
 
 
 
 
 
 
 
 
 
 
 
1238
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/Bio.php:30
1239
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/CustomField.php:40
1240
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/DisplayName.php:30
@@ -1244,64 +1754,85 @@ msgstr ""
1244
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/Nickname.php:30
1245
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/Username.php:30
1246
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/Website.php:30
1247
- #: src/Admin/SettingsPages/FormList.php:195
1248
  #: src/ContentProtection/WPListTable.php:28
1249
- #: src/Membership/PaymentMethods/AbstractPaymentMethod.php:216
1250
- #: src/Themes/DragDrop/AbstractBuildScratch.php:383
1251
  msgid "Title"
1252
  msgstr ""
1253
 
 
 
1254
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/CustomField.php:22
1255
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/CustomField.php:30
1256
  msgid "Custom Field"
1257
  msgstr ""
1258
 
 
1259
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/CustomField.php:34
1260
  msgid ""
1261
  "Select a custom field. Only use the %1$sTitle%2$s and %1$sUser Meta / Field "
1262
  "Key%2$s below if you don't have it %3$sdefined in ProfilePress%4$s."
1263
  msgstr ""
1264
 
 
1265
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/CustomField.php:44
1266
  msgid "User Meta / Field Key"
1267
  msgstr ""
1268
 
 
1269
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/CustomField.php:46
1270
  msgid "Enter a custom field or user meta key here."
1271
  msgstr ""
1272
 
 
1273
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/DisplayName.php:34
1274
  msgid "Format"
1275
  msgstr ""
1276
 
 
1277
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/DisplayName.php:37
1278
  msgid "Default Display Name"
1279
  msgstr ""
1280
 
 
 
1281
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/DisplayName.php:38
1282
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:108
1283
  msgid "First & Last Name"
1284
  msgstr ""
1285
 
 
 
1286
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/DisplayName.php:39
1287
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:109
1288
  msgid "Last & First Name"
1289
  msgstr ""
1290
 
 
1291
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/DisplayName.php:40
1292
  msgid "First Name & First Initial of Last Name"
1293
  msgstr ""
1294
 
 
1295
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/DisplayName.php:41
1296
  msgid "First Initial of First Name & Last Name"
1297
  msgstr ""
1298
 
 
 
 
 
 
 
 
 
 
 
1299
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/Username.php:22
1300
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Username.php:22
1301
- #: src/Admin/SettingsPages/Membership/CustomersPage/SettingsPage.php:311
1302
- #: src/Functions/GlobalFunctions.php:1351 src/Membership/CheckoutFields.php:79
1303
- #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:156
1304
- #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:481
1305
  #: src/Themes/DragDrop/AbstractTheme.php:159
1306
  #: src/Themes/DragDrop/AbstractTheme.php:218
1307
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:105
@@ -1309,12 +1840,20 @@ msgstr ""
1309
  msgid "Username"
1310
  msgstr ""
1311
 
 
 
 
 
 
 
 
 
 
1312
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/Website.php:22
1313
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Website.php:22
1314
- #: src/Membership/CheckoutFields.php:100
1315
- #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:274
1316
- #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:288
1317
- #: src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:150
1318
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:207
1319
  #: src/Themes/DragDrop/AbstractTheme.php:174
1320
  #: src/Themes/DragDrop/AbstractTheme.php:230
@@ -1322,575 +1861,519 @@ msgstr ""
1322
  msgid "Website"
1323
  msgstr ""
1324
 
 
1325
  #: src/Admin/SettingsPages/DragDropBuilder/Metabox.php:99
1326
- #: src/Admin/SettingsPages/Membership/PlanIntegrationsMetabox.php:52
1327
  msgid "Upload Image"
1328
  msgstr ""
1329
 
 
1330
  #: src/Admin/SettingsPages/DragDropBuilder/Metabox.php:224
1331
  msgid "Standard Fonts"
1332
  msgstr ""
1333
 
 
1334
  #: src/Admin/SettingsPages/DragDropBuilder/Metabox.php:225
1335
  msgid "Arial"
1336
  msgstr ""
1337
 
 
1338
  #: src/Admin/SettingsPages/DragDropBuilder/Metabox.php:226
1339
- msgid "Lucida"
 
 
 
 
 
1340
  msgstr ""
1341
 
 
 
1342
  #: src/Admin/SettingsPages/DragDropBuilder/Metabox.php:228
1343
- msgid "Google Fonts"
 
1344
  msgstr ""
1345
 
 
1346
  #: src/Admin/SettingsPages/DragDropBuilder/Metabox.php:229
1347
- msgid "Comic Sans MS"
1348
  msgstr ""
1349
 
 
1350
  #: src/Admin/SettingsPages/DragDropBuilder/Metabox.php:230
1351
- msgid "Courier New"
1352
  msgstr ""
1353
 
 
1354
  #: src/Admin/SettingsPages/DragDropBuilder/Metabox.php:231
1355
- #: src/Functions/data/countries.php:97
1356
- msgid "Georgia"
1357
  msgstr ""
1358
 
 
1359
  #: src/Admin/SettingsPages/DragDropBuilder/Metabox.php:232
1360
- msgid "Helvetica"
1361
  msgstr ""
1362
 
 
1363
  #: src/Admin/SettingsPages/DragDropBuilder/Metabox.php:233
1364
- msgid "Tahoma"
1365
  msgstr ""
1366
 
 
1367
  #: src/Admin/SettingsPages/DragDropBuilder/Metabox.php:234
1368
- msgid "Times New Roman"
1369
- msgstr ""
1370
-
1371
- #: src/Admin/SettingsPages/DragDropBuilder/Metabox.php:235
1372
- msgid "Trebuchet MS"
1373
  msgstr ""
1374
 
 
1375
  #: src/Admin/SettingsPages/DragDropBuilder/Metabox.php:236
1376
- msgid "Verdana"
1377
  msgstr ""
1378
 
1379
- #: src/Admin/SettingsPages/DragDropBuilder/Metabox.php:266
 
1380
  msgid "Form Settings"
1381
  msgstr ""
1382
 
1383
- #: src/Admin/SettingsPages/DragDropBuilder/Metabox.php:269
 
1384
  msgid "User Profile Settings"
1385
  msgstr ""
1386
 
1387
- #: src/Admin/SettingsPages/DragDropBuilder/Metabox.php:273
 
1388
  msgid "Directory Settings"
1389
  msgstr ""
1390
 
 
1391
  #: src/Admin/SettingsPages/EmailSettings/CustomizerTrait.php:14
1392
  msgid "Saved"
1393
  msgstr ""
1394
 
 
 
1395
  #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:43
1396
  #: src/Admin/SettingsPages/EmailSettings/email-template-preview.php:11
1397
  msgid "ProfilePress Email Template"
1398
  msgstr ""
1399
 
 
1400
  #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:125
1401
  msgid ""
1402
  "The customizer allows you to design and preview ProfilePress default email "
1403
  "template."
1404
  msgstr ""
1405
 
 
1406
  #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:148
1407
  msgid "Body"
1408
  msgstr ""
1409
 
 
1410
  #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:154
1411
  msgid "Header"
1412
  msgstr ""
1413
 
 
1414
  #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:160
1415
  msgid "Footer"
1416
  msgstr ""
1417
 
1418
- #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:175
1419
- #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:221
 
 
1420
  msgid "© %s %s. All rights reserved."
1421
  msgstr ""
1422
 
1423
- #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:235
 
1424
  msgid "Background Color"
1425
  msgstr ""
1426
 
1427
- #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:246
 
1428
  msgid "Background Text Color"
1429
  msgstr ""
1430
 
1431
- #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:256
 
1432
  msgid "Content Background Color"
1433
  msgstr ""
1434
 
1435
- #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:267
1436
- msgid "Content Header Color"
1437
- msgstr ""
1438
-
1439
- #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:278
1440
  msgid "Content Text Color"
1441
  msgstr ""
1442
 
1443
- #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:289
 
1444
  msgid "Logo"
1445
  msgstr ""
1446
 
1447
- #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:297
1448
- #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:302
 
 
1449
  msgid "Select Logo"
1450
  msgstr ""
1451
 
1452
- #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:298
 
1453
  msgid "Change Logo"
1454
  msgstr ""
1455
 
1456
- #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:299
 
 
1457
  #: src/ContentProtection/ContentConditions.php:276
1458
  msgid "Default"
1459
  msgstr ""
1460
 
1461
- #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:301
 
1462
  msgid "No logo selected"
1463
  msgstr ""
1464
 
1465
- #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:303
 
1466
  msgid "Choose Logo"
1467
  msgstr ""
1468
 
1469
- #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:310
 
 
 
 
1470
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:102
1471
  #: src/Themes/DragDrop/UserProfile/Dixon.php:32
1472
  #: src/Themes/DragDrop/UserProfile/Dixon.php:70
1473
  msgid "Header Text"
1474
  msgstr ""
1475
 
1476
- #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:311
 
1477
  msgid "This is used when template logo is not set."
1478
  msgstr ""
1479
 
1480
- #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:319
 
1481
  msgid "Footer Text"
1482
  msgstr ""
1483
 
1484
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:80
1485
- msgid "Account"
1486
- msgstr ""
1487
-
1488
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:86
1489
- #: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:53
1490
- #: src/ShortcodeParser/MyAccount/view-order.tmpl.php:40
1491
- #: src/ShortcodeParser/MyAccount/view-subscription.tmpl.php:114
1492
- msgid "Order"
1493
- msgstr ""
1494
-
1495
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:92
1496
- #: src/Admin/SettingsPages/Membership/SubscriptionsPage/SubscriptionWPListTable.php:50
1497
- #: src/ShortcodeParser/MyAccount/view-order.tmpl.php:156
1498
- #: src/ShortcodeParser/MyAccount/view-order.tmpl.php:163
1499
- msgid "Subscription"
1500
- msgstr ""
1501
-
1502
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:107
1503
- #: src/Admin/SettingsPages/GeneralSettings.php:62
1504
  msgid "Emails"
1505
  msgstr ""
1506
 
1507
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:121
 
1508
  msgid "Account Welcome Email"
1509
  msgstr ""
1510
 
1511
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:122
 
 
1512
  #: src/Classes/WelcomeEmailAfterSignup.php:51
1513
  msgid "Welcome To %s"
1514
  msgstr ""
1515
 
1516
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:124
 
1517
  msgid "Email that is sent to the user upon successful registration."
1518
  msgstr ""
1519
 
1520
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:125
1521
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:144
 
 
1522
  msgid "Users"
1523
  msgstr ""
1524
 
1525
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:127
 
1526
  msgid "Username of the registered user."
1527
  msgstr ""
1528
 
1529
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:128
1530
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:147
 
 
1531
  msgid "Email address of the registered user."
1532
  msgstr ""
1533
 
1534
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:129
 
1535
  msgid "Password of the registered user."
1536
  msgstr ""
1537
 
1538
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:130
1539
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:148
1540
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:165
 
1541
  msgid "Website title or name."
1542
  msgstr ""
1543
 
1544
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:131
 
1545
  msgid "First Name entered by user on registration."
1546
  msgstr ""
1547
 
1548
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:132
 
1549
  msgid "Last Name entered by user on registration."
1550
  msgstr ""
1551
 
1552
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:133
1553
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:149
1554
- #: src/Membership/Emails/EmailDataTrait.php:44
 
1555
  msgid "URL to reset password."
1556
  msgstr ""
1557
 
1558
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:134
1559
- #: src/Membership/Emails/EmailDataTrait.php:45
1560
- msgid "URL to login."
1561
  msgstr ""
1562
 
1563
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:140
 
1564
  msgid "Password Reset Email"
1565
  msgstr ""
1566
 
1567
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:141
1568
- #: src/Classes/PasswordReset.php:24 src/RegisterActivation/Base.php:144
 
 
 
1569
  msgid "[%s] Password Reset"
1570
  msgstr ""
1571
 
1572
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:143
 
1573
  msgid "Email that is sent to the user upon password reset request."
1574
  msgstr ""
1575
 
1576
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:146
 
1577
  msgid "Username of user."
1578
  msgstr ""
1579
 
1580
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:155
 
1581
  msgid "New User Admin Notification"
1582
  msgstr ""
1583
 
1584
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:156
1585
- #: src/Functions/GlobalFunctions.php:736 src/RegisterActivation/Base.php:148
 
 
 
1586
  msgid "[%s] New User Registration"
1587
  msgstr ""
1588
 
1589
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:158
1590
- msgid "Email that is sent to the admin when there is a new user registration."
 
1591
  msgstr ""
1592
 
1593
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:161
 
 
 
 
 
 
1594
  msgid "Username of the newly registered user."
1595
  msgstr ""
1596
 
1597
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:162
 
1598
  msgid "Email address of the newly registered user."
1599
  msgstr ""
1600
 
1601
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:163
 
1602
  msgid "First name of the newly registered user."
1603
  msgstr ""
1604
 
1605
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:164
 
1606
  msgid "Last name of the newly registered user."
1607
  msgstr ""
1608
 
1609
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:167
1610
- msgid "Replace \"field_key\" with the %scustom field key%s or usermeta key."
1611
- msgstr ""
1612
-
1613
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:175
1614
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:176
1615
- #: src/Membership/Emails/NewOrderReceipt.php:30
1616
- msgid "New Order Receipt"
1617
- msgstr ""
1618
-
1619
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:178
1620
- msgid "Email sent whenever a customer completes an order."
1621
- msgstr ""
1622
-
1623
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:179
1624
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:189
1625
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:209
1626
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:219
1627
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:229
1628
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:239
1629
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:250
1630
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:261
1631
- #: src/Admin/SettingsPages/Membership/CustomersPage/SettingsPage.php:50
1632
- #: src/Admin/SettingsPages/Membership/CustomersPage/SettingsPage.php:215
1633
- #: src/Admin/SettingsPages/Membership/CustomersPage/SettingsPage.php:236
1634
- msgid "Customers"
1635
- msgstr ""
1636
-
1637
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:185
1638
- msgid "Renewal Order Receipt"
1639
- msgstr ""
1640
-
1641
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:186
1642
- #: src/Membership/Emails/RenewalOrderReceipt.php:30
1643
- msgid "Subscription Renewal Receipt"
1644
- msgstr ""
1645
-
1646
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:188
1647
- msgid "Email sent to customer whenever a renewal order occurs."
1648
- msgstr ""
1649
-
1650
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:195
1651
- msgid "New Order Admin Notification"
1652
- msgstr ""
1653
-
1654
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:196
1655
- #: src/Membership/Emails/NewOrderAdminNotification.php:30
1656
- msgid "New Order #{{order_id}}"
1657
- msgstr ""
1658
-
1659
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:198
1660
- msgid "Email sent to the admin when there is a new order."
1661
- msgstr ""
1662
-
1663
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:205
1664
- msgid "Subscription Cancelled Notification"
1665
- msgstr ""
1666
-
1667
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:206
1668
- #: src/Membership/Emails/SubscriptionCancelledNotification.php:32
1669
- msgid "Your subscription has been cancelled."
1670
- msgstr ""
1671
-
1672
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:208
1673
- msgid "Email sent to customer whenever their subscription is cancelled."
1674
- msgstr ""
1675
-
1676
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:215
1677
- msgid "Subscription Expired Notification"
1678
- msgstr ""
1679
-
1680
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:216
1681
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:258
1682
- #: src/Membership/Emails/SubscriptionAfterExpiredNotification.php:47
1683
- #: src/Membership/Emails/SubscriptionExpiredNotification.php:29
1684
- msgid "Your subscription has expired."
1685
- msgstr ""
1686
-
1687
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:218
1688
- msgid "Email sent to customer whenever their subscription expires."
1689
- msgstr ""
1690
-
1691
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:225
1692
- msgid "Subscription Completed Notification"
1693
- msgstr ""
1694
-
1695
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:226
1696
- #: src/Membership/Emails/SubscriptionCompletedNotification.php:29
1697
- msgid "Your subscription is now complete."
1698
- msgstr ""
1699
-
1700
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:228
1701
- msgid ""
1702
- "Email sent to customer whenever they complete their subscription payments."
1703
- msgstr ""
1704
-
1705
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:235
1706
- msgid "Upcoming Renewal Reminder"
1707
- msgstr ""
1708
-
1709
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:236
1710
- #: src/Membership/Emails/SubscriptionRenewalReminder.php:49
1711
- msgid "Your subscription is renewing soon."
1712
- msgstr ""
1713
-
1714
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:238
1715
- msgid ""
1716
- "Email sent to customer to remind them that their subscription is approaching "
1717
- "its renewal."
1718
- msgstr ""
1719
-
1720
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:246
1721
- msgid "Upcoming Expiration Reminder"
1722
- msgstr ""
1723
-
1724
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:247
1725
- #: src/Membership/Emails/SubscriptionExpirationReminder.php:49
1726
- msgid "Your subscription is expiring soon."
1727
- msgstr ""
1728
-
1729
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:249
1730
- msgid ""
1731
- "Email sent to customer to remind them that their subscription is approaching "
1732
- "its expiration."
1733
- msgstr ""
1734
-
1735
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:257
1736
- msgid "After Subscription Expired Notification"
1737
- msgstr ""
1738
-
1739
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:260
1740
- msgid "Email sent to customer few days after their subscription expires."
1741
- msgstr ""
1742
-
1743
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:311
1744
- msgid "Preview Email"
1745
- msgstr ""
1746
-
1747
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:332
1748
- msgid "Enable Notification"
1749
- msgstr ""
1750
-
1751
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:333
1752
- #: src/Admin/SettingsPages/GeneralSettings.php:468
1753
- msgid "Enable"
1754
- msgstr ""
1755
-
1756
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:336
1757
- msgid "Check to enable this email notification."
1758
- msgstr ""
1759
-
1760
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:341
1761
- msgid "Subject Line"
1762
- msgstr ""
1763
-
1764
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:342
1765
- msgid "Enter the subject or title of the email."
1766
- msgstr ""
1767
-
1768
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:347
1769
- msgid "Message Body"
1770
- msgstr ""
1771
-
1772
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:356
1773
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:365
1774
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:374
1775
- msgid "Reminder Days"
1776
- msgstr ""
1777
-
1778
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:357
1779
- msgid ""
1780
- "The number of days before the upcoming payment due date to notify the "
1781
- "customer."
1782
- msgstr ""
1783
-
1784
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:366
1785
- msgid ""
1786
- "The number of days before the subscription expiration due date to notify the "
1787
- "customer."
1788
  msgstr ""
1789
 
1790
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:375
1791
- msgid ""
1792
- "The number of days after the subscription expired to notify the customer."
1793
  msgstr ""
1794
 
1795
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:424
 
1796
  msgid "Admin Email Address(es)"
1797
  msgstr ""
1798
 
1799
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:425
 
1800
  msgid ""
1801
  "The Email address to receive admin notifications. Use comma to separate "
1802
  "multiple email addresses."
1803
  msgstr ""
1804
 
1805
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:430
 
1806
  msgid "Sender Name"
1807
  msgstr ""
1808
 
1809
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:431
 
1810
  msgid ""
1811
  "The name to use as the sender of all ProfilePress emails. Preferably your "
1812
  "website name."
1813
  msgstr ""
1814
 
1815
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:437
 
1816
  msgid "Sender Email Address"
1817
  msgstr ""
1818
 
1819
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:438
 
1820
  msgid "The email address to use as the sender of all ProfilePress emails."
1821
  msgstr ""
1822
 
1823
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:444
 
1824
  msgid "HTML"
1825
  msgstr ""
1826
 
1827
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:445
 
1828
  msgid "Plain Text"
1829
  msgstr ""
1830
 
1831
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:448
 
1832
  msgid "Content Type"
1833
  msgstr ""
1834
 
1835
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:449
 
1836
  msgid ""
1837
  "Choose whether to send ProfilePress emails in HTML or plain text. HTML is "
1838
  "recommended."
1839
  msgstr ""
1840
 
1841
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:454
 
1842
  msgid "Default Template"
1843
  msgstr ""
1844
 
1845
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:455
 
1846
  msgid "Custom Email Template"
1847
  msgstr ""
1848
 
1849
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:458
 
1850
  msgid "Email Template"
1851
  msgstr ""
1852
 
1853
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:459
 
1854
  msgid ""
1855
  "Choose \"Custom Email Template\" if you want to code your own email template "
1856
  "from scratch."
1857
  msgstr ""
1858
 
1859
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:466
 
1860
  msgid "Customize Default Template"
1861
  msgstr ""
1862
 
1863
- #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:508
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1864
  msgid "Available placeholders for subject and message body"
1865
  msgstr ""
1866
 
 
1867
  #: src/Admin/SettingsPages/EmailSettings/WPListTable.php:23
1868
  msgid "No email available."
1869
  msgstr ""
1870
 
 
 
1871
  #: src/Admin/SettingsPages/EmailSettings/WPListTable.php:29
1872
- #: src/Admin/SettingsPages/Membership/CustomersPage/CustomerWPListTable.php:51
1873
  #: src/Widgets/TabbedWidget.php:169
1874
  msgid "Email"
1875
  msgstr ""
1876
 
 
1877
  #: src/Admin/SettingsPages/EmailSettings/WPListTable.php:30
1878
  msgid "Recipient"
1879
  msgstr ""
1880
 
 
 
1881
  #: src/Admin/SettingsPages/ExtensionsSettingsPage.php:39
1882
  #: src/Admin/SettingsPages/ExtensionsSettingsPage.php:51
1883
  msgid "Addons"
1884
  msgstr ""
1885
 
 
1886
  #: src/Admin/SettingsPages/ExtensionsSettingsPage.php:87
1887
  msgid "Activate All"
1888
  msgstr ""
1889
 
 
1890
  #: src/Admin/SettingsPages/ExtensionsSettingsPage.php:90
1891
  msgid "Deactivate All"
1892
  msgstr ""
1893
 
 
1894
  #: src/Admin/SettingsPages/ExtensionsSettingsPage.php:100
1895
  msgid ""
1896
  "Upgrade to Premium to unlock extensions and other great features. As a "
@@ -1898,595 +2381,586 @@ msgid ""
1898
  "purchase, automatically applied at checkout!"
1899
  msgstr ""
1900
 
 
1901
  #: src/Admin/SettingsPages/ExtensionsSettingsPage.php:106
1902
  msgid "Upgrade Now"
1903
  msgstr ""
1904
 
 
1905
  #: src/Admin/SettingsPages/ExtensionsSettingsPage.php:122
1906
  msgid "Upgrade Plan"
1907
  msgstr ""
1908
 
 
1909
  #: src/Admin/SettingsPages/ExtensionsSettingsPage.php:137
1910
  msgid "Learn More"
1911
  msgstr ""
1912
 
 
1913
  #: src/Admin/SettingsPages/ExtensionsSettingsPage.php:148
1914
  msgid "Unavailable: %s"
1915
  msgstr ""
1916
 
 
1917
  #: src/Admin/SettingsPages/ExtensionsSettingsPage.php:153
1918
  msgid "Activated"
1919
  msgstr ""
1920
 
 
1921
  #: src/Admin/SettingsPages/ExtensionsSettingsPage.php:153
1922
  msgid "Deactivated"
1923
  msgstr ""
1924
 
 
1925
  #: src/Admin/SettingsPages/FormList.php:27
1926
  msgid "form"
1927
  msgstr ""
1928
 
 
1929
  #: src/Admin/SettingsPages/FormList.php:28
1930
  msgid "forms"
1931
  msgstr ""
1932
 
1933
- #: src/Admin/SettingsPages/FormList.php:180
 
1934
  msgid "No form is currently available. %sConsider creating one%s"
1935
  msgstr ""
1936
 
1937
- #: src/Admin/SettingsPages/FormList.php:196
1938
- #: src/Admin/SettingsPages/FormList.php:273
 
 
1939
  msgid "Shortcode"
1940
  msgstr ""
1941
 
1942
- #: src/Admin/SettingsPages/FormList.php:197
 
1943
  msgid "Builder Type"
1944
  msgstr ""
1945
 
1946
- #: src/Admin/SettingsPages/FormList.php:198
1947
- #: src/Admin/SettingsPages/Membership/DownloadLogsPage/WPListTable.php:36
1948
- #: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:58
1949
- #: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:552
1950
- #: src/Admin/SettingsPages/Membership/views/subscriptions/sub-payments-metabox.php:17
1951
- #: src/ShortcodeParser/MyAccount/view-subscription.tmpl.php:115
1952
  msgid "Date"
1953
  msgstr ""
1954
 
1955
- #: src/Admin/SettingsPages/FormList.php:240
1956
- #: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:67
1957
- #: src/Admin/SettingsPages/Membership/CustomersPage/CustomerWPListTable.php:86
1958
- #: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:108
1959
- #: src/Admin/SettingsPages/Membership/PlansPage/PlanWPListTable.php:65
1960
- #: src/Admin/SettingsPages/Membership/SubscriptionsPage/SubscriptionWPListTable.php:111
1961
- #: src/Admin/SettingsPages/Membership/views/customers/data-metabox.php:84
1962
- #: src/Admin/SettingsPages/Membership/views/orders/order-data-metabox.php:111
1963
  #: src/ContentProtection/WPListTable.php:84
1964
  msgid "Edit"
1965
  msgstr ""
1966
 
1967
- #: src/Admin/SettingsPages/FormList.php:242
1968
- #: src/Admin/SettingsPages/Membership/PlansPage/PlanWPListTable.php:66
 
1969
  #: src/ContentProtection/WPListTable.php:85
1970
  msgid "Duplicate"
1971
  msgstr ""
1972
 
1973
- #: src/Admin/SettingsPages/FormList.php:244
 
 
 
1974
  #: src/Classes/FormPreviewHandler.php:45
1975
- #: src/Functions/custom-settings-api.php:864
1976
  msgid "Preview"
1977
  msgstr ""
1978
 
1979
- #: src/Admin/SettingsPages/FormList.php:275
 
1980
  msgid "Drag & Drop"
1981
  msgstr ""
1982
 
 
 
1983
  #: src/Admin/SettingsPages/Forms.php:47 src/Admin/SettingsPages/Forms.php:73
1984
  msgid "Forms & Profiles"
1985
  msgstr ""
1986
 
 
1987
  #: src/Admin/SettingsPages/Forms.php:50
1988
  msgid "Edit Form"
1989
  msgstr ""
1990
 
 
1991
  #: src/Admin/SettingsPages/Forms.php:54
1992
  msgid "Add Form"
1993
  msgstr ""
1994
 
 
 
1995
  #: src/Admin/SettingsPages/Forms.php:58 src/Admin/SettingsPages/Forms.php:62
1996
  msgid "Edit Frontend Profile"
1997
  msgstr ""
1998
 
 
1999
  #: src/Admin/SettingsPages/Forms.php:93
2000
  msgid ""
2001
  "Melange combines login, registration & password reset forms in a single form."
2002
  msgstr ""
2003
 
 
2004
  #: src/Admin/SettingsPages/Forms.php:110
2005
  msgid "Filter by Type"
2006
  msgstr ""
2007
 
 
 
 
 
 
 
 
 
2008
  #: src/Admin/SettingsPages/Forms.php:114
2009
- #: src/Admin/SettingsPages/GeneralSettings.php:287
2010
- #: src/Admin/SettingsPages/GeneralSettings.php:403
2011
- #: src/Classes/AjaxHandler.php:55
2012
- #: src/Membership/DigitalProducts/DownloadHandler.php:318
2013
- #: src/NavigationMenuLinks/Backend.php:34
2014
- #: src/ShortcodeParser/Builder/GlobalShortcodes.php:247
2015
  #: src/Themes/DragDrop/AbstractBuildScratch.php:180
2016
  #: src/Widgets/TabbedWidget.php:113
2017
  msgid "Login"
2018
  msgstr ""
2019
 
 
 
 
2020
  #: src/Admin/SettingsPages/Forms.php:119
2021
- #: src/Admin/SettingsPages/GeneralSettings.php:273
2022
- #: src/Classes/AjaxHandler.php:60
2023
  msgid "Registration"
2024
  msgstr ""
2025
 
 
 
 
2026
  #: src/Admin/SettingsPages/Forms.php:125
2027
- #: src/Admin/SettingsPages/GeneralSettings.php:413
2028
- #: src/Classes/AjaxHandler.php:65
2029
  msgid "Password Reset"
2030
  msgstr ""
2031
 
2032
- #: src/Admin/SettingsPages/Forms.php:130
2033
- #: src/Admin/SettingsPages/Membership/views/customers/data-metabox.php:30
2034
- #: src/Classes/AjaxHandler.php:70 src/NavigationMenuLinks/Backend.php:32
2035
- #: src/ShortcodeParser/Builder/GlobalShortcodes.php:312
 
 
 
2036
  msgid "Edit Profile"
2037
  msgstr ""
2038
 
2039
- #: src/Admin/SettingsPages/Forms.php:137 src/Classes/AjaxHandler.php:76
 
 
2040
  msgid "Melange"
2041
  msgstr ""
2042
 
2043
- #: src/Admin/SettingsPages/Forms.php:145 src/Classes/AjaxHandler.php:83
 
 
2044
  msgid "User Profile"
2045
  msgstr ""
2046
 
 
2047
  #: src/Admin/SettingsPages/Forms.php:177
2048
  msgid "Forms"
2049
  msgstr ""
2050
 
 
 
2051
  #: src/Admin/SettingsPages/Forms.php:219
2052
  #: src/Admin/SettingsPages/MemberDirectories.php:114
2053
  msgid "Live Preview"
2054
  msgstr ""
2055
 
 
 
2056
  #: src/Admin/SettingsPages/Forms.php:299
2057
  #: src/Admin/SettingsPages/MemberDirectories.php:211
2058
- #: src/Admin/SettingsPages/Membership/CustomersPage/SettingsPage.php:379
2059
  msgid "Add New"
2060
  msgstr ""
2061
 
2062
- #: src/Admin/SettingsPages/GeneralSettings.php:66
 
2063
  msgid "Integrations"
2064
  msgstr ""
2065
 
2066
- #: src/Admin/SettingsPages/GeneralSettings.php:70
 
2067
  msgid "Premium Addons"
2068
  msgstr ""
2069
 
2070
- #: src/Admin/SettingsPages/GeneralSettings.php:87
 
 
 
2071
  #: src/Admin/SettingsPages/ToolsSettingsPage.php:18
2072
  #: src/Admin/SettingsPages/ToolsSettingsPage.php:61
2073
  msgid "Tools"
2074
  msgstr ""
2075
 
2076
- #: src/Admin/SettingsPages/GeneralSettings.php:113
 
2077
  msgid "My Account edit profile form (default)"
2078
  msgstr ""
2079
 
2080
- #: src/Admin/SettingsPages/GeneralSettings.php:116
2081
- #: src/Admin/SettingsPages/GeneralSettings.php:391
 
 
2082
  msgid "Currently viewed page"
2083
  msgstr ""
2084
 
2085
- #: src/Admin/SettingsPages/GeneralSettings.php:117
 
2086
  msgid "Previous/Referrer page (Pro feature)"
2087
  msgstr ""
2088
 
2089
- #: src/Admin/SettingsPages/GeneralSettings.php:118
 
2090
  msgid "WordPress Dashboard"
2091
  msgstr ""
2092
 
2093
- #: src/Admin/SettingsPages/GeneralSettings.php:122
 
2094
  msgid "Previous/Referrer page"
2095
  msgstr ""
2096
 
2097
- #: src/Admin/SettingsPages/GeneralSettings.php:132
 
2098
  msgid "Global"
2099
  msgstr ""
2100
 
2101
- #: src/Admin/SettingsPages/GeneralSettings.php:135
 
2102
  msgid "Global Settings"
2103
  msgstr ""
2104
 
2105
- #: src/Admin/SettingsPages/GeneralSettings.php:138
2106
- msgid "Disable Ajax Mode"
2107
- msgstr ""
2108
-
2109
- #: src/Admin/SettingsPages/GeneralSettings.php:140
2110
- msgid "Disable"
2111
  msgstr ""
2112
 
2113
- #: src/Admin/SettingsPages/GeneralSettings.php:141
 
2114
  msgid ""
2115
- "Check this box to disable ajax behaviour(whereby forms do not require page "
2116
- "reload when submitted) in forms."
 
2117
  msgstr ""
2118
 
2119
- #: src/Admin/SettingsPages/GeneralSettings.php:145
2120
- msgid "Install Missing DB Tables"
 
2121
  msgstr ""
2122
 
2123
- #: src/Admin/SettingsPages/GeneralSettings.php:146
2124
- msgid "Fix Database"
 
 
 
2125
  msgstr ""
2126
 
2127
- #: src/Admin/SettingsPages/GeneralSettings.php:151
2128
- msgid "Remove Data on Uninstall"
 
 
 
2129
  msgstr ""
2130
 
2131
- #: src/Admin/SettingsPages/GeneralSettings.php:153
 
2132
  msgid ""
2133
- "Check this box if you would like ProfilePress to completely remove all of "
2134
- "its data when the plugin is deleted."
2135
  msgstr ""
2136
 
2137
- #: src/Admin/SettingsPages/GeneralSettings.php:158
2138
- msgid "Business Info"
 
2139
  msgstr ""
2140
 
2141
- #: src/Admin/SettingsPages/GeneralSettings.php:161
2142
- msgid "Business Information"
2143
- msgstr ""
2144
-
2145
- #: src/Admin/SettingsPages/GeneralSettings.php:164
2146
- msgid "Business Name"
2147
- msgstr ""
2148
-
2149
- #: src/Admin/SettingsPages/GeneralSettings.php:165
2150
- msgid ""
2151
- "The official (legal) name of your store. Defaults to Site Title if empty."
2152
- msgstr ""
2153
-
2154
- #: src/Admin/SettingsPages/GeneralSettings.php:169
2155
- msgid "Address"
2156
- msgstr ""
2157
-
2158
- #: src/Admin/SettingsPages/GeneralSettings.php:170
2159
- msgid "The street address where your business is registered and located."
2160
- msgstr ""
2161
-
2162
- #: src/Admin/SettingsPages/GeneralSettings.php:174
2163
- #: src/Membership/CheckoutFields.php:142
2164
- msgid "City"
2165
- msgstr ""
2166
-
2167
- #: src/Admin/SettingsPages/GeneralSettings.php:175
2168
- msgid "The city in which your business is registered and located."
2169
- msgstr ""
2170
-
2171
- #: src/Admin/SettingsPages/GeneralSettings.php:180
2172
- msgid "The country in which your business is registered and located."
2173
- msgstr ""
2174
-
2175
- #: src/Admin/SettingsPages/GeneralSettings.php:185
2176
- msgid "State / Province / Region"
2177
- msgstr ""
2178
-
2179
- #: src/Admin/SettingsPages/GeneralSettings.php:186
2180
- msgid "The state your business is located."
2181
- msgstr ""
2182
-
2183
- #: src/Admin/SettingsPages/GeneralSettings.php:190
2184
- msgid "ZIP / Postal Code"
2185
- msgstr ""
2186
-
2187
- #: src/Admin/SettingsPages/GeneralSettings.php:191
2188
- msgid "The country in which your business is located."
2189
- msgstr ""
2190
-
2191
- #: src/Admin/SettingsPages/GeneralSettings.php:195
2192
- msgid "Tax Identification Number"
2193
- msgstr ""
2194
-
2195
- #: src/Admin/SettingsPages/GeneralSettings.php:196
2196
- msgid "This can be your VAT number, GST/HST or ABN."
2197
- msgstr ""
2198
-
2199
- #: src/Admin/SettingsPages/GeneralSettings.php:201
2200
- msgid "Pages"
2201
- msgstr ""
2202
-
2203
- #: src/Admin/SettingsPages/GeneralSettings.php:204
2204
- msgid "Global Pages"
2205
- msgstr ""
2206
-
2207
- #: src/Admin/SettingsPages/GeneralSettings.php:207
2208
- msgid "Login Page"
2209
- msgstr ""
2210
-
2211
- #: src/Admin/SettingsPages/GeneralSettings.php:210
2212
- msgid ""
2213
- "Select the page you wish to make WordPress default Login page. %3$s This "
2214
- "should be the page that contains a %1$slogin form shortcode%2$s."
2215
- msgstr ""
2216
-
2217
- #: src/Admin/SettingsPages/GeneralSettings.php:215
2218
- #: src/Admin/SettingsPages/GeneralSettings.php:496
2219
- msgid "Registration Page"
2220
- msgstr ""
2221
-
2222
- #: src/Admin/SettingsPages/GeneralSettings.php:218
2223
- msgid ""
2224
- "Select the page you wish to make WordPress default Registration page. %3$s "
2225
- "This should be the page that contains a %1$sregistration form shortcode%2$s."
2226
- msgstr ""
2227
-
2228
- #: src/Admin/SettingsPages/GeneralSettings.php:223
2229
- msgid "Password Reset Page"
2230
- msgstr ""
2231
-
2232
- #: src/Admin/SettingsPages/GeneralSettings.php:226
2233
- msgid ""
2234
- "Select the page you wish to make WordPress default \"Lost Password page\". "
2235
- "%3$s This should be the page that contains a %1$spassword reset form "
2236
- "shortcode%2$s."
2237
- msgstr ""
2238
-
2239
- #: src/Admin/SettingsPages/GeneralSettings.php:231
2240
- msgid "My Account Page"
2241
- msgstr ""
2242
-
2243
- #: src/Admin/SettingsPages/GeneralSettings.php:234
2244
  msgid ""
2245
  "Select a page that contains %3$s shortcode. You can also use an %1$sedit "
2246
  "profile shortcode%2$s on the My Account page in case you want something "
2247
  "custom."
2248
  msgstr ""
2249
 
2250
- #: src/Admin/SettingsPages/GeneralSettings.php:239
2251
- msgid "Payment Pages"
2252
- msgstr ""
2253
-
2254
- #: src/Admin/SettingsPages/GeneralSettings.php:242
2255
- msgid "Checkout Page"
2256
- msgstr ""
2257
-
2258
- #: src/Admin/SettingsPages/GeneralSettings.php:245
2259
- msgid ""
2260
- "The checkout page where members will complete their payments. %2$sThe "
2261
- "shortcode %1$s must be on this page."
2262
  msgstr ""
2263
 
2264
- #: src/Admin/SettingsPages/GeneralSettings.php:251
2265
- msgid "Order Success Page"
 
2266
  msgstr ""
2267
 
2268
- #: src/Admin/SettingsPages/GeneralSettings.php:254
 
2269
  msgid ""
2270
- "The page customers are sent to after completing their orders.%2$sThe "
2271
- "shortcode %1$s must be on this page."
2272
- msgstr ""
2273
-
2274
- #: src/Admin/SettingsPages/GeneralSettings.php:260
2275
- msgid "Order Failure Page"
2276
- msgstr ""
2277
-
2278
- #: src/Admin/SettingsPages/GeneralSettings.php:262
2279
- msgid "The page customers are sent to after a failed order."
2280
  msgstr ""
2281
 
2282
- #: src/Admin/SettingsPages/GeneralSettings.php:265
2283
- msgid "Terms & Conditions Page"
 
2284
  msgstr ""
2285
 
2286
- #: src/Admin/SettingsPages/GeneralSettings.php:266
 
2287
  msgid ""
2288
- "If you select a \"Terms\" page, customers will be asked if they accept them "
2289
- "when checking out."
2290
  msgstr ""
2291
 
2292
- #: src/Admin/SettingsPages/GeneralSettings.php:279
 
2293
  msgid "Auto-login after registration"
2294
  msgstr ""
2295
 
2296
- #: src/Admin/SettingsPages/GeneralSettings.php:280
 
2297
  msgid "Enable auto-login"
2298
  msgstr ""
2299
 
2300
- #: src/Admin/SettingsPages/GeneralSettings.php:282
 
2301
  msgid ""
2302
  "Check this option to automatically login users after successful registration."
2303
  msgstr ""
2304
 
2305
- #: src/Admin/SettingsPages/GeneralSettings.php:294
 
2306
  msgid "Email Address and Username (default)"
2307
  msgstr ""
2308
 
2309
- #: src/Admin/SettingsPages/GeneralSettings.php:295
 
2310
  msgid "Email Address Only"
2311
  msgstr ""
2312
 
2313
- #: src/Admin/SettingsPages/GeneralSettings.php:296
 
2314
  msgid "Username Only"
2315
  msgstr ""
2316
 
2317
- #: src/Admin/SettingsPages/GeneralSettings.php:299
 
2318
  msgid "Login with Email or Username"
2319
  msgstr ""
2320
 
2321
- #: src/Admin/SettingsPages/GeneralSettings.php:300
 
2322
  msgid ""
2323
  "By default, WordPress allows users to log in using either an email address "
2324
  "or username. This setting allows you to restrict logins to only accept email "
2325
  "addresses or usernames."
2326
  msgstr ""
2327
 
2328
- #: src/Admin/SettingsPages/GeneralSettings.php:305
2329
- #: src/RegisterActivation/Base.php:195
 
 
2330
  msgid "My Account"
2331
  msgstr ""
2332
 
2333
- #: src/Admin/SettingsPages/GeneralSettings.php:306
 
2334
  msgid "My Account Settings"
2335
  msgstr ""
2336
 
2337
- #: src/Admin/SettingsPages/GeneralSettings.php:310
 
2338
  msgid "Redirect Default Edit Profile"
2339
  msgstr ""
2340
 
2341
- #: src/Admin/SettingsPages/GeneralSettings.php:311
2342
- #: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:75
2343
- #: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:202
2344
- #: src/Admin/SettingsPages/Membership/PlansPage/PlanWPListTable.php:74
2345
- #: src/Admin/SettingsPages/Membership/PlansPage/PlanWPListTable.php:173
2346
  #: src/ContentProtection/WPListTable.php:93
2347
- #: src/Functions/custom-settings-api.php:1015
2348
  msgid "Activate"
2349
  msgstr ""
2350
 
2351
- #: src/Admin/SettingsPages/GeneralSettings.php:314
 
2352
  msgid ""
2353
  "Redirect <a target=\"_blank\" href=\"%s\">default WordPress profile</a> to "
2354
  "My Account page."
2355
  msgstr ""
2356
 
2357
- #: src/Admin/SettingsPages/GeneralSettings.php:321
 
2358
  msgid "Edit Account Endpoint"
2359
  msgstr ""
2360
 
2361
- #: src/Admin/SettingsPages/GeneralSettings.php:322
 
2362
  msgid "Endpoint for the \"My Account → Account Details\" page."
2363
  msgstr ""
2364
 
2365
- #: src/Admin/SettingsPages/GeneralSettings.php:327
 
2366
  msgid "Change Password Endpoint"
2367
  msgstr ""
2368
 
2369
- #: src/Admin/SettingsPages/GeneralSettings.php:328
 
2370
  msgid "Endpoint for the \"My Account → Change Password\" page."
2371
  msgstr ""
2372
 
2373
- #: src/Admin/SettingsPages/GeneralSettings.php:333
 
2374
  msgid "Account Details Form"
2375
  msgstr ""
2376
 
2377
- #: src/Admin/SettingsPages/GeneralSettings.php:334
 
2378
  msgid ""
2379
  "Do you want to replace the default form in \"My Account → Account Details\" "
2380
  "page? select an Edit Profile form that will replace it."
2381
  msgstr ""
2382
 
2383
- #: src/Admin/SettingsPages/GeneralSettings.php:338
 
2384
  msgid "Frontend Profile"
2385
  msgstr ""
2386
 
2387
- #: src/Admin/SettingsPages/GeneralSettings.php:339
 
2388
  msgid "Frontend Profile Settings"
2389
  msgstr ""
2390
 
2391
- #: src/Admin/SettingsPages/GeneralSettings.php:343
 
2392
  msgid "Page with Profile Shortcode"
2393
  msgstr ""
2394
 
2395
- #: src/Admin/SettingsPages/GeneralSettings.php:345
 
2396
  msgid ""
2397
  "Select the page that contains your <a href=\"%s\">Frontend user profile "
2398
  "shortcode</a>."
2399
  msgstr ""
2400
 
2401
- #: src/Admin/SettingsPages/GeneralSettings.php:350
 
2402
  msgid "Profile Slug"
2403
  msgstr ""
2404
 
2405
- #: src/Admin/SettingsPages/GeneralSettings.php:351
 
2406
  msgid ""
2407
  "Enter your preferred profile URL slug. Default to \"profile\" if empty. If "
2408
  "slug is \"profile\", URL becomes %s where \"john\" is a user's username."
2409
  msgstr ""
2410
 
2411
- #: src/Admin/SettingsPages/GeneralSettings.php:355
 
2412
  msgid "Disable Guests from Viewing Profiles"
2413
  msgstr ""
2414
 
2415
- #: src/Admin/SettingsPages/GeneralSettings.php:356
 
2416
  msgid ""
2417
  "Enable this option to stop disable guests or non-registered users from "
2418
  "viewing users profiles."
2419
  msgstr ""
2420
 
2421
- #: src/Admin/SettingsPages/GeneralSettings.php:361
 
2422
  msgid "Disable Members from Viewing Profiles"
2423
  msgstr ""
2424
 
2425
- #: src/Admin/SettingsPages/GeneralSettings.php:362
 
2426
  msgid ""
2427
  "Enable this option to stop members from viewing other users profiles. If "
2428
  "enabled, users can only see their own profile."
2429
  msgstr ""
2430
 
2431
- #: src/Admin/SettingsPages/GeneralSettings.php:367
 
2432
  msgid "Comment Author URL to Profile"
2433
  msgstr ""
2434
 
2435
- #: src/Admin/SettingsPages/GeneralSettings.php:368
2436
- #: src/Admin/SettingsPages/GeneralSettings.php:375
 
 
2437
  msgid "Enable option"
2438
  msgstr ""
2439
 
2440
- #: src/Admin/SettingsPages/GeneralSettings.php:370
 
2441
  msgid "Change URL of comment authors to their ProfilePress front-end profile."
2442
  msgstr ""
2443
 
2444
- #: src/Admin/SettingsPages/GeneralSettings.php:374
 
2445
  msgid "Authors Page to Profile"
2446
  msgstr ""
2447
 
2448
- #: src/Admin/SettingsPages/GeneralSettings.php:377
 
2449
  msgid "Change and redirect authors pages %s to their front-end profiles %s."
2450
  msgstr ""
2451
 
2452
- #: src/Admin/SettingsPages/GeneralSettings.php:382
 
2453
  msgid "Redirection"
2454
  msgstr ""
2455
 
2456
- #: src/Admin/SettingsPages/GeneralSettings.php:383
 
2457
  msgid "Redirection Settings"
2458
  msgstr ""
2459
 
2460
- #: src/Admin/SettingsPages/GeneralSettings.php:387
 
 
2461
  #: src/Widgets/TabbedWidget.php:224
2462
  msgid "Log out"
2463
  msgstr ""
2464
 
2465
- #: src/Admin/SettingsPages/GeneralSettings.php:396
 
2466
  msgid ""
2467
  "Select the page users will be redirected to after logout. To redirect to a "
2468
  "custom URL instead of a selected page, enter the URL in input field directly "
2469
  "above this description."
2470
  msgstr ""
2471
 
2472
- #: src/Admin/SettingsPages/GeneralSettings.php:397
2473
- #: src/Admin/SettingsPages/GeneralSettings.php:407
2474
- #: src/Admin/SettingsPages/GeneralSettings.php:424
 
 
 
2475
  msgid "Leave the \"custom URL\" field empty to fallback to the selected page."
2476
  msgstr ""
2477
 
2478
- #: src/Admin/SettingsPages/GeneralSettings.php:406
 
2479
  msgid ""
2480
  "Select the page or custom URL users will be redirected to after login. To "
2481
  "redirect to a custom URL instead of a selected page, enter the URL in input "
2482
  "field directly above this description"
2483
  msgstr ""
2484
 
2485
- #: src/Admin/SettingsPages/GeneralSettings.php:418
 
2486
  msgid "Default.."
2487
  msgstr ""
2488
 
2489
- #: src/Admin/SettingsPages/GeneralSettings.php:423
 
2490
  msgid ""
2491
  "Select the page or custom URL users will be redirected to after they "
2492
  "successfully reset or change their password. To redirect to a custom URL "
@@ -2494,179 +2968,222 @@ msgid ""
2494
  "description."
2495
  msgstr ""
2496
 
2497
- #: src/Admin/SettingsPages/GeneralSettings.php:430
 
 
2498
  #: src/ContentProtection/WPListTable.php:30
2499
  msgid "Access"
2500
  msgstr ""
2501
 
2502
- #: src/Admin/SettingsPages/GeneralSettings.php:431
 
2503
  msgid "Access Settings"
2504
  msgstr ""
2505
 
2506
- #: src/Admin/SettingsPages/GeneralSettings.php:437
 
2507
  msgid ""
2508
  "%sNote:%s Access setting takes precedence over %sContent Protection rules%s."
2509
  msgstr ""
2510
 
2511
- #: src/Admin/SettingsPages/GeneralSettings.php:443
 
2512
  msgid "Global Site Access"
2513
  msgstr ""
2514
 
2515
- #: src/Admin/SettingsPages/GeneralSettings.php:445
 
2516
  msgid "Accessible to Everyone"
2517
  msgstr ""
2518
 
2519
- #: src/Admin/SettingsPages/GeneralSettings.php:446
 
2520
  msgid "Accessible to Logged-in Users"
2521
  msgstr ""
2522
 
2523
- #: src/Admin/SettingsPages/GeneralSettings.php:451
 
2524
  msgid "Redirect Page"
2525
  msgstr ""
2526
 
2527
- #: src/Admin/SettingsPages/GeneralSettings.php:453
 
2528
  msgid ""
2529
  "Select the page or custom URL to redirect users that are not logged in to."
2530
  msgstr ""
2531
 
2532
- #: src/Admin/SettingsPages/GeneralSettings.php:457
 
2533
  msgid "Pages to Exclude"
2534
  msgstr ""
2535
 
2536
- #: src/Admin/SettingsPages/GeneralSettings.php:463
 
2537
  msgid ""
2538
  "Select the pages to exclude beside the redirect page that will be accessible "
2539
  "by everyone."
2540
  msgstr ""
2541
 
2542
- #: src/Admin/SettingsPages/GeneralSettings.php:469
 
2543
  msgid "Accessible Homepage"
2544
  msgstr ""
2545
 
2546
- #: src/Admin/SettingsPages/GeneralSettings.php:470
 
2547
  msgid "Check to allow homepage to be accessible by everyone."
2548
  msgstr ""
2549
 
2550
- #: src/Admin/SettingsPages/GeneralSettings.php:474
2551
- #: src/ContentProtection/ElementorRestriction.php:251
2552
- #: src/ContentProtection/Frontend/PostContent.php:66
2553
- #: src/RegisterActivation/Base.php:135
2554
  msgid "You are unauthorized to view this page."
2555
  msgstr ""
2556
 
2557
- #: src/Admin/SettingsPages/GeneralSettings.php:475
 
2558
  msgid "Global Restricted Access Message"
2559
  msgstr ""
2560
 
2561
- #: src/Admin/SettingsPages/GeneralSettings.php:476
 
2562
  msgid ""
2563
  "This is the message shown to users that do not have permission to view the "
2564
  "content."
2565
  msgstr ""
2566
 
2567
- #: src/Admin/SettingsPages/GeneralSettings.php:490
 
2568
  msgid "BuddyPress"
2569
  msgstr ""
2570
 
2571
- #: src/Admin/SettingsPages/GeneralSettings.php:491
 
2572
  msgid "BuddyPress Settings"
2573
  msgstr ""
2574
 
2575
- #: src/Admin/SettingsPages/GeneralSettings.php:497
2576
- #: src/Admin/SettingsPages/GeneralSettings.php:504
2577
- #: src/Admin/SettingsPages/GeneralSettings.php:511
2578
- #: src/Admin/SettingsPages/GeneralSettings.php:527
 
 
 
 
2579
  msgid "Check to enable"
2580
  msgstr ""
2581
 
2582
- #: src/Admin/SettingsPages/GeneralSettings.php:498
 
2583
  msgid "Check to redirect BuddyPress registration page to your selected %s"
2584
  msgstr ""
2585
 
2586
- #: src/Admin/SettingsPages/GeneralSettings.php:502
 
2587
  msgid "Override Avatar"
2588
  msgstr ""
2589
 
2590
- #: src/Admin/SettingsPages/GeneralSettings.php:505
 
2591
  msgid ""
2592
  "Check to override BuddyPress users uploaded avatars with that of "
2593
  "ProfilePress."
2594
  msgstr ""
2595
 
2596
- #: src/Admin/SettingsPages/GeneralSettings.php:510
2597
- #: src/Admin/SettingsPages/GeneralSettings.php:526
 
 
2598
  msgid "Override Profile URL"
2599
  msgstr ""
2600
 
2601
- #: src/Admin/SettingsPages/GeneralSettings.php:512
 
2602
  msgid ""
2603
  "Check to change the profile URL of BuddyPress users to ProfilePress front-"
2604
  "end profile."
2605
  msgstr ""
2606
 
2607
- #: src/Admin/SettingsPages/GeneralSettings.php:520
 
2608
  msgid "bbPress"
2609
  msgstr ""
2610
 
2611
- #: src/Admin/SettingsPages/GeneralSettings.php:521
 
2612
  msgid "bbPress Settings"
2613
  msgstr ""
2614
 
2615
- #: src/Admin/SettingsPages/GeneralSettings.php:528
 
2616
  msgid "Check to change bbPress profile URL to ProfilePress front-end profile."
2617
  msgstr ""
2618
 
 
2619
  #: src/Admin/SettingsPages/IDUserColumn.php:20
2620
  msgid "ID"
2621
  msgstr ""
2622
 
 
2623
  #: src/Admin/SettingsPages/MailOptin.php:51
2624
  msgid "There was an error while performing your request."
2625
  msgstr ""
2626
 
 
2627
  #: src/Admin/SettingsPages/MailOptin.php:63
2628
  msgid "Could not install plugin. Please download and install manually."
2629
  msgstr ""
2630
 
 
2631
  #: src/Admin/SettingsPages/MailOptin.php:63
2632
  msgid ""
2633
  "Could not install addon. Please download from wpforms.com and install "
2634
  "manually."
2635
  msgstr ""
2636
 
 
2637
  #: src/Admin/SettingsPages/MailOptin.php:131
2638
  msgid "Plugin installed."
2639
  msgstr ""
2640
 
 
2641
  #: src/Admin/SettingsPages/MailOptin.php:131
2642
  msgid "Addon installed."
2643
  msgstr ""
2644
 
 
2645
  #: src/Admin/SettingsPages/MailOptin.php:141
2646
  msgid "Plugin installed & activated."
2647
  msgstr ""
2648
 
 
2649
  #: src/Admin/SettingsPages/MailOptin.php:141
2650
  msgid "Addon installed & activated."
2651
  msgstr ""
2652
 
 
2653
  #: src/Admin/SettingsPages/MailOptin.php:157
2654
  msgid "Plugin activation is disabled for you on this site."
2655
  msgstr ""
2656
 
 
2657
  #: src/Admin/SettingsPages/MailOptin.php:166
2658
  msgid "Plugin activated."
2659
  msgstr ""
2660
 
 
2661
  #: src/Admin/SettingsPages/MailOptin.php:170
2662
  msgid "Could not activate plugin. Please activate from the Plugins page."
2663
  msgstr ""
2664
 
 
2665
  #: src/Admin/SettingsPages/MailOptin.php:178
2666
  msgid "Popups & Optins"
2667
  msgstr ""
2668
 
2669
  #. translators: %s - Lite plugin download URL.
 
2670
  #: src/Admin/SettingsPages/MailOptin.php:209
2671
  msgid ""
2672
  "Could not install plugin. Please <a href=\"%s\">download</a> and install "
@@ -2674,13033 +3191,2694 @@ msgid ""
2674
  msgstr ""
2675
 
2676
  #. translators: %s - Lite plugin download URL.
 
2677
  #: src/Admin/SettingsPages/MailOptin.php:221
2678
  msgid ""
2679
  "Could not activate plugin. Please activate from the <a href=\"%s\">Plugins "
2680
  "page</a>."
2681
  msgstr ""
2682
 
 
2683
  #: src/Admin/SettingsPages/MailOptin.php:232
2684
  msgid "Installing..."
2685
  msgstr ""
2686
 
 
2687
  #: src/Admin/SettingsPages/MailOptin.php:233
2688
  msgid "Activating..."
2689
  msgstr ""
2690
 
 
 
2691
  #: src/Admin/SettingsPages/MailOptin.php:234
2692
  #: src/Admin/SettingsPages/MailOptin.php:596
2693
  msgid "MailOptin Installed & Activated"
2694
  msgstr ""
2695
 
 
2696
  #: src/Admin/SettingsPages/MailOptin.php:235
2697
  msgid "Install Now"
2698
  msgstr ""
2699
 
 
2700
  #: src/Admin/SettingsPages/MailOptin.php:236
2701
  msgid "Activate Now"
2702
  msgstr ""
2703
 
 
2704
  #: src/Admin/SettingsPages/MailOptin.php:237
2705
  msgid "Download Now"
2706
  msgstr ""
2707
 
 
2708
  #: src/Admin/SettingsPages/MailOptin.php:238
2709
  msgid "Go to Plugins page"
2710
  msgstr ""
2711
 
 
2712
  #: src/Admin/SettingsPages/MailOptin.php:243
2713
  msgid "Go to MailOptin Settings"
2714
  msgstr ""
2715
 
 
2716
  #: src/Admin/SettingsPages/MailOptin.php:472
2717
  msgid "ProfilePress ♥ MailOptin"
2718
  msgstr ""
2719
 
 
2720
  #: src/Admin/SettingsPages/MailOptin.php:473
2721
  msgid "#1 Popup, Optin Forms & Marketing Automation Plugin"
2722
  msgstr ""
2723
 
 
2724
  #: src/Admin/SettingsPages/MailOptin.php:474
2725
  msgid ""
2726
  "MailOptin lets you create popups and newsletter opt-in forms that integrates "
2727
  "with Mailchimp, Aweber, Constant Contact, Active Campaign & more."
2728
  msgstr ""
2729
 
 
2730
  #: src/Admin/SettingsPages/MailOptin.php:497
2731
  msgid "MailOptin screenshot"
2732
  msgstr ""
2733
 
 
2734
  #: src/Admin/SettingsPages/MailOptin.php:498
2735
  msgid ""
2736
  "Automatically notify your subscribers every time you publish a new post."
2737
  msgstr ""
2738
 
 
2739
  #: src/Admin/SettingsPages/MailOptin.php:499
2740
  msgid ""
2741
  "Keep your subscribers engaged with daily, weekly and monthly email digest of "
2742
  "published posts."
2743
  msgstr ""
2744
 
 
2745
  #: src/Admin/SettingsPages/MailOptin.php:500
2746
  msgid ""
2747
  "Different types of opt-in form including Popup, notification bar, inline, "
2748
  "scroll box, slide ins, sidebar forms."
2749
  msgstr ""
2750
 
 
2751
  #: src/Admin/SettingsPages/MailOptin.php:501
2752
  msgid ""
2753
  "Page-level targeting and optin triggers to build hyper segmented email list."
2754
  msgstr ""
2755
 
 
2756
  #: src/Admin/SettingsPages/MailOptin.php:502
2757
  msgid ""
2758
  "Analytics with actionable reporting & insights to improve your lead-"
2759
  "generation strategy."
2760
  msgstr ""
2761
 
 
2762
  #: src/Admin/SettingsPages/MailOptin.php:530
2763
  msgid "Step 1"
2764
  msgstr ""
2765
 
 
2766
  #: src/Admin/SettingsPages/MailOptin.php:531
2767
  msgid "Install and Activate MailOptin"
2768
  msgstr ""
2769
 
 
2770
  #: src/Admin/SettingsPages/MailOptin.php:532
2771
  msgid "Install MailOptin from the WordPress.org plugin repository."
2772
  msgstr ""
2773
 
 
2774
  #: src/Admin/SettingsPages/MailOptin.php:565
2775
  msgid "Step 2"
2776
  msgstr ""
2777
 
 
2778
  #: src/Admin/SettingsPages/MailOptin.php:566
2779
  msgid "Set Up MailOptin"
2780
  msgstr ""
2781
 
 
2782
  #: src/Admin/SettingsPages/MailOptin.php:567
2783
  msgid "Configure and create your first optin form."
2784
  msgstr ""
2785
 
 
2786
  #: src/Admin/SettingsPages/MailOptin.php:588
2787
  msgid "Install MailOptin"
2788
  msgstr ""
2789
 
 
2790
  #: src/Admin/SettingsPages/MailOptin.php:596
2791
  msgid "Activate MailOptin"
2792
  msgstr ""
2793
 
 
2794
  #: src/Admin/SettingsPages/MailOptin.php:614
2795
  msgid "Start Setup"
2796
  msgstr ""
2797
 
 
2798
  #: src/Admin/SettingsPages/MailOptin.php:620
2799
  msgid "Go to MailOptin settings"
2800
  msgstr ""
2801
 
 
2802
  #: src/Admin/SettingsPages/MailOptin.php:641
2803
  msgid "You do not have permission."
2804
  msgstr ""
2805
 
 
2806
  #: src/Admin/SettingsPages/MailOptin.php:651
2807
  msgid "Plugin unavailable."
2808
  msgstr ""
2809
 
 
 
 
2810
  #: src/Admin/SettingsPages/MemberDirectories.php:37
2811
  #: src/Admin/SettingsPages/MemberDirectories.php:55
2812
  #: src/Admin/SettingsPages/MemberDirectories.php:91
2813
  msgid "Member Directories"
2814
  msgstr ""
2815
 
 
2816
  #: src/Admin/SettingsPages/MemberDirectories.php:44
2817
  msgid "Edit Member Directory"
2818
  msgstr ""
2819
 
 
2820
  #: src/Admin/SettingsPages/MembersDirectoryList.php:10
2821
  msgid "No members directory is currently available. %sConsider creating one%s"
2822
  msgstr ""
2823
 
2824
- #: src/Admin/SettingsPages/Membership/CheckListHeader.php:89
2825
- msgid "Get started with Paid Memberships"
2826
- msgstr ""
2827
-
2828
- #: src/Admin/SettingsPages/Membership/CheckListHeader.php:90
2829
- msgid ""
2830
- "Follow the steps below to get your website ready for selling membership "
2831
- "plans."
2832
  msgstr ""
2833
 
2834
- #: src/Admin/SettingsPages/Membership/CheckListHeader.php:107
2835
- msgid "Create the Required Pages"
 
2836
  msgstr ""
2837
 
2838
- #: src/Admin/SettingsPages/Membership/CheckListHeader.php:123
2839
- msgid "Integrate a Payment Method"
 
2840
  msgstr ""
2841
 
2842
- #: src/Admin/SettingsPages/Membership/CheckListHeader.php:140
2843
- msgid "Add Your Business Information"
 
2844
  msgstr ""
2845
 
2846
- #: src/Admin/SettingsPages/Membership/CheckListHeader.php:158
2847
- msgid "Set Your Membership Currency"
 
 
 
2848
  msgstr ""
2849
 
2850
- #: src/Admin/SettingsPages/Membership/CheckListHeader.php:176
2851
- msgid "Create a Membership Plan"
 
2852
  msgstr ""
2853
 
2854
- #: src/Admin/SettingsPages/Membership/CheckoutFieldsManager.php:20
2855
- msgid "Checkout Fields &lsaquo; Payments"
 
2856
  msgstr ""
2857
 
2858
- #: src/Admin/SettingsPages/Membership/CheckoutFieldsManager.php:32
2859
- #: src/Admin/SettingsPages/Membership/CheckoutFieldsManager.php:74
2860
- msgid "Checkout Fields"
2861
  msgstr ""
2862
 
2863
- #: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:24
2864
- msgid "No coupon code found."
 
2865
  msgstr ""
2866
 
2867
- #: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:31
2868
- #: src/Functions/custom-settings-api.php:863
2869
- msgid "Code"
 
 
2870
  msgstr ""
2871
 
2872
- #: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:32
2873
- #: src/Admin/SettingsPages/Membership/CouponsPage/SettingsPage.php:47
2874
- #: src/Admin/SettingsPages/Membership/CouponsPage/SettingsPage.php:48
2875
- #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:35
2876
- #: src/ShortcodeParser/MyAccount/view-order.tmpl.php:118
2877
- msgid "Discount"
2878
  msgstr ""
2879
 
2880
- #: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:33
2881
- msgid "Redemptions"
 
2882
  msgstr ""
2883
 
2884
- #: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:34
2885
- #: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:56
2886
- #: src/Admin/SettingsPages/Membership/PlansPage/PlanWPListTable.php:32
2887
- #: src/Admin/SettingsPages/Membership/SubscriptionsPage/SubscriptionWPListTable.php:52
2888
- #: src/Admin/SettingsPages/Membership/views/customers/subcriptions-metabox.php:20
2889
- #: src/Admin/SettingsPages/Membership/views/subscriptions/sub-payments-metabox.php:18
2890
- #: src/ShortcodeParser/MyAccount/subscriptions.tmpl.php:57
2891
- #: src/ShortcodeParser/MyAccount/view-order.tmpl.php:165
2892
- #: src/ShortcodeParser/MyAccount/view-subscription.tmpl.php:57
2893
- #: src/ShortcodeParser/MyAccount/view-subscription.tmpl.php:116
2894
- msgid "Status"
2895
  msgstr ""
2896
 
2897
- #: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:35
2898
- #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:78
2899
- #: src/ShortcodeParser/MyAccount/view-subscription.tmpl.php:75
2900
- msgid "Start Date"
 
2901
  msgstr ""
2902
 
2903
- #: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:36
2904
- #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:88
2905
- msgid "End Date"
2906
  msgstr ""
2907
 
2908
- #: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:71
2909
- #: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:203
2910
- #: src/Admin/SettingsPages/Membership/PlansPage/PlanWPListTable.php:70
2911
- #: src/Admin/SettingsPages/Membership/PlansPage/PlanWPListTable.php:174
2912
- #: src/ContentProtection/WPListTable.php:89
2913
- msgid "Deactivate"
2914
  msgstr ""
2915
 
2916
- #: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:82
2917
- #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:42
2918
- msgid "Recurring"
 
 
 
 
2919
  msgstr ""
2920
 
2921
- #: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:82
2922
- #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:43
2923
- msgid "One-time"
2924
  msgstr ""
2925
 
2926
- #: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:123
2927
- #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:97
2928
- msgid "Unlimited"
2929
  msgstr ""
2930
 
2931
- #: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:134
2932
- #: src/Admin/SettingsPages/Membership/PlansPage/PlanWPListTable.php:109
2933
- #: src/Membership/Models/Customer/CustomerStatus.php:13
2934
- #: src/Membership/Models/Subscription/SubscriptionStatus.php:17
2935
- msgid "Active"
2936
  msgstr ""
2937
 
2938
- #: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:136
2939
- #: src/Admin/SettingsPages/Membership/PlansPage/PlanWPListTable.php:111
2940
- #: src/Membership/Models/Customer/CustomerStatus.php:14
2941
- msgid "Inactive"
 
 
 
2942
  msgstr ""
2943
 
2944
- #: src/Admin/SettingsPages/Membership/CouponsPage/CouponWPListTable.php:140
2945
- #: src/Membership/Models/Subscription/SubscriptionStatus.php:19
2946
- msgid "Expired"
 
 
 
 
2947
  msgstr ""
2948
 
2949
- #: src/Admin/SettingsPages/Membership/CouponsPage/SettingsPage.php:49
2950
- #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:40
2951
- msgid "Coupon Type"
 
 
2952
  msgstr ""
2953
 
2954
- #: src/Admin/SettingsPages/Membership/CouponsPage/SettingsPage.php:50
2955
- #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:50
2956
- msgid "Coupon Application"
2957
  msgstr ""
2958
 
2959
- #: src/Admin/SettingsPages/Membership/CouponsPage/SettingsPage.php:55
2960
- #: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:102
2961
- msgid "%s cannot be empty."
2962
  msgstr ""
2963
 
2964
- #: src/Admin/SettingsPages/Membership/CouponsPage/SettingsPage.php:83
2965
- #: src/Admin/SettingsPages/Membership/CouponsPage/SettingsPage.php:107
2966
- #: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:61
2967
- msgid "Coupons"
 
 
2968
  msgstr ""
2969
 
2970
- #: src/Admin/SettingsPages/Membership/CouponsPage/SettingsPage.php:86
2971
- msgid "Add a Coupon"
 
 
 
2972
  msgstr ""
2973
 
2974
- #: src/Admin/SettingsPages/Membership/CouponsPage/SettingsPage.php:90
2975
- msgid "Edit Coupon"
 
2976
  msgstr ""
2977
 
2978
- #: src/Admin/SettingsPages/Membership/CouponsPage/SettingsPage.php:131
2979
- #: src/Admin/SettingsPages/Membership/CustomersPage/SettingsPage.php:259
2980
- #: src/Admin/SettingsPages/Membership/DownloadLogsPage/SettingsPage.php:72
2981
- #: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:481
2982
- #: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:213
2983
- #: src/Admin/SettingsPages/Membership/SubscriptionsPage/SettingsPage.php:170
2984
- #: src/ContentProtection/SettingsPage.php:160
2985
- #: src/Themes/DragDrop/AbstractTheme.php:114
2986
- msgid "Changes saved."
2987
  msgstr ""
2988
 
2989
- #: src/Admin/SettingsPages/Membership/CouponsPage/SettingsPage.php:152
2990
- msgid "Add New Coupon"
 
2991
  msgstr ""
2992
 
2993
- #: src/Admin/SettingsPages/Membership/CustomersPage/CustomerWPListTable.php:43
2994
- msgid "No customers found."
 
2995
  msgstr ""
2996
 
2997
- #: src/Admin/SettingsPages/Membership/CustomersPage/CustomerWPListTable.php:50
2998
- #: src/Admin/SettingsPages/Membership/PlanIntegrationsMetabox.php:84
2999
- #: src/Themes/DragDrop/AbstractBuildScratch.php:440
3000
- msgid "Name"
3001
  msgstr ""
3002
 
3003
- #: src/Admin/SettingsPages/Membership/CustomersPage/CustomerWPListTable.php:52
3004
- #: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:360
3005
- #: src/Admin/SettingsPages/Membership/views/customers/view-customer.php:38
3006
- msgid "Active Subscriptions"
3007
  msgstr ""
3008
 
3009
- #: src/Admin/SettingsPages/Membership/CustomersPage/CustomerWPListTable.php:53
3010
- msgid "Customer Since"
 
 
 
3011
  msgstr ""
3012
 
3013
- #: src/Admin/SettingsPages/Membership/CustomersPage/CustomerWPListTable.php:54
3014
- msgid "Last Login"
 
3015
  msgstr ""
3016
 
3017
- #: src/Admin/SettingsPages/Membership/CustomersPage/CustomerWPListTable.php:87
3018
- msgid "View Orders"
 
 
 
 
3019
  msgstr ""
3020
 
3021
- #: src/Admin/SettingsPages/Membership/CustomersPage/CustomerWPListTable.php:88
3022
- msgid "View Subscriptions"
 
3023
  msgstr ""
3024
 
3025
- #: src/Admin/SettingsPages/Membership/CustomersPage/CustomerWPListTable.php:161
3026
- #: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:68
3027
- #: src/Admin/SettingsPages/Membership/SubscriptionsPage/SubscriptionWPListTable.php:68
3028
- msgid "All"
3029
  msgstr ""
3030
 
3031
- #: src/Admin/SettingsPages/Membership/CustomersPage/CustomerWPListTable.php:317
3032
- #: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:279
3033
- #: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:349
3034
- #: src/Admin/SettingsPages/Membership/SubscriptionsPage/SubscriptionWPListTable.php:314
3035
- msgctxt "date filter"
3036
- msgid "From"
3037
  msgstr ""
3038
 
3039
- #: src/Admin/SettingsPages/Membership/CustomersPage/CustomerWPListTable.php:320
3040
- #: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:282
3041
- #: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:352
3042
- #: src/Admin/SettingsPages/Membership/SubscriptionsPage/SubscriptionWPListTable.php:317
3043
- msgctxt "date filter"
3044
- msgid "To"
3045
  msgstr ""
3046
 
3047
- #: src/Admin/SettingsPages/Membership/CustomersPage/CustomerWPListTable.php:325
3048
- #: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:298
3049
- #: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:378
3050
- #: src/Admin/SettingsPages/Membership/SubscriptionsPage/SubscriptionWPListTable.php:331
3051
- msgid "Filter"
3052
  msgstr ""
3053
 
3054
- #: src/Admin/SettingsPages/Membership/CustomersPage/CustomerWPListTable.php:329
3055
- #: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:302
3056
- #: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:382
3057
- #: src/Admin/SettingsPages/Membership/SubscriptionsPage/SubscriptionWPListTable.php:335
3058
- msgid "Clear"
3059
  msgstr ""
3060
 
3061
- #: src/Admin/SettingsPages/Membership/CustomersPage/CustomerWPListTable.php:338
3062
- msgid "Search Customers"
 
 
3063
  msgstr ""
3064
 
3065
- #: src/Admin/SettingsPages/Membership/CustomersPage/SettingsPage.php:104
3066
- #: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:340
3067
- msgid "You do not have permission to perform this action."
3068
  msgstr ""
3069
 
3070
- #: src/Admin/SettingsPages/Membership/CustomersPage/SettingsPage.php:104
3071
- #: src/Admin/SettingsPages/Membership/CustomersPage/SettingsPage.php:117
3072
- #: src/Admin/SettingsPages/Membership/CustomersPage/SettingsPage.php:127
3073
- #: src/Admin/SettingsPages/Membership/CustomersPage/SettingsPage.php:147
3074
- #: src/Admin/SettingsPages/Membership/CustomersPage/SettingsPage.php:156
3075
- #: src/Admin/SettingsPages/Membership/CustomersPage/SettingsPage.php:163
3076
- #: src/Admin/SettingsPages/Membership/CustomersPage/SettingsPage.php:171
3077
- #: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:340
3078
- #: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:364
3079
- #: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:386
3080
- #: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:414
3081
- #: src/Membership/DigitalProducts/DownloadHandler.php:53
3082
- #: src/Membership/DigitalProducts/DownloadHandler.php:325
3083
- #: src/Membership/DigitalProducts/DownloadService.php:84
3084
- msgid "Error"
3085
  msgstr ""
3086
 
3087
- #: src/Admin/SettingsPages/Membership/CustomersPage/SettingsPage.php:117
3088
- msgid "Please enter a valid customer email."
 
 
 
3089
  msgstr ""
3090
 
3091
- #: src/Admin/SettingsPages/Membership/CustomersPage/SettingsPage.php:127
3092
- msgid "A user account already exists with the login %s."
 
3093
  msgstr ""
3094
 
3095
- #: src/Admin/SettingsPages/Membership/CustomersPage/SettingsPage.php:147
3096
- msgid "Error creating customer account."
 
 
 
3097
  msgstr ""
3098
 
3099
- #: src/Admin/SettingsPages/Membership/CustomersPage/SettingsPage.php:156
3100
- msgid "Unable to locate existing account with the email %s."
 
3101
  msgstr ""
3102
 
3103
- #: src/Admin/SettingsPages/Membership/CustomersPage/SettingsPage.php:163
3104
- msgid "A customer with the ID %d already exists with this account."
 
 
 
3105
  msgstr ""
3106
 
3107
- #: src/Admin/SettingsPages/Membership/CustomersPage/SettingsPage.php:171
3108
- msgid "Error creating customer record."
 
3109
  msgstr ""
3110
 
3111
- #: src/Admin/SettingsPages/Membership/CustomersPage/SettingsPage.php:218
3112
- msgid "Add New Customer"
 
 
 
3113
  msgstr ""
3114
 
3115
- #: src/Admin/SettingsPages/Membership/CustomersPage/SettingsPage.php:222
3116
- msgid "Customer Details"
 
3117
  msgstr ""
3118
 
3119
- #: src/Admin/SettingsPages/Membership/CustomersPage/SettingsPage.php:288
3120
- msgid "User Account"
 
 
 
3121
  msgstr ""
3122
 
3123
- #: src/Admin/SettingsPages/Membership/CustomersPage/SettingsPage.php:293
3124
- msgid "Search User"
 
 
 
3125
  msgstr ""
3126
 
3127
- #: src/Admin/SettingsPages/Membership/CustomersPage/SettingsPage.php:338
3128
- msgid "New Account"
 
3129
  msgstr ""
3130
 
3131
- #: src/Admin/SettingsPages/Membership/CustomersPage/SettingsPage.php:343
3132
- msgid "Existing Account"
 
3133
  msgstr ""
3134
 
3135
- #: src/Admin/SettingsPages/Membership/CustomersPage/SettingsPage.php:355
3136
- msgid "Show password"
 
3137
  msgstr ""
3138
 
3139
- #: src/Admin/SettingsPages/Membership/CustomersPage/SettingsPage.php:360
3140
- msgid "Hide password"
 
3141
  msgstr ""
3142
 
3143
- #: src/Admin/SettingsPages/Membership/CustomersPage/SettingsPage.php:362
3144
- #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:104
3145
- msgid "Hide"
 
3146
  msgstr ""
3147
 
3148
- #: src/Admin/SettingsPages/Membership/DashboardPage/Orders.php:64
3149
- msgid "New"
 
3150
  msgstr ""
3151
 
3152
- #: src/Admin/SettingsPages/Membership/DashboardPage/Orders.php:70
3153
- #: src/Membership/Models/Order/OrderType.php:16
3154
- msgid "Renewal"
 
 
3155
  msgstr ""
3156
 
3157
- #: src/Admin/SettingsPages/Membership/DashboardPage/PaymentMethods.php:106
3158
- #: src/Admin/SettingsPages/Membership/DashboardPage/TopPlans.php:106
3159
- msgid "Sales"
3160
  msgstr ""
3161
 
3162
- #: src/Admin/SettingsPages/Membership/DashboardPage/PaymentMethods.php:115
3163
- #: src/Admin/SettingsPages/Membership/DashboardPage/TopPlans.php:115
3164
- msgid "Earnings"
 
 
3165
  msgstr ""
3166
 
3167
- #: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:30
3168
- #: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:39
3169
- #: src/ShortcodeParser/MyAccount/MyAccountTag.php:54
3170
- msgid "Dashboard"
3171
  msgstr ""
3172
 
3173
- #: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:50
3174
- msgid "Reports"
 
3175
  msgstr ""
3176
 
3177
- #: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:51
3178
- #: src/Admin/SettingsPages/Membership/DownloadLogsPage/SettingsPage.php:32
3179
- msgid "Download Logs"
 
 
 
3180
  msgstr ""
3181
 
3182
- #: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:253
3183
- msgid "Today"
 
3184
  msgstr ""
3185
 
3186
- #: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:254
3187
- msgid "Yesterday"
 
3188
  msgstr ""
3189
 
3190
- #: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:255
3191
- msgid "This Week"
 
 
 
3192
  msgstr ""
3193
 
3194
- #: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:256
3195
- msgid "Last Week"
 
3196
  msgstr ""
3197
 
3198
- #: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:257
3199
- msgid "Last 30 Days"
 
 
 
3200
  msgstr ""
3201
 
3202
- #: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:258
3203
- msgid "This Month"
 
3204
  msgstr ""
3205
 
3206
- #: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:259
3207
- msgid "Last Month"
 
 
 
3208
  msgstr ""
3209
 
3210
- #: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:260
3211
- msgid "This Quarter"
 
3212
  msgstr ""
3213
 
3214
- #: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:261
3215
- msgid "Last Quarter"
 
 
 
3216
  msgstr ""
3217
 
3218
- #: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:262
3219
- msgid "This Year"
 
3220
  msgstr ""
3221
 
3222
- #: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:263
3223
- msgid "Last Year"
 
3224
  msgstr ""
3225
 
3226
- #: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:289
3227
- msgid "All Plans"
 
3228
  msgstr ""
3229
 
3230
- #: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:346
3231
- msgid "Total Customers"
 
3232
  msgstr ""
3233
 
3234
- #: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:353
3235
- msgid "Active Customers"
 
3236
  msgstr ""
3237
 
3238
- #: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:367
3239
- msgid "Lifetime Revenue"
 
3240
  msgstr ""
3241
 
3242
- #: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:392
3243
- msgid "Revenue"
 
 
 
3244
  msgstr ""
3245
 
3246
- #: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:399
3247
- #: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:69
3248
- #: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:437
3249
- #: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:458
3250
- #: src/ShortcodeParser/MyAccount/MyAccountTag.php:67
3251
- #: src/ShortcodeParser/MyAccount/orders.tmpl.php:36
3252
- msgid "Orders"
3253
  msgstr ""
3254
 
3255
- #: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:407
3256
- #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:30
3257
- #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:47
3258
- msgid "Taxes"
3259
  msgstr ""
3260
 
3261
- #: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:415
3262
- msgid "Refunds"
 
3263
  msgstr ""
3264
 
3265
- #: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:422
3266
- msgid "Top Plans"
 
3267
  msgstr ""
3268
 
3269
- #: src/Admin/SettingsPages/Membership/DashboardPage/SettingsPage.php:429
3270
- #: src/Admin/SettingsPages/Membership/PaymentMethods.php:30
3271
- #: src/Admin/SettingsPages/Membership/PaymentMethods.php:60
3272
- msgid "Payment Methods"
3273
  msgstr ""
3274
 
3275
- #: src/Admin/SettingsPages/Membership/DownloadLogsPage/SettingsPage.php:48
3276
- msgid "Download Log"
 
3277
  msgstr ""
3278
 
3279
- #: src/Admin/SettingsPages/Membership/DownloadLogsPage/WPListTable.php:24
3280
- msgid "No download log found."
 
 
 
 
3281
  msgstr ""
3282
 
3283
- #: src/Admin/SettingsPages/Membership/DownloadLogsPage/WPListTable.php:31
3284
- #: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:508
3285
- msgid "Membership Plan"
 
 
3286
  msgstr ""
3287
 
3288
- #: src/Admin/SettingsPages/Membership/DownloadLogsPage/WPListTable.php:32
3289
- #: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:519
3290
- msgid "Customer"
3291
  msgstr ""
3292
 
3293
- #: src/Admin/SettingsPages/Membership/DownloadLogsPage/WPListTable.php:33
3294
- #: src/Admin/SettingsPages/Membership/views/subscriptions/sub-payments-metabox.php:16
3295
- msgid "Order Number"
3296
  msgstr ""
3297
 
3298
- #: src/Admin/SettingsPages/Membership/DownloadLogsPage/WPListTable.php:34
3299
- msgid "File"
 
3300
  msgstr ""
3301
 
3302
- #: src/Admin/SettingsPages/Membership/DownloadLogsPage/WPListTable.php:35
3303
- #: src/Admin/SettingsPages/Membership/views/orders/eu-vat-sidebar.php:57
3304
- msgid "IP Address"
3305
  msgstr ""
3306
 
3307
- #: src/Admin/SettingsPages/Membership/FileDownloads.php:19
3308
- msgid "File Downloads &lsaquo; Payments"
 
3309
  msgstr ""
3310
 
3311
- #: src/Admin/SettingsPages/Membership/FileDownloads.php:26
3312
- #: src/Admin/SettingsPages/Membership/FileDownloads.php:35
3313
- msgid "File Downloads"
3314
  msgstr ""
3315
 
3316
- #: src/Admin/SettingsPages/Membership/FileDownloads.php:42
3317
- msgid "Download Method"
 
3318
  msgstr ""
3319
 
3320
- #: src/Admin/SettingsPages/Membership/FileDownloads.php:45
3321
- msgid "Force Downloads"
 
 
3322
  msgstr ""
3323
 
3324
- #: src/Admin/SettingsPages/Membership/FileDownloads.php:46
3325
- msgid "X-Accel-Redirect/X-Sendfile"
 
3326
  msgstr ""
3327
 
3328
- #: src/Admin/SettingsPages/Membership/FileDownloads.php:47
3329
- msgid "Redirect (Insecure)"
 
 
3330
  msgstr ""
3331
 
3332
- #: src/Admin/SettingsPages/Membership/FileDownloads.php:50
3333
- msgid ""
3334
- "Select the file download method. If you are using X-Accel-Redirect/X-"
3335
- "Sendfile download method (recommended, especially for delivery large files), "
3336
- "make sure that you have applied settings as described in <a "
3337
- "href='%s'>Downloadable Product Handling</a> guide."
3338
  msgstr ""
3339
 
3340
- #: src/Admin/SettingsPages/Membership/FileDownloads.php:55
3341
- #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:119
3342
- msgid "Download Limit"
 
3343
  msgstr ""
3344
 
3345
- #: src/Admin/SettingsPages/Membership/FileDownloads.php:56
3346
- msgid ""
3347
- "The maximum number of times files can be downloaded (Leaving blank or using "
3348
- "a value of 0 is unlimited). Can be overwritten for each membership plan."
3349
  msgstr ""
3350
 
3351
- #: src/Admin/SettingsPages/Membership/FileDownloads.php:61
3352
- #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:129
3353
- msgid "Download Expiry"
3354
  msgstr ""
3355
 
3356
- #: src/Admin/SettingsPages/Membership/FileDownloads.php:62
3357
- msgid ""
3358
- "How long in days should download links be valid for? Default is 1 day from "
3359
- "the time they are generated. Can be overwritten for each membership plan."
3360
  msgstr ""
3361
 
3362
- #: src/Admin/SettingsPages/Membership/FileDownloads.php:67
3363
- msgid "Access restriction"
 
3364
  msgstr ""
3365
 
3366
- #: src/Admin/SettingsPages/Membership/FileDownloads.php:68
3367
- msgid "Downloads require login"
 
3368
  msgstr ""
3369
 
3370
- #: src/Admin/SettingsPages/Membership/FileDownloads.php:69
3371
- msgid "Enable to require users to be logged in to download files."
 
3372
  msgstr ""
3373
 
3374
- #: src/Admin/SettingsPages/Membership/FileDownloads.php:73
3375
- msgid "Filename"
 
 
 
3376
  msgstr ""
3377
 
3378
- #: src/Admin/SettingsPages/Membership/FileDownloads.php:74
3379
- msgid "Append a unique string to filename for security"
 
3380
  msgstr ""
3381
 
3382
- #: src/Admin/SettingsPages/Membership/FileDownloads.php:76
3383
- msgid ""
3384
- "Not required if your download directory is protected. <a href='%s'>See this "
3385
- "guide</a> for more details. Files already uploaded will not be affected."
3386
  msgstr ""
3387
 
3388
- #: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:46
3389
- msgid "No orders found."
 
3390
  msgstr ""
3391
 
3392
- #: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:54
3393
- #: src/Admin/SettingsPages/Membership/SubscriptionsPage/SubscriptionWPListTable.php:51
3394
- #: src/Admin/SettingsPages/Membership/views/customers/subcriptions-metabox.php:19
3395
- #: src/Admin/SettingsPages/Membership/views/orders/add-edit-order.php:138
3396
- #: src/ContentProtection/NavMenuProtection.php:90
3397
- #: src/ShortcodeParser/MyAccount/downloads.tmpl.php:43
3398
- #: src/ShortcodeParser/MyAccount/view-subscription.tmpl.php:63
3399
- msgid "Plan"
3400
  msgstr ""
3401
 
3402
- #: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:55
3403
- #: src/Admin/SettingsPages/Membership/views/subscriptions/sub-payments-metabox.php:19
3404
- #: src/ShortcodeParser/MyAccount/view-order.tmpl.php:138
3405
- #: src/ShortcodeParser/MyAccount/view-subscription.tmpl.php:117
3406
- #: src/templates/checkout/form-checkout-sidebar.php:107
3407
- msgid "Total"
3408
  msgstr ""
3409
 
3410
- #: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:57
3411
- #: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:536
3412
- #: src/ShortcodeParser/MyAccount/view-order.tmpl.php:77
3413
- msgid "Payment Method"
3414
  msgstr ""
3415
 
3416
- #: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:109
3417
- msgid "View Customer"
 
 
 
3418
  msgstr ""
3419
 
3420
- #: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:117
3421
- #: src/Admin/SettingsPages/Membership/SubscriptionsPage/SubscriptionWPListTable.php:119
3422
- msgid "#%1$s - %2$s"
 
 
3423
  msgstr ""
3424
 
3425
- #: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:119
3426
- #: src/Admin/SettingsPages/Membership/SubscriptionsPage/SubscriptionWPListTable.php:121
3427
- msgid "#%1$s - No Customer Assigned"
 
 
3428
  msgstr ""
3429
 
3430
- #: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:260
3431
- msgid "Resend Order Receipt"
 
 
 
3432
  msgstr ""
3433
 
3434
- #: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:338
3435
- msgid "All Modes"
 
 
 
3436
  msgstr ""
3437
 
3438
- #: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:359
3439
- msgid "All Payment Methods"
 
3440
  msgstr ""
3441
 
3442
- #: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:370
3443
- #: src/Admin/SettingsPages/Membership/SubscriptionsPage/SubscriptionWPListTable.php:323
3444
- msgid "All Customers"
 
 
3445
  msgstr ""
3446
 
3447
- #: src/Admin/SettingsPages/Membership/OrdersPage/OrderWPListTable.php:391
3448
- msgid "Search Orders"
 
3449
  msgstr ""
3450
 
3451
- #: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:363
3452
- msgid "Customer already has an active subscription for %s."
 
3453
  msgstr ""
3454
 
3455
- #: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:385
3456
- msgid "Unable to add new order. Please try again"
 
3457
  msgstr ""
3458
 
3459
- #: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:413
3460
- msgid "Unable to add new subscription. Please try again"
 
3461
  msgstr ""
3462
 
3463
- #: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:440
3464
- #: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:581
3465
- msgid "Add New Order"
3466
  msgstr ""
3467
 
3468
- #: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:444
3469
- msgid "Edit Order"
 
 
 
3470
  msgstr ""
3471
 
3472
- #: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:525
3473
- msgid "Amount"
 
3474
  msgstr ""
3475
 
3476
- #: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:528
3477
- msgid ""
3478
- "Enter the total order amount, or leave blank to use the price of the "
3479
- "selected plan."
3480
  msgstr ""
3481
 
3482
- #: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:531
3483
- #: src/ShortcodeParser/MyAccount/orders.tmpl.php:56
3484
- #: src/ShortcodeParser/MyAccount/view-order.tmpl.php:65
3485
- msgid "Order Status"
3486
  msgstr ""
3487
 
3488
- #: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:547
3489
- msgid "Transaction ID"
 
3490
  msgstr ""
3491
 
3492
- #: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:549
3493
- msgid "Enter the transaction ID, if any."
 
 
 
 
 
 
 
 
 
3494
  msgstr ""
3495
 
3496
- #: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:555
3497
- msgid "Enter the purchase date, or leave blank for today's date."
 
3498
  msgstr ""
3499
 
3500
- #: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:558
3501
- msgid "Send Receipt"
 
3502
  msgstr ""
3503
 
3504
- #: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:559
3505
- msgid "Check to send the order receipt to the customer."
 
3506
  msgstr ""
3507
 
3508
- #: src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php:586
3509
- msgid "Back to Orders"
 
3510
  msgstr ""
3511
 
3512
- #: src/Admin/SettingsPages/Membership/PaymentMethods.php:21
3513
- msgid "Payment Methods &lsaquo; Payments"
 
3514
  msgstr ""
3515
 
3516
- #: src/Admin/SettingsPages/Membership/PaymentMethods.php:47
3517
- msgid "&mdash; No gateway &mdash;"
 
3518
  msgstr ""
3519
 
3520
- #: src/Admin/SettingsPages/Membership/PaymentMethods.php:95
3521
- #: src/Classes/Miscellaneous.php:105
3522
- msgid "Test Mode"
3523
  msgstr ""
3524
 
3525
- #: src/Admin/SettingsPages/Membership/PaymentMethods.php:96
3526
- msgid ""
3527
- "When test mode is enabled, no live transactions are processed. Use test mode "
3528
- "in conjunction with the sandbox/test account for the payment method to test."
3529
  msgstr ""
3530
 
3531
- #: src/Admin/SettingsPages/Membership/PaymentMethods.php:101
3532
- msgid ""
3533
- "Switching test/live modes would require payment methods reconnection or "
3534
- "setup."
3535
  msgstr ""
3536
 
3537
- #: src/Admin/SettingsPages/Membership/PaymentMethods.php:105
3538
- msgid "Default Payment Method"
 
3539
  msgstr ""
3540
 
3541
- #: src/Admin/SettingsPages/Membership/PaymentMethods.php:106
3542
- msgid ""
3543
- "Select payment method to automatically load on the checkout page. If empty, "
3544
- "the first active method is selected instead."
3545
  msgstr ""
3546
 
3547
- #: src/Admin/SettingsPages/Membership/PaymentMethods.php:114
3548
- msgid ""
3549
- "Installed payment methods are listed below. Drag and drop to control their "
3550
- "display order on the frontend."
3551
  msgstr ""
3552
 
3553
- #: src/Admin/SettingsPages/Membership/PaymentSettings.php:23
3554
- msgid "Payments"
 
3555
  msgstr ""
3556
 
3557
- #: src/Admin/SettingsPages/Membership/PaymentSettings.php:37
3558
- msgid "Payment Settings"
 
 
 
3559
  msgstr ""
3560
 
3561
- #: src/Admin/SettingsPages/Membership/PaymentSettings.php:47
3562
- msgid "Currency Settings"
 
3563
  msgstr ""
3564
 
3565
- #: src/Admin/SettingsPages/Membership/PaymentSettings.php:49
3566
- msgid "Currency"
 
 
 
3567
  msgstr ""
3568
 
3569
- #: src/Admin/SettingsPages/Membership/PaymentSettings.php:50
3570
- msgid ""
3571
- "Choose your currency. Note that some payment gateways have currency "
3572
- "restrictions."
3573
  msgstr ""
3574
 
3575
- #: src/Admin/SettingsPages/Membership/PaymentSettings.php:55
3576
- msgid "Currency Position"
 
3577
  msgstr ""
3578
 
3579
- #: src/Admin/SettingsPages/Membership/PaymentSettings.php:56
3580
- msgid "The position of the currency symbol."
 
3581
  msgstr ""
3582
 
3583
- #: src/Admin/SettingsPages/Membership/PaymentSettings.php:66
3584
- msgid "Decimal Separator"
 
3585
  msgstr ""
3586
 
3587
- #: src/Admin/SettingsPages/Membership/PaymentSettings.php:74
3588
- msgid "Thousand Separator"
 
 
 
3589
  msgstr ""
3590
 
3591
- #: src/Admin/SettingsPages/Membership/PaymentSettings.php:77
3592
- msgid "Comma (10,000)"
 
3593
  msgstr ""
3594
 
3595
- #: src/Admin/SettingsPages/Membership/PaymentSettings.php:78
3596
- msgid "Period (10.000)"
 
3597
  msgstr ""
3598
 
3599
- #: src/Admin/SettingsPages/Membership/PaymentSettings.php:79
3600
- msgid "Space (10 000)"
 
3601
  msgstr ""
3602
 
3603
- #: src/Admin/SettingsPages/Membership/PaymentSettings.php:80
3604
- msgid "None"
 
3605
  msgstr ""
3606
 
3607
- #: src/Admin/SettingsPages/Membership/PaymentSettings.php:84
3608
- msgid "Number of Decimals"
 
 
 
3609
  msgstr ""
3610
 
3611
- #: src/Admin/SettingsPages/Membership/PaymentSettings.php:100
3612
- msgid "Checkout Settings"
 
 
 
3613
  msgstr ""
3614
 
3615
- #: src/Admin/SettingsPages/Membership/PaymentSettings.php:102
3616
- msgid "One Time Trials"
 
 
 
3617
  msgstr ""
3618
 
3619
- #: src/Admin/SettingsPages/Membership/PaymentSettings.php:103
 
3620
  msgid ""
3621
- "Check this if you will like customers to be prevented from using the free "
3622
- "trial of a plan multiple times."
3623
  msgstr ""
3624
 
3625
- #: src/Admin/SettingsPages/Membership/PaymentSettings.php:107
3626
- msgid "Terms & Conditions Label"
 
3627
  msgstr ""
3628
 
3629
- #: src/Admin/SettingsPages/Membership/PaymentSettings.php:109
3630
- msgid ""
3631
- "Label for the \"Agree to Terms\" checkbox where \"[terms]\" is a link to the "
3632
- "%sterms and condition page%s"
3633
  msgstr ""
3634
 
3635
- #: src/Admin/SettingsPages/Membership/PaymentSettings.php:119
3636
- msgid "Checkout reCAPTCHA"
 
3637
  msgstr ""
3638
 
3639
- #: src/Admin/SettingsPages/Membership/PaymentSettings.php:120
3640
- msgid ""
3641
- "Enable to display reCAPTCHA on the checkout page to prevent spam and abuse."
3642
  msgstr ""
3643
 
3644
- #: src/Admin/SettingsPages/Membership/PaymentSettings.php:127
3645
- msgid "Checkout Social Login"
 
3646
  msgstr ""
3647
 
3648
- #: src/Admin/SettingsPages/Membership/PaymentSettings.php:128
3649
- msgid "Select the social login buttons to display on the checkout page."
 
3650
  msgstr ""
3651
 
3652
- #: src/Admin/SettingsPages/Membership/PlanIntegrationsMetabox.php:62
3653
- msgid "File name"
 
3654
  msgstr ""
3655
 
3656
- #: src/Admin/SettingsPages/Membership/PlanIntegrationsMetabox.php:68
3657
- msgid "Choose file"
 
3658
  msgstr ""
3659
 
3660
- #: src/Admin/SettingsPages/Membership/PlanIntegrationsMetabox.php:68
3661
- msgid "Insert file URL"
 
3662
  msgstr ""
3663
 
3664
- #: src/Admin/SettingsPages/Membership/PlanIntegrationsMetabox.php:85
3665
- msgid "File URL"
 
3666
  msgstr ""
3667
 
3668
- #: src/Admin/SettingsPages/Membership/PlanIntegrationsMetabox.php:102
3669
- msgid "Add File"
 
3670
  msgstr ""
3671
 
3672
- #: src/Admin/SettingsPages/Membership/PlansPage/PlanWPListTable.php:22
3673
- msgid "No membership plan found."
 
3674
  msgstr ""
3675
 
3676
- #: src/Admin/SettingsPages/Membership/PlansPage/PlanWPListTable.php:29
3677
- #: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:94
3678
- #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:38
3679
- msgid "Plan Name"
3680
  msgstr ""
3681
 
3682
- #: src/Admin/SettingsPages/Membership/PlansPage/PlanWPListTable.php:30
3683
- msgid "Billing Details"
 
3684
  msgstr ""
3685
 
3686
- #: src/Admin/SettingsPages/Membership/PlansPage/PlanWPListTable.php:31
3687
- msgid "Checkout URL"
 
3688
  msgstr ""
3689
 
3690
- #: src/Admin/SettingsPages/Membership/PlansPage/PlanWPListTable.php:64
3691
- msgid "ID: %d"
 
3692
  msgstr ""
3693
 
3694
- #: src/Admin/SettingsPages/Membership/PlansPage/PlanWPListTable.php:102
3695
- msgid "Checkout page not found"
 
3696
  msgstr ""
3697
 
3698
- #: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:47
3699
- #: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:190
3700
- #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:66
3701
- msgid "Membership Plans"
3702
  msgstr ""
3703
 
3704
- #: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:60
3705
- #: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:72
3706
- msgid "Plans"
3707
  msgstr ""
3708
 
3709
- #: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:75
3710
- msgid "Add Plan"
 
3711
  msgstr ""
3712
 
3713
- #: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:79
3714
- msgid "Edit Plan"
 
3715
  msgstr ""
3716
 
3717
- #: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:95
3718
- #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:62
3719
- #: src/Admin/SettingsPages/Membership/views/orders/order-item-metabox.php:26
3720
- msgid "Price"
3721
  msgstr ""
3722
 
3723
- #: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:96
3724
- #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:71
3725
- msgid "Billing Frequency"
3726
  msgstr ""
3727
 
3728
- #: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:97
3729
- #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:77
3730
- msgid "Subscription Length"
3731
  msgstr ""
3732
 
3733
- #: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:235
3734
- msgid "Add New Plan"
 
 
3735
  msgstr ""
3736
 
3737
- #: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:264
3738
- #: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:278
3739
- msgid "month"
3740
  msgstr ""
3741
 
3742
- #: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:265
3743
- #: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:279
3744
- msgid "week"
 
3745
  msgstr ""
3746
 
3747
- #: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:266
3748
- #: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:280
3749
- msgid "day"
 
 
3750
  msgstr ""
3751
 
3752
- #: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:267
3753
- #: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:281
3754
- msgid "quarter"
3755
  msgstr ""
3756
 
3757
- #: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:268
3758
- #: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:282
3759
- msgid "every 6 months"
3760
  msgstr ""
3761
 
3762
- #: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:269
3763
- #: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:283
3764
- msgid "year"
3765
  msgstr ""
3766
 
3767
- #: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:270
3768
- #: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:284
3769
- msgid "one-time"
3770
  msgstr ""
3771
 
3772
- #: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:300
3773
- msgid "months"
3774
- msgstr ""
3775
-
3776
- #: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:301
3777
- msgid "for"
3778
- msgstr ""
3779
-
3780
- #: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:302
3781
- msgid " and a %s signup fee"
3782
- msgstr ""
3783
-
3784
- #: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:303
3785
- msgid "Renews indefinitely"
3786
- msgstr ""
3787
-
3788
- #: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:304
3789
- msgid "Never expires"
3790
- msgstr ""
3791
-
3792
- #: src/Admin/SettingsPages/Membership/PlansPage/SettingsPage.php:305
3793
- msgid "Includes a %s free trial"
3794
- msgstr ""
3795
-
3796
- #: src/Admin/SettingsPages/Membership/SettingsFieldsParser.php:52
3797
- msgid "Discount Type"
3798
- msgstr ""
3799
-
3800
- #: src/Admin/SettingsPages/Membership/SubscriptionsPage/SettingsPage.php:43
3801
- #: src/Admin/SettingsPages/Membership/SubscriptionsPage/SettingsPage.php:130
3802
- #: src/Admin/SettingsPages/Membership/SubscriptionsPage/SettingsPage.php:147
3803
- #: src/Admin/SettingsPages/Membership/views/orders/add-edit-order.php:65
3804
- #: src/ShortcodeParser/MyAccount/MyAccountTag.php:59
3805
- #: src/ShortcodeParser/MyAccount/subscriptions.tmpl.php:36
3806
- msgid "Subscriptions"
3807
- msgstr ""
3808
-
3809
- #: src/Admin/SettingsPages/Membership/SubscriptionsPage/SettingsPage.php:133
3810
- msgid "Edit Subscription"
3811
- msgstr ""
3812
-
3813
- #: src/Admin/SettingsPages/Membership/SubscriptionsPage/SettingsPage.php:191
3814
- msgid ""
3815
- "%1$sNote%2$s - Be careful modifying details here. For example, changing the "
3816
- "gateway subscription ID can result in renewals not being processed. While "
3817
- "changing the expiration date will not affect when renewal payments are "
3818
- "processed because your payment processor determines when."
3819
- msgstr ""
3820
-
3821
- #: src/Admin/SettingsPages/Membership/SubscriptionsPage/SettingsPage.php:212
3822
- msgid "Back to Subscriptions"
3823
- msgstr ""
3824
-
3825
- #: src/Admin/SettingsPages/Membership/SubscriptionsPage/SubscriptionWPListTable.php:43
3826
- msgid "No subscriptions found."
3827
- msgstr ""
3828
-
3829
- #: src/Admin/SettingsPages/Membership/SubscriptionsPage/SubscriptionWPListTable.php:53
3830
- msgid "Initial Order"
3831
- msgstr ""
3832
-
3833
- #: src/Admin/SettingsPages/Membership/SubscriptionsPage/SubscriptionWPListTable.php:54
3834
- #: src/Admin/SettingsPages/Membership/views/customers/subcriptions-metabox.php:21
3835
- #: src/ShortcodeParser/MyAccount/subscriptions.tmpl.php:63
3836
- #: src/ShortcodeParser/MyAccount/view-order.tmpl.php:166
3837
- #: src/ShortcodeParser/MyAccount/view-subscription.tmpl.php:79
3838
- msgid "Renewal Date"
3839
- msgstr ""
3840
-
3841
- #: src/Admin/SettingsPages/Membership/SubscriptionsPage/SubscriptionWPListTable.php:58
3842
- #: src/ShortcodeParser/MyAccount/view-subscription.tmpl.php:79
3843
- msgid "Expiration Date"
3844
- msgstr ""
3845
-
3846
- #: src/Admin/SettingsPages/Membership/SubscriptionsPage/SubscriptionWPListTable.php:344
3847
- msgid "Search Subscriptions"
3848
- msgstr ""
3849
-
3850
- #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:19
3851
- msgid "Taxes &lsaquo; Payments"
3852
- msgstr ""
3853
-
3854
- #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:54
3855
- msgid ""
3856
- "%1$sDisclaimer %2$s- By using this feature, you've agreed that the use of "
3857
- "this feature cannot be considered as tax advice. We recommend consulting a "
3858
- "local tax professional for tax compliance or if you have any tax specific "
3859
- "questions."
3860
- msgstr ""
3861
-
3862
- #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:62
3863
- msgid "Set up Taxes"
3864
- msgstr ""
3865
-
3866
- #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:63
3867
- msgid "Enable Taxes"
3868
- msgstr ""
3869
-
3870
- #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:64
3871
- msgid ""
3872
- "With taxes enabled, customers will be taxed based on the rates you define, "
3873
- "and are required to input their address on checkout so rates can be "
3874
- "calculated accordingly."
3875
- msgstr ""
3876
-
3877
- #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:68
3878
- msgid "Prices Include Tax"
3879
- msgstr ""
3880
-
3881
- #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:71
3882
- msgid "No, I will enter prices exclusive of tax"
3883
  msgstr ""
3884
 
3885
- #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:72
3886
- msgid "Yes, I will enter prices inclusive of tax"
 
3887
  msgstr ""
3888
 
3889
- #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:76
3890
- msgid "Calculate Tax Based On"
 
3891
  msgstr ""
3892
 
3893
- #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:79
3894
- msgid "Customer Billing Address"
 
3895
  msgstr ""
3896
 
3897
- #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:80
3898
- msgid "Shop Base Address"
 
 
 
3899
  msgstr ""
3900
 
3901
- #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:83
 
3902
  msgid ""
3903
- "If \"Shop Base Address\" is selected, Tax will be calculated based on the "
3904
- "location of your %sbusiness in Settings%s."
3905
- msgstr ""
3906
-
3907
- #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:89
3908
- msgid "EU VAT Settings"
3909
  msgstr ""
3910
 
3911
- #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:92
3912
- msgid "Enable EU VAT"
 
3913
  msgstr ""
3914
 
3915
- #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:93
3916
- msgid ""
3917
- "When this is checked, VAT taxes will be calculated for any customers who are "
3918
- "located in the European Union. The plugin comes with the current standard "
3919
- "VAT rate for each EU country. You can change these as required in the Tax "
3920
- "Rates section below."
3921
  msgstr ""
3922
 
3923
- #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:97
3924
- msgid "Disable Validation"
 
3925
  msgstr ""
3926
 
3927
- #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:98
3928
- msgid "Disable VAT Number Validation"
 
3929
  msgstr ""
3930
 
3931
- #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:99
3932
- msgid ""
3933
- "When this option is checked, the VAT number will not be validated by VIES "
3934
- "online service."
3935
  msgstr ""
3936
 
3937
- #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:103
3938
- msgid "Same Country Rule"
 
3939
  msgstr ""
3940
 
3941
- #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:104
3942
- msgid ""
3943
- "What should happen if a customer is from the same EU country as your "
3944
- "business?."
3945
  msgstr ""
3946
 
3947
- #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:106
3948
- msgid "Do not charge tax"
 
3949
  msgstr ""
3950
 
3951
- #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:107
3952
- msgid "Charge tax unless VAT number is validated"
 
3953
  msgstr ""
3954
 
3955
- #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:108
3956
- msgid "Charge tax even if VAT number is validated"
 
3957
  msgstr ""
3958
 
3959
- #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:113
3960
- #: src/Admin/SettingsPages/Membership/views/orders/eu-vat-sidebar.php:46
3961
- #: src/ShortcodeParser/MyAccount/view-order.tmpl.php:143
3962
- #: src/templates/checkout/form-billing-fields.php:47
3963
- msgid "VAT Number"
3964
  msgstr ""
3965
 
3966
- #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:114
3967
- msgid "VAT Number Field Label"
 
3968
  msgstr ""
3969
 
3970
- #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:115
3971
- msgid "The label that appears at checkout for the VAT number field."
 
3972
  msgstr ""
3973
 
3974
- #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:119
3975
- msgid "Tax Rates"
 
3976
  msgstr ""
3977
 
3978
- #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:121
3979
- msgid "Set up Tax Rates"
 
3980
  msgstr ""
3981
 
3982
- #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:122
3983
- msgid ""
3984
- "Add rates for each region you wish to collect tax in. Enter a percentage, "
3985
- "such as 6.5 for 6.5%."
3986
  msgstr ""
3987
 
3988
- #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:127
3989
- msgid "Fallback Tax Rate"
 
3990
  msgstr ""
3991
 
3992
- #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:128
3993
- msgid ""
3994
- "Customers not in a specific rate will be charged this tax rate. Enter a "
3995
- "percentage, such as 6.5 for 6.5%. "
3996
  msgstr ""
3997
 
3998
- #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:147
3999
- msgid "Choose a Country"
 
4000
  msgstr ""
4001
 
4002
- #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:171
4003
- msgid "Apply to whole country"
 
4004
  msgstr ""
4005
 
4006
- #: src/Admin/SettingsPages/Membership/TaxSettings/SettingsPage.php:202
4007
- #: src/Admin/SettingsPages/Membership/views/tax-rates-setup.php:24
4008
- msgid "No rates found."
4009
  msgstr ""
4010
 
4011
- #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:23
4012
- msgid "Coupon Code"
 
4013
  msgstr ""
4014
 
4015
- #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:24
4016
- msgid ""
4017
- "Enter a unique coupon code. Leave empty to generate a code for you on form "
4018
- "submission."
4019
  msgstr ""
4020
 
4021
- #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:29
4022
- #: src/Admin/SettingsPages/Membership/views/payment-method-list.php:12
4023
- #: src/Membership/PaymentMethods/AbstractPaymentMethod.php:221
4024
- #: src/Themes/DragDrop/AbstractBuildScratch.php:69
4025
- #: src/Themes/DragDrop/AbstractBuildScratch.php:402
4026
- msgid "Description"
4027
  msgstr ""
4028
 
4029
- #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:30
4030
- msgid "A description of this coupon."
 
4031
  msgstr ""
4032
 
4033
- #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:45
4034
- msgid ""
4035
- "Selecting \"One-time\" applies the coupon discount only to the first payment "
4036
- "while \"Recurring\" applies the discount to all payments."
4037
  msgstr ""
4038
 
4039
- #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:52
4040
- msgid "To new purchases only"
 
4041
  msgstr ""
4042
 
4043
- #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:53
4044
- msgid "To existing purchase (upgrades)"
 
4045
  msgstr ""
4046
 
4047
- #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:54
4048
- msgid "To both new and existing purchases"
 
4049
  msgstr ""
4050
 
4051
- #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:57
4052
- msgid "Select where members can apply this coupon."
 
4053
  msgstr ""
4054
 
4055
- #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:72
4056
- msgid ""
4057
- "Select membership plans this coupon can only be applied to. Leave blank for "
4058
- "all plans."
4059
  msgstr ""
4060
 
4061
- #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:80
4062
- msgid ""
4063
- "Enter the date that this coupon will be valid from. Leave blank for no start "
4064
- "date. (UTC %s)"
4065
  msgstr ""
4066
 
4067
- #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:90
4068
- msgid ""
4069
- "Enter the date that this coupon will expire on. Leave blank for no end date. "
4070
- "(UTC %s)"
4071
  msgstr ""
4072
 
4073
- #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:98
4074
- msgid "Maximum Redemptions "
 
4075
  msgstr ""
4076
 
4077
- #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:99
4078
- msgid ""
4079
- "Limit the total amount of redemptions for this coupon. Leave blank for "
4080
- "unlimited."
4081
  msgstr ""
4082
 
4083
- #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:115
4084
- msgid "Coupon Details"
 
4085
  msgstr ""
4086
 
4087
- #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:126
4088
- msgid "Redemption Settings"
 
4089
  msgstr ""
4090
 
4091
- #: src/Admin/SettingsPages/Membership/views/add-edit-coupon.php:137
4092
- #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:175
4093
- #: src/Admin/SettingsPages/Membership/views/customers/view-customer.php:48
4094
- #: src/Admin/SettingsPages/Membership/views/orders/add-edit-order.php:50
4095
- #: src/Admin/SettingsPages/Membership/views/subscriptions/add-edit-subscription.php:42
4096
- #: src/ContentProtection/views/include.view.php:38
4097
- msgid "Publish"
4098
  msgstr ""
4099
 
4100
- #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:17
4101
- msgid "Create user role for this membership plan"
 
4102
  msgstr ""
4103
 
4104
- #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:43
4105
- msgid "Plan Description"
 
4106
  msgstr ""
4107
 
4108
- #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:44
4109
- msgid ""
4110
- "A description of this plan. This will be displayed on the checkout page."
4111
  msgstr ""
4112
 
4113
- #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:49
4114
- #: src/ShortcodeParser/MyAccount/view-order.tmpl.php:60
4115
- msgid "Purchase Note"
4116
  msgstr ""
4117
 
4118
- #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:50
4119
- msgid ""
4120
- "Enter an optional note or special instructions to send the customer after "
4121
- "purchase. These will be added to the order receipt."
4122
  msgstr ""
4123
 
4124
- #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:56
4125
- msgid "User Role"
 
4126
  msgstr ""
4127
 
4128
- #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:57
4129
- msgid ""
4130
- "Select the user role to associate with this membership plan. Users that "
4131
- "subscribe to this plan will be assigned this user role."
4132
  msgstr ""
4133
 
4134
- #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:63
4135
- msgid "The price of this membership plan. Enter 0 to make this plan free."
 
4136
  msgstr ""
4137
 
4138
- #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:79
4139
- msgid "Renew indefinitely until member cancels"
 
4140
  msgstr ""
4141
 
4142
- #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:80
4143
- msgid "Fixed number of payments"
 
4144
  msgstr ""
4145
 
4146
- #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:86
4147
- msgid "Total Payments"
 
4148
  msgstr ""
4149
 
4150
- #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:87
4151
- msgid ""
4152
- "The total number of recurring billing cycles including the trial period (if "
4153
- "applicable). Keep in mind that once a member has completed the last "
4154
- "payment, the subscription will not expire — essentially giving them lifetime "
4155
- "access."
4156
  msgstr ""
4157
 
4158
- #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:92
4159
- #: src/templates/checkout/form-checkout-sidebar.php:65
4160
- msgid "Signup Fee"
4161
  msgstr ""
4162
 
4163
- #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:93
4164
- msgid "Optional signup fee to charge subscribers for the first billing cycle."
 
4165
  msgstr ""
4166
 
4167
- #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:99
4168
- msgid "Free Trial"
 
4169
  msgstr ""
4170
 
4171
- #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:100
4172
- msgid ""
4173
- "Allow members free access for a specified duration of time before charging "
4174
- "them."
4175
  msgstr ""
4176
 
4177
- #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:108
4178
- #: src/Admin/SettingsPages/Membership/views/orders/add-edit-order.php:40
4179
- msgid "Digital Products"
4180
  msgstr ""
4181
 
4182
- #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:112
4183
- msgid "Product Files"
 
4184
  msgstr ""
4185
 
4186
- #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:113
4187
- msgid "Upload eBooks, music, videos, software or anything else digital."
 
4188
  msgstr ""
4189
 
4190
- #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:121
4191
- msgid ""
4192
- "Set to 0 for unlimited re-downloads. Leave blank to use %sglobal setting%s"
4193
  msgstr ""
4194
 
4195
- #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:131
4196
- msgid ""
4197
- "Enter the number of days before a download link expires. Set to 0 for no "
4198
- "expiration. Leave blank to use %sglobal setting%s."
4199
  msgstr ""
4200
 
4201
- #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:142
4202
- msgid "Plan Details"
 
4203
  msgstr ""
4204
 
4205
- #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:153
4206
- msgid "Subscription Settings"
 
4207
  msgstr ""
4208
 
4209
- #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:164
4210
- msgid "Downloads & Integrations"
 
4211
  msgstr ""
4212
 
4213
- #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:185
4214
- msgid "Summary"
 
4215
  msgstr ""
4216
 
4217
- #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:199
4218
- msgid "Order Links"
 
4219
  msgstr ""
4220
 
4221
- #: src/Admin/SettingsPages/Membership/views/add-edit-plan.php:205
4222
- msgid "Checkout link:"
 
4223
  msgstr ""
4224
 
4225
- #: src/Admin/SettingsPages/Membership/views/checkout-field-item.php:13
4226
- msgid "Field Label"
 
4227
  msgstr ""
4228
 
4229
- #: src/Admin/SettingsPages/Membership/views/checkout-field-item.php:17
4230
- msgid "Field Width"
 
4231
  msgstr ""
4232
 
4233
- #: src/Admin/SettingsPages/Membership/views/checkout-field-item.php:19
4234
- #: src/Themes/DragDrop/AbstractBuildScratch.php:85
4235
- msgid "Full"
4236
  msgstr ""
4237
 
4238
- #: src/Admin/SettingsPages/Membership/views/checkout-field-item.php:20
4239
- #: src/Themes/DragDrop/AbstractBuildScratch.php:86
4240
- msgid "Half"
4241
  msgstr ""
4242
 
4243
- #: src/Admin/SettingsPages/Membership/views/checkout-field-item.php:21
4244
- #: src/Themes/DragDrop/AbstractBuildScratch.php:87
4245
- msgid "One Third"
4246
  msgstr ""
4247
 
4248
- #: src/Admin/SettingsPages/Membership/views/checkout-field-item.php:25
4249
- msgid "Required Field"
 
4250
  msgstr ""
4251
 
4252
- #: src/Admin/SettingsPages/Membership/views/checkout-field-item.php:27
4253
- #: src/Admin/SettingsPages/Membership/views/checkout-field-item.php:36
4254
- msgid "Yes"
4255
  msgstr ""
4256
 
4257
- #: src/Admin/SettingsPages/Membership/views/checkout-field-item.php:28
4258
- #: src/Admin/SettingsPages/Membership/views/checkout-field-item.php:37
4259
- msgid "No"
4260
  msgstr ""
4261
 
4262
- #: src/Admin/SettingsPages/Membership/views/checkout-field-item.php:34
4263
- msgid "Hide for Logged-in Users"
 
4264
  msgstr ""
4265
 
4266
- #: src/Admin/SettingsPages/Membership/views/checkout-fields.php:8
4267
- #: src/templates/checkout/form-checkout.php:37
4268
- msgid "Account Information"
4269
  msgstr ""
4270
 
4271
- #: src/Admin/SettingsPages/Membership/views/checkout-fields.php:11
4272
- msgid ""
4273
- "Add, remove and re-order account information fields displayed on the "
4274
- "checkout page."
4275
  msgstr ""
4276
 
4277
- #: src/Admin/SettingsPages/Membership/views/checkout-fields.php:18
4278
- #: src/Admin/SettingsPages/Membership/views/checkout-fields.php:42
4279
- msgid "Add Field"
4280
  msgstr ""
4281
 
4282
- #: src/Admin/SettingsPages/Membership/views/checkout-fields.php:32
4283
- #: src/Admin/SettingsPages/Membership/views/customers/data-metabox.php:83
4284
- #: src/Admin/SettingsPages/Membership/views/orders/order-data-metabox.php:110
4285
- #: src/ShortcodeParser/MyAccount/MyAccountTag.php:83
4286
- #: src/ShortcodeParser/MyAccount/billing-details.tmpl.php:17
4287
- #: src/ShortcodeParser/MyAccount/view-order.tmpl.php:81
4288
- #: src/templates/checkout/form-billing-fields.php:36
4289
- msgid "Billing Address"
4290
  msgstr ""
4291
 
4292
- #: src/Admin/SettingsPages/Membership/views/checkout-fields.php:35
4293
- msgid ""
4294
- "Add, remove and re-order billing address fields displayed on the checkout "
4295
- "page."
4296
  msgstr ""
4297
 
4298
- #: src/Admin/SettingsPages/Membership/views/coupons-page-sidebar.php:18
4299
- msgid "Save Coupon"
 
4300
  msgstr ""
4301
 
4302
- #: src/Admin/SettingsPages/Membership/views/customers/data-metabox.php:57
4303
- msgid "WordPress User"
 
4304
  msgstr ""
4305
 
4306
- #: src/Admin/SettingsPages/Membership/views/customers/data-metabox.php:59
4307
- msgid "View profile &rarr;"
 
4308
  msgstr ""
4309
 
4310
- #: src/Admin/SettingsPages/Membership/views/customers/data-metabox.php:67
4311
- #: src/Admin/SettingsPages/Membership/views/orders/order-data-metabox.php:97
4312
- #: src/Admin/SettingsPages/Membership/views/subscriptions/data-metabox.php:120
4313
- msgid "%1$s (%2$s)"
4314
  msgstr ""
4315
 
4316
- #: src/Admin/SettingsPages/Membership/views/customers/data-metabox.php:110
4317
- msgid "No billing address set."
 
4318
  msgstr ""
4319
 
4320
- #: src/Admin/SettingsPages/Membership/views/customers/data-metabox.php:239
4321
- msgid "Completed Sales"
 
4322
  msgstr ""
4323
 
4324
- #: src/Admin/SettingsPages/Membership/views/customers/data-metabox.php:244
4325
- msgid "Total Spend"
 
4326
  msgstr ""
4327
 
4328
- #: src/Admin/SettingsPages/Membership/views/customers/submit-sidebar.php:21
4329
- msgid "Save Customer"
 
4330
  msgstr ""
4331
 
4332
- #: src/Admin/SettingsPages/Membership/views/customers/view-customer.php:21
4333
- msgid "Customer #%s"
 
4334
  msgstr ""
4335
 
4336
- #: src/Admin/SettingsPages/Membership/views/customers/view-customer.php:58
4337
- msgid "Private Note"
4338
- msgstr ""
4339
-
4340
- #: src/Admin/SettingsPages/Membership/views/orders/add-edit-order.php:20
4341
- #: src/Admin/SettingsPages/Membership/views/orders/order-data-metabox.php:65
4342
- msgid "Order #%s"
4343
- msgstr ""
4344
-
4345
- #: src/Admin/SettingsPages/Membership/views/orders/add-edit-order.php:29
4346
- #: src/ShortcodeParser/MyAccount/view-order.tmpl.php:48
4347
- msgid "Order Item"
4348
- msgstr ""
4349
-
4350
- #: src/Admin/SettingsPages/Membership/views/orders/add-edit-order.php:77
4351
- msgid "EU VAT"
4352
- msgstr ""
4353
-
4354
- #: src/Admin/SettingsPages/Membership/views/orders/add-edit-order.php:91
4355
- msgid "Order Notes"
4356
- msgstr ""
4357
-
4358
- #: src/Admin/SettingsPages/Membership/views/orders/add-edit-order.php:103
4359
- #: src/Admin/SettingsPages/ToolsSettingsPage.php:41
4360
- msgid "Logs"
4361
- msgstr ""
4362
-
4363
- #: src/Admin/SettingsPages/Membership/views/orders/add-edit-order.php:132
4364
- msgid "Add or Replace Order Item"
4365
- msgstr ""
4366
-
4367
- #: src/Admin/SettingsPages/Membership/views/orders/add-edit-order.php:133
4368
- msgid "Please select a subscription plan"
4369
- msgstr ""
4370
-
4371
- #: src/Admin/SettingsPages/Membership/views/orders/add-edit-order.php:140
4372
- msgid "Select Plan"
4373
- msgstr ""
4374
-
4375
- #: src/Admin/SettingsPages/Membership/views/orders/add-edit-order.php:145
4376
- msgid "Plan Price"
4377
- msgstr ""
4378
-
4379
- #: src/Admin/SettingsPages/Membership/views/orders/add-edit-order.php:151
4380
- msgid "Tax/VAT Fee"
4381
- msgstr ""
4382
-
4383
- #: src/Admin/SettingsPages/Membership/views/orders/add-edit-order.php:156
4384
- msgid "Coupon"
4385
- msgstr ""
4386
-
4387
- #: src/Admin/SettingsPages/Membership/views/orders/add-edit-order.php:158
4388
- msgid "Select Coupon"
4389
- msgstr ""
4390
-
4391
- #: src/Admin/SettingsPages/Membership/views/orders/add-edit-order.php:163
4392
- msgid "Price is inclusive of VAT/Sales Tax"
4393
- msgstr ""
4394
-
4395
- #: src/Admin/SettingsPages/Membership/views/orders/add-edit-order.php:165
4396
- msgid "Price is exclusive of VAT/Sales Tax"
4397
- msgstr ""
4398
-
4399
- #: src/Admin/SettingsPages/Membership/views/orders/add-edit-order.php:169
4400
- #: src/ShortcodeParser/PasswordResetTag.php:107
4401
- msgid "Save"
4402
- msgstr ""
4403
-
4404
- #: src/Admin/SettingsPages/Membership/views/orders/digital-products-metabox.php:17
4405
- #: src/ShortcodeParser/MyAccount/downloads.tmpl.php:44
4406
- #: src/ShortcodeParser/MyAccount/view-order.tmpl.php:197
4407
- msgid "Product"
4408
- msgstr ""
4409
-
4410
- #: src/Admin/SettingsPages/Membership/views/orders/digital-products-metabox.php:18
4411
- #: src/ShortcodeParser/MyAccount/downloads.tmpl.php:45
4412
- #: src/ShortcodeParser/MyAccount/view-order.tmpl.php:198
4413
- msgid "Downloads Remaining"
4414
- msgstr ""
4415
-
4416
- #: src/Admin/SettingsPages/Membership/views/orders/digital-products-metabox.php:19
4417
- #: src/ShortcodeParser/MyAccount/downloads.tmpl.php:46
4418
- #: src/ShortcodeParser/MyAccount/view-order.tmpl.php:199
4419
- msgid "Action"
4420
- msgstr ""
4421
-
4422
- #: src/Admin/SettingsPages/Membership/views/orders/digital-products-metabox.php:31
4423
- #: src/ShortcodeParser/MyAccount/downloads.tmpl.php:65
4424
- #: src/ShortcodeParser/MyAccount/view-order.tmpl.php:218
4425
- msgid "Download"
4426
- msgstr ""
4427
-
4428
- #: src/Admin/SettingsPages/Membership/views/orders/download-logs-sidebar.php:13
4429
- msgid "View Order Download Logs"
4430
- msgstr ""
4431
-
4432
- #: src/Admin/SettingsPages/Membership/views/orders/eu-vat-sidebar.php:48
4433
- msgid "Validated"
4434
- msgstr ""
4435
-
4436
- #: src/Admin/SettingsPages/Membership/views/orders/eu-vat-sidebar.php:52
4437
- #: src/ShortcodeParser/MyAccount/view-order.tmpl.php:132
4438
- msgid "Reverse Charged"
4439
- msgstr ""
4440
-
4441
- #: src/Admin/SettingsPages/Membership/views/orders/eu-vat-sidebar.php:58
4442
- #: src/Admin/SettingsPages/Membership/views/orders/eu-vat-sidebar.php:62
4443
- msgid "Unknown"
4444
- msgstr ""
4445
-
4446
- #: src/Admin/SettingsPages/Membership/views/orders/eu-vat-sidebar.php:61
4447
- msgid "Billing Country"
4448
- msgstr ""
4449
-
4450
- #: src/Admin/SettingsPages/Membership/views/orders/eu-vat-sidebar.php:67
4451
- msgid "This order is out of scope for EU VAT."
4452
- msgstr ""
4453
-
4454
- #: src/Admin/SettingsPages/Membership/views/orders/order-data-metabox.php:34
4455
- #: src/Admin/SettingsPages/Membership/views/subscriptions/data-metabox.php:32
4456
- msgid "Payment via %s"
4457
- msgstr ""
4458
-
4459
- #. translators: 1: date 2: time
4460
- #: src/Admin/SettingsPages/Membership/views/orders/order-data-metabox.php:46
4461
- msgid "Paid on %1$s @ %2$s"
4462
- msgstr ""
4463
-
4464
- #. translators: %s: IP address
4465
- #: src/Admin/SettingsPages/Membership/views/orders/order-data-metabox.php:55
4466
- msgid "Customer IP: %s"
4467
- msgstr ""
4468
-
4469
- #: src/Admin/SettingsPages/Membership/views/orders/order-data-metabox.php:76
4470
- #: src/Admin/SettingsPages/Membership/views/subscriptions/data-metabox.php:126
4471
- msgid "Date created:"
4472
- msgstr ""
4473
-
4474
- #: src/Admin/SettingsPages/Membership/views/orders/order-data-metabox.php:81
4475
- #: src/Admin/SettingsPages/Membership/views/subscriptions/data-metabox.php:104
4476
- msgid "Status:"
4477
- msgstr ""
4478
-
4479
- #: src/Admin/SettingsPages/Membership/views/orders/order-data-metabox.php:91
4480
- #: src/Admin/SettingsPages/Membership/views/subscriptions/data-metabox.php:114
4481
- msgid "Customer:"
4482
- msgstr ""
4483
-
4484
- #: src/Admin/SettingsPages/Membership/views/orders/order-data-metabox.php:92
4485
- #: src/Admin/SettingsPages/Membership/views/subscriptions/data-metabox.php:115
4486
- msgid "Profile &rarr;"
4487
- msgstr ""
4488
-
4489
- #: src/Admin/SettingsPages/Membership/views/orders/order-data-metabox.php:93
4490
- msgid "View other orders &rarr;"
4491
- msgstr ""
4492
-
4493
- #: src/Admin/SettingsPages/Membership/views/orders/order-data-metabox.php:103
4494
- msgid "Order Key:"
4495
- msgstr ""
4496
-
4497
- #: src/Admin/SettingsPages/Membership/views/orders/order-data-metabox.php:132
4498
- msgid "Not Set"
4499
- msgstr ""
4500
-
4501
- #: src/Admin/SettingsPages/Membership/views/orders/order-item-metabox.php:24
4502
- msgid "Item"
4503
- msgstr ""
4504
-
4505
- #: src/Admin/SettingsPages/Membership/views/orders/order-item-metabox.php:43
4506
- #: src/ShortcodeParser/MyAccount/view-order.tmpl.php:113
4507
- #: src/templates/checkout/form-checkout-sidebar.php:71
4508
- msgid "Subtotal"
4509
- msgstr ""
4510
-
4511
- #: src/Admin/SettingsPages/Membership/views/orders/order-item-metabox.php:56
4512
- msgid "Applied Coupon"
4513
- msgstr ""
4514
-
4515
- #: src/Admin/SettingsPages/Membership/views/orders/order-item-metabox.php:60
4516
- msgid "Discount:"
4517
- msgstr ""
4518
-
4519
- #: src/Admin/SettingsPages/Membership/views/orders/order-item-metabox.php:87
4520
- msgid "Total:"
4521
- msgstr ""
4522
-
4523
- #: src/Admin/SettingsPages/Membership/views/orders/order-item-metabox.php:95
4524
- msgid "Refund Order"
4525
- msgstr ""
4526
-
4527
- #: src/Admin/SettingsPages/Membership/views/orders/order-item-metabox.php:99
4528
- msgid "To edit this order, change the order status back to \"Pending\""
4529
- msgstr ""
4530
-
4531
- #: src/Admin/SettingsPages/Membership/views/orders/order-item-metabox.php:102
4532
- msgid "This order is no longer editable."
4533
- msgstr ""
4534
-
4535
- #: src/Admin/SettingsPages/Membership/views/orders/order-item-metabox.php:105
4536
- msgid "Add/Replace Order Item"
4537
- msgstr ""
4538
-
4539
- #: src/Admin/SettingsPages/Membership/views/orders/order-submit-sidebar.php:22
4540
- msgid "Save Order"
4541
- msgstr ""
4542
-
4543
- #: src/Admin/SettingsPages/Membership/views/orders/order-subscription-sidebar.php:15
4544
- msgid "Subscription ID"
4545
- msgstr ""
4546
-
4547
- #: src/Admin/SettingsPages/Membership/views/payment-method-list.php:10
4548
- msgid "Method"
4549
- msgstr ""
4550
-
4551
- #: src/Admin/SettingsPages/Membership/views/payment-method-list.php:11
4552
- msgid "Enabled"
4553
- msgstr ""
4554
-
4555
- #: src/Admin/SettingsPages/Membership/views/payment-method-list.php:13
4556
- msgid "Subscription Support"
4557
- msgstr ""
4558
-
4559
- #: src/Admin/SettingsPages/Membership/views/payment-method-list.php:44
4560
- #: src/Admin/SettingsPages/Membership/views/payment-method-list.php:88
4561
- msgid "Configure"
4562
- msgstr ""
4563
-
4564
- #: src/Admin/SettingsPages/Membership/views/payment-method-list.php:53
4565
- msgid ""
4566
- "Wish to accept payments and sell memberships via PayPal? %supgrade to premium"
4567
- "%s."
4568
- msgstr ""
4569
-
4570
- #: src/Admin/SettingsPages/Membership/views/payment-method-list.php:57
4571
- msgid ""
4572
- "%sUpgrade to premium%s to accept one-time and recurring payments via iDEAL, "
4573
- "Credit Card, Apple Pay, Klarna, Bancontact, in3 etc with Mollie."
4574
- msgstr ""
4575
-
4576
- #: src/Admin/SettingsPages/Membership/views/plans-page-sidebar.php:18
4577
- msgid "Save Plan"
4578
- msgstr ""
4579
-
4580
- #: src/Admin/SettingsPages/Membership/views/subscriptions/add-edit-subscription.php:18
4581
- #: src/Admin/SettingsPages/Membership/views/subscriptions/data-metabox.php:41
4582
- msgid "Subscription #%s"
4583
- msgstr ""
4584
-
4585
- #: src/Admin/SettingsPages/Membership/views/subscriptions/add-edit-subscription.php:32
4586
- #: src/ShortcodeParser/MyAccount/view-subscription.tmpl.php:107
4587
- msgid "Subscription Orders"
4588
- msgstr ""
4589
-
4590
- #: src/Admin/SettingsPages/Membership/views/subscriptions/add-edit-subscription.php:55
4591
- msgid "Subscription Notes"
4592
- msgstr ""
4593
-
4594
- #: src/Admin/SettingsPages/Membership/views/subscriptions/data-metabox.php:53
4595
- msgid "Subscription Plan:"
4596
- msgstr ""
4597
-
4598
- #: src/Admin/SettingsPages/Membership/views/subscriptions/data-metabox.php:58
4599
- msgid "Terms:"
4600
- msgstr ""
4601
-
4602
- #: src/Admin/SettingsPages/Membership/views/subscriptions/data-metabox.php:64
4603
- msgid "Completed Payments:"
4604
- msgstr ""
4605
-
4606
- #: src/Admin/SettingsPages/Membership/views/subscriptions/data-metabox.php:71
4607
- msgid "Initial Amount (%s):"
4608
- msgstr ""
4609
-
4610
- #: src/Admin/SettingsPages/Membership/views/subscriptions/data-metabox.php:76
4611
- msgid "Initial Tax Amount (%s):"
4612
- msgstr ""
4613
-
4614
- #: src/Admin/SettingsPages/Membership/views/subscriptions/data-metabox.php:81
4615
- msgid "Initial Tax Rate (%s):"
4616
- msgstr ""
4617
-
4618
- #: src/Admin/SettingsPages/Membership/views/subscriptions/data-metabox.php:86
4619
- msgid "Recurring Amount (%s):"
4620
- msgstr ""
4621
-
4622
- #: src/Admin/SettingsPages/Membership/views/subscriptions/data-metabox.php:91
4623
- msgid "Recurring Tax Amount (%s):"
4624
- msgstr ""
4625
-
4626
- #: src/Admin/SettingsPages/Membership/views/subscriptions/data-metabox.php:96
4627
- msgid "Recurring Tax Rate (%s):"
4628
- msgstr ""
4629
-
4630
- #: src/Admin/SettingsPages/Membership/views/subscriptions/data-metabox.php:116
4631
- msgid "View all subscriptions &rarr;"
4632
- msgstr ""
4633
-
4634
- #: src/Admin/SettingsPages/Membership/views/subscriptions/data-metabox.php:131
4635
- msgid "Renewal Date:"
4636
- msgstr ""
4637
-
4638
- #: src/Admin/SettingsPages/Membership/views/subscriptions/data-metabox.php:133
4639
- #: src/Membership/Models/Subscription/SubscriptionEntity.php:370
4640
- msgid "Lifetime"
4641
- msgstr ""
4642
-
4643
- #: src/Admin/SettingsPages/Membership/views/subscriptions/data-metabox.php:140
4644
- msgid "%sSubscription ID:"
4645
- msgstr ""
4646
-
4647
- #: src/Admin/SettingsPages/Membership/views/subscriptions/submit-sidebar.php:22
4648
- msgid "Save Subscription"
4649
- msgstr ""
4650
-
4651
- #: src/Admin/SettingsPages/Membership/views/tax-rates-setup.php:14
4652
- msgid "State Code"
4653
- msgstr ""
4654
-
4655
- #: src/Admin/SettingsPages/Membership/views/tax-rates-setup.php:15
4656
- msgid "Country Wide"
4657
- msgstr ""
4658
-
4659
- #: src/Admin/SettingsPages/Membership/views/tax-rates-setup.php:16
4660
- msgid "Rate"
4661
- msgstr ""
4662
-
4663
- #: src/Admin/SettingsPages/Membership/views/tax-rates-setup.php:49
4664
- msgid "Add Tax Rate"
4665
- msgstr ""
4666
-
4667
- #: src/Admin/SettingsPages/ToolsSettingsPage.php:44
4668
- msgid "Debug Error Log"
4669
- msgstr ""
4670
-
4671
- #: src/Admin/SettingsPages/ToolsSettingsPage.php:54
4672
- msgid "Delete Log"
4673
- msgstr ""
4674
-
4675
- #: src/AdminBarDashboardAccess/Init.php:32
4676
- msgid "Admin Bar & Dashboard"
4677
- msgstr ""
4678
-
4679
- #: src/AdminBarDashboardAccess/Init.php:41
4680
- #: src/AdminBarDashboardAccess/Init.php:58
4681
- msgid "Admin Bar & Dashboard Access"
4682
- msgstr ""
4683
-
4684
- #: src/AdminBarDashboardAccess/include.settings-page.php:19
4685
- msgid "Admin Bar Visibility Control"
4686
- msgstr ""
4687
-
4688
- #: src/AdminBarDashboardAccess/include.settings-page.php:26
4689
- msgid "Disable Admin Bar"
4690
- msgstr ""
4691
-
4692
- #: src/AdminBarDashboardAccess/include.settings-page.php:31
4693
- msgid "Check to disable admin bar."
4694
- msgstr ""
4695
-
4696
- #: src/AdminBarDashboardAccess/include.settings-page.php:37
4697
- msgid "Admin Bar Control"
4698
- msgstr ""
4699
-
4700
- #: src/AdminBarDashboardAccess/include.settings-page.php:47
4701
- msgid ""
4702
- "Select the user roles that the admin bar will be disabled for. It will be "
4703
- "disabled for everyone except admins if none is checked."
4704
- msgstr ""
4705
-
4706
- #: src/AdminBarDashboardAccess/include.settings-page.php:63
4707
- #: src/AdminBarDashboardAccess/include.settings-page.php:81
4708
- msgid "Dashboard Access Control"
4709
- msgstr ""
4710
-
4711
- #: src/AdminBarDashboardAccess/include.settings-page.php:70
4712
- msgid "Disable Dashboard Access"
4713
- msgstr ""
4714
-
4715
- #: src/AdminBarDashboardAccess/include.settings-page.php:75
4716
- msgid "Check to disable dashboard access for everyone."
4717
- msgstr ""
4718
-
4719
- #: src/AdminBarDashboardAccess/include.settings-page.php:91
4720
- msgid ""
4721
- "Select the user roles that dashboard access will be disabled for. It will be "
4722
- "disabled for everyone except admins if none is checked."
4723
- msgstr ""
4724
-
4725
- #: src/AdminBarDashboardAccess/include.settings-page.php:97
4726
- msgid "Dashboard Redirect URL"
4727
- msgstr ""
4728
-
4729
- #: src/AdminBarDashboardAccess/include.settings-page.php:102
4730
- msgid ""
4731
- "Enter URL to redirect users to without dashboard access. If empty, users "
4732
- "will be redirected to website homepage."
4733
- msgstr ""
4734
-
4735
- #: src/Classes/AdminNotices.php:89
4736
- msgid ""
4737
- "<strong>Important:</strong> No real payment is being processed because "
4738
- "ProfilePress is in test mode. Go to <a href=\"%s\">Payment method settings</"
4739
- "a> to disable test mode."
4740
- msgstr ""
4741
-
4742
- #: src/Classes/AdminNotices.php:120
4743
- msgid ""
4744
- "Hey, I noticed you have been using ProfilePress for at least 7 days now - "
4745
- "that's awesome! Could you please do us a BIG favor and give it a %1$s5-star "
4746
- "rating on WordPress?%2$s This will help us spread the word and boost our "
4747
- "motivation - thanks!"
4748
- msgstr ""
4749
-
4750
- #: src/Classes/AdminNotices.php:124
4751
- msgid "Sure! I'd love to give a review"
4752
- msgstr ""
4753
-
4754
- #: src/Classes/AdminNotices.php:126
4755
- msgid "Dismiss Forever"
4756
- msgstr ""
4757
-
4758
- #: src/Classes/AdminNotices.php:145
4759
- msgid "Change Permalink Structure"
4760
- msgstr ""
4761
-
4762
- #: src/Classes/AdminNotices.php:149
4763
- msgid ""
4764
- "Your site permalink structure is currently set to <code>Plain</code>. This "
4765
- "setting is not compatible with ProfilePress. Change your permalink structure "
4766
- "to any other setting to avoid issues. We recommend <code>Post name</code>.</"
4767
- "p><p>%s"
4768
- msgstr ""
4769
-
4770
- #: src/Classes/AdminNotices.php:171
4771
- msgid ""
4772
- "Important news! %1$sWP User Avatar%2$s is now %1$sProfilePress%2$s. We added "
4773
- "new features such as member directories, frontend user registration & login "
4774
- "forms, user profile, content protection and more. %3$sCheck Them Out%5$s | "
4775
- "%4$sDismiss Notice%5$s"
4776
- msgstr ""
4777
-
4778
- #: src/Classes/AdminNotices.php:190
4779
- msgid ""
4780
- "ProfilePress needs to create several pages (Checkout, Order Confirmation, "
4781
- "User Profile, My Account, Registration, Login, Member Directory) to function "
4782
- "correctly."
4783
- msgstr ""
4784
-
4785
- #: src/Classes/AdminNotices.php:193
4786
- msgid "Create Pages"
4787
- msgstr ""
4788
-
4789
- #: src/Classes/AdminNotices.php:193
4790
- msgid "No Thanks"
4791
- msgstr ""
4792
-
4793
- #: src/Classes/AdminNotices.php:221
4794
- msgid ""
4795
- "User registration currently disabled. To enable, Go to <a href=\"%1$s"
4796
- "\">Settings -> General</a>, and under Membership, check \"Anyone can register"
4797
- "\""
4798
- msgstr ""
4799
-
4800
- #: src/Classes/AjaxHandler.php:46
4801
- msgid ""
4802
- "Melange is a way to combine login, registration & password reset forms in a "
4803
- "single form."
4804
- msgstr ""
4805
-
4806
- #: src/Classes/AjaxHandler.php:50
4807
- msgid "Select Form Type"
4808
- msgstr ""
4809
-
4810
- #: src/Classes/AjaxHandler.php:51
4811
- msgid "Loading..."
4812
- msgstr ""
4813
-
4814
- #: src/Classes/AjaxHandler.php:102
4815
- msgid "Create from Scratch"
4816
- msgstr ""
4817
-
4818
- #: src/Classes/AjaxHandler.php:108
4819
- msgid "Do it Yourself"
4820
- msgstr ""
4821
-
4822
- #: src/Classes/AjaxHandler.php:111
4823
- msgid "Get Started Creating Your Own Form"
4824
- msgstr ""
4825
-
4826
- #: src/Classes/AjaxHandler.php:150
4827
- msgid "Select this template"
4828
- msgstr ""
4829
-
4830
- #: src/Classes/AjaxHandler.php:151
4831
- #: src/ContentProtection/ContentConditions.php:274
4832
- msgid "Select Template"
4833
- msgstr ""
4834
-
4835
- #: src/Classes/AjaxHandler.php:160
4836
- msgid "Enter a Name"
4837
- msgstr ""
4838
-
4839
- #: src/Classes/AjaxHandler.php:216 src/Classes/AjaxHandler.php:239
4840
- #: src/Classes/PasswordReset.php:360
4841
- msgid "Unexpected error. Please try again."
4842
- msgstr ""
4843
-
4844
- #: src/Classes/AjaxHandler.php:248
4845
- msgid "Form with similar name exist already."
4846
- msgstr ""
4847
-
4848
- #: src/Classes/AjaxHandler.php:531
4849
- msgid "Security validation failed. Try again"
4850
- msgstr ""
4851
-
4852
- #: src/Classes/EditUserProfile.php:28
4853
- #: src/ShortcodeParser/MyAccount/email-notifications.tmpl.php:17
4854
- msgid "Account was updated successfully."
4855
- msgstr ""
4856
-
4857
- #: src/Classes/EditUserProfile.php:124
4858
- msgid "Email address is invalid. Please try again"
4859
- msgstr ""
4860
-
4861
- #: src/Classes/EditUserProfile.php:128
4862
- msgid "Email address confirmation is invalid. Please try again"
4863
- msgstr ""
4864
-
4865
- #: src/Classes/EditUserProfile.php:132
4866
- msgid "Email addresses do not match. Please try again"
4867
- msgstr ""
4868
-
4869
- #: src/Classes/EditUserProfile.php:141 src/Classes/EditUserProfile.php:150
4870
- msgid "Password do not match. Please try again."
4871
- msgstr ""
4872
-
4873
- #: src/Classes/EditUserProfile.php:146
4874
- msgid "Password is empty or do not match. Please try again."
4875
- msgstr ""
4876
-
4877
- #: src/Classes/EditUserProfile.php:322
4878
- msgid "Something unexpected happened. Please try again"
4879
- msgstr ""
4880
-
4881
- #: src/Classes/ExtensionManager.php:60
4882
- msgid "PayPal"
4883
- msgstr ""
4884
-
4885
- #: src/Classes/ExtensionManager.php:62
4886
- msgid "Accept payments and sell subscriptions via PayPal."
4887
- msgstr ""
4888
-
4889
- #: src/Classes/ExtensionManager.php:66
4890
- msgid "Mollie"
4891
- msgstr ""
4892
-
4893
- #: src/Classes/ExtensionManager.php:68
4894
- msgid "Accept payments and sell subscriptions via Mollie."
4895
- msgstr ""
4896
-
4897
- #: src/Classes/ExtensionManager.php:74
4898
- msgid ""
4899
- "Collect unlimited additional information from users besides the standard "
4900
- "profile data."
4901
- msgstr ""
4902
-
4903
- #: src/Classes/ExtensionManager.php:78
4904
- msgid "Email Confirmation"
4905
- msgstr ""
4906
-
4907
- #: src/Classes/ExtensionManager.php:80
4908
- msgid ""
4909
- "Ensure newly registered users confirm their email addresses before they can "
4910
- "log in."
4911
- msgstr ""
4912
-
4913
- #: src/Classes/ExtensionManager.php:84
4914
- msgid "Two-Factor Authentication (2FA)"
4915
- msgstr ""
4916
-
4917
- #: src/Classes/ExtensionManager.php:86
4918
- msgid ""
4919
- "Adds an additional layer of security to users accounts by requiring more "
4920
- "than just a password to log in."
4921
- msgstr ""
4922
-
4923
- #: src/Classes/ExtensionManager.php:90
4924
- msgid "User Moderation"
4925
- msgstr ""
4926
-
4927
- #: src/Classes/ExtensionManager.php:92
4928
- msgid ""
4929
- "Decide whether to approve newly registered users or not. You can also block "
4930
- "and unblock users at any time."
4931
- msgstr ""
4932
-
4933
- #: src/Classes/ExtensionManager.php:96
4934
- msgid "Social Login"
4935
- msgstr ""
4936
-
4937
- #: src/Classes/ExtensionManager.php:98
4938
- msgid ""
4939
- "Let users easily register/login to your site using their social network "
4940
- "accounts (Facebook, Twitter, Google, LinkedIn, GitHub, VK)."
4941
- msgstr ""
4942
-
4943
- #: src/Classes/ExtensionManager.php:104
4944
- msgid ""
4945
- "Let users log in to your website via a one-time URL sent to their email "
4946
- "addresses."
4947
- msgstr ""
4948
-
4949
- #: src/Classes/ExtensionManager.php:108
4950
- msgid "Google reCAPTCHA"
4951
- msgstr ""
4952
-
4953
- #: src/Classes/ExtensionManager.php:110
4954
- msgid "Protect your forms against spam and bot attacks."
4955
- msgstr ""
4956
-
4957
- #: src/Classes/ExtensionManager.php:114
4958
- msgid "Join BuddyPress Groups"
4959
- msgstr ""
4960
-
4961
- #: src/Classes/ExtensionManager.php:116
4962
- msgid "Let users select the BuddyPress groups to join during registration."
4963
- msgstr ""
4964
-
4965
- #: src/Classes/ExtensionManager.php:119 src/Classes/ExtensionManager.php:128
4966
- msgid "BuddyPress plugin is not active"
4967
- msgstr ""
4968
-
4969
- #: src/Classes/ExtensionManager.php:123
4970
- msgid "BuddyPress Profile Sync"
4971
- msgstr ""
4972
-
4973
- #: src/Classes/ExtensionManager.php:125
4974
- msgid ""
4975
- "It provides a 2-way synchronization between WordPress profile fields and "
4976
- "BuddyPress extended profile."
4977
- msgstr ""
4978
-
4979
- #: src/Classes/ExtensionManager.php:132
4980
- msgid "Site Creation"
4981
- msgstr ""
4982
-
4983
- #: src/Classes/ExtensionManager.php:134
4984
- msgid ""
4985
- "Allow users to create new sites on a multisite network via a registration "
4986
- "form powered by ProfilePress."
4987
- msgstr ""
4988
-
4989
- #: src/Classes/ExtensionManager.php:137
4990
- msgid "This is not a multisite installation"
4991
- msgstr ""
4992
-
4993
- #: src/Classes/ExtensionManager.php:141
4994
- msgid "WooCommerce"
4995
- msgstr ""
4996
-
4997
- #: src/Classes/ExtensionManager.php:143
4998
- msgid ""
4999
- "It allows you to manage WooCommerce billing and shipping fields, replaces "
5000
- "WooCommerce login and edit account forms in checkout and “My Account” pages "
5001
- "with that of ProfilePress."
5002
- msgstr ""
5003
-
5004
- #: src/Classes/ExtensionManager.php:146
5005
- msgid "WooCommerce is not active"
5006
- msgstr ""
5007
-
5008
- #: src/Classes/ExtensionManager.php:150
5009
- msgid "Mailchimp"
5010
- msgstr ""
5011
-
5012
- #: src/Classes/ExtensionManager.php:152
5013
- msgid ""
5014
- "Subscribe members to your Mailchimp audiences when they register and "
5015
- "automatically sync profile changes with Mailchimp."
5016
- msgstr ""
5017
-
5018
- #: src/Classes/ExtensionManager.php:156
5019
- msgid "Campaign Monitor"
5020
- msgstr ""
5021
-
5022
- #: src/Classes/ExtensionManager.php:158
5023
- msgid ""
5024
- "Subscribe members to your Campaign Monitor lists when they register and "
5025
- "automatically sync profile changes with Campaign Monitor."
5026
- msgstr ""
5027
-
5028
- #: src/Classes/ExtensionManager.php:162
5029
- msgid "Akismet"
5030
- msgstr ""
5031
-
5032
- #: src/Classes/ExtensionManager.php:164
5033
- msgid ""
5034
- "Block spam and bot user registrations with Akismet and keep your membership "
5035
- "site safe and secured."
5036
- msgstr ""
5037
-
5038
- #: src/Classes/ExtensionManager.php:168
5039
- msgid "Polylang"
5040
- msgstr ""
5041
-
5042
- #: src/Classes/ExtensionManager.php:170
5043
- msgid ""
5044
- "It allows you to build multilingual login, registration, password reset and "
5045
- "edit profile forms."
5046
- msgstr ""
5047
-
5048
- #: src/Classes/ExtensionManager.php:173
5049
- msgid "Polylang plugin is not active"
5050
- msgstr ""
5051
-
5052
- #: src/Classes/FileUploader.php:58
5053
- msgid "Unexpected error with file upload, Please try again."
5054
- msgstr ""
5055
-
5056
- #: src/Classes/FileUploader.php:74
5057
- msgid "Uploaded file is greater than the allowed sized of %s"
5058
- msgstr ""
5059
-
5060
- #: src/Classes/FileUploader.php:97
5061
- msgid "appears to be of an invalid file format. Please try again."
5062
- msgstr ""
5063
-
5064
- #: src/Classes/FileUploader.php:128
5065
- msgid "Unable to save %s, please try again."
5066
- msgstr ""
5067
-
5068
- #: src/Classes/FileUploader.php:155
5069
- msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini"
5070
- msgstr ""
5071
-
5072
- #: src/Classes/FileUploader.php:158
5073
- msgid ""
5074
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
5075
- "the HTML form"
5076
- msgstr ""
5077
-
5078
- #: src/Classes/FileUploader.php:161
5079
- msgid "The uploaded file was only partially uploaded"
5080
- msgstr ""
5081
-
5082
- #: src/Classes/FileUploader.php:164
5083
- msgid "No file was uploaded"
5084
- msgstr ""
5085
-
5086
- #: src/Classes/FileUploader.php:167
5087
- msgid "Missing a temporary folder"
5088
- msgstr ""
5089
-
5090
- #: src/Classes/FileUploader.php:170
5091
- msgid "Failed to write file to disk"
5092
- msgstr ""
5093
-
5094
- #: src/Classes/FileUploader.php:173
5095
- msgid "File upload stopped by extension"
5096
- msgstr ""
5097
-
5098
- #: src/Classes/FormPreviewHandler.php:53
5099
- msgid "You must be logged in to preview a form."
5100
- msgstr ""
5101
-
5102
- #: src/Classes/FormRepository.php:166 src/Themes/DragDrop/AbstractTheme.php:124
5103
- #: src/Widgets/TabbedWidget.php:87
5104
- msgid "Processing"
5105
- msgstr ""
5106
-
5107
- #: src/Classes/GDPR.php:19 src/Classes/GDPR.php:63 src/Classes/GDPR.php:110
5108
- msgid "User Extra Information"
5109
- msgstr ""
5110
-
5111
- #: src/Classes/ImageUploader.php:32
5112
- msgid "Unexpected error with image upload, Please try again."
5113
- msgstr ""
5114
-
5115
- #: src/Classes/ImageUploader.php:35
5116
- msgid "Uploaded image"
5117
- msgstr ""
5118
-
5119
- #: src/Classes/ImageUploader.php:63
5120
- msgid "%s is greater than the allowed sized of %s"
5121
- msgstr ""
5122
-
5123
- #: src/Classes/ImageUploader.php:83
5124
- msgid "Uploaded file is not an image."
5125
- msgstr ""
5126
-
5127
- #: src/Classes/ImageUploader.php:119
5128
- msgid "Unable to save file, please try again."
5129
- msgstr ""
5130
-
5131
- #: src/Classes/Miscellaneous.php:69
5132
- msgid ""
5133
- "During user registration and checkout, we'll ask you to provide information, "
5134
- "including your name, billing address, email address, phone number, and "
5135
- "optional account information like username and password."
5136
- msgstr ""
5137
-
5138
- #: src/Classes/Miscellaneous.php:70
5139
- msgid ""
5140
- "We may also collect your credit card number, expiration date, and security "
5141
- "code and pass them to our payment gateway to process your purchase."
5142
- msgstr ""
5143
-
5144
- #: src/Classes/Miscellaneous.php:72
5145
- msgid "We use the information we collect to:"
5146
- msgstr ""
5147
-
5148
- #: src/Classes/Miscellaneous.php:75
5149
- msgid "Set up your account"
5150
- msgstr ""
5151
-
5152
- #: src/Classes/Miscellaneous.php:76
5153
- msgid "Process payments and prevent fraud"
5154
- msgstr ""
5155
-
5156
- #: src/Classes/Miscellaneous.php:77
5157
- msgid "To prepopulate the checkout form for future purchases"
5158
- msgstr ""
5159
-
5160
- #: src/Classes/Miscellaneous.php:78
5161
- msgid "To get in touch with you if needed to discuss your order"
5162
- msgstr ""
5163
-
5164
- #: src/Classes/Miscellaneous.php:79
5165
- msgid "Comply with any legal obligations we have, such as calculating taxes"
5166
- msgstr ""
5167
-
5168
- #: src/Classes/Miscellaneous.php:80
5169
- msgid "Send you information about your account and order"
5170
- msgstr ""
5171
-
5172
- #: src/Classes/Miscellaneous.php:81
5173
- msgid "Respond to your requests, including refunds and complaints"
5174
- msgstr ""
5175
-
5176
- #: src/Classes/Miscellaneous.php:82
5177
- msgid "Send you marketing messages, if you choose to receive them"
5178
- msgstr ""
5179
-
5180
- #: src/Classes/Miscellaneous.php:85
5181
- msgid ""
5182
- "We generally store information about you for as long as we need the "
5183
- "information for the purposes we collect and use it, and we are not legally "
5184
- "required to continue to keep it. For example, we will store your order "
5185
- "information for tax and accounting purposes."
5186
- msgstr ""
5187
-
5188
- #: src/Classes/Miscellaneous.php:86
5189
- msgid ""
5190
- "We'll also use cookies to keep track of cart contents while you're browsing "
5191
- "our site."
5192
- msgstr ""
5193
-
5194
- #: src/Classes/Miscellaneous.php:105
5195
- #: src/Membership/Models/Order/OrderMode.php:13
5196
- #: src/Membership/PaymentMethods/Stripe/Stripe.php:217
5197
- msgid "Live"
5198
- msgstr ""
5199
-
5200
- #: src/Classes/Miscellaneous.php:111
5201
- msgid "ProfilePress %s"
5202
- msgstr ""
5203
-
5204
- #: src/Classes/Miscellaneous.php:159 src/Classes/Miscellaneous.php:184
5205
- msgid "Go Premium"
5206
- msgstr ""
5207
-
5208
- #: src/Classes/Miscellaneous.php:179
5209
- msgid "View ProfilePress documentation"
5210
- msgstr ""
5211
-
5212
- #: src/Classes/Miscellaneous.php:184
5213
- msgid "Upgrade to PRO"
5214
- msgstr ""
5215
-
5216
- #: src/Classes/PasswordReset.php:100
5217
- msgid "<strong>ERROR</strong>: Password reset email is disabled."
5218
- msgstr ""
5219
-
5220
- #: src/Classes/PasswordReset.php:106
5221
- msgid "<strong>ERROR</strong>: Enter a username or e-mail address."
5222
- msgstr ""
5223
-
5224
- #: src/Classes/PasswordReset.php:112
5225
- msgid ""
5226
- "<strong>ERROR</strong>: There is no user registered with that email address."
5227
- msgstr ""
5228
-
5229
- #: src/Classes/PasswordReset.php:120
5230
- msgid "<strong>ERROR</strong>: Invalid username or e-mail."
5231
- msgstr ""
5232
-
5233
- #: src/Classes/PasswordReset.php:206 src/Themes/DragDrop/AbstractTheme.php:118
5234
- msgid "Check your email for further instruction."
5235
- msgstr ""
5236
-
5237
- #: src/Classes/PasswordReset.php:338
5238
- msgid "Sorry, that key appears to be invalid."
5239
- msgstr ""
5240
-
5241
- #: src/Classes/PasswordReset.php:341 src/ShortcodeParser/FormProcessor.php:75
5242
- msgid "Passwords do not match."
5243
- msgstr ""
5244
-
5245
- #: src/Classes/PasswordReset.php:344
5246
- msgid "Please enter your password."
5247
- msgstr ""
5248
-
5249
- #: src/Classes/PasswordReset.php:347
5250
- msgid "Sorry, that key does not appear to be valid."
5251
- msgstr ""
5252
-
5253
- #: src/Classes/PasswordReset.php:350
5254
- msgid "Password is not strong enough."
5255
- msgstr ""
5256
-
5257
- #: src/Classes/PasswordReset.php:353
5258
- msgid "You have successfully changed your password"
5259
- msgstr ""
5260
-
5261
- #: src/Classes/PasswordReset.php:356 src/templates/checkout/form-login.php:19
5262
- msgid "Log in"
5263
- msgstr ""
5264
-
5265
- #: src/Classes/RegistrationAuth.php:222
5266
- #: src/Membership/Controllers/CheckoutTrait.php:238
5267
- #: src/Membership/Controllers/CheckoutTrait.php:257
5268
- msgid "%s field is required"
5269
- msgstr ""
5270
-
5271
- #: src/Classes/RegistrationAuth.php:231
5272
- msgid ""
5273
- "<strong>ERROR</strong>: This username is invalid because it uses illegal "
5274
- "characters. Please enter a valid username."
5275
- msgstr ""
5276
-
5277
- #: src/Classes/RegistrationAuth.php:235
5278
- #: src/Membership/Controllers/CheckoutTrait.php:279
5279
- msgid "Email address is not valid"
5280
- msgstr ""
5281
-
5282
- #: src/Classes/RegistrationAuth.php:239
5283
- #: src/Membership/Controllers/CheckoutTrait.php:311
5284
- msgid "Passwords do not match"
5285
- msgstr ""
5286
-
5287
- #: src/Classes/RegistrationAuth.php:243
5288
- #: src/Membership/Controllers/CheckoutTrait.php:277
5289
- msgid "Email addresses do not match"
5290
- msgstr ""
5291
-
5292
- #: src/Classes/RegistrationAuth.php:247
5293
- msgid "Password is not strong"
5294
- msgstr ""
5295
-
5296
- #: src/Classes/RegistrationAuth.php:413
5297
- #: src/Themes/DragDrop/AbstractTheme.php:110
5298
- msgid "Registration successful."
5299
- msgstr ""
5300
-
5301
- #: src/Classes/UserSignupLocationListingPage.php:21
5302
- msgid "Registered Via"
5303
- msgstr ""
5304
-
5305
- #: src/Classes/UserSignupLocationListingPage.php:43
5306
- #: src/RegisterActivation/Base.php:231
5307
- msgid "Checkout"
5308
- msgstr ""
5309
-
5310
- #: src/Classes/UserSignupLocationListingPage.php:46
5311
- msgid "Facebook"
5312
- msgstr ""
5313
-
5314
- #: src/Classes/UserSignupLocationListingPage.php:50
5315
- msgid "Twitter"
5316
- msgstr ""
5317
-
5318
- #: src/Classes/UserSignupLocationListingPage.php:54
5319
- msgid "Google"
5320
- msgstr ""
5321
-
5322
- #: src/Classes/UserSignupLocationListingPage.php:58
5323
- msgid "LinkedIn"
5324
- msgstr ""
5325
-
5326
- #: src/Classes/UserSignupLocationListingPage.php:62
5327
- msgid "GitHub"
5328
- msgstr ""
5329
-
5330
- #: src/Classes/UserSignupLocationListingPage.php:66
5331
- msgid "Vkontakte"
5332
- msgstr ""
5333
-
5334
- #: src/Classes/UserSignupLocationListingPage.php:69
5335
- #: src/Widgets/TabbedWidget.php:16
5336
- msgid "ProfilePress Tabbed Widget"
5337
- msgstr ""
5338
-
5339
- #: src/Classes/UsernameEmailRestrictLogin.php:24
5340
- msgid "<strong>ERROR</strong>: Invalid email address or incorrect password."
5341
- msgstr ""
5342
-
5343
- #: src/Classes/UsernameEmailRestrictLogin.php:25
5344
- msgid "<strong>ERROR</strong>: Invalid username or incorrect password."
5345
- msgstr ""
5346
-
5347
- #: src/Classes/WPProfileFieldParserTrait.php:56
5348
- msgid "Select a country&hellip;"
5349
- msgstr ""
5350
-
5351
- #: src/Classes/WelcomeEmailAfterSignup.php:37
5352
- msgid "[Your Password]"
5353
- msgstr ""
5354
-
5355
- #: src/ContentProtection/ConditionalBlocksIntegration.php:42
5356
- msgid ""
5357
- "The selected block will only be visible to users with an active subscription "
5358
- "to the chosen membership plans below."
5359
- msgstr ""
5360
-
5361
- #: src/ContentProtection/ContentConditions.php:111
5362
- msgid "or"
5363
- msgstr ""
5364
-
5365
- #: src/ContentProtection/ContentConditions.php:114
5366
- msgid "Select a condition"
5367
- msgstr ""
5368
-
5369
- #: src/ContentProtection/ContentConditions.php:146
5370
- #: src/ContentProtection/ContentConditions.php:151
5371
- msgid "AND"
5372
- msgstr ""
5373
-
5374
- #: src/ContentProtection/ContentConditions.php:174
5375
- msgid "OR"
5376
- msgstr ""
5377
-
5378
- #: src/ContentProtection/ContentConditions.php:216
5379
- msgid "%s Archive Page"
5380
- msgstr ""
5381
-
5382
- #: src/ContentProtection/ContentConditions.php:223
5383
- msgid "All %s"
5384
- msgstr ""
5385
-
5386
- #: src/ContentProtection/ContentConditions.php:230
5387
- msgid "Selected %s"
5388
- msgstr ""
5389
-
5390
- #: src/ContentProtection/ContentConditions.php:232
5391
- #: src/ContentProtection/ContentConditions.php:245
5392
- #: src/ContentProtection/ContentConditions.php:257
5393
- #: src/ContentProtection/ContentConditions.php:331
5394
- #: src/ContentProtection/ContentConditions.php:367
5395
- msgid "Select %s"
5396
- msgstr ""
5397
-
5398
- #: src/ContentProtection/ContentConditions.php:242
5399
- msgid "Child %s of"
5400
- msgstr ""
5401
-
5402
- #: src/ContentProtection/ContentConditions.php:243
5403
- msgid "Child of Selected %s"
5404
- msgstr ""
5405
-
5406
- #: src/ContentProtection/ContentConditions.php:254
5407
- msgid "Parent %s of"
5408
- msgstr ""
5409
-
5410
- #: src/ContentProtection/ContentConditions.php:255
5411
- msgid "Parent of Selected %s"
5412
- msgstr ""
5413
-
5414
- #: src/ContentProtection/ContentConditions.php:270
5415
- msgid "Template"
5416
- msgstr ""
5417
-
5418
- #: src/ContentProtection/ContentConditions.php:271
5419
- msgid "%s with Template"
5420
- msgstr ""
5421
-
5422
- #: src/ContentProtection/ContentConditions.php:285
5423
- msgid "Home or Front Page"
5424
- msgstr ""
5425
-
5426
- #: src/ContentProtection/ContentConditions.php:291
5427
- msgid "Blog or Posts Page"
5428
- msgstr ""
5429
-
5430
- #: src/ContentProtection/ContentConditions.php:297
5431
- msgid "Search Result Page"
5432
- msgstr ""
5433
-
5434
- #: src/ContentProtection/ContentConditions.php:303
5435
- msgid "404 Error Page"
5436
- msgstr ""
5437
-
5438
- #: src/ContentProtection/ContentConditions.php:329
5439
- msgid "%1$s with %2$s"
5440
- msgstr ""
5441
-
5442
- #: src/ContentProtection/ContentConditions.php:353
5443
- msgid "%s (%s)"
5444
- msgstr ""
5445
-
5446
- #: src/ContentProtection/ContentConditions.php:357
5447
- msgid "All %s Archive Pages"
5448
- msgstr ""
5449
-
5450
- #: src/ContentProtection/ContentConditions.php:358
5451
- #: src/ContentProtection/ContentConditions.php:364
5452
- msgid "%s Archive"
5453
- msgstr ""
5454
-
5455
- #: src/ContentProtection/ContentConditions.php:365
5456
- msgid "Selected %s Archive Pages"
5457
- msgstr ""
5458
-
5459
- #: src/ContentProtection/ElementorRestriction.php:38
5460
- msgid "ProfilePress Content Restriction"
5461
- msgstr ""
5462
-
5463
- #: src/ContentProtection/ElementorRestriction.php:52
5464
- msgid "Target Audience"
5465
- msgstr ""
5466
-
5467
- #: src/ContentProtection/ElementorRestriction.php:56
5468
- #: src/ContentProtection/WPListTable.php:196
5469
- #: src/ContentProtection/views/view.access-condition.php:33
5470
- msgid "Everyone"
5471
- msgstr ""
5472
-
5473
- #: src/ContentProtection/ElementorRestriction.php:57
5474
- msgid "Logged-in Users"
5475
- msgstr ""
5476
-
5477
- #: src/ContentProtection/ElementorRestriction.php:58
5478
- msgid "Logged-out Users"
5479
- msgstr ""
5480
-
5481
- #: src/ContentProtection/ElementorRestriction.php:68
5482
- msgid "Restrict to Membership Plans"
5483
- msgstr ""
5484
-
5485
- #: src/ContentProtection/ElementorRestriction.php:92
5486
- msgid "Restrict to User Roles"
5487
- msgstr ""
5488
-
5489
- #: src/ContentProtection/ElementorRestriction.php:119
5490
- msgid "Alternate Content"
5491
- msgstr ""
5492
-
5493
- #: src/ContentProtection/ElementorRestriction.php:120
5494
- msgid "The message to show when the main content is restricted."
5495
- msgstr ""
5496
-
5497
- #: src/ContentProtection/ElementorRestriction.php:124
5498
- msgid "Show Nothing"
5499
- msgstr ""
5500
-
5501
- #: src/ContentProtection/ElementorRestriction.php:125
5502
- #: src/ContentProtection/views/view.access-condition.php:101
5503
- msgid "Global Restrict Access Message"
5504
- msgstr ""
5505
-
5506
- #: src/ContentProtection/ElementorRestriction.php:126
5507
- #: src/ContentProtection/ElementorRestriction.php:140
5508
- #: src/ContentProtection/views/view.access-condition.php:102
5509
- msgid "Custom Message"
5510
- msgstr ""
5511
-
5512
- #: src/ContentProtection/ElementorRestriction.php:141
5513
- msgid "This message will be shown as an alternate of your content"
5514
- msgstr ""
5515
-
5516
- #: src/ContentProtection/ElementorRestriction.php:142
5517
- #: src/ContentProtection/ElementorRestriction.php:244
5518
- msgid "This content is restricted!"
5519
- msgstr ""
5520
-
5521
- #: src/ContentProtection/SettingsPage.php:42
5522
- #: src/ContentProtection/SettingsPage.php:60
5523
- msgid "Content Protection"
5524
- msgstr ""
5525
-
5526
- #: src/ContentProtection/SettingsPage.php:45
5527
- msgid "Edit Protection Rule"
5528
- msgstr ""
5529
-
5530
- #: src/ContentProtection/SettingsPage.php:49
5531
- msgid "Add Protection Rule"
5532
- msgstr ""
5533
-
5534
- #: src/ContentProtection/SettingsPage.php:81
5535
- msgid "Protection Rules"
5536
- msgstr ""
5537
-
5538
- #: src/ContentProtection/SettingsPage.php:126
5539
- msgid "Title cannot be empty."
5540
- msgstr ""
5541
-
5542
- #: src/ContentProtection/SettingsPage.php:181
5543
- #: src/ContentProtection/views/include.view.php:51
5544
- msgid "Restrict Content Shortcode"
5545
- msgstr ""
5546
-
5547
- #: src/ContentProtection/SettingsPage.php:190
5548
- msgid "WordPress Menu Protection"
5549
- msgstr ""
5550
-
5551
- #: src/ContentProtection/SettingsPage.php:202
5552
- #: src/ContentProtection/views/include.view.php:72
5553
- msgid "Elementor Restriction"
5554
- msgstr ""
5555
-
5556
- #: src/ContentProtection/SettingsPage.php:222
5557
- msgid "Add a Protection Rule"
5558
- msgstr ""
5559
-
5560
- #: src/ContentProtection/WPListTable.php:21
5561
- msgid "No protection rule found."
5562
- msgstr ""
5563
-
5564
- #: src/ContentProtection/WPListTable.php:29
5565
- msgid "Protected Contents"
5566
- msgstr ""
5567
-
5568
- #: src/ContentProtection/WPListTable.php:199
5569
- #: src/ContentProtection/views/view.access-condition.php:34
5570
- msgid "Logged in users"
5571
- msgstr ""
5572
-
5573
- #: src/ContentProtection/WPListTable.php:202
5574
- #: src/ContentProtection/views/view.access-condition.php:35
5575
- msgid "Logged out users"
5576
- msgstr ""
5577
-
5578
- #: src/ContentProtection/WPListTable.php:236
5579
- msgid "%s plan"
5580
- msgstr ""
5581
-
5582
- #: src/ContentProtection/views/include.elementor-protection.php:5
5583
- msgid ""
5584
- "Want to control the visibility of Elementor sections, containers and widgets "
5585
- "based on user roles, logged-in status and membership plans? %sLearn how to%s"
5586
- msgstr ""
5587
-
5588
- #: src/ContentProtection/views/include.menu-protection.php:5
5589
- msgid ""
5590
- "Want to control the visibility of WordPress navigation menus based on user "
5591
- "roles, logged-in status and membership plans? %sLearn how to%s"
5592
- msgstr ""
5593
-
5594
- #: src/ContentProtection/views/include.shortcode-doc-sidebar.php:5
5595
- msgid ""
5596
- "To restrict contents in a post or page, we provide the below shortcode. "
5597
- "%sLearn more%s"
5598
- msgstr ""
5599
-
5600
- #: src/ContentProtection/views/include.shortcode-doc-sidebar.php:11
5601
- msgid "Content to restrict will go here"
5602
- msgstr ""
5603
-
5604
- #: src/ContentProtection/views/include.shortcode-doc-sidebar.php:17
5605
- msgid "Want to restrict contents in the block editor? %sLearn how to%s"
5606
- msgstr ""
5607
-
5608
- #: src/ContentProtection/views/include.view-sidebar.php:18
5609
- msgid "Save Rule"
5610
- msgstr ""
5611
-
5612
- #: src/ContentProtection/views/include.view.php:16
5613
- msgid "Content to Protect"
5614
- msgstr ""
5615
-
5616
- #: src/ContentProtection/views/include.view.php:27
5617
- msgid "Access Condition"
5618
- msgstr ""
5619
-
5620
- #: src/ContentProtection/views/include.view.php:61
5621
- msgid "WordPress Menu Restriction"
5622
- msgstr ""
5623
-
5624
- #: src/ContentProtection/views/include.view.php:98
5625
- msgid "Add title"
5626
- msgstr ""
5627
-
5628
- #: src/ContentProtection/views/view.access-condition.php:29
5629
- msgid "Who can access the content?"
5630
- msgstr ""
5631
-
5632
- #: src/ContentProtection/views/view.access-condition.php:41
5633
- msgid "Select Membership Plans that can access content"
5634
- msgstr ""
5635
-
5636
- #: src/ContentProtection/views/view.access-condition.php:53
5637
- msgid "Select roles that can access content"
5638
- msgstr ""
5639
-
5640
- #: src/ContentProtection/views/view.access-condition.php:68
5641
- msgid "Select specific users that can access content"
5642
- msgstr ""
5643
-
5644
- #: src/ContentProtection/views/view.access-condition.php:83
5645
- msgid "What happens when users without access try to view the content?"
5646
- msgstr ""
5647
-
5648
- #: src/ContentProtection/views/view.access-condition.php:88
5649
- msgid "Show access restricted message"
5650
- msgstr ""
5651
-
5652
- #: src/ContentProtection/views/view.access-condition.php:89
5653
- msgid "Redirect user"
5654
- msgstr ""
5655
-
5656
- #: src/ContentProtection/views/view.access-condition.php:96
5657
- msgid "Message to show to unauthorized users"
5658
- msgstr ""
5659
-
5660
- #: src/ContentProtection/views/view.access-condition.php:103
5661
- msgid "Post Excerpt"
5662
- msgstr ""
5663
-
5664
- #: src/ContentProtection/views/view.access-condition.php:104
5665
- msgid "Post Excerpt + Global Restrict Access Message"
5666
- msgstr ""
5667
-
5668
- #: src/ContentProtection/views/view.access-condition.php:105
5669
- msgid "Post Excerpt + Custom Message"
5670
- msgstr ""
5671
-
5672
- #: src/ContentProtection/views/view.access-condition.php:109
5673
- msgid "Note that Global Restrict Access Message can be %scustomized here%s."
5674
- msgstr ""
5675
-
5676
- #: src/ContentProtection/views/view.access-condition.php:118
5677
- msgid "Custom Restricted Message"
5678
- msgstr ""
5679
-
5680
- #: src/ContentProtection/views/view.access-condition.php:140
5681
- msgid "Where should users be redirected to?"
5682
- msgstr ""
5683
-
5684
- #: src/ContentProtection/views/view.access-condition.php:145
5685
- msgid "Login page"
5686
- msgstr ""
5687
-
5688
- #: src/ContentProtection/views/view.access-condition.php:153
5689
- msgid "Redirect URL"
5690
- msgstr ""
5691
-
5692
- #. translators: %s: User login.
5693
- #: src/Functions/GlobalFunctions.php:816
5694
- msgid "Username: %s"
5695
- msgstr ""
5696
-
5697
- #: src/Functions/GlobalFunctions.php:817
5698
- msgid "To set your password, visit the following address:"
5699
- msgstr ""
5700
-
5701
- #. translators: Login details notification email subject. %s: Site title.
5702
- #: src/Functions/GlobalFunctions.php:825
5703
- msgid "[%s] Login Details"
5704
- msgstr ""
5705
-
5706
- #: src/Functions/GlobalFunctions.php:1185
5707
- msgid ""
5708
- "It must be unique for each field, not a reserve text, in lowercase letters "
5709
- "only with an underscore ( _ ) separating words e.g job_title"
5710
- msgstr ""
5711
-
5712
- #: src/Functions/GlobalFunctions.php:1297
5713
- msgid "%s (WooCommerce Billing Address)"
5714
- msgstr ""
5715
-
5716
- #: src/Functions/GlobalFunctions.php:1301
5717
- msgid "%s (WooCommerce Shipping Address)"
5718
- msgstr ""
5719
-
5720
- #: src/Functions/GlobalFunctions.php:1349
5721
- msgid "First and Last Names"
5722
- msgstr ""
5723
-
5724
- #: src/Functions/GlobalFunctions.php:1350
5725
- msgid "Last and First Names"
5726
- msgstr ""
5727
-
5728
- #: src/Functions/GlobalFunctions.php:1358
5729
- msgid "Registration Date"
5730
- msgstr ""
5731
-
5732
- #: src/Functions/GlobalFunctions.php:1493
5733
- msgid "There was an problem while verifying your file."
5734
- msgstr ""
5735
-
5736
- #: src/Functions/GlobalFunctions.php:1498
5737
- msgid "Sorry, this file extension is not permitted for security reasons."
5738
- msgstr ""
5739
-
5740
- #: src/Functions/GlobalFunctions.php:1502
5741
- msgid "Sorry, this file type is not permitted for security reasons."
5742
- msgstr ""
5743
-
5744
- #: src/Functions/GlobalFunctions.php:1506
5745
- #: src/Functions/GlobalFunctions.php:1510
5746
- msgid "Error: The file you uploaded is not accepted on our website."
5747
- msgstr ""
5748
-
5749
- #: src/Functions/MSFunctions.php:96
5750
- msgid "United States (US) dollar"
5751
- msgstr ""
5752
-
5753
- #: src/Functions/MSFunctions.php:97
5754
- msgid "Euro"
5755
- msgstr ""
5756
-
5757
- #: src/Functions/MSFunctions.php:98
5758
- msgid "Pound sterling"
5759
- msgstr ""
5760
-
5761
- #: src/Functions/MSFunctions.php:99
5762
- msgid "United Arab Emirates dirham"
5763
- msgstr ""
5764
-
5765
- #: src/Functions/MSFunctions.php:100
5766
- msgid "Afghan afghani"
5767
- msgstr ""
5768
-
5769
- #: src/Functions/MSFunctions.php:101
5770
- msgid "Albanian lek"
5771
- msgstr ""
5772
-
5773
- #: src/Functions/MSFunctions.php:102
5774
- msgid "Armenian dram"
5775
- msgstr ""
5776
-
5777
- #: src/Functions/MSFunctions.php:103
5778
- msgid "Netherlands Antillean guilder"
5779
- msgstr ""
5780
-
5781
- #: src/Functions/MSFunctions.php:104
5782
- msgid "Angolan kwanza"
5783
- msgstr ""
5784
-
5785
- #: src/Functions/MSFunctions.php:105
5786
- msgid "Argentine peso"
5787
- msgstr ""
5788
-
5789
- #: src/Functions/MSFunctions.php:106
5790
- msgid "Australian dollar"
5791
- msgstr ""
5792
-
5793
- #: src/Functions/MSFunctions.php:107
5794
- msgid "Aruban florin"
5795
- msgstr ""
5796
-
5797
- #: src/Functions/MSFunctions.php:108
5798
- msgid "Azerbaijani manat"
5799
- msgstr ""
5800
-
5801
- #: src/Functions/MSFunctions.php:109
5802
- msgid "Bosnia and Herzegovina convertible mark"
5803
- msgstr ""
5804
-
5805
- #: src/Functions/MSFunctions.php:110
5806
- msgid "Barbadian dollar"
5807
- msgstr ""
5808
-
5809
- #: src/Functions/MSFunctions.php:111
5810
- msgid "Bangladeshi taka"
5811
- msgstr ""
5812
-
5813
- #: src/Functions/MSFunctions.php:112
5814
- msgid "Bulgarian lev"
5815
- msgstr ""
5816
-
5817
- #: src/Functions/MSFunctions.php:113
5818
- msgid "Bahraini dinar"
5819
- msgstr ""
5820
-
5821
- #: src/Functions/MSFunctions.php:114
5822
- msgid "Burundian franc"
5823
- msgstr ""
5824
-
5825
- #: src/Functions/MSFunctions.php:115
5826
- msgid "Bermudian dollar"
5827
- msgstr ""
5828
-
5829
- #: src/Functions/MSFunctions.php:116
5830
- msgid "Brunei dollar"
5831
- msgstr ""
5832
-
5833
- #: src/Functions/MSFunctions.php:117
5834
- msgid "Bolivian boliviano"
5835
- msgstr ""
5836
-
5837
- #: src/Functions/MSFunctions.php:118
5838
- msgid "Brazilian real"
5839
- msgstr ""
5840
-
5841
- #: src/Functions/MSFunctions.php:119
5842
- msgid "Bahamian dollar"
5843
- msgstr ""
5844
-
5845
- #: src/Functions/MSFunctions.php:120
5846
- msgid "Bitcoin"
5847
- msgstr ""
5848
-
5849
- #: src/Functions/MSFunctions.php:121
5850
- msgid "Bhutanese ngultrum"
5851
- msgstr ""
5852
-
5853
- #: src/Functions/MSFunctions.php:122
5854
- msgid "Botswana pula"
5855
- msgstr ""
5856
-
5857
- #: src/Functions/MSFunctions.php:123
5858
- msgid "Belarusian ruble (old)"
5859
- msgstr ""
5860
-
5861
- #: src/Functions/MSFunctions.php:124
5862
- msgid "Belarusian ruble"
5863
- msgstr ""
5864
-
5865
- #: src/Functions/MSFunctions.php:125
5866
- msgid "Belize dollar"
5867
- msgstr ""
5868
-
5869
- #: src/Functions/MSFunctions.php:126
5870
- msgid "Canadian dollar"
5871
- msgstr ""
5872
-
5873
- #: src/Functions/MSFunctions.php:127
5874
- msgid "Congolese franc"
5875
- msgstr ""
5876
-
5877
- #: src/Functions/MSFunctions.php:128
5878
- msgid "Swiss franc"
5879
- msgstr ""
5880
-
5881
- #: src/Functions/MSFunctions.php:129
5882
- msgid "Chilean peso"
5883
- msgstr ""
5884
-
5885
- #: src/Functions/MSFunctions.php:130
5886
- msgid "Chinese yuan"
5887
- msgstr ""
5888
-
5889
- #: src/Functions/MSFunctions.php:131
5890
- msgid "Colombian peso"
5891
- msgstr ""
5892
-
5893
- #: src/Functions/MSFunctions.php:132
5894
- msgid "Costa Rican col&oacute;n"
5895
- msgstr ""
5896
-
5897
- #: src/Functions/MSFunctions.php:133
5898
- msgid "Cuban convertible peso"
5899
- msgstr ""
5900
-
5901
- #: src/Functions/MSFunctions.php:134
5902
- msgid "Cuban peso"
5903
- msgstr ""
5904
-
5905
- #: src/Functions/MSFunctions.php:135
5906
- msgid "Cape Verdean escudo"
5907
- msgstr ""
5908
-
5909
- #: src/Functions/MSFunctions.php:136
5910
- msgid "Czech koruna"
5911
- msgstr ""
5912
-
5913
- #: src/Functions/MSFunctions.php:137
5914
- msgid "Djiboutian franc"
5915
- msgstr ""
5916
-
5917
- #: src/Functions/MSFunctions.php:138
5918
- msgid "Danish krone"
5919
- msgstr ""
5920
-
5921
- #: src/Functions/MSFunctions.php:139
5922
- msgid "Dominican peso"
5923
- msgstr ""
5924
-
5925
- #: src/Functions/MSFunctions.php:140
5926
- msgid "Algerian dinar"
5927
- msgstr ""
5928
-
5929
- #: src/Functions/MSFunctions.php:141
5930
- msgid "Egyptian pound"
5931
- msgstr ""
5932
-
5933
- #: src/Functions/MSFunctions.php:142
5934
- msgid "Eritrean nakfa"
5935
- msgstr ""
5936
-
5937
- #: src/Functions/MSFunctions.php:143
5938
- msgid "Ethiopian birr"
5939
- msgstr ""
5940
-
5941
- #: src/Functions/MSFunctions.php:144
5942
- msgid "Fijian dollar"
5943
- msgstr ""
5944
-
5945
- #: src/Functions/MSFunctions.php:145
5946
- msgid "Falkland Islands pound"
5947
- msgstr ""
5948
-
5949
- #: src/Functions/MSFunctions.php:146
5950
- msgid "Georgian lari"
5951
- msgstr ""
5952
-
5953
- #: src/Functions/MSFunctions.php:147
5954
- msgid "Guernsey pound"
5955
- msgstr ""
5956
-
5957
- #: src/Functions/MSFunctions.php:148
5958
- msgid "Ghana cedi"
5959
- msgstr ""
5960
-
5961
- #: src/Functions/MSFunctions.php:149
5962
- msgid "Gibraltar pound"
5963
- msgstr ""
5964
-
5965
- #: src/Functions/MSFunctions.php:150
5966
- msgid "Gambian dalasi"
5967
- msgstr ""
5968
-
5969
- #: src/Functions/MSFunctions.php:151
5970
- msgid "Guinean franc"
5971
- msgstr ""
5972
-
5973
- #: src/Functions/MSFunctions.php:152
5974
- msgid "Guatemalan quetzal"
5975
- msgstr ""
5976
-
5977
- #: src/Functions/MSFunctions.php:153
5978
- msgid "Guyanese dollar"
5979
- msgstr ""
5980
-
5981
- #: src/Functions/MSFunctions.php:154
5982
- msgid "Hong Kong dollar"
5983
- msgstr ""
5984
-
5985
- #: src/Functions/MSFunctions.php:155
5986
- msgid "Honduran lempira"
5987
- msgstr ""
5988
-
5989
- #: src/Functions/MSFunctions.php:156
5990
- msgid "Croatian kuna"
5991
- msgstr ""
5992
-
5993
- #: src/Functions/MSFunctions.php:157
5994
- msgid "Haitian gourde"
5995
- msgstr ""
5996
-
5997
- #: src/Functions/MSFunctions.php:158
5998
- msgid "Hungarian forint"
5999
- msgstr ""
6000
-
6001
- #: src/Functions/MSFunctions.php:159
6002
- msgid "Indonesian rupiah"
6003
- msgstr ""
6004
-
6005
- #: src/Functions/MSFunctions.php:160
6006
- msgid "Israeli new shekel"
6007
- msgstr ""
6008
-
6009
- #: src/Functions/MSFunctions.php:161
6010
- msgid "Manx pound"
6011
- msgstr ""
6012
-
6013
- #: src/Functions/MSFunctions.php:162
6014
- msgid "Indian rupee"
6015
- msgstr ""
6016
-
6017
- #: src/Functions/MSFunctions.php:163
6018
- msgid "Iraqi dinar"
6019
- msgstr ""
6020
-
6021
- #: src/Functions/MSFunctions.php:164
6022
- msgid "Iranian rial"
6023
- msgstr ""
6024
-
6025
- #: src/Functions/MSFunctions.php:165
6026
- msgid "Iranian toman"
6027
- msgstr ""
6028
-
6029
- #: src/Functions/MSFunctions.php:166
6030
- msgid "Icelandic kr&oacute;na"
6031
- msgstr ""
6032
-
6033
- #: src/Functions/MSFunctions.php:167
6034
- msgid "Jersey pound"
6035
- msgstr ""
6036
-
6037
- #: src/Functions/MSFunctions.php:168
6038
- msgid "Jamaican dollar"
6039
- msgstr ""
6040
-
6041
- #: src/Functions/MSFunctions.php:169
6042
- msgid "Jordanian dinar"
6043
- msgstr ""
6044
-
6045
- #: src/Functions/MSFunctions.php:170
6046
- msgid "Japanese yen"
6047
- msgstr ""
6048
-
6049
- #: src/Functions/MSFunctions.php:171
6050
- msgid "Kenyan shilling"
6051
- msgstr ""
6052
-
6053
- #: src/Functions/MSFunctions.php:172
6054
- msgid "Kyrgyzstani som"
6055
- msgstr ""
6056
-
6057
- #: src/Functions/MSFunctions.php:173
6058
- msgid "Cambodian riel"
6059
- msgstr ""
6060
-
6061
- #: src/Functions/MSFunctions.php:174
6062
- msgid "Comorian franc"
6063
- msgstr ""
6064
-
6065
- #: src/Functions/MSFunctions.php:175
6066
- msgid "North Korean won"
6067
- msgstr ""
6068
-
6069
- #: src/Functions/MSFunctions.php:176
6070
- msgid "South Korean won"
6071
- msgstr ""
6072
-
6073
- #: src/Functions/MSFunctions.php:177
6074
- msgid "Kuwaiti dinar"
6075
- msgstr ""
6076
-
6077
- #: src/Functions/MSFunctions.php:178
6078
- msgid "Cayman Islands dollar"
6079
- msgstr ""
6080
-
6081
- #: src/Functions/MSFunctions.php:179
6082
- msgid "Kazakhstani tenge"
6083
- msgstr ""
6084
-
6085
- #: src/Functions/MSFunctions.php:180
6086
- msgid "Lao kip"
6087
- msgstr ""
6088
-
6089
- #: src/Functions/MSFunctions.php:181
6090
- msgid "Lebanese pound"
6091
- msgstr ""
6092
-
6093
- #: src/Functions/MSFunctions.php:182
6094
- msgid "Sri Lankan rupee"
6095
- msgstr ""
6096
-
6097
- #: src/Functions/MSFunctions.php:183
6098
- msgid "Liberian dollar"
6099
- msgstr ""
6100
-
6101
- #: src/Functions/MSFunctions.php:184
6102
- msgid "Lesotho loti"
6103
- msgstr ""
6104
-
6105
- #: src/Functions/MSFunctions.php:185
6106
- msgid "Libyan dinar"
6107
- msgstr ""
6108
-
6109
- #: src/Functions/MSFunctions.php:186
6110
- msgid "Moroccan dirham"
6111
- msgstr ""
6112
-
6113
- #: src/Functions/MSFunctions.php:187
6114
- msgid "Moldovan leu"
6115
- msgstr ""
6116
-
6117
- #: src/Functions/MSFunctions.php:188
6118
- msgid "Malagasy ariary"
6119
- msgstr ""
6120
-
6121
- #: src/Functions/MSFunctions.php:189
6122
- msgid "Macedonian denar"
6123
- msgstr ""
6124
-
6125
- #: src/Functions/MSFunctions.php:190
6126
- msgid "Burmese kyat"
6127
- msgstr ""
6128
-
6129
- #: src/Functions/MSFunctions.php:191
6130
- msgid "Mongolian t&ouml;gr&ouml;g"
6131
- msgstr ""
6132
-
6133
- #: src/Functions/MSFunctions.php:192
6134
- msgid "Macanese pataca"
6135
- msgstr ""
6136
-
6137
- #: src/Functions/MSFunctions.php:193
6138
- msgid "Mauritanian ouguiya"
6139
- msgstr ""
6140
-
6141
- #: src/Functions/MSFunctions.php:194
6142
- msgid "Mauritian rupee"
6143
- msgstr ""
6144
-
6145
- #: src/Functions/MSFunctions.php:195
6146
- msgid "Maldivian rufiyaa"
6147
- msgstr ""
6148
-
6149
- #: src/Functions/MSFunctions.php:196
6150
- msgid "Malawian kwacha"
6151
- msgstr ""
6152
-
6153
- #: src/Functions/MSFunctions.php:197
6154
- msgid "Mexican peso"
6155
- msgstr ""
6156
-
6157
- #: src/Functions/MSFunctions.php:198
6158
- msgid "Malaysian ringgit"
6159
- msgstr ""
6160
-
6161
- #: src/Functions/MSFunctions.php:199
6162
- msgid "Mozambican metical"
6163
- msgstr ""
6164
-
6165
- #: src/Functions/MSFunctions.php:200
6166
- msgid "Namibian dollar"
6167
- msgstr ""
6168
-
6169
- #: src/Functions/MSFunctions.php:201
6170
- msgid "Nigerian naira"
6171
- msgstr ""
6172
-
6173
- #: src/Functions/MSFunctions.php:202
6174
- msgid "Nicaraguan c&oacute;rdoba"
6175
- msgstr ""
6176
-
6177
- #: src/Functions/MSFunctions.php:203
6178
- msgid "Norwegian krone"
6179
- msgstr ""
6180
-
6181
- #: src/Functions/MSFunctions.php:204
6182
- msgid "Nepalese rupee"
6183
- msgstr ""
6184
-
6185
- #: src/Functions/MSFunctions.php:205
6186
- msgid "New Zealand dollar"
6187
- msgstr ""
6188
-
6189
- #: src/Functions/MSFunctions.php:206
6190
- msgid "Omani rial"
6191
- msgstr ""
6192
-
6193
- #: src/Functions/MSFunctions.php:207
6194
- msgid "Panamanian balboa"
6195
- msgstr ""
6196
-
6197
- #: src/Functions/MSFunctions.php:208
6198
- msgid "Sol"
6199
- msgstr ""
6200
-
6201
- #: src/Functions/MSFunctions.php:209
6202
- msgid "Papua New Guinean kina"
6203
- msgstr ""
6204
-
6205
- #: src/Functions/MSFunctions.php:210
6206
- msgid "Philippine peso"
6207
- msgstr ""
6208
-
6209
- #: src/Functions/MSFunctions.php:211
6210
- msgid "Pakistani rupee"
6211
- msgstr ""
6212
-
6213
- #: src/Functions/MSFunctions.php:212
6214
- msgid "Polish z&#x142;oty"
6215
- msgstr ""
6216
-
6217
- #: src/Functions/MSFunctions.php:213
6218
- msgid "Transnistrian ruble"
6219
- msgstr ""
6220
-
6221
- #: src/Functions/MSFunctions.php:214
6222
- msgid "Paraguayan guaran&iacute;"
6223
- msgstr ""
6224
-
6225
- #: src/Functions/MSFunctions.php:215
6226
- msgid "Qatari riyal"
6227
- msgstr ""
6228
-
6229
- #: src/Functions/MSFunctions.php:216
6230
- msgid "Romanian leu"
6231
- msgstr ""
6232
-
6233
- #: src/Functions/MSFunctions.php:217
6234
- msgid "Serbian dinar"
6235
- msgstr ""
6236
-
6237
- #: src/Functions/MSFunctions.php:218
6238
- msgid "Russian ruble"
6239
- msgstr ""
6240
-
6241
- #: src/Functions/MSFunctions.php:219
6242
- msgid "Rwandan franc"
6243
- msgstr ""
6244
-
6245
- #: src/Functions/MSFunctions.php:220
6246
- msgid "Saudi riyal"
6247
- msgstr ""
6248
-
6249
- #: src/Functions/MSFunctions.php:221
6250
- msgid "Solomon Islands dollar"
6251
- msgstr ""
6252
-
6253
- #: src/Functions/MSFunctions.php:222
6254
- msgid "Seychellois rupee"
6255
- msgstr ""
6256
-
6257
- #: src/Functions/MSFunctions.php:223
6258
- msgid "Sudanese pound"
6259
- msgstr ""
6260
-
6261
- #: src/Functions/MSFunctions.php:224
6262
- msgid "Swedish krona"
6263
- msgstr ""
6264
-
6265
- #: src/Functions/MSFunctions.php:225
6266
- msgid "Singapore dollar"
6267
- msgstr ""
6268
-
6269
- #: src/Functions/MSFunctions.php:226
6270
- msgid "Saint Helena pound"
6271
- msgstr ""
6272
-
6273
- #: src/Functions/MSFunctions.php:227
6274
- msgid "Sierra Leonean leone"
6275
- msgstr ""
6276
-
6277
- #: src/Functions/MSFunctions.php:228
6278
- msgid "Somali shilling"
6279
- msgstr ""
6280
-
6281
- #: src/Functions/MSFunctions.php:229
6282
- msgid "Surinamese dollar"
6283
- msgstr ""
6284
-
6285
- #: src/Functions/MSFunctions.php:230
6286
- msgid "South Sudanese pound"
6287
- msgstr ""
6288
-
6289
- #: src/Functions/MSFunctions.php:231
6290
- msgid "S&atilde;o Tom&eacute; and Pr&iacute;ncipe dobra"
6291
- msgstr ""
6292
-
6293
- #: src/Functions/MSFunctions.php:232
6294
- msgid "Syrian pound"
6295
- msgstr ""
6296
-
6297
- #: src/Functions/MSFunctions.php:233
6298
- msgid "Swazi lilangeni"
6299
- msgstr ""
6300
-
6301
- #: src/Functions/MSFunctions.php:234
6302
- msgid "Thai baht"
6303
- msgstr ""
6304
-
6305
- #: src/Functions/MSFunctions.php:235
6306
- msgid "Tajikistani somoni"
6307
- msgstr ""
6308
-
6309
- #: src/Functions/MSFunctions.php:236
6310
- msgid "Turkmenistan manat"
6311
- msgstr ""
6312
-
6313
- #: src/Functions/MSFunctions.php:237
6314
- msgid "Tunisian dinar"
6315
- msgstr ""
6316
-
6317
- #: src/Functions/MSFunctions.php:238
6318
- msgid "Tongan pa&#x2bb;anga"
6319
- msgstr ""
6320
-
6321
- #: src/Functions/MSFunctions.php:239
6322
- msgid "Turkish lira"
6323
- msgstr ""
6324
-
6325
- #: src/Functions/MSFunctions.php:240
6326
- msgid "Trinidad and Tobago dollar"
6327
- msgstr ""
6328
-
6329
- #: src/Functions/MSFunctions.php:241
6330
- msgid "New Taiwan dollar"
6331
- msgstr ""
6332
-
6333
- #: src/Functions/MSFunctions.php:242
6334
- msgid "Tanzanian shilling"
6335
- msgstr ""
6336
-
6337
- #: src/Functions/MSFunctions.php:243
6338
- msgid "Ukrainian hryvnia"
6339
- msgstr ""
6340
-
6341
- #: src/Functions/MSFunctions.php:244
6342
- msgid "Ugandan shilling"
6343
- msgstr ""
6344
-
6345
- #: src/Functions/MSFunctions.php:245
6346
- msgid "Uruguayan peso"
6347
- msgstr ""
6348
-
6349
- #: src/Functions/MSFunctions.php:246
6350
- msgid "Uzbekistani som"
6351
- msgstr ""
6352
-
6353
- #: src/Functions/MSFunctions.php:247
6354
- msgid "Venezuelan bol&iacute;var"
6355
- msgstr ""
6356
-
6357
- #: src/Functions/MSFunctions.php:248
6358
- msgid "Bol&iacute;var soberano"
6359
- msgstr ""
6360
-
6361
- #: src/Functions/MSFunctions.php:249
6362
- msgid "Vietnamese &#x111;&#x1ed3;ng"
6363
- msgstr ""
6364
-
6365
- #: src/Functions/MSFunctions.php:250
6366
- msgid "Vanuatu vatu"
6367
- msgstr ""
6368
-
6369
- #: src/Functions/MSFunctions.php:251
6370
- msgid "Samoan t&#x101;l&#x101;"
6371
- msgstr ""
6372
-
6373
- #: src/Functions/MSFunctions.php:252
6374
- msgid "Central African CFA franc"
6375
- msgstr ""
6376
-
6377
- #: src/Functions/MSFunctions.php:253
6378
- msgid "East Caribbean dollar"
6379
- msgstr ""
6380
-
6381
- #: src/Functions/MSFunctions.php:254
6382
- msgid "West African CFA franc"
6383
- msgstr ""
6384
-
6385
- #: src/Functions/MSFunctions.php:255
6386
- msgid "CFP franc"
6387
- msgstr ""
6388
-
6389
- #: src/Functions/MSFunctions.php:256
6390
- msgid "Yemeni rial"
6391
- msgstr ""
6392
-
6393
- #: src/Functions/MSFunctions.php:257
6394
- msgid "South African rand"
6395
- msgstr ""
6396
-
6397
- #: src/Functions/MSFunctions.php:258
6398
- msgid "Zambian kwacha"
6399
- msgstr ""
6400
-
6401
- #: src/Functions/PPressBFnote.php:83
6402
- msgid ""
6403
- "%1$sHuge Black Friday Sale%2$s: Get 25%% off your ProfilePress plugin "
6404
- "upgrade today with the coupon %3$sBFCM%4$s"
6405
- msgstr ""
6406
-
6407
- #: src/Functions/PPressBFnote.php:92
6408
- msgid "Save 25% Now!"
6409
- msgstr ""
6410
-
6411
- #: src/Functions/PPressBFnote.php:100
6412
- msgid "Dismiss this notice"
6413
- msgstr ""
6414
-
6415
- #: src/Functions/data/countries.php:14
6416
- msgid "United States (US)"
6417
- msgstr ""
6418
-
6419
- #: src/Functions/data/countries.php:15
6420
- msgid "Canada"
6421
- msgstr ""
6422
-
6423
- #: src/Functions/data/countries.php:16
6424
- msgid "United Kingdom (UK)"
6425
- msgstr ""
6426
-
6427
- #: src/Functions/data/countries.php:17
6428
- msgid "Afghanistan"
6429
- msgstr ""
6430
-
6431
- #: src/Functions/data/countries.php:18
6432
- msgid "Åland Islands"
6433
- msgstr ""
6434
-
6435
- #: src/Functions/data/countries.php:19
6436
- msgid "Albania"
6437
- msgstr ""
6438
-
6439
- #: src/Functions/data/countries.php:20
6440
- msgid "Algeria"
6441
- msgstr ""
6442
-
6443
- #: src/Functions/data/countries.php:21
6444
- msgid "American Samoa"
6445
- msgstr ""
6446
-
6447
- #: src/Functions/data/countries.php:22
6448
- msgid "Andorra"
6449
- msgstr ""
6450
-
6451
- #: src/Functions/data/countries.php:23
6452
- msgid "Angola"
6453
- msgstr ""
6454
-
6455
- #: src/Functions/data/countries.php:24
6456
- msgid "Anguilla"
6457
- msgstr ""
6458
-
6459
- #: src/Functions/data/countries.php:25
6460
- msgid "Antarctica"
6461
- msgstr ""
6462
-
6463
- #: src/Functions/data/countries.php:26
6464
- msgid "Antigua and Barbuda"
6465
- msgstr ""
6466
-
6467
- #: src/Functions/data/countries.php:27
6468
- msgid "Argentina"
6469
- msgstr ""
6470
-
6471
- #: src/Functions/data/countries.php:28
6472
- msgid "Armenia"
6473
- msgstr ""
6474
-
6475
- #: src/Functions/data/countries.php:29
6476
- msgid "Aruba"
6477
- msgstr ""
6478
-
6479
- #: src/Functions/data/countries.php:30
6480
- msgid "Australia"
6481
- msgstr ""
6482
-
6483
- #: src/Functions/data/countries.php:31
6484
- msgid "Austria"
6485
- msgstr ""
6486
-
6487
- #: src/Functions/data/countries.php:32
6488
- msgid "Azerbaijan"
6489
- msgstr ""
6490
-
6491
- #: src/Functions/data/countries.php:33
6492
- msgid "Bahamas"
6493
- msgstr ""
6494
-
6495
- #: src/Functions/data/countries.php:34
6496
- msgid "Bahrain"
6497
- msgstr ""
6498
-
6499
- #: src/Functions/data/countries.php:35
6500
- msgid "Bangladesh"
6501
- msgstr ""
6502
-
6503
- #: src/Functions/data/countries.php:36
6504
- msgid "Barbados"
6505
- msgstr ""
6506
-
6507
- #: src/Functions/data/countries.php:37
6508
- msgid "Belarus"
6509
- msgstr ""
6510
-
6511
- #: src/Functions/data/countries.php:38
6512
- msgid "Belgium"
6513
- msgstr ""
6514
-
6515
- #: src/Functions/data/countries.php:39
6516
- msgid "Belau"
6517
- msgstr ""
6518
-
6519
- #: src/Functions/data/countries.php:40
6520
- msgid "Belize"
6521
- msgstr ""
6522
-
6523
- #: src/Functions/data/countries.php:41
6524
- msgid "Benin"
6525
- msgstr ""
6526
-
6527
- #: src/Functions/data/countries.php:42
6528
- msgid "Bermuda"
6529
- msgstr ""
6530
-
6531
- #: src/Functions/data/countries.php:43
6532
- msgid "Bhutan"
6533
- msgstr ""
6534
-
6535
- #: src/Functions/data/countries.php:44
6536
- msgid "Bolivia"
6537
- msgstr ""
6538
-
6539
- #: src/Functions/data/countries.php:45
6540
- msgid "Bonaire, Saint Eustatius and Saba"
6541
- msgstr ""
6542
-
6543
- #: src/Functions/data/countries.php:46
6544
- msgid "Bosnia and Herzegovina"
6545
- msgstr ""
6546
-
6547
- #: src/Functions/data/countries.php:47
6548
- msgid "Botswana"
6549
- msgstr ""
6550
-
6551
- #: src/Functions/data/countries.php:48
6552
- msgid "Bouvet Island"
6553
- msgstr ""
6554
-
6555
- #: src/Functions/data/countries.php:49
6556
- msgid "Brazil"
6557
- msgstr ""
6558
-
6559
- #: src/Functions/data/countries.php:50
6560
- msgid "British Indian Ocean Territory"
6561
- msgstr ""
6562
-
6563
- #: src/Functions/data/countries.php:51
6564
- msgid "Brunei"
6565
- msgstr ""
6566
-
6567
- #: src/Functions/data/countries.php:52
6568
- msgid "Bulgaria"
6569
- msgstr ""
6570
-
6571
- #: src/Functions/data/countries.php:53
6572
- msgid "Burkina Faso"
6573
- msgstr ""
6574
-
6575
- #: src/Functions/data/countries.php:54
6576
- msgid "Burundi"
6577
- msgstr ""
6578
-
6579
- #: src/Functions/data/countries.php:55
6580
- msgid "Cambodia"
6581
- msgstr ""
6582
-
6583
- #: src/Functions/data/countries.php:56
6584
- msgid "Cameroon"
6585
- msgstr ""
6586
-
6587
- #: src/Functions/data/countries.php:57
6588
- msgid "Cape Verde"
6589
- msgstr ""
6590
-
6591
- #: src/Functions/data/countries.php:58
6592
- msgid "Cayman Islands"
6593
- msgstr ""
6594
-
6595
- #: src/Functions/data/countries.php:59
6596
- msgid "Central African Republic"
6597
- msgstr ""
6598
-
6599
- #: src/Functions/data/countries.php:60
6600
- msgid "Chad"
6601
- msgstr ""
6602
-
6603
- #: src/Functions/data/countries.php:61
6604
- msgid "Chile"
6605
- msgstr ""
6606
-
6607
- #: src/Functions/data/countries.php:62
6608
- msgid "China"
6609
- msgstr ""
6610
-
6611
- #: src/Functions/data/countries.php:63
6612
- msgid "Christmas Island"
6613
- msgstr ""
6614
-
6615
- #: src/Functions/data/countries.php:64
6616
- msgid "Cocos (Keeling) Islands"
6617
- msgstr ""
6618
-
6619
- #: src/Functions/data/countries.php:65
6620
- msgid "Colombia"
6621
- msgstr ""
6622
-
6623
- #: src/Functions/data/countries.php:66
6624
- msgid "Comoros"
6625
- msgstr ""
6626
-
6627
- #: src/Functions/data/countries.php:67
6628
- msgid "Congo (Brazzaville)"
6629
- msgstr ""
6630
-
6631
- #: src/Functions/data/countries.php:68
6632
- msgid "Congo (Kinshasa)"
6633
- msgstr ""
6634
-
6635
- #: src/Functions/data/countries.php:69
6636
- msgid "Cook Islands"
6637
- msgstr ""
6638
-
6639
- #: src/Functions/data/countries.php:70
6640
- msgid "Costa Rica"
6641
- msgstr ""
6642
-
6643
- #: src/Functions/data/countries.php:71
6644
- msgid "Croatia"
6645
- msgstr ""
6646
-
6647
- #: src/Functions/data/countries.php:72
6648
- msgid "Cuba"
6649
- msgstr ""
6650
-
6651
- #: src/Functions/data/countries.php:73
6652
- msgid "Cura&ccedil;ao"
6653
- msgstr ""
6654
-
6655
- #: src/Functions/data/countries.php:74
6656
- msgid "Cyprus"
6657
- msgstr ""
6658
-
6659
- #: src/Functions/data/countries.php:75
6660
- msgid "Czech Republic"
6661
- msgstr ""
6662
-
6663
- #: src/Functions/data/countries.php:76
6664
- msgid "Denmark"
6665
- msgstr ""
6666
-
6667
- #: src/Functions/data/countries.php:77
6668
- msgid "Djibouti"
6669
- msgstr ""
6670
-
6671
- #: src/Functions/data/countries.php:78
6672
- msgid "Dominica"
6673
- msgstr ""
6674
-
6675
- #: src/Functions/data/countries.php:79
6676
- msgid "Dominican Republic"
6677
- msgstr ""
6678
-
6679
- #: src/Functions/data/countries.php:80
6680
- msgid "Ecuador"
6681
- msgstr ""
6682
-
6683
- #: src/Functions/data/countries.php:81
6684
- msgid "Egypt"
6685
- msgstr ""
6686
-
6687
- #: src/Functions/data/countries.php:82
6688
- msgid "El Salvador"
6689
- msgstr ""
6690
-
6691
- #: src/Functions/data/countries.php:83
6692
- msgid "Equatorial Guinea"
6693
- msgstr ""
6694
-
6695
- #: src/Functions/data/countries.php:84
6696
- msgid "Eritrea"
6697
- msgstr ""
6698
-
6699
- #: src/Functions/data/countries.php:85
6700
- msgid "Estonia"
6701
- msgstr ""
6702
-
6703
- #: src/Functions/data/countries.php:86
6704
- msgid "Ethiopia"
6705
- msgstr ""
6706
-
6707
- #: src/Functions/data/countries.php:87
6708
- msgid "Falkland Islands"
6709
- msgstr ""
6710
-
6711
- #: src/Functions/data/countries.php:88
6712
- msgid "Faroe Islands"
6713
- msgstr ""
6714
-
6715
- #: src/Functions/data/countries.php:89
6716
- msgid "Fiji"
6717
- msgstr ""
6718
-
6719
- #: src/Functions/data/countries.php:90
6720
- msgid "Finland"
6721
- msgstr ""
6722
-
6723
- #: src/Functions/data/countries.php:91
6724
- msgid "France"
6725
- msgstr ""
6726
-
6727
- #: src/Functions/data/countries.php:92
6728
- msgid "French Guiana"
6729
- msgstr ""
6730
-
6731
- #: src/Functions/data/countries.php:93
6732
- msgid "French Polynesia"
6733
- msgstr ""
6734
-
6735
- #: src/Functions/data/countries.php:94
6736
- msgid "French Southern Territories"
6737
- msgstr ""
6738
-
6739
- #: src/Functions/data/countries.php:95
6740
- msgid "Gabon"
6741
- msgstr ""
6742
-
6743
- #: src/Functions/data/countries.php:96
6744
- msgid "Gambia"
6745
- msgstr ""
6746
-
6747
- #: src/Functions/data/countries.php:98
6748
- msgid "Germany"
6749
- msgstr ""
6750
-
6751
- #: src/Functions/data/countries.php:99
6752
- msgid "Ghana"
6753
- msgstr ""
6754
-
6755
- #: src/Functions/data/countries.php:100
6756
- msgid "Gibraltar"
6757
- msgstr ""
6758
-
6759
- #: src/Functions/data/countries.php:101
6760
- msgid "Greece"
6761
- msgstr ""
6762
-
6763
- #: src/Functions/data/countries.php:102
6764
- msgid "Greenland"
6765
- msgstr ""
6766
-
6767
- #: src/Functions/data/countries.php:103
6768
- msgid "Grenada"
6769
- msgstr ""
6770
-
6771
- #: src/Functions/data/countries.php:104
6772
- msgid "Guadeloupe"
6773
- msgstr ""
6774
-
6775
- #: src/Functions/data/countries.php:105
6776
- msgid "Guam"
6777
- msgstr ""
6778
-
6779
- #: src/Functions/data/countries.php:106 src/Functions/data/states.php:640
6780
- msgid "Guatemala"
6781
- msgstr ""
6782
-
6783
- #: src/Functions/data/countries.php:107
6784
- msgid "Guernsey"
6785
- msgstr ""
6786
-
6787
- #: src/Functions/data/countries.php:108
6788
- msgid "Guinea"
6789
- msgstr ""
6790
-
6791
- #: src/Functions/data/countries.php:109
6792
- msgid "Guinea-Bissau"
6793
- msgstr ""
6794
-
6795
- #: src/Functions/data/countries.php:110
6796
- msgid "Guyana"
6797
- msgstr ""
6798
-
6799
- #: src/Functions/data/countries.php:111
6800
- msgid "Haiti"
6801
- msgstr ""
6802
-
6803
- #: src/Functions/data/countries.php:112
6804
- msgid "Heard Island and McDonald Islands"
6805
- msgstr ""
6806
-
6807
- #: src/Functions/data/countries.php:113
6808
- msgid "Honduras"
6809
- msgstr ""
6810
-
6811
- #: src/Functions/data/countries.php:114
6812
- msgid "Hong Kong"
6813
- msgstr ""
6814
-
6815
- #: src/Functions/data/countries.php:115
6816
- msgid "Hungary"
6817
- msgstr ""
6818
-
6819
- #: src/Functions/data/countries.php:116
6820
- msgid "Iceland"
6821
- msgstr ""
6822
-
6823
- #: src/Functions/data/countries.php:117
6824
- msgid "India"
6825
- msgstr ""
6826
-
6827
- #: src/Functions/data/countries.php:118
6828
- msgid "Indonesia"
6829
- msgstr ""
6830
-
6831
- #: src/Functions/data/countries.php:119
6832
- msgid "Iran"
6833
- msgstr ""
6834
-
6835
- #: src/Functions/data/countries.php:120
6836
- msgid "Iraq"
6837
- msgstr ""
6838
-
6839
- #: src/Functions/data/countries.php:121
6840
- msgid "Ireland"
6841
- msgstr ""
6842
-
6843
- #: src/Functions/data/countries.php:122
6844
- msgid "Isle of Man"
6845
- msgstr ""
6846
-
6847
- #: src/Functions/data/countries.php:123
6848
- msgid "Israel"
6849
- msgstr ""
6850
-
6851
- #: src/Functions/data/countries.php:124
6852
- msgid "Italy"
6853
- msgstr ""
6854
-
6855
- #: src/Functions/data/countries.php:125
6856
- msgid "Ivory Coast"
6857
- msgstr ""
6858
-
6859
- #: src/Functions/data/countries.php:126
6860
- msgid "Jamaica"
6861
- msgstr ""
6862
-
6863
- #: src/Functions/data/countries.php:127
6864
- msgid "Japan"
6865
- msgstr ""
6866
-
6867
- #: src/Functions/data/countries.php:128
6868
- msgid "Jersey"
6869
- msgstr ""
6870
-
6871
- #: src/Functions/data/countries.php:129
6872
- msgid "Jordan"
6873
- msgstr ""
6874
-
6875
- #: src/Functions/data/countries.php:130
6876
- msgid "Kazakhstan"
6877
- msgstr ""
6878
-
6879
- #: src/Functions/data/countries.php:131
6880
- msgid "Kenya"
6881
- msgstr ""
6882
-
6883
- #: src/Functions/data/countries.php:132
6884
- msgid "Kiribati"
6885
- msgstr ""
6886
-
6887
- #: src/Functions/data/countries.php:133
6888
- msgid "Kuwait"
6889
- msgstr ""
6890
-
6891
- #: src/Functions/data/countries.php:134
6892
- msgid "Kyrgyzstan"
6893
- msgstr ""
6894
-
6895
- #: src/Functions/data/countries.php:135
6896
- msgid "Laos"
6897
- msgstr ""
6898
-
6899
- #: src/Functions/data/countries.php:136
6900
- msgid "Latvia"
6901
- msgstr ""
6902
-
6903
- #: src/Functions/data/countries.php:137
6904
- msgid "Lebanon"
6905
- msgstr ""
6906
-
6907
- #: src/Functions/data/countries.php:138
6908
- msgid "Lesotho"
6909
- msgstr ""
6910
-
6911
- #: src/Functions/data/countries.php:139
6912
- msgid "Liberia"
6913
- msgstr ""
6914
-
6915
- #: src/Functions/data/countries.php:140
6916
- msgid "Libya"
6917
- msgstr ""
6918
-
6919
- #: src/Functions/data/countries.php:141
6920
- msgid "Liechtenstein"
6921
- msgstr ""
6922
-
6923
- #: src/Functions/data/countries.php:142
6924
- msgid "Lithuania"
6925
- msgstr ""
6926
-
6927
- #: src/Functions/data/countries.php:143
6928
- msgid "Luxembourg"
6929
- msgstr ""
6930
-
6931
- #: src/Functions/data/countries.php:144
6932
- msgid "Macao"
6933
- msgstr ""
6934
-
6935
- #: src/Functions/data/countries.php:145
6936
- msgid "North Macedonia"
6937
- msgstr ""
6938
-
6939
- #: src/Functions/data/countries.php:146
6940
- msgid "Madagascar"
6941
- msgstr ""
6942
-
6943
- #: src/Functions/data/countries.php:147
6944
- msgid "Malawi"
6945
- msgstr ""
6946
-
6947
- #: src/Functions/data/countries.php:148
6948
- msgid "Malaysia"
6949
- msgstr ""
6950
-
6951
- #: src/Functions/data/countries.php:149
6952
- msgid "Maldives"
6953
- msgstr ""
6954
-
6955
- #: src/Functions/data/countries.php:150
6956
- msgid "Mali"
6957
- msgstr ""
6958
-
6959
- #: src/Functions/data/countries.php:151
6960
- msgid "Malta"
6961
- msgstr ""
6962
-
6963
- #: src/Functions/data/countries.php:152
6964
- msgid "Marshall Islands"
6965
- msgstr ""
6966
-
6967
- #: src/Functions/data/countries.php:153
6968
- msgid "Martinique"
6969
- msgstr ""
6970
-
6971
- #: src/Functions/data/countries.php:154
6972
- msgid "Mauritania"
6973
- msgstr ""
6974
-
6975
- #: src/Functions/data/countries.php:155
6976
- msgid "Mauritius"
6977
- msgstr ""
6978
-
6979
- #: src/Functions/data/countries.php:156
6980
- msgid "Mayotte"
6981
- msgstr ""
6982
-
6983
- #: src/Functions/data/countries.php:157
6984
- msgid "Mexico"
6985
- msgstr ""
6986
-
6987
- #: src/Functions/data/countries.php:158
6988
- msgid "Micronesia"
6989
- msgstr ""
6990
-
6991
- #: src/Functions/data/countries.php:159
6992
- msgid "Moldova"
6993
- msgstr ""
6994
-
6995
- #: src/Functions/data/countries.php:160
6996
- msgid "Monaco"
6997
- msgstr ""
6998
-
6999
- #: src/Functions/data/countries.php:161
7000
- msgid "Mongolia"
7001
- msgstr ""
7002
-
7003
- #: src/Functions/data/countries.php:162
7004
- msgid "Montenegro"
7005
- msgstr ""
7006
-
7007
- #: src/Functions/data/countries.php:163
7008
- msgid "Montserrat"
7009
- msgstr ""
7010
-
7011
- #: src/Functions/data/countries.php:164
7012
- msgid "Morocco"
7013
- msgstr ""
7014
-
7015
- #: src/Functions/data/countries.php:165
7016
- msgid "Mozambique"
7017
- msgstr ""
7018
-
7019
- #: src/Functions/data/countries.php:166
7020
- msgid "Myanmar"
7021
- msgstr ""
7022
-
7023
- #: src/Functions/data/countries.php:167
7024
- msgid "Namibia"
7025
- msgstr ""
7026
-
7027
- #: src/Functions/data/countries.php:168
7028
- msgid "Nauru"
7029
- msgstr ""
7030
-
7031
- #: src/Functions/data/countries.php:169
7032
- msgid "Nepal"
7033
- msgstr ""
7034
-
7035
- #: src/Functions/data/countries.php:170
7036
- msgid "Netherlands"
7037
- msgstr ""
7038
-
7039
- #: src/Functions/data/countries.php:171
7040
- msgid "New Caledonia"
7041
- msgstr ""
7042
-
7043
- #: src/Functions/data/countries.php:172
7044
- msgid "New Zealand"
7045
- msgstr ""
7046
-
7047
- #: src/Functions/data/countries.php:173
7048
- msgid "Nicaragua"
7049
- msgstr ""
7050
-
7051
- #: src/Functions/data/countries.php:174 src/Functions/data/states.php:1261
7052
- msgid "Niger"
7053
- msgstr ""
7054
-
7055
- #: src/Functions/data/countries.php:175
7056
- msgid "Nigeria"
7057
- msgstr ""
7058
-
7059
- #: src/Functions/data/countries.php:176
7060
- msgid "Niue"
7061
- msgstr ""
7062
-
7063
- #: src/Functions/data/countries.php:177
7064
- msgid "Norfolk Island"
7065
- msgstr ""
7066
-
7067
- #: src/Functions/data/countries.php:178
7068
- msgid "Northern Mariana Islands"
7069
- msgstr ""
7070
-
7071
- #: src/Functions/data/countries.php:179
7072
- msgid "North Korea"
7073
- msgstr ""
7074
-
7075
- #: src/Functions/data/countries.php:180
7076
- msgid "Norway"
7077
- msgstr ""
7078
-
7079
- #: src/Functions/data/countries.php:181
7080
- msgid "Oman"
7081
- msgstr ""
7082
-
7083
- #: src/Functions/data/countries.php:182
7084
- msgid "Pakistan"
7085
- msgstr ""
7086
-
7087
- #: src/Functions/data/countries.php:183
7088
- msgid "Palestinian Territory"
7089
- msgstr ""
7090
-
7091
- #: src/Functions/data/countries.php:184
7092
- msgid "Panama"
7093
- msgstr ""
7094
-
7095
- #: src/Functions/data/countries.php:185
7096
- msgid "Papua New Guinea"
7097
- msgstr ""
7098
-
7099
- #: src/Functions/data/countries.php:186
7100
- msgid "Paraguay"
7101
- msgstr ""
7102
-
7103
- #: src/Functions/data/countries.php:187
7104
- msgid "Peru"
7105
- msgstr ""
7106
-
7107
- #: src/Functions/data/countries.php:188
7108
- msgid "Philippines"
7109
- msgstr ""
7110
-
7111
- #: src/Functions/data/countries.php:189
7112
- msgid "Pitcairn"
7113
- msgstr ""
7114
-
7115
- #: src/Functions/data/countries.php:190
7116
- msgid "Poland"
7117
- msgstr ""
7118
-
7119
- #: src/Functions/data/countries.php:191
7120
- msgid "Portugal"
7121
- msgstr ""
7122
-
7123
- #: src/Functions/data/countries.php:192
7124
- msgid "Puerto Rico"
7125
- msgstr ""
7126
-
7127
- #: src/Functions/data/countries.php:193
7128
- msgid "Qatar"
7129
- msgstr ""
7130
-
7131
- #: src/Functions/data/countries.php:194
7132
- msgid "Reunion"
7133
- msgstr ""
7134
-
7135
- #: src/Functions/data/countries.php:195
7136
- msgid "Romania"
7137
- msgstr ""
7138
-
7139
- #: src/Functions/data/countries.php:196
7140
- msgid "Russia"
7141
- msgstr ""
7142
-
7143
- #: src/Functions/data/countries.php:197
7144
- msgid "Rwanda"
7145
- msgstr ""
7146
-
7147
- #: src/Functions/data/countries.php:198
7148
- msgid "Saint Barth&eacute;lemy"
7149
- msgstr ""
7150
-
7151
- #: src/Functions/data/countries.php:199
7152
- msgid "Saint Helena"
7153
- msgstr ""
7154
-
7155
- #: src/Functions/data/countries.php:200
7156
- msgid "Saint Kitts and Nevis"
7157
- msgstr ""
7158
-
7159
- #: src/Functions/data/countries.php:201
7160
- msgid "Saint Lucia"
7161
- msgstr ""
7162
-
7163
- #: src/Functions/data/countries.php:202
7164
- msgid "Saint Martin (French part)"
7165
- msgstr ""
7166
-
7167
- #: src/Functions/data/countries.php:203
7168
- msgid "Saint Martin (Dutch part)"
7169
- msgstr ""
7170
-
7171
- #: src/Functions/data/countries.php:204
7172
- msgid "Saint Pierre and Miquelon"
7173
- msgstr ""
7174
-
7175
- #: src/Functions/data/countries.php:205
7176
- msgid "Saint Vincent and the Grenadines"
7177
- msgstr ""
7178
-
7179
- #: src/Functions/data/countries.php:206
7180
- msgid "San Marino"
7181
- msgstr ""
7182
-
7183
- #: src/Functions/data/countries.php:207
7184
- msgid "S&atilde;o Tom&eacute; and Pr&iacute;ncipe"
7185
- msgstr ""
7186
-
7187
- #: src/Functions/data/countries.php:208
7188
- msgid "Saudi Arabia"
7189
- msgstr ""
7190
-
7191
- #: src/Functions/data/countries.php:209
7192
- msgid "Senegal"
7193
- msgstr ""
7194
-
7195
- #: src/Functions/data/countries.php:210
7196
- msgid "Serbia"
7197
- msgstr ""
7198
-
7199
- #: src/Functions/data/countries.php:211
7200
- msgid "Seychelles"
7201
- msgstr ""
7202
-
7203
- #: src/Functions/data/countries.php:212
7204
- msgid "Sierra Leone"
7205
- msgstr ""
7206
-
7207
- #: src/Functions/data/countries.php:213
7208
- msgid "Singapore"
7209
- msgstr ""
7210
-
7211
- #: src/Functions/data/countries.php:214
7212
- msgid "Slovakia"
7213
- msgstr ""
7214
-
7215
- #: src/Functions/data/countries.php:215
7216
- msgid "Slovenia"
7217
- msgstr ""
7218
-
7219
- #: src/Functions/data/countries.php:216
7220
- msgid "Solomon Islands"
7221
- msgstr ""
7222
-
7223
- #: src/Functions/data/countries.php:217
7224
- msgid "Somalia"
7225
- msgstr ""
7226
-
7227
- #: src/Functions/data/countries.php:218
7228
- msgid "South Africa"
7229
- msgstr ""
7230
-
7231
- #: src/Functions/data/countries.php:219
7232
- msgid "South Georgia/Sandwich Islands"
7233
- msgstr ""
7234
-
7235
- #: src/Functions/data/countries.php:220
7236
- msgid "South Korea"
7237
- msgstr ""
7238
-
7239
- #: src/Functions/data/countries.php:221
7240
- msgid "South Sudan"
7241
- msgstr ""
7242
-
7243
- #: src/Functions/data/countries.php:222
7244
- msgid "Spain"
7245
- msgstr ""
7246
-
7247
- #: src/Functions/data/countries.php:223
7248
- msgid "Sri Lanka"
7249
- msgstr ""
7250
-
7251
- #: src/Functions/data/countries.php:224
7252
- msgid "Sudan"
7253
- msgstr ""
7254
-
7255
- #: src/Functions/data/countries.php:225
7256
- msgid "Suriname"
7257
- msgstr ""
7258
-
7259
- #: src/Functions/data/countries.php:226
7260
- msgid "Svalbard and Jan Mayen"
7261
- msgstr ""
7262
-
7263
- #: src/Functions/data/countries.php:227
7264
- msgid "Swaziland"
7265
- msgstr ""
7266
-
7267
- #: src/Functions/data/countries.php:228
7268
- msgid "Sweden"
7269
- msgstr ""
7270
-
7271
- #: src/Functions/data/countries.php:229
7272
- msgid "Switzerland"
7273
- msgstr ""
7274
-
7275
- #: src/Functions/data/countries.php:230
7276
- msgid "Syria"
7277
- msgstr ""
7278
-
7279
- #: src/Functions/data/countries.php:231
7280
- msgid "Taiwan"
7281
- msgstr ""
7282
-
7283
- #: src/Functions/data/countries.php:232
7284
- msgid "Tajikistan"
7285
- msgstr ""
7286
-
7287
- #: src/Functions/data/countries.php:233
7288
- msgid "Tanzania"
7289
- msgstr ""
7290
-
7291
- #: src/Functions/data/countries.php:234
7292
- msgid "Thailand"
7293
- msgstr ""
7294
-
7295
- #: src/Functions/data/countries.php:235
7296
- msgid "Timor-Leste"
7297
- msgstr ""
7298
-
7299
- #: src/Functions/data/countries.php:236
7300
- msgid "Togo"
7301
- msgstr ""
7302
-
7303
- #: src/Functions/data/countries.php:237
7304
- msgid "Tokelau"
7305
- msgstr ""
7306
-
7307
- #: src/Functions/data/countries.php:238
7308
- msgid "Tonga"
7309
- msgstr ""
7310
-
7311
- #: src/Functions/data/countries.php:239
7312
- msgid "Trinidad and Tobago"
7313
- msgstr ""
7314
-
7315
- #: src/Functions/data/countries.php:240
7316
- msgid "Tunisia"
7317
- msgstr ""
7318
-
7319
- #: src/Functions/data/countries.php:241
7320
- msgid "Turkey"
7321
- msgstr ""
7322
-
7323
- #: src/Functions/data/countries.php:242
7324
- msgid "Turkmenistan"
7325
- msgstr ""
7326
-
7327
- #: src/Functions/data/countries.php:243
7328
- msgid "Turks and Caicos Islands"
7329
- msgstr ""
7330
-
7331
- #: src/Functions/data/countries.php:244
7332
- msgid "Tuvalu"
7333
- msgstr ""
7334
-
7335
- #: src/Functions/data/countries.php:245
7336
- msgid "Uganda"
7337
- msgstr ""
7338
-
7339
- #: src/Functions/data/countries.php:246
7340
- msgid "Ukraine"
7341
- msgstr ""
7342
-
7343
- #: src/Functions/data/countries.php:247
7344
- msgid "United Arab Emirates"
7345
- msgstr ""
7346
-
7347
- #: src/Functions/data/countries.php:248
7348
- msgid "United States (US) Minor Outlying Islands"
7349
- msgstr ""
7350
-
7351
- #: src/Functions/data/countries.php:249
7352
- msgid "Uruguay"
7353
- msgstr ""
7354
-
7355
- #: src/Functions/data/countries.php:250
7356
- msgid "Uzbekistan"
7357
- msgstr ""
7358
-
7359
- #: src/Functions/data/countries.php:251
7360
- msgid "Vanuatu"
7361
- msgstr ""
7362
-
7363
- #: src/Functions/data/countries.php:252
7364
- msgid "Vatican"
7365
- msgstr ""
7366
-
7367
- #: src/Functions/data/countries.php:253
7368
- msgid "Venezuela"
7369
- msgstr ""
7370
-
7371
- #: src/Functions/data/countries.php:254
7372
- msgid "Vietnam"
7373
- msgstr ""
7374
-
7375
- #: src/Functions/data/countries.php:255
7376
- msgid "Virgin Islands (British)"
7377
- msgstr ""
7378
-
7379
- #: src/Functions/data/countries.php:256
7380
- msgid "Virgin Islands (US)"
7381
- msgstr ""
7382
-
7383
- #: src/Functions/data/countries.php:257
7384
- msgid "Wallis and Futuna"
7385
- msgstr ""
7386
-
7387
- #: src/Functions/data/countries.php:258
7388
- msgid "Western Sahara"
7389
- msgstr ""
7390
-
7391
- #: src/Functions/data/countries.php:259
7392
- msgid "Samoa"
7393
- msgstr ""
7394
-
7395
- #: src/Functions/data/countries.php:260
7396
- msgid "Yemen"
7397
- msgstr ""
7398
-
7399
- #: src/Functions/data/countries.php:261
7400
- msgid "Zambia"
7401
- msgstr ""
7402
-
7403
- #: src/Functions/data/countries.php:262
7404
- msgid "Zimbabwe"
7405
- msgstr ""
7406
-
7407
- #: src/Functions/data/states.php:8
7408
- msgid "Berat"
7409
- msgstr ""
7410
-
7411
- #: src/Functions/data/states.php:9
7412
- msgid "Dibër"
7413
- msgstr ""
7414
-
7415
- #: src/Functions/data/states.php:10
7416
- msgid "Durrës"
7417
- msgstr ""
7418
-
7419
- #: src/Functions/data/states.php:11
7420
- msgid "Elbasan"
7421
- msgstr ""
7422
-
7423
- #: src/Functions/data/states.php:12
7424
- msgid "Fier"
7425
- msgstr ""
7426
-
7427
- #: src/Functions/data/states.php:13
7428
- msgid "Gjirokastër"
7429
- msgstr ""
7430
-
7431
- #: src/Functions/data/states.php:14
7432
- msgid "Korçë"
7433
- msgstr ""
7434
-
7435
- #: src/Functions/data/states.php:15
7436
- msgid "Kukës"
7437
- msgstr ""
7438
-
7439
- #: src/Functions/data/states.php:16
7440
- msgid "Lezhë"
7441
- msgstr ""
7442
-
7443
- #: src/Functions/data/states.php:17
7444
- msgid "Shkodër"
7445
- msgstr ""
7446
-
7447
- #: src/Functions/data/states.php:18
7448
- msgid "Tirana"
7449
- msgstr ""
7450
-
7451
- #: src/Functions/data/states.php:19
7452
- msgid "Vlorë"
7453
- msgstr ""
7454
-
7455
- #: src/Functions/data/states.php:22
7456
- msgid "Bengo"
7457
- msgstr ""
7458
-
7459
- #: src/Functions/data/states.php:23
7460
- msgid "Benguela"
7461
- msgstr ""
7462
-
7463
- #: src/Functions/data/states.php:24
7464
- msgid "Bié"
7465
- msgstr ""
7466
-
7467
- #: src/Functions/data/states.php:25
7468
- msgid "Cabinda"
7469
- msgstr ""
7470
-
7471
- #: src/Functions/data/states.php:26
7472
- msgid "Cunene"
7473
- msgstr ""
7474
-
7475
- #: src/Functions/data/states.php:27
7476
- msgid "Huambo"
7477
- msgstr ""
7478
-
7479
- #: src/Functions/data/states.php:28
7480
- msgid "Huíla"
7481
- msgstr ""
7482
-
7483
- #: src/Functions/data/states.php:29
7484
- msgid "Kuando Kubango"
7485
- msgstr ""
7486
-
7487
- #: src/Functions/data/states.php:30
7488
- msgid "Kwanza-Norte"
7489
- msgstr ""
7490
-
7491
- #: src/Functions/data/states.php:31
7492
- msgid "Kwanza-Sul"
7493
- msgstr ""
7494
-
7495
- #: src/Functions/data/states.php:32
7496
- msgid "Luanda"
7497
- msgstr ""
7498
-
7499
- #: src/Functions/data/states.php:33
7500
- msgid "Lunda-Norte"
7501
- msgstr ""
7502
-
7503
- #: src/Functions/data/states.php:34
7504
- msgid "Lunda-Sul"
7505
- msgstr ""
7506
-
7507
- #: src/Functions/data/states.php:35
7508
- msgid "Malanje"
7509
- msgstr ""
7510
-
7511
- #: src/Functions/data/states.php:36
7512
- msgid "Moxico"
7513
- msgstr ""
7514
-
7515
- #: src/Functions/data/states.php:37
7516
- msgid "Namibe"
7517
- msgstr ""
7518
-
7519
- #: src/Functions/data/states.php:38
7520
- msgid "Uíge"
7521
- msgstr ""
7522
-
7523
- #: src/Functions/data/states.php:39
7524
- msgid "Zaire"
7525
- msgstr ""
7526
-
7527
- #: src/Functions/data/states.php:42
7528
- msgid "Ciudad Autónoma de Buenos Aires"
7529
- msgstr ""
7530
-
7531
- #: src/Functions/data/states.php:43
7532
- msgid "Buenos Aires"
7533
- msgstr ""
7534
-
7535
- #: src/Functions/data/states.php:44
7536
- msgid "Catamarca"
7537
- msgstr ""
7538
-
7539
- #: src/Functions/data/states.php:45
7540
- msgid "Chaco"
7541
- msgstr ""
7542
-
7543
- #: src/Functions/data/states.php:46
7544
- msgid "Chubut"
7545
- msgstr ""
7546
-
7547
- #: src/Functions/data/states.php:47 src/Functions/data/states.php:340
7548
- #: src/Functions/data/states.php:559
7549
- msgid "Córdoba"
7550
- msgstr ""
7551
-
7552
- #: src/Functions/data/states.php:48
7553
- msgid "Corrientes"
7554
- msgstr ""
7555
-
7556
- #: src/Functions/data/states.php:49
7557
- msgid "Entre Ríos"
7558
- msgstr ""
7559
-
7560
- #: src/Functions/data/states.php:50
7561
- msgid "Formosa"
7562
- msgstr ""
7563
-
7564
- #: src/Functions/data/states.php:51
7565
- msgid "Jujuy"
7566
- msgstr ""
7567
-
7568
- #: src/Functions/data/states.php:52
7569
- msgid "La Pampa"
7570
- msgstr ""
7571
-
7572
- #: src/Functions/data/states.php:53 src/Functions/data/states.php:568
7573
- msgid "La Rioja"
7574
- msgstr ""
7575
-
7576
- #: src/Functions/data/states.php:54
7577
- msgid "Mendoza"
7578
- msgstr ""
7579
-
7580
- #: src/Functions/data/states.php:55 src/Functions/data/states.php:1477
7581
- msgid "Misiones"
7582
- msgstr ""
7583
-
7584
- #: src/Functions/data/states.php:56
7585
- msgid "Neuquén"
7586
- msgstr ""
7587
-
7588
- #: src/Functions/data/states.php:57 src/Functions/data/states.php:2017
7589
- msgid "Río Negro"
7590
- msgstr ""
7591
-
7592
- #: src/Functions/data/states.php:58
7593
- msgid "Salta"
7594
- msgstr ""
7595
-
7596
- #: src/Functions/data/states.php:59 src/Functions/data/states.php:425
7597
- msgid "San Juan"
7598
- msgstr ""
7599
-
7600
- #: src/Functions/data/states.php:60
7601
- msgid "San Luis"
7602
- msgstr ""
7603
-
7604
- #: src/Functions/data/states.php:61 src/Functions/data/states.php:200
7605
- msgid "Santa Cruz"
7606
- msgstr ""
7607
-
7608
- #: src/Functions/data/states.php:62
7609
- msgid "Santa Fe"
7610
- msgstr ""
7611
-
7612
- #: src/Functions/data/states.php:63
7613
- msgid "Santiago del Estero"
7614
- msgstr ""
7615
-
7616
- #: src/Functions/data/states.php:64
7617
- msgid "Tierra del Fuego"
7618
- msgstr ""
7619
-
7620
- #: src/Functions/data/states.php:65
7621
- msgid "Tucumán"
7622
- msgstr ""
7623
-
7624
- #: src/Functions/data/states.php:69
7625
- msgid "Australian Capital Territory"
7626
- msgstr ""
7627
-
7628
- #: src/Functions/data/states.php:70
7629
- msgid "New South Wales"
7630
- msgstr ""
7631
-
7632
- #: src/Functions/data/states.php:71
7633
- msgid "Northern Territory"
7634
- msgstr ""
7635
-
7636
- #: src/Functions/data/states.php:72
7637
- msgid "Queensland"
7638
- msgstr ""
7639
-
7640
- #: src/Functions/data/states.php:73
7641
- msgid "South Australia"
7642
- msgstr ""
7643
-
7644
- #: src/Functions/data/states.php:74
7645
- msgid "Tasmania"
7646
- msgstr ""
7647
-
7648
- #: src/Functions/data/states.php:75
7649
- msgid "Victoria"
7650
- msgstr ""
7651
-
7652
- #: src/Functions/data/states.php:76
7653
- msgid "Western Australia"
7654
- msgstr ""
7655
-
7656
- #: src/Functions/data/states.php:80
7657
- msgid "Bagerhat"
7658
- msgstr ""
7659
-
7660
- #: src/Functions/data/states.php:81
7661
- msgid "Bandarban"
7662
- msgstr ""
7663
-
7664
- #: src/Functions/data/states.php:82
7665
- msgid "Barguna"
7666
- msgstr ""
7667
-
7668
- #: src/Functions/data/states.php:83
7669
- msgid "Barishal"
7670
- msgstr ""
7671
-
7672
- #: src/Functions/data/states.php:84
7673
- msgid "Bhola"
7674
- msgstr ""
7675
-
7676
- #: src/Functions/data/states.php:85
7677
- msgid "Bogura"
7678
- msgstr ""
7679
-
7680
- #: src/Functions/data/states.php:86
7681
- msgid "Brahmanbaria"
7682
- msgstr ""
7683
-
7684
- #: src/Functions/data/states.php:87
7685
- msgid "Chandpur"
7686
- msgstr ""
7687
-
7688
- #: src/Functions/data/states.php:88
7689
- msgid "Chattogram"
7690
- msgstr ""
7691
-
7692
- #: src/Functions/data/states.php:89
7693
- msgid "Chuadanga"
7694
- msgstr ""
7695
-
7696
- #: src/Functions/data/states.php:90
7697
- msgid "Cox's Bazar"
7698
- msgstr ""
7699
-
7700
- #: src/Functions/data/states.php:91
7701
- msgid "Cumilla"
7702
- msgstr ""
7703
-
7704
- #: src/Functions/data/states.php:92
7705
- msgid "Dhaka"
7706
- msgstr ""
7707
-
7708
- #: src/Functions/data/states.php:93
7709
- msgid "Dinajpur"
7710
- msgstr ""
7711
-
7712
- #: src/Functions/data/states.php:94
7713
- msgid "Faridpur "
7714
- msgstr ""
7715
-
7716
- #: src/Functions/data/states.php:95
7717
- msgid "Feni"
7718
- msgstr ""
7719
-
7720
- #: src/Functions/data/states.php:96
7721
- msgid "Gaibandha"
7722
- msgstr ""
7723
-
7724
- #: src/Functions/data/states.php:97
7725
- msgid "Gazipur"
7726
- msgstr ""
7727
-
7728
- #: src/Functions/data/states.php:98
7729
- msgid "Gopalganj"
7730
- msgstr ""
7731
-
7732
- #: src/Functions/data/states.php:99
7733
- msgid "Habiganj"
7734
- msgstr ""
7735
-
7736
- #: src/Functions/data/states.php:100
7737
- msgid "Jamalpur"
7738
- msgstr ""
7739
-
7740
- #: src/Functions/data/states.php:101
7741
- msgid "Jashore"
7742
- msgstr ""
7743
-
7744
- #: src/Functions/data/states.php:102
7745
- msgid "Jhalokati"
7746
- msgstr ""
7747
-
7748
- #: src/Functions/data/states.php:103
7749
- msgid "Jhenaidah"
7750
- msgstr ""
7751
-
7752
- #: src/Functions/data/states.php:104
7753
- msgid "Joypurhat"
7754
- msgstr ""
7755
-
7756
- #: src/Functions/data/states.php:105
7757
- msgid "Khagrachhari"
7758
- msgstr ""
7759
-
7760
- #: src/Functions/data/states.php:106
7761
- msgid "Khulna"
7762
- msgstr ""
7763
-
7764
- #: src/Functions/data/states.php:107
7765
- msgid "Kishoreganj"
7766
- msgstr ""
7767
-
7768
- #: src/Functions/data/states.php:108
7769
- msgid "Kurigram"
7770
- msgstr ""
7771
-
7772
- #: src/Functions/data/states.php:109
7773
- msgid "Kushtia"
7774
- msgstr ""
7775
-
7776
- #: src/Functions/data/states.php:110
7777
- msgid "Lakshmipur"
7778
- msgstr ""
7779
-
7780
- #: src/Functions/data/states.php:111
7781
- msgid "Lalmonirhat"
7782
- msgstr ""
7783
-
7784
- #: src/Functions/data/states.php:112
7785
- msgid "Madaripur"
7786
- msgstr ""
7787
-
7788
- #: src/Functions/data/states.php:113
7789
- msgid "Magura"
7790
- msgstr ""
7791
-
7792
- #: src/Functions/data/states.php:114
7793
- msgid "Manikganj "
7794
- msgstr ""
7795
-
7796
- #: src/Functions/data/states.php:115
7797
- msgid "Meherpur"
7798
- msgstr ""
7799
-
7800
- #: src/Functions/data/states.php:116
7801
- msgid "Moulvibazar"
7802
- msgstr ""
7803
-
7804
- #: src/Functions/data/states.php:117
7805
- msgid "Munshiganj"
7806
- msgstr ""
7807
-
7808
- #: src/Functions/data/states.php:118
7809
- msgid "Mymensingh"
7810
- msgstr ""
7811
-
7812
- #: src/Functions/data/states.php:119
7813
- msgid "Naogaon"
7814
- msgstr ""
7815
-
7816
- #: src/Functions/data/states.php:120
7817
- msgid "Narail"
7818
- msgstr ""
7819
-
7820
- #: src/Functions/data/states.php:121
7821
- msgid "Narayanganj"
7822
- msgstr ""
7823
-
7824
- #: src/Functions/data/states.php:122
7825
- msgid "Narsingdi"
7826
- msgstr ""
7827
-
7828
- #: src/Functions/data/states.php:123
7829
- msgid "Natore"
7830
- msgstr ""
7831
-
7832
- #: src/Functions/data/states.php:124
7833
- msgid "Nawabganj"
7834
- msgstr ""
7835
-
7836
- #: src/Functions/data/states.php:125
7837
- msgid "Netrakona"
7838
- msgstr ""
7839
-
7840
- #: src/Functions/data/states.php:126
7841
- msgid "Nilphamari"
7842
- msgstr ""
7843
-
7844
- #: src/Functions/data/states.php:127
7845
- msgid "Noakhali"
7846
- msgstr ""
7847
-
7848
- #: src/Functions/data/states.php:128
7849
- msgid "Pabna"
7850
- msgstr ""
7851
-
7852
- #: src/Functions/data/states.php:129
7853
- msgid "Panchagarh"
7854
- msgstr ""
7855
-
7856
- #: src/Functions/data/states.php:130
7857
- msgid "Patuakhali"
7858
- msgstr ""
7859
-
7860
- #: src/Functions/data/states.php:131
7861
- msgid "Pirojpur"
7862
- msgstr ""
7863
-
7864
- #: src/Functions/data/states.php:132
7865
- msgid "Rajbari"
7866
- msgstr ""
7867
-
7868
- #: src/Functions/data/states.php:133
7869
- msgid "Rajshahi"
7870
- msgstr ""
7871
-
7872
- #: src/Functions/data/states.php:134
7873
- msgid "Rangamati"
7874
- msgstr ""
7875
-
7876
- #: src/Functions/data/states.php:135
7877
- msgid "Rangpur"
7878
- msgstr ""
7879
-
7880
- #: src/Functions/data/states.php:136
7881
- msgid "Satkhira"
7882
- msgstr ""
7883
-
7884
- #: src/Functions/data/states.php:137
7885
- msgid "Shariatpur"
7886
- msgstr ""
7887
-
7888
- #: src/Functions/data/states.php:138
7889
- msgid "Sherpur"
7890
- msgstr ""
7891
-
7892
- #: src/Functions/data/states.php:139
7893
- msgid "Sirajganj"
7894
- msgstr ""
7895
-
7896
- #: src/Functions/data/states.php:140
7897
- msgid "Sunamganj"
7898
- msgstr ""
7899
-
7900
- #: src/Functions/data/states.php:141
7901
- msgid "Sylhet"
7902
- msgstr ""
7903
-
7904
- #: src/Functions/data/states.php:142
7905
- msgid "Tangail"
7906
- msgstr ""
7907
-
7908
- #: src/Functions/data/states.php:143
7909
- msgid "Thakurgaon"
7910
- msgstr ""
7911
-
7912
- #: src/Functions/data/states.php:147
7913
- msgid "Blagoevgrad"
7914
- msgstr ""
7915
-
7916
- #: src/Functions/data/states.php:148
7917
- msgid "Burgas"
7918
- msgstr ""
7919
-
7920
- #: src/Functions/data/states.php:149
7921
- msgid "Dobrich"
7922
- msgstr ""
7923
-
7924
- #: src/Functions/data/states.php:150
7925
- msgid "Gabrovo"
7926
- msgstr ""
7927
-
7928
- #: src/Functions/data/states.php:151
7929
- msgid "Haskovo"
7930
- msgstr ""
7931
-
7932
- #: src/Functions/data/states.php:152
7933
- msgid "Kardzhali"
7934
- msgstr ""
7935
-
7936
- #: src/Functions/data/states.php:153
7937
- msgid "Kyustendil"
7938
- msgstr ""
7939
-
7940
- #: src/Functions/data/states.php:154
7941
- msgid "Lovech"
7942
- msgstr ""
7943
-
7944
- #: src/Functions/data/states.php:155 src/Functions/data/states.php:1976
7945
- msgid "Montana"
7946
- msgstr ""
7947
-
7948
- #: src/Functions/data/states.php:156
7949
- msgid "Pazardzhik"
7950
- msgstr ""
7951
-
7952
- #: src/Functions/data/states.php:157
7953
- msgid "Pernik"
7954
- msgstr ""
7955
-
7956
- #: src/Functions/data/states.php:158
7957
- msgid "Pleven"
7958
- msgstr ""
7959
-
7960
- #: src/Functions/data/states.php:159
7961
- msgid "Plovdiv"
7962
- msgstr ""
7963
-
7964
- #: src/Functions/data/states.php:160
7965
- msgid "Razgrad"
7966
- msgstr ""
7967
-
7968
- #: src/Functions/data/states.php:161
7969
- msgid "Ruse"
7970
- msgstr ""
7971
-
7972
- #: src/Functions/data/states.php:162
7973
- msgid "Shumen"
7974
- msgstr ""
7975
-
7976
- #: src/Functions/data/states.php:163
7977
- msgid "Silistra"
7978
- msgstr ""
7979
-
7980
- #: src/Functions/data/states.php:164
7981
- msgid "Sliven"
7982
- msgstr ""
7983
-
7984
- #: src/Functions/data/states.php:165
7985
- msgid "Smolyan"
7986
- msgstr ""
7987
-
7988
- #: src/Functions/data/states.php:166
7989
- msgid "Sofia"
7990
- msgstr ""
7991
-
7992
- #: src/Functions/data/states.php:167
7993
- msgid "Sofia-Grad"
7994
- msgstr ""
7995
-
7996
- #: src/Functions/data/states.php:168
7997
- msgid "Stara Zagora"
7998
- msgstr ""
7999
-
8000
- #: src/Functions/data/states.php:169
8001
- msgid "Targovishte"
8002
- msgstr ""
8003
-
8004
- #: src/Functions/data/states.php:170
8005
- msgid "Varna"
8006
- msgstr ""
8007
-
8008
- #: src/Functions/data/states.php:171
8009
- msgid "Veliko Tarnovo"
8010
- msgstr ""
8011
-
8012
- #: src/Functions/data/states.php:172
8013
- msgid "Vidin"
8014
- msgstr ""
8015
-
8016
- #: src/Functions/data/states.php:173
8017
- msgid "Vratsa"
8018
- msgstr ""
8019
-
8020
- #: src/Functions/data/states.php:174
8021
- msgid "Yambol"
8022
- msgstr ""
8023
-
8024
- #: src/Functions/data/states.php:179
8025
- msgid "Alibori"
8026
- msgstr ""
8027
-
8028
- #: src/Functions/data/states.php:180
8029
- msgid "Atakora"
8030
- msgstr ""
8031
-
8032
- #: src/Functions/data/states.php:181
8033
- msgid "Atlantique"
8034
- msgstr ""
8035
-
8036
- #: src/Functions/data/states.php:182
8037
- msgid "Borgou"
8038
- msgstr ""
8039
-
8040
- #: src/Functions/data/states.php:183
8041
- msgid "Collines"
8042
- msgstr ""
8043
-
8044
- #: src/Functions/data/states.php:184
8045
- msgid "Kouffo"
8046
- msgstr ""
8047
-
8048
- #: src/Functions/data/states.php:185
8049
- msgid "Donga"
8050
- msgstr ""
8051
-
8052
- #: src/Functions/data/states.php:186
8053
- msgid "Littoral"
8054
- msgstr ""
8055
-
8056
- #: src/Functions/data/states.php:187
8057
- msgid "Mono"
8058
- msgstr ""
8059
-
8060
- #: src/Functions/data/states.php:188
8061
- msgid "Ouémé"
8062
- msgstr ""
8063
-
8064
- #: src/Functions/data/states.php:189 src/Functions/data/states.php:1266
8065
- msgid "Plateau"
8066
- msgstr ""
8067
-
8068
- #: src/Functions/data/states.php:190
8069
- msgid "Zou"
8070
- msgstr ""
8071
-
8072
- #: src/Functions/data/states.php:193
8073
- msgid "Beni"
8074
- msgstr ""
8075
-
8076
- #: src/Functions/data/states.php:194
8077
- msgid "Chuquisaca"
8078
- msgstr ""
8079
-
8080
- #: src/Functions/data/states.php:195
8081
- msgid "Cochabamba"
8082
- msgstr ""
8083
-
8084
- #: src/Functions/data/states.php:196 src/Functions/data/states.php:675
8085
- #: src/Functions/data/states.php:1543
8086
- msgid "La Paz"
8087
- msgstr ""
8088
-
8089
- #: src/Functions/data/states.php:197
8090
- msgid "Oruro"
8091
- msgstr ""
8092
-
8093
- #: src/Functions/data/states.php:198
8094
- msgid "Pando"
8095
- msgstr ""
8096
-
8097
- #: src/Functions/data/states.php:199
8098
- msgid "Potosí"
8099
- msgstr ""
8100
-
8101
- #: src/Functions/data/states.php:201
8102
- msgid "Tarija"
8103
- msgstr ""
8104
-
8105
- #: src/Functions/data/states.php:204
8106
- msgid "Acre"
8107
- msgstr ""
8108
-
8109
- #: src/Functions/data/states.php:205
8110
- msgid "Alagoas"
8111
- msgstr ""
8112
-
8113
- #: src/Functions/data/states.php:206
8114
- msgid "Amapá"
8115
- msgstr ""
8116
-
8117
- #: src/Functions/data/states.php:207 src/Functions/data/states.php:328
8118
- #: src/Functions/data/states.php:1346 src/Functions/data/states.php:2051
8119
- msgid "Amazonas"
8120
- msgstr ""
8121
-
8122
- #: src/Functions/data/states.php:208
8123
- msgid "Bahia"
8124
- msgstr ""
8125
-
8126
- #: src/Functions/data/states.php:209
8127
- msgid "Ceará"
8128
- msgstr ""
8129
-
8130
- #: src/Functions/data/states.php:210
8131
- msgid "Distrito Federal"
8132
- msgstr ""
8133
-
8134
- #: src/Functions/data/states.php:211
8135
- msgid "Espírito Santo"
8136
- msgstr ""
8137
-
8138
- #: src/Functions/data/states.php:212
8139
- msgid "Goiás"
8140
- msgstr ""
8141
-
8142
- #: src/Functions/data/states.php:213
8143
- msgid "Maranhão"
8144
- msgstr ""
8145
-
8146
- #: src/Functions/data/states.php:214
8147
- msgid "Mato Grosso"
8148
- msgstr ""
8149
-
8150
- #: src/Functions/data/states.php:215
8151
- msgid "Mato Grosso do Sul"
8152
- msgstr ""
8153
-
8154
- #: src/Functions/data/states.php:216
8155
- msgid "Minas Gerais"
8156
- msgstr ""
8157
-
8158
- #: src/Functions/data/states.php:217
8159
- msgid "Pará"
8160
- msgstr ""
8161
-
8162
- #: src/Functions/data/states.php:218
8163
- msgid "Paraíba"
8164
- msgstr ""
8165
-
8166
- #: src/Functions/data/states.php:219
8167
- msgid "Paraná"
8168
- msgstr ""
8169
-
8170
- #: src/Functions/data/states.php:220
8171
- msgid "Pernambuco"
8172
- msgstr ""
8173
-
8174
- #: src/Functions/data/states.php:221
8175
- msgid "Piauí"
8176
- msgstr ""
8177
-
8178
- #: src/Functions/data/states.php:222
8179
- msgid "Rio de Janeiro"
8180
- msgstr ""
8181
-
8182
- #: src/Functions/data/states.php:223
8183
- msgid "Rio Grande do Norte"
8184
- msgstr ""
8185
-
8186
- #: src/Functions/data/states.php:224
8187
- msgid "Rio Grande do Sul"
8188
- msgstr ""
8189
-
8190
- #: src/Functions/data/states.php:225
8191
- msgid "Rondônia"
8192
- msgstr ""
8193
-
8194
- #: src/Functions/data/states.php:226
8195
- msgid "Roraima"
8196
- msgstr ""
8197
-
8198
- #: src/Functions/data/states.php:227
8199
- msgid "Santa Catarina"
8200
- msgstr ""
8201
-
8202
- #: src/Functions/data/states.php:228
8203
- msgid "São Paulo"
8204
- msgstr ""
8205
-
8206
- #: src/Functions/data/states.php:229
8207
- msgid "Sergipe"
8208
- msgstr ""
8209
-
8210
- #: src/Functions/data/states.php:230
8211
- msgid "Tocantins"
8212
- msgstr ""
8213
-
8214
- #: src/Functions/data/states.php:233
8215
- msgid "Alberta"
8216
- msgstr ""
8217
-
8218
- #: src/Functions/data/states.php:234
8219
- msgid "British Columbia"
8220
- msgstr ""
8221
-
8222
- #: src/Functions/data/states.php:235
8223
- msgid "Manitoba"
8224
- msgstr ""
8225
-
8226
- #: src/Functions/data/states.php:236
8227
- msgid "New Brunswick"
8228
- msgstr ""
8229
-
8230
- #: src/Functions/data/states.php:237
8231
- msgid "Newfoundland and Labrador"
8232
- msgstr ""
8233
-
8234
- #: src/Functions/data/states.php:238
8235
- msgid "Northwest Territories"
8236
- msgstr ""
8237
-
8238
- #: src/Functions/data/states.php:239
8239
- msgid "Nova Scotia"
8240
- msgstr ""
8241
-
8242
- #: src/Functions/data/states.php:240
8243
- msgid "Nunavut"
8244
- msgstr ""
8245
-
8246
- #: src/Functions/data/states.php:241
8247
- msgid "Ontario"
8248
- msgstr ""
8249
-
8250
- #: src/Functions/data/states.php:242
8251
- msgid "Prince Edward Island"
8252
- msgstr ""
8253
-
8254
- #: src/Functions/data/states.php:243
8255
- msgid "Quebec"
8256
- msgstr ""
8257
-
8258
- #: src/Functions/data/states.php:244
8259
- msgid "Saskatchewan"
8260
- msgstr ""
8261
-
8262
- #: src/Functions/data/states.php:245
8263
- msgid "Yukon Territory"
8264
- msgstr ""
8265
-
8266
- #: src/Functions/data/states.php:248
8267
- msgid "Aargau"
8268
- msgstr ""
8269
-
8270
- #: src/Functions/data/states.php:249
8271
- msgid "Appenzell Ausserrhoden"
8272
- msgstr ""
8273
-
8274
- #: src/Functions/data/states.php:250
8275
- msgid "Appenzell Innerrhoden"
8276
- msgstr ""
8277
-
8278
- #: src/Functions/data/states.php:251
8279
- msgid "Basel-Landschaft"
8280
- msgstr ""
8281
-
8282
- #: src/Functions/data/states.php:252
8283
- msgid "Basel-Stadt"
8284
- msgstr ""
8285
-
8286
- #: src/Functions/data/states.php:253
8287
- msgid "Bern"
8288
- msgstr ""
8289
-
8290
- #: src/Functions/data/states.php:254
8291
- msgid "Fribourg"
8292
- msgstr ""
8293
-
8294
- #: src/Functions/data/states.php:255
8295
- msgid "Geneva"
8296
- msgstr ""
8297
-
8298
- #: src/Functions/data/states.php:256
8299
- msgid "Glarus"
8300
- msgstr ""
8301
-
8302
- #: src/Functions/data/states.php:257
8303
- msgid "Graubünden"
8304
- msgstr ""
8305
-
8306
- #: src/Functions/data/states.php:258
8307
- msgid "Jura"
8308
- msgstr ""
8309
-
8310
- #: src/Functions/data/states.php:259
8311
- msgid "Luzern"
8312
- msgstr ""
8313
-
8314
- #: src/Functions/data/states.php:260
8315
- msgid "Neuchâtel"
8316
- msgstr ""
8317
-
8318
- #: src/Functions/data/states.php:261
8319
- msgid "Nidwalden"
8320
- msgstr ""
8321
-
8322
- #: src/Functions/data/states.php:262
8323
- msgid "Obwalden"
8324
- msgstr ""
8325
-
8326
- #: src/Functions/data/states.php:263
8327
- msgid "Schaffhausen"
8328
- msgstr ""
8329
-
8330
- #: src/Functions/data/states.php:264
8331
- msgid "Schwyz"
8332
- msgstr ""
8333
-
8334
- #: src/Functions/data/states.php:265
8335
- msgid "Solothurn"
8336
- msgstr ""
8337
-
8338
- #: src/Functions/data/states.php:266
8339
- msgid "St. Gallen"
8340
- msgstr ""
8341
-
8342
- #: src/Functions/data/states.php:267
8343
- msgid "Thurgau"
8344
- msgstr ""
8345
-
8346
- #: src/Functions/data/states.php:268
8347
- msgid "Ticino"
8348
- msgstr ""
8349
-
8350
- #: src/Functions/data/states.php:269
8351
- msgid "Uri"
8352
- msgstr ""
8353
-
8354
- #: src/Functions/data/states.php:270
8355
- msgid "Valais"
8356
- msgstr ""
8357
-
8358
- #: src/Functions/data/states.php:271
8359
- msgid "Vaud"
8360
- msgstr ""
8361
-
8362
- #: src/Functions/data/states.php:272
8363
- msgid "Zug"
8364
- msgstr ""
8365
-
8366
- #: src/Functions/data/states.php:273
8367
- msgid "Zürich"
8368
- msgstr ""
8369
-
8370
- #: src/Functions/data/states.php:276
8371
- msgid "Aisén del General Carlos Ibañez del Campo"
8372
- msgstr ""
8373
-
8374
- #: src/Functions/data/states.php:277
8375
- msgid "Antofagasta"
8376
- msgstr ""
8377
-
8378
- #: src/Functions/data/states.php:278
8379
- msgid "Arica y Parinacota"
8380
- msgstr ""
8381
-
8382
- #: src/Functions/data/states.php:279
8383
- msgid "La Araucanía"
8384
- msgstr ""
8385
-
8386
- #: src/Functions/data/states.php:280
8387
- msgid "Atacama"
8388
- msgstr ""
8389
-
8390
- #: src/Functions/data/states.php:281
8391
- msgid "Biobío"
8392
- msgstr ""
8393
-
8394
- #: src/Functions/data/states.php:282
8395
- msgid "Coquimbo"
8396
- msgstr ""
8397
-
8398
- #: src/Functions/data/states.php:283
8399
- msgid "Libertador General Bernardo O'Higgins"
8400
- msgstr ""
8401
-
8402
- #: src/Functions/data/states.php:284
8403
- msgid "Los Lagos"
8404
- msgstr ""
8405
-
8406
- #: src/Functions/data/states.php:285 src/Functions/data/states.php:499
8407
- msgid "Los Ríos"
8408
- msgstr ""
8409
-
8410
- #: src/Functions/data/states.php:286
8411
- msgid "Magallanes"
8412
- msgstr ""
8413
-
8414
- #: src/Functions/data/states.php:287
8415
- msgid "Maule"
8416
- msgstr ""
8417
-
8418
- #: src/Functions/data/states.php:288
8419
- msgid "Ñuble"
8420
- msgstr ""
8421
-
8422
- #: src/Functions/data/states.php:289
8423
- msgid "Región Metropolitana de Santiago"
8424
- msgstr ""
8425
-
8426
- #: src/Functions/data/states.php:290
8427
- msgid "Tarapacá"
8428
- msgstr ""
8429
-
8430
- #: src/Functions/data/states.php:291
8431
- msgid "Valparaíso"
8432
- msgstr ""
8433
-
8434
- #: src/Functions/data/states.php:294
8435
- msgid "Yunnan / 云南"
8436
- msgstr ""
8437
-
8438
- #: src/Functions/data/states.php:295
8439
- msgid "Beijing / 北京"
8440
- msgstr ""
8441
-
8442
- #: src/Functions/data/states.php:296
8443
- msgid "Tianjin / 天津"
8444
- msgstr ""
8445
-
8446
- #: src/Functions/data/states.php:297
8447
- msgid "Hebei / 河北"
8448
- msgstr ""
8449
-
8450
- #: src/Functions/data/states.php:298
8451
- msgid "Shanxi / 山西"
8452
- msgstr ""
8453
-
8454
- #: src/Functions/data/states.php:299
8455
- msgid "Inner Mongolia / 內蒙古"
8456
- msgstr ""
8457
-
8458
- #: src/Functions/data/states.php:300
8459
- msgid "Liaoning / 辽宁"
8460
- msgstr ""
8461
-
8462
- #: src/Functions/data/states.php:301
8463
- msgid "Jilin / 吉林"
8464
- msgstr ""
8465
-
8466
- #: src/Functions/data/states.php:302
8467
- msgid "Heilongjiang / 黑龙江"
8468
- msgstr ""
8469
-
8470
- #: src/Functions/data/states.php:303
8471
- msgid "Shanghai / 上海"
8472
- msgstr ""
8473
-
8474
- #: src/Functions/data/states.php:304
8475
- msgid "Jiangsu / 江苏"
8476
- msgstr ""
8477
-
8478
- #: src/Functions/data/states.php:305
8479
- msgid "Zhejiang / 浙江"
8480
- msgstr ""
8481
-
8482
- #: src/Functions/data/states.php:306
8483
- msgid "Anhui / 安徽"
8484
- msgstr ""
8485
-
8486
- #: src/Functions/data/states.php:307
8487
- msgid "Fujian / 福建"
8488
- msgstr ""
8489
-
8490
- #: src/Functions/data/states.php:308
8491
- msgid "Jiangxi / 江西"
8492
- msgstr ""
8493
-
8494
- #: src/Functions/data/states.php:309
8495
- msgid "Shandong / 山东"
8496
- msgstr ""
8497
-
8498
- #: src/Functions/data/states.php:310
8499
- msgid "Henan / 河南"
8500
- msgstr ""
8501
-
8502
- #: src/Functions/data/states.php:311
8503
- msgid "Hubei / 湖北"
8504
- msgstr ""
8505
-
8506
- #: src/Functions/data/states.php:312
8507
- msgid "Hunan / 湖南"
8508
- msgstr ""
8509
-
8510
- #: src/Functions/data/states.php:313
8511
- msgid "Guangdong / 广东"
8512
- msgstr ""
8513
-
8514
- #: src/Functions/data/states.php:314
8515
- msgid "Guangxi Zhuang / 广西壮族"
8516
- msgstr ""
8517
-
8518
- #: src/Functions/data/states.php:315
8519
- msgid "Hainan / 海南"
8520
- msgstr ""
8521
-
8522
- #: src/Functions/data/states.php:316
8523
- msgid "Chongqing / 重庆"
8524
- msgstr ""
8525
-
8526
- #: src/Functions/data/states.php:317
8527
- msgid "Sichuan / 四川"
8528
- msgstr ""
8529
-
8530
- #: src/Functions/data/states.php:318
8531
- msgid "Guizhou / 贵州"
8532
- msgstr ""
8533
-
8534
- #: src/Functions/data/states.php:319
8535
- msgid "Shaanxi / 陕西"
8536
- msgstr ""
8537
-
8538
- #: src/Functions/data/states.php:320
8539
- msgid "Gansu / 甘肃"
8540
- msgstr ""
8541
-
8542
- #: src/Functions/data/states.php:321
8543
- msgid "Qinghai / 青海"
8544
- msgstr ""
8545
-
8546
- #: src/Functions/data/states.php:322
8547
- msgid "Ningxia Hui / 宁夏"
8548
- msgstr ""
8549
-
8550
- #: src/Functions/data/states.php:323
8551
- msgid "Macao / 澳门"
8552
- msgstr ""
8553
-
8554
- #: src/Functions/data/states.php:324
8555
- msgid "Tibet / 西藏"
8556
- msgstr ""
8557
-
8558
- #: src/Functions/data/states.php:325
8559
- msgid "Xinjiang / 新疆"
8560
- msgstr ""
8561
-
8562
- #: src/Functions/data/states.php:329
8563
- msgid "Antioquia"
8564
- msgstr ""
8565
-
8566
- #: src/Functions/data/states.php:330
8567
- msgid "Arauca"
8568
- msgstr ""
8569
-
8570
- #: src/Functions/data/states.php:331
8571
- msgid "Atlántico"
8572
- msgstr ""
8573
-
8574
- #: src/Functions/data/states.php:332 src/Functions/data/states.php:488
8575
- #: src/Functions/data/states.php:2032
8576
- msgid "Bolívar"
8577
- msgstr ""
8578
-
8579
- #: src/Functions/data/states.php:333
8580
- msgid "Boyacá"
8581
- msgstr ""
8582
-
8583
- #: src/Functions/data/states.php:334
8584
- msgid "Caldas"
8585
- msgstr ""
8586
-
8587
- #: src/Functions/data/states.php:335
8588
- msgid "Caquetá"
8589
- msgstr ""
8590
-
8591
- #: src/Functions/data/states.php:336
8592
- msgid "Casanare"
8593
- msgstr ""
8594
-
8595
- #: src/Functions/data/states.php:337
8596
- msgid "Cauca"
8597
- msgstr ""
8598
-
8599
- #: src/Functions/data/states.php:338
8600
- msgid "Cesar"
8601
- msgstr ""
8602
-
8603
- #: src/Functions/data/states.php:339
8604
- msgid "Chocó"
8605
- msgstr ""
8606
-
8607
- #: src/Functions/data/states.php:341
8608
- msgid "Cundinamarca"
8609
- msgstr ""
8610
-
8611
- #: src/Functions/data/states.php:342
8612
- msgid "Capital District"
8613
- msgstr ""
8614
-
8615
- #: src/Functions/data/states.php:343
8616
- msgid "Guainía"
8617
- msgstr ""
8618
-
8619
- #: src/Functions/data/states.php:344
8620
- msgid "Guaviare"
8621
- msgstr ""
8622
-
8623
- #: src/Functions/data/states.php:345
8624
- msgid "Huila"
8625
- msgstr ""
8626
-
8627
- #: src/Functions/data/states.php:346
8628
- msgid "La Guajira"
8629
- msgstr ""
8630
-
8631
- #: src/Functions/data/states.php:347
8632
- msgid "Magdalena"
8633
- msgstr ""
8634
-
8635
- #: src/Functions/data/states.php:348
8636
- msgid "Meta"
8637
- msgstr ""
8638
-
8639
- #: src/Functions/data/states.php:349
8640
- msgid "Nariño"
8641
- msgstr ""
8642
-
8643
- #: src/Functions/data/states.php:350
8644
- msgid "Norte de Santander"
8645
- msgstr ""
8646
-
8647
- #: src/Functions/data/states.php:351
8648
- msgid "Putumayo"
8649
- msgstr ""
8650
-
8651
- #: src/Functions/data/states.php:352
8652
- msgid "Quindío"
8653
- msgstr ""
8654
-
8655
- #: src/Functions/data/states.php:353
8656
- msgid "Risaralda"
8657
- msgstr ""
8658
-
8659
- #: src/Functions/data/states.php:354
8660
- msgid "Santander"
8661
- msgstr ""
8662
-
8663
- #: src/Functions/data/states.php:355
8664
- msgid "San Andrés & Providencia"
8665
- msgstr ""
8666
-
8667
- #: src/Functions/data/states.php:356 src/Functions/data/states.php:2043
8668
- msgid "Sucre"
8669
- msgstr ""
8670
-
8671
- #: src/Functions/data/states.php:357
8672
- msgid "Tolima"
8673
- msgstr ""
8674
-
8675
- #: src/Functions/data/states.php:358
8676
- msgid "Valle del Cauca"
8677
- msgstr ""
8678
-
8679
- #: src/Functions/data/states.php:359
8680
- msgid "Vaupés"
8681
- msgstr ""
8682
-
8683
- #: src/Functions/data/states.php:360
8684
- msgid "Vichada"
8685
- msgstr ""
8686
-
8687
- #: src/Functions/data/states.php:363
8688
- msgid "Alajuela"
8689
- msgstr ""
8690
-
8691
- #: src/Functions/data/states.php:364
8692
- msgid "Cartago"
8693
- msgstr ""
8694
-
8695
- #: src/Functions/data/states.php:365
8696
- msgid "Guanacaste"
8697
- msgstr ""
8698
-
8699
- #: src/Functions/data/states.php:366
8700
- msgid "Heredia"
8701
- msgstr ""
8702
-
8703
- #: src/Functions/data/states.php:367
8704
- msgid "Limón"
8705
- msgstr ""
8706
-
8707
- #: src/Functions/data/states.php:368
8708
- msgid "Puntarenas"
8709
- msgstr ""
8710
-
8711
- #: src/Functions/data/states.php:369 src/Functions/data/states.php:2021
8712
- msgid "San José"
8713
- msgstr ""
8714
-
8715
- #: src/Functions/data/states.php:373
8716
- msgid "Baden-Württemberg"
8717
- msgstr ""
8718
-
8719
- #: src/Functions/data/states.php:374
8720
- msgid "Bavaria"
8721
- msgstr ""
8722
-
8723
- #: src/Functions/data/states.php:375
8724
- msgid "Berlin"
8725
- msgstr ""
8726
-
8727
- #: src/Functions/data/states.php:376
8728
- msgid "Brandenburg"
8729
- msgstr ""
8730
-
8731
- #: src/Functions/data/states.php:377
8732
- msgid "Bremen"
8733
- msgstr ""
8734
-
8735
- #: src/Functions/data/states.php:378
8736
- msgid "Hamburg"
8737
- msgstr ""
8738
-
8739
- #: src/Functions/data/states.php:379
8740
- msgid "Hesse"
8741
- msgstr ""
8742
-
8743
- #: src/Functions/data/states.php:380
8744
- msgid "Mecklenburg-Vorpommern"
8745
- msgstr ""
8746
-
8747
- #: src/Functions/data/states.php:381
8748
- msgid "Lower Saxony"
8749
- msgstr ""
8750
-
8751
- #: src/Functions/data/states.php:382
8752
- msgid "North Rhine-Westphalia"
8753
- msgstr ""
8754
-
8755
- #: src/Functions/data/states.php:383
8756
- msgid "Rhineland-Palatinate"
8757
- msgstr ""
8758
-
8759
- #: src/Functions/data/states.php:384
8760
- msgid "Saarland"
8761
- msgstr ""
8762
-
8763
- #: src/Functions/data/states.php:385
8764
- msgid "Saxony"
8765
- msgstr ""
8766
-
8767
- #: src/Functions/data/states.php:386
8768
- msgid "Saxony-Anhalt"
8769
- msgstr ""
8770
-
8771
- #: src/Functions/data/states.php:387
8772
- msgid "Schleswig-Holstein"
8773
- msgstr ""
8774
-
8775
- #: src/Functions/data/states.php:388
8776
- msgid "Thuringia"
8777
- msgstr ""
8778
-
8779
- #: src/Functions/data/states.php:392
8780
- msgid "Distrito Nacional"
8781
- msgstr ""
8782
-
8783
- #: src/Functions/data/states.php:393
8784
- msgid "Azua"
8785
- msgstr ""
8786
-
8787
- #: src/Functions/data/states.php:394
8788
- msgid "Baoruco"
8789
- msgstr ""
8790
-
8791
- #: src/Functions/data/states.php:395
8792
- msgid "Barahona"
8793
- msgstr ""
8794
-
8795
- #: src/Functions/data/states.php:396
8796
- msgid "Cibao Nordeste"
8797
- msgstr ""
8798
-
8799
- #: src/Functions/data/states.php:397
8800
- msgid "Cibao Noroeste"
8801
- msgstr ""
8802
-
8803
- #: src/Functions/data/states.php:398
8804
- msgid "Cibao Norte"
8805
- msgstr ""
8806
-
8807
- #: src/Functions/data/states.php:399
8808
- msgid "Cibao Sur"
8809
- msgstr ""
8810
-
8811
- #: src/Functions/data/states.php:400
8812
- msgid "Dajabón"
8813
- msgstr ""
8814
-
8815
- #: src/Functions/data/states.php:401
8816
- msgid "Duarte"
8817
- msgstr ""
8818
-
8819
- #: src/Functions/data/states.php:402
8820
- msgid "El Seibo"
8821
- msgstr ""
8822
-
8823
- #: src/Functions/data/states.php:403
8824
- msgid "El Valle"
8825
- msgstr ""
8826
-
8827
- #: src/Functions/data/states.php:404
8828
- msgid "Elías Piña"
8829
- msgstr ""
8830
-
8831
- #: src/Functions/data/states.php:405
8832
- msgid "Enriquillo"
8833
- msgstr ""
8834
-
8835
- #: src/Functions/data/states.php:406
8836
- msgid "Espaillat"
8837
- msgstr ""
8838
-
8839
- #: src/Functions/data/states.php:407
8840
- msgid "Hato Mayor"
8841
- msgstr ""
8842
-
8843
- #: src/Functions/data/states.php:408
8844
- msgid "Hermanas Mirabal"
8845
- msgstr ""
8846
-
8847
- #: src/Functions/data/states.php:409
8848
- msgid "Higüamo"
8849
- msgstr ""
8850
-
8851
- #: src/Functions/data/states.php:410
8852
- msgid "Independencia"
8853
- msgstr ""
8854
-
8855
- #: src/Functions/data/states.php:411
8856
- msgid "La Altagracia"
8857
- msgstr ""
8858
-
8859
- #: src/Functions/data/states.php:412
8860
- msgid "La Romana"
8861
- msgstr ""
8862
-
8863
- #: src/Functions/data/states.php:413
8864
- msgid "La Vega"
8865
- msgstr ""
8866
-
8867
- #: src/Functions/data/states.php:414
8868
- msgid "María Trinidad Sánchez"
8869
- msgstr ""
8870
-
8871
- #: src/Functions/data/states.php:415
8872
- msgid "Monseñor Nouel"
8873
- msgstr ""
8874
-
8875
- #: src/Functions/data/states.php:416
8876
- msgid "Monte Cristi"
8877
- msgstr ""
8878
-
8879
- #: src/Functions/data/states.php:417
8880
- msgid "Monte Plata"
8881
- msgstr ""
8882
-
8883
- #: src/Functions/data/states.php:418
8884
- msgid "Ozama"
8885
- msgstr ""
8886
-
8887
- #: src/Functions/data/states.php:419
8888
- msgid "Pedernales"
8889
- msgstr ""
8890
-
8891
- #: src/Functions/data/states.php:420
8892
- msgid "Peravia"
8893
- msgstr ""
8894
-
8895
- #: src/Functions/data/states.php:421
8896
- msgid "Puerto Plata"
8897
- msgstr ""
8898
-
8899
- #: src/Functions/data/states.php:422
8900
- msgid "Samaná"
8901
- msgstr ""
8902
-
8903
- #: src/Functions/data/states.php:423
8904
- msgid "San Cristóbal"
8905
- msgstr ""
8906
-
8907
- #: src/Functions/data/states.php:424
8908
- msgid "San José de Ocoa"
8909
- msgstr ""
8910
-
8911
- #: src/Functions/data/states.php:426
8912
- msgid "San Pedro de Macorís"
8913
- msgstr ""
8914
-
8915
- #: src/Functions/data/states.php:427
8916
- msgid "Sánchez Ramírez"
8917
- msgstr ""
8918
-
8919
- #: src/Functions/data/states.php:428
8920
- msgid "Santiago"
8921
- msgstr ""
8922
-
8923
- #: src/Functions/data/states.php:429
8924
- msgid "Santiago Rodríguez"
8925
- msgstr ""
8926
-
8927
- #: src/Functions/data/states.php:430
8928
- msgid "Santo Domingo"
8929
- msgstr ""
8930
-
8931
- #: src/Functions/data/states.php:431
8932
- msgid "Valdesia"
8933
- msgstr ""
8934
-
8935
- #: src/Functions/data/states.php:432
8936
- msgid "Valverde"
8937
- msgstr ""
8938
-
8939
- #: src/Functions/data/states.php:433
8940
- msgid "Yuma"
8941
- msgstr ""
8942
-
8943
- #: src/Functions/data/states.php:436
8944
- msgid "Adrar"
8945
- msgstr ""
8946
-
8947
- #: src/Functions/data/states.php:437
8948
- msgid "Chlef"
8949
- msgstr ""
8950
-
8951
- #: src/Functions/data/states.php:438
8952
- msgid "Laghouat"
8953
- msgstr ""
8954
-
8955
- #: src/Functions/data/states.php:439
8956
- msgid "Oum El Bouaghi"
8957
- msgstr ""
8958
-
8959
- #: src/Functions/data/states.php:440
8960
- msgid "Batna"
8961
- msgstr ""
8962
-
8963
- #: src/Functions/data/states.php:441
8964
- msgid "Béjaïa"
8965
- msgstr ""
8966
-
8967
- #: src/Functions/data/states.php:442
8968
- msgid "Biskra"
8969
- msgstr ""
8970
-
8971
- #: src/Functions/data/states.php:443
8972
- msgid "Béchar"
8973
- msgstr ""
8974
-
8975
- #: src/Functions/data/states.php:444
8976
- msgid "Blida"
8977
- msgstr ""
8978
-
8979
- #: src/Functions/data/states.php:445
8980
- msgid "Bouira"
8981
- msgstr ""
8982
-
8983
- #: src/Functions/data/states.php:446
8984
- msgid "Tamanghasset"
8985
- msgstr ""
8986
-
8987
- #: src/Functions/data/states.php:447
8988
- msgid "Tébessa"
8989
- msgstr ""
8990
-
8991
- #: src/Functions/data/states.php:448
8992
- msgid "Tlemcen"
8993
- msgstr ""
8994
-
8995
- #: src/Functions/data/states.php:449
8996
- msgid "Tiaret"
8997
- msgstr ""
8998
-
8999
- #: src/Functions/data/states.php:450
9000
- msgid "Tizi Ouzou"
9001
- msgstr ""
9002
-
9003
- #: src/Functions/data/states.php:451
9004
- msgid "Algiers"
9005
- msgstr ""
9006
-
9007
- #: src/Functions/data/states.php:452
9008
- msgid "Djelfa"
9009
- msgstr ""
9010
-
9011
- #: src/Functions/data/states.php:453
9012
- msgid "Jijel"
9013
- msgstr ""
9014
-
9015
- #: src/Functions/data/states.php:454
9016
- msgid "Sétif"
9017
- msgstr ""
9018
-
9019
- #: src/Functions/data/states.php:455
9020
- msgid "Saïda"
9021
- msgstr ""
9022
-
9023
- #: src/Functions/data/states.php:456
9024
- msgid "Skikda"
9025
- msgstr ""
9026
-
9027
- #: src/Functions/data/states.php:457
9028
- msgid "Sidi Bel Abbès"
9029
- msgstr ""
9030
-
9031
- #: src/Functions/data/states.php:458
9032
- msgid "Annaba"
9033
- msgstr ""
9034
-
9035
- #: src/Functions/data/states.php:459
9036
- msgid "Guelma"
9037
- msgstr ""
9038
-
9039
- #: src/Functions/data/states.php:460
9040
- msgid "Constantine"
9041
- msgstr ""
9042
-
9043
- #: src/Functions/data/states.php:461
9044
- msgid "Médéa"
9045
- msgstr ""
9046
-
9047
- #: src/Functions/data/states.php:462
9048
- msgid "Mostaganem"
9049
- msgstr ""
9050
-
9051
- #: src/Functions/data/states.php:463
9052
- msgid "M’Sila"
9053
- msgstr ""
9054
-
9055
- #: src/Functions/data/states.php:464
9056
- msgid "Mascara"
9057
- msgstr ""
9058
-
9059
- #: src/Functions/data/states.php:465
9060
- msgid "Ouargla"
9061
- msgstr ""
9062
-
9063
- #: src/Functions/data/states.php:466
9064
- msgid "Oran"
9065
- msgstr ""
9066
-
9067
- #: src/Functions/data/states.php:467
9068
- msgid "El Bayadh"
9069
- msgstr ""
9070
-
9071
- #: src/Functions/data/states.php:468
9072
- msgid "Illizi"
9073
- msgstr ""
9074
-
9075
- #: src/Functions/data/states.php:469
9076
- msgid "Bordj Bou Arréridj"
9077
- msgstr ""
9078
-
9079
- #: src/Functions/data/states.php:470
9080
- msgid "Boumerdès"
9081
- msgstr ""
9082
-
9083
- #: src/Functions/data/states.php:471
9084
- msgid "El Tarf"
9085
- msgstr ""
9086
-
9087
- #: src/Functions/data/states.php:472
9088
- msgid "Tindouf"
9089
- msgstr ""
9090
-
9091
- #: src/Functions/data/states.php:473
9092
- msgid "Tissemsilt"
9093
- msgstr ""
9094
-
9095
- #: src/Functions/data/states.php:474
9096
- msgid "El Oued"
9097
- msgstr ""
9098
-
9099
- #: src/Functions/data/states.php:475
9100
- msgid "Khenchela"
9101
- msgstr ""
9102
-
9103
- #: src/Functions/data/states.php:476
9104
- msgid "Souk Ahras"
9105
- msgstr ""
9106
-
9107
- #: src/Functions/data/states.php:477
9108
- msgid "Tipasa"
9109
- msgstr ""
9110
-
9111
- #: src/Functions/data/states.php:478
9112
- msgid "Mila"
9113
- msgstr ""
9114
-
9115
- #: src/Functions/data/states.php:479
9116
- msgid "Aïn Defla"
9117
- msgstr ""
9118
-
9119
- #: src/Functions/data/states.php:480
9120
- msgid "Naama"
9121
- msgstr ""
9122
-
9123
- #: src/Functions/data/states.php:481
9124
- msgid "Aïn Témouchent"
9125
- msgstr ""
9126
-
9127
- #: src/Functions/data/states.php:482
9128
- msgid "Ghardaïa"
9129
- msgstr ""
9130
-
9131
- #: src/Functions/data/states.php:483
9132
- msgid "Relizane"
9133
- msgstr ""
9134
-
9135
- #: src/Functions/data/states.php:487
9136
- msgid "Azuay"
9137
- msgstr ""
9138
-
9139
- #: src/Functions/data/states.php:489
9140
- msgid "Cañar"
9141
- msgstr ""
9142
-
9143
- #: src/Functions/data/states.php:490
9144
- msgid "Carchi"
9145
- msgstr ""
9146
-
9147
- #: src/Functions/data/states.php:491
9148
- msgid "Chimborazo"
9149
- msgstr ""
9150
-
9151
- #: src/Functions/data/states.php:492
9152
- msgid "Cotopaxi"
9153
- msgstr ""
9154
-
9155
- #: src/Functions/data/states.php:493
9156
- msgid "El Oro"
9157
- msgstr ""
9158
-
9159
- #: src/Functions/data/states.php:494
9160
- msgid "Esmeraldas"
9161
- msgstr ""
9162
-
9163
- #: src/Functions/data/states.php:495
9164
- msgid "Galápagos"
9165
- msgstr ""
9166
-
9167
- #: src/Functions/data/states.php:496
9168
- msgid "Guayas"
9169
- msgstr ""
9170
-
9171
- #: src/Functions/data/states.php:497
9172
- msgid "Imbabura"
9173
- msgstr ""
9174
-
9175
- #: src/Functions/data/states.php:498
9176
- msgid "Loja"
9177
- msgstr ""
9178
-
9179
- #: src/Functions/data/states.php:500
9180
- msgid "Manabí"
9181
- msgstr ""
9182
-
9183
- #: src/Functions/data/states.php:501
9184
- msgid "Morona-Santiago"
9185
- msgstr ""
9186
-
9187
- #: src/Functions/data/states.php:502
9188
- msgid "Napo"
9189
- msgstr ""
9190
-
9191
- #: src/Functions/data/states.php:503
9192
- msgid "Orellana"
9193
- msgstr ""
9194
-
9195
- #: src/Functions/data/states.php:504
9196
- msgid "Pastaza"
9197
- msgstr ""
9198
-
9199
- #: src/Functions/data/states.php:505
9200
- msgid "Pichincha"
9201
- msgstr ""
9202
-
9203
- #: src/Functions/data/states.php:506
9204
- msgid "Santa Elena"
9205
- msgstr ""
9206
-
9207
- #: src/Functions/data/states.php:507
9208
- msgid "Santo Domingo de los Tsáchilas"
9209
- msgstr ""
9210
-
9211
- #: src/Functions/data/states.php:508
9212
- msgid "Sucumbíos"
9213
- msgstr ""
9214
-
9215
- #: src/Functions/data/states.php:509
9216
- msgid "Tungurahua"
9217
- msgstr ""
9218
-
9219
- #: src/Functions/data/states.php:510
9220
- msgid "Zamora-Chinchipe"
9221
- msgstr ""
9222
-
9223
- #: src/Functions/data/states.php:513
9224
- msgid "Alexandria"
9225
- msgstr ""
9226
-
9227
- #: src/Functions/data/states.php:514
9228
- msgid "Aswan"
9229
- msgstr ""
9230
-
9231
- #: src/Functions/data/states.php:515
9232
- msgid "Asyut"
9233
- msgstr ""
9234
-
9235
- #: src/Functions/data/states.php:516
9236
- msgid "Red Sea"
9237
- msgstr ""
9238
-
9239
- #: src/Functions/data/states.php:517
9240
- msgid "Beheira"
9241
- msgstr ""
9242
-
9243
- #: src/Functions/data/states.php:518
9244
- msgid "Beni Suef"
9245
- msgstr ""
9246
-
9247
- #: src/Functions/data/states.php:519
9248
- msgid "Cairo"
9249
- msgstr ""
9250
-
9251
- #: src/Functions/data/states.php:520
9252
- msgid "Dakahlia"
9253
- msgstr ""
9254
-
9255
- #: src/Functions/data/states.php:521
9256
- msgid "Damietta"
9257
- msgstr ""
9258
-
9259
- #: src/Functions/data/states.php:522
9260
- msgid "Faiyum"
9261
- msgstr ""
9262
-
9263
- #: src/Functions/data/states.php:523
9264
- msgid "Gharbia"
9265
- msgstr ""
9266
-
9267
- #: src/Functions/data/states.php:524
9268
- msgid "Giza"
9269
- msgstr ""
9270
-
9271
- #: src/Functions/data/states.php:525
9272
- msgid "Ismailia"
9273
- msgstr ""
9274
-
9275
- #: src/Functions/data/states.php:526
9276
- msgid "South Sinai"
9277
- msgstr ""
9278
-
9279
- #: src/Functions/data/states.php:527
9280
- msgid "Qalyubia"
9281
- msgstr ""
9282
-
9283
- #: src/Functions/data/states.php:528
9284
- msgid "Kafr el-Sheikh"
9285
- msgstr ""
9286
-
9287
- #: src/Functions/data/states.php:529
9288
- msgid "Qena"
9289
- msgstr ""
9290
-
9291
- #: src/Functions/data/states.php:530
9292
- msgid "Luxor"
9293
- msgstr ""
9294
-
9295
- #: src/Functions/data/states.php:531
9296
- msgid "Minya"
9297
- msgstr ""
9298
-
9299
- #: src/Functions/data/states.php:532
9300
- msgid "Monufia"
9301
- msgstr ""
9302
-
9303
- #: src/Functions/data/states.php:533
9304
- msgid "Matrouh"
9305
- msgstr ""
9306
-
9307
- #: src/Functions/data/states.php:534
9308
- msgid "Port Said"
9309
- msgstr ""
9310
-
9311
- #: src/Functions/data/states.php:535
9312
- msgid "Sohag"
9313
- msgstr ""
9314
-
9315
- #: src/Functions/data/states.php:536
9316
- msgid "Al Sharqia"
9317
- msgstr ""
9318
-
9319
- #: src/Functions/data/states.php:537
9320
- msgid "North Sinai"
9321
- msgstr ""
9322
-
9323
- #: src/Functions/data/states.php:538
9324
- msgid "Suez"
9325
- msgstr ""
9326
-
9327
- #: src/Functions/data/states.php:539
9328
- msgid "New Valley"
9329
- msgstr ""
9330
-
9331
- #: src/Functions/data/states.php:542
9332
- msgid "A Coruña"
9333
- msgstr ""
9334
-
9335
- #: src/Functions/data/states.php:543
9336
- msgid "Araba/Álava"
9337
- msgstr ""
9338
-
9339
- #: src/Functions/data/states.php:544
9340
- msgid "Albacete"
9341
- msgstr ""
9342
-
9343
- #: src/Functions/data/states.php:545
9344
- msgid "Alicante"
9345
- msgstr ""
9346
-
9347
- #: src/Functions/data/states.php:546
9348
- msgid "Almería"
9349
- msgstr ""
9350
-
9351
- #: src/Functions/data/states.php:547
9352
- msgid "Asturias"
9353
- msgstr ""
9354
-
9355
- #: src/Functions/data/states.php:548
9356
- msgid "Ávila"
9357
- msgstr ""
9358
-
9359
- #: src/Functions/data/states.php:549
9360
- msgid "Badajoz"
9361
- msgstr ""
9362
-
9363
- #: src/Functions/data/states.php:550
9364
- msgid "Baleares"
9365
- msgstr ""
9366
-
9367
- #: src/Functions/data/states.php:551
9368
- msgid "Barcelona"
9369
- msgstr ""
9370
-
9371
- #: src/Functions/data/states.php:552
9372
- msgid "Burgos"
9373
- msgstr ""
9374
-
9375
- #: src/Functions/data/states.php:553
9376
- msgid "Cáceres"
9377
- msgstr ""
9378
-
9379
- #: src/Functions/data/states.php:554
9380
- msgid "Cádiz"
9381
- msgstr ""
9382
-
9383
- #: src/Functions/data/states.php:555
9384
- msgid "Cantabria"
9385
- msgstr ""
9386
-
9387
- #: src/Functions/data/states.php:556
9388
- msgid "Castellón"
9389
- msgstr ""
9390
-
9391
- #: src/Functions/data/states.php:557
9392
- msgid "Ceuta"
9393
- msgstr ""
9394
-
9395
- #: src/Functions/data/states.php:558
9396
- msgid "Ciudad Real"
9397
- msgstr ""
9398
-
9399
- #: src/Functions/data/states.php:560
9400
- msgid "Cuenca"
9401
- msgstr ""
9402
-
9403
- #: src/Functions/data/states.php:561
9404
- msgid "Girona"
9405
- msgstr ""
9406
-
9407
- #: src/Functions/data/states.php:562 src/Functions/data/states.php:1299
9408
- msgid "Granada"
9409
- msgstr ""
9410
-
9411
- #: src/Functions/data/states.php:563
9412
- msgid "Guadalajara"
9413
- msgstr ""
9414
-
9415
- #: src/Functions/data/states.php:564
9416
- msgid "Gipuzkoa"
9417
- msgstr ""
9418
-
9419
- #: src/Functions/data/states.php:565
9420
- msgid "Huelva"
9421
- msgstr ""
9422
-
9423
- #: src/Functions/data/states.php:566
9424
- msgid "Huesca"
9425
- msgstr ""
9426
-
9427
- #: src/Functions/data/states.php:567
9428
- msgid "Jaén"
9429
- msgstr ""
9430
-
9431
- #: src/Functions/data/states.php:569
9432
- msgid "Las Palmas"
9433
- msgstr ""
9434
-
9435
- #: src/Functions/data/states.php:570 src/Functions/data/states.php:1301
9436
- msgid "León"
9437
- msgstr ""
9438
-
9439
- #: src/Functions/data/states.php:571
9440
- msgid "Lleida"
9441
- msgstr ""
9442
-
9443
- #: src/Functions/data/states.php:572
9444
- msgid "Lugo"
9445
- msgstr ""
9446
-
9447
- #: src/Functions/data/states.php:573
9448
- msgid "Madrid"
9449
- msgstr ""
9450
-
9451
- #: src/Functions/data/states.php:574
9452
- msgid "Málaga"
9453
- msgstr ""
9454
-
9455
- #: src/Functions/data/states.php:575
9456
- msgid "Melilla"
9457
- msgstr ""
9458
-
9459
- #: src/Functions/data/states.php:576
9460
- msgid "Murcia"
9461
- msgstr ""
9462
-
9463
- #: src/Functions/data/states.php:577
9464
- msgid "Navarra"
9465
- msgstr ""
9466
-
9467
- #: src/Functions/data/states.php:578
9468
- msgid "Ourense"
9469
- msgstr ""
9470
-
9471
- #: src/Functions/data/states.php:579
9472
- msgid "Palencia"
9473
- msgstr ""
9474
-
9475
- #: src/Functions/data/states.php:580
9476
- msgid "Pontevedra"
9477
- msgstr ""
9478
-
9479
- #: src/Functions/data/states.php:581
9480
- msgid "Salamanca"
9481
- msgstr ""
9482
-
9483
- #: src/Functions/data/states.php:582
9484
- msgid "Santa Cruz de Tenerife"
9485
- msgstr ""
9486
-
9487
- #: src/Functions/data/states.php:583
9488
- msgid "Segovia"
9489
- msgstr ""
9490
-
9491
- #: src/Functions/data/states.php:584
9492
- msgid "Sevilla"
9493
- msgstr ""
9494
-
9495
- #: src/Functions/data/states.php:585
9496
- msgid "Soria"
9497
- msgstr ""
9498
-
9499
- #: src/Functions/data/states.php:586
9500
- msgid "Tarragona"
9501
- msgstr ""
9502
-
9503
- #: src/Functions/data/states.php:587
9504
- msgid "Teruel"
9505
- msgstr ""
9506
-
9507
- #: src/Functions/data/states.php:588
9508
- msgid "Toledo"
9509
- msgstr ""
9510
-
9511
- #: src/Functions/data/states.php:589
9512
- msgid "Valencia"
9513
- msgstr ""
9514
-
9515
- #: src/Functions/data/states.php:590
9516
- msgid "Valladolid"
9517
- msgstr ""
9518
-
9519
- #: src/Functions/data/states.php:591
9520
- msgid "Biscay"
9521
- msgstr ""
9522
-
9523
- #: src/Functions/data/states.php:592
9524
- msgid "Zamora"
9525
- msgstr ""
9526
-
9527
- #: src/Functions/data/states.php:593
9528
- msgid "Zaragoza"
9529
- msgstr ""
9530
-
9531
- #: src/Functions/data/states.php:599
9532
- msgid "Ahafo"
9533
- msgstr ""
9534
-
9535
- #: src/Functions/data/states.php:600
9536
- msgid "Ashanti"
9537
- msgstr ""
9538
-
9539
- #: src/Functions/data/states.php:601
9540
- msgid "Brong-Ahafo"
9541
- msgstr ""
9542
-
9543
- #: src/Functions/data/states.php:602
9544
- msgid "Bono"
9545
- msgstr ""
9546
-
9547
- #: src/Functions/data/states.php:603
9548
- msgid "Bono East"
9549
- msgstr ""
9550
-
9551
- #: src/Functions/data/states.php:604 src/Functions/data/states.php:1480
9552
- #: src/Functions/data/states.php:2068
9553
- msgid "Central"
9554
- msgstr ""
9555
-
9556
- #: src/Functions/data/states.php:605 src/Functions/data/states.php:2069
9557
- msgid "Eastern"
9558
- msgstr ""
9559
-
9560
- #: src/Functions/data/states.php:606
9561
- msgid "Greater Accra"
9562
- msgstr ""
9563
-
9564
- #: src/Functions/data/states.php:607
9565
- msgid "North East"
9566
- msgstr ""
9567
-
9568
- #: src/Functions/data/states.php:608 src/Functions/data/states.php:2071
9569
- msgid "Northern"
9570
- msgstr ""
9571
-
9572
- #: src/Functions/data/states.php:609
9573
- msgid "Oti"
9574
- msgstr ""
9575
-
9576
- #: src/Functions/data/states.php:610
9577
- msgid "Savannah"
9578
- msgstr ""
9579
-
9580
- #: src/Functions/data/states.php:611
9581
- msgid "Upper East"
9582
- msgstr ""
9583
-
9584
- #: src/Functions/data/states.php:612
9585
- msgid "Upper West"
9586
- msgstr ""
9587
-
9588
- #: src/Functions/data/states.php:613
9589
- msgid "Volta"
9590
- msgstr ""
9591
-
9592
- #: src/Functions/data/states.php:614 src/Functions/data/states.php:2067
9593
- msgid "Western"
9594
- msgstr ""
9595
-
9596
- #: src/Functions/data/states.php:615
9597
- msgid "Western North"
9598
- msgstr ""
9599
-
9600
- #: src/Functions/data/states.php:619
9601
- msgid "Attica"
9602
- msgstr ""
9603
-
9604
- #: src/Functions/data/states.php:620
9605
- msgid "East Macedonia and Thrace"
9606
- msgstr ""
9607
-
9608
- #: src/Functions/data/states.php:621
9609
- msgid "Central Macedonia"
9610
- msgstr ""
9611
-
9612
- #: src/Functions/data/states.php:622
9613
- msgid "West Macedonia"
9614
- msgstr ""
9615
-
9616
- #: src/Functions/data/states.php:623
9617
- msgid "Epirus"
9618
- msgstr ""
9619
-
9620
- #: src/Functions/data/states.php:624
9621
- msgid "Thessaly"
9622
- msgstr ""
9623
-
9624
- #: src/Functions/data/states.php:625
9625
- msgid "Ionian Islands"
9626
- msgstr ""
9627
-
9628
- #: src/Functions/data/states.php:626
9629
- msgid "West Greece"
9630
- msgstr ""
9631
-
9632
- #: src/Functions/data/states.php:627
9633
- msgid "Central Greece"
9634
- msgstr ""
9635
-
9636
- #: src/Functions/data/states.php:628
9637
- msgid "Peloponnese"
9638
- msgstr ""
9639
-
9640
- #: src/Functions/data/states.php:629
9641
- msgid "North Aegean"
9642
- msgstr ""
9643
-
9644
- #: src/Functions/data/states.php:630
9645
- msgid "South Aegean"
9646
- msgstr ""
9647
-
9648
- #: src/Functions/data/states.php:631
9649
- msgid "Crete"
9650
- msgstr ""
9651
-
9652
- #: src/Functions/data/states.php:634
9653
- msgid "Alta Verapaz"
9654
- msgstr ""
9655
-
9656
- #: src/Functions/data/states.php:635
9657
- msgid "Baja Verapaz"
9658
- msgstr ""
9659
-
9660
- #: src/Functions/data/states.php:636
9661
- msgid "Chimaltenango"
9662
- msgstr ""
9663
-
9664
- #: src/Functions/data/states.php:637
9665
- msgid "Chiquimula"
9666
- msgstr ""
9667
-
9668
- #: src/Functions/data/states.php:638
9669
- msgid "El Progreso"
9670
- msgstr ""
9671
-
9672
- #: src/Functions/data/states.php:639
9673
- msgid "Escuintla"
9674
- msgstr ""
9675
-
9676
- #: src/Functions/data/states.php:641
9677
- msgid "Huehuetenango"
9678
- msgstr ""
9679
-
9680
- #: src/Functions/data/states.php:642
9681
- msgid "Izabal"
9682
- msgstr ""
9683
-
9684
- #: src/Functions/data/states.php:643
9685
- msgid "Jalapa"
9686
- msgstr ""
9687
-
9688
- #: src/Functions/data/states.php:644
9689
- msgid "Jutiapa"
9690
- msgstr ""
9691
-
9692
- #: src/Functions/data/states.php:645
9693
- msgid "Petén"
9694
- msgstr ""
9695
-
9696
- #: src/Functions/data/states.php:646
9697
- msgid "Quetzaltenango"
9698
- msgstr ""
9699
-
9700
- #: src/Functions/data/states.php:647
9701
- msgid "Quiché"
9702
- msgstr ""
9703
-
9704
- #: src/Functions/data/states.php:648
9705
- msgid "Retalhuleu"
9706
- msgstr ""
9707
-
9708
- #: src/Functions/data/states.php:649
9709
- msgid "Sacatepéquez"
9710
- msgstr ""
9711
-
9712
- #: src/Functions/data/states.php:650
9713
- msgid "San Marcos"
9714
- msgstr ""
9715
-
9716
- #: src/Functions/data/states.php:651
9717
- msgid "Santa Rosa"
9718
- msgstr ""
9719
-
9720
- #: src/Functions/data/states.php:652
9721
- msgid "Sololá"
9722
- msgstr ""
9723
-
9724
- #: src/Functions/data/states.php:653
9725
- msgid "Suchitepéquez"
9726
- msgstr ""
9727
-
9728
- #: src/Functions/data/states.php:654
9729
- msgid "Totonicapán"
9730
- msgstr ""
9731
-
9732
- #: src/Functions/data/states.php:655
9733
- msgid "Zacapa"
9734
- msgstr ""
9735
-
9736
- #: src/Functions/data/states.php:658
9737
- msgid "Hong Kong Island"
9738
- msgstr ""
9739
-
9740
- #: src/Functions/data/states.php:659
9741
- msgid "Kowloon"
9742
- msgstr ""
9743
-
9744
- #: src/Functions/data/states.php:660
9745
- msgid "New Territories"
9746
- msgstr ""
9747
-
9748
- #: src/Functions/data/states.php:663
9749
- msgid "Atlántida"
9750
- msgstr ""
9751
-
9752
- #: src/Functions/data/states.php:664
9753
- msgid "Bay Islands"
9754
- msgstr ""
9755
-
9756
- #: src/Functions/data/states.php:665
9757
- msgid "Choluteca"
9758
- msgstr ""
9759
-
9760
- #: src/Functions/data/states.php:666 src/Functions/data/states.php:1331
9761
- msgid "Colón"
9762
- msgstr ""
9763
-
9764
- #: src/Functions/data/states.php:667
9765
- msgid "Comayagua"
9766
- msgstr ""
9767
-
9768
- #: src/Functions/data/states.php:668
9769
- msgid "Copán"
9770
- msgstr ""
9771
-
9772
- #: src/Functions/data/states.php:669
9773
- msgid "Cortés"
9774
- msgstr ""
9775
-
9776
- #: src/Functions/data/states.php:670
9777
- msgid "El Paraíso"
9778
- msgstr ""
9779
-
9780
- #: src/Functions/data/states.php:671
9781
- msgid "Francisco Morazán"
9782
- msgstr ""
9783
-
9784
- #: src/Functions/data/states.php:672
9785
- msgid "Gracias a Dios"
9786
- msgstr ""
9787
-
9788
- #: src/Functions/data/states.php:673
9789
- msgid "Intibucá"
9790
- msgstr ""
9791
-
9792
- #: src/Functions/data/states.php:674
9793
- msgid "Lempira"
9794
- msgstr ""
9795
-
9796
- #: src/Functions/data/states.php:676
9797
- msgid "Ocotepeque"
9798
- msgstr ""
9799
-
9800
- #: src/Functions/data/states.php:677
9801
- msgid "Olancho"
9802
- msgstr ""
9803
-
9804
- #: src/Functions/data/states.php:678
9805
- msgid "Santa Bárbara"
9806
- msgstr ""
9807
-
9808
- #: src/Functions/data/states.php:679
9809
- msgid "Valle"
9810
- msgstr ""
9811
-
9812
- #: src/Functions/data/states.php:680
9813
- msgid "Yoro"
9814
- msgstr ""
9815
-
9816
- #: src/Functions/data/states.php:683
9817
- msgid "Bács-Kiskun"
9818
- msgstr ""
9819
-
9820
- #: src/Functions/data/states.php:684
9821
- msgid "Békés"
9822
- msgstr ""
9823
-
9824
- #: src/Functions/data/states.php:685
9825
- msgid "Baranya"
9826
- msgstr ""
9827
-
9828
- #: src/Functions/data/states.php:686
9829
- msgid "Borsod-Abaúj-Zemplén"
9830
- msgstr ""
9831
-
9832
- #: src/Functions/data/states.php:687
9833
- msgid "Budapest"
9834
- msgstr ""
9835
-
9836
- #: src/Functions/data/states.php:688
9837
- msgid "Csongrád-Csanád"
9838
- msgstr ""
9839
-
9840
- #: src/Functions/data/states.php:689
9841
- msgid "Fejér"
9842
- msgstr ""
9843
-
9844
- #: src/Functions/data/states.php:690
9845
- msgid "Győr-Moson-Sopron"
9846
- msgstr ""
9847
-
9848
- #: src/Functions/data/states.php:691
9849
- msgid "Hajdú-Bihar"
9850
- msgstr ""
9851
-
9852
- #: src/Functions/data/states.php:692
9853
- msgid "Heves"
9854
- msgstr ""
9855
-
9856
- #: src/Functions/data/states.php:693
9857
- msgid "Jász-Nagykun-Szolnok"
9858
- msgstr ""
9859
-
9860
- #: src/Functions/data/states.php:694
9861
- msgid "Komárom-Esztergom"
9862
- msgstr ""
9863
-
9864
- #: src/Functions/data/states.php:695
9865
- msgid "Nógrád"
9866
- msgstr ""
9867
-
9868
- #: src/Functions/data/states.php:696
9869
- msgid "Pest"
9870
- msgstr ""
9871
-
9872
- #: src/Functions/data/states.php:697
9873
- msgid "Somogy"
9874
- msgstr ""
9875
-
9876
- #: src/Functions/data/states.php:698
9877
- msgid "Szabolcs-Szatmár-Bereg"
9878
- msgstr ""
9879
-
9880
- #: src/Functions/data/states.php:699
9881
- msgid "Tolna"
9882
- msgstr ""
9883
-
9884
- #: src/Functions/data/states.php:700
9885
- msgid "Vas"
9886
- msgstr ""
9887
-
9888
- #: src/Functions/data/states.php:701
9889
- msgid "Veszprém"
9890
- msgstr ""
9891
-
9892
- #: src/Functions/data/states.php:702
9893
- msgid "Zala"
9894
- msgstr ""
9895
-
9896
- #: src/Functions/data/states.php:705
9897
- msgid "Daerah Istimewa Aceh"
9898
- msgstr ""
9899
-
9900
- #: src/Functions/data/states.php:706
9901
- msgid "Sumatera Utara"
9902
- msgstr ""
9903
-
9904
- #: src/Functions/data/states.php:707
9905
- msgid "Sumatera Barat"
9906
- msgstr ""
9907
-
9908
- #: src/Functions/data/states.php:708
9909
- msgid "Riau"
9910
- msgstr ""
9911
-
9912
- #: src/Functions/data/states.php:709
9913
- msgid "Kepulauan Riau"
9914
- msgstr ""
9915
-
9916
- #: src/Functions/data/states.php:710
9917
- msgid "Jambi"
9918
- msgstr ""
9919
-
9920
- #: src/Functions/data/states.php:711
9921
- msgid "Sumatera Selatan"
9922
- msgstr ""
9923
-
9924
- #: src/Functions/data/states.php:712
9925
- msgid "Bangka Belitung"
9926
- msgstr ""
9927
-
9928
- #: src/Functions/data/states.php:713
9929
- msgid "Bengkulu"
9930
- msgstr ""
9931
-
9932
- #: src/Functions/data/states.php:714
9933
- msgid "Lampung"
9934
- msgstr ""
9935
-
9936
- #: src/Functions/data/states.php:715
9937
- msgid "DKI Jakarta"
9938
- msgstr ""
9939
-
9940
- #: src/Functions/data/states.php:716
9941
- msgid "Jawa Barat"
9942
- msgstr ""
9943
-
9944
- #: src/Functions/data/states.php:717
9945
- msgid "Banten"
9946
- msgstr ""
9947
-
9948
- #: src/Functions/data/states.php:718
9949
- msgid "Jawa Tengah"
9950
- msgstr ""
9951
-
9952
- #: src/Functions/data/states.php:719
9953
- msgid "Jawa Timur"
9954
- msgstr ""
9955
-
9956
- #: src/Functions/data/states.php:720
9957
- msgid "Daerah Istimewa Yogyakarta"
9958
- msgstr ""
9959
-
9960
- #: src/Functions/data/states.php:721
9961
- msgid "Bali"
9962
- msgstr ""
9963
-
9964
- #: src/Functions/data/states.php:722
9965
- msgid "Nusa Tenggara Barat"
9966
- msgstr ""
9967
-
9968
- #: src/Functions/data/states.php:723
9969
- msgid "Nusa Tenggara Timur"
9970
- msgstr ""
9971
-
9972
- #: src/Functions/data/states.php:724
9973
- msgid "Kalimantan Barat"
9974
- msgstr ""
9975
-
9976
- #: src/Functions/data/states.php:725
9977
- msgid "Kalimantan Tengah"
9978
- msgstr ""
9979
-
9980
- #: src/Functions/data/states.php:726
9981
- msgid "Kalimantan Timur"
9982
- msgstr ""
9983
-
9984
- #: src/Functions/data/states.php:727
9985
- msgid "Kalimantan Selatan"
9986
- msgstr ""
9987
-
9988
- #: src/Functions/data/states.php:728
9989
- msgid "Kalimantan Utara"
9990
- msgstr ""
9991
-
9992
- #: src/Functions/data/states.php:729
9993
- msgid "Sulawesi Utara"
9994
- msgstr ""
9995
-
9996
- #: src/Functions/data/states.php:730
9997
- msgid "Sulawesi Tengah"
9998
- msgstr ""
9999
-
10000
- #: src/Functions/data/states.php:731
10001
- msgid "Sulawesi Tenggara"
10002
- msgstr ""
10003
-
10004
- #: src/Functions/data/states.php:732
10005
- msgid "Sulawesi Barat"
10006
- msgstr ""
10007
-
10008
- #: src/Functions/data/states.php:733
10009
- msgid "Sulawesi Selatan"
10010
- msgstr ""
10011
-
10012
- #: src/Functions/data/states.php:734
10013
- msgid "Gorontalo"
10014
- msgstr ""
10015
-
10016
- #: src/Functions/data/states.php:735
10017
- msgid "Maluku"
10018
- msgstr ""
10019
-
10020
- #: src/Functions/data/states.php:736
10021
- msgid "Maluku Utara"
10022
- msgstr ""
10023
-
10024
- #: src/Functions/data/states.php:737
10025
- msgid "Papua"
10026
- msgstr ""
10027
-
10028
- #: src/Functions/data/states.php:738
10029
- msgid "Papua Barat"
10030
- msgstr ""
10031
-
10032
- #: src/Functions/data/states.php:741
10033
- msgid "Carlow"
10034
- msgstr ""
10035
-
10036
- #: src/Functions/data/states.php:742
10037
- msgid "Cavan"
10038
- msgstr ""
10039
-
10040
- #: src/Functions/data/states.php:743
10041
- msgid "Clare"
10042
- msgstr ""
10043
-
10044
- #: src/Functions/data/states.php:744
10045
- msgid "Cork"
10046
- msgstr ""
10047
-
10048
- #: src/Functions/data/states.php:745
10049
- msgid "Donegal"
10050
- msgstr ""
10051
-
10052
- #: src/Functions/data/states.php:746
10053
- msgid "Dublin"
10054
- msgstr ""
10055
-
10056
- #: src/Functions/data/states.php:747
10057
- msgid "Galway"
10058
- msgstr ""
10059
-
10060
- #: src/Functions/data/states.php:748
10061
- msgid "Kerry"
10062
- msgstr ""
10063
-
10064
- #: src/Functions/data/states.php:749
10065
- msgid "Kildare"
10066
- msgstr ""
10067
-
10068
- #: src/Functions/data/states.php:750
10069
- msgid "Kilkenny"
10070
- msgstr ""
10071
-
10072
- #: src/Functions/data/states.php:751
10073
- msgid "Laois"
10074
- msgstr ""
10075
-
10076
- #: src/Functions/data/states.php:752
10077
- msgid "Leitrim"
10078
- msgstr ""
10079
-
10080
- #: src/Functions/data/states.php:753
10081
- msgid "Limerick"
10082
- msgstr ""
10083
-
10084
- #: src/Functions/data/states.php:754
10085
- msgid "Longford"
10086
- msgstr ""
10087
-
10088
- #: src/Functions/data/states.php:755
10089
- msgid "Louth"
10090
- msgstr ""
10091
-
10092
- #: src/Functions/data/states.php:756
10093
- msgid "Mayo"
10094
- msgstr ""
10095
-
10096
- #: src/Functions/data/states.php:757
10097
- msgid "Meath"
10098
- msgstr ""
10099
-
10100
- #: src/Functions/data/states.php:758
10101
- msgid "Monaghan"
10102
- msgstr ""
10103
-
10104
- #: src/Functions/data/states.php:759
10105
- msgid "Offaly"
10106
- msgstr ""
10107
-
10108
- #: src/Functions/data/states.php:760
10109
- msgid "Roscommon"
10110
- msgstr ""
10111
-
10112
- #: src/Functions/data/states.php:761
10113
- msgid "Sligo"
10114
- msgstr ""
10115
-
10116
- #: src/Functions/data/states.php:762
10117
- msgid "Tipperary"
10118
- msgstr ""
10119
-
10120
- #: src/Functions/data/states.php:763
10121
- msgid "Waterford"
10122
- msgstr ""
10123
-
10124
- #: src/Functions/data/states.php:764
10125
- msgid "Westmeath"
10126
- msgstr ""
10127
-
10128
- #: src/Functions/data/states.php:765
10129
- msgid "Wexford"
10130
- msgstr ""
10131
-
10132
- #: src/Functions/data/states.php:766
10133
- msgid "Wicklow"
10134
- msgstr ""
10135
-
10136
- #: src/Functions/data/states.php:769
10137
- msgid "Andhra Pradesh"
10138
- msgstr ""
10139
-
10140
- #: src/Functions/data/states.php:770
10141
- msgid "Arunachal Pradesh"
10142
- msgstr ""
10143
-
10144
- #: src/Functions/data/states.php:771
10145
- msgid "Assam"
10146
- msgstr ""
10147
-
10148
- #: src/Functions/data/states.php:772
10149
- msgid "Bihar"
10150
- msgstr ""
10151
-
10152
- #: src/Functions/data/states.php:773
10153
- msgid "Chhattisgarh"
10154
- msgstr ""
10155
-
10156
- #: src/Functions/data/states.php:774
10157
- msgid "Goa"
10158
- msgstr ""
10159
-
10160
- #: src/Functions/data/states.php:775
10161
- msgid "Gujarat"
10162
- msgstr ""
10163
-
10164
- #: src/Functions/data/states.php:776
10165
- msgid "Haryana"
10166
- msgstr ""
10167
-
10168
- #: src/Functions/data/states.php:777
10169
- msgid "Himachal Pradesh"
10170
- msgstr ""
10171
-
10172
- #: src/Functions/data/states.php:778
10173
- msgid "Jammu and Kashmir"
10174
- msgstr ""
10175
-
10176
- #: src/Functions/data/states.php:779
10177
- msgid "Jharkhand"
10178
- msgstr ""
10179
-
10180
- #: src/Functions/data/states.php:780
10181
- msgid "Karnataka"
10182
- msgstr ""
10183
-
10184
- #: src/Functions/data/states.php:781
10185
- msgid "Kerala"
10186
- msgstr ""
10187
-
10188
- #: src/Functions/data/states.php:782
10189
- msgid "Ladakh"
10190
- msgstr ""
10191
-
10192
- #: src/Functions/data/states.php:783
10193
- msgid "Madhya Pradesh"
10194
- msgstr ""
10195
-
10196
- #: src/Functions/data/states.php:784
10197
- msgid "Maharashtra"
10198
- msgstr ""
10199
-
10200
- #: src/Functions/data/states.php:785
10201
- msgid "Manipur"
10202
- msgstr ""
10203
-
10204
- #: src/Functions/data/states.php:786
10205
- msgid "Meghalaya"
10206
- msgstr ""
10207
-
10208
- #: src/Functions/data/states.php:787
10209
- msgid "Mizoram"
10210
- msgstr ""
10211
-
10212
- #: src/Functions/data/states.php:788
10213
- msgid "Nagaland"
10214
- msgstr ""
10215
-
10216
- #: src/Functions/data/states.php:789
10217
- msgid "Odisha"
10218
- msgstr ""
10219
-
10220
- #: src/Functions/data/states.php:790 src/Functions/data/states.php:1462
10221
- msgid "Punjab"
10222
- msgstr ""
10223
-
10224
- #: src/Functions/data/states.php:791
10225
- msgid "Rajasthan"
10226
- msgstr ""
10227
-
10228
- #: src/Functions/data/states.php:792
10229
- msgid "Sikkim"
10230
- msgstr ""
10231
-
10232
- #: src/Functions/data/states.php:793
10233
- msgid "Tamil Nadu"
10234
- msgstr ""
10235
-
10236
- #: src/Functions/data/states.php:794
10237
- msgid "Telangana"
10238
- msgstr ""
10239
-
10240
- #: src/Functions/data/states.php:795
10241
- msgid "Tripura"
10242
- msgstr ""
10243
-
10244
- #: src/Functions/data/states.php:796
10245
- msgid "Uttarakhand"
10246
- msgstr ""
10247
-
10248
- #: src/Functions/data/states.php:797
10249
- msgid "Uttar Pradesh"
10250
- msgstr ""
10251
-
10252
- #: src/Functions/data/states.php:798
10253
- msgid "West Bengal"
10254
- msgstr ""
10255
-
10256
- #: src/Functions/data/states.php:799
10257
- msgid "Andaman and Nicobar Islands"
10258
- msgstr ""
10259
-
10260
- #: src/Functions/data/states.php:800
10261
- msgid "Chandigarh"
10262
- msgstr ""
10263
-
10264
- #: src/Functions/data/states.php:801
10265
- msgid "Dadra and Nagar Haveli"
10266
- msgstr ""
10267
-
10268
- #: src/Functions/data/states.php:802
10269
- msgid "Daman and Diu"
10270
- msgstr ""
10271
-
10272
- #: src/Functions/data/states.php:803
10273
- msgid "Delhi"
10274
- msgstr ""
10275
-
10276
- #: src/Functions/data/states.php:804
10277
- msgid "Lakshadeep"
10278
- msgstr ""
10279
-
10280
- #: src/Functions/data/states.php:805
10281
- msgid "Pondicherry (Puducherry)"
10282
- msgstr ""
10283
-
10284
- #: src/Functions/data/states.php:808
10285
- msgid "Khuzestan (خوزستان)"
10286
- msgstr ""
10287
-
10288
- #: src/Functions/data/states.php:809
10289
- msgid "Tehran (تهران)"
10290
- msgstr ""
10291
-
10292
- #: src/Functions/data/states.php:810
10293
- msgid "Ilaam (ایلام)"
10294
- msgstr ""
10295
-
10296
- #: src/Functions/data/states.php:811
10297
- msgid "Bushehr (بوشهر)"
10298
- msgstr ""
10299
-
10300
- #: src/Functions/data/states.php:812
10301
- msgid "Ardabil (اردبیل)"
10302
- msgstr ""
10303
-
10304
- #: src/Functions/data/states.php:813
10305
- msgid "Isfahan (اصفهان)"
10306
- msgstr ""
10307
-
10308
- #: src/Functions/data/states.php:814
10309
- msgid "Yazd (یزد)"
10310
- msgstr ""
10311
-
10312
- #: src/Functions/data/states.php:815
10313
- msgid "Kermanshah (کرمانشاه)"
10314
- msgstr ""
10315
-
10316
- #: src/Functions/data/states.php:816
10317
- msgid "Kerman (کرمان)"
10318
- msgstr ""
10319
-
10320
- #: src/Functions/data/states.php:817
10321
- msgid "Hamadan (همدان)"
10322
- msgstr ""
10323
-
10324
- #: src/Functions/data/states.php:818
10325
- msgid "Ghazvin (قزوین)"
10326
- msgstr ""
10327
-
10328
- #: src/Functions/data/states.php:819
10329
- msgid "Zanjan (زنجان)"
10330
- msgstr ""
10331
-
10332
- #: src/Functions/data/states.php:820
10333
- msgid "Luristan (لرستان)"
10334
- msgstr ""
10335
-
10336
- #: src/Functions/data/states.php:821
10337
- msgid "Alborz (البرز)"
10338
- msgstr ""
10339
-
10340
- #: src/Functions/data/states.php:822
10341
- msgid "East Azarbaijan (آذربایجان شرقی)"
10342
- msgstr ""
10343
-
10344
- #: src/Functions/data/states.php:823
10345
- msgid "West Azarbaijan (آذربایجان غربی)"
10346
- msgstr ""
10347
-
10348
- #: src/Functions/data/states.php:824
10349
- msgid "Chaharmahal and Bakhtiari (چهارمحال و بختیاری)"
10350
- msgstr ""
10351
-
10352
- #: src/Functions/data/states.php:825
10353
- msgid "South Khorasan (خراسان جنوبی)"
10354
- msgstr ""
10355
-
10356
- #: src/Functions/data/states.php:826
10357
- msgid "Razavi Khorasan (خراسان رضوی)"
10358
- msgstr ""
10359
-
10360
- #: src/Functions/data/states.php:827
10361
- msgid "North Khorasan (خراسان شمالی)"
10362
- msgstr ""
10363
-
10364
- #: src/Functions/data/states.php:828
10365
- msgid "Semnan (سمنان)"
10366
- msgstr ""
10367
-
10368
- #: src/Functions/data/states.php:829
10369
- msgid "Fars (فارس)"
10370
- msgstr ""
10371
-
10372
- #: src/Functions/data/states.php:830
10373
- msgid "Qom (قم)"
10374
- msgstr ""
10375
-
10376
- #: src/Functions/data/states.php:831
10377
- msgid "Kurdistan / کردستان)"
10378
- msgstr ""
10379
-
10380
- #: src/Functions/data/states.php:832
10381
- msgid "Kohgiluyeh and BoyerAhmad (کهگیلوییه و بویراحمد)"
10382
- msgstr ""
10383
-
10384
- #: src/Functions/data/states.php:833
10385
- msgid "Golestan (گلستان)"
10386
- msgstr ""
10387
-
10388
- #: src/Functions/data/states.php:834
10389
- msgid "Gilan (گیلان)"
10390
- msgstr ""
10391
-
10392
- #: src/Functions/data/states.php:835
10393
- msgid "Mazandaran (مازندران)"
10394
- msgstr ""
10395
-
10396
- #: src/Functions/data/states.php:836
10397
- msgid "Markazi (مرکزی)"
10398
- msgstr ""
10399
-
10400
- #: src/Functions/data/states.php:837
10401
- msgid "Hormozgan (هرمزگان)"
10402
- msgstr ""
10403
-
10404
- #: src/Functions/data/states.php:838
10405
- msgid "Sistan and Baluchestan (سیستان و بلوچستان)"
10406
- msgstr ""
10407
-
10408
- #: src/Functions/data/states.php:842
10409
- msgid "Agrigento"
10410
- msgstr ""
10411
-
10412
- #: src/Functions/data/states.php:843
10413
- msgid "Alessandria"
10414
- msgstr ""
10415
-
10416
- #: src/Functions/data/states.php:844
10417
- msgid "Ancona"
10418
- msgstr ""
10419
-
10420
- #: src/Functions/data/states.php:845
10421
- msgid "Aosta"
10422
- msgstr ""
10423
-
10424
- #: src/Functions/data/states.php:846
10425
- msgid "Arezzo"
10426
- msgstr ""
10427
-
10428
- #: src/Functions/data/states.php:847
10429
- msgid "Ascoli Piceno"
10430
- msgstr ""
10431
-
10432
- #: src/Functions/data/states.php:848
10433
- msgid "Asti"
10434
- msgstr ""
10435
-
10436
- #: src/Functions/data/states.php:849
10437
- msgid "Avellino"
10438
- msgstr ""
10439
-
10440
- #: src/Functions/data/states.php:850
10441
- msgid "Bari"
10442
- msgstr ""
10443
-
10444
- #: src/Functions/data/states.php:851
10445
- msgid "Barletta-Andria-Trani"
10446
- msgstr ""
10447
-
10448
- #: src/Functions/data/states.php:852
10449
- msgid "Belluno"
10450
- msgstr ""
10451
-
10452
- #: src/Functions/data/states.php:853
10453
- msgid "Benevento"
10454
- msgstr ""
10455
-
10456
- #: src/Functions/data/states.php:854
10457
- msgid "Bergamo"
10458
- msgstr ""
10459
-
10460
- #: src/Functions/data/states.php:855
10461
- msgid "Biella"
10462
- msgstr ""
10463
-
10464
- #: src/Functions/data/states.php:856
10465
- msgid "Bologna"
10466
- msgstr ""
10467
-
10468
- #: src/Functions/data/states.php:857
10469
- msgid "Bolzano"
10470
- msgstr ""
10471
-
10472
- #: src/Functions/data/states.php:858
10473
- msgid "Brescia"
10474
- msgstr ""
10475
-
10476
- #: src/Functions/data/states.php:859
10477
- msgid "Brindisi"
10478
- msgstr ""
10479
-
10480
- #: src/Functions/data/states.php:860
10481
- msgid "Cagliari"
10482
- msgstr ""
10483
-
10484
- #: src/Functions/data/states.php:861
10485
- msgid "Caltanissetta"
10486
- msgstr ""
10487
-
10488
- #: src/Functions/data/states.php:862
10489
- msgid "Campobasso"
10490
- msgstr ""
10491
-
10492
- #: src/Functions/data/states.php:863
10493
- msgid "Caserta"
10494
- msgstr ""
10495
-
10496
- #: src/Functions/data/states.php:864
10497
- msgid "Catania"
10498
- msgstr ""
10499
-
10500
- #: src/Functions/data/states.php:865
10501
- msgid "Catanzaro"
10502
- msgstr ""
10503
-
10504
- #: src/Functions/data/states.php:866
10505
- msgid "Chieti"
10506
- msgstr ""
10507
-
10508
- #: src/Functions/data/states.php:867
10509
- msgid "Como"
10510
- msgstr ""
10511
-
10512
- #: src/Functions/data/states.php:868
10513
- msgid "Cosenza"
10514
- msgstr ""
10515
-
10516
- #: src/Functions/data/states.php:869
10517
- msgid "Cremona"
10518
- msgstr ""
10519
-
10520
- #: src/Functions/data/states.php:870
10521
- msgid "Crotone"
10522
- msgstr ""
10523
-
10524
- #: src/Functions/data/states.php:871
10525
- msgid "Cuneo"
10526
- msgstr ""
10527
-
10528
- #: src/Functions/data/states.php:872
10529
- msgid "Enna"
10530
- msgstr ""
10531
-
10532
- #: src/Functions/data/states.php:873
10533
- msgid "Fermo"
10534
- msgstr ""
10535
-
10536
- #: src/Functions/data/states.php:874
10537
- msgid "Ferrara"
10538
- msgstr ""
10539
-
10540
- #: src/Functions/data/states.php:875
10541
- msgid "Firenze"
10542
- msgstr ""
10543
-
10544
- #: src/Functions/data/states.php:876
10545
- msgid "Foggia"
10546
- msgstr ""
10547
-
10548
- #: src/Functions/data/states.php:877
10549
- msgid "Forlì-Cesena"
10550
- msgstr ""
10551
-
10552
- #: src/Functions/data/states.php:878
10553
- msgid "Frosinone"
10554
- msgstr ""
10555
-
10556
- #: src/Functions/data/states.php:879
10557
- msgid "Genova"
10558
- msgstr ""
10559
-
10560
- #: src/Functions/data/states.php:880
10561
- msgid "Gorizia"
10562
- msgstr ""
10563
-
10564
- #: src/Functions/data/states.php:881
10565
- msgid "Grosseto"
10566
- msgstr ""
10567
-
10568
- #: src/Functions/data/states.php:882
10569
- msgid "Imperia"
10570
- msgstr ""
10571
-
10572
- #: src/Functions/data/states.php:883
10573
- msgid "Isernia"
10574
- msgstr ""
10575
-
10576
- #: src/Functions/data/states.php:884
10577
- msgid "La Spezia"
10578
- msgstr ""
10579
-
10580
- #: src/Functions/data/states.php:885
10581
- msgid "L'Aquila"
10582
- msgstr ""
10583
-
10584
- #: src/Functions/data/states.php:886
10585
- msgid "Latina"
10586
- msgstr ""
10587
-
10588
- #: src/Functions/data/states.php:887
10589
- msgid "Lecce"
10590
- msgstr ""
10591
-
10592
- #: src/Functions/data/states.php:888
10593
- msgid "Lecco"
10594
- msgstr ""
10595
-
10596
- #: src/Functions/data/states.php:889
10597
- msgid "Livorno"
10598
- msgstr ""
10599
-
10600
- #: src/Functions/data/states.php:890
10601
- msgid "Lodi"
10602
- msgstr ""
10603
-
10604
- #: src/Functions/data/states.php:891
10605
- msgid "Lucca"
10606
- msgstr ""
10607
-
10608
- #: src/Functions/data/states.php:892
10609
- msgid "Macerata"
10610
- msgstr ""
10611
-
10612
- #: src/Functions/data/states.php:893
10613
- msgid "Mantova"
10614
- msgstr ""
10615
-
10616
- #: src/Functions/data/states.php:894
10617
- msgid "Massa-Carrara"
10618
- msgstr ""
10619
-
10620
- #: src/Functions/data/states.php:895
10621
- msgid "Matera"
10622
- msgstr ""
10623
-
10624
- #: src/Functions/data/states.php:896
10625
- msgid "Messina"
10626
- msgstr ""
10627
-
10628
- #: src/Functions/data/states.php:897
10629
- msgid "Milano"
10630
- msgstr ""
10631
-
10632
- #: src/Functions/data/states.php:898
10633
- msgid "Modena"
10634
- msgstr ""
10635
-
10636
- #: src/Functions/data/states.php:899
10637
- msgid "Monza e della Brianza"
10638
- msgstr ""
10639
-
10640
- #: src/Functions/data/states.php:900
10641
- msgid "Napoli"
10642
- msgstr ""
10643
-
10644
- #: src/Functions/data/states.php:901
10645
- msgid "Novara"
10646
- msgstr ""
10647
-
10648
- #: src/Functions/data/states.php:902
10649
- msgid "Nuoro"
10650
- msgstr ""
10651
-
10652
- #: src/Functions/data/states.php:903
10653
- msgid "Oristano"
10654
- msgstr ""
10655
-
10656
- #: src/Functions/data/states.php:904
10657
- msgid "Padova"
10658
- msgstr ""
10659
-
10660
- #: src/Functions/data/states.php:905
10661
- msgid "Palermo"
10662
- msgstr ""
10663
-
10664
- #: src/Functions/data/states.php:906
10665
- msgid "Parma"
10666
- msgstr ""
10667
-
10668
- #: src/Functions/data/states.php:907
10669
- msgid "Pavia"
10670
- msgstr ""
10671
-
10672
- #: src/Functions/data/states.php:908
10673
- msgid "Perugia"
10674
- msgstr ""
10675
-
10676
- #: src/Functions/data/states.php:909
10677
- msgid "Pesaro e Urbino"
10678
- msgstr ""
10679
-
10680
- #: src/Functions/data/states.php:910
10681
- msgid "Pescara"
10682
- msgstr ""
10683
-
10684
- #: src/Functions/data/states.php:911
10685
- msgid "Piacenza"
10686
- msgstr ""
10687
-
10688
- #: src/Functions/data/states.php:912
10689
- msgid "Pisa"
10690
- msgstr ""
10691
-
10692
- #: src/Functions/data/states.php:913
10693
- msgid "Pistoia"
10694
- msgstr ""
10695
-
10696
- #: src/Functions/data/states.php:914
10697
- msgid "Pordenone"
10698
- msgstr ""
10699
-
10700
- #: src/Functions/data/states.php:915
10701
- msgid "Potenza"
10702
- msgstr ""
10703
-
10704
- #: src/Functions/data/states.php:916
10705
- msgid "Prato"
10706
- msgstr ""
10707
-
10708
- #: src/Functions/data/states.php:917
10709
- msgid "Ragusa"
10710
- msgstr ""
10711
-
10712
- #: src/Functions/data/states.php:918
10713
- msgid "Ravenna"
10714
- msgstr ""
10715
-
10716
- #: src/Functions/data/states.php:919
10717
- msgid "Reggio Calabria"
10718
- msgstr ""
10719
-
10720
- #: src/Functions/data/states.php:920
10721
- msgid "Reggio Emilia"
10722
- msgstr ""
10723
-
10724
- #: src/Functions/data/states.php:921
10725
- msgid "Rieti"
10726
- msgstr ""
10727
-
10728
- #: src/Functions/data/states.php:922
10729
- msgid "Rimini"
10730
- msgstr ""
10731
-
10732
- #: src/Functions/data/states.php:923
10733
- msgid "Roma"
10734
- msgstr ""
10735
-
10736
- #: src/Functions/data/states.php:924
10737
- msgid "Rovigo"
10738
- msgstr ""
10739
-
10740
- #: src/Functions/data/states.php:925
10741
- msgid "Salerno"
10742
- msgstr ""
10743
-
10744
- #: src/Functions/data/states.php:926
10745
- msgid "Sassari"
10746
- msgstr ""
10747
-
10748
- #: src/Functions/data/states.php:927
10749
- msgid "Savona"
10750
- msgstr ""
10751
-
10752
- #: src/Functions/data/states.php:928
10753
- msgid "Siena"
10754
- msgstr ""
10755
-
10756
- #: src/Functions/data/states.php:929
10757
- msgid "Siracusa"
10758
- msgstr ""
10759
-
10760
- #: src/Functions/data/states.php:930
10761
- msgid "Sondrio"
10762
- msgstr ""
10763
-
10764
- #: src/Functions/data/states.php:931
10765
- msgid "Sud Sardegna"
10766
- msgstr ""
10767
-
10768
- #: src/Functions/data/states.php:932
10769
- msgid "Taranto"
10770
- msgstr ""
10771
-
10772
- #: src/Functions/data/states.php:933
10773
- msgid "Teramo"
10774
- msgstr ""
10775
-
10776
- #: src/Functions/data/states.php:934
10777
- msgid "Terni"
10778
- msgstr ""
10779
-
10780
- #: src/Functions/data/states.php:935
10781
- msgid "Torino"
10782
- msgstr ""
10783
-
10784
- #: src/Functions/data/states.php:936
10785
- msgid "Trapani"
10786
- msgstr ""
10787
-
10788
- #: src/Functions/data/states.php:937
10789
- msgid "Trento"
10790
- msgstr ""
10791
-
10792
- #: src/Functions/data/states.php:938
10793
- msgid "Treviso"
10794
- msgstr ""
10795
-
10796
- #: src/Functions/data/states.php:939
10797
- msgid "Trieste"
10798
- msgstr ""
10799
-
10800
- #: src/Functions/data/states.php:940
10801
- msgid "Udine"
10802
- msgstr ""
10803
-
10804
- #: src/Functions/data/states.php:941
10805
- msgid "Varese"
10806
- msgstr ""
10807
-
10808
- #: src/Functions/data/states.php:942
10809
- msgid "Venezia"
10810
- msgstr ""
10811
-
10812
- #: src/Functions/data/states.php:943
10813
- msgid "Verbano-Cusio-Ossola"
10814
- msgstr ""
10815
-
10816
- #: src/Functions/data/states.php:944
10817
- msgid "Vercelli"
10818
- msgstr ""
10819
-
10820
- #: src/Functions/data/states.php:945
10821
- msgid "Verona"
10822
- msgstr ""
10823
-
10824
- #: src/Functions/data/states.php:946
10825
- msgid "Vibo Valentia"
10826
- msgstr ""
10827
-
10828
- #: src/Functions/data/states.php:947
10829
- msgid "Vicenza"
10830
- msgstr ""
10831
-
10832
- #: src/Functions/data/states.php:948
10833
- msgid "Viterbo"
10834
- msgstr ""
10835
-
10836
- #: src/Functions/data/states.php:953
10837
- msgid "Kingston"
10838
- msgstr ""
10839
-
10840
- #: src/Functions/data/states.php:954
10841
- msgid "Saint Andrew"
10842
- msgstr ""
10843
-
10844
- #: src/Functions/data/states.php:955
10845
- msgid "Saint Thomas"
10846
- msgstr ""
10847
-
10848
- #: src/Functions/data/states.php:956
10849
- msgid "Portland"
10850
- msgstr ""
10851
-
10852
- #: src/Functions/data/states.php:957
10853
- msgid "Saint Mary"
10854
- msgstr ""
10855
-
10856
- #: src/Functions/data/states.php:958
10857
- msgid "Saint Ann"
10858
- msgstr ""
10859
-
10860
- #: src/Functions/data/states.php:959
10861
- msgid "Trelawny"
10862
- msgstr ""
10863
-
10864
- #: src/Functions/data/states.php:960
10865
- msgid "Saint James"
10866
- msgstr ""
10867
-
10868
- #: src/Functions/data/states.php:961
10869
- msgid "Hanover"
10870
- msgstr ""
10871
-
10872
- #: src/Functions/data/states.php:962
10873
- msgid "Westmoreland"
10874
- msgstr ""
10875
-
10876
- #: src/Functions/data/states.php:963
10877
- msgid "Saint Elizabeth"
10878
- msgstr ""
10879
-
10880
- #: src/Functions/data/states.php:964
10881
- msgid "Manchester"
10882
- msgstr ""
10883
-
10884
- #: src/Functions/data/states.php:965
10885
- msgid "Clarendon"
10886
- msgstr ""
10887
-
10888
- #: src/Functions/data/states.php:966
10889
- msgid "Saint Catherine"
10890
- msgstr ""
10891
-
10892
- #: src/Functions/data/states.php:976
10893
- msgid "Hokkaido"
10894
- msgstr ""
10895
-
10896
- #: src/Functions/data/states.php:977
10897
- msgid "Aomori"
10898
- msgstr ""
10899
-
10900
- #: src/Functions/data/states.php:978
10901
- msgid "Iwate"
10902
- msgstr ""
10903
-
10904
- #: src/Functions/data/states.php:979
10905
- msgid "Miyagi"
10906
- msgstr ""
10907
-
10908
- #: src/Functions/data/states.php:980
10909
- msgid "Akita"
10910
- msgstr ""
10911
-
10912
- #: src/Functions/data/states.php:981
10913
- msgid "Yamagata"
10914
- msgstr ""
10915
-
10916
- #: src/Functions/data/states.php:982
10917
- msgid "Fukushima"
10918
- msgstr ""
10919
-
10920
- #: src/Functions/data/states.php:983
10921
- msgid "Ibaraki"
10922
- msgstr ""
10923
-
10924
- #: src/Functions/data/states.php:984
10925
- msgid "Tochigi"
10926
- msgstr ""
10927
-
10928
- #: src/Functions/data/states.php:985
10929
- msgid "Gunma"
10930
- msgstr ""
10931
-
10932
- #: src/Functions/data/states.php:986
10933
- msgid "Saitama"
10934
- msgstr ""
10935
-
10936
- #: src/Functions/data/states.php:987
10937
- msgid "Chiba"
10938
- msgstr ""
10939
-
10940
- #: src/Functions/data/states.php:988
10941
- msgid "Tokyo"
10942
- msgstr ""
10943
-
10944
- #: src/Functions/data/states.php:989
10945
- msgid "Kanagawa"
10946
- msgstr ""
10947
-
10948
- #: src/Functions/data/states.php:990
10949
- msgid "Niigata"
10950
- msgstr ""
10951
-
10952
- #: src/Functions/data/states.php:991
10953
- msgid "Toyama"
10954
- msgstr ""
10955
-
10956
- #: src/Functions/data/states.php:992
10957
- msgid "Ishikawa"
10958
- msgstr ""
10959
-
10960
- #: src/Functions/data/states.php:993
10961
- msgid "Fukui"
10962
- msgstr ""
10963
-
10964
- #: src/Functions/data/states.php:994
10965
- msgid "Yamanashi"
10966
- msgstr ""
10967
-
10968
- #: src/Functions/data/states.php:995
10969
- msgid "Nagano"
10970
- msgstr ""
10971
-
10972
- #: src/Functions/data/states.php:996
10973
- msgid "Gifu"
10974
- msgstr ""
10975
-
10976
- #: src/Functions/data/states.php:997
10977
- msgid "Shizuoka"
10978
- msgstr ""
10979
-
10980
- #: src/Functions/data/states.php:998
10981
- msgid "Aichi"
10982
- msgstr ""
10983
-
10984
- #: src/Functions/data/states.php:999
10985
- msgid "Mie"
10986
- msgstr ""
10987
-
10988
- #: src/Functions/data/states.php:1000
10989
- msgid "Shiga"
10990
- msgstr ""
10991
-
10992
- #: src/Functions/data/states.php:1001
10993
- msgid "Kyoto"
10994
- msgstr ""
10995
-
10996
- #: src/Functions/data/states.php:1002
10997
- msgid "Osaka"
10998
- msgstr ""
10999
-
11000
- #: src/Functions/data/states.php:1003
11001
- msgid "Hyogo"
11002
- msgstr ""
11003
-
11004
- #: src/Functions/data/states.php:1004
11005
- msgid "Nara"
11006
- msgstr ""
11007
-
11008
- #: src/Functions/data/states.php:1005
11009
- msgid "Wakayama"
11010
- msgstr ""
11011
-
11012
- #: src/Functions/data/states.php:1006
11013
- msgid "Tottori"
11014
- msgstr ""
11015
-
11016
- #: src/Functions/data/states.php:1007
11017
- msgid "Shimane"
11018
- msgstr ""
11019
-
11020
- #: src/Functions/data/states.php:1008
11021
- msgid "Okayama"
11022
- msgstr ""
11023
-
11024
- #: src/Functions/data/states.php:1009
11025
- msgid "Hiroshima"
11026
- msgstr ""
11027
-
11028
- #: src/Functions/data/states.php:1010
11029
- msgid "Yamaguchi"
11030
- msgstr ""
11031
-
11032
- #: src/Functions/data/states.php:1011
11033
- msgid "Tokushima"
11034
- msgstr ""
11035
-
11036
- #: src/Functions/data/states.php:1012
11037
- msgid "Kagawa"
11038
- msgstr ""
11039
-
11040
- #: src/Functions/data/states.php:1013
11041
- msgid "Ehime"
11042
- msgstr ""
11043
-
11044
- #: src/Functions/data/states.php:1014
11045
- msgid "Kochi"
11046
- msgstr ""
11047
-
11048
- #: src/Functions/data/states.php:1015
11049
- msgid "Fukuoka"
11050
- msgstr ""
11051
-
11052
- #: src/Functions/data/states.php:1016
11053
- msgid "Saga"
11054
- msgstr ""
11055
-
11056
- #: src/Functions/data/states.php:1017
11057
- msgid "Nagasaki"
11058
- msgstr ""
11059
-
11060
- #: src/Functions/data/states.php:1018
11061
- msgid "Kumamoto"
11062
- msgstr ""
11063
-
11064
- #: src/Functions/data/states.php:1019
11065
- msgid "Oita"
11066
- msgstr ""
11067
-
11068
- #: src/Functions/data/states.php:1020
11069
- msgid "Miyazaki"
11070
- msgstr ""
11071
-
11072
- #: src/Functions/data/states.php:1021
11073
- msgid "Kagoshima"
11074
- msgstr ""
11075
-
11076
- #: src/Functions/data/states.php:1022
11077
- msgid "Okinawa"
11078
- msgstr ""
11079
-
11080
- #: src/Functions/data/states.php:1025
11081
- msgid "Baringo"
11082
- msgstr ""
11083
-
11084
- #: src/Functions/data/states.php:1026
11085
- msgid "Bomet"
11086
- msgstr ""
11087
-
11088
- #: src/Functions/data/states.php:1027
11089
- msgid "Bungoma"
11090
- msgstr ""
11091
-
11092
- #: src/Functions/data/states.php:1028 src/Functions/data/states.php:1833
11093
- msgid "Busia"
11094
- msgstr ""
11095
-
11096
- #: src/Functions/data/states.php:1029
11097
- msgid "Elgeyo-Marakwet"
11098
- msgstr ""
11099
-
11100
- #: src/Functions/data/states.php:1030
11101
- msgid "Embu"
11102
- msgstr ""
11103
-
11104
- #: src/Functions/data/states.php:1031
11105
- msgid "Garissa"
11106
- msgstr ""
11107
-
11108
- #: src/Functions/data/states.php:1032
11109
- msgid "Homa Bay"
11110
- msgstr ""
11111
-
11112
- #: src/Functions/data/states.php:1033
11113
- msgid "Isiolo"
11114
- msgstr ""
11115
-
11116
- #: src/Functions/data/states.php:1034
11117
- msgid "Kajiado"
11118
- msgstr ""
11119
-
11120
- #: src/Functions/data/states.php:1035
11121
- msgid "Kakamega"
11122
- msgstr ""
11123
-
11124
- #: src/Functions/data/states.php:1036
11125
- msgid "Kericho"
11126
- msgstr ""
11127
-
11128
- #: src/Functions/data/states.php:1037
11129
- msgid "Kiambu"
11130
- msgstr ""
11131
-
11132
- #: src/Functions/data/states.php:1038
11133
- msgid "Kilifi"
11134
- msgstr ""
11135
-
11136
- #: src/Functions/data/states.php:1039
11137
- msgid "Kirinyaga"
11138
- msgstr ""
11139
-
11140
- #: src/Functions/data/states.php:1040
11141
- msgid "Kisii"
11142
- msgstr ""
11143
-
11144
- #: src/Functions/data/states.php:1041
11145
- msgid "Kisumu"
11146
- msgstr ""
11147
-
11148
- #: src/Functions/data/states.php:1042
11149
- msgid "Kitui"
11150
- msgstr ""
11151
-
11152
- #: src/Functions/data/states.php:1043
11153
- msgid "Kwale"
11154
- msgstr ""
11155
-
11156
- #: src/Functions/data/states.php:1044
11157
- msgid "Laikipia"
11158
- msgstr ""
11159
-
11160
- #: src/Functions/data/states.php:1045
11161
- msgid "Lamu"
11162
- msgstr ""
11163
-
11164
- #: src/Functions/data/states.php:1046
11165
- msgid "Machakos"
11166
- msgstr ""
11167
-
11168
- #: src/Functions/data/states.php:1047
11169
- msgid "Makueni"
11170
- msgstr ""
11171
-
11172
- #: src/Functions/data/states.php:1048
11173
- msgid "Mandera"
11174
- msgstr ""
11175
-
11176
- #: src/Functions/data/states.php:1049
11177
- msgid "Marsabit"
11178
- msgstr ""
11179
-
11180
- #: src/Functions/data/states.php:1050
11181
- msgid "Meru"
11182
- msgstr ""
11183
-
11184
- #: src/Functions/data/states.php:1051
11185
- msgid "Migori"
11186
- msgstr ""
11187
-
11188
- #: src/Functions/data/states.php:1052
11189
- msgid "Mombasa"
11190
- msgstr ""
11191
-
11192
- #: src/Functions/data/states.php:1053
11193
- msgid "Murang’a"
11194
- msgstr ""
11195
-
11196
- #: src/Functions/data/states.php:1054
11197
- msgid "Nairobi County"
11198
- msgstr ""
11199
-
11200
- #: src/Functions/data/states.php:1055
11201
- msgid "Nakuru"
11202
- msgstr ""
11203
-
11204
- #: src/Functions/data/states.php:1056
11205
- msgid "Nandi"
11206
- msgstr ""
11207
-
11208
- #: src/Functions/data/states.php:1057
11209
- msgid "Narok"
11210
- msgstr ""
11211
-
11212
- #: src/Functions/data/states.php:1058
11213
- msgid "Nyamira"
11214
- msgstr ""
11215
-
11216
- #: src/Functions/data/states.php:1059
11217
- msgid "Nyandarua"
11218
- msgstr ""
11219
-
11220
- #: src/Functions/data/states.php:1060
11221
- msgid "Nyeri"
11222
- msgstr ""
11223
-
11224
- #: src/Functions/data/states.php:1061
11225
- msgid "Samburu"
11226
- msgstr ""
11227
-
11228
- #: src/Functions/data/states.php:1062
11229
- msgid "Siaya"
11230
- msgstr ""
11231
-
11232
- #: src/Functions/data/states.php:1063
11233
- msgid "Taita-Taveta"
11234
- msgstr ""
11235
-
11236
- #: src/Functions/data/states.php:1064
11237
- msgid "Tana River"
11238
- msgstr ""
11239
-
11240
- #: src/Functions/data/states.php:1065
11241
- msgid "Tharaka-Nithi"
11242
- msgstr ""
11243
-
11244
- #: src/Functions/data/states.php:1066
11245
- msgid "Trans Nzoia"
11246
- msgstr ""
11247
-
11248
- #: src/Functions/data/states.php:1067
11249
- msgid "Turkana"
11250
- msgstr ""
11251
-
11252
- #: src/Functions/data/states.php:1068
11253
- msgid "Uasin Gishu"
11254
- msgstr ""
11255
-
11256
- #: src/Functions/data/states.php:1069
11257
- msgid "Vihiga"
11258
- msgstr ""
11259
-
11260
- #: src/Functions/data/states.php:1070
11261
- msgid "Wajir"
11262
- msgstr ""
11263
-
11264
- #: src/Functions/data/states.php:1071
11265
- msgid "West Pokot"
11266
- msgstr ""
11267
-
11268
- #: src/Functions/data/states.php:1076
11269
- msgid "Attapeu"
11270
- msgstr ""
11271
-
11272
- #: src/Functions/data/states.php:1077
11273
- msgid "Bokeo"
11274
- msgstr ""
11275
-
11276
- #: src/Functions/data/states.php:1078
11277
- msgid "Bolikhamsai"
11278
- msgstr ""
11279
-
11280
- #: src/Functions/data/states.php:1079
11281
- msgid "Champasak"
11282
- msgstr ""
11283
-
11284
- #: src/Functions/data/states.php:1080
11285
- msgid "Houaphanh"
11286
- msgstr ""
11287
-
11288
- #: src/Functions/data/states.php:1081
11289
- msgid "Khammouane"
11290
- msgstr ""
11291
-
11292
- #: src/Functions/data/states.php:1082
11293
- msgid "Luang Namtha"
11294
- msgstr ""
11295
-
11296
- #: src/Functions/data/states.php:1083
11297
- msgid "Luang Prabang"
11298
- msgstr ""
11299
-
11300
- #: src/Functions/data/states.php:1084
11301
- msgid "Oudomxay"
11302
- msgstr ""
11303
-
11304
- #: src/Functions/data/states.php:1085
11305
- msgid "Phongsaly"
11306
- msgstr ""
11307
-
11308
- #: src/Functions/data/states.php:1086
11309
- msgid "Salavan"
11310
- msgstr ""
11311
-
11312
- #: src/Functions/data/states.php:1087
11313
- msgid "Savannakhet"
11314
- msgstr ""
11315
-
11316
- #: src/Functions/data/states.php:1088
11317
- msgid "Vientiane Province"
11318
- msgstr ""
11319
-
11320
- #: src/Functions/data/states.php:1089
11321
- msgid "Vientiane"
11322
- msgstr ""
11323
-
11324
- #: src/Functions/data/states.php:1090
11325
- msgid "Sainyabuli"
11326
- msgstr ""
11327
-
11328
- #: src/Functions/data/states.php:1091
11329
- msgid "Sekong"
11330
- msgstr ""
11331
-
11332
- #: src/Functions/data/states.php:1092
11333
- msgid "Xiangkhouang"
11334
- msgstr ""
11335
-
11336
- #: src/Functions/data/states.php:1093
11337
- msgid "Xaisomboun"
11338
- msgstr ""
11339
-
11340
- #: src/Functions/data/states.php:1097
11341
- msgid "Bomi"
11342
- msgstr ""
11343
-
11344
- #: src/Functions/data/states.php:1098
11345
- msgid "Bong"
11346
- msgstr ""
11347
-
11348
- #: src/Functions/data/states.php:1099
11349
- msgid "Gbarpolu"
11350
- msgstr ""
11351
-
11352
- #: src/Functions/data/states.php:1100
11353
- msgid "Grand Bassa"
11354
- msgstr ""
11355
-
11356
- #: src/Functions/data/states.php:1101
11357
- msgid "Grand Cape Mount"
11358
- msgstr ""
11359
-
11360
- #: src/Functions/data/states.php:1102
11361
- msgid "Grand Gedeh"
11362
- msgstr ""
11363
-
11364
- #: src/Functions/data/states.php:1103
11365
- msgid "Grand Kru"
11366
- msgstr ""
11367
-
11368
- #: src/Functions/data/states.php:1104
11369
- msgid "Lofa"
11370
- msgstr ""
11371
-
11372
- #: src/Functions/data/states.php:1105
11373
- msgid "Margibi"
11374
- msgstr ""
11375
-
11376
- #: src/Functions/data/states.php:1106 src/Functions/data/states.php:1970
11377
- msgid "Maryland"
11378
- msgstr ""
11379
-
11380
- #: src/Functions/data/states.php:1107
11381
- msgid "Montserrado"
11382
- msgstr ""
11383
-
11384
- #: src/Functions/data/states.php:1108
11385
- msgid "Nimba"
11386
- msgstr ""
11387
-
11388
- #: src/Functions/data/states.php:1109
11389
- msgid "Rivercess"
11390
- msgstr ""
11391
-
11392
- #: src/Functions/data/states.php:1110
11393
- msgid "River Gee"
11394
- msgstr ""
11395
-
11396
- #: src/Functions/data/states.php:1111
11397
- msgid "Sinoe"
11398
- msgstr ""
11399
-
11400
- #: src/Functions/data/states.php:1115
11401
- msgid "Chișinău"
11402
- msgstr ""
11403
-
11404
- #: src/Functions/data/states.php:1116
11405
- msgid "Bălți"
11406
- msgstr ""
11407
-
11408
- #: src/Functions/data/states.php:1117
11409
- msgid "Anenii Noi"
11410
- msgstr ""
11411
-
11412
- #: src/Functions/data/states.php:1118
11413
- msgid "Basarabeasca"
11414
- msgstr ""
11415
-
11416
- #: src/Functions/data/states.php:1119
11417
- msgid "Briceni"
11418
- msgstr ""
11419
-
11420
- #: src/Functions/data/states.php:1120
11421
- msgid "Cahul"
11422
- msgstr ""
11423
-
11424
- #: src/Functions/data/states.php:1121
11425
- msgid "Cantemir"
11426
- msgstr ""
11427
-
11428
- #: src/Functions/data/states.php:1122 src/Functions/data/states.php:1501
11429
- msgid "Călărași"
11430
- msgstr ""
11431
-
11432
- #: src/Functions/data/states.php:1123
11433
- msgid "Căușeni"
11434
- msgstr ""
11435
-
11436
- #: src/Functions/data/states.php:1124
11437
- msgid "Cimișlia"
11438
- msgstr ""
11439
-
11440
- #: src/Functions/data/states.php:1125
11441
- msgid "Criuleni"
11442
- msgstr ""
11443
-
11444
- #: src/Functions/data/states.php:1126
11445
- msgid "Dondușeni"
11446
- msgstr ""
11447
-
11448
- #: src/Functions/data/states.php:1127
11449
- msgid "Drochia"
11450
- msgstr ""
11451
-
11452
- #: src/Functions/data/states.php:1128
11453
- msgid "Dubăsari"
11454
- msgstr ""
11455
-
11456
- #: src/Functions/data/states.php:1129
11457
- msgid "Edineț"
11458
- msgstr ""
11459
-
11460
- #: src/Functions/data/states.php:1130
11461
- msgid "Fălești"
11462
- msgstr ""
11463
-
11464
- #: src/Functions/data/states.php:1131
11465
- msgid "Florești"
11466
- msgstr ""
11467
-
11468
- #: src/Functions/data/states.php:1132
11469
- msgid "UTA Găgăuzia"
11470
- msgstr ""
11471
-
11472
- #: src/Functions/data/states.php:1133
11473
- msgid "Glodeni"
11474
- msgstr ""
11475
-
11476
- #: src/Functions/data/states.php:1134
11477
- msgid "Hîncești"
11478
- msgstr ""
11479
-
11480
- #: src/Functions/data/states.php:1135
11481
- msgid "Ialoveni"
11482
- msgstr ""
11483
-
11484
- #: src/Functions/data/states.php:1136
11485
- msgid "Leova"
11486
- msgstr ""
11487
-
11488
- #: src/Functions/data/states.php:1137
11489
- msgid "Nisporeni"
11490
- msgstr ""
11491
-
11492
- #: src/Functions/data/states.php:1138
11493
- msgid "Ocnița"
11494
- msgstr ""
11495
-
11496
- #: src/Functions/data/states.php:1139
11497
- msgid "Orhei"
11498
- msgstr ""
11499
-
11500
- #: src/Functions/data/states.php:1140
11501
- msgid "Rezina"
11502
- msgstr ""
11503
-
11504
- #: src/Functions/data/states.php:1141
11505
- msgid "Rîșcani"
11506
- msgstr ""
11507
-
11508
- #: src/Functions/data/states.php:1142
11509
- msgid "Sîngerei"
11510
- msgstr ""
11511
-
11512
- #: src/Functions/data/states.php:1143
11513
- msgid "Soroca"
11514
- msgstr ""
11515
-
11516
- #: src/Functions/data/states.php:1144
11517
- msgid "Strășeni"
11518
- msgstr ""
11519
-
11520
- #: src/Functions/data/states.php:1145
11521
- msgid "Șoldănești"
11522
- msgstr ""
11523
-
11524
- #: src/Functions/data/states.php:1146
11525
- msgid "Ștefan Vodă"
11526
- msgstr ""
11527
-
11528
- #: src/Functions/data/states.php:1147
11529
- msgid "Taraclia"
11530
- msgstr ""
11531
-
11532
- #: src/Functions/data/states.php:1148
11533
- msgid "Telenești"
11534
- msgstr ""
11535
-
11536
- #: src/Functions/data/states.php:1149
11537
- msgid "Ungheni"
11538
- msgstr ""
11539
-
11540
- #: src/Functions/data/states.php:1154
11541
- msgid "Ciudad de México"
11542
- msgstr ""
11543
-
11544
- #: src/Functions/data/states.php:1155
11545
- msgid "Jalisco"
11546
- msgstr ""
11547
-
11548
- #: src/Functions/data/states.php:1156
11549
- msgid "Nuevo León"
11550
- msgstr ""
11551
-
11552
- #: src/Functions/data/states.php:1157
11553
- msgid "Aguascalientes"
11554
- msgstr ""
11555
-
11556
- #: src/Functions/data/states.php:1158
11557
- msgid "Baja California"
11558
- msgstr ""
11559
-
11560
- #: src/Functions/data/states.php:1159
11561
- msgid "Baja California Sur"
11562
- msgstr ""
11563
-
11564
- #: src/Functions/data/states.php:1160
11565
- msgid "Campeche"
11566
- msgstr ""
11567
-
11568
- #: src/Functions/data/states.php:1161
11569
- msgid "Chiapas"
11570
- msgstr ""
11571
-
11572
- #: src/Functions/data/states.php:1162
11573
- msgid "Chihuahua"
11574
- msgstr ""
11575
-
11576
- #: src/Functions/data/states.php:1163
11577
- msgid "Coahuila"
11578
- msgstr ""
11579
-
11580
- #: src/Functions/data/states.php:1164
11581
- msgid "Colima"
11582
- msgstr ""
11583
-
11584
- #: src/Functions/data/states.php:1165
11585
- msgid "Durango"
11586
- msgstr ""
11587
-
11588
- #: src/Functions/data/states.php:1166
11589
- msgid "Guanajuato"
11590
- msgstr ""
11591
-
11592
- #: src/Functions/data/states.php:1167
11593
- msgid "Guerrero"
11594
- msgstr ""
11595
-
11596
- #: src/Functions/data/states.php:1168
11597
- msgid "Hidalgo"
11598
- msgstr ""
11599
-
11600
- #: src/Functions/data/states.php:1169
11601
- msgid "Estado de México"
11602
- msgstr ""
11603
-
11604
- #: src/Functions/data/states.php:1170
11605
- msgid "Michoacán"
11606
- msgstr ""
11607
-
11608
- #: src/Functions/data/states.php:1171
11609
- msgid "Morelos"
11610
- msgstr ""
11611
-
11612
- #: src/Functions/data/states.php:1172
11613
- msgid "Nayarit"
11614
- msgstr ""
11615
-
11616
- #: src/Functions/data/states.php:1173
11617
- msgid "Oaxaca"
11618
- msgstr ""
11619
-
11620
- #: src/Functions/data/states.php:1174
11621
- msgid "Puebla"
11622
- msgstr ""
11623
-
11624
- #: src/Functions/data/states.php:1175
11625
- msgid "Querétaro"
11626
- msgstr ""
11627
-
11628
- #: src/Functions/data/states.php:1176
11629
- msgid "Quintana Roo"
11630
- msgstr ""
11631
-
11632
- #: src/Functions/data/states.php:1177
11633
- msgid "San Luis Potosí"
11634
- msgstr ""
11635
-
11636
- #: src/Functions/data/states.php:1178
11637
- msgid "Sinaloa"
11638
- msgstr ""
11639
-
11640
- #: src/Functions/data/states.php:1179
11641
- msgid "Sonora"
11642
- msgstr ""
11643
-
11644
- #: src/Functions/data/states.php:1180
11645
- msgid "Tabasco"
11646
- msgstr ""
11647
-
11648
- #: src/Functions/data/states.php:1181
11649
- msgid "Tamaulipas"
11650
- msgstr ""
11651
-
11652
- #: src/Functions/data/states.php:1182
11653
- msgid "Tlaxcala"
11654
- msgstr ""
11655
-
11656
- #: src/Functions/data/states.php:1183
11657
- msgid "Veracruz"
11658
- msgstr ""
11659
-
11660
- #: src/Functions/data/states.php:1184
11661
- msgid "Yucatán"
11662
- msgstr ""
11663
-
11664
- #: src/Functions/data/states.php:1185
11665
- msgid "Zacatecas"
11666
- msgstr ""
11667
-
11668
- #: src/Functions/data/states.php:1188
11669
- msgid "Johor"
11670
- msgstr ""
11671
-
11672
- #: src/Functions/data/states.php:1189
11673
- msgid "Kedah"
11674
- msgstr ""
11675
-
11676
- #: src/Functions/data/states.php:1190
11677
- msgid "Kelantan"
11678
- msgstr ""
11679
-
11680
- #: src/Functions/data/states.php:1191
11681
- msgid "Labuan"
11682
- msgstr ""
11683
-
11684
- #: src/Functions/data/states.php:1192
11685
- msgid "Malacca (Melaka)"
11686
- msgstr ""
11687
-
11688
- #: src/Functions/data/states.php:1193
11689
- msgid "Negeri Sembilan"
11690
- msgstr ""
11691
-
11692
- #: src/Functions/data/states.php:1194
11693
- msgid "Pahang"
11694
- msgstr ""
11695
-
11696
- #: src/Functions/data/states.php:1195
11697
- msgid "Penang (Pulau Pinang)"
11698
- msgstr ""
11699
-
11700
- #: src/Functions/data/states.php:1196
11701
- msgid "Perak"
11702
- msgstr ""
11703
-
11704
- #: src/Functions/data/states.php:1197
11705
- msgid "Perlis"
11706
- msgstr ""
11707
-
11708
- #: src/Functions/data/states.php:1198
11709
- msgid "Sabah"
11710
- msgstr ""
11711
-
11712
- #: src/Functions/data/states.php:1199
11713
- msgid "Sarawak"
11714
- msgstr ""
11715
-
11716
- #: src/Functions/data/states.php:1200
11717
- msgid "Selangor"
11718
- msgstr ""
11719
-
11720
- #: src/Functions/data/states.php:1201
11721
- msgid "Terengganu"
11722
- msgstr ""
11723
-
11724
- #: src/Functions/data/states.php:1202
11725
- msgid "Putrajaya"
11726
- msgstr ""
11727
-
11728
- #: src/Functions/data/states.php:1203
11729
- msgid "Kuala Lumpur"
11730
- msgstr ""
11731
-
11732
- #: src/Functions/data/states.php:1206
11733
- msgid "Cabo Delgado"
11734
- msgstr ""
11735
-
11736
- #: src/Functions/data/states.php:1207
11737
- msgid "Gaza"
11738
- msgstr ""
11739
-
11740
- #: src/Functions/data/states.php:1208
11741
- msgid "Inhambane"
11742
- msgstr ""
11743
-
11744
- #: src/Functions/data/states.php:1209
11745
- msgid "Manica"
11746
- msgstr ""
11747
-
11748
- #: src/Functions/data/states.php:1210
11749
- msgid "Maputo Province"
11750
- msgstr ""
11751
-
11752
- #: src/Functions/data/states.php:1211
11753
- msgid "Maputo"
11754
- msgstr ""
11755
-
11756
- #: src/Functions/data/states.php:1212
11757
- msgid "Nampula"
11758
- msgstr ""
11759
-
11760
- #: src/Functions/data/states.php:1213
11761
- msgid "Niassa"
11762
- msgstr ""
11763
-
11764
- #: src/Functions/data/states.php:1214
11765
- msgid "Sofala"
11766
- msgstr ""
11767
-
11768
- #: src/Functions/data/states.php:1215
11769
- msgid "Tete"
11770
- msgstr ""
11771
-
11772
- #: src/Functions/data/states.php:1216
11773
- msgid "Zambézia"
11774
- msgstr ""
11775
-
11776
- #: src/Functions/data/states.php:1219
11777
- msgid "Erongo"
11778
- msgstr ""
11779
-
11780
- #: src/Functions/data/states.php:1220
11781
- msgid "Hardap"
11782
- msgstr ""
11783
-
11784
- #: src/Functions/data/states.php:1221
11785
- msgid "Karas"
11786
- msgstr ""
11787
-
11788
- #: src/Functions/data/states.php:1222
11789
- msgid "Kavango East"
11790
- msgstr ""
11791
-
11792
- #: src/Functions/data/states.php:1223
11793
- msgid "Kavango West"
11794
- msgstr ""
11795
-
11796
- #: src/Functions/data/states.php:1224
11797
- msgid "Khomas"
11798
- msgstr ""
11799
-
11800
- #: src/Functions/data/states.php:1225
11801
- msgid "Kunene"
11802
- msgstr ""
11803
-
11804
- #: src/Functions/data/states.php:1226
11805
- msgid "Ohangwena"
11806
- msgstr ""
11807
-
11808
- #: src/Functions/data/states.php:1227
11809
- msgid "Omaheke"
11810
- msgstr ""
11811
-
11812
- #: src/Functions/data/states.php:1228
11813
- msgid "Omusati"
11814
- msgstr ""
11815
-
11816
- #: src/Functions/data/states.php:1229
11817
- msgid "Oshana"
11818
- msgstr ""
11819
-
11820
- #: src/Functions/data/states.php:1230
11821
- msgid "Oshikoto"
11822
- msgstr ""
11823
-
11824
- #: src/Functions/data/states.php:1231
11825
- msgid "Otjozondjupa"
11826
- msgstr ""
11827
-
11828
- #: src/Functions/data/states.php:1232
11829
- msgid "Zambezi"
11830
- msgstr ""
11831
-
11832
- #: src/Functions/data/states.php:1235
11833
- msgid "Abia"
11834
- msgstr ""
11835
-
11836
- #: src/Functions/data/states.php:1236
11837
- msgid "Abuja"
11838
- msgstr ""
11839
-
11840
- #: src/Functions/data/states.php:1237
11841
- msgid "Adamawa"
11842
- msgstr ""
11843
-
11844
- #: src/Functions/data/states.php:1238
11845
- msgid "Akwa Ibom"
11846
- msgstr ""
11847
-
11848
- #: src/Functions/data/states.php:1239
11849
- msgid "Anambra"
11850
- msgstr ""
11851
-
11852
- #: src/Functions/data/states.php:1240
11853
- msgid "Bauchi"
11854
- msgstr ""
11855
-
11856
- #: src/Functions/data/states.php:1241
11857
- msgid "Bayelsa"
11858
- msgstr ""
11859
-
11860
- #: src/Functions/data/states.php:1242
11861
- msgid "Benue"
11862
- msgstr ""
11863
-
11864
- #: src/Functions/data/states.php:1243
11865
- msgid "Borno"
11866
- msgstr ""
11867
-
11868
- #: src/Functions/data/states.php:1244
11869
- msgid "Cross River"
11870
- msgstr ""
11871
-
11872
- #: src/Functions/data/states.php:1245
11873
- msgid "Delta"
11874
- msgstr ""
11875
-
11876
- #: src/Functions/data/states.php:1246
11877
- msgid "Ebonyi"
11878
- msgstr ""
11879
-
11880
- #: src/Functions/data/states.php:1247
11881
- msgid "Edo"
11882
- msgstr ""
11883
-
11884
- #: src/Functions/data/states.php:1248
11885
- msgid "Ekiti"
11886
- msgstr ""
11887
-
11888
- #: src/Functions/data/states.php:1249
11889
- msgid "Enugu"
11890
- msgstr ""
11891
-
11892
- #: src/Functions/data/states.php:1250
11893
- msgid "Gombe"
11894
- msgstr ""
11895
-
11896
- #: src/Functions/data/states.php:1251
11897
- msgid "Imo"
11898
- msgstr ""
11899
-
11900
- #: src/Functions/data/states.php:1252
11901
- msgid "Jigawa"
11902
- msgstr ""
11903
-
11904
- #: src/Functions/data/states.php:1253
11905
- msgid "Kaduna"
11906
- msgstr ""
11907
-
11908
- #: src/Functions/data/states.php:1254
11909
- msgid "Kano"
11910
- msgstr ""
11911
-
11912
- #: src/Functions/data/states.php:1255
11913
- msgid "Katsina"
11914
- msgstr ""
11915
-
11916
- #: src/Functions/data/states.php:1256
11917
- msgid "Kebbi"
11918
- msgstr ""
11919
-
11920
- #: src/Functions/data/states.php:1257
11921
- msgid "Kogi"
11922
- msgstr ""
11923
-
11924
- #: src/Functions/data/states.php:1258
11925
- msgid "Kwara"
11926
- msgstr ""
11927
-
11928
- #: src/Functions/data/states.php:1259
11929
- msgid "Lagos"
11930
- msgstr ""
11931
-
11932
- #: src/Functions/data/states.php:1260
11933
- msgid "Nasarawa"
11934
- msgstr ""
11935
-
11936
- #: src/Functions/data/states.php:1262
11937
- msgid "Ogun"
11938
- msgstr ""
11939
-
11940
- #: src/Functions/data/states.php:1263
11941
- msgid "Ondo"
11942
- msgstr ""
11943
-
11944
- #: src/Functions/data/states.php:1264
11945
- msgid "Osun"
11946
- msgstr ""
11947
-
11948
- #: src/Functions/data/states.php:1265
11949
- msgid "Oyo"
11950
- msgstr ""
11951
-
11952
- #: src/Functions/data/states.php:1267
11953
- msgid "Rivers"
11954
- msgstr ""
11955
-
11956
- #: src/Functions/data/states.php:1268
11957
- msgid "Sokoto"
11958
- msgstr ""
11959
-
11960
- #: src/Functions/data/states.php:1269
11961
- msgid "Taraba"
11962
- msgstr ""
11963
-
11964
- #: src/Functions/data/states.php:1270
11965
- msgid "Yobe"
11966
- msgstr ""
11967
-
11968
- #: src/Functions/data/states.php:1271
11969
- msgid "Zamfara"
11970
- msgstr ""
11971
-
11972
- #: src/Functions/data/states.php:1276
11973
- msgid "Bagmati"
11974
- msgstr ""
11975
-
11976
- #: src/Functions/data/states.php:1277
11977
- msgid "Bheri"
11978
- msgstr ""
11979
-
11980
- #: src/Functions/data/states.php:1278
11981
- msgid "Dhaulagiri"
11982
- msgstr ""
11983
-
11984
- #: src/Functions/data/states.php:1279
11985
- msgid "Gandaki"
11986
- msgstr ""
11987
-
11988
- #: src/Functions/data/states.php:1280
11989
- msgid "Janakpur"
11990
- msgstr ""
11991
-
11992
- #: src/Functions/data/states.php:1281
11993
- msgid "Karnali"
11994
- msgstr ""
11995
-
11996
- #: src/Functions/data/states.php:1282
11997
- msgid "Koshi"
11998
- msgstr ""
11999
-
12000
- #: src/Functions/data/states.php:1283
12001
- msgid "Lumbini"
12002
- msgstr ""
12003
-
12004
- #: src/Functions/data/states.php:1284
12005
- msgid "Mahakali"
12006
- msgstr ""
12007
-
12008
- #: src/Functions/data/states.php:1285
12009
- msgid "Mechi"
12010
- msgstr ""
12011
-
12012
- #: src/Functions/data/states.php:1286
12013
- msgid "Narayani"
12014
- msgstr ""
12015
-
12016
- #: src/Functions/data/states.php:1287
12017
- msgid "Rapti"
12018
- msgstr ""
12019
-
12020
- #: src/Functions/data/states.php:1288
12021
- msgid "Sagarmatha"
12022
- msgstr ""
12023
-
12024
- #: src/Functions/data/states.php:1289
12025
- msgid "Seti"
12026
- msgstr ""
12027
-
12028
- #: src/Functions/data/states.php:1292
12029
- msgid "Atlántico Norte"
12030
- msgstr ""
12031
-
12032
- #: src/Functions/data/states.php:1293
12033
- msgid "Atlántico Sur"
12034
- msgstr ""
12035
-
12036
- #: src/Functions/data/states.php:1294
12037
- msgid "Boaco"
12038
- msgstr ""
12039
-
12040
- #: src/Functions/data/states.php:1295
12041
- msgid "Carazo"
12042
- msgstr ""
12043
-
12044
- #: src/Functions/data/states.php:1296
12045
- msgid "Chinandega"
12046
- msgstr ""
12047
-
12048
- #: src/Functions/data/states.php:1297
12049
- msgid "Chontales"
12050
- msgstr ""
12051
-
12052
- #: src/Functions/data/states.php:1298
12053
- msgid "Estelí"
12054
- msgstr ""
12055
-
12056
- #: src/Functions/data/states.php:1300
12057
- msgid "Jinotega"
12058
- msgstr ""
12059
-
12060
- #: src/Functions/data/states.php:1302
12061
- msgid "Madriz"
12062
- msgstr ""
12063
-
12064
- #: src/Functions/data/states.php:1303
12065
- msgid "Managua"
12066
- msgstr ""
12067
-
12068
- #: src/Functions/data/states.php:1304
12069
- msgid "Masaya"
12070
- msgstr ""
12071
-
12072
- #: src/Functions/data/states.php:1305
12073
- msgid "Matagalpa"
12074
- msgstr ""
12075
-
12076
- #: src/Functions/data/states.php:1306
12077
- msgid "Nueva Segovia"
12078
- msgstr ""
12079
-
12080
- #: src/Functions/data/states.php:1307
12081
- msgid "Rivas"
12082
- msgstr ""
12083
-
12084
- #: src/Functions/data/states.php:1308
12085
- msgid "Río San Juan"
12086
- msgstr ""
12087
-
12088
- #: src/Functions/data/states.php:1311
12089
- msgid "Northland"
12090
- msgstr ""
12091
-
12092
- #: src/Functions/data/states.php:1312
12093
- msgid "Auckland"
12094
- msgstr ""
12095
-
12096
- #: src/Functions/data/states.php:1313
12097
- msgid "Waikato"
12098
- msgstr ""
12099
-
12100
- #: src/Functions/data/states.php:1314
12101
- msgid "Bay of Plenty"
12102
- msgstr ""
12103
-
12104
- #: src/Functions/data/states.php:1315
12105
- msgid "Taranaki"
12106
- msgstr ""
12107
-
12108
- #: src/Functions/data/states.php:1316
12109
- msgid "Gisborne"
12110
- msgstr ""
12111
-
12112
- #: src/Functions/data/states.php:1317
12113
- msgid "Hawke’s Bay"
12114
- msgstr ""
12115
-
12116
- #: src/Functions/data/states.php:1318
12117
- msgid "Manawatu-Wanganui"
12118
- msgstr ""
12119
-
12120
- #: src/Functions/data/states.php:1319
12121
- msgid "Wellington"
12122
- msgstr ""
12123
-
12124
- #: src/Functions/data/states.php:1320
12125
- msgid "Nelson"
12126
- msgstr ""
12127
-
12128
- #: src/Functions/data/states.php:1321
12129
- msgid "Marlborough"
12130
- msgstr ""
12131
-
12132
- #: src/Functions/data/states.php:1322
12133
- msgid "Tasman"
12134
- msgstr ""
12135
-
12136
- #: src/Functions/data/states.php:1323
12137
- msgid "West Coast"
12138
- msgstr ""
12139
-
12140
- #: src/Functions/data/states.php:1324
12141
- msgid "Canterbury"
12142
- msgstr ""
12143
-
12144
- #: src/Functions/data/states.php:1325
12145
- msgid "Otago"
12146
- msgstr ""
12147
-
12148
- #: src/Functions/data/states.php:1326
12149
- msgid "Southland"
12150
- msgstr ""
12151
-
12152
- #: src/Functions/data/states.php:1329
12153
- msgid "Bocas del Toro"
12154
- msgstr ""
12155
-
12156
- #: src/Functions/data/states.php:1330
12157
- msgid "Coclé"
12158
- msgstr ""
12159
-
12160
- #: src/Functions/data/states.php:1332
12161
- msgid "Chiriquí"
12162
- msgstr ""
12163
-
12164
- #: src/Functions/data/states.php:1333
12165
- msgid "Darién"
12166
- msgstr ""
12167
-
12168
- #: src/Functions/data/states.php:1334
12169
- msgid "Herrera"
12170
- msgstr ""
12171
-
12172
- #: src/Functions/data/states.php:1335
12173
- msgid "Los Santos"
12174
- msgstr ""
12175
-
12176
- #: src/Functions/data/states.php:1336
12177
- msgid "Panamá"
12178
- msgstr ""
12179
-
12180
- #: src/Functions/data/states.php:1337
12181
- msgid "Veraguas"
12182
- msgstr ""
12183
-
12184
- #: src/Functions/data/states.php:1338
12185
- msgid "West Panamá"
12186
- msgstr ""
12187
-
12188
- #: src/Functions/data/states.php:1339
12189
- msgid "Emberá"
12190
- msgstr ""
12191
-
12192
- #: src/Functions/data/states.php:1340
12193
- msgid "Guna Yala"
12194
- msgstr ""
12195
-
12196
- #: src/Functions/data/states.php:1341
12197
- msgid "Ngöbe-Buglé"
12198
- msgstr ""
12199
-
12200
- #: src/Functions/data/states.php:1344
12201
- msgid "El Callao"
12202
- msgstr ""
12203
-
12204
- #: src/Functions/data/states.php:1345
12205
- msgid "Municipalidad Metropolitana de Lima"
12206
- msgstr ""
12207
-
12208
- #: src/Functions/data/states.php:1347
12209
- msgid "Ancash"
12210
- msgstr ""
12211
-
12212
- #: src/Functions/data/states.php:1348
12213
- msgid "Apurímac"
12214
- msgstr ""
12215
-
12216
- #: src/Functions/data/states.php:1349
12217
- msgid "Arequipa"
12218
- msgstr ""
12219
-
12220
- #: src/Functions/data/states.php:1350
12221
- msgid "Ayacucho"
12222
- msgstr ""
12223
-
12224
- #: src/Functions/data/states.php:1351
12225
- msgid "Cajamarca"
12226
- msgstr ""
12227
-
12228
- #: src/Functions/data/states.php:1352
12229
- msgid "Cusco"
12230
- msgstr ""
12231
-
12232
- #: src/Functions/data/states.php:1353
12233
- msgid "Huancavelica"
12234
- msgstr ""
12235
-
12236
- #: src/Functions/data/states.php:1354
12237
- msgid "Huánuco"
12238
- msgstr ""
12239
-
12240
- #: src/Functions/data/states.php:1355
12241
- msgid "Ica"
12242
- msgstr ""
12243
-
12244
- #: src/Functions/data/states.php:1356
12245
- msgid "Junín"
12246
- msgstr ""
12247
-
12248
- #: src/Functions/data/states.php:1357 src/Functions/data/states.php:1541
12249
- msgid "La Libertad"
12250
- msgstr ""
12251
-
12252
- #: src/Functions/data/states.php:1358
12253
- msgid "Lambayeque"
12254
- msgstr ""
12255
-
12256
- #: src/Functions/data/states.php:1359
12257
- msgid "Lima"
12258
- msgstr ""
12259
-
12260
- #: src/Functions/data/states.php:1360
12261
- msgid "Loreto"
12262
- msgstr ""
12263
-
12264
- #: src/Functions/data/states.php:1361
12265
- msgid "Madre de Dios"
12266
- msgstr ""
12267
-
12268
- #: src/Functions/data/states.php:1362
12269
- msgid "Moquegua"
12270
- msgstr ""
12271
-
12272
- #: src/Functions/data/states.php:1363
12273
- msgid "Pasco"
12274
- msgstr ""
12275
-
12276
- #: src/Functions/data/states.php:1364
12277
- msgid "Piura"
12278
- msgstr ""
12279
-
12280
- #: src/Functions/data/states.php:1365
12281
- msgid "Puno"
12282
- msgstr ""
12283
-
12284
- #: src/Functions/data/states.php:1366
12285
- msgid "San Martín"
12286
- msgstr ""
12287
-
12288
- #: src/Functions/data/states.php:1367
12289
- msgid "Tacna"
12290
- msgstr ""
12291
-
12292
- #: src/Functions/data/states.php:1368
12293
- msgid "Tumbes"
12294
- msgstr ""
12295
-
12296
- #: src/Functions/data/states.php:1369
12297
- msgid "Ucayali"
12298
- msgstr ""
12299
-
12300
- #: src/Functions/data/states.php:1372
12301
- msgid "Abra"
12302
- msgstr ""
12303
-
12304
- #: src/Functions/data/states.php:1373
12305
- msgid "Agusan del Norte"
12306
- msgstr ""
12307
-
12308
- #: src/Functions/data/states.php:1374
12309
- msgid "Agusan del Sur"
12310
- msgstr ""
12311
-
12312
- #: src/Functions/data/states.php:1375
12313
- msgid "Aklan"
12314
- msgstr ""
12315
-
12316
- #: src/Functions/data/states.php:1376
12317
- msgid "Albay"
12318
- msgstr ""
12319
-
12320
- #: src/Functions/data/states.php:1377
12321
- msgid "Antique"
12322
- msgstr ""
12323
-
12324
- #: src/Functions/data/states.php:1378
12325
- msgid "Apayao"
12326
- msgstr ""
12327
-
12328
- #: src/Functions/data/states.php:1379
12329
- msgid "Aurora"
12330
- msgstr ""
12331
-
12332
- #: src/Functions/data/states.php:1380
12333
- msgid "Basilan"
12334
- msgstr ""
12335
-
12336
- #: src/Functions/data/states.php:1381
12337
- msgid "Bataan"
12338
- msgstr ""
12339
-
12340
- #: src/Functions/data/states.php:1382
12341
- msgid "Batanes"
12342
- msgstr ""
12343
-
12344
- #: src/Functions/data/states.php:1383
12345
- msgid "Batangas"
12346
- msgstr ""
12347
-
12348
- #: src/Functions/data/states.php:1384
12349
- msgid "Benguet"
12350
- msgstr ""
12351
-
12352
- #: src/Functions/data/states.php:1385
12353
- msgid "Biliran"
12354
- msgstr ""
12355
-
12356
- #: src/Functions/data/states.php:1386
12357
- msgid "Bohol"
12358
- msgstr ""
12359
-
12360
- #: src/Functions/data/states.php:1387
12361
- msgid "Bukidnon"
12362
- msgstr ""
12363
-
12364
- #: src/Functions/data/states.php:1388
12365
- msgid "Bulacan"
12366
- msgstr ""
12367
-
12368
- #: src/Functions/data/states.php:1389
12369
- msgid "Cagayan"
12370
- msgstr ""
12371
-
12372
- #: src/Functions/data/states.php:1390
12373
- msgid "Camarines Norte"
12374
- msgstr ""
12375
-
12376
- #: src/Functions/data/states.php:1391
12377
- msgid "Camarines Sur"
12378
- msgstr ""
12379
-
12380
- #: src/Functions/data/states.php:1392
12381
- msgid "Camiguin"
12382
- msgstr ""
12383
-
12384
- #: src/Functions/data/states.php:1393
12385
- msgid "Capiz"
12386
- msgstr ""
12387
-
12388
- #: src/Functions/data/states.php:1394
12389
- msgid "Catanduanes"
12390
- msgstr ""
12391
-
12392
- #: src/Functions/data/states.php:1395
12393
- msgid "Cavite"
12394
- msgstr ""
12395
-
12396
- #: src/Functions/data/states.php:1396
12397
- msgid "Cebu"
12398
- msgstr ""
12399
-
12400
- #: src/Functions/data/states.php:1397
12401
- msgid "Compostela Valley"
12402
- msgstr ""
12403
-
12404
- #: src/Functions/data/states.php:1398
12405
- msgid "Cotabato"
12406
- msgstr ""
12407
-
12408
- #: src/Functions/data/states.php:1399
12409
- msgid "Davao del Norte"
12410
- msgstr ""
12411
-
12412
- #: src/Functions/data/states.php:1400
12413
- msgid "Davao del Sur"
12414
- msgstr ""
12415
-
12416
- #: src/Functions/data/states.php:1401
12417
- msgid "Davao Occidental"
12418
- msgstr ""
12419
-
12420
- #: src/Functions/data/states.php:1402
12421
- msgid "Davao Oriental"
12422
- msgstr ""
12423
-
12424
- #: src/Functions/data/states.php:1403
12425
- msgid "Dinagat Islands"
12426
- msgstr ""
12427
-
12428
- #: src/Functions/data/states.php:1404
12429
- msgid "Eastern Samar"
12430
- msgstr ""
12431
-
12432
- #: src/Functions/data/states.php:1405
12433
- msgid "Guimaras"
12434
- msgstr ""
12435
-
12436
- #: src/Functions/data/states.php:1406
12437
- msgid "Ifugao"
12438
- msgstr ""
12439
-
12440
- #: src/Functions/data/states.php:1407
12441
- msgid "Ilocos Norte"
12442
- msgstr ""
12443
-
12444
- #: src/Functions/data/states.php:1408
12445
- msgid "Ilocos Sur"
12446
- msgstr ""
12447
-
12448
- #: src/Functions/data/states.php:1409
12449
- msgid "Iloilo"
12450
- msgstr ""
12451
-
12452
- #: src/Functions/data/states.php:1410
12453
- msgid "Isabela"
12454
- msgstr ""
12455
-
12456
- #: src/Functions/data/states.php:1411
12457
- msgid "Kalinga"
12458
- msgstr ""
12459
-
12460
- #: src/Functions/data/states.php:1412
12461
- msgid "La Union"
12462
- msgstr ""
12463
-
12464
- #: src/Functions/data/states.php:1413
12465
- msgid "Laguna"
12466
- msgstr ""
12467
-
12468
- #: src/Functions/data/states.php:1414
12469
- msgid "Lanao del Norte"
12470
- msgstr ""
12471
-
12472
- #: src/Functions/data/states.php:1415
12473
- msgid "Lanao del Sur"
12474
- msgstr ""
12475
-
12476
- #: src/Functions/data/states.php:1416
12477
- msgid "Leyte"
12478
- msgstr ""
12479
-
12480
- #: src/Functions/data/states.php:1417
12481
- msgid "Maguindanao"
12482
- msgstr ""
12483
-
12484
- #: src/Functions/data/states.php:1418
12485
- msgid "Marinduque"
12486
- msgstr ""
12487
-
12488
- #: src/Functions/data/states.php:1419
12489
- msgid "Masbate"
12490
- msgstr ""
12491
-
12492
- #: src/Functions/data/states.php:1420
12493
- msgid "Misamis Occidental"
12494
- msgstr ""
12495
-
12496
- #: src/Functions/data/states.php:1421
12497
- msgid "Misamis Oriental"
12498
- msgstr ""
12499
-
12500
- #: src/Functions/data/states.php:1422
12501
- msgid "Mountain Province"
12502
- msgstr ""
12503
-
12504
- #: src/Functions/data/states.php:1423
12505
- msgid "Negros Occidental"
12506
- msgstr ""
12507
-
12508
- #: src/Functions/data/states.php:1424
12509
- msgid "Negros Oriental"
12510
- msgstr ""
12511
-
12512
- #: src/Functions/data/states.php:1425
12513
- msgid "Northern Samar"
12514
- msgstr ""
12515
-
12516
- #: src/Functions/data/states.php:1426
12517
- msgid "Nueva Ecija"
12518
- msgstr ""
12519
-
12520
- #: src/Functions/data/states.php:1427
12521
- msgid "Nueva Vizcaya"
12522
- msgstr ""
12523
-
12524
- #: src/Functions/data/states.php:1428
12525
- msgid "Occidental Mindoro"
12526
- msgstr ""
12527
-
12528
- #: src/Functions/data/states.php:1429
12529
- msgid "Oriental Mindoro"
12530
- msgstr ""
12531
-
12532
- #: src/Functions/data/states.php:1430
12533
- msgid "Palawan"
12534
- msgstr ""
12535
-
12536
- #: src/Functions/data/states.php:1431
12537
- msgid "Pampanga"
12538
- msgstr ""
12539
-
12540
- #: src/Functions/data/states.php:1432
12541
- msgid "Pangasinan"
12542
- msgstr ""
12543
-
12544
- #: src/Functions/data/states.php:1433
12545
- msgid "Quezon"
12546
- msgstr ""
12547
-
12548
- #: src/Functions/data/states.php:1434
12549
- msgid "Quirino"
12550
- msgstr ""
12551
-
12552
- #: src/Functions/data/states.php:1435
12553
- msgid "Rizal"
12554
- msgstr ""
12555
-
12556
- #: src/Functions/data/states.php:1436
12557
- msgid "Romblon"
12558
- msgstr ""
12559
-
12560
- #: src/Functions/data/states.php:1437
12561
- msgid "Samar"
12562
- msgstr ""
12563
-
12564
- #: src/Functions/data/states.php:1438
12565
- msgid "Sarangani"
12566
- msgstr ""
12567
-
12568
- #: src/Functions/data/states.php:1439
12569
- msgid "Siquijor"
12570
- msgstr ""
12571
-
12572
- #: src/Functions/data/states.php:1440
12573
- msgid "Sorsogon"
12574
- msgstr ""
12575
-
12576
- #: src/Functions/data/states.php:1441
12577
- msgid "South Cotabato"
12578
- msgstr ""
12579
-
12580
- #: src/Functions/data/states.php:1442
12581
- msgid "Southern Leyte"
12582
- msgstr ""
12583
-
12584
- #: src/Functions/data/states.php:1443
12585
- msgid "Sultan Kudarat"
12586
- msgstr ""
12587
-
12588
- #: src/Functions/data/states.php:1444
12589
- msgid "Sulu"
12590
- msgstr ""
12591
-
12592
- #: src/Functions/data/states.php:1445
12593
- msgid "Surigao del Norte"
12594
- msgstr ""
12595
-
12596
- #: src/Functions/data/states.php:1446
12597
- msgid "Surigao del Sur"
12598
- msgstr ""
12599
-
12600
- #: src/Functions/data/states.php:1447
12601
- msgid "Tarlac"
12602
- msgstr ""
12603
-
12604
- #: src/Functions/data/states.php:1448
12605
- msgid "Tawi-Tawi"
12606
- msgstr ""
12607
-
12608
- #: src/Functions/data/states.php:1449
12609
- msgid "Zambales"
12610
- msgstr ""
12611
-
12612
- #: src/Functions/data/states.php:1450
12613
- msgid "Zamboanga del Norte"
12614
- msgstr ""
12615
-
12616
- #: src/Functions/data/states.php:1451
12617
- msgid "Zamboanga del Sur"
12618
- msgstr ""
12619
-
12620
- #: src/Functions/data/states.php:1452
12621
- msgid "Zamboanga Sibugay"
12622
- msgstr ""
12623
-
12624
- #: src/Functions/data/states.php:1453
12625
- msgid "Metro Manila"
12626
- msgstr ""
12627
-
12628
- #: src/Functions/data/states.php:1456
12629
- msgid "Azad Kashmir"
12630
- msgstr ""
12631
-
12632
- #: src/Functions/data/states.php:1457
12633
- msgid "Balochistan"
12634
- msgstr ""
12635
-
12636
- #: src/Functions/data/states.php:1458
12637
- msgid "FATA"
12638
- msgstr ""
12639
-
12640
- #: src/Functions/data/states.php:1459
12641
- msgid "Gilgit Baltistan"
12642
- msgstr ""
12643
-
12644
- #: src/Functions/data/states.php:1460
12645
- msgid "Islamabad Capital Territory"
12646
- msgstr ""
12647
-
12648
- #: src/Functions/data/states.php:1461
12649
- msgid "Khyber Pakhtunkhwa"
12650
- msgstr ""
12651
-
12652
- #: src/Functions/data/states.php:1463
12653
- msgid "Sindh"
12654
- msgstr ""
12655
-
12656
- #: src/Functions/data/states.php:1469
12657
- msgid "Asunción"
12658
- msgstr ""
12659
-
12660
- #: src/Functions/data/states.php:1470
12661
- msgid "Concepción"
12662
- msgstr ""
12663
-
12664
- #: src/Functions/data/states.php:1471
12665
- msgid "San Pedro"
12666
- msgstr ""
12667
-
12668
- #: src/Functions/data/states.php:1472
12669
- msgid "Cordillera"
12670
- msgstr ""
12671
-
12672
- #: src/Functions/data/states.php:1473
12673
- msgid "Guairá"
12674
- msgstr ""
12675
-
12676
- #: src/Functions/data/states.php:1474
12677
- msgid "Caaguazú"
12678
- msgstr ""
12679
-
12680
- #: src/Functions/data/states.php:1475
12681
- msgid "Caazapá"
12682
- msgstr ""
12683
-
12684
- #: src/Functions/data/states.php:1476
12685
- msgid "Itapúa"
12686
- msgstr ""
12687
-
12688
- #: src/Functions/data/states.php:1478
12689
- msgid "Paraguarí"
12690
- msgstr ""
12691
-
12692
- #: src/Functions/data/states.php:1479
12693
- msgid "Alto Paraná"
12694
- msgstr ""
12695
-
12696
- #: src/Functions/data/states.php:1481
12697
- msgid "Ñeembucú"
12698
- msgstr ""
12699
-
12700
- #: src/Functions/data/states.php:1482
12701
- msgid "Amambay"
12702
- msgstr ""
12703
-
12704
- #: src/Functions/data/states.php:1483
12705
- msgid "Canindeyú"
12706
- msgstr ""
12707
-
12708
- #: src/Functions/data/states.php:1484
12709
- msgid "Presidente Hayes"
12710
- msgstr ""
12711
-
12712
- #: src/Functions/data/states.php:1485
12713
- msgid "Alto Paraguay"
12714
- msgstr ""
12715
-
12716
- #: src/Functions/data/states.php:1486
12717
- msgid "Boquerón"
12718
- msgstr ""
12719
-
12720
- #: src/Functions/data/states.php:1490
12721
- msgid "Alba"
12722
- msgstr ""
12723
-
12724
- #: src/Functions/data/states.php:1491
12725
- msgid "Arad"
12726
- msgstr ""
12727
-
12728
- #: src/Functions/data/states.php:1492
12729
- msgid "Argeș"
12730
- msgstr ""
12731
-
12732
- #: src/Functions/data/states.php:1493
12733
- msgid "Bacău"
12734
- msgstr ""
12735
-
12736
- #: src/Functions/data/states.php:1494
12737
- msgid "Bihor"
12738
- msgstr ""
12739
-
12740
- #: src/Functions/data/states.php:1495
12741
- msgid "Bistrița-Năsăud"
12742
- msgstr ""
12743
-
12744
- #: src/Functions/data/states.php:1496
12745
- msgid "Botoșani"
12746
- msgstr ""
12747
-
12748
- #: src/Functions/data/states.php:1497
12749
- msgid "Brăila"
12750
- msgstr ""
12751
-
12752
- #: src/Functions/data/states.php:1498
12753
- msgid "Brașov"
12754
- msgstr ""
12755
-
12756
- #: src/Functions/data/states.php:1499
12757
- msgid "București"
12758
- msgstr ""
12759
-
12760
- #: src/Functions/data/states.php:1500
12761
- msgid "Buzău"
12762
- msgstr ""
12763
-
12764
- #: src/Functions/data/states.php:1502
12765
- msgid "Caraș-Severin"
12766
- msgstr ""
12767
-
12768
- #: src/Functions/data/states.php:1503
12769
- msgid "Cluj"
12770
- msgstr ""
12771
-
12772
- #: src/Functions/data/states.php:1504
12773
- msgid "Constanța"
12774
- msgstr ""
12775
-
12776
- #: src/Functions/data/states.php:1505
12777
- msgid "Covasna"
12778
- msgstr ""
12779
-
12780
- #: src/Functions/data/states.php:1506
12781
- msgid "Dâmbovița"
12782
- msgstr ""
12783
-
12784
- #: src/Functions/data/states.php:1507
12785
- msgid "Dolj"
12786
- msgstr ""
12787
-
12788
- #: src/Functions/data/states.php:1508
12789
- msgid "Galați"
12790
- msgstr ""
12791
-
12792
- #: src/Functions/data/states.php:1509
12793
- msgid "Giurgiu"
12794
- msgstr ""
12795
-
12796
- #: src/Functions/data/states.php:1510
12797
- msgid "Gorj"
12798
- msgstr ""
12799
-
12800
- #: src/Functions/data/states.php:1511
12801
- msgid "Harghita"
12802
- msgstr ""
12803
-
12804
- #: src/Functions/data/states.php:1512
12805
- msgid "Hunedoara"
12806
- msgstr ""
12807
-
12808
- #: src/Functions/data/states.php:1513
12809
- msgid "Ialomița"
12810
- msgstr ""
12811
-
12812
- #: src/Functions/data/states.php:1514
12813
- msgid "Iași"
12814
- msgstr ""
12815
-
12816
- #: src/Functions/data/states.php:1515
12817
- msgid "Ilfov"
12818
- msgstr ""
12819
-
12820
- #: src/Functions/data/states.php:1516
12821
- msgid "Maramureș"
12822
- msgstr ""
12823
-
12824
- #: src/Functions/data/states.php:1517
12825
- msgid "Mehedinți"
12826
- msgstr ""
12827
-
12828
- #: src/Functions/data/states.php:1518
12829
- msgid "Mureș"
12830
- msgstr ""
12831
-
12832
- #: src/Functions/data/states.php:1519
12833
- msgid "Neamț"
12834
- msgstr ""
12835
-
12836
- #: src/Functions/data/states.php:1520
12837
- msgid "Olt"
12838
- msgstr ""
12839
-
12840
- #: src/Functions/data/states.php:1521
12841
- msgid "Prahova"
12842
- msgstr ""
12843
-
12844
- #: src/Functions/data/states.php:1522
12845
- msgid "Sălaj"
12846
- msgstr ""
12847
-
12848
- #: src/Functions/data/states.php:1523
12849
- msgid "Satu Mare"
12850
- msgstr ""
12851
-
12852
- #: src/Functions/data/states.php:1524
12853
- msgid "Sibiu"
12854
- msgstr ""
12855
-
12856
- #: src/Functions/data/states.php:1525
12857
- msgid "Suceava"
12858
- msgstr ""
12859
-
12860
- #: src/Functions/data/states.php:1526
12861
- msgid "Teleorman"
12862
- msgstr ""
12863
-
12864
- #: src/Functions/data/states.php:1527
12865
- msgid "Timiș"
12866
- msgstr ""
12867
-
12868
- #: src/Functions/data/states.php:1528
12869
- msgid "Tulcea"
12870
- msgstr ""
12871
-
12872
- #: src/Functions/data/states.php:1529
12873
- msgid "Vâlcea"
12874
- msgstr ""
12875
-
12876
- #: src/Functions/data/states.php:1530
12877
- msgid "Vaslui"
12878
- msgstr ""
12879
-
12880
- #: src/Functions/data/states.php:1531
12881
- msgid "Vrancea"
12882
- msgstr ""
12883
-
12884
- #: src/Functions/data/states.php:1537
12885
- msgid "Ahuachapán"
12886
- msgstr ""
12887
-
12888
- #: src/Functions/data/states.php:1538
12889
- msgid "Cabañas"
12890
- msgstr ""
12891
-
12892
- #: src/Functions/data/states.php:1539
12893
- msgid "Chalatenango"
12894
- msgstr ""
12895
-
12896
- #: src/Functions/data/states.php:1540
12897
- msgid "Cuscatlán"
12898
- msgstr ""
12899
-
12900
- #: src/Functions/data/states.php:1542
12901
- msgid "Morazán"
12902
- msgstr ""
12903
-
12904
- #: src/Functions/data/states.php:1544
12905
- msgid "Santa Ana"
12906
- msgstr ""
12907
-
12908
- #: src/Functions/data/states.php:1545
12909
- msgid "San Miguel"
12910
- msgstr ""
12911
-
12912
- #: src/Functions/data/states.php:1546
12913
- msgid "Sonsonate"
12914
- msgstr ""
12915
-
12916
- #: src/Functions/data/states.php:1547
12917
- msgid "San Salvador"
12918
- msgstr ""
12919
-
12920
- #: src/Functions/data/states.php:1548
12921
- msgid "San Vicente"
12922
- msgstr ""
12923
-
12924
- #: src/Functions/data/states.php:1549
12925
- msgid "La Unión"
12926
- msgstr ""
12927
-
12928
- #: src/Functions/data/states.php:1550
12929
- msgid "Usulután"
12930
- msgstr ""
12931
-
12932
- #: src/Functions/data/states.php:1553
12933
- msgid "Amnat Charoen"
12934
- msgstr ""
12935
-
12936
- #: src/Functions/data/states.php:1554
12937
- msgid "Ang Thong"
12938
- msgstr ""
12939
-
12940
- #: src/Functions/data/states.php:1555
12941
- msgid "Ayutthaya"
12942
- msgstr ""
12943
-
12944
- #: src/Functions/data/states.php:1556
12945
- msgid "Bangkok"
12946
- msgstr ""
12947
-
12948
- #: src/Functions/data/states.php:1557
12949
- msgid "Bueng Kan"
12950
- msgstr ""
12951
-
12952
- #: src/Functions/data/states.php:1558
12953
- msgid "Buri Ram"
12954
- msgstr ""
12955
-
12956
- #: src/Functions/data/states.php:1559
12957
- msgid "Chachoengsao"
12958
- msgstr ""
12959
-
12960
- #: src/Functions/data/states.php:1560
12961
- msgid "Chai Nat"
12962
- msgstr ""
12963
-
12964
- #: src/Functions/data/states.php:1561
12965
- msgid "Chaiyaphum"
12966
- msgstr ""
12967
-
12968
- #: src/Functions/data/states.php:1562
12969
- msgid "Chanthaburi"
12970
- msgstr ""
12971
-
12972
- #: src/Functions/data/states.php:1563
12973
- msgid "Chiang Mai"
12974
- msgstr ""
12975
-
12976
- #: src/Functions/data/states.php:1564
12977
- msgid "Chiang Rai"
12978
- msgstr ""
12979
-
12980
- #: src/Functions/data/states.php:1565
12981
- msgid "Chonburi"
12982
- msgstr ""
12983
-
12984
- #: src/Functions/data/states.php:1566
12985
- msgid "Chumphon"
12986
- msgstr ""
12987
-
12988
- #: src/Functions/data/states.php:1567
12989
- msgid "Kalasin"
12990
- msgstr ""
12991
-
12992
- #: src/Functions/data/states.php:1568
12993
- msgid "Kamphaeng Phet"
12994
- msgstr ""
12995
-
12996
- #: src/Functions/data/states.php:1569
12997
- msgid "Kanchanaburi"
12998
- msgstr ""
12999
-
13000
- #: src/Functions/data/states.php:1570
13001
- msgid "Khon Kaen"
13002
- msgstr ""
13003
-
13004
- #: src/Functions/data/states.php:1571
13005
- msgid "Krabi"
13006
- msgstr ""
13007
-
13008
- #: src/Functions/data/states.php:1572
13009
- msgid "Lampang"
13010
- msgstr ""
13011
-
13012
- #: src/Functions/data/states.php:1573
13013
- msgid "Lamphun"
13014
- msgstr ""
13015
-
13016
- #: src/Functions/data/states.php:1574
13017
- msgid "Loei"
13018
- msgstr ""
13019
-
13020
- #: src/Functions/data/states.php:1575
13021
- msgid "Lopburi"
13022
- msgstr ""
13023
-
13024
- #: src/Functions/data/states.php:1576
13025
- msgid "Mae Hong Son"
13026
- msgstr ""
13027
-
13028
- #: src/Functions/data/states.php:1577
13029
- msgid "Maha Sarakham"
13030
- msgstr ""
13031
-
13032
- #: src/Functions/data/states.php:1578
13033
- msgid "Mukdahan"
13034
- msgstr ""
13035
-
13036
- #: src/Functions/data/states.php:1579
13037
- msgid "Nakhon Nayok"
13038
- msgstr ""
13039
-
13040
- #: src/Functions/data/states.php:1580
13041
- msgid "Nakhon Pathom"
13042
- msgstr ""
13043
-
13044
- #: src/Functions/data/states.php:1581
13045
- msgid "Nakhon Phanom"
13046
- msgstr ""
13047
-
13048
- #: src/Functions/data/states.php:1582
13049
- msgid "Nakhon Ratchasima"
13050
- msgstr ""
13051
-
13052
- #: src/Functions/data/states.php:1583
13053
- msgid "Nakhon Sawan"
13054
- msgstr ""
13055
-
13056
- #: src/Functions/data/states.php:1584
13057
- msgid "Nakhon Si Thammarat"
13058
- msgstr ""
13059
-
13060
- #: src/Functions/data/states.php:1585
13061
- msgid "Nan"
13062
- msgstr ""
13063
-
13064
- #: src/Functions/data/states.php:1586
13065
- msgid "Narathiwat"
13066
- msgstr ""
13067
-
13068
- #: src/Functions/data/states.php:1587
13069
- msgid "Nong Bua Lam Phu"
13070
- msgstr ""
13071
-
13072
- #: src/Functions/data/states.php:1588
13073
- msgid "Nong Khai"
13074
- msgstr ""
13075
-
13076
- #: src/Functions/data/states.php:1589
13077
- msgid "Nonthaburi"
13078
- msgstr ""
13079
-
13080
- #: src/Functions/data/states.php:1590
13081
- msgid "Pathum Thani"
13082
- msgstr ""
13083
-
13084
- #: src/Functions/data/states.php:1591
13085
- msgid "Pattani"
13086
- msgstr ""
13087
-
13088
- #: src/Functions/data/states.php:1592
13089
- msgid "Phang Nga"
13090
- msgstr ""
13091
-
13092
- #: src/Functions/data/states.php:1593
13093
- msgid "Phatthalung"
13094
- msgstr ""
13095
-
13096
- #: src/Functions/data/states.php:1594
13097
- msgid "Phayao"
13098
- msgstr ""
13099
-
13100
- #: src/Functions/data/states.php:1595
13101
- msgid "Phetchabun"
13102
- msgstr ""
13103
-
13104
- #: src/Functions/data/states.php:1596
13105
- msgid "Phetchaburi"
13106
- msgstr ""
13107
-
13108
- #: src/Functions/data/states.php:1597
13109
- msgid "Phichit"
13110
- msgstr ""
13111
-
13112
- #: src/Functions/data/states.php:1598
13113
- msgid "Phitsanulok"
13114
- msgstr ""
13115
-
13116
- #: src/Functions/data/states.php:1599
13117
- msgid "Phrae"
13118
- msgstr ""
13119
-
13120
- #: src/Functions/data/states.php:1600
13121
- msgid "Phuket"
13122
- msgstr ""
13123
-
13124
- #: src/Functions/data/states.php:1601
13125
- msgid "Prachin Buri"
13126
- msgstr ""
13127
-
13128
- #: src/Functions/data/states.php:1602
13129
- msgid "Prachuap Khiri Khan"
13130
- msgstr ""
13131
-
13132
- #: src/Functions/data/states.php:1603
13133
- msgid "Ranong"
13134
- msgstr ""
13135
-
13136
- #: src/Functions/data/states.php:1604
13137
- msgid "Ratchaburi"
13138
- msgstr ""
13139
-
13140
- #: src/Functions/data/states.php:1605
13141
- msgid "Rayong"
13142
- msgstr ""
13143
-
13144
- #: src/Functions/data/states.php:1606
13145
- msgid "Roi Et"
13146
- msgstr ""
13147
-
13148
- #: src/Functions/data/states.php:1607
13149
- msgid "Sa Kaeo"
13150
- msgstr ""
13151
-
13152
- #: src/Functions/data/states.php:1608
13153
- msgid "Sakon Nakhon"
13154
- msgstr ""
13155
-
13156
- #: src/Functions/data/states.php:1609
13157
- msgid "Samut Prakan"
13158
- msgstr ""
13159
-
13160
- #: src/Functions/data/states.php:1610
13161
- msgid "Samut Sakhon"
13162
- msgstr ""
13163
-
13164
- #: src/Functions/data/states.php:1611
13165
- msgid "Samut Songkhram"
13166
- msgstr ""
13167
-
13168
- #: src/Functions/data/states.php:1612
13169
- msgid "Saraburi"
13170
- msgstr ""
13171
-
13172
- #: src/Functions/data/states.php:1613
13173
- msgid "Satun"
13174
- msgstr ""
13175
-
13176
- #: src/Functions/data/states.php:1614
13177
- msgid "Sing Buri"
13178
- msgstr ""
13179
-
13180
- #: src/Functions/data/states.php:1615
13181
- msgid "Sisaket"
13182
- msgstr ""
13183
-
13184
- #: src/Functions/data/states.php:1616
13185
- msgid "Songkhla"
13186
- msgstr ""
13187
-
13188
- #: src/Functions/data/states.php:1617
13189
- msgid "Sukhothai"
13190
- msgstr ""
13191
-
13192
- #: src/Functions/data/states.php:1618
13193
- msgid "Suphan Buri"
13194
- msgstr ""
13195
-
13196
- #: src/Functions/data/states.php:1619
13197
- msgid "Surat Thani"
13198
- msgstr ""
13199
-
13200
- #: src/Functions/data/states.php:1620
13201
- msgid "Surin"
13202
- msgstr ""
13203
-
13204
- #: src/Functions/data/states.php:1621
13205
- msgid "Tak"
13206
- msgstr ""
13207
-
13208
- #: src/Functions/data/states.php:1622
13209
- msgid "Trang"
13210
- msgstr ""
13211
-
13212
- #: src/Functions/data/states.php:1623
13213
- msgid "Trat"
13214
- msgstr ""
13215
-
13216
- #: src/Functions/data/states.php:1624
13217
- msgid "Ubon Ratchathani"
13218
- msgstr ""
13219
-
13220
- #: src/Functions/data/states.php:1625
13221
- msgid "Udon Thani"
13222
- msgstr ""
13223
-
13224
- #: src/Functions/data/states.php:1626
13225
- msgid "Uthai Thani"
13226
- msgstr ""
13227
-
13228
- #: src/Functions/data/states.php:1627
13229
- msgid "Uttaradit"
13230
- msgstr ""
13231
-
13232
- #: src/Functions/data/states.php:1628
13233
- msgid "Yala"
13234
- msgstr ""
13235
-
13236
- #: src/Functions/data/states.php:1629
13237
- msgid "Yasothon"
13238
- msgstr ""
13239
-
13240
- #: src/Functions/data/states.php:1632
13241
- msgid "Adana"
13242
- msgstr ""
13243
-
13244
- #: src/Functions/data/states.php:1633
13245
- msgid "Adıyaman"
13246
- msgstr ""
13247
-
13248
- #: src/Functions/data/states.php:1634
13249
- msgid "Afyon"
13250
- msgstr ""
13251
-
13252
- #: src/Functions/data/states.php:1635
13253
- msgid "Ağrı"
13254
- msgstr ""
13255
-
13256
- #: src/Functions/data/states.php:1636
13257
- msgid "Amasya"
13258
- msgstr ""
13259
-
13260
- #: src/Functions/data/states.php:1637
13261
- msgid "Ankara"
13262
- msgstr ""
13263
-
13264
- #: src/Functions/data/states.php:1638
13265
- msgid "Antalya"
13266
- msgstr ""
13267
-
13268
- #: src/Functions/data/states.php:1639
13269
- msgid "Artvin"
13270
- msgstr ""
13271
-
13272
- #: src/Functions/data/states.php:1640
13273
- msgid "Aydın"
13274
- msgstr ""
13275
-
13276
- #: src/Functions/data/states.php:1641
13277
- msgid "Balıkesir"
13278
- msgstr ""
13279
-
13280
- #: src/Functions/data/states.php:1642
13281
- msgid "Bilecik"
13282
- msgstr ""
13283
-
13284
- #: src/Functions/data/states.php:1643
13285
- msgid "Bingöl"
13286
- msgstr ""
13287
-
13288
- #: src/Functions/data/states.php:1644
13289
- msgid "Bitlis"
13290
- msgstr ""
13291
-
13292
- #: src/Functions/data/states.php:1645
13293
- msgid "Bolu"
13294
- msgstr ""
13295
-
13296
- #: src/Functions/data/states.php:1646
13297
- msgid "Burdur"
13298
- msgstr ""
13299
-
13300
- #: src/Functions/data/states.php:1647
13301
- msgid "Bursa"
13302
- msgstr ""
13303
-
13304
- #: src/Functions/data/states.php:1648
13305
- msgid "Çanakkale"
13306
- msgstr ""
13307
-
13308
- #: src/Functions/data/states.php:1649
13309
- msgid "Çankırı"
13310
- msgstr ""
13311
-
13312
- #: src/Functions/data/states.php:1650
13313
- msgid "Çorum"
13314
- msgstr ""
13315
-
13316
- #: src/Functions/data/states.php:1651
13317
- msgid "Denizli"
13318
- msgstr ""
13319
-
13320
- #: src/Functions/data/states.php:1652
13321
- msgid "Diyarbakır"
13322
- msgstr ""
13323
-
13324
- #: src/Functions/data/states.php:1653
13325
- msgid "Edirne"
13326
- msgstr ""
13327
-
13328
- #: src/Functions/data/states.php:1654
13329
- msgid "Elazığ"
13330
- msgstr ""
13331
-
13332
- #: src/Functions/data/states.php:1655
13333
- msgid "Erzincan"
13334
- msgstr ""
13335
-
13336
- #: src/Functions/data/states.php:1656
13337
- msgid "Erzurum"
13338
- msgstr ""
13339
-
13340
- #: src/Functions/data/states.php:1657
13341
- msgid "Eskişehir"
13342
- msgstr ""
13343
-
13344
- #: src/Functions/data/states.php:1658
13345
- msgid "Gaziantep"
13346
- msgstr ""
13347
-
13348
- #: src/Functions/data/states.php:1659
13349
- msgid "Giresun"
13350
- msgstr ""
13351
-
13352
- #: src/Functions/data/states.php:1660
13353
- msgid "Gümüşhane"
13354
- msgstr ""
13355
-
13356
- #: src/Functions/data/states.php:1661
13357
- msgid "Hakkari"
13358
- msgstr ""
13359
-
13360
- #: src/Functions/data/states.php:1662
13361
- msgid "Hatay"
13362
- msgstr ""
13363
-
13364
- #: src/Functions/data/states.php:1663
13365
- msgid "Isparta"
13366
- msgstr ""
13367
-
13368
- #: src/Functions/data/states.php:1664
13369
- msgid "İçel"
13370
- msgstr ""
13371
-
13372
- #: src/Functions/data/states.php:1665
13373
- msgid "İstanbul"
13374
- msgstr ""
13375
-
13376
- #: src/Functions/data/states.php:1666
13377
- msgid "İzmir"
13378
- msgstr ""
13379
-
13380
- #: src/Functions/data/states.php:1667
13381
- msgid "Kars"
13382
- msgstr ""
13383
-
13384
- #: src/Functions/data/states.php:1668
13385
- msgid "Kastamonu"
13386
- msgstr ""
13387
-
13388
- #: src/Functions/data/states.php:1669
13389
- msgid "Kayseri"
13390
- msgstr ""
13391
-
13392
- #: src/Functions/data/states.php:1670
13393
- msgid "Kırklareli"
13394
- msgstr ""
13395
-
13396
- #: src/Functions/data/states.php:1671
13397
- msgid "Kırşehir"
13398
- msgstr ""
13399
-
13400
- #: src/Functions/data/states.php:1672
13401
- msgid "Kocaeli"
13402
- msgstr ""
13403
-
13404
- #: src/Functions/data/states.php:1673
13405
- msgid "Konya"
13406
- msgstr ""
13407
-
13408
- #: src/Functions/data/states.php:1674
13409
- msgid "Kütahya"
13410
- msgstr ""
13411
-
13412
- #: src/Functions/data/states.php:1675
13413
- msgid "Malatya"
13414
- msgstr ""
13415
-
13416
- #: src/Functions/data/states.php:1676
13417
- msgid "Manisa"
13418
- msgstr ""
13419
-
13420
- #: src/Functions/data/states.php:1677
13421
- msgid "Kahramanmaraş"
13422
- msgstr ""
13423
-
13424
- #: src/Functions/data/states.php:1678
13425
- msgid "Mardin"
13426
- msgstr ""
13427
-
13428
- #: src/Functions/data/states.php:1679
13429
- msgid "Muğla"
13430
- msgstr ""
13431
-
13432
- #: src/Functions/data/states.php:1680
13433
- msgid "Muş"
13434
- msgstr ""
13435
-
13436
- #: src/Functions/data/states.php:1681
13437
- msgid "Nevşehir"
13438
- msgstr ""
13439
-
13440
- #: src/Functions/data/states.php:1682
13441
- msgid "Niğde"
13442
- msgstr ""
13443
-
13444
- #: src/Functions/data/states.php:1683
13445
- msgid "Ordu"
13446
- msgstr ""
13447
-
13448
- #: src/Functions/data/states.php:1684
13449
- msgid "Rize"
13450
- msgstr ""
13451
-
13452
- #: src/Functions/data/states.php:1685
13453
- msgid "Sakarya"
13454
- msgstr ""
13455
-
13456
- #: src/Functions/data/states.php:1686
13457
- msgid "Samsun"
13458
- msgstr ""
13459
-
13460
- #: src/Functions/data/states.php:1687
13461
- msgid "Siirt"
13462
- msgstr ""
13463
-
13464
- #: src/Functions/data/states.php:1688
13465
- msgid "Sinop"
13466
- msgstr ""
13467
-
13468
- #: src/Functions/data/states.php:1689
13469
- msgid "Sivas"
13470
- msgstr ""
13471
-
13472
- #: src/Functions/data/states.php:1690
13473
- msgid "Tekirdağ"
13474
- msgstr ""
13475
-
13476
- #: src/Functions/data/states.php:1691
13477
- msgid "Tokat"
13478
- msgstr ""
13479
-
13480
- #: src/Functions/data/states.php:1692
13481
- msgid "Trabzon"
13482
- msgstr ""
13483
-
13484
- #: src/Functions/data/states.php:1693
13485
- msgid "Tunceli"
13486
- msgstr ""
13487
-
13488
- #: src/Functions/data/states.php:1694
13489
- msgid "Şanlıurfa"
13490
- msgstr ""
13491
-
13492
- #: src/Functions/data/states.php:1695
13493
- msgid "Uşak"
13494
- msgstr ""
13495
-
13496
- #: src/Functions/data/states.php:1696
13497
- msgid "Van"
13498
- msgstr ""
13499
-
13500
- #: src/Functions/data/states.php:1697
13501
- msgid "Yozgat"
13502
- msgstr ""
13503
-
13504
- #: src/Functions/data/states.php:1698
13505
- msgid "Zonguldak"
13506
- msgstr ""
13507
-
13508
- #: src/Functions/data/states.php:1699
13509
- msgid "Aksaray"
13510
- msgstr ""
13511
-
13512
- #: src/Functions/data/states.php:1700
13513
- msgid "Bayburt"
13514
- msgstr ""
13515
-
13516
- #: src/Functions/data/states.php:1701
13517
- msgid "Karaman"
13518
- msgstr ""
13519
-
13520
- #: src/Functions/data/states.php:1702
13521
- msgid "Kırıkkale"
13522
- msgstr ""
13523
-
13524
- #: src/Functions/data/states.php:1703
13525
- msgid "Batman"
13526
- msgstr ""
13527
-
13528
- #: src/Functions/data/states.php:1704
13529
- msgid "Şırnak"
13530
- msgstr ""
13531
-
13532
- #: src/Functions/data/states.php:1705
13533
- msgid "Bartın"
13534
- msgstr ""
13535
-
13536
- #: src/Functions/data/states.php:1706
13537
- msgid "Ardahan"
13538
- msgstr ""
13539
-
13540
- #: src/Functions/data/states.php:1707
13541
- msgid "Iğdır"
13542
- msgstr ""
13543
-
13544
- #: src/Functions/data/states.php:1708
13545
- msgid "Yalova"
13546
- msgstr ""
13547
-
13548
- #: src/Functions/data/states.php:1709
13549
- msgid "Karabük"
13550
- msgstr ""
13551
-
13552
- #: src/Functions/data/states.php:1710
13553
- msgid "Kilis"
13554
- msgstr ""
13555
-
13556
- #: src/Functions/data/states.php:1711
13557
- msgid "Osmaniye"
13558
- msgstr ""
13559
-
13560
- #: src/Functions/data/states.php:1712
13561
- msgid "Düzce"
13562
- msgstr ""
13563
-
13564
- #: src/Functions/data/states.php:1715
13565
- msgid "Arusha"
13566
- msgstr ""
13567
-
13568
- #: src/Functions/data/states.php:1716
13569
- msgid "Dar es Salaam"
13570
- msgstr ""
13571
-
13572
- #: src/Functions/data/states.php:1717
13573
- msgid "Dodoma"
13574
- msgstr ""
13575
-
13576
- #: src/Functions/data/states.php:1718
13577
- msgid "Iringa"
13578
- msgstr ""
13579
-
13580
- #: src/Functions/data/states.php:1719
13581
- msgid "Kagera"
13582
- msgstr ""
13583
-
13584
- #: src/Functions/data/states.php:1720
13585
- msgid "Pemba North"
13586
- msgstr ""
13587
-
13588
- #: src/Functions/data/states.php:1721
13589
- msgid "Zanzibar North"
13590
- msgstr ""
13591
-
13592
- #: src/Functions/data/states.php:1722
13593
- msgid "Kigoma"
13594
- msgstr ""
13595
-
13596
- #: src/Functions/data/states.php:1723
13597
- msgid "Kilimanjaro"
13598
- msgstr ""
13599
-
13600
- #: src/Functions/data/states.php:1724
13601
- msgid "Pemba South"
13602
- msgstr ""
13603
-
13604
- #: src/Functions/data/states.php:1725
13605
- msgid "Zanzibar South"
13606
- msgstr ""
13607
-
13608
- #: src/Functions/data/states.php:1726
13609
- msgid "Lindi"
13610
- msgstr ""
13611
-
13612
- #: src/Functions/data/states.php:1727
13613
- msgid "Mara"
13614
- msgstr ""
13615
-
13616
- #: src/Functions/data/states.php:1728
13617
- msgid "Mbeya"
13618
- msgstr ""
13619
-
13620
- #: src/Functions/data/states.php:1729
13621
- msgid "Zanzibar West"
13622
- msgstr ""
13623
-
13624
- #: src/Functions/data/states.php:1730
13625
- msgid "Morogoro"
13626
- msgstr ""
13627
-
13628
- #: src/Functions/data/states.php:1731
13629
- msgid "Mtwara"
13630
- msgstr ""
13631
-
13632
- #: src/Functions/data/states.php:1732
13633
- msgid "Mwanza"
13634
- msgstr ""
13635
-
13636
- #: src/Functions/data/states.php:1733
13637
- msgid "Coast"
13638
- msgstr ""
13639
-
13640
- #: src/Functions/data/states.php:1734
13641
- msgid "Rukwa"
13642
- msgstr ""
13643
-
13644
- #: src/Functions/data/states.php:1735
13645
- msgid "Ruvuma"
13646
- msgstr ""
13647
-
13648
- #: src/Functions/data/states.php:1736
13649
- msgid "Shinyanga"
13650
- msgstr ""
13651
-
13652
- #: src/Functions/data/states.php:1737
13653
- msgid "Singida"
13654
- msgstr ""
13655
-
13656
- #: src/Functions/data/states.php:1738
13657
- msgid "Tabora"
13658
- msgstr ""
13659
-
13660
- #: src/Functions/data/states.php:1739
13661
- msgid "Tanga"
13662
- msgstr ""
13663
-
13664
- #: src/Functions/data/states.php:1740
13665
- msgid "Manyara"
13666
- msgstr ""
13667
-
13668
- #: src/Functions/data/states.php:1741
13669
- msgid "Geita"
13670
- msgstr ""
13671
-
13672
- #: src/Functions/data/states.php:1742
13673
- msgid "Katavi"
13674
- msgstr ""
13675
-
13676
- #: src/Functions/data/states.php:1743
13677
- msgid "Njombe"
13678
- msgstr ""
13679
-
13680
- #: src/Functions/data/states.php:1744
13681
- msgid "Simiyu"
13682
- msgstr ""
13683
-
13684
- #: src/Functions/data/states.php:1748
13685
- msgctxt "district"
13686
- msgid "Belgrade"
13687
- msgstr ""
13688
-
13689
- #: src/Functions/data/states.php:1749
13690
- msgctxt "district"
13691
- msgid "Bor"
13692
- msgstr ""
13693
-
13694
- #: src/Functions/data/states.php:1750
13695
- msgctxt "district"
13696
- msgid "Braničevo"
13697
- msgstr ""
13698
-
13699
- #: src/Functions/data/states.php:1751
13700
- msgctxt "district"
13701
- msgid "Central Banat"
13702
- msgstr ""
13703
-
13704
- #: src/Functions/data/states.php:1752
13705
- msgctxt "district"
13706
- msgid "Danube"
13707
- msgstr ""
13708
-
13709
- #: src/Functions/data/states.php:1753
13710
- msgctxt "district"
13711
- msgid "Jablanica"
13712
- msgstr ""
13713
-
13714
- #: src/Functions/data/states.php:1754
13715
- msgctxt "district"
13716
- msgid "Kolubara"
13717
- msgstr ""
13718
-
13719
- #: src/Functions/data/states.php:1755
13720
- msgctxt "district"
13721
- msgid "Mačva"
13722
- msgstr ""
13723
-
13724
- #: src/Functions/data/states.php:1756
13725
- msgctxt "district"
13726
- msgid "Morava"
13727
- msgstr ""
13728
-
13729
- #: src/Functions/data/states.php:1757
13730
- msgctxt "district"
13731
- msgid "Nišava"
13732
- msgstr ""
13733
-
13734
- #: src/Functions/data/states.php:1758
13735
- msgctxt "district"
13736
- msgid "North Bačka"
13737
- msgstr ""
13738
-
13739
- #: src/Functions/data/states.php:1759
13740
- msgctxt "district"
13741
- msgid "North Banat"
13742
- msgstr ""
13743
-
13744
- #: src/Functions/data/states.php:1760
13745
- msgctxt "district"
13746
- msgid "Pčinja"
13747
- msgstr ""
13748
-
13749
- #: src/Functions/data/states.php:1761
13750
- msgctxt "district"
13751
- msgid "Pirot"
13752
- msgstr ""
13753
-
13754
- #: src/Functions/data/states.php:1762
13755
- msgctxt "district"
13756
- msgid "Pomoravlje"
13757
- msgstr ""
13758
-
13759
- #: src/Functions/data/states.php:1763
13760
- msgctxt "district"
13761
- msgid "Rasina"
13762
- msgstr ""
13763
-
13764
- #: src/Functions/data/states.php:1764
13765
- msgctxt "district"
13766
- msgid "Raška"
13767
- msgstr ""
13768
-
13769
- #: src/Functions/data/states.php:1765
13770
- msgctxt "district"
13771
- msgid "South Bačka"
13772
- msgstr ""
13773
-
13774
- #: src/Functions/data/states.php:1766
13775
- msgctxt "district"
13776
- msgid "South Banat"
13777
- msgstr ""
13778
-
13779
- #: src/Functions/data/states.php:1767
13780
- msgctxt "district"
13781
- msgid "Srem"
13782
- msgstr ""
13783
-
13784
- #: src/Functions/data/states.php:1768
13785
- msgctxt "district"
13786
- msgid "Šumadija"
13787
- msgstr ""
13788
-
13789
- #: src/Functions/data/states.php:1769
13790
- msgctxt "district"
13791
- msgid "Toplica"
13792
- msgstr ""
13793
-
13794
- #: src/Functions/data/states.php:1770
13795
- msgctxt "district"
13796
- msgid "West Bačka"
13797
- msgstr ""
13798
-
13799
- #: src/Functions/data/states.php:1771
13800
- msgctxt "district"
13801
- msgid "Zaječar"
13802
- msgstr ""
13803
-
13804
- #: src/Functions/data/states.php:1772
13805
- msgctxt "district"
13806
- msgid "Zlatibor"
13807
- msgstr ""
13808
-
13809
- #: src/Functions/data/states.php:1773
13810
- msgctxt "district"
13811
- msgid "Kosovo"
13812
- msgstr ""
13813
-
13814
- #: src/Functions/data/states.php:1774
13815
- msgctxt "district"
13816
- msgid "Peć"
13817
- msgstr ""
13818
-
13819
- #: src/Functions/data/states.php:1775
13820
- msgctxt "district"
13821
- msgid "Prizren"
13822
- msgstr ""
13823
-
13824
- #: src/Functions/data/states.php:1776
13825
- msgctxt "district"
13826
- msgid "Kosovska Mitrovica"
13827
- msgstr ""
13828
-
13829
- #: src/Functions/data/states.php:1777
13830
- msgctxt "district"
13831
- msgid "Kosovo-Pomoravlje"
13832
- msgstr ""
13833
-
13834
- #: src/Functions/data/states.php:1778
13835
- msgctxt "district"
13836
- msgid "Kosovo-Metohija"
13837
- msgstr ""
13838
-
13839
- #: src/Functions/data/states.php:1779
13840
- msgctxt "district"
13841
- msgid "Vojvodina"
13842
- msgstr ""
13843
-
13844
- #: src/Functions/data/states.php:1783
13845
- msgid "Vinnytsia Oblast"
13846
- msgstr ""
13847
-
13848
- #: src/Functions/data/states.php:1784
13849
- msgid "Volyn Oblast"
13850
- msgstr ""
13851
-
13852
- #: src/Functions/data/states.php:1785
13853
- msgid "Dnipropetrovsk Oblast"
13854
- msgstr ""
13855
-
13856
- #: src/Functions/data/states.php:1786
13857
- msgid "Donetsk Oblast"
13858
- msgstr ""
13859
-
13860
- #: src/Functions/data/states.php:1787
13861
- msgid "Zhytomyr Oblast"
13862
- msgstr ""
13863
-
13864
- #: src/Functions/data/states.php:1788
13865
- msgid "Zakarpattia Oblast"
13866
- msgstr ""
13867
-
13868
- #: src/Functions/data/states.php:1789
13869
- msgid "Zaporizhzhia Oblast"
13870
- msgstr ""
13871
-
13872
- #: src/Functions/data/states.php:1790
13873
- msgid "Ivano-Frankivsk Oblast"
13874
- msgstr ""
13875
-
13876
- #: src/Functions/data/states.php:1791
13877
- msgid "Kyiv Oblast"
13878
- msgstr ""
13879
-
13880
- #: src/Functions/data/states.php:1792
13881
- msgid "Kirovohrad Oblast"
13882
- msgstr ""
13883
-
13884
- #: src/Functions/data/states.php:1793
13885
- msgid "Luhansk Oblast"
13886
- msgstr ""
13887
-
13888
- #: src/Functions/data/states.php:1794
13889
- msgid "Lviv Oblast"
13890
- msgstr ""
13891
-
13892
- #: src/Functions/data/states.php:1795
13893
- msgid "Mykolaiv Oblast"
13894
- msgstr ""
13895
-
13896
- #: src/Functions/data/states.php:1796
13897
- msgid "Odessa Oblast"
13898
- msgstr ""
13899
-
13900
- #: src/Functions/data/states.php:1797
13901
- msgid "Poltava Oblast"
13902
- msgstr ""
13903
-
13904
- #: src/Functions/data/states.php:1798
13905
- msgid "Rivne Oblast"
13906
- msgstr ""
13907
-
13908
- #: src/Functions/data/states.php:1799
13909
- msgid "Sumy Oblast"
13910
- msgstr ""
13911
-
13912
- #: src/Functions/data/states.php:1800
13913
- msgid "Ternopil Oblast"
13914
- msgstr ""
13915
-
13916
- #: src/Functions/data/states.php:1801
13917
- msgid "Kharkiv Oblast"
13918
- msgstr ""
13919
-
13920
- #: src/Functions/data/states.php:1802
13921
- msgid "Kherson Oblast"
13922
- msgstr ""
13923
-
13924
- #: src/Functions/data/states.php:1803
13925
- msgid "Khmelnytskyi Oblast"
13926
- msgstr ""
13927
-
13928
- #: src/Functions/data/states.php:1804
13929
- msgid "Cherkasy Oblast"
13930
- msgstr ""
13931
-
13932
- #: src/Functions/data/states.php:1805
13933
- msgid "Chernihiv Oblast"
13934
- msgstr ""
13935
-
13936
- #: src/Functions/data/states.php:1806
13937
- msgid "Chernivtsi Oblast"
13938
- msgstr ""
13939
-
13940
- #: src/Functions/data/states.php:1809
13941
- msgid "Abim"
13942
- msgstr ""
13943
-
13944
- #: src/Functions/data/states.php:1810
13945
- msgid "Adjumani"
13946
- msgstr ""
13947
-
13948
- #: src/Functions/data/states.php:1811
13949
- msgid "Agago"
13950
- msgstr ""
13951
-
13952
- #: src/Functions/data/states.php:1812
13953
- msgid "Alebtong"
13954
- msgstr ""
13955
-
13956
- #: src/Functions/data/states.php:1813
13957
- msgid "Amolatar"
13958
- msgstr ""
13959
-
13960
- #: src/Functions/data/states.php:1814
13961
- msgid "Amudat"
13962
- msgstr ""
13963
-
13964
- #: src/Functions/data/states.php:1815
13965
- msgid "Amuria"
13966
- msgstr ""
13967
-
13968
- #: src/Functions/data/states.php:1816
13969
- msgid "Amuru"
13970
- msgstr ""
13971
-
13972
- #: src/Functions/data/states.php:1817
13973
- msgid "Apac"
13974
- msgstr ""
13975
-
13976
- #: src/Functions/data/states.php:1818
13977
- msgid "Arua"
13978
- msgstr ""
13979
-
13980
- #: src/Functions/data/states.php:1819
13981
- msgid "Budaka"
13982
- msgstr ""
13983
-
13984
- #: src/Functions/data/states.php:1820
13985
- msgid "Bududa"
13986
- msgstr ""
13987
-
13988
- #: src/Functions/data/states.php:1821
13989
- msgid "Bugiri"
13990
- msgstr ""
13991
-
13992
- #: src/Functions/data/states.php:1822
13993
- msgid "Bugweri"
13994
- msgstr ""
13995
-
13996
- #: src/Functions/data/states.php:1823
13997
- msgid "Buhweju"
13998
- msgstr ""
13999
-
14000
- #: src/Functions/data/states.php:1824
14001
- msgid "Buikwe"
14002
- msgstr ""
14003
-
14004
- #: src/Functions/data/states.php:1825
14005
- msgid "Bukedea"
14006
- msgstr ""
14007
-
14008
- #: src/Functions/data/states.php:1826
14009
- msgid "Bukomansimbi"
14010
- msgstr ""
14011
-
14012
- #: src/Functions/data/states.php:1827
14013
- msgid "Bukwa"
14014
- msgstr ""
14015
-
14016
- #: src/Functions/data/states.php:1828
14017
- msgid "Bulambuli"
14018
- msgstr ""
14019
-
14020
- #: src/Functions/data/states.php:1829
14021
- msgid "Buliisa"
14022
- msgstr ""
14023
-
14024
- #: src/Functions/data/states.php:1830
14025
- msgid "Bundibugyo"
14026
- msgstr ""
14027
-
14028
- #: src/Functions/data/states.php:1831
14029
- msgid "Bunyangabu"
14030
- msgstr ""
14031
-
14032
- #: src/Functions/data/states.php:1832
14033
- msgid "Bushenyi"
14034
- msgstr ""
14035
-
14036
- #: src/Functions/data/states.php:1834
14037
- msgid "Butaleja"
14038
- msgstr ""
14039
-
14040
- #: src/Functions/data/states.php:1835
14041
- msgid "Butambala"
14042
- msgstr ""
14043
-
14044
- #: src/Functions/data/states.php:1836
14045
- msgid "Butebo"
14046
- msgstr ""
14047
-
14048
- #: src/Functions/data/states.php:1837
14049
- msgid "Buvuma"
14050
- msgstr ""
14051
-
14052
- #: src/Functions/data/states.php:1838
14053
- msgid "Buyende"
14054
- msgstr ""
14055
-
14056
- #: src/Functions/data/states.php:1839
14057
- msgid "Dokolo"
14058
- msgstr ""
14059
-
14060
- #: src/Functions/data/states.php:1840
14061
- msgid "Gomba"
14062
- msgstr ""
14063
-
14064
- #: src/Functions/data/states.php:1841
14065
- msgid "Gulu"
14066
- msgstr ""
14067
-
14068
- #: src/Functions/data/states.php:1842
14069
- msgid "Hoima"
14070
- msgstr ""
14071
-
14072
- #: src/Functions/data/states.php:1843
14073
- msgid "Ibanda"
14074
- msgstr ""
14075
-
14076
- #: src/Functions/data/states.php:1844
14077
- msgid "Iganga"
14078
- msgstr ""
14079
-
14080
- #: src/Functions/data/states.php:1845
14081
- msgid "Isingiro"
14082
- msgstr ""
14083
-
14084
- #: src/Functions/data/states.php:1846
14085
- msgid "Jinja"
14086
- msgstr ""
14087
-
14088
- #: src/Functions/data/states.php:1847
14089
- msgid "Kaabong"
14090
- msgstr ""
14091
-
14092
- #: src/Functions/data/states.php:1848
14093
- msgid "Kabale"
14094
- msgstr ""
14095
-
14096
- #: src/Functions/data/states.php:1849
14097
- msgid "Kabarole"
14098
- msgstr ""
14099
-
14100
- #: src/Functions/data/states.php:1850
14101
- msgid "Kaberamaido"
14102
- msgstr ""
14103
-
14104
- #: src/Functions/data/states.php:1851
14105
- msgid "Kagadi"
14106
- msgstr ""
14107
-
14108
- #: src/Functions/data/states.php:1852
14109
- msgid "Kakumiro"
14110
- msgstr ""
14111
-
14112
- #: src/Functions/data/states.php:1853
14113
- msgid "Kalangala"
14114
- msgstr ""
14115
-
14116
- #: src/Functions/data/states.php:1854
14117
- msgid "Kaliro"
14118
- msgstr ""
14119
-
14120
- #: src/Functions/data/states.php:1855
14121
- msgid "Kalungu"
14122
- msgstr ""
14123
-
14124
- #: src/Functions/data/states.php:1856
14125
- msgid "Kampala"
14126
- msgstr ""
14127
-
14128
- #: src/Functions/data/states.php:1857
14129
- msgid "Kamuli"
14130
- msgstr ""
14131
-
14132
- #: src/Functions/data/states.php:1858
14133
- msgid "Kamwenge"
14134
- msgstr ""
14135
-
14136
- #: src/Functions/data/states.php:1859
14137
- msgid "Kanungu"
14138
- msgstr ""
14139
-
14140
- #: src/Functions/data/states.php:1860
14141
- msgid "Kapchorwa"
14142
- msgstr ""
14143
-
14144
- #: src/Functions/data/states.php:1861
14145
- msgid "Kapelebyong"
14146
- msgstr ""
14147
-
14148
- #: src/Functions/data/states.php:1862
14149
- msgid "Kasanda"
14150
- msgstr ""
14151
-
14152
- #: src/Functions/data/states.php:1863
14153
- msgid "Kasese"
14154
- msgstr ""
14155
-
14156
- #: src/Functions/data/states.php:1864
14157
- msgid "Katakwi"
14158
- msgstr ""
14159
-
14160
- #: src/Functions/data/states.php:1865
14161
- msgid "Kayunga"
14162
- msgstr ""
14163
-
14164
- #: src/Functions/data/states.php:1866
14165
- msgid "Kibaale"
14166
- msgstr ""
14167
-
14168
- #: src/Functions/data/states.php:1867
14169
- msgid "Kiboga"
14170
- msgstr ""
14171
-
14172
- #: src/Functions/data/states.php:1868
14173
- msgid "Kibuku"
14174
- msgstr ""
14175
-
14176
- #: src/Functions/data/states.php:1869
14177
- msgid "Kikuube"
14178
- msgstr ""
14179
-
14180
- #: src/Functions/data/states.php:1870
14181
- msgid "Kiruhura"
14182
- msgstr ""
14183
-
14184
- #: src/Functions/data/states.php:1871
14185
- msgid "Kiryandongo"
14186
- msgstr ""
14187
-
14188
- #: src/Functions/data/states.php:1872
14189
- msgid "Kisoro"
14190
- msgstr ""
14191
-
14192
- #: src/Functions/data/states.php:1873
14193
- msgid "Kitgum"
14194
- msgstr ""
14195
-
14196
- #: src/Functions/data/states.php:1874
14197
- msgid "Koboko"
14198
- msgstr ""
14199
-
14200
- #: src/Functions/data/states.php:1875
14201
- msgid "Kole"
14202
- msgstr ""
14203
-
14204
- #: src/Functions/data/states.php:1876
14205
- msgid "Kotido"
14206
- msgstr ""
14207
-
14208
- #: src/Functions/data/states.php:1877
14209
- msgid "Kumi"
14210
- msgstr ""
14211
-
14212
- #: src/Functions/data/states.php:1878
14213
- msgid "Kwania"
14214
- msgstr ""
14215
-
14216
- #: src/Functions/data/states.php:1879
14217
- msgid "Kween"
14218
- msgstr ""
14219
-
14220
- #: src/Functions/data/states.php:1880
14221
- msgid "Kyankwanzi"
14222
- msgstr ""
14223
-
14224
- #: src/Functions/data/states.php:1881
14225
- msgid "Kyegegwa"
14226
- msgstr ""
14227
-
14228
- #: src/Functions/data/states.php:1882
14229
- msgid "Kyenjojo"
14230
- msgstr ""
14231
-
14232
- #: src/Functions/data/states.php:1883
14233
- msgid "Kyotera"
14234
- msgstr ""
14235
-
14236
- #: src/Functions/data/states.php:1884
14237
- msgid "Lamwo"
14238
- msgstr ""
14239
-
14240
- #: src/Functions/data/states.php:1885
14241
- msgid "Lira"
14242
- msgstr ""
14243
-
14244
- #: src/Functions/data/states.php:1886
14245
- msgid "Luuka"
14246
- msgstr ""
14247
-
14248
- #: src/Functions/data/states.php:1887
14249
- msgid "Luwero"
14250
- msgstr ""
14251
-
14252
- #: src/Functions/data/states.php:1888
14253
- msgid "Lwengo"
14254
- msgstr ""
14255
-
14256
- #: src/Functions/data/states.php:1889
14257
- msgid "Lyantonde"
14258
- msgstr ""
14259
-
14260
- #: src/Functions/data/states.php:1890
14261
- msgid "Manafwa"
14262
- msgstr ""
14263
-
14264
- #: src/Functions/data/states.php:1891
14265
- msgid "Maracha"
14266
- msgstr ""
14267
-
14268
- #: src/Functions/data/states.php:1892
14269
- msgid "Masaka"
14270
- msgstr ""
14271
-
14272
- #: src/Functions/data/states.php:1893
14273
- msgid "Masindi"
14274
- msgstr ""
14275
-
14276
- #: src/Functions/data/states.php:1894
14277
- msgid "Mayuge"
14278
- msgstr ""
14279
-
14280
- #: src/Functions/data/states.php:1895
14281
- msgid "Mbale"
14282
- msgstr ""
14283
-
14284
- #: src/Functions/data/states.php:1896
14285
- msgid "Mbarara"
14286
- msgstr ""
14287
-
14288
- #: src/Functions/data/states.php:1897
14289
- msgid "Mitooma"
14290
- msgstr ""
14291
-
14292
- #: src/Functions/data/states.php:1898
14293
- msgid "Mityana"
14294
- msgstr ""
14295
-
14296
- #: src/Functions/data/states.php:1899
14297
- msgid "Moroto"
14298
- msgstr ""
14299
-
14300
- #: src/Functions/data/states.php:1900
14301
- msgid "Moyo"
14302
- msgstr ""
14303
-
14304
- #: src/Functions/data/states.php:1901
14305
- msgid "Mpigi"
14306
- msgstr ""
14307
-
14308
- #: src/Functions/data/states.php:1902
14309
- msgid "Mubende"
14310
- msgstr ""
14311
-
14312
- #: src/Functions/data/states.php:1903
14313
- msgid "Mukono"
14314
- msgstr ""
14315
-
14316
- #: src/Functions/data/states.php:1904
14317
- msgid "Nabilatuk"
14318
- msgstr ""
14319
-
14320
- #: src/Functions/data/states.php:1905
14321
- msgid "Nakapiripirit"
14322
- msgstr ""
14323
-
14324
- #: src/Functions/data/states.php:1906
14325
- msgid "Nakaseke"
14326
- msgstr ""
14327
-
14328
- #: src/Functions/data/states.php:1907
14329
- msgid "Nakasongola"
14330
- msgstr ""
14331
-
14332
- #: src/Functions/data/states.php:1908
14333
- msgid "Namayingo"
14334
- msgstr ""
14335
-
14336
- #: src/Functions/data/states.php:1909
14337
- msgid "Namisindwa"
14338
- msgstr ""
14339
-
14340
- #: src/Functions/data/states.php:1910
14341
- msgid "Namutumba"
14342
- msgstr ""
14343
-
14344
- #: src/Functions/data/states.php:1911
14345
- msgid "Napak"
14346
- msgstr ""
14347
-
14348
- #: src/Functions/data/states.php:1912
14349
- msgid "Nebbi"
14350
- msgstr ""
14351
-
14352
- #: src/Functions/data/states.php:1913
14353
- msgid "Ngora"
14354
- msgstr ""
14355
-
14356
- #: src/Functions/data/states.php:1914
14357
- msgid "Ntoroko"
14358
- msgstr ""
14359
-
14360
- #: src/Functions/data/states.php:1915
14361
- msgid "Ntungamo"
14362
- msgstr ""
14363
-
14364
- #: src/Functions/data/states.php:1916
14365
- msgid "Nwoya"
14366
- msgstr ""
14367
-
14368
- #: src/Functions/data/states.php:1917
14369
- msgid "Omoro"
14370
- msgstr ""
14371
-
14372
- #: src/Functions/data/states.php:1918
14373
- msgid "Otuke"
14374
- msgstr ""
14375
-
14376
- #: src/Functions/data/states.php:1919
14377
- msgid "Oyam"
14378
- msgstr ""
14379
-
14380
- #: src/Functions/data/states.php:1920
14381
- msgid "Pader"
14382
- msgstr ""
14383
-
14384
- #: src/Functions/data/states.php:1921
14385
- msgid "Pakwach"
14386
- msgstr ""
14387
-
14388
- #: src/Functions/data/states.php:1922
14389
- msgid "Pallisa"
14390
- msgstr ""
14391
-
14392
- #: src/Functions/data/states.php:1923
14393
- msgid "Rakai"
14394
- msgstr ""
14395
-
14396
- #: src/Functions/data/states.php:1924
14397
- msgid "Rubanda"
14398
- msgstr ""
14399
-
14400
- #: src/Functions/data/states.php:1925
14401
- msgid "Rubirizi"
14402
- msgstr ""
14403
-
14404
- #: src/Functions/data/states.php:1926
14405
- msgid "Rukiga"
14406
- msgstr ""
14407
-
14408
- #: src/Functions/data/states.php:1927
14409
- msgid "Rukungiri"
14410
- msgstr ""
14411
-
14412
- #: src/Functions/data/states.php:1928
14413
- msgid "Sembabule"
14414
- msgstr ""
14415
-
14416
- #: src/Functions/data/states.php:1929
14417
- msgid "Serere"
14418
- msgstr ""
14419
-
14420
- #: src/Functions/data/states.php:1930
14421
- msgid "Sheema"
14422
- msgstr ""
14423
-
14424
- #: src/Functions/data/states.php:1931
14425
- msgid "Sironko"
14426
- msgstr ""
14427
-
14428
- #: src/Functions/data/states.php:1932
14429
- msgid "Soroti"
14430
- msgstr ""
14431
-
14432
- #: src/Functions/data/states.php:1933
14433
- msgid "Tororo"
14434
- msgstr ""
14435
-
14436
- #: src/Functions/data/states.php:1934
14437
- msgid "Wakiso"
14438
- msgstr ""
14439
-
14440
- #: src/Functions/data/states.php:1935
14441
- msgid "Yumbe"
14442
- msgstr ""
14443
-
14444
- #: src/Functions/data/states.php:1936
14445
- msgid "Zombo"
14446
- msgstr ""
14447
-
14448
- #: src/Functions/data/states.php:1939
14449
- msgid "Baker Island"
14450
- msgstr ""
14451
-
14452
- #: src/Functions/data/states.php:1940
14453
- msgid "Howland Island"
14454
- msgstr ""
14455
-
14456
- #: src/Functions/data/states.php:1941
14457
- msgid "Jarvis Island"
14458
- msgstr ""
14459
-
14460
- #: src/Functions/data/states.php:1942
14461
- msgid "Johnston Atoll"
14462
- msgstr ""
14463
-
14464
- #: src/Functions/data/states.php:1943
14465
- msgid "Kingman Reef"
14466
- msgstr ""
14467
-
14468
- #: src/Functions/data/states.php:1944
14469
- msgid "Midway Atoll"
14470
- msgstr ""
14471
-
14472
- #: src/Functions/data/states.php:1945
14473
- msgid "Navassa Island"
14474
- msgstr ""
14475
-
14476
- #: src/Functions/data/states.php:1946
14477
- msgid "Palmyra Atoll"
14478
- msgstr ""
14479
-
14480
- #: src/Functions/data/states.php:1947
14481
- msgid "Wake Island"
14482
- msgstr ""
14483
-
14484
- #: src/Functions/data/states.php:1950
14485
- msgid "Alabama"
14486
- msgstr ""
14487
-
14488
- #: src/Functions/data/states.php:1951
14489
- msgid "Alaska"
14490
- msgstr ""
14491
-
14492
- #: src/Functions/data/states.php:1952
14493
- msgid "Arizona"
14494
- msgstr ""
14495
-
14496
- #: src/Functions/data/states.php:1953
14497
- msgid "Arkansas"
14498
- msgstr ""
14499
-
14500
- #: src/Functions/data/states.php:1954
14501
- msgid "California"
14502
- msgstr ""
14503
-
14504
- #: src/Functions/data/states.php:1955
14505
- msgid "Colorado"
14506
- msgstr ""
14507
-
14508
- #: src/Functions/data/states.php:1956
14509
- msgid "Connecticut"
14510
- msgstr ""
14511
-
14512
- #: src/Functions/data/states.php:1957
14513
- msgid "Delaware"
14514
- msgstr ""
14515
-
14516
- #: src/Functions/data/states.php:1958
14517
- msgid "District Of Columbia"
14518
- msgstr ""
14519
-
14520
- #: src/Functions/data/states.php:1959 src/Functions/data/states.php:2012
14521
- msgid "Florida"
14522
- msgstr ""
14523
-
14524
- #: src/Functions/data/states.php:1960
14525
- msgctxt "US state of Georgia"
14526
- msgid "Georgia"
14527
- msgstr ""
14528
-
14529
- #: src/Functions/data/states.php:1961
14530
- msgid "Hawaii"
14531
- msgstr ""
14532
-
14533
- #: src/Functions/data/states.php:1962
14534
- msgid "Idaho"
14535
- msgstr ""
14536
-
14537
- #: src/Functions/data/states.php:1963
14538
- msgid "Illinois"
14539
- msgstr ""
14540
-
14541
- #: src/Functions/data/states.php:1964
14542
- msgid "Indiana"
14543
- msgstr ""
14544
-
14545
- #: src/Functions/data/states.php:1965
14546
- msgid "Iowa"
14547
- msgstr ""
14548
-
14549
- #: src/Functions/data/states.php:1966
14550
- msgid "Kansas"
14551
- msgstr ""
14552
-
14553
- #: src/Functions/data/states.php:1967
14554
- msgid "Kentucky"
14555
- msgstr ""
14556
-
14557
- #: src/Functions/data/states.php:1968
14558
- msgid "Louisiana"
14559
- msgstr ""
14560
-
14561
- #: src/Functions/data/states.php:1969
14562
- msgid "Maine"
14563
- msgstr ""
14564
-
14565
- #: src/Functions/data/states.php:1971
14566
- msgid "Massachusetts"
14567
- msgstr ""
14568
-
14569
- #: src/Functions/data/states.php:1972
14570
- msgid "Michigan"
14571
- msgstr ""
14572
-
14573
- #: src/Functions/data/states.php:1973
14574
- msgid "Minnesota"
14575
- msgstr ""
14576
-
14577
- #: src/Functions/data/states.php:1974
14578
- msgid "Mississippi"
14579
- msgstr ""
14580
-
14581
- #: src/Functions/data/states.php:1975
14582
- msgid "Missouri"
14583
- msgstr ""
14584
-
14585
- #: src/Functions/data/states.php:1977
14586
- msgid "Nebraska"
14587
- msgstr ""
14588
-
14589
- #: src/Functions/data/states.php:1978
14590
- msgid "Nevada"
14591
- msgstr ""
14592
-
14593
- #: src/Functions/data/states.php:1979
14594
- msgid "New Hampshire"
14595
- msgstr ""
14596
-
14597
- #: src/Functions/data/states.php:1980
14598
- msgid "New Jersey"
14599
- msgstr ""
14600
-
14601
- #: src/Functions/data/states.php:1981
14602
- msgid "New Mexico"
14603
- msgstr ""
14604
-
14605
- #: src/Functions/data/states.php:1982
14606
- msgid "New York"
14607
- msgstr ""
14608
-
14609
- #: src/Functions/data/states.php:1983
14610
- msgid "North Carolina"
14611
- msgstr ""
14612
-
14613
- #: src/Functions/data/states.php:1984
14614
- msgid "North Dakota"
14615
- msgstr ""
14616
-
14617
- #: src/Functions/data/states.php:1985
14618
- msgid "Ohio"
14619
- msgstr ""
14620
-
14621
- #: src/Functions/data/states.php:1986
14622
- msgid "Oklahoma"
14623
- msgstr ""
14624
-
14625
- #: src/Functions/data/states.php:1987
14626
- msgid "Oregon"
14627
- msgstr ""
14628
-
14629
- #: src/Functions/data/states.php:1988
14630
- msgid "Pennsylvania"
14631
- msgstr ""
14632
-
14633
- #: src/Functions/data/states.php:1989
14634
- msgid "Rhode Island"
14635
- msgstr ""
14636
-
14637
- #: src/Functions/data/states.php:1990
14638
- msgid "South Carolina"
14639
- msgstr ""
14640
-
14641
- #: src/Functions/data/states.php:1991
14642
- msgid "South Dakota"
14643
- msgstr ""
14644
-
14645
- #: src/Functions/data/states.php:1992
14646
- msgid "Tennessee"
14647
- msgstr ""
14648
-
14649
- #: src/Functions/data/states.php:1993
14650
- msgid "Texas"
14651
- msgstr ""
14652
-
14653
- #: src/Functions/data/states.php:1994
14654
- msgid "Utah"
14655
- msgstr ""
14656
-
14657
- #: src/Functions/data/states.php:1995
14658
- msgid "Vermont"
14659
- msgstr ""
14660
-
14661
- #: src/Functions/data/states.php:1996
14662
- msgid "Virginia"
14663
- msgstr ""
14664
-
14665
- #: src/Functions/data/states.php:1997
14666
- msgid "Washington"
14667
- msgstr ""
14668
-
14669
- #: src/Functions/data/states.php:1998
14670
- msgid "West Virginia"
14671
- msgstr ""
14672
-
14673
- #: src/Functions/data/states.php:1999
14674
- msgid "Wisconsin"
14675
- msgstr ""
14676
-
14677
- #: src/Functions/data/states.php:2000
14678
- msgid "Wyoming"
14679
- msgstr ""
14680
-
14681
- #: src/Functions/data/states.php:2001
14682
- msgid "Armed Forces (AA)"
14683
- msgstr ""
14684
-
14685
- #: src/Functions/data/states.php:2002
14686
- msgid "Armed Forces (AE)"
14687
- msgstr ""
14688
-
14689
- #: src/Functions/data/states.php:2003
14690
- msgid "Armed Forces (AP)"
14691
- msgstr ""
14692
-
14693
- #: src/Functions/data/states.php:2006
14694
- msgid "Artigas"
14695
- msgstr ""
14696
-
14697
- #: src/Functions/data/states.php:2007
14698
- msgid "Canelones"
14699
- msgstr ""
14700
-
14701
- #: src/Functions/data/states.php:2008
14702
- msgid "Cerro Largo"
14703
- msgstr ""
14704
-
14705
- #: src/Functions/data/states.php:2009
14706
- msgid "Colonia"
14707
- msgstr ""
14708
-
14709
- #: src/Functions/data/states.php:2010
14710
- msgid "Durazno"
14711
- msgstr ""
14712
-
14713
- #: src/Functions/data/states.php:2011
14714
- msgid "Flores"
14715
- msgstr ""
14716
-
14717
- #: src/Functions/data/states.php:2013
14718
- msgid "Lavalleja"
14719
- msgstr ""
14720
-
14721
- #: src/Functions/data/states.php:2014
14722
- msgid "Maldonado"
14723
- msgstr ""
14724
-
14725
- #: src/Functions/data/states.php:2015
14726
- msgid "Montevideo"
14727
- msgstr ""
14728
-
14729
- #: src/Functions/data/states.php:2016
14730
- msgid "Paysandú"
14731
- msgstr ""
14732
-
14733
- #: src/Functions/data/states.php:2018
14734
- msgid "Rivera"
14735
- msgstr ""
14736
-
14737
- #: src/Functions/data/states.php:2019
14738
- msgid "Rocha"
14739
- msgstr ""
14740
-
14741
- #: src/Functions/data/states.php:2020
14742
- msgid "Salto"
14743
- msgstr ""
14744
-
14745
- #: src/Functions/data/states.php:2022
14746
- msgid "Soriano"
14747
- msgstr ""
14748
-
14749
- #: src/Functions/data/states.php:2023
14750
- msgid "Tacuarembó"
14751
- msgstr ""
14752
-
14753
- #: src/Functions/data/states.php:2024
14754
- msgid "Treinta y Tres"
14755
- msgstr ""
14756
-
14757
- #: src/Functions/data/states.php:2027
14758
- msgid "Capital"
14759
- msgstr ""
14760
-
14761
- #: src/Functions/data/states.php:2028
14762
- msgid "Anzoátegui"
14763
- msgstr ""
14764
-
14765
- #: src/Functions/data/states.php:2029
14766
- msgid "Apure"
14767
- msgstr ""
14768
-
14769
- #: src/Functions/data/states.php:2030
14770
- msgid "Aragua"
14771
- msgstr ""
14772
-
14773
- #: src/Functions/data/states.php:2031
14774
- msgid "Barinas"
14775
- msgstr ""
14776
-
14777
- #: src/Functions/data/states.php:2033
14778
- msgid "Carabobo"
14779
- msgstr ""
14780
-
14781
- #: src/Functions/data/states.php:2034
14782
- msgid "Cojedes"
14783
- msgstr ""
14784
-
14785
- #: src/Functions/data/states.php:2035
14786
- msgid "Falcón"
14787
- msgstr ""
14788
-
14789
- #: src/Functions/data/states.php:2036
14790
- msgid "Guárico"
14791
- msgstr ""
14792
-
14793
- #: src/Functions/data/states.php:2037
14794
- msgid "Lara"
14795
- msgstr ""
14796
-
14797
- #: src/Functions/data/states.php:2038
14798
- msgid "Mérida"
14799
- msgstr ""
14800
-
14801
- #: src/Functions/data/states.php:2039
14802
- msgid "Miranda"
14803
- msgstr ""
14804
-
14805
- #: src/Functions/data/states.php:2040
14806
- msgid "Monagas"
14807
- msgstr ""
14808
-
14809
- #: src/Functions/data/states.php:2041
14810
- msgid "Nueva Esparta"
14811
- msgstr ""
14812
-
14813
- #: src/Functions/data/states.php:2042
14814
- msgid "Portuguesa"
14815
- msgstr ""
14816
-
14817
- #: src/Functions/data/states.php:2044
14818
- msgid "Táchira"
14819
- msgstr ""
14820
-
14821
- #: src/Functions/data/states.php:2045
14822
- msgid "Trujillo"
14823
- msgstr ""
14824
-
14825
- #: src/Functions/data/states.php:2046
14826
- msgid "Yaracuy"
14827
- msgstr ""
14828
-
14829
- #: src/Functions/data/states.php:2047
14830
- msgid "Zulia"
14831
- msgstr ""
14832
-
14833
- #: src/Functions/data/states.php:2048
14834
- msgid "Federal Dependencies"
14835
- msgstr ""
14836
-
14837
- #: src/Functions/data/states.php:2049
14838
- msgid "La Guaira (Vargas)"
14839
- msgstr ""
14840
-
14841
- #: src/Functions/data/states.php:2050
14842
- msgid "Delta Amacuro"
14843
- msgstr ""
14844
-
14845
- #: src/Functions/data/states.php:2056
14846
- msgid "Eastern Cape"
14847
- msgstr ""
14848
-
14849
- #: src/Functions/data/states.php:2057
14850
- msgid "Free State"
14851
- msgstr ""
14852
-
14853
- #: src/Functions/data/states.php:2058
14854
- msgid "Gauteng"
14855
- msgstr ""
14856
-
14857
- #: src/Functions/data/states.php:2059
14858
- msgid "KwaZulu-Natal"
14859
- msgstr ""
14860
-
14861
- #: src/Functions/data/states.php:2060
14862
- msgid "Limpopo"
14863
- msgstr ""
14864
-
14865
- #: src/Functions/data/states.php:2061
14866
- msgid "Mpumalanga"
14867
- msgstr ""
14868
-
14869
- #: src/Functions/data/states.php:2062
14870
- msgid "Northern Cape"
14871
- msgstr ""
14872
-
14873
- #: src/Functions/data/states.php:2063
14874
- msgid "North West"
14875
- msgstr ""
14876
-
14877
- #: src/Functions/data/states.php:2064
14878
- msgid "Western Cape"
14879
- msgstr ""
14880
-
14881
- #: src/Functions/data/states.php:2070
14882
- msgid "Luapula"
14883
  msgstr ""
14884
 
14885
- #: src/Functions/data/states.php:2072
14886
- msgid "North-Western"
 
14887
  msgstr ""
14888
 
14889
- #: src/Functions/data/states.php:2073
14890
- msgid "Southern"
 
14891
  msgstr ""
14892
 
14893
- #: src/Functions/data/states.php:2074
14894
- msgid "Copperbelt"
 
14895
  msgstr ""
14896
 
14897
- #: src/Functions/data/states.php:2075
14898
- msgid "Lusaka"
 
14899
  msgstr ""
14900
 
14901
- #: src/Functions/data/states.php:2076
14902
- msgid "Muchinga"
 
14903
  msgstr ""
14904
 
14905
- #: src/Membership/CheckoutFields.php:58
14906
- #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:255
14907
- msgid "Confirm Email Address"
14908
  msgstr ""
14909
 
14910
- #: src/Membership/CheckoutFields.php:121
14911
- #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:434
14912
- msgid "Biographical Info"
14913
  msgstr ""
14914
 
14915
- #: src/Membership/CheckoutFields.php:134
14916
- msgid "Street Address"
 
14917
  msgstr ""
14918
 
14919
- #: src/Membership/CheckoutFields.php:158
14920
- msgid "State / Province"
 
14921
  msgstr ""
14922
 
14923
- #: src/Membership/CheckoutFields.php:166
14924
- msgid "Zip / Postal Code"
 
14925
  msgstr ""
14926
 
14927
- #: src/Membership/CheckoutFields.php:174
14928
- msgid "Phone"
 
14929
  msgstr ""
14930
 
14931
- #: src/Membership/Controllers/CheckoutController.php:84
14932
- msgid "Error processing login. Nonce failed"
 
14933
  msgstr ""
14934
 
14935
- #: src/Membership/Controllers/CheckoutController.php:111
14936
- msgid "Error applying coupon code. Nonce failed"
 
14937
  msgstr ""
14938
 
14939
- #: src/Membership/Controllers/CheckoutController.php:118
14940
- msgid "Please enter a coupon code."
 
14941
  msgstr ""
14942
 
14943
- #: src/Membership/Controllers/CheckoutController.php:125
14944
- #: src/Membership/Controllers/CheckoutController.php:172
14945
- #: src/Membership/Controllers/CheckoutController.php:397
14946
- msgid "Please enter a plan ID."
14947
  msgstr ""
14948
 
14949
- #: src/Membership/Controllers/CheckoutController.php:137
14950
- msgid "Coupon code \"%s\" not found."
 
14951
  msgstr ""
14952
 
14953
- #: src/Membership/Controllers/CheckoutController.php:144
14954
- msgid "Sorry, this coupon is not valid."
 
14955
  msgstr ""
14956
 
14957
- #: src/Membership/Controllers/CheckoutController.php:201
14958
- msgid "Error processing checkout. Nonce failed"
 
14959
  msgstr ""
14960
 
14961
- #: src/Membership/Controllers/CheckoutController.php:224
14962
- msgid ""
14963
- "Please read and accept the terms and conditions to proceed with your order."
14964
  msgstr ""
14965
 
14966
- #: src/Membership/Controllers/CheckoutController.php:241
14967
- msgid "No payment method selected. Please try again."
 
14968
  msgstr ""
14969
 
14970
- #: src/Membership/Controllers/CheckoutResponse.php:45
14971
- msgid "Unable to complete checkout. Please try again."
 
14972
  msgstr ""
14973
 
14974
- #: src/Membership/Controllers/CheckoutTrait.php:134
14975
- msgid "Unable to create subscription. Please try again"
 
14976
  msgstr ""
14977
 
14978
- #: src/Membership/Controllers/CheckoutTrait.php:189
14979
- msgid "Unable to create order. Please try again"
 
14980
  msgstr ""
14981
 
14982
- #: src/Membership/Controllers/CheckoutTrait.php:210
14983
- msgid "Unable to create customer. Please try again"
 
14984
  msgstr ""
14985
 
14986
- #: src/Membership/Controllers/CheckoutTrait.php:281
14987
- msgid ""
14988
- "Email already used. Login or use a different email to complete your order"
14989
  msgstr ""
14990
 
14991
- #: src/Membership/Controllers/CheckoutTrait.php:301
14992
- msgid "Username is invalid because it uses illegal characters"
 
14993
  msgstr ""
14994
 
14995
- #: src/Membership/DigitalProducts/DownloadHandler.php:53
14996
- msgid "Sorry but you have hit your download limit for this file."
 
14997
  msgstr ""
14998
 
14999
- #: src/Membership/DigitalProducts/DownloadHandler.php:62
15000
- msgid ""
15001
- "You must have an active subscription to %s in order to download this file."
15002
  msgstr ""
15003
 
15004
- #: src/Membership/DigitalProducts/DownloadHandler.php:65
15005
- msgid "Access Denied"
 
15006
  msgstr ""
15007
 
15008
- #: src/Membership/DigitalProducts/DownloadHandler.php:318
15009
- msgid "You must be logged in to download files."
 
15010
  msgstr ""
15011
 
15012
- #: src/Membership/DigitalProducts/DownloadHandler.php:318
15013
- msgid "Log in to Download Files"
 
15014
  msgstr ""
15015
 
15016
- #: src/Membership/DigitalProducts/DownloadHandler.php:324
15017
- msgid "You do not have permission to download this file"
 
15018
  msgstr ""
15019
 
15020
- #: src/Membership/DigitalProducts/DownloadHandler.php:325
15021
- msgid "Order Verification Failed"
 
15022
  msgstr ""
15023
 
15024
- #: src/Membership/DigitalProducts/DownloadHandler.php:336
15025
- msgid "Error 103: Error downloading file. Please contact support."
 
15026
  msgstr ""
15027
 
15028
- #: src/Membership/DigitalProducts/DownloadHandler.php:336
15029
- msgid "File download error"
 
15030
  msgstr ""
15031
 
15032
- #: src/Membership/DigitalProducts/DownloadHandler.php:353
15033
- msgid "Sorry, this file could not be downloaded."
 
15034
  msgstr ""
15035
 
15036
- #: src/Membership/DigitalProducts/DownloadHandler.php:353
15037
- msgid "Error Downloading File"
 
15038
  msgstr ""
15039
 
15040
- #: src/Membership/DigitalProducts/DownloadService.php:84
15041
- msgid "Sorry but your download link has expired."
 
15042
  msgstr ""
15043
 
15044
- #. translators: 1: uploads directory URL 2: documentation URL
15045
- #: src/Membership/DigitalProducts/UploadHandler.php:285
15046
- msgid ""
15047
- "Your store's uploads directory is <a href=\"%1$s\">browsable via the web</"
15048
- "a>. We strongly recommend <a href=\"%2$s\">configuring your web server to "
15049
- "prevent directory indexing</a>."
15050
  msgstr ""
15051
 
15052
- #: src/Membership/Emails/EmailDataTrait.php:10
15053
- #: src/Membership/Emails/EmailDataTrait.php:52
15054
- msgid "Email address of the customer."
15055
  msgstr ""
15056
 
15057
- #: src/Membership/Emails/EmailDataTrait.php:11
15058
- #: src/Membership/Emails/EmailDataTrait.php:53
15059
- msgid "First name of the customer."
15060
  msgstr ""
15061
 
15062
- #: src/Membership/Emails/EmailDataTrait.php:12
15063
- #: src/Membership/Emails/EmailDataTrait.php:54
15064
- msgid "Last name of the customer."
15065
  msgstr ""
15066
 
15067
- #: src/Membership/Emails/EmailDataTrait.php:14
15068
- msgid ""
15069
- "User custom profile field information. Replace \"field_key\" with the "
15070
- "%scustom field key%s or usermeta key."
15071
  msgstr ""
15072
 
15073
- #: src/Membership/Emails/EmailDataTrait.php:17
15074
- msgid "ID of the customer."
 
15075
  msgstr ""
15076
 
15077
- #: src/Membership/Emails/EmailDataTrait.php:18
15078
- msgid "Customer's billing address."
 
15079
  msgstr ""
15080
 
15081
- #: src/Membership/Emails/EmailDataTrait.php:19
15082
- msgid "Customer's phone number."
 
15083
  msgstr ""
15084
 
15085
- #: src/Membership/Emails/EmailDataTrait.php:20
15086
- msgid "Customer's Tax ID."
 
15087
  msgstr ""
15088
 
15089
- #: src/Membership/Emails/EmailDataTrait.php:21
15090
- msgid "Order ID."
 
15091
  msgstr ""
15092
 
15093
- #: src/Membership/Emails/EmailDataTrait.php:22
15094
- msgid "URL to view and download order's digital products."
 
15095
  msgstr ""
15096
 
15097
- #: src/Membership/Emails/EmailDataTrait.php:23
15098
- msgid "URL to view order."
 
15099
  msgstr ""
15100
 
15101
- #: src/Membership/Emails/EmailDataTrait.php:24
15102
- msgid "Name or title of plan ordered."
 
15103
  msgstr ""
15104
 
15105
- #: src/Membership/Emails/EmailDataTrait.php:25
15106
- msgid "Order price before taxes."
 
15107
  msgstr ""
15108
 
15109
- #: src/Membership/Emails/EmailDataTrait.php:26
15110
- msgid "The taxed amount of the order."
 
15111
  msgstr ""
15112
 
15113
- #: src/Membership/Emails/EmailDataTrait.php:27
15114
- msgid "Total order amount that was paid."
 
15115
  msgstr ""
15116
 
15117
- #: src/Membership/Emails/EmailDataTrait.php:28
15118
- msgid "Order date."
 
15119
  msgstr ""
15120
 
15121
- #: src/Membership/Emails/EmailDataTrait.php:29
15122
- msgid "Order payment method."
 
15123
  msgstr ""
15124
 
15125
- #: src/Membership/Emails/EmailDataTrait.php:30
15126
- msgid "The purchase note of ordered plan."
 
15127
  msgstr ""
15128
 
15129
- #: src/Membership/Emails/EmailDataTrait.php:31
15130
- #: src/Membership/Emails/EmailDataTrait.php:61
15131
- msgid "Name or title of this website."
15132
  msgstr ""
15133
 
15134
- #: src/Membership/Emails/EmailDataTrait.php:33
15135
- msgid "Your business name as defined in %sSettings%s."
 
15136
  msgstr ""
15137
 
15138
- #: src/Membership/Emails/EmailDataTrait.php:37
15139
- msgid "Your business address as defined in %sSettings%s."
 
15140
  msgstr ""
15141
 
15142
- #: src/Membership/Emails/EmailDataTrait.php:41
15143
- msgid "Your business Tax ID as defined in %sSettings%s."
 
15144
  msgstr ""
15145
 
15146
- #: src/Membership/Emails/EmailDataTrait.php:55
15147
- msgid "Subscription ID."
 
15148
  msgstr ""
15149
 
15150
- #: src/Membership/Emails/EmailDataTrait.php:56
15151
- msgid "URL to view subscription."
 
15152
  msgstr ""
15153
 
15154
- #: src/Membership/Emails/EmailDataTrait.php:57
15155
- msgid "URL to re-subscribe to the subscription plan."
 
15156
  msgstr ""
15157
 
15158
- #: src/Membership/Emails/EmailDataTrait.php:58
15159
- msgid "Name or title of subscription plan."
 
15160
  msgstr ""
15161
 
15162
- #: src/Membership/Emails/EmailDataTrait.php:59
15163
- msgid "The recurring amount of the subscription."
 
15164
  msgstr ""
15165
 
15166
- #: src/Membership/Emails/EmailDataTrait.php:60
15167
- msgid "The expiration or renewal date for the subscription."
 
15168
  msgstr ""
15169
 
15170
- #: src/Membership/Models/Customer/CustomerEntity.php:102
15171
- msgid "No Connected User"
 
15172
  msgstr ""
15173
 
15174
- #: src/Membership/Models/Order/OrderEntity.php:225
15175
- msgid "Payment %s has been fully refunded in %s."
 
15176
  msgstr ""
15177
 
15178
- #: src/Membership/Models/Order/OrderEntity.php:245
15179
- #: src/Membership/Models/Subscription/SubscriptionEntity.php:512
15180
- msgid "payment method"
15181
  msgstr ""
15182
 
15183
- #: src/Membership/Models/Order/OrderEntity.php:248
15184
- msgid "Order changed from %s to %s by %s"
 
15185
  msgstr ""
15186
 
15187
- #: src/Membership/Models/Order/OrderMode.php:14
15188
- #: src/Membership/PaymentMethods/Stripe/Stripe.php:217
15189
- msgid "Test"
15190
  msgstr ""
15191
 
15192
- #: src/Membership/Models/Order/OrderStatus.php:15
15193
- #: src/Membership/Models/Subscription/SubscriptionStatus.php:18
15194
- msgid "Pending"
15195
  msgstr ""
15196
 
15197
- #: src/Membership/Models/Order/OrderStatus.php:16
15198
- #: src/Membership/Models/Subscription/SubscriptionStatus.php:20
15199
- msgid "Completed"
15200
  msgstr ""
15201
 
15202
- #: src/Membership/Models/Order/OrderStatus.php:17
15203
- msgid "Refunded"
 
15204
  msgstr ""
15205
 
15206
- #: src/Membership/Models/Order/OrderStatus.php:18
15207
- msgid "Failed"
 
15208
  msgstr ""
15209
 
15210
- #: src/Membership/Models/Order/OrderType.php:15
15211
- msgid "New Order"
 
15212
  msgstr ""
15213
 
15214
- #: src/Membership/Models/Order/OrderType.php:17
15215
- msgid "Upgrade"
 
15216
  msgstr ""
15217
 
15218
- #: src/Membership/Models/Order/OrderType.php:18
15219
- msgid "Downgrade"
 
15220
  msgstr ""
15221
 
15222
- #: src/Membership/Models/Subscription/SubscriptionBillingFrequency.php:19
15223
- msgid "Monthly"
 
15224
  msgstr ""
15225
 
15226
- #: src/Membership/Models/Subscription/SubscriptionBillingFrequency.php:20
15227
- msgid "Weekly"
 
15228
  msgstr ""
15229
 
15230
- #: src/Membership/Models/Subscription/SubscriptionBillingFrequency.php:21
15231
- msgid "Daily"
 
15232
  msgstr ""
15233
 
15234
- #: src/Membership/Models/Subscription/SubscriptionBillingFrequency.php:22
15235
- msgid "Quarterly (every 3 months)"
 
15236
  msgstr ""
15237
 
15238
- #: src/Membership/Models/Subscription/SubscriptionBillingFrequency.php:23
15239
- msgid "Every 6 months"
 
15240
  msgstr ""
15241
 
15242
- #: src/Membership/Models/Subscription/SubscriptionBillingFrequency.php:24
15243
- msgid "Yearly"
 
15244
  msgstr ""
15245
 
15246
- #: src/Membership/Models/Subscription/SubscriptionBillingFrequency.php:25
15247
- msgid "One-time purchase"
 
15248
  msgstr ""
15249
 
15250
- #: src/Membership/Models/Subscription/SubscriptionEntity.php:515
15251
- msgid "Subscription changed from %s to %s by %s"
 
15252
  msgstr ""
15253
 
15254
- #: src/Membership/Models/Subscription/SubscriptionStatus.php:21
15255
- msgid "Trialling"
 
15256
  msgstr ""
15257
 
15258
- #: src/Membership/Models/Subscription/SubscriptionStatus.php:22
15259
- msgid "Cancelled"
 
15260
  msgstr ""
15261
 
15262
- #: src/Membership/Models/Subscription/SubscriptionTrialPeriod.php:18
15263
- msgid "Disabled"
 
15264
  msgstr ""
15265
 
15266
- #: src/Membership/Models/Subscription/SubscriptionTrialPeriod.php:19
15267
- msgid "3 Days"
 
15268
  msgstr ""
15269
 
15270
- #: src/Membership/Models/Subscription/SubscriptionTrialPeriod.php:20
15271
- msgid "5 Days"
 
15272
  msgstr ""
15273
 
15274
- #: src/Membership/Models/Subscription/SubscriptionTrialPeriod.php:21
15275
- msgid "One Week"
 
15276
  msgstr ""
15277
 
15278
- #: src/Membership/Models/Subscription/SubscriptionTrialPeriod.php:22
15279
- msgid "Two Weeks"
 
15280
  msgstr ""
15281
 
15282
- #: src/Membership/Models/Subscription/SubscriptionTrialPeriod.php:23
15283
- msgid "Three Weeks"
 
15284
  msgstr ""
15285
 
15286
- #: src/Membership/Models/Subscription/SubscriptionTrialPeriod.php:24
15287
- msgid "One Month"
 
15288
  msgstr ""
15289
 
15290
- #: src/Membership/PaymentMethods/AbstractPaymentMethod.php:211
15291
- msgid "Enable / Disable"
 
15292
  msgstr ""
15293
 
15294
- #. translators: %s - Payment Gateway Title
15295
- #: src/Membership/PaymentMethods/AbstractPaymentMethod.php:213
15296
- msgid "Check to Enable"
15297
  msgstr ""
15298
 
15299
- #: src/Membership/PaymentMethods/StoreGateway.php:11
15300
- msgid "Store Payments"
 
15301
  msgstr ""
15302
 
15303
- #: src/Membership/PaymentMethods/StoreGateway.php:12
15304
- msgid ""
15305
- "A payment method for manually creating orders and processing free orders. No "
15306
- "money is actually collected."
15307
  msgstr ""
15308
 
15309
- #: src/Membership/PaymentMethods/Stripe/Helpers.php:102
15310
- msgid "Connect with Stripe"
 
15311
  msgstr ""
15312
 
15313
- #: src/Membership/PaymentMethods/Stripe/Helpers.php:103
15314
- msgid "Connect with"
 
15315
  msgstr ""
15316
 
15317
- #: src/Membership/PaymentMethods/Stripe/Helpers.php:145
15318
- msgid "Unable to retrieve account information."
 
15319
  msgstr ""
15320
 
15321
- #: src/Membership/PaymentMethods/Stripe/Helpers.php:152
15322
- msgid "You cannot manage this account in Stripe."
 
15323
  msgstr ""
15324
 
15325
- #. translators: %1$s Opening strong tag, do not translate. %2$s Closing anchor
15326
- #. tag, do not translate.
15327
- #: src/Membership/PaymentMethods/Stripe/Helpers.php:156
15328
- msgid ""
15329
- "You are currently connected to a %1$stemporary%2$s Stripe account, which can "
15330
- "only be used for testing purposes."
15331
  msgstr ""
15332
 
15333
- #: src/Membership/PaymentMethods/Stripe/Helpers.php:174
15334
- msgid "Invalid Secret Key. Secret Key should begin with <code>sk_</code>."
 
15335
  msgstr ""
15336
 
15337
- #: src/Membership/PaymentMethods/Stripe/Helpers.php:185
15338
- msgid ""
15339
- "Invalid Publishable Key. Publishable Key should begin with <code>pk_</code>."
15340
  msgstr ""
15341
 
15342
- #: src/Membership/PaymentMethods/Stripe/Helpers.php:197
15343
- msgid ""
15344
- "Invalid Publishable Key for current mode. Publishable Key should begin with "
15345
- "<code>pk_test_</code>."
15346
  msgstr ""
15347
 
15348
- #: src/Membership/PaymentMethods/Stripe/Helpers.php:208
15349
- msgid ""
15350
- "Invalid Secret Key for current mode. Secret Key should begin with "
15351
- "<code>sk_test_</code>."
15352
  msgstr ""
15353
 
15354
- #: src/Membership/PaymentMethods/Stripe/Helpers.php:219
15355
- msgid ""
15356
- "Invalid Publishable Key for current mode. Publishable Key should begin with "
15357
- "<code>pk_live_</code>."
15358
  msgstr ""
15359
 
15360
- #: src/Membership/PaymentMethods/Stripe/Helpers.php:230
15361
- msgid ""
15362
- "Invalid Secret Key for current mode. Secret Key should begin with "
15363
- "<code>sk_live_</code>."
15364
  msgstr ""
15365
 
15366
- #: src/Membership/PaymentMethods/Stripe/Helpers.php:242
15367
- msgid ""
15368
- "If you have manually modified these values after connecting your account, "
15369
- "please reconnect below or update your API keys manually."
15370
  msgstr ""
15371
 
15372
- #: src/Membership/PaymentMethods/Stripe/Helpers.php:280
15373
- msgid "Administrator (Owner)"
 
15374
  msgstr ""
15375
 
15376
- #: src/Membership/PaymentMethods/Stripe/Helpers.php:287
15377
- msgid ""
15378
- "Pay as you go pricing: 2%% per-transaction fee + Stripe fees. Remove the 2%% "
15379
- "fee by %supgrading to premium%s."
15380
  msgstr ""
15381
 
15382
- #: src/Membership/PaymentMethods/Stripe/PaymentHelpers.php:54
15383
- msgid "Setup Fee"
 
15384
  msgstr ""
15385
 
15386
- #: src/Membership/PaymentMethods/Stripe/Stripe.php:31
15387
- msgid "Pay with your credit card via Stripe"
 
15388
  msgstr ""
15389
 
15390
- #: src/Membership/PaymentMethods/Stripe/Stripe.php:34
15391
- msgid "Credit card payment method that integrates with your Stripe account."
 
15392
  msgstr ""
15393
 
15394
- #: src/Membership/PaymentMethods/Stripe/Stripe.php:37
15395
- msgid ""
15396
- "NOTE: The free version of ProfilePress includes an additional 2%% fee for "
15397
- "processing payments. Remove the fee by %supgrading to premium%s."
15398
  msgstr ""
15399
 
15400
- #: src/Membership/PaymentMethods/Stripe/Stripe.php:75
15401
- msgid "Stripe Connect Error:"
 
15402
  msgstr ""
15403
 
15404
- #: src/Membership/PaymentMethods/Stripe/Stripe.php:173
15405
- msgid "test"
 
15406
  msgstr ""
15407
 
15408
- #: src/Membership/PaymentMethods/Stripe/Stripe.php:173
15409
- msgid "live"
 
15410
  msgstr ""
15411
 
15412
- #: src/Membership/PaymentMethods/Stripe/Stripe.php:183
15413
- msgid ""
15414
- "Your Stripe account is connected in %1$s mode. %2$sDisconnect this account"
15415
- "%3$s."
15416
  msgstr ""
15417
 
15418
- #: src/Membership/PaymentMethods/Stripe/Stripe.php:198
15419
- msgid "Connection Status"
 
15420
  msgstr ""
15421
 
15422
- #: src/Membership/PaymentMethods/Stripe/Stripe.php:205
15423
- msgid ""
15424
- "Connect now to start accepting payments instantly. This includes an "
15425
- "additional 2%% payment processing fee. Remove the fee by %supgrading to "
15426
- "premium%s."
15427
  msgstr ""
15428
 
15429
- #: src/Membership/PaymentMethods/Stripe/Stripe.php:223
15430
- msgid "Webhook Setup"
 
15431
  msgstr ""
15432
 
15433
- #: src/Membership/PaymentMethods/Stripe/Stripe.php:226
15434
- msgid ""
15435
- "In order for Stripe to function well, ensure the webhook endpoint %1$s is "
15436
- "present in the %2$sStripe webhooks settings%3$s. Learn more from our "
15437
- "%4$swebhook documentation%3$s"
15438
  msgstr ""
15439
 
15440
- #: src/Membership/PaymentMethods/Stripe/Stripe.php:235
15441
- msgid "test mode"
 
15442
  msgstr ""
15443
 
15444
- #: src/Membership/PaymentMethods/Stripe/Stripe.php:235
15445
- msgid "live mode"
 
15446
  msgstr ""
15447
 
15448
- #: src/Membership/PaymentMethods/Stripe/Stripe.php:237
15449
- msgid "Webhook Secret"
 
15450
  msgstr ""
15451
 
15452
- #: src/Membership/PaymentMethods/Stripe/Stripe.php:240
15453
- msgid ""
15454
- "Retrieve your %3$s \"Signing secret\" from your %1$sStripe webhook settings"
15455
- "%2$s. Select the endpoint then click \"Reveal\"."
15456
  msgstr ""
15457
 
15458
- #: src/Membership/PaymentMethods/Stripe/Stripe.php:251
15459
- msgid "Statement Descriptor"
 
15460
  msgstr ""
15461
 
15462
- #: src/Membership/PaymentMethods/Stripe/Stripe.php:254
15463
- msgid ""
15464
- "The text that appears on your customer's bank or credit card statements. "
15465
- "Choose something they will recognise to help prevent disputes, typically "
15466
- "your business name. Must be limited to 22 characters, no special characters "
15467
- "%1$s<%2$s, %1$s>%2$s, %1$s'%2$s, or %1$s\"%2$s."
15468
  msgstr ""
15469
 
15470
- #: src/Membership/PaymentMethods/Stripe/Stripe.php:260
15471
- msgid "Payment Collection Method"
 
15472
  msgstr ""
15473
 
15474
- #: src/Membership/PaymentMethods/Stripe/Stripe.php:263
15475
- msgid "Stripe Credit Card Field (On-site)"
 
15476
  msgstr ""
15477
 
15478
- #: src/Membership/PaymentMethods/Stripe/Stripe.php:264
15479
- msgid "Stripe Payment Page (Off-site)"
 
15480
  msgstr ""
15481
 
15482
- #: src/Membership/PaymentMethods/Stripe/Stripe.php:266
15483
- msgid ""
15484
- "Select how payment information will be collected. Could be right on your "
15485
- "site with Stripe card fields or off-site through Stripe hosted payment page."
15486
  msgstr ""
15487
 
15488
- #: src/Membership/PaymentMethods/Stripe/Stripe.php:270
15489
- msgid "Remove Billing Address"
 
15490
  msgstr ""
15491
 
15492
- #: src/Membership/PaymentMethods/Stripe/Stripe.php:272
15493
- msgid "Check to remove billing address fields from the checkout page."
 
15494
  msgstr ""
15495
 
15496
- #: src/Membership/PaymentMethods/Stripe/Stripe.php:273
15497
- msgid ""
15498
- "If you do not want the billing address fields displayed on the checkout "
15499
- "page, use this setting to remove it."
15500
  msgstr ""
15501
 
15502
- #: src/Membership/PaymentMethods/Stripe/Stripe.php:277
15503
- msgid "Restrict Stripe Assets"
 
15504
  msgstr ""
15505
 
15506
- #: src/Membership/PaymentMethods/Stripe/Stripe.php:279
15507
- msgid ""
15508
- "Only load Stripe.com hosted assets on pages that specifically utilize Stripe "
15509
- "functionality."
15510
  msgstr ""
15511
 
15512
- #: src/Membership/PaymentMethods/Stripe/Stripe.php:281
15513
- msgid ""
15514
- "Stripe advises that their Javascript library be loaded on every page to take "
15515
- "advantage of their advanced fraud detection rules. If you are not concerned "
15516
- "with this, enable this setting to only load the Javascript when necessary. "
15517
- "%sLearn more%s"
15518
  msgstr ""
15519
 
15520
- #: src/Membership/PaymentMethods/Stripe/Stripe.php:300
15521
- msgid "Please enter a name for the credit card."
 
15522
  msgstr ""
15523
 
15524
- #: src/Membership/PaymentMethods/Stripe/Stripe.php:425
15525
- msgid "Attempted cancellation but was unable. Message was \"%s\"."
 
15526
  msgstr ""
15527
 
15528
- #: src/Membership/PaymentMethods/Stripe/Stripe.php:536
15529
- #: src/templates/checkout/credit-card-fields.php:5
15530
- msgid "Name on card"
15531
  msgstr ""
15532
 
15533
- #: src/Membership/PaymentMethods/Stripe/Stripe.php:544
15534
- msgid "Credit card"
 
15535
  msgstr ""
15536
 
15537
- #: src/Membership/PaymentMethods/Stripe/Stripe.php:723
15538
- msgid "No payment method found. Please try again."
 
15539
  msgstr ""
15540
 
15541
- #: src/Membership/PaymentMethods/Stripe/Stripe.php:878
15542
- msgid "Refund request is pending"
 
15543
  msgstr ""
15544
 
15545
- #: src/Membership/PaymentMethods/Stripe/Stripe.php:881
15546
- msgid "Refund request failed"
 
15547
  msgstr ""
15548
 
15549
- #: src/Membership/PaymentMethods/Stripe/Stripe.php:884
15550
- msgid "Refund request failed. Status: %s"
 
15551
  msgstr ""
15552
 
15553
- #: src/Membership/PaymentMethods/Stripe/WebhookHandlers/ChargeRefunded.php:34
15554
- msgid "Payment %s partially refunded in Stripe."
 
15555
  msgstr ""
15556
 
15557
- #: src/Membership/PaymentMethods/Stripe/WebhookHandlers/CustomerSubscriptionUpdated.php:30
15558
- msgid "Subscription is scheduled for cancellation on %s"
 
15559
  msgstr ""
15560
 
15561
- #: src/Membership/PaymentMethods/Stripe/WebhookHandlers/CustomerSubscriptionUpdated.php:67
15562
- msgid "Stripe payment failed (payment is past due)"
 
15563
  msgstr ""
15564
 
15565
- #: src/Membership/PaymentMethods/Stripe/WebhookHandlers/CustomerSubscriptionUpdated.php:90
15566
- msgid "Recurring amount changed from %s to %s in Stripe."
 
15567
  msgstr ""
15568
 
15569
- #: src/Membership/Services/EUVATChecker/EuVatApiResponse.php:57
15570
- msgid "Please enter a VAT number."
 
15571
  msgstr ""
15572
 
15573
- #: src/Membership/Services/EUVATChecker/EuVatApiResponse.php:60
15574
- msgid "Please select a country."
 
15575
  msgstr ""
15576
 
15577
- #: src/Membership/Services/EUVATChecker/EuVatApiResponse.php:63
15578
- msgid "The VAT number is invalid."
 
15579
  msgstr ""
15580
 
15581
- #: src/Membership/Services/EUVATChecker/EuVatApiResponse.php:66
15582
- msgid "The VAT number applies to EU countries only."
 
15583
  msgstr ""
15584
 
15585
- #: src/Membership/Services/EUVATChecker/EuVatApiResponse.php:69
15586
- msgid "Your billing country must match the country for the VAT number."
 
15587
  msgstr ""
15588
 
15589
- #: src/Membership/Services/EUVATChecker/EuVatApiResponse.php:72
15590
- msgid "The country or VAT number is invalid."
 
15591
  msgstr ""
15592
 
15593
- #: src/Membership/Services/EUVATChecker/EuVatApiResponse.php:75
15594
- msgid ""
15595
- "We're having trouble checking your VAT number. Please try again or contact "
15596
- "our support team."
15597
  msgstr ""
15598
 
15599
- #: src/Membership/Services/TaxService.php:23
15600
- msgid "VAT"
 
15601
  msgstr ""
15602
 
15603
- #: src/Membership/Services/TaxService.php:23
15604
- msgid "Tax"
 
15605
  msgstr ""
15606
 
15607
- #: src/NavigationMenuLinks/Backend.php:29 src/RegisterActivation/Base.php:183
 
 
 
 
 
15608
  #: src/ShortcodeParser/Builder/LoginFormBuilder.php:166
15609
  #: src/Themes/DragDrop/AbstractTheme.php:104 src/Widgets/TabbedWidget.php:88
15610
  msgid "Log In"
15611
  msgstr ""
15612
 
 
 
 
 
 
15613
  #: src/NavigationMenuLinks/Backend.php:30
15614
  #: src/NavigationMenuLinks/Backend.php:34
15615
- #: src/ShortcodeParser/Builder/GlobalShortcodes.php:281
15616
  #: src/Widgets/UserPanel.php:30 src/Widgets/UserPanel.php:71
15617
  msgid "Log Out"
15618
  msgstr ""
15619
 
15620
- #: src/NavigationMenuLinks/Backend.php:31 src/RegisterActivation/Base.php:187
15621
- #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:1092
15622
- #: src/ShortcodeParser/Builder/GlobalShortcodes.php:184
 
 
 
 
 
15623
  #: src/Widgets/TabbedWidget.php:89
15624
  msgid "Sign Up"
15625
  msgstr ""
15626
 
15627
- #: src/NavigationMenuLinks/Backend.php:33 src/RegisterActivation/Base.php:200
 
 
15628
  msgid "My Profile"
15629
  msgstr ""
15630
 
 
 
15631
  #: src/NavigationMenuLinks/Backend.php:46
15632
  #: src/NavigationMenuLinks/Backend.php:89
15633
  msgid "ProfilePress Links"
15634
  msgstr ""
15635
 
 
 
 
15636
  #: src/NavigationMenuLinks/Backend.php:47
15637
  #: src/NavigationMenuLinks/Backend.php:78
15638
  #: src/NavigationMenuLinks/Backend.php:146
15639
  msgid "ProfilePress Link"
15640
  msgstr ""
15641
 
 
15642
  #: src/NavigationMenuLinks/Backend.php:119
15643
  msgid "Add to Menu"
15644
  msgstr ""
15645
 
15646
- #: src/RegisterActivation/Base.php:77
 
15647
  msgid "Default Registration"
15648
  msgstr ""
15649
 
15650
- #: src/RegisterActivation/Base.php:84
 
15651
  msgid "Default Login"
15652
  msgstr ""
15653
 
15654
- #: src/RegisterActivation/Base.php:91
 
15655
  msgid "Default Password Reset"
15656
  msgstr ""
15657
 
15658
- #: src/RegisterActivation/Base.php:98
 
15659
  msgid "Default Edit Profile"
15660
  msgstr ""
15661
 
15662
- #: src/RegisterActivation/Base.php:105
 
15663
  msgid "Default User Profile"
15664
  msgstr ""
15665
 
15666
- #: src/RegisterActivation/Base.php:112
 
15667
  msgid "Default Member Directory"
15668
  msgstr ""
15669
 
15670
- #: src/RegisterActivation/Base.php:119
 
15671
  msgid "Lucid Tab Widget"
15672
  msgstr ""
15673
 
15674
- #: src/RegisterActivation/Base.php:171 src/templates/checkout/form-terms.php:9
15675
- msgid "I have read and agree to the website %s"
15676
- msgstr ""
15677
-
15678
- #: src/RegisterActivation/Base.php:191
15679
- #: src/ShortcodeParser/Builder/GlobalShortcodes.php:216
15680
  #: src/Themes/DragDrop/AbstractTheme.php:117
15681
  msgid "Reset Password"
15682
  msgstr ""
15683
 
15684
- #: src/RegisterActivation/Base.php:204
 
15685
  msgid "Member Directory"
15686
  msgstr ""
15687
 
15688
- #: src/RegisterActivation/Base.php:235
15689
- msgid "Order Confirmation"
15690
- msgstr ""
15691
-
15692
- #: src/RegisterActivation/Base.php:238
15693
- msgid "Thank you for your order!"
15694
- msgstr ""
15695
-
15696
- #: src/RegisterActivation/Base.php:242
15697
- msgid "Order Failed"
15698
- msgstr ""
15699
-
15700
- #: src/RegisterActivation/Base.php:245
15701
- msgid "Your transaction failed, please try again or contact support."
15702
- msgstr ""
15703
-
15704
  #: src/ShortcodeParser/Builder/EditProfileBuilder.php:86
15705
  #: src/ShortcodeParser/Builder/EditProfileBuilder.php:99
15706
  #: src/ShortcodeParser/Builder/PasswordResetBuilder.php:220
@@ -15710,18 +5888,27 @@ msgstr ""
15710
  msgid "Strength indicator"
15711
  msgstr ""
15712
 
 
 
 
15713
  #: src/ShortcodeParser/Builder/EditProfileBuilder.php:87
15714
  #: src/ShortcodeParser/Builder/PasswordResetBuilder.php:221
15715
  #: src/ShortcodeParser/Builder/RegistrationFormBuilder.php:142
15716
  msgid "Very weak"
15717
  msgstr ""
15718
 
 
 
 
15719
  #: src/ShortcodeParser/Builder/EditProfileBuilder.php:88
15720
  #: src/ShortcodeParser/Builder/PasswordResetBuilder.php:222
15721
  #: src/ShortcodeParser/Builder/RegistrationFormBuilder.php:143
15722
  msgid "Weak"
15723
  msgstr ""
15724
 
 
 
 
15725
  #: src/ShortcodeParser/Builder/EditProfileBuilder.php:89
15726
  #: src/ShortcodeParser/Builder/PasswordResetBuilder.php:223
15727
  #: src/ShortcodeParser/Builder/RegistrationFormBuilder.php:144
@@ -15729,112 +5916,166 @@ msgctxt "password strength"
15729
  msgid "Medium"
15730
  msgstr ""
15731
 
 
 
 
15732
  #: src/ShortcodeParser/Builder/EditProfileBuilder.php:90
15733
  #: src/ShortcodeParser/Builder/PasswordResetBuilder.php:224
15734
  #: src/ShortcodeParser/Builder/RegistrationFormBuilder.php:145
15735
  msgid "Strong"
15736
  msgstr ""
15737
 
 
 
 
15738
  #: src/ShortcodeParser/Builder/EditProfileBuilder.php:91
15739
  #: src/ShortcodeParser/Builder/PasswordResetBuilder.php:225
15740
  #: src/ShortcodeParser/Builder/RegistrationFormBuilder.php:146
15741
  msgid "Mismatch"
15742
  msgstr ""
15743
 
15744
- #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:353
 
 
 
 
 
 
15745
  msgid "Display name"
15746
  msgstr ""
15747
 
15748
- #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:385
15749
- #: src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:130
 
 
15750
  msgid "First name"
15751
  msgstr ""
15752
 
15753
- #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:418
15754
- #: src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:135
 
 
15755
  msgid "Last name"
15756
  msgstr ""
15757
 
15758
- #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:450
 
 
 
 
 
 
15759
  msgid "Bio description"
15760
  msgstr ""
15761
 
15762
- #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:471
15763
- #: src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:110
 
 
15764
  msgid "Profile picture"
15765
  msgstr ""
15766
 
15767
- #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:492
 
15768
  msgid "Cover photo"
15769
  msgstr ""
15770
 
15771
- #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:511
15772
- #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:568
15773
- #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:659
15774
- #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:705
15775
- #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:732
15776
- #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:811
15777
- #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:867
15778
- #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:928
15779
- #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:977
 
 
 
 
 
 
 
 
 
 
15780
  #: src/ShortcodeParser/Builder/FrontendProfileBuilder.php:346
15781
  msgid "Field key is missing"
15782
  msgstr ""
15783
 
15784
- #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:585
 
15785
  msgid "Select country"
15786
  msgstr ""
15787
 
15788
- #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:736
 
15789
  msgid "No dropdown option found."
15790
  msgstr ""
15791
 
15792
- #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:817
 
15793
  msgid "No radio choice found."
15794
  msgstr ""
15795
 
15796
- #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:872
 
15797
  msgid "No checkbox choice found."
15798
  msgstr ""
15799
 
15800
- #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:1006
 
15801
  msgid "custom field not defined"
15802
  msgstr ""
15803
 
15804
- #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:1160
 
15805
  msgid "Delete Avatar"
15806
  msgstr ""
15807
 
15808
- #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:1196
 
15809
  msgid "Delete Cover Photo"
15810
  msgstr ""
15811
 
 
15812
  #: src/ShortcodeParser/Builder/FrontendProfileBuilder.php:109
15813
  msgid "This user has not created any post."
15814
  msgstr ""
15815
 
 
15816
  #: src/ShortcodeParser/Builder/FrontendProfileBuilder.php:112
15817
  msgid "You have not created any post."
15818
  msgstr ""
15819
 
 
15820
  #: src/ShortcodeParser/Builder/FrontendProfileBuilder.php:171
15821
  msgid "This user has not made any comment."
15822
  msgstr ""
15823
 
 
15824
  #: src/ShortcodeParser/Builder/FrontendProfileBuilder.php:174
15825
  msgid "You have not made any comment."
15826
  msgstr ""
15827
 
 
15828
  #: src/ShortcodeParser/Builder/FrontendProfileBuilder.php:661
15829
  msgid "No post written yet."
15830
  msgstr ""
15831
 
 
 
 
15832
  #: src/ShortcodeParser/Builder/PasswordResetBuilder.php:106
15833
  #: src/ShortcodeParser/Builder/PasswordResetBuilder.php:344
15834
  #: src/Widgets/TabbedWidget.php:90
15835
  msgid "Get New Password"
15836
  msgstr ""
15837
 
 
 
 
 
15838
  #: src/ShortcodeParser/EditProfileTag.php:78
15839
  #: src/ShortcodeParser/LoginFormTag.php:75
15840
  #: src/ShortcodeParser/PasswordResetTag.php:77
@@ -15843,1113 +6084,1208 @@ msgid ""
15843
  "Form class not found. Please check if this ProfilePress form actually exist."
15844
  msgstr ""
15845
 
 
15846
  #: src/ShortcodeParser/FormProcessor.php:95
15847
  msgid "The password you entered is incorrect."
15848
  msgstr ""
15849
 
 
15850
  #: src/ShortcodeParser/FormProcessor.php:191
15851
  msgid "Authentication failed. Please try again"
15852
  msgstr ""
15853
 
 
15854
  #: src/ShortcodeParser/FrontendProfileTag.php:88
15855
  msgid ""
15856
  "This content is available to members only. Please <a href=\"%1$s\">login</a> "
15857
  "or <a href=\"%2$s\">register</a> to view this area."
15858
  msgstr ""
15859
 
 
15860
  #: src/ShortcodeParser/FrontendProfileTag.php:95
15861
  msgid "You are not authorized to access this area."
15862
  msgstr ""
15863
 
 
15864
  #: src/ShortcodeParser/FrontendProfileTag.php:133
15865
  msgid ""
15866
  "Form class not found. Please check if this user profile actually exist in "
15867
  "ProfilePress."
15868
  msgstr ""
15869
 
 
 
15870
  #: src/ShortcodeParser/FrontendProfileTag.php:198
15871
  #: src/Themes/DragDrop/UserProfile/Dixon.php:121
15872
  msgid "Profile"
15873
  msgstr ""
15874
 
 
15875
  #: src/ShortcodeParser/LoginFormTag.php:54
15876
  msgid "You are already logged in."
15877
  msgstr ""
15878
 
15879
- #: src/ShortcodeParser/MemberDirectoryTag.php:50
 
15880
  msgid "No member directory ID specified."
15881
  msgstr ""
15882
 
15883
- #: src/ShortcodeParser/MemberDirectoryTag.php:71
 
15884
  msgid ""
15885
  "Member directory class not found. Please check it actually exist in "
15886
  "ProfilePress."
15887
  msgstr ""
15888
 
15889
- #: src/ShortcodeParser/MembershipShortcodes.php:49
15890
- msgid ""
15891
- "Your cart is currently empty. Click <a href=\"%s\">here</a> to get started."
15892
- msgstr ""
15893
-
15894
- #: src/ShortcodeParser/MembershipShortcodes.php:64
15895
- msgid ""
15896
- "It looks like you’re already subscribed to this plan. Please go to %syour "
15897
- "account%s to manage your subscription."
15898
- msgstr ""
15899
-
15900
- #: src/ShortcodeParser/MembershipShortcodes.php:93
15901
- msgid "Invalid subscription plan."
15902
- msgstr ""
15903
-
15904
- #: src/ShortcodeParser/MyAccount/MyAccountTag.php:75
15905
- #: src/ShortcodeParser/MyAccount/downloads.tmpl.php:34
15906
- #: src/ShortcodeParser/MyAccount/view-order.tmpl.php:190
15907
- msgid "Downloads"
15908
  msgstr ""
15909
 
15910
- #: src/ShortcodeParser/MyAccount/MyAccountTag.php:91
 
15911
  msgid "Account Details"
15912
  msgstr ""
15913
 
15914
- #: src/ShortcodeParser/MyAccount/MyAccountTag.php:98
15915
- #: src/ShortcodeParser/MyAccount/change-password.tmpl.php:23
 
 
15916
  msgid "Change Password"
15917
  msgstr ""
15918
 
15919
- #: src/ShortcodeParser/MyAccount/MyAccountTag.php:105
 
15920
  msgid "Logout"
15921
  msgstr ""
15922
 
15923
- #: src/ShortcodeParser/MyAccount/MyAccountTag.php:114
 
 
15924
  #: src/ShortcodeParser/MyAccount/email-notifications.tmpl.php:14
15925
  msgid "Email Notifications"
15926
  msgstr ""
15927
 
15928
- #: src/ShortcodeParser/MyAccount/MyAccountTag.php:125
15929
- #: src/ShortcodeParser/MyAccount/account-settings.tmpl.php:16
15930
- #: src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:34
 
 
 
15931
  msgid "Account Settings"
15932
  msgstr ""
15933
 
15934
- #: src/ShortcodeParser/MyAccount/MyAccountTag.php:262
15935
- msgid "Subscription successfully cancelled."
15936
- msgstr ""
15937
-
15938
- #: src/ShortcodeParser/MyAccount/MyAccountTag.php:641
15939
  msgid "Cover Photo (min. width: 1000px)"
15940
  msgstr ""
15941
 
15942
- #: src/ShortcodeParser/MyAccount/billing-details.tmpl.php:43
15943
- msgid ""
15944
- "The following billing address will be used on the checkout page by default."
15945
- msgstr ""
15946
-
15947
- #: src/ShortcodeParser/MyAccount/change-password.tmpl.php:11
15948
  msgid "Password successfully updated."
15949
  msgstr ""
15950
 
15951
- #: src/ShortcodeParser/MyAccount/change-password.tmpl.php:30
 
15952
  msgid "Current password"
15953
  msgstr ""
15954
 
15955
- #: src/ShortcodeParser/MyAccount/change-password.tmpl.php:36
 
 
15956
  #: src/ShortcodeParser/PasswordResetTag.php:101
15957
  msgid "New password"
15958
  msgstr ""
15959
 
15960
- #: src/ShortcodeParser/MyAccount/change-password.tmpl.php:42
 
15961
  msgid "Confirm new password"
15962
  msgstr ""
15963
 
15964
- #: src/ShortcodeParser/MyAccount/change-password.tmpl.php:48
 
15965
  msgid "Change password"
15966
  msgstr ""
15967
 
15968
  #. translators: 1: user display name 2: logout url
 
15969
  #: src/ShortcodeParser/MyAccount/dashboard.tmpl.php:16
15970
  msgid "Hello %1$s (not %1$s? <a href=\"%2$s\">Log out</a>)"
15971
  msgstr ""
15972
 
 
15973
  #: src/ShortcodeParser/MyAccount/dashboard.tmpl.php:26
15974
  msgid ""
15975
  "From your account dashboard you can <a href=\"%1$s\">change your password</"
15976
  "a> and <a href=\"%2$s\">edit your account details</a>."
15977
  msgstr ""
15978
 
15979
- #: src/ShortcodeParser/MyAccount/downloads.tmpl.php:36
15980
- msgid "You have no downloads."
15981
- msgstr ""
15982
-
15983
- #: src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:88
15984
- #: src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:109
15985
  msgid "Browse"
15986
  msgstr ""
15987
 
15988
- #: src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:89
 
15989
  msgid "Cover photo (min. width: 1000px)"
15990
  msgstr ""
15991
 
15992
- #: src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:125
 
15993
  msgid "Email address"
15994
  msgstr ""
15995
 
15996
- #: src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:145
 
15997
  msgid "Display name publicly as"
15998
  msgstr ""
15999
 
16000
- #: src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:155
 
16001
  msgid "About yourself"
16002
  msgstr ""
16003
 
16004
- #: src/ShortcodeParser/MyAccount/orders.tmpl.php:40
16005
- msgid "You have not made any order."
16006
- msgstr ""
16007
-
16008
- #: src/ShortcodeParser/MyAccount/orders.tmpl.php:50
16009
- #: src/ShortcodeParser/MyAccount/view-order.tmpl.php:44
16010
- msgid "Date Placed"
16011
- msgstr ""
16012
-
16013
- #: src/ShortcodeParser/MyAccount/orders.tmpl.php:67
16014
- msgid "Total Amount"
16015
- msgstr ""
16016
-
16017
- #: src/ShortcodeParser/MyAccount/orders.tmpl.php:75
16018
- msgid "View Order"
16019
- msgstr ""
16020
-
16021
- #: src/ShortcodeParser/MyAccount/subscriptions.tmpl.php:40
16022
- msgid "You have no subscription."
16023
- msgstr ""
16024
-
16025
- #: src/ShortcodeParser/MyAccount/subscriptions.tmpl.php:51
16026
- #: src/ShortcodeParser/MyAccount/view-subscription.tmpl.php:71
16027
- msgid "Initial Amount"
16028
- msgstr ""
16029
-
16030
- #: src/ShortcodeParser/MyAccount/subscriptions.tmpl.php:71
16031
- msgid "View Subscription"
16032
- msgstr ""
16033
-
16034
- #: src/ShortcodeParser/MyAccount/view-order.tmpl.php:29
16035
- msgid "Invalid order"
16036
- msgstr ""
16037
-
16038
- #: src/ShortcodeParser/MyAccount/view-order.tmpl.php:54
16039
- msgid "Item Description"
16040
- msgstr ""
16041
-
16042
- #: src/ShortcodeParser/MyAccount/view-order.tmpl.php:71
16043
- msgid "Order Type"
16044
- msgstr ""
16045
-
16046
- #: src/ShortcodeParser/MyAccount/view-order.tmpl.php:164
16047
- #: src/ShortcodeParser/MyAccount/view-subscription.tmpl.php:67
16048
- msgid "Terms"
16049
- msgstr ""
16050
-
16051
- #: src/ShortcodeParser/MyAccount/view-subscription.tmpl.php:29
16052
- msgid "Invalid subscription"
16053
  msgstr ""
16054
 
16055
- #: src/ShortcodeParser/MyAccount/view-subscription.tmpl.php:46
16056
- msgid "Resubscribe"
 
16057
  msgstr ""
16058
 
16059
- #: src/ShortcodeParser/MyAccount/view-subscription.tmpl.php:83
16060
- msgid "Payment"
 
16061
  msgstr ""
16062
 
16063
- #: src/ShortcodeParser/MyAccount/view-subscription.tmpl.php:84
16064
- msgid "Via %s"
 
16065
  msgstr ""
16066
 
16067
- #: src/ShortcodeParser/MyAccount/view-subscription.tmpl.php:88
16068
- msgid "Actions"
 
16069
  msgstr ""
16070
 
16071
- #: src/ShortcodeParser/PasswordResetTag.php:100
16072
- msgid "Enter your new password below"
 
 
 
16073
  msgstr ""
16074
 
16075
- #: src/ShortcodeParser/PasswordResetTag.php:104
16076
- msgid "Re-enter new password"
 
16077
  msgstr ""
16078
 
16079
- #: src/ShortcodeParser/RegistrationFormTag.php:51
16080
- msgid "You are already registered."
 
16081
  msgstr ""
16082
 
16083
- #: src/ShortcodeParser/RegistrationFormTag.php:74
16084
- msgid "Registration is disabled in this site."
 
16085
  msgstr ""
16086
 
 
 
16087
  #: src/Themes/DragDrop/AbstractBuildScratch.php:95
16088
- #: src/Themes/DragDrop/AbstractBuildScratch.php:343
16089
  msgid "Icon"
16090
  msgstr ""
16091
 
 
16092
  #: src/Themes/DragDrop/AbstractBuildScratch.php:104
16093
  msgid "Enable Password Visibility Icon"
16094
  msgstr ""
16095
 
 
16096
  #: src/Themes/DragDrop/AbstractBuildScratch.php:105
16097
  msgid ""
16098
  "Check to enable visibility icon which when clicked, hides or shows a "
16099
  "password."
16100
  msgstr ""
16101
 
 
16102
  #: src/Themes/DragDrop/AbstractBuildScratch.php:113
16103
  msgid "Label Display"
16104
  msgstr ""
16105
 
 
16106
  #: src/Themes/DragDrop/AbstractBuildScratch.php:115
16107
  msgid "Above"
16108
  msgstr ""
16109
 
 
16110
  #: src/Themes/DragDrop/AbstractBuildScratch.php:116
16111
  msgid "Inside"
16112
  msgstr ""
16113
 
 
16114
  #: src/Themes/DragDrop/AbstractBuildScratch.php:123
16115
  msgid "Description Appearance"
16116
  msgstr ""
16117
 
 
 
16118
  #: src/Themes/DragDrop/AbstractBuildScratch.php:125
16119
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:205
16120
  msgid "Standard"
16121
  msgstr ""
16122
 
 
16123
  #: src/Themes/DragDrop/AbstractBuildScratch.php:126
16124
  msgid "Reveal on Focus"
16125
  msgstr ""
16126
 
 
16127
  #: src/Themes/DragDrop/AbstractBuildScratch.php:127
16128
  msgid "Tooltip"
16129
  msgstr ""
16130
 
 
 
16131
  #: src/Themes/DragDrop/AbstractBuildScratch.php:156
16132
  #: src/Themes/DragDrop/Registration/PerfectoLite.php:78
16133
  msgid "Create an Account"
16134
  msgstr ""
16135
 
 
 
16136
  #: src/Themes/DragDrop/AbstractBuildScratch.php:160
16137
  #: src/Themes/DragDrop/Login/PerfectoLite.php:76
16138
  msgid "Sign in to Your Account"
16139
  msgstr ""
16140
 
 
16141
  #: src/Themes/DragDrop/AbstractBuildScratch.php:163
16142
  msgid "Reset Your Password"
16143
  msgstr ""
16144
 
 
16145
  #: src/Themes/DragDrop/AbstractBuildScratch.php:166
16146
  msgid "Edit Your Profile"
16147
  msgstr ""
16148
 
 
16149
  #: src/Themes/DragDrop/AbstractBuildScratch.php:178
16150
  msgid "Lost your password?"
16151
  msgstr ""
16152
 
 
 
 
16153
  #: src/Themes/DragDrop/AbstractBuildScratch.php:179
16154
  #: src/Themes/DragDrop/AbstractTheme.php:109 src/Widgets/TabbedWidget.php:116
16155
  msgid "Register"
16156
  msgstr ""
16157
 
 
16158
  #: src/Themes/DragDrop/AbstractBuildScratch.php:182
16159
  msgid "Have an account? Login"
16160
  msgstr ""
16161
 
 
16162
  #: src/Themes/DragDrop/AbstractBuildScratch.php:186
16163
  msgid "Return to Login"
16164
  msgstr ""
16165
 
 
 
 
 
 
 
16166
  #: src/Themes/DragDrop/AbstractBuildScratch.php:231
16167
- #: src/Themes/DragDrop/AbstractBuildScratch.php:367
16168
- #: src/Themes/DragDrop/AbstractBuildScratch.php:514
16169
  #: src/Themes/DragDrop/Login/PerfectoLite.php:41
16170
  #: src/Themes/DragDrop/Registration/PerfectoLite.php:43
16171
  #: src/Themes/DragDrop/UserProfile/Dixon.php:60
16172
  msgid "Background"
16173
  msgstr ""
16174
 
 
16175
  #: src/Themes/DragDrop/AbstractBuildScratch.php:238
16176
  msgid "Font Family"
16177
  msgstr ""
16178
 
 
 
 
16179
  #: src/Themes/DragDrop/AbstractBuildScratch.php:245
16180
  #: src/Themes/DragDrop/Login/PerfectoLite.php:28
16181
  #: src/Themes/DragDrop/Registration/PerfectoLite.php:30
16182
  msgid "Headline"
16183
  msgstr ""
16184
 
 
16185
  #: src/Themes/DragDrop/AbstractBuildScratch.php:253
16186
  msgid "Forgot Password Label"
16187
  msgstr ""
16188
 
 
16189
  #: src/Themes/DragDrop/AbstractBuildScratch.php:263
16190
  msgid "Sign Up Label"
16191
  msgstr ""
16192
 
 
16193
  #: src/Themes/DragDrop/AbstractBuildScratch.php:273
16194
  msgid "Login Label"
16195
  msgstr ""
16196
 
16197
- #: src/Themes/DragDrop/AbstractBuildScratch.php:284
 
 
 
 
 
 
16198
  msgid "Social Login Buttons"
16199
  msgstr ""
16200
 
16201
- #: src/Themes/DragDrop/AbstractBuildScratch.php:292
 
16202
  msgid "Remove Form Frame"
16203
  msgstr ""
16204
 
16205
- #: src/Themes/DragDrop/AbstractBuildScratch.php:293
 
16206
  msgid "Check to remove"
16207
  msgstr ""
16208
 
16209
- #: src/Themes/DragDrop/AbstractBuildScratch.php:300
 
16210
  msgid "Hide Required %s"
16211
  msgstr ""
16212
 
16213
- #: src/Themes/DragDrop/AbstractBuildScratch.php:301
 
 
16214
  #: src/Themes/DragDrop/UserProfile/Dixon.php:110
16215
  msgid "Check to hide"
16216
  msgstr ""
16217
 
16218
- #: src/Themes/DragDrop/AbstractBuildScratch.php:314
 
16219
  msgid "Field & Styling"
16220
  msgstr ""
16221
 
16222
- #: src/Themes/DragDrop/AbstractBuildScratch.php:319
16223
- #: src/Themes/DragDrop/AbstractBuildScratch.php:476
 
 
16224
  msgid "Round"
16225
  msgstr ""
16226
 
16227
- #: src/Themes/DragDrop/AbstractBuildScratch.php:320
16228
- #: src/Themes/DragDrop/AbstractBuildScratch.php:477
 
 
16229
  msgid "Square"
16230
  msgstr ""
16231
 
16232
- #: src/Themes/DragDrop/AbstractBuildScratch.php:321
16233
- #: src/Themes/DragDrop/AbstractBuildScratch.php:478
 
 
16234
  msgid "Pill"
16235
  msgstr ""
16236
 
16237
- #: src/Themes/DragDrop/AbstractBuildScratch.php:322
 
16238
  msgid "Material"
16239
  msgstr ""
16240
 
16241
- #: src/Themes/DragDrop/AbstractBuildScratch.php:323
 
16242
  msgid "Flat"
16243
  msgstr ""
16244
 
16245
- #: src/Themes/DragDrop/AbstractBuildScratch.php:326
16246
- #: src/Themes/DragDrop/AbstractBuildScratch.php:481
 
 
16247
  msgid "Layout"
16248
  msgstr ""
16249
 
16250
- #: src/Themes/DragDrop/AbstractBuildScratch.php:333
 
16251
  msgid "Small"
16252
  msgstr ""
16253
 
16254
- #: src/Themes/DragDrop/AbstractBuildScratch.php:337
 
16255
  msgid "Field Size"
16256
  msgstr ""
16257
 
16258
- #: src/Themes/DragDrop/AbstractBuildScratch.php:338
 
16259
  msgid "Select the size (in height) of input and textarea form fields."
16260
  msgstr ""
16261
 
16262
- #: src/Themes/DragDrop/AbstractBuildScratch.php:352
 
16263
  msgid "Icon Alignment"
16264
  msgstr ""
16265
 
16266
- #: src/Themes/DragDrop/AbstractBuildScratch.php:357
 
16267
  msgid "Border"
16268
  msgstr ""
16269
 
16270
- #: src/Themes/DragDrop/AbstractBuildScratch.php:362
 
16271
  msgid "Border on Focus"
16272
  msgstr ""
16273
 
16274
- #: src/Themes/DragDrop/AbstractBuildScratch.php:372
16275
- #: src/Themes/DragDrop/AbstractBuildScratch.php:520
 
 
16276
  msgid "Background on Focus"
16277
  msgstr ""
16278
 
16279
- #: src/Themes/DragDrop/AbstractBuildScratch.php:379
 
16280
  msgid "Labels & Text"
16281
  msgstr ""
16282
 
16283
- #: src/Themes/DragDrop/AbstractBuildScratch.php:388
 
16284
  msgid "Title Font Size (px)"
16285
  msgstr ""
16286
 
16287
- #: src/Themes/DragDrop/AbstractBuildScratch.php:394
16288
- #: src/Themes/DragDrop/AbstractBuildScratch.php:505
 
 
16289
  msgid "Normal"
16290
  msgstr ""
16291
 
16292
- #: src/Themes/DragDrop/AbstractBuildScratch.php:395
16293
- #: src/Themes/DragDrop/AbstractBuildScratch.php:506
 
 
16294
  msgid "Bold"
16295
  msgstr ""
16296
 
16297
- #: src/Themes/DragDrop/AbstractBuildScratch.php:397
 
16298
  msgid "Title Font Weight"
16299
  msgstr ""
16300
 
16301
- #: src/Themes/DragDrop/AbstractBuildScratch.php:412
 
16302
  msgid "Description Alignment"
16303
  msgstr ""
16304
 
16305
- #: src/Themes/DragDrop/AbstractBuildScratch.php:417
 
16306
  msgid "Value / Text Font Size"
16307
  msgstr ""
16308
 
16309
- #: src/Themes/DragDrop/AbstractBuildScratch.php:418
 
16310
  msgid "Font size in pixel (px) of field values and text on form."
16311
  msgstr ""
16312
 
16313
- #: src/Themes/DragDrop/AbstractBuildScratch.php:423
 
16314
  msgid "Value / Text"
16315
  msgstr ""
16316
 
16317
- #: src/Themes/DragDrop/AbstractBuildScratch.php:424
 
16318
  msgid "Color of the value of a field and text on the form."
16319
  msgstr ""
16320
 
16321
- #: src/Themes/DragDrop/AbstractBuildScratch.php:459
 
 
 
 
 
 
16322
  msgid "Submit"
16323
  msgstr ""
16324
 
16325
- #: src/Themes/DragDrop/AbstractBuildScratch.php:488
 
16326
  msgid "Auto (Default)"
16327
  msgstr ""
16328
 
16329
- #: src/Themes/DragDrop/AbstractBuildScratch.php:489
 
16330
  msgid "Wide"
16331
  msgstr ""
16332
 
16333
- #: src/Themes/DragDrop/AbstractBuildScratch.php:490
 
16334
  msgid "Full Stretched Width"
16335
  msgstr ""
16336
 
16337
- #: src/Themes/DragDrop/AbstractBuildScratch.php:498
 
16338
  msgid "Font Size (px)"
16339
  msgstr ""
16340
 
16341
- #: src/Themes/DragDrop/AbstractBuildScratch.php:508
 
16342
  msgid "Font Weight"
16343
  msgstr ""
16344
 
16345
- #: src/Themes/DragDrop/AbstractBuildScratch.php:532
 
16346
  msgid "Text Focused"
16347
  msgstr ""
16348
 
 
16349
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:123
16350
  msgid "%s Members"
16351
  msgstr ""
16352
 
 
16353
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:124
16354
  msgid "%s Member"
16355
  msgstr ""
16356
 
 
16357
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:125
16358
  msgid "We could not find any user that matches your search criteria"
16359
  msgstr ""
16360
 
 
16361
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:142
16362
  msgid "User Roles to Display"
16363
  msgstr ""
16364
 
 
16365
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:143
16366
  msgid ""
16367
  "If you do not want to show all members, select the user roles to appear in "
16368
  "this directory."
16369
  msgstr ""
16370
 
 
 
16371
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:151
16372
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:159
16373
  msgid "Example: 1, 6, 32"
16374
  msgstr ""
16375
 
 
16376
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:152
16377
  msgid "Comma Separated List of Users ID to Only Show"
16378
  msgstr ""
16379
 
 
16380
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:160
16381
  msgid "Comma Separated List of Users ID to Exclude"
16382
  msgstr ""
16383
 
 
16384
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:173
16385
  msgid "Search & Filter Fields Text"
16386
  msgstr ""
16387
 
 
16388
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:178
16389
  msgid "Search & Filter Fields Border"
16390
  msgstr ""
16391
 
 
16392
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:183
16393
  msgid "Pagination Links"
16394
  msgstr ""
16395
 
 
16396
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:188
16397
  msgid "Pagination Active Link Color"
16398
  msgstr ""
16399
 
 
16400
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:193
16401
  msgid "Pagination Active Link Background"
16402
  msgstr ""
16403
 
 
16404
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:222
16405
  msgid "Sorting"
16406
  msgstr ""
16407
 
 
16408
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:225
16409
  msgid "Default Sorting method"
16410
  msgstr ""
16411
 
 
16412
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:231
16413
  msgid "Enable custom sorting"
16414
  msgstr ""
16415
 
 
16416
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:236
16417
  msgid "Sorting Method Fields"
16418
  msgstr ""
16419
 
 
16420
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:239
16421
  msgid "Fields to show in sorting dropdown menu"
16422
  msgstr ""
16423
 
 
 
16424
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:244
16425
- #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:845
16426
  msgid "Search"
16427
  msgstr ""
16428
 
 
16429
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:247
16430
  msgid "Display Search Form"
16431
  msgstr ""
16432
 
 
16433
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:252
16434
  msgid "Search Fields"
16435
  msgstr ""
16436
 
 
16437
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:255
16438
  msgid "Select fields to search in."
16439
  msgstr ""
16440
 
 
16441
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:264
16442
  msgid "Enable Filters"
16443
  msgstr ""
16444
 
 
16445
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:266
16446
  msgid "If enabled, users will be able to filter members in this directory"
16447
  msgstr ""
16448
 
 
16449
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:271
16450
  msgid "Filter Fields"
16451
  msgstr ""
16452
 
 
16453
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:278
16454
  msgid ""
16455
  "Select custom fields that members can be filtered by. Only Select, Checkbox, "
16456
  "Radio, Country and Date/Time fields are supported."
16457
  msgstr ""
16458
 
 
16459
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:289
16460
  msgid ""
16461
  "%sUpgrade to ProfilePress premium%s if you don't have the custom field addon "
16462
  "so you can enable search and filtering by custom fields."
16463
  msgstr ""
16464
 
 
16465
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:296
16466
  msgid "Result & Pagination"
16467
  msgstr ""
16468
 
 
16469
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:299
16470
  msgid "Show Results Only After a Search"
16471
  msgstr ""
16472
 
 
16473
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:301
16474
  msgid "Enable to only show members after a search is performed"
16475
  msgstr ""
16476
 
 
16477
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:305
16478
  msgid "Number of Members per Page"
16479
  msgstr ""
16480
 
 
16481
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:310
16482
  msgid "Results Text"
16483
  msgstr ""
16484
 
 
16485
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:315
16486
  msgid "Single Result Text"
16487
  msgstr ""
16488
 
 
16489
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:320
16490
  msgid "No Result Text"
16491
  msgstr ""
16492
 
16493
- #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:477
 
16494
  msgid "Newest Users First"
16495
  msgstr ""
16496
 
16497
- #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:478
 
16498
  msgid "Oldest Users First"
16499
  msgstr ""
16500
 
16501
- #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:712
 
16502
  msgid "Sort by"
16503
  msgstr ""
16504
 
16505
- #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:749
 
16506
  msgid "More Filters"
16507
  msgstr ""
16508
 
 
16509
  #: src/Themes/DragDrop/AbstractTheme.php:233
16510
  msgid "Bio"
16511
  msgstr ""
16512
 
 
 
16513
  #: src/Themes/DragDrop/Login/PerfectoLite.php:46
16514
  #: src/Themes/DragDrop/Registration/PerfectoLite.php:48
16515
  msgid "Form Border"
16516
  msgstr ""
16517
 
 
 
16518
  #: src/Themes/DragDrop/Login/PerfectoLite.php:56
16519
  #: src/Themes/DragDrop/Registration/PerfectoLite.php:58
16520
  msgid "Field Placeholder"
16521
  msgstr ""
16522
 
 
 
16523
  #: src/Themes/DragDrop/Login/PerfectoLite.php:61
16524
  #: src/Themes/DragDrop/Registration/PerfectoLite.php:63
16525
  msgid "Button Background"
16526
  msgstr ""
16527
 
 
 
16528
  #: src/Themes/DragDrop/Login/PerfectoLite.php:66
16529
  #: src/Themes/DragDrop/Registration/PerfectoLite.php:68
16530
  msgid "Button Text"
16531
  msgstr ""
16532
 
 
 
16533
  #: src/Themes/DragDrop/MemberDirectory/DefaultTemplate.php:46
16534
  #: src/Themes/DragDrop/MemberDirectory/Gerbera.php:44
16535
  msgid "Enable Profile Picture"
16536
  msgstr ""
16537
 
 
 
16538
  #: src/Themes/DragDrop/MemberDirectory/DefaultTemplate.php:53
16539
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:82
16540
  msgid "Enable Cover Photo"
16541
  msgstr ""
16542
 
 
16543
  #: src/Themes/DragDrop/MemberDirectory/DefaultTemplate.php:62
16544
  msgid "Enable Social Connect Icons"
16545
  msgstr ""
16546
 
 
16547
  #: src/Themes/DragDrop/MemberDirectory/DefaultTemplate.php:72
16548
  msgid ""
16549
  "%sUpgrade to ProfilePress premium%s if you don't have the custom field addon "
16550
  "to display social profile icons of users."
16551
  msgstr ""
16552
 
 
16553
  #: src/Themes/DragDrop/MemberDirectory/DefaultTemplate.php:100
16554
  msgid "Card Background"
16555
  msgstr ""
16556
 
 
16557
  #: src/Themes/DragDrop/MemberDirectory/DefaultTemplate.php:105
16558
  msgid "Card Border"
16559
  msgstr ""
16560
 
 
16561
  #: src/Themes/DragDrop/MemberDirectory/DefaultTemplate.php:110
16562
  msgid "Card Text"
16563
  msgstr ""
16564
 
 
16565
  #: src/Themes/DragDrop/MemberDirectory/DefaultTemplate.php:120
16566
  msgid "Profile Picture Border"
16567
  msgstr ""
16568
 
 
16569
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:66
16570
  msgid "Profile Maximum Width"
16571
  msgstr ""
16572
 
 
16573
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:67
16574
  msgid "The maximum width of the profile template."
16575
  msgstr ""
16576
 
 
16577
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:74
16578
  msgid "Profile Area Maximum Width"
16579
  msgstr ""
16580
 
 
16581
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:75
16582
  msgid "The maximum width of the profile area inside profile below the header."
16583
  msgstr ""
16584
 
 
16585
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:89
16586
  msgid "Profile Cover Ratio"
16587
  msgstr ""
16588
 
 
16589
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:95
16590
  msgid "Choose an aspect ratio of the profile cover photo."
16591
  msgstr ""
16592
 
 
 
 
 
 
 
16593
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:110
16594
  msgid "First Name Only"
16595
  msgstr ""
16596
 
 
16597
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:112
16598
  msgid ""
16599
  "What to use as display name in profile header. Select \"Hide\" to hide it "
16600
  "from showing."
16601
  msgstr ""
16602
 
 
16603
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:121
16604
  msgid "Show Social Links in Header"
16605
  msgstr ""
16606
 
 
16607
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:132
16608
  msgid ""
16609
  "%sUpgrade to ProfilePress premium%s if you don't have the custom field addon "
16610
  "to display users social profiles."
16611
  msgstr ""
16612
 
 
16613
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:141
16614
  msgid "Show Bio in Header"
16615
  msgstr ""
16616
 
 
16617
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:148
16618
  msgid "Fields to Show in User Meta"
16619
  msgstr ""
16620
 
 
16621
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:156
16622
  msgid "Profile Menu Tabs"
16623
  msgstr ""
16624
 
 
16625
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:174
16626
  msgid "Header Name"
16627
  msgstr ""
16628
 
 
16629
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:179
16630
  msgid "Body Text"
16631
  msgstr ""
16632
 
 
16633
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:184
16634
  msgid "Menu Background"
16635
  msgstr ""
16636
 
 
16637
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:189
16638
  msgid "Menu Tab Text"
16639
  msgstr ""
16640
 
 
16641
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:194
16642
  msgid "Active Menu Tab Background"
16643
  msgstr ""
16644
 
 
16645
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:231
16646
  msgid "About"
16647
  msgstr ""
16648
 
 
16649
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:235
16650
  msgid "Posts"
16651
  msgstr ""
16652
 
 
16653
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:239
16654
  msgid "Comments"
16655
  msgstr ""
16656
 
16657
- #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:311
 
16658
  msgid ""
16659
  "Your profile is looking a little empty. Why not <a href=\"%s\">add some "
16660
  "information</a>?"
16661
  msgstr ""
16662
 
16663
- #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:351
 
16664
  msgid "See More Posts"
16665
  msgstr ""
16666
 
16667
- #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:382
 
16668
  msgid "See More Comments"
16669
  msgstr ""
16670
 
16671
- #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:426
 
 
16672
  #: src/Widgets/TabbedWidget.php:221
16673
  msgid "Edit your profile"
16674
  msgstr ""
16675
 
 
16676
  #: src/Themes/DragDrop/UserProfile/Dixon.php:40
16677
  msgid "Header Byline"
16678
  msgstr ""
16679
 
 
16680
  #: src/Themes/DragDrop/UserProfile/Dixon.php:47
16681
  msgid "Profile Header Text"
16682
  msgstr ""
16683
 
 
16684
  #: src/Themes/DragDrop/UserProfile/Dixon.php:65
16685
  msgid "Header Background"
16686
  msgstr ""
16687
 
 
16688
  #: src/Themes/DragDrop/UserProfile/Dixon.php:75
16689
  msgid "Text Underline"
16690
  msgstr ""
16691
 
 
16692
  #: src/Themes/DragDrop/UserProfile/Dixon.php:80
16693
  msgid "Avatar Border"
16694
  msgstr ""
16695
 
 
16696
  #: src/Themes/DragDrop/UserProfile/Dixon.php:85
16697
  msgid "Profile Info Border"
16698
  msgstr ""
16699
 
 
16700
  #: src/Themes/DragDrop/UserProfile/Dixon.php:90
16701
  msgid "Profile Info Background"
16702
  msgstr ""
16703
 
 
16704
  #: src/Themes/DragDrop/UserProfile/Dixon.php:95
16705
  msgid "Profile Info Text"
16706
  msgstr ""
16707
 
 
16708
  #: src/Themes/DragDrop/UserProfile/Dixon.php:105
16709
  msgid "Social Links"
16710
  msgstr ""
16711
 
 
16712
  #: src/Themes/DragDrop/UserProfile/Dixon.php:109
16713
  msgid "Hide Social Links"
16714
  msgstr ""
16715
 
 
16716
  #: src/Themes/DragDrop/UserProfile/Dixon.php:122
16717
  msgid "PROFILE DETAILS"
16718
  msgstr ""
16719
 
16720
- #: src/Widgets/Form.php:14
16721
  msgid "ProfilePress Form"
16722
  msgstr ""
16723
 
16724
- #: src/Widgets/Form.php:15
16725
  msgid "Easily add your ProfilePress forms to widget areas."
16726
  msgstr ""
16727
 
16728
- #: src/Widgets/Form.php:70
16729
  msgid "Select Form"
16730
  msgstr ""
16731
 
16732
- #: src/Widgets/Form.php:74
16733
  msgid "Login Form"
16734
  msgstr ""
16735
 
16736
- #: src/Widgets/Form.php:87
16737
  msgid "Registration Form"
16738
  msgstr ""
16739
 
16740
- #: src/Widgets/Form.php:100
16741
  msgid "Password Reset Form"
16742
  msgstr ""
16743
 
16744
- #: src/Widgets/Form.php:113
16745
  msgid "Edit Profile Form"
16746
  msgstr ""
16747
 
16748
- #: src/Widgets/Form.php:126
16749
  msgid "Melange Form"
16750
  msgstr ""
16751
 
16752
- #: src/Widgets/Form.php:141
16753
  msgid "Hide when a user is logged in:"
16754
  msgstr ""
16755
 
 
16756
  #: src/Widgets/TabbedWidget.php:18
16757
  msgid "A tabbed login, registration and lost password widget"
16758
  msgstr ""
16759
 
 
16760
  #: src/Widgets/TabbedWidget.php:119
16761
  msgid "Forgot?"
16762
  msgstr ""
16763
 
 
16764
  #: src/Widgets/TabbedWidget.php:191
16765
  msgid "Username or E-mail:"
16766
  msgstr ""
16767
 
 
 
16768
  #: src/Widgets/TabbedWidget.php:218 src/Widgets/UserPanel.php:50
16769
  msgid "Welcome %s"
16770
  msgstr ""
16771
 
 
16772
  #: src/Widgets/TabbedWidget.php:238
16773
  msgid "Login / Sign up"
16774
  msgstr ""
16775
 
 
16776
  #: src/Widgets/TabbedWidget.php:244
16777
  msgid "Have an account?"
16778
  msgstr ""
16779
 
 
16780
  #: src/Widgets/TabbedWidget.php:250
16781
  msgid "Don't have an account?"
16782
  msgstr ""
16783
 
 
16784
  #: src/Widgets/TabbedWidget.php:256
16785
  msgid "Forgot Password?"
16786
  msgstr ""
16787
 
 
16788
  #: src/Widgets/TabbedWidget.php:479
16789
  msgid "Login text:"
16790
  msgstr ""
16791
 
 
16792
  #: src/Widgets/TabbedWidget.php:484
16793
  msgid "Registration text:"
16794
  msgstr ""
16795
 
 
16796
  #: src/Widgets/TabbedWidget.php:489
16797
  msgid "Lost-password text:"
16798
  msgstr ""
16799
 
 
16800
  #: src/Widgets/TabbedWidget.php:495
16801
  msgid "Automatically login user after successful registration"
16802
  msgstr ""
16803
 
 
16804
  #: src/Widgets/TabbedWidget.php:501
16805
  msgid "Widget CSS:"
16806
  msgstr ""
16807
 
 
16808
  #: src/Widgets/TabbedWidgetDependency.php:29
16809
  msgid "Unable to log in. Please try again"
16810
  msgstr ""
16811
 
 
16812
  #: src/Widgets/TabbedWidgetDependency.php:47
16813
  msgid "Check your email for further instructions."
16814
  msgstr ""
16815
 
 
16816
  #: src/Widgets/TabbedWidgetDependency.php:54
16817
  msgid "Unexpected error, please try again"
16818
  msgstr ""
16819
 
 
16820
  #: src/Widgets/TabbedWidgetDependency.php:108
16821
  msgid "Required form field is missing"
16822
  msgstr ""
16823
 
 
16824
  #: src/Widgets/UserPanel.php:11
16825
  msgid "ProfilePress User Panel"
16826
  msgstr ""
16827
 
 
16828
  #: src/Widgets/UserPanel.php:13
16829
  msgid ""
16830
  "Display currently logged in user's avatar and links to logout and edit the "
16831
  "profile."
16832
  msgstr ""
16833
 
 
 
16834
  #: src/Widgets/UserPanel.php:29 src/Widgets/UserPanel.php:70
16835
  msgid "Edit your Profile"
16836
  msgstr ""
16837
 
 
16838
  #: src/Widgets/UserPanel.php:68
16839
  msgid "User Panel"
16840
  msgstr ""
16841
 
 
16842
  #: src/Widgets/UserPanel.php:80
16843
  msgid "Check to remove user profile picture from panel."
16844
  msgstr ""
16845
 
 
16846
  #: src/Widgets/UserPanel.php:84
16847
  msgid "Label for \"edit profile\" link:"
16848
  msgstr ""
16849
 
 
16850
  #: src/Widgets/UserPanel.php:89
16851
  msgid "Label for logout link:"
16852
  msgstr ""
16853
 
16854
- #: src/templates/checkout/credit-card-fields.php:12
16855
- msgid "Card number"
16856
- msgstr ""
16857
-
16858
- #: src/templates/checkout/credit-card-fields.php:19
16859
- msgid "Expiration date (MM/YY)"
16860
- msgstr ""
16861
-
16862
- #: src/templates/checkout/credit-card-fields.php:37
16863
- msgid "CVC"
16864
- msgstr ""
16865
-
16866
- #: src/templates/checkout/form-checkout-sidebar.php:47
16867
- msgid "Have a coupon? %sClick here to enter your code%s"
16868
- msgstr ""
16869
-
16870
- #: src/templates/checkout/form-checkout-sidebar.php:55
16871
- msgid "Coupon code"
16872
- msgstr ""
16873
-
16874
- #: src/templates/checkout/form-checkout-sidebar.php:56
16875
- msgid "Apply"
16876
- msgstr ""
16877
-
16878
- #: src/templates/checkout/form-checkout-sidebar.php:79
16879
- msgid "Discount %s"
16880
- msgstr ""
16881
-
16882
- #: src/templates/checkout/form-checkout-sidebar.php:110
16883
- msgid "free trial"
16884
- msgstr ""
16885
-
16886
- #: src/templates/checkout/form-checkout-sidebar.php:122
16887
- msgid "You'll be charged %1$stoday%3$s then %2$s starting %4$s."
16888
- msgstr ""
16889
-
16890
- #: src/templates/checkout/form-checkout-sidebar.php:130
16891
- msgid "%s payments total."
16892
- msgstr ""
16893
-
16894
- #: src/templates/checkout/form-checkout-submit-btn.php:10
16895
- msgid "Subscribe"
16896
- msgstr ""
16897
-
16898
- #: src/templates/checkout/form-checkout-submit-btn.php:12
16899
- msgid "Start Trial"
16900
- msgstr ""
16901
-
16902
- #: src/templates/checkout/form-checkout.php:40
16903
- msgid "Already have an account?"
16904
- msgstr ""
16905
-
16906
- #: src/templates/checkout/form-login.php:15
16907
- msgid "Forgot your password?"
16908
- msgstr ""
16909
-
16910
- #: src/templates/checkout/form-login.php:20
16911
- msgid "Or continue with your order below."
16912
- msgstr ""
16913
-
16914
- #. Translators: %s display name.
16915
- #: src/templates/checkout/form-login.php:47
16916
- msgid "Logged in as %s. Not you?"
16917
- msgstr ""
16918
-
16919
- #: src/templates/checkout/form-login.php:50
16920
- msgid "log out"
16921
- msgstr ""
16922
-
16923
- #: src/templates/checkout/form-payment-methods.php:24
16924
- msgid ""
16925
- "Payment processing is currently disabled because no payment method is active."
16926
- msgstr ""
16927
-
16928
- #: src/templates/checkout/form-payment-methods.php:34
16929
- msgid "Payment Information"
16930
- msgstr ""
16931
-
16932
- #: src/templates/checkout/form-payment-methods.php:76
16933
- msgid "There are no gateways enabled with support for subscriptions."
16934
- msgstr ""
16935
-
16936
- #: src/templates/checkout/form-terms.php:13
16937
- msgid "terms and conditions"
16938
- msgstr ""
16939
-
16940
- #: src/templates/order-processing.php:3
16941
- msgid ""
16942
- "Your order is processing. This page will reload automatically in 8 seconds. "
16943
- "If it does not, click <a href=\"%s\">here</a>."
16944
- msgstr ""
16945
-
16946
  #. Plugin Name of the plugin/theme
16947
  msgid "ProfilePress"
16948
  msgstr ""
16949
 
16950
- #. #-#-#-#-# wp-user-avatar.pot (ProfilePress 4.3.1) #-#-#-#-#
16951
  #. Plugin URI of the plugin/theme
16952
- #. #-#-#-#-# wp-user-avatar.pot (ProfilePress 4.3.1) #-#-#-#-#
16953
  #. Author URI of the plugin/theme
16954
  msgid "https://profilepress.com"
16955
  msgstr ""
@@ -16959,5 +7295,5 @@ msgid "The modern WordPress membership and user profile plugin."
16959
  msgstr ""
16960
 
16961
  #. Author of the plugin/theme
16962
- msgid "ProfilePress Membership Team"
16963
  msgstr ""
2
  # This file is distributed under the same license as the ProfilePress package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: ProfilePress 3.2.10\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-user-avatar\n"
7
+ "POT-Creation-Date: 2022-04-05 11:06:20+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
14
 
15
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:57
16
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:66
17
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:127
18
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:57
19
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:66
20
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:127
21
  msgid "Profile & Cover Photo"
22
  msgstr ""
23
 
24
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:77
25
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:77
26
  msgid "Available Shortcodes"
27
  msgstr ""
28
 
29
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:81
30
+ #: build/wp-user-avatar/src/Admin/SettingsPages/AbstractSettingsPage.php:211
31
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:81
32
+ #: src/Admin/SettingsPages/AbstractSettingsPage.php:211
33
  msgid "Check out MailOptin"
34
  msgstr ""
35
 
36
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:93
37
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:93
38
  msgid "%s[avatar]%s displays a user's profile pictures."
39
  msgstr ""
40
 
41
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:100
42
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:100
43
  msgid ""
44
  "%s[avatar_upload]%s adds a standalone avatar uploader visible only to logged-"
45
  "in users."
46
  msgstr ""
47
 
48
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:106
49
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:106
50
  msgid "Learn more"
51
  msgstr ""
52
 
53
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:201
54
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:201
55
  msgid "Mystery Man"
56
  msgstr ""
57
 
58
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:202
59
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:202
60
  msgid "Blank"
61
  msgstr ""
62
 
63
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:203
64
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:203
65
  msgid "Gravatar Logo"
66
  msgstr ""
67
 
68
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:204
69
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:204
70
  msgid "Identicon (Generated)"
71
  msgstr ""
72
 
73
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:205
74
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:205
75
  msgid "Wavatar (Generated)"
76
  msgstr ""
77
 
78
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:206
79
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:206
80
  msgid "MonsterID (Generated)"
81
  msgstr ""
82
 
83
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:207
84
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:207
85
  msgid "Retro (Generated)"
86
  msgstr ""
87
 
88
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:241
89
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:242
90
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/wpua-options-page.php:119
91
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/wpua-options-page.php:123
92
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:241
93
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:242
94
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:119
96
  msgid "Default Profile Picture"
97
  msgstr ""
98
 
99
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:242
100
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:179
101
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:242
102
+ #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:179
103
  msgid "Choose Image"
104
  msgstr ""
105
 
106
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:243
107
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:79
108
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:283
109
+ #: build/wp-user-avatar/src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:98
110
+ #: build/wp-user-avatar/src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:117
111
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:243
112
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:79
113
+ #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:283
114
+ #: src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:98
115
+ #: src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:117
 
116
  msgid "Remove"
117
  msgstr ""
118
 
119
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:243
120
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:205
121
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-admin.php:243
122
+ #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:205
123
  msgid "Undo"
124
  msgstr ""
125
 
126
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar-shortcode.php:177
127
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-shortcode.php:177
128
  msgid "Profile updated."
129
  msgstr ""
130
 
131
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar-shortcode.php:202
132
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractTheme.php:113
133
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-shortcode.php:202
134
  #: src/Themes/DragDrop/AbstractTheme.php:113
135
  msgid "Update Profile"
136
  msgstr ""
137
 
138
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar-widget.php:13
139
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-widget.php:13
140
  msgid "Insert"
141
  msgstr ""
142
 
143
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar-widget.php:13
144
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:193
145
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-widget.php:13
146
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:193
147
  msgid "[avatar_upload]"
148
  msgstr ""
149
 
150
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar-widget.php:14
151
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-widget.php:14
152
  msgid "ProfilePress Avatar Upload"
153
  msgstr ""
154
 
155
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar-widget.php:56
156
+ #: build/wp-user-avatar/src/Widgets/Form.php:65
157
+ #: build/wp-user-avatar/src/Widgets/TabbedWidget.php:473
158
+ #: build/wp-user-avatar/src/Widgets/UserPanel.php:74
159
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-widget.php:56
160
  #: src/Widgets/Form.php:65 src/Widgets/TabbedWidget.php:473
161
  #: src/Widgets/UserPanel.php:74
162
  msgid "Title:"
163
  msgstr ""
164
 
165
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar-widget.php:60
166
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-widget.php:60
167
  msgid "Description:"
168
  msgstr ""
169
 
170
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar-widget.php:65
171
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar-widget.php:65
172
  msgid "Automatically add paragraphs"
173
  msgstr ""
174
 
175
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:43
176
+ #: build/wp-user-avatar/src/Classes/ImageUploader.php:41
177
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:43
178
  #: src/Classes/ImageUploader.php:41
179
  msgid "Cover Photo"
180
  msgstr ""
181
 
182
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:73
183
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:185
184
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:192
185
  #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:73
186
+ #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:185
187
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:192
188
  msgid "Upload"
189
  msgstr ""
190
 
191
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:145
192
+ #: build/wp-user-avatar/src/RegisterScripts.php:73
193
+ #: build/wp-user-avatar/src/RegisterScripts.php:128
194
+ #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:145
195
+ #: src/RegisterScripts.php:73 src/RegisterScripts.php:128
196
  msgid "Are you sure?"
197
  msgstr ""
198
 
199
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:146
200
+ #: build/wp-user-avatar/src/RegisterScripts.php:74
201
+ #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:146
202
+ #: src/RegisterScripts.php:74
203
  msgid "Deleting..."
204
  msgstr ""
205
 
206
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:147
207
+ #: build/wp-user-avatar/src/RegisterScripts.php:75
208
+ #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:147
209
+ #: src/RegisterScripts.php:75
210
  msgid "An error occurred. Please try again."
211
  msgstr ""
212
 
213
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:188
214
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/wpua-options-page.php:38
215
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/wpua-options-page.php:70
216
+ #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:188
217
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:38
218
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:70
219
  msgid "Maximum upload file size: %d%s."
220
  msgstr ""
221
 
222
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:189
223
+ #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:189
224
  msgid "Allowed Files"
225
  msgstr ""
226
 
227
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:189
228
+ #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:189
229
  msgid "<code>jpg jpeg png gif</code>"
230
  msgstr ""
231
 
232
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:195
233
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:139
234
+ #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:195
235
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:139
236
  msgid "Original Size"
237
  msgstr ""
238
 
239
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:199
240
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:142
241
+ #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:199
242
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:142
243
  msgid "Thumbnail"
244
  msgstr ""
245
 
246
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:202
247
+ #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:202
248
  msgid "Remove Image"
249
  msgstr ""
250
 
251
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:252
252
+ #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:252
253
  msgid "This file is not an image. Please try another."
254
  msgstr ""
255
 
256
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:256
257
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:283
258
+ #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:256
259
+ #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:283
260
  msgid "Memory exceeded. Please try another smaller file."
261
  msgstr ""
262
 
263
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:260
264
+ #: deprecated/wp-user-avatar/includes/class-wp-user-avatar.php:260
265
  msgid ""
266
  "Unable to create directory %s. Is its parent directory writable by the "
267
  "server?"
268
  msgstr ""
269
 
270
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:18
271
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:18
272
  msgid "Profile Picture — ProfilePress"
273
  msgstr ""
274
 
275
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:120
276
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:120
277
  msgid "Display Profile Picture"
278
  msgstr ""
279
 
280
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:121
281
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/ProfilePicture.php:22
282
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:121
283
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/ProfilePicture.php:22
284
  msgid "Upload Profile Picture"
285
  msgstr ""
286
 
287
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:126
288
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:127
289
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:126
290
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:127
291
  msgid "wp_user_avatar_user"
292
  msgstr ""
293
 
294
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:126
295
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:126
296
  msgid "User Name"
297
  msgstr ""
298
 
299
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:136
300
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:137
301
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:149
302
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:183
303
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:136
304
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:137
305
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:149
307
  msgid "wp_user_avatar_size"
308
  msgstr ""
309
 
310
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:136
311
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:148
312
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/EditProfile/ShowProfilePicture.php:30
313
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:136
314
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:148
315
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/EditProfile/ShowProfilePicture.php:30
316
  msgid "Size"
317
  msgstr ""
318
 
319
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:140
320
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:342
321
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:140
322
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:342
323
  msgid "Large"
324
  msgstr ""
325
 
326
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:141
327
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:341
328
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:141
329
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:341
330
  msgid "Medium"
331
  msgstr ""
332
 
333
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:143
334
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:143
 
335
  msgid "Custom"
336
  msgstr ""
337
 
338
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:147
339
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:147
340
  msgid "wp_user_avatar_size_number_section"
341
  msgstr ""
342
 
343
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:148
344
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:149
345
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:148
346
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:149
347
  msgid "wp_user_avatar_size_number"
348
  msgstr ""
349
 
350
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:153
351
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:154
352
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:153
353
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:154
354
  msgid "wp_user_avatar_align"
355
  msgstr ""
356
 
357
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:153
358
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:153
359
  msgid "Alignment"
360
  msgstr ""
361
 
362
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:156
363
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:416
364
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:156
365
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:416
366
  msgid "Center"
367
  msgstr ""
368
 
369
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:157
370
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:356
371
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:415
372
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:157
373
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:356
374
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:415
375
  msgid "Left"
376
  msgstr ""
377
 
378
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:158
379
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:357
380
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:417
381
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:158
382
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:357
383
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:417
384
  msgid "Right"
385
  msgstr ""
386
 
387
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:163
388
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:164
389
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:163
390
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:164
391
  msgid "wp_user_avatar_link"
392
  msgstr ""
393
 
394
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:163
395
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:163
396
  msgid "Link To"
397
  msgstr ""
398
 
399
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:166
400
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:166
401
  msgid "Image File"
402
  msgstr ""
403
 
404
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:167
405
+ #: build/wp-user-avatar/src/ContentProtection/views/view.access-condition.php:125
406
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:167
407
+ #: src/ContentProtection/views/view.access-condition.php:125
408
  msgid "Custom URL"
409
  msgstr ""
410
 
411
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:171
412
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:171
413
  msgid "wp_user_avatar_link_external_section"
414
  msgstr ""
415
 
416
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:172
417
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:173
418
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:172
419
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:173
420
  msgid "wp_user_avatar_link_external"
421
  msgstr ""
422
 
423
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:172
424
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:172
425
  msgid "URL"
426
  msgstr ""
427
 
428
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:177
429
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:178
430
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:177
431
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:178
432
  msgid "wp_user_avatar_target"
433
  msgstr ""
434
 
435
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:178
436
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:178
437
  msgid "Open link in a new window"
438
  msgstr ""
439
 
440
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:182
441
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:183
442
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:182
443
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:183
444
  msgid "wp_user_avatar_caption"
445
  msgstr ""
446
 
447
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:182
448
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:182
449
  msgid "Caption"
450
  msgstr ""
451
 
452
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:187
453
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:197
454
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:187
455
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:197
456
  msgid "Insert into Post"
457
  msgstr ""
458
 
459
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:191
460
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:192
461
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/tinymce/window.php:193
462
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:191
463
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:192
464
  #: deprecated/wp-user-avatar/includes/tinymce/window.php:193
465
  msgid "wp_user_avatar_upload"
466
  msgstr ""
467
 
468
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/wpua-functions.php:65
469
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/wpua-functions.php:73
470
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/wpua-functions.php:78
471
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/wpua-functions.php:131
472
+ #: build/wp-user-avatar/src/Classes/ImageUploader.php:49
473
+ #: build/wp-user-avatar/src/ShortcodeParser/MyAccount/MyAccountTag.php:529
474
  #: deprecated/wp-user-avatar/includes/wpua-functions.php:65
475
  #: deprecated/wp-user-avatar/includes/wpua-functions.php:73
476
  #: deprecated/wp-user-avatar/includes/wpua-functions.php:78
477
  #: deprecated/wp-user-avatar/includes/wpua-functions.php:131
478
  #: src/Classes/ImageUploader.php:49
479
+ #: src/ShortcodeParser/MyAccount/MyAccountTag.php:529
480
  msgid "Profile Picture"
481
  msgstr ""
482
 
483
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/wpua-functions.php:75
484
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/wpua-functions.php:81
485
  #: deprecated/wp-user-avatar/includes/wpua-functions.php:75
486
  #: deprecated/wp-user-avatar/includes/wpua-functions.php:81
487
  msgid "Image"
488
  msgstr ""
489
 
490
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/wpua-options-page.php:13
491
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:13
492
  msgid ""
493
  "Avatar is currently disabled. Kindly %senable it on \"Avatar Display\" "
494
  "section%s."
495
  msgstr ""
496
 
497
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/wpua-options-page.php:29
498
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:29
499
  msgid "Cover Photo Maximum File Size"
500
  msgstr ""
501
 
502
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/wpua-options-page.php:36
503
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/wpua-options-page.php:68
504
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:36
505
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:68
506
  msgid "%s exceeds the maximum upload size for this site."
507
  msgstr ""
508
 
509
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/wpua-options-page.php:47
510
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:47
511
  msgid "Default Cover Photo"
512
  msgstr ""
513
 
514
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/wpua-options-page.php:53
515
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:53
516
  msgid ""
517
  "Please make sure that the default cover is large enough (min. 1000px in "
518
  "width) and respects the ratio you are using for cover photos."
519
  msgstr ""
520
 
521
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/wpua-options-page.php:61
522
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:61
523
  msgid "Profile Picture Maximum File Size"
524
  msgstr ""
525
 
526
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/wpua-options-page.php:75
527
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:75
528
  msgid "Resize avatars on upload"
529
  msgstr ""
530
 
531
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/wpua-options-page.php:79
532
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:83
533
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:224
534
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:499
535
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:79
536
  #: src/Themes/DragDrop/AbstractBuildScratch.php:83
537
  #: src/Themes/DragDrop/AbstractBuildScratch.php:224
538
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:499
539
  msgid "Width"
540
  msgstr ""
541
 
542
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/wpua-options-page.php:81
543
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:81
544
  msgid "Height"
545
  msgstr ""
546
 
547
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/wpua-options-page.php:85
548
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:85
549
  msgid "Crop avatars to exact dimensions"
550
  msgstr ""
551
 
552
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/wpua-options-page.php:94
553
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:94
554
  msgid "Disable Gravatar"
555
  msgstr ""
556
 
557
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/wpua-options-page.php:102
558
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:102
559
  msgid "Disable Gravatar and use only local avatars"
560
  msgstr ""
561
 
562
+ #: build/wp-user-avatar/deprecated/wp-user-avatar/includes/wpua-options-page.php:124
563
  #: deprecated/wp-user-avatar/includes/wpua-options-page.php:124
564
  msgid ""
565
  "For users without a custom avatar of their own, you can either display a "
566
  "generic logo or a generated one based on their e-mail address."
567
  msgstr ""
568
 
569
+ #: build/wp-user-avatar/src/Admin/SettingsPages/AbstractSettingsPage.php:26
 
 
 
570
  #: src/Admin/SettingsPages/AbstractSettingsPage.php:26
571
  msgid "ProfilePress - WordPress User Registration & Profile Plugin"
572
  msgstr ""
573
 
574
+ #: build/wp-user-avatar/src/Admin/SettingsPages/AbstractSettingsPage.php:67
575
+ #: src/Admin/SettingsPages/AbstractSettingsPage.php:67
576
  msgid "Review"
577
  msgstr ""
578
 
579
+ #: build/wp-user-avatar/src/Admin/SettingsPages/AbstractSettingsPage.php:71
580
+ #: src/Admin/SettingsPages/AbstractSettingsPage.php:71
581
  msgid "Support"
582
  msgstr ""
583
 
584
+ #: build/wp-user-avatar/src/Admin/SettingsPages/AbstractSettingsPage.php:75
585
+ #: src/Admin/SettingsPages/AbstractSettingsPage.php:75
586
  msgid "Pro Upgrade"
587
  msgstr ""
588
 
589
+ #: build/wp-user-avatar/src/Admin/SettingsPages/AbstractSettingsPage.php:79
590
+ #: src/Admin/SettingsPages/AbstractSettingsPage.php:79
591
  msgid "Docs"
592
  msgstr ""
593
 
594
+ #: build/wp-user-avatar/src/Admin/SettingsPages/AbstractSettingsPage.php:207
595
+ #: src/Admin/SettingsPages/AbstractSettingsPage.php:207
596
  msgid "Need Support?"
597
  msgstr ""
598
 
599
+ #: build/wp-user-avatar/src/Admin/SettingsPages/AbstractSettingsPage.php:236
600
+ #: src/Admin/SettingsPages/AbstractSettingsPage.php:236
601
  msgid ""
602
  "Whether you need help or have a new feature request, let us know. %sRequest "
603
  "Support%s"
604
  msgstr ""
605
 
606
+ #: build/wp-user-avatar/src/Admin/SettingsPages/AbstractSettingsPage.php:244
607
+ #: src/Admin/SettingsPages/AbstractSettingsPage.php:244
608
  msgid ""
609
  "Detailed documentation is also available on the plugin website. %sView "
610
  "Knowledge Base%s"
611
  msgstr ""
612
 
613
+ #: build/wp-user-avatar/src/Admin/SettingsPages/AbstractSettingsPage.php:252
614
+ #: src/Admin/SettingsPages/AbstractSettingsPage.php:252
615
  msgid ""
616
  "If you are enjoying ProfilePress and find it useful, please consider leaving "
617
  "a ★★★★★ review on WordPress.org. %sLeave a Review%s"
618
  msgstr ""
619
 
620
+ #: build/wp-user-avatar/src/Admin/SettingsPages/AbstractSettingsPage.php:264
621
+ #: src/Admin/SettingsPages/AbstractSettingsPage.php:264
622
  msgid "Use the coupon code %s10PERCENTOFF%s to save %s off MailOptin."
623
  msgstr ""
624
 
625
+ #: build/wp-user-avatar/src/Admin/SettingsPages/AbstractSettingsPage.php:279
626
+ #: build/wp-user-avatar/src/Admin/SettingsPages/AbstractSettingsPage.php:296
627
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Metabox.php:162
628
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Metabox.php:223
629
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:292
630
+ #: build/wp-user-avatar/src/Functions/GlobalFunctions.php:1241
631
+ #: build/wp-user-avatar/src/Functions/GlobalFunctions.php:1269
632
+ #: build/wp-user-avatar/src/Functions/GlobalFunctions.php:1291
633
+ #: src/Admin/SettingsPages/AbstractSettingsPage.php:279
634
+ #: src/Admin/SettingsPages/AbstractSettingsPage.php:296
635
  #: src/Admin/SettingsPages/DragDropBuilder/Metabox.php:162
636
  #: src/Admin/SettingsPages/DragDropBuilder/Metabox.php:223
637
+ #: src/Admin/SettingsPages/GeneralSettings.php:292
638
+ #: src/Functions/GlobalFunctions.php:1241
639
+ #: src/Functions/GlobalFunctions.php:1269
640
+ #: src/Functions/GlobalFunctions.php:1291
 
 
641
  msgid "Select..."
642
  msgstr ""
643
 
644
+ #: build/wp-user-avatar/src/Admin/SettingsPages/AbstractSettingsPage.php:314
645
+ #: src/Admin/SettingsPages/AbstractSettingsPage.php:314
646
  msgid "Custom URL Here"
647
  msgstr ""
648
 
649
+ #: build/wp-user-avatar/src/Admin/SettingsPages/AddNewForm.php:27
650
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MemberDirectories.php:40
651
  #: src/Admin/SettingsPages/AddNewForm.php:27
652
  #: src/Admin/SettingsPages/MemberDirectories.php:40
653
  msgid "Add Member Directory"
654
  msgstr ""
655
 
656
+ #: build/wp-user-avatar/src/Admin/SettingsPages/AddNewForm.php:47
657
  #: src/Admin/SettingsPages/AddNewForm.php:47
658
  msgid "Drag & Drop Builder"
659
  msgstr ""
660
 
661
+ #: build/wp-user-avatar/src/Admin/SettingsPages/AddNewForm.php:48
662
  #: src/Admin/SettingsPages/AddNewForm.php:48
663
  msgid ""
664
  "Create beautiful, responsive forms with easy to use drag & drop form builder."
665
  msgstr ""
666
 
667
+ #: build/wp-user-avatar/src/Admin/SettingsPages/AddNewForm.php:51
668
  #: src/Admin/SettingsPages/AddNewForm.php:51
669
  msgid "Get Started"
670
  msgstr ""
671
 
672
+ #: build/wp-user-avatar/src/Admin/SettingsPages/AddNewForm.php:61
673
+ #: build/wp-user-avatar/src/Admin/SettingsPages/AddNewForm.php:77
674
  #: src/Admin/SettingsPages/AddNewForm.php:61
675
  #: src/Admin/SettingsPages/AddNewForm.php:77
676
  msgid "Shortcode Builder"
677
  msgstr ""
678
 
679
+ #: build/wp-user-avatar/src/Admin/SettingsPages/AddNewForm.php:62
680
  #: src/Admin/SettingsPages/AddNewForm.php:62
681
  msgid ""
682
  "Code your own from scratch with complete control and flexibility using "
683
  "shortcodes."
684
  msgstr ""
685
 
686
+ #: build/wp-user-avatar/src/Admin/SettingsPages/AddNewForm.php:65
687
+ #: build/wp-user-avatar/src/Classes/AjaxHandler.php:116
688
+ #: src/Admin/SettingsPages/AddNewForm.php:65 src/Classes/AjaxHandler.php:116
689
  msgid "Build Now"
690
  msgstr ""
691
 
692
+ #: build/wp-user-avatar/src/Admin/SettingsPages/AddNewForm.php:79
693
  #: src/Admin/SettingsPages/AddNewForm.php:79
694
  msgid ""
695
  "Code your own from scratch with complete control and flexibility. %sLearn "
696
  "more%s."
697
  msgstr ""
698
 
699
+ #: build/wp-user-avatar/src/Admin/SettingsPages/AddNewForm.php:85
700
+ #: build/wp-user-avatar/src/Admin/SettingsPages/ExtensionsSettingsPage.php:122
701
  #: src/Admin/SettingsPages/AddNewForm.php:85
702
  #: src/Admin/SettingsPages/ExtensionsSettingsPage.php:122
703
  msgid "Upgrade to Premium"
704
  msgstr ""
705
 
706
+ #: build/wp-user-avatar/src/Admin/SettingsPages/AddNewForm.php:123
707
  #: src/Admin/SettingsPages/AddNewForm.php:123
708
  msgid "Back to Overview"
709
  msgstr ""
710
 
711
+ #: build/wp-user-avatar/src/Admin/SettingsPages/AdminFooter.php:27
712
  #: src/Admin/SettingsPages/AdminFooter.php:27
713
  msgid ""
714
  "Thank you for using <a href=\"%1$s\" target=\"_blank\">ProfilePress</a>! "
716
  "\" target=\"_blank\">WordPress.org</a> to help us spread the word."
717
  msgstr ""
718
 
719
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:169
720
+ #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:169
721
  msgid "Form title cannot empty"
722
  msgstr ""
723
 
724
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:188
725
+ #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:188
726
  msgid "Changes saved"
727
  msgstr ""
728
 
729
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1175
730
+ #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1175
731
  msgid "Select Icon"
732
  msgstr ""
733
 
734
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1203
735
+ #: build/wp-user-avatar/src/Functions/GlobalFunctions.php:1294
736
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:202
737
+ #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1203
738
+ #: src/Functions/GlobalFunctions.php:1294
739
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:202
740
  msgid "Standard Fields"
741
  msgstr ""
742
 
743
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1204
744
+ #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1204
745
  msgid "Extra Fields"
746
  msgstr ""
747
 
748
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1206
749
+ #: build/wp-user-avatar/src/Classes/ExtensionManager.php:55
750
+ #: build/wp-user-avatar/src/Functions/GlobalFunctions.php:1297
751
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:216
752
+ #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1206
753
+ #: src/Classes/ExtensionManager.php:55 src/Functions/GlobalFunctions.php:1297
754
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:216
755
  msgid "Custom Fields"
756
  msgstr ""
757
 
758
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1207
759
+ #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1207
760
  msgid "WooCommerce Billing Address"
761
  msgstr ""
762
 
763
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1208
764
+ #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1208
765
  msgid "WooCommerce Shipping Address"
766
  msgstr ""
767
 
768
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1231
769
+ #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1231
770
  msgid "No custom field available. %sClick here to create one%s."
771
  msgstr ""
772
 
773
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1259
774
+ #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1259
775
  msgid "Enter title here"
776
  msgstr ""
777
 
778
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1261
779
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1288
780
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/CustomizerTrait.php:11
781
+ #: build/wp-user-avatar/src/AdminBarDashboardAccess/include.settings-page.php:54
782
+ #: build/wp-user-avatar/src/AdminBarDashboardAccess/include.settings-page.php:109
783
+ #: build/wp-user-avatar/src/Functions/custom-settings-api.php:1078
784
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:1036
785
+ #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1261
786
+ #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1288
787
  #: src/Admin/SettingsPages/EmailSettings/CustomizerTrait.php:11
 
788
  #: src/AdminBarDashboardAccess/include.settings-page.php:54
789
  #: src/AdminBarDashboardAccess/include.settings-page.php:109
790
+ #: src/Functions/custom-settings-api.php:1078
791
+ #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:1036
792
  msgid "Save Changes"
793
  msgstr ""
794
 
795
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1266
796
+ #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1266
797
  msgid ""
798
  "Copy this shortcode and paste it into your post, page, or text widget "
799
  "content:"
800
  msgstr ""
801
 
802
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1291
803
+ #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1291
804
  msgid "Delete Form"
805
  msgstr ""
806
 
807
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1349
808
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1388
809
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1440
810
+ #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1349
811
+ #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1388
812
+ #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1440
813
  msgid "Success Message"
814
  msgstr ""
815
 
816
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1355
817
+ #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1355
818
  msgid "New User Role"
819
  msgstr ""
820
 
821
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1356
822
+ #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1356
823
  msgid "Role users registered through this form will be assigned."
824
  msgstr ""
825
 
826
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1363
827
+ #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1363
828
  msgid "Username Requirement"
829
  msgstr ""
830
 
831
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1364
832
+ #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1364
833
  msgid "Check to disable username requirement"
834
  msgstr ""
835
 
836
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1365
837
+ #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1365
838
  msgid ""
839
  "Disable requirement for users to enter a username during registration. "
840
  "Usernames will automatically be generated from their email addresses."
841
  msgstr ""
842
 
843
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1372
844
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:178
845
+ #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1372
846
+ #: src/Admin/SettingsPages/GeneralSettings.php:178
847
  msgid "Registration Settings"
848
  msgstr ""
849
 
850
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1395
851
+ #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1395
852
  msgid "Edit Profile Settings"
853
  msgstr ""
854
 
855
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1413
856
+ #: build/wp-user-avatar/src/Classes/ExtensionManager.php:85
857
+ #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1413
858
+ #: src/Classes/ExtensionManager.php:85
859
  msgid "Passwordless Login"
860
  msgstr ""
861
 
862
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1414
863
+ #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1414
864
  msgid "Check to make this a passwordless login form."
865
  msgstr ""
866
 
867
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1424
868
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:192
869
+ #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1424
870
+ #: src/Admin/SettingsPages/GeneralSettings.php:192
871
  msgid "Login Settings"
872
  msgstr ""
873
 
874
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1447
875
+ #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1447
876
  msgid "Password Reset Settings"
877
  msgstr ""
878
 
879
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1468
880
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/CheckboxList.php:35
881
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Country.php:35
882
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Checkbox.php:50
883
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Radio.php:50
884
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Select.php:50
885
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Login/RememberLogin.php:35
886
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/RadioButtons.php:35
887
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/SelectDropdown.php:35
888
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/SelectRole.php:29
889
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:50
890
+ #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1468
891
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/CheckboxList.php:35
892
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Country.php:35
893
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Checkbox.php:50
901
  msgid "Label"
902
  msgstr ""
903
 
904
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1474
905
+ #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1474
906
  msgid "Processing Label"
907
  msgstr ""
908
 
909
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1481
910
+ #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1481
911
  msgid "Submit Button"
912
  msgstr ""
913
 
914
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1488
915
+ #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1488
916
  msgid "Appearance"
917
  msgstr ""
918
 
919
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1495
920
+ #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1495
921
  msgid "Colors"
922
  msgstr ""
923
 
924
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1523
925
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:533
926
+ #: build/wp-user-avatar/src/Themes/DragDrop/Login/PerfectoLite.php:51
927
+ #: build/wp-user-avatar/src/Themes/DragDrop/Registration/PerfectoLite.php:53
928
+ #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1523
929
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:533
930
  #: src/Themes/DragDrop/Login/PerfectoLite.php:51
931
  #: src/Themes/DragDrop/Registration/PerfectoLite.php:53
932
  msgid "Text"
933
  msgstr ""
934
 
935
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1524
936
+ #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1524
937
  msgid "Visual"
938
  msgstr ""
939
 
940
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1525
941
+ #: src/Admin/SettingsPages/DragDropBuilder/DragDropBuilder.php:1525
942
  msgid "Add Media"
943
  msgstr ""
944
 
945
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/FieldBase.php:87
946
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:19
947
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:56
948
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:81
949
+ #: build/wp-user-avatar/src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:28
950
  #: src/Admin/SettingsPages/DragDropBuilder/FieldBase.php:87
951
+ #: src/Admin/SettingsPages/GeneralSettings.php:19
952
+ #: src/Admin/SettingsPages/GeneralSettings.php:56
953
+ #: src/Admin/SettingsPages/GeneralSettings.php:81
954
+ #: src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:28
 
955
  msgid "General"
956
  msgstr ""
957
 
958
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/FieldBase.php:88
959
  #: src/Admin/SettingsPages/DragDropBuilder/FieldBase.php:88
960
  msgid "Style"
961
  msgstr ""
962
 
963
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/FieldBase.php:89
964
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/FieldBase.php:232
965
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:38
966
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:39
967
+ #: build/wp-user-avatar/src/Classes/Miscellaneous.php:17
968
  #: src/Admin/SettingsPages/DragDropBuilder/FieldBase.php:89
969
  #: src/Admin/SettingsPages/DragDropBuilder/FieldBase.php:232
970
+ #: src/Admin/SettingsPages/GeneralSettings.php:38
971
+ #: src/Admin/SettingsPages/GeneralSettings.php:39
972
+ #: src/Classes/Miscellaneous.php:17
 
 
973
  msgid "Settings"
974
  msgstr ""
975
 
976
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/FieldBase.php:111
977
  #: src/Admin/SettingsPages/DragDropBuilder/FieldBase.php:111
978
  msgid "Edit Field"
979
  msgstr ""
980
 
981
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/FieldBase.php:210
982
  #: src/Admin/SettingsPages/DragDropBuilder/FieldBase.php:210
 
 
983
  msgid "Cancel"
984
  msgstr ""
985
 
986
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/FieldBase.php:213
987
  #: src/Admin/SettingsPages/DragDropBuilder/FieldBase.php:213
988
  msgid "Apply Changes"
989
  msgstr ""
990
 
991
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/FieldBase.php:235
992
+ #: build/wp-user-avatar/src/Admin/SettingsPages/FormList.php:239
993
+ #: build/wp-user-avatar/src/Admin/SettingsPages/FormList.php:315
994
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:169
995
+ #: build/wp-user-avatar/src/ContentProtection/WPListTable.php:96
996
+ #: build/wp-user-avatar/src/ContentProtection/WPListTable.php:305
997
+ #: build/wp-user-avatar/src/ContentProtection/views/include.view-sidebar.php:12
998
  #: src/Admin/SettingsPages/DragDropBuilder/FieldBase.php:235
999
+ #: src/Admin/SettingsPages/FormList.php:239
1000
+ #: src/Admin/SettingsPages/FormList.php:315
1001
+ #: src/Admin/SettingsPages/GeneralSettings.php:169
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1002
  #: src/ContentProtection/WPListTable.php:96
1003
+ #: src/ContentProtection/WPListTable.php:305
1004
  #: src/ContentProtection/views/include.view-sidebar.php:12
1005
  msgid "Delete"
1006
  msgstr ""
1007
 
1008
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/FieldBase.php:238
1009
  #: src/Admin/SettingsPages/DragDropBuilder/FieldBase.php:238
1010
  msgid "Clone"
1011
  msgstr ""
1012
 
1013
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Bio.php:22
1014
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/Bio.php:22
1015
+ #: build/wp-user-avatar/src/Functions/GlobalFunctions.php:1281
1016
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:211
1017
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractTheme.php:189
1018
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Bio.php:22
1019
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/Bio.php:22
1020
+ #: src/Functions/GlobalFunctions.php:1281
1021
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:211
1022
  #: src/Themes/DragDrop/AbstractTheme.php:189
1023
  msgid "Biography"
1024
  msgstr ""
1025
 
1026
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Bio.php:30
1027
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/CFPassword.php:40
1028
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/ConfirmEmail.php:30
1029
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/ConfirmPassword.php:30
1030
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Date.php:64
1031
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Date.php:50
1032
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Input.php:50
1033
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Password.php:50
1034
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DisplayName.php:30
1035
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Email.php:30
1036
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/FirstName.php:30
1037
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/LastName.php:30
1038
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Login/Password.php:30
1039
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Login/Userlogin.php:35
1040
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Nickname.php:30
1041
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Number.php:40
1042
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Password.php:30
1043
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/PasswordReset/Userlogin.php:35
1044
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/TextBox.php:40
1045
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Textarea.php:40
1046
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Username.php:30
1047
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Website.php:30
1048
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:436
1049
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Bio.php:30
1050
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/CFPassword.php:40
1051
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/ConfirmEmail.php:30
1068
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Textarea.php:40
1069
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Username.php:30
1070
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Website.php:30
1071
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:436
1072
  msgid "Placeholder"
1073
  msgstr ""
1074
 
1075
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Bio.php:38
1076
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/CFPassword.php:48
1077
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/CheckboxList.php:53
1078
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Country.php:47
1079
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/CoverImage.php:31
1080
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Date.php:71
1081
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Agreeable.php:61
1082
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Checkbox.php:65
1083
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Date.php:57
1084
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Input.php:58
1085
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Password.php:58
1086
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Radio.php:57
1087
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Select.php:58
1088
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DisplayName.php:38
1089
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/FirstName.php:38
1090
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/LastName.php:38
1091
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Nickname.php:38
1092
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Number.php:63
1093
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/ProfilePicture.php:31
1094
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/RadioButtons.php:53
1095
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/SelectDropdown.php:58
1096
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/SelectRole.php:41
1097
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/SingleCheckbox.php:47
1098
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/TextBox.php:48
1099
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Textarea.php:48
1100
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Website.php:38
1101
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Bio.php:38
1102
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/CFPassword.php:48
1103
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/CheckboxList.php:53
1127
  msgid "Required"
1128
  msgstr ""
1129
 
1130
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Bio.php:39
1131
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/CFPassword.php:49
1132
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/CheckboxList.php:54
1133
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Country.php:48
1134
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/CoverImage.php:32
1135
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Date.php:72
1136
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Agreeable.php:62
1137
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Checkbox.php:66
1138
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Date.php:58
1139
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Input.php:59
1140
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Password.php:59
1141
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Radio.php:58
1142
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Select.php:59
1143
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DisplayName.php:39
1144
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/FirstName.php:39
1145
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/LastName.php:39
1146
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Nickname.php:39
1147
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Number.php:64
1148
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/ProfilePicture.php:32
1149
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/RadioButtons.php:54
1150
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/SelectDropdown.php:59
1151
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/SelectRole.php:42
1152
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/SingleCheckbox.php:48
1153
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/TextBox.php:49
1154
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Textarea.php:49
1155
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Website.php:39
1156
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Bio.php:39
1157
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/CFPassword.php:49
1158
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/CheckboxList.php:54
1182
  msgid "Force users to fill out this field, otherwise it will be optional."
1183
  msgstr ""
1184
 
1185
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Bio.php:45
1186
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/CFPassword.php:55
1187
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/CheckboxList.php:60
1188
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/ConfirmEmail.php:37
1189
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/ConfirmPassword.php:37
1190
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Country.php:54
1191
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/CoverImage.php:38
1192
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Date.php:78
1193
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Agreeable.php:68
1194
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Checkbox.php:57
1195
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Date.php:64
1196
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Input.php:65
1197
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Password.php:65
1198
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Radio.php:64
1199
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Select.php:65
1200
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DisplayName.php:45
1201
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/EditProfile/ShowCoverImage.php:36
1202
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/EditProfile/ShowProfilePicture.php:41
1203
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Email.php:37
1204
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/FirstName.php:45
1205
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/LastName.php:45
1206
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Login/Password.php:37
1207
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Login/RememberLogin.php:42
1208
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Login/Userlogin.php:42
1209
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Nickname.php:45
1210
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Number.php:70
1211
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Password.php:36
1212
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/PasswordReset/Userlogin.php:42
1213
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/PasswordStrengthMeter.php:38
1214
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/ProfilePicture.php:38
1215
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/RadioButtons.php:60
1216
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/SelectDropdown.php:65
1217
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/SelectRole.php:48
1218
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/SingleCheckbox.php:54
1219
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/TextBox.php:55
1220
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Textarea.php:55
1221
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Username.php:36
1222
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Website.php:45
1223
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Bio.php:45
1224
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/CFPassword.php:55
1225
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/CheckboxList.php:60
1261
  msgid "CSS Classes"
1262
  msgstr ""
1263
 
1264
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Bio.php:47
1265
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/CFPassword.php:57
1266
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/CheckboxList.php:62
1267
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/ConfirmEmail.php:39
1268
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/ConfirmPassword.php:39
1269
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Country.php:56
1270
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/CoverImage.php:40
1271
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Date.php:80
1272
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Agreeable.php:70
1273
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Checkbox.php:59
1274
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Date.php:66
1275
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Input.php:67
1276
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Password.php:67
1277
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Radio.php:66
1278
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Select.php:67
1279
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DisplayName.php:47
1280
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/EditProfile/ShowCoverImage.php:38
1281
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/EditProfile/ShowProfilePicture.php:43
1282
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Email.php:39
1283
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/FirstName.php:47
1284
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/LastName.php:47
1285
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Login/Password.php:39
1286
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Login/RememberLogin.php:44
1287
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Login/Userlogin.php:44
1288
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Nickname.php:47
1289
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Number.php:72
1290
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Password.php:38
1291
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/PasswordReset/Userlogin.php:44
1292
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/PasswordStrengthMeter.php:40
1293
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/ProfilePicture.php:40
1294
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/RadioButtons.php:62
1295
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/SelectDropdown.php:67
1296
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/SelectRole.php:50
1297
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/SingleCheckbox.php:56
1298
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/TextBox.php:57
1299
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Textarea.php:57
1300
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Username.php:38
1301
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Website.php:47
1302
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Bio.php:47
1303
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/CFPassword.php:57
1304
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/CheckboxList.php:62
1340
  msgid "Enter the CSS class names you would like to add to this field."
1341
  msgstr ""
1342
 
1343
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/CFPassword.php:22
1344
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Login/Password.php:22
1345
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Password.php:22
1346
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:162
1347
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractTheme.php:165
1348
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractTheme.php:205
1349
+ #: build/wp-user-avatar/src/Widgets/TabbedWidget.php:144
1350
+ #: build/wp-user-avatar/src/Widgets/TabbedWidget.php:172
1351
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/CFPassword.php:22
1352
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Login/Password.php:22
1353
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Password.php:22
1354
+ #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:162
 
 
1355
  #: src/Themes/DragDrop/AbstractTheme.php:165
1356
  #: src/Themes/DragDrop/AbstractTheme.php:205 src/Widgets/TabbedWidget.php:144
1357
+ #: src/Widgets/TabbedWidget.php:172
1358
  msgid "Password"
1359
  msgstr ""
1360
 
1361
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/CFPassword.php:35
1362
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/CheckboxList.php:40
1363
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Country.php:39
1364
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Date.php:35
1365
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Number.php:35
1366
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/RadioButtons.php:40
1367
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/SelectDropdown.php:39
1368
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/SingleCheckbox.php:35
1369
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/TextBox.php:35
1370
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Textarea.php:35
1371
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/CFPassword.php:35
1372
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/CheckboxList.php:40
1373
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Country.php:39
1381
  msgid "Field Key"
1382
  msgstr ""
1383
 
1384
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/CheckboxList.php:22
1385
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/CheckboxList.php:22
1386
  msgid "Checkbox List"
1387
  msgstr ""
1388
 
1389
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/CheckboxList.php:45
1390
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/RadioButtons.php:45
1391
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/CheckboxList.php:45
1392
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/RadioButtons.php:45
1393
  msgid "Choices"
1394
  msgstr ""
1395
 
1396
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/CheckboxList.php:47
1397
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/RadioButtons.php:47
1398
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/SelectDropdown.php:52
1399
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/CheckboxList.php:47
1400
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/RadioButtons.php:47
1401
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/SelectDropdown.php:52
1404
  "select."
1405
  msgstr ""
1406
 
1407
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/ConfirmEmail.php:22
1408
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractTheme.php:171
1409
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/ConfirmEmail.php:22
1410
  #: src/Themes/DragDrop/AbstractTheme.php:171
1411
  msgid "Confirm Email"
1412
  msgstr ""
1413
 
1414
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/ConfirmPassword.php:22
1415
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:188
1416
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractTheme.php:168
1417
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/ConfirmPassword.php:22
1418
+ #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:188
 
1419
  #: src/Themes/DragDrop/AbstractTheme.php:168
1420
  msgid "Confirm Password"
1421
  msgstr ""
1422
 
1423
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Country.php:22
1424
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Country.php:22
 
 
 
1425
  msgid "Country"
1426
  msgstr ""
1427
 
1428
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/CoverImage.php:22
1429
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/CoverImage.php:22
1430
  msgid "Upload Cover Photo"
1431
  msgstr ""
1432
 
1433
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Date.php:22
1434
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Date.php:22
1435
  msgid "Date / Time"
1436
  msgstr ""
1437
 
1438
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Date.php:40
1439
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Date.php:40
1440
  msgid "Date/Time Format"
1441
  msgstr ""
1442
 
1443
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Date.php:58
1444
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Date.php:59
1445
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Date.php:58
1446
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Date.php:59
1447
  msgid "Only Time"
1448
  msgstr ""
1449
 
1450
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Date.php:61
1451
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Date.php:61
1452
  msgid ""
1453
  "Select a date and time format that users will be able to choose a date in."
1454
  msgstr ""
1455
 
1456
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Agreeable.php:50
1457
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Agreeable.php:50
1458
  msgid "Checked by Default"
1459
  msgstr ""
1460
 
1461
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Agreeable.php:52
1462
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Agreeable.php:52
1463
  msgid "False"
1464
  msgstr ""
1465
 
1466
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Agreeable.php:53
1467
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/DefinedFieldTypes/Agreeable.php:53
1468
  msgid "True"
1469
  msgstr ""
1470
 
1471
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/DisplayName.php:22
1472
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/DisplayName.php:22
1473
+ #: build/wp-user-avatar/src/Functions/GlobalFunctions.php:1279
1474
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:318
1475
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:208
1476
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:460
1477
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractTheme.php:180
1478
+ #: build/wp-user-avatar/src/Themes/DragDrop/MemberDirectory/DefaultTemplate.php:115
1479
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/DefaultTemplate.php:106
1480
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/DisplayName.php:22
1481
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/DisplayName.php:22
1482
+ #: src/Functions/GlobalFunctions.php:1279
1483
+ #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:318
1484
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:208
1485
+ #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:460
1486
  #: src/Themes/DragDrop/AbstractTheme.php:180
1487
  #: src/Themes/DragDrop/MemberDirectory/DefaultTemplate.php:115
1488
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:106
1489
  msgid "Display Name"
1490
  msgstr ""
1491
 
1492
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/EditProfile/ShowCoverImage.php:22
1493
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/EditProfile/ShowCoverImage.php:22
1494
  msgid "Show Cover Photo"
1495
  msgstr ""
1496
 
1497
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/EditProfile/ShowCoverImage.php:30
1498
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/EditProfile/ShowProfilePicture.php:35
1499
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/EditProfile/ShowCoverImage.php:30
1500
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/EditProfile/ShowProfilePicture.php:35
1501
  msgid "Alt Text"
1502
  msgstr ""
1503
 
1504
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/EditProfile/ShowProfilePicture.php:22
1505
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/EditProfile/ShowProfilePicture.php:22
1506
  msgid "Show Profile Picture"
1507
  msgstr ""
1508
 
1509
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Email.php:22
1510
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/Email.php:22
1511
+ #: build/wp-user-avatar/src/Functions/GlobalFunctions.php:1280
1512
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:210
1513
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:206
1514
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractTheme.php:162
1515
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractTheme.php:221
1516
+ #: build/wp-user-avatar/src/Widgets/TabbedWidget.php:137
1517
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Email.php:22
1518
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/Email.php:22
1519
+ #: src/Functions/GlobalFunctions.php:1280
1520
+ #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:210
 
1521
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:206
1522
  #: src/Themes/DragDrop/AbstractTheme.php:162
1523
  #: src/Themes/DragDrop/AbstractTheme.php:221 src/Widgets/TabbedWidget.php:137
1524
  msgid "Email Address"
1525
  msgstr ""
1526
 
1527
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/FirstName.php:22
1528
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/FirstName.php:22
1529
+ #: build/wp-user-avatar/src/Functions/GlobalFunctions.php:1276
1530
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:350
1531
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:209
1532
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:461
1533
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractTheme.php:183
1534
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractTheme.php:224
1535
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/FirstName.php:22
1536
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/FirstName.php:22
1537
+ #: src/Functions/GlobalFunctions.php:1276
1538
+ #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:350
 
1539
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:209
1540
+ #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:461
1541
  #: src/Themes/DragDrop/AbstractTheme.php:183
1542
  #: src/Themes/DragDrop/AbstractTheme.php:224
1543
  msgid "First Name"
1544
  msgstr ""
1545
 
1546
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/HTML.php:22
1547
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/HTML.php:27
1548
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/HTML.php:22
1549
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/HTML.php:27
1550
  msgid "Custom HTML"
1551
  msgstr ""
1552
 
1553
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/HTML.php:35
1554
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/HTML.php:35
1555
  msgid "Content"
1556
  msgstr ""
1557
 
1558
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/LastName.php:22
1559
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/LastName.php:22
1560
+ #: build/wp-user-avatar/src/Functions/GlobalFunctions.php:1277
1561
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:383
1562
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:210
1563
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:462
1564
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractTheme.php:186
1565
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractTheme.php:227
1566
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/LastName.php:22
1567
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/LastName.php:22
1568
+ #: src/Functions/GlobalFunctions.php:1277
1569
+ #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:383
 
1570
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:210
1571
+ #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:462
1572
  #: src/Themes/DragDrop/AbstractTheme.php:186
1573
  #: src/Themes/DragDrop/AbstractTheme.php:227
1574
  msgid "Last Name"
1575
  msgstr ""
1576
 
1577
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Login/RememberLogin.php:22
1578
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Login/RememberLogin.php:22
1579
  msgid "Remember Login"
1580
  msgstr ""
1581
 
1582
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Login/RememberLogin.php:27
1583
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractTheme.php:208
1584
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Login/RememberLogin.php:27
1585
  #: src/Themes/DragDrop/AbstractTheme.php:208
1586
  msgid "Remember Me"
1587
  msgstr ""
1588
 
1589
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Login/Userlogin.php:22
1590
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/PasswordReset/Userlogin.php:22
1591
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/PasswordResetBuilder.php:35
1592
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractTheme.php:202
1593
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractTheme.php:213
1594
+ #: build/wp-user-avatar/src/Widgets/TabbedWidget.php:133
1595
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Login/Userlogin.php:22
1596
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/PasswordReset/Userlogin.php:22
1597
  #: src/ShortcodeParser/Builder/PasswordResetBuilder.php:35
1598
  #: src/Themes/DragDrop/AbstractTheme.php:202
1599
  #: src/Themes/DragDrop/AbstractTheme.php:213 src/Widgets/TabbedWidget.php:133
 
1600
  msgid "Username or Email"
1601
  msgstr ""
1602
 
1603
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Login/Userlogin.php:27
1604
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/PasswordReset/Userlogin.php:27
1605
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Login/Userlogin.php:27
1606
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/PasswordReset/Userlogin.php:27
1607
  msgid "User Login"
1608
  msgstr ""
1609
 
1610
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Nickname.php:22
1611
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/Nickname.php:22
1612
+ #: build/wp-user-avatar/src/Functions/GlobalFunctions.php:1278
1613
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:286
1614
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:300
1615
+ #: build/wp-user-avatar/src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:138
1616
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractTheme.php:177
1617
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/DefaultTemplate.php:107
1618
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Nickname.php:22
1619
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/Nickname.php:22
1620
+ #: src/Functions/GlobalFunctions.php:1278
1621
+ #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:286
1622
+ #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:300
1623
+ #: src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:138
1624
  #: src/Themes/DragDrop/AbstractTheme.php:177
1625
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:107
1626
  msgid "Nickname"
1627
  msgstr ""
1628
 
1629
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Number.php:22
1630
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Number.php:22
1631
  msgid "Number"
1632
  msgstr ""
1633
 
1634
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Number.php:47
1635
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Number.php:47
1636
  msgid "Minimum Value"
1637
  msgstr ""
1638
 
1639
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Number.php:49
1640
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Number.php:49
1641
  msgid "Enter the minimum value allowed."
1642
  msgstr ""
1643
 
1644
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Number.php:52
1645
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Number.php:52
1646
  msgid "Maximum Value"
1647
  msgstr ""
1648
 
1649
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Number.php:54
1650
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Number.php:54
1651
  msgid "Enter the maximum value allowed."
1652
  msgstr ""
1653
 
1654
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Number.php:57
1655
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Number.php:57
1656
  msgid "Step Value"
1657
  msgstr ""
1658
 
1659
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Number.php:59
1660
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Number.php:59
1661
  msgid "Enter the number intervals."
1662
  msgstr ""
1663
 
1664
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/PasswordStrengthMeter.php:22
1665
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/PasswordStrengthMeter.php:22
1666
  msgid "Password Strength"
1667
  msgstr ""
1668
 
1669
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/PasswordStrengthMeter.php:31
1670
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/PasswordStrengthMeter.php:31
1671
  msgid "Enforce"
1672
  msgstr ""
1673
 
1674
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/PasswordStrengthMeter.php:32
1675
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/PasswordStrengthMeter.php:32
1676
  msgid "Prevent registration unless users entered password is strong."
1677
  msgstr ""
1678
 
1679
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/RadioButtons.php:22
1680
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/RadioButtons.php:22
1681
  msgid "Radio Buttons"
1682
  msgstr ""
1683
 
1684
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/SelectDropdown.php:22
1685
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/SelectDropdown.php:22
1686
  msgid "Dropdown"
1687
  msgstr ""
1688
 
1689
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/SelectDropdown.php:44
1690
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/SelectDropdown.php:44
1691
  msgid "Multiple Selection"
1692
  msgstr ""
1693
 
1694
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/SelectDropdown.php:47
1695
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/SelectDropdown.php:47
1696
  msgid "Check to allow multiple options to be selected."
1697
  msgstr ""
1698
 
1699
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/SelectDropdown.php:50
1700
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/SelectRole.php:33
1701
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/SelectDropdown.php:50
1702
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/SelectRole.php:33
1703
  msgid "Options"
1704
  msgstr ""
1705
 
1706
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/SelectRole.php:21
1707
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/SelectRole.php:21
1708
  msgid "Select Role"
1709
  msgstr ""
1710
 
1711
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/SelectRole.php:35
1712
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/SelectRole.php:35
1713
  msgid "Enter comma separated list of roles to include in the select dropdown."
1714
  msgstr ""
1715
 
1716
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/SingleCheckbox.php:22
1717
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/SingleCheckbox.php:22
1718
  msgid "Single Checkbox"
1719
  msgstr ""
1720
 
1721
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/SingleCheckbox.php:40
1722
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/SingleCheckbox.php:40
1723
  msgid "Checkbox Text"
1724
  msgstr ""
1725
 
1726
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/TextBox.php:22
1727
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/TextBox.php:22
1728
  msgid "Text Box"
1729
  msgstr ""
1730
 
1731
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Textarea.php:22
1732
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Textarea.php:22
1733
  msgid "Textarea"
1734
  msgstr ""
1735
 
1736
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/Bio.php:30
1737
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/CustomField.php:40
1738
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/DisplayName.php:30
1739
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/Email.php:30
1740
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/FirstName.php:30
1741
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/LastName.php:30
1742
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/Nickname.php:30
1743
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/Username.php:30
1744
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/Website.php:30
1745
+ #: build/wp-user-avatar/src/Admin/SettingsPages/FormList.php:193
1746
+ #: build/wp-user-avatar/src/ContentProtection/WPListTable.php:28
1747
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:390
1748
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/Bio.php:30
1749
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/CustomField.php:40
1750
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/DisplayName.php:30
1754
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/Nickname.php:30
1755
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/Username.php:30
1756
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/Website.php:30
1757
+ #: src/Admin/SettingsPages/FormList.php:193
1758
  #: src/ContentProtection/WPListTable.php:28
1759
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:390
 
1760
  msgid "Title"
1761
  msgstr ""
1762
 
1763
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/CustomField.php:22
1764
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/CustomField.php:30
1765
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/CustomField.php:22
1766
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/CustomField.php:30
1767
  msgid "Custom Field"
1768
  msgstr ""
1769
 
1770
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/CustomField.php:34
1771
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/CustomField.php:34
1772
  msgid ""
1773
  "Select a custom field. Only use the %1$sTitle%2$s and %1$sUser Meta / Field "
1774
  "Key%2$s below if you don't have it %3$sdefined in ProfilePress%4$s."
1775
  msgstr ""
1776
 
1777
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/CustomField.php:44
1778
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/CustomField.php:44
1779
  msgid "User Meta / Field Key"
1780
  msgstr ""
1781
 
1782
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/CustomField.php:46
1783
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/CustomField.php:46
1784
  msgid "Enter a custom field or user meta key here."
1785
  msgstr ""
1786
 
1787
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/DisplayName.php:34
1788
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/DisplayName.php:34
1789
  msgid "Format"
1790
  msgstr ""
1791
 
1792
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/DisplayName.php:37
1793
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/DisplayName.php:37
1794
  msgid "Default Display Name"
1795
  msgstr ""
1796
 
1797
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/DisplayName.php:38
1798
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/DefaultTemplate.php:108
1799
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/DisplayName.php:38
1800
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:108
1801
  msgid "First & Last Name"
1802
  msgstr ""
1803
 
1804
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/DisplayName.php:39
1805
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/DefaultTemplate.php:109
1806
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/DisplayName.php:39
1807
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:109
1808
  msgid "Last & First Name"
1809
  msgstr ""
1810
 
1811
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/DisplayName.php:40
1812
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/DisplayName.php:40
1813
  msgid "First Name & First Initial of Last Name"
1814
  msgstr ""
1815
 
1816
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/DisplayName.php:41
1817
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/DisplayName.php:41
1818
  msgid "First Initial of First Name & Last Name"
1819
  msgstr ""
1820
 
1821
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/Username.php:22
1822
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Username.php:22
1823
+ #: build/wp-user-avatar/src/Functions/GlobalFunctions.php:1275
1824
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:135
1825
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:463
1826
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractTheme.php:159
1827
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractTheme.php:218
1828
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/DefaultTemplate.php:105
1829
+ #: build/wp-user-avatar/src/Widgets/TabbedWidget.php:130
1830
+ #: build/wp-user-avatar/src/Widgets/TabbedWidget.php:166
1831
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/Username.php:22
1832
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Username.php:22
1833
+ #: src/Functions/GlobalFunctions.php:1275
1834
+ #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:135
1835
+ #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:463
 
1836
  #: src/Themes/DragDrop/AbstractTheme.php:159
1837
  #: src/Themes/DragDrop/AbstractTheme.php:218
1838
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:105
1840
  msgid "Username"
1841
  msgstr ""
1842
 
1843
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/Website.php:22
1844
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Fields/Website.php:22
1845
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:253
1846
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:267
1847
+ #: build/wp-user-avatar/src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:148
1848
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:207
1849
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractTheme.php:174
1850
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractTheme.php:230
1851
+ #: build/wp-user-avatar/src/Themes/DragDrop/MemberDirectoryListing.php:113
1852
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/UserProfile/Website.php:22
1853
  #: src/Admin/SettingsPages/DragDropBuilder/Fields/Website.php:22
1854
+ #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:253
1855
+ #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:267
1856
+ #: src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:148
 
1857
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:207
1858
  #: src/Themes/DragDrop/AbstractTheme.php:174
1859
  #: src/Themes/DragDrop/AbstractTheme.php:230
1861
  msgid "Website"
1862
  msgstr ""
1863
 
1864
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Metabox.php:99
1865
  #: src/Admin/SettingsPages/DragDropBuilder/Metabox.php:99
 
1866
  msgid "Upload Image"
1867
  msgstr ""
1868
 
1869
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Metabox.php:224
1870
  #: src/Admin/SettingsPages/DragDropBuilder/Metabox.php:224
1871
  msgid "Standard Fonts"
1872
  msgstr ""
1873
 
1874
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Metabox.php:225
1875
  #: src/Admin/SettingsPages/DragDropBuilder/Metabox.php:225
1876
  msgid "Arial"
1877
  msgstr ""
1878
 
1879
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Metabox.php:226
1880
  #: src/Admin/SettingsPages/DragDropBuilder/Metabox.php:226
1881
+ msgid "Comic Sans MS"
1882
+ msgstr ""
1883
+
1884
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Metabox.php:227
1885
+ #: src/Admin/SettingsPages/DragDropBuilder/Metabox.php:227
1886
+ msgid "Courier New"
1887
  msgstr ""
1888
 
1889
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Metabox.php:228
1890
+ #: build/wp-user-avatar/src/Functions/data/countries.php:97
1891
  #: src/Admin/SettingsPages/DragDropBuilder/Metabox.php:228
1892
+ #: src/Functions/data/countries.php:97
1893
+ msgid "Georgia"
1894
  msgstr ""
1895
 
1896
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Metabox.php:229
1897
  #: src/Admin/SettingsPages/DragDropBuilder/Metabox.php:229
1898
+ msgid "Helvetica"
1899
  msgstr ""
1900
 
1901
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Metabox.php:230
1902
  #: src/Admin/SettingsPages/DragDropBuilder/Metabox.php:230
1903
+ msgid "Lucida"
1904
  msgstr ""
1905
 
1906
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Metabox.php:231
1907
  #: src/Admin/SettingsPages/DragDropBuilder/Metabox.php:231
1908
+ msgid "Tahoma"
 
1909
  msgstr ""
1910
 
1911
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Metabox.php:232
1912
  #: src/Admin/SettingsPages/DragDropBuilder/Metabox.php:232
1913
+ msgid "Times New Roman"
1914
  msgstr ""
1915
 
1916
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Metabox.php:233
1917
  #: src/Admin/SettingsPages/DragDropBuilder/Metabox.php:233
1918
+ msgid "Trebuchet MS"
1919
  msgstr ""
1920
 
1921
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Metabox.php:234
1922
  #: src/Admin/SettingsPages/DragDropBuilder/Metabox.php:234
1923
+ msgid "Verdana"
 
 
 
 
1924
  msgstr ""
1925
 
1926
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Metabox.php:236
1927
  #: src/Admin/SettingsPages/DragDropBuilder/Metabox.php:236
1928
+ msgid "Google Fonts"
1929
  msgstr ""
1930
 
1931
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Metabox.php:265
1932
+ #: src/Admin/SettingsPages/DragDropBuilder/Metabox.php:265
1933
  msgid "Form Settings"
1934
  msgstr ""
1935
 
1936
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Metabox.php:268
1937
+ #: src/Admin/SettingsPages/DragDropBuilder/Metabox.php:268
1938
  msgid "User Profile Settings"
1939
  msgstr ""
1940
 
1941
+ #: build/wp-user-avatar/src/Admin/SettingsPages/DragDropBuilder/Metabox.php:272
1942
+ #: src/Admin/SettingsPages/DragDropBuilder/Metabox.php:272
1943
  msgid "Directory Settings"
1944
  msgstr ""
1945
 
1946
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/CustomizerTrait.php:14
1947
  #: src/Admin/SettingsPages/EmailSettings/CustomizerTrait.php:14
1948
  msgid "Saved"
1949
  msgstr ""
1950
 
1951
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:43
1952
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/email-template-preview.php:11
1953
  #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:43
1954
  #: src/Admin/SettingsPages/EmailSettings/email-template-preview.php:11
1955
  msgid "ProfilePress Email Template"
1956
  msgstr ""
1957
 
1958
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:125
1959
  #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:125
1960
  msgid ""
1961
  "The customizer allows you to design and preview ProfilePress default email "
1962
  "template."
1963
  msgstr ""
1964
 
1965
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:148
1966
  #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:148
1967
  msgid "Body"
1968
  msgstr ""
1969
 
1970
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:154
1971
  #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:154
1972
  msgid "Header"
1973
  msgstr ""
1974
 
1975
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:160
1976
  #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:160
1977
  msgid "Footer"
1978
  msgstr ""
1979
 
1980
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:174
1981
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:215
1982
+ #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:174
1983
+ #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:215
1984
  msgid "© %s %s. All rights reserved."
1985
  msgstr ""
1986
 
1987
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:229
1988
+ #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:229
1989
  msgid "Background Color"
1990
  msgstr ""
1991
 
1992
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:240
1993
+ #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:240
1994
  msgid "Background Text Color"
1995
  msgstr ""
1996
 
1997
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:250
1998
+ #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:250
1999
  msgid "Content Background Color"
2000
  msgstr ""
2001
 
2002
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:261
2003
+ #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:261
 
 
 
2004
  msgid "Content Text Color"
2005
  msgstr ""
2006
 
2007
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:272
2008
+ #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:272
2009
  msgid "Logo"
2010
  msgstr ""
2011
 
2012
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:280
2013
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:285
2014
+ #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:280
2015
+ #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:285
2016
  msgid "Select Logo"
2017
  msgstr ""
2018
 
2019
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:281
2020
+ #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:281
2021
  msgid "Change Logo"
2022
  msgstr ""
2023
 
2024
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:282
2025
+ #: build/wp-user-avatar/src/ContentProtection/ContentConditions.php:276
2026
+ #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:282
2027
  #: src/ContentProtection/ContentConditions.php:276
2028
  msgid "Default"
2029
  msgstr ""
2030
 
2031
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:284
2032
+ #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:284
2033
  msgid "No logo selected"
2034
  msgstr ""
2035
 
2036
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:286
2037
+ #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:286
2038
  msgid "Choose Logo"
2039
  msgstr ""
2040
 
2041
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:293
2042
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/DefaultTemplate.php:102
2043
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/Dixon.php:32
2044
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/Dixon.php:70
2045
+ #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:293
2046
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:102
2047
  #: src/Themes/DragDrop/UserProfile/Dixon.php:32
2048
  #: src/Themes/DragDrop/UserProfile/Dixon.php:70
2049
  msgid "Header Text"
2050
  msgstr ""
2051
 
2052
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:294
2053
+ #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:294
2054
  msgid "This is used when template logo is not set."
2055
  msgstr ""
2056
 
2057
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:302
2058
+ #: src/Admin/SettingsPages/EmailSettings/DefaultTemplateCustomizer.php:302
2059
  msgid "Footer Text"
2060
  msgstr ""
2061
 
2062
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:28
2063
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:135
2064
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:57
2065
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:28
2066
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:135
2067
+ #: src/Admin/SettingsPages/GeneralSettings.php:57
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2068
  msgid "Emails"
2069
  msgstr ""
2070
 
2071
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:71
2072
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:71
2073
  msgid "Account Welcome Email"
2074
  msgstr ""
2075
 
2076
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:72
2077
+ #: build/wp-user-avatar/src/Classes/WelcomeEmailAfterSignup.php:51
2078
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:72
2079
  #: src/Classes/WelcomeEmailAfterSignup.php:51
2080
  msgid "Welcome To %s"
2081
  msgstr ""
2082
 
2083
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:74
2084
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:74
2085
  msgid "Email that is sent to the user upon successful registration."
2086
  msgstr ""
2087
 
2088
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:75
2089
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:93
2090
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:75
2091
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:93
2092
  msgid "Users"
2093
  msgstr ""
2094
 
2095
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:77
2096
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:77
2097
  msgid "Username of the registered user."
2098
  msgstr ""
2099
 
2100
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:78
2101
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:96
2102
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:78
2103
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:96
2104
  msgid "Email address of the registered user."
2105
  msgstr ""
2106
 
2107
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:79
2108
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:79
2109
  msgid "Password of the registered user."
2110
  msgstr ""
2111
 
2112
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:80
2113
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:97
2114
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:80
2115
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:97
2116
  msgid "Website title or name."
2117
  msgstr ""
2118
 
2119
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:81
2120
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:81
2121
  msgid "First Name entered by user on registration."
2122
  msgstr ""
2123
 
2124
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:82
2125
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:82
2126
  msgid "Last Name entered by user on registration."
2127
  msgstr ""
2128
 
2129
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:83
2130
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:98
2131
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:83
2132
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:98
2133
  msgid "URL to reset password."
2134
  msgstr ""
2135
 
2136
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:84
2137
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:84
2138
+ msgid "URL to login.."
2139
  msgstr ""
2140
 
2141
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:89
2142
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:89
2143
  msgid "Password Reset Email"
2144
  msgstr ""
2145
 
2146
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:90
2147
+ #: build/wp-user-avatar/src/Classes/PasswordReset.php:24
2148
+ #: build/wp-user-avatar/src/RegisterActivation/Base.php:85
2149
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:90
2150
+ #: src/Classes/PasswordReset.php:24 src/RegisterActivation/Base.php:85
2151
  msgid "[%s] Password Reset"
2152
  msgstr ""
2153
 
2154
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:92
2155
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:92
2156
  msgid "Email that is sent to the user upon password reset request."
2157
  msgstr ""
2158
 
2159
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:95
2160
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:95
2161
  msgid "Username of user."
2162
  msgstr ""
2163
 
2164
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:103
2165
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:103
2166
  msgid "New User Admin Notification"
2167
  msgstr ""
2168
 
2169
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:104
2170
+ #: build/wp-user-avatar/src/Functions/GlobalFunctions.php:727
2171
+ #: build/wp-user-avatar/src/RegisterActivation/Base.php:89
2172
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:104
2173
+ #: src/Functions/GlobalFunctions.php:727 src/RegisterActivation/Base.php:89
2174
  msgid "[%s] New User Registration"
2175
  msgstr ""
2176
 
2177
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:106
2178
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:106
2179
+ msgid "Email that is sent to admins when there is a new user registration"
2180
  msgstr ""
2181
 
2182
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:107
2183
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:107
2184
+ msgid "Administrators"
2185
+ msgstr ""
2186
+
2187
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:109
2188
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:109
2189
  msgid "Username of the newly registered user."
2190
  msgstr ""
2191
 
2192
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:110
2193
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:110
2194
  msgid "Email address of the newly registered user."
2195
  msgstr ""
2196
 
2197
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:111
2198
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:111
2199
  msgid "First name of the newly registered user."
2200
  msgstr ""
2201
 
2202
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:112
2203
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:112
2204
  msgid "Last name of the newly registered user."
2205
  msgstr ""
2206
 
2207
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:113
2208
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:113
2209
+ msgid "Website name or name."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2210
  msgstr ""
2211
 
2212
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:115
2213
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:115
2214
+ msgid "Replace \"field_key\" with the %scustom field key%s or usermeta key."
2215
  msgstr ""
2216
 
2217
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:140
2218
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:140
2219
  msgid "Admin Email Address(es)"
2220
  msgstr ""
2221
 
2222
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:141
2223
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:141
2224
  msgid ""
2225
  "The Email address to receive admin notifications. Use comma to separate "
2226
  "multiple email addresses."
2227
  msgstr ""
2228
 
2229
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:146
2230
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:146
2231
  msgid "Sender Name"
2232
  msgstr ""
2233
 
2234
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:147
2235
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:147
2236
  msgid ""
2237
  "The name to use as the sender of all ProfilePress emails. Preferably your "
2238
  "website name."
2239
  msgstr ""
2240
 
2241
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:153
2242
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:153
2243
  msgid "Sender Email Address"
2244
  msgstr ""
2245
 
2246
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:154
2247
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:154
2248
  msgid "The email address to use as the sender of all ProfilePress emails."
2249
  msgstr ""
2250
 
2251
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:160
2252
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:160
2253
  msgid "HTML"
2254
  msgstr ""
2255
 
2256
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:161
2257
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:161
2258
  msgid "Plain Text"
2259
  msgstr ""
2260
 
2261
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:164
2262
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:164
2263
  msgid "Content Type"
2264
  msgstr ""
2265
 
2266
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:165
2267
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:165
2268
  msgid ""
2269
  "Choose whether to send ProfilePress emails in HTML or plain text. HTML is "
2270
  "recommended."
2271
  msgstr ""
2272
 
2273
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:170
2274
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:170
2275
  msgid "Default Template"
2276
  msgstr ""
2277
 
2278
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:171
2279
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:171
2280
  msgid "Custom Email Template"
2281
  msgstr ""
2282
 
2283
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:174
2284
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:174
2285
  msgid "Email Template"
2286
  msgstr ""
2287
 
2288
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:175
2289
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:175
2290
  msgid ""
2291
  "Choose \"Custom Email Template\" if you want to code your own email template "
2292
  "from scratch."
2293
  msgstr ""
2294
 
2295
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:182
2296
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:182
2297
  msgid "Customize Default Template"
2298
  msgstr ""
2299
 
2300
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:225
2301
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:225
2302
+ msgid "Preview Email"
2303
+ msgstr ""
2304
+
2305
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:246
2306
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:246
2307
+ msgid "Enable Notification"
2308
+ msgstr ""
2309
+
2310
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:247
2311
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:370
2312
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:247
2313
+ #: src/Admin/SettingsPages/GeneralSettings.php:370
2314
+ msgid "Enable"
2315
+ msgstr ""
2316
+
2317
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:250
2318
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:250
2319
+ msgid "Check to enable this email notification."
2320
+ msgstr ""
2321
+
2322
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:255
2323
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:255
2324
+ msgid "Subject Line"
2325
+ msgstr ""
2326
+
2327
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:256
2328
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:256
2329
+ msgid "Enter the subject or title for the welcome message email."
2330
+ msgstr ""
2331
+
2332
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:261
2333
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:261
2334
+ msgid "Message Body"
2335
+ msgstr ""
2336
+
2337
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:304
2338
+ #: src/Admin/SettingsPages/EmailSettings/EmailSettingsPage.php:304
2339
  msgid "Available placeholders for subject and message body"
2340
  msgstr ""
2341
 
2342
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/WPListTable.php:23
2343
  #: src/Admin/SettingsPages/EmailSettings/WPListTable.php:23
2344
  msgid "No email available."
2345
  msgstr ""
2346
 
2347
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/WPListTable.php:29
2348
+ #: build/wp-user-avatar/src/Widgets/TabbedWidget.php:169
2349
  #: src/Admin/SettingsPages/EmailSettings/WPListTable.php:29
 
2350
  #: src/Widgets/TabbedWidget.php:169
2351
  msgid "Email"
2352
  msgstr ""
2353
 
2354
+ #: build/wp-user-avatar/src/Admin/SettingsPages/EmailSettings/WPListTable.php:30
2355
  #: src/Admin/SettingsPages/EmailSettings/WPListTable.php:30
2356
  msgid "Recipient"
2357
  msgstr ""
2358
 
2359
+ #: build/wp-user-avatar/src/Admin/SettingsPages/ExtensionsSettingsPage.php:39
2360
+ #: build/wp-user-avatar/src/Admin/SettingsPages/ExtensionsSettingsPage.php:51
2361
  #: src/Admin/SettingsPages/ExtensionsSettingsPage.php:39
2362
  #: src/Admin/SettingsPages/ExtensionsSettingsPage.php:51
2363
  msgid "Addons"
2364
  msgstr ""
2365
 
2366
+ #: build/wp-user-avatar/src/Admin/SettingsPages/ExtensionsSettingsPage.php:87
2367
  #: src/Admin/SettingsPages/ExtensionsSettingsPage.php:87
2368
  msgid "Activate All"
2369
  msgstr ""
2370
 
2371
+ #: build/wp-user-avatar/src/Admin/SettingsPages/ExtensionsSettingsPage.php:90
2372
  #: src/Admin/SettingsPages/ExtensionsSettingsPage.php:90
2373
  msgid "Deactivate All"
2374
  msgstr ""
2375
 
2376
+ #: build/wp-user-avatar/src/Admin/SettingsPages/ExtensionsSettingsPage.php:100
2377
  #: src/Admin/SettingsPages/ExtensionsSettingsPage.php:100
2378
  msgid ""
2379
  "Upgrade to Premium to unlock extensions and other great features. As a "
2381
  "purchase, automatically applied at checkout!"
2382
  msgstr ""
2383
 
2384
+ #: build/wp-user-avatar/src/Admin/SettingsPages/ExtensionsSettingsPage.php:106
2385
  #: src/Admin/SettingsPages/ExtensionsSettingsPage.php:106
2386
  msgid "Upgrade Now"
2387
  msgstr ""
2388
 
2389
+ #: build/wp-user-avatar/src/Admin/SettingsPages/ExtensionsSettingsPage.php:122
2390
  #: src/Admin/SettingsPages/ExtensionsSettingsPage.php:122
2391
  msgid "Upgrade Plan"
2392
  msgstr ""
2393
 
2394
+ #: build/wp-user-avatar/src/Admin/SettingsPages/ExtensionsSettingsPage.php:137
2395
  #: src/Admin/SettingsPages/ExtensionsSettingsPage.php:137
2396
  msgid "Learn More"
2397
  msgstr ""
2398
 
2399
+ #: build/wp-user-avatar/src/Admin/SettingsPages/ExtensionsSettingsPage.php:148
2400
  #: src/Admin/SettingsPages/ExtensionsSettingsPage.php:148
2401
  msgid "Unavailable: %s"
2402
  msgstr ""
2403
 
2404
+ #: build/wp-user-avatar/src/Admin/SettingsPages/ExtensionsSettingsPage.php:153
2405
  #: src/Admin/SettingsPages/ExtensionsSettingsPage.php:153
2406
  msgid "Activated"
2407
  msgstr ""
2408
 
2409
+ #: build/wp-user-avatar/src/Admin/SettingsPages/ExtensionsSettingsPage.php:153
2410
  #: src/Admin/SettingsPages/ExtensionsSettingsPage.php:153
2411
  msgid "Deactivated"
2412
  msgstr ""
2413
 
2414
+ #: build/wp-user-avatar/src/Admin/SettingsPages/FormList.php:27
2415
  #: src/Admin/SettingsPages/FormList.php:27
2416
  msgid "form"
2417
  msgstr ""
2418
 
2419
+ #: build/wp-user-avatar/src/Admin/SettingsPages/FormList.php:28
2420
  #: src/Admin/SettingsPages/FormList.php:28
2421
  msgid "forms"
2422
  msgstr ""
2423
 
2424
+ #: build/wp-user-avatar/src/Admin/SettingsPages/FormList.php:178
2425
+ #: src/Admin/SettingsPages/FormList.php:178
2426
  msgid "No form is currently available. %sConsider creating one%s"
2427
  msgstr ""
2428
 
2429
+ #: build/wp-user-avatar/src/Admin/SettingsPages/FormList.php:194
2430
+ #: build/wp-user-avatar/src/Admin/SettingsPages/FormList.php:271
2431
+ #: src/Admin/SettingsPages/FormList.php:194
2432
+ #: src/Admin/SettingsPages/FormList.php:271
2433
  msgid "Shortcode"
2434
  msgstr ""
2435
 
2436
+ #: build/wp-user-avatar/src/Admin/SettingsPages/FormList.php:195
2437
+ #: src/Admin/SettingsPages/FormList.php:195
2438
  msgid "Builder Type"
2439
  msgstr ""
2440
 
2441
+ #: build/wp-user-avatar/src/Admin/SettingsPages/FormList.php:196
2442
+ #: src/Admin/SettingsPages/FormList.php:196
 
 
 
 
2443
  msgid "Date"
2444
  msgstr ""
2445
 
2446
+ #: build/wp-user-avatar/src/Admin/SettingsPages/FormList.php:238
2447
+ #: build/wp-user-avatar/src/ContentProtection/WPListTable.php:84
2448
+ #: src/Admin/SettingsPages/FormList.php:238
 
 
 
 
 
2449
  #: src/ContentProtection/WPListTable.php:84
2450
  msgid "Edit"
2451
  msgstr ""
2452
 
2453
+ #: build/wp-user-avatar/src/Admin/SettingsPages/FormList.php:240
2454
+ #: build/wp-user-avatar/src/ContentProtection/WPListTable.php:85
2455
+ #: src/Admin/SettingsPages/FormList.php:240
2456
  #: src/ContentProtection/WPListTable.php:85
2457
  msgid "Duplicate"
2458
  msgstr ""
2459
 
2460
+ #: build/wp-user-avatar/src/Admin/SettingsPages/FormList.php:242
2461
+ #: build/wp-user-avatar/src/Classes/FormPreviewHandler.php:45
2462
+ #: build/wp-user-avatar/src/Functions/custom-settings-api.php:857
2463
+ #: src/Admin/SettingsPages/FormList.php:242
2464
  #: src/Classes/FormPreviewHandler.php:45
2465
+ #: src/Functions/custom-settings-api.php:857
2466
  msgid "Preview"
2467
  msgstr ""
2468
 
2469
+ #: build/wp-user-avatar/src/Admin/SettingsPages/FormList.php:273
2470
+ #: src/Admin/SettingsPages/FormList.php:273
2471
  msgid "Drag & Drop"
2472
  msgstr ""
2473
 
2474
+ #: build/wp-user-avatar/src/Admin/SettingsPages/Forms.php:47
2475
+ #: build/wp-user-avatar/src/Admin/SettingsPages/Forms.php:73
2476
  #: src/Admin/SettingsPages/Forms.php:47 src/Admin/SettingsPages/Forms.php:73
2477
  msgid "Forms & Profiles"
2478
  msgstr ""
2479
 
2480
+ #: build/wp-user-avatar/src/Admin/SettingsPages/Forms.php:50
2481
  #: src/Admin/SettingsPages/Forms.php:50
2482
  msgid "Edit Form"
2483
  msgstr ""
2484
 
2485
+ #: build/wp-user-avatar/src/Admin/SettingsPages/Forms.php:54
2486
  #: src/Admin/SettingsPages/Forms.php:54
2487
  msgid "Add Form"
2488
  msgstr ""
2489
 
2490
+ #: build/wp-user-avatar/src/Admin/SettingsPages/Forms.php:58
2491
+ #: build/wp-user-avatar/src/Admin/SettingsPages/Forms.php:62
2492
  #: src/Admin/SettingsPages/Forms.php:58 src/Admin/SettingsPages/Forms.php:62
2493
  msgid "Edit Frontend Profile"
2494
  msgstr ""
2495
 
2496
+ #: build/wp-user-avatar/src/Admin/SettingsPages/Forms.php:93
2497
  #: src/Admin/SettingsPages/Forms.php:93
2498
  msgid ""
2499
  "Melange combines login, registration & password reset forms in a single form."
2500
  msgstr ""
2501
 
2502
+ #: build/wp-user-avatar/src/Admin/SettingsPages/Forms.php:110
2503
  #: src/Admin/SettingsPages/Forms.php:110
2504
  msgid "Filter by Type"
2505
  msgstr ""
2506
 
2507
+ #: build/wp-user-avatar/src/Admin/SettingsPages/Forms.php:114
2508
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:189
2509
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:305
2510
+ #: build/wp-user-avatar/src/Classes/AjaxHandler.php:54
2511
+ #: build/wp-user-avatar/src/NavigationMenuLinks/Backend.php:34
2512
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/GlobalShortcodes.php:237
2513
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:180
2514
+ #: build/wp-user-avatar/src/Widgets/TabbedWidget.php:113
2515
  #: src/Admin/SettingsPages/Forms.php:114
2516
+ #: src/Admin/SettingsPages/GeneralSettings.php:189
2517
+ #: src/Admin/SettingsPages/GeneralSettings.php:305
2518
+ #: src/Classes/AjaxHandler.php:54 src/NavigationMenuLinks/Backend.php:34
2519
+ #: src/ShortcodeParser/Builder/GlobalShortcodes.php:237
 
 
2520
  #: src/Themes/DragDrop/AbstractBuildScratch.php:180
2521
  #: src/Widgets/TabbedWidget.php:113
2522
  msgid "Login"
2523
  msgstr ""
2524
 
2525
+ #: build/wp-user-avatar/src/Admin/SettingsPages/Forms.php:119
2526
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:175
2527
+ #: build/wp-user-avatar/src/Classes/AjaxHandler.php:59
2528
  #: src/Admin/SettingsPages/Forms.php:119
2529
+ #: src/Admin/SettingsPages/GeneralSettings.php:175
2530
+ #: src/Classes/AjaxHandler.php:59
2531
  msgid "Registration"
2532
  msgstr ""
2533
 
2534
+ #: build/wp-user-avatar/src/Admin/SettingsPages/Forms.php:125
2535
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:315
2536
+ #: build/wp-user-avatar/src/Classes/AjaxHandler.php:64
2537
  #: src/Admin/SettingsPages/Forms.php:125
2538
+ #: src/Admin/SettingsPages/GeneralSettings.php:315
2539
+ #: src/Classes/AjaxHandler.php:64
2540
  msgid "Password Reset"
2541
  msgstr ""
2542
 
2543
+ #: build/wp-user-avatar/src/Admin/SettingsPages/Forms.php:130
2544
+ #: build/wp-user-avatar/src/Classes/AjaxHandler.php:69
2545
+ #: build/wp-user-avatar/src/NavigationMenuLinks/Backend.php:32
2546
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/GlobalShortcodes.php:302
2547
+ #: src/Admin/SettingsPages/Forms.php:130 src/Classes/AjaxHandler.php:69
2548
+ #: src/NavigationMenuLinks/Backend.php:32
2549
+ #: src/ShortcodeParser/Builder/GlobalShortcodes.php:302
2550
  msgid "Edit Profile"
2551
  msgstr ""
2552
 
2553
+ #: build/wp-user-avatar/src/Admin/SettingsPages/Forms.php:137
2554
+ #: build/wp-user-avatar/src/Classes/AjaxHandler.php:75
2555
+ #: src/Admin/SettingsPages/Forms.php:137 src/Classes/AjaxHandler.php:75
2556
  msgid "Melange"
2557
  msgstr ""
2558
 
2559
+ #: build/wp-user-avatar/src/Admin/SettingsPages/Forms.php:145
2560
+ #: build/wp-user-avatar/src/Classes/AjaxHandler.php:82
2561
+ #: src/Admin/SettingsPages/Forms.php:145 src/Classes/AjaxHandler.php:82
2562
  msgid "User Profile"
2563
  msgstr ""
2564
 
2565
+ #: build/wp-user-avatar/src/Admin/SettingsPages/Forms.php:177
2566
  #: src/Admin/SettingsPages/Forms.php:177
2567
  msgid "Forms"
2568
  msgstr ""
2569
 
2570
+ #: build/wp-user-avatar/src/Admin/SettingsPages/Forms.php:219
2571
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MemberDirectories.php:114
2572
  #: src/Admin/SettingsPages/Forms.php:219
2573
  #: src/Admin/SettingsPages/MemberDirectories.php:114
2574
  msgid "Live Preview"
2575
  msgstr ""
2576
 
2577
+ #: build/wp-user-avatar/src/Admin/SettingsPages/Forms.php:299
2578
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MemberDirectories.php:211
2579
  #: src/Admin/SettingsPages/Forms.php:299
2580
  #: src/Admin/SettingsPages/MemberDirectories.php:211
 
2581
  msgid "Add New"
2582
  msgstr ""
2583
 
2584
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:61
2585
+ #: src/Admin/SettingsPages/GeneralSettings.php:61
2586
  msgid "Integrations"
2587
  msgstr ""
2588
 
2589
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:65
2590
+ #: src/Admin/SettingsPages/GeneralSettings.php:65
2591
  msgid "Premium Addons"
2592
  msgstr ""
2593
 
2594
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:82
2595
+ #: build/wp-user-avatar/src/Admin/SettingsPages/ToolsSettingsPage.php:18
2596
+ #: build/wp-user-avatar/src/Admin/SettingsPages/ToolsSettingsPage.php:61
2597
+ #: src/Admin/SettingsPages/GeneralSettings.php:82
2598
  #: src/Admin/SettingsPages/ToolsSettingsPage.php:18
2599
  #: src/Admin/SettingsPages/ToolsSettingsPage.php:61
2600
  msgid "Tools"
2601
  msgstr ""
2602
 
2603
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:108
2604
+ #: src/Admin/SettingsPages/GeneralSettings.php:108
2605
  msgid "My Account edit profile form (default)"
2606
  msgstr ""
2607
 
2608
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:111
2609
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:293
2610
+ #: src/Admin/SettingsPages/GeneralSettings.php:111
2611
+ #: src/Admin/SettingsPages/GeneralSettings.php:293
2612
  msgid "Currently viewed page"
2613
  msgstr ""
2614
 
2615
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:112
2616
+ #: src/Admin/SettingsPages/GeneralSettings.php:112
2617
  msgid "Previous/Referrer page (Pro feature)"
2618
  msgstr ""
2619
 
2620
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:113
2621
+ #: src/Admin/SettingsPages/GeneralSettings.php:113
2622
  msgid "WordPress Dashboard"
2623
  msgstr ""
2624
 
2625
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:117
2626
+ #: src/Admin/SettingsPages/GeneralSettings.php:117
2627
  msgid "Previous/Referrer page"
2628
  msgstr ""
2629
 
2630
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:122
2631
+ #: src/Admin/SettingsPages/GeneralSettings.php:122
2632
  msgid "Global"
2633
  msgstr ""
2634
 
2635
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:125
2636
+ #: src/Admin/SettingsPages/GeneralSettings.php:125
2637
  msgid "Global Settings"
2638
  msgstr ""
2639
 
2640
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:128
2641
+ #: src/Admin/SettingsPages/GeneralSettings.php:128
2642
+ msgid "Password-reset Page"
 
 
 
2643
  msgstr ""
2644
 
2645
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:131
2646
+ #: src/Admin/SettingsPages/GeneralSettings.php:131
2647
  msgid ""
2648
+ "Select the page you wish to make WordPress default \"Lost Password page\". "
2649
+ "%3$s This should be the page that contains a %1$spassword reset form "
2650
+ "shortcode%2$s."
2651
  msgstr ""
2652
 
2653
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:136
2654
+ #: src/Admin/SettingsPages/GeneralSettings.php:136
2655
+ msgid "Login Page"
2656
  msgstr ""
2657
 
2658
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:139
2659
+ #: src/Admin/SettingsPages/GeneralSettings.php:139
2660
+ msgid ""
2661
+ "Select the page you wish to make WordPress default Login page. %3$s This "
2662
+ "should be the page that contains a %1$slogin form shortcode%2$s."
2663
  msgstr ""
2664
 
2665
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:144
2666
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:391
2667
+ #: src/Admin/SettingsPages/GeneralSettings.php:144
2668
+ #: src/Admin/SettingsPages/GeneralSettings.php:391
2669
+ msgid "Registration Page"
2670
  msgstr ""
2671
 
2672
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:147
2673
+ #: src/Admin/SettingsPages/GeneralSettings.php:147
2674
  msgid ""
2675
+ "Select the page you wish to make WordPress default Registration page. %3$s "
2676
+ "This should be the page that contains a %1$sregistration form shortcode%2$s."
2677
  msgstr ""
2678
 
2679
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:152
2680
+ #: src/Admin/SettingsPages/GeneralSettings.php:152
2681
+ msgid "My Account Page"
2682
  msgstr ""
2683
 
2684
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:155
2685
+ #: src/Admin/SettingsPages/GeneralSettings.php:155
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2686
  msgid ""
2687
  "Select a page that contains %3$s shortcode. You can also use an %1$sedit "
2688
  "profile shortcode%2$s on the My Account page in case you want something "
2689
  "custom."
2690
  msgstr ""
2691
 
2692
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:160
2693
+ #: src/Admin/SettingsPages/GeneralSettings.php:160
2694
+ msgid "Disable Ajax Mode"
 
 
 
 
 
 
 
 
 
2695
  msgstr ""
2696
 
2697
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:162
2698
+ #: src/Admin/SettingsPages/GeneralSettings.php:162
2699
+ msgid "Disable"
2700
  msgstr ""
2701
 
2702
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:163
2703
+ #: src/Admin/SettingsPages/GeneralSettings.php:163
2704
  msgid ""
2705
+ "Check this box to disable ajax behaviour(whereby forms do not require page "
2706
+ "reload when submitted) in forms."
 
 
 
 
 
 
 
 
2707
  msgstr ""
2708
 
2709
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:168
2710
+ #: src/Admin/SettingsPages/GeneralSettings.php:168
2711
+ msgid "Remove Data on Uninstall"
2712
  msgstr ""
2713
 
2714
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:170
2715
+ #: src/Admin/SettingsPages/GeneralSettings.php:170
2716
  msgid ""
2717
+ "Check this box if you would like ProfilePress to completely remove all of "
2718
+ "its data when the plugin is deleted."
2719
  msgstr ""
2720
 
2721
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:181
2722
+ #: src/Admin/SettingsPages/GeneralSettings.php:181
2723
  msgid "Auto-login after registration"
2724
  msgstr ""
2725
 
2726
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:182
2727
+ #: src/Admin/SettingsPages/GeneralSettings.php:182
2728
  msgid "Enable auto-login"
2729
  msgstr ""
2730
 
2731
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:184
2732
+ #: src/Admin/SettingsPages/GeneralSettings.php:184
2733
  msgid ""
2734
  "Check this option to automatically login users after successful registration."
2735
  msgstr ""
2736
 
2737
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:196
2738
+ #: src/Admin/SettingsPages/GeneralSettings.php:196
2739
  msgid "Email Address and Username (default)"
2740
  msgstr ""
2741
 
2742
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:197
2743
+ #: src/Admin/SettingsPages/GeneralSettings.php:197
2744
  msgid "Email Address Only"
2745
  msgstr ""
2746
 
2747
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:198
2748
+ #: src/Admin/SettingsPages/GeneralSettings.php:198
2749
  msgid "Username Only"
2750
  msgstr ""
2751
 
2752
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:201
2753
+ #: src/Admin/SettingsPages/GeneralSettings.php:201
2754
  msgid "Login with Email or Username"
2755
  msgstr ""
2756
 
2757
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:202
2758
+ #: src/Admin/SettingsPages/GeneralSettings.php:202
2759
  msgid ""
2760
  "By default, WordPress allows users to log in using either an email address "
2761
  "or username. This setting allows you to restrict logins to only accept email "
2762
  "addresses or usernames."
2763
  msgstr ""
2764
 
2765
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:207
2766
+ #: build/wp-user-avatar/src/RegisterActivation/Base.php:167
2767
+ #: src/Admin/SettingsPages/GeneralSettings.php:207
2768
+ #: src/RegisterActivation/Base.php:167
2769
  msgid "My Account"
2770
  msgstr ""
2771
 
2772
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:208
2773
+ #: src/Admin/SettingsPages/GeneralSettings.php:208
2774
  msgid "My Account Settings"
2775
  msgstr ""
2776
 
2777
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:212
2778
+ #: src/Admin/SettingsPages/GeneralSettings.php:212
2779
  msgid "Redirect Default Edit Profile"
2780
  msgstr ""
2781
 
2782
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:213
2783
+ #: build/wp-user-avatar/src/ContentProtection/WPListTable.php:93
2784
+ #: build/wp-user-avatar/src/Functions/custom-settings-api.php:1008
2785
+ #: src/Admin/SettingsPages/GeneralSettings.php:213
 
2786
  #: src/ContentProtection/WPListTable.php:93
2787
+ #: src/Functions/custom-settings-api.php:1008
2788
  msgid "Activate"
2789
  msgstr ""
2790
 
2791
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:216
2792
+ #: src/Admin/SettingsPages/GeneralSettings.php:216
2793
  msgid ""
2794
  "Redirect <a target=\"_blank\" href=\"%s\">default WordPress profile</a> to "
2795
  "My Account page."
2796
  msgstr ""
2797
 
2798
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:223
2799
+ #: src/Admin/SettingsPages/GeneralSettings.php:223
2800
  msgid "Edit Account Endpoint"
2801
  msgstr ""
2802
 
2803
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:224
2804
+ #: src/Admin/SettingsPages/GeneralSettings.php:224
2805
  msgid "Endpoint for the \"My Account → Account Details\" page."
2806
  msgstr ""
2807
 
2808
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:229
2809
+ #: src/Admin/SettingsPages/GeneralSettings.php:229
2810
  msgid "Change Password Endpoint"
2811
  msgstr ""
2812
 
2813
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:230
2814
+ #: src/Admin/SettingsPages/GeneralSettings.php:230
2815
  msgid "Endpoint for the \"My Account → Change Password\" page."
2816
  msgstr ""
2817
 
2818
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:235
2819
+ #: src/Admin/SettingsPages/GeneralSettings.php:235
2820
  msgid "Account Details Form"
2821
  msgstr ""
2822
 
2823
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:236
2824
+ #: src/Admin/SettingsPages/GeneralSettings.php:236
2825
  msgid ""
2826
  "Do you want to replace the default form in \"My Account → Account Details\" "
2827
  "page? select an Edit Profile form that will replace it."
2828
  msgstr ""
2829
 
2830
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:240
2831
+ #: src/Admin/SettingsPages/GeneralSettings.php:240
2832
  msgid "Frontend Profile"
2833
  msgstr ""
2834
 
2835
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:241
2836
+ #: src/Admin/SettingsPages/GeneralSettings.php:241
2837
  msgid "Frontend Profile Settings"
2838
  msgstr ""
2839
 
2840
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:245
2841
+ #: src/Admin/SettingsPages/GeneralSettings.php:245
2842
  msgid "Page with Profile Shortcode"
2843
  msgstr ""
2844
 
2845
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:247
2846
+ #: src/Admin/SettingsPages/GeneralSettings.php:247
2847
  msgid ""
2848
  "Select the page that contains your <a href=\"%s\">Frontend user profile "
2849
  "shortcode</a>."
2850
  msgstr ""
2851
 
2852
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:252
2853
+ #: src/Admin/SettingsPages/GeneralSettings.php:252
2854
  msgid "Profile Slug"
2855
  msgstr ""
2856
 
2857
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:253
2858
+ #: src/Admin/SettingsPages/GeneralSettings.php:253
2859
  msgid ""
2860
  "Enter your preferred profile URL slug. Default to \"profile\" if empty. If "
2861
  "slug is \"profile\", URL becomes %s where \"john\" is a user's username."
2862
  msgstr ""
2863
 
2864
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:257
2865
+ #: src/Admin/SettingsPages/GeneralSettings.php:257
2866
  msgid "Disable Guests from Viewing Profiles"
2867
  msgstr ""
2868
 
2869
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:258
2870
+ #: src/Admin/SettingsPages/GeneralSettings.php:258
2871
  msgid ""
2872
  "Enable this option to stop disable guests or non-registered users from "
2873
  "viewing users profiles."
2874
  msgstr ""
2875
 
2876
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:263
2877
+ #: src/Admin/SettingsPages/GeneralSettings.php:263
2878
  msgid "Disable Members from Viewing Profiles"
2879
  msgstr ""
2880
 
2881
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:264
2882
+ #: src/Admin/SettingsPages/GeneralSettings.php:264
2883
  msgid ""
2884
  "Enable this option to stop members from viewing other users profiles. If "
2885
  "enabled, users can only see their own profile."
2886
  msgstr ""
2887
 
2888
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:269
2889
+ #: src/Admin/SettingsPages/GeneralSettings.php:269
2890
  msgid "Comment Author URL to Profile"
2891
  msgstr ""
2892
 
2893
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:270
2894
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:277
2895
+ #: src/Admin/SettingsPages/GeneralSettings.php:270
2896
+ #: src/Admin/SettingsPages/GeneralSettings.php:277
2897
  msgid "Enable option"
2898
  msgstr ""
2899
 
2900
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:272
2901
+ #: src/Admin/SettingsPages/GeneralSettings.php:272
2902
  msgid "Change URL of comment authors to their ProfilePress front-end profile."
2903
  msgstr ""
2904
 
2905
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:276
2906
+ #: src/Admin/SettingsPages/GeneralSettings.php:276
2907
  msgid "Authors Page to Profile"
2908
  msgstr ""
2909
 
2910
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:279
2911
+ #: src/Admin/SettingsPages/GeneralSettings.php:279
2912
  msgid "Change and redirect authors pages %s to their front-end profiles %s."
2913
  msgstr ""
2914
 
2915
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:284
2916
+ #: src/Admin/SettingsPages/GeneralSettings.php:284
2917
  msgid "Redirection"
2918
  msgstr ""
2919
 
2920
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:285
2921
+ #: src/Admin/SettingsPages/GeneralSettings.php:285
2922
  msgid "Redirection Settings"
2923
  msgstr ""
2924
 
2925
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:289
2926
+ #: build/wp-user-avatar/src/Widgets/TabbedWidget.php:224
2927
+ #: src/Admin/SettingsPages/GeneralSettings.php:289
2928
  #: src/Widgets/TabbedWidget.php:224
2929
  msgid "Log out"
2930
  msgstr ""
2931
 
2932
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:298
2933
+ #: src/Admin/SettingsPages/GeneralSettings.php:298
2934
  msgid ""
2935
  "Select the page users will be redirected to after logout. To redirect to a "
2936
  "custom URL instead of a selected page, enter the URL in input field directly "
2937
  "above this description."
2938
  msgstr ""
2939
 
2940
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:299
2941
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:309
2942
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:326
2943
+ #: src/Admin/SettingsPages/GeneralSettings.php:299
2944
+ #: src/Admin/SettingsPages/GeneralSettings.php:309
2945
+ #: src/Admin/SettingsPages/GeneralSettings.php:326
2946
  msgid "Leave the \"custom URL\" field empty to fallback to the selected page."
2947
  msgstr ""
2948
 
2949
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:308
2950
+ #: src/Admin/SettingsPages/GeneralSettings.php:308
2951
  msgid ""
2952
  "Select the page or custom URL users will be redirected to after login. To "
2953
  "redirect to a custom URL instead of a selected page, enter the URL in input "
2954
  "field directly above this description"
2955
  msgstr ""
2956
 
2957
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:320
2958
+ #: src/Admin/SettingsPages/GeneralSettings.php:320
2959
  msgid "Default.."
2960
  msgstr ""
2961
 
2962
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:325
2963
+ #: src/Admin/SettingsPages/GeneralSettings.php:325
2964
  msgid ""
2965
  "Select the page or custom URL users will be redirected to after they "
2966
  "successfully reset or change their password. To redirect to a custom URL "
2968
  "description."
2969
  msgstr ""
2970
 
2971
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:332
2972
+ #: build/wp-user-avatar/src/ContentProtection/WPListTable.php:30
2973
+ #: src/Admin/SettingsPages/GeneralSettings.php:332
2974
  #: src/ContentProtection/WPListTable.php:30
2975
  msgid "Access"
2976
  msgstr ""
2977
 
2978
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:333
2979
+ #: src/Admin/SettingsPages/GeneralSettings.php:333
2980
  msgid "Access Settings"
2981
  msgstr ""
2982
 
2983
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:339
2984
+ #: src/Admin/SettingsPages/GeneralSettings.php:339
2985
  msgid ""
2986
  "%sNote:%s Access setting takes precedence over %sContent Protection rules%s."
2987
  msgstr ""
2988
 
2989
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:345
2990
+ #: src/Admin/SettingsPages/GeneralSettings.php:345
2991
  msgid "Global Site Access"
2992
  msgstr ""
2993
 
2994
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:347
2995
+ #: src/Admin/SettingsPages/GeneralSettings.php:347
2996
  msgid "Accessible to Everyone"
2997
  msgstr ""
2998
 
2999
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:348
3000
+ #: src/Admin/SettingsPages/GeneralSettings.php:348
3001
  msgid "Accessible to Logged-in Users"
3002
  msgstr ""
3003
 
3004
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:353
3005
+ #: src/Admin/SettingsPages/GeneralSettings.php:353
3006
  msgid "Redirect Page"
3007
  msgstr ""
3008
 
3009
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:355
3010
+ #: src/Admin/SettingsPages/GeneralSettings.php:355
3011
  msgid ""
3012
  "Select the page or custom URL to redirect users that are not logged in to."
3013
  msgstr ""
3014
 
3015
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:359
3016
+ #: src/Admin/SettingsPages/GeneralSettings.php:359
3017
  msgid "Pages to Exclude"
3018
  msgstr ""
3019
 
3020
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:365
3021
+ #: src/Admin/SettingsPages/GeneralSettings.php:365
3022
  msgid ""
3023
  "Select the pages to exclude beside the redirect page that will be accessible "
3024
  "by everyone."
3025
  msgstr ""
3026
 
3027
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:371
3028
+ #: src/Admin/SettingsPages/GeneralSettings.php:371
3029
  msgid "Accessible Homepage"
3030
  msgstr ""
3031
 
3032
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:372
3033
+ #: src/Admin/SettingsPages/GeneralSettings.php:372
3034
  msgid "Check to allow homepage to be accessible by everyone."
3035
  msgstr ""
3036
 
3037
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:376
3038
+ #: build/wp-user-avatar/src/ContentProtection/Frontend/PostContent.php:64
3039
+ #: src/Admin/SettingsPages/GeneralSettings.php:376
3040
+ #: src/ContentProtection/Frontend/PostContent.php:64
3041
  msgid "You are unauthorized to view this page."
3042
  msgstr ""
3043
 
3044
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:377
3045
+ #: src/Admin/SettingsPages/GeneralSettings.php:377
3046
  msgid "Global Restricted Access Message"
3047
  msgstr ""
3048
 
3049
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:378
3050
+ #: src/Admin/SettingsPages/GeneralSettings.php:378
3051
  msgid ""
3052
  "This is the message shown to users that do not have permission to view the "
3053
  "content."
3054
  msgstr ""
3055
 
3056
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:385
3057
+ #: src/Admin/SettingsPages/GeneralSettings.php:385
3058
  msgid "BuddyPress"
3059
  msgstr ""
3060
 
3061
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:386
3062
+ #: src/Admin/SettingsPages/GeneralSettings.php:386
3063
  msgid "BuddyPress Settings"
3064
  msgstr ""
3065
 
3066
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:392
3067
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:399
3068
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:406
3069
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:422
3070
+ #: src/Admin/SettingsPages/GeneralSettings.php:392
3071
+ #: src/Admin/SettingsPages/GeneralSettings.php:399
3072
+ #: src/Admin/SettingsPages/GeneralSettings.php:406
3073
+ #: src/Admin/SettingsPages/GeneralSettings.php:422
3074
  msgid "Check to enable"
3075
  msgstr ""
3076
 
3077
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:393
3078
+ #: src/Admin/SettingsPages/GeneralSettings.php:393
3079
  msgid "Check to redirect BuddyPress registration page to your selected %s"
3080
  msgstr ""
3081
 
3082
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:397
3083
+ #: src/Admin/SettingsPages/GeneralSettings.php:397
3084
  msgid "Override Avatar"
3085
  msgstr ""
3086
 
3087
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:400
3088
+ #: src/Admin/SettingsPages/GeneralSettings.php:400
3089
  msgid ""
3090
  "Check to override BuddyPress users uploaded avatars with that of "
3091
  "ProfilePress."
3092
  msgstr ""
3093
 
3094
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:405
3095
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:421
3096
+ #: src/Admin/SettingsPages/GeneralSettings.php:405
3097
+ #: src/Admin/SettingsPages/GeneralSettings.php:421
3098
  msgid "Override Profile URL"
3099
  msgstr ""
3100
 
3101
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:407
3102
+ #: src/Admin/SettingsPages/GeneralSettings.php:407
3103
  msgid ""
3104
  "Check to change the profile URL of BuddyPress users to ProfilePress front-"
3105
  "end profile."
3106
  msgstr ""
3107
 
3108
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:415
3109
+ #: src/Admin/SettingsPages/GeneralSettings.php:415
3110
  msgid "bbPress"
3111
  msgstr ""
3112
 
3113
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:416
3114
+ #: src/Admin/SettingsPages/GeneralSettings.php:416
3115
  msgid "bbPress Settings"
3116
  msgstr ""
3117
 
3118
+ #: build/wp-user-avatar/src/Admin/SettingsPages/GeneralSettings.php:423
3119
+ #: src/Admin/SettingsPages/GeneralSettings.php:423
3120
  msgid "Check to change bbPress profile URL to ProfilePress front-end profile."
3121
  msgstr ""
3122
 
3123
+ #: build/wp-user-avatar/src/Admin/SettingsPages/IDUserColumn.php:20
3124
  #: src/Admin/SettingsPages/IDUserColumn.php:20
3125
  msgid "ID"
3126
  msgstr ""
3127
 
3128
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:51
3129
  #: src/Admin/SettingsPages/MailOptin.php:51
3130
  msgid "There was an error while performing your request."
3131
  msgstr ""
3132
 
3133
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:63
3134
  #: src/Admin/SettingsPages/MailOptin.php:63
3135
  msgid "Could not install plugin. Please download and install manually."
3136
  msgstr ""
3137
 
3138
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:63
3139
  #: src/Admin/SettingsPages/MailOptin.php:63
3140
  msgid ""
3141
  "Could not install addon. Please download from wpforms.com and install "
3142
  "manually."
3143
  msgstr ""
3144
 
3145
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:131
3146
  #: src/Admin/SettingsPages/MailOptin.php:131
3147
  msgid "Plugin installed."
3148
  msgstr ""
3149
 
3150
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:131
3151
  #: src/Admin/SettingsPages/MailOptin.php:131
3152
  msgid "Addon installed."
3153
  msgstr ""
3154
 
3155
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:141
3156
  #: src/Admin/SettingsPages/MailOptin.php:141
3157
  msgid "Plugin installed & activated."
3158
  msgstr ""
3159
 
3160
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:141
3161
  #: src/Admin/SettingsPages/MailOptin.php:141
3162
  msgid "Addon installed & activated."
3163
  msgstr ""
3164
 
3165
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:157
3166
  #: src/Admin/SettingsPages/MailOptin.php:157
3167
  msgid "Plugin activation is disabled for you on this site."
3168
  msgstr ""
3169
 
3170
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:166
3171
  #: src/Admin/SettingsPages/MailOptin.php:166
3172
  msgid "Plugin activated."
3173
  msgstr ""
3174
 
3175
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:170
3176
  #: src/Admin/SettingsPages/MailOptin.php:170
3177
  msgid "Could not activate plugin. Please activate from the Plugins page."
3178
  msgstr ""
3179
 
3180
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:178
3181
  #: src/Admin/SettingsPages/MailOptin.php:178
3182
  msgid "Popups & Optins"
3183
  msgstr ""
3184
 
3185
  #. translators: %s - Lite plugin download URL.
3186
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:209
3187
  #: src/Admin/SettingsPages/MailOptin.php:209
3188
  msgid ""
3189
  "Could not install plugin. Please <a href=\"%s\">download</a> and install "
3191
  msgstr ""
3192
 
3193
  #. translators: %s - Lite plugin download URL.
3194
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:221
3195
  #: src/Admin/SettingsPages/MailOptin.php:221
3196
  msgid ""
3197
  "Could not activate plugin. Please activate from the <a href=\"%s\">Plugins "
3198
  "page</a>."
3199
  msgstr ""
3200
 
3201
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:232
3202
  #: src/Admin/SettingsPages/MailOptin.php:232
3203
  msgid "Installing..."
3204
  msgstr ""
3205
 
3206
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:233
3207
  #: src/Admin/SettingsPages/MailOptin.php:233
3208
  msgid "Activating..."
3209
  msgstr ""
3210
 
3211
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:234
3212
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:596
3213
  #: src/Admin/SettingsPages/MailOptin.php:234
3214
  #: src/Admin/SettingsPages/MailOptin.php:596
3215
  msgid "MailOptin Installed & Activated"
3216
  msgstr ""
3217
 
3218
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:235
3219
  #: src/Admin/SettingsPages/MailOptin.php:235
3220
  msgid "Install Now"
3221
  msgstr ""
3222
 
3223
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:236
3224
  #: src/Admin/SettingsPages/MailOptin.php:236
3225
  msgid "Activate Now"
3226
  msgstr ""
3227
 
3228
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:237
3229
  #: src/Admin/SettingsPages/MailOptin.php:237
3230
  msgid "Download Now"
3231
  msgstr ""
3232
 
3233
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:238
3234
  #: src/Admin/SettingsPages/MailOptin.php:238
3235
  msgid "Go to Plugins page"
3236
  msgstr ""
3237
 
3238
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:243
3239
  #: src/Admin/SettingsPages/MailOptin.php:243
3240
  msgid "Go to MailOptin Settings"
3241
  msgstr ""
3242
 
3243
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:472
3244
  #: src/Admin/SettingsPages/MailOptin.php:472
3245
  msgid "ProfilePress ♥ MailOptin"
3246
  msgstr ""
3247
 
3248
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:473
3249
  #: src/Admin/SettingsPages/MailOptin.php:473
3250
  msgid "#1 Popup, Optin Forms & Marketing Automation Plugin"
3251
  msgstr ""
3252
 
3253
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:474
3254
  #: src/Admin/SettingsPages/MailOptin.php:474
3255
  msgid ""
3256
  "MailOptin lets you create popups and newsletter opt-in forms that integrates "
3257
  "with Mailchimp, Aweber, Constant Contact, Active Campaign & more."
3258
  msgstr ""
3259
 
3260
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:497
3261
  #: src/Admin/SettingsPages/MailOptin.php:497
3262
  msgid "MailOptin screenshot"
3263
  msgstr ""
3264
 
3265
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:498
3266
  #: src/Admin/SettingsPages/MailOptin.php:498
3267
  msgid ""
3268
  "Automatically notify your subscribers every time you publish a new post."
3269
  msgstr ""
3270
 
3271
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:499
3272
  #: src/Admin/SettingsPages/MailOptin.php:499
3273
  msgid ""
3274
  "Keep your subscribers engaged with daily, weekly and monthly email digest of "
3275
  "published posts."
3276
  msgstr ""
3277
 
3278
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:500
3279
  #: src/Admin/SettingsPages/MailOptin.php:500
3280
  msgid ""
3281
  "Different types of opt-in form including Popup, notification bar, inline, "
3282
  "scroll box, slide ins, sidebar forms."
3283
  msgstr ""
3284
 
3285
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:501
3286
  #: src/Admin/SettingsPages/MailOptin.php:501
3287
  msgid ""
3288
  "Page-level targeting and optin triggers to build hyper segmented email list."
3289
  msgstr ""
3290
 
3291
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:502
3292
  #: src/Admin/SettingsPages/MailOptin.php:502
3293
  msgid ""
3294
  "Analytics with actionable reporting & insights to improve your lead-"
3295
  "generation strategy."
3296
  msgstr ""
3297
 
3298
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:530
3299
  #: src/Admin/SettingsPages/MailOptin.php:530
3300
  msgid "Step 1"
3301
  msgstr ""
3302
 
3303
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:531
3304
  #: src/Admin/SettingsPages/MailOptin.php:531
3305
  msgid "Install and Activate MailOptin"
3306
  msgstr ""
3307
 
3308
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:532
3309
  #: src/Admin/SettingsPages/MailOptin.php:532
3310
  msgid "Install MailOptin from the WordPress.org plugin repository."
3311
  msgstr ""
3312
 
3313
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:565
3314
  #: src/Admin/SettingsPages/MailOptin.php:565
3315
  msgid "Step 2"
3316
  msgstr ""
3317
 
3318
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:566
3319
  #: src/Admin/SettingsPages/MailOptin.php:566
3320
  msgid "Set Up MailOptin"
3321
  msgstr ""
3322
 
3323
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:567
3324
  #: src/Admin/SettingsPages/MailOptin.php:567
3325
  msgid "Configure and create your first optin form."
3326
  msgstr ""
3327
 
3328
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:588
3329
  #: src/Admin/SettingsPages/MailOptin.php:588
3330
  msgid "Install MailOptin"
3331
  msgstr ""
3332
 
3333
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:596
3334
  #: src/Admin/SettingsPages/MailOptin.php:596
3335
  msgid "Activate MailOptin"
3336
  msgstr ""
3337
 
3338
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:614
3339
  #: src/Admin/SettingsPages/MailOptin.php:614
3340
  msgid "Start Setup"
3341
  msgstr ""
3342
 
3343
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:620
3344
  #: src/Admin/SettingsPages/MailOptin.php:620
3345
  msgid "Go to MailOptin settings"
3346
  msgstr ""
3347
 
3348
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:641
3349
  #: src/Admin/SettingsPages/MailOptin.php:641
3350
  msgid "You do not have permission."
3351
  msgstr ""
3352
 
3353
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MailOptin.php:651
3354
  #: src/Admin/SettingsPages/MailOptin.php:651
3355
  msgid "Plugin unavailable."
3356
  msgstr ""
3357
 
3358
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MemberDirectories.php:37
3359
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MemberDirectories.php:55
3360
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MemberDirectories.php:91
3361
  #: src/Admin/SettingsPages/MemberDirectories.php:37
3362
  #: src/Admin/SettingsPages/MemberDirectories.php:55
3363
  #: src/Admin/SettingsPages/MemberDirectories.php:91
3364
  msgid "Member Directories"
3365
  msgstr ""
3366
 
3367
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MemberDirectories.php:44
3368
  #: src/Admin/SettingsPages/MemberDirectories.php:44
3369
  msgid "Edit Member Directory"
3370
  msgstr ""
3371
 
3372
+ #: build/wp-user-avatar/src/Admin/SettingsPages/MembersDirectoryList.php:10
3373
  #: src/Admin/SettingsPages/MembersDirectoryList.php:10
3374
  msgid "No members directory is currently available. %sConsider creating one%s"
3375
  msgstr ""
3376
 
3377
+ #: build/wp-user-avatar/src/Admin/SettingsPages/ToolsSettingsPage.php:41
3378
+ #: src/Admin/SettingsPages/ToolsSettingsPage.php:41
3379
+ msgid "Logs"
 
 
 
 
 
3380
  msgstr ""
3381
 
3382
+ #: build/wp-user-avatar/src/Admin/SettingsPages/ToolsSettingsPage.php:44
3383
+ #: src/Admin/SettingsPages/ToolsSettingsPage.php:44
3384
+ msgid "Debug Error Log"
3385
  msgstr ""
3386
 
3387
+ #: build/wp-user-avatar/src/Admin/SettingsPages/ToolsSettingsPage.php:54
3388
+ #: src/Admin/SettingsPages/ToolsSettingsPage.php:54
3389
+ msgid "Delete Log"
3390
  msgstr ""
3391
 
3392
+ #: build/wp-user-avatar/src/AdminBarDashboardAccess/Init.php:32
3393
+ #: src/AdminBarDashboardAccess/Init.php:32
3394
+ msgid "Admin Bar & Dashboard"
3395
  msgstr ""
3396
 
3397
+ #: build/wp-user-avatar/src/AdminBarDashboardAccess/Init.php:41
3398
+ #: build/wp-user-avatar/src/AdminBarDashboardAccess/Init.php:58
3399
+ #: src/AdminBarDashboardAccess/Init.php:41
3400
+ #: src/AdminBarDashboardAccess/Init.php:58
3401
+ msgid "Admin Bar & Dashboard Access"
3402
  msgstr ""
3403
 
3404
+ #: build/wp-user-avatar/src/AdminBarDashboardAccess/include.settings-page.php:19
3405
+ #: src/AdminBarDashboardAccess/include.settings-page.php:19
3406
+ msgid "Admin Bar Visibility Control"
3407
  msgstr ""
3408
 
3409
+ #: build/wp-user-avatar/src/AdminBarDashboardAccess/include.settings-page.php:26
3410
+ #: src/AdminBarDashboardAccess/include.settings-page.php:26
3411
+ msgid "Disable Admin Bar"
3412
  msgstr ""
3413
 
3414
+ #: build/wp-user-avatar/src/AdminBarDashboardAccess/include.settings-page.php:31
3415
+ #: src/AdminBarDashboardAccess/include.settings-page.php:31
3416
+ msgid "Check to disable admin bar."
3417
  msgstr ""
3418
 
3419
+ #: build/wp-user-avatar/src/AdminBarDashboardAccess/include.settings-page.php:37
3420
+ #: src/AdminBarDashboardAccess/include.settings-page.php:37
3421
+ msgid "Admin Bar Control"
3422
  msgstr ""
3423
 
3424
+ #: build/wp-user-avatar/src/AdminBarDashboardAccess/include.settings-page.php:47
3425
+ #: src/AdminBarDashboardAccess/include.settings-page.php:47
3426
+ msgid ""
3427
+ "Select the user roles that the admin bar will be disabled for. It will be "
3428
+ "disabled for everyone except admins if none is checked."
3429
  msgstr ""
3430
 
3431
+ #: build/wp-user-avatar/src/AdminBarDashboardAccess/include.settings-page.php:63
3432
+ #: build/wp-user-avatar/src/AdminBarDashboardAccess/include.settings-page.php:81
3433
+ #: src/AdminBarDashboardAccess/include.settings-page.php:63
3434
+ #: src/AdminBarDashboardAccess/include.settings-page.php:81
3435
+ msgid "Dashboard Access Control"
 
3436
  msgstr ""
3437
 
3438
+ #: build/wp-user-avatar/src/AdminBarDashboardAccess/include.settings-page.php:70
3439
+ #: src/AdminBarDashboardAccess/include.settings-page.php:70
3440
+ msgid "Disable Dashboard Access"
3441
  msgstr ""
3442
 
3443
+ #: build/wp-user-avatar/src/AdminBarDashboardAccess/include.settings-page.php:75
3444
+ #: src/AdminBarDashboardAccess/include.settings-page.php:75
3445
+ msgid "Check to disable dashboard access for everyone."
 
 
 
 
 
 
 
 
3446
  msgstr ""
3447
 
3448
+ #: build/wp-user-avatar/src/AdminBarDashboardAccess/include.settings-page.php:91
3449
+ #: src/AdminBarDashboardAccess/include.settings-page.php:91
3450
+ msgid ""
3451
+ "Select the user roles that dashboard access will be disabled for. It will be "
3452
+ "disabled for everyone except admins if none is checked."
3453
  msgstr ""
3454
 
3455
+ #: build/wp-user-avatar/src/AdminBarDashboardAccess/include.settings-page.php:97
3456
+ #: src/AdminBarDashboardAccess/include.settings-page.php:97
3457
+ msgid "Dashboard Redirect URL"
3458
  msgstr ""
3459
 
3460
+ #: build/wp-user-avatar/src/AdminBarDashboardAccess/include.settings-page.php:102
3461
+ #: src/AdminBarDashboardAccess/include.settings-page.php:102
3462
+ msgid ""
3463
+ "Enter URL to redirect users to without dashboard access. If empty, users "
3464
+ "will be redirected to website homepage."
 
3465
  msgstr ""
3466
 
3467
+ #: build/wp-user-avatar/src/Classes/AdminNotices.php:100
3468
+ #: src/Classes/AdminNotices.php:100
3469
+ msgid ""
3470
+ "Hey, I noticed you have been using ProfilePress for at least 7 days now - "
3471
+ "that's awesome! Could you please do us a BIG favor and give it a %1$s5-star "
3472
+ "rating on WordPress?%2$s This will help us spread the word and boost our "
3473
+ "motivation - thanks!"
3474
  msgstr ""
3475
 
3476
+ #: build/wp-user-avatar/src/Classes/AdminNotices.php:104
3477
+ #: src/Classes/AdminNotices.php:104
3478
+ msgid "Sure! I'd love to give a review"
3479
  msgstr ""
3480
 
3481
+ #: build/wp-user-avatar/src/Classes/AdminNotices.php:106
3482
+ #: src/Classes/AdminNotices.php:106
3483
+ msgid "Dismiss Forever"
3484
  msgstr ""
3485
 
3486
+ #: build/wp-user-avatar/src/Classes/AdminNotices.php:125
3487
+ #: src/Classes/AdminNotices.php:125
3488
+ msgid "Change Permalink Structure"
 
 
3489
  msgstr ""
3490
 
3491
+ #: build/wp-user-avatar/src/Classes/AdminNotices.php:129
3492
+ #: src/Classes/AdminNotices.php:129
3493
+ msgid ""
3494
+ "Your site permalink structure is currently set to <code>Plain</code>. This "
3495
+ "setting is not compatible with ProfilePress. Change your permalink structure "
3496
+ "to any other setting to avoid issues. We recommend <code>Post name</code>.</"
3497
+ "p><p>%s"
3498
  msgstr ""
3499
 
3500
+ #: build/wp-user-avatar/src/Classes/AdminNotices.php:151
3501
+ #: src/Classes/AdminNotices.php:151
3502
+ msgid ""
3503
+ "Important news! %1$sWP User Avatar%2$s is now %1$sProfilePress%2$s. We added "
3504
+ "new features such as member directories, frontend user registration & login "
3505
+ "forms, user profile, content protection and more. %3$sCheck Them Out%5$s | "
3506
+ "%4$sDismiss Notice%5$s"
3507
  msgstr ""
3508
 
3509
+ #: build/wp-user-avatar/src/Classes/AdminNotices.php:170
3510
+ #: src/Classes/AdminNotices.php:170
3511
+ msgid ""
3512
+ "ProfilePress needs to create several pages (User Profiles, My Account, "
3513
+ "Registration, Login, Password Reset, Member Directory) to function correctly."
3514
  msgstr ""
3515
 
3516
+ #: build/wp-user-avatar/src/Classes/AdminNotices.php:173
3517
+ #: src/Classes/AdminNotices.php:173
3518
+ msgid "Create Pages"
3519
  msgstr ""
3520
 
3521
+ #: build/wp-user-avatar/src/Classes/AdminNotices.php:173
3522
+ #: src/Classes/AdminNotices.php:173
3523
+ msgid "No Thanks"
3524
  msgstr ""
3525
 
3526
+ #: build/wp-user-avatar/src/Classes/AdminNotices.php:201
3527
+ #: src/Classes/AdminNotices.php:201
3528
+ msgid ""
3529
+ "User registration currently disabled. To enable, Go to <a href=\"%1$s"
3530
+ "\">Settings -> General</a>, and under Membership, check \"Anyone can register"
3531
+ "\""
3532
  msgstr ""
3533
 
3534
+ #: build/wp-user-avatar/src/Classes/AjaxHandler.php:45
3535
+ #: src/Classes/AjaxHandler.php:45
3536
+ msgid ""
3537
+ "Melange is a way to combine login, registration & password reset forms in a "
3538
+ "single form."
3539
  msgstr ""
3540
 
3541
+ #: build/wp-user-avatar/src/Classes/AjaxHandler.php:49
3542
+ #: src/Classes/AjaxHandler.php:49
3543
+ msgid "Select Form Type"
3544
  msgstr ""
3545
 
3546
+ #: build/wp-user-avatar/src/Classes/AjaxHandler.php:50
3547
+ #: src/Classes/AjaxHandler.php:50
3548
+ msgid "Loading..."
 
 
 
 
 
 
3549
  msgstr ""
3550
 
3551
+ #: build/wp-user-avatar/src/Classes/AjaxHandler.php:101
3552
+ #: src/Classes/AjaxHandler.php:101
3553
+ msgid "Create from Scratch"
3554
  msgstr ""
3555
 
3556
+ #: build/wp-user-avatar/src/Classes/AjaxHandler.php:107
3557
+ #: src/Classes/AjaxHandler.php:107
3558
+ msgid "Do it Yourself"
3559
  msgstr ""
3560
 
3561
+ #: build/wp-user-avatar/src/Classes/AjaxHandler.php:110
3562
+ #: src/Classes/AjaxHandler.php:110
3563
+ msgid "Get Started Creating Your Own Form"
 
3564
  msgstr ""
3565
 
3566
+ #: build/wp-user-avatar/src/Classes/AjaxHandler.php:151
3567
+ #: src/Classes/AjaxHandler.php:151
3568
+ msgid "Select this template"
 
3569
  msgstr ""
3570
 
3571
+ #: build/wp-user-avatar/src/Classes/AjaxHandler.php:152
3572
+ #: build/wp-user-avatar/src/ContentProtection/ContentConditions.php:274
3573
+ #: src/Classes/AjaxHandler.php:152
3574
+ #: src/ContentProtection/ContentConditions.php:274
3575
+ msgid "Select Template"
3576
  msgstr ""
3577
 
3578
+ #: build/wp-user-avatar/src/Classes/AjaxHandler.php:161
3579
+ #: src/Classes/AjaxHandler.php:161
3580
+ msgid "Enter a Name"
3581
  msgstr ""
3582
 
3583
+ #: build/wp-user-avatar/src/Classes/AjaxHandler.php:217
3584
+ #: build/wp-user-avatar/src/Classes/AjaxHandler.php:240
3585
+ #: build/wp-user-avatar/src/Classes/PasswordReset.php:360
3586
+ #: src/Classes/AjaxHandler.php:217 src/Classes/AjaxHandler.php:240
3587
+ #: src/Classes/PasswordReset.php:360
3588
+ msgid "Unexpected error. Please try again."
3589
  msgstr ""
3590
 
3591
+ #: build/wp-user-avatar/src/Classes/AjaxHandler.php:249
3592
+ #: src/Classes/AjaxHandler.php:249
3593
+ msgid "Form with similar name exist already."
3594
  msgstr ""
3595
 
3596
+ #: build/wp-user-avatar/src/Classes/AjaxHandler.php:532
3597
+ #: src/Classes/AjaxHandler.php:532
3598
+ msgid "Security validation failed. Try again"
 
3599
  msgstr ""
3600
 
3601
+ #: build/wp-user-avatar/src/Classes/EditUserProfile.php:28
3602
+ #: build/wp-user-avatar/src/ShortcodeParser/MyAccount/email-notifications.tmpl.php:18
3603
+ #: src/Classes/EditUserProfile.php:28
3604
+ #: src/ShortcodeParser/MyAccount/email-notifications.tmpl.php:18
3605
+ msgid "Account was updated successfully."
 
3606
  msgstr ""
3607
 
3608
+ #: build/wp-user-avatar/src/Classes/EditUserProfile.php:124
3609
+ #: src/Classes/EditUserProfile.php:124
3610
+ msgid "Email address is invalid. Please try again"
 
 
 
3611
  msgstr ""
3612
 
3613
+ #: build/wp-user-avatar/src/Classes/EditUserProfile.php:128
3614
+ #: src/Classes/EditUserProfile.php:128
3615
+ msgid "Email address confirmation is invalid. Please try again"
 
 
3616
  msgstr ""
3617
 
3618
+ #: build/wp-user-avatar/src/Classes/EditUserProfile.php:132
3619
+ #: src/Classes/EditUserProfile.php:132
3620
+ msgid "Email addresses do not match. Please try again"
 
 
3621
  msgstr ""
3622
 
3623
+ #: build/wp-user-avatar/src/Classes/EditUserProfile.php:141
3624
+ #: build/wp-user-avatar/src/Classes/EditUserProfile.php:150
3625
+ #: src/Classes/EditUserProfile.php:141 src/Classes/EditUserProfile.php:150
3626
+ msgid "Password do not match. Please try again."
3627
  msgstr ""
3628
 
3629
+ #: build/wp-user-avatar/src/Classes/EditUserProfile.php:146
3630
+ #: src/Classes/EditUserProfile.php:146
3631
+ msgid "Password is empty or do not match. Please try again."
3632
  msgstr ""
3633
 
3634
+ #: build/wp-user-avatar/src/Classes/EditUserProfile.php:322
3635
+ #: src/Classes/EditUserProfile.php:322
3636
+ msgid "Something unexpected happened. Please try again"
 
 
 
 
 
 
 
 
 
 
 
 
3637
  msgstr ""
3638
 
3639
+ #: build/wp-user-avatar/src/Classes/ExtensionManager.php:57
3640
+ #: src/Classes/ExtensionManager.php:57
3641
+ msgid ""
3642
+ "Collect unlimited additional information from users besides the standard "
3643
+ "profile data."
3644
  msgstr ""
3645
 
3646
+ #: build/wp-user-avatar/src/Classes/ExtensionManager.php:61
3647
+ #: src/Classes/ExtensionManager.php:61
3648
+ msgid "Email Confirmation"
3649
  msgstr ""
3650
 
3651
+ #: build/wp-user-avatar/src/Classes/ExtensionManager.php:63
3652
+ #: src/Classes/ExtensionManager.php:63
3653
+ msgid ""
3654
+ "Ensure newly registered users confirm their email addresses before they can "
3655
+ "log in."
3656
  msgstr ""
3657
 
3658
+ #: build/wp-user-avatar/src/Classes/ExtensionManager.php:67
3659
+ #: src/Classes/ExtensionManager.php:67
3660
+ msgid "Two-Factor Authentication (2FA)"
3661
  msgstr ""
3662
 
3663
+ #: build/wp-user-avatar/src/Classes/ExtensionManager.php:69
3664
+ #: src/Classes/ExtensionManager.php:69
3665
+ msgid ""
3666
+ "Adds an additional layer of security to users accounts by requiring more "
3667
+ "than just a password to log in."
3668
  msgstr ""
3669
 
3670
+ #: build/wp-user-avatar/src/Classes/ExtensionManager.php:73
3671
+ #: src/Classes/ExtensionManager.php:73
3672
+ msgid "User Moderation"
3673
  msgstr ""
3674
 
3675
+ #: build/wp-user-avatar/src/Classes/ExtensionManager.php:75
3676
+ #: src/Classes/ExtensionManager.php:75
3677
+ msgid ""
3678
+ "Decide whether to approve newly registered users or not. You can also block "
3679
+ "and unblock users at any time."
3680
  msgstr ""
3681
 
3682
+ #: build/wp-user-avatar/src/Classes/ExtensionManager.php:79
3683
+ #: src/Classes/ExtensionManager.php:79
3684
+ msgid "Social Login"
3685
  msgstr ""
3686
 
3687
+ #: build/wp-user-avatar/src/Classes/ExtensionManager.php:81
3688
+ #: src/Classes/ExtensionManager.php:81
3689
+ msgid ""
3690
+ "Let users easily register/login to your site using their social network "
3691
+ "accounts (Facebook, Twitter, Google, LinkedIn, GitHub, VK)."
3692
  msgstr ""
3693
 
3694
+ #: build/wp-user-avatar/src/Classes/ExtensionManager.php:87
3695
+ #: src/Classes/ExtensionManager.php:87
3696
+ msgid ""
3697
+ "Let users log in to your website via a one-time URL sent to their email "
3698
+ "addresses."
3699
  msgstr ""
3700
 
3701
+ #: build/wp-user-avatar/src/Classes/ExtensionManager.php:91
3702
+ #: src/Classes/ExtensionManager.php:91
3703
+ msgid "Google reCAPTCHA"
3704
  msgstr ""
3705
 
3706
+ #: build/wp-user-avatar/src/Classes/ExtensionManager.php:93
3707
+ #: src/Classes/ExtensionManager.php:93
3708
+ msgid "Protect your forms against spam and bot attacks."
3709
  msgstr ""
3710
 
3711
+ #: build/wp-user-avatar/src/Classes/ExtensionManager.php:97
3712
+ #: src/Classes/ExtensionManager.php:97
3713
+ msgid "Join BuddyPress Groups"
3714
  msgstr ""
3715
 
3716
+ #: build/wp-user-avatar/src/Classes/ExtensionManager.php:99
3717
+ #: src/Classes/ExtensionManager.php:99
3718
+ msgid "Let users select the BuddyPress groups to join during registration."
3719
  msgstr ""
3720
 
3721
+ #: build/wp-user-avatar/src/Classes/ExtensionManager.php:102
3722
+ #: build/wp-user-avatar/src/Classes/ExtensionManager.php:111
3723
+ #: src/Classes/ExtensionManager.php:102 src/Classes/ExtensionManager.php:111
3724
+ msgid "BuddyPress plugin is not active"
3725
  msgstr ""
3726
 
3727
+ #: build/wp-user-avatar/src/Classes/ExtensionManager.php:106
3728
+ #: src/Classes/ExtensionManager.php:106
3729
+ msgid "BuddyPress Profile Sync"
3730
  msgstr ""
3731
 
3732
+ #: build/wp-user-avatar/src/Classes/ExtensionManager.php:108
3733
+ #: src/Classes/ExtensionManager.php:108
3734
+ msgid ""
3735
+ "It provides a 2-way synchronization between WordPress profile fields and "
3736
+ "BuddyPress extended profile."
3737
  msgstr ""
3738
 
3739
+ #: build/wp-user-avatar/src/Classes/ExtensionManager.php:115
3740
+ #: src/Classes/ExtensionManager.php:115
3741
+ msgid "Site Creation"
3742
  msgstr ""
3743
 
3744
+ #: build/wp-user-avatar/src/Classes/ExtensionManager.php:117
3745
+ #: src/Classes/ExtensionManager.php:117
3746
+ msgid ""
3747
+ "Allow users to create new sites on a multisite network via a registration "
3748
+ "form powered by ProfilePress."
3749
  msgstr ""
3750
 
3751
+ #: build/wp-user-avatar/src/Classes/ExtensionManager.php:120
3752
+ #: src/Classes/ExtensionManager.php:120
3753
+ msgid "This is not a multisite installation"
 
3754
  msgstr ""
3755
 
3756
+ #: build/wp-user-avatar/src/Classes/ExtensionManager.php:124
3757
+ #: src/Classes/ExtensionManager.php:124
3758
+ msgid "WooCommerce"
3759
  msgstr ""
3760
 
3761
+ #: build/wp-user-avatar/src/Classes/ExtensionManager.php:126
3762
+ #: src/Classes/ExtensionManager.php:126
3763
+ msgid ""
3764
+ "It allows you to manage WooCommerce billing and shipping fields, replaces "
3765
+ "WooCommerce login and edit account forms in checkout and “My Account” pages "
3766
+ "with that of ProfilePress."
3767
  msgstr ""
3768
 
3769
+ #: build/wp-user-avatar/src/Classes/ExtensionManager.php:129
3770
+ #: src/Classes/ExtensionManager.php:129
3771
+ msgid "WooCommerce is not active"
3772
  msgstr ""
3773
 
3774
+ #: build/wp-user-avatar/src/Classes/ExtensionManager.php:133
3775
+ #: src/Classes/ExtensionManager.php:133
3776
+ msgid "Mailchimp"
3777
  msgstr ""
3778
 
3779
+ #: build/wp-user-avatar/src/Classes/ExtensionManager.php:135
3780
+ #: src/Classes/ExtensionManager.php:135
3781
+ msgid ""
3782
+ "Subscribe members to your Mailchimp audiences when they register and "
3783
+ "automatically sync profile changes with Mailchimp."
3784
  msgstr ""
3785
 
3786
+ #: build/wp-user-avatar/src/Classes/ExtensionManager.php:139
3787
+ #: src/Classes/ExtensionManager.php:139
3788
+ msgid "Campaign Monitor"
3789
  msgstr ""
3790
 
3791
+ #: build/wp-user-avatar/src/Classes/ExtensionManager.php:141
3792
+ #: src/Classes/ExtensionManager.php:141
3793
+ msgid ""
3794
+ "Subscribe members to your Campaign Monitor lists when they register and "
3795
+ "automatically sync profile changes with Campaign Monitor."
3796
  msgstr ""
3797
 
3798
+ #: build/wp-user-avatar/src/Classes/ExtensionManager.php:145
3799
+ #: src/Classes/ExtensionManager.php:145
3800
+ msgid "Akismet"
3801
  msgstr ""
3802
 
3803
+ #: build/wp-user-avatar/src/Classes/ExtensionManager.php:147
3804
+ #: src/Classes/ExtensionManager.php:147
3805
+ msgid ""
3806
+ "Block spam and bot user registrations with Akismet and keep your membership "
3807
+ "site safe and secured."
3808
  msgstr ""
3809
 
3810
+ #: build/wp-user-avatar/src/Classes/ExtensionManager.php:151
3811
+ #: src/Classes/ExtensionManager.php:151
3812
+ msgid "Polylang"
3813
  msgstr ""
3814
 
3815
+ #: build/wp-user-avatar/src/Classes/ExtensionManager.php:153
3816
+ #: src/Classes/ExtensionManager.php:153
3817
+ msgid ""
3818
+ "It allows you to build multilingual login, registration, password reset and "
3819
+ "edit profile forms."
3820
  msgstr ""
3821
 
3822
+ #: build/wp-user-avatar/src/Classes/ExtensionManager.php:156
3823
+ #: src/Classes/ExtensionManager.php:156
3824
+ msgid "Polylang plugin is not active"
3825
  msgstr ""
3826
 
3827
+ #: build/wp-user-avatar/src/Classes/FileUploader.php:60
3828
+ #: src/Classes/FileUploader.php:60
3829
+ msgid "Unexpected error with file upload, Please try again."
3830
  msgstr ""
3831
 
3832
+ #: build/wp-user-avatar/src/Classes/FileUploader.php:76
3833
+ #: src/Classes/FileUploader.php:76
3834
+ msgid "Uploaded file is greater than the allowed sized of %s"
3835
  msgstr ""
3836
 
3837
+ #: build/wp-user-avatar/src/Classes/FileUploader.php:99
3838
+ #: src/Classes/FileUploader.php:99
3839
+ msgid "appears to be of an invalid file format. Please try again."
3840
  msgstr ""
3841
 
3842
+ #: build/wp-user-avatar/src/Classes/FileUploader.php:130
3843
+ #: src/Classes/FileUploader.php:130
3844
+ msgid "Unable to save %s, please try again."
3845
  msgstr ""
3846
 
3847
+ #: build/wp-user-avatar/src/Classes/FileUploader.php:157
3848
+ #: src/Classes/FileUploader.php:157
3849
+ msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini"
3850
  msgstr ""
3851
 
3852
+ #: build/wp-user-avatar/src/Classes/FileUploader.php:160
3853
+ #: src/Classes/FileUploader.php:160
3854
+ msgid ""
3855
+ "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
3856
+ "the HTML form"
3857
  msgstr ""
3858
 
3859
+ #: build/wp-user-avatar/src/Classes/FileUploader.php:163
3860
+ #: src/Classes/FileUploader.php:163
3861
+ msgid "The uploaded file was only partially uploaded"
 
 
 
 
3862
  msgstr ""
3863
 
3864
+ #: build/wp-user-avatar/src/Classes/FileUploader.php:166
3865
+ #: src/Classes/FileUploader.php:166
3866
+ msgid "No file was uploaded"
 
3867
  msgstr ""
3868
 
3869
+ #: build/wp-user-avatar/src/Classes/FileUploader.php:169
3870
+ #: src/Classes/FileUploader.php:169
3871
+ msgid "Missing a temporary folder"
3872
  msgstr ""
3873
 
3874
+ #: build/wp-user-avatar/src/Classes/FileUploader.php:172
3875
+ #: src/Classes/FileUploader.php:172
3876
+ msgid "Failed to write file to disk"
3877
  msgstr ""
3878
 
3879
+ #: build/wp-user-avatar/src/Classes/FileUploader.php:175
3880
+ #: src/Classes/FileUploader.php:175
3881
+ msgid "File upload stopped by extension"
 
3882
  msgstr ""
3883
 
3884
+ #: build/wp-user-avatar/src/Classes/FormPreviewHandler.php:53
3885
+ #: src/Classes/FormPreviewHandler.php:53
3886
+ msgid "You must be logged in to preview a form."
3887
  msgstr ""
3888
 
3889
+ #: build/wp-user-avatar/src/Classes/FormRepository.php:166
3890
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractTheme.php:124
3891
+ #: build/wp-user-avatar/src/Widgets/TabbedWidget.php:87
3892
+ #: src/Classes/FormRepository.php:166 src/Themes/DragDrop/AbstractTheme.php:124
3893
+ #: src/Widgets/TabbedWidget.php:87
3894
+ msgid "Processing"
3895
  msgstr ""
3896
 
3897
+ #: build/wp-user-avatar/src/Classes/GDPR.php:19
3898
+ #: build/wp-user-avatar/src/Classes/GDPR.php:62
3899
+ #: build/wp-user-avatar/src/Classes/GDPR.php:108 src/Classes/GDPR.php:19
3900
+ #: src/Classes/GDPR.php:62 src/Classes/GDPR.php:108
3901
+ msgid "User Extra Information"
3902
  msgstr ""
3903
 
3904
+ #: build/wp-user-avatar/src/Classes/ImageUploader.php:32
3905
+ #: src/Classes/ImageUploader.php:32
3906
+ msgid "Unexpected error with image upload, Please try again."
3907
  msgstr ""
3908
 
3909
+ #: build/wp-user-avatar/src/Classes/ImageUploader.php:35
3910
+ #: src/Classes/ImageUploader.php:35
3911
+ msgid "Uploaded image"
3912
  msgstr ""
3913
 
3914
+ #: build/wp-user-avatar/src/Classes/ImageUploader.php:63
3915
+ #: src/Classes/ImageUploader.php:63
3916
+ msgid "%s is greater than the allowed sized of %s"
3917
  msgstr ""
3918
 
3919
+ #: build/wp-user-avatar/src/Classes/ImageUploader.php:83
3920
+ #: src/Classes/ImageUploader.php:83
3921
+ msgid "Uploaded file is not an image."
3922
  msgstr ""
3923
 
3924
+ #: build/wp-user-avatar/src/Classes/ImageUploader.php:119
3925
+ #: src/Classes/ImageUploader.php:119
3926
+ msgid "Unable to save file, please try again."
3927
  msgstr ""
3928
 
3929
+ #: build/wp-user-avatar/src/Classes/PasswordReset.php:100
3930
+ #: src/Classes/PasswordReset.php:100
3931
+ msgid "<strong>ERROR</strong>: Password reset email is disabled."
3932
  msgstr ""
3933
 
3934
+ #: build/wp-user-avatar/src/Classes/PasswordReset.php:106
3935
+ #: src/Classes/PasswordReset.php:106
3936
+ msgid "<strong>ERROR</strong>: Enter a username or e-mail address."
3937
  msgstr ""
3938
 
3939
+ #: build/wp-user-avatar/src/Classes/PasswordReset.php:112
3940
+ #: src/Classes/PasswordReset.php:112
3941
+ msgid ""
3942
+ "<strong>ERROR</strong>: There is no user registered with that email address."
3943
  msgstr ""
3944
 
3945
+ #: build/wp-user-avatar/src/Classes/PasswordReset.php:120
3946
+ #: src/Classes/PasswordReset.php:120
3947
+ msgid "<strong>ERROR</strong>: Invalid username or e-mail."
3948
  msgstr ""
3949
 
3950
+ #: build/wp-user-avatar/src/Classes/PasswordReset.php:206
3951
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractTheme.php:118
3952
+ #: src/Classes/PasswordReset.php:206 src/Themes/DragDrop/AbstractTheme.php:118
3953
+ msgid "Check your email for further instruction."
3954
  msgstr ""
3955
 
3956
+ #: build/wp-user-avatar/src/Classes/PasswordReset.php:338
3957
+ #: src/Classes/PasswordReset.php:338
3958
+ msgid "Sorry, that key appears to be invalid."
 
 
 
3959
  msgstr ""
3960
 
3961
+ #: build/wp-user-avatar/src/Classes/PasswordReset.php:341
3962
+ #: build/wp-user-avatar/src/ShortcodeParser/FormProcessor.php:75
3963
+ #: src/Classes/PasswordReset.php:341 src/ShortcodeParser/FormProcessor.php:75
3964
+ msgid "Passwords do not match."
3965
  msgstr ""
3966
 
3967
+ #: build/wp-user-avatar/src/Classes/PasswordReset.php:344
3968
+ #: src/Classes/PasswordReset.php:344
3969
+ msgid "Please enter your password."
 
3970
  msgstr ""
3971
 
3972
+ #: build/wp-user-avatar/src/Classes/PasswordReset.php:347
3973
+ #: src/Classes/PasswordReset.php:347
3974
+ msgid "Sorry, that key does not appear to be valid."
3975
  msgstr ""
3976
 
3977
+ #: build/wp-user-avatar/src/Classes/PasswordReset.php:350
3978
+ #: src/Classes/PasswordReset.php:350
3979
+ msgid "Password is not strong enough."
 
3980
  msgstr ""
3981
 
3982
+ #: build/wp-user-avatar/src/Classes/PasswordReset.php:353
3983
+ #: src/Classes/PasswordReset.php:353
3984
+ msgid "You have successfully changed your password"
3985
  msgstr ""
3986
 
3987
+ #: build/wp-user-avatar/src/Classes/PasswordReset.php:356
3988
+ #: src/Classes/PasswordReset.php:356
3989
+ msgid "Log in"
3990
  msgstr ""
3991
 
3992
+ #: build/wp-user-avatar/src/Classes/RegistrationAuth.php:222
3993
+ #: src/Classes/RegistrationAuth.php:222
3994
+ msgid "%s field is required"
3995
  msgstr ""
3996
 
3997
+ #: build/wp-user-avatar/src/Classes/RegistrationAuth.php:231
3998
+ #: src/Classes/RegistrationAuth.php:231
3999
+ msgid ""
4000
+ "<strong>ERROR</strong>: This username is invalid because it uses illegal "
4001
+ "characters. Please enter a valid username."
4002
  msgstr ""
4003
 
4004
+ #: build/wp-user-avatar/src/Classes/RegistrationAuth.php:235
4005
+ #: src/Classes/RegistrationAuth.php:235
4006
+ msgid "Email address is not valid"
4007
  msgstr ""
4008
 
4009
+ #: build/wp-user-avatar/src/Classes/RegistrationAuth.php:239
4010
+ #: src/Classes/RegistrationAuth.php:239
4011
+ msgid "Passwords do not match"
 
4012
  msgstr ""
4013
 
4014
+ #: build/wp-user-avatar/src/Classes/RegistrationAuth.php:243
4015
+ #: src/Classes/RegistrationAuth.php:243
4016
+ msgid "Email addresses do not match"
4017
  msgstr ""
4018
 
4019
+ #: build/wp-user-avatar/src/Classes/RegistrationAuth.php:247
4020
+ #: src/Classes/RegistrationAuth.php:247
4021
+ msgid "Password is not strong"
 
 
 
 
 
4022
  msgstr ""
4023
 
4024
+ #: build/wp-user-avatar/src/Classes/RegistrationAuth.php:413
4025
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractTheme.php:110
4026
+ #: src/Classes/RegistrationAuth.php:413
4027
+ #: src/Themes/DragDrop/AbstractTheme.php:110
4028
+ msgid "Registration successful."
 
4029
  msgstr ""
4030
 
4031
+ #: build/wp-user-avatar/src/Classes/UserSignupLocationListingPage.php:21
4032
+ #: src/Classes/UserSignupLocationListingPage.php:21
4033
+ msgid "Registered Via"
 
4034
  msgstr ""
4035
 
4036
+ #: build/wp-user-avatar/src/Classes/UserSignupLocationListingPage.php:43
4037
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:284
4038
+ #: src/Classes/UserSignupLocationListingPage.php:43
4039
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:284
4040
+ msgid "Facebook"
4041
  msgstr ""
4042
 
4043
+ #: build/wp-user-avatar/src/Classes/UserSignupLocationListingPage.php:47
4044
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:285
4045
+ #: src/Classes/UserSignupLocationListingPage.php:47
4046
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:285
4047
+ msgid "Twitter"
4048
  msgstr ""
4049
 
4050
+ #: build/wp-user-avatar/src/Classes/UserSignupLocationListingPage.php:51
4051
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:286
4052
+ #: src/Classes/UserSignupLocationListingPage.php:51
4053
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:286
4054
+ msgid "Google"
4055
  msgstr ""
4056
 
4057
+ #: build/wp-user-avatar/src/Classes/UserSignupLocationListingPage.php:55
4058
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:287
4059
+ #: src/Classes/UserSignupLocationListingPage.php:55
4060
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:287
4061
+ msgid "LinkedIn"
4062
  msgstr ""
4063
 
4064
+ #: build/wp-user-avatar/src/Classes/UserSignupLocationListingPage.php:59
4065
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:288
4066
+ #: src/Classes/UserSignupLocationListingPage.php:59
4067
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:288
4068
+ msgid "GitHub"
4069
  msgstr ""
4070
 
4071
+ #: build/wp-user-avatar/src/Classes/UserSignupLocationListingPage.php:63
4072
+ #: src/Classes/UserSignupLocationListingPage.php:63
4073
+ msgid "Vkontakte"
4074
  msgstr ""
4075
 
4076
+ #: build/wp-user-avatar/src/Classes/UserSignupLocationListingPage.php:66
4077
+ #: build/wp-user-avatar/src/Widgets/TabbedWidget.php:16
4078
+ #: src/Classes/UserSignupLocationListingPage.php:66
4079
+ #: src/Widgets/TabbedWidget.php:16
4080
+ msgid "ProfilePress Tabbed Widget"
4081
  msgstr ""
4082
 
4083
+ #: build/wp-user-avatar/src/Classes/UsernameEmailRestrictLogin.php:24
4084
+ #: src/Classes/UsernameEmailRestrictLogin.php:24
4085
+ msgid "<strong>ERROR</strong>: Invalid email address or incorrect password."
4086
  msgstr ""
4087
 
4088
+ #: build/wp-user-avatar/src/Classes/UsernameEmailRestrictLogin.php:25
4089
+ #: src/Classes/UsernameEmailRestrictLogin.php:25
4090
+ msgid "<strong>ERROR</strong>: Invalid username or incorrect password."
4091
  msgstr ""
4092
 
4093
+ #: build/wp-user-avatar/src/Classes/WelcomeEmailAfterSignup.php:37
4094
+ #: src/Classes/WelcomeEmailAfterSignup.php:37
4095
+ msgid "[Your Password]"
4096
  msgstr ""
4097
 
4098
+ #: build/wp-user-avatar/src/ContentProtection/ContentConditions.php:111
4099
+ #: src/ContentProtection/ContentConditions.php:111
4100
+ msgid "or"
4101
  msgstr ""
4102
 
4103
+ #: build/wp-user-avatar/src/ContentProtection/ContentConditions.php:114
4104
+ #: src/ContentProtection/ContentConditions.php:114
4105
+ msgid "Select a condition"
4106
  msgstr ""
4107
 
4108
+ #: build/wp-user-avatar/src/ContentProtection/ContentConditions.php:146
4109
+ #: build/wp-user-avatar/src/ContentProtection/ContentConditions.php:151
4110
+ #: src/ContentProtection/ContentConditions.php:146
4111
+ #: src/ContentProtection/ContentConditions.php:151
4112
+ msgid "AND"
4113
  msgstr ""
4114
 
4115
+ #: build/wp-user-avatar/src/ContentProtection/ContentConditions.php:174
4116
+ #: src/ContentProtection/ContentConditions.php:174
4117
+ msgid "OR"
4118
  msgstr ""
4119
 
4120
+ #: build/wp-user-avatar/src/ContentProtection/ContentConditions.php:216
4121
+ #: src/ContentProtection/ContentConditions.php:216
4122
+ msgid "%s Archive Page"
 
4123
  msgstr ""
4124
 
4125
+ #: build/wp-user-avatar/src/ContentProtection/ContentConditions.php:223
4126
+ #: src/ContentProtection/ContentConditions.php:223
4127
+ msgid "All %s"
 
4128
  msgstr ""
4129
 
4130
+ #: build/wp-user-avatar/src/ContentProtection/ContentConditions.php:230
4131
+ #: src/ContentProtection/ContentConditions.php:230
4132
+ msgid "Selected %s"
4133
  msgstr ""
4134
 
4135
+ #: build/wp-user-avatar/src/ContentProtection/ContentConditions.php:232
4136
+ #: build/wp-user-avatar/src/ContentProtection/ContentConditions.php:245
4137
+ #: build/wp-user-avatar/src/ContentProtection/ContentConditions.php:257
4138
+ #: build/wp-user-avatar/src/ContentProtection/ContentConditions.php:331
4139
+ #: build/wp-user-avatar/src/ContentProtection/ContentConditions.php:367
4140
+ #: src/ContentProtection/ContentConditions.php:232
4141
+ #: src/ContentProtection/ContentConditions.php:245
4142
+ #: src/ContentProtection/ContentConditions.php:257
4143
+ #: src/ContentProtection/ContentConditions.php:331
4144
+ #: src/ContentProtection/ContentConditions.php:367
4145
+ msgid "Select %s"
4146
  msgstr ""
4147
 
4148
+ #: build/wp-user-avatar/src/ContentProtection/ContentConditions.php:242
4149
+ #: src/ContentProtection/ContentConditions.php:242
4150
+ msgid "Child %s of"
4151
  msgstr ""
4152
 
4153
+ #: build/wp-user-avatar/src/ContentProtection/ContentConditions.php:243
4154
+ #: src/ContentProtection/ContentConditions.php:243
4155
+ msgid "Child of Selected %s"
4156
  msgstr ""
4157
 
4158
+ #: build/wp-user-avatar/src/ContentProtection/ContentConditions.php:254
4159
+ #: src/ContentProtection/ContentConditions.php:254
4160
+ msgid "Parent %s of"
4161
  msgstr ""
4162
 
4163
+ #: build/wp-user-avatar/src/ContentProtection/ContentConditions.php:255
4164
+ #: src/ContentProtection/ContentConditions.php:255
4165
+ msgid "Parent of Selected %s"
4166
  msgstr ""
4167
 
4168
+ #: build/wp-user-avatar/src/ContentProtection/ContentConditions.php:270
4169
+ #: src/ContentProtection/ContentConditions.php:270
4170
+ msgid "Template"
4171
  msgstr ""
4172
 
4173
+ #: build/wp-user-avatar/src/ContentProtection/ContentConditions.php:271
4174
+ #: src/ContentProtection/ContentConditions.php:271
4175
+ msgid "%s with Template"
4176
  msgstr ""
4177
 
4178
+ #: build/wp-user-avatar/src/ContentProtection/ContentConditions.php:285
4179
+ #: src/ContentProtection/ContentConditions.php:285
4180
+ msgid "Home or Front Page"
4181
  msgstr ""
4182
 
4183
+ #: build/wp-user-avatar/src/ContentProtection/ContentConditions.php:291
4184
+ #: src/ContentProtection/ContentConditions.php:291
4185
+ msgid "Blog or Posts Page"
 
4186
  msgstr ""
4187
 
4188
+ #: build/wp-user-avatar/src/ContentProtection/ContentConditions.php:297
4189
+ #: src/ContentProtection/ContentConditions.php:297
4190
+ msgid "Search Result Page"
 
4191
  msgstr ""
4192
 
4193
+ #: build/wp-user-avatar/src/ContentProtection/ContentConditions.php:303
4194
+ #: src/ContentProtection/ContentConditions.php:303
4195
+ msgid "404 Error Page"
4196
  msgstr ""
4197
 
4198
+ #: build/wp-user-avatar/src/ContentProtection/ContentConditions.php:329
4199
+ #: src/ContentProtection/ContentConditions.php:329
4200
+ msgid "%1$s with %2$s"
 
4201
  msgstr ""
4202
 
4203
+ #: build/wp-user-avatar/src/ContentProtection/ContentConditions.php:353
4204
+ #: src/ContentProtection/ContentConditions.php:353
4205
+ msgid "%s (%s)"
 
4206
  msgstr ""
4207
 
4208
+ #: build/wp-user-avatar/src/ContentProtection/ContentConditions.php:357
4209
+ #: src/ContentProtection/ContentConditions.php:357
4210
+ msgid "All %s Archive Pages"
4211
  msgstr ""
4212
 
4213
+ #: build/wp-user-avatar/src/ContentProtection/ContentConditions.php:358
4214
+ #: build/wp-user-avatar/src/ContentProtection/ContentConditions.php:364
4215
+ #: src/ContentProtection/ContentConditions.php:358
4216
+ #: src/ContentProtection/ContentConditions.php:364
4217
+ msgid "%s Archive"
4218
  msgstr ""
4219
 
4220
+ #: build/wp-user-avatar/src/ContentProtection/ContentConditions.php:365
4221
+ #: src/ContentProtection/ContentConditions.php:365
4222
+ msgid "Selected %s Archive Pages"
4223
  msgstr ""
4224
 
4225
+ #: build/wp-user-avatar/src/ContentProtection/SettingsPage.php:42
4226
+ #: build/wp-user-avatar/src/ContentProtection/SettingsPage.php:60
4227
+ #: src/ContentProtection/SettingsPage.php:42
4228
+ #: src/ContentProtection/SettingsPage.php:60
4229
+ msgid "Content Protection"
4230
  msgstr ""
4231
 
4232
+ #: build/wp-user-avatar/src/ContentProtection/SettingsPage.php:45
4233
+ #: src/ContentProtection/SettingsPage.php:45
4234
+ msgid "Edit Protection Rule"
 
4235
  msgstr ""
4236
 
4237
+ #: build/wp-user-avatar/src/ContentProtection/SettingsPage.php:49
4238
+ #: src/ContentProtection/SettingsPage.php:49
4239
+ msgid "Add Protection Rule"
4240
  msgstr ""
4241
 
4242
+ #: build/wp-user-avatar/src/ContentProtection/SettingsPage.php:81
4243
+ #: src/ContentProtection/SettingsPage.php:81
4244
+ msgid "Protection Rules"
4245
  msgstr ""
4246
 
4247
+ #: build/wp-user-avatar/src/ContentProtection/SettingsPage.php:126
4248
+ #: src/ContentProtection/SettingsPage.php:126
4249
+ msgid "Title cannot be empty."
4250
  msgstr ""
4251
 
4252
+ #: build/wp-user-avatar/src/ContentProtection/SettingsPage.php:160
4253
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractTheme.php:114
4254
+ #: src/ContentProtection/SettingsPage.php:160
4255
+ #: src/Themes/DragDrop/AbstractTheme.php:114
4256
+ msgid "Changes saved."
4257
  msgstr ""
4258
 
4259
+ #: build/wp-user-avatar/src/ContentProtection/SettingsPage.php:181
4260
+ #: src/ContentProtection/SettingsPage.php:181
4261
+ msgid "Add a Protection Rule"
4262
  msgstr ""
4263
 
4264
+ #: build/wp-user-avatar/src/ContentProtection/WPListTable.php:21
4265
+ #: src/ContentProtection/WPListTable.php:21
4266
+ msgid "No protection rule found."
4267
  msgstr ""
4268
 
4269
+ #: build/wp-user-avatar/src/ContentProtection/WPListTable.php:29
4270
+ #: src/ContentProtection/WPListTable.php:29
4271
+ msgid "Protected Contents"
4272
  msgstr ""
4273
 
4274
+ #: build/wp-user-avatar/src/ContentProtection/WPListTable.php:89
4275
+ #: src/ContentProtection/WPListTable.php:89
4276
+ msgid "Deactivate"
4277
  msgstr ""
4278
 
4279
+ #: build/wp-user-avatar/src/ContentProtection/WPListTable.php:196
4280
+ #: build/wp-user-avatar/src/ContentProtection/views/view.access-condition.php:24
4281
+ #: src/ContentProtection/WPListTable.php:196
4282
+ #: src/ContentProtection/views/view.access-condition.php:24
4283
+ msgid "Everyone"
4284
  msgstr ""
4285
 
4286
+ #: build/wp-user-avatar/src/ContentProtection/WPListTable.php:199
4287
+ #: build/wp-user-avatar/src/ContentProtection/views/view.access-condition.php:25
4288
+ #: src/ContentProtection/WPListTable.php:199
4289
+ #: src/ContentProtection/views/view.access-condition.php:25
4290
+ msgid "Logged in users"
4291
  msgstr ""
4292
 
4293
+ #: build/wp-user-avatar/src/ContentProtection/WPListTable.php:202
4294
+ #: build/wp-user-avatar/src/ContentProtection/views/view.access-condition.php:26
4295
+ #: src/ContentProtection/WPListTable.php:202
4296
+ #: src/ContentProtection/views/view.access-condition.php:26
4297
+ msgid "Logged out users"
4298
  msgstr ""
4299
 
4300
+ #: build/wp-user-avatar/src/ContentProtection/views/include.shortcode-doc-sidebar.php:5
4301
+ #: src/ContentProtection/views/include.shortcode-doc-sidebar.php:5
4302
  msgid ""
4303
+ "To restrict contents in a post or page, we provide the below shortcode. "
4304
+ "%sLearn more%s"
4305
  msgstr ""
4306
 
4307
+ #: build/wp-user-avatar/src/ContentProtection/views/include.shortcode-doc-sidebar.php:11
4308
+ #: src/ContentProtection/views/include.shortcode-doc-sidebar.php:11
4309
+ msgid "Content to restrict will go here"
4310
  msgstr ""
4311
 
4312
+ #: build/wp-user-avatar/src/ContentProtection/views/include.view-sidebar.php:18
4313
+ #: src/ContentProtection/views/include.view-sidebar.php:18
4314
+ msgid "Save Rule"
 
4315
  msgstr ""
4316
 
4317
+ #: build/wp-user-avatar/src/ContentProtection/views/include.view.php:16
4318
+ #: src/ContentProtection/views/include.view.php:16
4319
+ msgid "Content to Protect"
4320
  msgstr ""
4321
 
4322
+ #: build/wp-user-avatar/src/ContentProtection/views/include.view.php:27
4323
+ #: src/ContentProtection/views/include.view.php:27
4324
+ msgid "Access Condition"
4325
  msgstr ""
4326
 
4327
+ #: build/wp-user-avatar/src/ContentProtection/views/include.view.php:38
4328
+ #: src/ContentProtection/views/include.view.php:38
4329
+ msgid "Publish"
4330
  msgstr ""
4331
 
4332
+ #: build/wp-user-avatar/src/ContentProtection/views/include.view.php:50
4333
+ #: src/ContentProtection/views/include.view.php:50
4334
+ msgid "Restrict Content Shortcode"
4335
  msgstr ""
4336
 
4337
+ #: build/wp-user-avatar/src/ContentProtection/views/include.view.php:79
4338
+ #: src/ContentProtection/views/include.view.php:79
4339
+ msgid "Add title"
4340
  msgstr ""
4341
 
4342
+ #: build/wp-user-avatar/src/ContentProtection/views/view.access-condition.php:20
4343
+ #: src/ContentProtection/views/view.access-condition.php:20
4344
+ msgid "Who can access the content?"
4345
  msgstr ""
4346
 
4347
+ #: build/wp-user-avatar/src/ContentProtection/views/view.access-condition.php:32
4348
+ #: src/ContentProtection/views/view.access-condition.php:32
4349
+ msgid "Select roles that can access content"
4350
  msgstr ""
4351
 
4352
+ #: build/wp-user-avatar/src/ContentProtection/views/view.access-condition.php:47
4353
+ #: src/ContentProtection/views/view.access-condition.php:47
4354
+ msgid "Select specific users that can access content"
4355
  msgstr ""
4356
 
4357
+ #: build/wp-user-avatar/src/ContentProtection/views/view.access-condition.php:62
4358
+ #: src/ContentProtection/views/view.access-condition.php:62
4359
+ msgid "What happens when users without access tries to view content?"
4360
  msgstr ""
4361
 
4362
+ #: build/wp-user-avatar/src/ContentProtection/views/view.access-condition.php:67
4363
+ #: src/ContentProtection/views/view.access-condition.php:67
4364
+ msgid "Show access restricted message"
4365
  msgstr ""
4366
 
4367
+ #: build/wp-user-avatar/src/ContentProtection/views/view.access-condition.php:68
4368
+ #: src/ContentProtection/views/view.access-condition.php:68
4369
+ msgid "Redirect user"
 
4370
  msgstr ""
4371
 
4372
+ #: build/wp-user-avatar/src/ContentProtection/views/view.access-condition.php:75
4373
+ #: src/ContentProtection/views/view.access-condition.php:75
4374
+ msgid "Message to show to unauthorized users"
4375
  msgstr ""
4376
 
4377
+ #: build/wp-user-avatar/src/ContentProtection/views/view.access-condition.php:80
4378
+ #: src/ContentProtection/views/view.access-condition.php:80
4379
+ msgid "Global Restrict Access Message"
4380
  msgstr ""
4381
 
4382
+ #: build/wp-user-avatar/src/ContentProtection/views/view.access-condition.php:81
4383
+ #: src/ContentProtection/views/view.access-condition.php:81
4384
+ msgid "Custom message"
4385
  msgstr ""
4386
 
4387
+ #: build/wp-user-avatar/src/ContentProtection/views/view.access-condition.php:82
4388
+ #: src/ContentProtection/views/view.access-condition.php:82
4389
+ msgid "Post Excerpt"
4390
  msgstr ""
4391
 
4392
+ #: build/wp-user-avatar/src/ContentProtection/views/view.access-condition.php:83
4393
+ #: src/ContentProtection/views/view.access-condition.php:83
4394
+ msgid "Post Excerpt + Global Restrict Access Message"
 
4395
  msgstr ""
4396
 
4397
+ #: build/wp-user-avatar/src/ContentProtection/views/view.access-condition.php:84
4398
+ #: src/ContentProtection/views/view.access-condition.php:84
4399
+ msgid "Post Excerpt + Custom Message"
4400
  msgstr ""
4401
 
4402
+ #: build/wp-user-avatar/src/ContentProtection/views/view.access-condition.php:88
4403
+ #: src/ContentProtection/views/view.access-condition.php:88
4404
+ msgid "Note that Global Restrict Access Message can be %scustomized here%s."
4405
  msgstr ""
4406
 
4407
+ #: build/wp-user-avatar/src/ContentProtection/views/view.access-condition.php:97
4408
+ #: src/ContentProtection/views/view.access-condition.php:97
4409
+ msgid "Custom Restricted Message"
4410
  msgstr ""
4411
 
4412
+ #: build/wp-user-avatar/src/ContentProtection/views/view.access-condition.php:119
4413
+ #: src/ContentProtection/views/view.access-condition.php:119
4414
+ msgid "Where should users be redirected to?"
 
4415
  msgstr ""
4416
 
4417
+ #: build/wp-user-avatar/src/ContentProtection/views/view.access-condition.php:124
4418
+ #: src/ContentProtection/views/view.access-condition.php:124
4419
+ msgid "Login page"
4420
  msgstr ""
4421
 
4422
+ #: build/wp-user-avatar/src/ContentProtection/views/view.access-condition.php:132
4423
+ #: src/ContentProtection/views/view.access-condition.php:132
4424
+ msgid "Redirect URL"
4425
  msgstr ""
4426
 
4427
+ #. translators: %s: User login.
4428
+ #: build/wp-user-avatar/src/Functions/GlobalFunctions.php:797
4429
+ #: src/Functions/GlobalFunctions.php:797
4430
+ msgid "Username: %s"
4431
  msgstr ""
4432
 
4433
+ #: build/wp-user-avatar/src/Functions/GlobalFunctions.php:798
4434
+ #: src/Functions/GlobalFunctions.php:798
4435
+ msgid "To set your password, visit the following address:"
4436
  msgstr ""
4437
 
4438
+ #. translators: Login details notification email subject. %s: Site title.
4439
+ #: build/wp-user-avatar/src/Functions/GlobalFunctions.php:806
4440
+ #: src/Functions/GlobalFunctions.php:806
4441
+ msgid "[%s] Login Details"
4442
  msgstr ""
4443
 
4444
+ #: build/wp-user-avatar/src/Functions/GlobalFunctions.php:1104
4445
+ #: src/Functions/GlobalFunctions.php:1104
4446
+ msgid ""
4447
+ "It must be unique for each field, not a reserve text, in lowercase letters "
4448
+ "only with an underscore ( _ ) separating words e.g job_title"
4449
  msgstr ""
4450
 
4451
+ #: build/wp-user-avatar/src/Functions/GlobalFunctions.php:1225
4452
+ #: src/Functions/GlobalFunctions.php:1225
4453
+ msgid "%s (WooCommerce Billing Address)"
4454
  msgstr ""
4455
 
4456
+ #: build/wp-user-avatar/src/Functions/GlobalFunctions.php:1229
4457
+ #: src/Functions/GlobalFunctions.php:1229
4458
+ msgid "%s (WooCommerce Shipping Address)"
4459
  msgstr ""
4460
 
4461
+ #: build/wp-user-avatar/src/Functions/GlobalFunctions.php:1273
4462
+ #: src/Functions/GlobalFunctions.php:1273
4463
+ msgid "First and Last Names"
4464
  msgstr ""
4465
 
4466
+ #: build/wp-user-avatar/src/Functions/GlobalFunctions.php:1274
4467
+ #: src/Functions/GlobalFunctions.php:1274
4468
+ msgid "Last and First Names"
4469
  msgstr ""
4470
 
4471
+ #: build/wp-user-avatar/src/Functions/GlobalFunctions.php:1282
4472
+ #: src/Functions/GlobalFunctions.php:1282
4473
+ msgid "Registration Date"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4474
  msgstr ""
4475
 
4476
+ #: build/wp-user-avatar/src/Functions/GlobalFunctions.php:1399
4477
+ #: src/Functions/GlobalFunctions.php:1399
4478
+ msgid "There was an problem while verifying your file."
4479
  msgstr ""
4480
 
4481
+ #: build/wp-user-avatar/src/Functions/GlobalFunctions.php:1404
4482
+ #: src/Functions/GlobalFunctions.php:1404
4483
+ msgid "Sorry, this file extension is not permitted for security reasons."
4484
  msgstr ""
4485
 
4486
+ #: build/wp-user-avatar/src/Functions/GlobalFunctions.php:1408
4487
+ #: src/Functions/GlobalFunctions.php:1408
4488
+ msgid "Sorry, this file type is not permitted for security reasons."
4489
  msgstr ""
4490
 
4491
+ #: build/wp-user-avatar/src/Functions/GlobalFunctions.php:1412
4492
+ #: build/wp-user-avatar/src/Functions/GlobalFunctions.php:1416
4493
+ #: src/Functions/GlobalFunctions.php:1412
4494
+ #: src/Functions/GlobalFunctions.php:1416
4495
+ msgid "Error: The file you uploaded is not accepted on our website."
4496
  msgstr ""
4497
 
4498
+ #: build/wp-user-avatar/src/Functions/PPressBFnote.php:68
4499
+ #: src/Functions/PPressBFnote.php:68
4500
  msgid ""
4501
+ "%1$sHuge Black Friday Sale%2$s: Get 25%% off your ProfilePress plugin "
4502
+ "upgrade today with the coupon %3$sBFCM2021%4$s"
 
 
 
 
4503
  msgstr ""
4504
 
4505
+ #: build/wp-user-avatar/src/Functions/PPressBFnote.php:77
4506
+ #: src/Functions/PPressBFnote.php:77
4507
+ msgid "Save 25% Now!"
4508
  msgstr ""
4509
 
4510
+ #: build/wp-user-avatar/src/Functions/PPressBFnote.php:85
4511
+ #: src/Functions/PPressBFnote.php:85
4512
+ msgid "Dismiss this notice"
 
 
 
4513
  msgstr ""
4514
 
4515
+ #: build/wp-user-avatar/src/Functions/custom-settings-api.php:856
4516
+ #: src/Functions/custom-settings-api.php:856
4517
+ msgid "Code"
4518
  msgstr ""
4519
 
4520
+ #: build/wp-user-avatar/src/Functions/data/countries.php:14
4521
+ #: src/Functions/data/countries.php:14
4522
+ msgid "Afghanistan"
4523
  msgstr ""
4524
 
4525
+ #: build/wp-user-avatar/src/Functions/data/countries.php:15
4526
+ #: src/Functions/data/countries.php:15
4527
+ msgid "&#197;land Islands"
 
4528
  msgstr ""
4529
 
4530
+ #: build/wp-user-avatar/src/Functions/data/countries.php:16
4531
+ #: src/Functions/data/countries.php:16
4532
+ msgid "Albania"
4533
  msgstr ""
4534
 
4535
+ #: build/wp-user-avatar/src/Functions/data/countries.php:17
4536
+ #: src/Functions/data/countries.php:17
4537
+ msgid "Algeria"
 
4538
  msgstr ""
4539
 
4540
+ #: build/wp-user-avatar/src/Functions/data/countries.php:18
4541
+ #: src/Functions/data/countries.php:18
4542
+ msgid "American Samoa"
4543
  msgstr ""
4544
 
4545
+ #: build/wp-user-avatar/src/Functions/data/countries.php:19
4546
+ #: src/Functions/data/countries.php:19
4547
+ msgid "Andorra"
4548
  msgstr ""
4549
 
4550
+ #: build/wp-user-avatar/src/Functions/data/countries.php:20
4551
+ #: src/Functions/data/countries.php:20
4552
+ msgid "Angola"
4553
  msgstr ""
4554
 
4555
+ #: build/wp-user-avatar/src/Functions/data/countries.php:21
4556
+ #: src/Functions/data/countries.php:21
4557
+ msgid "Anguilla"
 
 
4558
  msgstr ""
4559
 
4560
+ #: build/wp-user-avatar/src/Functions/data/countries.php:22
4561
+ #: src/Functions/data/countries.php:22
4562
+ msgid "Antarctica"
4563
  msgstr ""
4564
 
4565
+ #: build/wp-user-avatar/src/Functions/data/countries.php:23
4566
+ #: src/Functions/data/countries.php:23
4567
+ msgid "Antigua and Barbuda"
4568
  msgstr ""
4569
 
4570
+ #: build/wp-user-avatar/src/Functions/data/countries.php:24
4571
+ #: src/Functions/data/countries.php:24
4572
+ msgid "Argentina"
4573
  msgstr ""
4574
 
4575
+ #: build/wp-user-avatar/src/Functions/data/countries.php:25
4576
+ #: src/Functions/data/countries.php:25
4577
+ msgid "Armenia"
4578
  msgstr ""
4579
 
4580
+ #: build/wp-user-avatar/src/Functions/data/countries.php:26
4581
+ #: src/Functions/data/countries.php:26
4582
+ msgid "Aruba"
 
4583
  msgstr ""
4584
 
4585
+ #: build/wp-user-avatar/src/Functions/data/countries.php:27
4586
+ #: src/Functions/data/countries.php:27
4587
+ msgid "Australia"
4588
  msgstr ""
4589
 
4590
+ #: build/wp-user-avatar/src/Functions/data/countries.php:28
4591
+ #: src/Functions/data/countries.php:28
4592
+ msgid "Austria"
 
4593
  msgstr ""
4594
 
4595
+ #: build/wp-user-avatar/src/Functions/data/countries.php:29
4596
+ #: src/Functions/data/countries.php:29
4597
+ msgid "Azerbaijan"
4598
  msgstr ""
4599
 
4600
+ #: build/wp-user-avatar/src/Functions/data/countries.php:30
4601
+ #: src/Functions/data/countries.php:30
4602
+ msgid "Bahamas"
4603
  msgstr ""
4604
 
4605
+ #: build/wp-user-avatar/src/Functions/data/countries.php:31
4606
+ #: src/Functions/data/countries.php:31
4607
+ msgid "Bahrain"
4608
  msgstr ""
4609
 
4610
+ #: build/wp-user-avatar/src/Functions/data/countries.php:32
4611
+ #: src/Functions/data/countries.php:32
4612
+ msgid "Bangladesh"
4613
  msgstr ""
4614
 
4615
+ #: build/wp-user-avatar/src/Functions/data/countries.php:33
4616
+ #: src/Functions/data/countries.php:33
4617
+ msgid "Barbados"
 
4618
  msgstr ""
4619
 
4620
+ #: build/wp-user-avatar/src/Functions/data/countries.php:34
4621
+ #: src/Functions/data/countries.php:34
4622
+ msgid "Belarus"
 
 
 
4623
  msgstr ""
4624
 
4625
+ #: build/wp-user-avatar/src/Functions/data/countries.php:35
4626
+ #: src/Functions/data/countries.php:35
4627
+ msgid "Belgium"
4628
  msgstr ""
4629
 
4630
+ #: build/wp-user-avatar/src/Functions/data/countries.php:36
4631
+ #: src/Functions/data/countries.php:36
4632
+ msgid "Belau"
 
4633
  msgstr ""
4634
 
4635
+ #: build/wp-user-avatar/src/Functions/data/countries.php:37
4636
+ #: src/Functions/data/countries.php:37
4637
+ msgid "Belize"
4638
  msgstr ""
4639
 
4640
+ #: build/wp-user-avatar/src/Functions/data/countries.php:38
4641
+ #: src/Functions/data/countries.php:38
4642
+ msgid "Benin"
4643
  msgstr ""
4644
 
4645
+ #: build/wp-user-avatar/src/Functions/data/countries.php:39
4646
+ #: src/Functions/data/countries.php:39
4647
+ msgid "Bermuda"
4648
  msgstr ""
4649
 
4650
+ #: build/wp-user-avatar/src/Functions/data/countries.php:40
4651
+ #: src/Functions/data/countries.php:40
4652
+ msgid "Bhutan"
4653
  msgstr ""
4654
 
4655
+ #: build/wp-user-avatar/src/Functions/data/countries.php:41
4656
+ #: src/Functions/data/countries.php:41
4657
+ msgid "Bolivia"
 
4658
  msgstr ""
4659
 
4660
+ #: build/wp-user-avatar/src/Functions/data/countries.php:42
4661
+ #: src/Functions/data/countries.php:42
4662
+ msgid "Bonaire, Saint Eustatius and Saba"
 
4663
  msgstr ""
4664
 
4665
+ #: build/wp-user-avatar/src/Functions/data/countries.php:43
4666
+ #: src/Functions/data/countries.php:43
4667
+ msgid "Bosnia and Herzegovina"
 
4668
  msgstr ""
4669
 
4670
+ #: build/wp-user-avatar/src/Functions/data/countries.php:44
4671
+ #: src/Functions/data/countries.php:44
4672
+ msgid "Botswana"
4673
  msgstr ""
4674
 
4675
+ #: build/wp-user-avatar/src/Functions/data/countries.php:45
4676
+ #: src/Functions/data/countries.php:45
4677
+ msgid "Bouvet Island"
 
4678
  msgstr ""
4679
 
4680
+ #: build/wp-user-avatar/src/Functions/data/countries.php:46
4681
+ #: src/Functions/data/countries.php:46
4682
+ msgid "Brazil"
4683
  msgstr ""
4684
 
4685
+ #: build/wp-user-avatar/src/Functions/data/countries.php:47
4686
+ #: src/Functions/data/countries.php:47
4687
+ msgid "British Indian Ocean Territory"
4688
  msgstr ""
4689
 
4690
+ #: build/wp-user-avatar/src/Functions/data/countries.php:48
4691
+ #: src/Functions/data/countries.php:48
4692
+ msgid "British Virgin Islands"
 
 
 
 
4693
  msgstr ""
4694
 
4695
+ #: build/wp-user-avatar/src/Functions/data/countries.php:49
4696
+ #: src/Functions/data/countries.php:49
4697
+ msgid "Brunei"
4698
  msgstr ""
4699
 
4700
+ #: build/wp-user-avatar/src/Functions/data/countries.php:50
4701
+ #: src/Functions/data/countries.php:50
4702
+ msgid "Bulgaria"
4703
  msgstr ""
4704
 
4705
+ #: build/wp-user-avatar/src/Functions/data/countries.php:51
4706
+ #: src/Functions/data/countries.php:51
4707
+ msgid "Burkina Faso"
4708
  msgstr ""
4709
 
4710
+ #: build/wp-user-avatar/src/Functions/data/countries.php:52
4711
+ #: src/Functions/data/countries.php:52
4712
+ msgid "Burundi"
4713
  msgstr ""
4714
 
4715
+ #: build/wp-user-avatar/src/Functions/data/countries.php:53
4716
+ #: src/Functions/data/countries.php:53
4717
+ msgid "Cambodia"
 
4718
  msgstr ""
4719
 
4720
+ #: build/wp-user-avatar/src/Functions/data/countries.php:54
4721
+ #: src/Functions/data/countries.php:54
4722
+ msgid "Cameroon"
4723
  msgstr ""
4724
 
4725
+ #: build/wp-user-avatar/src/Functions/data/countries.php:55
4726
+ #: src/Functions/data/countries.php:55
4727
+ msgid "Canada"
 
4728
  msgstr ""
4729
 
4730
+ #: build/wp-user-avatar/src/Functions/data/countries.php:56
4731
+ #: src/Functions/data/countries.php:56
4732
+ msgid "Cape Verde"
4733
  msgstr ""
4734
 
4735
+ #: build/wp-user-avatar/src/Functions/data/countries.php:57
4736
+ #: src/Functions/data/countries.php:57
4737
+ msgid "Cayman Islands"
4738
  msgstr ""
4739
 
4740
+ #: build/wp-user-avatar/src/Functions/data/countries.php:58
4741
+ #: src/Functions/data/countries.php:58
4742
+ msgid "Central African Republic"
4743
  msgstr ""
4744
 
4745
+ #: build/wp-user-avatar/src/Functions/data/countries.php:59
4746
+ #: src/Functions/data/countries.php:59
4747
+ msgid "Chad"
4748
  msgstr ""
4749
 
4750
+ #: build/wp-user-avatar/src/Functions/data/countries.php:60
4751
+ #: src/Functions/data/countries.php:60
4752
+ msgid "Chile"
 
 
 
4753
  msgstr ""
4754
 
4755
+ #: build/wp-user-avatar/src/Functions/data/countries.php:61
4756
+ #: src/Functions/data/countries.php:61
4757
+ msgid "China"
4758
  msgstr ""
4759
 
4760
+ #: build/wp-user-avatar/src/Functions/data/countries.php:62
4761
+ #: src/Functions/data/countries.php:62
4762
+ msgid "Christmas Island"
4763
  msgstr ""
4764
 
4765
+ #: build/wp-user-avatar/src/Functions/data/countries.php:63
4766
+ #: src/Functions/data/countries.php:63
4767
+ msgid "Cocos (Keeling) Islands"
4768
  msgstr ""
4769
 
4770
+ #: build/wp-user-avatar/src/Functions/data/countries.php:64
4771
+ #: src/Functions/data/countries.php:64
4772
+ msgid "Colombia"
 
4773
  msgstr ""
4774
 
4775
+ #: build/wp-user-avatar/src/Functions/data/countries.php:65
4776
+ #: src/Functions/data/countries.php:65
4777
+ msgid "Comoros"
4778
  msgstr ""
4779
 
4780
+ #: build/wp-user-avatar/src/Functions/data/countries.php:66
4781
+ #: src/Functions/data/countries.php:66
4782
+ msgid "Congo (Brazzaville)"
4783
  msgstr ""
4784
 
4785
+ #: build/wp-user-avatar/src/Functions/data/countries.php:67
4786
+ #: src/Functions/data/countries.php:67
4787
+ msgid "Congo (Kinshasa)"
4788
  msgstr ""
4789
 
4790
+ #: build/wp-user-avatar/src/Functions/data/countries.php:68
4791
+ #: src/Functions/data/countries.php:68
4792
+ msgid "Cook Islands"
4793
  msgstr ""
4794
 
4795
+ #: build/wp-user-avatar/src/Functions/data/countries.php:69
4796
+ #: src/Functions/data/countries.php:69
4797
+ msgid "Costa Rica"
 
4798
  msgstr ""
4799
 
4800
+ #: build/wp-user-avatar/src/Functions/data/countries.php:70
4801
+ #: src/Functions/data/countries.php:70
4802
+ msgid "Croatia"
4803
  msgstr ""
4804
 
4805
+ #: build/wp-user-avatar/src/Functions/data/countries.php:71
4806
+ #: src/Functions/data/countries.php:71
4807
+ msgid "Cuba"
4808
  msgstr ""
4809
 
4810
+ #: build/wp-user-avatar/src/Functions/data/countries.php:72
4811
+ #: src/Functions/data/countries.php:72
4812
+ msgid "Cura&ccedil;ao"
4813
  msgstr ""
4814
 
4815
+ #: build/wp-user-avatar/src/Functions/data/countries.php:73
4816
+ #: src/Functions/data/countries.php:73
4817
+ msgid "Cyprus"
4818
  msgstr ""
4819
 
4820
+ #: build/wp-user-avatar/src/Functions/data/countries.php:74
4821
+ #: src/Functions/data/countries.php:74
4822
+ msgid "Czech Republic"
4823
  msgstr ""
4824
 
4825
+ #: build/wp-user-avatar/src/Functions/data/countries.php:75
4826
+ #: src/Functions/data/countries.php:75
4827
+ msgid "Denmark"
4828
  msgstr ""
4829
 
4830
+ #: build/wp-user-avatar/src/Functions/data/countries.php:76
4831
+ #: src/Functions/data/countries.php:76
4832
+ msgid "Djibouti"
4833
  msgstr ""
4834
 
4835
+ #: build/wp-user-avatar/src/Functions/data/countries.php:77
4836
+ #: src/Functions/data/countries.php:77
4837
+ msgid "Dominica"
4838
  msgstr ""
4839
 
4840
+ #: build/wp-user-avatar/src/Functions/data/countries.php:78
4841
+ #: src/Functions/data/countries.php:78
4842
+ msgid "Dominican Republic"
4843
  msgstr ""
4844
 
4845
+ #: build/wp-user-avatar/src/Functions/data/countries.php:79
4846
+ #: src/Functions/data/countries.php:79
4847
+ msgid "Ecuador"
4848
  msgstr ""
4849
 
4850
+ #: build/wp-user-avatar/src/Functions/data/countries.php:80
4851
+ #: src/Functions/data/countries.php:80
4852
+ msgid "Egypt"
4853
  msgstr ""
4854
 
4855
+ #: build/wp-user-avatar/src/Functions/data/countries.php:81
4856
+ #: src/Functions/data/countries.php:81
4857
+ msgid "El Salvador"
4858
  msgstr ""
4859
 
4860
+ #: build/wp-user-avatar/src/Functions/data/countries.php:82
4861
+ #: src/Functions/data/countries.php:82
4862
+ msgid "Equatorial Guinea"
4863
  msgstr ""
4864
 
4865
+ #: build/wp-user-avatar/src/Functions/data/countries.php:83
4866
+ #: src/Functions/data/countries.php:83
4867
+ msgid "Eritrea"
4868
  msgstr ""
4869
 
4870
+ #: build/wp-user-avatar/src/Functions/data/countries.php:84
4871
+ #: src/Functions/data/countries.php:84
4872
+ msgid "Estonia"
4873
  msgstr ""
4874
 
4875
+ #: build/wp-user-avatar/src/Functions/data/countries.php:85
4876
+ #: src/Functions/data/countries.php:85
4877
+ msgid "Eswatini"
4878
  msgstr ""
4879
 
4880
+ #: build/wp-user-avatar/src/Functions/data/countries.php:86
4881
+ #: src/Functions/data/countries.php:86
4882
+ msgid "Ethiopia"
 
4883
  msgstr ""
4884
 
4885
+ #: build/wp-user-avatar/src/Functions/data/countries.php:87
4886
+ #: src/Functions/data/countries.php:87
4887
+ msgid "Falkland Islands"
4888
  msgstr ""
4889
 
4890
+ #: build/wp-user-avatar/src/Functions/data/countries.php:88
4891
+ #: src/Functions/data/countries.php:88
4892
+ msgid "Faroe Islands"
 
 
 
 
 
4893
  msgstr ""
4894
 
4895
+ #: build/wp-user-avatar/src/Functions/data/countries.php:89
4896
+ #: src/Functions/data/countries.php:89
4897
+ msgid "Fiji"
 
4898
  msgstr ""
4899
 
4900
+ #: build/wp-user-avatar/src/Functions/data/countries.php:90
4901
+ #: src/Functions/data/countries.php:90
4902
+ msgid "Finland"
4903
  msgstr ""
4904
 
4905
+ #: build/wp-user-avatar/src/Functions/data/countries.php:91
4906
+ #: src/Functions/data/countries.php:91
4907
+ msgid "France"
4908
  msgstr ""
4909
 
4910
+ #: build/wp-user-avatar/src/Functions/data/countries.php:92
4911
+ #: src/Functions/data/countries.php:92
4912
+ msgid "French Guiana"
4913
  msgstr ""
4914
 
4915
+ #: build/wp-user-avatar/src/Functions/data/countries.php:93
4916
+ #: src/Functions/data/countries.php:93
4917
+ msgid "French Polynesia"
 
4918
  msgstr ""
4919
 
4920
+ #: build/wp-user-avatar/src/Functions/data/countries.php:94
4921
+ #: src/Functions/data/countries.php:94
4922
+ msgid "French Southern Territories"
4923
  msgstr ""
4924
 
4925
+ #: build/wp-user-avatar/src/Functions/data/countries.php:95
4926
+ #: src/Functions/data/countries.php:95
4927
+ msgid "Gabon"
4928
  msgstr ""
4929
 
4930
+ #: build/wp-user-avatar/src/Functions/data/countries.php:96
4931
+ #: src/Functions/data/countries.php:96
4932
+ msgid "Gambia"
4933
  msgstr ""
4934
 
4935
+ #: build/wp-user-avatar/src/Functions/data/countries.php:98
4936
+ #: src/Functions/data/countries.php:98
4937
+ msgid "Germany"
4938
  msgstr ""
4939
 
4940
+ #: build/wp-user-avatar/src/Functions/data/countries.php:99
4941
+ #: src/Functions/data/countries.php:99
4942
+ msgid "Ghana"
4943
  msgstr ""
4944
 
4945
+ #: build/wp-user-avatar/src/Functions/data/countries.php:100
4946
+ #: src/Functions/data/countries.php:100
4947
+ msgid "Gibraltar"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4948
  msgstr ""
4949
 
4950
+ #: build/wp-user-avatar/src/Functions/data/countries.php:101
4951
+ #: src/Functions/data/countries.php:101
4952
+ msgid "Greece"
4953
  msgstr ""
4954
 
4955
+ #: build/wp-user-avatar/src/Functions/data/countries.php:102
4956
+ #: src/Functions/data/countries.php:102
4957
+ msgid "Greenland"
4958
  msgstr ""
4959
 
4960
+ #: build/wp-user-avatar/src/Functions/data/countries.php:103
4961
+ #: src/Functions/data/countries.php:103
4962
+ msgid "Grenada"
4963
  msgstr ""
4964
 
4965
+ #: build/wp-user-avatar/src/Functions/data/countries.php:104
4966
+ #: src/Functions/data/countries.php:104
4967
+ msgid "Guadeloupe"
4968
  msgstr ""
4969
 
4970
+ #: build/wp-user-avatar/src/Functions/data/countries.php:105
4971
+ #: src/Functions/data/countries.php:105
4972
+ msgid "Guam"
4973
  msgstr ""
4974
 
4975
+ #: build/wp-user-avatar/src/Functions/data/countries.php:106
4976
+ #: src/Functions/data/countries.php:106
4977
+ msgid "Guatemala"
4978
  msgstr ""
4979
 
4980
+ #: build/wp-user-avatar/src/Functions/data/countries.php:107
4981
+ #: src/Functions/data/countries.php:107
4982
+ msgid "Guernsey"
4983
  msgstr ""
4984
 
4985
+ #: build/wp-user-avatar/src/Functions/data/countries.php:108
4986
+ #: src/Functions/data/countries.php:108
4987
+ msgid "Guinea"
4988
  msgstr ""
4989
 
4990
+ #: build/wp-user-avatar/src/Functions/data/countries.php:109
4991
+ #: src/Functions/data/countries.php:109
4992
+ msgid "Guinea-Bissau"
4993
  msgstr ""
4994
 
4995
+ #: build/wp-user-avatar/src/Functions/data/countries.php:110
4996
+ #: src/Functions/data/countries.php:110
4997
+ msgid "Guyana"
4998
  msgstr ""
4999
 
5000
+ #: build/wp-user-avatar/src/Functions/data/countries.php:111
5001
+ #: src/Functions/data/countries.php:111
5002
+ msgid "Haiti"
5003
  msgstr ""
5004
 
5005
+ #: build/wp-user-avatar/src/Functions/data/countries.php:112
5006
+ #: src/Functions/data/countries.php:112
5007
+ msgid "Heard Island and McDonald Islands"
5008
  msgstr ""
5009
 
5010
+ #: build/wp-user-avatar/src/Functions/data/countries.php:113
5011
+ #: src/Functions/data/countries.php:113
5012
+ msgid "Honduras"
5013
  msgstr ""
5014
 
5015
+ #: build/wp-user-avatar/src/Functions/data/countries.php:114
5016
+ #: src/Functions/data/countries.php:114
5017
+ msgid "Hong Kong"
5018
  msgstr ""
5019
 
5020
+ #: build/wp-user-avatar/src/Functions/data/countries.php:115
5021
+ #: src/Functions/data/countries.php:115
5022
+ msgid "Hungary"
 
5023
  msgstr ""
5024
 
5025
+ #: build/wp-user-avatar/src/Functions/data/countries.php:116
5026
+ #: src/Functions/data/countries.php:116
5027
+ msgid "Iceland"
5028
  msgstr ""
5029
 
5030
+ #: build/wp-user-avatar/src/Functions/data/countries.php:117
5031
+ #: src/Functions/data/countries.php:117
5032
+ msgid "India"
5033
  msgstr ""
5034
 
5035
+ #: build/wp-user-avatar/src/Functions/data/countries.php:118
5036
+ #: src/Functions/data/countries.php:118
5037
+ msgid "Indonesia"
5038
  msgstr ""
5039
 
5040
+ #: build/wp-user-avatar/src/Functions/data/countries.php:119
5041
+ #: src/Functions/data/countries.php:119
5042
+ msgid "Iran"
5043
  msgstr ""
5044
 
5045
+ #: build/wp-user-avatar/src/Functions/data/countries.php:120
5046
+ #: src/Functions/data/countries.php:120
5047
+ msgid "Iraq"
5048
  msgstr ""
5049
 
5050
+ #: build/wp-user-avatar/src/Functions/data/countries.php:121
5051
+ #: src/Functions/data/countries.php:121
5052
+ msgid "Republic of Ireland"
5053
  msgstr ""
5054
 
5055
+ #: build/wp-user-avatar/src/Functions/data/countries.php:122
5056
+ #: src/Functions/data/countries.php:122
5057
+ msgid "Isle of Man"
5058
  msgstr ""
5059
 
5060
+ #: build/wp-user-avatar/src/Functions/data/countries.php:123
5061
+ #: src/Functions/data/countries.php:123
5062
+ msgid "Israel"
5063
  msgstr ""
5064
 
5065
+ #: build/wp-user-avatar/src/Functions/data/countries.php:124
5066
+ #: src/Functions/data/countries.php:124
5067
+ msgid "Italy"
5068
  msgstr ""
5069
 
5070
+ #: build/wp-user-avatar/src/Functions/data/countries.php:125
5071
+ #: src/Functions/data/countries.php:125
5072
+ msgid "Ivory Coast"
5073
  msgstr ""
5074
 
5075
+ #: build/wp-user-avatar/src/Functions/data/countries.php:126
5076
+ #: src/Functions/data/countries.php:126
5077
+ msgid "Jamaica"
5078
  msgstr ""
5079
 
5080
+ #: build/wp-user-avatar/src/Functions/data/countries.php:127
5081
+ #: src/Functions/data/countries.php:127
5082
+ msgid "Japan"
5083
  msgstr ""
5084
 
5085
+ #: build/wp-user-avatar/src/Functions/data/countries.php:128
5086
+ #: src/Functions/data/countries.php:128
5087
+ msgid "Jersey"
5088
  msgstr ""
5089
 
5090
+ #: build/wp-user-avatar/src/Functions/data/countries.php:129
5091
+ #: src/Functions/data/countries.php:129
5092
+ msgid "Jordan"
5093
  msgstr ""
5094
 
5095
+ #: build/wp-user-avatar/src/Functions/data/countries.php:130
5096
+ #: src/Functions/data/countries.php:130
5097
+ msgid "Kazakhstan"
5098
  msgstr ""
5099
 
5100
+ #: build/wp-user-avatar/src/Functions/data/countries.php:131
5101
+ #: src/Functions/data/countries.php:131
5102
+ msgid "Kenya"
5103
  msgstr ""
5104
 
5105
+ #: build/wp-user-avatar/src/Functions/data/countries.php:132
5106
+ #: src/Functions/data/countries.php:132
5107
+ msgid "Kiribati"
5108
  msgstr ""
5109
 
5110
+ #: build/wp-user-avatar/src/Functions/data/countries.php:133
5111
+ #: src/Functions/data/countries.php:133
5112
+ msgid "Kuwait"
5113
  msgstr ""
5114
 
5115
+ #: build/wp-user-avatar/src/Functions/data/countries.php:134
5116
+ #: src/Functions/data/countries.php:134
5117
+ msgid "Kyrgyzstan"
5118
  msgstr ""
5119
 
5120
+ #: build/wp-user-avatar/src/Functions/data/countries.php:135
5121
+ #: src/Functions/data/countries.php:135
5122
+ msgid "Laos"
5123
  msgstr ""
5124
 
5125
+ #: build/wp-user-avatar/src/Functions/data/countries.php:136
5126
+ #: src/Functions/data/countries.php:136
5127
+ msgid "Latvia"
5128
  msgstr ""
5129
 
5130
+ #: build/wp-user-avatar/src/Functions/data/countries.php:137
5131
+ #: src/Functions/data/countries.php:137
5132
+ msgid "Lebanon"
5133
  msgstr ""
5134
 
5135
+ #: build/wp-user-avatar/src/Functions/data/countries.php:138
5136
+ #: src/Functions/data/countries.php:138
5137
+ msgid "Lesotho"
5138
  msgstr ""
5139
 
5140
+ #: build/wp-user-avatar/src/Functions/data/countries.php:139
5141
+ #: src/Functions/data/countries.php:139
5142
+ msgid "Liberia"
 
 
 
5143
  msgstr ""
5144
 
5145
+ #: build/wp-user-avatar/src/Functions/data/countries.php:140
5146
+ #: src/Functions/data/countries.php:140
5147
+ msgid "Libya"
5148
  msgstr ""
5149
 
5150
+ #: build/wp-user-avatar/src/Functions/data/countries.php:141
5151
+ #: src/Functions/data/countries.php:141
5152
+ msgid "Liechtenstein"
5153
  msgstr ""
5154
 
5155
+ #: build/wp-user-avatar/src/Functions/data/countries.php:142
5156
+ #: src/Functions/data/countries.php:142
5157
+ msgid "Lithuania"
5158
  msgstr ""
5159
 
5160
+ #: build/wp-user-avatar/src/Functions/data/countries.php:143
5161
+ #: src/Functions/data/countries.php:143
5162
+ msgid "Luxembourg"
 
5163
  msgstr ""
5164
 
5165
+ #: build/wp-user-avatar/src/Functions/data/countries.php:144
5166
+ #: src/Functions/data/countries.php:144
5167
+ msgid "Macao S.A.R., China"
5168
  msgstr ""
5169
 
5170
+ #: build/wp-user-avatar/src/Functions/data/countries.php:145
5171
+ #: src/Functions/data/countries.php:145
5172
+ msgid "Macedonia"
5173
  msgstr ""
5174
 
5175
+ #: build/wp-user-avatar/src/Functions/data/countries.php:146
5176
+ #: src/Functions/data/countries.php:146
5177
+ msgid "Madagascar"
5178
  msgstr ""
5179
 
5180
+ #: build/wp-user-avatar/src/Functions/data/countries.php:147
5181
+ #: src/Functions/data/countries.php:147
5182
+ msgid "Malawi"
5183
  msgstr ""
5184
 
5185
+ #: build/wp-user-avatar/src/Functions/data/countries.php:148
5186
+ #: src/Functions/data/countries.php:148
5187
+ msgid "Malaysia"
5188
  msgstr ""
5189
 
5190
+ #: build/wp-user-avatar/src/Functions/data/countries.php:149
5191
+ #: src/Functions/data/countries.php:149
5192
+ msgid "Maldives"
5193
  msgstr ""
5194
 
5195
+ #: build/wp-user-avatar/src/Functions/data/countries.php:150
5196
+ #: src/Functions/data/countries.php:150
5197
+ msgid "Mali"
5198
  msgstr ""
5199
 
5200
+ #: build/wp-user-avatar/src/Functions/data/countries.php:151
5201
+ #: src/Functions/data/countries.php:151
5202
+ msgid "Malta"
5203
  msgstr ""
5204
 
5205
+ #: build/wp-user-avatar/src/Functions/data/countries.php:152
5206
+ #: src/Functions/data/countries.php:152
5207
+ msgid "Marshall Islands"
5208
  msgstr ""
5209
 
5210
+ #: build/wp-user-avatar/src/Functions/data/countries.php:153
5211
+ #: src/Functions/data/countries.php:153
5212
+ msgid "Martinique"
5213
  msgstr ""
5214
 
5215
+ #: build/wp-user-avatar/src/Functions/data/countries.php:154
5216
+ #: src/Functions/data/countries.php:154
5217
+ msgid "Mauritania"
5218
  msgstr ""
5219
 
5220
+ #: build/wp-user-avatar/src/Functions/data/countries.php:155
5221
+ #: src/Functions/data/countries.php:155
5222
+ msgid "Mauritius"
5223
  msgstr ""
5224
 
5225
+ #: build/wp-user-avatar/src/Functions/data/countries.php:156
5226
+ #: src/Functions/data/countries.php:156
5227
+ msgid "Mayotte"
5228
  msgstr ""
5229
 
5230
+ #: build/wp-user-avatar/src/Functions/data/countries.php:157
5231
+ #: src/Functions/data/countries.php:157
5232
+ msgid "Mexico"
5233
  msgstr ""
5234
 
5235
+ #: build/wp-user-avatar/src/Functions/data/countries.php:158
5236
+ #: src/Functions/data/countries.php:158
5237
+ msgid "Micronesia"
5238
  msgstr ""
5239
 
5240
+ #: build/wp-user-avatar/src/Functions/data/countries.php:159
5241
+ #: src/Functions/data/countries.php:159
5242
+ msgid "Moldova"
5243
  msgstr ""
5244
 
5245
+ #: build/wp-user-avatar/src/Functions/data/countries.php:160
5246
+ #: src/Functions/data/countries.php:160
5247
+ msgid "Monaco"
5248
  msgstr ""
5249
 
5250
+ #: build/wp-user-avatar/src/Functions/data/countries.php:161
5251
+ #: src/Functions/data/countries.php:161
5252
+ msgid "Mongolia"
5253
  msgstr ""
5254
 
5255
+ #: build/wp-user-avatar/src/Functions/data/countries.php:162
5256
+ #: src/Functions/data/countries.php:162
5257
+ msgid "Montenegro"
5258
  msgstr ""
5259
 
5260
+ #: build/wp-user-avatar/src/Functions/data/countries.php:163
5261
+ #: src/Functions/data/countries.php:163
5262
+ msgid "Montserrat"
5263
  msgstr ""
5264
 
5265
+ #: build/wp-user-avatar/src/Functions/data/countries.php:164
5266
+ #: src/Functions/data/countries.php:164
5267
+ msgid "Morocco"
5268
  msgstr ""
5269
 
5270
+ #: build/wp-user-avatar/src/Functions/data/countries.php:165
5271
+ #: src/Functions/data/countries.php:165
5272
+ msgid "Mozambique"
5273
  msgstr ""
5274
 
5275
+ #: build/wp-user-avatar/src/Functions/data/countries.php:166
5276
+ #: src/Functions/data/countries.php:166
5277
+ msgid "Myanmar"
5278
  msgstr ""
5279
 
5280
+ #: build/wp-user-avatar/src/Functions/data/countries.php:167
5281
+ #: src/Functions/data/countries.php:167
5282
+ msgid "Namibia"
5283
  msgstr ""
5284
 
5285
+ #: build/wp-user-avatar/src/Functions/data/countries.php:168
5286
+ #: src/Functions/data/countries.php:168
5287
+ msgid "Nauru"
5288
  msgstr ""
5289
 
5290
+ #: build/wp-user-avatar/src/Functions/data/countries.php:169
5291
+ #: src/Functions/data/countries.php:169
5292
+ msgid "Nepal"
5293
  msgstr ""
5294
 
5295
+ #: build/wp-user-avatar/src/Functions/data/countries.php:170
5296
+ #: src/Functions/data/countries.php:170
5297
+ msgid "Netherlands"
5298
  msgstr ""
5299
 
5300
+ #: build/wp-user-avatar/src/Functions/data/countries.php:171
5301
+ #: src/Functions/data/countries.php:171
5302
+ msgid "New Caledonia"
5303
  msgstr ""
5304
 
5305
+ #: build/wp-user-avatar/src/Functions/data/countries.php:172
5306
+ #: src/Functions/data/countries.php:172
5307
+ msgid "New Zealand"
5308
  msgstr ""
5309
 
5310
+ #: build/wp-user-avatar/src/Functions/data/countries.php:173
5311
+ #: src/Functions/data/countries.php:173
5312
+ msgid "Nicaragua"
5313
  msgstr ""
5314
 
5315
+ #: build/wp-user-avatar/src/Functions/data/countries.php:174
5316
+ #: src/Functions/data/countries.php:174
5317
+ msgid "Niger"
5318
  msgstr ""
5319
 
5320
+ #: build/wp-user-avatar/src/Functions/data/countries.php:175
5321
+ #: src/Functions/data/countries.php:175
5322
+ msgid "Nigeria"
5323
  msgstr ""
5324
 
5325
+ #: build/wp-user-avatar/src/Functions/data/countries.php:176
5326
+ #: src/Functions/data/countries.php:176
5327
+ msgid "Niue"
5328
  msgstr ""
5329
 
5330
+ #: build/wp-user-avatar/src/Functions/data/countries.php:177
5331
+ #: src/Functions/data/countries.php:177
5332
+ msgid "Norfolk Island"
5333
  msgstr ""
5334
 
5335
+ #: build/wp-user-avatar/src/Functions/data/countries.php:178
5336
+ #: src/Functions/data/countries.php:178
5337
+ msgid "Northern Mariana Islands"
5338
  msgstr ""
5339
 
5340
+ #: build/wp-user-avatar/src/Functions/data/countries.php:179
5341
+ #: src/Functions/data/countries.php:179
5342
+ msgid "North Korea"
5343
  msgstr ""
5344
 
5345
+ #: build/wp-user-avatar/src/Functions/data/countries.php:180
5346
+ #: src/Functions/data/countries.php:180
5347
+ msgid "Norway"
5348
  msgstr ""
5349
 
5350
+ #: build/wp-user-avatar/src/Functions/data/countries.php:181
5351
+ #: src/Functions/data/countries.php:181
5352
+ msgid "Oman"
5353
  msgstr ""
5354
 
5355
+ #: build/wp-user-avatar/src/Functions/data/countries.php:182
5356
+ #: src/Functions/data/countries.php:182
5357
+ msgid "Pakistan"
5358
  msgstr ""
5359
 
5360
+ #: build/wp-user-avatar/src/Functions/data/countries.php:183
5361
+ #: src/Functions/data/countries.php:183
5362
+ msgid "Palestinian Territory"
5363
  msgstr ""
5364
 
5365
+ #: build/wp-user-avatar/src/Functions/data/countries.php:184
5366
+ #: src/Functions/data/countries.php:184
5367
+ msgid "Panama"
5368
  msgstr ""
5369
 
5370
+ #: build/wp-user-avatar/src/Functions/data/countries.php:185
5371
+ #: src/Functions/data/countries.php:185
5372
+ msgid "Papua New Guinea"
5373
  msgstr ""
5374
 
5375
+ #: build/wp-user-avatar/src/Functions/data/countries.php:186
5376
+ #: src/Functions/data/countries.php:186
5377
+ msgid "Paraguay"
5378
  msgstr ""
5379
 
5380
+ #: build/wp-user-avatar/src/Functions/data/countries.php:187
5381
+ #: src/Functions/data/countries.php:187
5382
+ msgid "Peru"
5383
  msgstr ""
5384
 
5385
+ #: build/wp-user-avatar/src/Functions/data/countries.php:188
5386
+ #: src/Functions/data/countries.php:188
5387
+ msgid "Philippines"
5388
  msgstr ""
5389
 
5390
+ #: build/wp-user-avatar/src/Functions/data/countries.php:189
5391
+ #: src/Functions/data/countries.php:189
5392
+ msgid "Pitcairn"
5393
  msgstr ""
5394
 
5395
+ #: build/wp-user-avatar/src/Functions/data/countries.php:190
5396
+ #: src/Functions/data/countries.php:190
5397
+ msgid "Poland"
5398
  msgstr ""
5399
 
5400
+ #: build/wp-user-avatar/src/Functions/data/countries.php:191
5401
+ #: src/Functions/data/countries.php:191
5402
+ msgid "Portugal"
5403
  msgstr ""
5404
 
5405
+ #: build/wp-user-avatar/src/Functions/data/countries.php:192
5406
+ #: src/Functions/data/countries.php:192
5407
+ msgid "Puerto Rico"
5408
  msgstr ""
5409
 
5410
+ #: build/wp-user-avatar/src/Functions/data/countries.php:193
5411
+ #: src/Functions/data/countries.php:193
5412
+ msgid "Qatar"
5413
  msgstr ""
5414
 
5415
+ #: build/wp-user-avatar/src/Functions/data/countries.php:194
5416
+ #: src/Functions/data/countries.php:194
5417
+ msgid "Reunion"
5418
  msgstr ""
5419
 
5420
+ #: build/wp-user-avatar/src/Functions/data/countries.php:195
5421
+ #: src/Functions/data/countries.php:195
5422
+ msgid "Romania"
5423
  msgstr ""
5424
 
5425
+ #: build/wp-user-avatar/src/Functions/data/countries.php:196
5426
+ #: src/Functions/data/countries.php:196
5427
+ msgid "Russia"
5428
  msgstr ""
5429
 
5430
+ #: build/wp-user-avatar/src/Functions/data/countries.php:197
5431
+ #: src/Functions/data/countries.php:197
5432
+ msgid "Rwanda"
5433
  msgstr ""
5434
 
5435
+ #: build/wp-user-avatar/src/Functions/data/countries.php:198
5436
+ #: src/Functions/data/countries.php:198
5437
+ msgid "Saint Barth&eacute;lemy"
5438
  msgstr ""
5439
 
5440
+ #: build/wp-user-avatar/src/Functions/data/countries.php:199
5441
+ #: src/Functions/data/countries.php:199
5442
+ msgid "Saint Helena"
5443
  msgstr ""
5444
 
5445
+ #: build/wp-user-avatar/src/Functions/data/countries.php:200
5446
+ #: src/Functions/data/countries.php:200
5447
+ msgid "Saint Kitts and Nevis"
 
5448
  msgstr ""
5449
 
5450
+ #: build/wp-user-avatar/src/Functions/data/countries.php:201
5451
+ #: src/Functions/data/countries.php:201
5452
+ msgid "Saint Lucia"
5453
  msgstr ""
5454
 
5455
+ #: build/wp-user-avatar/src/Functions/data/countries.php:202
5456
+ #: src/Functions/data/countries.php:202
5457
+ msgid "Saint Martin (French part)"
5458
  msgstr ""
5459
 
5460
+ #: build/wp-user-avatar/src/Functions/data/countries.php:203
5461
+ #: src/Functions/data/countries.php:203
5462
+ msgid "Saint Martin (Dutch part)"
5463
  msgstr ""
5464
 
5465
+ #: build/wp-user-avatar/src/Functions/data/countries.php:204
5466
+ #: src/Functions/data/countries.php:204
5467
+ msgid "Saint Pierre and Miquelon"
5468
  msgstr ""
5469
 
5470
+ #: build/wp-user-avatar/src/Functions/data/countries.php:205
5471
+ #: src/Functions/data/countries.php:205
5472
+ msgid "Saint Vincent and the Grenadines"
 
 
 
5473
  msgstr ""
5474
 
5475
+ #: build/wp-user-avatar/src/Functions/data/countries.php:206
5476
+ #: src/Functions/data/countries.php:206
5477
+ msgid "San Marino"
5478
  msgstr ""
5479
 
5480
+ #: build/wp-user-avatar/src/Functions/data/countries.php:207
5481
+ #: src/Functions/data/countries.php:207
5482
+ msgid "S&atilde;o Tom&eacute; and Pr&iacute;ncipe"
5483
  msgstr ""
5484
 
5485
+ #: build/wp-user-avatar/src/Functions/data/countries.php:208
5486
+ #: src/Functions/data/countries.php:208
5487
+ msgid "Saudi Arabia"
 
5488
  msgstr ""
5489
 
5490
+ #: build/wp-user-avatar/src/Functions/data/countries.php:209
5491
+ #: src/Functions/data/countries.php:209
5492
+ msgid "Senegal"
 
5493
  msgstr ""
5494
 
5495
+ #: build/wp-user-avatar/src/Functions/data/countries.php:210
5496
+ #: src/Functions/data/countries.php:210
5497
+ msgid "Serbia"
 
5498
  msgstr ""
5499
 
5500
+ #: build/wp-user-avatar/src/Functions/data/countries.php:211
5501
+ #: src/Functions/data/countries.php:211
5502
+ msgid "Seychelles"
 
5503
  msgstr ""
5504
 
5505
+ #: build/wp-user-avatar/src/Functions/data/countries.php:212
5506
+ #: src/Functions/data/countries.php:212
5507
+ msgid "Sierra Leone"
 
5508
  msgstr ""
5509
 
5510
+ #: build/wp-user-avatar/src/Functions/data/countries.php:213
5511
+ #: src/Functions/data/countries.php:213
5512
+ msgid "Singapore"
5513
  msgstr ""
5514
 
5515
+ #: build/wp-user-avatar/src/Functions/data/countries.php:214
5516
+ #: src/Functions/data/countries.php:214
5517
+ msgid "Slovakia"
 
5518
  msgstr ""
5519
 
5520
+ #: build/wp-user-avatar/src/Functions/data/countries.php:215
5521
+ #: src/Functions/data/countries.php:215
5522
+ msgid "Slovenia"
5523
  msgstr ""
5524
 
5525
+ #: build/wp-user-avatar/src/Functions/data/countries.php:216
5526
+ #: src/Functions/data/countries.php:216
5527
+ msgid "Solomon Islands"
5528
  msgstr ""
5529
 
5530
+ #: build/wp-user-avatar/src/Functions/data/countries.php:217
5531
+ #: src/Functions/data/countries.php:217
5532
+ msgid "Somalia"
5533
  msgstr ""
5534
 
5535
+ #: build/wp-user-avatar/src/Functions/data/countries.php:218
5536
+ #: src/Functions/data/countries.php:218
5537
+ msgid "South Africa"
 
5538
  msgstr ""
5539
 
5540
+ #: build/wp-user-avatar/src/Functions/data/countries.php:219
5541
+ #: src/Functions/data/countries.php:219
5542
+ msgid "South Georgia/Sandwich Islands"
5543
  msgstr ""
5544
 
5545
+ #: build/wp-user-avatar/src/Functions/data/countries.php:220
5546
+ #: src/Functions/data/countries.php:220
5547
+ msgid "South Korea"
5548
  msgstr ""
5549
 
5550
+ #: build/wp-user-avatar/src/Functions/data/countries.php:221
5551
+ #: src/Functions/data/countries.php:221
5552
+ msgid "South Sudan"
5553
  msgstr ""
5554
 
5555
+ #: build/wp-user-avatar/src/Functions/data/countries.php:222
5556
+ #: src/Functions/data/countries.php:222
5557
+ msgid "Spain"
 
5558
  msgstr ""
5559
 
5560
+ #: build/wp-user-avatar/src/Functions/data/countries.php:223
5561
+ #: src/Functions/data/countries.php:223
5562
+ msgid "Sri Lanka"
5563
  msgstr ""
5564
 
5565
+ #: build/wp-user-avatar/src/Functions/data/countries.php:224
5566
+ #: src/Functions/data/countries.php:224
5567
+ msgid "Sudan"
 
 
5568
  msgstr ""
5569
 
5570
+ #: build/wp-user-avatar/src/Functions/data/countries.php:225
5571
+ #: src/Functions/data/countries.php:225
5572
+ msgid "Suriname"
5573
  msgstr ""
5574
 
5575
+ #: build/wp-user-avatar/src/Functions/data/countries.php:226
5576
+ #: src/Functions/data/countries.php:226
5577
+ msgid "Svalbard and Jan Mayen"
 
 
5578
  msgstr ""
5579
 
5580
+ #: build/wp-user-avatar/src/Functions/data/countries.php:227
5581
+ #: src/Functions/data/countries.php:227
5582
+ msgid "Swaziland"
5583
  msgstr ""
5584
 
5585
+ #: build/wp-user-avatar/src/Functions/data/countries.php:228
5586
+ #: src/Functions/data/countries.php:228
5587
+ msgid "Sweden"
5588
  msgstr ""
5589
 
5590
+ #: build/wp-user-avatar/src/Functions/data/countries.php:229
5591
+ #: src/Functions/data/countries.php:229
5592
+ msgid "Switzerland"
5593
  msgstr ""
5594
 
5595
+ #: build/wp-user-avatar/src/Functions/data/countries.php:230
5596
+ #: src/Functions/data/countries.php:230
5597
+ msgid "Syria"
 
5598
  msgstr ""
5599
 
5600
+ #: build/wp-user-avatar/src/Functions/data/countries.php:231
5601
+ #: src/Functions/data/countries.php:231
5602
+ msgid "Taiwan"
5603
  msgstr ""
5604
 
5605
+ #: build/wp-user-avatar/src/Functions/data/countries.php:232
5606
+ #: src/Functions/data/countries.php:232
5607
+ msgid "Tajikistan"
 
 
 
5608
  msgstr ""
5609
 
5610
+ #: build/wp-user-avatar/src/Functions/data/countries.php:233
5611
+ #: src/Functions/data/countries.php:233
5612
+ msgid "Tanzania"
5613
  msgstr ""
5614
 
5615
+ #: build/wp-user-avatar/src/Functions/data/countries.php:234
5616
+ #: src/Functions/data/countries.php:234
5617
+ msgid "Thailand"
5618
  msgstr ""
5619
 
5620
+ #: build/wp-user-avatar/src/Functions/data/countries.php:235
5621
+ #: src/Functions/data/countries.php:235
5622
+ msgid "Timor-Leste"
5623
  msgstr ""
5624
 
5625
+ #: build/wp-user-avatar/src/Functions/data/countries.php:236
5626
+ #: src/Functions/data/countries.php:236
5627
+ msgid "Togo"
 
5628
  msgstr ""
5629
 
5630
+ #: build/wp-user-avatar/src/Functions/data/countries.php:237
5631
+ #: src/Functions/data/countries.php:237
5632
+ msgid "Tokelau"
5633
  msgstr ""
5634
 
5635
+ #: build/wp-user-avatar/src/Functions/data/countries.php:238
5636
+ #: src/Functions/data/countries.php:238
5637
+ msgid "Tonga"
5638
  msgstr ""
5639
 
5640
+ #: build/wp-user-avatar/src/Functions/data/countries.php:239
5641
+ #: src/Functions/data/countries.php:239
5642
+ msgid "Trinidad and Tobago"
 
5643
  msgstr ""
5644
 
5645
+ #: build/wp-user-avatar/src/Functions/data/countries.php:240
5646
+ #: src/Functions/data/countries.php:240
5647
+ msgid "Tunisia"
5648
  msgstr ""
5649
 
5650
+ #: build/wp-user-avatar/src/Functions/data/countries.php:241
5651
+ #: src/Functions/data/countries.php:241
5652
+ msgid "Turkey"
 
5653
  msgstr ""
5654
 
5655
+ #: build/wp-user-avatar/src/Functions/data/countries.php:242
5656
+ #: src/Functions/data/countries.php:242
5657
+ msgid "Turkmenistan"
 
 
 
5658
  msgstr ""
5659
 
5660
+ #: build/wp-user-avatar/src/Functions/data/countries.php:243
5661
+ #: src/Functions/data/countries.php:243
5662
+ msgid "Turks and Caicos Islands"
5663
  msgstr ""
5664
 
5665
+ #: build/wp-user-avatar/src/Functions/data/countries.php:244
5666
+ #: src/Functions/data/countries.php:244
5667
+ msgid "Tuvalu"
5668
  msgstr ""
5669
 
5670
+ #: build/wp-user-avatar/src/Functions/data/countries.php:245
5671
+ #: src/Functions/data/countries.php:245
5672
+ msgid "Uganda"
5673
  msgstr ""
5674
 
5675
+ #: build/wp-user-avatar/src/Functions/data/countries.php:246
5676
+ #: src/Functions/data/countries.php:246
5677
+ msgid "Ukraine"
5678
  msgstr ""
5679
 
5680
+ #: build/wp-user-avatar/src/Functions/data/countries.php:247
5681
+ #: src/Functions/data/countries.php:247
5682
+ msgid "United Arab Emirates"
5683
  msgstr ""
5684
 
5685
+ #: build/wp-user-avatar/src/Functions/data/countries.php:248
5686
+ #: src/Functions/data/countries.php:248
5687
+ msgid "United Kingdom (UK)"
5688
  msgstr ""
5689
 
5690
+ #: build/wp-user-avatar/src/Functions/data/countries.php:249
5691
+ #: src/Functions/data/countries.php:249
5692
+ msgid "United States (US)"
5693
  msgstr ""
5694
 
5695
+ #: build/wp-user-avatar/src/Functions/data/countries.php:250
5696
+ #: src/Functions/data/countries.php:250
5697
+ msgid "United States (US) Minor Outlying Islands"
5698
  msgstr ""
5699
 
5700
+ #: build/wp-user-avatar/src/Functions/data/countries.php:251
5701
+ #: src/Functions/data/countries.php:251
5702
+ msgid "United States (US) Virgin Islands"
5703
  msgstr ""
5704
 
5705
+ #: build/wp-user-avatar/src/Functions/data/countries.php:252
5706
+ #: src/Functions/data/countries.php:252
5707
+ msgid "Uruguay"
5708
  msgstr ""
5709
 
5710
+ #: build/wp-user-avatar/src/Functions/data/countries.php:253
5711
+ #: src/Functions/data/countries.php:253
5712
+ msgid "Uzbekistan"
5713
  msgstr ""
5714
 
5715
+ #: build/wp-user-avatar/src/Functions/data/countries.php:254
5716
+ #: src/Functions/data/countries.php:254
5717
+ msgid "Vanuatu"
5718
  msgstr ""
5719
 
5720
+ #: build/wp-user-avatar/src/Functions/data/countries.php:255
5721
+ #: src/Functions/data/countries.php:255
5722
+ msgid "Vatican"
5723
  msgstr ""
5724
 
5725
+ #: build/wp-user-avatar/src/Functions/data/countries.php:256
5726
+ #: src/Functions/data/countries.php:256
5727
+ msgid "Venezuela"
5728
  msgstr ""
5729
 
5730
+ #: build/wp-user-avatar/src/Functions/data/countries.php:257
5731
+ #: src/Functions/data/countries.php:257
5732
+ msgid "Vietnam"
5733
  msgstr ""
5734
 
5735
+ #: build/wp-user-avatar/src/Functions/data/countries.php:258
5736
+ #: src/Functions/data/countries.php:258
5737
+ msgid "Wallis and Futuna"
5738
  msgstr ""
5739
 
5740
+ #: build/wp-user-avatar/src/Functions/data/countries.php:259
5741
+ #: src/Functions/data/countries.php:259
5742
+ msgid "Western Sahara"
5743
  msgstr ""
5744
 
5745
+ #: build/wp-user-avatar/src/Functions/data/countries.php:260
5746
+ #: src/Functions/data/countries.php:260
5747
+ msgid "Samoa"
5748
  msgstr ""
5749
 
5750
+ #: build/wp-user-avatar/src/Functions/data/countries.php:261
5751
+ #: src/Functions/data/countries.php:261
5752
+ msgid "Yemen"
 
5753
  msgstr ""
5754
 
5755
+ #: build/wp-user-avatar/src/Functions/data/countries.php:262
5756
+ #: src/Functions/data/countries.php:262
5757
+ msgid "Zambia"
5758
  msgstr ""
5759
 
5760
+ #: build/wp-user-avatar/src/Functions/data/countries.php:263
5761
+ #: src/Functions/data/countries.php:263
5762
+ msgid "Zimbabwe"
5763
  msgstr ""
5764
 
5765
+ #: build/wp-user-avatar/src/NavigationMenuLinks/Backend.php:29
5766
+ #: build/wp-user-avatar/src/RegisterActivation/Base.php:155
5767
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/LoginFormBuilder.php:166
5768
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractTheme.php:104
5769
+ #: build/wp-user-avatar/src/Widgets/TabbedWidget.php:88
5770
+ #: src/NavigationMenuLinks/Backend.php:29 src/RegisterActivation/Base.php:155
5771
  #: src/ShortcodeParser/Builder/LoginFormBuilder.php:166
5772
  #: src/Themes/DragDrop/AbstractTheme.php:104 src/Widgets/TabbedWidget.php:88
5773
  msgid "Log In"
5774
  msgstr ""
5775
 
5776
+ #: build/wp-user-avatar/src/NavigationMenuLinks/Backend.php:30
5777
+ #: build/wp-user-avatar/src/NavigationMenuLinks/Backend.php:34
5778
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/GlobalShortcodes.php:271
5779
+ #: build/wp-user-avatar/src/Widgets/UserPanel.php:30
5780
+ #: build/wp-user-avatar/src/Widgets/UserPanel.php:71
5781
  #: src/NavigationMenuLinks/Backend.php:30
5782
  #: src/NavigationMenuLinks/Backend.php:34
5783
+ #: src/ShortcodeParser/Builder/GlobalShortcodes.php:271
5784
  #: src/Widgets/UserPanel.php:30 src/Widgets/UserPanel.php:71
5785
  msgid "Log Out"
5786
  msgstr ""
5787
 
5788
+ #: build/wp-user-avatar/src/NavigationMenuLinks/Backend.php:31
5789
+ #: build/wp-user-avatar/src/RegisterActivation/Base.php:159
5790
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:1033
5791
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/GlobalShortcodes.php:174
5792
+ #: build/wp-user-avatar/src/Widgets/TabbedWidget.php:89
5793
+ #: src/NavigationMenuLinks/Backend.php:31 src/RegisterActivation/Base.php:159
5794
+ #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:1033
5795
+ #: src/ShortcodeParser/Builder/GlobalShortcodes.php:174
5796
  #: src/Widgets/TabbedWidget.php:89
5797
  msgid "Sign Up"
5798
  msgstr ""
5799
 
5800
+ #: build/wp-user-avatar/src/NavigationMenuLinks/Backend.php:33
5801
+ #: build/wp-user-avatar/src/RegisterActivation/Base.php:172
5802
+ #: src/NavigationMenuLinks/Backend.php:33 src/RegisterActivation/Base.php:172
5803
  msgid "My Profile"
5804
  msgstr ""
5805
 
5806
+ #: build/wp-user-avatar/src/NavigationMenuLinks/Backend.php:46
5807
+ #: build/wp-user-avatar/src/NavigationMenuLinks/Backend.php:89
5808
  #: src/NavigationMenuLinks/Backend.php:46
5809
  #: src/NavigationMenuLinks/Backend.php:89
5810
  msgid "ProfilePress Links"
5811
  msgstr ""
5812
 
5813
+ #: build/wp-user-avatar/src/NavigationMenuLinks/Backend.php:47
5814
+ #: build/wp-user-avatar/src/NavigationMenuLinks/Backend.php:78
5815
+ #: build/wp-user-avatar/src/NavigationMenuLinks/Backend.php:146
5816
  #: src/NavigationMenuLinks/Backend.php:47
5817
  #: src/NavigationMenuLinks/Backend.php:78
5818
  #: src/NavigationMenuLinks/Backend.php:146
5819
  msgid "ProfilePress Link"
5820
  msgstr ""
5821
 
5822
+ #: build/wp-user-avatar/src/NavigationMenuLinks/Backend.php:119
5823
  #: src/NavigationMenuLinks/Backend.php:119
5824
  msgid "Add to Menu"
5825
  msgstr ""
5826
 
5827
+ #: build/wp-user-avatar/src/RegisterActivation/Base.php:102
5828
+ #: src/RegisterActivation/Base.php:102
5829
  msgid "Default Registration"
5830
  msgstr ""
5831
 
5832
+ #: build/wp-user-avatar/src/RegisterActivation/Base.php:109
5833
+ #: src/RegisterActivation/Base.php:109
5834
  msgid "Default Login"
5835
  msgstr ""
5836
 
5837
+ #: build/wp-user-avatar/src/RegisterActivation/Base.php:116
5838
+ #: src/RegisterActivation/Base.php:116
5839
  msgid "Default Password Reset"
5840
  msgstr ""
5841
 
5842
+ #: build/wp-user-avatar/src/RegisterActivation/Base.php:123
5843
+ #: src/RegisterActivation/Base.php:123
5844
  msgid "Default Edit Profile"
5845
  msgstr ""
5846
 
5847
+ #: build/wp-user-avatar/src/RegisterActivation/Base.php:130
5848
+ #: src/RegisterActivation/Base.php:130
5849
  msgid "Default User Profile"
5850
  msgstr ""
5851
 
5852
+ #: build/wp-user-avatar/src/RegisterActivation/Base.php:137
5853
+ #: src/RegisterActivation/Base.php:137
5854
  msgid "Default Member Directory"
5855
  msgstr ""
5856
 
5857
+ #: build/wp-user-avatar/src/RegisterActivation/Base.php:144
5858
+ #: src/RegisterActivation/Base.php:144
5859
  msgid "Lucid Tab Widget"
5860
  msgstr ""
5861
 
5862
+ #: build/wp-user-avatar/src/RegisterActivation/Base.php:163
5863
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/GlobalShortcodes.php:206
5864
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractTheme.php:117
5865
+ #: src/RegisterActivation/Base.php:163
5866
+ #: src/ShortcodeParser/Builder/GlobalShortcodes.php:206
 
5867
  #: src/Themes/DragDrop/AbstractTheme.php:117
5868
  msgid "Reset Password"
5869
  msgstr ""
5870
 
5871
+ #: build/wp-user-avatar/src/RegisterActivation/Base.php:176
5872
+ #: src/RegisterActivation/Base.php:176
5873
  msgid "Member Directory"
5874
  msgstr ""
5875
 
5876
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/EditProfileBuilder.php:86
5877
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/EditProfileBuilder.php:99
5878
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/PasswordResetBuilder.php:220
5879
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/PasswordResetBuilder.php:232
5880
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/RegistrationFormBuilder.php:141
5881
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/RegistrationFormBuilder.php:154
 
 
 
 
 
 
 
 
 
 
5882
  #: src/ShortcodeParser/Builder/EditProfileBuilder.php:86
5883
  #: src/ShortcodeParser/Builder/EditProfileBuilder.php:99
5884
  #: src/ShortcodeParser/Builder/PasswordResetBuilder.php:220
5888
  msgid "Strength indicator"
5889
  msgstr ""
5890
 
5891
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/EditProfileBuilder.php:87
5892
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/PasswordResetBuilder.php:221
5893
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/RegistrationFormBuilder.php:142
5894
  #: src/ShortcodeParser/Builder/EditProfileBuilder.php:87
5895
  #: src/ShortcodeParser/Builder/PasswordResetBuilder.php:221
5896
  #: src/ShortcodeParser/Builder/RegistrationFormBuilder.php:142
5897
  msgid "Very weak"
5898
  msgstr ""
5899
 
5900
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/EditProfileBuilder.php:88
5901
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/PasswordResetBuilder.php:222
5902
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/RegistrationFormBuilder.php:143
5903
  #: src/ShortcodeParser/Builder/EditProfileBuilder.php:88
5904
  #: src/ShortcodeParser/Builder/PasswordResetBuilder.php:222
5905
  #: src/ShortcodeParser/Builder/RegistrationFormBuilder.php:143
5906
  msgid "Weak"
5907
  msgstr ""
5908
 
5909
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/EditProfileBuilder.php:89
5910
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/PasswordResetBuilder.php:223
5911
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/RegistrationFormBuilder.php:144
5912
  #: src/ShortcodeParser/Builder/EditProfileBuilder.php:89
5913
  #: src/ShortcodeParser/Builder/PasswordResetBuilder.php:223
5914
  #: src/ShortcodeParser/Builder/RegistrationFormBuilder.php:144
5916
  msgid "Medium"
5917
  msgstr ""
5918
 
5919
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/EditProfileBuilder.php:90
5920
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/PasswordResetBuilder.php:224
5921
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/RegistrationFormBuilder.php:145
5922
  #: src/ShortcodeParser/Builder/EditProfileBuilder.php:90
5923
  #: src/ShortcodeParser/Builder/PasswordResetBuilder.php:224
5924
  #: src/ShortcodeParser/Builder/RegistrationFormBuilder.php:145
5925
  msgid "Strong"
5926
  msgstr ""
5927
 
5928
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/EditProfileBuilder.php:91
5929
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/PasswordResetBuilder.php:225
5930
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/RegistrationFormBuilder.php:146
5931
  #: src/ShortcodeParser/Builder/EditProfileBuilder.php:91
5932
  #: src/ShortcodeParser/Builder/PasswordResetBuilder.php:225
5933
  #: src/ShortcodeParser/Builder/RegistrationFormBuilder.php:146
5934
  msgid "Mismatch"
5935
  msgstr ""
5936
 
5937
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:234
5938
+ #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:234
5939
+ msgid "Confirm Email Address"
5940
+ msgstr ""
5941
+
5942
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:332
5943
+ #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:332
5944
  msgid "Display name"
5945
  msgstr ""
5946
 
5947
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:364
5948
+ #: build/wp-user-avatar/src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:128
5949
+ #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:364
5950
+ #: src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:128
5951
  msgid "First name"
5952
  msgstr ""
5953
 
5954
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:397
5955
+ #: build/wp-user-avatar/src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:133
5956
+ #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:397
5957
+ #: src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:133
5958
  msgid "Last name"
5959
  msgstr ""
5960
 
5961
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:413
5962
+ #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:413
5963
+ msgid "Biographical Info"
5964
+ msgstr ""
5965
+
5966
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:429
5967
+ #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:429
5968
  msgid "Bio description"
5969
  msgstr ""
5970
 
5971
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:450
5972
+ #: build/wp-user-avatar/src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:108
5973
+ #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:450
5974
+ #: src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:108
5975
  msgid "Profile picture"
5976
  msgstr ""
5977
 
5978
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:471
5979
+ #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:471
5980
  msgid "Cover photo"
5981
  msgstr ""
5982
 
5983
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:490
5984
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:547
5985
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:637
5986
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:681
5987
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:707
5988
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:774
5989
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:830
5990
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:889
5991
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:940
5992
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FrontendProfileBuilder.php:346
5993
+ #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:490
5994
+ #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:547
5995
+ #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:637
5996
+ #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:681
5997
+ #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:707
5998
+ #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:774
5999
+ #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:830
6000
+ #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:889
6001
+ #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:940
6002
  #: src/ShortcodeParser/Builder/FrontendProfileBuilder.php:346
6003
  msgid "Field key is missing"
6004
  msgstr ""
6005
 
6006
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:564
6007
+ #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:564
6008
  msgid "Select country"
6009
  msgstr ""
6010
 
6011
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:711
6012
+ #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:711
6013
  msgid "No dropdown option found."
6014
  msgstr ""
6015
 
6016
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:780
6017
+ #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:780
6018
  msgid "No radio choice found."
6019
  msgstr ""
6020
 
6021
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:835
6022
+ #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:835
6023
  msgid "No checkbox choice found."
6024
  msgstr ""
6025
 
6026
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:948
6027
+ #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:948
6028
  msgid "custom field not defined"
6029
  msgstr ""
6030
 
6031
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:1102
6032
+ #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:1102
6033
  msgid "Delete Avatar"
6034
  msgstr ""
6035
 
6036
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:1138
6037
+ #: src/ShortcodeParser/Builder/FieldsShortcodeCallback.php:1138
6038
  msgid "Delete Cover Photo"
6039
  msgstr ""
6040
 
6041
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FrontendProfileBuilder.php:109
6042
  #: src/ShortcodeParser/Builder/FrontendProfileBuilder.php:109
6043
  msgid "This user has not created any post."
6044
  msgstr ""
6045
 
6046
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FrontendProfileBuilder.php:112
6047
  #: src/ShortcodeParser/Builder/FrontendProfileBuilder.php:112
6048
  msgid "You have not created any post."
6049
  msgstr ""
6050
 
6051
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FrontendProfileBuilder.php:171
6052
  #: src/ShortcodeParser/Builder/FrontendProfileBuilder.php:171
6053
  msgid "This user has not made any comment."
6054
  msgstr ""
6055
 
6056
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FrontendProfileBuilder.php:174
6057
  #: src/ShortcodeParser/Builder/FrontendProfileBuilder.php:174
6058
  msgid "You have not made any comment."
6059
  msgstr ""
6060
 
6061
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/FrontendProfileBuilder.php:661
6062
  #: src/ShortcodeParser/Builder/FrontendProfileBuilder.php:661
6063
  msgid "No post written yet."
6064
  msgstr ""
6065
 
6066
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/PasswordResetBuilder.php:106
6067
+ #: build/wp-user-avatar/src/ShortcodeParser/Builder/PasswordResetBuilder.php:344
6068
+ #: build/wp-user-avatar/src/Widgets/TabbedWidget.php:90
6069
  #: src/ShortcodeParser/Builder/PasswordResetBuilder.php:106
6070
  #: src/ShortcodeParser/Builder/PasswordResetBuilder.php:344
6071
  #: src/Widgets/TabbedWidget.php:90
6072
  msgid "Get New Password"
6073
  msgstr ""
6074
 
6075
+ #: build/wp-user-avatar/src/ShortcodeParser/EditProfileTag.php:78
6076
+ #: build/wp-user-avatar/src/ShortcodeParser/LoginFormTag.php:75
6077
+ #: build/wp-user-avatar/src/ShortcodeParser/PasswordResetTag.php:77
6078
+ #: build/wp-user-avatar/src/ShortcodeParser/RegistrationFormTag.php:79
6079
  #: src/ShortcodeParser/EditProfileTag.php:78
6080
  #: src/ShortcodeParser/LoginFormTag.php:75
6081
  #: src/ShortcodeParser/PasswordResetTag.php:77
6084
  "Form class not found. Please check if this ProfilePress form actually exist."
6085
  msgstr ""
6086
 
6087
+ #: build/wp-user-avatar/src/ShortcodeParser/FormProcessor.php:95
6088
  #: src/ShortcodeParser/FormProcessor.php:95
6089
  msgid "The password you entered is incorrect."
6090
  msgstr ""
6091
 
6092
+ #: build/wp-user-avatar/src/ShortcodeParser/FormProcessor.php:191
6093
  #: src/ShortcodeParser/FormProcessor.php:191
6094
  msgid "Authentication failed. Please try again"
6095
  msgstr ""
6096
 
6097
+ #: build/wp-user-avatar/src/ShortcodeParser/FrontendProfileTag.php:88
6098
  #: src/ShortcodeParser/FrontendProfileTag.php:88
6099
  msgid ""
6100
  "This content is available to members only. Please <a href=\"%1$s\">login</a> "
6101
  "or <a href=\"%2$s\">register</a> to view this area."
6102
  msgstr ""
6103
 
6104
+ #: build/wp-user-avatar/src/ShortcodeParser/FrontendProfileTag.php:95
6105
  #: src/ShortcodeParser/FrontendProfileTag.php:95
6106
  msgid "You are not authorized to access this area."
6107
  msgstr ""
6108
 
6109
+ #: build/wp-user-avatar/src/ShortcodeParser/FrontendProfileTag.php:133
6110
  #: src/ShortcodeParser/FrontendProfileTag.php:133
6111
  msgid ""
6112
  "Form class not found. Please check if this user profile actually exist in "
6113
  "ProfilePress."
6114
  msgstr ""
6115
 
6116
+ #: build/wp-user-avatar/src/ShortcodeParser/FrontendProfileTag.php:198
6117
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/Dixon.php:121
6118
  #: src/ShortcodeParser/FrontendProfileTag.php:198
6119
  #: src/Themes/DragDrop/UserProfile/Dixon.php:121
6120
  msgid "Profile"
6121
  msgstr ""
6122
 
6123
+ #: build/wp-user-avatar/src/ShortcodeParser/LoginFormTag.php:54
6124
  #: src/ShortcodeParser/LoginFormTag.php:54
6125
  msgid "You are already logged in."
6126
  msgstr ""
6127
 
6128
+ #: build/wp-user-avatar/src/ShortcodeParser/MemberDirectoryTag.php:46
6129
+ #: src/ShortcodeParser/MemberDirectoryTag.php:46
6130
  msgid "No member directory ID specified."
6131
  msgstr ""
6132
 
6133
+ #: build/wp-user-avatar/src/ShortcodeParser/MemberDirectoryTag.php:67
6134
+ #: src/ShortcodeParser/MemberDirectoryTag.php:67
6135
  msgid ""
6136
  "Member directory class not found. Please check it actually exist in "
6137
  "ProfilePress."
6138
  msgstr ""
6139
 
6140
+ #: build/wp-user-avatar/src/ShortcodeParser/MyAccount/MyAccountTag.php:52
6141
+ #: src/ShortcodeParser/MyAccount/MyAccountTag.php:52
6142
+ msgid "Dashboard"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6143
  msgstr ""
6144
 
6145
+ #: build/wp-user-avatar/src/ShortcodeParser/MyAccount/MyAccountTag.php:57
6146
+ #: src/ShortcodeParser/MyAccount/MyAccountTag.php:57
6147
  msgid "Account Details"
6148
  msgstr ""
6149
 
6150
+ #: build/wp-user-avatar/src/ShortcodeParser/MyAccount/MyAccountTag.php:64
6151
+ #: build/wp-user-avatar/src/ShortcodeParser/MyAccount/change-password.tmpl.php:25
6152
+ #: src/ShortcodeParser/MyAccount/MyAccountTag.php:64
6153
+ #: src/ShortcodeParser/MyAccount/change-password.tmpl.php:25
6154
  msgid "Change Password"
6155
  msgstr ""
6156
 
6157
+ #: build/wp-user-avatar/src/ShortcodeParser/MyAccount/MyAccountTag.php:71
6158
+ #: src/ShortcodeParser/MyAccount/MyAccountTag.php:71
6159
  msgid "Logout"
6160
  msgstr ""
6161
 
6162
+ #: build/wp-user-avatar/src/ShortcodeParser/MyAccount/MyAccountTag.php:80
6163
+ #: build/wp-user-avatar/src/ShortcodeParser/MyAccount/email-notifications.tmpl.php:14
6164
+ #: src/ShortcodeParser/MyAccount/MyAccountTag.php:80
6165
  #: src/ShortcodeParser/MyAccount/email-notifications.tmpl.php:14
6166
  msgid "Email Notifications"
6167
  msgstr ""
6168
 
6169
+ #: build/wp-user-avatar/src/ShortcodeParser/MyAccount/MyAccountTag.php:91
6170
+ #: build/wp-user-avatar/src/ShortcodeParser/MyAccount/account-settings.tmpl.php:17
6171
+ #: build/wp-user-avatar/src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:32
6172
+ #: src/ShortcodeParser/MyAccount/MyAccountTag.php:91
6173
+ #: src/ShortcodeParser/MyAccount/account-settings.tmpl.php:17
6174
+ #: src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:32
6175
  msgid "Account Settings"
6176
  msgstr ""
6177
 
6178
+ #: build/wp-user-avatar/src/ShortcodeParser/MyAccount/MyAccountTag.php:528
6179
+ #: src/ShortcodeParser/MyAccount/MyAccountTag.php:528
 
 
 
6180
  msgid "Cover Photo (min. width: 1000px)"
6181
  msgstr ""
6182
 
6183
+ #: build/wp-user-avatar/src/ShortcodeParser/MyAccount/change-password.tmpl.php:9
6184
+ #: src/ShortcodeParser/MyAccount/change-password.tmpl.php:9
 
 
 
 
6185
  msgid "Password successfully updated."
6186
  msgstr ""
6187
 
6188
+ #: build/wp-user-avatar/src/ShortcodeParser/MyAccount/change-password.tmpl.php:32
6189
+ #: src/ShortcodeParser/MyAccount/change-password.tmpl.php:32
6190
  msgid "Current password"
6191
  msgstr ""
6192
 
6193
+ #: build/wp-user-avatar/src/ShortcodeParser/MyAccount/change-password.tmpl.php:38
6194
+ #: build/wp-user-avatar/src/ShortcodeParser/PasswordResetTag.php:101
6195
+ #: src/ShortcodeParser/MyAccount/change-password.tmpl.php:38
6196
  #: src/ShortcodeParser/PasswordResetTag.php:101
6197
  msgid "New password"
6198
  msgstr ""
6199
 
6200
+ #: build/wp-user-avatar/src/ShortcodeParser/MyAccount/change-password.tmpl.php:44
6201
+ #: src/ShortcodeParser/MyAccount/change-password.tmpl.php:44
6202
  msgid "Confirm new password"
6203
  msgstr ""
6204
 
6205
+ #: build/wp-user-avatar/src/ShortcodeParser/MyAccount/change-password.tmpl.php:50
6206
+ #: src/ShortcodeParser/MyAccount/change-password.tmpl.php:50
6207
  msgid "Change password"
6208
  msgstr ""
6209
 
6210
  #. translators: 1: user display name 2: logout url
6211
+ #: build/wp-user-avatar/src/ShortcodeParser/MyAccount/dashboard.tmpl.php:16
6212
  #: src/ShortcodeParser/MyAccount/dashboard.tmpl.php:16
6213
  msgid "Hello %1$s (not %1$s? <a href=\"%2$s\">Log out</a>)"
6214
  msgstr ""
6215
 
6216
+ #: build/wp-user-avatar/src/ShortcodeParser/MyAccount/dashboard.tmpl.php:26
6217
  #: src/ShortcodeParser/MyAccount/dashboard.tmpl.php:26
6218
  msgid ""
6219
  "From your account dashboard you can <a href=\"%1$s\">change your password</"
6220
  "a> and <a href=\"%2$s\">edit your account details</a>."
6221
  msgstr ""
6222
 
6223
+ #: build/wp-user-avatar/src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:86
6224
+ #: build/wp-user-avatar/src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:107
6225
+ #: src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:86
6226
+ #: src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:107
 
 
6227
  msgid "Browse"
6228
  msgstr ""
6229
 
6230
+ #: build/wp-user-avatar/src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:87
6231
+ #: src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:87
6232
  msgid "Cover photo (min. width: 1000px)"
6233
  msgstr ""
6234
 
6235
+ #: build/wp-user-avatar/src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:123
6236
+ #: src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:123
6237
  msgid "Email address"
6238
  msgstr ""
6239
 
6240
+ #: build/wp-user-avatar/src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:143
6241
+ #: src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:143
6242
  msgid "Display name publicly as"
6243
  msgstr ""
6244
 
6245
+ #: build/wp-user-avatar/src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:153
6246
+ #: src/ShortcodeParser/MyAccount/edit-profile.tmpl.php:153
6247
  msgid "About yourself"
6248
  msgstr ""
6249
 
6250
+ #: build/wp-user-avatar/src/ShortcodeParser/PasswordResetTag.php:100
6251
+ #: src/ShortcodeParser/PasswordResetTag.php:100
6252
+ msgid "Enter your new password below"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6253
  msgstr ""
6254
 
6255
+ #: build/wp-user-avatar/src/ShortcodeParser/PasswordResetTag.php:104
6256
+ #: src/ShortcodeParser/PasswordResetTag.php:104
6257
+ msgid "Re-enter new password"
6258
  msgstr ""
6259
 
6260
+ #: build/wp-user-avatar/src/ShortcodeParser/PasswordResetTag.php:107
6261
+ #: src/ShortcodeParser/PasswordResetTag.php:107
6262
+ msgid "Save"
6263
  msgstr ""
6264
 
6265
+ #: build/wp-user-avatar/src/ShortcodeParser/RegistrationFormTag.php:51
6266
+ #: src/ShortcodeParser/RegistrationFormTag.php:51
6267
+ msgid "You are already registered."
6268
  msgstr ""
6269
 
6270
+ #: build/wp-user-avatar/src/ShortcodeParser/RegistrationFormTag.php:74
6271
+ #: src/ShortcodeParser/RegistrationFormTag.php:74
6272
+ msgid "Registration is disabled in this site."
6273
  msgstr ""
6274
 
6275
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:69
6276
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:409
6277
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:69
6278
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:409
6279
+ msgid "Description"
6280
  msgstr ""
6281
 
6282
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:85
6283
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:85
6284
+ msgid "Full"
6285
  msgstr ""
6286
 
6287
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:86
6288
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:86
6289
+ msgid "Half"
6290
  msgstr ""
6291
 
6292
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:87
6293
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:87
6294
+ msgid "One Third"
6295
  msgstr ""
6296
 
6297
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:95
6298
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:350
6299
  #: src/Themes/DragDrop/AbstractBuildScratch.php:95
6300
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:350
6301
  msgid "Icon"
6302
  msgstr ""
6303
 
6304
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:104
6305
  #: src/Themes/DragDrop/AbstractBuildScratch.php:104
6306
  msgid "Enable Password Visibility Icon"
6307
  msgstr ""
6308
 
6309
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:105
6310
  #: src/Themes/DragDrop/AbstractBuildScratch.php:105
6311
  msgid ""
6312
  "Check to enable visibility icon which when clicked, hides or shows a "
6313
  "password."
6314
  msgstr ""
6315
 
6316
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:113
6317
  #: src/Themes/DragDrop/AbstractBuildScratch.php:113
6318
  msgid "Label Display"
6319
  msgstr ""
6320
 
6321
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:115
6322
  #: src/Themes/DragDrop/AbstractBuildScratch.php:115
6323
  msgid "Above"
6324
  msgstr ""
6325
 
6326
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:116
6327
  #: src/Themes/DragDrop/AbstractBuildScratch.php:116
6328
  msgid "Inside"
6329
  msgstr ""
6330
 
6331
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:123
6332
  #: src/Themes/DragDrop/AbstractBuildScratch.php:123
6333
  msgid "Description Appearance"
6334
  msgstr ""
6335
 
6336
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:125
6337
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:205
6338
  #: src/Themes/DragDrop/AbstractBuildScratch.php:125
6339
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:205
6340
  msgid "Standard"
6341
  msgstr ""
6342
 
6343
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:126
6344
  #: src/Themes/DragDrop/AbstractBuildScratch.php:126
6345
  msgid "Reveal on Focus"
6346
  msgstr ""
6347
 
6348
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:127
6349
  #: src/Themes/DragDrop/AbstractBuildScratch.php:127
6350
  msgid "Tooltip"
6351
  msgstr ""
6352
 
6353
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:156
6354
+ #: build/wp-user-avatar/src/Themes/DragDrop/Registration/PerfectoLite.php:78
6355
  #: src/Themes/DragDrop/AbstractBuildScratch.php:156
6356
  #: src/Themes/DragDrop/Registration/PerfectoLite.php:78
6357
  msgid "Create an Account"
6358
  msgstr ""
6359
 
6360
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:160
6361
+ #: build/wp-user-avatar/src/Themes/DragDrop/Login/PerfectoLite.php:76
6362
  #: src/Themes/DragDrop/AbstractBuildScratch.php:160
6363
  #: src/Themes/DragDrop/Login/PerfectoLite.php:76
6364
  msgid "Sign in to Your Account"
6365
  msgstr ""
6366
 
6367
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:163
6368
  #: src/Themes/DragDrop/AbstractBuildScratch.php:163
6369
  msgid "Reset Your Password"
6370
  msgstr ""
6371
 
6372
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:166
6373
  #: src/Themes/DragDrop/AbstractBuildScratch.php:166
6374
  msgid "Edit Your Profile"
6375
  msgstr ""
6376
 
6377
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:178
6378
  #: src/Themes/DragDrop/AbstractBuildScratch.php:178
6379
  msgid "Lost your password?"
6380
  msgstr ""
6381
 
6382
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:179
6383
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractTheme.php:109
6384
+ #: build/wp-user-avatar/src/Widgets/TabbedWidget.php:116
6385
  #: src/Themes/DragDrop/AbstractBuildScratch.php:179
6386
  #: src/Themes/DragDrop/AbstractTheme.php:109 src/Widgets/TabbedWidget.php:116
6387
  msgid "Register"
6388
  msgstr ""
6389
 
6390
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:182
6391
  #: src/Themes/DragDrop/AbstractBuildScratch.php:182
6392
  msgid "Have an account? Login"
6393
  msgstr ""
6394
 
6395
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:186
6396
  #: src/Themes/DragDrop/AbstractBuildScratch.php:186
6397
  msgid "Return to Login"
6398
  msgstr ""
6399
 
6400
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:231
6401
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:374
6402
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:521
6403
+ #: build/wp-user-avatar/src/Themes/DragDrop/Login/PerfectoLite.php:41
6404
+ #: build/wp-user-avatar/src/Themes/DragDrop/Registration/PerfectoLite.php:43
6405
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/Dixon.php:60
6406
  #: src/Themes/DragDrop/AbstractBuildScratch.php:231
6407
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:374
6408
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:521
6409
  #: src/Themes/DragDrop/Login/PerfectoLite.php:41
6410
  #: src/Themes/DragDrop/Registration/PerfectoLite.php:43
6411
  #: src/Themes/DragDrop/UserProfile/Dixon.php:60
6412
  msgid "Background"
6413
  msgstr ""
6414
 
6415
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:238
6416
  #: src/Themes/DragDrop/AbstractBuildScratch.php:238
6417
  msgid "Font Family"
6418
  msgstr ""
6419
 
6420
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:245
6421
+ #: build/wp-user-avatar/src/Themes/DragDrop/Login/PerfectoLite.php:28
6422
+ #: build/wp-user-avatar/src/Themes/DragDrop/Registration/PerfectoLite.php:30
6423
  #: src/Themes/DragDrop/AbstractBuildScratch.php:245
6424
  #: src/Themes/DragDrop/Login/PerfectoLite.php:28
6425
  #: src/Themes/DragDrop/Registration/PerfectoLite.php:30
6426
  msgid "Headline"
6427
  msgstr ""
6428
 
6429
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:253
6430
  #: src/Themes/DragDrop/AbstractBuildScratch.php:253
6431
  msgid "Forgot Password Label"
6432
  msgstr ""
6433
 
6434
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:263
6435
  #: src/Themes/DragDrop/AbstractBuildScratch.php:263
6436
  msgid "Sign Up Label"
6437
  msgstr ""
6438
 
6439
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:273
6440
  #: src/Themes/DragDrop/AbstractBuildScratch.php:273
6441
  msgid "Login Label"
6442
  msgstr ""
6443
 
6444
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:289
6445
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:289
6446
+ msgid "VK.com"
6447
+ msgstr ""
6448
+
6449
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:291
6450
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:291
6451
  msgid "Social Login Buttons"
6452
  msgstr ""
6453
 
6454
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:299
6455
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:299
6456
  msgid "Remove Form Frame"
6457
  msgstr ""
6458
 
6459
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:300
6460
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:300
6461
  msgid "Check to remove"
6462
  msgstr ""
6463
 
6464
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:307
6465
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:307
6466
  msgid "Hide Required %s"
6467
  msgstr ""
6468
 
6469
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:308
6470
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/Dixon.php:110
6471
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:308
6472
  #: src/Themes/DragDrop/UserProfile/Dixon.php:110
6473
  msgid "Check to hide"
6474
  msgstr ""
6475
 
6476
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:321
6477
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:321
6478
  msgid "Field & Styling"
6479
  msgstr ""
6480
 
6481
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:326
6482
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:483
6483
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:326
6484
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:483
6485
  msgid "Round"
6486
  msgstr ""
6487
 
6488
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:327
6489
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:484
6490
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:327
6491
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:484
6492
  msgid "Square"
6493
  msgstr ""
6494
 
6495
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:328
6496
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:485
6497
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:328
6498
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:485
6499
  msgid "Pill"
6500
  msgstr ""
6501
 
6502
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:329
6503
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:329
6504
  msgid "Material"
6505
  msgstr ""
6506
 
6507
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:330
6508
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:330
6509
  msgid "Flat"
6510
  msgstr ""
6511
 
6512
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:333
6513
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:488
6514
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:333
6515
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:488
6516
  msgid "Layout"
6517
  msgstr ""
6518
 
6519
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:340
6520
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:340
6521
  msgid "Small"
6522
  msgstr ""
6523
 
6524
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:344
6525
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:344
6526
  msgid "Field Size"
6527
  msgstr ""
6528
 
6529
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:345
6530
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:345
6531
  msgid "Select the size (in height) of input and textarea form fields."
6532
  msgstr ""
6533
 
6534
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:359
6535
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:359
6536
  msgid "Icon Alignment"
6537
  msgstr ""
6538
 
6539
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:364
6540
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:364
6541
  msgid "Border"
6542
  msgstr ""
6543
 
6544
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:369
6545
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:369
6546
  msgid "Border on Focus"
6547
  msgstr ""
6548
 
6549
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:379
6550
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:527
6551
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:379
6552
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:527
6553
  msgid "Background on Focus"
6554
  msgstr ""
6555
 
6556
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:386
6557
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:386
6558
  msgid "Labels & Text"
6559
  msgstr ""
6560
 
6561
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:395
6562
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:395
6563
  msgid "Title Font Size (px)"
6564
  msgstr ""
6565
 
6566
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:401
6567
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:512
6568
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:401
6569
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:512
6570
  msgid "Normal"
6571
  msgstr ""
6572
 
6573
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:402
6574
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:513
6575
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:402
6576
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:513
6577
  msgid "Bold"
6578
  msgstr ""
6579
 
6580
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:404
6581
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:404
6582
  msgid "Title Font Weight"
6583
  msgstr ""
6584
 
6585
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:419
6586
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:419
6587
  msgid "Description Alignment"
6588
  msgstr ""
6589
 
6590
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:424
6591
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:424
6592
  msgid "Value / Text Font Size"
6593
  msgstr ""
6594
 
6595
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:425
6596
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:425
6597
  msgid "Font size in pixel (px) of field values and text on form."
6598
  msgstr ""
6599
 
6600
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:430
6601
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:430
6602
  msgid "Value / Text"
6603
  msgstr ""
6604
 
6605
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:431
6606
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:431
6607
  msgid "Color of the value of a field and text on the form."
6608
  msgstr ""
6609
 
6610
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:447
6611
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:447
6612
+ msgid "Name"
6613
+ msgstr ""
6614
+
6615
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:466
6616
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:466
6617
  msgid "Submit"
6618
  msgstr ""
6619
 
6620
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:495
6621
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:495
6622
  msgid "Auto (Default)"
6623
  msgstr ""
6624
 
6625
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:496
6626
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:496
6627
  msgid "Wide"
6628
  msgstr ""
6629
 
6630
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:497
6631
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:497
6632
  msgid "Full Stretched Width"
6633
  msgstr ""
6634
 
6635
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:505
6636
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:505
6637
  msgid "Font Size (px)"
6638
  msgstr ""
6639
 
6640
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:515
6641
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:515
6642
  msgid "Font Weight"
6643
  msgstr ""
6644
 
6645
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractBuildScratch.php:539
6646
+ #: src/Themes/DragDrop/AbstractBuildScratch.php:539
6647
  msgid "Text Focused"
6648
  msgstr ""
6649
 
6650
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:123
6651
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:123
6652
  msgid "%s Members"
6653
  msgstr ""
6654
 
6655
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:124
6656
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:124
6657
  msgid "%s Member"
6658
  msgstr ""
6659
 
6660
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:125
6661
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:125
6662
  msgid "We could not find any user that matches your search criteria"
6663
  msgstr ""
6664
 
6665
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:142
6666
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:142
6667
  msgid "User Roles to Display"
6668
  msgstr ""
6669
 
6670
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:143
6671
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:143
6672
  msgid ""
6673
  "If you do not want to show all members, select the user roles to appear in "
6674
  "this directory."
6675
  msgstr ""
6676
 
6677
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:151
6678
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:159
6679
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:151
6680
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:159
6681
  msgid "Example: 1, 6, 32"
6682
  msgstr ""
6683
 
6684
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:152
6685
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:152
6686
  msgid "Comma Separated List of Users ID to Only Show"
6687
  msgstr ""
6688
 
6689
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:160
6690
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:160
6691
  msgid "Comma Separated List of Users ID to Exclude"
6692
  msgstr ""
6693
 
6694
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:173
6695
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:173
6696
  msgid "Search & Filter Fields Text"
6697
  msgstr ""
6698
 
6699
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:178
6700
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:178
6701
  msgid "Search & Filter Fields Border"
6702
  msgstr ""
6703
 
6704
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:183
6705
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:183
6706
  msgid "Pagination Links"
6707
  msgstr ""
6708
 
6709
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:188
6710
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:188
6711
  msgid "Pagination Active Link Color"
6712
  msgstr ""
6713
 
6714
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:193
6715
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:193
6716
  msgid "Pagination Active Link Background"
6717
  msgstr ""
6718
 
6719
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:222
6720
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:222
6721
  msgid "Sorting"
6722
  msgstr ""
6723
 
6724
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:225
6725
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:225
6726
  msgid "Default Sorting method"
6727
  msgstr ""
6728
 
6729
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:231
6730
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:231
6731
  msgid "Enable custom sorting"
6732
  msgstr ""
6733
 
6734
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:236
6735
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:236
6736
  msgid "Sorting Method Fields"
6737
  msgstr ""
6738
 
6739
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:239
6740
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:239
6741
  msgid "Fields to show in sorting dropdown menu"
6742
  msgstr ""
6743
 
6744
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:244
6745
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:825
6746
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:244
6747
+ #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:825
6748
  msgid "Search"
6749
  msgstr ""
6750
 
6751
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:247
6752
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:247
6753
  msgid "Display Search Form"
6754
  msgstr ""
6755
 
6756
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:252
6757
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:252
6758
  msgid "Search Fields"
6759
  msgstr ""
6760
 
6761
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:255
6762
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:255
6763
  msgid "Select fields to search in."
6764
  msgstr ""
6765
 
6766
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:264
6767
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:264
6768
  msgid "Enable Filters"
6769
  msgstr ""
6770
 
6771
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:266
6772
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:266
6773
  msgid "If enabled, users will be able to filter members in this directory"
6774
  msgstr ""
6775
 
6776
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:271
6777
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:271
6778
  msgid "Filter Fields"
6779
  msgstr ""
6780
 
6781
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:278
6782
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:278
6783
  msgid ""
6784
  "Select custom fields that members can be filtered by. Only Select, Checkbox, "
6785
  "Radio, Country and Date/Time fields are supported."
6786
  msgstr ""
6787
 
6788
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:289
6789
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:289
6790
  msgid ""
6791
  "%sUpgrade to ProfilePress premium%s if you don't have the custom field addon "
6792
  "so you can enable search and filtering by custom fields."
6793
  msgstr ""
6794
 
6795
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:296
6796
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:296
6797
  msgid "Result & Pagination"
6798
  msgstr ""
6799
 
6800
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:299
6801
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:299
6802
  msgid "Show Results Only After a Search"
6803
  msgstr ""
6804
 
6805
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:301
6806
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:301
6807
  msgid "Enable to only show members after a search is performed"
6808
  msgstr ""
6809
 
6810
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:305
6811
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:305
6812
  msgid "Number of Members per Page"
6813
  msgstr ""
6814
 
6815
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:310
6816
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:310
6817
  msgid "Results Text"
6818
  msgstr ""
6819
 
6820
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:315
6821
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:315
6822
  msgid "Single Result Text"
6823
  msgstr ""
6824
 
6825
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:320
6826
  #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:320
6827
  msgid "No Result Text"
6828
  msgstr ""
6829
 
6830
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:458
6831
+ #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:458
6832
  msgid "Newest Users First"
6833
  msgstr ""
6834
 
6835
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:459
6836
+ #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:459
6837
  msgid "Oldest Users First"
6838
  msgstr ""
6839
 
6840
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:692
6841
+ #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:692
6842
  msgid "Sort by"
6843
  msgstr ""
6844
 
6845
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:729
6846
+ #: src/Themes/DragDrop/AbstractMemberDirectoryTheme.php:729
6847
  msgid "More Filters"
6848
  msgstr ""
6849
 
6850
+ #: build/wp-user-avatar/src/Themes/DragDrop/AbstractTheme.php:233
6851
  #: src/Themes/DragDrop/AbstractTheme.php:233
6852
  msgid "Bio"
6853
  msgstr ""
6854
 
6855
+ #: build/wp-user-avatar/src/Themes/DragDrop/Login/PerfectoLite.php:46
6856
+ #: build/wp-user-avatar/src/Themes/DragDrop/Registration/PerfectoLite.php:48
6857
  #: src/Themes/DragDrop/Login/PerfectoLite.php:46
6858
  #: src/Themes/DragDrop/Registration/PerfectoLite.php:48
6859
  msgid "Form Border"
6860
  msgstr ""
6861
 
6862
+ #: build/wp-user-avatar/src/Themes/DragDrop/Login/PerfectoLite.php:56
6863
+ #: build/wp-user-avatar/src/Themes/DragDrop/Registration/PerfectoLite.php:58
6864
  #: src/Themes/DragDrop/Login/PerfectoLite.php:56
6865
  #: src/Themes/DragDrop/Registration/PerfectoLite.php:58
6866
  msgid "Field Placeholder"
6867
  msgstr ""
6868
 
6869
+ #: build/wp-user-avatar/src/Themes/DragDrop/Login/PerfectoLite.php:61
6870
+ #: build/wp-user-avatar/src/Themes/DragDrop/Registration/PerfectoLite.php:63
6871
  #: src/Themes/DragDrop/Login/PerfectoLite.php:61
6872
  #: src/Themes/DragDrop/Registration/PerfectoLite.php:63
6873
  msgid "Button Background"
6874
  msgstr ""
6875
 
6876
+ #: build/wp-user-avatar/src/Themes/DragDrop/Login/PerfectoLite.php:66
6877
+ #: build/wp-user-avatar/src/Themes/DragDrop/Registration/PerfectoLite.php:68
6878
  #: src/Themes/DragDrop/Login/PerfectoLite.php:66
6879
  #: src/Themes/DragDrop/Registration/PerfectoLite.php:68
6880
  msgid "Button Text"
6881
  msgstr ""
6882
 
6883
+ #: build/wp-user-avatar/src/Themes/DragDrop/MemberDirectory/DefaultTemplate.php:46
6884
+ #: build/wp-user-avatar/src/Themes/DragDrop/MemberDirectory/Gerbera.php:44
6885
  #: src/Themes/DragDrop/MemberDirectory/DefaultTemplate.php:46
6886
  #: src/Themes/DragDrop/MemberDirectory/Gerbera.php:44
6887
  msgid "Enable Profile Picture"
6888
  msgstr ""
6889
 
6890
+ #: build/wp-user-avatar/src/Themes/DragDrop/MemberDirectory/DefaultTemplate.php:53
6891
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/DefaultTemplate.php:82
6892
  #: src/Themes/DragDrop/MemberDirectory/DefaultTemplate.php:53
6893
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:82
6894
  msgid "Enable Cover Photo"
6895
  msgstr ""
6896
 
6897
+ #: build/wp-user-avatar/src/Themes/DragDrop/MemberDirectory/DefaultTemplate.php:62
6898
  #: src/Themes/DragDrop/MemberDirectory/DefaultTemplate.php:62
6899
  msgid "Enable Social Connect Icons"
6900
  msgstr ""
6901
 
6902
+ #: build/wp-user-avatar/src/Themes/DragDrop/MemberDirectory/DefaultTemplate.php:72
6903
  #: src/Themes/DragDrop/MemberDirectory/DefaultTemplate.php:72
6904
  msgid ""
6905
  "%sUpgrade to ProfilePress premium%s if you don't have the custom field addon "
6906
  "to display social profile icons of users."
6907
  msgstr ""
6908
 
6909
+ #: build/wp-user-avatar/src/Themes/DragDrop/MemberDirectory/DefaultTemplate.php:100
6910
  #: src/Themes/DragDrop/MemberDirectory/DefaultTemplate.php:100
6911
  msgid "Card Background"
6912
  msgstr ""
6913
 
6914
+ #: build/wp-user-avatar/src/Themes/DragDrop/MemberDirectory/DefaultTemplate.php:105
6915
  #: src/Themes/DragDrop/MemberDirectory/DefaultTemplate.php:105
6916
  msgid "Card Border"
6917
  msgstr ""
6918
 
6919
+ #: build/wp-user-avatar/src/Themes/DragDrop/MemberDirectory/DefaultTemplate.php:110
6920
  #: src/Themes/DragDrop/MemberDirectory/DefaultTemplate.php:110
6921
  msgid "Card Text"
6922
  msgstr ""
6923
 
6924
+ #: build/wp-user-avatar/src/Themes/DragDrop/MemberDirectory/DefaultTemplate.php:120
6925
  #: src/Themes/DragDrop/MemberDirectory/DefaultTemplate.php:120
6926
  msgid "Profile Picture Border"
6927
  msgstr ""
6928
 
6929
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/DefaultTemplate.php:66
6930
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:66
6931
  msgid "Profile Maximum Width"
6932
  msgstr ""
6933
 
6934
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/DefaultTemplate.php:67
6935
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:67
6936
  msgid "The maximum width of the profile template."
6937
  msgstr ""
6938
 
6939
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/DefaultTemplate.php:74
6940
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:74
6941
  msgid "Profile Area Maximum Width"
6942
  msgstr ""
6943
 
6944
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/DefaultTemplate.php:75
6945
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:75
6946
  msgid "The maximum width of the profile area inside profile below the header."
6947
  msgstr ""
6948
 
6949
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/DefaultTemplate.php:89
6950
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:89
6951
  msgid "Profile Cover Ratio"
6952
  msgstr ""
6953
 
6954
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/DefaultTemplate.php:95
6955
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:95
6956
  msgid "Choose an aspect ratio of the profile cover photo."
6957
  msgstr ""
6958
 
6959
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/DefaultTemplate.php:104
6960
+ #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:104
6961
+ msgid "Hide"
6962
+ msgstr ""
6963
+
6964
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/DefaultTemplate.php:110
6965
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:110
6966
  msgid "First Name Only"
6967
  msgstr ""
6968
 
6969
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/DefaultTemplate.php:112
6970
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:112
6971
  msgid ""
6972
  "What to use as display name in profile header. Select \"Hide\" to hide it "
6973
  "from showing."
6974
  msgstr ""
6975
 
6976
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/DefaultTemplate.php:121
6977
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:121
6978
  msgid "Show Social Links in Header"
6979
  msgstr ""
6980
 
6981
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/DefaultTemplate.php:132
6982
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:132
6983
  msgid ""
6984
  "%sUpgrade to ProfilePress premium%s if you don't have the custom field addon "
6985
  "to display users social profiles."
6986
  msgstr ""
6987
 
6988
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/DefaultTemplate.php:141
6989
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:141
6990
  msgid "Show Bio in Header"
6991
  msgstr ""
6992
 
6993
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/DefaultTemplate.php:148
6994
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:148
6995
  msgid "Fields to Show in User Meta"
6996
  msgstr ""
6997
 
6998
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/DefaultTemplate.php:156
6999
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:156
7000
  msgid "Profile Menu Tabs"
7001
  msgstr ""
7002
 
7003
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/DefaultTemplate.php:174
7004
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:174
7005
  msgid "Header Name"
7006
  msgstr ""
7007
 
7008
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/DefaultTemplate.php:179
7009
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:179
7010
  msgid "Body Text"
7011
  msgstr ""
7012
 
7013
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/DefaultTemplate.php:184
7014
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:184
7015
  msgid "Menu Background"
7016
  msgstr ""
7017
 
7018
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/DefaultTemplate.php:189
7019
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:189
7020
  msgid "Menu Tab Text"
7021
  msgstr ""
7022
 
7023
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/DefaultTemplate.php:194
7024
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:194
7025
  msgid "Active Menu Tab Background"
7026
  msgstr ""
7027
 
7028
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/DefaultTemplate.php:231
7029
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:231
7030
  msgid "About"
7031
  msgstr ""
7032
 
7033
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/DefaultTemplate.php:235
7034
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:235
7035
  msgid "Posts"
7036
  msgstr ""
7037
 
7038
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/DefaultTemplate.php:239
7039
  #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:239
7040
  msgid "Comments"
7041
  msgstr ""
7042
 
7043
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/DefaultTemplate.php:309
7044
+ #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:309
7045
  msgid ""
7046
  "Your profile is looking a little empty. Why not <a href=\"%s\">add some "
7047
  "information</a>?"
7048
  msgstr ""
7049
 
7050
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/DefaultTemplate.php:349
7051
+ #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:349
7052
  msgid "See More Posts"
7053
  msgstr ""
7054
 
7055
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/DefaultTemplate.php:380
7056
+ #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:380
7057
  msgid "See More Comments"
7058
  msgstr ""
7059
 
7060
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/DefaultTemplate.php:424
7061
+ #: build/wp-user-avatar/src/Widgets/TabbedWidget.php:221
7062
+ #: src/Themes/DragDrop/UserProfile/DefaultTemplate.php:424
7063
  #: src/Widgets/TabbedWidget.php:221
7064
  msgid "Edit your profile"
7065
  msgstr ""
7066
 
7067
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/Dixon.php:40
7068
  #: src/Themes/DragDrop/UserProfile/Dixon.php:40
7069
  msgid "Header Byline"
7070
  msgstr ""
7071
 
7072
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/Dixon.php:47
7073
  #: src/Themes/DragDrop/UserProfile/Dixon.php:47
7074
  msgid "Profile Header Text"
7075
  msgstr ""
7076
 
7077
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/Dixon.php:65
7078
  #: src/Themes/DragDrop/UserProfile/Dixon.php:65
7079
  msgid "Header Background"
7080
  msgstr ""
7081
 
7082
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/Dixon.php:75
7083
  #: src/Themes/DragDrop/UserProfile/Dixon.php:75
7084
  msgid "Text Underline"
7085
  msgstr ""
7086
 
7087
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/Dixon.php:80
7088
  #: src/Themes/DragDrop/UserProfile/Dixon.php:80
7089
  msgid "Avatar Border"
7090
  msgstr ""
7091
 
7092
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/Dixon.php:85
7093
  #: src/Themes/DragDrop/UserProfile/Dixon.php:85
7094
  msgid "Profile Info Border"
7095
  msgstr ""
7096
 
7097
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/Dixon.php:90
7098
  #: src/Themes/DragDrop/UserProfile/Dixon.php:90
7099
  msgid "Profile Info Background"
7100
  msgstr ""
7101
 
7102
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/Dixon.php:95
7103
  #: src/Themes/DragDrop/UserProfile/Dixon.php:95
7104
  msgid "Profile Info Text"
7105
  msgstr ""
7106
 
7107
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/Dixon.php:105
7108
  #: src/Themes/DragDrop/UserProfile/Dixon.php:105
7109
  msgid "Social Links"
7110
  msgstr ""
7111
 
7112
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/Dixon.php:109
7113
  #: src/Themes/DragDrop/UserProfile/Dixon.php:109
7114
  msgid "Hide Social Links"
7115
  msgstr ""
7116
 
7117
+ #: build/wp-user-avatar/src/Themes/DragDrop/UserProfile/Dixon.php:122
7118
  #: src/Themes/DragDrop/UserProfile/Dixon.php:122
7119
  msgid "PROFILE DETAILS"
7120
  msgstr ""
7121
 
7122
+ #: build/wp-user-avatar/src/Widgets/Form.php:14 src/Widgets/Form.php:14
7123
  msgid "ProfilePress Form"
7124
  msgstr ""
7125
 
7126
+ #: build/wp-user-avatar/src/Widgets/Form.php:15 src/Widgets/Form.php:15
7127
  msgid "Easily add your ProfilePress forms to widget areas."
7128
  msgstr ""
7129
 
7130
+ #: build/wp-user-avatar/src/Widgets/Form.php:70 src/Widgets/Form.php:70
7131
  msgid "Select Form"
7132
  msgstr ""
7133
 
7134
+ #: build/wp-user-avatar/src/Widgets/Form.php:74 src/Widgets/Form.php:74
7135
  msgid "Login Form"
7136
  msgstr ""
7137
 
7138
+ #: build/wp-user-avatar/src/Widgets/Form.php:87 src/Widgets/Form.php:87
7139
  msgid "Registration Form"
7140
  msgstr ""
7141
 
7142
+ #: build/wp-user-avatar/src/Widgets/Form.php:100 src/Widgets/Form.php:100
7143
  msgid "Password Reset Form"
7144
  msgstr ""
7145
 
7146
+ #: build/wp-user-avatar/src/Widgets/Form.php:113 src/Widgets/Form.php:113
7147
  msgid "Edit Profile Form"
7148
  msgstr ""
7149
 
7150
+ #: build/wp-user-avatar/src/Widgets/Form.php:126 src/Widgets/Form.php:126
7151
  msgid "Melange Form"
7152
  msgstr ""
7153
 
7154
+ #: build/wp-user-avatar/src/Widgets/Form.php:141 src/Widgets/Form.php:141
7155
  msgid "Hide when a user is logged in:"
7156
  msgstr ""
7157
 
7158
+ #: build/wp-user-avatar/src/Widgets/TabbedWidget.php:18
7159
  #: src/Widgets/TabbedWidget.php:18
7160
  msgid "A tabbed login, registration and lost password widget"
7161
  msgstr ""
7162
 
7163
+ #: build/wp-user-avatar/src/Widgets/TabbedWidget.php:119
7164
  #: src/Widgets/TabbedWidget.php:119
7165
  msgid "Forgot?"
7166
  msgstr ""
7167
 
7168
+ #: build/wp-user-avatar/src/Widgets/TabbedWidget.php:191
7169
  #: src/Widgets/TabbedWidget.php:191
7170
  msgid "Username or E-mail:"
7171
  msgstr ""
7172
 
7173
+ #: build/wp-user-avatar/src/Widgets/TabbedWidget.php:218
7174
+ #: build/wp-user-avatar/src/Widgets/UserPanel.php:50
7175
  #: src/Widgets/TabbedWidget.php:218 src/Widgets/UserPanel.php:50
7176
  msgid "Welcome %s"
7177
  msgstr ""
7178
 
7179
+ #: build/wp-user-avatar/src/Widgets/TabbedWidget.php:238
7180
  #: src/Widgets/TabbedWidget.php:238
7181
  msgid "Login / Sign up"
7182
  msgstr ""
7183
 
7184
+ #: build/wp-user-avatar/src/Widgets/TabbedWidget.php:244
7185
  #: src/Widgets/TabbedWidget.php:244
7186
  msgid "Have an account?"
7187
  msgstr ""
7188
 
7189
+ #: build/wp-user-avatar/src/Widgets/TabbedWidget.php:250
7190
  #: src/Widgets/TabbedWidget.php:250
7191
  msgid "Don't have an account?"
7192
  msgstr ""
7193
 
7194
+ #: build/wp-user-avatar/src/Widgets/TabbedWidget.php:256
7195
  #: src/Widgets/TabbedWidget.php:256
7196
  msgid "Forgot Password?"
7197
  msgstr ""
7198
 
7199
+ #: build/wp-user-avatar/src/Widgets/TabbedWidget.php:479
7200
  #: src/Widgets/TabbedWidget.php:479
7201
  msgid "Login text:"
7202
  msgstr ""
7203
 
7204
+ #: build/wp-user-avatar/src/Widgets/TabbedWidget.php:484
7205
  #: src/Widgets/TabbedWidget.php:484
7206
  msgid "Registration text:"
7207
  msgstr ""
7208
 
7209
+ #: build/wp-user-avatar/src/Widgets/TabbedWidget.php:489
7210
  #: src/Widgets/TabbedWidget.php:489
7211
  msgid "Lost-password text:"
7212
  msgstr ""
7213
 
7214
+ #: build/wp-user-avatar/src/Widgets/TabbedWidget.php:495
7215
  #: src/Widgets/TabbedWidget.php:495
7216
  msgid "Automatically login user after successful registration"
7217
  msgstr ""
7218
 
7219
+ #: build/wp-user-avatar/src/Widgets/TabbedWidget.php:501
7220
  #: src/Widgets/TabbedWidget.php:501
7221
  msgid "Widget CSS:"
7222
  msgstr ""
7223
 
7224
+ #: build/wp-user-avatar/src/Widgets/TabbedWidgetDependency.php:29
7225
  #: src/Widgets/TabbedWidgetDependency.php:29
7226
  msgid "Unable to log in. Please try again"
7227
  msgstr ""
7228
 
7229
+ #: build/wp-user-avatar/src/Widgets/TabbedWidgetDependency.php:47
7230
  #: src/Widgets/TabbedWidgetDependency.php:47
7231
  msgid "Check your email for further instructions."
7232
  msgstr ""
7233
 
7234
+ #: build/wp-user-avatar/src/Widgets/TabbedWidgetDependency.php:54
7235
  #: src/Widgets/TabbedWidgetDependency.php:54
7236
  msgid "Unexpected error, please try again"
7237
  msgstr ""
7238
 
7239
+ #: build/wp-user-avatar/src/Widgets/TabbedWidgetDependency.php:108
7240
  #: src/Widgets/TabbedWidgetDependency.php:108
7241
  msgid "Required form field is missing"
7242
  msgstr ""
7243
 
7244
+ #: build/wp-user-avatar/src/Widgets/UserPanel.php:11
7245
  #: src/Widgets/UserPanel.php:11
7246
  msgid "ProfilePress User Panel"
7247
  msgstr ""
7248
 
7249
+ #: build/wp-user-avatar/src/Widgets/UserPanel.php:13
7250
  #: src/Widgets/UserPanel.php:13
7251
  msgid ""
7252
  "Display currently logged in user's avatar and links to logout and edit the "
7253
  "profile."
7254
  msgstr ""
7255
 
7256
+ #: build/wp-user-avatar/src/Widgets/UserPanel.php:29
7257
+ #: build/wp-user-avatar/src/Widgets/UserPanel.php:70
7258
  #: src/Widgets/UserPanel.php:29 src/Widgets/UserPanel.php:70
7259
  msgid "Edit your Profile"
7260
  msgstr ""
7261
 
7262
+ #: build/wp-user-avatar/src/Widgets/UserPanel.php:68
7263
  #: src/Widgets/UserPanel.php:68
7264
  msgid "User Panel"
7265
  msgstr ""
7266
 
7267
+ #: build/wp-user-avatar/src/Widgets/UserPanel.php:80
7268
  #: src/Widgets/UserPanel.php:80
7269
  msgid "Check to remove user profile picture from panel."
7270
  msgstr ""
7271
 
7272
+ #: build/wp-user-avatar/src/Widgets/UserPanel.php:84
7273
  #: src/Widgets/UserPanel.php:84
7274
  msgid "Label for \"edit profile\" link:"
7275
  msgstr ""
7276
 
7277
+ #: build/wp-user-avatar/src/Widgets/UserPanel.php:89
7278
  #: src/Widgets/UserPanel.php:89
7279
  msgid "Label for logout link:"
7280
  msgstr ""
7281
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7282
  #. Plugin Name of the plugin/theme
7283
  msgid "ProfilePress"
7284
  msgstr ""
7285
 
7286
+ #. #-#-#-#-# wp-user-avatar.pot (ProfilePress 3.2.10) #-#-#-#-#
7287
  #. Plugin URI of the plugin/theme
7288
+ #. #-#-#-#-# wp-user-avatar.pot (ProfilePress 3.2.10) #-#-#-#-#
7289
  #. Author URI of the plugin/theme
7290
  msgid "https://profilepress.com"
7291
  msgstr ""
7295
  msgstr ""
7296
 
7297
  #. Author of the plugin/theme
7298
+ msgid "ProfilePress Team"
7299
  msgstr ""
readme.txt CHANGED
@@ -5,7 +5,7 @@ Tags: membership, ecommerce, user registration, user profile, paid membership, m
5
  Requires at least: 5.3
6
  Requires PHP: 7.2.0
7
  Tested up to: 6.1
8
- Stable tag: 4.3.1
9
  License: GPLv2 or later
10
 
11
  Paid membership plugin: accept payments, sell subscriptions & digital downloads, restrict content, user registration, login form, user profile & member directory.
@@ -166,6 +166,12 @@ Any file type can be sold using ProfilePress ecommerce and membership plugin, in
166
 
167
  == Changelog ==
168
 
 
 
 
 
 
 
169
  = Paid Membership, Ecommerce & User Registration 4.3.1 =
170
  * Pro: [Checkout social login support](https://profilepress.com/addons/social-login/?ref=changelog).
171
  * Pro: [Checkout reCAPTCHA support](https://profilepress.com/addons/recaptcha/?ref=changelog).
@@ -175,23 +181,4 @@ Any file type can be sold using ProfilePress ecommerce and membership plugin, in
175
  * Added filters for adding custom tabs to user profile.
176
  * Fixed store status admin menu styling not working.
177
 
178
- = Paid Membership, Ecommerce & User Registration 4.3.0 =
179
- * Pro: [Mollie Addon](https://profilepress.com/addons/mollie/?ref=changelog).
180
- * Added integration with Conditional Blocks plugin.
181
- * Added customer ID placeholder support to order email.
182
- * Added custom fields support to order emails.
183
- * Fixed: Index column size too large error when creating subscriptions DB table.
184
- * Fixed bug where download details was showing for order without downloads.
185
-
186
- = Paid Membership, Ecommerce & User Registration 4.2.0 =
187
- * New: [Support for selling digital products](https://profilepress.com/article/sell-downloads-wordpress-membership/?ref=changelog).
188
- * Added support for [associating role to membership plans](https://profilepress.com/article/create-wordpress-membership-plans/#role-sync).
189
- * Added subscription details to view order page.
190
- * Added support for toggling Metaboxes.
191
- * Added "add new plan" button to plan edit screen.
192
- * Enhancement: Delete transient on plugin uninstallation.
193
- * Fixed bug with manually creating order not working.
194
- * Updated material icons and dropped EOT and TTF files.
195
- * Added button to reinstall missing DB tables.
196
-
197
  See the [changelog file](https://plugins.svn.wordpress.org/wp-user-avatar/trunk/changelog.txt) for full change log information.
5
  Requires at least: 5.3
6
  Requires PHP: 7.2.0
7
  Tested up to: 6.1
8
+ Stable tag: 4.3.2
9
  License: GPLv2 or later
10
 
11
  Paid membership plugin: accept payments, sell subscriptions & digital downloads, restrict content, user registration, login form, user profile & member directory.
166
 
167
  == Changelog ==
168
 
169
+ = Paid Membership, Ecommerce & User Registration 4.3.2 =
170
+ * PHP 8 compatibility improvements.
171
+ * Fixed bug where default avatar wasn't reflecting in buddypress.
172
+ * Fixed bug where nocache header might be applied site-wide.
173
+ * Fixed bug where session might have started where unnecessary.
174
+
175
  = Paid Membership, Ecommerce & User Registration 4.3.1 =
176
  * Pro: [Checkout social login support](https://profilepress.com/addons/social-login/?ref=changelog).
177
  * Pro: [Checkout reCAPTCHA support](https://profilepress.com/addons/recaptcha/?ref=changelog).
181
  * Added filters for adding custom tabs to user profile.
182
  * Fixed store status admin menu styling not working.
183
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
184
  See the [changelog file](https://plugins.svn.wordpress.org/wp-user-avatar/trunk/changelog.txt) for full change log information.
src/Admin/SettingsPages/Membership/DashboardPage/AbstractReport.php CHANGED
@@ -85,7 +85,7 @@ abstract class AbstractReport
85
  $variables[] = $this->plan_id;
86
  }
87
 
88
- if($groupBy) {
89
  $sql .= " GROUP BY order_time ORDER BY order_time ASC";
90
  }
91
 
@@ -168,7 +168,7 @@ abstract class AbstractReport
168
 
169
  // ensures labels are sorted from earliest to latest
170
  uasort($labels, function ($a, $b) {
171
- return (strtotime($a) > strtotime($b));
172
  });
173
 
174
  return $labels;
85
  $variables[] = $this->plan_id;
86
  }
87
 
88
+ if ($groupBy) {
89
  $sql .= " GROUP BY order_time ORDER BY order_time ASC";
90
  }
91
 
168
 
169
  // ensures labels are sorted from earliest to latest
170
  uasort($labels, function ($a, $b) {
171
+ return (strtotime($a) <=> strtotime($b));
172
  });
173
 
174
  return $labels;
src/Admin/SettingsPages/Membership/OrdersPage/SettingsPage.php CHANGED
@@ -268,7 +268,7 @@ class SettingsPage extends AbstractSettingsPage
268
 
269
  $payment_method = ppress_get_payment_method($order->payment_method);
270
 
271
- if (method_exists($payment_method, 'process_refund')) {
272
 
273
  $response = $payment_method->process_refund(
274
  $order->get_id(),
268
 
269
  $payment_method = ppress_get_payment_method($order->payment_method);
270
 
271
+ if (is_object($payment_method) && method_exists($payment_method, 'process_refund')) {
272
 
273
  $response = $payment_method->process_refund(
274
  $order->get_id(),
src/Classes/BuddyPressBbPress.php CHANGED
@@ -54,10 +54,10 @@ class BuddyPressBbPress
54
  public static function override_html_avatar($image_in_html, $params, $item_id)
55
  {
56
  if (isset($params['object']) && 'user' == $params['object']) {
57
- $user_id = $item_id;
58
- if (UserAvatar::user_has_pp_avatar($user_id)) {
59
- $avatar_url = UserAvatar::get_pp_avatar_url($user_id);
60
 
 
 
 
61
  return preg_replace('/src=".+?"/', 'src="' . esc_url($avatar_url) . '"', $image_in_html);
62
  }
63
  }
@@ -76,9 +76,13 @@ class BuddyPressBbPress
76
  public static function override_avatar_url($image_url, $params)
77
  {
78
  if (isset($params['object']) && 'user' == $params['object']) {
 
79
  $user_id = absint($params['item_id']);
80
- if (UserAvatar::user_has_pp_avatar($user_id)) {
81
- $image_url = UserAvatar::get_pp_avatar_url($user_id);
 
 
 
82
  }
83
  }
84
 
54
  public static function override_html_avatar($image_in_html, $params, $item_id)
55
  {
56
  if (isset($params['object']) && 'user' == $params['object']) {
 
 
 
57
 
58
+ $avatar_url = UserAvatar::get_avatar_complete_url($item_id);
59
+
60
+ if ( ! empty($avatar_url)) {
61
  return preg_replace('/src=".+?"/', 'src="' . esc_url($avatar_url) . '"', $image_in_html);
62
  }
63
  }
76
  public static function override_avatar_url($image_url, $params)
77
  {
78
  if (isset($params['object']) && 'user' == $params['object']) {
79
+
80
  $user_id = absint($params['item_id']);
81
+
82
+ $avatar_url = UserAvatar::get_avatar_complete_url($user_id);
83
+
84
+ if ( ! empty($avatar_url)) {
85
+ $image_url = $avatar_url;
86
  }
87
  }
88
 
src/Classes/FormRepository.php CHANGED
@@ -275,23 +275,23 @@ class FormRepository
275
  self::add_form_meta($form_id, $form_type, self::FORM_STRUCTURE, $structure);
276
  self::add_form_meta($form_id, $form_type, self::FORM_CSS, $css);
277
 
278
- if (method_exists($theme_instance, self::PASSWORD_RESET_HANDLER)) {
279
  self::add_form_meta($form_id, $form_type, self::PASSWORD_RESET_HANDLER, $theme_instance->password_reset_handler());
280
  }
281
 
282
- if (method_exists($theme_instance, self::SUCCESS_MESSAGE)) {
283
  self::add_form_meta($form_id, $form_type, self::SUCCESS_MESSAGE, $theme_instance->success_message());
284
  }
285
 
286
- if (method_exists($theme_instance, 'edit_profile_success_message')) {
287
  self::add_form_meta($form_id, $form_type, self::MELANGE_EDIT_PROFILE_SUCCESS_MESSAGE, $theme_instance->edit_profile_success_message());
288
  }
289
 
290
- if (method_exists($theme_instance, 'password_reset_success_message')) {
291
  self::add_form_meta($form_id, $form_type, self::MELANGE_PASSWORD_RESET_SUCCESS_MESSAGE, $theme_instance->password_reset_success_message());
292
  }
293
 
294
- if (method_exists($theme_instance, 'registration_success_message')) {
295
  self::add_form_meta($form_id, $form_type, self::MELANGE_REGISTRATION_SUCCESS_MESSAGE, $theme_instance->registration_success_message());
296
  }
297
  }
@@ -312,7 +312,7 @@ class FormRepository
312
 
313
  $theme_class = self::make_class($form_theme_class, $form_type);
314
 
315
- if (method_exists($theme_class, 'default_field_listing')) {
316
 
317
  $field_listing = call_user_func([$theme_class, 'default_field_listing']);
318
 
@@ -323,7 +323,7 @@ class FormRepository
323
 
324
  $theme_instance = self::forge_class($form_id, $form_theme_class, $form_type);
325
 
326
- if (method_exists($theme_instance, 'default_metabox_settings')) {
327
  $default_metabox_settings = call_user_func([$theme_instance, 'default_metabox_settings']);
328
  if (is_array($default_metabox_settings) && ! empty($default_metabox_settings)) {
329
  foreach ($default_metabox_settings as $key => $value) {
275
  self::add_form_meta($form_id, $form_type, self::FORM_STRUCTURE, $structure);
276
  self::add_form_meta($form_id, $form_type, self::FORM_CSS, $css);
277
 
278
+ if (is_object($theme_instance) && method_exists($theme_instance, self::PASSWORD_RESET_HANDLER)) {
279
  self::add_form_meta($form_id, $form_type, self::PASSWORD_RESET_HANDLER, $theme_instance->password_reset_handler());
280
  }
281
 
282
+ if (is_object($theme_instance) && method_exists($theme_instance, self::SUCCESS_MESSAGE)) {
283
  self::add_form_meta($form_id, $form_type, self::SUCCESS_MESSAGE, $theme_instance->success_message());
284
  }
285
 
286
+ if (is_object($theme_instance) && method_exists($theme_instance, 'edit_profile_success_message')) {
287
  self::add_form_meta($form_id, $form_type, self::MELANGE_EDIT_PROFILE_SUCCESS_MESSAGE, $theme_instance->edit_profile_success_message());
288
  }
289
 
290
+ if (is_object($theme_instance) && method_exists($theme_instance, 'password_reset_success_message')) {
291
  self::add_form_meta($form_id, $form_type, self::MELANGE_PASSWORD_RESET_SUCCESS_MESSAGE, $theme_instance->password_reset_success_message());
292
  }
293
 
294
+ if (is_object($theme_instance) && method_exists($theme_instance, 'registration_success_message')) {
295
  self::add_form_meta($form_id, $form_type, self::MELANGE_REGISTRATION_SUCCESS_MESSAGE, $theme_instance->registration_success_message());
296
  }
297
  }
312
 
313
  $theme_class = self::make_class($form_theme_class, $form_type);
314
 
315
+ if (class_exists($theme_class) && method_exists($theme_class, 'default_field_listing')) {
316
 
317
  $field_listing = call_user_func([$theme_class, 'default_field_listing']);
318
 
323
 
324
  $theme_instance = self::forge_class($form_id, $form_theme_class, $form_type);
325
 
326
+ if (is_object($theme_instance) && method_exists($theme_instance, 'default_metabox_settings')) {
327
  $default_metabox_settings = call_user_func([$theme_instance, 'default_metabox_settings']);
328
  if (is_array($default_metabox_settings) && ! empty($default_metabox_settings)) {
329
  foreach ($default_metabox_settings as $key => $value) {
src/Classes/PPRESS_Session.php CHANGED
@@ -172,6 +172,10 @@ class PPRESS_Session
172
  $start_session = false;
173
  }
174
 
 
 
 
 
175
  return apply_filters('ppress_should_start_session', $start_session);
176
  }
177
 
172
  $start_session = false;
173
  }
174
 
175
+ if ( ! ppress_is_any_active_plan() && ! ExtensionManager::is_enabled(ExtensionManager::SOCIAL_LOGIN)) {
176
+ $start_session = false;
177
+ }
178
+
179
  return apply_filters('ppress_should_start_session', $start_session);
180
  }
181
 
src/Classes/SendEmail.php CHANGED
@@ -92,10 +92,11 @@ class SendEmail
92
  }
93
 
94
  if (class_exists('DOMDocument') && ! is_customize_preview()) {
95
- /** @see https://github.com/MyIntervals/emogrifier/tree/v2.2.0 */
96
- $emogrifier = new Emogrifier();
97
- $emogrifier->setHtml($message);
98
- $message = $emogrifier->emogrify();
 
99
  }
100
  }
101
 
92
  }
93
 
94
  if (class_exists('DOMDocument') && ! is_customize_preview()) {
95
+ try {
96
+ $message = Emogrifier\CssInliner::fromHtml($message)->inlineCss()->render();
97
+ } catch (\Exception $e) {
98
+ //
99
+ }
100
  }
101
  }
102
 
src/Classes/UserAvatar.php CHANGED
@@ -14,45 +14,10 @@ class UserAvatar
14
 
15
  $original = ppress_var($args, 'ppress-full') === true;
16
 
17
- if ( ! empty($size)) $size = absint($size);
18
 
19
- if (self::user_has_pp_avatar($id_or_email)) {
20
-
21
- $args['url'] = self::get_pp_avatar_url($id_or_email, $size, $original);
22
-
23
- } else {
24
- /** WP User Avatar Adapter STARTS */
25
- global $wpua_disable_gravatar, $wpua_functions;
26
-
27
- // First checking custom avatar.
28
- if ($wpua_disable_gravatar == '1') {
29
- $args['url'] = $wpua_functions->wpua_get_default_avatar_url($size);
30
- } else {
31
-
32
- $has_valid_url = false;
33
-
34
- if (method_exists($wpua_functions, 'wpua_has_gravatar')) {
35
- $has_valid_url = $wpua_functions->wpua_has_gravatar($id_or_email);
36
- } elseif (class_exists('\WP_User_Avatar_Functions')) {
37
-
38
- $obj = new \WP_User_Avatar_Functions();
39
- if (method_exists($obj, 'wpua_has_gravatar')) {
40
- $has_valid_url = $obj->wpua_has_gravatar($id_or_email);
41
- }
42
- }
43
-
44
- if ( ! $has_valid_url) {
45
- $wpua_size = ! empty($size) ? $size : 96;
46
-
47
- if (method_exists($wpua_functions, 'wpua_get_default_avatar_url')) {
48
- $args['url'] = $wpua_functions->wpua_get_default_avatar_url($wpua_size);
49
- }
50
- }
51
- }
52
- /** WP User Avatar Adapter ENDS */
53
- }
54
-
55
- if ( ! empty($args['url'])) {
56
  $args['found_avatar'] = true;
57
  }
58
 
@@ -86,6 +51,62 @@ class UserAvatar
86
  }, PHP_INT_MAX - 1, 6);
87
  }
88
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
89
  public static function user_has_pp_avatar($id_or_email)
90
  {
91
  $user_id = self::get_avatar_user_id($id_or_email);
14
 
15
  $original = ppress_var($args, 'ppress-full') === true;
16
 
17
+ $avatar_url = self::get_avatar_complete_url($id_or_email, $size, $original);
18
 
19
+ if ( ! empty($avatar_url)) {
20
+ $args['url'] = $avatar_url;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
  $args['found_avatar'] = true;
22
  }
23
 
51
  }, PHP_INT_MAX - 1, 6);
52
  }
53
 
54
+ /**
55
+ * Get user profile picture. Falls back to default avatar or gravatar set in settings.
56
+ *
57
+ * @param string|int $id_or_email
58
+ * @param int $size
59
+ * @param bool $original
60
+ *
61
+ * @return false|string
62
+ */
63
+ public static function get_avatar_complete_url($id_or_email, $size = '', $original = false)
64
+ {
65
+ $url = false;
66
+
67
+ if ( ! empty($size)) $size = absint($size);
68
+
69
+ if (self::user_has_pp_avatar($id_or_email)) {
70
+
71
+ $url = self::get_pp_avatar_url($id_or_email, $size, $original);
72
+
73
+ } else {
74
+
75
+ /** WP User Avatar Adapter STARTS */
76
+ global $wpua_disable_gravatar, $wpua_functions;
77
+
78
+ // First checking custom avatar.
79
+ if ($wpua_disable_gravatar == '1') {
80
+ $url = $wpua_functions->wpua_get_default_avatar_url($size);
81
+ } else {
82
+
83
+ $has_valid_url = false;
84
+
85
+ if (is_object($wpua_functions) && method_exists($wpua_functions, 'wpua_has_gravatar')) {
86
+ $has_valid_url = $wpua_functions->wpua_has_gravatar($id_or_email);
87
+ } elseif (class_exists('\WP_User_Avatar_Functions')) {
88
+
89
+ $obj = new \WP_User_Avatar_Functions();
90
+ if (method_exists($obj, 'wpua_has_gravatar')) {
91
+ $has_valid_url = $obj->wpua_has_gravatar($id_or_email);
92
+ }
93
+ }
94
+
95
+ if ( ! $has_valid_url) {
96
+
97
+ $wpua_size = ! empty($size) ? $size : 96;
98
+
99
+ if (is_object($wpua_functions) && method_exists($wpua_functions, 'wpua_get_default_avatar_url')) {
100
+ $url = $wpua_functions->wpua_get_default_avatar_url($wpua_size);
101
+ }
102
+ }
103
+ }
104
+ /** WP User Avatar Adapter ENDS */
105
+ }
106
+
107
+ return $url;
108
+ }
109
+
110
  public static function user_has_pp_avatar($id_or_email)
111
  {
112
  $user_id = self::get_avatar_user_id($id_or_email);
src/ContentProtection/ConditionCallbacks.php CHANGED
@@ -18,7 +18,7 @@ class ConditionCallbacks
18
  {
19
  global $post;
20
 
21
- $post_id = absint($post->ID) > 0 ? $post->ID : get_queried_object_id();
22
 
23
  $target = explode('_', $condition_id);
24
 
18
  {
19
  global $post;
20
 
21
+ $post_id = isset($post->ID) && absint($post->ID) > 0 ? $post->ID : get_queried_object_id();
22
 
23
  $target = explode('_', $condition_id);
24
 
src/Membership/Controllers/CheckoutController.php CHANGED
@@ -205,7 +205,7 @@ class CheckoutController extends BaseController
205
 
206
  $plan_id = (int)$_POST['plan_id'];
207
 
208
- if ( ! isset($_POST['_ppress_timestamp']) || $_POST['_ppress_timestamp'] > (time() - 2)) {
209
  throw new \Exception('spam');
210
  }
211
 
205
 
206
  $plan_id = (int)$_POST['plan_id'];
207
 
208
+ if ( ! isset($_POST['_ppress_timestamp']) || intval($_POST['_ppress_timestamp']) > (time() - 2)) {
209
  throw new \Exception('spam');
210
  }
211
 
src/Membership/Controllers/FrontendController.php CHANGED
@@ -26,9 +26,9 @@ class FrontendController extends BaseController
26
  ppress_settings_by_key('edit_user_profile_url', false, true)
27
  ]);
28
 
29
- $do_not_cache = apply_filters('ppress_no_cache', is_page($page_ids));
30
 
31
- if ($do_not_cache) {
32
 
33
  add_filter('nocache_headers', [$this, 'additional_nocache_headers'], 99);
34
 
@@ -98,8 +98,8 @@ class FrontendController extends BaseController
98
  return;
99
  }
100
 
101
- $path = wp_parse_url(get_permalink(), PHP_URL_PATH);
102
- $cookie_domain = ! defined( 'COOKIE_DOMAIN' ) ? false : COOKIE_DOMAIN;
103
  setcookie('wordpress_wpe_no_cache', '1', 0, $path, $cookie_domain, is_ssl(), true);
104
  }
105
  }
26
  ppress_settings_by_key('edit_user_profile_url', false, true)
27
  ]);
28
 
29
+ $do_not_cache = apply_filters('ppress_no_cache', ( ! empty($page_ids)) ? true : false);
30
 
31
+ if ($do_not_cache && is_page($page_ids)) {
32
 
33
  add_filter('nocache_headers', [$this, 'additional_nocache_headers'], 99);
34
 
98
  return;
99
  }
100
 
101
+ $path = wp_parse_url(get_permalink(), PHP_URL_PATH);
102
+ $cookie_domain = ! defined('COOKIE_DOMAIN') ? false : COOKIE_DOMAIN;
103
  setcookie('wordpress_wpe_no_cache', '1', 0, $path, $cookie_domain, is_ssl(), true);
104
  }
105
  }
src/ShortcodeParser/Builder/FieldsShortcodeCallback.php CHANGED
@@ -36,7 +36,9 @@ class FieldsShortcodeCallback
36
  $flag = false;
37
  if (function_exists('wp_get_current_user')) {
38
  $this->get_current_user();
39
- if (method_exists($this->current_user, 'exists') && $this->current_user->exists()) $flag = true;
 
 
40
  }
41
 
42
  if ( ! $flag) {
36
  $flag = false;
37
  if (function_exists('wp_get_current_user')) {
38
  $this->get_current_user();
39
+ if (is_object($this->current_user) && method_exists($this->current_user, 'exists') && $this->current_user->exists()) {
40
+ $flag = true;
41
+ }
42
  }
43
 
44
  if ( ! $flag) {
third-party/composer.json CHANGED
@@ -7,7 +7,7 @@
7
  ],
8
  "require": {
9
  "collizo4sky\/persist-admin-notices-dismissal": "^1.3",
10
- "pelago\/emogrifier": "3.1.0",
11
  "barryvdh\/composer-cleanup-plugin": "dev-master",
12
  "nesbot\/carbon": "^2.57",
13
  "stripe\/stripe-php": "^7.117",
@@ -20,7 +20,7 @@
20
  },
21
  "config": {
22
  "platform": {
23
- "php": "7.1.8"
24
  },
25
  "allow-plugins": {
26
  "barryvdh\/composer-cleanup-plugin": true,
7
  ],
8
  "require": {
9
  "collizo4sky\/persist-admin-notices-dismissal": "^1.3",
10
+ "pelago\/emogrifier": "^6.0.0",
11
  "barryvdh\/composer-cleanup-plugin": "dev-master",
12
  "nesbot\/carbon": "^2.57",
13
  "stripe\/stripe-php": "^7.117",
20
  },
21
  "config": {
22
  "platform": {
23
+ "php": "7.2"
24
  },
25
  "allow-plugins": {
26
  "barryvdh\/composer-cleanup-plugin": true,
third-party/vendor/autoload.php CHANGED
@@ -9,4 +9,4 @@ if (PHP_VERSION_ID < 50600) {
9
 
10
  require_once __DIR__ . '/composer/autoload_real.php';
11
 
12
- return ComposerAutoloaderInitf424c5a2b3b5c32365ea14b26ccb18f8::getLoader();
9
 
10
  require_once __DIR__ . '/composer/autoload_real.php';
11
 
12
+ return ComposerAutoloaderInitf80efe29f3ebb8c0557bf24a1ea3eedc::getLoader();
third-party/vendor/composer/autoload_classmap.php CHANGED
@@ -99,21 +99,63 @@ return array(
99
  'ProfilePressVendor\\Carbon\\Traits\\Serialization' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Serialization.php',
100
  'ProfilePressVendor\\Carbon\\Traits\\Test' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Test.php',
101
  'ProfilePressVendor\\Carbon\\Traits\\Timestamp' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Timestamp.php',
 
102
  'ProfilePressVendor\\Carbon\\Traits\\Units' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Units.php',
103
  'ProfilePressVendor\\Carbon\\Traits\\Week' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Week.php',
104
  'ProfilePressVendor\\Carbon\\Translator' => $vendorDir . '/nesbot/carbon/src/Carbon/Translator.php',
105
  'ProfilePressVendor\\Carbon\\TranslatorImmutable' => $vendorDir . '/nesbot/carbon/src/Carbon/TranslatorImmutable.php',
106
  'ProfilePressVendor\\Carbon\\TranslatorStrongTypeInterface' => $vendorDir . '/nesbot/carbon/src/Carbon/TranslatorStrongTypeInterface.php',
107
  'ProfilePressVendor\\PAnD' => $vendorDir . '/collizo4sky/persist-admin-notices-dismissal/persist-admin-notices-dismissal.php',
108
- 'ProfilePressVendor\\Pelago\\Emogrifier' => $vendorDir . '/pelago/emogrifier/src/Emogrifier.php',
109
- 'ProfilePressVendor\\Pelago\\Emogrifier\\CssInliner' => $vendorDir . '/pelago/emogrifier/src/Emogrifier/CssInliner.php',
110
- 'ProfilePressVendor\\Pelago\\Emogrifier\\HtmlProcessor\\AbstractHtmlProcessor' => $vendorDir . '/pelago/emogrifier/src/Emogrifier/HtmlProcessor/AbstractHtmlProcessor.php',
111
- 'ProfilePressVendor\\Pelago\\Emogrifier\\HtmlProcessor\\CssToAttributeConverter' => $vendorDir . '/pelago/emogrifier/src/Emogrifier/HtmlProcessor/CssToAttributeConverter.php',
112
- 'ProfilePressVendor\\Pelago\\Emogrifier\\HtmlProcessor\\HtmlNormalizer' => $vendorDir . '/pelago/emogrifier/src/Emogrifier/HtmlProcessor/HtmlNormalizer.php',
113
- 'ProfilePressVendor\\Pelago\\Emogrifier\\HtmlProcessor\\HtmlPruner' => $vendorDir . '/pelago/emogrifier/src/Emogrifier/HtmlProcessor/HtmlPruner.php',
114
- 'ProfilePressVendor\\Pelago\\Emogrifier\\Utilities\\ArrayIntersector' => $vendorDir . '/pelago/emogrifier/src/Emogrifier/Utilities/ArrayIntersector.php',
115
- 'ProfilePressVendor\\Pelago\\Emogrifier\\Utilities\\CssConcatenator' => $vendorDir . '/pelago/emogrifier/src/Emogrifier/Utilities/CssConcatenator.php',
 
 
116
  'ProfilePressVendor\\PhpToken' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/PhpToken.php',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
117
  'ProfilePressVendor\\Stringable' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Stringable.php',
118
  'ProfilePressVendor\\Stripe\\Account' => $vendorDir . '/stripe/stripe-php/lib/Account.php',
119
  'ProfilePressVendor\\Stripe\\AccountLink' => $vendorDir . '/stripe/stripe-php/lib/AccountLink.php',
99
  'ProfilePressVendor\\Carbon\\Traits\\Serialization' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Serialization.php',
100
  'ProfilePressVendor\\Carbon\\Traits\\Test' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Test.php',
101
  'ProfilePressVendor\\Carbon\\Traits\\Timestamp' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Timestamp.php',
102
+ 'ProfilePressVendor\\Carbon\\Traits\\ToStringFormat' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/ToStringFormat.php',
103
  'ProfilePressVendor\\Carbon\\Traits\\Units' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Units.php',
104
  'ProfilePressVendor\\Carbon\\Traits\\Week' => $vendorDir . '/nesbot/carbon/src/Carbon/Traits/Week.php',
105
  'ProfilePressVendor\\Carbon\\Translator' => $vendorDir . '/nesbot/carbon/src/Carbon/Translator.php',
106
  'ProfilePressVendor\\Carbon\\TranslatorImmutable' => $vendorDir . '/nesbot/carbon/src/Carbon/TranslatorImmutable.php',
107
  'ProfilePressVendor\\Carbon\\TranslatorStrongTypeInterface' => $vendorDir . '/nesbot/carbon/src/Carbon/TranslatorStrongTypeInterface.php',
108
  'ProfilePressVendor\\PAnD' => $vendorDir . '/collizo4sky/persist-admin-notices-dismissal/persist-admin-notices-dismissal.php',
109
+ 'ProfilePressVendor\\Pelago\\Emogrifier\\Caching\\SimpleStringCache' => $vendorDir . '/pelago/emogrifier/src/Caching/SimpleStringCache.php',
110
+ 'ProfilePressVendor\\Pelago\\Emogrifier\\CssInliner' => $vendorDir . '/pelago/emogrifier/src/CssInliner.php',
111
+ 'ProfilePressVendor\\Pelago\\Emogrifier\\Css\\CssDocument' => $vendorDir . '/pelago/emogrifier/src/Css/CssDocument.php',
112
+ 'ProfilePressVendor\\Pelago\\Emogrifier\\Css\\StyleRule' => $vendorDir . '/pelago/emogrifier/src/Css/StyleRule.php',
113
+ 'ProfilePressVendor\\Pelago\\Emogrifier\\HtmlProcessor\\AbstractHtmlProcessor' => $vendorDir . '/pelago/emogrifier/src/HtmlProcessor/AbstractHtmlProcessor.php',
114
+ 'ProfilePressVendor\\Pelago\\Emogrifier\\HtmlProcessor\\CssToAttributeConverter' => $vendorDir . '/pelago/emogrifier/src/HtmlProcessor/CssToAttributeConverter.php',
115
+ 'ProfilePressVendor\\Pelago\\Emogrifier\\HtmlProcessor\\HtmlNormalizer' => $vendorDir . '/pelago/emogrifier/src/HtmlProcessor/HtmlNormalizer.php',
116
+ 'ProfilePressVendor\\Pelago\\Emogrifier\\HtmlProcessor\\HtmlPruner' => $vendorDir . '/pelago/emogrifier/src/HtmlProcessor/HtmlPruner.php',
117
+ 'ProfilePressVendor\\Pelago\\Emogrifier\\Utilities\\ArrayIntersector' => $vendorDir . '/pelago/emogrifier/src/Utilities/ArrayIntersector.php',
118
+ 'ProfilePressVendor\\Pelago\\Emogrifier\\Utilities\\CssConcatenator' => $vendorDir . '/pelago/emogrifier/src/Utilities/CssConcatenator.php',
119
  'ProfilePressVendor\\PhpToken' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/PhpToken.php',
120
+ 'ProfilePressVendor\\Sabberworm\\CSS\\CSSList\\AtRuleBlockList' => $vendorDir . '/sabberworm/php-css-parser/src/CSSList/AtRuleBlockList.php',
121
+ 'ProfilePressVendor\\Sabberworm\\CSS\\CSSList\\CSSBlockList' => $vendorDir . '/sabberworm/php-css-parser/src/CSSList/CSSBlockList.php',
122
+ 'ProfilePressVendor\\Sabberworm\\CSS\\CSSList\\CSSList' => $vendorDir . '/sabberworm/php-css-parser/src/CSSList/CSSList.php',
123
+ 'ProfilePressVendor\\Sabberworm\\CSS\\CSSList\\Document' => $vendorDir . '/sabberworm/php-css-parser/src/CSSList/Document.php',
124
+ 'ProfilePressVendor\\Sabberworm\\CSS\\CSSList\\KeyFrame' => $vendorDir . '/sabberworm/php-css-parser/src/CSSList/KeyFrame.php',
125
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Comment\\Comment' => $vendorDir . '/sabberworm/php-css-parser/src/Comment/Comment.php',
126
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Comment\\Commentable' => $vendorDir . '/sabberworm/php-css-parser/src/Comment/Commentable.php',
127
+ 'ProfilePressVendor\\Sabberworm\\CSS\\OutputFormat' => $vendorDir . '/sabberworm/php-css-parser/src/OutputFormat.php',
128
+ 'ProfilePressVendor\\Sabberworm\\CSS\\OutputFormatter' => $vendorDir . '/sabberworm/php-css-parser/src/OutputFormatter.php',
129
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Parser' => $vendorDir . '/sabberworm/php-css-parser/src/Parser.php',
130
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Parsing\\OutputException' => $vendorDir . '/sabberworm/php-css-parser/src/Parsing/OutputException.php',
131
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Parsing\\ParserState' => $vendorDir . '/sabberworm/php-css-parser/src/Parsing/ParserState.php',
132
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Parsing\\SourceException' => $vendorDir . '/sabberworm/php-css-parser/src/Parsing/SourceException.php',
133
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Parsing\\UnexpectedEOFException' => $vendorDir . '/sabberworm/php-css-parser/src/Parsing/UnexpectedEOFException.php',
134
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Parsing\\UnexpectedTokenException' => $vendorDir . '/sabberworm/php-css-parser/src/Parsing/UnexpectedTokenException.php',
135
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Property\\AtRule' => $vendorDir . '/sabberworm/php-css-parser/src/Property/AtRule.php',
136
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Property\\CSSNamespace' => $vendorDir . '/sabberworm/php-css-parser/src/Property/CSSNamespace.php',
137
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Property\\Charset' => $vendorDir . '/sabberworm/php-css-parser/src/Property/Charset.php',
138
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Property\\Import' => $vendorDir . '/sabberworm/php-css-parser/src/Property/Import.php',
139
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Property\\KeyframeSelector' => $vendorDir . '/sabberworm/php-css-parser/src/Property/KeyframeSelector.php',
140
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Property\\Selector' => $vendorDir . '/sabberworm/php-css-parser/src/Property/Selector.php',
141
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Renderable' => $vendorDir . '/sabberworm/php-css-parser/src/Renderable.php',
142
+ 'ProfilePressVendor\\Sabberworm\\CSS\\RuleSet\\AtRuleSet' => $vendorDir . '/sabberworm/php-css-parser/src/RuleSet/AtRuleSet.php',
143
+ 'ProfilePressVendor\\Sabberworm\\CSS\\RuleSet\\DeclarationBlock' => $vendorDir . '/sabberworm/php-css-parser/src/RuleSet/DeclarationBlock.php',
144
+ 'ProfilePressVendor\\Sabberworm\\CSS\\RuleSet\\RuleSet' => $vendorDir . '/sabberworm/php-css-parser/src/RuleSet/RuleSet.php',
145
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Rule\\Rule' => $vendorDir . '/sabberworm/php-css-parser/src/Rule/Rule.php',
146
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Settings' => $vendorDir . '/sabberworm/php-css-parser/src/Settings.php',
147
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Value\\CSSFunction' => $vendorDir . '/sabberworm/php-css-parser/src/Value/CSSFunction.php',
148
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Value\\CSSString' => $vendorDir . '/sabberworm/php-css-parser/src/Value/CSSString.php',
149
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Value\\CalcFunction' => $vendorDir . '/sabberworm/php-css-parser/src/Value/CalcFunction.php',
150
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Value\\CalcRuleValueList' => $vendorDir . '/sabberworm/php-css-parser/src/Value/CalcRuleValueList.php',
151
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Value\\Color' => $vendorDir . '/sabberworm/php-css-parser/src/Value/Color.php',
152
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Value\\LineName' => $vendorDir . '/sabberworm/php-css-parser/src/Value/LineName.php',
153
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Value\\PrimitiveValue' => $vendorDir . '/sabberworm/php-css-parser/src/Value/PrimitiveValue.php',
154
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Value\\RuleValueList' => $vendorDir . '/sabberworm/php-css-parser/src/Value/RuleValueList.php',
155
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Value\\Size' => $vendorDir . '/sabberworm/php-css-parser/src/Value/Size.php',
156
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Value\\URL' => $vendorDir . '/sabberworm/php-css-parser/src/Value/URL.php',
157
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Value\\Value' => $vendorDir . '/sabberworm/php-css-parser/src/Value/Value.php',
158
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Value\\ValueList' => $vendorDir . '/sabberworm/php-css-parser/src/Value/ValueList.php',
159
  'ProfilePressVendor\\Stringable' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Stringable.php',
160
  'ProfilePressVendor\\Stripe\\Account' => $vendorDir . '/stripe/stripe-php/lib/Account.php',
161
  'ProfilePressVendor\\Stripe\\AccountLink' => $vendorDir . '/stripe/stripe-php/lib/AccountLink.php',
third-party/vendor/composer/autoload_psr4.php CHANGED
@@ -12,8 +12,9 @@ return array(
12
  'ProfilePressVendor\\Symfony\\Component\\Translation\\' => array($vendorDir . '/symfony/translation'),
13
  'ProfilePressVendor\\Symfony\\Component\\CssSelector\\' => array($vendorDir . '/symfony/css-selector'),
14
  'ProfilePressVendor\\Stripe\\' => array($vendorDir . '/stripe/stripe-php/lib'),
 
15
  'ProfilePressVendor\\ProfilePress\\Core\\' => array($baseDir . '/src'),
16
- 'ProfilePressVendor\\Pelago\\' => array($vendorDir . '/pelago/emogrifier/src'),
17
  'ProfilePressVendor\\Carbon\\' => array($vendorDir . '/nesbot/carbon/src/Carbon'),
18
  'ProfilePressVendor\\Brick\\Math\\' => array($vendorDir . '/brick/math/src'),
19
  'ProfilePressVendor\\Barryvdh\\Composer\\' => array($vendorDir . '/barryvdh/composer-cleanup-plugin/src'),
12
  'ProfilePressVendor\\Symfony\\Component\\Translation\\' => array($vendorDir . '/symfony/translation'),
13
  'ProfilePressVendor\\Symfony\\Component\\CssSelector\\' => array($vendorDir . '/symfony/css-selector'),
14
  'ProfilePressVendor\\Stripe\\' => array($vendorDir . '/stripe/stripe-php/lib'),
15
+ 'ProfilePressVendor\\Sabberworm\\CSS\\' => array($vendorDir . '/sabberworm/php-css-parser/src'),
16
  'ProfilePressVendor\\ProfilePress\\Core\\' => array($baseDir . '/src'),
17
+ 'ProfilePressVendor\\Pelago\\Emogrifier\\' => array($vendorDir . '/pelago/emogrifier/src'),
18
  'ProfilePressVendor\\Carbon\\' => array($vendorDir . '/nesbot/carbon/src/Carbon'),
19
  'ProfilePressVendor\\Brick\\Math\\' => array($vendorDir . '/brick/math/src'),
20
  'ProfilePressVendor\\Barryvdh\\Composer\\' => array($vendorDir . '/barryvdh/composer-cleanup-plugin/src'),
third-party/vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInitf424c5a2b3b5c32365ea14b26ccb18f8
6
  {
7
  private static $loader;
8
 
@@ -24,19 +24,19 @@ class ComposerAutoloaderInitf424c5a2b3b5c32365ea14b26ccb18f8
24
 
25
  require __DIR__ . '/platform_check.php';
26
 
27
- spl_autoload_register(array('ComposerAutoloaderInitf424c5a2b3b5c32365ea14b26ccb18f8', 'loadClassLoader'), true, true);
28
  self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
29
- spl_autoload_unregister(array('ComposerAutoloaderInitf424c5a2b3b5c32365ea14b26ccb18f8', 'loadClassLoader'));
30
 
31
  require __DIR__ . '/autoload_static.php';
32
- call_user_func(\Composer\Autoload\ComposerStaticInitf424c5a2b3b5c32365ea14b26ccb18f8::getInitializer($loader));
33
 
34
  $loader->setClassMapAuthoritative(true);
35
  $loader->register(true);
36
 
37
- $includeFiles = \Composer\Autoload\ComposerStaticInitf424c5a2b3b5c32365ea14b26ccb18f8::$files;
38
  foreach ($includeFiles as $fileIdentifier => $file) {
39
- composerRequiref424c5a2b3b5c32365ea14b26ccb18f8($fileIdentifier, $file);
40
  }
41
 
42
  return $loader;
@@ -48,7 +48,7 @@ class ComposerAutoloaderInitf424c5a2b3b5c32365ea14b26ccb18f8
48
  * @param string $file
49
  * @return void
50
  */
51
- function composerRequiref424c5a2b3b5c32365ea14b26ccb18f8($fileIdentifier, $file)
52
  {
53
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
54
  $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInitf80efe29f3ebb8c0557bf24a1ea3eedc
6
  {
7
  private static $loader;
8
 
24
 
25
  require __DIR__ . '/platform_check.php';
26
 
27
+ spl_autoload_register(array('ComposerAutoloaderInitf80efe29f3ebb8c0557bf24a1ea3eedc', 'loadClassLoader'), true, true);
28
  self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
29
+ spl_autoload_unregister(array('ComposerAutoloaderInitf80efe29f3ebb8c0557bf24a1ea3eedc', 'loadClassLoader'));
30
 
31
  require __DIR__ . '/autoload_static.php';
32
+ call_user_func(\Composer\Autoload\ComposerStaticInitf80efe29f3ebb8c0557bf24a1ea3eedc::getInitializer($loader));
33
 
34
  $loader->setClassMapAuthoritative(true);
35
  $loader->register(true);
36
 
37
+ $includeFiles = \Composer\Autoload\ComposerStaticInitf80efe29f3ebb8c0557bf24a1ea3eedc::$files;
38
  foreach ($includeFiles as $fileIdentifier => $file) {
39
+ composerRequiref80efe29f3ebb8c0557bf24a1ea3eedc($fileIdentifier, $file);
40
  }
41
 
42
  return $loader;
48
  * @param string $file
49
  * @return void
50
  */
51
+ function composerRequiref80efe29f3ebb8c0557bf24a1ea3eedc($fileIdentifier, $file)
52
  {
53
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
54
  $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
third-party/vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInitf424c5a2b3b5c32365ea14b26ccb18f8
8
  {
9
  public static $files = array (
10
  'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
@@ -20,8 +20,9 @@ class ComposerStaticInitf424c5a2b3b5c32365ea14b26ccb18f8
20
  'ProfilePressVendor\\Symfony\\Component\\Translation\\' => 49,
21
  'ProfilePressVendor\\Symfony\\Component\\CssSelector\\' => 49,
22
  'ProfilePressVendor\\Stripe\\' => 26,
 
23
  'ProfilePressVendor\\ProfilePress\\Core\\' => 37,
24
- 'ProfilePressVendor\\Pelago\\' => 26,
25
  'ProfilePressVendor\\Carbon\\' => 26,
26
  'ProfilePressVendor\\Brick\\Math\\' => 30,
27
  'ProfilePressVendor\\Barryvdh\\Composer\\' => 37,
@@ -53,11 +54,15 @@ class ComposerStaticInitf424c5a2b3b5c32365ea14b26ccb18f8
53
  array (
54
  0 => __DIR__ . '/..' . '/stripe/stripe-php/lib',
55
  ),
 
 
 
 
56
  'ProfilePressVendor\\ProfilePress\\Core\\' =>
57
  array (
58
  0 => __DIR__ . '/../..' . '/src',
59
  ),
60
- 'ProfilePressVendor\\Pelago\\' =>
61
  array (
62
  0 => __DIR__ . '/..' . '/pelago/emogrifier/src',
63
  ),
@@ -169,21 +174,63 @@ class ComposerStaticInitf424c5a2b3b5c32365ea14b26ccb18f8
169
  'ProfilePressVendor\\Carbon\\Traits\\Serialization' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Traits/Serialization.php',
170
  'ProfilePressVendor\\Carbon\\Traits\\Test' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Traits/Test.php',
171
  'ProfilePressVendor\\Carbon\\Traits\\Timestamp' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Traits/Timestamp.php',
 
172
  'ProfilePressVendor\\Carbon\\Traits\\Units' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Traits/Units.php',
173
  'ProfilePressVendor\\Carbon\\Traits\\Week' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Traits/Week.php',
174
  'ProfilePressVendor\\Carbon\\Translator' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Translator.php',
175
  'ProfilePressVendor\\Carbon\\TranslatorImmutable' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/TranslatorImmutable.php',
176
  'ProfilePressVendor\\Carbon\\TranslatorStrongTypeInterface' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/TranslatorStrongTypeInterface.php',
177
  'ProfilePressVendor\\PAnD' => __DIR__ . '/..' . '/collizo4sky/persist-admin-notices-dismissal/persist-admin-notices-dismissal.php',
178
- 'ProfilePressVendor\\Pelago\\Emogrifier' => __DIR__ . '/..' . '/pelago/emogrifier/src/Emogrifier.php',
179
- 'ProfilePressVendor\\Pelago\\Emogrifier\\CssInliner' => __DIR__ . '/..' . '/pelago/emogrifier/src/Emogrifier/CssInliner.php',
180
- 'ProfilePressVendor\\Pelago\\Emogrifier\\HtmlProcessor\\AbstractHtmlProcessor' => __DIR__ . '/..' . '/pelago/emogrifier/src/Emogrifier/HtmlProcessor/AbstractHtmlProcessor.php',
181
- 'ProfilePressVendor\\Pelago\\Emogrifier\\HtmlProcessor\\CssToAttributeConverter' => __DIR__ . '/..' . '/pelago/emogrifier/src/Emogrifier/HtmlProcessor/CssToAttributeConverter.php',
182
- 'ProfilePressVendor\\Pelago\\Emogrifier\\HtmlProcessor\\HtmlNormalizer' => __DIR__ . '/..' . '/pelago/emogrifier/src/Emogrifier/HtmlProcessor/HtmlNormalizer.php',
183
- 'ProfilePressVendor\\Pelago\\Emogrifier\\HtmlProcessor\\HtmlPruner' => __DIR__ . '/..' . '/pelago/emogrifier/src/Emogrifier/HtmlProcessor/HtmlPruner.php',
184
- 'ProfilePressVendor\\Pelago\\Emogrifier\\Utilities\\ArrayIntersector' => __DIR__ . '/..' . '/pelago/emogrifier/src/Emogrifier/Utilities/ArrayIntersector.php',
185
- 'ProfilePressVendor\\Pelago\\Emogrifier\\Utilities\\CssConcatenator' => __DIR__ . '/..' . '/pelago/emogrifier/src/Emogrifier/Utilities/CssConcatenator.php',
 
 
186
  'ProfilePressVendor\\PhpToken' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/PhpToken.php',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
187
  'ProfilePressVendor\\Stringable' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Stringable.php',
188
  'ProfilePressVendor\\Stripe\\Account' => __DIR__ . '/..' . '/stripe/stripe-php/lib/Account.php',
189
  'ProfilePressVendor\\Stripe\\AccountLink' => __DIR__ . '/..' . '/stripe/stripe-php/lib/AccountLink.php',
@@ -563,9 +610,9 @@ class ComposerStaticInitf424c5a2b3b5c32365ea14b26ccb18f8
563
  public static function getInitializer(ClassLoader $loader)
564
  {
565
  return \Closure::bind(function () use ($loader) {
566
- $loader->prefixLengthsPsr4 = ComposerStaticInitf424c5a2b3b5c32365ea14b26ccb18f8::$prefixLengthsPsr4;
567
- $loader->prefixDirsPsr4 = ComposerStaticInitf424c5a2b3b5c32365ea14b26ccb18f8::$prefixDirsPsr4;
568
- $loader->classMap = ComposerStaticInitf424c5a2b3b5c32365ea14b26ccb18f8::$classMap;
569
 
570
  }, null, ClassLoader::class);
571
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInitf80efe29f3ebb8c0557bf24a1ea3eedc
8
  {
9
  public static $files = array (
10
  'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
20
  'ProfilePressVendor\\Symfony\\Component\\Translation\\' => 49,
21
  'ProfilePressVendor\\Symfony\\Component\\CssSelector\\' => 49,
22
  'ProfilePressVendor\\Stripe\\' => 26,
23
+ 'ProfilePressVendor\\Sabberworm\\CSS\\' => 34,
24
  'ProfilePressVendor\\ProfilePress\\Core\\' => 37,
25
+ 'ProfilePressVendor\\Pelago\\Emogrifier\\' => 37,
26
  'ProfilePressVendor\\Carbon\\' => 26,
27
  'ProfilePressVendor\\Brick\\Math\\' => 30,
28
  'ProfilePressVendor\\Barryvdh\\Composer\\' => 37,
54
  array (
55
  0 => __DIR__ . '/..' . '/stripe/stripe-php/lib',
56
  ),
57
+ 'ProfilePressVendor\\Sabberworm\\CSS\\' =>
58
+ array (
59
+ 0 => __DIR__ . '/..' . '/sabberworm/php-css-parser/src',
60
+ ),
61
  'ProfilePressVendor\\ProfilePress\\Core\\' =>
62
  array (
63
  0 => __DIR__ . '/../..' . '/src',
64
  ),
65
+ 'ProfilePressVendor\\Pelago\\Emogrifier\\' =>
66
  array (
67
  0 => __DIR__ . '/..' . '/pelago/emogrifier/src',
68
  ),
174
  'ProfilePressVendor\\Carbon\\Traits\\Serialization' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Traits/Serialization.php',
175
  'ProfilePressVendor\\Carbon\\Traits\\Test' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Traits/Test.php',
176
  'ProfilePressVendor\\Carbon\\Traits\\Timestamp' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Traits/Timestamp.php',
177
+ 'ProfilePressVendor\\Carbon\\Traits\\ToStringFormat' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Traits/ToStringFormat.php',
178
  'ProfilePressVendor\\Carbon\\Traits\\Units' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Traits/Units.php',
179
  'ProfilePressVendor\\Carbon\\Traits\\Week' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Traits/Week.php',
180
  'ProfilePressVendor\\Carbon\\Translator' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/Translator.php',
181
  'ProfilePressVendor\\Carbon\\TranslatorImmutable' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/TranslatorImmutable.php',
182
  'ProfilePressVendor\\Carbon\\TranslatorStrongTypeInterface' => __DIR__ . '/..' . '/nesbot/carbon/src/Carbon/TranslatorStrongTypeInterface.php',
183
  'ProfilePressVendor\\PAnD' => __DIR__ . '/..' . '/collizo4sky/persist-admin-notices-dismissal/persist-admin-notices-dismissal.php',
184
+ 'ProfilePressVendor\\Pelago\\Emogrifier\\Caching\\SimpleStringCache' => __DIR__ . '/..' . '/pelago/emogrifier/src/Caching/SimpleStringCache.php',
185
+ 'ProfilePressVendor\\Pelago\\Emogrifier\\CssInliner' => __DIR__ . '/..' . '/pelago/emogrifier/src/CssInliner.php',
186
+ 'ProfilePressVendor\\Pelago\\Emogrifier\\Css\\CssDocument' => __DIR__ . '/..' . '/pelago/emogrifier/src/Css/CssDocument.php',
187
+ 'ProfilePressVendor\\Pelago\\Emogrifier\\Css\\StyleRule' => __DIR__ . '/..' . '/pelago/emogrifier/src/Css/StyleRule.php',
188
+ 'ProfilePressVendor\\Pelago\\Emogrifier\\HtmlProcessor\\AbstractHtmlProcessor' => __DIR__ . '/..' . '/pelago/emogrifier/src/HtmlProcessor/AbstractHtmlProcessor.php',
189
+ 'ProfilePressVendor\\Pelago\\Emogrifier\\HtmlProcessor\\CssToAttributeConverter' => __DIR__ . '/..' . '/pelago/emogrifier/src/HtmlProcessor/CssToAttributeConverter.php',
190
+ 'ProfilePressVendor\\Pelago\\Emogrifier\\HtmlProcessor\\HtmlNormalizer' => __DIR__ . '/..' . '/pelago/emogrifier/src/HtmlProcessor/HtmlNormalizer.php',
191
+ 'ProfilePressVendor\\Pelago\\Emogrifier\\HtmlProcessor\\HtmlPruner' => __DIR__ . '/..' . '/pelago/emogrifier/src/HtmlProcessor/HtmlPruner.php',
192
+ 'ProfilePressVendor\\Pelago\\Emogrifier\\Utilities\\ArrayIntersector' => __DIR__ . '/..' . '/pelago/emogrifier/src/Utilities/ArrayIntersector.php',
193
+ 'ProfilePressVendor\\Pelago\\Emogrifier\\Utilities\\CssConcatenator' => __DIR__ . '/..' . '/pelago/emogrifier/src/Utilities/CssConcatenator.php',
194
  'ProfilePressVendor\\PhpToken' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/PhpToken.php',
195
+ 'ProfilePressVendor\\Sabberworm\\CSS\\CSSList\\AtRuleBlockList' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/CSSList/AtRuleBlockList.php',
196
+ 'ProfilePressVendor\\Sabberworm\\CSS\\CSSList\\CSSBlockList' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/CSSList/CSSBlockList.php',
197
+ 'ProfilePressVendor\\Sabberworm\\CSS\\CSSList\\CSSList' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/CSSList/CSSList.php',
198
+ 'ProfilePressVendor\\Sabberworm\\CSS\\CSSList\\Document' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/CSSList/Document.php',
199
+ 'ProfilePressVendor\\Sabberworm\\CSS\\CSSList\\KeyFrame' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/CSSList/KeyFrame.php',
200
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Comment\\Comment' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/Comment/Comment.php',
201
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Comment\\Commentable' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/Comment/Commentable.php',
202
+ 'ProfilePressVendor\\Sabberworm\\CSS\\OutputFormat' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/OutputFormat.php',
203
+ 'ProfilePressVendor\\Sabberworm\\CSS\\OutputFormatter' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/OutputFormatter.php',
204
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Parser' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/Parser.php',
205
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Parsing\\OutputException' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/Parsing/OutputException.php',
206
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Parsing\\ParserState' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/Parsing/ParserState.php',
207
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Parsing\\SourceException' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/Parsing/SourceException.php',
208
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Parsing\\UnexpectedEOFException' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/Parsing/UnexpectedEOFException.php',
209
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Parsing\\UnexpectedTokenException' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/Parsing/UnexpectedTokenException.php',
210
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Property\\AtRule' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/Property/AtRule.php',
211
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Property\\CSSNamespace' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/Property/CSSNamespace.php',
212
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Property\\Charset' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/Property/Charset.php',
213
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Property\\Import' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/Property/Import.php',
214
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Property\\KeyframeSelector' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/Property/KeyframeSelector.php',
215
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Property\\Selector' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/Property/Selector.php',
216
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Renderable' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/Renderable.php',
217
+ 'ProfilePressVendor\\Sabberworm\\CSS\\RuleSet\\AtRuleSet' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/RuleSet/AtRuleSet.php',
218
+ 'ProfilePressVendor\\Sabberworm\\CSS\\RuleSet\\DeclarationBlock' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/RuleSet/DeclarationBlock.php',
219
+ 'ProfilePressVendor\\Sabberworm\\CSS\\RuleSet\\RuleSet' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/RuleSet/RuleSet.php',
220
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Rule\\Rule' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/Rule/Rule.php',
221
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Settings' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/Settings.php',
222
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Value\\CSSFunction' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/Value/CSSFunction.php',
223
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Value\\CSSString' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/Value/CSSString.php',
224
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Value\\CalcFunction' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/Value/CalcFunction.php',
225
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Value\\CalcRuleValueList' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/Value/CalcRuleValueList.php',
226
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Value\\Color' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/Value/Color.php',
227
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Value\\LineName' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/Value/LineName.php',
228
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Value\\PrimitiveValue' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/Value/PrimitiveValue.php',
229
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Value\\RuleValueList' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/Value/RuleValueList.php',
230
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Value\\Size' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/Value/Size.php',
231
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Value\\URL' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/Value/URL.php',
232
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Value\\Value' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/Value/Value.php',
233
+ 'ProfilePressVendor\\Sabberworm\\CSS\\Value\\ValueList' => __DIR__ . '/..' . '/sabberworm/php-css-parser/src/Value/ValueList.php',
234
  'ProfilePressVendor\\Stringable' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Stringable.php',
235
  'ProfilePressVendor\\Stripe\\Account' => __DIR__ . '/..' . '/stripe/stripe-php/lib/Account.php',
236
  'ProfilePressVendor\\Stripe\\AccountLink' => __DIR__ . '/..' . '/stripe/stripe-php/lib/AccountLink.php',
610
  public static function getInitializer(ClassLoader $loader)
611
  {
612
  return \Closure::bind(function () use ($loader) {
613
+ $loader->prefixLengthsPsr4 = ComposerStaticInitf80efe29f3ebb8c0557bf24a1ea3eedc::$prefixLengthsPsr4;
614
+ $loader->prefixDirsPsr4 = ComposerStaticInitf80efe29f3ebb8c0557bf24a1ea3eedc::$prefixDirsPsr4;
615
+ $loader->classMap = ComposerStaticInitf80efe29f3ebb8c0557bf24a1ea3eedc::$classMap;
616
 
617
  }, null, ClassLoader::class);
618
  }
third-party/vendor/composer/installed.json CHANGED
@@ -157,17 +157,17 @@
157
  },
158
  {
159
  "name": "nesbot\/carbon",
160
- "version": "2.62.1",
161
- "version_normalized": "2.62.1.0",
162
  "source": {
163
  "type": "git",
164
  "url": "https:\/\/github.com\/briannesbitt\/Carbon.git",
165
- "reference": "01bc4cdefe98ef58d1f9cb31bdbbddddf2a88f7a"
166
  },
167
  "dist": {
168
  "type": "zip",
169
- "url": "https:\/\/api.github.com\/repos\/briannesbitt\/Carbon\/zipball\/01bc4cdefe98ef58d1f9cb31bdbbddddf2a88f7a",
170
- "reference": "01bc4cdefe98ef58d1f9cb31bdbbddddf2a88f7a",
171
  "shasum": ""
172
  },
173
  "require": {
@@ -190,7 +190,7 @@
190
  "phpunit\/phpunit": "^7.5.20 || ^8.5.26 || ^9.5.20",
191
  "squizlabs\/php_codesniffer": "^3.4"
192
  },
193
- "time": "2022-09-02T07:48:13+00:00",
194
  "bin": [
195
  "bin\/carbon"
196
  ],
@@ -262,42 +262,42 @@
262
  },
263
  {
264
  "name": "pelago\/emogrifier",
265
- "version": "v3.1.0",
266
- "version_normalized": "3.1.0.0",
267
  "source": {
268
  "type": "git",
269
  "url": "https:\/\/github.com\/MyIntervals\/emogrifier.git",
270
- "reference": "f6a5c7d44612d86c3901c93f1592f5440e6b2cd8"
271
  },
272
  "dist": {
273
  "type": "zip",
274
- "url": "https:\/\/api.github.com\/repos\/MyIntervals\/emogrifier\/zipball\/f6a5c7d44612d86c3901c93f1592f5440e6b2cd8",
275
- "reference": "f6a5c7d44612d86c3901c93f1592f5440e6b2cd8",
276
  "shasum": ""
277
  },
278
  "require": {
279
  "ext-dom": "*",
280
  "ext-libxml": "*",
281
- "php": "^5.6 || ~7.0 || ~7.1 || ~7.2 || ~7.3 || ~7.4",
282
- "symfony\/css-selector": "^2.8 || ^3.0 || ^4.0 || ^5.0"
 
283
  },
284
  "require-dev": {
285
- "friendsofphp\/php-cs-fixer": "^2.15.3",
286
- "phpmd\/phpmd": "^2.7.0",
287
- "phpunit\/phpunit": "^5.7.27",
288
- "squizlabs\/php_codesniffer": "^3.5.0"
289
  },
290
- "time": "2019-12-26T19:37:31+00:00",
291
  "type": "library",
292
  "extra": {
293
  "branch-alias": {
294
- "dev-master": "4.0.x-dev"
295
  }
296
  },
297
  "installation-source": "dist",
298
  "autoload": {
299
  "psr-4": {
300
- "ProfilePressVendor\\Pelago\\": "src\/"
301
  }
302
  },
303
  "notification-url": "https:\/\/packagist.org\/downloads\/",
@@ -341,6 +341,62 @@
341
  },
342
  "install-path": "..\/pelago\/emogrifier"
343
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
344
  {
345
  "name": "sniccowp\/php-scoper-wordpress-excludes",
346
  "version": "6.0.1",
@@ -525,17 +581,17 @@
525
  },
526
  {
527
  "name": "symfony\/polyfill-mbstring",
528
- "version": "v1.26.0",
529
- "version_normalized": "1.26.0.0",
530
  "source": {
531
  "type": "git",
532
  "url": "https:\/\/github.com\/symfony\/polyfill-mbstring.git",
533
- "reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e"
534
  },
535
  "dist": {
536
  "type": "zip",
537
- "url": "https:\/\/api.github.com\/repos\/symfony\/polyfill-mbstring\/zipball\/9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e",
538
- "reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e",
539
  "shasum": ""
540
  },
541
  "require": {
@@ -547,11 +603,11 @@
547
  "suggest": {
548
  "ext-mbstring": "For best performance"
549
  },
550
- "time": "2022-05-24T11:49:31+00:00",
551
  "type": "library",
552
  "extra": {
553
  "branch-alias": {
554
- "dev-main": "1.26-dev"
555
  },
556
  "thanks": {
557
  "name": "symfony\/polyfill",
@@ -591,7 +647,7 @@
591
  "shim"
592
  ],
593
  "support": {
594
- "source": "https:\/\/github.com\/symfony\/polyfill-mbstring\/tree\/v1.26.0"
595
  },
596
  "funding": [
597
  {
@@ -611,27 +667,27 @@
611
  },
612
  {
613
  "name": "symfony\/polyfill-php80",
614
- "version": "v1.26.0",
615
- "version_normalized": "1.26.0.0",
616
  "source": {
617
  "type": "git",
618
  "url": "https:\/\/github.com\/symfony\/polyfill-php80.git",
619
- "reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace"
620
  },
621
  "dist": {
622
  "type": "zip",
623
- "url": "https:\/\/api.github.com\/repos\/symfony\/polyfill-php80\/zipball\/cfa0ae98841b9e461207c13ab093d76b0fa7bace",
624
- "reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace",
625
  "shasum": ""
626
  },
627
  "require": {
628
  "php": ">=7.1"
629
  },
630
- "time": "2022-05-10T07:21:04+00:00",
631
  "type": "library",
632
  "extra": {
633
  "branch-alias": {
634
- "dev-main": "1.26-dev"
635
  },
636
  "thanks": {
637
  "name": "symfony\/polyfill",
@@ -677,7 +733,7 @@
677
  "shim"
678
  ],
679
  "support": {
680
- "source": "https:\/\/github.com\/symfony\/polyfill-php80\/tree\/v1.26.0"
681
  },
682
  "funding": [
683
  {
157
  },
158
  {
159
  "name": "nesbot\/carbon",
160
+ "version": "2.63.0",
161
+ "version_normalized": "2.63.0.0",
162
  "source": {
163
  "type": "git",
164
  "url": "https:\/\/github.com\/briannesbitt\/Carbon.git",
165
+ "reference": "ad35dd71a6a212b98e4b87e97389b6fa85f0e347"
166
  },
167
  "dist": {
168
  "type": "zip",
169
+ "url": "https:\/\/api.github.com\/repos\/briannesbitt\/Carbon\/zipball\/ad35dd71a6a212b98e4b87e97389b6fa85f0e347",
170
+ "reference": "ad35dd71a6a212b98e4b87e97389b6fa85f0e347",
171
  "shasum": ""
172
  },
173
  "require": {
190
  "phpunit\/phpunit": "^7.5.20 || ^8.5.26 || ^9.5.20",
191
  "squizlabs\/php_codesniffer": "^3.4"
192
  },
193
+ "time": "2022-10-30T18:34:28+00:00",
194
  "bin": [
195
  "bin\/carbon"
196
  ],
262
  },
263
  {
264
  "name": "pelago\/emogrifier",
265
+ "version": "v6.0.0",
266
+ "version_normalized": "6.0.0.0",
267
  "source": {
268
  "type": "git",
269
  "url": "https:\/\/github.com\/MyIntervals\/emogrifier.git",
270
+ "reference": "aa72d5407efac118f3896bcb995a2cba793df0ae"
271
  },
272
  "dist": {
273
  "type": "zip",
274
+ "url": "https:\/\/api.github.com\/repos\/MyIntervals\/emogrifier\/zipball\/aa72d5407efac118f3896bcb995a2cba793df0ae",
275
+ "reference": "aa72d5407efac118f3896bcb995a2cba793df0ae",
276
  "shasum": ""
277
  },
278
  "require": {
279
  "ext-dom": "*",
280
  "ext-libxml": "*",
281
+ "php": "~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0",
282
+ "sabberworm\/php-css-parser": "^8.3.1",
283
+ "symfony\/css-selector": "^3.4.32 || ^4.4 || ^5.3 || ^6.0"
284
  },
285
  "require-dev": {
286
+ "php-parallel-lint\/php-parallel-lint": "^1.3.0",
287
+ "phpunit\/phpunit": "^8.5.16",
288
+ "rawr\/cross-data-providers": "^2.3.0"
 
289
  },
290
+ "time": "2021-09-16T16:22:04+00:00",
291
  "type": "library",
292
  "extra": {
293
  "branch-alias": {
294
+ "dev-main": "7.0.x-dev"
295
  }
296
  },
297
  "installation-source": "dist",
298
  "autoload": {
299
  "psr-4": {
300
+ "ProfilePressVendor\\Pelago\\Emogrifier\\": "src\/"
301
  }
302
  },
303
  "notification-url": "https:\/\/packagist.org\/downloads\/",
341
  },
342
  "install-path": "..\/pelago\/emogrifier"
343
  },
344
+ {
345
+ "name": "sabberworm\/php-css-parser",
346
+ "version": "8.4.0",
347
+ "version_normalized": "8.4.0.0",
348
+ "source": {
349
+ "type": "git",
350
+ "url": "https:\/\/github.com\/sabberworm\/PHP-CSS-Parser.git",
351
+ "reference": "e41d2140031d533348b2192a83f02d8dd8a71d30"
352
+ },
353
+ "dist": {
354
+ "type": "zip",
355
+ "url": "https:\/\/api.github.com\/repos\/sabberworm\/PHP-CSS-Parser\/zipball\/e41d2140031d533348b2192a83f02d8dd8a71d30",
356
+ "reference": "e41d2140031d533348b2192a83f02d8dd8a71d30",
357
+ "shasum": ""
358
+ },
359
+ "require": {
360
+ "ext-iconv": "*",
361
+ "php": ">=5.6.20"
362
+ },
363
+ "require-dev": {
364
+ "codacy\/coverage": "^1.4",
365
+ "phpunit\/phpunit": "^4.8.36"
366
+ },
367
+ "suggest": {
368
+ "ext-mbstring": "for parsing UTF-8 CSS"
369
+ },
370
+ "time": "2021-12-11T13:40:54+00:00",
371
+ "type": "library",
372
+ "installation-source": "dist",
373
+ "autoload": {
374
+ "psr-4": {
375
+ "ProfilePressVendor\\Sabberworm\\CSS\\": "src\/"
376
+ }
377
+ },
378
+ "notification-url": "https:\/\/packagist.org\/downloads\/",
379
+ "license": [
380
+ "MIT"
381
+ ],
382
+ "authors": [
383
+ {
384
+ "name": "Raphael Schweikert"
385
+ }
386
+ ],
387
+ "description": "Parser for CSS Files written in PHP",
388
+ "homepage": "https:\/\/www.sabberworm.com\/blog\/2010\/6\/10\/php-css-parser",
389
+ "keywords": [
390
+ "css",
391
+ "parser",
392
+ "stylesheet"
393
+ ],
394
+ "support": {
395
+ "issues": "https:\/\/github.com\/sabberworm\/PHP-CSS-Parser\/issues",
396
+ "source": "https:\/\/github.com\/sabberworm\/PHP-CSS-Parser\/tree\/8.4.0"
397
+ },
398
+ "install-path": "..\/sabberworm\/php-css-parser"
399
+ },
400
  {
401
  "name": "sniccowp\/php-scoper-wordpress-excludes",
402
  "version": "6.0.1",
581
  },
582
  {
583
  "name": "symfony\/polyfill-mbstring",
584
+ "version": "v1.27.0",
585
+ "version_normalized": "1.27.0.0",
586
  "source": {
587
  "type": "git",
588
  "url": "https:\/\/github.com\/symfony\/polyfill-mbstring.git",
589
+ "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534"
590
  },
591
  "dist": {
592
  "type": "zip",
593
+ "url": "https:\/\/api.github.com\/repos\/symfony\/polyfill-mbstring\/zipball\/8ad114f6b39e2c98a8b0e3bd907732c207c2b534",
594
+ "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534",
595
  "shasum": ""
596
  },
597
  "require": {
603
  "suggest": {
604
  "ext-mbstring": "For best performance"
605
  },
606
+ "time": "2022-11-03T14:55:06+00:00",
607
  "type": "library",
608
  "extra": {
609
  "branch-alias": {
610
+ "dev-main": "1.27-dev"
611
  },
612
  "thanks": {
613
  "name": "symfony\/polyfill",
647
  "shim"
648
  ],
649
  "support": {
650
+ "source": "https:\/\/github.com\/symfony\/polyfill-mbstring\/tree\/v1.27.0"
651
  },
652
  "funding": [
653
  {
667
  },
668
  {
669
  "name": "symfony\/polyfill-php80",
670
+ "version": "v1.27.0",
671
+ "version_normalized": "1.27.0.0",
672
  "source": {
673
  "type": "git",
674
  "url": "https:\/\/github.com\/symfony\/polyfill-php80.git",
675
+ "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936"
676
  },
677
  "dist": {
678
  "type": "zip",
679
+ "url": "https:\/\/api.github.com\/repos\/symfony\/polyfill-php80\/zipball\/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936",
680
+ "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936",
681
  "shasum": ""
682
  },
683
  "require": {
684
  "php": ">=7.1"
685
  },
686
+ "time": "2022-11-03T14:55:06+00:00",
687
  "type": "library",
688
  "extra": {
689
  "branch-alias": {
690
+ "dev-main": "1.27-dev"
691
  },
692
  "thanks": {
693
  "name": "symfony\/polyfill",
733
  "shim"
734
  ],
735
  "support": {
736
+ "source": "https:\/\/github.com\/symfony\/polyfill-php80\/tree\/v1.27.0"
737
  },
738
  "funding": [
739
  {
third-party/vendor/composer/installed.php CHANGED
@@ -2,4 +2,4 @@
2
 
3
  namespace ProfilePressVendor;
4
 
5
- return array('root' => array('name' => '__root__', 'pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => '9f92ded774a56bcec45b9cdcf6cf0b36188bdbca', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev' => \true), 'versions' => array('__root__' => array('pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => '9f92ded774a56bcec45b9cdcf6cf0b36188bdbca', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev_requirement' => \false), 'barryvdh/composer-cleanup-plugin' => array('pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => '74d878666436c99f5b671b90312e85479afeedb0', 'type' => 'composer-plugin', 'install_path' => __DIR__ . '/../barryvdh/composer-cleanup-plugin', 'aliases' => array(0 => '0.1.x-dev'), 'dev_requirement' => \false), 'brick/math' => array('pretty_version' => '0.9.3', 'version' => '0.9.3.0', 'reference' => 'ca57d18f028f84f777b2168cd1911b0dee2343ae', 'type' => 'library', 'install_path' => __DIR__ . '/../brick/math', 'aliases' => array(), 'dev_requirement' => \false), 'collizo4sky/persist-admin-notices-dismissal' => array('pretty_version' => '1.4.4', 'version' => '1.4.4.0', 'reference' => '900739eb6b0ec0210465f5983a6d4e0e420289e4', 'type' => 'library', 'install_path' => __DIR__ . '/../collizo4sky/persist-admin-notices-dismissal', 'aliases' => array(), 'dev_requirement' => \false), 'nesbot/carbon' => array('pretty_version' => '2.62.1', 'version' => '2.62.1.0', 'reference' => '01bc4cdefe98ef58d1f9cb31bdbbddddf2a88f7a', 'type' => 'library', 'install_path' => __DIR__ . '/../nesbot/carbon', 'aliases' => array(), 'dev_requirement' => \false), 'pelago/emogrifier' => array('pretty_version' => 'v3.1.0', 'version' => '3.1.0.0', 'reference' => 'f6a5c7d44612d86c3901c93f1592f5440e6b2cd8', 'type' => 'library', 'install_path' => __DIR__ . '/../pelago/emogrifier', 'aliases' => array(), 'dev_requirement' => \false), 'sniccowp/php-scoper-wordpress-excludes' => array('pretty_version' => '6.0.1', 'version' => '6.0.1.0', 'reference' => '6fce87f9c5463223013745ec5489967198c11348', 'type' => 'library', 'install_path' => __DIR__ . '/../sniccowp/php-scoper-wordpress-excludes', 'aliases' => array(), 'dev_requirement' => \true), 'stripe/stripe-php' => array('pretty_version' => 'v7.128.0', 'version' => '7.128.0.0', 'reference' => 'c704949c49b72985c76cc61063aa26fefbd2724e', 'type' => 'library', 'install_path' => __DIR__ . '/../stripe/stripe-php', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/css-selector' => array('pretty_version' => 'v4.4.44', 'version' => '4.4.44.0', 'reference' => 'bd0a6737e48de45b4b0b7b6fc98c78404ddceaed', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/css-selector', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/polyfill-mbstring' => array('pretty_version' => 'v1.26.0', 'version' => '1.26.0.0', 'reference' => '9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-mbstring', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/polyfill-php80' => array('pretty_version' => 'v1.26.0', 'version' => '1.26.0.0', 'reference' => 'cfa0ae98841b9e461207c13ab093d76b0fa7bace', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-php80', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/translation' => array('pretty_version' => 'v4.4.47', 'version' => '4.4.47.0', 'reference' => '45036b1d53accc48fe9bab71ccd86d57eba0dd94', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/translation', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/translation-contracts' => array('pretty_version' => 'v1.1.13', 'version' => '1.1.13.0', 'reference' => '7462e5c4cb8b9cd152f992e8f10963b5641921f6', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/translation-contracts', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/translation-implementation' => array('dev_requirement' => \false, 'provided' => array(0 => '1.0|2.0'))));
2
 
3
  namespace ProfilePressVendor;
4
 
5
+ return array('root' => array('name' => '__root__', 'pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => '5ed00a93cd01062dd80f15c7f59e9469a356b0db', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev' => \true), 'versions' => array('__root__' => array('pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => '5ed00a93cd01062dd80f15c7f59e9469a356b0db', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev_requirement' => \false), 'barryvdh/composer-cleanup-plugin' => array('pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => '74d878666436c99f5b671b90312e85479afeedb0', 'type' => 'composer-plugin', 'install_path' => __DIR__ . '/../barryvdh/composer-cleanup-plugin', 'aliases' => array(0 => '0.1.x-dev'), 'dev_requirement' => \false), 'brick/math' => array('pretty_version' => '0.9.3', 'version' => '0.9.3.0', 'reference' => 'ca57d18f028f84f777b2168cd1911b0dee2343ae', 'type' => 'library', 'install_path' => __DIR__ . '/../brick/math', 'aliases' => array(), 'dev_requirement' => \false), 'collizo4sky/persist-admin-notices-dismissal' => array('pretty_version' => '1.4.4', 'version' => '1.4.4.0', 'reference' => '900739eb6b0ec0210465f5983a6d4e0e420289e4', 'type' => 'library', 'install_path' => __DIR__ . '/../collizo4sky/persist-admin-notices-dismissal', 'aliases' => array(), 'dev_requirement' => \false), 'nesbot/carbon' => array('pretty_version' => '2.63.0', 'version' => '2.63.0.0', 'reference' => 'ad35dd71a6a212b98e4b87e97389b6fa85f0e347', 'type' => 'library', 'install_path' => __DIR__ . '/../nesbot/carbon', 'aliases' => array(), 'dev_requirement' => \false), 'pelago/emogrifier' => array('pretty_version' => 'v6.0.0', 'version' => '6.0.0.0', 'reference' => 'aa72d5407efac118f3896bcb995a2cba793df0ae', 'type' => 'library', 'install_path' => __DIR__ . '/../pelago/emogrifier', 'aliases' => array(), 'dev_requirement' => \false), 'sabberworm/php-css-parser' => array('pretty_version' => '8.4.0', 'version' => '8.4.0.0', 'reference' => 'e41d2140031d533348b2192a83f02d8dd8a71d30', 'type' => 'library', 'install_path' => __DIR__ . '/../sabberworm/php-css-parser', 'aliases' => array(), 'dev_requirement' => \false), 'sniccowp/php-scoper-wordpress-excludes' => array('pretty_version' => '6.0.1', 'version' => '6.0.1.0', 'reference' => '6fce87f9c5463223013745ec5489967198c11348', 'type' => 'library', 'install_path' => __DIR__ . '/../sniccowp/php-scoper-wordpress-excludes', 'aliases' => array(), 'dev_requirement' => \true), 'stripe/stripe-php' => array('pretty_version' => 'v7.128.0', 'version' => '7.128.0.0', 'reference' => 'c704949c49b72985c76cc61063aa26fefbd2724e', 'type' => 'library', 'install_path' => __DIR__ . '/../stripe/stripe-php', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/css-selector' => array('pretty_version' => 'v4.4.44', 'version' => '4.4.44.0', 'reference' => 'bd0a6737e48de45b4b0b7b6fc98c78404ddceaed', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/css-selector', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/polyfill-mbstring' => array('pretty_version' => 'v1.27.0', 'version' => '1.27.0.0', 'reference' => '8ad114f6b39e2c98a8b0e3bd907732c207c2b534', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-mbstring', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/polyfill-php80' => array('pretty_version' => 'v1.27.0', 'version' => '1.27.0.0', 'reference' => '7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-php80', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/translation' => array('pretty_version' => 'v4.4.47', 'version' => '4.4.47.0', 'reference' => '45036b1d53accc48fe9bab71ccd86d57eba0dd94', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/translation', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/translation-contracts' => array('pretty_version' => 'v1.1.13', 'version' => '1.1.13.0', 'reference' => '7462e5c4cb8b9cd152f992e8f10963b5641921f6', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/translation-contracts', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/translation-implementation' => array('dev_requirement' => \false, 'provided' => array(0 => '1.0|2.0'))));
third-party/vendor/composer/platform_check.php CHANGED
@@ -4,8 +4,8 @@
4
 
5
  $issues = array();
6
 
7
- if (!(PHP_VERSION_ID >= 70108)) {
8
- $issues[] = 'Your Composer dependencies require a PHP version ">= 7.1.8". You are running ' . PHP_VERSION . '.';
9
  }
10
 
11
  if ($issues) {
4
 
5
  $issues = array();
6
 
7
+ if (!(PHP_VERSION_ID >= 70200)) {
8
+ $issues[] = 'Your Composer dependencies require a PHP version ">= 7.2.0". You are running ' . PHP_VERSION . '.';
9
  }
10
 
11
  if ($issues) {
third-party/vendor/nesbot/carbon/lazy/Carbon/PHPStan/AbstractMacroBuiltin.php CHANGED
@@ -11,6 +11,7 @@ declare (strict_types=1);
11
  */
12
  namespace ProfilePressVendor\Carbon\PHPStan;
13
 
 
14
  use ReflectionMethod;
15
  if (!\class_exists(AbstractReflectionMacro::class, \false)) {
16
  abstract class AbstractReflectionMacro extends AbstractMacro
@@ -20,6 +21,9 @@ if (!\class_exists(AbstractReflectionMacro::class, \false)) {
20
  */
21
  public function getReflection() : ?ReflectionMethod
22
  {
 
 
 
23
  return $this->reflectionFunction instanceof ReflectionMethod ? $this->reflectionFunction : null;
24
  }
25
  }
11
  */
12
  namespace ProfilePressVendor\Carbon\PHPStan;
13
 
14
+ use ProfilePressVendor\PHPStan\BetterReflection\Reflection;
15
  use ReflectionMethod;
16
  if (!\class_exists(AbstractReflectionMacro::class, \false)) {
17
  abstract class AbstractReflectionMacro extends AbstractMacro
21
  */
22
  public function getReflection() : ?ReflectionMethod
23
  {
24
+ if ($this->reflectionFunction instanceof Reflection\ReflectionMethod) {
25
+ return new Reflection\Adapter\ReflectionMethod($this->reflectionFunction);
26
+ }
27
  return $this->reflectionFunction instanceof ReflectionMethod ? $this->reflectionFunction : null;
28
  }
29
  }
third-party/vendor/nesbot/carbon/lazy/Carbon/PHPStan/AbstractMacroStatic.php CHANGED
@@ -24,6 +24,9 @@ if (!\class_exists(AbstractReflectionMacro::class, \false)) {
24
  if ($this->reflectionFunction instanceof Reflection\Adapter\ReflectionMethod) {
25
  return $this->reflectionFunction;
26
  }
 
 
 
27
  return $this->reflectionFunction instanceof ReflectionMethod ? new Reflection\Adapter\ReflectionMethod(Reflection\ReflectionMethod::createFromName($this->reflectionFunction->getDeclaringClass()->getName(), $this->reflectionFunction->getName())) : null;
28
  }
29
  }
24
  if ($this->reflectionFunction instanceof Reflection\Adapter\ReflectionMethod) {
25
  return $this->reflectionFunction;
26
  }
27
+ if ($this->reflectionFunction instanceof Reflection\ReflectionMethod) {
28
+ return new Reflection\Adapter\ReflectionMethod($this->reflectionFunction);
29
+ }
30
  return $this->reflectionFunction instanceof ReflectionMethod ? new Reflection\Adapter\ReflectionMethod(Reflection\ReflectionMethod::createFromName($this->reflectionFunction->getDeclaringClass()->getName(), $this->reflectionFunction->getName())) : null;
31
  }
32
  }
third-party/vendor/nesbot/carbon/lazy/Carbon/PHPStan/MacroStrongType.php CHANGED
@@ -19,7 +19,8 @@ if (!\class_exists(LazyMacro::class, \false)) {
19
  */
20
  public function getFileName() : ?string
21
  {
22
- return $this->reflectionFunction->getFileName();
 
23
  }
24
  /**
25
  * {@inheritdoc}
19
  */
20
  public function getFileName() : ?string
21
  {
22
+ $file = $this->reflectionFunction->getFileName();
23
+ return (($file ? \realpath($file) : null) ?: $file) ?: null;
24
  }
25
  /**
26
  * {@inheritdoc}
third-party/vendor/nesbot/carbon/lazy/Carbon/PHPStan/MacroWeakType.php CHANGED
@@ -21,7 +21,8 @@ if (!\class_exists(LazyMacro::class, \false)) {
21
  */
22
  public function getFileName()
23
  {
24
- return $this->reflectionFunction->getFileName();
 
25
  }
26
  /**
27
  * {@inheritdoc}
21
  */
22
  public function getFileName()
23
  {
24
+ $file = $this->reflectionFunction->getFileName();
25
+ return (($file ? \realpath($file) : null) ?: $file) ?: null;
26
  }
27
  /**
28
  * {@inheritdoc}
third-party/vendor/nesbot/carbon/src/Carbon/CarbonInterface.php CHANGED
@@ -701,7 +701,7 @@ interface CarbonInterface extends DateTimeInterface, JsonSerializable
701
  *
702
  * @return static
703
  */
704
- #[ReturnTypeWillChange]
705
  public static function __set_state($dump);
706
  /**
707
  * Returns the list of properties to dump on serialize() called on.
@@ -733,7 +733,7 @@ interface CarbonInterface extends DateTimeInterface, JsonSerializable
733
  *
734
  * @return static
735
  */
736
- #[ReturnTypeWillChange]
737
  public function add($unit, $value = 1, $overflow = null);
738
  /**
739
  * Add seconds to the instance using timestamp. Positive $value travels
@@ -1031,7 +1031,7 @@ interface CarbonInterface extends DateTimeInterface, JsonSerializable
1031
  *
1032
  * @return static|false
1033
  */
1034
- #[ReturnTypeWillChange]
1035
  public static function createFromFormat($format, $time, $tz = null);
1036
  /**
1037
  * Create a Carbon instance from a specific ISO format (same replacements as ->isoFormat()).
@@ -2024,7 +2024,7 @@ interface CarbonInterface extends DateTimeInterface, JsonSerializable
2024
  *
2025
  * @return array
2026
  */
2027
- #[ReturnTypeWillChange]
2028
  public static function getLastErrors();
2029
  /**
2030
  * Get the raw callable macro registered globally or locally for a given name.
@@ -2832,7 +2832,7 @@ interface CarbonInterface extends DateTimeInterface, JsonSerializable
2832
  *
2833
  * @return array|string
2834
  */
2835
- #[ReturnTypeWillChange]
2836
  public function jsonSerialize();
2837
  /**
2838
  * Modify to the last occurrence of a given day of the week
@@ -3120,7 +3120,7 @@ interface CarbonInterface extends DateTimeInterface, JsonSerializable
3120
  *
3121
  * @return static|false
3122
  */
3123
- #[ReturnTypeWillChange]
3124
  public function modify($modify);
3125
  /**
3126
  * Determines if the instance is not equal to another
@@ -3468,7 +3468,7 @@ interface CarbonInterface extends DateTimeInterface, JsonSerializable
3468
  *
3469
  * @return static
3470
  */
3471
- #[ReturnTypeWillChange]
3472
  public function setDate($year, $month, $day);
3473
  /**
3474
  * Set the year, month, and date for this instance to that of the passed instance.
@@ -3527,7 +3527,7 @@ interface CarbonInterface extends DateTimeInterface, JsonSerializable
3527
  *
3528
  * @return static
3529
  */
3530
- #[ReturnTypeWillChange]
3531
  public function setISODate($year, $week, $day = 1);
3532
  /**
3533
  * Set the translator for the current instance.
@@ -3616,7 +3616,7 @@ interface CarbonInterface extends DateTimeInterface, JsonSerializable
3616
  *
3617
  * @return static
3618
  */
3619
- #[ReturnTypeWillChange]
3620
  public function setTime($hour, $minute, $second = 0, $microseconds = 0);
3621
  /**
3622
  * Set the hour, minute, second and microseconds for this instance to that of the passed instance.
@@ -3643,7 +3643,7 @@ interface CarbonInterface extends DateTimeInterface, JsonSerializable
3643
  *
3644
  * @return static
3645
  */
3646
- #[ReturnTypeWillChange]
3647
  public function setTimestamp($unixTimestamp);
3648
  /**
3649
  * Set the instance's timezone from a string or object.
@@ -3652,7 +3652,7 @@ interface CarbonInterface extends DateTimeInterface, JsonSerializable
3652
  *
3653
  * @return static
3654
  */
3655
- #[ReturnTypeWillChange]
3656
  public function setTimezone($value);
3657
  /**
3658
  * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
@@ -3967,7 +3967,7 @@ interface CarbonInterface extends DateTimeInterface, JsonSerializable
3967
  *
3968
  * @return static
3969
  */
3970
- #[ReturnTypeWillChange]
3971
  public function sub($unit, $value = 1, $overflow = null);
3972
  public function subRealUnit($unit, $value = 1);
3973
  /**
701
  *
702
  * @return static
703
  */
704
+ #[\ReturnTypeWillChange]
705
  public static function __set_state($dump);
706
  /**
707
  * Returns the list of properties to dump on serialize() called on.
733
  *
734
  * @return static
735
  */
736
+ #[\ReturnTypeWillChange]
737
  public function add($unit, $value = 1, $overflow = null);
738
  /**
739
  * Add seconds to the instance using timestamp. Positive $value travels
1031
  *
1032
  * @return static|false
1033
  */
1034
+ #[\ReturnTypeWillChange]
1035
  public static function createFromFormat($format, $time, $tz = null);
1036
  /**
1037
  * Create a Carbon instance from a specific ISO format (same replacements as ->isoFormat()).
2024
  *
2025
  * @return array
2026
  */
2027
+ #[\ReturnTypeWillChange]
2028
  public static function getLastErrors();
2029
  /**
2030
  * Get the raw callable macro registered globally or locally for a given name.
2832
  *
2833
  * @return array|string
2834
  */
2835
+ #[\ReturnTypeWillChange]
2836
  public function jsonSerialize();
2837
  /**
2838
  * Modify to the last occurrence of a given day of the week
3120
  *
3121
  * @return static|false
3122
  */
3123
+ #[\ReturnTypeWillChange]
3124
  public function modify($modify);
3125
  /**
3126
  * Determines if the instance is not equal to another
3468
  *
3469
  * @return static
3470
  */
3471
+ #[\ReturnTypeWillChange]
3472
  public function setDate($year, $month, $day);
3473
  /**
3474
  * Set the year, month, and date for this instance to that of the passed instance.
3527
  *
3528
  * @return static
3529
  */
3530
+ #[\ReturnTypeWillChange]
3531
  public function setISODate($year, $week, $day = 1);
3532
  /**
3533
  * Set the translator for the current instance.
3616
  *
3617
  * @return static
3618
  */
3619
+ #[\ReturnTypeWillChange]
3620
  public function setTime($hour, $minute, $second = 0, $microseconds = 0);
3621
  /**
3622
  * Set the hour, minute, second and microseconds for this instance to that of the passed instance.
3643
  *
3644
  * @return static
3645
  */
3646
+ #[\ReturnTypeWillChange]
3647
  public function setTimestamp($unixTimestamp);
3648
  /**
3649
  * Set the instance's timezone from a string or object.
3652
  *
3653
  * @return static
3654
  */
3655
+ #[\ReturnTypeWillChange]
3656
  public function setTimezone($value);
3657
  /**
3658
  * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
3967
  *
3968
  * @return static
3969
  */
3970
+ #[\ReturnTypeWillChange]
3971
  public function sub($unit, $value = 1, $overflow = null);
3972
  public function subRealUnit($unit, $value = 1);
3973
  /**
third-party/vendor/nesbot/carbon/src/Carbon/CarbonInterval.php CHANGED
@@ -23,6 +23,7 @@ use ProfilePressVendor\Carbon\Traits\IntervalRounding;
23
  use ProfilePressVendor\Carbon\Traits\IntervalStep;
24
  use ProfilePressVendor\Carbon\Traits\Mixin;
25
  use ProfilePressVendor\Carbon\Traits\Options;
 
26
  use Closure;
27
  use DateInterval;
28
  use DateTimeInterface;
@@ -186,6 +187,7 @@ class CarbonInterval extends DateInterval implements CarbonConverterInterface
186
  Mixin::mixin as baseMixin;
187
  }
188
  use Options;
 
189
  /**
190
  * Interval spec period designators
191
  */
@@ -638,6 +640,8 @@ class CarbonInterval extends DateInterval implements CarbonConverterInterface
638
  case 'year':
639
  case 'years':
640
  case 'y':
 
 
641
  $years += $intValue;
642
  break;
643
  case 'quarter':
@@ -647,6 +651,7 @@ class CarbonInterval extends DateInterval implements CarbonConverterInterface
647
  case 'month':
648
  case 'months':
649
  case 'mo':
 
650
  $months += $intValue;
651
  break;
652
  case 'week':
@@ -832,7 +837,7 @@ class CarbonInterval extends DateInterval implements CarbonConverterInterface
832
  *
833
  * @link https://php.net/manual/en/dateinterval.createfromdatestring.php
834
  */
835
- #[ReturnTypeWillChange]
836
  public static function createFromDateString($time)
837
  {
838
  $interval = @parent::createFromDateString(\strtr($time, [',' => ' ', ' and ' => ' ']));
@@ -1446,7 +1451,7 @@ class CarbonInterval extends DateInterval implements CarbonConverterInterface
1446
  */
1447
  public function __toString()
1448
  {
1449
- $format = $this->localToStringFormat;
1450
  if (!$format) {
1451
  return $this->forHumans();
1452
  }
23
  use ProfilePressVendor\Carbon\Traits\IntervalStep;
24
  use ProfilePressVendor\Carbon\Traits\Mixin;
25
  use ProfilePressVendor\Carbon\Traits\Options;
26
+ use ProfilePressVendor\Carbon\Traits\ToStringFormat;
27
  use Closure;
28
  use DateInterval;
29
  use DateTimeInterface;
187
  Mixin::mixin as baseMixin;
188
  }
189
  use Options;
190
+ use ToStringFormat;
191
  /**
192
  * Interval spec period designators
193
  */
640
  case 'year':
641
  case 'years':
642
  case 'y':
643
+ case 'yr':
644
+ case 'yrs':
645
  $years += $intValue;
646
  break;
647
  case 'quarter':
651
  case 'month':
652
  case 'months':
653
  case 'mo':
654
+ case 'mos':
655
  $months += $intValue;
656
  break;
657
  case 'week':
837
  *
838
  * @link https://php.net/manual/en/dateinterval.createfromdatestring.php
839
  */
840
+ #[\ReturnTypeWillChange]
841
  public static function createFromDateString($time)
842
  {
843
  $interval = @parent::createFromDateString(\strtr($time, [',' => ' ', ' and ' => ' ']));
1451
  */
1452
  public function __toString()
1453
  {
1454
+ $format = $this->localToStringFormat ?? static::$toStringFormat;
1455
  if (!$format) {
1456
  return $this->forHumans();
1457
  }
third-party/vendor/nesbot/carbon/src/Carbon/CarbonPeriod.php CHANGED
@@ -23,6 +23,7 @@ use ProfilePressVendor\Carbon\Exceptions\UnreachableException;
23
  use ProfilePressVendor\Carbon\Traits\IntervalRounding;
24
  use ProfilePressVendor\Carbon\Traits\Mixin;
25
  use ProfilePressVendor\Carbon\Traits\Options;
 
26
  use Closure;
27
  use Countable;
28
  use DateInterval;
@@ -173,6 +174,7 @@ class CarbonPeriod implements Iterator, Countable, JsonSerializable
173
  Mixin::mixin as baseMixin;
174
  }
175
  use Options;
 
176
  /**
177
  * Built-in filter for limit by recurrences.
178
  *
@@ -1121,7 +1123,7 @@ class CarbonPeriod implements Iterator, Countable, JsonSerializable
1121
  *
1122
  * @return bool
1123
  */
1124
- #[ReturnTypeWillChange]
1125
  public function valid()
1126
  {
1127
  return $this->validateCurrentDate() === \true;
@@ -1131,7 +1133,7 @@ class CarbonPeriod implements Iterator, Countable, JsonSerializable
1131
  *
1132
  * @return int|null
1133
  */
1134
- #[ReturnTypeWillChange]
1135
  public function key()
1136
  {
1137
  return $this->valid() ? $this->key : null;
@@ -1141,7 +1143,7 @@ class CarbonPeriod implements Iterator, Countable, JsonSerializable
1141
  *
1142
  * @return CarbonInterface|null
1143
  */
1144
- #[ReturnTypeWillChange]
1145
  public function current()
1146
  {
1147
  return $this->valid() ? $this->prepareForReturn($this->current) : null;
@@ -1153,7 +1155,7 @@ class CarbonPeriod implements Iterator, Countable, JsonSerializable
1153
  *
1154
  * @return void
1155
  */
1156
- #[ReturnTypeWillChange]
1157
  public function next()
1158
  {
1159
  if ($this->current === null) {
@@ -1177,7 +1179,7 @@ class CarbonPeriod implements Iterator, Countable, JsonSerializable
1177
  *
1178
  * @return void
1179
  */
1180
- #[ReturnTypeWillChange]
1181
  public function rewind()
1182
  {
1183
  $this->key = 0;
@@ -1235,9 +1237,13 @@ class CarbonPeriod implements Iterator, Countable, JsonSerializable
1235
  */
1236
  public function toString()
1237
  {
 
 
 
 
1238
  $translator = [$this->dateClass, 'getTranslator']();
1239
  $parts = [];
1240
- $format = !$this->startDate->isStartOfDay() || $this->endDate && !$this->endDate->isStartOfDay() ? 'Y-m-d H:i:s' : 'Y-m-d';
1241
  if ($this->recurrences !== null) {
1242
  $parts[] = $this->translate('period_recurrences', [], $this->recurrences, $translator);
1243
  }
@@ -1336,7 +1342,7 @@ class CarbonPeriod implements Iterator, Countable, JsonSerializable
1336
  *
1337
  * @return int
1338
  */
1339
- #[ReturnTypeWillChange]
1340
  public function count()
1341
  {
1342
  return \count($this->toArray());
@@ -1899,7 +1905,7 @@ class CarbonPeriod implements Iterator, Countable, JsonSerializable
1899
  *
1900
  * @return CarbonInterface[]
1901
  */
1902
- #[ReturnTypeWillChange]
1903
  public function jsonSerialize()
1904
  {
1905
  return $this->toArray();
23
  use ProfilePressVendor\Carbon\Traits\IntervalRounding;
24
  use ProfilePressVendor\Carbon\Traits\Mixin;
25
  use ProfilePressVendor\Carbon\Traits\Options;
26
+ use ProfilePressVendor\Carbon\Traits\ToStringFormat;
27
  use Closure;
28
  use Countable;
29
  use DateInterval;
174
  Mixin::mixin as baseMixin;
175
  }
176
  use Options;
177
+ use ToStringFormat;
178
  /**
179
  * Built-in filter for limit by recurrences.
180
  *
1123
  *
1124
  * @return bool
1125
  */
1126
+ #[\ReturnTypeWillChange]
1127
  public function valid()
1128
  {
1129
  return $this->validateCurrentDate() === \true;
1133
  *
1134
  * @return int|null
1135
  */
1136
+ #[\ReturnTypeWillChange]
1137
  public function key()
1138
  {
1139
  return $this->valid() ? $this->key : null;
1143
  *
1144
  * @return CarbonInterface|null
1145
  */
1146
+ #[\ReturnTypeWillChange]
1147
  public function current()
1148
  {
1149
  return $this->valid() ? $this->prepareForReturn($this->current) : null;
1155
  *
1156
  * @return void
1157
  */
1158
+ #[\ReturnTypeWillChange]
1159
  public function next()
1160
  {
1161
  if ($this->current === null) {
1179
  *
1180
  * @return void
1181
  */
1182
+ #[\ReturnTypeWillChange]
1183
  public function rewind()
1184
  {
1185
  $this->key = 0;
1237
  */
1238
  public function toString()
1239
  {
1240
+ $format = $this->localToStringFormat ?? static::$toStringFormat;
1241
+ if ($format instanceof Closure) {
1242
+ return $format($this);
1243
+ }
1244
  $translator = [$this->dateClass, 'getTranslator']();
1245
  $parts = [];
1246
+ $format = $format ?? (!$this->startDate->isStartOfDay() || $this->endDate && !$this->endDate->isStartOfDay() ? 'Y-m-d H:i:s' : 'Y-m-d');
1247
  if ($this->recurrences !== null) {
1248
  $parts[] = $this->translate('period_recurrences', [], $this->recurrences, $translator);
1249
  }
1342
  *
1343
  * @return int
1344
  */
1345
+ #[\ReturnTypeWillChange]
1346
  public function count()
1347
  {
1348
  return \count($this->toArray());
1905
  *
1906
  * @return CarbonInterface[]
1907
  */
1908
+ #[\ReturnTypeWillChange]
1909
  public function jsonSerialize()
1910
  {
1911
  return $this->toArray();
third-party/vendor/nesbot/carbon/src/Carbon/Lang/de.php CHANGED
@@ -19,4 +19,4 @@ namespace ProfilePressVendor;
19
  * - Karag2006
20
  * - Pete Scopes (pdscopes)
21
  */
22
- return ['year' => ':count Jahr|:count Jahre', 'a_year' => 'ein Jahr|:count Jahre', 'y' => ':count J.', 'month' => ':count Monat|:count Monate', 'a_month' => 'ein Monat|:count Monate', 'm' => ':count Mon.', 'week' => ':count Woche|:count Wochen', 'a_week' => 'eine Woche|:count Wochen', 'w' => ':count Wo.', 'day' => ':count Tag|:count Tage', 'a_day' => 'ein Tag|:count Tage', 'd' => ':count Tg.', 'hour' => ':count Stunde|:count Stunden', 'a_hour' => 'eine Stunde|:count Stunden', 'h' => ':count Std.', 'minute' => ':count Minute|:count Minuten', 'a_minute' => 'eine Minute|:count Minuten', 'min' => ':count Min.', 'second' => ':count Sekunde|:count Sekunden', 'a_second' => 'ein paar Sekunden|:count Sekunden', 's' => ':count Sek.', 'millisecond' => ':count Millisekunde|:count Millisekunden', 'a_millisecond' => 'eine Millisekunde|:count Millisekunden', 'ms' => ':countms', 'microsecond' => ':count Mikrosekunde|:count Mikrosekunden', 'a_microsecond' => 'eine Mikrosekunde|:count Mikrosekunden', 'µs' => ':countµs', 'ago' => 'vor :time', 'from_now' => 'in :time', 'after' => ':time später', 'before' => ':time zuvor', 'year_from_now' => ':count Jahr|:count Jahren', 'month_from_now' => ':count Monat|:count Monaten', 'week_from_now' => ':count Woche|:count Wochen', 'day_from_now' => ':count Tag|:count Tagen', 'year_ago' => ':count Jahr|:count Jahren', 'month_ago' => ':count Monat|:count Monaten', 'week_ago' => ':count Woche|:count Wochen', 'day_ago' => ':count Tag|:count Tagen', 'a_year_from_now' => 'ein Jahr|:count Jahren', 'a_month_from_now' => 'ein Monat|:count Monaten', 'a_week_from_now' => 'eine Woche|:count Wochen', 'a_day_from_now' => 'ein Tag|:count Tagen', 'a_year_ago' => 'ein Jahr|:count Jahren', 'a_month_ago' => 'ein Monat|:count Monaten', 'a_week_ago' => 'eine Woche|:count Wochen', 'a_day_ago' => 'ein Tag|:count Tagen', 'diff_now' => 'Gerade eben', 'diff_today' => 'heute', 'diff_today_regexp' => 'heute(?:\\s+um)?', 'diff_yesterday' => 'Gestern', 'diff_yesterday_regexp' => 'gestern(?:\\s+um)?', 'diff_tomorrow' => 'Morgen', 'diff_tomorrow_regexp' => 'morgen(?:\\s+um)?', 'diff_before_yesterday' => 'Vorgestern', 'diff_after_tomorrow' => 'Übermorgen', 'formats' => ['LT' => 'HH:mm', 'LTS' => 'HH:mm:ss', 'L' => 'DD.MM.YYYY', 'LL' => 'D. MMMM YYYY', 'LLL' => 'D. MMMM YYYY HH:mm', 'LLLL' => 'dddd, D. MMMM YYYY HH:mm'], 'calendar' => ['sameDay' => '[heute um] LT [Uhr]', 'nextDay' => '[morgen um] LT [Uhr]', 'nextWeek' => 'dddd [um] LT [Uhr]', 'lastDay' => '[gestern um] LT [Uhr]', 'lastWeek' => '[letzten] dddd [um] LT [Uhr]', 'sameElse' => 'L'], 'months' => ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'], 'months_short' => ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'], 'weekdays' => ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'], 'weekdays_short' => ['So.', 'Mo.', 'Di.', 'Mi.', 'Do.', 'Fr.', 'Sa.'], 'weekdays_min' => ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'], 'ordinal' => ':number.', 'first_day_of_week' => 1, 'day_of_first_week_of_year' => 4, 'list' => [', ', ' und ']];
19
  * - Karag2006
20
  * - Pete Scopes (pdscopes)
21
  */
22
+ return ['year' => ':count Jahr|:count Jahre', 'a_year' => 'ein Jahr|:count Jahre', 'y' => ':count J.', 'month' => ':count Monat|:count Monate', 'a_month' => 'ein Monat|:count Monate', 'm' => ':count Mon.', 'week' => ':count Woche|:count Wochen', 'a_week' => 'eine Woche|:count Wochen', 'w' => ':count Wo.', 'day' => ':count Tag|:count Tage', 'a_day' => 'ein Tag|:count Tage', 'd' => ':count Tg.', 'hour' => ':count Stunde|:count Stunden', 'a_hour' => 'eine Stunde|:count Stunden', 'h' => ':count Std.', 'minute' => ':count Minute|:count Minuten', 'a_minute' => 'eine Minute|:count Minuten', 'min' => ':count Min.', 'second' => ':count Sekunde|:count Sekunden', 'a_second' => 'ein paar Sekunden|:count Sekunden', 's' => ':count Sek.', 'millisecond' => ':count Millisekunde|:count Millisekunden', 'a_millisecond' => 'eine Millisekunde|:count Millisekunden', 'ms' => ':countms', 'microsecond' => ':count Mikrosekunde|:count Mikrosekunden', 'a_microsecond' => 'eine Mikrosekunde|:count Mikrosekunden', 'µs' => ':countµs', 'ago' => 'vor :time', 'from_now' => 'in :time', 'after' => ':time später', 'before' => ':time zuvor', 'year_from_now' => ':count Jahr|:count Jahren', 'month_from_now' => ':count Monat|:count Monaten', 'week_from_now' => ':count Woche|:count Wochen', 'day_from_now' => ':count Tag|:count Tagen', 'year_ago' => ':count Jahr|:count Jahren', 'month_ago' => ':count Monat|:count Monaten', 'week_ago' => ':count Woche|:count Wochen', 'day_ago' => ':count Tag|:count Tagen', 'a_year_from_now' => 'ein Jahr|:count Jahren', 'a_month_from_now' => 'ein Monat|:count Monaten', 'a_week_from_now' => 'eine Woche|:count Wochen', 'a_day_from_now' => 'ein Tag|:count Tagen', 'a_year_ago' => 'ein Jahr|:count Jahren', 'a_month_ago' => 'ein Monat|:count Monaten', 'a_week_ago' => 'eine Woche|:count Wochen', 'a_day_ago' => 'ein Tag|:count Tagen', 'diff_now' => 'Gerade eben', 'diff_today' => 'heute', 'diff_today_regexp' => 'heute(?:\\s+um)?', 'diff_yesterday' => 'Gestern', 'diff_yesterday_regexp' => 'gestern(?:\\s+um)?', 'diff_tomorrow' => 'Morgen', 'diff_tomorrow_regexp' => 'morgen(?:\\s+um)?', 'diff_before_yesterday' => 'Vorgestern', 'diff_after_tomorrow' => 'Übermorgen', 'formats' => ['LT' => 'HH:mm', 'LTS' => 'HH:mm:ss', 'L' => 'DD.MM.YYYY', 'LL' => 'D. MMMM YYYY', 'LLL' => 'D. MMMM YYYY HH:mm', 'LLLL' => 'dddd, D. MMMM YYYY HH:mm'], 'calendar' => ['sameDay' => '[heute um] LT [Uhr]', 'nextDay' => '[morgen um] LT [Uhr]', 'nextWeek' => 'dddd [um] LT [Uhr]', 'lastDay' => '[gestern um] LT [Uhr]', 'lastWeek' => '[letzten] dddd [um] LT [Uhr]', 'sameElse' => 'L'], 'months' => ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'], 'months_short' => ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'], 'weekdays' => ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'], 'weekdays_short' => ['So.', 'Mo.', 'Di.', 'Mi.', 'Do.', 'Fr.', 'Sa.'], 'weekdays_min' => ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'], 'ordinal' => ':number.', 'first_day_of_week' => 1, 'day_of_first_week_of_year' => 4, 'list' => [', ', ' und '], 'ordinal_words' => ['of' => 'im', 'first' => 'erster', 'second' => 'zweiter', 'third' => 'dritter', 'fourth' => 'vierten', 'fifth' => 'fünfter', 'last' => 'letzten']];
third-party/vendor/nesbot/carbon/src/Carbon/Lang/es.php CHANGED
@@ -27,6 +27,7 @@ namespace ProfilePressVendor;
27
  * - quinterocesar
28
  * - Daniel Commesse Liévanos (danielcommesse)
29
  * - Pete Scopes (pdscopes)
 
30
  */
31
  use ProfilePressVendor\Carbon\CarbonInterface;
32
  return ['year' => ':count año|:count años', 'a_year' => 'un año|:count años', 'y' => ':count año|:count años', 'month' => ':count mes|:count meses', 'a_month' => 'un mes|:count meses', 'm' => ':count mes|:count meses', 'week' => ':count semana|:count semanas', 'a_week' => 'una semana|:count semanas', 'w' => ':countsem', 'day' => ':count día|:count días', 'a_day' => 'un día|:count días', 'd' => ':countd', 'hour' => ':count hora|:count horas', 'a_hour' => 'una hora|:count horas', 'h' => ':counth', 'minute' => ':count minuto|:count minutos', 'a_minute' => 'un minuto|:count minutos', 'min' => ':countm', 'second' => ':count segundo|:count segundos', 'a_second' => 'unos segundos|:count segundos', 's' => ':counts', 'millisecond' => ':count milisegundo|:count milisegundos', 'a_millisecond' => 'un milisegundo|:count milisegundos', 'ms' => ':countms', 'microsecond' => ':count microsegundo|:count microsegundos', 'a_microsecond' => 'un microsegundo|:count microsegundos', 'µs' => ':countµs', 'ago' => 'hace :time', 'from_now' => 'en :time', 'after' => ':time después', 'before' => ':time antes', 'diff_now' => 'ahora mismo', 'diff_today' => 'hoy', 'diff_today_regexp' => 'hoy(?:\\s+a)?(?:\\s+las)?', 'diff_yesterday' => 'ayer', 'diff_yesterday_regexp' => 'ayer(?:\\s+a)?(?:\\s+las)?', 'diff_tomorrow' => 'mañana', 'diff_tomorrow_regexp' => 'mañana(?:\\s+a)?(?:\\s+las)?', 'diff_before_yesterday' => 'anteayer', 'diff_after_tomorrow' => 'pasado mañana', 'formats' => ['LT' => 'H:mm', 'LTS' => 'H:mm:ss', 'L' => 'DD/MM/YYYY', 'LL' => 'D [de] MMMM [de] YYYY', 'LLL' => 'D [de] MMMM [de] YYYY H:mm', 'LLLL' => 'dddd, D [de] MMMM [de] YYYY H:mm'], 'calendar' => ['sameDay' => function (CarbonInterface $current) {
@@ -39,4 +40,4 @@ return ['year' => ':count año|:count años', 'a_year' => 'un año|:count años'
39
  return '[ayer a la' . ($current->hour !== 1 ? 's' : '') . '] LT';
40
  }, 'lastWeek' => function (CarbonInterface $current) {
41
  return '[el] dddd [pasado a la' . ($current->hour !== 1 ? 's' : '') . '] LT';
42
- }, 'sameElse' => 'L'], 'months' => ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], 'months_short' => ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', 'oct', 'nov', 'dic'], 'mmm_suffix' => '.', 'ordinal' => ':numberº', 'weekdays' => ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], 'weekdays_short' => ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], 'weekdays_min' => ['do', 'lu', 'ma', 'mi', 'ju', 'vi', 'sá'], 'first_day_of_week' => 1, 'day_of_first_week_of_year' => 4, 'list' => [', ', ' y '], 'meridiem' => ['a. m.', 'p. m.']];
27
  * - quinterocesar
28
  * - Daniel Commesse Liévanos (danielcommesse)
29
  * - Pete Scopes (pdscopes)
30
+ * - gam04
31
  */
32
  use ProfilePressVendor\Carbon\CarbonInterface;
33
  return ['year' => ':count año|:count años', 'a_year' => 'un año|:count años', 'y' => ':count año|:count años', 'month' => ':count mes|:count meses', 'a_month' => 'un mes|:count meses', 'm' => ':count mes|:count meses', 'week' => ':count semana|:count semanas', 'a_week' => 'una semana|:count semanas', 'w' => ':countsem', 'day' => ':count día|:count días', 'a_day' => 'un día|:count días', 'd' => ':countd', 'hour' => ':count hora|:count horas', 'a_hour' => 'una hora|:count horas', 'h' => ':counth', 'minute' => ':count minuto|:count minutos', 'a_minute' => 'un minuto|:count minutos', 'min' => ':countm', 'second' => ':count segundo|:count segundos', 'a_second' => 'unos segundos|:count segundos', 's' => ':counts', 'millisecond' => ':count milisegundo|:count milisegundos', 'a_millisecond' => 'un milisegundo|:count milisegundos', 'ms' => ':countms', 'microsecond' => ':count microsegundo|:count microsegundos', 'a_microsecond' => 'un microsegundo|:count microsegundos', 'µs' => ':countµs', 'ago' => 'hace :time', 'from_now' => 'en :time', 'after' => ':time después', 'before' => ':time antes', 'diff_now' => 'ahora mismo', 'diff_today' => 'hoy', 'diff_today_regexp' => 'hoy(?:\\s+a)?(?:\\s+las)?', 'diff_yesterday' => 'ayer', 'diff_yesterday_regexp' => 'ayer(?:\\s+a)?(?:\\s+las)?', 'diff_tomorrow' => 'mañana', 'diff_tomorrow_regexp' => 'mañana(?:\\s+a)?(?:\\s+las)?', 'diff_before_yesterday' => 'anteayer', 'diff_after_tomorrow' => 'pasado mañana', 'formats' => ['LT' => 'H:mm', 'LTS' => 'H:mm:ss', 'L' => 'DD/MM/YYYY', 'LL' => 'D [de] MMMM [de] YYYY', 'LLL' => 'D [de] MMMM [de] YYYY H:mm', 'LLLL' => 'dddd, D [de] MMMM [de] YYYY H:mm'], 'calendar' => ['sameDay' => function (CarbonInterface $current) {
40
  return '[ayer a la' . ($current->hour !== 1 ? 's' : '') . '] LT';
41
  }, 'lastWeek' => function (CarbonInterface $current) {
42
  return '[el] dddd [pasado a la' . ($current->hour !== 1 ? 's' : '') . '] LT';
43
+ }, 'sameElse' => 'L'], 'months' => ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], 'months_short' => ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', 'oct', 'nov', 'dic'], 'mmm_suffix' => '.', 'ordinal' => ':numberº', 'weekdays' => ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], 'weekdays_short' => ['dom.', 'lun.', 'mar.', 'mié.', 'jue.', 'vie.', 'sáb.'], 'weekdays_min' => ['do', 'lu', 'ma', 'mi', 'ju', 'vi', 'sá'], 'first_day_of_week' => 1, 'day_of_first_week_of_year' => 4, 'list' => [', ', ' y '], 'meridiem' => ['a. m.', 'p. m.'], 'ordinal_words' => ['of' => 'de', 'first' => 'primer', 'second' => 'segundo', 'third' => 'tercer', 'fourth' => 'cuarto', 'fifth' => 'quinto', 'last' => 'último']];
third-party/vendor/nesbot/carbon/src/Carbon/Lang/fi.php CHANGED
@@ -37,4 +37,4 @@ namespace ProfilePressVendor;
37
  * - Tomi Mynttinen (Pikseli)
38
  * - Petteri (powergrip)
39
  */
40
- return ['year' => ':count vuosi|:count vuotta', 'y' => ':count v', 'month' => ':count kuukausi|:count kuukautta', 'm' => ':count kk', 'week' => ':count viikko|:count viikkoa', 'w' => ':count vk', 'day' => ':count päivä|:count päivää', 'd' => ':count pv', 'hour' => ':count tunti|:count tuntia', 'h' => ':count t', 'minute' => ':count minuutti|:count minuuttia', 'min' => ':count min', 'second' => ':count sekunti|:count sekuntia', 'a_second' => 'muutama sekunti|:count sekuntia', 's' => ':count s', 'ago' => ':time sitten', 'from_now' => ':time päästä', 'year_from_now' => ':count vuoden', 'month_from_now' => ':count kuukauden', 'week_from_now' => ':count viikon', 'day_from_now' => ':count päivän', 'hour_from_now' => ':count tunnin', 'minute_from_now' => ':count minuutin', 'second_from_now' => ':count sekunnin', 'after' => ':time sen jälkeen', 'before' => ':time ennen', 'first_day_of_week' => 1, 'day_of_first_week_of_year' => 4, 'list' => [', ', ' ja '], 'diff_now' => 'nyt', 'diff_yesterday' => 'eilen', 'diff_tomorrow' => 'huomenna', 'formats' => ['LT' => 'HH.mm', 'LTS' => 'HH.mm:ss', 'L' => 'D.M.YYYY', 'LL' => 'dddd D. MMMM[ta] YYYY', 'LLL' => 'D.MM. HH.mm', 'LLLL' => 'D. MMMM[ta] YYYY HH.mm'], 'weekdays' => ['sunnuntai', 'maanantai', 'tiistai', 'keskiviikko', 'torstai', 'perjantai', 'lauantai'], 'weekdays_short' => ['su', 'ma', 'ti', 'ke', 'to', 'pe', 'la'], 'weekdays_min' => ['su', 'ma', 'ti', 'ke', 'to', 'pe', 'la'], 'months' => ['tammikuu', 'helmikuu', 'maaliskuu', 'huhtikuu', 'toukokuu', 'kesäkuu', 'heinäkuu', 'elokuu', 'syyskuu', 'lokakuu', 'marraskuu', 'joulukuu'], 'months_short' => ['tammi', 'helmi', 'maalis', 'huhti', 'touko', 'kesä', 'heinä', 'elo', 'syys', 'loka', 'marras', 'joulu'], 'meridiem' => ['aamupäivä', 'iltapäivä']];
37
  * - Tomi Mynttinen (Pikseli)
38
  * - Petteri (powergrip)
39
  */
40
+ return ['year' => ':count vuosi|:count vuotta', 'y' => ':count v', 'month' => ':count kuukausi|:count kuukautta', 'm' => ':count kk', 'week' => ':count viikko|:count viikkoa', 'w' => ':count vk', 'day' => ':count päivä|:count päivää', 'd' => ':count pv', 'hour' => ':count tunti|:count tuntia', 'h' => ':count t', 'minute' => ':count minuutti|:count minuuttia', 'min' => ':count min', 'second' => ':count sekunti|:count sekuntia', 'a_second' => 'muutama sekunti|:count sekuntia', 's' => ':count s', 'ago' => ':time sitten', 'from_now' => ':time päästä', 'year_from_now' => ':count vuoden', 'month_from_now' => ':count kuukauden', 'week_from_now' => ':count viikon', 'day_from_now' => ':count päivän', 'hour_from_now' => ':count tunnin', 'minute_from_now' => ':count minuutin', 'second_from_now' => ':count sekunnin', 'after' => ':time sen jälkeen', 'before' => ':time ennen', 'first_day_of_week' => 1, 'day_of_first_week_of_year' => 4, 'list' => [', ', ' ja '], 'diff_now' => 'nyt', 'diff_yesterday' => 'eilen', 'diff_tomorrow' => 'huomenna', 'formats' => ['LT' => 'HH.mm', 'LTS' => 'HH.mm:ss', 'L' => 'D.M.YYYY', 'LL' => 'dddd D. MMMM[ta] YYYY', 'll' => 'ddd D. MMM YYYY', 'LLL' => 'D.MM. HH.mm', 'LLLL' => 'D. MMMM[ta] YYYY HH.mm', 'llll' => 'D. MMM YY HH.mm'], 'weekdays' => ['sunnuntai', 'maanantai', 'tiistai', 'keskiviikko', 'torstai', 'perjantai', 'lauantai'], 'weekdays_short' => ['su', 'ma', 'ti', 'ke', 'to', 'pe', 'la'], 'weekdays_min' => ['su', 'ma', 'ti', 'ke', 'to', 'pe', 'la'], 'months' => ['tammikuu', 'helmikuu', 'maaliskuu', 'huhtikuu', 'toukokuu', 'kesäkuu', 'heinäkuu', 'elokuu', 'syyskuu', 'lokakuu', 'marraskuu', 'joulukuu'], 'months_short' => ['tammi', 'helmi', 'maalis', 'huhti', 'touko', 'kesä', 'heinä', 'elo', 'syys', 'loka', 'marras', 'joulu'], 'meridiem' => ['aamupäivä', 'iltapäivä']];
third-party/vendor/nesbot/carbon/src/Carbon/Lang/fr.php CHANGED
@@ -40,4 +40,4 @@ return ['year' => ':count an|:count ans', 'a_year' => 'un an|:count ans', 'y' =>
40
  case 'W':
41
  return $number . ($number === 1 ? 're' : 'e');
42
  }
43
- }, 'first_day_of_week' => 1, 'day_of_first_week_of_year' => 4, 'list' => [', ', ' et ']];
40
  case 'W':
41
  return $number . ($number === 1 ? 're' : 'e');
42
  }
43
+ }, 'first_day_of_week' => 1, 'day_of_first_week_of_year' => 4, 'list' => [', ', ' et '], 'ordinal_words' => ['of' => 'de', 'first' => 'premier', 'second' => 'deuxième', 'third' => 'troisième', 'fourth' => 'quatrième', 'fifth' => 'cinquième', 'last' => 'dernier']];
third-party/vendor/nesbot/carbon/src/Carbon/Lang/it.php CHANGED
@@ -33,4 +33,4 @@ return ['year' => ':count anno|:count anni', 'a_year' => 'un anno|:count anni',
33
  default:
34
  return '[lo scorso] dddd [alle] LT';
35
  }
36
- }, 'sameElse' => 'L'], 'ordinal' => ':numberº', 'months' => ['gennaio', 'febbraio', 'marzo', 'aprile', 'maggio', 'giugno', 'luglio', 'agosto', 'settembre', 'ottobre', 'novembre', 'dicembre'], 'months_short' => ['gen', 'feb', 'mar', 'apr', 'mag', 'giu', 'lug', 'ago', 'set', 'ott', 'nov', 'dic'], 'weekdays' => ['domenica', 'lunedì', 'martedì', 'mercoledì', 'giovedì', 'venerdì', 'sabato'], 'weekdays_short' => ['dom', 'lun', 'mar', 'mer', 'gio', 'ven', 'sab'], 'weekdays_min' => ['do', 'lu', 'ma', 'me', 'gi', 've', 'sa'], 'first_day_of_week' => 1, 'day_of_first_week_of_year' => 4, 'list' => [', ', ' e ']];
33
  default:
34
  return '[lo scorso] dddd [alle] LT';
35
  }
36
+ }, 'sameElse' => 'L'], 'ordinal' => ':numberº', 'months' => ['gennaio', 'febbraio', 'marzo', 'aprile', 'maggio', 'giugno', 'luglio', 'agosto', 'settembre', 'ottobre', 'novembre', 'dicembre'], 'months_short' => ['gen', 'feb', 'mar', 'apr', 'mag', 'giu', 'lug', 'ago', 'set', 'ott', 'nov', 'dic'], 'weekdays' => ['domenica', 'lunedì', 'martedì', 'mercoledì', 'giovedì', 'venerdì', 'sabato'], 'weekdays_short' => ['dom', 'lun', 'mar', 'mer', 'gio', 'ven', 'sab'], 'weekdays_min' => ['do', 'lu', 'ma', 'me', 'gi', 've', 'sa'], 'first_day_of_week' => 1, 'day_of_first_week_of_year' => 4, 'list' => [', ', ' e '], 'ordinal_words' => ['of' => 'di', 'first' => 'primo', 'second' => 'secondo', 'third' => 'terzo', 'fourth' => 'quarto', 'fifth' => 'quinto', 'last' => 'ultimo']];
third-party/vendor/nesbot/carbon/src/Carbon/Lang/lv.php CHANGED
@@ -82,4 +82,4 @@ return ['ago' => function ($time) use($transformDiff) {
82
  return '[' . $daysOfWeekLocativum[$current->dayOfWeek] . '] [plkst.] LT';
83
  }, 'lastDay' => '[vakar] [plkst.] LT', 'lastWeek' => function (CarbonInterface $current) use($daysOfWeekLocativum) {
84
  return '[pagājušo] [' . $daysOfWeekLocativum[$current->dayOfWeek] . '] [plkst.] LT';
85
- }, 'sameElse' => 'L'], 'weekdays' => $daysOfWeek, 'weekdays_short' => ['Sv.', 'P.', 'O.', 'T.', 'C.', 'Pk.', 'S.'], 'weekdays_min' => ['Sv.', 'P.', 'O.', 'T.', 'C.', 'Pk.', 'S.'], 'months' => ['janvārī', 'februārī', 'martā', 'aprīlī', 'maijā', 'jūnijā', 'jūlijā', 'augustā', 'septembrī', 'oktobrī', 'novembrī', 'decembrī'], 'months_short' => ['janv.', 'febr.', 'martā', 'apr.', 'maijā', 'jūn.', 'jūl.', 'aug.', 'sept.', 'okt.', 'nov.', 'dec.'], 'meridiem' => ['priekšpusdiena', 'pēcpusdiena']];
82
  return '[' . $daysOfWeekLocativum[$current->dayOfWeek] . '] [plkst.] LT';
83
  }, 'lastDay' => '[vakar] [plkst.] LT', 'lastWeek' => function (CarbonInterface $current) use($daysOfWeekLocativum) {
84
  return '[pagājušo] [' . $daysOfWeekLocativum[$current->dayOfWeek] . '] [plkst.] LT';
85
+ }, 'sameElse' => 'L'], 'weekdays' => $daysOfWeek, 'weekdays_short' => ['Sv.', 'P.', 'O.', 'T.', 'C.', 'Pk.', 'S.'], 'weekdays_min' => ['Sv.', 'P.', 'O.', 'T.', 'C.', 'Pk.', 'S.'], 'months' => ['janvāris', 'februāris', 'marts', 'aprīlis', 'maijs', 'jūnijs', 'jūlijs', 'augusts', 'septembris', 'oktobris', 'novembris', 'decembris'], 'months_standalone' => ['janvārī', 'februārī', 'martā', 'aprīlī', 'maijā', 'jūnijā', 'jūlijā', 'augustā', 'septembrī', 'oktobrī', 'novembrī', 'decembrī'], 'months_short' => ['janv.', 'febr.', 'martā', 'apr.', 'maijā', 'jūn.', 'jūl.', 'aug.', 'sept.', 'okt.', 'nov.', 'dec.'], 'meridiem' => ['priekšpusdiena', 'pēcpusdiena']];
third-party/vendor/nesbot/carbon/src/Carbon/Lang/pt.php CHANGED
@@ -33,4 +33,4 @@ return ['year' => ':count ano|:count anos', 'a_year' => 'um ano|:count anos', 'y
33
  default:
34
  return '[Última] dddd [às] LT';
35
  }
36
- }, 'sameElse' => 'L'], 'ordinal' => ':numberº', 'months' => ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], 'months_short' => ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez'], 'weekdays' => ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'], 'weekdays_short' => ['dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sáb'], 'weekdays_min' => ['Do', '2ª', '3ª', '4ª', '5ª', '6ª', 'Sá'], 'first_day_of_week' => 1, 'day_of_first_week_of_year' => 4, 'list' => [', ', ' e ']];
33
  default:
34
  return '[Última] dddd [às] LT';
35
  }
36
+ }, 'sameElse' => 'L'], 'ordinal' => ':numberº', 'months' => ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'], 'months_short' => ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez'], 'weekdays' => ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'], 'weekdays_short' => ['dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sáb'], 'weekdays_min' => ['Do', '2ª', '3ª', '4ª', '5ª', '6ª', 'Sá'], 'first_day_of_week' => 1, 'day_of_first_week_of_year' => 4, 'list' => [', ', ' e '], 'ordinal_words' => ['of' => 'de', 'first' => 'primeira', 'second' => 'segunda', 'third' => 'terceira', 'fourth' => 'quarta', 'fifth' => 'quinta', 'last' => 'última']];
third-party/vendor/nesbot/carbon/src/Carbon/Lang/sl.php CHANGED
@@ -31,7 +31,7 @@ namespace ProfilePressVendor;
31
  * - burut13
32
  */
33
  use ProfilePressVendor\Carbon\CarbonInterface;
34
- return ['year' => ':count leto|:count leti|:count leta|:count let', 'y' => ':count leto|:count leti|:count leta|:count let', 'month' => ':count mesec|:count meseca|:count mesece|:count mesecev', 'm' => ':count mes.', 'week' => ':count teden|:count tedna|:count tedne|:count tednov', 'w' => ':count ted.', 'day' => ':count dan|:count dni|:count dni|:count dni', 'd' => ':count dan|:count dni|:count dni|:count dni', 'hour' => ':count ura|:count uri|:count ure|:count ur', 'h' => ':count h', 'minute' => ':count minuta|:count minuti|:count minute|:count minut', 'min' => ':count min.', 'second' => ':count sekunda|:count sekundi|:count sekunde|:count sekund', 'a_second' => '{1}nekaj sekund|:count sekunda|:count sekundi|:count sekunde|:count sekund', 's' => ':count s', 'year_ago' => ':count letom|:count leti|:count leti|:count leti', 'y_ago' => ':count letom|:count leti|:count leti|:count leti', 'month_ago' => ':count mesecem|:count meseci|:count meseci|:count meseci', 'week_ago' => ':count tednom|:count tednoma|:count tedni|:count tedni', 'day_ago' => ':count dnem|:count dnevoma|:count dnevi|:count dnevi', 'd_ago' => ':count dnem|:count dnevoma|:count dnevi|:count dnevi', 'hour_ago' => ':count uro|:count urama|:count urami|:count urami', 'minute_ago' => ':count minuto|:count minutama|:count minutami|:count minutami', 'second_ago' => ':count sekundo|:count sekundama|:count sekundami|:count sekundami', 'day_from_now' => ':count dan|:count dneva|:count dni|:count dni', 'd_from_now' => ':count dan|:count dneva|:count dni|:count dni', 'hour_from_now' => ':count uro|:count uri|:count ure|:count ur', 'minute_from_now' => ':count minuto|:count minuti|:count minute|:count minut', 'second_from_now' => ':count sekundo|:count sekundi|:count sekunde|:count sekund', 'ago' => 'pred :time', 'from_now' => 'čez :time', 'after' => ':time kasneje', 'before' => ':time prej', 'diff_now' => 'ravnokar', 'diff_today' => 'danes', 'diff_today_regexp' => 'danes(?:\\s+ob)?', 'diff_yesterday' => 'včeraj', 'diff_yesterday_regexp' => 'včeraj(?:\\s+ob)?', 'diff_tomorrow' => 'jutri', 'diff_tomorrow_regexp' => 'jutri(?:\\s+ob)?', 'diff_before_yesterday' => 'predvčerajšnjim', 'diff_after_tomorrow' => 'pojutrišnjem', 'first_day_of_week' => 1, 'day_of_first_week_of_year' => 1, 'period_start_date' => 'od :date', 'period_end_date' => 'do :date', 'formats' => ['LT' => 'H:mm', 'LTS' => 'H:mm:ss', 'L' => 'DD.MM.YYYY', 'LL' => 'D. MMMM YYYY', 'LLL' => 'D. MMMM YYYY H:mm', 'LLLL' => 'dddd, D. MMMM YYYY H:mm'], 'calendar' => ['sameDay' => '[danes ob] LT', 'nextDay' => '[jutri ob] LT', 'nextWeek' => 'dddd [ob] LT', 'lastDay' => '[včeraj ob] LT', 'lastWeek' => function (CarbonInterface $date) {
35
  switch ($date->dayOfWeek) {
36
  case 0:
37
  return '[preteklo] [nedeljo] [ob] LT';
31
  * - burut13
32
  */
33
  use ProfilePressVendor\Carbon\CarbonInterface;
34
+ return ['year' => ':count leto|:count leti|:count leta|:count let', 'y' => ':count leto|:count leti|:count leta|:count let', 'month' => ':count mesec|:count meseca|:count mesece|:count mesecev', 'm' => ':count mes.', 'week' => ':count teden|:count tedna|:count tedne|:count tednov', 'w' => ':count ted.', 'day' => ':count dan|:count dni|:count dni|:count dni', 'd' => ':count dan|:count dni|:count dni|:count dni', 'hour' => ':count ura|:count uri|:count ure|:count ur', 'h' => ':count h', 'minute' => ':count minuta|:count minuti|:count minute|:count minut', 'min' => ':count min.', 'second' => ':count sekunda|:count sekundi|:count sekunde|:count sekund', 'a_second' => '{1}nekaj sekund|:count sekunda|:count sekundi|:count sekunde|:count sekund', 's' => ':count s', 'year_ago' => ':count letom|:count letoma|:count leti|:count leti', 'y_ago' => ':count letom|:count letoma|:count leti|:count leti', 'month_ago' => ':count mesecem|:count meseci|:count meseci|:count meseci', 'week_ago' => ':count tednom|:count tednoma|:count tedni|:count tedni', 'day_ago' => ':count dnem|:count dnevoma|:count dnevi|:count dnevi', 'd_ago' => ':count dnem|:count dnevoma|:count dnevi|:count dnevi', 'hour_ago' => ':count uro|:count urama|:count urami|:count urami', 'minute_ago' => ':count minuto|:count minutama|:count minutami|:count minutami', 'second_ago' => ':count sekundo|:count sekundama|:count sekundami|:count sekundami', 'day_from_now' => ':count dan|:count dneva|:count dni|:count dni', 'd_from_now' => ':count dan|:count dneva|:count dni|:count dni', 'hour_from_now' => ':count uro|:count uri|:count ure|:count ur', 'minute_from_now' => ':count minuto|:count minuti|:count minute|:count minut', 'second_from_now' => ':count sekundo|:count sekundi|:count sekunde|:count sekund', 'ago' => 'pred :time', 'from_now' => 'čez :time', 'after' => ':time kasneje', 'before' => ':time prej', 'diff_now' => 'ravnokar', 'diff_today' => 'danes', 'diff_today_regexp' => 'danes(?:\\s+ob)?', 'diff_yesterday' => 'včeraj', 'diff_yesterday_regexp' => 'včeraj(?:\\s+ob)?', 'diff_tomorrow' => 'jutri', 'diff_tomorrow_regexp' => 'jutri(?:\\s+ob)?', 'diff_before_yesterday' => 'predvčerajšnjim', 'diff_after_tomorrow' => 'pojutrišnjem', 'first_day_of_week' => 1, 'day_of_first_week_of_year' => 1, 'period_start_date' => 'od :date', 'period_end_date' => 'do :date', 'formats' => ['LT' => 'H:mm', 'LTS' => 'H:mm:ss', 'L' => 'DD.MM.YYYY', 'LL' => 'D. MMMM YYYY', 'LLL' => 'D. MMMM YYYY H:mm', 'LLLL' => 'dddd, D. MMMM YYYY H:mm'], 'calendar' => ['sameDay' => '[danes ob] LT', 'nextDay' => '[jutri ob] LT', 'nextWeek' => 'dddd [ob] LT', 'lastDay' => '[včeraj ob] LT', 'lastWeek' => function (CarbonInterface $date) {
35
  switch ($date->dayOfWeek) {
36
  case 0:
37
  return '[preteklo] [nedeljo] [ob] LT';
third-party/vendor/nesbot/carbon/src/Carbon/Language.php CHANGED
@@ -283,7 +283,7 @@ class Language implements JsonSerializable
283
  *
284
  * @return string
285
  */
286
- #[ReturnTypeWillChange]
287
  public function jsonSerialize()
288
  {
289
  return $this->getIsoDescription();
283
  *
284
  * @return string
285
  */
286
+ #[\ReturnTypeWillChange]
287
  public function jsonSerialize()
288
  {
289
  return $this->getIsoDescription();
third-party/vendor/nesbot/carbon/src/Carbon/PHPStan/AbstractMacro.php CHANGED
@@ -12,6 +12,12 @@ declare (strict_types=1);
12
  namespace ProfilePressVendor\Carbon\PHPStan;
13
 
14
  use Closure;
 
 
 
 
 
 
15
  use ProfilePressVendor\PHPStan\Reflection\Php\BuiltinMethodReflection;
16
  use ProfilePressVendor\PHPStan\TrinaryLogic;
17
  use ReflectionClass;
@@ -66,11 +72,19 @@ abstract class AbstractMacro implements BuiltinMethodReflection
66
  {
67
  $this->className = $className;
68
  $this->methodName = $methodName;
69
- $this->reflectionFunction = \is_array($macro) ? new ReflectionMethod($macro[0], $macro[1]) : new ReflectionFunction($macro);
70
- $this->parameters = $this->reflectionFunction->getParameters();
71
- if ($this->reflectionFunction->isClosure()) {
 
 
 
 
 
 
 
 
72
  try {
73
- $closure = $this->reflectionFunction->getClosure();
74
  $boundClosure = Closure::bind($closure, new stdClass());
75
  $this->static = !$boundClosure || (new ReflectionFunction($boundClosure))->getClosureThis() === null;
76
  } catch (Throwable $e) {
@@ -78,6 +92,24 @@ abstract class AbstractMacro implements BuiltinMethodReflection
78
  }
79
  }
80
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
81
  /**
82
  * {@inheritdoc}
83
  */
@@ -153,7 +185,12 @@ abstract class AbstractMacro implements BuiltinMethodReflection
153
  */
154
  public function getReturnType() : ?ReflectionType
155
  {
156
- return $this->reflectionFunction->getReturnType();
 
 
 
 
 
157
  }
158
  /**
159
  * {@inheritdoc}
@@ -180,4 +217,19 @@ abstract class AbstractMacro implements BuiltinMethodReflection
180
  {
181
  return null;
182
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
183
  }
12
  namespace ProfilePressVendor\Carbon\PHPStan;
13
 
14
  use Closure;
15
+ use InvalidArgumentException;
16
+ use ProfilePressVendor\PHPStan\BetterReflection\Reflection\Adapter\ReflectionParameter as AdapterReflectionParameter;
17
+ use ProfilePressVendor\PHPStan\BetterReflection\Reflection\Adapter\ReflectionType as AdapterReflectionType;
18
+ use ProfilePressVendor\PHPStan\BetterReflection\Reflection\ReflectionClass as BetterReflectionClass;
19
+ use ProfilePressVendor\PHPStan\BetterReflection\Reflection\ReflectionFunction as BetterReflectionFunction;
20
+ use ProfilePressVendor\PHPStan\BetterReflection\Reflection\ReflectionParameter as BetterReflectionParameter;
21
  use ProfilePressVendor\PHPStan\Reflection\Php\BuiltinMethodReflection;
22
  use ProfilePressVendor\PHPStan\TrinaryLogic;
23
  use ReflectionClass;
72
  {
73
  $this->className = $className;
74
  $this->methodName = $methodName;
75
+ $rawReflectionFunction = \is_array($macro) ? new ReflectionMethod($macro[0], $macro[1]) : new ReflectionFunction($macro);
76
+ $this->reflectionFunction = self::hasModernParser() ? $this->getReflectionFunction($macro) : $rawReflectionFunction;
77
+ // @codeCoverageIgnore
78
+ $this->parameters = \array_map(function ($parameter) {
79
+ if ($parameter instanceof BetterReflectionParameter) {
80
+ return new AdapterReflectionParameter($parameter);
81
+ }
82
+ return $parameter;
83
+ // @codeCoverageIgnore
84
+ }, $this->reflectionFunction->getParameters());
85
+ if ($rawReflectionFunction->isClosure()) {
86
  try {
87
+ $closure = $rawReflectionFunction->getClosure();
88
  $boundClosure = Closure::bind($closure, new stdClass());
89
  $this->static = !$boundClosure || (new ReflectionFunction($boundClosure))->getClosureThis() === null;
90
  } catch (Throwable $e) {
92
  }
93
  }
94
  }
95
+ private function getReflectionFunction($spec)
96
+ {
97
+ if (\is_array($spec) && \count($spec) === 2 && \is_string($spec[1])) {
98
+ \assert($spec[1] !== '');
99
+ if (\is_object($spec[0])) {
100
+ return BetterReflectionClass::createFromInstance($spec[0])->getMethod($spec[1]);
101
+ }
102
+ return BetterReflectionClass::createFromName($spec[0])->getMethod($spec[1]);
103
+ }
104
+ if (\is_string($spec)) {
105
+ return BetterReflectionFunction::createFromName($spec);
106
+ }
107
+ if ($spec instanceof Closure) {
108
+ return BetterReflectionFunction::createFromClosure($spec);
109
+ }
110
+ throw new InvalidArgumentException('Could not create reflection from the spec given');
111
+ // @codeCoverageIgnore
112
+ }
113
  /**
114
  * {@inheritdoc}
115
  */
185
  */
186
  public function getReturnType() : ?ReflectionType
187
  {
188
+ $type = $this->reflectionFunction->getReturnType();
189
+ if ($type instanceof ReflectionType) {
190
+ return $type;
191
+ // @codeCoverageIgnore
192
+ }
193
+ return self::adaptType($type);
194
  }
195
  /**
196
  * {@inheritdoc}
217
  {
218
  return null;
219
  }
220
+ private static function adaptType($type)
221
+ {
222
+ $method = \method_exists(AdapterReflectionType::class, 'fromTypeOrNull') ? 'fromTypeOrNull' : 'fromReturnTypeOrNull';
223
+ // @codeCoverageIgnore
224
+ return AdapterReflectionType::$method($type);
225
+ }
226
+ private static function hasModernParser() : bool
227
+ {
228
+ static $modernParser = null;
229
+ if ($modernParser !== null) {
230
+ return $modernParser;
231
+ }
232
+ $modernParser = \method_exists(AdapterReflectionType::class, 'fromTypeOrNull');
233
+ return $modernParser;
234
+ }
235
  }
third-party/vendor/nesbot/carbon/src/Carbon/Traits/Converter.php CHANGED
@@ -32,37 +32,7 @@ use ReturnTypeWillChange;
32
  */
33
  trait Converter
34
  {
35
- /**
36
- * Format to use for __toString method when type juggling occurs.
37
- *
38
- * @var string|Closure|null
39
- */
40
- protected static $toStringFormat;
41
- /**
42
- * Reset the format used to the default when type juggling a Carbon instance to a string
43
- *
44
- * @return void
45
- */
46
- public static function resetToStringFormat()
47
- {
48
- static::setToStringFormat(null);
49
- }
50
- /**
51
- * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
52
- * You should rather let Carbon object being casted to string with DEFAULT_TO_STRING_FORMAT, and
53
- * use other method or custom format passed to format() method if you need to dump an other string
54
- * format.
55
- *
56
- * Set the default format used when type juggling a Carbon instance to a string
57
- *
58
- * @param string|Closure|null $format
59
- *
60
- * @return void
61
- */
62
- public static function setToStringFormat($format)
63
- {
64
- static::$toStringFormat = $format;
65
- }
66
  /**
67
  * Returns the formatted date string on success or FALSE on failure.
68
  *
@@ -72,7 +42,7 @@ trait Converter
72
  *
73
  * @return string
74
  */
75
- #[ReturnTypeWillChange]
76
  public function format($format)
77
  {
78
  $function = $this->localFormatFunction ?: static::$formatFunction;
@@ -100,7 +70,7 @@ trait Converter
100
  *
101
  * @example
102
  * ```
103
- * echo Carbon::now(); // Carbon instances can be casted to string
104
  * ```
105
  *
106
  * @return string
32
  */
33
  trait Converter
34
  {
35
+ use ToStringFormat;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
  /**
37
  * Returns the formatted date string on success or FALSE on failure.
38
  *
42
  *
43
  * @return string
44
  */
45
+ #[\ReturnTypeWillChange]
46
  public function format($format)
47
  {
48
  $function = $this->localFormatFunction ?: static::$formatFunction;
70
  *
71
  * @example
72
  * ```
73
+ * echo Carbon::now(); // Carbon instances can be cast to string
74
  * ```
75
  *
76
  * @return string
third-party/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php CHANGED
@@ -586,7 +586,7 @@ trait Creator
586
  *
587
  * @return static|false
588
  */
589
- #[ReturnTypeWillChange]
590
  public static function createFromFormat($format, $time, $tz = null)
591
  {
592
  $function = static::$createFromFormatFunction;
@@ -715,7 +715,7 @@ trait Creator
715
  *
716
  * @return array
717
  */
718
- #[ReturnTypeWillChange]
719
  public static function getLastErrors()
720
  {
721
  return static::$lastErrors;
586
  *
587
  * @return static|false
588
  */
589
+ #[\ReturnTypeWillChange]
590
  public static function createFromFormat($format, $time, $tz = null)
591
  {
592
  $function = static::$createFromFormatFunction;
715
  *
716
  * @return array
717
  */
718
+ #[\ReturnTypeWillChange]
719
  public static function getLastErrors()
720
  {
721
  return static::$lastErrors;
third-party/vendor/nesbot/carbon/src/Carbon/Traits/Date.php CHANGED
@@ -625,7 +625,7 @@ trait Date
625
  *
626
  * @link https://php.net/manual/en/datetime.gettimezone.php
627
  */
628
- #[ReturnTypeWillChange]
629
  public function getTimezone()
630
  {
631
  return CarbonTimeZone::instance(parent::getTimezone());
@@ -1232,8 +1232,12 @@ trait Date
1232
  */
1233
  public function weekday($value = null)
1234
  {
1235
- $dayOfWeek = ($this->dayOfWeek + 7 - (int) ($this->getTranslationMessage('first_day_of_week') ?? 0)) % 7;
1236
- return $value === null ? $dayOfWeek : $this->addDays($value - $dayOfWeek);
 
 
 
 
1237
  }
1238
  /**
1239
  * Get/set the ISO weekday from 1 (Monday) to 7 (Sunday).
@@ -1325,7 +1329,7 @@ trait Date
1325
  *
1326
  * @return static
1327
  */
1328
- #[ReturnTypeWillChange]
1329
  public function setDate($year, $month, $day)
1330
  {
1331
  return parent::setDate((int) $year, (int) $month, (int) $day);
@@ -1341,7 +1345,7 @@ trait Date
1341
  *
1342
  * @return static
1343
  */
1344
- #[ReturnTypeWillChange]
1345
  public function setISODate($year, $week, $day = 1)
1346
  {
1347
  return parent::setISODate((int) $year, (int) $week, (int) $day);
@@ -1375,7 +1379,7 @@ trait Date
1375
  *
1376
  * @return static
1377
  */
1378
- #[ReturnTypeWillChange]
1379
  public function setTime($hour, $minute, $second = 0, $microseconds = 0)
1380
  {
1381
  return parent::setTime((int) $hour, (int) $minute, (int) $second, (int) $microseconds);
@@ -1389,7 +1393,7 @@ trait Date
1389
  *
1390
  * @return static
1391
  */
1392
- #[ReturnTypeWillChange]
1393
  public function setTimestamp($unixTimestamp)
1394
  {
1395
  [$timestamp, $microseconds] = self::getIntegerAndDecimalParts($unixTimestamp);
@@ -1441,7 +1445,7 @@ trait Date
1441
  *
1442
  * @return static
1443
  */
1444
- #[ReturnTypeWillChange]
1445
  public function setTimezone($value)
1446
  {
1447
  $tz = static::safeCreateDateTimeZone($value);
@@ -1685,7 +1689,7 @@ trait Date
1685
  */
1686
  public function getIsoFormats($locale = null)
1687
  {
1688
- return ['LT' => $this->getTranslationMessage('formats.LT', $locale, 'h:mm A'), 'LTS' => $this->getTranslationMessage('formats.LTS', $locale, 'h:mm:ss A'), 'L' => $this->getTranslationMessage('formats.L', $locale, 'MM/DD/YYYY'), 'LL' => $this->getTranslationMessage('formats.LL', $locale, 'MMMM D, YYYY'), 'LLL' => $this->getTranslationMessage('formats.LLL', $locale, 'MMMM D, YYYY h:mm A'), 'LLLL' => $this->getTranslationMessage('formats.LLLL', $locale, 'dddd, MMMM D, YYYY h:mm A')];
1689
  }
1690
  /**
1691
  * Returns list of calendar formats for ISO formatting.
@@ -1848,7 +1852,7 @@ trait Date
1848
  continue;
1849
  }
1850
  $input = \mb_substr($format, $i);
1851
- if (\preg_match('/^(LTS|LT|[Ll]{1,4})/', $input, $match)) {
1852
  if ($formats === null) {
1853
  $formats = $this->getIsoFormats();
1854
  }
625
  *
626
  * @link https://php.net/manual/en/datetime.gettimezone.php
627
  */
628
+ #[\ReturnTypeWillChange]
629
  public function getTimezone()
630
  {
631
  return CarbonTimeZone::instance(parent::getTimezone());
1232
  */
1233
  public function weekday($value = null)
1234
  {
1235
+ if ($value === null) {
1236
+ return $this->dayOfWeek;
1237
+ }
1238
+ $firstDay = (int) ($this->getTranslationMessage('first_day_of_week') ?? 0);
1239
+ $dayOfWeek = ($this->dayOfWeek + 7 - $firstDay) % 7;
1240
+ return $this->addDays(($value + 7 - $firstDay) % 7 - $dayOfWeek);
1241
  }
1242
  /**
1243
  * Get/set the ISO weekday from 1 (Monday) to 7 (Sunday).
1329
  *
1330
  * @return static
1331
  */
1332
+ #[\ReturnTypeWillChange]
1333
  public function setDate($year, $month, $day)
1334
  {
1335
  return parent::setDate((int) $year, (int) $month, (int) $day);
1345
  *
1346
  * @return static
1347
  */
1348
+ #[\ReturnTypeWillChange]
1349
  public function setISODate($year, $week, $day = 1)
1350
  {
1351
  return parent::setISODate((int) $year, (int) $week, (int) $day);
1379
  *
1380
  * @return static
1381
  */
1382
+ #[\ReturnTypeWillChange]
1383
  public function setTime($hour, $minute, $second = 0, $microseconds = 0)
1384
  {
1385
  return parent::setTime((int) $hour, (int) $minute, (int) $second, (int) $microseconds);
1393
  *
1394
  * @return static
1395
  */
1396
+ #[\ReturnTypeWillChange]
1397
  public function setTimestamp($unixTimestamp)
1398
  {
1399
  [$timestamp, $microseconds] = self::getIntegerAndDecimalParts($unixTimestamp);
1445
  *
1446
  * @return static
1447
  */
1448
+ #[\ReturnTypeWillChange]
1449
  public function setTimezone($value)
1450
  {
1451
  $tz = static::safeCreateDateTimeZone($value);
1689
  */
1690
  public function getIsoFormats($locale = null)
1691
  {
1692
+ return ['LT' => $this->getTranslationMessage('formats.LT', $locale, 'h:mm A'), 'LTS' => $this->getTranslationMessage('formats.LTS', $locale, 'h:mm:ss A'), 'L' => $this->getTranslationMessage('formats.L', $locale, 'MM/DD/YYYY'), 'LL' => $this->getTranslationMessage('formats.LL', $locale, 'MMMM D, YYYY'), 'LLL' => $this->getTranslationMessage('formats.LLL', $locale, 'MMMM D, YYYY h:mm A'), 'LLLL' => $this->getTranslationMessage('formats.LLLL', $locale, 'dddd, MMMM D, YYYY h:mm A'), 'l' => $this->getTranslationMessage('formats.l', $locale), 'll' => $this->getTranslationMessage('formats.ll', $locale), 'lll' => $this->getTranslationMessage('formats.lll', $locale), 'llll' => $this->getTranslationMessage('formats.llll', $locale)];
1693
  }
1694
  /**
1695
  * Returns list of calendar formats for ISO formatting.
1852
  continue;
1853
  }
1854
  $input = \mb_substr($format, $i);
1855
+ if (\preg_match('/^(LTS|LT|l{1,4}|L{1,4})/', $input, $match)) {
1856
  if ($formats === null) {
1857
  $formats = $this->getIsoFormats();
1858
  }
third-party/vendor/nesbot/carbon/src/Carbon/Traits/Difference.php CHANGED
@@ -106,7 +106,7 @@ trait Difference
106
  *
107
  * @return DateInterval
108
  */
109
- #[ReturnTypeWillChange]
110
  public function diff($date = null, $absolute = \false)
111
  {
112
  $other = $this->resolveCarbon($date);
106
  *
107
  * @return DateInterval
108
  */
109
+ #[\ReturnTypeWillChange]
110
  public function diff($date = null, $absolute = \false)
111
  {
112
  $other = $this->resolveCarbon($date);
third-party/vendor/nesbot/carbon/src/Carbon/Traits/Localization.php CHANGED
@@ -305,6 +305,9 @@ trait Localization
305
  $months = $messages['months'] ?? [];
306
  $weekdays = $messages['weekdays'] ?? [];
307
  $meridiem = $messages['meridiem'] ?? ['AM', 'PM'];
 
 
 
308
  if ($key === 'from') {
309
  foreach (['months', 'weekdays'] as $variable) {
310
  $list = $messages[$variable . '_standalone'] ?? null;
@@ -663,4 +666,10 @@ trait Localization
663
  }
664
  return $list;
665
  }
 
 
 
 
 
 
666
  }
305
  $months = $messages['months'] ?? [];
306
  $weekdays = $messages['weekdays'] ?? [];
307
  $meridiem = $messages['meridiem'] ?? ['AM', 'PM'];
308
+ if (isset($messages['ordinal_words'])) {
309
+ $timeString = self::replaceOrdinalWords($timeString, $key === 'from' ? \array_flip($messages['ordinal_words']) : $messages['ordinal_words']);
310
+ }
311
  if ($key === 'from') {
312
  foreach (['months', 'weekdays'] as $variable) {
313
  $list = $messages[$variable . '_standalone'] ?? null;
666
  }
667
  return $list;
668
  }
669
+ private static function replaceOrdinalWords(string $timeString, array $ordinalWords) : string
670
+ {
671
+ return \preg_replace_callback('/(?<![a-z])[a-z]+(?![a-z])/i', function (array $match) use($ordinalWords) {
672
+ return $ordinalWords[\mb_strtolower($match[0])] ?? $match[0];
673
+ }, $timeString);
674
+ }
675
  }
third-party/vendor/nesbot/carbon/src/Carbon/Traits/Modifiers.php CHANGED
@@ -387,7 +387,7 @@ trait Modifiers
387
  *
388
  * @return static|false
389
  */
390
- #[ReturnTypeWillChange]
391
  public function modify($modify)
392
  {
393
  return parent::modify((string) $modify);
387
  *
388
  * @return static|false
389
  */
390
+ #[\ReturnTypeWillChange]
391
  public function modify($modify)
392
  {
393
  return parent::modify((string) $modify);
third-party/vendor/nesbot/carbon/src/Carbon/Traits/Rounding.php CHANGED
@@ -69,11 +69,14 @@ trait Rounding
69
  $found = \false;
70
  $fraction = 0;
71
  $arguments = null;
 
72
  $factor = $this->year < 0 ? -1 : 1;
73
  $changes = [];
 
74
  foreach ($ranges as $unit => [$minimum, $maximum]) {
75
  if ($normalizedUnit === $unit) {
76
  $arguments = [$this->{$unit}, $minimum];
 
77
  $fraction = $precision - \floor($precision);
78
  $found = \true;
79
  continue;
@@ -82,7 +85,19 @@ trait Rounding
82
  $delta = $maximum + 1 - $minimum;
83
  $factor /= $delta;
84
  $fraction *= $delta;
85
- $arguments[0] += ($this->{$unit} - $minimum) * $factor;
 
 
 
 
 
 
 
 
 
 
 
 
86
  $changes[$unit] = \round($minimum + ($fraction ? $fraction * $function(($this->{$unit} - $minimum) / $fraction) : 0));
87
  // Cannot use modulo as it lose double precision
88
  while ($changes[$unit] >= $delta) {
69
  $found = \false;
70
  $fraction = 0;
71
  $arguments = null;
72
+ $initialValue = null;
73
  $factor = $this->year < 0 ? -1 : 1;
74
  $changes = [];
75
+ $minimumInc = null;
76
  foreach ($ranges as $unit => [$minimum, $maximum]) {
77
  if ($normalizedUnit === $unit) {
78
  $arguments = [$this->{$unit}, $minimum];
79
+ $initialValue = $this->{$unit};
80
  $fraction = $precision - \floor($precision);
81
  $found = \true;
82
  continue;
85
  $delta = $maximum + 1 - $minimum;
86
  $factor /= $delta;
87
  $fraction *= $delta;
88
+ $inc = ($this->{$unit} - $minimum) * $factor;
89
+ if ($inc !== 0.0) {
90
+ $minimumInc = $minimumInc ?? $arguments[0] / \pow(2, 52);
91
+ // If value is still the same when adding a non-zero increment/decrement,
92
+ // it means precision got lost in the addition
93
+ if (\abs($inc) < $minimumInc) {
94
+ $inc = $minimumInc * ($inc < 0 ? -1 : 1);
95
+ }
96
+ // If greater than $precision, assume precision loss caused an overflow
97
+ if ($function !== 'floor' || \abs($arguments[0] + $inc - $initialValue) >= $precision) {
98
+ $arguments[0] += $inc;
99
+ }
100
+ }
101
  $changes[$unit] = \round($minimum + ($fraction ? $fraction * $function(($this->{$unit} - $minimum) / $fraction) : 0));
102
  // Cannot use modulo as it lose double precision
103
  while ($changes[$unit] >= $delta) {
third-party/vendor/nesbot/carbon/src/Carbon/Traits/Serialization.php CHANGED
@@ -91,7 +91,7 @@ trait Serialization
91
  *
92
  * @return static
93
  */
94
- #[ReturnTypeWillChange]
95
  public static function __set_state($dump)
96
  {
97
  if (\is_string($dump)) {
@@ -137,7 +137,7 @@ trait Serialization
137
  *
138
  * @return void
139
  */
140
- #[ReturnTypeWillChange]
141
  public function __wakeup()
142
  {
143
  if (parent::class && \method_exists(parent::class, '__wakeup')) {
@@ -189,7 +189,7 @@ trait Serialization
189
  *
190
  * @return array|string
191
  */
192
- #[ReturnTypeWillChange]
193
  public function jsonSerialize()
194
  {
195
  $serializer = $this->localSerializer ?? static::$serializer;
91
  *
92
  * @return static
93
  */
94
+ #[\ReturnTypeWillChange]
95
  public static function __set_state($dump)
96
  {
97
  if (\is_string($dump)) {
137
  *
138
  * @return void
139
  */
140
+ #[\ReturnTypeWillChange]
141
  public function __wakeup()
142
  {
143
  if (parent::class && \method_exists(parent::class, '__wakeup')) {
189
  *
190
  * @return array|string
191
  */
192
+ #[\ReturnTypeWillChange]
193
  public function jsonSerialize()
194
  {
195
  $serializer = $this->localSerializer ?? static::$serializer;
third-party/vendor/nesbot/carbon/src/Carbon/Traits/ToStringFormat.php ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * This file is part of the Carbon package.
5
+ *
6
+ * (c) Brian Nesbitt <brian@nesbot.com>
7
+ *
8
+ * For the full copyright and license information, please view the LICENSE
9
+ * file that was distributed with this source code.
10
+ */
11
+ namespace ProfilePressVendor\Carbon\Traits;
12
+
13
+ use Closure;
14
+ /**
15
+ * Trait ToStringFormat.
16
+ *
17
+ * Handle global format customization for string cast of the object.
18
+ */
19
+ trait ToStringFormat
20
+ {
21
+ /**
22
+ * Format to use for __toString method when type juggling occurs.
23
+ *
24
+ * @var string|Closure|null
25
+ */
26
+ protected static $toStringFormat;
27
+ /**
28
+ * Reset the format used to the default when type juggling a Carbon instance to a string
29
+ *
30
+ * @return void
31
+ */
32
+ public static function resetToStringFormat()
33
+ {
34
+ static::setToStringFormat(null);
35
+ }
36
+ /**
37
+ * @param string|Closure|null $format
38
+ *
39
+ * @return void
40
+ *
41
+ * @deprecated To avoid conflict between different third-party libraries, static setters should not be used.
42
+ * You should rather let Carbon object being cast to string with DEFAULT_TO_STRING_FORMAT, and
43
+ * use other method or custom format passed to format() method if you need to dump another string
44
+ * format.
45
+ *
46
+ * Set the default format used when type juggling a Carbon instance to a string.
47
+ */
48
+ public static function setToStringFormat($format)
49
+ {
50
+ static::$toStringFormat = $format;
51
+ }
52
+ }
third-party/vendor/nesbot/carbon/src/Carbon/Traits/Units.php CHANGED
@@ -159,7 +159,7 @@ trait Units
159
  *
160
  * @return static
161
  */
162
- #[ReturnTypeWillChange]
163
  public function add($unit, $value = 1, $overflow = null)
164
  {
165
  if (\is_string($unit) && \func_num_args() === 1) {
@@ -190,6 +190,7 @@ trait Units
190
  */
191
  public function addUnit($unit, $value = 1, $overflow = null)
192
  {
 
193
  $date = $this;
194
  if (!\is_numeric($value) || !(float) $value) {
195
  return $date->isMutable() ? $date : $date->avoidMutation();
@@ -245,7 +246,7 @@ trait Units
245
  $date = $date->modify('last day of previous month');
246
  }
247
  if (!$date) {
248
- throw new UnitException('Unable to add unit ' . \var_export(\func_get_args(), \true));
249
  }
250
  return $date;
251
  }
@@ -286,7 +287,7 @@ trait Units
286
  *
287
  * @return static
288
  */
289
- #[ReturnTypeWillChange]
290
  public function sub($unit, $value = 1, $overflow = null)
291
  {
292
  if (\is_string($unit) && \func_num_args() === 1) {
159
  *
160
  * @return static
161
  */
162
+ #[\ReturnTypeWillChange]
163
  public function add($unit, $value = 1, $overflow = null)
164
  {
165
  if (\is_string($unit) && \func_num_args() === 1) {
190
  */
191
  public function addUnit($unit, $value = 1, $overflow = null)
192
  {
193
+ $originalArgs = \func_get_args();
194
  $date = $this;
195
  if (!\is_numeric($value) || !(float) $value) {
196
  return $date->isMutable() ? $date : $date->avoidMutation();
246
  $date = $date->modify('last day of previous month');
247
  }
248
  if (!$date) {
249
+ throw new UnitException('Unable to add unit ' . \var_export($originalArgs, \true));
250
  }
251
  return $date;
252
  }
287
  *
288
  * @return static
289
  */
290
+ #[\ReturnTypeWillChange]
291
  public function sub($unit, $value = 1, $overflow = null)
292
  {
293
  if (\is_string($unit) && \func_num_args() === 1) {
third-party/vendor/pelago/emogrifier/src/Caching/SimpleStringCache.php ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ declare (strict_types=1);
4
+ namespace ProfilePressVendor\Pelago\Emogrifier\Caching;
5
+
6
+ /**
7
+ * This cache caches string values with string keys. It is not PSR-6-compliant.
8
+ *
9
+ * Usage:
10
+ *
11
+ * ```php
12
+ * $cache = new SimpleStringCache();
13
+ * $cache->set($key, $value);
14
+ * …
15
+ * if ($cache->has($key) {
16
+ * $cachedValue = $cache->get($value);
17
+ * }
18
+ * ```
19
+ *
20
+ * @internal
21
+ */
22
+ class SimpleStringCache
23
+ {
24
+ /**
25
+ * @var array<string, string>
26
+ */
27
+ private $values = [];
28
+ /**
29
+ * Checks whether there is an entry stored for the given key.
30
+ *
31
+ * @param string $key the key to check; must not be empty
32
+ *
33
+ * @throws \InvalidArgumentException
34
+ */
35
+ public function has(string $key) : bool
36
+ {
37
+ $this->assertNotEmptyKey($key);
38
+ return isset($this->values[$key]);
39
+ }
40
+ /**
41
+ * Returns the entry stored for the given key, and throws an exception if the value does not exist
42
+ * (which helps keep the return type simple).
43
+ *
44
+ * @param string $key the key to of the item to retrieve; must not be empty
45
+ *
46
+ * @return string the retrieved value; may be empty
47
+ *
48
+ * @throws \BadMethodCallException
49
+ */
50
+ public function get(string $key) : string
51
+ {
52
+ if (!$this->has($key)) {
53
+ throw new \BadMethodCallException('You can only call `get` with a key for an existing value.', 1625996246);
54
+ }
55
+ return $this->values[$key];
56
+ }
57
+ /**
58
+ * Sets or overwrites an entry.
59
+ *
60
+ * @param string $key the key to of the item to set; must not be empty
61
+ * @param string $value the value to set; can be empty
62
+ *
63
+ * @throws \BadMethodCallException
64
+ */
65
+ public function set(string $key, string $value) : void
66
+ {
67
+ $this->assertNotEmptyKey($key);
68
+ $this->values[$key] = $value;
69
+ }
70
+ /**
71
+ * @throws \InvalidArgumentException
72
+ */
73
+ private function assertNotEmptyKey(string $key) : void
74
+ {
75
+ if ($key === '') {
76
+ throw new \InvalidArgumentException('Please provide a non-empty key.', 1625995840);
77
+ }
78
+ }
79
+ }
third-party/vendor/pelago/emogrifier/src/Css/CssDocument.php ADDED
@@ -0,0 +1,162 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ declare (strict_types=1);
4
+ namespace ProfilePressVendor\Pelago\Emogrifier\Css;
5
+
6
+ use ProfilePressVendor\Sabberworm\CSS\CSSList\AtRuleBlockList as CssAtRuleBlockList;
7
+ use ProfilePressVendor\Sabberworm\CSS\CSSList\Document as SabberwormCssDocument;
8
+ use ProfilePressVendor\Sabberworm\CSS\Parser as CssParser;
9
+ use ProfilePressVendor\Sabberworm\CSS\Property\AtRule as CssAtRule;
10
+ use ProfilePressVendor\Sabberworm\CSS\Property\Charset as CssCharset;
11
+ use ProfilePressVendor\Sabberworm\CSS\Property\Import as CssImport;
12
+ use ProfilePressVendor\Sabberworm\CSS\Renderable as CssRenderable;
13
+ use ProfilePressVendor\Sabberworm\CSS\RuleSet\DeclarationBlock as CssDeclarationBlock;
14
+ use ProfilePressVendor\Sabberworm\CSS\RuleSet\RuleSet as CssRuleSet;
15
+ /**
16
+ * Parses and stores a CSS document from a string of CSS, and provides methods to obtain the CSS in parts or as data
17
+ * structures.
18
+ *
19
+ * @internal
20
+ */
21
+ class CssDocument
22
+ {
23
+ /**
24
+ * @var SabberwormCssDocument
25
+ */
26
+ private $sabberwormCssDocument;
27
+ /**
28
+ * `@import` rules must precede all other types of rules, except `@charset` rules. This property is used while
29
+ * rendering at-rules to enforce that.
30
+ *
31
+ * @var bool
32
+ */
33
+ private $isImportRuleAllowed = \true;
34
+ /**
35
+ * @param string $css
36
+ */
37
+ public function __construct(string $css)
38
+ {
39
+ $cssParser = new CssParser($css);
40
+ /** @var SabberwormCssDocument $sabberwormCssDocument */
41
+ $sabberwormCssDocument = $cssParser->parse();
42
+ $this->sabberwormCssDocument = $sabberwormCssDocument;
43
+ }
44
+ /**
45
+ * Collates the media query, selectors and declarations for individual rules from the parsed CSS, in order.
46
+ *
47
+ * @param array<array-key, string> $allowedMediaTypes
48
+ *
49
+ * @return array<int, StyleRule>
50
+ */
51
+ public function getStyleRulesData(array $allowedMediaTypes) : array
52
+ {
53
+ $ruleMatches = [];
54
+ /** @var CssRenderable $rule */
55
+ foreach ($this->sabberwormCssDocument->getContents() as $rule) {
56
+ if ($rule instanceof CssAtRuleBlockList) {
57
+ $containingAtRule = $this->getFilteredAtIdentifierAndRule($rule, $allowedMediaTypes);
58
+ if (\is_string($containingAtRule)) {
59
+ /** @var CssRenderable $nestedRule */
60
+ foreach ($rule->getContents() as $nestedRule) {
61
+ if ($nestedRule instanceof CssDeclarationBlock) {
62
+ $ruleMatches[] = new StyleRule($nestedRule, $containingAtRule);
63
+ }
64
+ }
65
+ }
66
+ } elseif ($rule instanceof CssDeclarationBlock) {
67
+ $ruleMatches[] = new StyleRule($rule);
68
+ }
69
+ }
70
+ return $ruleMatches;
71
+ }
72
+ /**
73
+ * Renders at-rules from the parsed CSS that are valid and not conditional group rules (i.e. not rules such as
74
+ * `@media` which contain style rules whose data is returned by {@see getStyleRulesData}). Also does not render
75
+ * `@charset` rules; these are discarded (only UTF-8 is supported).
76
+ *
77
+ * @return string
78
+ */
79
+ public function renderNonConditionalAtRules() : string
80
+ {
81
+ $this->isImportRuleAllowed = \true;
82
+ /** @var array<int, CssRenderable> $cssContents */
83
+ $cssContents = $this->sabberwormCssDocument->getContents();
84
+ $atRules = \array_filter($cssContents, [$this, 'isValidAtRuleToRender']);
85
+ if ($atRules === []) {
86
+ return '';
87
+ }
88
+ $atRulesDocument = new SabberwormCssDocument();
89
+ $atRulesDocument->setContents($atRules);
90
+ /** @var string $renderedRules */
91
+ $renderedRules = $atRulesDocument->render();
92
+ return $renderedRules;
93
+ }
94
+ /**
95
+ * @param CssAtRuleBlockList $rule
96
+ * @param array<array-key, string> $allowedMediaTypes
97
+ *
98
+ * @return ?string
99
+ * If the nested at-rule is supported, it's opening declaration (e.g. "@media (max-width: 768px)") is
100
+ * returned; otherwise the return value is null.
101
+ */
102
+ private function getFilteredAtIdentifierAndRule(CssAtRuleBlockList $rule, array $allowedMediaTypes) : ?string
103
+ {
104
+ $result = null;
105
+ if ($rule->atRuleName() === 'media') {
106
+ /** @var string $mediaQueryList */
107
+ $mediaQueryList = $rule->atRuleArgs();
108
+ [$mediaType] = \explode('(', $mediaQueryList, 2);
109
+ if (\trim($mediaType) !== '') {
110
+ $escapedAllowedMediaTypes = \array_map(static function (string $allowedMediaType) : string {
111
+ return \preg_quote($allowedMediaType, '/');
112
+ }, $allowedMediaTypes);
113
+ $mediaTypesMatcher = \implode('|', $escapedAllowedMediaTypes);
114
+ $isAllowed = \preg_match('/^\\s*+(?:only\\s++)?+(?:' . $mediaTypesMatcher . ')/i', $mediaType) > 0;
115
+ } else {
116
+ $isAllowed = \true;
117
+ }
118
+ if ($isAllowed) {
119
+ $result = '@media ' . $mediaQueryList;
120
+ }
121
+ }
122
+ return $result;
123
+ }
124
+ /**
125
+ * Tests if a CSS rule is an at-rule that should be passed though and copied to a `<style>` element unmodified:
126
+ * - `@charset` rules are discarded - only UTF-8 is supported - `false` is returned;
127
+ * - `@import` rules are passed through only if they satisfy the specification ("user agents must ignore any
128
+ * '@import' rule that occurs inside a block or after any non-ignored statement other than an '@charset' or an
129
+ * '@import' rule");
130
+ * - `@media` rules are processed separately to see if their nested rules apply - `false` is returned;
131
+ * - `@font-face` rules are checked for validity - they must contain both a `src` and `font-family` property;
132
+ * - other at-rules are assumed to be valid and treated as a black box - `true` is returned.
133
+ *
134
+ * @param CssRenderable $rule
135
+ *
136
+ * @return bool
137
+ */
138
+ private function isValidAtRuleToRender(CssRenderable $rule) : bool
139
+ {
140
+ if ($rule instanceof CssCharset) {
141
+ return \false;
142
+ }
143
+ if ($rule instanceof CssImport) {
144
+ return $this->isImportRuleAllowed;
145
+ }
146
+ $this->isImportRuleAllowed = \false;
147
+ if (!$rule instanceof CssAtRule) {
148
+ return \false;
149
+ }
150
+ switch ($rule->atRuleName()) {
151
+ case 'media':
152
+ $result = \false;
153
+ break;
154
+ case 'font-face':
155
+ $result = $rule instanceof CssRuleSet && $rule->getRules('font-family') !== [] && $rule->getRules('src') !== [];
156
+ break;
157
+ default:
158
+ $result = \true;
159
+ }
160
+ return $result;
161
+ }
162
+ }
third-party/vendor/pelago/emogrifier/src/Css/StyleRule.php ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ declare (strict_types=1);
4
+ namespace ProfilePressVendor\Pelago\Emogrifier\Css;
5
+
6
+ use ProfilePressVendor\Sabberworm\CSS\Property\Selector;
7
+ use ProfilePressVendor\Sabberworm\CSS\RuleSet\DeclarationBlock;
8
+ /**
9
+ * This class represents a CSS style rule, including selectors, a declaration block, and an optional containing at-rule.
10
+ *
11
+ * @internal
12
+ */
13
+ class StyleRule
14
+ {
15
+ /**
16
+ * @var DeclarationBlock
17
+ */
18
+ private $declarationBlock;
19
+ /**
20
+ * @var string
21
+ */
22
+ private $containingAtRule;
23
+ /**
24
+ * @param DeclarationBlock $declarationBlock
25
+ * @param string $containingAtRule e.g. `@media screen and (max-width: 480px)`
26
+ */
27
+ public function __construct(DeclarationBlock $declarationBlock, string $containingAtRule = '')
28
+ {
29
+ $this->declarationBlock = $declarationBlock;
30
+ $this->containingAtRule = \trim($containingAtRule);
31
+ }
32
+ /**
33
+ * @return array<int, string> the selectors, e.g. `["h1", "p"]`
34
+ */
35
+ public function getSelectors() : array
36
+ {
37
+ /** @var array<int, Selector> $selectors */
38
+ $selectors = $this->declarationBlock->getSelectors();
39
+ return \array_map(static function (Selector $selector) : string {
40
+ return (string) $selector;
41
+ }, $selectors);
42
+ }
43
+ /**
44
+ * @return string the CSS declarations, separated and followed by a semicolon, e.g., `color: red; height: 4px;`
45
+ */
46
+ public function getDeclarationAsText() : string
47
+ {
48
+ return \implode(' ', $this->declarationBlock->getRules());
49
+ }
50
+ /**
51
+ * Checks whether the declaration block has at least one declaration.
52
+ */
53
+ public function hasAtLeastOneDeclaration() : bool
54
+ {
55
+ return $this->declarationBlock->getRules() !== [];
56
+ }
57
+ /**
58
+ * @returns string e.g. `@media screen and (max-width: 480px)`, or an empty string
59
+ */
60
+ public function getContainingAtRule() : string
61
+ {
62
+ return $this->containingAtRule;
63
+ }
64
+ /**
65
+ * Checks whether the containing at-rule is non-empty and has any non-whitespace characters.
66
+ */
67
+ public function hasContainingAtRule() : bool
68
+ {
69
+ return $this->getContainingAtRule() !== '';
70
+ }
71
+ }
third-party/vendor/pelago/emogrifier/src/{Emogrifier/CssInliner.php → CssInliner.php} RENAMED
@@ -1,43 +1,30 @@
1
  <?php
2
 
 
3
  namespace ProfilePressVendor\Pelago\Emogrifier;
4
 
 
5
  use ProfilePressVendor\Pelago\Emogrifier\HtmlProcessor\AbstractHtmlProcessor;
6
  use ProfilePressVendor\Pelago\Emogrifier\Utilities\CssConcatenator;
7
  use ProfilePressVendor\Symfony\Component\CssSelector\CssSelectorConverter;
8
- use ProfilePressVendor\Symfony\Component\CssSelector\Exception\SyntaxErrorException;
9
  /**
10
  * This class provides functions for converting CSS styles into inline style attributes in your HTML code.
11
- *
12
- * For Emogrifier 3.0.0, this will be the successor to the \Pelago\Emogrifier class (which then will be deprecated).
13
- *
14
- * For more information, please see the README.md file.
15
- *
16
- * @author Cameron Brooks
17
- * @author Jaime Prado
18
- * @author Oliver Klee <github@oliverklee.de>
19
- * @author Roman Ožana <ozana@omdesign.cz>
20
- * @author Sander Kruger <s.kruger@invessel.com>
21
- * @author Zoli Szabó <zoli.szabo+github@gmail.com>
22
  */
23
  class CssInliner extends AbstractHtmlProcessor
24
  {
25
  /**
26
  * @var int
27
  */
28
- const CACHE_KEY_CSS = 0;
29
  /**
30
  * @var int
31
  */
32
- const CACHE_KEY_SELECTOR = 1;
33
  /**
34
  * @var int
35
  */
36
- const CACHE_KEY_CSS_DECLARATIONS_BLOCK = 2;
37
- /**
38
- * @var int
39
- */
40
- const CACHE_KEY_COMBINED_STYLES = 3;
41
  /**
42
  * Regular expression component matching a static pseudo class in a selector, without the preceding ":",
43
  * for which the applicable elements can be determined (by converting the selector to an XPath expression).
@@ -46,34 +33,51 @@ class CssInliner extends AbstractHtmlProcessor
46
  *
47
  * @var string
48
  */
49
- const PSEUDO_CLASS_MATCHER = 'empty|(?:first|last|nth(?:-last)?+|only)-child|(?:first|last|nth(?:-last)?+)-of-type|not\\([[:ascii:]]*\\)';
 
 
 
 
 
 
 
 
 
 
 
 
 
50
  /**
51
- * @var bool[]
52
  */
53
  private $excludedSelectors = [];
54
  /**
55
- * @var bool[]
56
  */
57
  private $allowedMediaTypes = ['all' => \true, 'screen' => \true, 'print' => \true];
58
  /**
59
- * @var mixed[]
 
 
 
 
60
  */
61
- private $caches = [self::CACHE_KEY_CSS => [], self::CACHE_KEY_SELECTOR => [], self::CACHE_KEY_CSS_DECLARATIONS_BLOCK => [], self::CACHE_KEY_COMBINED_STYLES => []];
62
  /**
63
- * @var CssSelectorConverter
64
  */
65
  private $cssSelectorConverter = null;
66
  /**
67
  * the visited nodes with the XPath paths as array keys
68
  *
69
- * @var \DOMElement[]
70
  */
71
  private $visitedNodes = [];
72
  /**
73
  * the styles to apply to the nodes with the XPath paths as array keys for the outer array
74
  * and the attribute names/values as key/value pairs for the inner array
75
  *
76
- * @var string[][]
77
  */
78
  private $styleAttributesForNodes = [];
79
  /**
@@ -84,12 +88,12 @@ class CssInliner extends AbstractHtmlProcessor
84
  */
85
  private $isInlineStyleAttributesParsingEnabled = \true;
86
  /**
87
- * Determines whether the <style> blocks in the HTML passed to this class should be parsed.
88
  *
89
- * If set to true, the <style> blocks will be removed from the HTML and their contents will be applied to the HTML
90
  * via inline styles.
91
  *
92
- * If set to false, the <style> blocks will be left as they are in the HTML.
93
  *
94
  * @var bool
95
  */
@@ -99,7 +103,7 @@ class CssInliner extends AbstractHtmlProcessor
99
  * Keys are a regular expression part to match before a CSS name.
100
  * Values are a multiplier factor per match to weight specificity.
101
  *
102
- * @var int[]
103
  */
104
  private $selectorPrecedenceMatchers = [
105
  // IDs: worth 10000
@@ -111,9 +115,15 @@ class CssInliner extends AbstractHtmlProcessor
111
  ];
112
  /**
113
  * array of data describing CSS rules which apply to the document but cannot be inlined, in the format returned by
114
- * `parseCssRules`
115
  *
116
- * @var string[][]
 
 
 
 
 
 
117
  */
118
  private $matchingUninlinableCssRules = null;
119
  /**
@@ -129,9 +139,10 @@ class CssInliner extends AbstractHtmlProcessor
129
  *
130
  * @return self fluent interface
131
  *
132
- * @throws SyntaxErrorException
 
133
  */
134
- public function inlineCss($css = '')
135
  {
136
  $this->clearAllCaches();
137
  $this->purgeVisitedNodes();
@@ -142,26 +153,24 @@ class CssInliner extends AbstractHtmlProcessor
142
  if ($this->isStyleBlocksParsingEnabled) {
143
  $combinedCss .= $this->getCssFromAllStyleNodes();
144
  }
145
- $cssWithoutComments = $this->removeCssComments($combinedCss);
146
- list($cssWithoutCommentsCharsetOrImport, $cssImportRules) = $this->extractImportAndCharsetRules($cssWithoutComments);
147
  $excludedNodes = $this->getNodesToExclude();
148
- $cssRules = $this->parseCssRules($cssWithoutCommentsCharsetOrImport);
149
  $cssSelectorConverter = $this->getCssSelectorConverter();
150
  foreach ($cssRules['inlinable'] as $cssRule) {
151
  try {
152
- $nodesMatchingCssSelectors = $this->xPath->query($cssSelectorConverter->toXPath($cssRule['selector']));
153
- } catch (SyntaxErrorException $e) {
 
 
 
 
 
 
 
154
  if ($this->debug) {
155
  throw $e;
156
  }
157
- continue;
158
- }
159
- /** @var \DOMElement $node */
160
- foreach ($nodesMatchingCssSelectors as $node) {
161
- if (\in_array($node, $excludedNodes, \true)) {
162
- continue;
163
- }
164
- $this->copyInlinableCssToStyleAttribute($node, $cssRule);
165
  }
166
  }
167
  if ($this->isInlineStyleAttributesParsingEnabled) {
@@ -169,50 +178,54 @@ class CssInliner extends AbstractHtmlProcessor
169
  }
170
  $this->removeImportantAnnotationFromAllInlineStyles();
171
  $this->determineMatchingUninlinableCssRules($cssRules['uninlinable']);
172
- $this->copyUninlinableCssToStyleNode($cssImportRules);
173
  return $this;
174
  }
175
  /**
176
  * Disables the parsing of inline styles.
177
  *
178
- * @return void
179
  */
180
- public function disableInlineStyleAttributesParsing()
181
  {
182
  $this->isInlineStyleAttributesParsingEnabled = \false;
 
183
  }
184
  /**
185
- * Disables the parsing of <style> blocks.
186
  *
187
- * @return void
188
  */
189
- public function disableStyleBlocksParsing()
190
  {
191
  $this->isStyleBlocksParsingEnabled = \false;
 
192
  }
193
  /**
194
  * Marks a media query type to keep.
195
  *
196
  * @param string $mediaName the media type name, e.g., "braille"
197
  *
198
- * @return void
199
  */
200
- public function addAllowedMediaType($mediaName)
201
  {
202
  $this->allowedMediaTypes[$mediaName] = \true;
 
203
  }
204
  /**
205
  * Drops a media query type from the allowed list.
206
  *
207
  * @param string $mediaName the tag name, e.g., "braille"
208
  *
209
- * @return void
210
  */
211
- public function removeAllowedMediaType($mediaName)
212
  {
213
  if (isset($this->allowedMediaTypes[$mediaName])) {
214
  unset($this->allowedMediaTypes[$mediaName]);
215
  }
 
216
  }
217
  /**
218
  * Adds a selector to exclude nodes from emogrification.
@@ -221,35 +234,38 @@ class CssInliner extends AbstractHtmlProcessor
221
  *
222
  * @param string $selector the selector to exclude, e.g., ".editor"
223
  *
224
- * @return void
225
  */
226
- public function addExcludedSelector($selector)
227
  {
228
  $this->excludedSelectors[$selector] = \true;
 
229
  }
230
  /**
231
  * No longer excludes the nodes matching this selector from emogrification.
232
  *
233
  * @param string $selector the selector to no longer exclude, e.g., ".editor"
234
  *
235
- * @return void
236
  */
237
- public function removeExcludedSelector($selector)
238
  {
239
  if (isset($this->excludedSelectors[$selector])) {
240
  unset($this->excludedSelectors[$selector]);
241
  }
 
242
  }
243
  /**
244
  * Sets the debug mode.
245
  *
246
  * @param bool $debug set to true to enable debug mode
247
  *
248
- * @return void
249
  */
250
- public function setDebug($debug)
251
  {
252
  $this->debug = $debug;
 
253
  }
254
  /**
255
  * Gets the array of selectors present in the CSS provided to `inlineCss()` for which the declarations could not be
@@ -257,32 +273,43 @@ class CssInliner extends AbstractHtmlProcessor
257
  * `<style>` element. The selectors may include those used within `@media` rules or those involving dynamic
258
  * pseudo-classes (such as `:hover`) or pseudo-elements (such as `::after`).
259
  *
260
- * @return string[]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
261
  *
262
  * @throws \BadMethodCallException if `inlineCss` has not been called first
263
  */
264
- public function getMatchingUninlinableSelectors()
265
  {
266
- if ($this->matchingUninlinableCssRules === null) {
267
  throw new \BadMethodCallException('inlineCss must be called first', 1568385221);
268
  }
269
- return \array_column($this->matchingUninlinableCssRules, 'selector');
270
  }
271
  /**
272
  * Clears all caches.
273
- *
274
- * @return void
275
  */
276
- private function clearAllCaches()
277
  {
278
- $this->caches = [self::CACHE_KEY_CSS => [], self::CACHE_KEY_SELECTOR => [], self::CACHE_KEY_CSS_DECLARATIONS_BLOCK => [], self::CACHE_KEY_COMBINED_STYLES => []];
279
  }
280
  /**
281
  * Purges the visited nodes.
282
- *
283
- * @return void
284
  */
285
- private function purgeVisitedNodes()
286
  {
287
  $this->visitedNodes = [];
288
  $this->styleAttributesForNodes = [];
@@ -292,10 +319,8 @@ class CssInliner extends AbstractHtmlProcessor
292
  * This changes 'DISPLAY: none' to 'display: none'.
293
  * We wouldn't have to do this if DOMXPath supported XPath 2.0.
294
  * Also stores a reference of nodes with existing inline styles so we don't overwrite them.
295
- *
296
- * @return void
297
  */
298
- private function normalizeStyleAttributesOfAllNodes()
299
  {
300
  /** @var \DOMElement $node */
301
  foreach ($this->getAllNodesWithStyleAttribute() as $node) {
@@ -313,27 +338,36 @@ class CssInliner extends AbstractHtmlProcessor
313
  * Returns a list with all DOM nodes that have a style attribute.
314
  *
315
  * @return \DOMNodeList
 
 
316
  */
317
- private function getAllNodesWithStyleAttribute()
318
  {
319
- return $this->xPath->query('//*[@style]');
 
 
 
 
 
320
  }
321
  /**
322
  * Normalizes the value of the "style" attribute and saves it.
323
  *
324
  * @param \DOMElement $node
325
- *
326
- * @return void
327
  */
328
- private function normalizeStyleAttributes(\DOMElement $node)
329
- {
330
- $normalizedOriginalStyle = \preg_replace_callback('/-?+[_a-zA-Z][\\w\\-]*+(?=:)/S', static function (array $m) {
331
- return \strtolower($m[0]);
332
- }, $node->getAttribute('style'));
333
- // in order to not overwrite existing style attributes in the HTML, we
334
- // have to save the original HTML styles
 
 
 
 
335
  $nodePath = $node->getNodePath();
336
- if (!isset($this->styleAttributesForNodes[$nodePath])) {
337
  $this->styleAttributesForNodes[$nodePath] = $this->parseCssDeclarationsBlock($normalizedOriginalStyle);
338
  $this->visitedNodes[$nodePath] = $node;
339
  }
@@ -355,16 +389,17 @@ class CssInliner extends AbstractHtmlProcessor
355
  *
356
  * @param string $cssDeclarationsBlock the CSS declarations block without the curly braces, may be empty
357
  *
358
- * @return string[]
359
  * the CSS declarations with the property names as array keys and the property values as array values
360
  */
361
- private function parseCssDeclarationsBlock($cssDeclarationsBlock)
362
  {
363
  if (isset($this->caches[self::CACHE_KEY_CSS_DECLARATIONS_BLOCK][$cssDeclarationsBlock])) {
364
  return $this->caches[self::CACHE_KEY_CSS_DECLARATIONS_BLOCK][$cssDeclarationsBlock];
365
  }
366
  $properties = [];
367
  foreach (\preg_split('/;(?!base64|charset)/', $cssDeclarationsBlock) as $declaration) {
 
368
  $matches = [];
369
  if (!\preg_match('/^([A-Za-z\\-]+)\\s*:\\s*(.+)$/s', \trim($declaration), $matches)) {
370
  continue;
@@ -381,78 +416,47 @@ class CssInliner extends AbstractHtmlProcessor
381
  *
382
  * @return string
383
  */
384
- private function getCssFromAllStyleNodes()
385
  {
386
- $styleNodes = $this->xPath->query('//style');
387
  if ($styleNodes === \false) {
388
  return '';
389
  }
390
  $css = '';
391
- /** @var \DOMNode $styleNode */
392
  foreach ($styleNodes as $styleNode) {
393
  $css .= "\n\n" . $styleNode->nodeValue;
394
- $styleNode->parentNode->removeChild($styleNode);
395
- }
396
- return $css;
397
- }
398
- /**
399
- * Removes comments from the supplied CSS.
400
- *
401
- * @param string $css
402
- *
403
- * @return string CSS with the comments removed
404
- */
405
- private function removeCssComments($css)
406
- {
407
- return \preg_replace('%/\\*[^*]*+(?:\\*(?!/)[^*]*+)*+\\*/%', '', $css);
408
- }
409
- /**
410
- * Extracts `@import` and `@charset` rules from the supplied CSS. These rules must not be preceded by any other
411
- * rules, or they will be ignored. (From the CSS 2.1 specification: "CSS 2.1 user agents must ignore any '@import'
412
- * rule that occurs inside a block or after any non-ignored statement other than an @charset or an @import rule."
413
- * Note also that `@charset` is case sensitive whereas `@import` is not.)
414
- *
415
- * @param string $css CSS with comments removed
416
- *
417
- * @return string[] The first element is the CSS with the valid `@import` and `@charset` rules removed. The second
418
- * element contains a concatenation of the valid `@import` rules, each followed by whatever whitespace followed it
419
- * in the original CSS (so that either unminified or minified formatting is preserved); if there were no `@import`
420
- * rules, it will be an empty string. The (valid) `@charset` rules are discarded.
421
- */
422
- private function extractImportAndCharsetRules($css)
423
- {
424
- $possiblyModifiedCss = $css;
425
- $importRules = '';
426
- while (\preg_match('/^\\s*+(@((?i)import(?-i)|charset)\\s[^;]++;\\s*+)/', $possiblyModifiedCss, $matches)) {
427
- list($fullMatch, $atRuleAndFollowingWhitespace, $atRuleName) = $matches;
428
- if (\strtolower($atRuleName) === 'import') {
429
- $importRules .= $atRuleAndFollowingWhitespace;
430
  }
431
- $possiblyModifiedCss = \substr($possiblyModifiedCss, \strlen($fullMatch));
432
  }
433
- return [$possiblyModifiedCss, $importRules];
434
  }
435
  /**
436
  * Find the nodes that are not to be emogrified.
437
  *
438
- * @return \DOMElement[]
439
  *
440
- * @throws SyntaxErrorException
 
441
  */
442
- private function getNodesToExclude()
443
  {
444
  $excludedNodes = [];
445
  foreach (\array_keys($this->excludedSelectors) as $selectorToExclude) {
446
  try {
447
- $matchingNodes = $this->xPath->query($this->getCssSelectorConverter()->toXPath($selectorToExclude));
448
- } catch (SyntaxErrorException $e) {
 
 
 
 
 
 
 
449
  if ($this->debug) {
450
  throw $e;
451
  }
452
- continue;
453
- }
454
- foreach ($matchingNodes as $node) {
455
- $excludedNodes[] = $node;
456
  }
457
  }
458
  return $excludedNodes;
@@ -460,89 +464,139 @@ class CssInliner extends AbstractHtmlProcessor
460
  /**
461
  * @return CssSelectorConverter
462
  */
463
- private function getCssSelectorConverter()
464
  {
465
- if ($this->cssSelectorConverter === null) {
466
  $this->cssSelectorConverter = new CssSelectorConverter();
467
  }
468
  return $this->cssSelectorConverter;
469
  }
470
  /**
471
- * Extracts and parses the individual rules from a CSS string.
472
- *
473
- * @param string $css a string of raw CSS code with comments removed
474
- *
475
- * @return string[][][] A 2-entry array with the key "inlinable" containing rules which can be inlined as `style`
476
- * attributes and the key "uninlinable" containing rules which cannot. Each value is an array of string
477
- * sub-arrays with the keys
478
- * "media" (the media query string, e.g. "@media screen and (max-width: 480px)",
479
- * or an empty string if not from a `@media` rule),
480
- * "selector" (the CSS selector, e.g., "*" or "header h1"),
481
- * "hasUnmatchablePseudo" (true if that selector contains pseudo-elements or dynamic pseudo-classes
482
- * such that the declarations cannot be applied inline),
483
- * "declarationsBlock" (the semicolon-separated CSS declarations for that selector,
484
- * e.g., "color: red; height: 4px;"),
485
- * and "line" (the line number e.g. 42)
486
- */
487
- private function parseCssRules($css)
488
- {
489
- $cssKey = \md5($css);
490
- if (isset($this->caches[self::CACHE_KEY_CSS][$cssKey])) {
491
- return $this->caches[self::CACHE_KEY_CSS][$cssKey];
492
- }
493
- $matches = $this->getCssRuleMatches($css);
 
 
 
494
  $cssRules = ['inlinable' => [], 'uninlinable' => []];
495
- /** @var string[][] $matches */
496
- /** @var string[] $cssRule */
497
  foreach ($matches as $key => $cssRule) {
498
- $cssDeclaration = \trim($cssRule['declarations']);
499
- if ($cssDeclaration === '') {
500
  continue;
501
  }
502
- foreach (\explode(',', $cssRule['selectors']) as $selector) {
 
 
503
  // don't process pseudo-elements and behavioral (dynamic) pseudo-classes;
504
  // only allow structural pseudo-classes
505
  $hasPseudoElement = \strpos($selector, '::') !== \false;
506
- $hasUnsupportedPseudoClass = (bool) \preg_match('/:(?!' . self::PSEUDO_CLASS_MATCHER . ')[\\w\\-]/i', $selector);
507
- $hasUnmatchablePseudo = $hasPseudoElement || $hasUnsupportedPseudoClass;
508
  $parsedCssRule = [
509
- 'media' => $cssRule['media'],
510
- 'selector' => \trim($selector),
511
  'hasUnmatchablePseudo' => $hasUnmatchablePseudo,
512
- 'declarationsBlock' => $cssDeclaration,
513
  // keep track of where it appears in the file, since order is important
514
  'line' => $key,
515
  ];
516
- $ruleType = $cssRule['media'] === '' && !$hasUnmatchablePseudo ? 'inlinable' : 'uninlinable';
517
  $cssRules[$ruleType][] = $parsedCssRule;
518
  }
519
  }
520
- \usort($cssRules['inlinable'], [$this, 'sortBySelectorPrecedence']);
521
- $this->caches[self::CACHE_KEY_CSS][$cssKey] = $cssRules;
 
 
 
 
 
 
 
 
522
  return $cssRules;
523
  }
524
  /**
525
- * @param string[] $a
526
- * @param string[] $b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
527
  *
528
  * @return int
529
  */
530
- private function sortBySelectorPrecedence(array $a, array $b)
531
  {
532
- $precedenceA = $this->getCssSelectorPrecedence($a['selector']);
533
- $precedenceB = $this->getCssSelectorPrecedence($b['selector']);
534
  // We want these sorted in ascending order so selectors with lesser precedence get processed first and
535
  // selectors with greater precedence get sorted last.
536
- $precedenceForEquals = $a['line'] < $b['line'] ? -1 : 1;
537
- $precedenceForNotEquals = $precedenceA < $precedenceB ? -1 : 1;
538
- return $precedenceA === $precedenceB ? $precedenceForEquals : $precedenceForNotEquals;
539
  }
540
  /**
541
  * @param string $selector
542
  *
543
  * @return int
544
  */
545
- private function getCssSelectorPrecedence($selector)
546
  {
547
  $selectorKey = \md5($selector);
548
  if (isset($this->caches[self::CACHE_KEY_SELECTOR][$selectorKey])) {
@@ -555,104 +609,29 @@ class CssInliner extends AbstractHtmlProcessor
555
  }
556
  $number = 0;
557
  $selector = \preg_replace('/' . $matcher . '\\w+/', '', $selector, -1, $number);
558
- $precedence += $value * $number;
559
  }
560
  $this->caches[self::CACHE_KEY_SELECTOR][$selectorKey] = $precedence;
561
  return $precedence;
562
  }
563
- /**
564
- * Parses a string of CSS into the media query, selectors and declarations for each ruleset in order.
565
- *
566
- * @param string $css CSS with comments removed
567
- *
568
- * @return string[][] Array of string sub-arrays with the keys
569
- * "media" (the media query string, e.g. "@media screen and (max-width: 480px)",
570
- * or an empty string if not from an `@media` rule),
571
- * "selectors" (the CSS selector(s), e.g., "*" or "h1, h2"),
572
- * "declarations" (the semicolon-separated CSS declarations for that/those selector(s),
573
- * e.g., "color: red; height: 4px;"),
574
- */
575
- private function getCssRuleMatches($css)
576
- {
577
- $splitCss = $this->splitCssAndMediaQuery($css);
578
- $ruleMatches = [];
579
- foreach ($splitCss as $cssPart) {
580
- // process each part for selectors and definitions
581
- \preg_match_all('/(?:^|[\\s^{}]*)([^{]+){([^}]*)}/mi', $cssPart['css'], $matches, \PREG_SET_ORDER);
582
- /** @var string[][] $matches */
583
- foreach ($matches as $cssRule) {
584
- $ruleMatches[] = ['media' => $cssPart['media'], 'selectors' => $cssRule[1], 'declarations' => $cssRule[2]];
585
- }
586
- }
587
- return $ruleMatches;
588
- }
589
- /**
590
- * Splits input CSS code into an array of parts for different media queries, in order.
591
- * Each part is an array where:
592
- *
593
- * - key "css" will contain clean CSS code (for @media rules this will be the group rule body within "{...}")
594
- * - key "media" will contain "@media " followed by the media query list, for all allowed media queries,
595
- * or an empty string for CSS not within a media query
596
- *
597
- * Example:
598
- *
599
- * The CSS code
600
- *
601
- * "@import "file.css"; h1 { color:red; } @media { h1 {}} @media tv { h1 {}}"
602
- *
603
- * will be parsed into the following array:
604
- *
605
- * 0 => [
606
- * "css" => "h1 { color:red; }",
607
- * "media" => ""
608
- * ],
609
- * 1 => [
610
- * "css" => " h1 {}",
611
- * "media" => "@media "
612
- * ]
613
- *
614
- * @param string $css
615
- *
616
- * @return string[][]
617
- */
618
- private function splitCssAndMediaQuery($css)
619
- {
620
- $mediaTypesExpression = '';
621
- if (!empty($this->allowedMediaTypes)) {
622
- $mediaTypesExpression = '|' . \implode('|', \array_keys($this->allowedMediaTypes));
623
- }
624
- $mediaRuleBodyMatcher = '[^{]*+{(?:[^{}]*+{.*})?\\s*+}\\s*+';
625
- $cssSplitForAllowedMediaTypes = \preg_split('#(@media\\s++(?:only\\s++)?+(?:(?=[{(])' . $mediaTypesExpression . ')' . $mediaRuleBodyMatcher . ')#misU', $css, -1, \PREG_SPLIT_DELIM_CAPTURE);
626
- // filter the CSS outside/between allowed @media rules
627
- $cssCleaningMatchers = ['import/charset directives' => '/\\s*+@(?:import|charset)\\s[^;]++;/i', 'remaining media enclosures' => '/\\s*+@media\\s' . $mediaRuleBodyMatcher . '/isU'];
628
- $splitCss = [];
629
- foreach ($cssSplitForAllowedMediaTypes as $index => $cssPart) {
630
- $isMediaRule = $index % 2 !== 0;
631
- if ($isMediaRule) {
632
- \preg_match('/^([^{]*+){(.*)}[^}]*+$/s', $cssPart, $matches);
633
- $splitCss[] = ['css' => $matches[2], 'media' => $matches[1]];
634
- } else {
635
- $cleanedCss = \trim(\preg_replace($cssCleaningMatchers, '', $cssPart));
636
- if ($cleanedCss !== '') {
637
- $splitCss[] = ['css' => $cleanedCss, 'media' => ''];
638
- }
639
- }
640
- }
641
- return $splitCss;
642
- }
643
  /**
644
  * Copies $cssRule into the style attribute of $node.
645
  *
646
  * Note: This method does not check whether $cssRule matches $node.
647
  *
648
  * @param \DOMElement $node
649
- * @param string[][] $cssRule
650
- *
651
- * @return void
652
- */
653
- private function copyInlinableCssToStyleAttribute(\DOMElement $node, array $cssRule)
654
- {
655
- $newStyleDeclarations = $this->parseCssDeclarationsBlock($cssRule['declarationsBlock']);
 
 
 
 
 
656
  if ($newStyleDeclarations === []) {
657
  return;
658
  }
@@ -671,12 +650,12 @@ class CssInliner extends AbstractHtmlProcessor
671
  * This becomes the single point for CSS string generation allowing for consistent
672
  * CSS output no matter where the CSS originally came from.
673
  *
674
- * @param string[] $oldStyles
675
- * @param string[] $newStyles
676
  *
677
  * @return string
678
  */
679
- private function generateStyleStringFromDeclarationsArrays(array $oldStyles, array $newStyles)
680
  {
681
  $cacheKey = \serialize([$oldStyles, $newStyles]);
682
  if (isset($this->caches[self::CACHE_KEY_COMBINED_STYLES][$cacheKey])) {
@@ -710,16 +689,14 @@ class CssInliner extends AbstractHtmlProcessor
710
  *
711
  * @return bool
712
  */
713
- private function attributeValueIsImportant($attributeValue)
714
  {
715
- return \strtolower(\substr(\trim($attributeValue), -10)) === '!important';
716
  }
717
  /**
718
  * Merges styles from styles attributes and style nodes and applies them to the attribute nodes
719
- *
720
- * @return void
721
  */
722
- private function fillStyleAttributesWithMergedStyles()
723
  {
724
  foreach ($this->styleAttributesForNodes as $nodePath => $styleAttributesForNode) {
725
  $node = $this->visitedNodes[$nodePath];
@@ -731,10 +708,11 @@ class CssInliner extends AbstractHtmlProcessor
731
  * Searches for all nodes with a style attribute and removes the "!important" annotations out of
732
  * the inline style declarations, eventually by rearranging declarations.
733
  *
734
- * @return void
735
  */
736
- private function removeImportantAnnotationFromAllInlineStyles()
737
  {
 
738
  foreach ($this->getAllNodesWithStyleAttribute() as $node) {
739
  $this->removeImportantAnnotationFromNodeInlineStyle($node);
740
  }
@@ -749,16 +727,18 @@ class CssInliner extends AbstractHtmlProcessor
749
  *
750
  * @param \DOMElement $node
751
  *
752
- * @return void
753
  */
754
- private function removeImportantAnnotationFromNodeInlineStyle(\DOMElement $node)
755
  {
756
  $inlineStyleDeclarations = $this->parseCssDeclarationsBlock($node->getAttribute('style'));
 
757
  $regularStyleDeclarations = [];
 
758
  $importantStyleDeclarations = [];
759
  foreach ($inlineStyleDeclarations as $property => $value) {
760
  if ($this->attributeValueIsImportant($value)) {
761
- $importantStyleDeclarations[$property] = \trim(\str_replace('!important', '', $value));
762
  } else {
763
  $regularStyleDeclarations[$property] = $value;
764
  }
@@ -769,11 +749,11 @@ class CssInliner extends AbstractHtmlProcessor
769
  /**
770
  * Generates a CSS style string suitable to be used inline from the $styleDeclarations property => value array.
771
  *
772
- * @param string[] $styleDeclarations
773
  *
774
  * @return string
775
  */
776
- private function generateStyleStringFromSingleDeclarationsArray(array $styleDeclarations)
777
  {
778
  return $this->generateStyleStringFromDeclarationsArrays([], $styleDeclarations);
779
  }
@@ -781,13 +761,20 @@ class CssInliner extends AbstractHtmlProcessor
781
  * Determines which of `$cssRules` actually apply to `$this->domDocument`, and sets them in
782
  * `$this->matchingUninlinableCssRules`.
783
  *
784
- * @param string[][] $cssRules the "uninlinable" array of CSS rules returned by `parseCssRules`
785
- *
786
- * @return void
 
 
 
 
 
787
  */
788
- private function determineMatchingUninlinableCssRules(array $cssRules)
789
  {
790
- $this->matchingUninlinableCssRules = \array_filter($cssRules, [$this, 'existsMatchForSelectorInCssRule']);
 
 
791
  }
792
  /**
793
  * Checks whether there is at least one matching element for the CSS selector contained in the `selector` element
@@ -796,13 +783,19 @@ class CssInliner extends AbstractHtmlProcessor
796
  * Any dynamic pseudo-classes will be assumed to apply. If the selector matches a pseudo-element,
797
  * it will test for a match with its originating element.
798
  *
799
- * @param string[] $cssRule
 
 
 
 
 
 
800
  *
801
  * @return bool
802
  *
803
- * @throws SyntaxErrorException
804
  */
805
- private function existsMatchForSelectorInCssRule(array $cssRule)
806
  {
807
  $selector = $cssRule['selector'];
808
  if ($cssRule['hasUnmatchablePseudo']) {
@@ -819,13 +812,13 @@ class CssInliner extends AbstractHtmlProcessor
819
  *
820
  * @return bool
821
  *
822
- * @throws SyntaxErrorException
823
  */
824
- private function existsMatchForCssSelector($cssSelector)
825
  {
826
  try {
827
- $nodesMatchingSelector = $this->xPath->query($this->getCssSelectorConverter()->toXPath($cssSelector));
828
- } catch (SyntaxErrorException $e) {
829
  if ($this->debug) {
830
  throw $e;
831
  }
@@ -839,53 +832,99 @@ class CssInliner extends AbstractHtmlProcessor
839
  *
840
  * @param string $selector
841
  *
842
- * @return string Selector which will match the relevant DOM elements if the pseudo-classes are assumed to apply,
843
- * or in the case of pseudo-elements will match their originating element.
 
844
  */
845
- private function removeUnmatchablePseudoComponents($selector)
846
  {
847
  // The regex allows nested brackets via `(?2)`.
848
  // A space is temporarily prepended because the callback can't determine if the match was at the very start.
849
- $selectorWithoutNots = \ltrim(\preg_replace_callback('/(\\s?+):not(\\([^()]*+(?:(?2)[^()]*+)*+\\))/i', [$this, 'replaceUnmatchableNotComponent'], ' ' . $selector));
850
- $pseudoComponentMatcher = ':(?!' . self::PSEUDO_CLASS_MATCHER . '):?+[\\w\\-]++(?:\\([^\\)]*+\\))?+';
851
- return \preg_replace(['/(\\s|^)' . $pseudoComponentMatcher . '/i', '/' . $pseudoComponentMatcher . '/i'], ['$1*', ''], $selectorWithoutNots);
 
 
 
 
 
 
 
 
 
 
 
 
852
  }
853
  /**
854
  * Helps `removeUnmatchablePseudoComponents()` replace or remove a selector `:not(...)` component if its argument
855
  * contains pseudo-elements or dynamic pseudo-classes.
856
  *
857
- * @param string[] $matches array of elements matched by the regular expression
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
858
  *
859
- * @return string the full match if there were no unmatchable pseudo components within; otherwise, any preceding
860
- * whitespace followed by "*", or an empty string if there was no preceding whitespace
861
  */
862
- private function replaceUnmatchableNotComponent(array $matches)
863
  {
864
- list($notComponentWithAnyPrecedingWhitespace, $anyPrecedingWhitespace, $notArgumentInBrackets) = $matches;
865
- $hasUnmatchablePseudo = \preg_match('/:(?!' . self::PSEUDO_CLASS_MATCHER . ')[\\w\\-:]/i', $notArgumentInBrackets);
866
- if ($hasUnmatchablePseudo) {
867
- return $anyPrecedingWhitespace !== '' ? $anyPrecedingWhitespace . '*' : '';
868
  }
869
- return $notComponentWithAnyPrecedingWhitespace;
870
  }
871
  /**
872
  * Applies `$this->matchingUninlinableCssRules` to `$this->domDocument` by placing them as CSS in a `<style>`
873
  * element.
 
 
 
874
  *
875
- * @param string $cssImportRules This may contain any `@import` rules that should precede the CSS placed in the
876
- * `<style>` element. If there are no unlinlinable CSS rules to copy there, a `<style>` element will be
877
- * created containing just `$cssImportRules`. `$cssImportRules` may be an empty string; if it is, and there
878
- * are no unlinlinable CSS rules, an empty `<style>` element will not be created.
879
- *
880
- * @return void
881
  */
882
- private function copyUninlinableCssToStyleNode($cssImportRules)
883
  {
884
- $css = $cssImportRules;
885
  // avoid including unneeded class dependency if there are no rules
886
- if ($this->matchingUninlinableCssRules !== []) {
887
  $cssConcatenator = new CssConcatenator();
888
- foreach ($this->matchingUninlinableCssRules as $cssRule) {
889
  $cssConcatenator->append([$cssRule['selector']], $cssRule['declarationsBlock'], $cssRule['media']);
890
  }
891
  $css .= $cssConcatenator->getCss();
@@ -903,13 +942,12 @@ class CssInliner extends AbstractHtmlProcessor
903
  * @see https://github.com/MyIntervals/emogrifier/issues/103
904
  *
905
  * @param string $css
906
- *
907
- * @return void
908
  */
909
- protected function addStyleElementToDocument($css)
910
  {
911
- $styleElement = $this->domDocument->createElement('style', $css);
912
- $styleAttribute = $this->domDocument->createAttribute('type');
 
913
  $styleAttribute->value = 'text/css';
914
  $styleElement->appendChild($styleAttribute);
915
  $headElement = $this->getHeadElement();
@@ -921,9 +959,58 @@ class CssInliner extends AbstractHtmlProcessor
921
  * This method assumes that there always is a HEAD element.
922
  *
923
  * @return \DOMElement
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
924
  */
925
- private function getHeadElement()
926
  {
927
- return $this->domDocument->getElementsByTagName('head')->item(0);
 
 
 
 
 
 
 
 
 
928
  }
929
  }
1
  <?php
2
 
3
+ declare (strict_types=1);
4
  namespace ProfilePressVendor\Pelago\Emogrifier;
5
 
6
+ use ProfilePressVendor\Pelago\Emogrifier\Css\CssDocument;
7
  use ProfilePressVendor\Pelago\Emogrifier\HtmlProcessor\AbstractHtmlProcessor;
8
  use ProfilePressVendor\Pelago\Emogrifier\Utilities\CssConcatenator;
9
  use ProfilePressVendor\Symfony\Component\CssSelector\CssSelectorConverter;
10
+ use ProfilePressVendor\Symfony\Component\CssSelector\Exception\ParseException;
11
  /**
12
  * This class provides functions for converting CSS styles into inline style attributes in your HTML code.
 
 
 
 
 
 
 
 
 
 
 
13
  */
14
  class CssInliner extends AbstractHtmlProcessor
15
  {
16
  /**
17
  * @var int
18
  */
19
+ private const CACHE_KEY_SELECTOR = 0;
20
  /**
21
  * @var int
22
  */
23
+ private const CACHE_KEY_CSS_DECLARATIONS_BLOCK = 1;
24
  /**
25
  * @var int
26
  */
27
+ private const CACHE_KEY_COMBINED_STYLES = 2;
 
 
 
 
28
  /**
29
  * Regular expression component matching a static pseudo class in a selector, without the preceding ":",
30
  * for which the applicable elements can be determined (by converting the selector to an XPath expression).
33
  *
34
  * @var string
35
  */
36
+ private const PSEUDO_CLASS_MATCHER = 'empty|(?:first|last|nth(?:-last)?+|only)-(?:child|of-type)|not\\([[:ascii:]]*\\)';
37
+ /**
38
+ * This regular expression componenet matches an `...of-type` pseudo class name, without the preceding ":". These
39
+ * pseudo-classes can currently online be inlined if they have an associated type in the selector expression.
40
+ *
41
+ * @var string
42
+ */
43
+ private const OF_TYPE_PSEUDO_CLASS_MATCHER = '(?:first|last|nth(?:-last)?+|only)-of-type';
44
+ /**
45
+ * regular expression component to match a selector combinator
46
+ *
47
+ * @var string
48
+ */
49
+ private const COMBINATOR_MATCHER = '(?:\\s++|\\s*+[>+~]\\s*+)(?=[[:alpha:]_\\-.#*:\\[])';
50
  /**
51
+ * @var array<string, bool>
52
  */
53
  private $excludedSelectors = [];
54
  /**
55
+ * @var array<string, bool>
56
  */
57
  private $allowedMediaTypes = ['all' => \true, 'screen' => \true, 'print' => \true];
58
  /**
59
+ * @var array{
60
+ * 0: array<string, int>,
61
+ * 1: array<string, array<string, string>>,
62
+ * 2: array<string, string>
63
+ * }
64
  */
65
+ private $caches = [self::CACHE_KEY_SELECTOR => [], self::CACHE_KEY_CSS_DECLARATIONS_BLOCK => [], self::CACHE_KEY_COMBINED_STYLES => []];
66
  /**
67
+ * @var ?CssSelectorConverter
68
  */
69
  private $cssSelectorConverter = null;
70
  /**
71
  * the visited nodes with the XPath paths as array keys
72
  *
73
+ * @var array<string, \DOMElement>
74
  */
75
  private $visitedNodes = [];
76
  /**
77
  * the styles to apply to the nodes with the XPath paths as array keys for the outer array
78
  * and the attribute names/values as key/value pairs for the inner array
79
  *
80
+ * @var array<string, array<string, string>>
81
  */
82
  private $styleAttributesForNodes = [];
83
  /**
88
  */
89
  private $isInlineStyleAttributesParsingEnabled = \true;
90
  /**
91
+ * Determines whether the `<style>` blocks in the HTML passed to this class should be parsed.
92
  *
93
+ * If set to true, the `<style>` blocks will be removed from the HTML and their contents will be applied to the HTML
94
  * via inline styles.
95
  *
96
+ * If set to false, the `<style>` blocks will be left as they are in the HTML.
97
  *
98
  * @var bool
99
  */
103
  * Keys are a regular expression part to match before a CSS name.
104
  * Values are a multiplier factor per match to weight specificity.
105
  *
106
+ * @var array<string, int>
107
  */
108
  private $selectorPrecedenceMatchers = [
109
  // IDs: worth 10000
115
  ];
116
  /**
117
  * array of data describing CSS rules which apply to the document but cannot be inlined, in the format returned by
118
+ * {@see collateCssRules}
119
  *
120
+ * @var array<array-key, array{
121
+ * media: string,
122
+ * selector: string,
123
+ * hasUnmatchablePseudo: bool,
124
+ * declarationsBlock: string,
125
+ * line: int
126
+ * }>|null
127
  */
128
  private $matchingUninlinableCssRules = null;
129
  /**
139
  *
140
  * @return self fluent interface
141
  *
142
+ * @throws ParseException in debug mode, if an invalid selector is encountered
143
+ * @throws \RuntimeException in debug mode, if an internal PCRE error occurs
144
  */
145
+ public function inlineCss(string $css = '') : self
146
  {
147
  $this->clearAllCaches();
148
  $this->purgeVisitedNodes();
153
  if ($this->isStyleBlocksParsingEnabled) {
154
  $combinedCss .= $this->getCssFromAllStyleNodes();
155
  }
156
+ $parsedCss = new CssDocument($combinedCss);
 
157
  $excludedNodes = $this->getNodesToExclude();
158
+ $cssRules = $this->collateCssRules($parsedCss);
159
  $cssSelectorConverter = $this->getCssSelectorConverter();
160
  foreach ($cssRules['inlinable'] as $cssRule) {
161
  try {
162
+ $nodesMatchingCssSelectors = $this->getXPath()->query($cssSelectorConverter->toXPath($cssRule['selector']));
163
+ /** @var \DOMElement $node */
164
+ foreach ($nodesMatchingCssSelectors as $node) {
165
+ if (\in_array($node, $excludedNodes, \true)) {
166
+ continue;
167
+ }
168
+ $this->copyInlinableCssToStyleAttribute($node, $cssRule);
169
+ }
170
+ } catch (ParseException $e) {
171
  if ($this->debug) {
172
  throw $e;
173
  }
 
 
 
 
 
 
 
 
174
  }
175
  }
176
  if ($this->isInlineStyleAttributesParsingEnabled) {
178
  }
179
  $this->removeImportantAnnotationFromAllInlineStyles();
180
  $this->determineMatchingUninlinableCssRules($cssRules['uninlinable']);
181
+ $this->copyUninlinableCssToStyleNode($parsedCss);
182
  return $this;
183
  }
184
  /**
185
  * Disables the parsing of inline styles.
186
  *
187
+ * @return self fluent interface
188
  */
189
+ public function disableInlineStyleAttributesParsing() : self
190
  {
191
  $this->isInlineStyleAttributesParsingEnabled = \false;
192
+ return $this;
193
  }
194
  /**
195
+ * Disables the parsing of `<style>` blocks.
196
  *
197
+ * @return self fluent interface
198
  */
199
+ public function disableStyleBlocksParsing() : self
200
  {
201
  $this->isStyleBlocksParsingEnabled = \false;
202
+ return $this;
203
  }
204
  /**
205
  * Marks a media query type to keep.
206
  *
207
  * @param string $mediaName the media type name, e.g., "braille"
208
  *
209
+ * @return self fluent interface
210
  */
211
+ public function addAllowedMediaType(string $mediaName) : self
212
  {
213
  $this->allowedMediaTypes[$mediaName] = \true;
214
+ return $this;
215
  }
216
  /**
217
  * Drops a media query type from the allowed list.
218
  *
219
  * @param string $mediaName the tag name, e.g., "braille"
220
  *
221
+ * @return self fluent interface
222
  */
223
+ public function removeAllowedMediaType(string $mediaName) : self
224
  {
225
  if (isset($this->allowedMediaTypes[$mediaName])) {
226
  unset($this->allowedMediaTypes[$mediaName]);
227
  }
228
+ return $this;
229
  }
230
  /**
231
  * Adds a selector to exclude nodes from emogrification.
234
  *
235
  * @param string $selector the selector to exclude, e.g., ".editor"
236
  *
237
+ * @return self fluent interface
238
  */
239
+ public function addExcludedSelector(string $selector) : self
240
  {
241
  $this->excludedSelectors[$selector] = \true;
242
+ return $this;
243
  }
244
  /**
245
  * No longer excludes the nodes matching this selector from emogrification.
246
  *
247
  * @param string $selector the selector to no longer exclude, e.g., ".editor"
248
  *
249
+ * @return self fluent interface
250
  */
251
+ public function removeExcludedSelector(string $selector) : self
252
  {
253
  if (isset($this->excludedSelectors[$selector])) {
254
  unset($this->excludedSelectors[$selector]);
255
  }
256
+ return $this;
257
  }
258
  /**
259
  * Sets the debug mode.
260
  *
261
  * @param bool $debug set to true to enable debug mode
262
  *
263
+ * @return self fluent interface
264
  */
265
+ public function setDebug(bool $debug) : self
266
  {
267
  $this->debug = $debug;
268
+ return $this;
269
  }
270
  /**
271
  * Gets the array of selectors present in the CSS provided to `inlineCss()` for which the declarations could not be
273
  * `<style>` element. The selectors may include those used within `@media` rules or those involving dynamic
274
  * pseudo-classes (such as `:hover`) or pseudo-elements (such as `::after`).
275
  *
276
+ * @return array<array-key, string>
277
+ *
278
+ * @throws \BadMethodCallException if `inlineCss` has not been called first
279
+ */
280
+ public function getMatchingUninlinableSelectors() : array
281
+ {
282
+ return \array_column($this->getMatchingUninlinableCssRules(), 'selector');
283
+ }
284
+ /**
285
+ * @return array<array-key, array{
286
+ * media: string,
287
+ * selector: string,
288
+ * hasUnmatchablePseudo: bool,
289
+ * declarationsBlock: string,
290
+ * line: int
291
+ * }>
292
  *
293
  * @throws \BadMethodCallException if `inlineCss` has not been called first
294
  */
295
+ private function getMatchingUninlinableCssRules() : array
296
  {
297
+ if (!\is_array($this->matchingUninlinableCssRules)) {
298
  throw new \BadMethodCallException('inlineCss must be called first', 1568385221);
299
  }
300
+ return $this->matchingUninlinableCssRules;
301
  }
302
  /**
303
  * Clears all caches.
 
 
304
  */
305
+ private function clearAllCaches() : void
306
  {
307
+ $this->caches = [self::CACHE_KEY_SELECTOR => [], self::CACHE_KEY_CSS_DECLARATIONS_BLOCK => [], self::CACHE_KEY_COMBINED_STYLES => []];
308
  }
309
  /**
310
  * Purges the visited nodes.
 
 
311
  */
312
+ private function purgeVisitedNodes() : void
313
  {
314
  $this->visitedNodes = [];
315
  $this->styleAttributesForNodes = [];
319
  * This changes 'DISPLAY: none' to 'display: none'.
320
  * We wouldn't have to do this if DOMXPath supported XPath 2.0.
321
  * Also stores a reference of nodes with existing inline styles so we don't overwrite them.
 
 
322
  */
323
+ private function normalizeStyleAttributesOfAllNodes() : void
324
  {
325
  /** @var \DOMElement $node */
326
  foreach ($this->getAllNodesWithStyleAttribute() as $node) {
338
  * Returns a list with all DOM nodes that have a style attribute.
339
  *
340
  * @return \DOMNodeList
341
+ *
342
+ * @throws \RuntimeException
343
  */
344
+ private function getAllNodesWithStyleAttribute() : \DOMNodeList
345
  {
346
+ $query = '//*[@style]';
347
+ $matches = $this->getXPath()->query($query);
348
+ if (!$matches instanceof \DOMNodeList) {
349
+ throw new \RuntimeException('XPatch query failed: ' . $query, 1618577797);
350
+ }
351
+ return $matches;
352
  }
353
  /**
354
  * Normalizes the value of the "style" attribute and saves it.
355
  *
356
  * @param \DOMElement $node
 
 
357
  */
358
+ private function normalizeStyleAttributes(\DOMElement $node) : void
359
+ {
360
+ $normalizedOriginalStyle = \preg_replace_callback(
361
+ '/-?+[_a-zA-Z][\\w\\-]*+(?=:)/S',
362
+ /** @param array<array-key, string> $propertyNameMatches */
363
+ static function (array $propertyNameMatches) : string {
364
+ return \strtolower($propertyNameMatches[0]);
365
+ },
366
+ $node->getAttribute('style')
367
+ );
368
+ // In order to not overwrite existing style attributes in the HTML, we have to save the original HTML styles.
369
  $nodePath = $node->getNodePath();
370
+ if (\is_string($nodePath) && !isset($this->styleAttributesForNodes[$nodePath])) {
371
  $this->styleAttributesForNodes[$nodePath] = $this->parseCssDeclarationsBlock($normalizedOriginalStyle);
372
  $this->visitedNodes[$nodePath] = $node;
373
  }
389
  *
390
  * @param string $cssDeclarationsBlock the CSS declarations block without the curly braces, may be empty
391
  *
392
+ * @return array<string, string>
393
  * the CSS declarations with the property names as array keys and the property values as array values
394
  */
395
+ private function parseCssDeclarationsBlock(string $cssDeclarationsBlock) : array
396
  {
397
  if (isset($this->caches[self::CACHE_KEY_CSS_DECLARATIONS_BLOCK][$cssDeclarationsBlock])) {
398
  return $this->caches[self::CACHE_KEY_CSS_DECLARATIONS_BLOCK][$cssDeclarationsBlock];
399
  }
400
  $properties = [];
401
  foreach (\preg_split('/;(?!base64|charset)/', $cssDeclarationsBlock) as $declaration) {
402
+ /** @var array<int, string> $matches */
403
  $matches = [];
404
  if (!\preg_match('/^([A-Za-z\\-]+)\\s*:\\s*(.+)$/s', \trim($declaration), $matches)) {
405
  continue;
416
  *
417
  * @return string
418
  */
419
+ private function getCssFromAllStyleNodes() : string
420
  {
421
+ $styleNodes = $this->getXPath()->query('//style');
422
  if ($styleNodes === \false) {
423
  return '';
424
  }
425
  $css = '';
 
426
  foreach ($styleNodes as $styleNode) {
427
  $css .= "\n\n" . $styleNode->nodeValue;
428
+ $parentNode = $styleNode->parentNode;
429
+ if ($parentNode instanceof \DOMNode) {
430
+ $parentNode->removeChild($styleNode);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
431
  }
 
432
  }
433
+ return $css;
434
  }
435
  /**
436
  * Find the nodes that are not to be emogrified.
437
  *
438
+ * @return array<int, \DOMElement>
439
  *
440
+ * @throws ParseException
441
+ * @throws \UnexpectedValueException
442
  */
443
+ private function getNodesToExclude() : array
444
  {
445
  $excludedNodes = [];
446
  foreach (\array_keys($this->excludedSelectors) as $selectorToExclude) {
447
  try {
448
+ $matchingNodes = $this->getXPath()->query($this->getCssSelectorConverter()->toXPath($selectorToExclude));
449
+ foreach ($matchingNodes as $node) {
450
+ if (!$node instanceof \DOMElement) {
451
+ $path = $node->getNodePath() ?? '$node';
452
+ throw new \UnexpectedValueException($path . ' is not a DOMElement.', 1617975914);
453
+ }
454
+ $excludedNodes[] = $node;
455
+ }
456
+ } catch (ParseException $e) {
457
  if ($this->debug) {
458
  throw $e;
459
  }
 
 
 
 
460
  }
461
  }
462
  return $excludedNodes;
464
  /**
465
  * @return CssSelectorConverter
466
  */
467
+ private function getCssSelectorConverter() : CssSelectorConverter
468
  {
469
+ if (!$this->cssSelectorConverter instanceof CssSelectorConverter) {
470
  $this->cssSelectorConverter = new CssSelectorConverter();
471
  }
472
  return $this->cssSelectorConverter;
473
  }
474
  /**
475
+ * Collates the individual rules from a `CssDocument` object.
476
+ *
477
+ * @param CssDocument $parsedCss
478
+ *
479
+ * @return array<string, array<array-key, array{
480
+ * media: string,
481
+ * selector: string,
482
+ * hasUnmatchablePseudo: bool,
483
+ * declarationsBlock: string,
484
+ * line: int
485
+ * }>>
486
+ * This 2-entry array has the key "inlinable" containing rules which can be inlined as `style` attributes
487
+ * and the key "uninlinable" containing rules which cannot. Each value is an array of sub-arrays with the
488
+ * following keys:
489
+ * - "media" (the media query string, e.g. "@media screen and (max-width: 480px)",
490
+ * or an empty string if not from a `@media` rule);
491
+ * - "selector" (the CSS selector, e.g., "*" or "header h1");
492
+ * - "hasUnmatchablePseudo" (`true` if that selector contains pseudo-elements or dynamic pseudo-classes such
493
+ * that the declarations cannot be applied inline);
494
+ * - "declarationsBlock" (the semicolon-separated CSS declarations for that selector,
495
+ * e.g., `color: red; height: 4px;`);
496
+ * - "line" (the line number, e.g. 42).
497
+ */
498
+ private function collateCssRules(CssDocument $parsedCss) : array
499
+ {
500
+ $matches = $parsedCss->getStyleRulesData(\array_keys($this->allowedMediaTypes));
501
  $cssRules = ['inlinable' => [], 'uninlinable' => []];
 
 
502
  foreach ($matches as $key => $cssRule) {
503
+ if (!$cssRule->hasAtLeastOneDeclaration()) {
 
504
  continue;
505
  }
506
+ $mediaQuery = $cssRule->getContainingAtRule();
507
+ $declarationsBlock = $cssRule->getDeclarationAsText();
508
+ foreach ($cssRule->getSelectors() as $selector) {
509
  // don't process pseudo-elements and behavioral (dynamic) pseudo-classes;
510
  // only allow structural pseudo-classes
511
  $hasPseudoElement = \strpos($selector, '::') !== \false;
512
+ $hasUnmatchablePseudo = $hasPseudoElement || $this->hasUnsupportedPseudoClass($selector);
 
513
  $parsedCssRule = [
514
+ 'media' => $mediaQuery,
515
+ 'selector' => $selector,
516
  'hasUnmatchablePseudo' => $hasUnmatchablePseudo,
517
+ 'declarationsBlock' => $declarationsBlock,
518
  // keep track of where it appears in the file, since order is important
519
  'line' => $key,
520
  ];
521
+ $ruleType = !$cssRule->hasContainingAtRule() && !$hasUnmatchablePseudo ? 'inlinable' : 'uninlinable';
522
  $cssRules[$ruleType][] = $parsedCssRule;
523
  }
524
  }
525
+ \usort(
526
+ $cssRules['inlinable'],
527
+ /**
528
+ * @param array{selector: string, line: int} $first
529
+ * @param array{selector: string, line: int} $second
530
+ */
531
+ function (array $first, array $second) : int {
532
+ return $this->sortBySelectorPrecedence($first, $second);
533
+ }
534
+ );
535
  return $cssRules;
536
  }
537
  /**
538
+ * Tests if a selector contains a pseudo-class which would mean it cannot be converted to an XPath expression for
539
+ * inlining CSS declarations.
540
+ *
541
+ * Any pseudo class that does not match {@see PSEUDO_CLASS_MATCHER} cannot be converted. Additionally, `...of-type`
542
+ * pseudo-classes cannot be converted if they are not associated with a type selector.
543
+ *
544
+ * @param string $selector
545
+ *
546
+ * @return bool
547
+ */
548
+ private function hasUnsupportedPseudoClass(string $selector) : bool
549
+ {
550
+ if (\preg_match('/:(?!' . self::PSEUDO_CLASS_MATCHER . ')[\\w\\-]/i', $selector)) {
551
+ return \true;
552
+ }
553
+ if (!\preg_match('/:(?:' . self::OF_TYPE_PSEUDO_CLASS_MATCHER . ')/i', $selector)) {
554
+ return \false;
555
+ }
556
+ foreach (\preg_split('/' . self::COMBINATOR_MATCHER . '/', $selector) as $selectorPart) {
557
+ if ($this->selectorPartHasUnsupportedOfTypePseudoClass($selectorPart)) {
558
+ return \true;
559
+ }
560
+ }
561
+ return \false;
562
+ }
563
+ /**
564
+ * Tests if part of a selector contains an `...of-type` pseudo-class such that it cannot be converted to an XPath
565
+ * expression.
566
+ *
567
+ * @param string $selectorPart part of a selector which has been split up at combinators
568
+ *
569
+ * @return bool `true` if the selector part does not have a type but does have an `...of-type` pseudo-class
570
+ */
571
+ private function selectorPartHasUnsupportedOfTypePseudoClass(string $selectorPart) : bool
572
+ {
573
+ if (\preg_match('/^[\\w\\-]/', $selectorPart)) {
574
+ return \false;
575
+ }
576
+ return (bool) \preg_match('/:(?:' . self::OF_TYPE_PSEUDO_CLASS_MATCHER . ')/i', $selectorPart);
577
+ }
578
+ /**
579
+ * @param array{selector: string, line: int} $first
580
+ * @param array{selector: string, line: int} $second
581
  *
582
  * @return int
583
  */
584
+ private function sortBySelectorPrecedence(array $first, array $second) : int
585
  {
586
+ $precedenceOfFirst = $this->getCssSelectorPrecedence($first['selector']);
587
+ $precedenceOfSecond = $this->getCssSelectorPrecedence($second['selector']);
588
  // We want these sorted in ascending order so selectors with lesser precedence get processed first and
589
  // selectors with greater precedence get sorted last.
590
+ $precedenceForEquals = $first['line'] < $second['line'] ? -1 : 1;
591
+ $precedenceForNotEquals = $precedenceOfFirst < $precedenceOfSecond ? -1 : 1;
592
+ return $precedenceOfFirst === $precedenceOfSecond ? $precedenceForEquals : $precedenceForNotEquals;
593
  }
594
  /**
595
  * @param string $selector
596
  *
597
  * @return int
598
  */
599
+ private function getCssSelectorPrecedence(string $selector) : int
600
  {
601
  $selectorKey = \md5($selector);
602
  if (isset($this->caches[self::CACHE_KEY_SELECTOR][$selectorKey])) {
609
  }
610
  $number = 0;
611
  $selector = \preg_replace('/' . $matcher . '\\w+/', '', $selector, -1, $number);
612
+ $precedence += $value * (int) $number;
613
  }
614
  $this->caches[self::CACHE_KEY_SELECTOR][$selectorKey] = $precedence;
615
  return $precedence;
616
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
617
  /**
618
  * Copies $cssRule into the style attribute of $node.
619
  *
620
  * Note: This method does not check whether $cssRule matches $node.
621
  *
622
  * @param \DOMElement $node
623
+ * @param array{
624
+ * media: string,
625
+ * selector: string,
626
+ * hasUnmatchablePseudo: bool,
627
+ * declarationsBlock: string,
628
+ * line: int
629
+ * } $cssRule
630
+ */
631
+ private function copyInlinableCssToStyleAttribute(\DOMElement $node, array $cssRule) : void
632
+ {
633
+ $declarationsBlock = $cssRule['declarationsBlock'];
634
+ $newStyleDeclarations = $this->parseCssDeclarationsBlock($declarationsBlock);
635
  if ($newStyleDeclarations === []) {
636
  return;
637
  }
650
  * This becomes the single point for CSS string generation allowing for consistent
651
  * CSS output no matter where the CSS originally came from.
652
  *
653
+ * @param array<string, string> $oldStyles
654
+ * @param array<string, string> $newStyles
655
  *
656
  * @return string
657
  */
658
+ private function generateStyleStringFromDeclarationsArrays(array $oldStyles, array $newStyles) : string
659
  {
660
  $cacheKey = \serialize([$oldStyles, $newStyles]);
661
  if (isset($this->caches[self::CACHE_KEY_COMBINED_STYLES][$cacheKey])) {
689
  *
690
  * @return bool
691
  */
692
+ private function attributeValueIsImportant(string $attributeValue) : bool
693
  {
694
+ return (bool) \preg_match('/!\\s*+important$/i', $attributeValue);
695
  }
696
  /**
697
  * Merges styles from styles attributes and style nodes and applies them to the attribute nodes
 
 
698
  */
699
+ private function fillStyleAttributesWithMergedStyles() : void
700
  {
701
  foreach ($this->styleAttributesForNodes as $nodePath => $styleAttributesForNode) {
702
  $node = $this->visitedNodes[$nodePath];
708
  * Searches for all nodes with a style attribute and removes the "!important" annotations out of
709
  * the inline style declarations, eventually by rearranging declarations.
710
  *
711
+ * @throws \RuntimeException
712
  */
713
+ private function removeImportantAnnotationFromAllInlineStyles() : void
714
  {
715
+ /** @var \DOMElement $node */
716
  foreach ($this->getAllNodesWithStyleAttribute() as $node) {
717
  $this->removeImportantAnnotationFromNodeInlineStyle($node);
718
  }
727
  *
728
  * @param \DOMElement $node
729
  *
730
+ * @throws \RuntimeException
731
  */
732
+ private function removeImportantAnnotationFromNodeInlineStyle(\DOMElement $node) : void
733
  {
734
  $inlineStyleDeclarations = $this->parseCssDeclarationsBlock($node->getAttribute('style'));
735
+ /** @var array<string, string> $regularStyleDeclarations */
736
  $regularStyleDeclarations = [];
737
+ /** @var array<string, string> $importantStyleDeclarations */
738
  $importantStyleDeclarations = [];
739
  foreach ($inlineStyleDeclarations as $property => $value) {
740
  if ($this->attributeValueIsImportant($value)) {
741
+ $importantStyleDeclarations[$property] = $this->pregReplace('/\\s*+!\\s*+important$/i', '', $value);
742
  } else {
743
  $regularStyleDeclarations[$property] = $value;
744
  }
749
  /**
750
  * Generates a CSS style string suitable to be used inline from the $styleDeclarations property => value array.
751
  *
752
+ * @param array<string, string> $styleDeclarations
753
  *
754
  * @return string
755
  */
756
+ private function generateStyleStringFromSingleDeclarationsArray(array $styleDeclarations) : string
757
  {
758
  return $this->generateStyleStringFromDeclarationsArrays([], $styleDeclarations);
759
  }
761
  * Determines which of `$cssRules` actually apply to `$this->domDocument`, and sets them in
762
  * `$this->matchingUninlinableCssRules`.
763
  *
764
+ * @param array<array-key, array{
765
+ * media: string,
766
+ * selector: string,
767
+ * hasUnmatchablePseudo: bool,
768
+ * declarationsBlock: string,
769
+ * line: int
770
+ * }> $cssRules
771
+ * the "uninlinable" array of CSS rules returned by `collateCssRules`
772
  */
773
+ private function determineMatchingUninlinableCssRules(array $cssRules) : void
774
  {
775
+ $this->matchingUninlinableCssRules = \array_filter($cssRules, function (array $cssRule) : bool {
776
+ return $this->existsMatchForSelectorInCssRule($cssRule);
777
+ });
778
  }
779
  /**
780
  * Checks whether there is at least one matching element for the CSS selector contained in the `selector` element
783
  * Any dynamic pseudo-classes will be assumed to apply. If the selector matches a pseudo-element,
784
  * it will test for a match with its originating element.
785
  *
786
+ * @param array{
787
+ * media: string,
788
+ * selector: string,
789
+ * hasUnmatchablePseudo: bool,
790
+ * declarationsBlock: string,
791
+ * line: int
792
+ * } $cssRule
793
  *
794
  * @return bool
795
  *
796
+ * @throws ParseException
797
  */
798
+ private function existsMatchForSelectorInCssRule(array $cssRule) : bool
799
  {
800
  $selector = $cssRule['selector'];
801
  if ($cssRule['hasUnmatchablePseudo']) {
812
  *
813
  * @return bool
814
  *
815
+ * @throws ParseException
816
  */
817
+ private function existsMatchForCssSelector(string $cssSelector) : bool
818
  {
819
  try {
820
+ $nodesMatchingSelector = $this->getXPath()->query($this->getCssSelectorConverter()->toXPath($cssSelector));
821
+ } catch (ParseException $e) {
822
  if ($this->debug) {
823
  throw $e;
824
  }
832
  *
833
  * @param string $selector
834
  *
835
+ * @return string
836
+ * selector which will match the relevant DOM elements if the pseudo-classes are assumed to apply, or in the
837
+ * case of pseudo-elements will match their originating element
838
  */
839
+ private function removeUnmatchablePseudoComponents(string $selector) : string
840
  {
841
  // The regex allows nested brackets via `(?2)`.
842
  // A space is temporarily prepended because the callback can't determine if the match was at the very start.
843
+ $selectorWithoutNots = \ltrim(\preg_replace_callback(
844
+ '/([\\s>+~]?+):not(\\([^()]*+(?:(?2)[^()]*+)*+\\))/i',
845
+ /** @param array<array-key, string> $matches */
846
+ function (array $matches) : string {
847
+ return $this->replaceUnmatchableNotComponent($matches);
848
+ },
849
+ ' ' . $selector
850
+ ));
851
+ $selectorWithoutUnmatchablePseudoComponents = $this->removeSelectorComponents(':(?!' . self::PSEUDO_CLASS_MATCHER . '):?+[\\w\\-]++(?:\\([^\\)]*+\\))?+', $selectorWithoutNots);
852
+ if (!\preg_match('/:(?:' . self::OF_TYPE_PSEUDO_CLASS_MATCHER . ')/i', $selectorWithoutUnmatchablePseudoComponents)) {
853
+ return $selectorWithoutUnmatchablePseudoComponents;
854
+ }
855
+ return \implode('', \array_map(function (string $selectorPart) : string {
856
+ return $this->removeUnsupportedOfTypePseudoClasses($selectorPart);
857
+ }, \preg_split('/(' . self::COMBINATOR_MATCHER . ')/', $selectorWithoutUnmatchablePseudoComponents, -1, \PREG_SPLIT_DELIM_CAPTURE | \PREG_SPLIT_NO_EMPTY)));
858
  }
859
  /**
860
  * Helps `removeUnmatchablePseudoComponents()` replace or remove a selector `:not(...)` component if its argument
861
  * contains pseudo-elements or dynamic pseudo-classes.
862
  *
863
+ * @param array<array-key, string> $matches array of elements matched by the regular expression
864
+ *
865
+ * @return string
866
+ * the full match if there were no unmatchable pseudo components within; otherwise, any preceding combinator
867
+ * followed by "*", or an empty string if there was no preceding combinator
868
+ */
869
+ private function replaceUnmatchableNotComponent(array $matches) : string
870
+ {
871
+ [$notComponentWithAnyPrecedingCombinator, $anyPrecedingCombinator, $notArgumentInBrackets] = $matches;
872
+ if ($this->hasUnsupportedPseudoClass($notArgumentInBrackets)) {
873
+ return $anyPrecedingCombinator !== '' ? $anyPrecedingCombinator . '*' : '';
874
+ }
875
+ return $notComponentWithAnyPrecedingCombinator;
876
+ }
877
+ /**
878
+ * Removes components from a CSS selector, replacing them with "*" if necessary.
879
+ *
880
+ * @param string $matcher regular expression part to match the components to remove
881
+ * @param string $selector
882
+ *
883
+ * @return string
884
+ * selector which will match the relevant DOM elements if the removed components are assumed to apply (or in
885
+ * the case of pseudo-elements will match their originating element)
886
+ */
887
+ private function removeSelectorComponents(string $matcher, string $selector) : string
888
+ {
889
+ return \preg_replace(['/([\\s>+~]|^)' . $matcher . '/i', '/' . $matcher . '/i'], ['$1*', ''], $selector);
890
+ }
891
+ /**
892
+ * Removes any `...-of-type` pseudo-classes from part of a CSS selector, if it does not have a type, replacing them
893
+ * with "*" if necessary.
894
+ *
895
+ * @param string $selectorPart part of a selector which has been split up at combinators
896
  *
897
+ * @return string
898
+ * selector part which will match the relevant DOM elements if the pseudo-classes are assumed to apply
899
  */
900
+ private function removeUnsupportedOfTypePseudoClasses(string $selectorPart) : string
901
  {
902
+ if (!$this->selectorPartHasUnsupportedOfTypePseudoClass($selectorPart)) {
903
+ return $selectorPart;
 
 
904
  }
905
+ return $this->removeSelectorComponents(':(?:' . self::OF_TYPE_PSEUDO_CLASS_MATCHER . ')(?:\\([^\\)]*+\\))?+', $selectorPart);
906
  }
907
  /**
908
  * Applies `$this->matchingUninlinableCssRules` to `$this->domDocument` by placing them as CSS in a `<style>`
909
  * element.
910
+ * If there are no uninlinable CSS rules to copy there, a `<style>` element will be created containing only the
911
+ * applicable at-rules from `$parsedCss`.
912
+ * If there are none of either, an empty `<style>` element will not be created.
913
  *
914
+ * @param CssDocument $parsedCss
915
+ * This may contain various at-rules whose content `CssInliner` does not currently attempt to inline or
916
+ * process in any other way, such as `@import`, `@font-face`, `@keyframes`, etc., and which should precede
917
+ * the processed but found-to-be-uninlinable CSS placed in the `<style>` element.
918
+ * Note that `CssInliner` processes `@media` rules so that they can be ordered correctly with respect to
919
+ * other uninlinable rules; these will not be duplicated from `$parsedCss`.
920
  */
921
+ private function copyUninlinableCssToStyleNode(CssDocument $parsedCss) : void
922
  {
923
+ $css = $parsedCss->renderNonConditionalAtRules();
924
  // avoid including unneeded class dependency if there are no rules
925
+ if ($this->getMatchingUninlinableCssRules() !== []) {
926
  $cssConcatenator = new CssConcatenator();
927
+ foreach ($this->getMatchingUninlinableCssRules() as $cssRule) {
928
  $cssConcatenator->append([$cssRule['selector']], $cssRule['declarationsBlock'], $cssRule['media']);
929
  }
930
  $css .= $cssConcatenator->getCss();
942
  * @see https://github.com/MyIntervals/emogrifier/issues/103
943
  *
944
  * @param string $css
 
 
945
  */
946
+ protected function addStyleElementToDocument(string $css) : void
947
  {
948
+ $domDocument = $this->getDomDocument();
949
+ $styleElement = $domDocument->createElement('style', $css);
950
+ $styleAttribute = $domDocument->createAttribute('type');
951
  $styleAttribute->value = 'text/css';
952
  $styleElement->appendChild($styleAttribute);
953
  $headElement = $this->getHeadElement();
959
  * This method assumes that there always is a HEAD element.
960
  *
961
  * @return \DOMElement
962
+ *
963
+ * @throws \UnexpectedValueException
964
+ */
965
+ private function getHeadElement() : \DOMElement
966
+ {
967
+ $node = $this->getDomDocument()->getElementsByTagName('head')->item(0);
968
+ if (!$node instanceof \DOMElement) {
969
+ throw new \UnexpectedValueException('There is no HEAD element. This should never happen.', 1617923227);
970
+ }
971
+ return $node;
972
+ }
973
+ /**
974
+ * Wraps `preg_replace`. If an error occurs (which is highly unlikely), either it is logged and the original
975
+ * `$subject` is returned, or in debug mode an exception is thrown.
976
+ *
977
+ * This method only supports strings, not arrays of strings.
978
+ *
979
+ * @param string $pattern
980
+ * @param string $replacement
981
+ * @param string $subject
982
+ *
983
+ * @return string
984
+ *
985
+ * @throws \RuntimeException
986
+ */
987
+ private function pregReplace(string $pattern, string $replacement, string $subject) : string
988
+ {
989
+ $result = \preg_replace($pattern, $replacement, $subject);
990
+ if (!\is_string($result)) {
991
+ $this->logOrThrowPregLastError();
992
+ $result = $subject;
993
+ }
994
+ return $result;
995
+ }
996
+ /**
997
+ * Obtains the name of the error constant for `preg_last_error` (based on code posted at
998
+ * {@see https://www.php.net/manual/en/function.preg-last-error.php#124124}) and puts it into an error message
999
+ * which is either passed to `trigger_error` (in non-debug mode) or an exception which is thrown (in debug mode).
1000
+ *
1001
+ * @throws \RuntimeException
1002
  */
1003
+ private function logOrThrowPregLastError() : void
1004
  {
1005
+ $pcreConstants = \get_defined_constants(\true)['pcre'];
1006
+ $pcreErrorConstantNames = \array_flip(\array_filter($pcreConstants, static function (string $key) : bool {
1007
+ return \substr($key, -6) === '_ERROR';
1008
+ }, \ARRAY_FILTER_USE_KEY));
1009
+ $pregLastError = \preg_last_error();
1010
+ $message = 'PCRE regex execution error `' . (string) ($pcreErrorConstantNames[$pregLastError] ?? $pregLastError) . '`';
1011
+ if ($this->debug) {
1012
+ throw new \RuntimeException($message, 1592870147);
1013
+ }
1014
+ \trigger_error($message);
1015
  }
1016
  }
third-party/vendor/pelago/emogrifier/src/Emogrifier.php DELETED
@@ -1,1504 +0,0 @@
1
- <?php
2
-
3
- namespace ProfilePressVendor\Pelago;
4
-
5
- use ProfilePressVendor\Pelago\Emogrifier\Utilities\CssConcatenator;
6
- /**
7
- * This class provides functions for converting CSS styles into inline style attributes in your HTML code.
8
- *
9
- * For more information, please see the README.md file.
10
- *
11
- * @deprecated Will be removed for version 4.0.0. Please use the CssInliner class instead.
12
- *
13
- * @author Cameron Brooks
14
- * @author Jaime Prado
15
- * @author Oliver Klee <github@oliverklee.de>
16
- * @author Roman Ožana <ozana@omdesign.cz>
17
- * @author Sander Kruger <s.kruger@invessel.com>
18
- * @author Zoli Szabó <zoli.szabo+github@gmail.com>
19
- */
20
- class Emogrifier
21
- {
22
- /**
23
- * @var int
24
- */
25
- const CACHE_KEY_CSS = 0;
26
- /**
27
- * @var int
28
- */
29
- const CACHE_KEY_SELECTOR = 1;
30
- /**
31
- * @var int
32
- */
33
- const CACHE_KEY_XPATH = 2;
34
- /**
35
- * @var int
36
- */
37
- const CACHE_KEY_CSS_DECLARATIONS_BLOCK = 3;
38
- /**
39
- * @var int
40
- */
41
- const CACHE_KEY_COMBINED_STYLES = 4;
42
- /**
43
- * for calculating nth-of-type and nth-child selectors
44
- *
45
- * @var int
46
- */
47
- const INDEX = 0;
48
- /**
49
- * for calculating nth-of-type and nth-child selectors
50
- *
51
- * @var int
52
- */
53
- const MULTIPLIER = 1;
54
- /**
55
- * @var string
56
- */
57
- const ID_ATTRIBUTE_MATCHER = '/(\\w+)?\\#([\\w\\-]+)/';
58
- /**
59
- * @var string
60
- */
61
- const CLASS_ATTRIBUTE_MATCHER = '/(\\w+|[\\*\\]])?((\\.[\\w\\-]+)+)/';
62
- /**
63
- * Regular expression component matching a static pseudo class in a selector, without the preceding ":",
64
- * for which the applicable elements can be determined (by converting the selector to an XPath expression).
65
- * (Contains alternation without a group and is intended to be placed within a capturing, non-capturing or lookahead
66
- * group, as appropriate for the usage context.)
67
- *
68
- * @var string
69
- */
70
- const PSEUDO_CLASS_MATCHER = '(?:first|last|nth)-child|nth-of-type|not\\([[:ascii:]]*\\)';
71
- /**
72
- * @var string
73
- */
74
- const CONTENT_TYPE_META_TAG = '<meta http-equiv="Content-Type" content="text/html; charset=utf-8">';
75
- /**
76
- * @var string
77
- */
78
- const DEFAULT_DOCUMENT_TYPE = '<!DOCTYPE html>';
79
- /**
80
- * @var string Regular expression part to match tag names that PHP's DOMDocument implementation is not aware are
81
- * self-closing. These are mostly HTML5 elements, but for completeness <command> (obsolete) and <keygen>
82
- * (deprecated) are also included.
83
- *
84
- * @see https://bugs.php.net/bug.php?id=73175
85
- */
86
- const PHP_UNRECOGNIZED_VOID_TAGNAME_MATCHER = '(?:command|embed|keygen|source|track|wbr)';
87
- /**
88
- * @var \DOMDocument
89
- */
90
- protected $domDocument = null;
91
- /**
92
- * @var \DOMXPath
93
- */
94
- protected $xPath = null;
95
- /**
96
- * @var string
97
- */
98
- private $css = '';
99
- /**
100
- * @var bool[]
101
- */
102
- private $excludedSelectors = [];
103
- /**
104
- * @var string[]
105
- */
106
- private $unprocessableHtmlTags = ['wbr'];
107
- /**
108
- * @var bool[]
109
- */
110
- private $allowedMediaTypes = ['all' => \true, 'screen' => \true, 'print' => \true];
111
- /**
112
- * @var mixed[]
113
- */
114
- private $caches = [self::CACHE_KEY_CSS => [], self::CACHE_KEY_SELECTOR => [], self::CACHE_KEY_XPATH => [], self::CACHE_KEY_CSS_DECLARATIONS_BLOCK => [], self::CACHE_KEY_COMBINED_STYLES => []];
115
- /**
116
- * the visited nodes with the XPath paths as array keys
117
- *
118
- * @var \DOMElement[]
119
- */
120
- private $visitedNodes = [];
121
- /**
122
- * the styles to apply to the nodes with the XPath paths as array keys for the outer array
123
- * and the attribute names/values as key/value pairs for the inner array
124
- *
125
- * @var string[][]
126
- */
127
- private $styleAttributesForNodes = [];
128
- /**
129
- * Determines whether the "style" attributes of tags in the the HTML passed to this class should be preserved.
130
- * If set to false, the value of the style attributes will be discarded.
131
- *
132
- * @var bool
133
- */
134
- private $isInlineStyleAttributesParsingEnabled = \true;
135
- /**
136
- * Determines whether the <style> blocks in the HTML passed to this class should be parsed.
137
- *
138
- * If set to true, the <style> blocks will be removed from the HTML and their contents will be applied to the HTML
139
- * via inline styles.
140
- *
141
- * If set to false, the <style> blocks will be left as they are in the HTML.
142
- *
143
- * @var bool
144
- */
145
- private $isStyleBlocksParsingEnabled = \true;
146
- /**
147
- * For calculating selector precedence order.
148
- * Keys are a regular expression part to match before a CSS name.
149
- * Values are a multiplier factor per match to weight specificity.
150
- *
151
- * @var int[]
152
- */
153
- private $selectorPrecedenceMatchers = [
154
- // IDs: worth 10000
155
- '\\#' => 10000,
156
- // classes, attributes, pseudo-classes (not pseudo-elements) except `:not`: worth 100
157
- '(?:\\.|\\[|(?<!:):(?!not\\())' => 100,
158
- // elements (not attribute values or `:not`), pseudo-elements: worth 1
159
- '(?:(?<![="\':\\w\\-])|::)' => 1,
160
- ];
161
- /**
162
- * @var string[]
163
- */
164
- private $xPathRules = [
165
- // attribute presence
166
- '/^\\[(\\w+|\\w+\\=[\'"]?\\w+[\'"]?)\\]/' => '*[@\\1]',
167
- // type and attribute exact value
168
- '/(\\w)\\[(\\w+)\\=[\'"]?([\\w\\s]+)[\'"]?\\]/' => '\\1[@\\2="\\3"]',
169
- // type and attribute value with ~ (one word within a whitespace-separated list of words)
170
- '/([\\w\\*]+)\\[(\\w+)[\\s]*\\~\\=[\\s]*[\'"]?([\\w\\-_\\/]+)[\'"]?\\]/' => '\\1[contains(concat(" ", @\\2, " "), concat(" ", "\\3", " "))]',
171
- // type and attribute value with | (either exact value match or prefix followed by a hyphen)
172
- '/([\\w\\*]+)\\[(\\w+)[\\s]*\\|\\=[\\s]*[\'"]?([\\w\\-_\\s\\/]+)[\'"]?\\]/' => '\\1[@\\2="\\3" or starts-with(@\\2, concat("\\3", "-"))]',
173
- // type and attribute value with ^ (prefix match)
174
- '/([\\w\\*]+)\\[(\\w+)[\\s]*\\^\\=[\\s]*[\'"]?([\\w\\-_\\/]+)[\'"]?\\]/' => '\\1[starts-with(@\\2, "\\3")]',
175
- // type and attribute value with * (substring match)
176
- '/([\\w\\*]+)\\[(\\w+)[\\s]*\\*\\=[\\s]*[\'"]?([\\w\\-_\\s\\/:;]+)[\'"]?\\]/' => '\\1[contains(@\\2, "\\3")]',
177
- // adjacent sibling
178
- '/\\s*\\+\\s*/' => '/following-sibling::*[1]/self::',
179
- // child
180
- '/\\s*>\\s*/' => '/',
181
- // descendant (don't match spaces within already translated XPath predicates)
182
- '/\\s+(?![^\\[\\]]*+\\])/' => '//',
183
- // type and :first-child
184
- '/([^\\/]+):first-child/i' => '*[1]/self::\\1',
185
- // type and :last-child
186
- '/([^\\/]+):last-child/i' => '*[last()]/self::\\1',
187
- // The following matcher will break things if it is placed before the adjacent matcher.
188
- // So one of the matchers matches either too much or not enough.
189
- // type and attribute value with $ (suffix match)
190
- '/([\\w\\*]+)\\[(\\w+)[\\s]*\\$\\=[\\s]*[\'"]?([\\w\\-_\\s\\/]+)[\'"]?\\]/' => '\\1[substring(@\\2, string-length(@\\2) - string-length("\\3") + 1) = "\\3"]',
191
- ];
192
- /**
193
- * Emogrifier will throw Exceptions when it encounters an error instead of silently ignoring them.
194
- *
195
- * @var bool
196
- */
197
- private $debug = \false;
198
- /**
199
- * @param string $unprocessedHtml the HTML to process, must be UTF-8-encoded
200
- * @param string $css the CSS to merge, must be UTF-8-encoded
201
- */
202
- public function __construct($unprocessedHtml = '', $css = '')
203
- {
204
- if ($unprocessedHtml !== '') {
205
- $this->setHtml($unprocessedHtml);
206
- }
207
- $this->setCss($css);
208
- }
209
- /**
210
- * Sets the HTML to process.
211
- *
212
- * @param string $html the HTML to process, must be UTF-encoded, must not be empty
213
- *
214
- * @return void
215
- *
216
- * @throws \InvalidArgumentException if $unprocessedHtml is anything other than a non-empty string
217
- */
218
- public function setHtml($html)
219
- {
220
- if (!\is_string($html)) {
221
- throw new \InvalidArgumentException('The provided HTML must be a string.', 1540403913);
222
- }
223
- if ($html === '') {
224
- throw new \InvalidArgumentException('The provided HTML must not be empty.', 1540403910);
225
- }
226
- $this->createUnifiedDomDocument($html);
227
- }
228
- /**
229
- * Provides access to the internal DOMDocument representation of the HTML in its current state.
230
- *
231
- * @return \DOMDocument
232
- */
233
- public function getDomDocument()
234
- {
235
- return $this->domDocument;
236
- }
237
- /**
238
- * Sets the CSS to merge with the HTML.
239
- *
240
- * @param string $css the CSS to merge, must be UTF-8-encoded
241
- *
242
- * @return void
243
- */
244
- public function setCss($css)
245
- {
246
- $this->css = $css;
247
- }
248
- /**
249
- * Renders the normalized and processed HTML.
250
- *
251
- * @return string
252
- */
253
- protected function render()
254
- {
255
- $htmlWithPossibleErroneousClosingTags = $this->domDocument->saveHTML();
256
- return $this->removeSelfClosingTagsClosingTags($htmlWithPossibleErroneousClosingTags);
257
- }
258
- /**
259
- * Renders the content of the BODY element of the normalized and processed HTML.
260
- *
261
- * @return string
262
- */
263
- protected function renderBodyContent()
264
- {
265
- $htmlWithPossibleErroneousClosingTags = $this->domDocument->saveHTML($this->getBodyElement());
266
- $bodyNodeHtml = $this->removeSelfClosingTagsClosingTags($htmlWithPossibleErroneousClosingTags);
267
- return \preg_replace('%</?+body(?:\\s[^>]*+)?+>%', '', $bodyNodeHtml);
268
- }
269
- /**
270
- * Eliminates any invalid closing tags for void elements from the given HTML.
271
- *
272
- * @param string $html
273
- *
274
- * @return string
275
- */
276
- private function removeSelfClosingTagsClosingTags($html)
277
- {
278
- return \preg_replace('%</' . self::PHP_UNRECOGNIZED_VOID_TAGNAME_MATCHER . '>%', '', $html);
279
- }
280
- /**
281
- * Returns the BODY element.
282
- *
283
- * This method assumes that there always is a BODY element.
284
- *
285
- * @return \DOMElement
286
- */
287
- private function getBodyElement()
288
- {
289
- return $this->domDocument->getElementsByTagName('body')->item(0);
290
- }
291
- /**
292
- * Returns the HEAD element.
293
- *
294
- * This method assumes that there always is a HEAD element.
295
- *
296
- * @return \DOMElement
297
- */
298
- private function getHeadElement()
299
- {
300
- return $this->domDocument->getElementsByTagName('head')->item(0);
301
- }
302
- /**
303
- * Applies $this->css to the given HTML and returns the HTML with the CSS
304
- * applied.
305
- *
306
- * This method places the CSS inline.
307
- *
308
- * @return string
309
- *
310
- * @throws \BadMethodCallException
311
- */
312
- public function emogrify()
313
- {
314
- $this->assertExistenceOfHtml();
315
- $this->process();
316
- return $this->render();
317
- }
318
- /**
319
- * Applies $this->css to the given HTML and returns only the HTML content
320
- * within the <body> tag.
321
- *
322
- * This method places the CSS inline.
323
- *
324
- * @return string
325
- *
326
- * @throws \BadMethodCallException
327
- */
328
- public function emogrifyBodyContent()
329
- {
330
- $this->assertExistenceOfHtml();
331
- $this->process();
332
- return $this->renderBodyContent();
333
- }
334
- /**
335
- * Checks that some HTML has been set, and throws an exception otherwise.
336
- *
337
- * @return void
338
- *
339
- * @throws \BadMethodCallException
340
- */
341
- private function assertExistenceOfHtml()
342
- {
343
- if ($this->domDocument === null) {
344
- throw new \BadMethodCallException('Please set some HTML first.', 1390393096);
345
- }
346
- }
347
- /**
348
- * Creates a DOM document from the given HTML and stores it in $this->domDocument.
349
- *
350
- * The DOM document will always have a BODY element.
351
- *
352
- * @param string $html
353
- *
354
- * @return void
355
- */
356
- private function createUnifiedDomDocument($html)
357
- {
358
- $this->createRawDomDocument($html);
359
- $this->ensureExistenceOfBodyElement();
360
- }
361
- /**
362
- * Creates a DOMDocument instance from the given HTML and stores it in $this->domDocument.
363
- *
364
- * @param string $html
365
- *
366
- * @return void
367
- */
368
- private function createRawDomDocument($html)
369
- {
370
- $domDocument = new \DOMDocument();
371
- $domDocument->strictErrorChecking = \false;
372
- $domDocument->formatOutput = \true;
373
- $libXmlState = \libxml_use_internal_errors(\true);
374
- $domDocument->loadHTML($this->prepareHtmlForDomConversion($html));
375
- \libxml_clear_errors();
376
- \libxml_use_internal_errors($libXmlState);
377
- $this->domDocument = $domDocument;
378
- $this->xPath = new \DOMXPath($this->domDocument);
379
- }
380
- /**
381
- * Returns the HTML with added document type, Content-Type meta tag, and self-closing slashes, if needed,
382
- * ensuring that the HTML will be good for creating a DOM document from it.
383
- *
384
- * @param string $html
385
- *
386
- * @return string the unified HTML
387
- */
388
- private function prepareHtmlForDomConversion($html)
389
- {
390
- $htmlWithSelfClosingSlashes = $this->ensurePhpUnrecognizedSelfClosingTagsAreXml($html);
391
- $htmlWithDocumentType = $this->ensureDocumentType($htmlWithSelfClosingSlashes);
392
- return $this->addContentTypeMetaTag($htmlWithDocumentType);
393
- }
394
- /**
395
- * Applies $this->css to $this->domDocument.
396
- *
397
- * This method places the CSS inline.
398
- *
399
- * @return void
400
- *
401
- * @throws \InvalidArgumentException
402
- */
403
- protected function process()
404
- {
405
- $this->clearAllCaches();
406
- $this->purgeVisitedNodes();
407
- \set_error_handler([$this, 'handleXpathQueryWarnings'], \E_WARNING);
408
- $this->removeUnprocessableTags();
409
- $this->normalizeStyleAttributesOfAllNodes();
410
- // grab any existing style blocks from the html and append them to the existing CSS
411
- // (these blocks should be appended so as to have precedence over conflicting styles in the existing CSS)
412
- $allCss = $this->css;
413
- if ($this->isStyleBlocksParsingEnabled) {
414
- $allCss .= $this->getCssFromAllStyleNodes();
415
- }
416
- $cssWithoutComments = $this->removeCssComments($allCss);
417
- list($cssWithoutCommentsCharsetOrImport, $cssImportRules) = $this->extractImportAndCharsetRules($cssWithoutComments);
418
- $excludedNodes = $this->getNodesToExclude();
419
- $cssRules = $this->parseCssRules($cssWithoutCommentsCharsetOrImport);
420
- foreach ($cssRules['inlinable'] as $cssRule) {
421
- // There's no real way to test "PHP Warning" output generated by the following XPath query unless PHPUnit
422
- // converts it to an exception. Unfortunately, this would only apply to tests and not work for production
423
- // executions, which can still flood logs/output unnecessarily. Instead, Emogrifier's error handler should
424
- // always throw an exception and it must be caught here and only rethrown if in debug mode.
425
- try {
426
- // \DOMXPath::query will always return a DOMNodeList or throw an exception when errors are caught.
427
- $nodesMatchingCssSelectors = $this->xPath->query($this->translateCssToXpath($cssRule['selector']));
428
- } catch (\InvalidArgumentException $e) {
429
- if ($this->debug) {
430
- throw $e;
431
- }
432
- continue;
433
- }
434
- /** @var \DOMElement $node */
435
- foreach ($nodesMatchingCssSelectors as $node) {
436
- if (\in_array($node, $excludedNodes, \true)) {
437
- continue;
438
- }
439
- $this->copyInlinableCssToStyleAttribute($node, $cssRule);
440
- }
441
- }
442
- if ($this->isInlineStyleAttributesParsingEnabled) {
443
- $this->fillStyleAttributesWithMergedStyles();
444
- }
445
- $this->removeImportantAnnotationFromAllInlineStyles();
446
- $this->copyUninlinableCssToStyleNode($cssRules['uninlinable'], $cssImportRules);
447
- \restore_error_handler();
448
- }
449
- /**
450
- * Searches for all nodes with a style attribute and removes the "!important" annotations out of
451
- * the inline style declarations, eventually by rearranging declarations.
452
- *
453
- * @return void
454
- */
455
- private function removeImportantAnnotationFromAllInlineStyles()
456
- {
457
- foreach ($this->getAllNodesWithStyleAttribute() as $node) {
458
- $this->removeImportantAnnotationFromNodeInlineStyle($node);
459
- }
460
- }
461
- /**
462
- * Removes the "!important" annotations out of the inline style declarations,
463
- * eventually by rearranging declarations.
464
- * Rearranging needed when !important shorthand properties are followed by some of their
465
- * not !important expanded-version properties.
466
- * For example "font: 12px serif !important; font-size: 13px;" must be reordered
467
- * to "font-size: 13px; font: 12px serif;" in order to remain correct.
468
- *
469
- * @param \DOMElement $node
470
- *
471
- * @return void
472
- */
473
- private function removeImportantAnnotationFromNodeInlineStyle(\DOMElement $node)
474
- {
475
- $inlineStyleDeclarations = $this->parseCssDeclarationsBlock($node->getAttribute('style'));
476
- $regularStyleDeclarations = [];
477
- $importantStyleDeclarations = [];
478
- foreach ($inlineStyleDeclarations as $property => $value) {
479
- if ($this->attributeValueIsImportant($value)) {
480
- $importantStyleDeclarations[$property] = \trim(\str_replace('!important', '', $value));
481
- } else {
482
- $regularStyleDeclarations[$property] = $value;
483
- }
484
- }
485
- $inlineStyleDeclarationsInNewOrder = \array_merge($regularStyleDeclarations, $importantStyleDeclarations);
486
- $node->setAttribute('style', $this->generateStyleStringFromSingleDeclarationsArray($inlineStyleDeclarationsInNewOrder));
487
- }
488
- /**
489
- * Returns a list with all DOM nodes that have a style attribute.
490
- *
491
- * @return \DOMNodeList
492
- */
493
- private function getAllNodesWithStyleAttribute()
494
- {
495
- return $this->xPath->query('//*[@style]');
496
- }
497
- /**
498
- * Extracts and parses the individual rules from a CSS string.
499
- *
500
- * @param string $css a string of raw CSS code with comments removed
501
- *
502
- * @return string[][][] A 2-entry array with the key "inlinable" containing rules which can be inlined as `style`
503
- * attributes and the key "uninlinable" containing rules which cannot. Each value is an array of string
504
- * sub-arrays with the keys
505
- * "media" (the media query string, e.g. "@media screen and (max-width: 480px)",
506
- * or an empty string if not from a `@media` rule),
507
- * "selector" (the CSS selector, e.g., "*" or "header h1"),
508
- * "hasUnmatchablePseudo" (true if that selector contains pseudo-elements or dynamic pseudo-classes
509
- * such that the declarations cannot be applied inline),
510
- * "declarationsBlock" (the semicolon-separated CSS declarations for that selector,
511
- * e.g., "color: red; height: 4px;"),
512
- * and "line" (the line number e.g. 42)
513
- */
514
- private function parseCssRules($css)
515
- {
516
- $cssKey = \md5($css);
517
- if (!isset($this->caches[self::CACHE_KEY_CSS][$cssKey])) {
518
- $matches = $this->getCssRuleMatches($css);
519
- $cssRules = ['inlinable' => [], 'uninlinable' => []];
520
- /** @var string[][] $matches */
521
- /** @var string[] $cssRule */
522
- foreach ($matches as $key => $cssRule) {
523
- $cssDeclaration = \trim($cssRule['declarations']);
524
- if ($cssDeclaration === '') {
525
- continue;
526
- }
527
- foreach (\explode(',', $cssRule['selectors']) as $selector) {
528
- // don't process pseudo-elements and behavioral (dynamic) pseudo-classes;
529
- // only allow structural pseudo-classes
530
- $hasPseudoElement = \strpos($selector, '::') !== \false;
531
- $hasUnsupportedPseudoClass = (bool) \preg_match('/:(?!' . self::PSEUDO_CLASS_MATCHER . ')[\\w\\-]/i', $selector);
532
- $hasUnmatchablePseudo = $hasPseudoElement || $hasUnsupportedPseudoClass;
533
- $parsedCssRule = [
534
- 'media' => $cssRule['media'],
535
- 'selector' => \trim($selector),
536
- 'hasUnmatchablePseudo' => $hasUnmatchablePseudo,
537
- 'declarationsBlock' => $cssDeclaration,
538
- // keep track of where it appears in the file, since order is important
539
- 'line' => $key,
540
- ];
541
- $ruleType = $cssRule['media'] === '' && !$hasUnmatchablePseudo ? 'inlinable' : 'uninlinable';
542
- $cssRules[$ruleType][] = $parsedCssRule;
543
- }
544
- }
545
- \usort($cssRules['inlinable'], [$this, 'sortBySelectorPrecedence']);
546
- $this->caches[self::CACHE_KEY_CSS][$cssKey] = $cssRules;
547
- }
548
- return $this->caches[self::CACHE_KEY_CSS][$cssKey];
549
- }
550
- /**
551
- * Parses a string of CSS into the media query, selectors and declarations for each ruleset in order.
552
- *
553
- * @param string $css CSS with comments removed
554
- *
555
- * @return string[][] Array of string sub-arrays with the keys
556
- * "media" (the media query string, e.g. "@media screen and (max-width: 480px)",
557
- * or an empty string if not from an `@media` rule),
558
- * "selectors" (the CSS selector(s), e.g., "*" or "h1, h2"),
559
- * "declarations" (the semicolon-separated CSS declarations for that/those selector(s),
560
- * e.g., "color: red; height: 4px;"),
561
- */
562
- private function getCssRuleMatches($css)
563
- {
564
- $splitCss = $this->splitCssAndMediaQuery($css);
565
- $ruleMatches = [];
566
- foreach ($splitCss as $cssPart) {
567
- // process each part for selectors and definitions
568
- \preg_match_all('/(?:^|[\\s^{}]*)([^{]+){([^}]*)}/mi', $cssPart['css'], $matches, \PREG_SET_ORDER);
569
- /** @var string[][] $matches */
570
- foreach ($matches as $cssRule) {
571
- $ruleMatches[] = ['media' => $cssPart['media'], 'selectors' => $cssRule[1], 'declarations' => $cssRule[2]];
572
- }
573
- }
574
- return $ruleMatches;
575
- }
576
- /**
577
- * Disables the parsing of inline styles.
578
- *
579
- * @return void
580
- */
581
- public function disableInlineStyleAttributesParsing()
582
- {
583
- $this->isInlineStyleAttributesParsingEnabled = \false;
584
- }
585
- /**
586
- * Disables the parsing of <style> blocks.
587
- *
588
- * @return void
589
- */
590
- public function disableStyleBlocksParsing()
591
- {
592
- $this->isStyleBlocksParsingEnabled = \false;
593
- }
594
- /**
595
- * Clears all caches.
596
- *
597
- * @return void
598
- */
599
- private function clearAllCaches()
600
- {
601
- $this->caches = [self::CACHE_KEY_CSS => [], self::CACHE_KEY_SELECTOR => [], self::CACHE_KEY_XPATH => [], self::CACHE_KEY_CSS_DECLARATIONS_BLOCK => [], self::CACHE_KEY_COMBINED_STYLES => []];
602
- }
603
- /**
604
- * Purges the visited nodes.
605
- *
606
- * @return void
607
- */
608
- private function purgeVisitedNodes()
609
- {
610
- $this->visitedNodes = [];
611
- $this->styleAttributesForNodes = [];
612
- }
613
- /**
614
- * Marks a tag for removal.
615
- *
616
- * There are some HTML tags that DOMDocument cannot process, and it will throw an error if it encounters them.
617
- * In particular, DOMDocument will complain if you try to use HTML5 tags in an XHTML document.
618
- *
619
- * Note: The tags will not be removed if they have any content.
620
- *
621
- * @param string $tagName the tag name, e.g., "p"
622
- *
623
- * @return void
624
- */
625
- public function addUnprocessableHtmlTag($tagName)
626
- {
627
- $this->unprocessableHtmlTags[] = $tagName;
628
- }
629
- /**
630
- * Drops a tag from the removal list.
631
- *
632
- * @param string $tagName the tag name, e.g., "p"
633
- *
634
- * @return void
635
- */
636
- public function removeUnprocessableHtmlTag($tagName)
637
- {
638
- $key = \array_search($tagName, $this->unprocessableHtmlTags, \true);
639
- if ($key !== \false) {
640
- /** @var int|string $key */
641
- unset($this->unprocessableHtmlTags[$key]);
642
- }
643
- }
644
- /**
645
- * Marks a media query type to keep.
646
- *
647
- * @param string $mediaName the media type name, e.g., "braille"
648
- *
649
- * @return void
650
- */
651
- public function addAllowedMediaType($mediaName)
652
- {
653
- $this->allowedMediaTypes[$mediaName] = \true;
654
- }
655
- /**
656
- * Drops a media query type from the allowed list.
657
- *
658
- * @param string $mediaName the tag name, e.g., "braille"
659
- *
660
- * @return void
661
- */
662
- public function removeAllowedMediaType($mediaName)
663
- {
664
- if (isset($this->allowedMediaTypes[$mediaName])) {
665
- unset($this->allowedMediaTypes[$mediaName]);
666
- }
667
- }
668
- /**
669
- * Adds a selector to exclude nodes from emogrification.
670
- *
671
- * Any nodes that match the selector will not have their style altered.
672
- *
673
- * @param string $selector the selector to exclude, e.g., ".editor"
674
- *
675
- * @return void
676
- */
677
- public function addExcludedSelector($selector)
678
- {
679
- $this->excludedSelectors[$selector] = \true;
680
- }
681
- /**
682
- * No longer excludes the nodes matching this selector from emogrification.
683
- *
684
- * @param string $selector the selector to no longer exclude, e.g., ".editor"
685
- *
686
- * @return void
687
- */
688
- public function removeExcludedSelector($selector)
689
- {
690
- if (isset($this->excludedSelectors[$selector])) {
691
- unset($this->excludedSelectors[$selector]);
692
- }
693
- }
694
- /**
695
- * Parses the document and normalizes all existing CSS attributes.
696
- * This changes 'DISPLAY: none' to 'display: none'.
697
- * We wouldn't have to do this if DOMXPath supported XPath 2.0.
698
- * Also stores a reference of nodes with existing inline styles so we don't overwrite them.
699
- *
700
- * @return void
701
- */
702
- private function normalizeStyleAttributesOfAllNodes()
703
- {
704
- /** @var \DOMElement $node */
705
- foreach ($this->getAllNodesWithStyleAttribute() as $node) {
706
- if ($this->isInlineStyleAttributesParsingEnabled) {
707
- $this->normalizeStyleAttributes($node);
708
- }
709
- // Remove style attribute in every case, so we can add them back (if inline style attributes
710
- // parsing is enabled) to the end of the style list, thus keeping the right priority of CSS rules;
711
- // else original inline style rules may remain at the beginning of the final inline style definition
712
- // of a node, which may give not the desired results
713
- $node->removeAttribute('style');
714
- }
715
- }
716
- /**
717
- * Normalizes the value of the "style" attribute and saves it.
718
- *
719
- * @param \DOMElement $node
720
- *
721
- * @return void
722
- */
723
- private function normalizeStyleAttributes(\DOMElement $node)
724
- {
725
- $normalizedOriginalStyle = \preg_replace_callback('/-?+[_a-zA-Z][\\w\\-]*+(?=:)/S', static function (array $m) {
726
- return \strtolower($m[0]);
727
- }, $node->getAttribute('style'));
728
- // in order to not overwrite existing style attributes in the HTML, we
729
- // have to save the original HTML styles
730
- $nodePath = $node->getNodePath();
731
- if (!isset($this->styleAttributesForNodes[$nodePath])) {
732
- $this->styleAttributesForNodes[$nodePath] = $this->parseCssDeclarationsBlock($normalizedOriginalStyle);
733
- $this->visitedNodes[$nodePath] = $node;
734
- }
735
- $node->setAttribute('style', $normalizedOriginalStyle);
736
- }
737
- /**
738
- * Merges styles from styles attributes and style nodes and applies them to the attribute nodes
739
- *
740
- * @return void
741
- */
742
- private function fillStyleAttributesWithMergedStyles()
743
- {
744
- foreach ($this->styleAttributesForNodes as $nodePath => $styleAttributesForNode) {
745
- $node = $this->visitedNodes[$nodePath];
746
- $currentStyleAttributes = $this->parseCssDeclarationsBlock($node->getAttribute('style'));
747
- $node->setAttribute('style', $this->generateStyleStringFromDeclarationsArrays($currentStyleAttributes, $styleAttributesForNode));
748
- }
749
- }
750
- /**
751
- * This method merges old or existing name/value array with new name/value array
752
- * and then generates a string of the combined style suitable for placing inline.
753
- * This becomes the single point for CSS string generation allowing for consistent
754
- * CSS output no matter where the CSS originally came from.
755
- *
756
- * @param string[] $oldStyles
757
- * @param string[] $newStyles
758
- *
759
- * @return string
760
- */
761
- private function generateStyleStringFromDeclarationsArrays(array $oldStyles, array $newStyles)
762
- {
763
- $cacheKey = \serialize([$oldStyles, $newStyles]);
764
- if (isset($this->caches[self::CACHE_KEY_COMBINED_STYLES][$cacheKey])) {
765
- return $this->caches[self::CACHE_KEY_COMBINED_STYLES][$cacheKey];
766
- }
767
- // Unset the overridden styles to preserve order, important if shorthand and individual properties are mixed
768
- foreach ($oldStyles as $attributeName => $attributeValue) {
769
- if (!isset($newStyles[$attributeName])) {
770
- continue;
771
- }
772
- $newAttributeValue = $newStyles[$attributeName];
773
- if ($this->attributeValueIsImportant($attributeValue) && !$this->attributeValueIsImportant($newAttributeValue)) {
774
- unset($newStyles[$attributeName]);
775
- } else {
776
- unset($oldStyles[$attributeName]);
777
- }
778
- }
779
- $combinedStyles = \array_merge($oldStyles, $newStyles);
780
- $style = '';
781
- foreach ($combinedStyles as $attributeName => $attributeValue) {
782
- $style .= \strtolower(\trim($attributeName)) . ': ' . \trim($attributeValue) . '; ';
783
- }
784
- $trimmedStyle = \rtrim($style);
785
- $this->caches[self::CACHE_KEY_COMBINED_STYLES][$cacheKey] = $trimmedStyle;
786
- return $trimmedStyle;
787
- }
788
- /**
789
- * Generates a CSS style string suitable to be used inline from the $styleDeclarations property => value array.
790
- *
791
- * @param string[] $styleDeclarations
792
- *
793
- * @return string
794
- */
795
- private function generateStyleStringFromSingleDeclarationsArray(array $styleDeclarations)
796
- {
797
- return $this->generateStyleStringFromDeclarationsArrays([], $styleDeclarations);
798
- }
799
- /**
800
- * Checks whether $attributeValue is marked as !important.
801
- *
802
- * @param string $attributeValue
803
- *
804
- * @return bool
805
- */
806
- private function attributeValueIsImportant($attributeValue)
807
- {
808
- return \strtolower(\substr(\trim($attributeValue), -10)) === '!important';
809
- }
810
- /**
811
- * Copies $cssRule into the style attribute of $node.
812
- *
813
- * Note: This method does not check whether $cssRule matches $node.
814
- *
815
- * @param \DOMElement $node
816
- * @param string[][] $cssRule
817
- *
818
- * @return void
819
- */
820
- private function copyInlinableCssToStyleAttribute(\DOMElement $node, array $cssRule)
821
- {
822
- $newStyleDeclarations = $this->parseCssDeclarationsBlock($cssRule['declarationsBlock']);
823
- if ($newStyleDeclarations === []) {
824
- return;
825
- }
826
- // if it has a style attribute, get it, process it, and append (overwrite) new stuff
827
- if ($node->hasAttribute('style')) {
828
- // break it up into an associative array
829
- $oldStyleDeclarations = $this->parseCssDeclarationsBlock($node->getAttribute('style'));
830
- } else {
831
- $oldStyleDeclarations = [];
832
- }
833
- $node->setAttribute('style', $this->generateStyleStringFromDeclarationsArrays($oldStyleDeclarations, $newStyleDeclarations));
834
- }
835
- /**
836
- * Applies $cssRules to $this->domDocument, limited to the rules that actually apply to the document, by placing
837
- * them as CSS in a `<style>` element.
838
- *
839
- * @param string[][] $cssRules the "uninlinable" array of CSS rules returned by `parseCssRules`
840
- * @param string $cssImportRules This may contain any `@import` rules that should precede the CSS placed in the
841
- * `<style>` element. If there are no unlinlinable CSS rules to copy there, a `<style>` element will be
842
- * created containing just `$cssImportRules`. `$cssImportRules` may be an empty string; if it is, and there
843
- * are no unlinlinable CSS rules, an empty `<style>` element will not be created.
844
- *
845
- * @return void
846
- */
847
- private function copyUninlinableCssToStyleNode(array $cssRules, $cssImportRules)
848
- {
849
- $css = $cssImportRules;
850
- $cssRulesRelevantForDocument = \array_filter($cssRules, [$this, 'existsMatchForSelectorInCssRule']);
851
- // avoid including unneeded class dependency if there are no rules
852
- if ($cssRulesRelevantForDocument !== []) {
853
- // support use without autoload
854
- if (!\class_exists(CssConcatenator::class)) {
855
- require_once __DIR__ . '/Emogrifier/Utilities/CssConcatenator.php';
856
- }
857
- $cssConcatenator = new CssConcatenator();
858
- foreach ($cssRulesRelevantForDocument as $cssRule) {
859
- $cssConcatenator->append([$cssRule['selector']], $cssRule['declarationsBlock'], $cssRule['media']);
860
- }
861
- $css .= $cssConcatenator->getCss();
862
- }
863
- // avoid adding empty style element
864
- if ($css !== '') {
865
- $this->addStyleElementToDocument($css);
866
- }
867
- }
868
- /**
869
- * Checks whether there is at least one matching element for the CSS selector contained in the `selector` element
870
- * of the provided CSS rule.
871
- *
872
- * Any dynamic pseudo-classes will be assumed to apply. If the selector matches a pseudo-element,
873
- * it will test for a match with its originating element.
874
- *
875
- * @param string[] $cssRule
876
- *
877
- * @return bool
878
- *
879
- * @throws \InvalidArgumentException
880
- */
881
- private function existsMatchForSelectorInCssRule(array $cssRule)
882
- {
883
- $selector = $cssRule['selector'];
884
- if ($cssRule['hasUnmatchablePseudo']) {
885
- $selector = $this->removeUnmatchablePseudoComponents($selector);
886
- }
887
- return $this->existsMatchForCssSelector($selector);
888
- }
889
- /**
890
- * Removes pseudo-elements and dynamic pseudo-classes from a CSS selector, replacing them with "*" if necessary.
891
- * If such a pseudo-component is within the argument of `:not`, the entire `:not` component is removed or replaced.
892
- *
893
- * @param string $selector
894
- *
895
- * @return string Selector which will match the relevant DOM elements if the pseudo-classes are assumed to apply,
896
- * or in the case of pseudo-elements will match their originating element.
897
- */
898
- private function removeUnmatchablePseudoComponents($selector)
899
- {
900
- // The regex allows nested brackets via `(?2)`.
901
- // A space is temporarily prepended because the callback can't determine if the match was at the very start.
902
- $selectorWithoutNots = \ltrim(\preg_replace_callback('/(\\s?+):not(\\([^()]*+(?:(?2)[^()]*+)*+\\))/i', [$this, 'replaceUnmatchableNotComponent'], ' ' . $selector));
903
- $pseudoComponentMatcher = ':(?!' . self::PSEUDO_CLASS_MATCHER . '):?+[\\w\\-]++(?:\\([^\\)]*+\\))?+';
904
- return \preg_replace(['/(\\s|^)' . $pseudoComponentMatcher . '/i', '/' . $pseudoComponentMatcher . '/i'], ['$1*', ''], $selectorWithoutNots);
905
- }
906
- /**
907
- * Helps `removeUnmatchablePseudoComponents()` replace or remove a selector `:not(...)` component if its argument
908
- * contains pseudo-elements or dynamic pseudo-classes.
909
- *
910
- * @param string[] $matches array of elements matched by the regular expression
911
- *
912
- * @return string the full match if there were no unmatchable pseudo components within; otherwise, any preceding
913
- * whitespace followed by "*", or an empty string if there was no preceding whitespace
914
- */
915
- private function replaceUnmatchableNotComponent(array $matches)
916
- {
917
- list($notComponentWithAnyPrecedingWhitespace, $anyPrecedingWhitespace, $notArgumentInBrackets) = $matches;
918
- $hasUnmatchablePseudo = \preg_match('/:(?!' . self::PSEUDO_CLASS_MATCHER . ')[\\w\\-:]/i', $notArgumentInBrackets);
919
- if ($hasUnmatchablePseudo) {
920
- return $anyPrecedingWhitespace !== '' ? $anyPrecedingWhitespace . '*' : '';
921
- }
922
- return $notComponentWithAnyPrecedingWhitespace;
923
- }
924
- /**
925
- * Checks whether there is at least one matching element for $cssSelector.
926
- * When not in debug mode, it returns true also for invalid selectors (because they may be valid,
927
- * just not implemented/recognized yet by Emogrifier).
928
- *
929
- * @param string $cssSelector
930
- *
931
- * @return bool
932
- *
933
- * @throws \InvalidArgumentException
934
- */
935
- private function existsMatchForCssSelector($cssSelector)
936
- {
937
- try {
938
- $nodesMatchingSelector = $this->xPath->query($this->translateCssToXpath($cssSelector));
939
- } catch (\InvalidArgumentException $e) {
940
- if ($this->debug) {
941
- throw $e;
942
- }
943
- return \true;
944
- }
945
- return $nodesMatchingSelector !== \false && $nodesMatchingSelector->length !== 0;
946
- }
947
- /**
948
- * Returns CSS content.
949
- *
950
- * @return string
951
- */
952
- private function getCssFromAllStyleNodes()
953
- {
954
- $styleNodes = $this->xPath->query('//style');
955
- if ($styleNodes === \false) {
956
- return '';
957
- }
958
- $css = '';
959
- /** @var \DOMNode $styleNode */
960
- foreach ($styleNodes as $styleNode) {
961
- $css .= "\n\n" . $styleNode->nodeValue;
962
- $styleNode->parentNode->removeChild($styleNode);
963
- }
964
- return $css;
965
- }
966
- /**
967
- * Adds a style element with $css to $this->domDocument.
968
- *
969
- * This method is protected to allow overriding.
970
- *
971
- * @see https://github.com/MyIntervals/emogrifier/issues/103
972
- *
973
- * @param string $css
974
- *
975
- * @return void
976
- */
977
- protected function addStyleElementToDocument($css)
978
- {
979
- $styleElement = $this->domDocument->createElement('style', $css);
980
- $styleAttribute = $this->domDocument->createAttribute('type');
981
- $styleAttribute->value = 'text/css';
982
- $styleElement->appendChild($styleAttribute);
983
- $headElement = $this->getHeadElement();
984
- $headElement->appendChild($styleElement);
985
- }
986
- /**
987
- * Checks that $this->domDocument has a BODY element and adds it if it is missing.
988
- *
989
- * @return void
990
- *
991
- * @throws \UnexpectedValueException
992
- */
993
- private function ensureExistenceOfBodyElement()
994
- {
995
- if ($this->domDocument->getElementsByTagName('body')->item(0) !== null) {
996
- return;
997
- }
998
- $htmlElement = $this->domDocument->getElementsByTagName('html')->item(0);
999
- if ($htmlElement === null) {
1000
- throw new \UnexpectedValueException('There is no HTML element although there should be one.', 1569930874);
1001
- }
1002
- $htmlElement->appendChild($this->domDocument->createElement('body'));
1003
- }
1004
- /**
1005
- * Removes comments from the supplied CSS.
1006
- *
1007
- * @param string $css
1008
- *
1009
- * @return string CSS with the comments removed
1010
- */
1011
- private function removeCssComments($css)
1012
- {
1013
- return \preg_replace('%/\\*[^*]*+(?:\\*(?!/)[^*]*+)*+\\*/%', '', $css);
1014
- }
1015
- /**
1016
- * Extracts `@import` and `@charset` rules from the supplied CSS. These rules must not be preceded by any other
1017
- * rules, or they will be ignored. (From the CSS 2.1 specification: "CSS 2.1 user agents must ignore any '@import'
1018
- * rule that occurs inside a block or after any non-ignored statement other than an @charset or an @import rule."
1019
- * Note also that `@charset` is case sensitive whereas `@import` is not.)
1020
- *
1021
- * @param string $css CSS with comments removed
1022
- *
1023
- * @return string[] The first element is the CSS with the valid `@import` and `@charset` rules removed. The second
1024
- * element contains a concatenation of the valid `@import` rules, each followed by whatever whitespace followed it
1025
- * in the original CSS (so that either unminified or minified formatting is preserved); if there were no `@import`
1026
- * rules, it will be an empty string. The (valid) `@charset` rules are discarded.
1027
- */
1028
- private function extractImportAndCharsetRules($css)
1029
- {
1030
- $possiblyModifiedCss = $css;
1031
- $importRules = '';
1032
- while (\preg_match('/^\\s*+(@((?i)import(?-i)|charset)\\s[^;]++;\\s*+)/', $possiblyModifiedCss, $matches)) {
1033
- list($fullMatch, $atRuleAndFollowingWhitespace, $atRuleName) = $matches;
1034
- if (\strtolower($atRuleName) === 'import') {
1035
- $importRules .= $atRuleAndFollowingWhitespace;
1036
- }
1037
- $possiblyModifiedCss = \substr($possiblyModifiedCss, \strlen($fullMatch));
1038
- }
1039
- return [$possiblyModifiedCss, $importRules];
1040
- }
1041
- /**
1042
- * Splits input CSS code into an array of parts for different media queries, in order.
1043
- * Each part is an array where:
1044
- *
1045
- * - key "css" will contain clean CSS code (for @media rules this will be the group rule body within "{...}")
1046
- * - key "media" will contain "@media " followed by the media query list, for all allowed media queries,
1047
- * or an empty string for CSS not within a media query
1048
- *
1049
- * Example:
1050
- *
1051
- * The CSS code
1052
- *
1053
- * "@import "file.css"; h1 { color:red; } @media { h1 {}} @media tv { h1 {}}"
1054
- *
1055
- * will be parsed into the following array:
1056
- *
1057
- * 0 => [
1058
- * "css" => "h1 { color:red; }",
1059
- * "media" => ""
1060
- * ],
1061
- * 1 => [
1062
- * "css" => " h1 {}",
1063
- * "media" => "@media "
1064
- * ]
1065
- *
1066
- * @param string $css
1067
- *
1068
- * @return string[][]
1069
- */
1070
- private function splitCssAndMediaQuery($css)
1071
- {
1072
- $mediaTypesExpression = '';
1073
- if (!empty($this->allowedMediaTypes)) {
1074
- $mediaTypesExpression = '|' . \implode('|', \array_keys($this->allowedMediaTypes));
1075
- }
1076
- $mediaRuleBodyMatcher = '[^{]*+{(?:[^{}]*+{.*})?\\s*+}\\s*+';
1077
- $cssSplitForAllowedMediaTypes = \preg_split('#(@media\\s++(?:only\\s++)?+(?:(?=[{(])' . $mediaTypesExpression . ')' . $mediaRuleBodyMatcher . ')#misU', $css, -1, \PREG_SPLIT_DELIM_CAPTURE);
1078
- // filter the CSS outside/between allowed @media rules
1079
- $cssCleaningMatchers = ['import/charset directives' => '/\\s*+@(?:import|charset)\\s[^;]++;/i', 'remaining media enclosures' => '/\\s*+@media\\s' . $mediaRuleBodyMatcher . '/isU'];
1080
- $splitCss = [];
1081
- foreach ($cssSplitForAllowedMediaTypes as $index => $cssPart) {
1082
- $isMediaRule = $index % 2 !== 0;
1083
- if ($isMediaRule) {
1084
- \preg_match('/^([^{]*+){(.*)}[^}]*+$/s', $cssPart, $matches);
1085
- $splitCss[] = ['css' => $matches[2], 'media' => $matches[1]];
1086
- } else {
1087
- $cleanedCss = \trim(\preg_replace($cssCleaningMatchers, '', $cssPart));
1088
- if ($cleanedCss !== '') {
1089
- $splitCss[] = ['css' => $cleanedCss, 'media' => ''];
1090
- }
1091
- }
1092
- }
1093
- return $splitCss;
1094
- }
1095
- /**
1096
- * Removes empty unprocessable tags from the DOM document.
1097
- *
1098
- * @return void
1099
- */
1100
- private function removeUnprocessableTags()
1101
- {
1102
- foreach ($this->unprocessableHtmlTags as $tagName) {
1103
- // Deleting nodes from a 'live' NodeList invalidates iteration on it, so a copy must be made to iterate.
1104
- $nodes = [];
1105
- foreach ($this->domDocument->getElementsByTagName($tagName) as $node) {
1106
- $nodes[] = $node;
1107
- }
1108
- /** @var \DOMNode $node */
1109
- foreach ($nodes as $node) {
1110
- if (!$node->hasChildNodes()) {
1111
- $node->parentNode->removeChild($node);
1112
- }
1113
- }
1114
- }
1115
- }
1116
- /**
1117
- * Makes sure that the passed HTML has a document type.
1118
- *
1119
- * @param string $html
1120
- *
1121
- * @return string HTML with document type
1122
- */
1123
- private function ensureDocumentType($html)
1124
- {
1125
- $hasDocumentType = \stripos($html, '<!DOCTYPE') !== \false;
1126
- if ($hasDocumentType) {
1127
- return $html;
1128
- }
1129
- return self::DEFAULT_DOCUMENT_TYPE . $html;
1130
- }
1131
- /**
1132
- * Adds a Content-Type meta tag for the charset.
1133
- *
1134
- * This method also ensures that there is a HEAD element.
1135
- *
1136
- * @param string $html
1137
- *
1138
- * @return string the HTML with the meta tag added
1139
- */
1140
- private function addContentTypeMetaTag($html)
1141
- {
1142
- $hasContentTypeMetaTag = \stripos($html, 'Content-Type') !== \false;
1143
- if ($hasContentTypeMetaTag) {
1144
- return $html;
1145
- }
1146
- // We are trying to insert the meta tag to the right spot in the DOM.
1147
- // If we just prepended it to the HTML, we would lose attributes set to the HTML tag.
1148
- $hasHeadTag = \stripos($html, '<head') !== \false;
1149
- $hasHtmlTag = \stripos($html, '<html') !== \false;
1150
- if ($hasHeadTag) {
1151
- $reworkedHtml = \preg_replace('/<head(.*?)>/i', '<head$1>' . self::CONTENT_TYPE_META_TAG, $html);
1152
- } elseif ($hasHtmlTag) {
1153
- $reworkedHtml = \preg_replace('/<html(.*?)>/i', '<html$1><head>' . self::CONTENT_TYPE_META_TAG . '</head>', $html);
1154
- } else {
1155
- $reworkedHtml = self::CONTENT_TYPE_META_TAG . $html;
1156
- }
1157
- return $reworkedHtml;
1158
- }
1159
- /**
1160
- * Makes sure that any self-closing tags not recognized as such by PHP's DOMDocument implementation have a
1161
- * self-closing slash.
1162
- *
1163
- * @param string $html
1164
- *
1165
- * @return string HTML with problematic tags converted.
1166
- */
1167
- private function ensurePhpUnrecognizedSelfClosingTagsAreXml($html)
1168
- {
1169
- return \preg_replace('%<' . self::PHP_UNRECOGNIZED_VOID_TAGNAME_MATCHER . '\\b[^>]*+(?<!/)(?=>)%', '$0/', $html);
1170
- }
1171
- /**
1172
- * @param string[] $a
1173
- * @param string[] $b
1174
- *
1175
- * @return int
1176
- */
1177
- private function sortBySelectorPrecedence(array $a, array $b)
1178
- {
1179
- $precedenceA = $this->getCssSelectorPrecedence($a['selector']);
1180
- $precedenceB = $this->getCssSelectorPrecedence($b['selector']);
1181
- // We want these sorted in ascending order so selectors with lesser precedence get processed first and
1182
- // selectors with greater precedence get sorted last.
1183
- $precedenceForEquals = $a['line'] < $b['line'] ? -1 : 1;
1184
- $precedenceForNotEquals = $precedenceA < $precedenceB ? -1 : 1;
1185
- return $precedenceA === $precedenceB ? $precedenceForEquals : $precedenceForNotEquals;
1186
- }
1187
- /**
1188
- * @param string $selector
1189
- *
1190
- * @return int
1191
- */
1192
- private function getCssSelectorPrecedence($selector)
1193
- {
1194
- $selectorKey = \md5($selector);
1195
- if (!isset($this->caches[self::CACHE_KEY_SELECTOR][$selectorKey])) {
1196
- $precedence = 0;
1197
- foreach ($this->selectorPrecedenceMatchers as $matcher => $value) {
1198
- if (\trim($selector) === '') {
1199
- break;
1200
- }
1201
- $number = 0;
1202
- $selector = \preg_replace('/' . $matcher . '\\w+/', '', $selector, -1, $number);
1203
- $precedence += $value * $number;
1204
- }
1205
- $this->caches[self::CACHE_KEY_SELECTOR][$selectorKey] = $precedence;
1206
- }
1207
- return $this->caches[self::CACHE_KEY_SELECTOR][$selectorKey];
1208
- }
1209
- /**
1210
- * Maps a CSS selector to an XPath query string.
1211
- *
1212
- * @see http://plasmasturm.org/log/444/
1213
- *
1214
- * @param string $cssSelector a CSS selector
1215
- *
1216
- * @return string the corresponding XPath selector
1217
- */
1218
- private function translateCssToXpath($cssSelector)
1219
- {
1220
- $paddedSelector = ' ' . $cssSelector . ' ';
1221
- $lowercasePaddedSelector = \preg_replace_callback('/\\s+\\w+\\s+/', static function (array $matches) {
1222
- return \strtolower($matches[0]);
1223
- }, $paddedSelector);
1224
- $trimmedLowercaseSelector = \trim($lowercasePaddedSelector);
1225
- $xPathKey = \md5($trimmedLowercaseSelector);
1226
- if (isset($this->caches[self::CACHE_KEY_XPATH][$xPathKey])) {
1227
- return $this->caches[self::CACHE_KEY_SELECTOR][$xPathKey];
1228
- }
1229
- $hasNotSelector = (bool) \preg_match('/^([^:]+):not\\(\\s*([[:ascii:]]+)\\s*\\)$/', $trimmedLowercaseSelector, $matches);
1230
- if ($hasNotSelector) {
1231
- /** @var string[] $matches */
1232
- list(, $partBeforeNot, $notContents) = $matches;
1233
- $xPath = '//' . $this->translateCssToXpathPass($partBeforeNot) . '[not(' . $this->translateCssToXpathPassInline($notContents) . ')]';
1234
- } else {
1235
- $xPath = '//' . $this->translateCssToXpathPass($trimmedLowercaseSelector);
1236
- }
1237
- $this->caches[self::CACHE_KEY_SELECTOR][$xPathKey] = $xPath;
1238
- return $this->caches[self::CACHE_KEY_SELECTOR][$xPathKey];
1239
- }
1240
- /**
1241
- * Flexibly translates the CSS selector $trimmedLowercaseSelector to an xPath selector.
1242
- *
1243
- * @param string $trimmedLowercaseSelector
1244
- *
1245
- * @return string
1246
- */
1247
- private function translateCssToXpathPass($trimmedLowercaseSelector)
1248
- {
1249
- return $this->translateCssToXpathPassWithMatchClassAttributesCallback($trimmedLowercaseSelector, [$this, 'matchClassAttributes']);
1250
- }
1251
- /**
1252
- * Flexibly translates the CSS selector $trimmedLowercaseSelector to an xPath selector for inline usage.
1253
- *
1254
- * @param string $trimmedLowercaseSelector
1255
- *
1256
- * @return string
1257
- */
1258
- private function translateCssToXpathPassInline($trimmedLowercaseSelector)
1259
- {
1260
- return $this->translateCssToXpathPassWithMatchClassAttributesCallback($trimmedLowercaseSelector, [$this, 'matchClassAttributesInline']);
1261
- }
1262
- /**
1263
- * Flexibly translates the CSS selector $trimmedLowercaseSelector to an xPath selector while using
1264
- * $matchClassAttributesCallback as to match the class attributes.
1265
- *
1266
- * @param string $trimmedLowercaseSelector
1267
- * @param callable $matchClassAttributesCallback
1268
- *
1269
- * @return string
1270
- */
1271
- private function translateCssToXpathPassWithMatchClassAttributesCallback($trimmedLowercaseSelector, callable $matchClassAttributesCallback)
1272
- {
1273
- $roughXpath = \preg_replace(\array_keys($this->xPathRules), $this->xPathRules, $trimmedLowercaseSelector);
1274
- $xPathWithIdAttributeMatchers = \preg_replace_callback(self::ID_ATTRIBUTE_MATCHER, [$this, 'matchIdAttributes'], $roughXpath);
1275
- $xPathWithIdAttributeAndClassMatchers = \preg_replace_callback(self::CLASS_ATTRIBUTE_MATCHER, $matchClassAttributesCallback, $xPathWithIdAttributeMatchers);
1276
- // Advanced selectors are going to require a bit more advanced emogrification.
1277
- $xPathWithIdAttributeAndClassMatchers = \preg_replace_callback('/([^\\/]+):nth-child\\(\\s*(odd|even|[+\\-]?\\d|[+\\-]?\\d?n(\\s*[+\\-]\\s*\\d)?)\\s*\\)/i', [$this, 'translateNthChild'], $xPathWithIdAttributeAndClassMatchers);
1278
- $finalXpath = \preg_replace_callback('/([^\\/]+):nth-of-type\\(\\s*(odd|even|[+\\-]?\\d|[+\\-]?\\d?n(\\s*[+\\-]\\s*\\d)?)\\s*\\)/i', [$this, 'translateNthOfType'], $xPathWithIdAttributeAndClassMatchers);
1279
- return $finalXpath;
1280
- }
1281
- /**
1282
- * @param string[] $match
1283
- *
1284
- * @return string
1285
- */
1286
- private function matchIdAttributes(array $match)
1287
- {
1288
- return ($match[1] !== '' ? $match[1] : '*') . '[@id="' . $match[2] . '"]';
1289
- }
1290
- /**
1291
- * @param string[] $match
1292
- *
1293
- * @return string xPath class attribute query wrapped in element selector
1294
- */
1295
- private function matchClassAttributes(array $match)
1296
- {
1297
- return ($match[1] !== '' ? $match[1] : '*') . '[' . $this->matchClassAttributesInline($match) . ']';
1298
- }
1299
- /**
1300
- * @param string[] $match
1301
- *
1302
- * @return string xPath class attribute query
1303
- */
1304
- private function matchClassAttributesInline(array $match)
1305
- {
1306
- return 'contains(concat(" ",@class," "),concat(" ","' . \str_replace('.', '"," "))][contains(concat(" ",@class," "),concat(" ","', \substr($match[2], 1)) . '"," "))';
1307
- }
1308
- /**
1309
- * @param string[] $match
1310
- *
1311
- * @return string
1312
- */
1313
- private function translateNthChild(array $match)
1314
- {
1315
- $parseResult = $this->parseNth($match);
1316
- if (isset($parseResult[self::MULTIPLIER])) {
1317
- if ($parseResult[self::MULTIPLIER] < 0) {
1318
- $parseResult[self::MULTIPLIER] = \abs($parseResult[self::MULTIPLIER]);
1319
- $xPathExpression = \sprintf('*[(last() - position()) mod %1%u = %2$u]/self::%3$s', $parseResult[self::MULTIPLIER], $parseResult[self::INDEX], $match[1]);
1320
- } else {
1321
- $xPathExpression = \sprintf('*[position() mod %1$u = %2$u]/self::%3$s', $parseResult[self::MULTIPLIER], $parseResult[self::INDEX], $match[1]);
1322
- }
1323
- } else {
1324
- $xPathExpression = \sprintf('*[%1$u]/self::%2$s', $parseResult[self::INDEX], $match[1]);
1325
- }
1326
- return $xPathExpression;
1327
- }
1328
- /**
1329
- * @param string[] $match
1330
- *
1331
- * @return string
1332
- */
1333
- private function translateNthOfType(array $match)
1334
- {
1335
- $parseResult = $this->parseNth($match);
1336
- if (isset($parseResult[self::MULTIPLIER])) {
1337
- if ($parseResult[self::MULTIPLIER] < 0) {
1338
- $parseResult[self::MULTIPLIER] = \abs($parseResult[self::MULTIPLIER]);
1339
- $xPathExpression = \sprintf('%1$s[(last() - position()) mod %2$u = %3$u]', $match[1], $parseResult[self::MULTIPLIER], $parseResult[self::INDEX]);
1340
- } else {
1341
- $xPathExpression = \sprintf('%1$s[position() mod %2$u = %3$u]', $match[1], $parseResult[self::MULTIPLIER], $parseResult[self::INDEX]);
1342
- }
1343
- } else {
1344
- $xPathExpression = \sprintf('%1$s[%2$u]', $match[1], $parseResult[self::INDEX]);
1345
- }
1346
- return $xPathExpression;
1347
- }
1348
- /**
1349
- * @param string[] $match
1350
- *
1351
- * @return int[]
1352
- */
1353
- private function parseNth(array $match)
1354
- {
1355
- if (\in_array(\strtolower($match[2]), ['even', 'odd'], \true)) {
1356
- // we have "even" or "odd"
1357
- $index = \strtolower($match[2]) === 'even' ? 0 : 1;
1358
- return [self::MULTIPLIER => 2, self::INDEX => $index];
1359
- }
1360
- if (\stripos($match[2], 'n') === \false) {
1361
- // if there is a multiplier
1362
- $index = (int) \str_replace(' ', '', $match[2]);
1363
- return [self::INDEX => $index];
1364
- }
1365
- if (isset($match[3])) {
1366
- $multipleTerm = \str_replace($match[3], '', $match[2]);
1367
- $index = (int) \str_replace(' ', '', $match[3]);
1368
- } else {
1369
- $multipleTerm = $match[2];
1370
- $index = 0;
1371
- }
1372
- $multiplier = \str_ireplace('n', '', $multipleTerm);
1373
- if ($multiplier === '') {
1374
- $multiplier = 1;
1375
- } elseif ($multiplier === '0') {
1376
- return [self::INDEX => $index];
1377
- } else {
1378
- $multiplier = (int) $multiplier;
1379
- }
1380
- while ($index < 0) {
1381
- $index += \abs($multiplier);
1382
- }
1383
- return [self::MULTIPLIER => $multiplier, self::INDEX => $index];
1384
- }
1385
- /**
1386
- * Parses a CSS declaration block into property name/value pairs.
1387
- *
1388
- * Example:
1389
- *
1390
- * The declaration block
1391
- *
1392
- * "color: #000; font-weight: bold;"
1393
- *
1394
- * will be parsed into the following array:
1395
- *
1396
- * "color" => "#000"
1397
- * "font-weight" => "bold"
1398
- *
1399
- * @param string $cssDeclarationsBlock the CSS declarations block without the curly braces, may be empty
1400
- *
1401
- * @return string[]
1402
- * the CSS declarations with the property names as array keys and the property values as array values
1403
- */
1404
- private function parseCssDeclarationsBlock($cssDeclarationsBlock)
1405
- {
1406
- if (isset($this->caches[self::CACHE_KEY_CSS_DECLARATIONS_BLOCK][$cssDeclarationsBlock])) {
1407
- return $this->caches[self::CACHE_KEY_CSS_DECLARATIONS_BLOCK][$cssDeclarationsBlock];
1408
- }
1409
- $properties = [];
1410
- foreach (\preg_split('/;(?!base64|charset)/', $cssDeclarationsBlock) as $declaration) {
1411
- $matches = [];
1412
- if (!\preg_match('/^([A-Za-z\\-]+)\\s*:\\s*(.+)$/s', \trim($declaration), $matches)) {
1413
- continue;
1414
- }
1415
- $propertyName = \strtolower($matches[1]);
1416
- $propertyValue = $matches[2];
1417
- $properties[$propertyName] = $propertyValue;
1418
- }
1419
- $this->caches[self::CACHE_KEY_CSS_DECLARATIONS_BLOCK][$cssDeclarationsBlock] = $properties;
1420
- return $properties;
1421
- }
1422
- /**
1423
- * Find the nodes that are not to be emogrified.
1424
- *
1425
- * @return \DOMElement[]
1426
- *
1427
- * @throws \InvalidArgumentException
1428
- */
1429
- private function getNodesToExclude()
1430
- {
1431
- $excludedNodes = [];
1432
- foreach (\array_keys($this->excludedSelectors) as $selectorToExclude) {
1433
- try {
1434
- $matchingNodes = $this->xPath->query($this->translateCssToXpath($selectorToExclude));
1435
- } catch (\InvalidArgumentException $e) {
1436
- if ($this->debug) {
1437
- throw $e;
1438
- }
1439
- continue;
1440
- }
1441
- foreach ($matchingNodes as $node) {
1442
- $excludedNodes[] = $node;
1443
- }
1444
- }
1445
- return $excludedNodes;
1446
- }
1447
- /**
1448
- * Handles invalid xPath expression warnings, generated during the process() method,
1449
- * during querying \DOMDocument and trigger an \InvalidArgumentException with an invalid selector
1450
- * or \RuntimeException, depending on the source of the warning.
1451
- *
1452
- * @param int $type
1453
- * @param string $message
1454
- * @param string $file
1455
- * @param int $line
1456
- * @param array $context
1457
- *
1458
- * @return bool always false
1459
- *
1460
- * @throws \InvalidArgumentException
1461
- * @throws \RuntimeException
1462
- */
1463
- public function handleXpathQueryWarnings(
1464
- // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter
1465
- $type,
1466
- $message,
1467
- $file,
1468
- $line,
1469
- array $context
1470
- )
1471
- {
1472
- $selector = '';
1473
- if (isset($context['cssRule']['selector'])) {
1474
- // warnings generated by invalid/unrecognized selectors in method process()
1475
- $selector = $context['cssRule']['selector'];
1476
- } elseif (isset($context['selectorToExclude'])) {
1477
- // warnings generated by invalid/unrecognized selectors in method getNodesToExclude()
1478
- $selector = $context['selectorToExclude'];
1479
- } elseif (isset($context['cssSelector'])) {
1480
- // warnings generated by invalid/unrecognized selectors in method existsMatchForCssSelector()
1481
- $selector = $context['cssSelector'];
1482
- }
1483
- if ($selector !== '') {
1484
- throw new \InvalidArgumentException(\sprintf('%1$s in selector >> %2$s << in %3$s on line %4$u', $message, $selector, $file, $line), 1509279985);
1485
- }
1486
- // Catches eventual warnings generated by method getAllNodesWithStyleAttribute()
1487
- if (isset($context['xPath'])) {
1488
- throw new \RuntimeException(\sprintf('%1$s in %2$s on line %3$u', $message, $file, $line), 1509280067);
1489
- }
1490
- // the normal error handling continues when handler return false
1491
- return \false;
1492
- }
1493
- /**
1494
- * Sets the debug mode.
1495
- *
1496
- * @param bool $debug set to true to enable debug mode
1497
- *
1498
- * @return void
1499
- */
1500
- public function setDebug($debug)
1501
- {
1502
- $this->debug = $debug;
1503
- }
1504
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
third-party/vendor/pelago/emogrifier/src/Emogrifier/HtmlProcessor/AbstractHtmlProcessor.php DELETED
@@ -1,272 +0,0 @@
1
- <?php
2
-
3
- namespace ProfilePressVendor\Pelago\Emogrifier\HtmlProcessor;
4
-
5
- /**
6
- * Base class for HTML processor that e.g., can remove, add or modify nodes or attributes.
7
- *
8
- * The "vanilla" subclass is the HtmlNormalizer.
9
- *
10
- * @author Oliver Klee <github@oliverklee.de>
11
- */
12
- abstract class AbstractHtmlProcessor
13
- {
14
- /**
15
- * @var string
16
- */
17
- const DEFAULT_DOCUMENT_TYPE = '<!DOCTYPE html>';
18
- /**
19
- * @var string
20
- */
21
- const CONTENT_TYPE_META_TAG = '<meta http-equiv="Content-Type" content="text/html; charset=utf-8">';
22
- /**
23
- * @var string Regular expression part to match tag names that PHP's DOMDocument implementation is not aware are
24
- * self-closing. These are mostly HTML5 elements, but for completeness <command> (obsolete) and <keygen>
25
- * (deprecated) are also included.
26
- *
27
- * @see https://bugs.php.net/bug.php?id=73175
28
- */
29
- const PHP_UNRECOGNIZED_VOID_TAGNAME_MATCHER = '(?:command|embed|keygen|source|track|wbr)';
30
- /**
31
- * @var \DOMDocument
32
- */
33
- protected $domDocument = null;
34
- /**
35
- * @var \DOMXPath
36
- */
37
- protected $xPath = null;
38
- /**
39
- * The constructor.
40
- *
41
- * Please use ::fromHtml instead.
42
- */
43
- private function __construct()
44
- {
45
- }
46
- /**
47
- * Builds a new instance from the given HTML.
48
- *
49
- * @param string $unprocessedHtml raw HTML, must be UTF-encoded, must not be empty
50
- *
51
- * @return static
52
- *
53
- * @throws \InvalidArgumentException if $unprocessedHtml is anything other than a non-empty string
54
- */
55
- public static function fromHtml($unprocessedHtml)
56
- {
57
- if (!\is_string($unprocessedHtml)) {
58
- throw new \InvalidArgumentException('The provided HTML must be a string.', 1515459744);
59
- }
60
- if ($unprocessedHtml === '') {
61
- throw new \InvalidArgumentException('The provided HTML must not be empty.', 1515763647);
62
- }
63
- $instance = new static();
64
- $instance->setHtml($unprocessedHtml);
65
- return $instance;
66
- }
67
- /**
68
- * Builds a new instance from the given DOM document.
69
- *
70
- * @param \DOMDocument $document a DOM document returned by getDomDocument() of another instance
71
- *
72
- * @return static
73
- */
74
- public static function fromDomDocument(\DOMDocument $document)
75
- {
76
- $instance = new static();
77
- $instance->setDomDocument($document);
78
- return $instance;
79
- }
80
- /**
81
- * Sets the HTML to process.
82
- *
83
- * @param string $html the HTML to process, must be UTF-8-encoded
84
- *
85
- * @return void
86
- */
87
- private function setHtml($html)
88
- {
89
- $this->createUnifiedDomDocument($html);
90
- }
91
- /**
92
- * Provides access to the internal DOMDocument representation of the HTML in its current state.
93
- *
94
- * @return \DOMDocument
95
- */
96
- public function getDomDocument()
97
- {
98
- return $this->domDocument;
99
- }
100
- /**
101
- * @param \DOMDocument $domDocument
102
- *
103
- * @return void
104
- */
105
- private function setDomDocument(\DOMDocument $domDocument)
106
- {
107
- $this->domDocument = $domDocument;
108
- $this->xPath = new \DOMXPath($this->domDocument);
109
- }
110
- /**
111
- * Renders the normalized and processed HTML.
112
- *
113
- * @return string
114
- */
115
- public function render()
116
- {
117
- $htmlWithPossibleErroneousClosingTags = $this->domDocument->saveHTML();
118
- return $this->removeSelfClosingTagsClosingTags($htmlWithPossibleErroneousClosingTags);
119
- }
120
- /**
121
- * Renders the content of the BODY element of the normalized and processed HTML.
122
- *
123
- * @return string
124
- */
125
- public function renderBodyContent()
126
- {
127
- $htmlWithPossibleErroneousClosingTags = $this->domDocument->saveHTML($this->getBodyElement());
128
- $bodyNodeHtml = $this->removeSelfClosingTagsClosingTags($htmlWithPossibleErroneousClosingTags);
129
- return \preg_replace('%</?+body(?:\\s[^>]*+)?+>%', '', $bodyNodeHtml);
130
- }
131
- /**
132
- * Eliminates any invalid closing tags for void elements from the given HTML.
133
- *
134
- * @param string $html
135
- *
136
- * @return string
137
- */
138
- private function removeSelfClosingTagsClosingTags($html)
139
- {
140
- return \preg_replace('%</' . static::PHP_UNRECOGNIZED_VOID_TAGNAME_MATCHER . '>%', '', $html);
141
- }
142
- /**
143
- * Returns the BODY element.
144
- *
145
- * This method assumes that there always is a BODY element.
146
- *
147
- * @return \DOMElement
148
- */
149
- private function getBodyElement()
150
- {
151
- return $this->domDocument->getElementsByTagName('body')->item(0);
152
- }
153
- /**
154
- * Creates a DOM document from the given HTML and stores it in $this->domDocument.
155
- *
156
- * The DOM document will always have a BODY element and a document type.
157
- *
158
- * @param string $html
159
- *
160
- * @return void
161
- */
162
- private function createUnifiedDomDocument($html)
163
- {
164
- $this->createRawDomDocument($html);
165
- $this->ensureExistenceOfBodyElement();
166
- }
167
- /**
168
- * Creates a DOMDocument instance from the given HTML and stores it in $this->domDocument.
169
- *
170
- * @param string $html
171
- *
172
- * @return void
173
- */
174
- private function createRawDomDocument($html)
175
- {
176
- $domDocument = new \DOMDocument();
177
- $domDocument->strictErrorChecking = \false;
178
- $domDocument->formatOutput = \true;
179
- $libXmlState = \libxml_use_internal_errors(\true);
180
- $domDocument->loadHTML($this->prepareHtmlForDomConversion($html));
181
- \libxml_clear_errors();
182
- \libxml_use_internal_errors($libXmlState);
183
- $this->setDomDocument($domDocument);
184
- }
185
- /**
186
- * Returns the HTML with added document type, Content-Type meta tag, and self-closing slashes, if needed,
187
- * ensuring that the HTML will be good for creating a DOM document from it.
188
- *
189
- * @param string $html
190
- *
191
- * @return string the unified HTML
192
- */
193
- private function prepareHtmlForDomConversion($html)
194
- {
195
- $htmlWithSelfClosingSlashes = $this->ensurePhpUnrecognizedSelfClosingTagsAreXml($html);
196
- $htmlWithDocumentType = $this->ensureDocumentType($htmlWithSelfClosingSlashes);
197
- return $this->addContentTypeMetaTag($htmlWithDocumentType);
198
- }
199
- /**
200
- * Makes sure that the passed HTML has a document type.
201
- *
202
- * @param string $html
203
- *
204
- * @return string HTML with document type
205
- */
206
- private function ensureDocumentType($html)
207
- {
208
- $hasDocumentType = \stripos($html, '<!DOCTYPE') !== \false;
209
- if ($hasDocumentType) {
210
- return $html;
211
- }
212
- return static::DEFAULT_DOCUMENT_TYPE . $html;
213
- }
214
- /**
215
- * Adds a Content-Type meta tag for the charset.
216
- *
217
- * This method also ensures that there is a HEAD element.
218
- *
219
- * @param string $html
220
- *
221
- * @return string the HTML with the meta tag added
222
- */
223
- private function addContentTypeMetaTag($html)
224
- {
225
- $hasContentTypeMetaTag = \stripos($html, 'Content-Type') !== \false;
226
- if ($hasContentTypeMetaTag) {
227
- return $html;
228
- }
229
- // We are trying to insert the meta tag to the right spot in the DOM.
230
- // If we just prepended it to the HTML, we would lose attributes set to the HTML tag.
231
- $hasHeadTag = \stripos($html, '<head') !== \false;
232
- $hasHtmlTag = \stripos($html, '<html') !== \false;
233
- if ($hasHeadTag) {
234
- $reworkedHtml = \preg_replace('/<head(.*?)>/i', '<head$1>' . static::CONTENT_TYPE_META_TAG, $html);
235
- } elseif ($hasHtmlTag) {
236
- $reworkedHtml = \preg_replace('/<html(.*?)>/i', '<html$1><head>' . static::CONTENT_TYPE_META_TAG . '</head>', $html);
237
- } else {
238
- $reworkedHtml = static::CONTENT_TYPE_META_TAG . $html;
239
- }
240
- return $reworkedHtml;
241
- }
242
- /**
243
- * Makes sure that any self-closing tags not recognized as such by PHP's DOMDocument implementation have a
244
- * self-closing slash.
245
- *
246
- * @param string $html
247
- *
248
- * @return string HTML with problematic tags converted.
249
- */
250
- private function ensurePhpUnrecognizedSelfClosingTagsAreXml($html)
251
- {
252
- return \preg_replace('%<' . static::PHP_UNRECOGNIZED_VOID_TAGNAME_MATCHER . '\\b[^>]*+(?<!/)(?=>)%', '$0/', $html);
253
- }
254
- /**
255
- * Checks that $this->domDocument has a BODY element and adds it if it is missing.
256
- *
257
- * @return void
258
- *
259
- * @throws \UnexpectedValueException
260
- */
261
- private function ensureExistenceOfBodyElement()
262
- {
263
- if ($this->domDocument->getElementsByTagName('body')->item(0) !== null) {
264
- return;
265
- }
266
- $htmlElement = $this->domDocument->getElementsByTagName('html')->item(0);
267
- if ($htmlElement === null) {
268
- throw new \UnexpectedValueException('There is no HTML element although there should be one.', 1569930853);
269
- }
270
- $htmlElement->appendChild($this->domDocument->createElement('body'));
271
- }
272
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
third-party/vendor/pelago/emogrifier/src/HtmlProcessor/AbstractHtmlProcessor.php ADDED
@@ -0,0 +1,401 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ declare (strict_types=1);
4
+ namespace ProfilePressVendor\Pelago\Emogrifier\HtmlProcessor;
5
+
6
+ /**
7
+ * Base class for HTML processor that e.g., can remove, add or modify nodes or attributes.
8
+ *
9
+ * The "vanilla" subclass is the HtmlNormalizer.
10
+ *
11
+ * @psalm-consistent-constructor
12
+ */
13
+ abstract class AbstractHtmlProcessor
14
+ {
15
+ /**
16
+ * @var string
17
+ */
18
+ protected const DEFAULT_DOCUMENT_TYPE = '<!DOCTYPE html>';
19
+ /**
20
+ * @var string
21
+ */
22
+ protected const CONTENT_TYPE_META_TAG = '<meta http-equiv="Content-Type" content="text/html; charset=utf-8">';
23
+ /**
24
+ * @var string Regular expression part to match tag names that PHP's DOMDocument implementation is not aware are
25
+ * self-closing. These are mostly HTML5 elements, but for completeness <command> (obsolete) and <keygen>
26
+ * (deprecated) are also included.
27
+ *
28
+ * @see https://bugs.php.net/bug.php?id=73175
29
+ */
30
+ protected const PHP_UNRECOGNIZED_VOID_TAGNAME_MATCHER = '(?:command|embed|keygen|source|track|wbr)';
31
+ /**
32
+ * Regular expression part to match tag names that may appear before the start of the `<body>` element. A start tag
33
+ * for any other element would implicitly start the `<body>` element due to tag omission rules.
34
+ *
35
+ * @var string
36
+ */
37
+ protected const TAGNAME_ALLOWED_BEFORE_BODY_MATCHER = '(?:html|head|base|command|link|meta|noscript|script|style|template|title)';
38
+ /**
39
+ * regular expression pattern to match an HTML comment, including delimiters and modifiers
40
+ *
41
+ * @var string
42
+ */
43
+ protected const HTML_COMMENT_PATTERN = '/<!--[^-]*+(?:-(?!->)[^-]*+)*+(?:-->|$)/';
44
+ /**
45
+ * regular expression pattern to match an HTML `<template>` element, including delimiters and modifiers
46
+ *
47
+ * @var string
48
+ */
49
+ protected const HTML_TEMPLATE_ELEMENT_PATTERN = '%<template[\\s>][^<]*+(?:<(?!/template>)[^<]*+)*+(?:</template>|$)%i';
50
+ /**
51
+ * @var ?\DOMDocument
52
+ */
53
+ protected $domDocument = null;
54
+ /**
55
+ * @var ?\DOMXPath
56
+ */
57
+ private $xPath = null;
58
+ /**
59
+ * The constructor.
60
+ *
61
+ * Please use `::fromHtml` or `::fromDomDocument` instead.
62
+ */
63
+ private function __construct()
64
+ {
65
+ }
66
+ /**
67
+ * Builds a new instance from the given HTML.
68
+ *
69
+ * @param string $unprocessedHtml raw HTML, must be UTF-encoded, must not be empty
70
+ *
71
+ * @return static
72
+ *
73
+ * @throws \InvalidArgumentException if $unprocessedHtml is anything other than a non-empty string
74
+ */
75
+ public static function fromHtml(string $unprocessedHtml) : self
76
+ {
77
+ if ($unprocessedHtml === '') {
78
+ throw new \InvalidArgumentException('The provided HTML must not be empty.', 1515763647);
79
+ }
80
+ $instance = new static();
81
+ $instance->setHtml($unprocessedHtml);
82
+ return $instance;
83
+ }
84
+ /**
85
+ * Builds a new instance from the given DOM document.
86
+ *
87
+ * @param \DOMDocument $document a DOM document returned by getDomDocument() of another instance
88
+ *
89
+ * @return static
90
+ */
91
+ public static function fromDomDocument(\DOMDocument $document) : self
92
+ {
93
+ $instance = new static();
94
+ $instance->setDomDocument($document);
95
+ return $instance;
96
+ }
97
+ /**
98
+ * Sets the HTML to process.
99
+ *
100
+ * @param string $html the HTML to process, must be UTF-8-encoded
101
+ */
102
+ private function setHtml(string $html) : void
103
+ {
104
+ $this->createUnifiedDomDocument($html);
105
+ }
106
+ /**
107
+ * Provides access to the internal DOMDocument representation of the HTML in its current state.
108
+ *
109
+ * @return \DOMDocument
110
+ *
111
+ * @throws \UnexpectedValueException
112
+ */
113
+ public function getDomDocument() : \DOMDocument
114
+ {
115
+ if (!$this->domDocument instanceof \DOMDocument) {
116
+ $message = self::class . '::setDomDocument() has not yet been called on ' . static::class;
117
+ throw new \UnexpectedValueException($message, 1570472239);
118
+ }
119
+ return $this->domDocument;
120
+ }
121
+ /**
122
+ * @param \DOMDocument $domDocument
123
+ */
124
+ private function setDomDocument(\DOMDocument $domDocument) : void
125
+ {
126
+ $this->domDocument = $domDocument;
127
+ $this->xPath = new \DOMXPath($this->domDocument);
128
+ }
129
+ /**
130
+ * @return \DOMXPath
131
+ *
132
+ * @throws \UnexpectedValueException
133
+ */
134
+ protected function getXPath() : \DOMXPath
135
+ {
136
+ if (!$this->xPath instanceof \DOMXPath) {
137
+ $message = self::class . '::setDomDocument() has not yet been called on ' . static::class;
138
+ throw new \UnexpectedValueException($message, 1617819086);
139
+ }
140
+ return $this->xPath;
141
+ }
142
+ /**
143
+ * Renders the normalized and processed HTML.
144
+ *
145
+ * @return string
146
+ */
147
+ public function render() : string
148
+ {
149
+ $htmlWithPossibleErroneousClosingTags = $this->getDomDocument()->saveHTML();
150
+ return $this->removeSelfClosingTagsClosingTags($htmlWithPossibleErroneousClosingTags);
151
+ }
152
+ /**
153
+ * Renders the content of the BODY element of the normalized and processed HTML.
154
+ *
155
+ * @return string
156
+ */
157
+ public function renderBodyContent() : string
158
+ {
159
+ $htmlWithPossibleErroneousClosingTags = $this->getDomDocument()->saveHTML($this->getBodyElement());
160
+ $bodyNodeHtml = $this->removeSelfClosingTagsClosingTags($htmlWithPossibleErroneousClosingTags);
161
+ return \preg_replace('%</?+body(?:\\s[^>]*+)?+>%', '', $bodyNodeHtml);
162
+ }
163
+ /**
164
+ * Eliminates any invalid closing tags for void elements from the given HTML.
165
+ *
166
+ * @param string $html
167
+ *
168
+ * @return string
169
+ */
170
+ private function removeSelfClosingTagsClosingTags(string $html) : string
171
+ {
172
+ return \preg_replace('%</' . self::PHP_UNRECOGNIZED_VOID_TAGNAME_MATCHER . '>%', '', $html);
173
+ }
174
+ /**
175
+ * Returns the BODY element.
176
+ *
177
+ * This method assumes that there always is a BODY element.
178
+ *
179
+ * @return \DOMElement
180
+ *
181
+ * @throws \RuntimeException
182
+ */
183
+ private function getBodyElement() : \DOMElement
184
+ {
185
+ $node = $this->getDomDocument()->getElementsByTagName('body')->item(0);
186
+ if (!$node instanceof \DOMElement) {
187
+ throw new \RuntimeException('There is no body element.', 1617922607);
188
+ }
189
+ return $node;
190
+ }
191
+ /**
192
+ * Creates a DOM document from the given HTML and stores it in $this->domDocument.
193
+ *
194
+ * The DOM document will always have a BODY element and a document type.
195
+ *
196
+ * @param string $html
197
+ */
198
+ private function createUnifiedDomDocument(string $html) : void
199
+ {
200
+ $this->createRawDomDocument($html);
201
+ $this->ensureExistenceOfBodyElement();
202
+ }
203
+ /**
204
+ * Creates a DOMDocument instance from the given HTML and stores it in $this->domDocument.
205
+ *
206
+ * @param string $html
207
+ */
208
+ private function createRawDomDocument(string $html) : void
209
+ {
210
+ $domDocument = new \DOMDocument();
211
+ $domDocument->strictErrorChecking = \false;
212
+ $domDocument->formatOutput = \true;
213
+ $libXmlState = \libxml_use_internal_errors(\true);
214
+ $domDocument->loadHTML($this->prepareHtmlForDomConversion($html));
215
+ \libxml_clear_errors();
216
+ \libxml_use_internal_errors($libXmlState);
217
+ $this->setDomDocument($domDocument);
218
+ }
219
+ /**
220
+ * Returns the HTML with added document type, Content-Type meta tag, and self-closing slashes, if needed,
221
+ * ensuring that the HTML will be good for creating a DOM document from it.
222
+ *
223
+ * @param string $html
224
+ *
225
+ * @return string the unified HTML
226
+ */
227
+ private function prepareHtmlForDomConversion(string $html) : string
228
+ {
229
+ $htmlWithSelfClosingSlashes = $this->ensurePhpUnrecognizedSelfClosingTagsAreXml($html);
230
+ $htmlWithDocumentType = $this->ensureDocumentType($htmlWithSelfClosingSlashes);
231
+ return $this->addContentTypeMetaTag($htmlWithDocumentType);
232
+ }
233
+ /**
234
+ * Makes sure that the passed HTML has a document type, with lowercase "html".
235
+ *
236
+ * @param string $html
237
+ *
238
+ * @return string HTML with document type
239
+ */
240
+ private function ensureDocumentType(string $html) : string
241
+ {
242
+ $hasDocumentType = \stripos($html, '<!DOCTYPE') !== \false;
243
+ if ($hasDocumentType) {
244
+ return $this->normalizeDocumentType($html);
245
+ }
246
+ return self::DEFAULT_DOCUMENT_TYPE . $html;
247
+ }
248
+ /**
249
+ * Makes sure the document type in the passed HTML has lowercase "html".
250
+ *
251
+ * @param string $html
252
+ *
253
+ * @return string HTML with normalized document type
254
+ */
255
+ private function normalizeDocumentType(string $html) : string
256
+ {
257
+ // Limit to replacing the first occurrence: as an optimization; and in case an example exists as unescaped text.
258
+ return \preg_replace('/<!DOCTYPE\\s++html(?=[\\s>])/i', '<!DOCTYPE html', $html, 1);
259
+ }
260
+ /**
261
+ * Adds a Content-Type meta tag for the charset.
262
+ *
263
+ * This method also ensures that there is a HEAD element.
264
+ *
265
+ * @param string $html
266
+ *
267
+ * @return string the HTML with the meta tag added
268
+ */
269
+ private function addContentTypeMetaTag(string $html) : string
270
+ {
271
+ if ($this->hasContentTypeMetaTagInHead($html)) {
272
+ return $html;
273
+ }
274
+ // We are trying to insert the meta tag to the right spot in the DOM.
275
+ // If we just prepended it to the HTML, we would lose attributes set to the HTML tag.
276
+ $hasHeadTag = \preg_match('/<head[\\s>]/i', $html);
277
+ $hasHtmlTag = \stripos($html, '<html') !== \false;
278
+ if ($hasHeadTag) {
279
+ $reworkedHtml = \preg_replace('/<head(?=[\\s>])([^>]*+)>/i', '<head$1>' . self::CONTENT_TYPE_META_TAG, $html);
280
+ } elseif ($hasHtmlTag) {
281
+ $reworkedHtml = \preg_replace('/<html(.*?)>/is', '<html$1><head>' . self::CONTENT_TYPE_META_TAG . '</head>', $html);
282
+ } else {
283
+ $reworkedHtml = self::CONTENT_TYPE_META_TAG . $html;
284
+ }
285
+ return $reworkedHtml;
286
+ }
287
+ /**
288
+ * Tests whether the given HTML has a valid `Content-Type` metadata element within the `<head>` element. Due to tag
289
+ * omission rules, HTML parsers are expected to end the `<head>` element and start the `<body>` element upon
290
+ * encountering a start tag for any element which is permitted only within the `<body>`.
291
+ *
292
+ * @param string $html
293
+ *
294
+ * @return bool
295
+ */
296
+ private function hasContentTypeMetaTagInHead(string $html) : bool
297
+ {
298
+ \preg_match('%^.*?(?=<meta(?=\\s)[^>]*\\shttp-equiv=(["\']?+)Content-Type\\g{-1}[\\s/>])%is', $html, $matches);
299
+ if (isset($matches[0])) {
300
+ $htmlBefore = $matches[0];
301
+ try {
302
+ $hasContentTypeMetaTagInHead = !$this->hasEndOfHeadElement($htmlBefore);
303
+ } catch (\RuntimeException $exception) {
304
+ // If something unexpected occurs, assume the `Content-Type` that was found is valid.
305
+ \trigger_error($exception->getMessage());
306
+ $hasContentTypeMetaTagInHead = \true;
307
+ }
308
+ } else {
309
+ $hasContentTypeMetaTagInHead = \false;
310
+ }
311
+ return $hasContentTypeMetaTagInHead;
312
+ }
313
+ /**
314
+ * Tests whether the `<head>` element ends within the given HTML. Due to tag omission rules, HTML parsers are
315
+ * expected to end the `<head>` element and start the `<body>` element upon encountering a start tag for any element
316
+ * which is permitted only within the `<body>`.
317
+ *
318
+ * @param string $html
319
+ *
320
+ * @return bool
321
+ *
322
+ * @throws \RuntimeException
323
+ */
324
+ private function hasEndOfHeadElement(string $html) : bool
325
+ {
326
+ $headEndTagMatchCount = \preg_match('%<(?!' . self::TAGNAME_ALLOWED_BEFORE_BODY_MATCHER . '[\\s/>])\\w|</head>%i', $html);
327
+ if (\is_int($headEndTagMatchCount) && $headEndTagMatchCount > 0) {
328
+ // An exception to the implicit end of the `<head>` is any content within a `<template>` element, as well in
329
+ // comments. As an optimization, this is only checked for if a potential `<head>` end tag is found.
330
+ $htmlWithoutCommentsOrTemplates = $this->removeHtmlTemplateElements($this->removeHtmlComments($html));
331
+ $hasEndOfHeadElement = $htmlWithoutCommentsOrTemplates === $html || $this->hasEndOfHeadElement($htmlWithoutCommentsOrTemplates);
332
+ } else {
333
+ $hasEndOfHeadElement = \false;
334
+ }
335
+ return $hasEndOfHeadElement;
336
+ }
337
+ /**
338
+ * Removes comments from the given HTML, including any which are unterminated, for which the remainder of the string
339
+ * is removed.
340
+ *
341
+ * @param string $html
342
+ *
343
+ * @return string
344
+ *
345
+ * @throws \RuntimeException
346
+ */
347
+ private function removeHtmlComments(string $html) : string
348
+ {
349
+ $result = \preg_replace(self::HTML_COMMENT_PATTERN, '', $html);
350
+ if (!\is_string($result)) {
351
+ throw new \RuntimeException('Internal PCRE error', 1616521475);
352
+ }
353
+ return $result;
354
+ }
355
+ /**
356
+ * Removes `<template>` elements from the given HTML, including any without an end tag, for which the remainder of
357
+ * the string is removed.
358
+ *
359
+ * @param string $html
360
+ *
361
+ * @return string
362
+ *
363
+ * @throws \RuntimeException
364
+ */
365
+ private function removeHtmlTemplateElements(string $html) : string
366
+ {
367
+ $result = \preg_replace(self::HTML_TEMPLATE_ELEMENT_PATTERN, '', $html);
368
+ if (!\is_string($result)) {
369
+ throw new \RuntimeException('Internal PCRE error', 1616519652);
370
+ }
371
+ return $result;
372
+ }
373
+ /**
374
+ * Makes sure that any self-closing tags not recognized as such by PHP's DOMDocument implementation have a
375
+ * self-closing slash.
376
+ *
377
+ * @param string $html
378
+ *
379
+ * @return string HTML with problematic tags converted.
380
+ */
381
+ private function ensurePhpUnrecognizedSelfClosingTagsAreXml(string $html) : string
382
+ {
383
+ return \preg_replace('%<' . self::PHP_UNRECOGNIZED_VOID_TAGNAME_MATCHER . '\\b[^>]*+(?<!/)(?=>)%', '$0/', $html);
384
+ }
385
+ /**
386
+ * Checks that $this->domDocument has a BODY element and adds it if it is missing.
387
+ *
388
+ * @throws \UnexpectedValueException
389
+ */
390
+ private function ensureExistenceOfBodyElement() : void
391
+ {
392
+ if ($this->getDomDocument()->getElementsByTagName('body')->item(0) instanceof \DOMElement) {
393
+ return;
394
+ }
395
+ $htmlElement = $this->getDomDocument()->getElementsByTagName('html')->item(0);
396
+ if (!$htmlElement instanceof \DOMElement) {
397
+ throw new \UnexpectedValueException('There is no HTML element although there should be one.', 1569930853);
398
+ }
399
+ $htmlElement->appendChild($this->getDomDocument()->createElement('body'));
400
+ }
401
+ }
third-party/vendor/pelago/emogrifier/src/{Emogrifier/HtmlProcessor → HtmlProcessor}/CssToAttributeConverter.php RENAMED
@@ -1,5 +1,6 @@
1
  <?php
2
 
 
3
  namespace ProfilePressVendor\Pelago\Emogrifier\HtmlProcessor;
4
 
5
  /**
@@ -9,8 +10,6 @@ namespace ProfilePressVendor\Pelago\Emogrifier\HtmlProcessor;
9
  * It will only add attributes, but leaves the style attribute untouched.
10
  *
11
  * To trigger the conversion, call the convertCssToVisualAttributes method.
12
- *
13
- * @author Oliver Klee <github@oliverklee.de>
14
  */
15
  class CssToAttributeConverter extends AbstractHtmlProcessor
16
  {
@@ -20,11 +19,11 @@ class CssToAttributeConverter extends AbstractHtmlProcessor
20
  * only for certain values, the mapping is an object with a whitelist
21
  * of nodes and values.
22
  *
23
- * @var mixed[][]
24
  */
25
- private $cssToHtmlMap = ['background-color' => ['attribute' => 'bgcolor'], 'text-align' => ['attribute' => 'align', 'nodes' => ['p', 'div', 'td'], 'values' => ['left', 'right', 'center', 'justify']], 'float' => ['attribute' => 'align', 'nodes' => ['table', 'img'], 'values' => ['left', 'right']], 'border-spacing' => ['attribute' => 'cellspacing', 'nodes' => ['table']]];
26
  /**
27
- * @var string[][]
28
  */
29
  private static $parsedCssCache = [];
30
  /**
@@ -32,7 +31,7 @@ class CssToAttributeConverter extends AbstractHtmlProcessor
32
  *
33
  * @return self fluent interface
34
  */
35
- public function convertCssToVisualAttributes()
36
  {
37
  /** @var \DOMElement $node */
38
  foreach ($this->getAllNodesWithStyleAttribute() as $node) {
@@ -46,9 +45,9 @@ class CssToAttributeConverter extends AbstractHtmlProcessor
46
  *
47
  * @return \DOMNodeList
48
  */
49
- private function getAllNodesWithStyleAttribute()
50
  {
51
- return $this->xPath->query('//*[@style]');
52
  }
53
  /**
54
  * Parses a CSS declaration block into property name/value pairs.
@@ -66,16 +65,17 @@ class CssToAttributeConverter extends AbstractHtmlProcessor
66
  *
67
  * @param string $cssDeclarationsBlock the CSS declarations block without the curly braces, may be empty
68
  *
69
- * @return string[]
70
  * the CSS declarations with the property names as array keys and the property values as array values
71
  */
72
- private function parseCssDeclarationsBlock($cssDeclarationsBlock)
73
  {
74
  if (isset(self::$parsedCssCache[$cssDeclarationsBlock])) {
75
  return self::$parsedCssCache[$cssDeclarationsBlock];
76
  }
77
  $properties = [];
78
  foreach (\preg_split('/;(?!base64|charset)/', $cssDeclarationsBlock) as $declaration) {
 
79
  $matches = [];
80
  if (!\preg_match('/^([A-Za-z\\-]+)\\s*:\\s*(.+)$/s', \trim($declaration), $matches)) {
81
  continue;
@@ -93,12 +93,10 @@ class CssToAttributeConverter extends AbstractHtmlProcessor
93
  * This method maps CSS styles to HTML attributes and adds those to the
94
  * node.
95
  *
96
- * @param string[] $styles the new CSS styles taken from the global styles to be applied to this node
97
  * @param \DOMElement $node node to apply styles to
98
- *
99
- * @return void
100
  */
101
- private function mapCssToHtmlAttributes(array $styles, \DOMElement $node)
102
  {
103
  foreach ($styles as $property => $value) {
104
  // Strip !important indicator
@@ -114,10 +112,8 @@ class CssToAttributeConverter extends AbstractHtmlProcessor
114
  * @param string $property the name of the CSS property to map
115
  * @param string $value the value of the style rule to map
116
  * @param \DOMElement $node node to apply styles to
117
- *
118
- * @return void
119
  */
120
- private function mapCssToHtmlAttribute($property, $value, \DOMElement $node)
121
  {
122
  if (!$this->mapSimpleCssProperty($property, $value, $node)) {
123
  $this->mapComplexCssProperty($property, $value, $node);
@@ -132,7 +128,7 @@ class CssToAttributeConverter extends AbstractHtmlProcessor
132
  *
133
  * @return bool true if the property can be mapped using the simple mapping table
134
  */
135
- private function mapSimpleCssProperty($property, $value, \DOMElement $node)
136
  {
137
  if (!isset($this->cssToHtmlMap[$property])) {
138
  return \false;
@@ -152,10 +148,8 @@ class CssToAttributeConverter extends AbstractHtmlProcessor
152
  * @param string $property the name of the CSS property to map
153
  * @param string $value the value of the style rule to map
154
  * @param \DOMElement $node node to apply styles to
155
- *
156
- * @return void
157
  */
158
- private function mapComplexCssProperty($property, $value, \DOMElement $node)
159
  {
160
  switch ($property) {
161
  case 'background':
@@ -178,12 +172,11 @@ class CssToAttributeConverter extends AbstractHtmlProcessor
178
  /**
179
  * @param \DOMElement $node node to apply styles to
180
  * @param string $value the value of the style rule to map
181
- *
182
- * @return void
183
  */
184
- private function mapBackgroundProperty(\DOMElement $node, $value)
185
  {
186
  // parse out the color, if any
 
187
  $styles = \explode(' ', $value, 2);
188
  $first = $styles[0];
189
  if (\is_numeric($first[0]) || \strncmp($first, 'url', 3) === 0) {
@@ -196,13 +189,11 @@ class CssToAttributeConverter extends AbstractHtmlProcessor
196
  * @param \DOMElement $node node to apply styles to
197
  * @param string $value the value of the style rule to map
198
  * @param string $property the name of the CSS property to map
199
- *
200
- * @return void
201
  */
202
- private function mapWidthOrHeightProperty(\DOMElement $node, $value, $property)
203
  {
204
  // only parse values in px and %, but not values like "auto"
205
- if (!\preg_match('/^(\\d+)(px|%)$/', $value)) {
206
  return;
207
  }
208
  $number = \preg_replace('/[^0-9.%]/', '', $value);
@@ -211,10 +202,8 @@ class CssToAttributeConverter extends AbstractHtmlProcessor
211
  /**
212
  * @param \DOMElement $node node to apply styles to
213
  * @param string $value the value of the style rule to map
214
- *
215
- * @return void
216
  */
217
- private function mapMarginProperty(\DOMElement $node, $value)
218
  {
219
  if (!$this->isTableOrImageNode($node)) {
220
  return;
@@ -227,10 +216,8 @@ class CssToAttributeConverter extends AbstractHtmlProcessor
227
  /**
228
  * @param \DOMElement $node node to apply styles to
229
  * @param string $value the value of the style rule to map
230
- *
231
- * @return void
232
  */
233
- private function mapBorderProperty(\DOMElement $node, $value)
234
  {
235
  if (!$this->isTableOrImageNode($node)) {
236
  return;
@@ -244,23 +231,22 @@ class CssToAttributeConverter extends AbstractHtmlProcessor
244
  *
245
  * @return bool
246
  */
247
- private function isTableOrImageNode(\DOMElement $node)
248
  {
249
  return $node->nodeName === 'table' || $node->nodeName === 'img';
250
  }
251
  /**
252
- * Parses a shorthand CSS value and splits it into individual values
 
253
  *
254
- * @param string $value a string of CSS value with 1, 2, 3 or 4 sizes
255
- * For example: padding: 0 auto;
256
- * '0 auto' is split into top: 0, left: auto, bottom: 0,
257
- * right: auto.
258
  *
259
- * @return string[] an array of values for top, right, bottom and left (using these as associative array keys)
 
260
  */
261
- private function parseCssShorthandValue($value)
262
  {
263
- /** @var string[] $values */
264
  $values = \preg_split('/\\s+/', $value);
265
  $css = [];
266
  $css['top'] = $values[0];
1
  <?php
2
 
3
+ declare (strict_types=1);
4
  namespace ProfilePressVendor\Pelago\Emogrifier\HtmlProcessor;
5
 
6
  /**
10
  * It will only add attributes, but leaves the style attribute untouched.
11
  *
12
  * To trigger the conversion, call the convertCssToVisualAttributes method.
 
 
13
  */
14
  class CssToAttributeConverter extends AbstractHtmlProcessor
15
  {
19
  * only for certain values, the mapping is an object with a whitelist
20
  * of nodes and values.
21
  *
22
+ * @var array<string, array{attribute: string, nodes?: array<int, string>, values?: array<int, string>}>
23
  */
24
+ private $cssToHtmlMap = ['background-color' => ['attribute' => 'bgcolor'], 'text-align' => ['attribute' => 'align', 'nodes' => ['p', 'div', 'td', 'th'], 'values' => ['left', 'right', 'center', 'justify']], 'float' => ['attribute' => 'align', 'nodes' => ['table', 'img'], 'values' => ['left', 'right']], 'border-spacing' => ['attribute' => 'cellspacing', 'nodes' => ['table']]];
25
  /**
26
+ * @var array<string, array<string, string>>
27
  */
28
  private static $parsedCssCache = [];
29
  /**
31
  *
32
  * @return self fluent interface
33
  */
34
+ public function convertCssToVisualAttributes() : self
35
  {
36
  /** @var \DOMElement $node */
37
  foreach ($this->getAllNodesWithStyleAttribute() as $node) {
45
  *
46
  * @return \DOMNodeList
47
  */
48
+ private function getAllNodesWithStyleAttribute() : \DOMNodeList
49
  {
50
+ return $this->getXPath()->query('//*[@style]');
51
  }
52
  /**
53
  * Parses a CSS declaration block into property name/value pairs.
65
  *
66
  * @param string $cssDeclarationsBlock the CSS declarations block without the curly braces, may be empty
67
  *
68
+ * @return array<string, string>
69
  * the CSS declarations with the property names as array keys and the property values as array values
70
  */
71
+ private function parseCssDeclarationsBlock(string $cssDeclarationsBlock) : array
72
  {
73
  if (isset(self::$parsedCssCache[$cssDeclarationsBlock])) {
74
  return self::$parsedCssCache[$cssDeclarationsBlock];
75
  }
76
  $properties = [];
77
  foreach (\preg_split('/;(?!base64|charset)/', $cssDeclarationsBlock) as $declaration) {
78
+ /** @var array<int, string> $matches */
79
  $matches = [];
80
  if (!\preg_match('/^([A-Za-z\\-]+)\\s*:\\s*(.+)$/s', \trim($declaration), $matches)) {
81
  continue;
93
  * This method maps CSS styles to HTML attributes and adds those to the
94
  * node.
95
  *
96
+ * @param array<string, string> $styles the new CSS styles taken from the global styles to be applied to this node
97
  * @param \DOMElement $node node to apply styles to
 
 
98
  */
99
+ private function mapCssToHtmlAttributes(array $styles, \DOMElement $node) : void
100
  {
101
  foreach ($styles as $property => $value) {
102
  // Strip !important indicator
112
  * @param string $property the name of the CSS property to map
113
  * @param string $value the value of the style rule to map
114
  * @param \DOMElement $node node to apply styles to
 
 
115
  */
116
+ private function mapCssToHtmlAttribute(string $property, string $value, \DOMElement $node) : void
117
  {
118
  if (!$this->mapSimpleCssProperty($property, $value, $node)) {
119
  $this->mapComplexCssProperty($property, $value, $node);
128
  *
129
  * @return bool true if the property can be mapped using the simple mapping table
130
  */
131
+ private function mapSimpleCssProperty(string $property, string $value, \DOMElement $node) : bool
132
  {
133
  if (!isset($this->cssToHtmlMap[$property])) {
134
  return \false;
148
  * @param string $property the name of the CSS property to map
149
  * @param string $value the value of the style rule to map
150
  * @param \DOMElement $node node to apply styles to
 
 
151
  */
152
+ private function mapComplexCssProperty(string $property, string $value, \DOMElement $node) : void
153
  {
154
  switch ($property) {
155
  case 'background':
172
  /**
173
  * @param \DOMElement $node node to apply styles to
174
  * @param string $value the value of the style rule to map
 
 
175
  */
176
+ private function mapBackgroundProperty(\DOMElement $node, string $value) : void
177
  {
178
  // parse out the color, if any
179
+ /** @var array<int, string> $styles */
180
  $styles = \explode(' ', $value, 2);
181
  $first = $styles[0];
182
  if (\is_numeric($first[0]) || \strncmp($first, 'url', 3) === 0) {
189
  * @param \DOMElement $node node to apply styles to
190
  * @param string $value the value of the style rule to map
191
  * @param string $property the name of the CSS property to map
 
 
192
  */
193
+ private function mapWidthOrHeightProperty(\DOMElement $node, string $value, string $property) : void
194
  {
195
  // only parse values in px and %, but not values like "auto"
196
+ if (!\preg_match('/^(\\d+)(\\.(\\d+))?(px|%)$/', $value)) {
197
  return;
198
  }
199
  $number = \preg_replace('/[^0-9.%]/', '', $value);
202
  /**
203
  * @param \DOMElement $node node to apply styles to
204
  * @param string $value the value of the style rule to map
 
 
205
  */
206
+ private function mapMarginProperty(\DOMElement $node, string $value) : void
207
  {
208
  if (!$this->isTableOrImageNode($node)) {
209
  return;
216
  /**
217
  * @param \DOMElement $node node to apply styles to
218
  * @param string $value the value of the style rule to map
 
 
219
  */
220
+ private function mapBorderProperty(\DOMElement $node, string $value) : void
221
  {
222
  if (!$this->isTableOrImageNode($node)) {
223
  return;
231
  *
232
  * @return bool
233
  */
234
+ private function isTableOrImageNode(\DOMElement $node) : bool
235
  {
236
  return $node->nodeName === 'table' || $node->nodeName === 'img';
237
  }
238
  /**
239
+ * Parses a shorthand CSS value and splits it into individual values. For example: `padding: 0 auto;` - `0 auto` is
240
+ * split into top: 0, left: auto, bottom: 0, right: auto.
241
  *
242
+ * @param string $value a CSS property value with 1, 2, 3 or 4 sizes
 
 
 
243
  *
244
+ * @return array<string, string>
245
+ * an array of values for top, right, bottom and left (using these as associative array keys)
246
  */
247
+ private function parseCssShorthandValue(string $value) : array
248
  {
249
+ /** @var array<int, string> $values */
250
  $values = \preg_split('/\\s+/', $value);
251
  $css = [];
252
  $css['top'] = $values[0];
third-party/vendor/pelago/emogrifier/src/{Emogrifier/HtmlProcessor → HtmlProcessor}/HtmlNormalizer.php RENAMED
@@ -1,5 +1,6 @@
1
  <?php
2
 
 
3
  namespace ProfilePressVendor\Pelago\Emogrifier\HtmlProcessor;
4
 
5
  /**
@@ -8,8 +9,6 @@ namespace ProfilePressVendor\Pelago\Emogrifier\HtmlProcessor;
8
  * - disentangle incorrectly nested tags
9
  * - add HEAD and BODY elements (if they are missing)
10
  * - reformat the HTML
11
- *
12
- * @author Oliver Klee <github@oliverklee.de>
13
  */
14
  class HtmlNormalizer extends AbstractHtmlProcessor
15
  {
1
  <?php
2
 
3
+ declare (strict_types=1);
4
  namespace ProfilePressVendor\Pelago\Emogrifier\HtmlProcessor;
5
 
6
  /**
9
  * - disentangle incorrectly nested tags
10
  * - add HEAD and BODY elements (if they are missing)
11
  * - reformat the HTML
 
 
12
  */
13
  class HtmlNormalizer extends AbstractHtmlProcessor
14
  {
third-party/vendor/pelago/emogrifier/src/{Emogrifier/HtmlProcessor → HtmlProcessor}/HtmlPruner.php RENAMED
@@ -1,14 +1,12 @@
1
  <?php
2
 
 
3
  namespace ProfilePressVendor\Pelago\Emogrifier\HtmlProcessor;
4
 
5
  use ProfilePressVendor\Pelago\Emogrifier\CssInliner;
6
  use ProfilePressVendor\Pelago\Emogrifier\Utilities\ArrayIntersector;
7
  /**
8
  * This class can remove things from HTML.
9
- *
10
- * @author Oliver Klee <github@oliverklee.de>
11
- * @author Jake Hotson <jake.github@qzdesign.co.uk>
12
  */
13
  class HtmlPruner extends AbstractHtmlProcessor
14
  {
@@ -20,19 +18,18 @@ class HtmlPruner extends AbstractHtmlProcessor
20
  *
21
  * @var string
22
  */
23
- const DISPLAY_NONE_MATCHER = '//*[@style and contains(translate(translate(@style," ",""),"NOE","noe"),"display:none")' . ' and not(@class and contains(concat(" ", normalize-space(@class), " "), " -emogrifier-keep "))]';
24
  /**
25
  * Removes elements that have a "display: none;" style.
26
  *
27
  * @return self fluent interface
28
  */
29
- public function removeElementsWithDisplayNone()
30
  {
31
- $elementsWithStyleDisplayNone = $this->xPath->query(self::DISPLAY_NONE_MATCHER);
32
  if ($elementsWithStyleDisplayNone->length === 0) {
33
  return $this;
34
  }
35
- /** @var \DOMNode $element */
36
  foreach ($elementsWithStyleDisplayNone as $element) {
37
  $parentNode = $element->parentNode;
38
  if ($parentNode !== null) {
@@ -50,13 +47,13 @@ class HtmlPruner extends AbstractHtmlProcessor
50
  * This method also has the (presumably beneficial) side-effect of minifying (removing superfluous whitespace from)
51
  * `class` attributes.
52
  *
53
- * @param string[] $classesToKeep names of classes that should not be removed
54
  *
55
  * @return self fluent interface
56
  */
57
- public function removeRedundantClasses(array $classesToKeep = [])
58
  {
59
- $elementsWithClassAttribute = $this->xPath->query('//*[@class]');
60
  if ($classesToKeep !== []) {
61
  $this->removeClassesFromElements($elementsWithClassAttribute, $classesToKeep);
62
  } else {
@@ -70,14 +67,12 @@ class HtmlPruner extends AbstractHtmlProcessor
70
  * removing the `class` attribute itself if the resultant list is empty.
71
  *
72
  * @param \DOMNodeList $elements
73
- * @param string[] $classesToKeep
74
- *
75
- * @return void
76
  */
77
- private function removeClassesFromElements(\DOMNodeList $elements, array $classesToKeep)
78
  {
79
  $classesToKeepIntersector = new ArrayIntersector($classesToKeep);
80
- /** @var \DOMNode $element */
81
  foreach ($elements as $element) {
82
  $elementClasses = \preg_split('/\\s++/', \trim($element->getAttribute('class')));
83
  $elementClassesToKeep = $classesToKeepIntersector->intersectWith($elementClasses);
@@ -92,12 +87,10 @@ class HtmlPruner extends AbstractHtmlProcessor
92
  * Removes the `class` attribute from each element in `$elements`.
93
  *
94
  * @param \DOMNodeList $elements
95
- *
96
- * @return void
97
  */
98
- private function removeClassAttributeFromElements(\DOMNodeList $elements)
99
  {
100
- /** @var \DOMNode $element */
101
  foreach ($elements as $element) {
102
  $element->removeAttribute('class');
103
  }
@@ -115,7 +108,7 @@ class HtmlPruner extends AbstractHtmlProcessor
115
  *
116
  * @throws \BadMethodCallException if `inlineCss` has not first been called on `$cssInliner`
117
  */
118
- public function removeRedundantClassesAfterCssInlined(CssInliner $cssInliner)
119
  {
120
  $classesToKeepAsKeys = [];
121
  foreach ($cssInliner->getMatchingUninlinableSelectors() as $selector) {
1
  <?php
2
 
3
+ declare (strict_types=1);
4
  namespace ProfilePressVendor\Pelago\Emogrifier\HtmlProcessor;
5
 
6
  use ProfilePressVendor\Pelago\Emogrifier\CssInliner;
7
  use ProfilePressVendor\Pelago\Emogrifier\Utilities\ArrayIntersector;
8
  /**
9
  * This class can remove things from HTML.
 
 
 
10
  */
11
  class HtmlPruner extends AbstractHtmlProcessor
12
  {
18
  *
19
  * @var string
20
  */
21
+ private const DISPLAY_NONE_MATCHER = '//*[@style and contains(translate(translate(@style," ",""),"NOE","noe"),"display:none")' . ' and not(@class and contains(concat(" ", normalize-space(@class), " "), " -emogrifier-keep "))]';
22
  /**
23
  * Removes elements that have a "display: none;" style.
24
  *
25
  * @return self fluent interface
26
  */
27
+ public function removeElementsWithDisplayNone() : self
28
  {
29
+ $elementsWithStyleDisplayNone = $this->getXPath()->query(self::DISPLAY_NONE_MATCHER);
30
  if ($elementsWithStyleDisplayNone->length === 0) {
31
  return $this;
32
  }
 
33
  foreach ($elementsWithStyleDisplayNone as $element) {
34
  $parentNode = $element->parentNode;
35
  if ($parentNode !== null) {
47
  * This method also has the (presumably beneficial) side-effect of minifying (removing superfluous whitespace from)
48
  * `class` attributes.
49
  *
50
+ * @param array<array-key, string> $classesToKeep names of classes that should not be removed
51
  *
52
  * @return self fluent interface
53
  */
54
+ public function removeRedundantClasses(array $classesToKeep = []) : self
55
  {
56
+ $elementsWithClassAttribute = $this->getXPath()->query('//*[@class]');
57
  if ($classesToKeep !== []) {
58
  $this->removeClassesFromElements($elementsWithClassAttribute, $classesToKeep);
59
  } else {
67
  * removing the `class` attribute itself if the resultant list is empty.
68
  *
69
  * @param \DOMNodeList $elements
70
+ * @param array<array-key, string> $classesToKeep
 
 
71
  */
72
+ private function removeClassesFromElements(\DOMNodeList $elements, array $classesToKeep) : void
73
  {
74
  $classesToKeepIntersector = new ArrayIntersector($classesToKeep);
75
+ /** @var \DOMElement $element */
76
  foreach ($elements as $element) {
77
  $elementClasses = \preg_split('/\\s++/', \trim($element->getAttribute('class')));
78
  $elementClassesToKeep = $classesToKeepIntersector->intersectWith($elementClasses);
87
  * Removes the `class` attribute from each element in `$elements`.
88
  *
89
  * @param \DOMNodeList $elements
 
 
90
  */
91
+ private function removeClassAttributeFromElements(\DOMNodeList $elements) : void
92
  {
93
+ /** @var \DOMElement $element */
94
  foreach ($elements as $element) {
95
  $element->removeAttribute('class');
96
  }
108
  *
109
  * @throws \BadMethodCallException if `inlineCss` has not first been called on `$cssInliner`
110
  */
111
+ public function removeRedundantClassesAfterCssInlined(CssInliner $cssInliner) : self
112
  {
113
  $classesToKeepAsKeys = [];
114
  foreach ($cssInliner->getMatchingUninlinableSelectors() as $selector) {
third-party/vendor/pelago/emogrifier/src/{Emogrifier/Utilities → Utilities}/ArrayIntersector.php RENAMED
@@ -1,5 +1,6 @@
1
  <?php
2
 
 
3
  namespace ProfilePressVendor\Pelago\Emogrifier\Utilities;
4
 
5
  /**
@@ -14,21 +15,19 @@ namespace ProfilePressVendor\Pelago\Emogrifier\Utilities;
14
  * This class takes care of the detail.
15
  *
16
  * @internal
17
- *
18
- * @author Jake Hotson <jake.github@qzdesign.co.uk>
19
  */
20
  class ArrayIntersector
21
  {
22
  /**
23
  * the array with which the object was constructed, with all its keys exchanged with their associated values
24
  *
25
- * @var (int|string)[]
26
  */
27
  private $invertedArray;
28
  /**
29
  * Constructs the object with the array that will be reused for many intersection computations.
30
  *
31
- * @param (int|string)[] $array
32
  */
33
  public function __construct(array $array)
34
  {
@@ -37,13 +36,14 @@ class ArrayIntersector
37
  /**
38
  * Computes the intersection of `$array` and the array with which this object was constructed.
39
  *
40
- * @param (int|string)[] $array
41
  *
42
- * @return (int|string)[] Returns an array containing all of the values in `$array` whose values exist in the array
 
43
  * with which this object was constructed. Note that keys are preserved, order is maintained, but
44
  * duplicates are removed.
45
  */
46
- public function intersectWith(array $array)
47
  {
48
  $invertedArray = \array_flip($array);
49
  $invertedIntersection = \array_intersect_key($invertedArray, $this->invertedArray);
1
  <?php
2
 
3
+ declare (strict_types=1);
4
  namespace ProfilePressVendor\Pelago\Emogrifier\Utilities;
5
 
6
  /**
15
  * This class takes care of the detail.
16
  *
17
  * @internal
 
 
18
  */
19
  class ArrayIntersector
20
  {
21
  /**
22
  * the array with which the object was constructed, with all its keys exchanged with their associated values
23
  *
24
+ * @var array<array-key, array-key>
25
  */
26
  private $invertedArray;
27
  /**
28
  * Constructs the object with the array that will be reused for many intersection computations.
29
  *
30
+ * @param array<array-key, array-key> $array
31
  */
32
  public function __construct(array $array)
33
  {
36
  /**
37
  * Computes the intersection of `$array` and the array with which this object was constructed.
38
  *
39
+ * @param array<array-key, array-key> $array
40
  *
41
+ * @return array<array-key, array-key>
42
+ * Returns an array containing all of the values in `$array` whose values exist in the array
43
  * with which this object was constructed. Note that keys are preserved, order is maintained, but
44
  * duplicates are removed.
45
  */
46
+ public function intersectWith(array $array) : array
47
  {
48
  $invertedArray = \array_flip($array);
49
  $invertedIntersection = \array_intersect_key($invertedArray, $this->invertedArray);
third-party/vendor/pelago/emogrifier/src/{Emogrifier/Utilities → Utilities}/CssConcatenator.php RENAMED
@@ -1,5 +1,6 @@
1
  <?php
2
 
 
3
  namespace ProfilePressVendor\Pelago\Emogrifier\Utilities;
4
 
5
  /**
@@ -34,8 +35,6 @@ namespace ProfilePressVendor\Pelago\Emogrifier\Utilities;
34
  * ` }
35
  *
36
  * @internal
37
- *
38
- * @author Jake Hotson <jake.github@qzdesign.co.uk>
39
  */
40
  class CssConcatenator
41
  {
@@ -43,33 +42,43 @@ class CssConcatenator
43
  * Array of media rules in order. Each element is an object with the following properties:
44
  * - string `media` - The media query string, e.g. "@media screen and (max-width:639px)", or an empty string for
45
  * rules not within a media query block;
46
- * - \stdClass[] `ruleBlocks` - Array of rule blocks in order, where each element is an object with the following
47
  * properties:
48
  * - mixed[] `selectorsAsKeys` - Array whose keys are selectors for the rule block (values are of no
49
  * significance);
50
  * - string `declarationsBlock` - The property declarations, e.g. "margin-top: 0.5em; padding: 0".
51
  *
52
- * @var \stdClass[]
 
 
 
 
 
 
53
  */
54
  private $mediaRules = [];
55
  /**
56
  * Appends a declaration block to the CSS.
57
  *
58
- * @param string[] $selectors Array of selectors for the rule, e.g. ["ul", "ol", "p:first-child"].
59
- * @param string $declarationsBlock The property declarations, e.g. "margin-top: 0.5em; padding: 0".
60
- * @param string $media The media query for the rule, e.g. "@media screen and (max-width:639px)",
61
- * or an empty string if none.
 
 
62
  */
63
- public function append(array $selectors, $declarationsBlock, $media = '')
64
  {
65
  $selectorsAsKeys = \array_flip($selectors);
66
  $mediaRule = $this->getOrCreateMediaRuleToAppendTo($media);
67
- $lastRuleBlock = \end($mediaRule->ruleBlocks);
68
- $hasSameDeclarationsAsLastRule = $lastRuleBlock !== \false && $declarationsBlock === $lastRuleBlock->declarationsBlock;
 
69
  if ($hasSameDeclarationsAsLastRule) {
70
  $lastRuleBlock->selectorsAsKeys += $selectorsAsKeys;
71
  } else {
72
- $hasSameSelectorsAsLastRule = $lastRuleBlock !== \false && self::hasEquivalentSelectors($selectorsAsKeys, $lastRuleBlock->selectorsAsKeys);
 
73
  if ($hasSameSelectorsAsLastRule) {
74
  $lastDeclarationsBlockWithoutSemicolon = \rtrim(\rtrim($lastRuleBlock->declarationsBlock), ';');
75
  $lastRuleBlock->declarationsBlock = $lastDeclarationsBlockWithoutSemicolon . ';' . $declarationsBlock;
@@ -81,20 +90,26 @@ class CssConcatenator
81
  /**
82
  * @return string
83
  */
84
- public function getCss()
85
  {
86
  return \implode('', \array_map([self::class, 'getMediaRuleCss'], $this->mediaRules));
87
  }
88
  /**
89
  * @param string $media The media query for rules to be appended, e.g. "@media screen and (max-width:639px)",
90
- * or an empty string if none.
91
  *
92
- * @return \stdClass Object with properties as described for elements of `$mediaRules`.
 
 
 
 
 
 
93
  */
94
- private function getOrCreateMediaRuleToAppendTo($media)
95
  {
96
  $lastMediaRule = \end($this->mediaRules);
97
- if ($lastMediaRule !== \false && $media === $lastMediaRule->media) {
98
  return $lastMediaRule;
99
  }
100
  $newMediaRule = (object) ['media' => $media, 'ruleBlocks' => []];
@@ -104,38 +119,47 @@ class CssConcatenator
104
  /**
105
  * Tests if two sets of selectors are equivalent (i.e. the same selectors, possibly in a different order).
106
  *
107
- * @param mixed[] $selectorsAsKeys1 Array in which the selectors are the keys, and the values are of no
108
- * significance.
109
- * @param mixed[] $selectorsAsKeys2 Another such array.
110
  *
111
  * @return bool
112
  */
113
- private static function hasEquivalentSelectors(array $selectorsAsKeys1, array $selectorsAsKeys2)
114
  {
115
  return \count($selectorsAsKeys1) === \count($selectorsAsKeys2) && \count($selectorsAsKeys1) === \count($selectorsAsKeys1 + $selectorsAsKeys2);
116
  }
117
  /**
118
- * @param \stdClass $mediaRule Object with properties as described for elements of `$mediaRules`.
 
 
 
 
 
 
119
  *
120
  * @return string CSS for the media rule.
121
  */
122
- private static function getMediaRuleCss(\stdClass $mediaRule)
123
  {
124
- $css = \implode('', \array_map([self::class, 'getRuleBlockCss'], $mediaRule->ruleBlocks));
125
- if ($mediaRule->media !== '') {
126
- $css = $mediaRule->media . '{' . $css . '}';
 
 
127
  }
128
  return $css;
129
  }
130
  /**
131
- * @param \stdClass $ruleBlock Object with properties as described for elements of the `ruleBlocks` property of
132
- * elements of `$mediaRules`.
133
  *
134
  * @return string CSS for the rule block.
135
  */
136
- private static function getRuleBlockCss(\stdClass $ruleBlock)
137
  {
138
- $selectors = \array_keys($ruleBlock->selectorsAsKeys);
139
- return \implode(',', $selectors) . '{' . $ruleBlock->declarationsBlock . '}';
 
 
140
  }
141
  }
1
  <?php
2
 
3
+ declare (strict_types=1);
4
  namespace ProfilePressVendor\Pelago\Emogrifier\Utilities;
5
 
6
  /**
35
  * ` }
36
  *
37
  * @internal
 
 
38
  */
39
  class CssConcatenator
40
  {
42
  * Array of media rules in order. Each element is an object with the following properties:
43
  * - string `media` - The media query string, e.g. "@media screen and (max-width:639px)", or an empty string for
44
  * rules not within a media query block;
45
+ * - object[] `ruleBlocks` - Array of rule blocks in order, where each element is an object with the following
46
  * properties:
47
  * - mixed[] `selectorsAsKeys` - Array whose keys are selectors for the rule block (values are of no
48
  * significance);
49
  * - string `declarationsBlock` - The property declarations, e.g. "margin-top: 0.5em; padding: 0".
50
  *
51
+ * @var array<int, object{
52
+ * media: string,
53
+ * ruleBlocks: array<int, object{
54
+ * selectorsAsKeys: array<string, array-key>,
55
+ * declarationsBlock: string
56
+ * }>
57
+ * }>
58
  */
59
  private $mediaRules = [];
60
  /**
61
  * Appends a declaration block to the CSS.
62
  *
63
+ * @param array<array-key, string> $selectors
64
+ * array of selectors for the rule, e.g. ["ul", "ol", "p:first-child"]
65
+ * @param string $declarationsBlock
66
+ * the property declarations, e.g. "margin-top: 0.5em; padding: 0"
67
+ * @param string $media
68
+ * the media query for the rule, e.g. "@media screen and (max-width:639px)", or an empty string if none
69
  */
70
+ public function append(array $selectors, string $declarationsBlock, string $media = '') : void
71
  {
72
  $selectorsAsKeys = \array_flip($selectors);
73
  $mediaRule = $this->getOrCreateMediaRuleToAppendTo($media);
74
+ $ruleBlocks = $mediaRule->ruleBlocks;
75
+ $lastRuleBlock = \end($ruleBlocks);
76
+ $hasSameDeclarationsAsLastRule = \is_object($lastRuleBlock) && $declarationsBlock === $lastRuleBlock->declarationsBlock;
77
  if ($hasSameDeclarationsAsLastRule) {
78
  $lastRuleBlock->selectorsAsKeys += $selectorsAsKeys;
79
  } else {
80
+ $lastRuleBlockSelectors = \is_object($lastRuleBlock) ? $lastRuleBlock->selectorsAsKeys : [];
81
+ $hasSameSelectorsAsLastRule = \is_object($lastRuleBlock) && self::hasEquivalentSelectors($selectorsAsKeys, $lastRuleBlockSelectors);
82
  if ($hasSameSelectorsAsLastRule) {
83
  $lastDeclarationsBlockWithoutSemicolon = \rtrim(\rtrim($lastRuleBlock->declarationsBlock), ';');
84
  $lastRuleBlock->declarationsBlock = $lastDeclarationsBlockWithoutSemicolon . ';' . $declarationsBlock;
90
  /**
91
  * @return string
92
  */
93
+ public function getCss() : string
94
  {
95
  return \implode('', \array_map([self::class, 'getMediaRuleCss'], $this->mediaRules));
96
  }
97
  /**
98
  * @param string $media The media query for rules to be appended, e.g. "@media screen and (max-width:639px)",
99
+ * or an empty string if none.
100
  *
101
+ * @return object{
102
+ * media: string,
103
+ * ruleBlocks: array<int, object{
104
+ * selectorsAsKeys: array<string, array-key>,
105
+ * declarationsBlock: string
106
+ * }>
107
+ * }
108
  */
109
+ private function getOrCreateMediaRuleToAppendTo(string $media) : object
110
  {
111
  $lastMediaRule = \end($this->mediaRules);
112
+ if (\is_object($lastMediaRule) && $media === $lastMediaRule->media) {
113
  return $lastMediaRule;
114
  }
115
  $newMediaRule = (object) ['media' => $media, 'ruleBlocks' => []];
119
  /**
120
  * Tests if two sets of selectors are equivalent (i.e. the same selectors, possibly in a different order).
121
  *
122
+ * @param array<string, array-key> $selectorsAsKeys1
123
+ * array in which the selectors are the keys, and the values are of no significance
124
+ * @param array<string, array-key> $selectorsAsKeys2 another such array
125
  *
126
  * @return bool
127
  */
128
+ private static function hasEquivalentSelectors(array $selectorsAsKeys1, array $selectorsAsKeys2) : bool
129
  {
130
  return \count($selectorsAsKeys1) === \count($selectorsAsKeys2) && \count($selectorsAsKeys1) === \count($selectorsAsKeys1 + $selectorsAsKeys2);
131
  }
132
  /**
133
+ * @param object{
134
+ * media: string,
135
+ * ruleBlocks: array<int, object{
136
+ * selectorsAsKeys: array<string, array-key>,
137
+ * declarationsBlock: string
138
+ * }>
139
+ * } $mediaRule
140
  *
141
  * @return string CSS for the media rule.
142
  */
143
+ private static function getMediaRuleCss(object $mediaRule) : string
144
  {
145
+ $ruleBlocks = $mediaRule->ruleBlocks;
146
+ $css = \implode('', \array_map([self::class, 'getRuleBlockCss'], $ruleBlocks));
147
+ $media = $mediaRule->media;
148
+ if ($media !== '') {
149
+ $css = $media . '{' . $css . '}';
150
  }
151
  return $css;
152
  }
153
  /**
154
+ * @param object{selectorsAsKeys: array<string, array-key>, declarationsBlock: string} $ruleBlock
 
155
  *
156
  * @return string CSS for the rule block.
157
  */
158
+ private static function getRuleBlockCss(object $ruleBlock) : string
159
  {
160
+ $selectorsAsKeys = $ruleBlock->selectorsAsKeys;
161
+ $selectors = \array_keys($selectorsAsKeys);
162
+ $declarationsBlock = $ruleBlock->declarationsBlock;
163
+ return \implode(',', $selectors) . '{' . $declarationsBlock . '}';
164
  }
165
  }
third-party/vendor/sabberworm/php-css-parser/src/CSSList/AtRuleBlockList.php ADDED
@@ -0,0 +1,75 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace ProfilePressVendor\Sabberworm\CSS\CSSList;
4
+
5
+ use ProfilePressVendor\Sabberworm\CSS\OutputFormat;
6
+ use ProfilePressVendor\Sabberworm\CSS\Property\AtRule;
7
+ /**
8
+ * A `BlockList` constructed by an unknown at-rule. `@media` rules are rendered into `AtRuleBlockList` objects.
9
+ */
10
+ class AtRuleBlockList extends CSSBlockList implements AtRule
11
+ {
12
+ /**
13
+ * @var string
14
+ */
15
+ private $sType;
16
+ /**
17
+ * @var string
18
+ */
19
+ private $sArgs;
20
+ /**
21
+ * @param string $sType
22
+ * @param string $sArgs
23
+ * @param int $iLineNo
24
+ */
25
+ public function __construct($sType, $sArgs = '', $iLineNo = 0)
26
+ {
27
+ parent::__construct($iLineNo);
28
+ $this->sType = $sType;
29
+ $this->sArgs = $sArgs;
30
+ }
31
+ /**
32
+ * @return string
33
+ */
34
+ public function atRuleName()
35
+ {
36
+ return $this->sType;
37
+ }
38
+ /**
39
+ * @return string
40
+ */
41
+ public function atRuleArgs()
42
+ {
43
+ return $this->sArgs;
44
+ }
45
+ /**
46
+ * @return string
47
+ */
48
+ public function __toString()
49
+ {
50
+ return $this->render(new OutputFormat());
51
+ }
52
+ /**
53
+ * @return string
54
+ */
55
+ public function render(OutputFormat $oOutputFormat)
56
+ {
57
+ $sArgs = $this->sArgs;
58
+ if ($sArgs) {
59
+ $sArgs = ' ' . $sArgs;
60
+ }
61
+ $sResult = $oOutputFormat->sBeforeAtRuleBlock;
62
+ $sResult .= "@{$this->sType}{$sArgs}{$oOutputFormat->spaceBeforeOpeningBrace()}{";
63
+ $sResult .= parent::render($oOutputFormat);
64
+ $sResult .= '}';
65
+ $sResult .= $oOutputFormat->sAfterAtRuleBlock;
66
+ return $sResult;
67
+ }
68
+ /**
69
+ * @return bool
70
+ */
71
+ public function isRootList()
72
+ {
73
+ return \false;
74
+ }
75
+ }
third-party/vendor/sabberworm/php-css-parser/src/CSSList/CSSBlockList.php ADDED
@@ -0,0 +1,138 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace ProfilePressVendor\Sabberworm\CSS\CSSList;
4
+
5
+ use ProfilePressVendor\Sabberworm\CSS\Property\Selector;
6
+ use ProfilePressVendor\Sabberworm\CSS\Rule\Rule;
7
+ use ProfilePressVendor\Sabberworm\CSS\RuleSet\DeclarationBlock;
8
+ use ProfilePressVendor\Sabberworm\CSS\RuleSet\RuleSet;
9
+ use ProfilePressVendor\Sabberworm\CSS\Value\CSSFunction;
10
+ use ProfilePressVendor\Sabberworm\CSS\Value\Value;
11
+ use ProfilePressVendor\Sabberworm\CSS\Value\ValueList;
12
+ /**
13
+ * A `CSSBlockList` is a `CSSList` whose `DeclarationBlock`s are guaranteed to contain valid declaration blocks or
14
+ * at-rules.
15
+ *
16
+ * Most `CSSList`s conform to this category but some at-rules (such as `@keyframes`) do not.
17
+ */
18
+ abstract class CSSBlockList extends CSSList
19
+ {
20
+ /**
21
+ * @param int $iLineNo
22
+ */
23
+ public function __construct($iLineNo = 0)
24
+ {
25
+ parent::__construct($iLineNo);
26
+ }
27
+ /**
28
+ * @param array<int, DeclarationBlock> $aResult
29
+ *
30
+ * @return void
31
+ */
32
+ protected function allDeclarationBlocks(array &$aResult)
33
+ {
34
+ foreach ($this->aContents as $mContent) {
35
+ if ($mContent instanceof DeclarationBlock) {
36
+ $aResult[] = $mContent;
37
+ } elseif ($mContent instanceof CSSBlockList) {
38
+ $mContent->allDeclarationBlocks($aResult);
39
+ }
40
+ }
41
+ }
42
+ /**
43
+ * @param array<int, RuleSet> $aResult
44
+ *
45
+ * @return void
46
+ */
47
+ protected function allRuleSets(array &$aResult)
48
+ {
49
+ foreach ($this->aContents as $mContent) {
50
+ if ($mContent instanceof RuleSet) {
51
+ $aResult[] = $mContent;
52
+ } elseif ($mContent instanceof CSSBlockList) {
53
+ $mContent->allRuleSets($aResult);
54
+ }
55
+ }
56
+ }
57
+ /**
58
+ * @param CSSList|Rule|RuleSet|Value $oElement
59
+ * @param array<int, Value> $aResult
60
+ * @param string|null $sSearchString
61
+ * @param bool $bSearchInFunctionArguments
62
+ *
63
+ * @return void
64
+ */
65
+ protected function allValues($oElement, array &$aResult, $sSearchString = null, $bSearchInFunctionArguments = \false)
66
+ {
67
+ if ($oElement instanceof CSSBlockList) {
68
+ foreach ($oElement->getContents() as $oContent) {
69
+ $this->allValues($oContent, $aResult, $sSearchString, $bSearchInFunctionArguments);
70
+ }
71
+ } elseif ($oElement instanceof RuleSet) {
72
+ foreach ($oElement->getRules($sSearchString) as $oRule) {
73
+ $this->allValues($oRule, $aResult, $sSearchString, $bSearchInFunctionArguments);
74
+ }
75
+ } elseif ($oElement instanceof Rule) {
76
+ $this->allValues($oElement->getValue(), $aResult, $sSearchString, $bSearchInFunctionArguments);
77
+ } elseif ($oElement instanceof ValueList) {
78
+ if ($bSearchInFunctionArguments || !$oElement instanceof CSSFunction) {
79
+ foreach ($oElement->getListComponents() as $mComponent) {
80
+ $this->allValues($mComponent, $aResult, $sSearchString, $bSearchInFunctionArguments);
81
+ }
82
+ }
83
+ } else {
84
+ // Non-List `Value` or `CSSString` (CSS identifier)
85
+ $aResult[] = $oElement;
86
+ }
87
+ }
88
+ /**
89
+ * @param array<int, Selector> $aResult
90
+ * @param string|null $sSpecificitySearch
91
+ *
92
+ * @return void
93
+ */
94
+ protected function allSelectors(array &$aResult, $sSpecificitySearch = null)
95
+ {
96
+ /** @var array<int, DeclarationBlock> $aDeclarationBlocks */
97
+ $aDeclarationBlocks = [];
98
+ $this->allDeclarationBlocks($aDeclarationBlocks);
99
+ foreach ($aDeclarationBlocks as $oBlock) {
100
+ foreach ($oBlock->getSelectors() as $oSelector) {
101
+ if ($sSpecificitySearch === null) {
102
+ $aResult[] = $oSelector;
103
+ } else {
104
+ $sComparator = '===';
105
+ $aSpecificitySearch = \explode(' ', $sSpecificitySearch);
106
+ $iTargetSpecificity = $aSpecificitySearch[0];
107
+ if (\count($aSpecificitySearch) > 1) {
108
+ $sComparator = $aSpecificitySearch[0];
109
+ $iTargetSpecificity = $aSpecificitySearch[1];
110
+ }
111
+ $iTargetSpecificity = (int) $iTargetSpecificity;
112
+ $iSelectorSpecificity = $oSelector->getSpecificity();
113
+ $bMatches = \false;
114
+ switch ($sComparator) {
115
+ case '<=':
116
+ $bMatches = $iSelectorSpecificity <= $iTargetSpecificity;
117
+ break;
118
+ case '<':
119
+ $bMatches = $iSelectorSpecificity < $iTargetSpecificity;
120
+ break;
121
+ case '>=':
122
+ $bMatches = $iSelectorSpecificity >= $iTargetSpecificity;
123
+ break;
124
+ case '>':
125
+ $bMatches = $iSelectorSpecificity > $iTargetSpecificity;
126
+ break;
127
+ default:
128
+ $bMatches = $iSelectorSpecificity === $iTargetSpecificity;
129
+ break;
130
+ }
131
+ if ($bMatches) {
132
+ $aResult[] = $oSelector;
133
+ }
134
+ }
135
+ }
136
+ }
137
+ }
138
+ }
third-party/vendor/sabberworm/php-css-parser/src/CSSList/CSSList.php ADDED
@@ -0,0 +1,434 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace ProfilePressVendor\Sabberworm\CSS\CSSList;
4
+
5
+ use ProfilePressVendor\Sabberworm\CSS\Comment\Comment;
6
+ use ProfilePressVendor\Sabberworm\CSS\Comment\Commentable;
7
+ use ProfilePressVendor\Sabberworm\CSS\OutputFormat;
8
+ use ProfilePressVendor\Sabberworm\CSS\Parsing\ParserState;
9
+ use ProfilePressVendor\Sabberworm\CSS\Parsing\SourceException;
10
+ use ProfilePressVendor\Sabberworm\CSS\Parsing\UnexpectedEOFException;
11
+ use ProfilePressVendor\Sabberworm\CSS\Parsing\UnexpectedTokenException;
12
+ use ProfilePressVendor\Sabberworm\CSS\Property\AtRule;
13
+ use ProfilePressVendor\Sabberworm\CSS\Property\Charset;
14
+ use ProfilePressVendor\Sabberworm\CSS\Property\CSSNamespace;
15
+ use ProfilePressVendor\Sabberworm\CSS\Property\Import;
16
+ use ProfilePressVendor\Sabberworm\CSS\Property\Selector;
17
+ use ProfilePressVendor\Sabberworm\CSS\Renderable;
18
+ use ProfilePressVendor\Sabberworm\CSS\RuleSet\AtRuleSet;
19
+ use ProfilePressVendor\Sabberworm\CSS\RuleSet\DeclarationBlock;
20
+ use ProfilePressVendor\Sabberworm\CSS\RuleSet\RuleSet;
21
+ use ProfilePressVendor\Sabberworm\CSS\Settings;
22
+ use ProfilePressVendor\Sabberworm\CSS\Value\CSSString;
23
+ use ProfilePressVendor\Sabberworm\CSS\Value\URL;
24
+ use ProfilePressVendor\Sabberworm\CSS\Value\Value;
25
+ /**
26
+ * A `CSSList` is the most generic container available. Its contents include `RuleSet` as well as other `CSSList`
27
+ * objects.
28
+ *
29
+ * Also, it may contain `Import` and `Charset` objects stemming from at-rules.
30
+ */
31
+ abstract class CSSList implements Renderable, Commentable
32
+ {
33
+ /**
34
+ * @var array<array-key, Comment>
35
+ */
36
+ protected $aComments;
37
+ /**
38
+ * @var array<int, RuleSet|CSSList|Import|Charset>
39
+ */
40
+ protected $aContents;
41
+ /**
42
+ * @var int
43
+ */
44
+ protected $iLineNo;
45
+ /**
46
+ * @param int $iLineNo
47
+ */
48
+ public function __construct($iLineNo = 0)
49
+ {
50
+ $this->aComments = [];
51
+ $this->aContents = [];
52
+ $this->iLineNo = $iLineNo;
53
+ }
54
+ /**
55
+ * @return void
56
+ *
57
+ * @throws UnexpectedTokenException
58
+ * @throws SourceException
59
+ */
60
+ public static function parseList(ParserState $oParserState, CSSList $oList)
61
+ {
62
+ $bIsRoot = $oList instanceof Document;
63
+ if (\is_string($oParserState)) {
64
+ $oParserState = new ParserState($oParserState, Settings::create());
65
+ }
66
+ $bLenientParsing = $oParserState->getSettings()->bLenientParsing;
67
+ while (!$oParserState->isEnd()) {
68
+ $comments = $oParserState->consumeWhiteSpace();
69
+ $oListItem = null;
70
+ if ($bLenientParsing) {
71
+ try {
72
+ $oListItem = self::parseListItem($oParserState, $oList);
73
+ } catch (UnexpectedTokenException $e) {
74
+ $oListItem = \false;
75
+ }
76
+ } else {
77
+ $oListItem = self::parseListItem($oParserState, $oList);
78
+ }
79
+ if ($oListItem === null) {
80
+ // List parsing finished
81
+ return;
82
+ }
83
+ if ($oListItem) {
84
+ $oListItem->setComments($comments);
85
+ $oList->append($oListItem);
86
+ }
87
+ $oParserState->consumeWhiteSpace();
88
+ }
89
+ if (!$bIsRoot && !$bLenientParsing) {
90
+ throw new SourceException("Unexpected end of document", $oParserState->currentLine());
91
+ }
92
+ }
93
+ /**
94
+ * @return AtRuleBlockList|KeyFrame|Charset|CSSNamespace|Import|AtRuleSet|DeclarationBlock|null|false
95
+ *
96
+ * @throws SourceException
97
+ * @throws UnexpectedEOFException
98
+ * @throws UnexpectedTokenException
99
+ */
100
+ private static function parseListItem(ParserState $oParserState, CSSList $oList)
101
+ {
102
+ $bIsRoot = $oList instanceof Document;
103
+ if ($oParserState->comes('@')) {
104
+ $oAtRule = self::parseAtRule($oParserState);
105
+ if ($oAtRule instanceof Charset) {
106
+ if (!$bIsRoot) {
107
+ throw new UnexpectedTokenException('@charset may only occur in root document', '', 'custom', $oParserState->currentLine());
108
+ }
109
+ if (\count($oList->getContents()) > 0) {
110
+ throw new UnexpectedTokenException('@charset must be the first parseable token in a document', '', 'custom', $oParserState->currentLine());
111
+ }
112
+ $oParserState->setCharset($oAtRule->getCharset()->getString());
113
+ }
114
+ return $oAtRule;
115
+ } elseif ($oParserState->comes('}')) {
116
+ if (!$oParserState->getSettings()->bLenientParsing) {
117
+ throw new UnexpectedTokenException('CSS selector', '}', 'identifier', $oParserState->currentLine());
118
+ } else {
119
+ if ($bIsRoot) {
120
+ if ($oParserState->getSettings()->bLenientParsing) {
121
+ return DeclarationBlock::parse($oParserState);
122
+ } else {
123
+ throw new SourceException("Unopened {", $oParserState->currentLine());
124
+ }
125
+ } else {
126
+ return null;
127
+ }
128
+ }
129
+ } else {
130
+ return DeclarationBlock::parse($oParserState, $oList);
131
+ }
132
+ }
133
+ /**
134
+ * @param ParserState $oParserState
135
+ *
136
+ * @return AtRuleBlockList|KeyFrame|Charset|CSSNamespace|Import|AtRuleSet|null
137
+ *
138
+ * @throws SourceException
139
+ * @throws UnexpectedTokenException
140
+ * @throws UnexpectedEOFException
141
+ */
142
+ private static function parseAtRule(ParserState $oParserState)
143
+ {
144
+ $oParserState->consume('@');
145
+ $sIdentifier = $oParserState->parseIdentifier();
146
+ $iIdentifierLineNum = $oParserState->currentLine();
147
+ $oParserState->consumeWhiteSpace();
148
+ if ($sIdentifier === 'import') {
149
+ $oLocation = URL::parse($oParserState);
150
+ $oParserState->consumeWhiteSpace();
151
+ $sMediaQuery = null;
152
+ if (!$oParserState->comes(';')) {
153
+ $sMediaQuery = \trim($oParserState->consumeUntil([';', ParserState::EOF]));
154
+ }
155
+ $oParserState->consumeUntil([';', ParserState::EOF], \true, \true);
156
+ return new Import($oLocation, $sMediaQuery ?: null, $iIdentifierLineNum);
157
+ } elseif ($sIdentifier === 'charset') {
158
+ $sCharset = CSSString::parse($oParserState);
159
+ $oParserState->consumeWhiteSpace();
160
+ $oParserState->consumeUntil([';', ParserState::EOF], \true, \true);
161
+ return new Charset($sCharset, $iIdentifierLineNum);
162
+ } elseif (self::identifierIs($sIdentifier, 'keyframes')) {
163
+ $oResult = new KeyFrame($iIdentifierLineNum);
164
+ $oResult->setVendorKeyFrame($sIdentifier);
165
+ $oResult->setAnimationName(\trim($oParserState->consumeUntil('{', \false, \true)));
166
+ CSSList::parseList($oParserState, $oResult);
167
+ if ($oParserState->comes('}')) {
168
+ $oParserState->consume('}');
169
+ }
170
+ return $oResult;
171
+ } elseif ($sIdentifier === 'namespace') {
172
+ $sPrefix = null;
173
+ $mUrl = Value::parsePrimitiveValue($oParserState);
174
+ if (!$oParserState->comes(';')) {
175
+ $sPrefix = $mUrl;
176
+ $mUrl = Value::parsePrimitiveValue($oParserState);
177
+ }
178
+ $oParserState->consumeUntil([';', ParserState::EOF], \true, \true);
179
+ if ($sPrefix !== null && !\is_string($sPrefix)) {
180
+ throw new UnexpectedTokenException('Wrong namespace prefix', $sPrefix, 'custom', $iIdentifierLineNum);
181
+ }
182
+ if (!($mUrl instanceof CSSString || $mUrl instanceof URL)) {
183
+ throw new UnexpectedTokenException('Wrong namespace url of invalid type', $mUrl, 'custom', $iIdentifierLineNum);
184
+ }
185
+ return new CSSNamespace($mUrl, $sPrefix, $iIdentifierLineNum);
186
+ } else {
187
+ // Unknown other at rule (font-face or such)
188
+ $sArgs = \trim($oParserState->consumeUntil('{', \false, \true));
189
+ if (\substr_count($sArgs, "(") != \substr_count($sArgs, ")")) {
190
+ if ($oParserState->getSettings()->bLenientParsing) {
191
+ return null;
192
+ } else {
193
+ throw new SourceException("Unmatched brace count in media query", $oParserState->currentLine());
194
+ }
195
+ }
196
+ $bUseRuleSet = \true;
197
+ foreach (\explode('/', AtRule::BLOCK_RULES) as $sBlockRuleName) {
198
+ if (self::identifierIs($sIdentifier, $sBlockRuleName)) {
199
+ $bUseRuleSet = \false;
200
+ break;
201
+ }
202
+ }
203
+ if ($bUseRuleSet) {
204
+ $oAtRule = new AtRuleSet($sIdentifier, $sArgs, $iIdentifierLineNum);
205
+ RuleSet::parseRuleSet($oParserState, $oAtRule);
206
+ } else {
207
+ $oAtRule = new AtRuleBlockList($sIdentifier, $sArgs, $iIdentifierLineNum);
208
+ CSSList::parseList($oParserState, $oAtRule);
209
+ if ($oParserState->comes('}')) {
210
+ $oParserState->consume('}');
211
+ }
212
+ }
213
+ return $oAtRule;
214
+ }
215
+ }
216
+ /**
217
+ * Tests an identifier for a given value. Since identifiers are all keywords, they can be vendor-prefixed.
218
+ * We need to check for these versions too.
219
+ *
220
+ * @param string $sIdentifier
221
+ * @param string $sMatch
222
+ *
223
+ * @return bool
224
+ */
225
+ private static function identifierIs($sIdentifier, $sMatch)
226
+ {
227
+ return \strcasecmp($sIdentifier, $sMatch) === 0 ?: \preg_match("/^(-\\w+-)?{$sMatch}\$/i", $sIdentifier) === 1;
228
+ }
229
+ /**
230
+ * @return int
231
+ */
232
+ public function getLineNo()
233
+ {
234
+ return $this->iLineNo;
235
+ }
236
+ /**
237
+ * Prepends an item to the list of contents.
238
+ *
239
+ * @param RuleSet|CSSList|Import|Charset $oItem
240
+ *
241
+ * @return void
242
+ */
243
+ public function prepend($oItem)
244
+ {
245
+ \array_unshift($this->aContents, $oItem);
246
+ }
247
+ /**
248
+ * Appends an item to tje list of contents.
249
+ *
250
+ * @param RuleSet|CSSList|Import|Charset $oItem
251
+ *
252
+ * @return void
253
+ */
254
+ public function append($oItem)
255
+ {
256
+ $this->aContents[] = $oItem;
257
+ }
258
+ /**
259
+ * Splices the list of contents.
260
+ *
261
+ * @param int $iOffset
262
+ * @param int $iLength
263
+ * @param array<int, RuleSet|CSSList|Import|Charset> $mReplacement
264
+ *
265
+ * @return void
266
+ */
267
+ public function splice($iOffset, $iLength = null, $mReplacement = null)
268
+ {
269
+ \array_splice($this->aContents, $iOffset, $iLength, $mReplacement);
270
+ }
271
+ /**
272
+ * Removes an item from the CSS list.
273
+ *
274
+ * @param RuleSet|Import|Charset|CSSList $oItemToRemove
275
+ * May be a RuleSet (most likely a DeclarationBlock), a Import,
276
+ * a Charset or another CSSList (most likely a MediaQuery)
277
+ *
278
+ * @return bool whether the item was removed
279
+ */
280
+ public function remove($oItemToRemove)
281
+ {
282
+ $iKey = \array_search($oItemToRemove, $this->aContents, \true);
283
+ if ($iKey !== \false) {
284
+ unset($this->aContents[$iKey]);
285
+ return \true;
286
+ }
287
+ return \false;
288
+ }
289
+ /**
290
+ * Replaces an item from the CSS list.
291
+ *
292
+ * @param RuleSet|Import|Charset|CSSList $oOldItem
293
+ * May be a `RuleSet` (most likely a `DeclarationBlock`), an `Import`, a `Charset`
294
+ * or another `CSSList` (most likely a `MediaQuery`)
295
+ *
296
+ * @return bool
297
+ */
298
+ public function replace($oOldItem, $mNewItem)
299
+ {
300
+ $iKey = \array_search($oOldItem, $this->aContents, \true);
301
+ if ($iKey !== \false) {
302
+ if (\is_array($mNewItem)) {
303
+ \array_splice($this->aContents, $iKey, 1, $mNewItem);
304
+ } else {
305
+ \array_splice($this->aContents, $iKey, 1, [$mNewItem]);
306
+ }
307
+ return \true;
308
+ }
309
+ return \false;
310
+ }
311
+ /**
312
+ * @param array<int, RuleSet|Import|Charset|CSSList> $aContents
313
+ */
314
+ public function setContents(array $aContents)
315
+ {
316
+ $this->aContents = [];
317
+ foreach ($aContents as $content) {
318
+ $this->append($content);
319
+ }
320
+ }
321
+ /**
322
+ * Removes a declaration block from the CSS list if it matches all given selectors.
323
+ *
324
+ * @param DeclarationBlock|array<array-key, Selector>|string $mSelector the selectors to match
325
+ * @param bool $bRemoveAll whether to stop at the first declaration block found or remove all blocks
326
+ *
327
+ * @return void
328
+ */
329
+ public function removeDeclarationBlockBySelector($mSelector, $bRemoveAll = \false)
330
+ {
331
+ if ($mSelector instanceof DeclarationBlock) {
332
+ $mSelector = $mSelector->getSelectors();
333
+ }
334
+ if (!\is_array($mSelector)) {
335
+ $mSelector = \explode(',', $mSelector);
336
+ }
337
+ foreach ($mSelector as $iKey => &$mSel) {
338
+ if (!$mSel instanceof Selector) {
339
+ if (!Selector::isValid($mSel)) {
340
+ throw new UnexpectedTokenException("Selector did not match '" . Selector::SELECTOR_VALIDATION_RX . "'.", $mSel, "custom");
341
+ }
342
+ $mSel = new Selector($mSel);
343
+ }
344
+ }
345
+ foreach ($this->aContents as $iKey => $mItem) {
346
+ if (!$mItem instanceof DeclarationBlock) {
347
+ continue;
348
+ }
349
+ if ($mItem->getSelectors() == $mSelector) {
350
+ unset($this->aContents[$iKey]);
351
+ if (!$bRemoveAll) {
352
+ return;
353
+ }
354
+ }
355
+ }
356
+ }
357
+ /**
358
+ * @return string
359
+ */
360
+ public function __toString()
361
+ {
362
+ return $this->render(new OutputFormat());
363
+ }
364
+ /**
365
+ * @return string
366
+ */
367
+ public function render(OutputFormat $oOutputFormat)
368
+ {
369
+ $sResult = '';
370
+ $bIsFirst = \true;
371
+ $oNextLevel = $oOutputFormat;
372
+ if (!$this->isRootList()) {
373
+ $oNextLevel = $oOutputFormat->nextLevel();
374
+ }
375
+ foreach ($this->aContents as $oContent) {
376
+ $sRendered = $oOutputFormat->safely(function () use($oNextLevel, $oContent) {
377
+ return $oContent->render($oNextLevel);
378
+ });
379
+ if ($sRendered === null) {
380
+ continue;
381
+ }
382
+ if ($bIsFirst) {
383
+ $bIsFirst = \false;
384
+ $sResult .= $oNextLevel->spaceBeforeBlocks();
385
+ } else {
386
+ $sResult .= $oNextLevel->spaceBetweenBlocks();
387
+ }
388
+ $sResult .= $sRendered;
389
+ }
390
+ if (!$bIsFirst) {
391
+ // Had some output
392
+ $sResult .= $oOutputFormat->spaceAfterBlocks();
393
+ }
394
+ return $sResult;
395
+ }
396
+ /**
397
+ * Return true if the list can not be further outdented. Only important when rendering.
398
+ *
399
+ * @return bool
400
+ */
401
+ public abstract function isRootList();
402
+ /**
403
+ * @return array<int, RuleSet|Import|Charset|CSSList>
404
+ */
405
+ public function getContents()
406
+ {
407
+ return $this->aContents;
408
+ }
409
+ /**
410
+ * @param array<array-key, Comment> $aComments
411
+ *
412
+ * @return void
413
+ */
414
+ public function addComments(array $aComments)
415
+ {
416
+ $this->aComments = \array_merge($this->aComments, $aComments);
417
+ }
418
+ /**
419
+ * @return array<array-key, Comment>
420
+ */
421
+ public function getComments()
422
+ {
423
+ return $this->aComments;
424
+ }
425
+ /**
426
+ * @param array<array-key, Comment> $aComments
427
+ *
428
+ * @return void
429
+ */
430
+ public function setComments(array $aComments)
431
+ {
432
+ $this->aComments = $aComments;
433
+ }
434
+ }
third-party/vendor/sabberworm/php-css-parser/src/CSSList/Document.php ADDED
@@ -0,0 +1,161 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace ProfilePressVendor\Sabberworm\CSS\CSSList;
4
+
5
+ use ProfilePressVendor\Sabberworm\CSS\OutputFormat;
6
+ use ProfilePressVendor\Sabberworm\CSS\Parsing\ParserState;
7
+ use ProfilePressVendor\Sabberworm\CSS\Parsing\SourceException;
8
+ use ProfilePressVendor\Sabberworm\CSS\Property\Selector;
9
+ use ProfilePressVendor\Sabberworm\CSS\RuleSet\DeclarationBlock;
10
+ use ProfilePressVendor\Sabberworm\CSS\RuleSet\RuleSet;
11
+ use ProfilePressVendor\Sabberworm\CSS\Value\Value;
12
+ /**
13
+ * The root `CSSList` of a parsed file. Contains all top-level CSS contents, mostly declaration blocks,
14
+ * but also any at-rules encountered.
15
+ */
16
+ class Document extends CSSBlockList
17
+ {
18
+ /**
19
+ * @param int $iLineNo
20
+ */
21
+ public function __construct($iLineNo = 0)
22
+ {
23
+ parent::__construct($iLineNo);
24
+ }
25
+ /**
26
+ * @return Document
27
+ *
28
+ * @throws SourceException
29
+ */
30
+ public static function parse(ParserState $oParserState)
31
+ {
32
+ $oDocument = new Document($oParserState->currentLine());
33
+ CSSList::parseList($oParserState, $oDocument);
34
+ return $oDocument;
35
+ }
36
+ /**
37
+ * Gets all `DeclarationBlock` objects recursively.
38
+ *
39
+ * @return array<int, DeclarationBlock>
40
+ */
41
+ public function getAllDeclarationBlocks()
42
+ {
43
+ /** @var array<int, DeclarationBlock> $aResult */
44
+ $aResult = [];
45
+ $this->allDeclarationBlocks($aResult);
46
+ return $aResult;
47
+ }
48
+ /**
49
+ * Gets all `DeclarationBlock` objects recursively.
50
+ *
51
+ * @return array<int, DeclarationBlock>
52
+ *
53
+ * @deprecated will be removed in version 9.0; use `getAllDeclarationBlocks()` instead
54
+ */
55
+ public function getAllSelectors()
56
+ {
57
+ return $this->getAllDeclarationBlocks();
58
+ }
59
+ /**
60
+ * Returns all `RuleSet` objects found recursively in the tree.
61
+ *
62
+ * @return array<int, RuleSet>
63
+ */
64
+ public function getAllRuleSets()
65
+ {
66
+ /** @var array<int, RuleSet> $aResult */
67
+ $aResult = [];
68
+ $this->allRuleSets($aResult);
69
+ return $aResult;
70
+ }
71
+ /**
72
+ * Returns all `Value` objects found recursively in the tree.
73
+ *
74
+ * @param CSSList|RuleSet|string $mElement
75
+ * the `CSSList` or `RuleSet` to start the search from (defaults to the whole document).
76
+ * If a string is given, it is used as rule name filter.
77
+ * @param bool $bSearchInFunctionArguments whether to also return Value objects used as Function arguments.
78
+ *
79
+ * @return array<int, Value>
80
+ *
81
+ * @see RuleSet->getRules()
82
+ */
83
+ public function getAllValues($mElement = null, $bSearchInFunctionArguments = \false)
84
+ {
85
+ $sSearchString = null;
86
+ if ($mElement === null) {
87
+ $mElement = $this;
88
+ } elseif (\is_string($mElement)) {
89
+ $sSearchString = $mElement;
90
+ $mElement = $this;
91
+ }
92
+ /** @var array<int, Value> $aResult */
93
+ $aResult = [];
94
+ $this->allValues($mElement, $aResult, $sSearchString, $bSearchInFunctionArguments);
95
+ return $aResult;
96
+ }
97
+ /**
98
+ * Returns all `Selector` objects found recursively in the tree.
99
+ *
100
+ * Note that this does not yield the full `DeclarationBlock` that the selector belongs to
101
+ * (and, currently, there is no way to get to that).
102
+ *
103
+ * @param string|null $sSpecificitySearch
104
+ * An optional filter by specificity.
105
+ * May contain a comparison operator and a number or just a number (defaults to "==").
106
+ *
107
+ * @return array<int, Selector>
108
+ * @example `getSelectorsBySpecificity('>= 100')`
109
+ *
110
+ */
111
+ public function getSelectorsBySpecificity($sSpecificitySearch = null)
112
+ {
113
+ /** @var array<int, Selector> $aResult */
114
+ $aResult = [];
115
+ $this->allSelectors($aResult, $sSpecificitySearch);
116
+ return $aResult;
117
+ }
118
+ /**
119
+ * Expands all shorthand properties to their long value.
120
+ *
121
+ * @return void
122
+ */
123
+ public function expandShorthands()
124
+ {
125
+ foreach ($this->getAllDeclarationBlocks() as $oDeclaration) {
126
+ $oDeclaration->expandShorthands();
127
+ }
128
+ }
129
+ /**
130
+ * Create shorthands properties whenever possible.
131
+ *
132
+ * @return void
133
+ */
134
+ public function createShorthands()
135
+ {
136
+ foreach ($this->getAllDeclarationBlocks() as $oDeclaration) {
137
+ $oDeclaration->createShorthands();
138
+ }
139
+ }
140
+ /**
141
+ * Overrides `render()` to make format argument optional.
142
+ *
143
+ * @param OutputFormat|null $oOutputFormat
144
+ *
145
+ * @return string
146
+ */
147
+ public function render(OutputFormat $oOutputFormat = null)
148
+ {
149
+ if ($oOutputFormat === null) {
150
+ $oOutputFormat = new OutputFormat();
151
+ }
152
+ return parent::render($oOutputFormat);
153
+ }
154
+ /**
155
+ * @return bool
156
+ */
157
+ public function isRootList()
158
+ {
159
+ return \true;
160
+ }
161
+ }
third-party/vendor/sabberworm/php-css-parser/src/CSSList/KeyFrame.php ADDED
@@ -0,0 +1,92 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace ProfilePressVendor\Sabberworm\CSS\CSSList;
4
+
5
+ use ProfilePressVendor\Sabberworm\CSS\OutputFormat;
6
+ use ProfilePressVendor\Sabberworm\CSS\Property\AtRule;
7
+ class KeyFrame extends CSSList implements AtRule
8
+ {
9
+ /**
10
+ * @var string|null
11
+ */
12
+ private $vendorKeyFrame;
13
+ /**
14
+ * @var string|null
15
+ */
16
+ private $animationName;
17
+ /**
18
+ * @param int $iLineNo
19
+ */
20
+ public function __construct($iLineNo = 0)
21
+ {
22
+ parent::__construct($iLineNo);
23
+ $this->vendorKeyFrame = null;
24
+ $this->animationName = null;
25
+ }
26
+ /**
27
+ * @param string $vendorKeyFrame
28
+ */
29
+ public function setVendorKeyFrame($vendorKeyFrame)
30
+ {
31
+ $this->vendorKeyFrame = $vendorKeyFrame;
32
+ }
33
+ /**
34
+ * @return string|null
35
+ */
36
+ public function getVendorKeyFrame()
37
+ {
38
+ return $this->vendorKeyFrame;
39
+ }
40
+ /**
41
+ * @param string $animationName
42
+ */
43
+ public function setAnimationName($animationName)
44
+ {
45
+ $this->animationName = $animationName;
46
+ }
47
+ /**
48
+ * @return string|null
49
+ */
50
+ public function getAnimationName()
51
+ {
52
+ return $this->animationName;
53
+ }
54
+ /**
55
+ * @return string
56
+ */
57
+ public function __toString()
58
+ {
59
+ return $this->render(new OutputFormat());
60
+ }
61
+ /**
62
+ * @return string
63
+ */
64
+ public function render(OutputFormat $oOutputFormat)
65
+ {
66
+ $sResult = "@{$this->vendorKeyFrame} {$this->animationName}{$oOutputFormat->spaceBeforeOpeningBrace()}{";
67
+ $sResult .= parent::render($oOutputFormat);
68
+ $sResult .= '}';
69
+ return $sResult;
70
+ }
71
+ /**
72
+ * @return bool
73
+ */
74
+ public function isRootList()
75
+ {
76
+ return \false;
77
+ }
78
+ /**
79
+ * @return string|null
80
+ */
81
+ public function atRuleName()
82
+ {
83
+ return $this->vendorKeyFrame;
84
+ }
85
+ /**
86
+ * @return string|null
87
+ */
88
+ public function atRuleArgs()
89
+ {
90
+ return $this->animationName;
91
+ }
92
+ }
third-party/vendor/sabberworm/php-css-parser/src/Comment/Comment.php ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace ProfilePressVendor\Sabberworm\CSS\Comment;
4
+
5
+ use ProfilePressVendor\Sabberworm\CSS\OutputFormat;
6
+ use ProfilePressVendor\Sabberworm\CSS\Renderable;
7
+ class Comment implements Renderable
8
+ {
9
+ /**
10
+ * @var int
11
+ */
12
+ protected $iLineNo;
13
+ /**
14
+ * @var string
15
+ */
16
+ protected $sComment;
17
+ /**
18
+ * @param string $sComment
19
+ * @param int $iLineNo
20
+ */
21
+ public function __construct($sComment = '', $iLineNo = 0)
22
+ {
23
+ $this->sComment = $sComment;
24
+ $this->iLineNo = $iLineNo;
25
+ }
26
+ /**
27
+ * @return string
28
+ */
29
+ public function getComment()
30
+ {
31
+ return $this->sComment;
32
+ }
33
+ /**
34
+ * @return int
35
+ */
36
+ public function getLineNo()
37
+ {
38
+ return $this->iLineNo;
39
+ }
40
+ /**
41
+ * @param string $sComment
42
+ *
43
+ * @return void
44
+ */
45
+ public function setComment($sComment)
46
+ {
47
+ $this->sComment = $sComment;
48
+ }
49
+ /**
50
+ * @return string
51
+ */
52
+ public function __toString()
53
+ {
54
+ return $this->render(new OutputFormat());
55
+ }
56
+ /**
57
+ * @return string
58
+ */
59
+ public function render(OutputFormat $oOutputFormat)
60
+ {
61
+ return '/*' . $this->sComment . '*/';
62
+ }
63
+ }
third-party/vendor/sabberworm/php-css-parser/src/Comment/Commentable.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace ProfilePressVendor\Sabberworm\CSS\Comment;
4
+
5
+ interface Commentable
6
+ {
7
+ /**
8
+ * @param array<array-key, Comment> $aComments
9
+ *
10
+ * @return void
11
+ */
12
+ public function addComments(array $aComments);
13
+ /**
14
+ * @return array<array-key, Comment>
15
+ */
16
+ public function getComments();
17
+ /**
18
+ * @param array<array-key, Comment> $aComments
19
+ *
20
+ * @return void
21
+ */
22
+ public function setComments(array $aComments);
23
+ }
third-party/vendor/sabberworm/php-css-parser/src/OutputFormat.php ADDED
@@ -0,0 +1,290 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace ProfilePressVendor\Sabberworm\CSS;
4
+
5
+ /**
6
+ * Class OutputFormat
7
+ *
8
+ * @method OutputFormat setSemicolonAfterLastRule(bool $bSemicolonAfterLastRule) Set whether semicolons are added after
9
+ * last rule.
10
+ */
11
+ class OutputFormat
12
+ {
13
+ /**
14
+ * Value format: `"` means double-quote, `'` means single-quote
15
+ *
16
+ * @var string
17
+ */
18
+ public $sStringQuotingType = '"';
19
+ /**
20
+ * Output RGB colors in hash notation if possible
21
+ *
22
+ * @var string
23
+ */
24
+ public $bRGBHashNotation = \true;
25
+ /**
26
+ * Declaration format
27
+ *
28
+ * Semicolon after the last rule of a declaration block can be omitted. To do that, set this false.
29
+ *
30
+ * @var bool
31
+ */
32
+ public $bSemicolonAfterLastRule = \true;
33
+ /**
34
+ * Spacing
35
+ * Note that these strings are not sanity-checked: the value should only consist of whitespace
36
+ * Any newline character will be indented according to the current level.
37
+ * The triples (After, Before, Between) can be set using a wildcard (e.g. `$oFormat->set('Space*Rules', "\n");`)
38
+ */
39
+ public $sSpaceAfterRuleName = ' ';
40
+ /**
41
+ * @var string
42
+ */
43
+ public $sSpaceBeforeRules = '';
44
+ /**
45
+ * @var string
46
+ */
47
+ public $sSpaceAfterRules = '';
48
+ /**
49
+ * @var string
50
+ */
51
+ public $sSpaceBetweenRules = '';
52
+ /**
53
+ * @var string
54
+ */
55
+ public $sSpaceBeforeBlocks = '';
56
+ /**
57
+ * @var string
58
+ */
59
+ public $sSpaceAfterBlocks = '';
60
+ /**
61
+ * @var string
62
+ */
63
+ public $sSpaceBetweenBlocks = "\n";
64
+ /**
65
+ * Content injected in and around at-rule blocks.
66
+ *
67
+ * @var string
68
+ */
69
+ public $sBeforeAtRuleBlock = '';
70
+ /**
71
+ * @var string
72
+ */
73
+ public $sAfterAtRuleBlock = '';
74
+ /**
75
+ * This is what’s printed before and after the comma if a declaration block contains multiple selectors.
76
+ *
77
+ * @var string
78
+ */
79
+ public $sSpaceBeforeSelectorSeparator = '';
80
+ /**
81
+ * @var string
82
+ */
83
+ public $sSpaceAfterSelectorSeparator = ' ';
84
+ /**
85
+ * This is what’s printed after the comma of value lists
86
+ *
87
+ * @var string
88
+ */
89
+ public $sSpaceBeforeListArgumentSeparator = '';
90
+ /**
91
+ * @var string
92
+ */
93
+ public $sSpaceAfterListArgumentSeparator = '';
94
+ /**
95
+ * @var string
96
+ */
97
+ public $sSpaceBeforeOpeningBrace = ' ';
98
+ /**
99
+ * Content injected in and around declaration blocks.
100
+ *
101
+ * @var string
102
+ */
103
+ public $sBeforeDeclarationBlock = '';
104
+ /**
105
+ * @var string
106
+ */
107
+ public $sAfterDeclarationBlockSelectors = '';
108
+ /**
109
+ * @var string
110
+ */
111
+ public $sAfterDeclarationBlock = '';
112
+ /**
113
+ * Indentation character(s) per level. Only applicable if newlines are used in any of the spacing settings.
114
+ *
115
+ * @var string
116
+ */
117
+ public $sIndentation = "\t";
118
+ /**
119
+ * Output exceptions.
120
+ *
121
+ * @var bool
122
+ */
123
+ public $bIgnoreExceptions = \false;
124
+ /**
125
+ * @var OutputFormatter|null
126
+ */
127
+ private $oFormatter = null;
128
+ /**
129
+ * @var OutputFormat|null
130
+ */
131
+ private $oNextLevelFormat = null;
132
+ /**
133
+ * @var int
134
+ */
135
+ private $iIndentationLevel = 0;
136
+ public function __construct()
137
+ {
138
+ }
139
+ /**
140
+ * @param string $sName
141
+ *
142
+ * @return string|null
143
+ */
144
+ public function get($sName)
145
+ {
146
+ $aVarPrefixes = ['a', 's', 'm', 'b', 'f', 'o', 'c', 'i'];
147
+ foreach ($aVarPrefixes as $sPrefix) {
148
+ $sFieldName = $sPrefix . \ucfirst($sName);
149
+ if (isset($this->{$sFieldName})) {
150
+ return $this->{$sFieldName};
151
+ }
152
+ }
153
+ return null;
154
+ }
155
+ /**
156
+ * @param array<array-key, string>|string $aNames
157
+ * @param mixed $mValue
158
+ *
159
+ * @return self|false
160
+ */
161
+ public function set($aNames, $mValue)
162
+ {
163
+ $aVarPrefixes = ['a', 's', 'm', 'b', 'f', 'o', 'c', 'i'];
164
+ if (\is_string($aNames) && \strpos($aNames, '*') !== \false) {
165
+ $aNames = [\str_replace('*', 'Before', $aNames), \str_replace('*', 'Between', $aNames), \str_replace('*', 'After', $aNames)];
166
+ } elseif (!\is_array($aNames)) {
167
+ $aNames = [$aNames];
168
+ }
169
+ foreach ($aVarPrefixes as $sPrefix) {
170
+ $bDidReplace = \false;
171
+ foreach ($aNames as $sName) {
172
+ $sFieldName = $sPrefix . \ucfirst($sName);
173
+ if (isset($this->{$sFieldName})) {
174
+ $this->{$sFieldName} = $mValue;
175
+ $bDidReplace = \true;
176
+ }
177
+ }
178
+ if ($bDidReplace) {
179
+ return $this;
180
+ }
181
+ }
182
+ // Break the chain so the user knows this option is invalid
183
+ return \false;
184
+ }
185
+ /**
186
+ * @param string $sMethodName
187
+ * @param array<array-key, mixed> $aArguments
188
+ *
189
+ * @return mixed
190
+ *
191
+ * @throws \Exception
192
+ */
193
+ public function __call($sMethodName, array $aArguments)
194
+ {
195
+ if (\strpos($sMethodName, 'set') === 0) {
196
+ return $this->set(\substr($sMethodName, 3), $aArguments[0]);
197
+ } elseif (\strpos($sMethodName, 'get') === 0) {
198
+ return $this->get(\substr($sMethodName, 3));
199
+ } elseif (\method_exists(OutputFormatter::class, $sMethodName)) {
200
+ return \call_user_func_array([$this->getFormatter(), $sMethodName], $aArguments);
201
+ } else {
202
+ throw new \Exception('Unknown OutputFormat method called: ' . $sMethodName);
203
+ }
204
+ }
205
+ /**
206
+ * @param int $iNumber
207
+ *
208
+ * @return self
209
+ */
210
+ public function indentWithTabs($iNumber = 1)
211
+ {
212
+ return $this->setIndentation(\str_repeat("\t", $iNumber));
213
+ }
214
+ /**
215
+ * @param int $iNumber
216
+ *
217
+ * @return self
218
+ */
219
+ public function indentWithSpaces($iNumber = 2)
220
+ {
221
+ return $this->setIndentation(\str_repeat(" ", $iNumber));
222
+ }
223
+ /**
224
+ * @return OutputFormat
225
+ */
226
+ public function nextLevel()
227
+ {
228
+ if ($this->oNextLevelFormat === null) {
229
+ $this->oNextLevelFormat = clone $this;
230
+ $this->oNextLevelFormat->iIndentationLevel++;
231
+ $this->oNextLevelFormat->oFormatter = null;
232
+ }
233
+ return $this->oNextLevelFormat;
234
+ }
235
+ /**
236
+ * @return void
237
+ */
238
+ public function beLenient()
239
+ {
240
+ $this->bIgnoreExceptions = \true;
241
+ }
242
+ /**
243
+ * @return OutputFormatter
244
+ */
245
+ public function getFormatter()
246
+ {
247
+ if ($this->oFormatter === null) {
248
+ $this->oFormatter = new OutputFormatter($this);
249
+ }
250
+ return $this->oFormatter;
251
+ }
252
+ /**
253
+ * @return int
254
+ */
255
+ public function level()
256
+ {
257
+ return $this->iIndentationLevel;
258
+ }
259
+ /**
260
+ * Creates an instance of this class without any particular formatting settings.
261
+ *
262
+ * @return self
263
+ */
264
+ public static function create()
265
+ {
266
+ return new OutputFormat();
267
+ }
268
+ /**
269
+ * Creates an instance of this class with a preset for compact formatting.
270
+ *
271
+ * @return self
272
+ */
273
+ public static function createCompact()
274
+ {
275
+ $format = self::create();
276
+ $format->set('Space*Rules', "")->set('Space*Blocks', "")->setSpaceAfterRuleName('')->setSpaceBeforeOpeningBrace('')->setSpaceAfterSelectorSeparator('');
277
+ return $format;
278
+ }
279
+ /**
280
+ * Creates an instance of this class with a preset for pretty formatting.
281
+ *
282
+ * @return self
283
+ */
284
+ public static function createPretty()
285
+ {
286
+ $format = self::create();
287
+ $format->set('Space*Rules', "\n")->set('Space*Blocks', "\n")->setSpaceBetweenBlocks("\n\n")->set('SpaceAfterListArgumentSeparator', ['default' => '', ',' => ' ']);
288
+ return $format;
289
+ }
290
+ }
third-party/vendor/sabberworm/php-css-parser/src/OutputFormatter.php ADDED
@@ -0,0 +1,212 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace ProfilePressVendor\Sabberworm\CSS;
4
+
5
+ use ProfilePressVendor\Sabberworm\CSS\Parsing\OutputException;
6
+ class OutputFormatter
7
+ {
8
+ /**
9
+ * @var OutputFormat
10
+ */
11
+ private $oFormat;
12
+ public function __construct(OutputFormat $oFormat)
13
+ {
14
+ $this->oFormat = $oFormat;
15
+ }
16
+ /**
17
+ * @param string $sName
18
+ * @param string|null $sType
19
+ *
20
+ * @return string
21
+ */
22
+ public function space($sName, $sType = null)
23
+ {
24
+ $sSpaceString = $this->oFormat->get("Space{$sName}");
25
+ // If $sSpaceString is an array, we have multiple values configured
26
+ // depending on the type of object the space applies to
27
+ if (\is_array($sSpaceString)) {
28
+ if ($sType !== null && isset($sSpaceString[$sType])) {
29
+ $sSpaceString = $sSpaceString[$sType];
30
+ } else {
31
+ $sSpaceString = \reset($sSpaceString);
32
+ }
33
+ }
34
+ return $this->prepareSpace($sSpaceString);
35
+ }
36
+ /**
37
+ * @return string
38
+ */
39
+ public function spaceAfterRuleName()
40
+ {
41
+ return $this->space('AfterRuleName');
42
+ }
43
+ /**
44
+ * @return string
45
+ */
46
+ public function spaceBeforeRules()
47
+ {
48
+ return $this->space('BeforeRules');
49
+ }
50
+ /**
51
+ * @return string
52
+ */
53
+ public function spaceAfterRules()
54
+ {
55
+ return $this->space('AfterRules');
56
+ }
57
+ /**
58
+ * @return string
59
+ */
60
+ public function spaceBetweenRules()
61
+ {
62
+ return $this->space('BetweenRules');
63
+ }
64
+ /**
65
+ * @return string
66
+ */
67
+ public function spaceBeforeBlocks()
68
+ {
69
+ return $this->space('BeforeBlocks');
70
+ }
71
+ /**
72
+ * @return string
73
+ */
74
+ public function spaceAfterBlocks()
75
+ {
76
+ return $this->space('AfterBlocks');
77
+ }
78
+ /**
79
+ * @return string
80
+ */
81
+ public function spaceBetweenBlocks()
82
+ {
83
+ return $this->space('BetweenBlocks');
84
+ }
85
+ /**
86
+ * @return string
87
+ */
88
+ public function spaceBeforeSelectorSeparator()
89
+ {
90
+ return $this->space('BeforeSelectorSeparator');
91
+ }
92
+ /**
93
+ * @return string
94
+ */
95
+ public function spaceAfterSelectorSeparator()
96
+ {
97
+ return $this->space('AfterSelectorSeparator');
98
+ }
99
+ /**
100
+ * @param string $sSeparator
101
+ *
102
+ * @return string
103
+ */
104
+ public function spaceBeforeListArgumentSeparator($sSeparator)
105
+ {
106
+ return $this->space('BeforeListArgumentSeparator', $sSeparator);
107
+ }
108
+ /**
109
+ * @param string $sSeparator
110
+ *
111
+ * @return string
112
+ */
113
+ public function spaceAfterListArgumentSeparator($sSeparator)
114
+ {
115
+ return $this->space('AfterListArgumentSeparator', $sSeparator);
116
+ }
117
+ /**
118
+ * @return string
119
+ */
120
+ public function spaceBeforeOpeningBrace()
121
+ {
122
+ return $this->space('BeforeOpeningBrace');
123
+ }
124
+ /**
125
+ * Runs the given code, either swallowing or passing exceptions, depending on the `bIgnoreExceptions` setting.
126
+ *
127
+ * @param string $cCode the name of the function to call
128
+ *
129
+ * @return string|null
130
+ */
131
+ public function safely($cCode)
132
+ {
133
+ if ($this->oFormat->get('IgnoreExceptions')) {
134
+ // If output exceptions are ignored, run the code with exception guards
135
+ try {
136
+ return $cCode();
137
+ } catch (OutputException $e) {
138
+ return null;
139
+ }
140
+ // Do nothing
141
+ } else {
142
+ // Run the code as-is
143
+ return $cCode();
144
+ }
145
+ }
146
+ /**
147
+ * Clone of the `implode` function, but calls `render` with the current output format instead of `__toString()`.
148
+ *
149
+ * @param string $sSeparator
150
+ * @param array<array-key, Renderable|string> $aValues
151
+ * @param bool $bIncreaseLevel
152
+ *
153
+ * @return string
154
+ */
155
+ public function implode($sSeparator, array $aValues, $bIncreaseLevel = \false)
156
+ {
157
+ $sResult = '';
158
+ $oFormat = $this->oFormat;
159
+ if ($bIncreaseLevel) {
160
+ $oFormat = $oFormat->nextLevel();
161
+ }
162
+ $bIsFirst = \true;
163
+ foreach ($aValues as $mValue) {
164
+ if ($bIsFirst) {
165
+ $bIsFirst = \false;
166
+ } else {
167
+ $sResult .= $sSeparator;
168
+ }
169
+ if ($mValue instanceof Renderable) {
170
+ $sResult .= $mValue->render($oFormat);
171
+ } else {
172
+ $sResult .= $mValue;
173
+ }
174
+ }
175
+ return $sResult;
176
+ }
177
+ /**
178
+ * @param string $sString
179
+ *
180
+ * @return string
181
+ */
182
+ public function removeLastSemicolon($sString)
183
+ {
184
+ if ($this->oFormat->get('SemicolonAfterLastRule')) {
185
+ return $sString;
186
+ }
187
+ $sString = \explode(';', $sString);
188
+ if (\count($sString) < 2) {
189
+ return $sString[0];
190
+ }
191
+ $sLast = \array_pop($sString);
192
+ $sNextToLast = \array_pop($sString);
193
+ \array_push($sString, $sNextToLast . $sLast);
194
+ return \implode(';', $sString);
195
+ }
196
+ /**
197
+ * @param string $sSpaceString
198
+ *
199
+ * @return string
200
+ */
201
+ private function prepareSpace($sSpaceString)
202
+ {
203
+ return \str_replace("\n", "\n" . $this->indent(), $sSpaceString);
204
+ }
205
+ /**
206
+ * @return string
207
+ */
208
+ private function indent()
209
+ {
210
+ return \str_repeat($this->oFormat->sIndentation, $this->oFormat->level());
211
+ }
212
+ }
third-party/vendor/sabberworm/php-css-parser/src/Parser.php ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace ProfilePressVendor\Sabberworm\CSS;
4
+
5
+ use ProfilePressVendor\Sabberworm\CSS\CSSList\Document;
6
+ use ProfilePressVendor\Sabberworm\CSS\Parsing\ParserState;
7
+ use ProfilePressVendor\Sabberworm\CSS\Parsing\SourceException;
8
+ /**
9
+ * This class parses CSS from text into a data structure.
10
+ */
11
+ class Parser
12
+ {
13
+ /**
14
+ * @var ParserState
15
+ */
16
+ private $oParserState;
17
+ /**
18
+ * @param string $sText
19
+ * @param Settings|null $oParserSettings
20
+ * @param int $iLineNo the line number (starting from 1, not from 0)
21
+ */
22
+ public function __construct($sText, Settings $oParserSettings = null, $iLineNo = 1)
23
+ {
24
+ if ($oParserSettings === null) {
25
+ $oParserSettings = Settings::create();
26
+ }
27
+ $this->oParserState = new ParserState($sText, $oParserSettings, $iLineNo);
28
+ }
29
+ /**
30
+ * @param string $sCharset
31
+ *
32
+ * @return void
33
+ */
34
+ public function setCharset($sCharset)
35
+ {
36
+ $this->oParserState->setCharset($sCharset);
37
+ }
38
+ /**
39
+ * @return void
40
+ */
41
+ public function getCharset()
42
+ {
43
+ // Note: The `return` statement is missing here. This is a bug that needs to be fixed.
44
+ $this->oParserState->getCharset();
45
+ }
46
+ /**
47
+ * @return Document
48
+ *
49
+ * @throws SourceException
50
+ */
51
+ public function parse()
52
+ {
53
+ return Document::parse($this->oParserState);
54
+ }
55
+ }
third-party/vendor/sabberworm/php-css-parser/src/Parsing/OutputException.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace ProfilePressVendor\Sabberworm\CSS\Parsing;
4
+
5
+ /**
6
+ * Thrown if the CSS parser attempts to print something invalid.
7
+ */
8
+ class OutputException extends SourceException
9
+ {
10
+ /**
11
+ * @param string $sMessage
12
+ * @param int $iLineNo
13
+ */
14
+ public function __construct($sMessage, $iLineNo = 0)
15
+ {
16
+ parent::__construct($sMessage, $iLineNo);
17
+ }
18
+ }
third-party/vendor/sabberworm/php-css-parser/src/Parsing/ParserState.php ADDED
@@ -0,0 +1,462 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace ProfilePressVendor\Sabberworm\CSS\Parsing;
4
+
5
+ use ProfilePressVendor\Sabberworm\CSS\Comment\Comment;
6
+ use ProfilePressVendor\Sabberworm\CSS\Settings;
7
+ class ParserState
8
+ {
9
+ /**
10
+ * @var null
11
+ */
12
+ const EOF = null;
13
+ /**
14
+ * @var Settings
15
+ */
16
+ private $oParserSettings;
17
+ /**
18
+ * @var string
19
+ */
20
+ private $sText;
21
+ /**
22
+ * @var array<int, string>
23
+ */
24
+ private $aText;
25
+ /**
26
+ * @var int
27
+ */
28
+ private $iCurrentPosition;
29
+ /**
30
+ * @var string
31
+ */
32
+ private $sCharset;
33
+ /**
34
+ * @var int
35
+ */
36
+ private $iLength;
37
+ /**
38
+ * @var int
39
+ */
40
+ private $iLineNo;
41
+ /**
42
+ * @param string $sText
43
+ * @param int $iLineNo
44
+ */
45
+ public function __construct($sText, Settings $oParserSettings, $iLineNo = 1)
46
+ {
47
+ $this->oParserSettings = $oParserSettings;
48
+ $this->sText = $sText;
49
+ $this->iCurrentPosition = 0;
50
+ $this->iLineNo = $iLineNo;
51
+ $this->setCharset($this->oParserSettings->sDefaultCharset);
52
+ }
53
+ /**
54
+ * @param string $sCharset
55
+ *
56
+ * @return void
57
+ */
58
+ public function setCharset($sCharset)
59
+ {
60
+ $this->sCharset = $sCharset;
61
+ $this->aText = $this->strsplit($this->sText);
62
+ if (\is_array($this->aText)) {
63
+ $this->iLength = \count($this->aText);
64
+ }
65
+ }
66
+ /**
67
+ * @return string
68
+ */
69
+ public function getCharset()
70
+ {
71
+ return $this->sCharset;
72
+ }
73
+ /**
74
+ * @return int
75
+ */
76
+ public function currentLine()
77
+ {
78
+ return $this->iLineNo;
79
+ }
80
+ /**
81
+ * @return int
82
+ */
83
+ public function currentColumn()
84
+ {
85
+ return $this->iCurrentPosition;
86
+ }
87
+ /**
88
+ * @return Settings
89
+ */
90
+ public function getSettings()
91
+ {
92
+ return $this->oParserSettings;
93
+ }
94
+ /**
95
+ * @param bool $bIgnoreCase
96
+ *
97
+ * @return string
98
+ *
99
+ * @throws UnexpectedTokenException
100
+ */
101
+ public function parseIdentifier($bIgnoreCase = \true)
102
+ {
103
+ $sResult = $this->parseCharacter(\true);
104
+ if ($sResult === null) {
105
+ throw new UnexpectedTokenException($sResult, $this->peek(5), 'identifier', $this->iLineNo);
106
+ }
107
+ $sCharacter = null;
108
+ while (($sCharacter = $this->parseCharacter(\true)) !== null) {
109
+ if (\preg_match('/[a-zA-Z0-9\\x{00A0}-\\x{FFFF}_-]/Sux', $sCharacter)) {
110
+ $sResult .= $sCharacter;
111
+ } else {
112
+ $sResult .= '\\' . $sCharacter;
113
+ }
114
+ }
115
+ if ($bIgnoreCase) {
116
+ $sResult = $this->strtolower($sResult);
117
+ }
118
+ return $sResult;
119
+ }
120
+ /**
121
+ * @param bool $bIsForIdentifier
122
+ *
123
+ * @return string|null
124
+ *
125
+ * @throws UnexpectedEOFException
126
+ * @throws UnexpectedTokenException
127
+ */
128
+ public function parseCharacter($bIsForIdentifier)
129
+ {
130
+ if ($this->peek() === '\\') {
131
+ if ($bIsForIdentifier && $this->oParserSettings->bLenientParsing && ($this->comes('\\0') || $this->comes('\\9'))) {
132
+ // Non-strings can contain \0 or \9 which is an IE hack supported in lenient parsing.
133
+ return null;
134
+ }
135
+ $this->consume('\\');
136
+ if ($this->comes('\\n') || $this->comes('\\r')) {
137
+ return '';
138
+ }
139
+ if (\preg_match('/[0-9a-fA-F]/Su', $this->peek()) === 0) {
140
+ return $this->consume(1);
141
+ }
142
+ $sUnicode = $this->consumeExpression('/^[0-9a-fA-F]{1,6}/u', 6);
143
+ if ($this->strlen($sUnicode) < 6) {
144
+ // Consume whitespace after incomplete unicode escape
145
+ if (\preg_match('/\\s/isSu', $this->peek())) {
146
+ if ($this->comes('ProfilePressVendor\\r\\n')) {
147
+ $this->consume(2);
148
+ } else {
149
+ $this->consume(1);
150
+ }
151
+ }
152
+ }
153
+ $iUnicode = \intval($sUnicode, 16);
154
+ $sUtf32 = "";
155
+ for ($i = 0; $i < 4; ++$i) {
156
+ $sUtf32 .= \chr($iUnicode & 0xff);
157
+ $iUnicode = $iUnicode >> 8;
158
+ }
159
+ return \iconv('utf-32le', $this->sCharset, $sUtf32);
160
+ }
161
+ if ($bIsForIdentifier) {
162
+ $peek = \ord($this->peek());
163
+ // Ranges: a-z A-Z 0-9 - _
164
+ if ($peek >= 97 && $peek <= 122 || $peek >= 65 && $peek <= 90 || $peek >= 48 && $peek <= 57 || $peek === 45 || $peek === 95 || $peek > 0xa1) {
165
+ return $this->consume(1);
166
+ }
167
+ } else {
168
+ return $this->consume(1);
169
+ }
170
+ return null;
171
+ }
172
+ /**
173
+ * @return array<int, Comment>|void
174
+ *
175
+ * @throws UnexpectedEOFException
176
+ * @throws UnexpectedTokenException
177
+ */
178
+ public function consumeWhiteSpace()
179
+ {
180
+ $comments = [];
181
+ do {
182
+ while (\preg_match('/\\s/isSu', $this->peek()) === 1) {
183
+ $this->consume(1);
184
+ }
185
+ if ($this->oParserSettings->bLenientParsing) {
186
+ try {
187
+ $oComment = $this->consumeComment();
188
+ } catch (UnexpectedEOFException $e) {
189
+ $this->iCurrentPosition = $this->iLength;
190
+ return;
191
+ }
192
+ } else {
193
+ $oComment = $this->consumeComment();
194
+ }
195
+ if ($oComment !== \false) {
196
+ $comments[] = $oComment;
197
+ }
198
+ } while ($oComment !== \false);
199
+ return $comments;
200
+ }
201
+ /**
202
+ * @param string $sString
203
+ * @param bool $bCaseInsensitive
204
+ *
205
+ * @return bool
206
+ */
207
+ public function comes($sString, $bCaseInsensitive = \false)
208
+ {
209
+ $sPeek = $this->peek(\strlen($sString));
210
+ return $sPeek == '' ? \false : $this->streql($sPeek, $sString, $bCaseInsensitive);
211
+ }
212
+ /**
213
+ * @param int $iLength
214
+ * @param int $iOffset
215
+ *
216
+ * @return string
217
+ */
218
+ public function peek($iLength = 1, $iOffset = 0)
219
+ {
220
+ $iOffset += $this->iCurrentPosition;
221
+ if ($iOffset >= $this->iLength) {
222
+ return '';
223
+ }
224
+ return $this->substr($iOffset, $iLength);
225
+ }
226
+ /**
227
+ * @param int $mValue
228
+ *
229
+ * @return string
230
+ *
231
+ * @throws UnexpectedEOFException
232
+ * @throws UnexpectedTokenException
233
+ */
234
+ public function consume($mValue = 1)
235
+ {
236
+ if (\is_string($mValue)) {
237
+ $iLineCount = \substr_count($mValue, "\n");
238
+ $iLength = $this->strlen($mValue);
239
+ if (!$this->streql($this->substr($this->iCurrentPosition, $iLength), $mValue)) {
240
+ throw new UnexpectedTokenException($mValue, $this->peek(\max($iLength, 5)), $this->iLineNo);
241
+ }
242
+ $this->iLineNo += $iLineCount;
243
+ $this->iCurrentPosition += $this->strlen($mValue);
244
+ return $mValue;
245
+ } else {
246
+ if ($this->iCurrentPosition + $mValue > $this->iLength) {
247
+ throw new UnexpectedEOFException($mValue, $this->peek(5), 'count', $this->iLineNo);
248
+ }
249
+ $sResult = $this->substr($this->iCurrentPosition, $mValue);
250
+ $iLineCount = \substr_count($sResult, "\n");
251
+ $this->iLineNo += $iLineCount;
252
+ $this->iCurrentPosition += $mValue;
253
+ return $sResult;
254
+ }
255
+ }
256
+ /**
257
+ * @param string $mExpression
258
+ * @param int|null $iMaxLength
259
+ *
260
+ * @return string
261
+ *
262
+ * @throws UnexpectedEOFException
263
+ * @throws UnexpectedTokenException
264
+ */
265
+ public function consumeExpression($mExpression, $iMaxLength = null)
266
+ {
267
+ $aMatches = null;
268
+ $sInput = $iMaxLength !== null ? $this->peek($iMaxLength) : $this->inputLeft();
269
+ if (\preg_match($mExpression, $sInput, $aMatches, \PREG_OFFSET_CAPTURE) === 1) {
270
+ return $this->consume($aMatches[0][0]);
271
+ }
272
+ throw new UnexpectedTokenException($mExpression, $this->peek(5), 'expression', $this->iLineNo);
273
+ }
274
+ /**
275
+ * @return Comment|false
276
+ */
277
+ public function consumeComment()
278
+ {
279
+ $mComment = \false;
280
+ if ($this->comes('/*')) {
281
+ $iLineNo = $this->iLineNo;
282
+ $this->consume(1);
283
+ $mComment = '';
284
+ while (($char = $this->consume(1)) !== '') {
285
+ $mComment .= $char;
286
+ if ($this->comes('*/')) {
287
+ $this->consume(2);
288
+ break;
289
+ }
290
+ }
291
+ }
292
+ if ($mComment !== \false) {
293
+ // We skip the * which was included in the comment.
294
+ return new Comment(\substr($mComment, 1), $iLineNo);
295
+ }
296
+ return $mComment;
297
+ }
298
+ /**
299
+ * @return bool
300
+ */
301
+ public function isEnd()
302
+ {
303
+ return $this->iCurrentPosition >= $this->iLength;
304
+ }
305
+ /**
306
+ * @param array<array-key, string>|string $aEnd
307
+ * @param string $bIncludeEnd
308
+ * @param string $consumeEnd
309
+ * @param array<int, Comment> $comments
310
+ *
311
+ * @return string
312
+ *
313
+ * @throws UnexpectedEOFException
314
+ * @throws UnexpectedTokenException
315
+ */
316
+ public function consumeUntil($aEnd, $bIncludeEnd = \false, $consumeEnd = \false, array &$comments = [])
317
+ {
318
+ $aEnd = \is_array($aEnd) ? $aEnd : [$aEnd];
319
+ $out = '';
320
+ $start = $this->iCurrentPosition;
321
+ while (!$this->isEnd()) {
322
+ $char = $this->consume(1);
323
+ if (\in_array($char, $aEnd)) {
324
+ if ($bIncludeEnd) {
325
+ $out .= $char;
326
+ } elseif (!$consumeEnd) {
327
+ $this->iCurrentPosition -= $this->strlen($char);
328
+ }
329
+ return $out;
330
+ }
331
+ $out .= $char;
332
+ if ($comment = $this->consumeComment()) {
333
+ $comments[] = $comment;
334
+ }
335
+ }
336
+ if (\in_array(self::EOF, $aEnd)) {
337
+ return $out;
338
+ }
339
+ $this->iCurrentPosition = $start;
340
+ throw new UnexpectedEOFException('One of ("' . \implode('","', $aEnd) . '")', $this->peek(5), 'search', $this->iLineNo);
341
+ }
342
+ /**
343
+ * @return string
344
+ */
345
+ private function inputLeft()
346
+ {
347
+ return $this->substr($this->iCurrentPosition, -1);
348
+ }
349
+ /**
350
+ * @param string $sString1
351
+ * @param string $sString2
352
+ * @param bool $bCaseInsensitive
353
+ *
354
+ * @return bool
355
+ */
356
+ public function streql($sString1, $sString2, $bCaseInsensitive = \true)
357
+ {
358
+ if ($bCaseInsensitive) {
359
+ return $this->strtolower($sString1) === $this->strtolower($sString2);
360
+ } else {
361
+ return $sString1 === $sString2;
362
+ }
363
+ }
364
+ /**
365
+ * @param int $iAmount
366
+ *
367
+ * @return void
368
+ */
369
+ public function backtrack($iAmount)
370
+ {
371
+ $this->iCurrentPosition -= $iAmount;
372
+ }
373
+ /**
374
+ * @param string $sString
375
+ *
376
+ * @return int
377
+ */
378
+ public function strlen($sString)
379
+ {
380
+ if ($this->oParserSettings->bMultibyteSupport) {
381
+ return \mb_strlen($sString, $this->sCharset);
382
+ } else {
383
+ return \strlen($sString);
384
+ }
385
+ }
386
+ /**
387
+ * @param int $iStart
388
+ * @param int $iLength
389
+ *
390
+ * @return string
391
+ */
392
+ private function substr($iStart, $iLength)
393
+ {
394
+ if ($iLength < 0) {
395
+ $iLength = $this->iLength - $iStart + $iLength;
396
+ }
397
+ if ($iStart + $iLength > $this->iLength) {
398
+ $iLength = $this->iLength - $iStart;
399
+ }
400
+ $sResult = '';
401
+ while ($iLength > 0) {
402
+ $sResult .= $this->aText[$iStart];
403
+ $iStart++;
404
+ $iLength--;
405
+ }
406
+ return $sResult;
407
+ }
408
+ /**
409
+ * @param string $sString
410
+ *
411
+ * @return string
412
+ */
413
+ private function strtolower($sString)
414
+ {
415
+ if ($this->oParserSettings->bMultibyteSupport) {
416
+ return \mb_strtolower($sString, $this->sCharset);
417
+ } else {
418
+ return \strtolower($sString);
419
+ }
420
+ }
421
+ /**
422
+ * @param string $sString
423
+ *
424
+ * @return array<int, string>
425
+ */
426
+ private function strsplit($sString)
427
+ {
428
+ if ($this->oParserSettings->bMultibyteSupport) {
429
+ if ($this->streql($this->sCharset, 'utf-8')) {
430
+ return \preg_split('//u', $sString, -1, \PREG_SPLIT_NO_EMPTY);
431
+ } else {
432
+ $iLength = \mb_strlen($sString, $this->sCharset);
433
+ $aResult = [];
434
+ for ($i = 0; $i < $iLength; ++$i) {
435
+ $aResult[] = \mb_substr($sString, $i, 1, $this->sCharset);
436
+ }
437
+ return $aResult;
438
+ }
439
+ } else {
440
+ if ($sString === '') {
441
+ return [];
442
+ } else {
443
+ return \str_split($sString);
444
+ }
445
+ }
446
+ }
447
+ /**
448
+ * @param string $sString
449
+ * @param string $sNeedle
450
+ * @param int $iOffset
451
+ *
452
+ * @return int|false
453
+ */
454
+ private function strpos($sString, $sNeedle, $iOffset)
455
+ {
456
+ if ($this->oParserSettings->bMultibyteSupport) {
457
+ return \mb_strpos($sString, $sNeedle, $iOffset, $this->sCharset);
458
+ } else {
459
+ return \strpos($sString, $sNeedle, $iOffset);
460
+ }
461
+ }
462
+ }
third-party/vendor/sabberworm/php-css-parser/src/Parsing/SourceException.php ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace ProfilePressVendor\Sabberworm\CSS\Parsing;
4
+
5
+ class SourceException extends \Exception
6
+ {
7
+ /**
8
+ * @var int
9
+ */
10
+ private $iLineNo;
11
+ /**
12
+ * @param string $sMessage
13
+ * @param int $iLineNo
14
+ */
15
+ public function __construct($sMessage, $iLineNo = 0)
16
+ {
17
+ $this->iLineNo = $iLineNo;
18
+ if (!empty($iLineNo)) {
19
+ $sMessage .= " [line no: {$iLineNo}]";
20
+ }
21
+ parent::__construct($sMessage);
22
+ }
23
+ /**
24
+ * @return int
25
+ */
26
+ public function getLineNo()
27
+ {
28
+ return $this->iLineNo;
29
+ }
30
+ }
third-party/vendor/sabberworm/php-css-parser/src/Parsing/UnexpectedEOFException.php ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace ProfilePressVendor\Sabberworm\CSS\Parsing;
4
+
5
+ /**
6
+ * Thrown if the CSS parser encounters end of file it did not expect.
7
+ *
8
+ * Extends `UnexpectedTokenException` in order to preserve backwards compatibility.
9
+ */
10
+ class UnexpectedEOFException extends UnexpectedTokenException
11
+ {
12
+ }
third-party/vendor/sabberworm/php-css-parser/src/Parsing/UnexpectedTokenException.php ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace ProfilePressVendor\Sabberworm\CSS\Parsing;
4
+
5
+ /**
6
+ * Thrown if the CSS parser encounters a token it did not expect.
7
+ */
8
+ class UnexpectedTokenException extends SourceException
9
+ {
10
+ /**
11
+ * @var string
12
+ */
13
+ private $sExpected;
14
+ /**
15
+ * @var string
16
+ */
17
+ private $sFound;
18
+ /**
19
+ * Possible values: literal, identifier, count, expression, search
20
+ *
21
+ * @var string
22
+ */
23
+ private $sMatchType;
24
+ /**
25
+ * @param string $sExpected
26
+ * @param string $sFound
27
+ * @param string $sMatchType
28
+ * @param int $iLineNo
29
+ */
30
+ public function __construct($sExpected, $sFound, $sMatchType = 'literal', $iLineNo = 0)
31
+ {
32
+ $this->sExpected = $sExpected;
33
+ $this->sFound = $sFound;
34
+ $this->sMatchType = $sMatchType;
35
+ $sMessage = "Token “{$sExpected}” ({$sMatchType}) not found. Got “{$sFound}”.";
36
+ if ($this->sMatchType === 'search') {
37
+ $sMessage = "Search for “{$sExpected}” returned no results. Context: “{$sFound}”.";
38
+ } elseif ($this->sMatchType === 'count') {
39
+ $sMessage = "Next token was expected to have {$sExpected} chars. Context: “{$sFound}”.";
40
+ } elseif ($this->sMatchType === 'identifier') {
41
+ $sMessage = "Identifier expected. Got “{$sFound}”";
42
+ } elseif ($this->sMatchType === 'custom') {
43
+ $sMessage = \trim("{$sExpected} {$sFound}");
44
+ }
45
+ parent::__construct($sMessage, $iLineNo);
46
+ }
47
+ }
third-party/vendor/sabberworm/php-css-parser/src/Property/AtRule.php ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace ProfilePressVendor\Sabberworm\CSS\Property;
4
+
5
+ use ProfilePressVendor\Sabberworm\CSS\Comment\Commentable;
6
+ use ProfilePressVendor\Sabberworm\CSS\Renderable;
7
+ interface AtRule extends Renderable, Commentable
8
+ {
9
+ /**
10
+ * Since there are more set rules than block rules,
11
+ * we’re whitelisting the block rules and have anything else be treated as a set rule.
12
+ *
13
+ * @var string
14
+ */
15
+ const BLOCK_RULES = 'media/document/supports/region-style/font-feature-values';
16
+ /**
17
+ * … and more font-specific ones (to be used inside font-feature-values)
18
+ *
19
+ * @var string
20
+ */
21
+ const SET_RULES = 'font-face/counter-style/page/swash/styleset/annotation';
22
+ /**
23
+ * @return string|null
24
+ */
25
+ public function atRuleName();
26
+ /**
27
+ * @return string|null
28
+ */
29
+ public function atRuleArgs();
30
+ }
third-party/vendor/sabberworm/php-css-parser/src/Property/CSSNamespace.php ADDED
@@ -0,0 +1,136 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace ProfilePressVendor\Sabberworm\CSS\Property;
4
+
5
+ use ProfilePressVendor\Sabberworm\CSS\Comment\Comment;
6
+ use ProfilePressVendor\Sabberworm\CSS\OutputFormat;
7
+ /**
8
+ * `CSSNamespace` represents an `@namespace` rule.
9
+ */
10
+ class CSSNamespace implements AtRule
11
+ {
12
+ /**
13
+ * @var string
14
+ */
15
+ private $mUrl;
16
+ /**
17
+ * @var string
18
+ */
19
+ private $sPrefix;
20
+ /**
21
+ * @var int
22
+ */
23
+ private $iLineNo;
24
+ /**
25
+ * @var array<array-key, Comment>
26
+ */
27
+ protected $aComments;
28
+ /**
29
+ * @param string $mUrl
30
+ * @param string|null $sPrefix
31
+ * @param int $iLineNo
32
+ */
33
+ public function __construct($mUrl, $sPrefix = null, $iLineNo = 0)
34
+ {
35
+ $this->mUrl = $mUrl;
36
+ $this->sPrefix = $sPrefix;
37
+ $this->iLineNo = $iLineNo;
38
+ $this->aComments = [];
39
+ }
40
+ /**
41
+ * @return int
42
+ */
43
+ public function getLineNo()
44
+ {
45
+ return $this->iLineNo;
46
+ }
47
+ /**
48
+ * @return string
49
+ */
50
+ public function __toString()
51
+ {
52
+ return $this->render(new OutputFormat());
53
+ }
54
+ /**
55
+ * @return string
56
+ */
57
+ public function render(OutputFormat $oOutputFormat)
58
+ {
59
+ return '@namespace ' . ($this->sPrefix === null ? '' : $this->sPrefix . ' ') . $this->mUrl->render($oOutputFormat) . ';';
60
+ }
61
+ /**
62
+ * @return string
63
+ */
64
+ public function getUrl()
65
+ {
66
+ return $this->mUrl;
67
+ }
68
+ /**
69
+ * @return string|null
70
+ */
71
+ public function getPrefix()
72
+ {
73
+ return $this->sPrefix;
74
+ }
75
+ /**
76
+ * @param string $mUrl
77
+ *
78
+ * @return void
79
+ */
80
+ public function setUrl($mUrl)
81
+ {
82
+ $this->mUrl = $mUrl;
83
+ }
84
+ /**
85
+ * @param string $sPrefix
86
+ *
87
+ * @return void
88
+ */
89
+ public function setPrefix($sPrefix)
90
+ {
91
+ $this->sPrefix = $sPrefix;
92
+ }
93
+ /**
94
+ * @return string
95
+ */
96
+ public function atRuleName()
97
+ {
98
+ return 'namespace';
99
+ }
100
+ /**
101
+ * @return array<int, string>
102
+ */
103
+ public function atRuleArgs()
104
+ {
105
+ $aResult = [$this->mUrl];
106
+ if ($this->sPrefix) {
107
+ \array_unshift($aResult, $this->sPrefix);
108
+ }
109
+ return $aResult;
110
+ }
111
+ /**
112
+ * @param array<array-key, Comment> $aComments
113
+ *
114
+ * @return void
115
+ */
116
+ public function addComments(array $aComments)
117
+ {
118
+ $this->aComments = \array_merge($this->aComments, $aComments);
119
+ }
120
+ /**
121
+ * @return array<array-key, Comment>
122
+ */
123
+ public function getComments()
124
+ {
125
+ return $this->aComments;
126
+ }
127
+ /**
128
+ * @param array<array-key, Comment> $aComments
129
+ *
130
+ * @return void
131
+ */
132
+ public function setComments(array $aComments)
133
+ {
134
+ $this->aComments = $aComments;
135
+ }
136
+ }
third-party/vendor/sabberworm/php-css-parser/src/Property/Charset.php ADDED
@@ -0,0 +1,115 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace ProfilePressVendor\Sabberworm\CSS\Property;
4
+
5
+ use ProfilePressVendor\Sabberworm\CSS\Comment\Comment;
6
+ use ProfilePressVendor\Sabberworm\CSS\OutputFormat;
7
+ /**
8
+ * Class representing an `@charset` rule.
9
+ *
10
+ * The following restrictions apply:
11
+ * - May not be found in any CSSList other than the Document.
12
+ * - May only appear at the very top of a Document’s contents.
13
+ * - Must not appear more than once.
14
+ */
15
+ class Charset implements AtRule
16
+ {
17
+ /**
18
+ * @var string
19
+ */
20
+ private $sCharset;
21
+ /**
22
+ * @var int
23
+ */
24
+ protected $iLineNo;
25
+ /**
26
+ * @var array<array-key, Comment>
27
+ */
28
+ protected $aComments;
29
+ /**
30
+ * @param string $sCharset
31
+ * @param int $iLineNo
32
+ */
33
+ public function __construct($sCharset, $iLineNo = 0)
34
+ {
35
+ $this->sCharset = $sCharset;
36
+ $this->iLineNo = $iLineNo;
37
+ $this->aComments = [];
38
+ }
39
+ /**
40
+ * @return int
41
+ */
42
+ public function getLineNo()
43
+ {
44
+ return $this->iLineNo;
45
+ }
46
+ /**
47
+ * @param string $sCharset
48
+ *
49
+ * @return void
50
+ */
51
+ public function setCharset($sCharset)
52
+ {
53
+ $this->sCharset = $sCharset;
54
+ }
55
+ /**
56
+ * @return string
57
+ */
58
+ public function getCharset()
59
+ {
60
+ return $this->sCharset;
61
+ }
62
+ /**
63
+ * @return string
64
+ */
65
+ public function __toString()
66
+ {
67
+ return $this->render(new OutputFormat());
68
+ }
69
+ /**
70
+ * @return string
71
+ */
72
+ public function render(OutputFormat $oOutputFormat)
73
+ {
74
+ return "@charset {$this->sCharset->render($oOutputFormat)};";
75
+ }
76
+ /**
77
+ * @return string
78
+ */
79
+ public function atRuleName()
80
+ {
81
+ return 'charset';
82
+ }
83
+ /**
84
+ * @return string
85
+ */
86
+ public function atRuleArgs()
87
+ {
88
+ return $this->sCharset;
89
+ }
90
+ /**
91
+ * @param array<array-key, Comment> $aComments
92
+ *
93
+ * @return void
94
+ */
95
+ public function addComments(array $aComments)
96
+ {
97
+ $this->aComments = \array_merge($this->aComments, $aComments);
98
+ }
99
+ /**
100
+ * @return array<array-key, Comment>
101
+ */
102
+ public function getComments()
103
+ {
104
+ return $this->aComments;
105
+ }
106
+ /**
107
+ * @param array<array-key, Comment> $aComments
108
+ *
109
+ * @return void
110
+ */
111
+ public function setComments(array $aComments)
112
+ {
113
+ $this->aComments = $aComments;
114
+ }
115
+ }
third-party/vendor/sabberworm/php-css-parser/src/Property/Import.php ADDED
@@ -0,0 +1,121 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace ProfilePressVendor\Sabberworm\CSS\Property;
4
+
5
+ use ProfilePressVendor\Sabberworm\CSS\Comment\Comment;
6
+ use ProfilePressVendor\Sabberworm\CSS\OutputFormat;
7
+ use ProfilePressVendor\Sabberworm\CSS\Value\URL;
8
+ /**
9
+ * Class representing an `@import` rule.
10
+ */
11
+ class Import implements AtRule
12
+ {
13
+ /**
14
+ * @var URL
15
+ */
16
+ private $oLocation;
17
+ /**
18
+ * @var string
19
+ */
20
+ private $sMediaQuery;
21
+ /**
22
+ * @var int
23
+ */
24
+ protected $iLineNo;
25
+ /**
26
+ * @var array<array-key, Comment>
27
+ */
28
+ protected $aComments;
29
+ /**
30
+ * @param URL $oLocation
31
+ * @param string $sMediaQuery
32
+ * @param int $iLineNo
33
+ */
34
+ public function __construct(URL $oLocation, $sMediaQuery, $iLineNo = 0)
35
+ {
36
+ $this->oLocation = $oLocation;
37
+ $this->sMediaQuery = $sMediaQuery;
38
+ $this->iLineNo = $iLineNo;
39
+ $this->aComments = [];
40
+ }
41
+ /**
42
+ * @return int
43
+ */
44
+ public function getLineNo()
45
+ {
46
+ return $this->iLineNo;
47
+ }
48
+ /**
49
+ * @param URL $oLocation
50
+ *
51
+ * @return void
52
+ */
53
+ public function setLocation($oLocation)
54
+ {
55
+ $this->oLocation = $oLocation;
56
+ }
57
+ /**
58
+ * @return URL
59
+ */
60
+ public function getLocation()
61
+ {
62
+ return $this->oLocation;
63
+ }
64
+ /**
65
+ * @return string
66
+ */
67
+ public function __toString()
68
+ {
69
+ return $this->render(new OutputFormat());
70
+ }
71
+ /**
72
+ * @return string
73
+ */
74
+ public function render(OutputFormat $oOutputFormat)
75
+ {
76
+ return "@import " . $this->oLocation->render($oOutputFormat) . ($this->sMediaQuery === null ? '' : ' ' . $this->sMediaQuery) . ';';
77
+ }
78
+ /**
79
+ * @return string
80
+ */
81
+ public function atRuleName()
82
+ {
83
+ return 'import';
84
+ }
85
+ /**
86
+ * @return array<int, URL|string>
87
+ */
88
+ public function atRuleArgs()
89
+ {
90
+ $aResult = [$this->oLocation];
91
+ if ($this->sMediaQuery) {
92
+ \array_push($aResult, $this->sMediaQuery);
93
+ }
94
+ return $aResult;
95
+ }
96
+ /**
97
+ * @param array<array-key, Comment> $aComments
98
+ *
99
+ * @return void
100
+ */
101
+ public function addComments(array $aComments)
102
+ {
103
+ $this->aComments = \array_merge($this->aComments, $aComments);
104
+ }
105
+ /**
106
+ * @return array<array-key, Comment>
107
+ */
108
+ public function getComments()
109
+ {
110
+ return $this->aComments;
111
+ }
112
+ /**
113
+ * @param array<array-key, Comment> $aComments
114
+ *
115
+ * @return void
116
+ */
117
+ public function setComments(array $aComments)
118
+ {
119
+ $this->aComments = $aComments;
120
+ }
121
+ }
third-party/vendor/sabberworm/php-css-parser/src/Property/KeyframeSelector.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace ProfilePressVendor\Sabberworm\CSS\Property;
4
+
5
+ class KeyframeSelector extends Selector
6
+ {
7
+ /**
8
+ * regexp for specificity calculations
9
+ *
10
+ * @var string
11
+ */
12
+ const SELECTOR_VALIDATION_RX = '/
13
+ ^(
14
+ (?:
15
+ [a-zA-Z0-9\\x{00A0}-\\x{FFFF}_^$|*="\'~\\[\\]()\\-\\s\\.:#+>]* # any sequence of valid unescaped characters
16
+ (?:\\\\.)? # a single escaped character
17
+ (?:([\'"]).*?(?<!\\\\)\\2)? # a quoted text like [id="example"]
18
+ )*
19
+ )|
20
+ (\\d+%) # keyframe animation progress percentage (e.g. 50%)
21
+ $
22
+ /ux';
23
+ }
third-party/vendor/sabberworm/php-css-parser/src/Property/Selector.php ADDED
@@ -0,0 +1,128 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace ProfilePressVendor\Sabberworm\CSS\Property;
4
+
5
+ /**
6
+ * Class representing a single CSS selector. Selectors have to be split by the comma prior to being passed into this
7
+ * class.
8
+ */
9
+ class Selector
10
+ {
11
+ /**
12
+ * regexp for specificity calculations
13
+ *
14
+ * @var string
15
+ */
16
+ const NON_ID_ATTRIBUTES_AND_PSEUDO_CLASSES_RX = '/
17
+ (\\.[\\w]+) # classes
18
+ |
19
+ \\[(\\w+) # attributes
20
+ |
21
+ (\\:( # pseudo classes
22
+ link|visited|active
23
+ |hover|focus
24
+ |lang
25
+ |target
26
+ |enabled|disabled|checked|indeterminate
27
+ |root
28
+ |nth-child|nth-last-child|nth-of-type|nth-last-of-type
29
+ |first-child|last-child|first-of-type|last-of-type
30
+ |only-child|only-of-type
31
+ |empty|contains
32
+ ))
33
+ /ix';
34
+ /**
35
+ * regexp for specificity calculations
36
+ *
37
+ * @var string
38
+ */
39
+ const ELEMENTS_AND_PSEUDO_ELEMENTS_RX = '/
40
+ ((^|[\\s\\+\\>\\~]+)[\\w]+ # elements
41
+ |
42
+ \\:{1,2}( # pseudo-elements
43
+ after|before|first-letter|first-line|selection
44
+ ))
45
+ /ix';
46
+ /**
47
+ * regexp for specificity calculations
48
+ *
49
+ * @var string
50
+ */
51
+ const SELECTOR_VALIDATION_RX = '/
52
+ ^(
53
+ (?:
54
+ [a-zA-Z0-9\\x{00A0}-\\x{FFFF}_^$|*="\'~\\[\\]()\\-\\s\\.:#+>]* # any sequence of valid unescaped characters
55
+ (?:\\\\.)? # a single escaped character
56
+ (?:([\'"]).*?(?<!\\\\)\\2)? # a quoted text like [id="example"]
57
+ )*
58
+ )$
59
+ /ux';
60
+ /**
61
+ * @var string
62
+ */
63
+ private $sSelector;
64
+ /**
65
+ * @var int|null
66
+ */
67
+ private $iSpecificity;
68
+ /**
69
+ * @param string $sSelector
70
+ *
71
+ * @return bool
72
+ */
73
+ public static function isValid($sSelector)
74
+ {
75
+ return \preg_match(static::SELECTOR_VALIDATION_RX, $sSelector);
76
+ }
77
+ /**
78
+ * @param string $sSelector
79
+ * @param bool $bCalculateSpecificity
80
+ */
81
+ public function __construct($sSelector, $bCalculateSpecificity = \false)
82
+ {
83
+ $this->setSelector($sSelector);
84
+ if ($bCalculateSpecificity) {
85
+ $this->getSpecificity();
86
+ }
87
+ }
88
+ /**
89
+ * @return string
90
+ */
91
+ public function getSelector()
92
+ {
93
+ return $this->sSelector;
94
+ }
95
+ /**
96
+ * @param string $sSelector
97
+ *
98
+ * @return void
99
+ */
100
+ public function setSelector($sSelector)
101
+ {
102
+ $this->sSelector = \trim($sSelector);
103
+ $this->iSpecificity = null;
104
+ }
105
+ /**
106
+ * @return string
107
+ */
108
+ public function __toString()
109
+ {
110
+ return $this->getSelector();
111
+ }
112
+ /**
113
+ * @return int
114
+ */
115
+ public function getSpecificity()
116
+ {
117
+ if ($this->iSpecificity === null) {
118
+ $a = 0;
119
+ /// @todo should exclude \# as well as "#"
120
+ $aMatches = null;
121
+ $b = \substr_count($this->sSelector, '#');
122
+ $c = \preg_match_all(self::NON_ID_ATTRIBUTES_AND_PSEUDO_CLASSES_RX, $this->sSelector, $aMatches);
123
+ $d = \preg_match_all(self::ELEMENTS_AND_PSEUDO_ELEMENTS_RX, $this->sSelector, $aMatches);
124
+ $this->iSpecificity = $a * 1000 + $b * 100 + $c * 10 + $d;
125
+ }
126
+ return $this->iSpecificity;
127
+ }
128
+ }
third-party/vendor/sabberworm/php-css-parser/src/Renderable.php ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace ProfilePressVendor\Sabberworm\CSS;
4
+
5
+ interface Renderable
6
+ {
7
+ /**
8
+ * @return string
9
+ */
10
+ public function __toString();
11
+ /**
12
+ * @return string
13
+ */
14
+ public function render(OutputFormat $oOutputFormat);
15
+ /**
16
+ * @return int
17
+ */
18
+ public function getLineNo();
19
+ }
third-party/vendor/sabberworm/php-css-parser/src/Rule/Rule.php ADDED
@@ -0,0 +1,358 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace ProfilePressVendor\Sabberworm\CSS\Rule;
4
+
5
+ use ProfilePressVendor\Sabberworm\CSS\Comment\Comment;
6
+ use ProfilePressVendor\Sabberworm\CSS\Comment\Commentable;
7
+ use ProfilePressVendor\Sabberworm\CSS\OutputFormat;
8
+ use ProfilePressVendor\Sabberworm\CSS\Parsing\ParserState;
9
+ use ProfilePressVendor\Sabberworm\CSS\Parsing\UnexpectedEOFException;
10
+ use ProfilePressVendor\Sabberworm\CSS\Parsing\UnexpectedTokenException;
11
+ use ProfilePressVendor\Sabberworm\CSS\Renderable;
12
+ use ProfilePressVendor\Sabberworm\CSS\Value\RuleValueList;
13
+ use ProfilePressVendor\Sabberworm\CSS\Value\Value;
14
+ /**
15
+ * RuleSets contains Rule objects which always have a key and a value.
16
+ * In CSS, Rules are expressed as follows: “key: value[0][0] value[0][1], value[1][0] value[1][1];”
17
+ */
18
+ class Rule implements Renderable, Commentable
19
+ {
20
+ /**
21
+ * @var string
22
+ */
23
+ private $sRule;
24
+ /**
25
+ * @var RuleValueList|null
26
+ */
27
+ private $mValue;
28
+ /**
29
+ * @var bool
30
+ */
31
+ private $bIsImportant;
32
+ /**
33
+ * @var array<int, int>
34
+ */
35
+ private $aIeHack;
36
+ /**
37
+ * @var int
38
+ */
39
+ protected $iLineNo;
40
+ /**
41
+ * @var int
42
+ */
43
+ protected $iColNo;
44
+ /**
45
+ * @var array<array-key, Comment>
46
+ */
47
+ protected $aComments;
48
+ /**
49
+ * @param string $sRule
50
+ * @param int $iLineNo
51
+ * @param int $iColNo
52
+ */
53
+ public function __construct($sRule, $iLineNo = 0, $iColNo = 0)
54
+ {
55
+ $this->sRule = $sRule;
56
+ $this->mValue = null;
57
+ $this->bIsImportant = \false;
58
+ $this->aIeHack = [];
59
+ $this->iLineNo = $iLineNo;
60
+ $this->iColNo = $iColNo;
61
+ $this->aComments = [];
62
+ }
63
+ /**
64
+ * @return Rule
65
+ *
66
+ * @throws UnexpectedEOFException
67
+ * @throws UnexpectedTokenException
68
+ */
69
+ public static function parse(ParserState $oParserState)
70
+ {
71
+ $aComments = $oParserState->consumeWhiteSpace();
72
+ $oRule = new Rule($oParserState->parseIdentifier(!$oParserState->comes("--")), $oParserState->currentLine(), $oParserState->currentColumn());
73
+ $oRule->setComments($aComments);
74
+ $oRule->addComments($oParserState->consumeWhiteSpace());
75
+ $oParserState->consume(':');
76
+ $oValue = Value::parseValue($oParserState, self::listDelimiterForRule($oRule->getRule()));
77
+ $oRule->setValue($oValue);
78
+ if ($oParserState->getSettings()->bLenientParsing) {
79
+ while ($oParserState->comes('\\')) {
80
+ $oParserState->consume('\\');
81
+ $oRule->addIeHack($oParserState->consume());
82
+ $oParserState->consumeWhiteSpace();
83
+ }
84
+ }
85
+ $oParserState->consumeWhiteSpace();
86
+ if ($oParserState->comes('!')) {
87
+ $oParserState->consume('!');
88
+ $oParserState->consumeWhiteSpace();
89
+ $oParserState->consume('important');
90
+ $oRule->setIsImportant(\true);
91
+ }
92
+ $oParserState->consumeWhiteSpace();
93
+ while ($oParserState->comes(';')) {
94
+ $oParserState->consume(';');
95
+ }
96
+ $oParserState->consumeWhiteSpace();
97
+ return $oRule;
98
+ }
99
+ /**
100
+ * @param string $sRule
101
+ *
102
+ * @return array<int, string>
103
+ */
104
+ private static function listDelimiterForRule($sRule)
105
+ {
106
+ if (\preg_match('/^font($|-)/', $sRule)) {
107
+ return [',', '/', ' '];
108
+ }
109
+ return [',', ' ', '/'];
110
+ }
111
+ /**
112
+ * @return int
113
+ */
114
+ public function getLineNo()
115
+ {
116
+ return $this->iLineNo;
117
+ }
118
+ /**
119
+ * @return int
120
+ */
121
+ public function getColNo()
122
+ {
123
+ return $this->iColNo;
124
+ }
125
+ /**
126
+ * @param int $iLine
127
+ * @param int $iColumn
128
+ *
129
+ * @return void
130
+ */
131
+ public function setPosition($iLine, $iColumn)
132
+ {
133
+ $this->iColNo = $iColumn;
134
+ $this->iLineNo = $iLine;
135
+ }
136
+ /**
137
+ * @param string $sRule
138
+ *
139
+ * @return void
140
+ */
141
+ public function setRule($sRule)
142
+ {
143
+ $this->sRule = $sRule;
144
+ }
145
+ /**
146
+ * @return string
147
+ */
148
+ public function getRule()
149
+ {
150
+ return $this->sRule;
151
+ }
152
+ /**
153
+ * @return RuleValueList|null
154
+ */
155
+ public function getValue()
156
+ {
157
+ return $this->mValue;
158
+ }
159
+ /**
160
+ * @param RuleValueList|null $mValue
161
+ *
162
+ * @return void
163
+ */
164
+ public function setValue($mValue)
165
+ {
166
+ $this->mValue = $mValue;
167
+ }
168
+ /**
169
+ * @param array<array-key, array<array-key, RuleValueList>> $aSpaceSeparatedValues
170
+ *
171
+ * @return RuleValueList
172
+ *
173
+ * @deprecated will be removed in version 9.0
174
+ * Old-Style 2-dimensional array given. Retained for (some) backwards-compatibility.
175
+ * Use `setValue()` instead and wrap the value inside a RuleValueList if necessary.
176
+ */
177
+ public function setValues(array $aSpaceSeparatedValues)
178
+ {
179
+ $oSpaceSeparatedList = null;
180
+ if (\count($aSpaceSeparatedValues) > 1) {
181
+ $oSpaceSeparatedList = new RuleValueList(' ', $this->iLineNo);
182
+ }
183
+ foreach ($aSpaceSeparatedValues as $aCommaSeparatedValues) {
184
+ $oCommaSeparatedList = null;
185
+ if (\count($aCommaSeparatedValues) > 1) {
186
+ $oCommaSeparatedList = new RuleValueList(',', $this->iLineNo);
187
+ }
188
+ foreach ($aCommaSeparatedValues as $mValue) {
189
+ if (!$oSpaceSeparatedList && !$oCommaSeparatedList) {
190
+ $this->mValue = $mValue;
191
+ return $mValue;
192
+ }
193
+ if ($oCommaSeparatedList) {
194
+ $oCommaSeparatedList->addListComponent($mValue);
195
+ } else {
196
+ $oSpaceSeparatedList->addListComponent($mValue);
197
+ }
198
+ }
199
+ if (!$oSpaceSeparatedList) {
200
+ $this->mValue = $oCommaSeparatedList;
201
+ return $oCommaSeparatedList;
202
+ } else {
203
+ $oSpaceSeparatedList->addListComponent($oCommaSeparatedList);
204
+ }
205
+ }
206
+ $this->mValue = $oSpaceSeparatedList;
207
+ return $oSpaceSeparatedList;
208
+ }
209
+ /**
210
+ * @return array<int, array<int, RuleValueList>>
211
+ *
212
+ * @deprecated will be removed in version 9.0
213
+ * Old-Style 2-dimensional array returned. Retained for (some) backwards-compatibility.
214
+ * Use `getValue()` instead and check for the existence of a (nested set of) ValueList object(s).
215
+ */
216
+ public function getValues()
217
+ {
218
+ if (!$this->mValue instanceof RuleValueList) {
219
+ return [[$this->mValue]];
220
+ }
221
+ if ($this->mValue->getListSeparator() === ',') {
222
+ return [$this->mValue->getListComponents()];
223
+ }
224
+ $aResult = [];
225
+ foreach ($this->mValue->getListComponents() as $mValue) {
226
+ if (!$mValue instanceof RuleValueList || $mValue->getListSeparator() !== ',') {
227
+ $aResult[] = [$mValue];
228
+ continue;
229
+ }
230
+ if ($this->mValue->getListSeparator() === ' ' || \count($aResult) === 0) {
231
+ $aResult[] = [];
232
+ }
233
+ foreach ($mValue->getListComponents() as $mValue) {
234
+ $aResult[\count($aResult) - 1][] = $mValue;
235
+ }
236
+ }
237
+ return $aResult;
238
+ }
239
+ /**
240
+ * Adds a value to the existing value. Value will be appended if a `RuleValueList` exists of the given type.
241
+ * Otherwise, the existing value will be wrapped by one.
242
+ *
243
+ * @param RuleValueList|array<int, RuleValueList> $mValue
244
+ * @param string $sType
245
+ *
246
+ * @return void
247
+ */
248
+ public function addValue($mValue, $sType = ' ')
249
+ {
250
+ if (!\is_array($mValue)) {
251
+ $mValue = [$mValue];
252
+ }
253
+ if (!$this->mValue instanceof RuleValueList || $this->mValue->getListSeparator() !== $sType) {
254
+ $mCurrentValue = $this->mValue;
255
+ $this->mValue = new RuleValueList($sType, $this->iLineNo);
256
+ if ($mCurrentValue) {
257
+ $this->mValue->addListComponent($mCurrentValue);
258
+ }
259
+ }
260
+ foreach ($mValue as $mValueItem) {
261
+ $this->mValue->addListComponent($mValueItem);
262
+ }
263
+ }
264
+ /**
265
+ * @param int $iModifier
266
+ *
267
+ * @return void
268
+ */
269
+ public function addIeHack($iModifier)
270
+ {
271
+ $this->aIeHack[] = $iModifier;
272
+ }
273
+ /**
274
+ * @param array<int, int> $aModifiers
275
+ *
276
+ * @return void
277
+ */
278
+ public function setIeHack(array $aModifiers)
279
+ {
280
+ $this->aIeHack = $aModifiers;
281
+ }
282
+ /**
283
+ * @return array<int, int>
284
+ */
285
+ public function getIeHack()
286
+ {
287
+ return $this->aIeHack;
288
+ }
289
+ /**
290
+ * @param bool $bIsImportant
291
+ *
292
+ * @return void
293
+ */
294
+ public function setIsImportant($bIsImportant)
295
+ {
296
+ $this->bIsImportant = $bIsImportant;
297
+ }
298
+ /**
299
+ * @return bool
300
+ */
301
+ public function getIsImportant()
302
+ {
303
+ return $this->bIsImportant;
304
+ }
305
+ /**
306
+ * @return string
307
+ */
308
+ public function __toString()
309
+ {
310
+ return $this->render(new OutputFormat());
311
+ }
312
+ /**
313
+ * @return string
314
+ */
315
+ public function render(OutputFormat $oOutputFormat)
316
+ {
317
+ $sResult = "{$this->sRule}:{$oOutputFormat->spaceAfterRuleName()}";
318
+ if ($this->mValue instanceof Value) {
319
+ //Can also be a ValueList
320
+ $sResult .= $this->mValue->render($oOutputFormat);
321
+ } else {
322
+ $sResult .= $this->mValue;
323
+ }
324
+ if (!empty($this->aIeHack)) {
325
+ $sResult .= ' \\' . \implode('\\', $this->aIeHack);
326
+ }
327
+ if ($this->bIsImportant) {
328
+ $sResult .= ' !important';
329
+ }
330
+ $sResult .= ';';
331
+ return $sResult;
332
+ }
333
+ /**
334
+ * @param array<array-key, Comment> $aComments
335
+ *
336
+ * @return void
337
+ */
338
+ public function addComments(array $aComments)
339
+ {
340
+ $this->aComments = \array_merge($this->aComments, $aComments);
341
+ }
342
+ /**
343
+ * @return array<array-key, Comment>
344
+ */
345
+ public function getComments()
346
+ {
347
+ return $this->aComments;
348
+ }
349
+ /**
350
+ * @param array<array-key, Comment> $aComments
351
+ *
352
+ * @return void
353
+ */
354
+ public function setComments(array $aComments)
355
+ {
356
+ $this->aComments = $aComments;
357
+ }
358
+ }
third-party/vendor/sabberworm/php-css-parser/src/RuleSet/AtRuleSet.php ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace ProfilePressVendor\Sabberworm\CSS\RuleSet;
4
+
5
+ use ProfilePressVendor\Sabberworm\CSS\OutputFormat;
6
+ use ProfilePressVendor\Sabberworm\CSS\Property\AtRule;
7
+ /**
8
+ * A RuleSet constructed by an unknown at-rule. `@font-face` rules are rendered into AtRuleSet objects.
9
+ */
10
+ class AtRuleSet extends RuleSet implements AtRule
11
+ {
12
+ /**
13
+ * @var string
14
+ */
15
+ private $sType;
16
+ /**
17
+ * @var string
18
+ */
19
+ private $sArgs;
20
+ /**
21
+ * @param string $sType
22
+ * @param string $sArgs
23
+ * @param int $iLineNo
24
+ */
25
+ public function __construct($sType, $sArgs = '', $iLineNo = 0)
26
+ {
27
+ parent::__construct($iLineNo);
28
+ $this->sType = $sType;
29
+ $this->sArgs = $sArgs;
30
+ }
31
+ /**
32
+ * @return string
33
+ */
34
+ public function atRuleName()
35
+ {
36
+ return $this->sType;
37
+ }
38
+ /**
39
+ * @return string
40
+ */
41
+ public function atRuleArgs()
42
+ {
43
+ return $this->sArgs;
44
+ }
45
+ /**
46
+ * @return string
47
+ */
48
+ public function __toString()
49
+ {
50
+ return $this->render(new OutputFormat());
51
+ }
52
+ /**
53
+ * @return string
54
+ */
55
+ public function render(OutputFormat $oOutputFormat)
56
+ {
57
+ $sArgs = $this->sArgs;
58
+ if ($sArgs) {
59
+ $sArgs = ' ' . $sArgs;
60
+ }
61
+ $sResult = "@{$this->sType}{$sArgs}{$oOutputFormat->spaceBeforeOpeningBrace()}{";
62
+ $sResult .= parent::render($oOutputFormat);
63
+ $sResult .= '}';
64
+ return $sResult;
65
+ }
66
+ }
third-party/vendor/sabberworm/php-css-parser/src/RuleSet/DeclarationBlock.php ADDED
@@ -0,0 +1,701 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace ProfilePressVendor\Sabberworm\CSS\RuleSet;
4
+
5
+ use ProfilePressVendor\Sabberworm\CSS\CSSList\CSSList;
6
+ use ProfilePressVendor\Sabberworm\CSS\CSSList\KeyFrame;
7
+ use ProfilePressVendor\Sabberworm\CSS\OutputFormat;
8
+ use ProfilePressVendor\Sabberworm\CSS\Parsing\OutputException;
9
+ use ProfilePressVendor\Sabberworm\CSS\Parsing\ParserState;
10
+ use ProfilePressVendor\Sabberworm\CSS\Parsing\UnexpectedEOFException;
11
+ use ProfilePressVendor\Sabberworm\CSS\Parsing\UnexpectedTokenException;
12
+ use ProfilePressVendor\Sabberworm\CSS\Property\KeyframeSelector;
13
+ use ProfilePressVendor\Sabberworm\CSS\Property\Selector;
14
+ use ProfilePressVendor\Sabberworm\CSS\Rule\Rule;
15
+ use ProfilePressVendor\Sabberworm\CSS\Value\Color;
16
+ use ProfilePressVendor\Sabberworm\CSS\Value\RuleValueList;
17
+ use ProfilePressVendor\Sabberworm\CSS\Value\Size;
18
+ use ProfilePressVendor\Sabberworm\CSS\Value\URL;
19
+ use ProfilePressVendor\Sabberworm\CSS\Value\Value;
20
+ /**
21
+ * Declaration blocks are the parts of a CSS file which denote the rules belonging to a selector.
22
+ *
23
+ * Declaration blocks usually appear directly inside a `Document` or another `CSSList` (mostly a `MediaQuery`).
24
+ */
25
+ class DeclarationBlock extends RuleSet
26
+ {
27
+ /**
28
+ * @var array<int, Selector|string>
29
+ */
30
+ private $aSelectors;
31
+ /**
32
+ * @param int $iLineNo
33
+ */
34
+ public function __construct($iLineNo = 0)
35
+ {
36
+ parent::__construct($iLineNo);
37
+ $this->aSelectors = [];
38
+ }
39
+ /**
40
+ * @param CSSList|null $oList
41
+ *
42
+ * @return DeclarationBlock|false
43
+ *
44
+ * @throws UnexpectedTokenException
45
+ * @throws UnexpectedEOFException
46
+ */
47
+ public static function parse(ParserState $oParserState, $oList = null)
48
+ {
49
+ $aComments = [];
50
+ $oResult = new DeclarationBlock($oParserState->currentLine());
51
+ try {
52
+ $aSelectorParts = [];
53
+ $sStringWrapperChar = \false;
54
+ do {
55
+ $aSelectorParts[] = $oParserState->consume(1) . $oParserState->consumeUntil(['{', '}', '\'', '"'], \false, \false, $aComments);
56
+ if (\in_array($oParserState->peek(), ['\'', '"']) && \substr(\end($aSelectorParts), -1) != "\\") {
57
+ if ($sStringWrapperChar === \false) {
58
+ $sStringWrapperChar = $oParserState->peek();
59
+ } elseif ($sStringWrapperChar == $oParserState->peek()) {
60
+ $sStringWrapperChar = \false;
61
+ }
62
+ }
63
+ } while (!\in_array($oParserState->peek(), ['{', '}']) || $sStringWrapperChar !== \false);
64
+ $oResult->setSelectors(\implode('', $aSelectorParts), $oList);
65
+ if ($oParserState->comes('{')) {
66
+ $oParserState->consume(1);
67
+ }
68
+ } catch (UnexpectedTokenException $e) {
69
+ if ($oParserState->getSettings()->bLenientParsing) {
70
+ if (!$oParserState->comes('}')) {
71
+ $oParserState->consumeUntil('}', \false, \true);
72
+ }
73
+ return \false;
74
+ } else {
75
+ throw $e;
76
+ }
77
+ }
78
+ $oResult->setComments($aComments);
79
+ RuleSet::parseRuleSet($oParserState, $oResult);
80
+ return $oResult;
81
+ }
82
+ /**
83
+ * @param array<int, Selector|string>|string $mSelector
84
+ * @param CSSList|null $oList
85
+ *
86
+ * @throws UnexpectedTokenException
87
+ */
88
+ public function setSelectors($mSelector, $oList = null)
89
+ {
90
+ if (\is_array($mSelector)) {
91
+ $this->aSelectors = $mSelector;
92
+ } else {
93
+ $this->aSelectors = \explode(',', $mSelector);
94
+ }
95
+ foreach ($this->aSelectors as $iKey => $mSelector) {
96
+ if (!$mSelector instanceof Selector) {
97
+ if ($oList === null || !$oList instanceof KeyFrame) {
98
+ if (!Selector::isValid($mSelector)) {
99
+ throw new UnexpectedTokenException("Selector did not match '" . Selector::SELECTOR_VALIDATION_RX . "'.", $mSelector, "custom");
100
+ }
101
+ $this->aSelectors[$iKey] = new Selector($mSelector);
102
+ } else {
103
+ if (!KeyframeSelector::isValid($mSelector)) {
104
+ throw new UnexpectedTokenException("Selector did not match '" . KeyframeSelector::SELECTOR_VALIDATION_RX . "'.", $mSelector, "custom");
105
+ }
106
+ $this->aSelectors[$iKey] = new KeyframeSelector($mSelector);
107
+ }
108
+ }
109
+ }
110
+ }
111
+ /**
112
+ * Remove one of the selectors of the block.
113
+ *
114
+ * @param Selector|string $mSelector
115
+ *
116
+ * @return bool
117
+ */
118
+ public function removeSelector($mSelector)
119
+ {
120
+ if ($mSelector instanceof Selector) {
121
+ $mSelector = $mSelector->getSelector();
122
+ }
123
+ foreach ($this->aSelectors as $iKey => $oSelector) {
124
+ if ($oSelector->getSelector() === $mSelector) {
125
+ unset($this->aSelectors[$iKey]);
126
+ return \true;
127
+ }
128
+ }
129
+ return \false;
130
+ }
131
+ /**
132
+ * @return array<int, Selector|string>
133
+ *
134
+ * @deprecated will be removed in version 9.0; use `getSelectors()` instead
135
+ */
136
+ public function getSelector()
137
+ {
138
+ return $this->getSelectors();
139
+ }
140
+ /**
141
+ * @param Selector|string $mSelector
142
+ * @param CSSList|null $oList
143
+ *
144
+ * @return void
145
+ *
146
+ * @deprecated will be removed in version 9.0; use `setSelectors()` instead
147
+ */
148
+ public function setSelector($mSelector, $oList = null)
149
+ {
150
+ $this->setSelectors($mSelector, $oList);
151
+ }
152
+ /**
153
+ * @return array<int, Selector|string>
154
+ */
155
+ public function getSelectors()
156
+ {
157
+ return $this->aSelectors;
158
+ }
159
+ /**
160
+ * Splits shorthand declarations (e.g. `margin` or `font`) into their constituent parts.
161
+ *
162
+ * @return void
163
+ */
164
+ public function expandShorthands()
165
+ {
166
+ // border must be expanded before dimensions
167
+ $this->expandBorderShorthand();
168
+ $this->expandDimensionsShorthand();
169
+ $this->expandFontShorthand();
170
+ $this->expandBackgroundShorthand();
171
+ $this->expandListStyleShorthand();
172
+ }
173
+ /**
174
+ * Creates shorthand declarations (e.g. `margin` or `font`) whenever possible.
175
+ *
176
+ * @return void
177
+ */
178
+ public function createShorthands()
179
+ {
180
+ $this->createBackgroundShorthand();
181
+ $this->createDimensionsShorthand();
182
+ // border must be shortened after dimensions
183
+ $this->createBorderShorthand();
184
+ $this->createFontShorthand();
185
+ $this->createListStyleShorthand();
186
+ }
187
+ /**
188
+ * Splits shorthand border declarations (e.g. `border: 1px red;`).
189
+ *
190
+ * Additional splitting happens in expandDimensionsShorthand.
191
+ *
192
+ * Multiple borders are not yet supported as of 3.
193
+ *
194
+ * @return void
195
+ */
196
+ public function expandBorderShorthand()
197
+ {
198
+ $aBorderRules = ['border', 'border-left', 'border-right', 'border-top', 'border-bottom'];
199
+ $aBorderSizes = ['thin', 'medium', 'thick'];
200
+ $aRules = $this->getRulesAssoc();
201
+ foreach ($aBorderRules as $sBorderRule) {
202
+ if (!isset($aRules[$sBorderRule])) {
203
+ continue;
204
+ }
205
+ $oRule = $aRules[$sBorderRule];
206
+ $mRuleValue = $oRule->getValue();
207
+ $aValues = [];
208
+ if (!$mRuleValue instanceof RuleValueList) {
209
+ $aValues[] = $mRuleValue;
210
+ } else {
211
+ $aValues = $mRuleValue->getListComponents();
212
+ }
213
+ foreach ($aValues as $mValue) {
214
+ if ($mValue instanceof Value) {
215
+ $mNewValue = clone $mValue;
216
+ } else {
217
+ $mNewValue = $mValue;
218
+ }
219
+ if ($mValue instanceof Size) {
220
+ $sNewRuleName = $sBorderRule . "-width";
221
+ } elseif ($mValue instanceof Color) {
222
+ $sNewRuleName = $sBorderRule . "-color";
223
+ } else {
224
+ if (\in_array($mValue, $aBorderSizes)) {
225
+ $sNewRuleName = $sBorderRule . "-width";
226
+ } else {
227
+ $sNewRuleName = $sBorderRule . "-style";
228
+ }
229
+ }
230
+ $oNewRule = new Rule($sNewRuleName, $oRule->getLineNo(), $oRule->getColNo());
231
+ $oNewRule->setIsImportant($oRule->getIsImportant());
232
+ $oNewRule->addValue([$mNewValue]);
233
+ $this->addRule($oNewRule);
234
+ }
235
+ $this->removeRule($sBorderRule);
236
+ }
237
+ }
238
+ /**
239
+ * Splits shorthand dimensional declarations (e.g. `margin: 0px auto;`)
240
+ * into their constituent parts.
241
+ *
242
+ * Handles `margin`, `padding`, `border-color`, `border-style` and `border-width`.
243
+ *
244
+ * @return void
245
+ */
246
+ public function expandDimensionsShorthand()
247
+ {
248
+ $aExpansions = ['margin' => 'margin-%s', 'padding' => 'padding-%s', 'border-color' => 'border-%s-color', 'border-style' => 'border-%s-style', 'border-width' => 'border-%s-width'];
249
+ $aRules = $this->getRulesAssoc();
250
+ foreach ($aExpansions as $sProperty => $sExpanded) {
251
+ if (!isset($aRules[$sProperty])) {
252
+ continue;
253
+ }
254
+ $oRule = $aRules[$sProperty];
255
+ $mRuleValue = $oRule->getValue();
256
+ $aValues = [];
257
+ if (!$mRuleValue instanceof RuleValueList) {
258
+ $aValues[] = $mRuleValue;
259
+ } else {
260
+ $aValues = $mRuleValue->getListComponents();
261
+ }
262
+ $top = $right = $bottom = $left = null;
263
+ switch (\count($aValues)) {
264
+ case 1:
265
+ $top = $right = $bottom = $left = $aValues[0];
266
+ break;
267
+ case 2:
268
+ $top = $bottom = $aValues[0];
269
+ $left = $right = $aValues[1];
270
+ break;
271
+ case 3:
272
+ $top = $aValues[0];
273
+ $left = $right = $aValues[1];
274
+ $bottom = $aValues[2];
275
+ break;
276
+ case 4:
277
+ $top = $aValues[0];
278
+ $right = $aValues[1];
279
+ $bottom = $aValues[2];
280
+ $left = $aValues[3];
281
+ break;
282
+ }
283
+ foreach (['top', 'right', 'bottom', 'left'] as $sPosition) {
284
+ $oNewRule = new Rule(\sprintf($sExpanded, $sPosition), $oRule->getLineNo(), $oRule->getColNo());
285
+ $oNewRule->setIsImportant($oRule->getIsImportant());
286
+ $oNewRule->addValue(${$sPosition});
287
+ $this->addRule($oNewRule);
288
+ }
289
+ $this->removeRule($sProperty);
290
+ }
291
+ }
292
+ /**
293
+ * Converts shorthand font declarations
294
+ * (e.g. `font: 300 italic 11px/14px verdana, helvetica, sans-serif;`)
295
+ * into their constituent parts.
296
+ *
297
+ * @return void
298
+ */
299
+ public function expandFontShorthand()
300
+ {
301
+ $aRules = $this->getRulesAssoc();
302
+ if (!isset($aRules['font'])) {
303
+ return;
304
+ }
305
+ $oRule = $aRules['font'];
306
+ // reset properties to 'normal' per http://www.w3.org/TR/21/fonts.html#font-shorthand
307
+ $aFontProperties = ['font-style' => 'normal', 'font-variant' => 'normal', 'font-weight' => 'normal', 'font-size' => 'normal', 'line-height' => 'normal'];
308
+ $mRuleValue = $oRule->getValue();
309
+ $aValues = [];
310
+ if (!$mRuleValue instanceof RuleValueList) {
311
+ $aValues[] = $mRuleValue;
312
+ } else {
313
+ $aValues = $mRuleValue->getListComponents();
314
+ }
315
+ foreach ($aValues as $mValue) {
316
+ if (!$mValue instanceof Value) {
317
+ $mValue = \mb_strtolower($mValue);
318
+ }
319
+ if (\in_array($mValue, ['normal', 'inherit'])) {
320
+ foreach (['font-style', 'font-weight', 'font-variant'] as $sProperty) {
321
+ if (!isset($aFontProperties[$sProperty])) {
322
+ $aFontProperties[$sProperty] = $mValue;
323
+ }
324
+ }
325
+ } elseif (\in_array($mValue, ['italic', 'oblique'])) {
326
+ $aFontProperties['font-style'] = $mValue;
327
+ } elseif ($mValue == 'small-caps') {
328
+ $aFontProperties['font-variant'] = $mValue;
329
+ } elseif (\in_array($mValue, ['bold', 'bolder', 'lighter']) || $mValue instanceof Size && \in_array($mValue->getSize(), \range(100, 900, 100))) {
330
+ $aFontProperties['font-weight'] = $mValue;
331
+ } elseif ($mValue instanceof RuleValueList && $mValue->getListSeparator() == '/') {
332
+ list($oSize, $oHeight) = $mValue->getListComponents();
333
+ $aFontProperties['font-size'] = $oSize;
334
+ $aFontProperties['line-height'] = $oHeight;
335
+ } elseif ($mValue instanceof Size && $mValue->getUnit() !== null) {
336
+ $aFontProperties['font-size'] = $mValue;
337
+ } else {
338
+ $aFontProperties['font-family'] = $mValue;
339
+ }
340
+ }
341
+ foreach ($aFontProperties as $sProperty => $mValue) {
342
+ $oNewRule = new Rule($sProperty, $oRule->getLineNo(), $oRule->getColNo());
343
+ $oNewRule->addValue($mValue);
344
+ $oNewRule->setIsImportant($oRule->getIsImportant());
345
+ $this->addRule($oNewRule);
346
+ }
347
+ $this->removeRule('font');
348
+ }
349
+ /**
350
+ * Converts shorthand background declarations
351
+ * (e.g. `background: url("chess.png") gray 50% repeat fixed;`)
352
+ * into their constituent parts.
353
+ *
354
+ * @see http://www.w3.org/TR/21/colors.html#propdef-background
355
+ *
356
+ * @return void
357
+ */
358
+ public function expandBackgroundShorthand()
359
+ {
360
+ $aRules = $this->getRulesAssoc();
361
+ if (!isset($aRules['background'])) {
362
+ return;
363
+ }
364
+ $oRule = $aRules['background'];
365
+ $aBgProperties = ['background-color' => ['transparent'], 'background-image' => ['none'], 'background-repeat' => ['repeat'], 'background-attachment' => ['scroll'], 'background-position' => [new Size(0, '%', null, \false, $this->iLineNo), new Size(0, '%', null, \false, $this->iLineNo)]];
366
+ $mRuleValue = $oRule->getValue();
367
+ $aValues = [];
368
+ if (!$mRuleValue instanceof RuleValueList) {
369
+ $aValues[] = $mRuleValue;
370
+ } else {
371
+ $aValues = $mRuleValue->getListComponents();
372
+ }
373
+ if (\count($aValues) == 1 && $aValues[0] == 'inherit') {
374
+ foreach ($aBgProperties as $sProperty => $mValue) {
375
+ $oNewRule = new Rule($sProperty, $oRule->getLineNo(), $oRule->getColNo());
376
+ $oNewRule->addValue('inherit');
377
+ $oNewRule->setIsImportant($oRule->getIsImportant());
378
+ $this->addRule($oNewRule);
379
+ }
380
+ $this->removeRule('background');
381
+ return;
382
+ }
383
+ $iNumBgPos = 0;
384
+ foreach ($aValues as $mValue) {
385
+ if (!$mValue instanceof Value) {
386
+ $mValue = \mb_strtolower($mValue);
387
+ }
388
+ if ($mValue instanceof URL) {
389
+ $aBgProperties['background-image'] = $mValue;
390
+ } elseif ($mValue instanceof Color) {
391
+ $aBgProperties['background-color'] = $mValue;
392
+ } elseif (\in_array($mValue, ['scroll', 'fixed'])) {
393
+ $aBgProperties['background-attachment'] = $mValue;
394
+ } elseif (\in_array($mValue, ['repeat', 'no-repeat', 'repeat-x', 'repeat-y'])) {
395
+ $aBgProperties['background-repeat'] = $mValue;
396
+ } elseif (\in_array($mValue, ['left', 'center', 'right', 'top', 'bottom']) || $mValue instanceof Size) {
397
+ if ($iNumBgPos == 0) {
398
+ $aBgProperties['background-position'][0] = $mValue;
399
+ $aBgProperties['background-position'][1] = 'center';
400
+ } else {
401
+ $aBgProperties['background-position'][$iNumBgPos] = $mValue;
402
+ }
403
+ $iNumBgPos++;
404
+ }
405
+ }
406
+ foreach ($aBgProperties as $sProperty => $mValue) {
407
+ $oNewRule = new Rule($sProperty, $oRule->getLineNo(), $oRule->getColNo());
408
+ $oNewRule->setIsImportant($oRule->getIsImportant());
409
+ $oNewRule->addValue($mValue);
410
+ $this->addRule($oNewRule);
411
+ }
412
+ $this->removeRule('background');
413
+ }
414
+ /**
415
+ * @return void
416
+ */
417
+ public function expandListStyleShorthand()
418
+ {
419
+ $aListProperties = ['list-style-type' => 'disc', 'list-style-position' => 'outside', 'list-style-image' => 'none'];
420
+ $aListStyleTypes = ['none', 'disc', 'circle', 'square', 'decimal-leading-zero', 'decimal', 'lower-roman', 'upper-roman', 'lower-greek', 'lower-alpha', 'lower-latin', 'upper-alpha', 'upper-latin', 'hebrew', 'armenian', 'georgian', 'cjk-ideographic', 'hiragana', 'hira-gana-iroha', 'katakana-iroha', 'katakana'];
421
+ $aListStylePositions = ['inside', 'outside'];
422
+ $aRules = $this->getRulesAssoc();
423
+ if (!isset($aRules['list-style'])) {
424
+ return;
425
+ }
426
+ $oRule = $aRules['list-style'];
427
+ $mRuleValue = $oRule->getValue();
428
+ $aValues = [];
429
+ if (!$mRuleValue instanceof RuleValueList) {
430
+ $aValues[] = $mRuleValue;
431
+ } else {
432
+ $aValues = $mRuleValue->getListComponents();
433
+ }
434
+ if (\count($aValues) == 1 && $aValues[0] == 'inherit') {
435
+ foreach ($aListProperties as $sProperty => $mValue) {
436
+ $oNewRule = new Rule($sProperty, $oRule->getLineNo(), $oRule->getColNo());
437
+ $oNewRule->addValue('inherit');
438
+ $oNewRule->setIsImportant($oRule->getIsImportant());
439
+ $this->addRule($oNewRule);
440
+ }
441
+ $this->removeRule('list-style');
442
+ return;
443
+ }
444
+ foreach ($aValues as $mValue) {
445
+ if (!$mValue instanceof Value) {
446
+ $mValue = \mb_strtolower($mValue);
447
+ }
448
+ if ($mValue instanceof Url) {
449
+ $aListProperties['list-style-image'] = $mValue;
450
+ } elseif (\in_array($mValue, $aListStyleTypes)) {
451
+ $aListProperties['list-style-types'] = $mValue;
452
+ } elseif (\in_array($mValue, $aListStylePositions)) {
453
+ $aListProperties['list-style-position'] = $mValue;
454
+ }
455
+ }
456
+ foreach ($aListProperties as $sProperty => $mValue) {
457
+ $oNewRule = new Rule($sProperty, $oRule->getLineNo(), $oRule->getColNo());
458
+ $oNewRule->setIsImportant($oRule->getIsImportant());
459
+ $oNewRule->addValue($mValue);
460
+ $this->addRule($oNewRule);
461
+ }
462
+ $this->removeRule('list-style');
463
+ }
464
+ /**
465
+ * @param array<array-key, string> $aProperties
466
+ * @param string $sShorthand
467
+ *
468
+ * @return void
469
+ */
470
+ public function createShorthandProperties(array $aProperties, $sShorthand)
471
+ {
472
+ $aRules = $this->getRulesAssoc();
473
+ $aNewValues = [];
474
+ foreach ($aProperties as $sProperty) {
475
+ if (!isset($aRules[$sProperty])) {
476
+ continue;
477
+ }
478
+ $oRule = $aRules[$sProperty];
479
+ if (!$oRule->getIsImportant()) {
480
+ $mRuleValue = $oRule->getValue();
481
+ $aValues = [];
482
+ if (!$mRuleValue instanceof RuleValueList) {
483
+ $aValues[] = $mRuleValue;
484
+ } else {
485
+ $aValues = $mRuleValue->getListComponents();
486
+ }
487
+ foreach ($aValues as $mValue) {
488
+ $aNewValues[] = $mValue;
489
+ }
490
+ $this->removeRule($sProperty);
491
+ }
492
+ }
493
+ if (\count($aNewValues)) {
494
+ $oNewRule = new Rule($sShorthand, $oRule->getLineNo(), $oRule->getColNo());
495
+ foreach ($aNewValues as $mValue) {
496
+ $oNewRule->addValue($mValue);
497
+ }
498
+ $this->addRule($oNewRule);
499
+ }
500
+ }
501
+ /**
502
+ * @return void
503
+ */
504
+ public function createBackgroundShorthand()
505
+ {
506
+ $aProperties = ['background-color', 'background-image', 'background-repeat', 'background-position', 'background-attachment'];
507
+ $this->createShorthandProperties($aProperties, 'background');
508
+ }
509
+ /**
510
+ * @return void
511
+ */
512
+ public function createListStyleShorthand()
513
+ {
514
+ $aProperties = ['list-style-type', 'list-style-position', 'list-style-image'];
515
+ $this->createShorthandProperties($aProperties, 'list-style');
516
+ }
517
+ /**
518
+ * Combines `border-color`, `border-style` and `border-width` into `border`.
519
+ *
520
+ * Should be run after `create_dimensions_shorthand`!
521
+ *
522
+ * @return void
523
+ */
524
+ public function createBorderShorthand()
525
+ {
526
+ $aProperties = ['border-width', 'border-style', 'border-color'];
527
+ $this->createShorthandProperties($aProperties, 'border');
528
+ }
529
+ /**
530
+ * Looks for long format CSS dimensional properties
531
+ * (margin, padding, border-color, border-style and border-width)
532
+ * and converts them into shorthand CSS properties.
533
+ *
534
+ * @return void
535
+ */
536
+ public function createDimensionsShorthand()
537
+ {
538
+ $aPositions = ['top', 'right', 'bottom', 'left'];
539
+ $aExpansions = ['margin' => 'margin-%s', 'padding' => 'padding-%s', 'border-color' => 'border-%s-color', 'border-style' => 'border-%s-style', 'border-width' => 'border-%s-width'];
540
+ $aRules = $this->getRulesAssoc();
541
+ foreach ($aExpansions as $sProperty => $sExpanded) {
542
+ $aFoldable = [];
543
+ foreach ($aRules as $sRuleName => $oRule) {
544
+ foreach ($aPositions as $sPosition) {
545
+ if ($sRuleName == \sprintf($sExpanded, $sPosition)) {
546
+ $aFoldable[$sRuleName] = $oRule;
547
+ }
548
+ }
549
+ }
550
+ // All four dimensions must be present
551
+ if (\count($aFoldable) == 4) {
552
+ $aValues = [];
553
+ foreach ($aPositions as $sPosition) {
554
+ $oRule = $aRules[\sprintf($sExpanded, $sPosition)];
555
+ $mRuleValue = $oRule->getValue();
556
+ $aRuleValues = [];
557
+ if (!$mRuleValue instanceof RuleValueList) {
558
+ $aRuleValues[] = $mRuleValue;
559
+ } else {
560
+ $aRuleValues = $mRuleValue->getListComponents();
561
+ }
562
+ $aValues[$sPosition] = $aRuleValues;
563
+ }
564
+ $oNewRule = new Rule($sProperty, $oRule->getLineNo(), $oRule->getColNo());
565
+ if ((string) $aValues['left'][0] == (string) $aValues['right'][0]) {
566
+ if ((string) $aValues['top'][0] == (string) $aValues['bottom'][0]) {
567
+ if ((string) $aValues['top'][0] == (string) $aValues['left'][0]) {
568
+ // All 4 sides are equal
569
+ $oNewRule->addValue($aValues['top']);
570
+ } else {
571
+ // Top and bottom are equal, left and right are equal
572
+ $oNewRule->addValue($aValues['top']);
573
+ $oNewRule->addValue($aValues['left']);
574
+ }
575
+ } else {
576
+ // Only left and right are equal
577
+ $oNewRule->addValue($aValues['top']);
578
+ $oNewRule->addValue($aValues['left']);
579
+ $oNewRule->addValue($aValues['bottom']);
580
+ }
581
+ } else {
582
+ // No sides are equal
583
+ $oNewRule->addValue($aValues['top']);
584
+ $oNewRule->addValue($aValues['left']);
585
+ $oNewRule->addValue($aValues['bottom']);
586
+ $oNewRule->addValue($aValues['right']);
587
+ }
588
+ $this->addRule($oNewRule);
589
+ foreach ($aPositions as $sPosition) {
590
+ $this->removeRule(\sprintf($sExpanded, $sPosition));
591
+ }
592
+ }
593
+ }
594
+ }
595
+ /**
596
+ * Looks for long format CSS font properties (e.g. `font-weight`) and
597
+ * tries to convert them into a shorthand CSS `font` property.
598
+ *
599
+ * At least `font-size` AND `font-family` must be present in order to create a shorthand declaration.
600
+ *
601
+ * @return void
602
+ */
603
+ public function createFontShorthand()
604
+ {
605
+ $aFontProperties = ['font-style', 'font-variant', 'font-weight', 'font-size', 'line-height', 'font-family'];
606
+ $aRules = $this->getRulesAssoc();
607
+ if (!isset($aRules['font-size']) || !isset($aRules['font-family'])) {
608
+ return;
609
+ }
610
+ $oOldRule = isset($aRules['font-size']) ? $aRules['font-size'] : $aRules['font-family'];
611
+ $oNewRule = new Rule('font', $oOldRule->getLineNo(), $oOldRule->getColNo());
612
+ unset($oOldRule);
613
+ foreach (['font-style', 'font-variant', 'font-weight'] as $sProperty) {
614
+ if (isset($aRules[$sProperty])) {
615
+ $oRule = $aRules[$sProperty];
616
+ $mRuleValue = $oRule->getValue();
617
+ $aValues = [];
618
+ if (!$mRuleValue instanceof RuleValueList) {
619
+ $aValues[] = $mRuleValue;
620
+ } else {
621
+ $aValues = $mRuleValue->getListComponents();
622
+ }
623
+ if ($aValues[0] !== 'normal') {
624
+ $oNewRule->addValue($aValues[0]);
625
+ }
626
+ }
627
+ }
628
+ // Get the font-size value
629
+ $oRule = $aRules['font-size'];
630
+ $mRuleValue = $oRule->getValue();
631
+ $aFSValues = [];
632
+ if (!$mRuleValue instanceof RuleValueList) {
633
+ $aFSValues[] = $mRuleValue;
634
+ } else {
635
+ $aFSValues = $mRuleValue->getListComponents();
636
+ }
637
+ // But wait to know if we have line-height to add it
638
+ if (isset($aRules['line-height'])) {
639
+ $oRule = $aRules['line-height'];
640
+ $mRuleValue = $oRule->getValue();
641
+ $aLHValues = [];
642
+ if (!$mRuleValue instanceof RuleValueList) {
643
+ $aLHValues[] = $mRuleValue;
644
+ } else {
645
+ $aLHValues = $mRuleValue->getListComponents();
646
+ }
647
+ if ($aLHValues[0] !== 'normal') {
648
+ $val = new RuleValueList('/', $this->iLineNo);
649
+ $val->addListComponent($aFSValues[0]);
650
+ $val->addListComponent($aLHValues[0]);
651
+ $oNewRule->addValue($val);
652
+ }
653
+ } else {
654
+ $oNewRule->addValue($aFSValues[0]);
655
+ }
656
+ $oRule = $aRules['font-family'];
657
+ $mRuleValue = $oRule->getValue();
658
+ $aFFValues = [];
659
+ if (!$mRuleValue instanceof RuleValueList) {
660
+ $aFFValues[] = $mRuleValue;
661
+ } else {
662
+ $aFFValues = $mRuleValue->getListComponents();
663
+ }
664
+ $oFFValue = new RuleValueList(',', $this->iLineNo);
665
+ $oFFValue->setListComponents($aFFValues);
666
+ $oNewRule->addValue($oFFValue);
667
+ $this->addRule($oNewRule);
668
+ foreach ($aFontProperties as $sProperty) {
669
+ $this->removeRule($sProperty);
670
+ }
671
+ }
672
+ /**
673
+ * @return string
674
+ *
675
+ * @throws OutputException
676
+ */
677
+ public function __toString()
678
+ {
679
+ return $this->render(new OutputFormat());
680
+ }
681
+ /**
682
+ * @return string
683
+ *
684
+ * @throws OutputException
685
+ */
686
+ public function render(OutputFormat $oOutputFormat)
687
+ {
688
+ if (\count($this->aSelectors) === 0) {
689
+ // If all the selectors have been removed, this declaration block becomes invalid
690
+ throw new OutputException("Attempt to print declaration block with missing selector", $this->iLineNo);
691
+ }
692
+ $sResult = $oOutputFormat->sBeforeDeclarationBlock;
693
+ $sResult .= $oOutputFormat->implode($oOutputFormat->spaceBeforeSelectorSeparator() . ',' . $oOutputFormat->spaceAfterSelectorSeparator(), $this->aSelectors);
694
+ $sResult .= $oOutputFormat->sAfterDeclarationBlockSelectors;
695
+ $sResult .= $oOutputFormat->spaceBeforeOpeningBrace() . '{';
696
+ $sResult .= parent::render($oOutputFormat);
697
+ $sResult .= '}';
698
+ $sResult .= $oOutputFormat->sAfterDeclarationBlock;
699
+ return $sResult;
700
+ }
701
+ }
third-party/vendor/sabberworm/php-css-parser/src/RuleSet/RuleSet.php ADDED
@@ -0,0 +1,295 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace ProfilePressVendor\Sabberworm\CSS\RuleSet;
4
+
5
+ use ProfilePressVendor\Sabberworm\CSS\Comment\Comment;
6
+ use ProfilePressVendor\Sabberworm\CSS\Comment\Commentable;
7
+ use ProfilePressVendor\Sabberworm\CSS\OutputFormat;
8
+ use ProfilePressVendor\Sabberworm\CSS\Parsing\ParserState;
9
+ use ProfilePressVendor\Sabberworm\CSS\Parsing\UnexpectedEOFException;
10
+ use ProfilePressVendor\Sabberworm\CSS\Parsing\UnexpectedTokenException;
11
+ use ProfilePressVendor\Sabberworm\CSS\Renderable;
12
+ use ProfilePressVendor\Sabberworm\CSS\Rule\Rule;
13
+ /**
14
+ * RuleSet is a generic superclass denoting rules. The typical example for rule sets are declaration block.
15
+ * However, unknown At-Rules (like `@font-face`) are also rule sets.
16
+ */
17
+ abstract class RuleSet implements Renderable, Commentable
18
+ {
19
+ /**
20
+ * @var array<string, Rule>
21
+ */
22
+ private $aRules;
23
+ /**
24
+ * @var int
25
+ */
26
+ protected $iLineNo;
27
+ /**
28
+ * @var array<array-key, Comment>
29
+ */
30
+ protected $aComments;
31
+ /**
32
+ * @param int $iLineNo
33
+ */
34
+ public function __construct($iLineNo = 0)
35
+ {
36
+ $this->aRules = [];
37
+ $this->iLineNo = $iLineNo;
38
+ $this->aComments = [];
39
+ }
40
+ /**
41
+ * @return void
42
+ *
43
+ * @throws UnexpectedTokenException
44
+ * @throws UnexpectedEOFException
45
+ */
46
+ public static function parseRuleSet(ParserState $oParserState, RuleSet $oRuleSet)
47
+ {
48
+ while ($oParserState->comes(';')) {
49
+ $oParserState->consume(';');
50
+ }
51
+ while (!$oParserState->comes('}')) {
52
+ $oRule = null;
53
+ if ($oParserState->getSettings()->bLenientParsing) {
54
+ try {
55
+ $oRule = Rule::parse($oParserState);
56
+ } catch (UnexpectedTokenException $e) {
57
+ try {
58
+ $sConsume = $oParserState->consumeUntil(["\n", ";", '}'], \true);
59
+ // We need to “unfind” the matches to the end of the ruleSet as this will be matched later
60
+ if ($oParserState->streql(\substr($sConsume, -1), '}')) {
61
+ $oParserState->backtrack(1);
62
+ } else {
63
+ while ($oParserState->comes(';')) {
64
+ $oParserState->consume(';');
65
+ }
66
+ }
67
+ } catch (UnexpectedTokenException $e) {
68
+ // We’ve reached the end of the document. Just close the RuleSet.
69
+ return;
70
+ }
71
+ }
72
+ } else {
73
+ $oRule = Rule::parse($oParserState);
74
+ }
75
+ if ($oRule) {
76
+ $oRuleSet->addRule($oRule);
77
+ }
78
+ }
79
+ $oParserState->consume('}');
80
+ }
81
+ /**
82
+ * @return int
83
+ */
84
+ public function getLineNo()
85
+ {
86
+ return $this->iLineNo;
87
+ }
88
+ /**
89
+ * @param Rule|null $oSibling
90
+ *
91
+ * @return void
92
+ */
93
+ public function addRule(Rule $oRule, Rule $oSibling = null)
94
+ {
95
+ $sRule = $oRule->getRule();
96
+ if (!isset($this->aRules[$sRule])) {
97
+ $this->aRules[$sRule] = [];
98
+ }
99
+ $iPosition = \count($this->aRules[$sRule]);
100
+ if ($oSibling !== null) {
101
+ $iSiblingPos = \array_search($oSibling, $this->aRules[$sRule], \true);
102
+ if ($iSiblingPos !== \false) {
103
+ $iPosition = $iSiblingPos;
104
+ $oRule->setPosition($oSibling->getLineNo(), $oSibling->getColNo() - 1);
105
+ }
106
+ }
107
+ if ($oRule->getLineNo() === 0 && $oRule->getColNo() === 0) {
108
+ //this node is added manually, give it the next best line
109
+ $rules = $this->getRules();
110
+ $pos = \count($rules);
111
+ if ($pos > 0) {
112
+ $last = $rules[$pos - 1];
113
+ $oRule->setPosition($last->getLineNo() + 1, 0);
114
+ }
115
+ }
116
+ \array_splice($this->aRules[$sRule], $iPosition, 0, [$oRule]);
117
+ }
118
+ /**
119
+ * Returns all rules matching the given rule name
120
+ *
121
+ * @example $oRuleSet->getRules('font') // returns array(0 => $oRule, …) or array().
122
+ *
123
+ * @example $oRuleSet->getRules('font-')
124
+ * //returns an array of all rules either beginning with font- or matching font.
125
+ *
126
+ * @param Rule|string|null $mRule
127
+ * Pattern to search for. If null, returns all rules.
128
+ * If the pattern ends with a dash, all rules starting with the pattern are returned
129
+ * as well as one matching the pattern with the dash excluded.
130
+ * Passing a Rule behaves like calling `getRules($mRule->getRule())`.
131
+ *
132
+ * @return array<int, Rule>
133
+ */
134
+ public function getRules($mRule = null)
135
+ {
136
+ if ($mRule instanceof Rule) {
137
+ $mRule = $mRule->getRule();
138
+ }
139
+ /** @var array<int, Rule> $aResult */
140
+ $aResult = [];
141
+ foreach ($this->aRules as $sName => $aRules) {
142
+ // Either no search rule is given or the search rule matches the found rule exactly
143
+ // or the search rule ends in “-” and the found rule starts with the search rule.
144
+ if (!$mRule || $sName === $mRule || \strrpos($mRule, '-') === \strlen($mRule) - \strlen('-') && (\strpos($sName, $mRule) === 0 || $sName === \substr($mRule, 0, -1))) {
145
+ $aResult = \array_merge($aResult, $aRules);
146
+ }
147
+ }
148
+ \usort($aResult, function (Rule $first, Rule $second) {
149
+ if ($first->getLineNo() === $second->getLineNo()) {
150
+ return $first->getColNo() - $second->getColNo();
151
+ }
152
+ return $first->getLineNo() - $second->getLineNo();
153
+ });
154
+ return $aResult;
155
+ }
156
+ /**
157
+ * Overrides all the rules of this set.
158
+ *
159
+ * @param array<array-key, Rule> $aRules The rules to override with.
160
+ *
161
+ * @return void
162
+ */
163
+ public function setRules(array $aRules)
164
+ {
165
+ $this->aRules = [];
166
+ foreach ($aRules as $rule) {
167
+ $this->addRule($rule);
168
+ }
169
+ }
170
+ /**
171
+ * Returns all rules matching the given pattern and returns them in an associative array with the rule’s name
172
+ * as keys. This method exists mainly for backwards-compatibility and is really only partially useful.
173
+ *
174
+ * Note: This method loses some information: Calling this (with an argument of `background-`) on a declaration block
175
+ * like `{ background-color: green; background-color; rgba(0, 127, 0, 0.7); }` will only yield an associative array
176
+ * containing the rgba-valued rule while `getRules()` would yield an indexed array containing both.
177
+ *
178
+ * @param Rule|string|null $mRule $mRule
179
+ * Pattern to search for. If null, returns all rules. If the pattern ends with a dash,
180
+ * all rules starting with the pattern are returned as well as one matching the pattern with the dash
181
+ * excluded. Passing a Rule behaves like calling `getRules($mRule->getRule())`.
182
+ *
183
+ * @return array<string, Rule>
184
+ */
185
+ public function getRulesAssoc($mRule = null)
186
+ {
187
+ /** @var array<string, Rule> $aResult */
188
+ $aResult = [];
189
+ foreach ($this->getRules($mRule) as $oRule) {
190
+ $aResult[$oRule->getRule()] = $oRule;
191
+ }
192
+ return $aResult;
193
+ }
194
+ /**
195
+ * Removes a rule from this RuleSet. This accepts all the possible values that `getRules()` accepts.
196
+ *
197
+ * If given a Rule, it will only remove this particular rule (by identity).
198
+ * If given a name, it will remove all rules by that name.
199
+ *
200
+ * Note: this is different from pre-v.2.0 behaviour of PHP-CSS-Parser, where passing a Rule instance would
201
+ * remove all rules with the same name. To get the old behaviour, use `removeRule($oRule->getRule())`.
202
+ *
203
+ * @param Rule|string|null $mRule
204
+ * pattern to remove. If $mRule is null, all rules are removed. If the pattern ends in a dash,
205
+ * all rules starting with the pattern are removed as well as one matching the pattern with the dash
206
+ * excluded. Passing a Rule behaves matches by identity.
207
+ *
208
+ * @return void
209
+ */
210
+ public function removeRule($mRule)
211
+ {
212
+ if ($mRule instanceof Rule) {
213
+ $sRule = $mRule->getRule();
214
+ if (!isset($this->aRules[$sRule])) {
215
+ return;
216
+ }
217
+ foreach ($this->aRules[$sRule] as $iKey => $oRule) {
218
+ if ($oRule === $mRule) {
219
+ unset($this->aRules[$sRule][$iKey]);
220
+ }
221
+ }
222
+ } else {
223
+ foreach ($this->aRules as $sName => $aRules) {
224
+ // Either no search rule is given or the search rule matches the found rule exactly
225
+ // or the search rule ends in “-” and the found rule starts with the search rule or equals it
226
+ // (without the trailing dash).
227
+ if (!$mRule || $sName === $mRule || \strrpos($mRule, '-') === \strlen($mRule) - \strlen('-') && (\strpos($sName, $mRule) === 0 || $sName === \substr($mRule, 0, -1))) {
228
+ unset($this->aRules[$sName]);
229
+ }
230
+ }
231
+ }
232
+ }
233
+ /**
234
+ * @return string
235
+ */
236
+ public function __toString()
237
+ {
238
+ return $this->render(new OutputFormat());
239
+ }
240
+ /**
241
+ * @return string
242
+ */
243
+ public function render(OutputFormat $oOutputFormat)
244
+ {
245
+ $sResult = '';
246
+ $bIsFirst = \true;
247
+ foreach ($this->aRules as $aRules) {
248
+ foreach ($aRules as $oRule) {
249
+ $sRendered = $oOutputFormat->safely(function () use($oRule, $oOutputFormat) {
250
+ return $oRule->render($oOutputFormat->nextLevel());
251
+ });
252
+ if ($sRendered === null) {
253
+ continue;
254
+ }
255
+ if ($bIsFirst) {
256
+ $bIsFirst = \false;
257
+ $sResult .= $oOutputFormat->nextLevel()->spaceBeforeRules();
258
+ } else {
259
+ $sResult .= $oOutputFormat->nextLevel()->spaceBetweenRules();
260
+ }
261
+ $sResult .= $sRendered;
262
+ }
263
+ }
264
+ if (!$bIsFirst) {
265
+ // Had some output
266
+ $sResult .= $oOutputFormat->spaceAfterRules();
267
+ }
268
+ return $oOutputFormat->removeLastSemicolon($sResult);
269
+ }
270
+ /**
271
+ * @param array<string, Comment> $aComments
272
+ *
273
+ * @return void
274
+ */
275
+ public function addComments(array $aComments)
276
+ {
277
+ $this->aComments = \array_merge($this->aComments, $aComments);
278
+ }
279
+ /**
280
+ * @return array<string, Comment>
281
+ */
282
+ public function getComments()
283
+ {
284
+ return $this->aComments;
285
+ }
286
+ /**
287
+ * @param array<string, Comment> $aComments
288
+ *
289
+ * @return void
290
+ */
291
+ public function setComments(array $aComments)
292
+ {
293
+ $this->aComments = $aComments;
294
+ }
295
+ }
third-party/vendor/sabberworm/php-css-parser/src/Settings.php ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace ProfilePressVendor\Sabberworm\CSS;
4
+
5
+ /**
6
+ * Parser settings class.
7
+ *
8
+ * Configure parser behaviour here.
9
+ */
10
+ class Settings
11
+ {
12
+ /**
13
+ * Multi-byte string support.
14
+ * If true (mbstring extension must be enabled), will use (slower) `mb_strlen`, `mb_convert_case`, `mb_substr`
15
+ * and `mb_strpos` functions. Otherwise, the normal (ASCII-Only) functions will be used.
16
+ *
17
+ * @var bool
18
+ */
19
+ public $bMultibyteSupport;
20
+ /**
21
+ * The default charset for the CSS if no `@charset` rule is found. Defaults to utf-8.
22
+ *
23
+ * @var string
24
+ */
25
+ public $sDefaultCharset = 'utf-8';
26
+ /**
27
+ * Lenient parsing. When used (which is true by default), the parser will not choke
28
+ * on unexpected tokens but simply ignore them.
29
+ *
30
+ * @var bool
31
+ */
32
+ public $bLenientParsing = \true;
33
+ private function __construct()
34
+ {
35
+ $this->bMultibyteSupport = \extension_loaded('mbstring');
36
+ }
37
+ /**
38
+ * @return self new instance
39
+ */
40
+ public static function create()
41
+ {
42
+ return new Settings();
43
+ }
44
+ /**
45
+ * @param bool $bMultibyteSupport
46
+ *
47
+ * @return self fluent interface
48
+ */
49
+ public function withMultibyteSupport($bMultibyteSupport = \true)
50
+ {
51
+ $this->bMultibyteSupport = $bMultibyteSupport;
52
+ return $this;
53
+ }
54
+ /**
55
+ * @param string $sDefaultCharset
56
+ *
57
+ * @return self fluent interface
58
+ */
59
+ public function withDefaultCharset($sDefaultCharset)
60
+ {
61
+ $this->sDefaultCharset = $sDefaultCharset;
62
+ return $this;
63
+ }
64
+ /**
65
+ * @param bool $bLenientParsing
66
+ *
67
+ * @return self fluent interface
68
+ */
69
+ public function withLenientParsing($bLenientParsing = \true)
70
+ {
71
+ $this->bLenientParsing = $bLenientParsing;
72
+ return $this;
73
+ }
74
+ /**
75
+ * @return self fluent interface
76
+ */
77
+ public function beStrict()
78
+ {
79
+ return $this->withLenientParsing(\false);
80
+ }
81
+ }
third-party/vendor/sabberworm/php-css-parser/src/Value/CSSFunction.php ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace ProfilePressVendor\Sabberworm\CSS\Value;
4
+
5
+ use ProfilePressVendor\Sabberworm\CSS\OutputFormat;
6
+ class CSSFunction extends ValueList
7
+ {
8
+ /**
9
+ * @var string
10
+ */
11
+ protected $sName;
12
+ /**
13
+ * @param string $sName
14
+ * @param RuleValueList|array<int, RuleValueList|CSSFunction|CSSString|LineName|Size|URL|string> $aArguments
15
+ * @param string $sSeparator
16
+ * @param int $iLineNo
17
+ */
18
+ public function __construct($sName, $aArguments, $sSeparator = ',', $iLineNo = 0)
19
+ {
20
+ if ($aArguments instanceof RuleValueList) {
21
+ $sSeparator = $aArguments->getListSeparator();
22
+ $aArguments = $aArguments->getListComponents();
23
+ }
24
+ $this->sName = $sName;
25
+ $this->iLineNo = $iLineNo;
26
+ parent::__construct($aArguments, $sSeparator, $iLineNo);
27
+ }
28
+ /**
29
+ * @return string
30
+ */
31
+ public function getName()
32
+ {
33
+ return $this->sName;
34
+ }
35
+ /**
36
+ * @param string $sName
37
+ *
38
+ * @return void
39
+ */
40
+ public function setName($sName)
41
+ {
42
+ $this->sName = $sName;
43
+ }
44
+ /**
45
+ * @return array<int, RuleValueList|CSSFunction|CSSString|LineName|Size|URL|string>
46
+ */
47
+ public function getArguments()
48
+ {
49
+ return $this->aComponents;
50
+ }
51
+ /**
52
+ * @return string
53
+ */
54
+ public function __toString()
55
+ {
56
+ return $this->render(new OutputFormat());
57
+ }
58
+ /**
59
+ * @return string
60
+ */
61
+ public function render(OutputFormat $oOutputFormat)
62
+ {
63
+ $aArguments = parent::render($oOutputFormat);
64
+ return "{$this->sName}({$aArguments})";
65
+ }
66
+ }
third-party/vendor/sabberworm/php-css-parser/src/Value/CSSString.php ADDED
@@ -0,0 +1,95 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace ProfilePressVendor\Sabberworm\CSS\Value;
4
+
5
+ use ProfilePressVendor\Sabberworm\CSS\OutputFormat;
6
+ use ProfilePressVendor\Sabberworm\CSS\Parsing\ParserState;
7
+ use ProfilePressVendor\Sabberworm\CSS\Parsing\SourceException;
8
+ use ProfilePressVendor\Sabberworm\CSS\Parsing\UnexpectedEOFException;
9
+ use ProfilePressVendor\Sabberworm\CSS\Parsing\UnexpectedTokenException;
10
+ class CSSString extends PrimitiveValue
11
+ {
12
+ /**
13
+ * @var string
14
+ */
15
+ private $sString;
16
+ /**
17
+ * @param string $sString
18
+ * @param int $iLineNo
19
+ */
20
+ public function __construct($sString, $iLineNo = 0)
21
+ {
22
+ $this->sString = $sString;
23
+ parent::__construct($iLineNo);
24
+ }
25
+ /**
26
+ * @return CSSString
27
+ *
28
+ * @throws SourceException
29
+ * @throws UnexpectedEOFException
30
+ * @throws UnexpectedTokenException
31
+ */
32
+ p