Loco Translate - Version 1.4.2

Version Description

  • Added backup feature
  • Removed utm domain
  • Added Turkish translations
  • Fixed file naming for new theme files
Download this release

Release Info

Developer timwhitlock
Plugin Icon 128x128 Loco Translate
Version 1.4.2
Comparing to
See all releases

Code changes from version 1.4.1 to 1.4.2

languages/loco-translate-de_DE.mo CHANGED
Binary file
languages/loco-translate-de_DE.po CHANGED
@@ -3,7 +3,7 @@ msgstr ""
3
  "Project-Id-Version: Loco Translate\n"
4
  "Report-Msgid-Bugs-To: \n"
5
  "POT-Creation-Date: Thu Jan 02 2014 17:30:57 GMT+0000 (GMT)\n"
6
- "PO-Revision-Date: Wed Jan 15 2014 00:10:04 GMT+0000 (GMT)\n"
7
  "Last-Translator: admin <support@localise.biz>\n"
8
  "Language-Team: \n"
9
  "Language: German\n"
@@ -22,14 +22,6 @@ msgstr ""
22
  "X-Generator: Loco - https://localise.biz/\n"
23
  "X-Loco-Target-Locale: de_DE"
24
 
25
- #: ../php/loco-posave.php:98
26
- msgid "Failed to write MO file"
27
- msgstr "Fehler beim Schreiben der MO-Datei"
28
-
29
- #: ../tpl/admin-opts.tpl.php:54
30
- msgid "Generate hash tables"
31
- msgstr "Erzeuge Hashtabellen"
32
-
33
  #. Translators: Bold text label in admin error messages
34
  #: ../lib/loco-admin.php:15 ../pub/js/lang/dummy.php:7
35
  msgctxt "Message label"
@@ -164,35 +156,35 @@ msgstr "Dateidownload ist fehlgeschlagen"
164
  msgid "Unknown language"
165
  msgstr "Unbekannte Sprache"
166
 
167
- #: ../lib/loco-packages.php:240 ../lib/loco-packages.php:246
168
  msgid "Some files not writable"
169
  msgstr "Einige Dateien nicht schreibbar"
170
 
171
- #: ../lib/loco-packages.php:249
172
  msgid "Some files missing"
173
  msgstr "Einige Dateien fehlen"
174
 
175
- #: ../lib/loco-packages.php:255
176
  msgid "\"%s\" folder not writable"
177
  msgstr "Ordner \"%s\" nicht schreibbar"
178
 
179
- #: ../lib/loco-packages.php:266
180
  msgid "Folder not writable"
181
  msgstr "Ordner nicht schreibbar"
182
 
183
- #: ../lib/loco-packages.php:268
184
  msgid "POT file not writable"
185
  msgstr "POT-Datei nicht schreibbar"
186
 
187
- #: ../lib/loco-packages.php:272
188
  msgid "PO file not writable"
189
  msgstr "PO-Datei nicht schreibbar"
190
 
191
- #: ../lib/loco-packages.php:274
192
  msgid "MO file not writable"
193
  msgstr "MO-Datei nicht schreibbar"
194
 
195
- #: ../lib/loco-packages.php:274
196
  msgid "MO file not found"
197
  msgstr "MO-Datei nicht gefunden"
198
 
@@ -200,7 +192,7 @@ msgstr "MO-Datei nicht gefunden"
200
  msgid "User does not have permission to manage translations"
201
  msgstr "Benutzer hat keine Rechte die Übersetzungen zu verwalten"
202
 
203
- #: ../php/loco-download.php:68 ../php/loco-posave.php:88
204
  msgid "Failed to compile MO file with %s, check your settings"
205
  msgstr "Kompilieren der MO-Datei fehlgeschlagen. Bitte prüfe Deine Einstellungen"
206
 
@@ -212,7 +204,13 @@ msgstr "Ungültige Daten zum Server gesendet"
212
  msgid "Package not found called %s"
213
  msgstr "Paket %s nicht gefunden"
214
 
215
- #: ../php/loco-posave.php:37
 
 
 
 
 
 
216
  msgid ""
217
  "Web server cannot create \"%s\" directory in \"%s\". Fix file permissions or create "
218
  "it manually."
@@ -220,7 +218,7 @@ msgstr ""
220
  "Webserver kann Ordner \"%s\" nicht in \"%s\" erstellen. Setze die Zugriffsrechte "
221
  "oder erstelle den Ordner selbst."
222
 
223
- #: ../php/loco-posave.php:40
224
  msgid ""
225
  "Web server cannot create files in the \"%s\" directory. Fix file permissions or "
226
  "use the download function."
@@ -228,7 +226,7 @@ msgstr ""
228
  "Webserver kann keine Dateien im Ordner \"%s\" erstellen. Setze die Datei-"
229
  "Zugriffsrechte oder benutze Download anstatt Speichern."
230
 
231
- #: ../php/loco-posave.php:48
232
  msgid ""
233
  "%s file is not writable by the web server. Fix file permissions or download and "
234
  "copy to \"%s/%s\"."
@@ -237,14 +235,18 @@ msgstr ""
237
  "oder benutze Download anstatt Speichern und speichere die Datei auf dem Server "
238
  "unter \"%s/%s\" ab."
239
 
240
- #: ../php/loco-posave.php:69
241
  msgid "Cannot create MO file"
242
  msgstr "Erstellen der MO-Datei fehlgeschlagen."
243
 
244
- #: ../php/loco-posave.php:72
245
  msgid "Cannot overwrite MO file"
246
  msgstr "Überschreiben der MO-Datei fehlgeschlagen"
247
 
 
 
 
 
248
  #: ../php/loco-posync.php:53
249
  msgid "No strings could be extracted from source files"
250
  msgstr "Es konnten keine Zeichenketten aus der Quelle extrahiert werden"
@@ -309,7 +311,7 @@ msgstr "Dateisystem-Rechte für %s"
309
  msgid "Back"
310
  msgstr "Zurück"
311
 
312
- #: ../tpl/admin-fscheck.tpl.php:41 ../tpl/admin-opts.tpl.php:64
313
  msgid "Get help"
314
  msgstr "Hilfe erhalten"
315
 
@@ -372,7 +374,19 @@ msgstr "Benutze externes Befehlsprogramm:"
372
  msgid "Enter path to msgfmt on server"
373
  msgstr "Pfad zum msgfmt-Programm"
374
 
375
- #: ../tpl/admin-opts.tpl.php:63
 
 
 
 
 
 
 
 
 
 
 
 
376
  msgid "Save settings"
377
  msgstr "Einstellungen speichern"
378
 
3
  "Project-Id-Version: Loco Translate\n"
4
  "Report-Msgid-Bugs-To: \n"
5
  "POT-Creation-Date: Thu Jan 02 2014 17:30:57 GMT+0000 (GMT)\n"
6
+ "PO-Revision-Date: Mon Jan 20 2014 00:38:09 GMT+0000 (GMT)\n"
7
  "Last-Translator: admin <support@localise.biz>\n"
8
  "Language-Team: \n"
9
  "Language: German\n"
22
  "X-Generator: Loco - https://localise.biz/\n"
23
  "X-Loco-Target-Locale: de_DE"
24
 
 
 
 
 
 
 
 
 
25
  #. Translators: Bold text label in admin error messages
26
  #: ../lib/loco-admin.php:15 ../pub/js/lang/dummy.php:7
27
  msgctxt "Message label"
156
  msgid "Unknown language"
157
  msgstr "Unbekannte Sprache"
158
 
159
+ #: ../lib/loco-packages.php:273 ../lib/loco-packages.php:279
160
  msgid "Some files not writable"
161
  msgstr "Einige Dateien nicht schreibbar"
162
 
163
+ #: ../lib/loco-packages.php:282
164
  msgid "Some files missing"
165
  msgstr "Einige Dateien fehlen"
166
 
167
+ #: ../lib/loco-packages.php:288
168
  msgid "\"%s\" folder not writable"
169
  msgstr "Ordner \"%s\" nicht schreibbar"
170
 
171
+ #: ../lib/loco-packages.php:299
172
  msgid "Folder not writable"
173
  msgstr "Ordner nicht schreibbar"
174
 
175
+ #: ../lib/loco-packages.php:301
176
  msgid "POT file not writable"
177
  msgstr "POT-Datei nicht schreibbar"
178
 
179
+ #: ../lib/loco-packages.php:305
180
  msgid "PO file not writable"
181
  msgstr "PO-Datei nicht schreibbar"
182
 
183
+ #: ../lib/loco-packages.php:307
184
  msgid "MO file not writable"
185
  msgstr "MO-Datei nicht schreibbar"
186
 
187
+ #: ../lib/loco-packages.php:307
188
  msgid "MO file not found"
189
  msgstr "MO-Datei nicht gefunden"
190
 
192
  msgid "User does not have permission to manage translations"
193
  msgstr "Benutzer hat keine Rechte die Übersetzungen zu verwalten"
194
 
195
+ #: ../php/loco-download.php:75 ../php/loco-posave.php:121
196
  msgid "Failed to compile MO file with %s, check your settings"
197
  msgstr "Kompilieren der MO-Datei fehlgeschlagen. Bitte prüfe Deine Einstellungen"
198
 
204
  msgid "Package not found called %s"
205
  msgstr "Paket %s nicht gefunden"
206
 
207
+ #: ../php/loco-posave.php:58
208
+ msgid ""
209
+ "Web server cannot create backups in \"%s\". Fix file permissions or disable "
210
+ "backups in settings"
211
+ msgstr ""
212
+
213
+ #: ../php/loco-posave.php:66
214
  msgid ""
215
  "Web server cannot create \"%s\" directory in \"%s\". Fix file permissions or create "
216
  "it manually."
218
  "Webserver kann Ordner \"%s\" nicht in \"%s\" erstellen. Setze die Zugriffsrechte "
219
  "oder erstelle den Ordner selbst."
220
 
221
+ #: ../php/loco-posave.php:69
222
  msgid ""
223
  "Web server cannot create files in the \"%s\" directory. Fix file permissions or "
224
  "use the download function."
226
  "Webserver kann keine Dateien im Ordner \"%s\" erstellen. Setze die Datei-"
227
  "Zugriffsrechte oder benutze Download anstatt Speichern."
228
 
229
+ #: ../php/loco-posave.php:81
230
  msgid ""
231
  "%s file is not writable by the web server. Fix file permissions or download and "
232
  "copy to \"%s/%s\"."
235
  "oder benutze Download anstatt Speichern und speichere die Datei auf dem Server "
236
  "unter \"%s/%s\" ab."
237
 
238
+ #: ../php/loco-posave.php:102
239
  msgid "Cannot create MO file"
240
  msgstr "Erstellen der MO-Datei fehlgeschlagen."
241
 
242
+ #: ../php/loco-posave.php:105
243
  msgid "Cannot overwrite MO file"
244
  msgstr "Überschreiben der MO-Datei fehlgeschlagen"
245
 
246
+ #: ../php/loco-posave.php:131
247
+ msgid "Failed to write MO file"
248
+ msgstr "Fehler beim Schreiben der MO-Datei"
249
+
250
  #: ../php/loco-posync.php:53
251
  msgid "No strings could be extracted from source files"
252
  msgstr "Es konnten keine Zeichenketten aus der Quelle extrahiert werden"
311
  msgid "Back"
312
  msgstr "Zurück"
313
 
314
+ #: ../tpl/admin-fscheck.tpl.php:41 ../tpl/admin-opts.tpl.php:80
315
  msgid "Get help"
316
  msgstr "Hilfe erhalten"
317
 
374
  msgid "Enter path to msgfmt on server"
375
  msgstr "Pfad zum msgfmt-Programm"
376
 
377
+ #: ../tpl/admin-opts.tpl.php:54
378
+ msgid "Generate hash tables"
379
+ msgstr "Erzeuge Hashtabellen"
380
+
381
+ #: ../tpl/admin-opts.tpl.php:61 ../tpl/admin-opts.tpl.php:65
382
+ msgid "Backing up PO files"
383
+ msgstr ""
384
+
385
+ #: ../tpl/admin-opts.tpl.php:69
386
+ msgid "Number of backups to keep of each file:"
387
+ msgstr ""
388
+
389
+ #: ../tpl/admin-opts.tpl.php:79
390
  msgid "Save settings"
391
  msgstr "Einstellungen speichern"
392
 
languages/loco-translate-nl_BE.mo CHANGED
Binary file
languages/loco-translate-nl_BE.po CHANGED
@@ -3,7 +3,7 @@ msgstr ""
3
  "Project-Id-Version: Loco Translate\n"
4
  "Report-Msgid-Bugs-To: \n"
5
  "POT-Creation-Date: Thu Jan 02 2014 17:30:57 GMT+0000 (GMT)\n"
6
- "PO-Revision-Date: Wed Jan 15 2014 00:21:44 GMT+0000 (GMT)\n"
7
  "Last-Translator: admin <support@localise.biz>\n"
8
  "Language-Team: \n"
9
  "Language: Dutch (Belgium)\n"
@@ -22,6 +22,172 @@ msgstr ""
22
  "X-Poedit-Basepath: .\n"
23
  "X-Poedit-SearchPath-0: .."
24
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
  #. Translators: Bold text label in admin error messages
26
  #: ../lib/loco-admin.php:15 ../pub/js/lang/dummy.php:7
27
  msgctxt "Message label"
@@ -38,10 +204,6 @@ msgctxt "Message label"
38
  msgid "OK"
39
  msgstr "OK"
40
 
41
- #: ../lib/loco-admin.php:47
42
- msgid "Settings saved"
43
- msgstr ""
44
-
45
  #: ../lib/loco-admin.php:120
46
  msgid "New PO file"
47
  msgstr "Nieuw PO-bestand"
@@ -126,30 +288,14 @@ msgstr "%s onzeker"
126
  msgid "%s untranslated"
127
  msgstr "%s onvertaald"
128
 
129
- #: ../lib/loco-admin.php:838
130
- msgid "Failed to compile MO file with built-in compiler"
131
- msgstr ""
132
-
133
  #: ../lib/loco-admin.php:867
134
  msgid "Loco, Translation Management"
135
  msgstr "Loco, vertalingsbeheer"
136
 
137
- #: ../lib/loco-admin.php:869
138
- msgid "Translation"
139
- msgstr ""
140
-
141
  #: ../lib/loco-admin.php:872 ../lib/loco-admin.php:883
142
  msgid "Manage translations"
143
  msgstr "Beheer vertalingen"
144
 
145
- #: ../lib/loco-admin.php:884 ../tpl/admin-fscheck.tpl.php:7 ../tpl/admin-opts.tpl.php:7 ../tpl/admin-poedit.tpl.php:8 ../tpl/admin-poinit.tpl.php:8 ../tpl/admin-root.tpl.php:7
146
- msgid "Settings"
147
- msgstr ""
148
-
149
- #: ../lib/loco-admin.php:908
150
- msgid "File download failed"
151
- msgstr ""
152
-
153
  #: ../lib/loco-locales.php:70
154
  msgid "Unknown language"
155
  msgstr "Onbekende taal"
@@ -158,50 +304,18 @@ msgstr "Onbekende taal"
158
  msgid "Some files not writable"
159
  msgstr "Sommige bestanden hebben geen schrijfrechten"
160
 
161
- #: ../lib/loco-packages.php:249
162
- msgid "Some files missing"
163
- msgstr ""
164
-
165
  #: ../lib/loco-packages.php:255
166
  msgid "\"%s\" folder not writable"
167
  msgstr "Map \"%s\" heeft geen schrijfrechten"
168
 
169
- #: ../lib/loco-packages.php:266
170
- msgid "Folder not writable"
171
- msgstr ""
172
-
173
- #: ../lib/loco-packages.php:268
174
- msgid "POT file not writable"
175
- msgstr ""
176
-
177
- #: ../lib/loco-packages.php:272
178
- msgid "PO file not writable"
179
- msgstr ""
180
-
181
- #: ../lib/loco-packages.php:274
182
- msgid "MO file not writable"
183
- msgstr ""
184
-
185
- #: ../lib/loco-packages.php:274
186
- msgid "MO file not found"
187
- msgstr ""
188
-
189
  #: ../php/loco-ajax.php:17 ../php/loco-download.php:21
190
  msgid "User does not have permission to manage translations"
191
  msgstr "Gebruik heeft geen rechten om vertalingen te beheren"
192
 
193
- #: ../php/loco-download.php:68 ../php/loco-posave.php:88
194
- msgid "Failed to compile MO file with %s, check your settings"
195
- msgstr ""
196
-
197
  #: ../php/loco-posave.php:10 ../php/loco-posync.php:9
198
  msgid "Invalid data posted to server"
199
  msgstr "Ongeldige gegevens op server"
200
 
201
- #: ../php/loco-posave.php:23 ../php/loco-posync.php:22
202
- msgid "Package not found called %s"
203
- msgstr ""
204
-
205
  #: ../php/loco-posave.php:37
206
  msgid ""
207
  "Web server cannot create \"%s\" directory in \"%s\". Fix file permissions or create "
@@ -226,86 +340,14 @@ msgstr ""
226
  "Bestand %s kan niet beschreven worden door de webserver. Bewerk de "
227
  "schrijfrechten of download en kopieer naar \"%s/%s\"."
228
 
229
- #: ../php/loco-posave.php:69
230
- msgid "Cannot create MO file"
231
- msgstr ""
232
-
233
- #: ../php/loco-posave.php:72
234
- msgid "Cannot overwrite MO file"
235
- msgstr ""
236
-
237
- #: ../php/loco-posave.php:98
238
- msgid "Failed to write MO file"
239
- msgstr ""
240
-
241
  #: ../php/loco-posync.php:53
242
  msgid "No strings could be extracted from source files"
243
  msgstr "Er konden geen te vertalen teksten uit de bronbestanden gehaald worden"
244
 
245
- #: ../pub/js/lang/dummy.php:8
246
- msgid "Unknown error"
247
- msgstr ""
248
-
249
- #: ../pub/js/lang/dummy.php:9
250
- msgid "PO file saved"
251
- msgstr ""
252
-
253
- #: ../pub/js/lang/dummy.php:10
254
- msgid "and MO file compiled"
255
- msgstr ""
256
-
257
- #: ../pub/js/lang/dummy.php:11
258
- msgid "Merged from %s"
259
- msgstr ""
260
-
261
- #: ../pub/js/lang/dummy.php:12
262
- msgid "Merged from source code"
263
- msgstr ""
264
-
265
- #: ../pub/js/lang/dummy.php:13
266
- msgid "Already up to date with %s"
267
- msgstr ""
268
-
269
- #: ../pub/js/lang/dummy.php:14
270
- msgid "Already up to date with source code"
271
- msgstr ""
272
-
273
- #: ../pub/js/lang/dummy.php:15
274
- msgid "1 new string added"
275
- msgid_plural "%s new strings added"
276
- msgstr[0] ""
277
- msgstr[1] ""
278
-
279
- #: ../pub/js/lang/dummy.php:16
280
- msgid "1 obsolete string removed"
281
- msgid_plural "%s obsolete strings removed"
282
- msgstr[0] ""
283
- msgstr[1] ""
284
-
285
- #: ../pub/js/lang/dummy.php:17
286
- msgid "Your changes will be lost if you continue without saving"
287
- msgstr ""
288
-
289
  #: ../tpl/admin-fscheck.tpl.php:6 ../tpl/admin-opts.tpl.php:6 ../tpl/admin-poedit.tpl.php:6 ../tpl/admin-poinit.tpl.php:6 ../tpl/admin-root.tpl.php:6
290
  msgid "Packages"
291
  msgstr "Pakketten"
292
 
293
- #: ../tpl/admin-fscheck.tpl.php:8
294
- msgid "File check"
295
- msgstr ""
296
-
297
- #: ../tpl/admin-fscheck.tpl.php:17
298
- msgid "File system permissions for %s"
299
- msgstr ""
300
-
301
- #: ../tpl/admin-fscheck.tpl.php:40
302
- msgid "Back"
303
- msgstr ""
304
-
305
- #: ../tpl/admin-fscheck.tpl.php:41 ../tpl/admin-opts.tpl.php:64
306
- msgid "Get help"
307
- msgstr ""
308
-
309
  #: ../tpl/admin-list.tpl.php:11
310
  msgctxt "Table header"
311
  msgid "Package details"
@@ -337,51 +379,14 @@ msgctxt "Modified time"
337
  msgid "Updated"
338
  msgstr "Geüpdated"
339
 
340
- #: ../tpl/admin-list.tpl.php:93
341
- msgid "OK"
342
- msgstr ""
343
-
344
  #: ../tpl/admin-nav.tpl.php:20
345
  msgid "Powered by"
346
  msgstr "Ondersteund door"
347
 
348
- #: ../tpl/admin-opts.tpl.php:18
349
- msgid "Configure Loco Translate"
350
- msgstr ""
351
-
352
- #: ../tpl/admin-opts.tpl.php:27 ../tpl/admin-opts.tpl.php:31
353
- msgid "Compiling MO files"
354
- msgstr ""
355
-
356
- #: ../tpl/admin-opts.tpl.php:36
357
- msgid "Use built-in MO compiler."
358
- msgstr ""
359
-
360
- #: ../tpl/admin-opts.tpl.php:42
361
- msgid "Use external command:"
362
- msgstr ""
363
-
364
- #: ../tpl/admin-opts.tpl.php:47
365
- msgid "Enter path to msgfmt on server"
366
- msgstr ""
367
-
368
- #: ../tpl/admin-opts.tpl.php:54
369
- msgid "Generate hash tables"
370
- msgstr ""
371
-
372
- #: ../tpl/admin-opts.tpl.php:63
373
- msgid "Save settings"
374
- msgstr ""
375
-
376
  #: ../tpl/admin-poedit.tpl.php:31
377
  msgid "Template file"
378
  msgstr "Sjabloonbestand"
379
 
380
- #: ../tpl/admin-poedit.tpl.php:39
381
- msgctxt "Dropdown label"
382
- msgid "Switch to..."
383
- msgstr ""
384
-
385
  #: ../tpl/admin-poedit.tpl.php:57
386
  msgid "Updated"
387
  msgstr "Geüpdated"
@@ -473,8 +478,3 @@ msgstr "Thema's"
473
  msgctxt "Package list header"
474
  msgid "Plugins"
475
  msgstr "Plug-ins"
476
-
477
- #: ../tpl/admin-root.tpl.php:66
478
- msgctxt "Package list header"
479
- msgid "Core"
480
- msgstr ""
3
  "Project-Id-Version: Loco Translate\n"
4
  "Report-Msgid-Bugs-To: \n"
5
  "POT-Creation-Date: Thu Jan 02 2014 17:30:57 GMT+0000 (GMT)\n"
6
+ "PO-Revision-Date: Mon Jan 20 2014 00:38:13 GMT+0000 (GMT)\n"
7
  "Last-Translator: admin <support@localise.biz>\n"
8
  "Language-Team: \n"
9
  "Language: Dutch (Belgium)\n"
22
  "X-Poedit-Basepath: .\n"
23
  "X-Poedit-SearchPath-0: .."
24
 
25
+ #: ../lib/loco-admin.php:47
26
+ msgid "Settings saved"
27
+ msgstr ""
28
+
29
+ #: ../lib/loco-admin.php:838
30
+ msgid "Failed to compile MO file with built-in compiler"
31
+ msgstr ""
32
+
33
+ #: ../lib/loco-admin.php:869
34
+ msgid "Translation"
35
+ msgstr ""
36
+
37
+ #: ../lib/loco-admin.php:884 ../tpl/admin-fscheck.tpl.php:7 ../tpl/admin-opts.tpl.php:7 ../tpl/admin-poedit.tpl.php:8 ../tpl/admin-poinit.tpl.php:8 ../tpl/admin-root.tpl.php:7
38
+ msgid "Settings"
39
+ msgstr ""
40
+
41
+ #: ../lib/loco-admin.php:908
42
+ msgid "File download failed"
43
+ msgstr ""
44
+
45
+ #: ../lib/loco-packages.php:249
46
+ msgid "Some files missing"
47
+ msgstr ""
48
+
49
+ #: ../lib/loco-packages.php:266
50
+ msgid "Folder not writable"
51
+ msgstr ""
52
+
53
+ #: ../lib/loco-packages.php:268
54
+ msgid "POT file not writable"
55
+ msgstr ""
56
+
57
+ #: ../lib/loco-packages.php:272
58
+ msgid "PO file not writable"
59
+ msgstr ""
60
+
61
+ #: ../lib/loco-packages.php:274
62
+ msgid "MO file not writable"
63
+ msgstr ""
64
+
65
+ #: ../lib/loco-packages.php:274
66
+ msgid "MO file not found"
67
+ msgstr ""
68
+
69
+ #: ../php/loco-download.php:68 ../php/loco-posave.php:88
70
+ msgid "Failed to compile MO file with %s, check your settings"
71
+ msgstr ""
72
+
73
+ #: ../php/loco-posave.php:23 ../php/loco-posync.php:22
74
+ msgid "Package not found called %s"
75
+ msgstr ""
76
+
77
+ #: ../php/loco-posave.php:69
78
+ msgid "Cannot create MO file"
79
+ msgstr ""
80
+
81
+ #: ../php/loco-posave.php:72
82
+ msgid "Cannot overwrite MO file"
83
+ msgstr ""
84
+
85
+ #: ../php/loco-posave.php:98
86
+ msgid "Failed to write MO file"
87
+ msgstr ""
88
+
89
+ #: ../pub/js/lang/dummy.php:8
90
+ msgid "Unknown error"
91
+ msgstr ""
92
+
93
+ #: ../pub/js/lang/dummy.php:9
94
+ msgid "PO file saved"
95
+ msgstr ""
96
+
97
+ #: ../pub/js/lang/dummy.php:10
98
+ msgid "and MO file compiled"
99
+ msgstr ""
100
+
101
+ #: ../pub/js/lang/dummy.php:11
102
+ msgid "Merged from %s"
103
+ msgstr ""
104
+
105
+ #: ../pub/js/lang/dummy.php:12
106
+ msgid "Merged from source code"
107
+ msgstr ""
108
+
109
+ #: ../pub/js/lang/dummy.php:13
110
+ msgid "Already up to date with %s"
111
+ msgstr ""
112
+
113
+ #: ../pub/js/lang/dummy.php:14
114
+ msgid "Already up to date with source code"
115
+ msgstr ""
116
+
117
+ #: ../pub/js/lang/dummy.php:15
118
+ msgid "1 new string added"
119
+ msgid_plural "%s new strings added"
120
+ msgstr[0] ""
121
+ msgstr[1] ""
122
+
123
+ #: ../pub/js/lang/dummy.php:16
124
+ msgid "1 obsolete string removed"
125
+ msgid_plural "%s obsolete strings removed"
126
+ msgstr[0] ""
127
+ msgstr[1] ""
128
+
129
+ #: ../pub/js/lang/dummy.php:17
130
+ msgid "Your changes will be lost if you continue without saving"
131
+ msgstr ""
132
+
133
+ #: ../tpl/admin-fscheck.tpl.php:8
134
+ msgid "File check"
135
+ msgstr ""
136
+
137
+ #: ../tpl/admin-fscheck.tpl.php:17
138
+ msgid "File system permissions for %s"
139
+ msgstr ""
140
+
141
+ #: ../tpl/admin-fscheck.tpl.php:40
142
+ msgid "Back"
143
+ msgstr ""
144
+
145
+ #: ../tpl/admin-fscheck.tpl.php:41 ../tpl/admin-opts.tpl.php:64
146
+ msgid "Get help"
147
+ msgstr ""
148
+
149
+ #: ../tpl/admin-list.tpl.php:93
150
+ msgid "OK"
151
+ msgstr ""
152
+
153
+ #: ../tpl/admin-opts.tpl.php:18
154
+ msgid "Configure Loco Translate"
155
+ msgstr ""
156
+
157
+ #: ../tpl/admin-opts.tpl.php:27 ../tpl/admin-opts.tpl.php:31
158
+ msgid "Compiling MO files"
159
+ msgstr ""
160
+
161
+ #: ../tpl/admin-opts.tpl.php:36
162
+ msgid "Use built-in MO compiler."
163
+ msgstr ""
164
+
165
+ #: ../tpl/admin-opts.tpl.php:42
166
+ msgid "Use external command:"
167
+ msgstr ""
168
+
169
+ #: ../tpl/admin-opts.tpl.php:47
170
+ msgid "Enter path to msgfmt on server"
171
+ msgstr ""
172
+
173
+ #: ../tpl/admin-opts.tpl.php:54
174
+ msgid "Generate hash tables"
175
+ msgstr ""
176
+
177
+ #: ../tpl/admin-opts.tpl.php:63
178
+ msgid "Save settings"
179
+ msgstr ""
180
+
181
+ #: ../tpl/admin-poedit.tpl.php:39
182
+ msgctxt "Dropdown label"
183
+ msgid "Switch to..."
184
+ msgstr ""
185
+
186
+ #: ../tpl/admin-root.tpl.php:66
187
+ msgctxt "Package list header"
188
+ msgid "Core"
189
+ msgstr ""
190
+
191
  #. Translators: Bold text label in admin error messages
192
  #: ../lib/loco-admin.php:15 ../pub/js/lang/dummy.php:7
193
  msgctxt "Message label"
204
  msgid "OK"
205
  msgstr "OK"
206
 
 
 
 
 
207
  #: ../lib/loco-admin.php:120
208
  msgid "New PO file"
209
  msgstr "Nieuw PO-bestand"
288
  msgid "%s untranslated"
289
  msgstr "%s onvertaald"
290
 
 
 
 
 
291
  #: ../lib/loco-admin.php:867
292
  msgid "Loco, Translation Management"
293
  msgstr "Loco, vertalingsbeheer"
294
 
 
 
 
 
295
  #: ../lib/loco-admin.php:872 ../lib/loco-admin.php:883
296
  msgid "Manage translations"
297
  msgstr "Beheer vertalingen"
298
 
 
 
 
 
 
 
 
 
299
  #: ../lib/loco-locales.php:70
300
  msgid "Unknown language"
301
  msgstr "Onbekende taal"
304
  msgid "Some files not writable"
305
  msgstr "Sommige bestanden hebben geen schrijfrechten"
306
 
 
 
 
 
307
  #: ../lib/loco-packages.php:255
308
  msgid "\"%s\" folder not writable"
309
  msgstr "Map \"%s\" heeft geen schrijfrechten"
310
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
311
  #: ../php/loco-ajax.php:17 ../php/loco-download.php:21
312
  msgid "User does not have permission to manage translations"
313
  msgstr "Gebruik heeft geen rechten om vertalingen te beheren"
314
 
 
 
 
 
315
  #: ../php/loco-posave.php:10 ../php/loco-posync.php:9
316
  msgid "Invalid data posted to server"
317
  msgstr "Ongeldige gegevens op server"
318
 
 
 
 
 
319
  #: ../php/loco-posave.php:37
320
  msgid ""
321
  "Web server cannot create \"%s\" directory in \"%s\". Fix file permissions or create "
340
  "Bestand %s kan niet beschreven worden door de webserver. Bewerk de "
341
  "schrijfrechten of download en kopieer naar \"%s/%s\"."
342
 
 
 
 
 
 
 
 
 
 
 
 
 
343
  #: ../php/loco-posync.php:53
344
  msgid "No strings could be extracted from source files"
345
  msgstr "Er konden geen te vertalen teksten uit de bronbestanden gehaald worden"
346
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
347
  #: ../tpl/admin-fscheck.tpl.php:6 ../tpl/admin-opts.tpl.php:6 ../tpl/admin-poedit.tpl.php:6 ../tpl/admin-poinit.tpl.php:6 ../tpl/admin-root.tpl.php:6
348
  msgid "Packages"
349
  msgstr "Pakketten"
350
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
351
  #: ../tpl/admin-list.tpl.php:11
352
  msgctxt "Table header"
353
  msgid "Package details"
379
  msgid "Updated"
380
  msgstr "Geüpdated"
381
 
 
 
 
 
382
  #: ../tpl/admin-nav.tpl.php:20
383
  msgid "Powered by"
384
  msgstr "Ondersteund door"
385
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
386
  #: ../tpl/admin-poedit.tpl.php:31
387
  msgid "Template file"
388
  msgstr "Sjabloonbestand"
389
 
 
 
 
 
 
390
  #: ../tpl/admin-poedit.tpl.php:57
391
  msgid "Updated"
392
  msgstr "Geüpdated"
478
  msgctxt "Package list header"
479
  msgid "Plugins"
480
  msgstr "Plug-ins"
 
 
 
 
 
languages/loco-translate-nl_NL.mo CHANGED
Binary file
languages/loco-translate-nl_NL.po CHANGED
@@ -3,7 +3,7 @@ msgstr ""
3
  "Project-Id-Version: Loco Translate\n"
4
  "Report-Msgid-Bugs-To: \n"
5
  "POT-Creation-Date: Thu Jan 02 2014 17:30:57 GMT+0000 (GMT)\n"
6
- "PO-Revision-Date: Sat Jan 04 2014 20:46:05 GMT+0000 (GMT)\n"
7
  "Last-Translator: admin <support@localise.biz>\n"
8
  "Language-Team: \n"
9
  "Language: Dutch\n"
@@ -22,6 +22,172 @@ msgstr ""
22
  "X-Poedit-Basepath: .\n"
23
  "X-Poedit-SearchPath-0: .."
24
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
  #. Translators: Bold text label in admin error messages
26
  #: ../lib/loco-admin.php:15 ../pub/js/lang/dummy.php:7
27
  msgctxt "Message label"
@@ -38,10 +204,6 @@ msgctxt "Message label"
38
  msgid "OK"
39
  msgstr "OK"
40
 
41
- #: ../lib/loco-admin.php:47
42
- msgid "Settings saved"
43
- msgstr ""
44
-
45
  #: ../lib/loco-admin.php:120
46
  msgid "New PO file"
47
  msgstr "Nieuw PO-bestand"
@@ -126,30 +288,14 @@ msgstr "%s onzeker"
126
  msgid "%s untranslated"
127
  msgstr "%s onvertaald"
128
 
129
- #: ../lib/loco-admin.php:838
130
- msgid "Failed to compile MO file with built-in compiler"
131
- msgstr ""
132
-
133
  #: ../lib/loco-admin.php:867
134
  msgid "Loco, Translation Management"
135
  msgstr "Loco, vertalingsbeheer"
136
 
137
- #: ../lib/loco-admin.php:869
138
- msgid "Translation"
139
- msgstr ""
140
-
141
  #: ../lib/loco-admin.php:872 ../lib/loco-admin.php:883
142
  msgid "Manage translations"
143
  msgstr "Beheer vertalingen"
144
 
145
- #: ../lib/loco-admin.php:884 ../tpl/admin-fscheck.tpl.php:7 ../tpl/admin-opts.tpl.php:7 ../tpl/admin-poedit.tpl.php:8 ../tpl/admin-poinit.tpl.php:8 ../tpl/admin-root.tpl.php:7
146
- msgid "Settings"
147
- msgstr ""
148
-
149
- #: ../lib/loco-admin.php:908
150
- msgid "File download failed"
151
- msgstr ""
152
-
153
  #: ../lib/loco-locales.php:70
154
  msgid "Unknown language"
155
  msgstr "Onbekende taal"
@@ -158,50 +304,18 @@ msgstr "Onbekende taal"
158
  msgid "Some files not writable"
159
  msgstr "Sommige bestanden hebben geen schrijfrechten"
160
 
161
- #: ../lib/loco-packages.php:249
162
- msgid "Some files missing"
163
- msgstr ""
164
-
165
  #: ../lib/loco-packages.php:255
166
  msgid "\"%s\" folder not writable"
167
  msgstr "Map \"%s\" heeft geen schrijfrechten"
168
 
169
- #: ../lib/loco-packages.php:266
170
- msgid "Folder not writable"
171
- msgstr ""
172
-
173
- #: ../lib/loco-packages.php:268
174
- msgid "POT file not writable"
175
- msgstr ""
176
-
177
- #: ../lib/loco-packages.php:272
178
- msgid "PO file not writable"
179
- msgstr ""
180
-
181
- #: ../lib/loco-packages.php:274
182
- msgid "MO file not writable"
183
- msgstr ""
184
-
185
- #: ../lib/loco-packages.php:274
186
- msgid "MO file not found"
187
- msgstr ""
188
-
189
  #: ../php/loco-ajax.php:17 ../php/loco-download.php:21
190
  msgid "User does not have permission to manage translations"
191
  msgstr "Gebruik heeft geen rechten om vertalingen te beheren"
192
 
193
- #: ../php/loco-download.php:68 ../php/loco-posave.php:88
194
- msgid "Failed to compile MO file with %s, check your settings"
195
- msgstr ""
196
-
197
  #: ../php/loco-posave.php:10 ../php/loco-posync.php:9
198
  msgid "Invalid data posted to server"
199
  msgstr "Ongeldige gegevens op server"
200
 
201
- #: ../php/loco-posave.php:23 ../php/loco-posync.php:22
202
- msgid "Package not found called %s"
203
- msgstr ""
204
-
205
  #: ../php/loco-posave.php:37
206
  msgid ""
207
  "Web server cannot create \"%s\" directory in \"%s\". Fix file permissions or create "
@@ -226,86 +340,14 @@ msgstr ""
226
  "Bestand %s kan niet beschreven worden door de webserver. Bewerk de "
227
  "schrijfrechten of download en kopieer naar \"%s/%s\"."
228
 
229
- #: ../php/loco-posave.php:69
230
- msgid "Cannot create MO file"
231
- msgstr ""
232
-
233
- #: ../php/loco-posave.php:72
234
- msgid "Cannot overwrite MO file"
235
- msgstr ""
236
-
237
- #: ../php/loco-posave.php:98
238
- msgid "Failed to write MO file"
239
- msgstr ""
240
-
241
  #: ../php/loco-posync.php:53
242
  msgid "No strings could be extracted from source files"
243
  msgstr "Er konden geen te vertalen teksten uit de bronbestanden gehaald worden"
244
 
245
- #: ../pub/js/lang/dummy.php:8
246
- msgid "Unknown error"
247
- msgstr ""
248
-
249
- #: ../pub/js/lang/dummy.php:9
250
- msgid "PO file saved"
251
- msgstr ""
252
-
253
- #: ../pub/js/lang/dummy.php:10
254
- msgid "and MO file compiled"
255
- msgstr ""
256
-
257
- #: ../pub/js/lang/dummy.php:11
258
- msgid "Merged from %s"
259
- msgstr ""
260
-
261
- #: ../pub/js/lang/dummy.php:12
262
- msgid "Merged from source code"
263
- msgstr ""
264
-
265
- #: ../pub/js/lang/dummy.php:13
266
- msgid "Already up to date with %s"
267
- msgstr ""
268
-
269
- #: ../pub/js/lang/dummy.php:14
270
- msgid "Already up to date with source code"
271
- msgstr ""
272
-
273
- #: ../pub/js/lang/dummy.php:15
274
- msgid "1 new string added"
275
- msgid_plural "%s new strings added"
276
- msgstr[0] ""
277
- msgstr[1] ""
278
-
279
- #: ../pub/js/lang/dummy.php:16
280
- msgid "1 obsolete string removed"
281
- msgid_plural "%s obsolete strings removed"
282
- msgstr[0] ""
283
- msgstr[1] ""
284
-
285
- #: ../pub/js/lang/dummy.php:17
286
- msgid "Your changes will be lost if you continue without saving"
287
- msgstr ""
288
-
289
  #: ../tpl/admin-fscheck.tpl.php:6 ../tpl/admin-opts.tpl.php:6 ../tpl/admin-poedit.tpl.php:6 ../tpl/admin-poinit.tpl.php:6 ../tpl/admin-root.tpl.php:6
290
  msgid "Packages"
291
  msgstr "Pakketten"
292
 
293
- #: ../tpl/admin-fscheck.tpl.php:8
294
- msgid "File check"
295
- msgstr ""
296
-
297
- #: ../tpl/admin-fscheck.tpl.php:17
298
- msgid "File system permissions for %s"
299
- msgstr ""
300
-
301
- #: ../tpl/admin-fscheck.tpl.php:40
302
- msgid "Back"
303
- msgstr ""
304
-
305
- #: ../tpl/admin-fscheck.tpl.php:41 ../tpl/admin-opts.tpl.php:64
306
- msgid "Get help"
307
- msgstr ""
308
-
309
  #: ../tpl/admin-list.tpl.php:11
310
  msgctxt "Table header"
311
  msgid "Package details"
@@ -337,51 +379,14 @@ msgctxt "Modified time"
337
  msgid "Updated"
338
  msgstr "Geüpdated"
339
 
340
- #: ../tpl/admin-list.tpl.php:93
341
- msgid "OK"
342
- msgstr ""
343
-
344
  #: ../tpl/admin-nav.tpl.php:20
345
  msgid "Powered by"
346
  msgstr "Ondersteund door"
347
 
348
- #: ../tpl/admin-opts.tpl.php:18
349
- msgid "Configure Loco Translate"
350
- msgstr ""
351
-
352
- #: ../tpl/admin-opts.tpl.php:27 ../tpl/admin-opts.tpl.php:31
353
- msgid "Compiling MO files"
354
- msgstr ""
355
-
356
- #: ../tpl/admin-opts.tpl.php:36
357
- msgid "Use built-in MO compiler."
358
- msgstr ""
359
-
360
- #: ../tpl/admin-opts.tpl.php:42
361
- msgid "Use external command:"
362
- msgstr ""
363
-
364
- #: ../tpl/admin-opts.tpl.php:47
365
- msgid "Enter path to msgfmt on server"
366
- msgstr ""
367
-
368
- #: ../tpl/admin-opts.tpl.php:54
369
- msgid "Generate hash tables"
370
- msgstr ""
371
-
372
- #: ../tpl/admin-opts.tpl.php:63
373
- msgid "Save settings"
374
- msgstr ""
375
-
376
  #: ../tpl/admin-poedit.tpl.php:31
377
  msgid "Template file"
378
  msgstr "Sjabloonbestand"
379
 
380
- #: ../tpl/admin-poedit.tpl.php:39
381
- msgctxt "Dropdown label"
382
- msgid "Switch to..."
383
- msgstr ""
384
-
385
  #: ../tpl/admin-poedit.tpl.php:57
386
  msgid "Updated"
387
  msgstr "Geüpdated"
@@ -473,8 +478,3 @@ msgstr "Thema's"
473
  msgctxt "Package list header"
474
  msgid "Plugins"
475
  msgstr "Plug-ins"
476
-
477
- #: ../tpl/admin-root.tpl.php:66
478
- msgctxt "Package list header"
479
- msgid "Core"
480
- msgstr ""
3
  "Project-Id-Version: Loco Translate\n"
4
  "Report-Msgid-Bugs-To: \n"
5
  "POT-Creation-Date: Thu Jan 02 2014 17:30:57 GMT+0000 (GMT)\n"
6
+ "PO-Revision-Date: Mon Jan 20 2014 00:38:19 GMT+0000 (GMT)\n"
7
  "Last-Translator: admin <support@localise.biz>\n"
8
  "Language-Team: \n"
9
  "Language: Dutch\n"
22
  "X-Poedit-Basepath: .\n"
23
  "X-Poedit-SearchPath-0: .."
24
 
25
+ #: ../lib/loco-admin.php:47
26
+ msgid "Settings saved"
27
+ msgstr ""
28
+
29
+ #: ../lib/loco-admin.php:838
30
+ msgid "Failed to compile MO file with built-in compiler"
31
+ msgstr ""
32
+
33
+ #: ../lib/loco-admin.php:869
34
+ msgid "Translation"
35
+ msgstr ""
36
+
37
+ #: ../lib/loco-admin.php:884 ../tpl/admin-fscheck.tpl.php:7 ../tpl/admin-opts.tpl.php:7 ../tpl/admin-poedit.tpl.php:8 ../tpl/admin-poinit.tpl.php:8 ../tpl/admin-root.tpl.php:7
38
+ msgid "Settings"
39
+ msgstr ""
40
+
41
+ #: ../lib/loco-admin.php:908
42
+ msgid "File download failed"
43
+ msgstr ""
44
+
45
+ #: ../lib/loco-packages.php:249
46
+ msgid "Some files missing"
47
+ msgstr ""
48
+
49
+ #: ../lib/loco-packages.php:266
50
+ msgid "Folder not writable"
51
+ msgstr ""
52
+
53
+ #: ../lib/loco-packages.php:268
54
+ msgid "POT file not writable"
55
+ msgstr ""
56
+
57
+ #: ../lib/loco-packages.php:272
58
+ msgid "PO file not writable"
59
+ msgstr ""
60
+
61
+ #: ../lib/loco-packages.php:274
62
+ msgid "MO file not writable"
63
+ msgstr ""
64
+
65
+ #: ../lib/loco-packages.php:274
66
+ msgid "MO file not found"
67
+ msgstr ""
68
+
69
+ #: ../php/loco-download.php:68 ../php/loco-posave.php:88
70
+ msgid "Failed to compile MO file with %s, check your settings"
71
+ msgstr ""
72
+
73
+ #: ../php/loco-posave.php:23 ../php/loco-posync.php:22
74
+ msgid "Package not found called %s"
75
+ msgstr ""
76
+
77
+ #: ../php/loco-posave.php:69
78
+ msgid "Cannot create MO file"
79
+ msgstr ""
80
+
81
+ #: ../php/loco-posave.php:72
82
+ msgid "Cannot overwrite MO file"
83
+ msgstr ""
84
+
85
+ #: ../php/loco-posave.php:98
86
+ msgid "Failed to write MO file"
87
+ msgstr ""
88
+
89
+ #: ../pub/js/lang/dummy.php:8
90
+ msgid "Unknown error"
91
+ msgstr ""
92
+
93
+ #: ../pub/js/lang/dummy.php:9
94
+ msgid "PO file saved"
95
+ msgstr ""
96
+
97
+ #: ../pub/js/lang/dummy.php:10
98
+ msgid "and MO file compiled"
99
+ msgstr ""
100
+
101
+ #: ../pub/js/lang/dummy.php:11
102
+ msgid "Merged from %s"
103
+ msgstr ""
104
+
105
+ #: ../pub/js/lang/dummy.php:12
106
+ msgid "Merged from source code"
107
+ msgstr ""
108
+
109
+ #: ../pub/js/lang/dummy.php:13
110
+ msgid "Already up to date with %s"
111
+ msgstr ""
112
+
113
+ #: ../pub/js/lang/dummy.php:14
114
+ msgid "Already up to date with source code"
115
+ msgstr ""
116
+
117
+ #: ../pub/js/lang/dummy.php:15
118
+ msgid "1 new string added"
119
+ msgid_plural "%s new strings added"
120
+ msgstr[0] ""
121
+ msgstr[1] ""
122
+
123
+ #: ../pub/js/lang/dummy.php:16
124
+ msgid "1 obsolete string removed"
125
+ msgid_plural "%s obsolete strings removed"
126
+ msgstr[0] ""
127
+ msgstr[1] ""
128
+
129
+ #: ../pub/js/lang/dummy.php:17
130
+ msgid "Your changes will be lost if you continue without saving"
131
+ msgstr ""
132
+
133
+ #: ../tpl/admin-fscheck.tpl.php:8
134
+ msgid "File check"
135
+ msgstr ""
136
+
137
+ #: ../tpl/admin-fscheck.tpl.php:17
138
+ msgid "File system permissions for %s"
139
+ msgstr ""
140
+
141
+ #: ../tpl/admin-fscheck.tpl.php:40
142
+ msgid "Back"
143
+ msgstr ""
144
+
145
+ #: ../tpl/admin-fscheck.tpl.php:41 ../tpl/admin-opts.tpl.php:64
146
+ msgid "Get help"
147
+ msgstr ""
148
+
149
+ #: ../tpl/admin-list.tpl.php:93
150
+ msgid "OK"
151
+ msgstr ""
152
+
153
+ #: ../tpl/admin-opts.tpl.php:18
154
+ msgid "Configure Loco Translate"
155
+ msgstr ""
156
+
157
+ #: ../tpl/admin-opts.tpl.php:27 ../tpl/admin-opts.tpl.php:31
158
+ msgid "Compiling MO files"
159
+ msgstr ""
160
+
161
+ #: ../tpl/admin-opts.tpl.php:36
162
+ msgid "Use built-in MO compiler."
163
+ msgstr ""
164
+
165
+ #: ../tpl/admin-opts.tpl.php:42
166
+ msgid "Use external command:"
167
+ msgstr ""
168
+
169
+ #: ../tpl/admin-opts.tpl.php:47
170
+ msgid "Enter path to msgfmt on server"
171
+ msgstr ""
172
+
173
+ #: ../tpl/admin-opts.tpl.php:54
174
+ msgid "Generate hash tables"
175
+ msgstr ""
176
+
177
+ #: ../tpl/admin-opts.tpl.php:63
178
+ msgid "Save settings"
179
+ msgstr ""
180
+
181
+ #: ../tpl/admin-poedit.tpl.php:39
182
+ msgctxt "Dropdown label"
183
+ msgid "Switch to..."
184
+ msgstr ""
185
+
186
+ #: ../tpl/admin-root.tpl.php:66
187
+ msgctxt "Package list header"
188
+ msgid "Core"
189
+ msgstr ""
190
+
191
  #. Translators: Bold text label in admin error messages
192
  #: ../lib/loco-admin.php:15 ../pub/js/lang/dummy.php:7
193
  msgctxt "Message label"
204
  msgid "OK"
205
  msgstr "OK"
206
 
 
 
 
 
207
  #: ../lib/loco-admin.php:120
208
  msgid "New PO file"
209
  msgstr "Nieuw PO-bestand"
288
  msgid "%s untranslated"
289
  msgstr "%s onvertaald"
290
 
 
 
 
 
291
  #: ../lib/loco-admin.php:867
292
  msgid "Loco, Translation Management"
293
  msgstr "Loco, vertalingsbeheer"
294
 
 
 
 
 
295
  #: ../lib/loco-admin.php:872 ../lib/loco-admin.php:883
296
  msgid "Manage translations"
297
  msgstr "Beheer vertalingen"
298
 
 
 
 
 
 
 
 
 
299
  #: ../lib/loco-locales.php:70
300
  msgid "Unknown language"
301
  msgstr "Onbekende taal"
304
  msgid "Some files not writable"
305
  msgstr "Sommige bestanden hebben geen schrijfrechten"
306
 
 
 
 
 
307
  #: ../lib/loco-packages.php:255
308
  msgid "\"%s\" folder not writable"
309
  msgstr "Map \"%s\" heeft geen schrijfrechten"
310
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
311
  #: ../php/loco-ajax.php:17 ../php/loco-download.php:21
312
  msgid "User does not have permission to manage translations"
313
  msgstr "Gebruik heeft geen rechten om vertalingen te beheren"
314
 
 
 
 
 
315
  #: ../php/loco-posave.php:10 ../php/loco-posync.php:9
316
  msgid "Invalid data posted to server"
317
  msgstr "Ongeldige gegevens op server"
318
 
 
 
 
 
319
  #: ../php/loco-posave.php:37
320
  msgid ""
321
  "Web server cannot create \"%s\" directory in \"%s\". Fix file permissions or create "
340
  "Bestand %s kan niet beschreven worden door de webserver. Bewerk de "
341
  "schrijfrechten of download en kopieer naar \"%s/%s\"."
342
 
 
 
 
 
 
 
 
 
 
 
 
 
343
  #: ../php/loco-posync.php:53
344
  msgid "No strings could be extracted from source files"
345
  msgstr "Er konden geen te vertalen teksten uit de bronbestanden gehaald worden"
346
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
347
  #: ../tpl/admin-fscheck.tpl.php:6 ../tpl/admin-opts.tpl.php:6 ../tpl/admin-poedit.tpl.php:6 ../tpl/admin-poinit.tpl.php:6 ../tpl/admin-root.tpl.php:6
348
  msgid "Packages"
349
  msgstr "Pakketten"
350
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
351
  #: ../tpl/admin-list.tpl.php:11
352
  msgctxt "Table header"
353
  msgid "Package details"
379
  msgid "Updated"
380
  msgstr "Geüpdated"
381
 
 
 
 
 
382
  #: ../tpl/admin-nav.tpl.php:20
383
  msgid "Powered by"
384
  msgstr "Ondersteund door"
385
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
386
  #: ../tpl/admin-poedit.tpl.php:31
387
  msgid "Template file"
388
  msgstr "Sjabloonbestand"
389
 
 
 
 
 
 
390
  #: ../tpl/admin-poedit.tpl.php:57
391
  msgid "Updated"
392
  msgstr "Geüpdated"
478
  msgctxt "Package list header"
479
  msgid "Plugins"
480
  msgstr "Plug-ins"
 
 
 
 
 
languages/loco-translate-tr_TR.mo ADDED
Binary file
languages/loco-translate-tr_TR.po ADDED
@@ -0,0 +1,496 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Loco Translate\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: Thu Jan 02 2014 17:30:57 GMT+0000 (GMT)\n"
6
+ "PO-Revision-Date: Mon Mar 03 2014 12:28:24 GMT+0000 (GMT)\n"
7
+ "Last-Translator: admin <animal@192.168.0.7.xip.io>\n"
8
+ "Language-Team: \n"
9
+ "Language: Turkish\n"
10
+ "Plural-Forms: nplurals=2; plural=(n>1)\n"
11
+ "MIME-Version: 1.0\n"
12
+ "Content-Type: text/plain; charset=UTF-8\n"
13
+ "Content-Transfer-Encoding: 8bit\n"
14
+ "X-Poedit-SourceCharset: UTF-8\n"
15
+ "X-Poedit-Basepath: .\n"
16
+ "X-Poedit-SearchPath-0: ..\n"
17
+ "X-Poedit-KeywordsList: _:1;gettext:1;dgettext:2;ngettext:1,2;dngettext:2,3;__:1;"
18
+ "_e:1;_c:1;_n:1,2;_n_noop:1,2;_nc:1,2;__ngettext:1,2;__ngettext_noop:1,2;_x:1,2c;"
19
+ "_ex:1,2c;_nx:1,2,4c;_nx_noop:1,2,3c;_n_js:1,2;_nx_js:1,2,3c;esc_attr__:1;"
20
+ "esc_html__:1;esc_attr_e:1;esc_html_e:1;esc_attr_x:1,2c;esc_html_x:1,2c;"
21
+ "comments_number_link:2,3;t:1;st:1;trans:1;transChoice:1,2\n"
22
+ "X-Generator: Loco - https://localise.biz/\n"
23
+ "X-Loco-Target-Locale: tr_TR"
24
+
25
+ #. Translators: Bold text label in admin error messages
26
+ #: ../lib/loco-admin.php:15 ../pub/js/lang/dummy.php:7
27
+ msgctxt "Message label"
28
+ msgid "Error"
29
+ msgstr "Hata"
30
+
31
+ #: ../lib/loco-admin.php:24 ../pub/js/lang/dummy.php:6
32
+ msgctxt "Message label"
33
+ msgid "Warning"
34
+ msgstr "Uyarı"
35
+
36
+ #: ../lib/loco-admin.php:33 ../pub/js/lang/dummy.php:5
37
+ msgctxt "Message label"
38
+ msgid "OK"
39
+ msgstr "TAMAM"
40
+
41
+ #: ../lib/loco-admin.php:47
42
+ msgid "Settings saved"
43
+ msgstr "Ayarlar saklandı"
44
+
45
+ #: ../lib/loco-admin.php:120
46
+ msgid "New PO file"
47
+ msgstr "Yeni PO Dosyası"
48
+
49
+ #: ../lib/loco-admin.php:230
50
+ msgid "You must specify a valid locale for a new PO file"
51
+ msgstr "Yeni PO dosyası için geçerli bir locale değeri belirtmek zorundasınız"
52
+
53
+ #: ../lib/loco-admin.php:252 ../lib/loco-admin.php:342
54
+ msgid "No translatable strings found"
55
+ msgstr "Çevrilebilir cümle bulunamadı"
56
+
57
+ #: ../lib/loco-admin.php:252
58
+ msgid "Cannot create a PO file."
59
+ msgstr "Bir PO dosyası oluşturulamıyor."
60
+
61
+ #: ../lib/loco-admin.php:259
62
+ msgid "PO file already exists with locale %s"
63
+ msgstr "PO dosyası %s locale değeri ile zaten mevcut"
64
+
65
+ #: ../lib/loco-admin.php:312
66
+ msgid ""
67
+ "File cannot be created automatically. Fix the file permissions or use Download "
68
+ "instead of Save"
69
+ msgstr ""
70
+ "Dosya otomatik olarak oluşturulamıyor. Dosya izinlerini tamir edin ya da "
71
+ "Saklama yerine İndirin."
72
+
73
+ #: ../lib/loco-admin.php:321 ../lib/loco-admin.php:330
74
+ msgid "%s file is empty"
75
+ msgstr "%s dosyası boş"
76
+
77
+ #: ../lib/loco-admin.php:322 ../lib/loco-admin.php:337
78
+ msgid "Run Sync to update from source code"
79
+ msgstr "Kaynak dosyasından güncelleme için Senkr. çalıştır"
80
+
81
+ #: ../lib/loco-admin.php:326
82
+ msgid "No strings could be extracted from source code"
83
+ msgstr "Kaynak kodundan herhangi cümle çıkarılamadı"
84
+
85
+ #: ../lib/loco-admin.php:333
86
+ msgid "Run Sync to update from %s"
87
+ msgstr "%s üzerinden güncelleme için Senkr. çalıştır"
88
+
89
+ #: ../lib/loco-admin.php:352
90
+ msgid "Source code has been modified, run Sync to update POT"
91
+ msgstr "Kaynak dosyası değiştirilmiş, POT güncellemesi için Senkr. çalıştırın"
92
+
93
+ #: ../lib/loco-admin.php:356
94
+ msgid "POT has been modified since PO file was saved, run Sync to update"
95
+ msgstr ""
96
+ "PO dosyası en son saklandığından beri POT değişikliğe uğramış, güncelleme için "
97
+ "Senkr. çalıştırın."
98
+
99
+ #: ../lib/loco-admin.php:429
100
+ msgid "Bad file path"
101
+ msgstr "Uygun olmayan dosya yolu"
102
+
103
+ #: ../lib/loco-admin.php:732
104
+ msgctxt "Add button"
105
+ msgid "New template"
106
+ msgstr "Yeni şablon"
107
+
108
+ #: ../lib/loco-admin.php:751
109
+ msgctxt "Add button"
110
+ msgid "New language"
111
+ msgstr "Yeni dil"
112
+
113
+ #: ../lib/loco-admin.php:790
114
+ msgid "%s%% translated"
115
+ msgstr "%s%% çevrildi"
116
+
117
+ #: ../lib/loco-admin.php:790
118
+ msgid "1 string"
119
+ msgid_plural "%s strings"
120
+ msgstr[0] "1 cümle"
121
+ msgstr[1] "%s cümle"
122
+
123
+ #: ../lib/loco-admin.php:793
124
+ msgid "%s fuzzy"
125
+ msgstr "%s bulanık"
126
+
127
+ #: ../lib/loco-admin.php:796
128
+ msgid "%s untranslated"
129
+ msgstr "%s çevrilmemiş"
130
+
131
+ #: ../lib/loco-admin.php:838
132
+ msgid "Failed to compile MO file with built-in compiler"
133
+ msgstr "Dahili derleyici ile MO derlemesinde hata"
134
+
135
+ #: ../lib/loco-admin.php:867
136
+ msgid "Loco, Translation Management"
137
+ msgstr "Loco, Çevri Yönetimi"
138
+
139
+ #: ../lib/loco-admin.php:869
140
+ msgid "Translation"
141
+ msgstr "Çevri"
142
+
143
+ #: ../lib/loco-admin.php:872 ../lib/loco-admin.php:883
144
+ msgid "Manage translations"
145
+ msgstr "Çevrileri Yönet"
146
+
147
+ #: ../lib/loco-admin.php:884 ../tpl/admin-fscheck.tpl.php:7 ../tpl/admin-opts.tpl.php:7 ../tpl/admin-poedit.tpl.php:8 ../tpl/admin-poinit.tpl.php:8 ../tpl/admin-root.tpl.php:7
148
+ msgid "Settings"
149
+ msgstr "Ayarlar"
150
+
151
+ #: ../lib/loco-admin.php:908
152
+ msgid "File download failed"
153
+ msgstr "Dosya indirme hatası"
154
+
155
+ #: ../lib/loco-locales.php:70
156
+ msgid "Unknown language"
157
+ msgstr "Bilinmeyen dil"
158
+
159
+ #: ../lib/loco-packages.php:273 ../lib/loco-packages.php:279
160
+ msgid "Some files not writable"
161
+ msgstr "Bazı dosyalar yazılabilir değil"
162
+
163
+ #: ../lib/loco-packages.php:282
164
+ msgid "Some files missing"
165
+ msgstr "Bazı dosyalar eksik"
166
+
167
+ #: ../lib/loco-packages.php:288
168
+ msgid "\"%s\" folder not writable"
169
+ msgstr "\"%s\" dizini yazılabilir değil"
170
+
171
+ #: ../lib/loco-packages.php:299
172
+ msgid "Folder not writable"
173
+ msgstr "Dizin yazılabilir değil"
174
+
175
+ #: ../lib/loco-packages.php:301
176
+ msgid "POT file not writable"
177
+ msgstr "POT dosyası yazılabilir değil"
178
+
179
+ #: ../lib/loco-packages.php:305
180
+ msgid "PO file not writable"
181
+ msgstr "PO dosyası yazılabilir değil"
182
+
183
+ #: ../lib/loco-packages.php:307
184
+ msgid "MO file not writable"
185
+ msgstr "MO dosyası yazılabilir değil"
186
+
187
+ #: ../lib/loco-packages.php:307
188
+ msgid "MO file not found"
189
+ msgstr "MO dosyası bulunamadı"
190
+
191
+ #: ../php/loco-ajax.php:17 ../php/loco-download.php:21
192
+ msgid "User does not have permission to manage translations"
193
+ msgstr "Kullanıcı çevrileri yönetmeye yetkili değil"
194
+
195
+ #: ../php/loco-download.php:75 ../php/loco-posave.php:121
196
+ msgid "Failed to compile MO file with %s, check your settings"
197
+ msgstr "%s ile MO dosyası derlemede hata, ayarlarınızı denetleyin"
198
+
199
+ #: ../php/loco-posave.php:10 ../php/loco-posync.php:9
200
+ msgid "Invalid data posted to server"
201
+ msgstr "Sunucuya gönderili veri geçersiz"
202
+
203
+ #: ../php/loco-posave.php:23 ../php/loco-posync.php:22
204
+ msgid "Package not found called %s"
205
+ msgstr "%s isimli paket bulunamadı"
206
+
207
+ #: ../php/loco-posave.php:58
208
+ msgid ""
209
+ "Web server cannot create backups in \"%s\". Fix file permissions or disable "
210
+ "backups in settings"
211
+ msgstr ""
212
+
213
+ #: ../php/loco-posave.php:66
214
+ msgid ""
215
+ "Web server cannot create \"%s\" directory in \"%s\". Fix file permissions or create "
216
+ "it manually."
217
+ msgstr ""
218
+ "Web sunucusu \"%s\" dizini oluşturamıyor \"%s\" içinde. Dosya izinlerini tamir edin "
219
+ "ya da elle oluşturun."
220
+
221
+ #: ../php/loco-posave.php:69
222
+ msgid ""
223
+ "Web server cannot create files in the \"%s\" directory. Fix file permissions or "
224
+ "use the download function."
225
+ msgstr ""
226
+ "Web sunucusu \"%s\" dizini içinde dosya oluşturamıyor. Dosya izinlerini tamir "
227
+ "edin ya da indirme fonksiyonunu kullanın."
228
+
229
+ #: ../php/loco-posave.php:81
230
+ msgid ""
231
+ "%s file is not writable by the web server. Fix file permissions or download and "
232
+ "copy to \"%s/%s\"."
233
+ msgstr ""
234
+ "%s dosyası web sunucu tarafından yazılamaz durumda. Dosya izinlerini tamir edin "
235
+ "ya da indirip \"%s/%s\" yoluna kopyalayın."
236
+
237
+ #: ../php/loco-posave.php:102
238
+ msgid "Cannot create MO file"
239
+ msgstr "MO dosyası oluşturulamıyor"
240
+
241
+ #: ../php/loco-posave.php:105
242
+ msgid "Cannot overwrite MO file"
243
+ msgstr "MO dosyası üzerine yazılamıyor"
244
+
245
+ #: ../php/loco-posave.php:131
246
+ msgid "Failed to write MO file"
247
+ msgstr "MO dosyası yazmada hata"
248
+
249
+ #: ../php/loco-posync.php:53
250
+ msgid "No strings could be extracted from source files"
251
+ msgstr "Kaynak dosyalarından herhangi cümle çıkartılamadı"
252
+
253
+ #: ../pub/js/lang/dummy.php:8
254
+ msgid "Unknown error"
255
+ msgstr "Bilinmeyen hata"
256
+
257
+ #: ../pub/js/lang/dummy.php:9
258
+ msgid "PO file saved"
259
+ msgstr "PO dosyası saklandı"
260
+
261
+ #: ../pub/js/lang/dummy.php:10
262
+ msgid "and MO file compiled"
263
+ msgstr "ve MO dosyası derlendi"
264
+
265
+ #: ../pub/js/lang/dummy.php:11
266
+ msgid "Merged from %s"
267
+ msgstr "%s üzerinden birleştirildi"
268
+
269
+ #: ../pub/js/lang/dummy.php:12
270
+ msgid "Merged from source code"
271
+ msgstr "Kaynak kodtan birleştirildi"
272
+
273
+ #: ../pub/js/lang/dummy.php:13
274
+ msgid "Already up to date with %s"
275
+ msgstr "%s ile zaten güncel"
276
+
277
+ #: ../pub/js/lang/dummy.php:14
278
+ msgid "Already up to date with source code"
279
+ msgstr "Kaynak kod ile zaten güncel"
280
+
281
+ #: ../pub/js/lang/dummy.php:15
282
+ msgid "1 new string added"
283
+ msgid_plural "%s new strings added"
284
+ msgstr[0] "1 yeni cümle eklendi"
285
+ msgstr[1] "%s yeni cümle eklendi"
286
+
287
+ #: ../pub/js/lang/dummy.php:16
288
+ msgid "1 obsolete string removed"
289
+ msgid_plural "%s obsolete strings removed"
290
+ msgstr[0] "1 kullanımdışı cümle kaldırıldı"
291
+ msgstr[1] "%s kullanımdışı cümle kaldırıldı"
292
+
293
+ #: ../pub/js/lang/dummy.php:17
294
+ msgid "Your changes will be lost if you continue without saving"
295
+ msgstr "Saklamadan devam ederseniz değişiklikleriniz kaybolacak"
296
+
297
+ #: ../tpl/admin-fscheck.tpl.php:6 ../tpl/admin-opts.tpl.php:6 ../tpl/admin-poedit.tpl.php:6 ../tpl/admin-poinit.tpl.php:6 ../tpl/admin-root.tpl.php:6
298
+ msgid "Packages"
299
+ msgstr "Paketler"
300
+
301
+ #: ../tpl/admin-fscheck.tpl.php:8
302
+ msgid "File check"
303
+ msgstr "Dosya denetimi"
304
+
305
+ #: ../tpl/admin-fscheck.tpl.php:17
306
+ msgid "File system permissions for %s"
307
+ msgstr "%s için dosya sistemi izinleri"
308
+
309
+ #: ../tpl/admin-fscheck.tpl.php:40
310
+ msgid "Back"
311
+ msgstr "Geri"
312
+
313
+ #: ../tpl/admin-fscheck.tpl.php:41 ../tpl/admin-opts.tpl.php:80
314
+ msgid "Get help"
315
+ msgstr "Yardım al"
316
+
317
+ #: ../tpl/admin-list.tpl.php:11
318
+ msgctxt "Table header"
319
+ msgid "Package details"
320
+ msgstr "Paket detayları"
321
+
322
+ #: ../tpl/admin-list.tpl.php:14
323
+ msgctxt "Table header"
324
+ msgid "Translations (PO)"
325
+ msgstr "Çevriler (PO)"
326
+
327
+ #: ../tpl/admin-list.tpl.php:17
328
+ msgctxt "Table header"
329
+ msgid "Template (POT)"
330
+ msgstr "Şablon (POT)"
331
+
332
+ #: ../tpl/admin-list.tpl.php:20
333
+ msgctxt "Table header"
334
+ msgid "File permissions"
335
+ msgstr "Dosya izinleri"
336
+
337
+ #: ../tpl/admin-list.tpl.php:38
338
+ msgid "1 language"
339
+ msgid_plural "%u languages"
340
+ msgstr[0] "1 dil"
341
+ msgstr[1] "%u dil"
342
+
343
+ #: ../tpl/admin-list.tpl.php:43
344
+ msgctxt "Modified time"
345
+ msgid "Updated"
346
+ msgstr "Güncellenme"
347
+
348
+ #: ../tpl/admin-list.tpl.php:93
349
+ msgid "OK"
350
+ msgstr "TAMAM"
351
+
352
+ #: ../tpl/admin-nav.tpl.php:20
353
+ msgid "Powered by"
354
+ msgstr "Destekleyici:"
355
+
356
+ #: ../tpl/admin-opts.tpl.php:18
357
+ msgid "Configure Loco Translate"
358
+ msgstr "Loco Translate'i konfigüre et"
359
+
360
+ #: ../tpl/admin-opts.tpl.php:27 ../tpl/admin-opts.tpl.php:31
361
+ msgid "Compiling MO files"
362
+ msgstr "MO dosyaları derleme"
363
+
364
+ #: ../tpl/admin-opts.tpl.php:36
365
+ msgid "Use built-in MO compiler."
366
+ msgstr "Dahili MO derleyici kullan."
367
+
368
+ #: ../tpl/admin-opts.tpl.php:42
369
+ msgid "Use external command:"
370
+ msgstr "Harici komut kullan:"
371
+
372
+ #: ../tpl/admin-opts.tpl.php:47
373
+ msgid "Enter path to msgfmt on server"
374
+ msgstr "Sunucudaki msgfmt'ye yol gir"
375
+
376
+ #: ../tpl/admin-opts.tpl.php:54
377
+ msgid "Generate hash tables"
378
+ msgstr "Hash tabloları üret"
379
+
380
+ #: ../tpl/admin-opts.tpl.php:61 ../tpl/admin-opts.tpl.php:65
381
+ msgid "Backing up PO files"
382
+ msgstr ""
383
+
384
+ #: ../tpl/admin-opts.tpl.php:69
385
+ msgid "Number of backups to keep of each file:"
386
+ msgstr ""
387
+
388
+ #: ../tpl/admin-opts.tpl.php:79
389
+ msgid "Save settings"
390
+ msgstr "Ayarları sakla"
391
+
392
+ #: ../tpl/admin-poedit.tpl.php:31
393
+ msgid "Template file"
394
+ msgstr "Şablon dosyası"
395
+
396
+ #: ../tpl/admin-poedit.tpl.php:39
397
+ msgctxt "Dropdown label"
398
+ msgid "Switch to..."
399
+ msgstr "Geç:"
400
+
401
+ #: ../tpl/admin-poedit.tpl.php:57
402
+ msgid "Updated"
403
+ msgstr "Güncel"
404
+
405
+ #: ../tpl/admin-poedit.tpl.php:62
406
+ msgid "never"
407
+ msgstr "asla"
408
+
409
+ #: ../tpl/admin-poedit.tpl.php:87
410
+ msgctxt "Editor button"
411
+ msgid "Save"
412
+ msgstr "Sakla"
413
+
414
+ #: ../tpl/admin-poedit.tpl.php:94 ../tpl/admin-poedit.tpl.php:103
415
+ msgctxt "Editor button"
416
+ msgid "Download"
417
+ msgstr "İndir"
418
+
419
+ #: ../tpl/admin-poedit.tpl.php:115
420
+ msgctxt "Editor button"
421
+ msgid "Sync"
422
+ msgstr "Senkr."
423
+
424
+ #: ../tpl/admin-poedit.tpl.php:120
425
+ msgctxt "Editor button"
426
+ msgid "Revert"
427
+ msgstr "Sıfırla"
428
+
429
+ #: ../tpl/admin-poedit.tpl.php:125
430
+ msgctxt "Editor button"
431
+ msgid "Add"
432
+ msgstr "Ekle"
433
+
434
+ #: ../tpl/admin-poedit.tpl.php:130
435
+ msgctxt "Editor button"
436
+ msgid "Del"
437
+ msgstr "Sil"
438
+
439
+ #: ../tpl/admin-poedit.tpl.php:135
440
+ msgctxt "Editor button"
441
+ msgid "Fuzzy"
442
+ msgstr "Bulanık"
443
+
444
+ #: ../tpl/admin-poedit.tpl.php:139
445
+ msgid "Filter translations"
446
+ msgstr "Çevrileri filtrele"
447
+
448
+ #: ../tpl/admin-poedit.tpl.php:143
449
+ msgctxt "Editor button"
450
+ msgid "Help"
451
+ msgstr "Yardım"
452
+
453
+ #: ../tpl/admin-poinit.tpl.php:21
454
+ msgid "Initialize new translations in %s"
455
+ msgstr "%s için yeni çevriler başlat"
456
+
457
+ #: ../tpl/admin-poinit.tpl.php:34
458
+ msgid "Select from common languages"
459
+ msgstr "Yaygın diller arasından seç"
460
+
461
+ #: ../tpl/admin-poinit.tpl.php:45
462
+ msgctxt "Form label"
463
+ msgid "or enter any language code"
464
+ msgstr "veya herhangi dil kodu gir"
465
+
466
+ #: ../tpl/admin-poinit.tpl.php:51
467
+ msgctxt "Submit button"
468
+ msgid "Start translating"
469
+ msgstr "Çevriye Başla"
470
+
471
+ #: ../tpl/admin-root.tpl.php:18
472
+ msgid "New version available"
473
+ msgstr "Yeni versiyon mevcut"
474
+
475
+ #: ../tpl/admin-root.tpl.php:21
476
+ msgid "Upgrade to version %s of Loco Translate"
477
+ msgstr "Loco Translate'in %s versiyonuna yükselt"
478
+
479
+ #: ../tpl/admin-root.tpl.php:31
480
+ msgid "Select a plugin or theme to translate"
481
+ msgstr "Çevirisini yapmak için bir eklenti ya da tema seç"
482
+
483
+ #: ../tpl/admin-root.tpl.php:40
484
+ msgctxt "Package list header"
485
+ msgid "Themes"
486
+ msgstr "Temalar"
487
+
488
+ #: ../tpl/admin-root.tpl.php:53
489
+ msgctxt "Package list header"
490
+ msgid "Plugins"
491
+ msgstr "Eklentiler"
492
+
493
+ #: ../tpl/admin-root.tpl.php:66
494
+ msgctxt "Package list header"
495
+ msgid "Core"
496
+ msgstr "Çekirdek"
languages/loco-translate.pot CHANGED
@@ -5,7 +5,7 @@ msgstr ""
5
  "Project-Id-Version: Loco Translate\n"
6
  "Report-Msgid-Bugs-To: \n"
7
  "POT-Creation-Date: Thu Jan 02 2014 17:30:57 GMT+0000 (GMT)\n"
8
- "POT-Revision-Date: Sat Jan 04 2014 20:45:33 GMT+0000 (GMT)\n"
9
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
10
  "Last-Translator: \n"
11
  "Language-Team: \n"
@@ -154,35 +154,35 @@ msgstr ""
154
  msgid "Unknown language"
155
  msgstr ""
156
 
157
- #: ../lib/loco-packages.php:240 ../lib/loco-packages.php:246
158
  msgid "Some files not writable"
159
  msgstr ""
160
 
161
- #: ../lib/loco-packages.php:249
162
  msgid "Some files missing"
163
  msgstr ""
164
 
165
- #: ../lib/loco-packages.php:255
166
  msgid "\"%s\" folder not writable"
167
  msgstr ""
168
 
169
- #: ../lib/loco-packages.php:266
170
  msgid "Folder not writable"
171
  msgstr ""
172
 
173
- #: ../lib/loco-packages.php:268
174
  msgid "POT file not writable"
175
  msgstr ""
176
 
177
- #: ../lib/loco-packages.php:272
178
  msgid "PO file not writable"
179
  msgstr ""
180
 
181
- #: ../lib/loco-packages.php:274
182
  msgid "MO file not writable"
183
  msgstr ""
184
 
185
- #: ../lib/loco-packages.php:274
186
  msgid "MO file not found"
187
  msgstr ""
188
 
@@ -190,7 +190,7 @@ msgstr ""
190
  msgid "User does not have permission to manage translations"
191
  msgstr ""
192
 
193
- #: ../php/loco-download.php:68 ../php/loco-posave.php:88
194
  msgid "Failed to compile MO file with %s, check your settings"
195
  msgstr ""
196
 
@@ -202,33 +202,39 @@ msgstr ""
202
  msgid "Package not found called %s"
203
  msgstr ""
204
 
205
- #: ../php/loco-posave.php:37
 
 
 
 
 
 
206
  msgid ""
207
  "Web server cannot create \"%s\" directory in \"%s\". Fix file permissions or create "
208
  "it manually."
209
  msgstr ""
210
 
211
- #: ../php/loco-posave.php:40
212
  msgid ""
213
  "Web server cannot create files in the \"%s\" directory. Fix file permissions or "
214
  "use the download function."
215
  msgstr ""
216
 
217
- #: ../php/loco-posave.php:48
218
  msgid ""
219
  "%s file is not writable by the web server. Fix file permissions or download and "
220
  "copy to \"%s/%s\"."
221
  msgstr ""
222
 
223
- #: ../php/loco-posave.php:69
224
  msgid "Cannot create MO file"
225
  msgstr ""
226
 
227
- #: ../php/loco-posave.php:72
228
  msgid "Cannot overwrite MO file"
229
  msgstr ""
230
 
231
- #: ../php/loco-posave.php:98
232
  msgid "Failed to write MO file"
233
  msgstr ""
234
 
@@ -296,7 +302,7 @@ msgstr ""
296
  msgid "Back"
297
  msgstr ""
298
 
299
- #: ../tpl/admin-fscheck.tpl.php:41 ../tpl/admin-opts.tpl.php:64
300
  msgid "Get help"
301
  msgstr ""
302
 
@@ -363,7 +369,15 @@ msgstr ""
363
  msgid "Generate hash tables"
364
  msgstr ""
365
 
366
- #: ../tpl/admin-opts.tpl.php:63
 
 
 
 
 
 
 
 
367
  msgid "Save settings"
368
  msgstr ""
369
 
5
  "Project-Id-Version: Loco Translate\n"
6
  "Report-Msgid-Bugs-To: \n"
7
  "POT-Creation-Date: Thu Jan 02 2014 17:30:57 GMT+0000 (GMT)\n"
8
+ "POT-Revision-Date: Mon Jan 20 2014 00:38:01 GMT+0000 (GMT)\n"
9
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
10
  "Last-Translator: \n"
11
  "Language-Team: \n"
154
  msgid "Unknown language"
155
  msgstr ""
156
 
157
+ #: ../lib/loco-packages.php:273 ../lib/loco-packages.php:279
158
  msgid "Some files not writable"
159
  msgstr ""
160
 
161
+ #: ../lib/loco-packages.php:282
162
  msgid "Some files missing"
163
  msgstr ""
164
 
165
+ #: ../lib/loco-packages.php:288
166
  msgid "\"%s\" folder not writable"
167
  msgstr ""
168
 
169
+ #: ../lib/loco-packages.php:299
170
  msgid "Folder not writable"
171
  msgstr ""
172
 
173
+ #: ../lib/loco-packages.php:301
174
  msgid "POT file not writable"
175
  msgstr ""
176
 
177
+ #: ../lib/loco-packages.php:305
178
  msgid "PO file not writable"
179
  msgstr ""
180
 
181
+ #: ../lib/loco-packages.php:307
182
  msgid "MO file not writable"
183
  msgstr ""
184
 
185
+ #: ../lib/loco-packages.php:307
186
  msgid "MO file not found"
187
  msgstr ""
188
 
190
  msgid "User does not have permission to manage translations"
191
  msgstr ""
192
 
193
+ #: ../php/loco-download.php:75 ../php/loco-posave.php:121
194
  msgid "Failed to compile MO file with %s, check your settings"
195
  msgstr ""
196
 
202
  msgid "Package not found called %s"
203
  msgstr ""
204
 
205
+ #: ../php/loco-posave.php:58
206
+ msgid ""
207
+ "Web server cannot create backups in \"%s\". Fix file permissions or disable "
208
+ "backups in settings"
209
+ msgstr ""
210
+
211
+ #: ../php/loco-posave.php:66
212
  msgid ""
213
  "Web server cannot create \"%s\" directory in \"%s\". Fix file permissions or create "
214
  "it manually."
215
  msgstr ""
216
 
217
+ #: ../php/loco-posave.php:69
218
  msgid ""
219
  "Web server cannot create files in the \"%s\" directory. Fix file permissions or "
220
  "use the download function."
221
  msgstr ""
222
 
223
+ #: ../php/loco-posave.php:81
224
  msgid ""
225
  "%s file is not writable by the web server. Fix file permissions or download and "
226
  "copy to \"%s/%s\"."
227
  msgstr ""
228
 
229
+ #: ../php/loco-posave.php:102
230
  msgid "Cannot create MO file"
231
  msgstr ""
232
 
233
+ #: ../php/loco-posave.php:105
234
  msgid "Cannot overwrite MO file"
235
  msgstr ""
236
 
237
+ #: ../php/loco-posave.php:131
238
  msgid "Failed to write MO file"
239
  msgstr ""
240
 
302
  msgid "Back"
303
  msgstr ""
304
 
305
+ #: ../tpl/admin-fscheck.tpl.php:41 ../tpl/admin-opts.tpl.php:80
306
  msgid "Get help"
307
  msgstr ""
308
 
369
  msgid "Generate hash tables"
370
  msgstr ""
371
 
372
+ #: ../tpl/admin-opts.tpl.php:61 ../tpl/admin-opts.tpl.php:65
373
+ msgid "Backing up PO files"
374
+ msgstr ""
375
+
376
+ #: ../tpl/admin-opts.tpl.php:69
377
+ msgid "Number of backups to keep of each file:"
378
+ msgstr ""
379
+
380
+ #: ../tpl/admin-opts.tpl.php:79
381
  msgid "Save settings"
382
  msgstr ""
383
 
lib/build/gettext-compiled.php CHANGED
@@ -2,6 +2,6 @@
2
  /**
3
  * Compiled source code - DO NOT EDIT!
4
  * @author Tim Whitlock http://timwhitlock.info/
5
- * @date Tue, 14 Jan 2014 22:51:56 +0000
6
  */
7
  class LocoArray implements Iterator { private $i; private $length; private $keys; private $vals; private $index; public function __construct( array $data = array() ){ $this->keys = array_keys( $data ); $this->vals = array_values( $data ); $this->index = array_flip( array_map( 'strtolower', $this->keys ) ); $this->length = count( $this->keys ); $this->rewind(); } public function add( $key, $val ){ $k = strtolower($key); if( isset($this->index[$k]) ){ $this->keys[ $this->index[$k] ] = $key; $this->vals[ $this->index[$k] ] = $val; } else { $this->index[$k] = $this->length++; $this->keys[] = $key; $this->vals[] = $val; } return $this; } public function to_array(){ return array_combine( $this->keys, $this->vals ); } function __toString(){ $pairs = array(); foreach( $this->keys as $i => $key ){ $pairs[] = trim($key).': '.$this->vals[$i]; } return implode("\n", $pairs ); } public function count(){ return $this->length; } public function trimmed( $prop ){ return trim( $this->__get($prop) ); } public function has( $key ){ return isset( $this->index[ strtolower($key) ] ); } public function __get( $key ){ $key = strtolower( $key ); return isset($this->index[$key]) ? $this->vals[ $this->index[$key] ] : null; } public function rewind(){ $this->i = reset( $this->index ); } public function key(){ return is_int($this->i) ? $this->keys[$this->i] : null; } public function current(){ return is_int($this->i) ? $this->vals[$this->i] : null; } public function valid(){ return is_int($this->i); } public function next(){ $this->i = next( $this->index ); } } define( 'LOCO_FLAG_OK', 0 ); define( 'LOCO_FLAG_ERROR', 1 ); define( 'LOCO_FLAG_REVIEW', 2 ); define( 'LOCO_FLAG_PENDING', 3 ); define( 'LOCO_FLAG_FUZZY', 4 ); function loco_flags(){ static $flags = array ( LOCO_FLAG_OK => 'Translated', LOCO_FLAG_ERROR => 'Incorrect', LOCO_FLAG_REVIEW => 'Needs review', LOCO_FLAG_PENDING => 'Pending sign-off', LOCO_FLAG_FUZZY => 'Fuzzy', ); return $flags; } function loco_flag( $f ){ $flags = loco_flags(); if( ! isset($flags[$f]) ){ throw new Exception('Invalid LOCO_FLAG_ constant ', var_export($f,1) ); } return $flags[$f]; } function loco_po_flags(){ static $map = array ( LOCO_FLAG_FUZZY => '#, fuzzy', ); return $map; } function loco_parse_po( $src ){ $i = -1; $key = ''; $entries = array(); $template = array( '#' => array(), 'id' => array(), 'str' => array(), 'ctxt' => array() ); foreach( preg_split('/[\r\n]+/', $src) as $line ){ while( $line = trim($line) ){ $c = $line{0}; if( '"' === $c ){ if( $key && isset($entry) ){ $entry[$key][$idx][] = loco_po_unquote( $line ); } } else if( '#' === $c ){ if( isset($entry['i']) ){ unset( $entry ); $entry = $template; } $f = empty($line{1}) ? ' ' : $line{1}; $entry['#'][$f][] = trim( substr( $line, 1+strlen($f) ), "/ \n\r\t" ); } else if( preg_match('/^msg(id|str|ctxt|id_plural)(?:\[(\d+)\])?[ \t]+/', $line, $r ) ){ $key = $r[1]; $idx = isset($r[2]) ? (int) $r[2] : 0; if( 'str' === $key ){ if( ! isset($entry['i']) ){ $entry['i'] = ++$i; $entries[$i] = &$entry; } } else if( ! isset($entry) || isset($entry['i']) ){ unset( $entry ); $entry = $template; } $line = substr( $line, strlen($r[0]) ); continue; } continue 2; } } unset( $entry ); $assets = array(); foreach( $entries as $i => $entry ){ $asset = array ( 'id' => '', 'source' => implode('',$entry['id'][0]), 'target' => implode('',$entry['str'][0]), ); if( isset($entry['ctxt'][0]) ){ $asset['context'] = implode('',$entry['ctxt'][0]); } $comments = array(); isset($entry['#'][' ']) and $comments = array_merge( $comments, $entry['#'][' ']); isset($entry['#']['.']) and $comments = array_merge( $comments, $entry['#']['.']); $comments and $asset['comment'] = implode("\n", $comments); if( isset($entry['#'][':']) ){ $asset['refs'] = implode( "\n", $entry['#'][':'] ); } if( isset($entry['#'][',']) ){ foreach( $entry['#'][','] as $flag ){ if( $flag = loco_po_parse_flag($flag) ){ $asset['flag'] = $flag; break; } } } $pidx = count($assets); $assets[] = $asset; if( isset($entry['id_plural']) || isset($entry['str'][1]) ){ $idx = 0; $num = max( 2, count($entry['str']) ); while( ++$idx < $num ){ $assets[] = array ( 'id' => '', 'parent' => $pidx, 'plural' => $idx, 'source' => isset($entry['id_plural'][0]) ? implode('',$entry['id_plural'][0]) : '', 'target' => isset($entry['str'][$idx]) ? implode('',$entry['str'][$idx]) : '', ); } } } return $assets; } function loco_po_parse_flag( $text, $flag = 0 ){ $map = loco_po_flags(); foreach( explode(',',$text) as $needle ){ if( $needle = trim($needle) ){ foreach( $map as $loco_flag => $haystack ){ if( false !== stripos($haystack, $needle) ){ $flag |= $loco_flag; break; } } } } return $flag; } function loco_po_unquote( $str ){ return substr( stripcslashes($str), 1, -1 ); } function loco_parse_po_headers( $str ){ $headers = new LocoArray( array() ); foreach( explode("\n",$str) as $line ){ $i = strpos($line,':') and $key = trim( substr($line,0,$i) ) and $headers->add( $key, trim( substr($line,++$i) ) ); } return $headers; } final class PHPTokens implements Iterator { private $tokens; private $i; private $skip_tokens = array(); private $skip_strings = array(); public function __construct( array $tokens ){ $this->tokens = $tokens; $this->rewind(); } public function ignore(){ foreach( func_get_args() as $t ){ if( is_int($t) ){ $this->skip_tokens[$t] = true; } else { $this->skip_strings[$t] = true; } } return $this; } public function advance(){ $this->next(); return $this->current(); } public function rewind(){ $this->i = false === reset($this->tokens) ? null : key($this->tokens); } public function valid(){ return isset($this->i); } public function key(){ return $this->i; } public function next(){ $this->i = false === next($this->tokens) ? null : key($this->tokens); } public function current(){ while( isset($this->i) ){ $tok = $this->tokens[$this->i]; if( is_array($tok) ){ if( isset($this->skip_tokens[$tok[0]]) ){ $this->next(); } else { return $tok; } } else if( isset($this->skip_strings[$tok]) ){ $this->next(); } else { return $tok; } } return false; } } function loco_parse_comment($comment){ if( '*' === $comment{1} ){ $lines = array(); foreach( explode("\n", $comment) as $line ){ $line and $lines[] = trim($line,"/* \r\t"); } $comment = implode("\n", $lines); } return trim( $comment,"/ \n\r\t" ); } function decapse_string( $s ){ if( empty($s) ){ return ''; } $q = $s{0}; switch( $q ){ case "'": case '"': $s = substr( $s, 1, -1 ); if( '"' === $q ){ return stripcslashes($s); } return str_replace( array( '\\'.$q, '\\\\' ), array( $q, '\\' ), $s ); default: trigger_error( "Bad quote character ($q) at offset 0", E_USER_NOTICE ); return $s; } } function loco_extract_php( array $tokens, $fileref = '' ){ $extractor = new LocoPHPExtractor; return $extractor->extract( $tokens, $fileref ); } final class LocoPHPExtractor { private static $rules = array ( '_' => 's', 'gettext' => 's', 'dgettext' => '_s', 'ngettext' => 'sp', 'dngettext' => '_sp', '__' => 's', '_e' => 's', '_c' => 's', '_n' => 'sp', '_n_noop' => 'sp', '_nc' => 'sp', '__ngettext' => 'sp', '__ngettext_noop' => 'sp', '_x' => 'sc', '_ex' => 'sc', '_nx' => 'sp_c', '_nx_noop' => 'spc', '_n_js' => 'sp', '_nx_js' => 'spc', 'esc_attr__' => 's', 'esc_html__' => 's', 'esc_attr_e' => 's', 'esc_html_e' => 's', 'esc_attr_x' => 'sc', 'esc_html_x' => 'sc', 'comments_number_link' => '_sp', 't' => 's', 'st' => 's', 'trans' => 's', 'transChoice' => 'sp', ); private $exp = array(); private $reg = array(); public function extract( array $tokens, $fileref = '' ){ $tokens = new PHPTokens( $tokens ); $tokens->ignore( T_WHITESPACE ); $comment = ''; foreach( $tokens as $tok ){ if( isset($args) ){ if( ')' === $tok ){ isset($arg) and $arg and $args[] = $arg; $this->push( $rule, $args, $comment, $ref ); unset($args,$arg); $comment = ''; } else if( ',' === $tok ){ isset($arg) and $arg and $args[] = $arg; unset($arg); } else if( isset($arg) ){ $arg[] = $tok; } else { $arg = array( $tok ); } } else if( is_array($tok) ){ list($t,$s) = $tok; if( T_COMMENT === $t || T_DOC_COMMENT === $t ){ $comment = $s; } else if( T_STRING === $t && isset(self::$rules[$s]) && '(' === $tokens->advance() ){ $rule = self::$rules[$s]; $args = array(); $ref = $fileref ? $fileref.':'.$tok[2]: ''; } else if( $comment && false === stripos($comment, 'translators') ){ $comment = ''; } } } return $this->exp; } private function push( $rule, array $args, $comment = '', $ref = '' ){ $s = strpos( $rule, 's'); $p = strpos( $rule, 'p'); $c = strpos( $rule, 'c'); foreach( $args as $i => $tokens ){ if( 1 === count($tokens) && is_array($tokens[0]) && T_CONSTANT_ENCAPSED_STRING === $tokens[0][0] ){ $args[$i] = decapse_string( $tokens[0][1] ); } else { $args[$i] = null; } } $key = $msgid = $args[$s]; if( ! $msgid ){ return null; } $entry = array ( 'id' => '', 'source' => $msgid, 'target' => '', ); if( $c && isset($args[$c]) ){ $entry['context'] = $args[$c]; $key .= "\0". $args[$c]; } if( $ref ){ $entry['refs'] = $ref; } if( $comment ){ $entry['comment'] = loco_parse_comment($comment); } if( isset($this->reg[$key]) ){ $index = $this->reg[$key]; $a = array(); isset($this->exp[$index]['refs']) and $a[] = $this->exp[$index]['refs']; isset($entry['refs']) and $a[] = $entry['refs']; $a && $this->exp[$index]['refs'] = implode(" ", $a ); $a = array(); isset($this->exp[$index]['comment']) and $a[] = $this->exp[$index]['comment']; isset($entry['comment']) and $a[] = $entry['comment']; $a && $this->exp[$index]['comment'] = implode("\n", $a ); } else { $index = count($this->exp); $this->reg[$key] = $index; $this->exp[] = $entry; } if( $p && isset($args[$p]) ){ $msgid_plural = $args[$p]; $entry = array ( 'id' => '', 'source' => $msgid_plural, 'target' => '', 'plural' => 1, 'parent' => $index, ); $key = $msgid_plural."\0\0"; if( isset($this->reg[$key]) ){ $plural_index = $this->reg[$key]; $this->exp[$plural_index] = $entry; } else { $plural_index = count($this->exp); $this->reg[$key] = $plural_index; $this->exp[] = $entry; } } return $index; } public function get_xgettext( $input = '-' ){ $cmd = defined('WHICH_XGETTEXT') ? WHICH_XGETTEXT : 'xgettext'; $cmd.= ' -LPHP -c -o-'; if( $k = $this->get_xgettext_keywords() ){ $cmd.= ' -k'.implode(' -k', $k ); } return $cmd.' '.$input; } public function get_xgettext_keywords(){ $ks = array(); foreach( self::$rules as $word => $rule ){ $s = strpos( $rule, 's'); $k = $word.':'.++$s; if( false !== $p = strpos( $rule, 'p') ){ $k.= ','.++$p; } if( false !== $p = strpos( $rule, 'c') ){ $k.= ','.++$p.'c'; } $ks[] = $k; } return $ks; } } function loco_relative_path( $source_path, $target_path ){ $rel = ''; $common = false; $src = preg_split('!/+!', $source_path, -1, PREG_SPLIT_NO_EMPTY ); $dst = preg_split('!/+!', $target_path, -1, PREG_SPLIT_NO_EMPTY ); while( $src && $dst ){ if( current($src) !== current($dst) ){ break; } $common = true; array_shift($src); array_shift($dst); } if( ! $common ){ return $target_path; } if( $src ){ $up = array_fill( 0, count($src), '..' ); $rel = implode('/', $up ); } if( $dst ){ $rel && $rel .= '/'; $rel .= implode('/', $dst ); } return $rel; } class LocoMo { private $bin; private $msgs; private $head; private $hash; public function __construct( array $export, LocoArray $head = null ){ if( ! $head ){ $head = new LocoArray( array( 'Project-Id-Version' => 'Loco', 'Language' => 'English', 'Plural-Forms' => 'nplurals=2; plural=(n!=1);', 'MIME-Version' => '1.0', 'Content-Type' => 'text/plain; charset=UTF-8', 'Content-Transfer-Encoding' => '8bit', 'X-Generator' => 'Loco '.PLUG_HTTP_ADDR, ) ); } $this->head = $head; $this->msgs = $export; $this->bin = ''; } public function enableHash(){ return $this->hash = new LocoMoTable; } public function setHeader( $key, $val ){ $this->head->add($key, $val); return $this; } public function setProject( LocoProject $Proj ){ return $this ->setHeader( 'Project-Id-Version', $Proj->proj_name ) ->setHeader($key, $val) ; } public function setLocale( LocoProjectLocale $Loc ){ return $this ->setHeader( 'Language', $Loc->label ) ->setHeader( 'Plural-Forms', 'nplurals='.$Loc->nplurals.'; plural='.$Loc->pluraleq.';' ) ; } public function count(){ return count($this->msgs); } public function compile(){ $table = array(''); $sources = array(''); $targets = array( $this->head->__toString() ); foreach( $this->msgs as $r ){ $msgid = $r['key']; if( isset($r['context']) && $r['context'] ){ $msgid or $msgid = "(".$r['context'].')'; $msgid = $r['context']."\x04".$msgid; } if( ! $msgid ){ continue; } $msgstr = $r['translation']; if( ! $msgstr ){ continue; } $table[] = $msgid; if( isset($r['plurals']) ){ foreach( $r['plurals'] as $i => $p ){ if( $i === 0 ){ $msgid .= "\0".$p['key']; } $msgstr .= "\0".$p['translation']; } } $sources[] = $msgid; $targets[] = $msgstr; } asort( $sources, SORT_STRING ); $this->bin = ''; $this->writeInteger( 0x950412de ); $this->writeInteger( 0 ); $n = count($sources); $this->writeInteger( $n ); $offset = 28; $this->writeInteger( $offset ); $offset += $n * 8; $this->writeInteger( $offset ); if( $this->hash ){ sort( $table, SORT_STRING ); $this->hash->compile( $table ); $s = $this->hash->count(); } else { $s = 0; } $this->writeInteger( $s ); $offset += $n * 8; $this->writeInteger( $offset ); if( $s ){ $offset += $s * 4; } $source = ''; foreach( $sources as $i => $str ){ $source .= $str."\0"; $this->writeInteger( $strlen = strlen($str) ); $this->writeInteger( $offset ); $offset += $strlen + 1; } $target = ''; foreach( array_keys($sources) as $i ){ $str = $targets[$i]; $target .= $str."\0"; $this->writeInteger( $strlen = strlen($str) ); $this->writeInteger( $offset ); $offset += $strlen + 1; } if( $this->hash ){ $this->bin .= $this->hash->__toString(); } $this->bin .= $source; $this->bin .= $target; return $this->bin; } private function writeInteger( $num ){ $this->bin .= pack( 'V', $num ); return $this; } } class LocoMoTable { private $size = 0; private $bin = ''; private $map; public function __construct( $data = null ){ if( is_array($data) ){ $this->compile( $data ); } else if( $data ){ $this->parse( $data ); } } public function count(){ if( ! isset($this->size) ){ if( $this->bin ){ $this->size = (int) ( strlen( $this->bin ) / 4 ); } else if( is_array($this->map) ){ $this->size = count($this->map); } else { return 0; } if( ! self::is_prime($this->size) || $this->size < 3 ){ throw new Exception('Size expected to be prime number above 2, got '.$this->size); } } return $this->size; } public function bytes(){ return $this->count() * 4; } public function __toString(){ return $this->bin; } public function export(){ if( ! is_array($this->map) ){ $this->parse( $this->bin ); } return $this->map; } private function reset( $length ){ $this->size = max( 3, self::next_prime ( $length * 4 / 3 ) ); $this->bin = null; $this->map = array(); return $this->size; } public function compile( array $msgids ){ $hash_tab_size = $this->reset( count($msgids) ); $packed = array_fill( 0, $hash_tab_size, "\0\0\0\0" ); $j = 0; foreach( $msgids as $msgid ){ $hash_val = self::hashpjw( $msgid ); $idx = $hash_val % $hash_tab_size; if( array_key_exists($idx, $this->map) ){ $incr = 1 + ( $hash_val % ( $hash_tab_size - 2 ) ); do { $idx += $incr; if( $hash_val === $idx ){ throw new Exception('Unable to find empty slot in hash table'); } $idx %= $hash_tab_size; } while( array_key_exists($idx, $this->map ) ); } $this->map[$idx] = $j; $packed[$idx] = pack('V', ++$j ); } return $this->bin = implode('',$packed); } public function lookup( $msgid, array $msgids ){ $hash_val = self::hashpjw( $msgid ); $idx = $hash_val % $this->size; $incr = 1 + ( $hash_val % ( $this->size - 2 ) ); while( true ){ if( ! array_key_exists($idx, $this->map) ){ break; } $j = $this->map[$idx]; if( isset($msgids[$j]) && $msgid === $msgids[$j] ){ return $j; } $idx += $incr; if( $idx === $hash_val ){ break; } $idx %= $this->size; } return -1; } public function parse( $bin ){ $this->bin = (string) $bin; $this->size = null; $hash_tab_size = $this->count(); $this->map = array(); $idx = -1; $byte = 0; while( ++$idx < $hash_tab_size ){ $word = substr( $this->bin, $byte, 4 ); if( "\0\0\0\0" !== $word ){ list(,$j) = unpack('V', $word ); $this->map[$idx] = $j - 1; } $byte += 4; } return $this->map; } public static function hashpjw( $str ){ $i = -1; $hval = 0; $len = strlen($str); while( ++$i < $len ){ $ord = ord( $str{$i} ); $hval = ( $hval << 4 ) + $ord; $g = $hval & 0xf0000000; if( $g !== 0 ){ $hval ^= $g >> 24; $hval ^= $g; } } return $hval; } private static function next_prime( $seed ){ $seed |= 1; while ( ! self::is_prime($seed) ){ $seed += 2; } return $seed; } private static function is_prime( $num ) { if ($num === 1 ){ return false; } if( $num === 2 ){ return true; } if( $num % 2 == 0 ) { return false; } for( $i = 3; $i <= ceil(sqrt($num)); $i = $i + 2) { if($num % $i == 0 ){ return false; } } return true; } } function loco_msgfmt( $po, $withhash = false ){ if( ! is_array($po) ){ $po = loco_parse_po( $po ); } $head = null; if( isset($po[0]) && '' === $po[0]['source'] ){ $head = loco_parse_po_headers( $po[0]['target'] ); $po[0] = null; } $export = array(); foreach( $po as $i => $r ){ if( ! $r ){ continue; } $msg = array ( 'key' => $r['source'], 'translation' => $r['target'], ); if( isset($r['parent']) ){ unset( $parent ); $parent = &$export[ $r['parent'] ]; isset($parent['plurals']) or $parent['plurals'] = array(); $parent['plurals'][] = $msg; } else { isset($r['context']) and $msg['context'] = $r['context']; $export[$i] = $msg; } } $mo = new LocoMo( $export, $head ); if( $withhash ){ $mo->enableHash(); } return $mo->compile(); } function loco_po_stats( array $po ){ $t = $n = $f = $u = 0; foreach( $po as $r ){ if( ! isset($r['source']) || '' === $r['source'] ){ continue; } if( isset($r['parent']) && is_int($r['parent']) ){ continue; } $t++; if( '' === $r['target'] ){ $u++; } else if( isset($r['flag']) && LOCO_FLAG_FUZZY === $r['flag'] ){ $f++; } else { $n++; } } $r = $t && $n ? $n / $t : 0; $p = (string) round( $r * 100 ); return compact('t','p','f','u'); }
2
  /**
3
  * Compiled source code - DO NOT EDIT!
4
  * @author Tim Whitlock http://timwhitlock.info/
5
+ * @date Mon, 20 Jan 2014 00:44:35 +0000
6
  */
7
  class LocoArray implements Iterator { private $i; private $length; private $keys; private $vals; private $index; public function __construct( array $data = array() ){ $this->keys = array_keys( $data ); $this->vals = array_values( $data ); $this->index = array_flip( array_map( 'strtolower', $this->keys ) ); $this->length = count( $this->keys ); $this->rewind(); } public function add( $key, $val ){ $k = strtolower($key); if( isset($this->index[$k]) ){ $this->keys[ $this->index[$k] ] = $key; $this->vals[ $this->index[$k] ] = $val; } else { $this->index[$k] = $this->length++; $this->keys[] = $key; $this->vals[] = $val; } return $this; } public function to_array(){ return array_combine( $this->keys, $this->vals ); } function __toString(){ $pairs = array(); foreach( $this->keys as $i => $key ){ $pairs[] = trim($key).': '.$this->vals[$i]; } return implode("\n", $pairs ); } public function count(){ return $this->length; } public function trimmed( $prop ){ return trim( $this->__get($prop) ); } public function has( $key ){ return isset( $this->index[ strtolower($key) ] ); } public function __get( $key ){ $key = strtolower( $key ); return isset($this->index[$key]) ? $this->vals[ $this->index[$key] ] : null; } public function rewind(){ $this->i = reset( $this->index ); } public function key(){ return is_int($this->i) ? $this->keys[$this->i] : null; } public function current(){ return is_int($this->i) ? $this->vals[$this->i] : null; } public function valid(){ return is_int($this->i); } public function next(){ $this->i = next( $this->index ); } } define( 'LOCO_FLAG_OK', 0 ); define( 'LOCO_FLAG_ERROR', 1 ); define( 'LOCO_FLAG_REVIEW', 2 ); define( 'LOCO_FLAG_PENDING', 3 ); define( 'LOCO_FLAG_FUZZY', 4 ); function loco_flags(){ static $flags = array ( LOCO_FLAG_OK => 'Translated', LOCO_FLAG_ERROR => 'Incorrect', LOCO_FLAG_REVIEW => 'Needs review', LOCO_FLAG_PENDING => 'Pending sign-off', LOCO_FLAG_FUZZY => 'Fuzzy', ); return $flags; } function loco_flag( $f ){ $flags = loco_flags(); if( ! isset($flags[$f]) ){ throw new Exception('Invalid LOCO_FLAG_ constant ', var_export($f,1) ); } return $flags[$f]; } function loco_po_flags(){ static $map = array ( LOCO_FLAG_FUZZY => '#, fuzzy', ); return $map; } function loco_parse_po( $src ){ $i = -1; $key = ''; $entries = array(); $template = array( '#' => array(), 'id' => array(), 'str' => array(), 'ctxt' => array() ); foreach( preg_split('/[\r\n]+/', $src) as $line ){ while( $line = trim($line) ){ $c = $line{0}; if( '"' === $c ){ if( $key && isset($entry) ){ $entry[$key][$idx][] = loco_po_unquote( $line ); } } else if( '#' === $c ){ if( isset($entry['i']) ){ unset( $entry ); $entry = $template; } $f = empty($line{1}) ? ' ' : $line{1}; $entry['#'][$f][] = trim( substr( $line, 1+strlen($f) ), "/ \n\r\t" ); } else if( preg_match('/^msg(id|str|ctxt|id_plural)(?:\[(\d+)\])?[ \t]+/', $line, $r ) ){ $key = $r[1]; $idx = isset($r[2]) ? (int) $r[2] : 0; if( 'str' === $key ){ if( ! isset($entry['i']) ){ $entry['i'] = ++$i; $entries[$i] = &$entry; } } else if( ! isset($entry) || isset($entry['i']) ){ unset( $entry ); $entry = $template; } $line = substr( $line, strlen($r[0]) ); continue; } continue 2; } } unset( $entry ); $assets = array(); foreach( $entries as $i => $entry ){ $asset = array ( 'id' => '', 'source' => implode('',$entry['id'][0]), 'target' => implode('',$entry['str'][0]), ); if( isset($entry['ctxt'][0]) ){ $asset['context'] = implode('',$entry['ctxt'][0]); } $comments = array(); isset($entry['#'][' ']) and $comments = array_merge( $comments, $entry['#'][' ']); isset($entry['#']['.']) and $comments = array_merge( $comments, $entry['#']['.']); $comments and $asset['comment'] = implode("\n", $comments); if( isset($entry['#'][':']) ){ $asset['refs'] = implode( "\n", $entry['#'][':'] ); } if( isset($entry['#'][',']) ){ foreach( $entry['#'][','] as $flag ){ if( $flag = loco_po_parse_flag($flag) ){ $asset['flag'] = $flag; break; } } } $pidx = count($assets); $assets[] = $asset; if( isset($entry['id_plural']) || isset($entry['str'][1]) ){ $idx = 0; $num = max( 2, count($entry['str']) ); while( ++$idx < $num ){ $assets[] = array ( 'id' => '', 'parent' => $pidx, 'plural' => $idx, 'source' => isset($entry['id_plural'][0]) ? implode('',$entry['id_plural'][0]) : '', 'target' => isset($entry['str'][$idx]) ? implode('',$entry['str'][$idx]) : '', ); } } } return $assets; } function loco_po_parse_flag( $text, $flag = 0 ){ $map = loco_po_flags(); foreach( explode(',',$text) as $needle ){ if( $needle = trim($needle) ){ foreach( $map as $loco_flag => $haystack ){ if( false !== stripos($haystack, $needle) ){ $flag |= $loco_flag; break; } } } } return $flag; } function loco_po_unquote( $str ){ return substr( stripcslashes($str), 1, -1 ); } function loco_parse_po_headers( $str ){ $headers = new LocoArray( array() ); foreach( explode("\n",$str) as $line ){ $i = strpos($line,':') and $key = trim( substr($line,0,$i) ) and $headers->add( $key, trim( substr($line,++$i) ) ); } return $headers; } final class PHPTokens implements Iterator { private $tokens; private $i; private $skip_tokens = array(); private $skip_strings = array(); public function __construct( array $tokens ){ $this->tokens = $tokens; $this->rewind(); } public function ignore(){ foreach( func_get_args() as $t ){ if( is_int($t) ){ $this->skip_tokens[$t] = true; } else { $this->skip_strings[$t] = true; } } return $this; } public function advance(){ $this->next(); return $this->current(); } public function rewind(){ $this->i = false === reset($this->tokens) ? null : key($this->tokens); } public function valid(){ return isset($this->i); } public function key(){ return $this->i; } public function next(){ $this->i = false === next($this->tokens) ? null : key($this->tokens); } public function current(){ while( isset($this->i) ){ $tok = $this->tokens[$this->i]; if( is_array($tok) ){ if( isset($this->skip_tokens[$tok[0]]) ){ $this->next(); } else { return $tok; } } else if( isset($this->skip_strings[$tok]) ){ $this->next(); } else { return $tok; } } return false; } } function loco_parse_comment($comment){ if( '*' === $comment{1} ){ $lines = array(); foreach( explode("\n", $comment) as $line ){ $line and $lines[] = trim($line,"/* \r\t"); } $comment = implode("\n", $lines); } return trim( $comment,"/ \n\r\t" ); } function decapse_string( $s ){ if( empty($s) ){ return ''; } $q = $s{0}; switch( $q ){ case "'": case '"': $s = substr( $s, 1, -1 ); if( '"' === $q ){ return stripcslashes($s); } return str_replace( array( '\\'.$q, '\\\\' ), array( $q, '\\' ), $s ); default: trigger_error( "Bad quote character ($q) at offset 0", E_USER_NOTICE ); return $s; } } function loco_extract_php( array $tokens, $fileref = '' ){ $extractor = new LocoPHPExtractor; return $extractor->extract( $tokens, $fileref ); } final class LocoPHPExtractor { private static $rules = array ( '_' => 's', 'gettext' => 's', 'dgettext' => '_s', 'ngettext' => 'sp', 'dngettext' => '_sp', '__' => 's', '_e' => 's', '_c' => 's', '_n' => 'sp', '_n_noop' => 'sp', '_nc' => 'sp', '__ngettext' => 'sp', '__ngettext_noop' => 'sp', '_x' => 'sc', '_ex' => 'sc', '_nx' => 'sp_c', '_nx_noop' => 'spc', '_n_js' => 'sp', '_nx_js' => 'spc', 'esc_attr__' => 's', 'esc_html__' => 's', 'esc_attr_e' => 's', 'esc_html_e' => 's', 'esc_attr_x' => 'sc', 'esc_html_x' => 'sc', 'comments_number_link' => '_sp', 't' => 's', 'st' => 's', 'trans' => 's', 'transChoice' => 'sp', ); private $exp = array(); private $reg = array(); public function extract( array $tokens, $fileref = '' ){ $tokens = new PHPTokens( $tokens ); $tokens->ignore( T_WHITESPACE ); $comment = ''; foreach( $tokens as $tok ){ if( isset($args) ){ if( ')' === $tok ){ isset($arg) and $arg and $args[] = $arg; $this->push( $rule, $args, $comment, $ref ); unset($args,$arg); $comment = ''; } else if( ',' === $tok ){ isset($arg) and $arg and $args[] = $arg; unset($arg); } else if( isset($arg) ){ $arg[] = $tok; } else { $arg = array( $tok ); } } else if( is_array($tok) ){ list($t,$s) = $tok; if( T_COMMENT === $t || T_DOC_COMMENT === $t ){ $comment = $s; } else if( T_STRING === $t && isset(self::$rules[$s]) && '(' === $tokens->advance() ){ $rule = self::$rules[$s]; $args = array(); $ref = $fileref ? $fileref.':'.$tok[2]: ''; } else if( $comment && false === stripos($comment, 'translators') ){ $comment = ''; } } } return $this->exp; } private function push( $rule, array $args, $comment = '', $ref = '' ){ $s = strpos( $rule, 's'); $p = strpos( $rule, 'p'); $c = strpos( $rule, 'c'); foreach( $args as $i => $tokens ){ if( 1 === count($tokens) && is_array($tokens[0]) && T_CONSTANT_ENCAPSED_STRING === $tokens[0][0] ){ $args[$i] = decapse_string( $tokens[0][1] ); } else { $args[$i] = null; } } $key = $msgid = $args[$s]; if( ! $msgid ){ return null; } $entry = array ( 'id' => '', 'source' => $msgid, 'target' => '', ); if( $c && isset($args[$c]) ){ $entry['context'] = $args[$c]; $key .= "\0". $args[$c]; } if( $ref ){ $entry['refs'] = $ref; } if( $comment ){ $entry['comment'] = loco_parse_comment($comment); } if( isset($this->reg[$key]) ){ $index = $this->reg[$key]; $a = array(); isset($this->exp[$index]['refs']) and $a[] = $this->exp[$index]['refs']; isset($entry['refs']) and $a[] = $entry['refs']; $a && $this->exp[$index]['refs'] = implode(" ", $a ); $a = array(); isset($this->exp[$index]['comment']) and $a[] = $this->exp[$index]['comment']; isset($entry['comment']) and $a[] = $entry['comment']; $a && $this->exp[$index]['comment'] = implode("\n", $a ); } else { $index = count($this->exp); $this->reg[$key] = $index; $this->exp[] = $entry; } if( $p && isset($args[$p]) ){ $msgid_plural = $args[$p]; $entry = array ( 'id' => '', 'source' => $msgid_plural, 'target' => '', 'plural' => 1, 'parent' => $index, ); $key = $msgid_plural."\0\0"; if( isset($this->reg[$key]) ){ $plural_index = $this->reg[$key]; $this->exp[$plural_index] = $entry; } else { $plural_index = count($this->exp); $this->reg[$key] = $plural_index; $this->exp[] = $entry; } } return $index; } public function get_xgettext( $input = '-' ){ $cmd = defined('WHICH_XGETTEXT') ? WHICH_XGETTEXT : 'xgettext'; $cmd.= ' -LPHP -c -o-'; if( $k = $this->get_xgettext_keywords() ){ $cmd.= ' -k'.implode(' -k', $k ); } return $cmd.' '.$input; } public function get_xgettext_keywords(){ $ks = array(); foreach( self::$rules as $word => $rule ){ $s = strpos( $rule, 's'); $k = $word.':'.++$s; if( false !== $p = strpos( $rule, 'p') ){ $k.= ','.++$p; } if( false !== $p = strpos( $rule, 'c') ){ $k.= ','.++$p.'c'; } $ks[] = $k; } return $ks; } } function loco_relative_path( $source_path, $target_path ){ $rel = ''; $common = false; $src = preg_split('!/+!', $source_path, -1, PREG_SPLIT_NO_EMPTY ); $dst = preg_split('!/+!', $target_path, -1, PREG_SPLIT_NO_EMPTY ); while( $src && $dst ){ if( current($src) !== current($dst) ){ break; } $common = true; array_shift($src); array_shift($dst); } if( ! $common ){ return $target_path; } if( $src ){ $up = array_fill( 0, count($src), '..' ); $rel = implode('/', $up ); } if( $dst ){ $rel && $rel .= '/'; $rel .= implode('/', $dst ); } return $rel; } class LocoMo { private $bin; private $msgs; private $head; private $hash; public function __construct( array $export, LocoArray $head = null ){ if( ! $head ){ $head = new LocoArray( array( 'Project-Id-Version' => 'Loco', 'Language' => 'English', 'Plural-Forms' => 'nplurals=2; plural=(n!=1);', 'MIME-Version' => '1.0', 'Content-Type' => 'text/plain; charset=UTF-8', 'Content-Transfer-Encoding' => '8bit', 'X-Generator' => 'Loco '.PLUG_HTTP_ADDR, ) ); } $this->head = $head; $this->msgs = $export; $this->bin = ''; } public function enableHash(){ return $this->hash = new LocoMoTable; } public function setHeader( $key, $val ){ $this->head->add($key, $val); return $this; } public function setProject( LocoProject $Proj ){ return $this ->setHeader( 'Project-Id-Version', $Proj->proj_name ) ->setHeader($key, $val) ; } public function setLocale( LocoProjectLocale $Loc ){ return $this ->setHeader( 'Language', $Loc->label ) ->setHeader( 'Plural-Forms', 'nplurals='.$Loc->nplurals.'; plural='.$Loc->pluraleq.';' ) ; } public function count(){ return count($this->msgs); } public function compile(){ $table = array(''); $sources = array(''); $targets = array( $this->head->__toString() ); foreach( $this->msgs as $r ){ $msgid = $r['key']; if( isset($r['context']) && $r['context'] ){ $msgid or $msgid = "(".$r['context'].')'; $msgid = $r['context']."\x04".$msgid; } if( ! $msgid ){ continue; } $msgstr = $r['translation']; if( ! $msgstr ){ continue; } $table[] = $msgid; if( isset($r['plurals']) ){ foreach( $r['plurals'] as $i => $p ){ if( $i === 0 ){ $msgid .= "\0".$p['key']; } $msgstr .= "\0".$p['translation']; } } $sources[] = $msgid; $targets[] = $msgstr; } asort( $sources, SORT_STRING ); $this->bin = ''; $this->writeInteger( 0x950412de ); $this->writeInteger( 0 ); $n = count($sources); $this->writeInteger( $n ); $offset = 28; $this->writeInteger( $offset ); $offset += $n * 8; $this->writeInteger( $offset ); if( $this->hash ){ sort( $table, SORT_STRING ); $this->hash->compile( $table ); $s = $this->hash->count(); } else { $s = 0; } $this->writeInteger( $s ); $offset += $n * 8; $this->writeInteger( $offset ); if( $s ){ $offset += $s * 4; } $source = ''; foreach( $sources as $i => $str ){ $source .= $str."\0"; $this->writeInteger( $strlen = strlen($str) ); $this->writeInteger( $offset ); $offset += $strlen + 1; } $target = ''; foreach( array_keys($sources) as $i ){ $str = $targets[$i]; $target .= $str."\0"; $this->writeInteger( $strlen = strlen($str) ); $this->writeInteger( $offset ); $offset += $strlen + 1; } if( $this->hash ){ $this->bin .= $this->hash->__toString(); } $this->bin .= $source; $this->bin .= $target; return $this->bin; } private function writeInteger( $num ){ $this->bin .= pack( 'V', $num ); return $this; } } class LocoMoTable { private $size = 0; private $bin = ''; private $map; public function __construct( $data = null ){ if( is_array($data) ){ $this->compile( $data ); } else if( $data ){ $this->parse( $data ); } } public function count(){ if( ! isset($this->size) ){ if( $this->bin ){ $this->size = (int) ( strlen( $this->bin ) / 4 ); } else if( is_array($this->map) ){ $this->size = count($this->map); } else { return 0; } if( ! self::is_prime($this->size) || $this->size < 3 ){ throw new Exception('Size expected to be prime number above 2, got '.$this->size); } } return $this->size; } public function bytes(){ return $this->count() * 4; } public function __toString(){ return $this->bin; } public function export(){ if( ! is_array($this->map) ){ $this->parse( $this->bin ); } return $this->map; } private function reset( $length ){ $this->size = max( 3, self::next_prime ( $length * 4 / 3 ) ); $this->bin = null; $this->map = array(); return $this->size; } public function compile( array $msgids ){ $hash_tab_size = $this->reset( count($msgids) ); $packed = array_fill( 0, $hash_tab_size, "\0\0\0\0" ); $j = 0; foreach( $msgids as $msgid ){ $hash_val = self::hashpjw( $msgid ); $idx = $hash_val % $hash_tab_size; if( array_key_exists($idx, $this->map) ){ $incr = 1 + ( $hash_val % ( $hash_tab_size - 2 ) ); do { $idx += $incr; if( $hash_val === $idx ){ throw new Exception('Unable to find empty slot in hash table'); } $idx %= $hash_tab_size; } while( array_key_exists($idx, $this->map ) ); } $this->map[$idx] = $j; $packed[$idx] = pack('V', ++$j ); } return $this->bin = implode('',$packed); } public function lookup( $msgid, array $msgids ){ $hash_val = self::hashpjw( $msgid ); $idx = $hash_val % $this->size; $incr = 1 + ( $hash_val % ( $this->size - 2 ) ); while( true ){ if( ! array_key_exists($idx, $this->map) ){ break; } $j = $this->map[$idx]; if( isset($msgids[$j]) && $msgid === $msgids[$j] ){ return $j; } $idx += $incr; if( $idx === $hash_val ){ break; } $idx %= $this->size; } return -1; } public function parse( $bin ){ $this->bin = (string) $bin; $this->size = null; $hash_tab_size = $this->count(); $this->map = array(); $idx = -1; $byte = 0; while( ++$idx < $hash_tab_size ){ $word = substr( $this->bin, $byte, 4 ); if( "\0\0\0\0" !== $word ){ list(,$j) = unpack('V', $word ); $this->map[$idx] = $j - 1; } $byte += 4; } return $this->map; } public static function hashpjw( $str ){ $i = -1; $hval = 0; $len = strlen($str); while( ++$i < $len ){ $ord = ord( $str{$i} ); $hval = ( $hval << 4 ) + $ord; $g = $hval & 0xf0000000; if( $g !== 0 ){ $hval ^= $g >> 24; $hval ^= $g; } } return $hval; } private static function next_prime( $seed ){ $seed |= 1; while ( ! self::is_prime($seed) ){ $seed += 2; } return $seed; } private static function is_prime( $num ) { if ($num === 1 ){ return false; } if( $num === 2 ){ return true; } if( $num % 2 == 0 ) { return false; } for( $i = 3; $i <= ceil(sqrt($num)); $i = $i + 2) { if($num % $i == 0 ){ return false; } } return true; } } function loco_msgfmt( $po, $withhash = false ){ if( ! is_array($po) ){ $po = loco_parse_po( $po ); } $head = null; if( isset($po[0]) && '' === $po[0]['source'] ){ $head = loco_parse_po_headers( $po[0]['target'] ); $po[0] = null; } $export = array(); foreach( $po as $i => $r ){ if( ! $r ){ continue; } $msg = array ( 'key' => $r['source'], 'translation' => $r['target'], ); if( isset($r['parent']) ){ unset( $parent ); $parent = &$export[ $r['parent'] ]; isset($parent['plurals']) or $parent['plurals'] = array(); $parent['plurals'][] = $msg; } else { isset($r['context']) and $msg['context'] = $r['context']; $export[$i] = $msg; } } $mo = new LocoMo( $export, $head ); if( $withhash ){ $mo->enableHash(); } return $mo->compile(); } function loco_po_stats( array $po ){ $t = $n = $f = $u = 0; foreach( $po as $r ){ if( ! isset($r['source']) || '' === $r['source'] ){ continue; } if( isset($r['parent']) && is_int($r['parent']) ){ continue; } $t++; if( '' === $r['target'] ){ $u++; } else if( isset($r['flag']) && LOCO_FLAG_FUZZY === $r['flag'] ){ $f++; } else { $n++; } } $r = $t && $n ? $n / $t : 0; $p = (string) round( $r * 100 ); return compact('t','p','f','u'); }
lib/build/locales-compiled.php CHANGED
@@ -2,6 +2,6 @@
2
  /**
3
  * Compiled source code - DO NOT EDIT!
4
  * @author Tim Whitlock http://timwhitlock.info/
5
- * @date Tue, 14 Jan 2014 22:51:56 +0000
6
  */
7
  return unserialize('a:130:{s:5:"af_ZA";s:24:"Afrikaans (South Africa)";s:5:"ar_AE";s:29:"Arabic (United Arab Emirates)";s:5:"ar_IL";s:15:"Arabic (Israel)";s:5:"az_TR";s:20:"Azerbaijani (Turkey)";s:5:"bg_BG";s:9:"Bulgarian";s:5:"bn_BD";s:20:"Bengali (Bangladesh)";s:5:"bs_BA";s:30:"Bosnian (Bosnia & Herzegovina)";s:5:"cs_CZ";s:5:"Czech";s:5:"cy_GB";s:5:"Welsh";s:5:"da_DK";s:6:"Danish";s:5:"de_AT";s:16:"German (Austria)";s:5:"de_CH";s:20:"German (Switzerland)";s:5:"de_DE";s:6:"German";s:5:"el_CY";s:14:"Greek (Cyprus)";s:5:"el_GR";s:5:"Greek";s:5:"en_AE";s:30:"English (United Arab Emirates)";s:5:"en_AU";s:19:"English (Australia)";s:5:"en_CA";s:16:"English (Canada)";s:5:"en_GB";s:12:"English (UK)";s:5:"en_HK";s:19:"English (Hong Kong)";s:5:"en_IE";s:17:"English (Ireland)";s:5:"en_IN";s:15:"English (India)";s:5:"en_NZ";s:21:"English (New Zealand)";s:5:"en_SG";s:19:"English (Singapore)";s:5:"en_US";s:13:"English (USA)";s:5:"en_ZA";s:22:"English (South Africa)";s:5:"es_AR";s:19:"Spanish (Argentina)";s:5:"es_BO";s:17:"Spanish (Bolivia)";s:5:"es_CL";s:15:"Spanish (Chile)";s:5:"es_CO";s:18:"Spanish (Colombia)";s:5:"es_CR";s:20:"Spanish (Costa Rica)";s:5:"es_CU";s:14:"Spanish (Cuba)";s:5:"es_DO";s:28:"Spanish (Dominican Republic)";s:5:"es_EC";s:17:"Spanish (Ecuador)";s:5:"es_ES";s:7:"Spanish";s:5:"es_GT";s:19:"Spanish (Guatemala)";s:5:"es_HN";s:18:"Spanish (Honduras)";s:5:"es_MX";s:16:"Spanish (Mexico)";s:5:"es_NI";s:19:"Spanish (Nicaragua)";s:5:"es_PA";s:16:"Spanish (Panama)";s:5:"es_PE";s:14:"Spanish (Peru)";s:5:"es_PY";s:18:"Spanish (Paraguay)";s:5:"es_SV";s:21:"Spanish (El Salvador)";s:5:"es_UY";s:17:"Spanish (Uruguay)";s:5:"es_VE";s:19:"Spanish (Venezuela)";s:5:"et_EE";s:8:"Estonian";s:5:"fa_AF";s:21:"Persian (Afghanistan)";s:5:"fa_IR";s:14:"Persian (Iran)";s:5:"fi_FI";s:7:"Finnish";s:5:"fo_DK";s:17:"Faroese (Denmark)";s:5:"fo_FO";s:23:"Faroese (Faroe Islands)";s:5:"fr_BE";s:16:"French (Belgium)";s:5:"fr_CA";s:15:"French (Canada)";s:5:"fr_CH";s:20:"French (Switzerland)";s:5:"fr_FR";s:6:"French";s:5:"fr_HT";s:14:"French (Haiti)";s:5:"ga_IE";s:15:"Irish (Ireland)";s:5:"gl_ES";s:16:"Galician (Spain)";s:5:"gn_PY";s:18:"Guarani (Paraguay)";s:5:"he_IL";s:15:"Hebrew (Israel)";s:5:"hi_IN";s:13:"Hindi (India)";s:5:"hr_HR";s:8:"Croatian";s:5:"ht_HT";s:14:"Haitian Creole";s:5:"hu_HU";s:9:"Hungarian";s:5:"hy_AM";s:8:"Armenian";s:5:"id_ID";s:10:"Indonesian";s:5:"is_IS";s:9:"Icelandic";s:5:"it_CH";s:21:"Italian (Switzerland)";s:5:"it_IT";s:7:"Italian";s:5:"ja_JP";s:8:"Japanese";s:5:"jv_ID";s:20:"Javanese (Indonesia)";s:5:"ka_GE";s:8:"Georgian";s:5:"kk_KZ";s:6:"Kazakh";s:5:"kn_IN";s:15:"Kannada (India)";s:5:"ko_KR";s:6:"Korean";s:5:"lb_LU";s:13:"Luxembourgish";s:5:"li_NL";s:24:"Limburgish (Netherlands)";s:5:"lo_LA";s:10:"Lao (Laos)";s:5:"lt_LT";s:10:"Lithuanian";s:5:"lv_LV";s:7:"Latvian";s:5:"mg_MG";s:21:"Malagasy (Madagascar)";s:5:"ms_MY";s:16:"Malay (Malaysia)";s:5:"mt_MT";s:7:"Maltese";s:5:"my_MM";s:17:"Burmese (Myanmar)";s:5:"nb_NO";s:7:"Bokmål";s:5:"ne_NP";s:6:"Nepali";s:5:"nl_BE";s:15:"Dutch (Belgium)";s:5:"nl_NL";s:5:"Dutch";s:5:"nn_NO";s:7:"Nynorsk";s:5:"no_NO";s:9:"Norwegian";s:5:"os_GE";s:18:"Ossetian (Georgia)";s:5:"os_RU";s:17:"Ossetian (Russia)";s:5:"os_TR";s:17:"Ossetian (Turkey)";s:5:"pa_IN";s:15:"Punjabi (India)";s:5:"pl_PL";s:6:"Polish";s:5:"pt_BR";s:19:"Portuguese (Brazil)";s:5:"pt_PT";s:10:"Portuguese";s:5:"ro_RO";s:8:"Romanian";s:5:"ru_RU";s:7:"Russian";s:5:"ru_UA";s:17:"Russian (Ukraine)";s:5:"sa_IN";s:16:"Sanskrit (India)";s:5:"sc_IT";s:17:"Sardinian (Italy)";s:5:"sd_PK";s:17:"Sindhi (Pakistan)";s:5:"si_LK";s:19:"Sinhala (Sri Lanka)";s:5:"sk_SK";s:6:"Slovak";s:5:"sl_SI";s:9:"Slovenian";s:5:"so_SO";s:6:"Somali";s:5:"sq_AL";s:18:"Albanian (Albania)";s:5:"sr_RS";s:7:"Serbian";s:5:"su_ID";s:21:"Sundanese (Indonesia)";s:5:"sv_SE";s:7:"Swedish";s:5:"sw_KE";s:15:"Swahili (Kenya)";s:5:"sw_KM";s:17:"Swahili (Comoros)";s:5:"sw_TZ";s:18:"Swahili (Tanzania)";s:5:"sw_UG";s:16:"Swahili (Uganda)";s:5:"ta_IN";s:13:"Tamil (India)";s:5:"ta_LK";s:17:"Tamil (Sri Lanka)";s:5:"te_IN";s:14:"Telugu (India)";s:5:"tg_TJ";s:18:"Tajik (Tajikistan)";s:5:"th_TW";s:13:"Thai (Taiwan)";s:5:"tr_TR";s:7:"Turkish";s:5:"ug_CN";s:14:"Uyghur (China)";s:5:"uk_UA";s:19:"Ukrainian (Ukraine)";s:5:"ur_IN";s:12:"Urdu (India)";s:5:"ur_PK";s:15:"Urdu (Pakistan)";s:5:"uz_UZ";s:18:"Uzbek (Uzbekistan)";s:5:"vi_VN";s:10:"Vietnamese";s:5:"zh_CN";s:7:"Chinese";s:5:"zh_HK";s:19:"Chinese (Hong Kong)";s:5:"zh_TW";s:16:"Chinese (Taiwan)";}');
2
  /**
3
  * Compiled source code - DO NOT EDIT!
4
  * @author Tim Whitlock http://timwhitlock.info/
5
+ * @date Mon, 20 Jan 2014 00:44:35 +0000
6
  */
7
  return unserialize('a:130:{s:5:"af_ZA";s:24:"Afrikaans (South Africa)";s:5:"ar_AE";s:29:"Arabic (United Arab Emirates)";s:5:"ar_IL";s:15:"Arabic (Israel)";s:5:"az_TR";s:20:"Azerbaijani (Turkey)";s:5:"bg_BG";s:9:"Bulgarian";s:5:"bn_BD";s:20:"Bengali (Bangladesh)";s:5:"bs_BA";s:30:"Bosnian (Bosnia & Herzegovina)";s:5:"cs_CZ";s:5:"Czech";s:5:"cy_GB";s:5:"Welsh";s:5:"da_DK";s:6:"Danish";s:5:"de_AT";s:16:"German (Austria)";s:5:"de_CH";s:20:"German (Switzerland)";s:5:"de_DE";s:6:"German";s:5:"el_CY";s:14:"Greek (Cyprus)";s:5:"el_GR";s:5:"Greek";s:5:"en_AE";s:30:"English (United Arab Emirates)";s:5:"en_AU";s:19:"English (Australia)";s:5:"en_CA";s:16:"English (Canada)";s:5:"en_GB";s:12:"English (UK)";s:5:"en_HK";s:19:"English (Hong Kong)";s:5:"en_IE";s:17:"English (Ireland)";s:5:"en_IN";s:15:"English (India)";s:5:"en_NZ";s:21:"English (New Zealand)";s:5:"en_SG";s:19:"English (Singapore)";s:5:"en_US";s:13:"English (USA)";s:5:"en_ZA";s:22:"English (South Africa)";s:5:"es_AR";s:19:"Spanish (Argentina)";s:5:"es_BO";s:17:"Spanish (Bolivia)";s:5:"es_CL";s:15:"Spanish (Chile)";s:5:"es_CO";s:18:"Spanish (Colombia)";s:5:"es_CR";s:20:"Spanish (Costa Rica)";s:5:"es_CU";s:14:"Spanish (Cuba)";s:5:"es_DO";s:28:"Spanish (Dominican Republic)";s:5:"es_EC";s:17:"Spanish (Ecuador)";s:5:"es_ES";s:7:"Spanish";s:5:"es_GT";s:19:"Spanish (Guatemala)";s:5:"es_HN";s:18:"Spanish (Honduras)";s:5:"es_MX";s:16:"Spanish (Mexico)";s:5:"es_NI";s:19:"Spanish (Nicaragua)";s:5:"es_PA";s:16:"Spanish (Panama)";s:5:"es_PE";s:14:"Spanish (Peru)";s:5:"es_PY";s:18:"Spanish (Paraguay)";s:5:"es_SV";s:21:"Spanish (El Salvador)";s:5:"es_UY";s:17:"Spanish (Uruguay)";s:5:"es_VE";s:19:"Spanish (Venezuela)";s:5:"et_EE";s:8:"Estonian";s:5:"fa_AF";s:21:"Persian (Afghanistan)";s:5:"fa_IR";s:14:"Persian (Iran)";s:5:"fi_FI";s:7:"Finnish";s:5:"fo_DK";s:17:"Faroese (Denmark)";s:5:"fo_FO";s:23:"Faroese (Faroe Islands)";s:5:"fr_BE";s:16:"French (Belgium)";s:5:"fr_CA";s:15:"French (Canada)";s:5:"fr_CH";s:20:"French (Switzerland)";s:5:"fr_FR";s:6:"French";s:5:"fr_HT";s:14:"French (Haiti)";s:5:"ga_IE";s:15:"Irish (Ireland)";s:5:"gl_ES";s:16:"Galician (Spain)";s:5:"gn_PY";s:18:"Guarani (Paraguay)";s:5:"he_IL";s:15:"Hebrew (Israel)";s:5:"hi_IN";s:13:"Hindi (India)";s:5:"hr_HR";s:8:"Croatian";s:5:"ht_HT";s:14:"Haitian Creole";s:5:"hu_HU";s:9:"Hungarian";s:5:"hy_AM";s:8:"Armenian";s:5:"id_ID";s:10:"Indonesian";s:5:"is_IS";s:9:"Icelandic";s:5:"it_CH";s:21:"Italian (Switzerland)";s:5:"it_IT";s:7:"Italian";s:5:"ja_JP";s:8:"Japanese";s:5:"jv_ID";s:20:"Javanese (Indonesia)";s:5:"ka_GE";s:8:"Georgian";s:5:"kk_KZ";s:6:"Kazakh";s:5:"kn_IN";s:15:"Kannada (India)";s:5:"ko_KR";s:6:"Korean";s:5:"lb_LU";s:13:"Luxembourgish";s:5:"li_NL";s:24:"Limburgish (Netherlands)";s:5:"lo_LA";s:10:"Lao (Laos)";s:5:"lt_LT";s:10:"Lithuanian";s:5:"lv_LV";s:7:"Latvian";s:5:"mg_MG";s:21:"Malagasy (Madagascar)";s:5:"ms_MY";s:16:"Malay (Malaysia)";s:5:"mt_MT";s:7:"Maltese";s:5:"my_MM";s:17:"Burmese (Myanmar)";s:5:"nb_NO";s:7:"Bokmål";s:5:"ne_NP";s:6:"Nepali";s:5:"nl_BE";s:15:"Dutch (Belgium)";s:5:"nl_NL";s:5:"Dutch";s:5:"nn_NO";s:7:"Nynorsk";s:5:"no_NO";s:9:"Norwegian";s:5:"os_GE";s:18:"Ossetian (Georgia)";s:5:"os_RU";s:17:"Ossetian (Russia)";s:5:"os_TR";s:17:"Ossetian (Turkey)";s:5:"pa_IN";s:15:"Punjabi (India)";s:5:"pl_PL";s:6:"Polish";s:5:"pt_BR";s:19:"Portuguese (Brazil)";s:5:"pt_PT";s:10:"Portuguese";s:5:"ro_RO";s:8:"Romanian";s:5:"ru_RU";s:7:"Russian";s:5:"ru_UA";s:17:"Russian (Ukraine)";s:5:"sa_IN";s:16:"Sanskrit (India)";s:5:"sc_IT";s:17:"Sardinian (Italy)";s:5:"sd_PK";s:17:"Sindhi (Pakistan)";s:5:"si_LK";s:19:"Sinhala (Sri Lanka)";s:5:"sk_SK";s:6:"Slovak";s:5:"sl_SI";s:9:"Slovenian";s:5:"so_SO";s:6:"Somali";s:5:"sq_AL";s:18:"Albanian (Albania)";s:5:"sr_RS";s:7:"Serbian";s:5:"su_ID";s:21:"Sundanese (Indonesia)";s:5:"sv_SE";s:7:"Swedish";s:5:"sw_KE";s:15:"Swahili (Kenya)";s:5:"sw_KM";s:17:"Swahili (Comoros)";s:5:"sw_TZ";s:18:"Swahili (Tanzania)";s:5:"sw_UG";s:16:"Swahili (Uganda)";s:5:"ta_IN";s:13:"Tamil (India)";s:5:"ta_LK";s:17:"Tamil (Sri Lanka)";s:5:"te_IN";s:14:"Telugu (India)";s:5:"tg_TJ";s:18:"Tajik (Tajikistan)";s:5:"th_TW";s:13:"Thai (Taiwan)";s:5:"tr_TR";s:7:"Turkish";s:5:"ug_CN";s:14:"Uyghur (China)";s:5:"uk_UA";s:19:"Ukrainian (Ukraine)";s:5:"ur_IN";s:12:"Urdu (India)";s:5:"ur_PK";s:15:"Urdu (Pakistan)";s:5:"uz_UZ";s:18:"Uzbek (Uzbekistan)";s:5:"vi_VN";s:10:"Vietnamese";s:5:"zh_CN";s:7:"Chinese";s:5:"zh_HK";s:19:"Chinese (Hong Kong)";s:5:"zh_TW";s:16:"Chinese (Taiwan)";}');
lib/build/shell-compiled.php CHANGED
@@ -2,6 +2,6 @@
2
  /**
3
  * Compiled source code - DO NOT EDIT!
4
  * @author Tim Whitlock http://timwhitlock.info/
5
- * @date Tue, 14 Jan 2014 22:51:56 +0000
6
  */
7
  function loco_compile_mo( $po ){ $descriptorspec = array( 0 => array('pipe', 'r'), 1 => array('pipe', 'w'), 2 => array('pipe', 'a'), ); $cmd = WHICH_MSGFMT.' -o - -'; $process = proc_open($cmd, $descriptorspec, $pipes ); if( ! $process ){ throw new Exception('Failed to open process to '.$cmd); } fwrite($pipes[0], $po); fclose($pipes[0]); $err = stream_get_contents($pipes[2]); fclose($pipes[2]); $mo = stream_get_contents($pipes[1]); fclose($pipes[1]); $e = proc_close($process); if( 0 !== $e ){ $err and trigger_error( $err, E_USER_WARNING ); throw new Exception( WHICH_MSGFMT.' exited with code '.sprintf('%d',$e).'; Got '.strlen($mo).' bytes from '.strlen($po).' bytes'); } if( ! $mo ){ throw new Exception('Empty file from '.WHICH_MSGFMT); } return $mo; } function loco_compile_mo_file( $pofile, $mofile = '' ){ $descriptorspec = array ( 0 => array('pipe', 'r'), 1 => array('pipe', 'w'), 2 => array('pipe', 'a'), ); if( ! $mofile ){ $mofile = $pofile.'.mo'; } $cmd = WHICH_MSGFMT.' -o '.escapeshellarg($mofile).' '.escapeshellarg($pofile); $process = proc_open($cmd, $descriptorspec, $pipes ); if( ! $process ){ throw new Exception('Failed to open process to '.$cmd); } $err = stream_get_contents($pipes[0]); fclose($pipes[0]); $e = proc_close($process); if( 0 !== $e ){ $err and trigger_error( $err, E_USER_WARNING ); throw new Exception('Gettext msgfmt exited with code '.sprintf('%d',$e).';'); } if( ! file_exists($mofile) ){ throw new Exception('Gettext msgfmt failed to create '.$mofile); } return $mofile; } function loco_find_executable( $name ){ $paths = array ( '/usr/local/', '/usr/', '/', '~/' ); $descriptorspec = array ( 0 => array('pipe', 'r'), 1 => array('pipe', 'w'), 2 => array('pipe', 'w'), ); foreach( array('bin/','sbin/') as $dir ){ foreach( $paths as $path ){ $bin = $path.$dir.$name; $cmd = '[ -x '.escapeshellarg($bin).' ]'; $process = proc_open( $cmd, $descriptorspec, $pipes ); if( ! $process ){ return ''; } $e = proc_close($process); if( 0 === $e ){ return $bin; } } } return ''; }
2
  /**
3
  * Compiled source code - DO NOT EDIT!
4
  * @author Tim Whitlock http://timwhitlock.info/
5
+ * @date Mon, 20 Jan 2014 00:44:35 +0000
6
  */
7
  function loco_compile_mo( $po ){ $descriptorspec = array( 0 => array('pipe', 'r'), 1 => array('pipe', 'w'), 2 => array('pipe', 'a'), ); $cmd = WHICH_MSGFMT.' -o - -'; $process = proc_open($cmd, $descriptorspec, $pipes ); if( ! $process ){ throw new Exception('Failed to open process to '.$cmd); } fwrite($pipes[0], $po); fclose($pipes[0]); $err = stream_get_contents($pipes[2]); fclose($pipes[2]); $mo = stream_get_contents($pipes[1]); fclose($pipes[1]); $e = proc_close($process); if( 0 !== $e ){ $err and trigger_error( $err, E_USER_WARNING ); throw new Exception( WHICH_MSGFMT.' exited with code '.sprintf('%d',$e).'; Got '.strlen($mo).' bytes from '.strlen($po).' bytes'); } if( ! $mo ){ throw new Exception('Empty file from '.WHICH_MSGFMT); } return $mo; } function loco_compile_mo_file( $pofile, $mofile = '' ){ $descriptorspec = array ( 0 => array('pipe', 'r'), 1 => array('pipe', 'w'), 2 => array('pipe', 'a'), ); if( ! $mofile ){ $mofile = $pofile.'.mo'; } $cmd = WHICH_MSGFMT.' -o '.escapeshellarg($mofile).' '.escapeshellarg($pofile); $process = proc_open($cmd, $descriptorspec, $pipes ); if( ! $process ){ throw new Exception('Failed to open process to '.$cmd); } $err = stream_get_contents($pipes[0]); fclose($pipes[0]); $e = proc_close($process); if( 0 !== $e ){ $err and trigger_error( $err, E_USER_WARNING ); throw new Exception('Gettext msgfmt exited with code '.sprintf('%d',$e).';'); } if( ! file_exists($mofile) ){ throw new Exception('Gettext msgfmt failed to create '.$mofile); } return $mofile; } function loco_find_executable( $name ){ $paths = array ( '/usr/local/', '/usr/', '/', '~/' ); $descriptorspec = array ( 0 => array('pipe', 'r'), 1 => array('pipe', 'w'), 2 => array('pipe', 'w'), ); foreach( array('bin/','sbin/') as $dir ){ foreach( $paths as $path ){ $bin = $path.$dir.$name; $cmd = '[ -x '.escapeshellarg($bin).' ]'; $process = proc_open( $cmd, $descriptorspec, $pipes ); if( ! $process ){ return ''; } $e = proc_close($process); if( 0 === $e ){ return $bin; } } } return ''; }
lib/loco-admin.php CHANGED
@@ -229,23 +229,26 @@ abstract class LocoAdmin {
229
  if( ! $locale ){
230
  throw new Exception( Loco::__('You must specify a valid locale for a new PO file') );
231
  }
232
- // default domain and PO file name
233
- if( ! $domain ){
234
- $domain = $package->get_domain();
235
- }
236
- $po_dir = $package->lang_dir( $domain );
237
- $po_name = $domain.'-'.$locale->get_code().'.po';
238
 
239
- // extract from POT if possible
240
- if( $pot_path = $package->get_pot( $domain ) ){
241
  $pot = self::parse_po_with_headers( $pot_path, $head );
242
  if( $pot && ! ( 1 === count($pot) && '' === $pot[0]['source'] ) ){
243
  $export = $pot;
244
- $po_dir = dirname($pot_path);
 
 
 
 
245
  }
246
  }
247
 
248
- // else extract from source code when no POT
249
  if( ! $export ){
250
  $export = self::xgettext( $package, $po_dir );
251
  if( ! $export ){
229
  if( ! $locale ){
230
  throw new Exception( Loco::__('You must specify a valid locale for a new PO file') );
231
  }
232
+
233
+ // default PO file location
234
+ $po_path = $package->create_po_path( $locale, $domain );
235
+ $po_dir = dirname( $po_path );
236
+ $po_name = basename( $po_path );
 
237
 
238
+ // extract strings from POT if possible
239
+ if( $pot_path = $package->get_pot($domain) ){
240
  $pot = self::parse_po_with_headers( $pot_path, $head );
241
  if( $pot && ! ( 1 === count($pot) && '' === $pot[0]['source'] ) ){
242
  $export = $pot;
243
+ // override default PO location if POT location is writable
244
+ $pot_dir = dirname( $pot_path );
245
+ if( is_writable($pot_dir) ){
246
+ $po_dir = $pot_dir;
247
+ }
248
  }
249
  }
250
 
251
+ // else extract strings from source code when no POT
252
  if( ! $export ){
253
  $export = self::xgettext( $package, $po_dir );
254
  if( ! $export ){
lib/loco-boot.php CHANGED
@@ -8,7 +8,7 @@ abstract class Loco {
8
  /** plugin namespace */
9
  const NS = 'loco-translate';
10
 
11
- const VERSION = '1.4.1';
12
  const CAPABILITY = 'manage_options';
13
 
14
  /* whether to enable APC cache */
@@ -149,12 +149,10 @@ abstract class Loco {
149
  /**
150
  *
151
  */
152
- public static function utm_query( $utm_medium = 'wp', $utm_campaign = 'wp' ){
153
- static $utm_source, $utm_content;
154
- if( ! isset($utm_source) ){
155
- $utm_source = parse_url( get_bloginfo('url'), PHP_URL_HOST ) or $utm_source = $_SERVER['HTTP_HOST'];
156
- $utm_content = Loco::NS.'-'.Loco::VERSION;
157
- }
158
  return http_build_query( compact('utm_campaign','utm_medium','utm_content','utm_source') );
159
  }
160
 
@@ -263,6 +261,8 @@ abstract class Loco {
263
  'which_msgfmt' => '',
264
  // whether to compile hash table into mo files
265
  'gen_hash' => '0',
 
 
266
  );
267
  foreach( $conf as $key => $val ){
268
  $conf[$key] = get_option( Loco::NS.'-'.$key);
8
  /** plugin namespace */
9
  const NS = 'loco-translate';
10
 
11
+ const VERSION = '1.4.2';
12
  const CAPABILITY = 'manage_options';
13
 
14
  /* whether to enable APC cache */
149
  /**
150
  *
151
  */
152
+ public static function utm_query( $utm_medium ){
153
+ $utm_campaign = 'wp';
154
+ $utm_source = 'wp-admin';
155
+ $utm_content = Loco::VERSION;
 
 
156
  return http_build_query( compact('utm_campaign','utm_medium','utm_content','utm_source') );
157
  }
158
 
261
  'which_msgfmt' => '',
262
  // whether to compile hash table into mo files
263
  'gen_hash' => '0',
264
+ // number of backups to keep of PO and MO files
265
+ 'num_backups' => '1',
266
  );
267
  foreach( $conf as $key => $val ){
268
  $conf[$key] = get_option( Loco::NS.'-'.$key);
lib/loco-packages.php CHANGED
@@ -233,7 +233,24 @@ class LocoPackage {
233
  // failed to get writable directory, so we'll just return the highest priority
234
  return array_shift( $dirs );
235
  }
236
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
237
 
238
  /**
239
  * Get root of package
233
  // failed to get writable directory, so we'll just return the highest priority
234
  return array_shift( $dirs );
235
  }
236
+
237
+
238
+ /**
239
+ * Build name of PO file for given or default domain
240
+ */
241
+ public function create_po_path( LocoLocale $locale, $domain = '' ){
242
+ if( ! $domain ){
243
+ $domain = $this->domain;
244
+ }
245
+ $dir = $this->lang_dir( $domain );
246
+ $name = $locale->get_code().'.po';
247
+ // only prefix with text domain for plugins and files in global lang directory
248
+ if( 'plugin' === $this->get_type() || 0 === strpos( $dir, $this->_lang_dir() ) ){
249
+ $name = $domain.'-'.$name;
250
+ }
251
+ return $dir.'/'.$name;
252
+ }
253
+
254
 
255
  /**
256
  * Get root of package
loco.php CHANGED
@@ -4,7 +4,7 @@ Plugin Name: Loco Translate
4
  Plugin URI: http://wordpress.org/extend/plugins/loco-translate
5
  Description: Translate Wordpress plugins and themes directly in your browser
6
  Author: Tim Whitlock
7
- Version: 1.4.1
8
  Author URI: http://localise.biz/help/wordpress/translate-plugin
9
  */
10
 
4
  Plugin URI: http://wordpress.org/extend/plugins/loco-translate
5
  Description: Translate Wordpress plugins and themes directly in your browser
6
  Author: Tim Whitlock
7
+ Version: 1.4.2
8
  Author URI: http://localise.biz/help/wordpress/translate-plugin
9
  */
10
 
php/loco-posave.php CHANGED
@@ -24,22 +24,51 @@
24
  }
25
 
26
  $fname = basename($path);
27
- $dname = basename( dirname($path) );
 
28
  $ispot = LocoAdmin::is_pot( $fname );
29
  $ftype = $ispot ? 'POT' : 'PO';
30
 
31
 
32
- // construct directory tree if file does not exist
33
- if( ! file_exists($path) ){
34
- $dir = dirname($path);
35
- if( ! file_exists($dir) && ! mkdir( $path, 0775, true ) ){
36
- $pname = basename( dirname($dir) );
37
- throw new Exception( sprintf(Loco::__('Web server cannot create "%s" directory in "%s". Fix file permissions or create it manually.'), $dname, $pname ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  }
39
- if( ! is_dir($dir) || ! is_writable($dir) ){
40
- throw new Exception( sprintf(Loco::__('Web server cannot create files in the "%s" directory. Fix file permissions or use the download function.'), basename($dir) ) );
41
  }
42
  }
 
 
 
 
 
 
 
 
 
 
 
43
 
44
  // Undo magic quotes if enabled
45
  if( get_magic_quotes_gpc() ){
24
  }
25
 
26
  $fname = basename($path);
27
+ $podir = dirname( $path );
28
+ $dname = basename( $podir );
29
  $ispot = LocoAdmin::is_pot( $fname );
30
  $ftype = $ispot ? 'POT' : 'PO';
31
 
32
 
33
+ // handle file backups if file exists and enabled
34
+ if( file_exists($path) ){
35
+ $conf = Loco::config();
36
+ $num = (int) $conf['num_backups'];
37
+ if( is_writable($podir) ){
38
+ $dest = preg_replace('/\.(pot?)$/i', '-backup-', $path );
39
+ // delete oldest backups until we have $num-1 remaining
40
+ if( $prev = glob( $dest.'*' ) ){
41
+ function _loco_sort_backups( $f1, $f2 ){
42
+ $t1 = filemtime($f1);
43
+ $t2 = filemtime($f2);
44
+ return $t1 < $t2 ? -1 : ( $t2 < $t1 ? 1 : 0 );
45
+ }
46
+ usort( $prev, '_loco_sort_backups' );
47
+ foreach( array_slice( $prev, max(0,$num-1) ) as $oldpath ){
48
+ register_shutdown_function( 'unlink', $oldpath );
49
+ }
50
+ }
51
+ // write new backup
52
+ if( $num ){
53
+ $dest .= date('YmdHis').'.'.strtolower($ftype).'~';
54
+ copy( $path, $dest );
55
+ }
56
  }
57
+ else if( $num ){
58
+ throw new Exception( sprintf(Loco::__('Web server cannot create backups in "%s". Fix file permissions or disable backups in settings'), basename($podir) ) );
59
  }
60
  }
61
+
62
+
63
+ // else construct directory tree if file does not exist
64
+ else if( ! file_exists($podir) && ! mkdir( $path, 0775, true ) ){
65
+ $pname = basename( dirname($podir) );
66
+ throw new Exception( sprintf(Loco::__('Web server cannot create "%s" directory in "%s". Fix file permissions or create it manually.'), $dname, $pname ) );
67
+ }
68
+ else if( ! is_dir($podir) || ! is_writable($podir) ){
69
+ throw new Exception( sprintf(Loco::__('Web server cannot create files in the "%s" directory. Fix file permissions or use the download function.'), basename($podir) ) );
70
+ }
71
+
72
 
73
  // Undo magic quotes if enabled
74
  if( get_magic_quotes_gpc() ){
pub/js/lang/loco-translate-de_DE.js CHANGED
@@ -3,7 +3,7 @@
3
  * Project: loco.js conversion
4
  * Release: Working copy
5
  * Locale: de_DE, German
6
- * Exported at: Tue, 14 Jan 2014 22:52:03 +0000
7
  */
8
  loco = window.loco||{}, loco.t = function( pairs ){
9
 
@@ -29,5 +29,5 @@ loco = window.loco||{}, loco.t = function( pairs ){
29
  return value || ( 1 === n ? msgid1 : msgid2 ) || msgid1 || '';
30
  };
31
  }(
32
- {"Failed to write MO file":"Fehler beim Schreiben der MO-Datei","Generate hash tables":"Erzeuge Hashtabellen","Error":"Fehler","Warning":"Warnung","OK":"OK","Settings saved":"Einstellungen gespeichert","New PO file":"Neue PO-Datei","You must specify a valid locale for a new PO file":"Du musst einen g\u00fcltigen Pfad f\u00fcr die PO-Datei angeben","No translatable strings found":"Keine \u00fcbersetzbaren Zeichenketten gefunden","Cannot create a PO file.":"Erstellen der PO-Datei fehlgeschlagen.","PO file already exists with locale %s":"PO-Datei existiert schon unter %s","File cannot be created automatically. Fix the file permissions or use Download instead of Save":"Datei kann nicht automatisch erstellt werden. Setze die Datei-Zugriffsrechte oder benutze Download anstatt Speichern","%s file is empty":"Datei (%s) ist leer","Run Sync to update from source code":"Benutze Sync, um von der Quelle zu aktualisieren","No strings could be extracted from source code":"Es konnten keine Zeichenketten vom Quellcode extrahiert werden","Run Sync to update from %s":"Benutze Sync, um aus %s zu aktualisieren","Source code has been modified, run Sync to update POT":"Quellcode wurde ge\u00e4ndert, benutze Sync um POT zu aktualisieren","POT has been modified since PO file was saved, run Sync to update":"POT wurde aktualisiert bevor die PO-Datei gespeichert wurde. Benutze Sync zum Aktualisieren.","Bad file path":"Falscher Dateipfad","New template":"Neues Template","New language":"Neue Sprache","%s%% translated":"%s%% \u00fcbersetzt","1 string":{"one":"1 Zeichenkette","other":"%s Zeichenketten"},"%s fuzzy":"%s undeutlich","%s untranslated":"%s nicht \u00fcbersetzt","Failed to compile MO file with built-in compiler":"Kompilieren der MO-Datei mit dem internen Kompilierer fehlgeschlagen.","Loco, Translation Management":"Loco, Translation Management","Translation":"\u00dcbersetzung","Manage translations":"\u00dcbersetzungen verwalten","Settings":"Einstellungen","File download failed":"Dateidownload ist fehlgeschlagen","Unknown language":"Unbekannte Sprache","Some files not writable":"Einige Dateien nicht schreibbar","Some files missing":"Einige Dateien fehlen","\"%s\" folder not writable":"Ordner \"%s\" nicht schreibbar","Folder not writable":"Ordner nicht schreibbar","POT file not writable":"POT-Datei nicht schreibbar","PO file not writable":"PO-Datei nicht schreibbar","MO file not writable":"MO-Datei nicht schreibbar","MO file not found":"MO-Datei nicht gefunden","User does not have permission to manage translations":"Benutzer hat keine Rechte die \u00dcbersetzungen zu verwalten","Failed to compile MO file with %s, check your settings":"Kompilieren der MO-Datei fehlgeschlagen. Bitte pr\u00fcfe Deine Einstellungen","Invalid data posted to server":"Ung\u00fcltige Daten zum Server gesendet","Package not found called %s":"Paket %s nicht gefunden","Web server cannot create \"%s\" directory in \"%s\". Fix file permissions or create it manually.":"Webserver kann Ordner \"%s\" nicht in \"%s\" erstellen. Setze die Zugriffsrechte oder erstelle den Ordner selbst.","Web server cannot create files in the \"%s\" directory. Fix file permissions or use the download function.":"Webserver kann keine Dateien im Ordner \"%s\" erstellen. Setze die Datei-Zugriffsrechte oder benutze Download anstatt Speichern.","%s file is not writable by the web server. Fix file permissions or download and copy to \"%s\/%s\".":"Datei %s ist vom Webserver nicht schreibbar. Setze die Datei-Zugriffsrechte oder benutze Download anstatt Speichern und speichere die Datei auf dem Server unter \"%s\/%s\" ab.","Cannot create MO file":"Erstellen der MO-Datei fehlgeschlagen.","Cannot overwrite MO file":"\u00dcberschreiben der MO-Datei fehlgeschlagen","No strings could be extracted from source files":"Es konnten keine Zeichenketten aus der Quelle extrahiert werden","Unknown error":"Unbekannter Fehler","PO file saved":"PO-Datei gespeichert","and MO file compiled":"und MO-Datei kompiliert","Merged from %s":"Aus %s zusammengef\u00fchrt","Merged from source code":"Aus Quelle zusammengef\u00fchrt","Already up to date with %s":"Bereits auf dem aktuellen Stand mit %s","Already up to date with source code":"Bereits mit der Quelle auf dem aktuellen Stand","1 new string added":{"one":"1 neue Zeichenkette hinzugef\u00fcgt","other":"%s neue Zeichenketten hinzugef\u00fcgt"},"1 obsolete string removed":{"one":"1 veraltete Zeichenkette entfernt","other":"%s veraltete Zeichenketten entfernt"},"Your changes will be lost if you continue without saving":"Deine \u00c4nderungen gehen verloren, wenn du fortsetzt ohne zu Speichern","Packages":"Pakete","File check":"Dateipr\u00fcfung","File system permissions for %s":"Dateisystem-Rechte f\u00fcr %s","Back":"Zur\u00fcck","Get help":"Hilfe erhalten","Package details":"Paketdetails","Translations (PO)":"\u00dcbersetzungen (PO)","Template (POT)":"Template (POT)","File permissions":"Dateizugriffsrechte","1 language":{"one":"1 Sprache","other":"%u Sprachen"},"Updated":"Aktualisiert","Powered by":"Pr\u00e4sentiert von","Configure Loco Translate":"Konfiguriere Loco Translate","Compiling MO files":"MO-Dateien kompilieren","Use built-in MO compiler.":"Benutze internen MO-Kompilierer","Use external command:":"Benutze externes Befehlsprogramm:","Enter path to msgfmt on server":"Pfad zum msgfmt-Programm","Save settings":"Einstellungen speichern","Template file":"Templatedatei","Switch to...":"Wechsle zu...","never":"niemals","Save":"Speichern","Download":"Download","Sync":"Sync","Revert":"zur\u00fccksetzen","Add":"Hinzuf\u00fcgen","Del":"L\u00f6schen","Fuzzy":"Undeutlich","Filter translations":"\u00dcbersetzungen filtern","Help":"Hilfe","Initialize new translations in %s":"Initialisiere neue \u00dcbersetzung in %s","Select from common languages":"W\u00e4hle aus den Standardsprachen","or enter any language code":"oder trage den Sprach-Code ein","Start translating":"Starte \u00dcbersetzung","New version available":"Neue Version verf\u00fcgbar","Upgrade to version %s of Loco Translate":"Bitte upgrade Loco Translate auf Version %s","Select a plugin or theme to translate":"W\u00e4hle ein Plugin oder Theme zum \u00dcbersetzen","Themes":"Themes","Plugins":"Plugins","Core":"Core"}
33
  );
3
  * Project: loco.js conversion
4
  * Release: Working copy
5
  * Locale: de_DE, German
6
+ * Exported at: Mon, 20 Jan 2014 00:44:43 +0000
7
  */
8
  loco = window.loco||{}, loco.t = function( pairs ){
9
 
29
  return value || ( 1 === n ? msgid1 : msgid2 ) || msgid1 || '';
30
  };
31
  }(
32
+ {"Error":"Fehler","Warning":"Warnung","OK":"OK","Settings saved":"Einstellungen gespeichert","New PO file":"Neue PO-Datei","You must specify a valid locale for a new PO file":"Du musst einen g\u00fcltigen Pfad f\u00fcr die PO-Datei angeben","No translatable strings found":"Keine \u00fcbersetzbaren Zeichenketten gefunden","Cannot create a PO file.":"Erstellen der PO-Datei fehlgeschlagen.","PO file already exists with locale %s":"PO-Datei existiert schon unter %s","File cannot be created automatically. Fix the file permissions or use Download instead of Save":"Datei kann nicht automatisch erstellt werden. Setze die Datei-Zugriffsrechte oder benutze Download anstatt Speichern","%s file is empty":"Datei (%s) ist leer","Run Sync to update from source code":"Benutze Sync, um von der Quelle zu aktualisieren","No strings could be extracted from source code":"Es konnten keine Zeichenketten vom Quellcode extrahiert werden","Run Sync to update from %s":"Benutze Sync, um aus %s zu aktualisieren","Source code has been modified, run Sync to update POT":"Quellcode wurde ge\u00e4ndert, benutze Sync um POT zu aktualisieren","POT has been modified since PO file was saved, run Sync to update":"POT wurde aktualisiert bevor die PO-Datei gespeichert wurde. Benutze Sync zum Aktualisieren.","Bad file path":"Falscher Dateipfad","New template":"Neues Template","New language":"Neue Sprache","%s%% translated":"%s%% \u00fcbersetzt","1 string":{"one":"1 Zeichenkette","other":"%s Zeichenketten"},"%s fuzzy":"%s undeutlich","%s untranslated":"%s nicht \u00fcbersetzt","Failed to compile MO file with built-in compiler":"Kompilieren der MO-Datei mit dem internen Kompilierer fehlgeschlagen.","Loco, Translation Management":"Loco, Translation Management","Translation":"\u00dcbersetzung","Manage translations":"\u00dcbersetzungen verwalten","Settings":"Einstellungen","File download failed":"Dateidownload ist fehlgeschlagen","Unknown language":"Unbekannte Sprache","Some files not writable":"Einige Dateien nicht schreibbar","Some files missing":"Einige Dateien fehlen","\"%s\" folder not writable":"Ordner \"%s\" nicht schreibbar","Folder not writable":"Ordner nicht schreibbar","POT file not writable":"POT-Datei nicht schreibbar","PO file not writable":"PO-Datei nicht schreibbar","MO file not writable":"MO-Datei nicht schreibbar","MO file not found":"MO-Datei nicht gefunden","User does not have permission to manage translations":"Benutzer hat keine Rechte die \u00dcbersetzungen zu verwalten","Failed to compile MO file with %s, check your settings":"Kompilieren der MO-Datei fehlgeschlagen. Bitte pr\u00fcfe Deine Einstellungen","Invalid data posted to server":"Ung\u00fcltige Daten zum Server gesendet","Package not found called %s":"Paket %s nicht gefunden","Web server cannot create backups in \"%s\". Fix file permissions or disable backups in settings":"","Web server cannot create \"%s\" directory in \"%s\". Fix file permissions or create it manually.":"Webserver kann Ordner \"%s\" nicht in \"%s\" erstellen. Setze die Zugriffsrechte oder erstelle den Ordner selbst.","Web server cannot create files in the \"%s\" directory. Fix file permissions or use the download function.":"Webserver kann keine Dateien im Ordner \"%s\" erstellen. Setze die Datei-Zugriffsrechte oder benutze Download anstatt Speichern.","%s file is not writable by the web server. Fix file permissions or download and copy to \"%s\/%s\".":"Datei %s ist vom Webserver nicht schreibbar. Setze die Datei-Zugriffsrechte oder benutze Download anstatt Speichern und speichere die Datei auf dem Server unter \"%s\/%s\" ab.","Cannot create MO file":"Erstellen der MO-Datei fehlgeschlagen.","Cannot overwrite MO file":"\u00dcberschreiben der MO-Datei fehlgeschlagen","Failed to write MO file":"Fehler beim Schreiben der MO-Datei","No strings could be extracted from source files":"Es konnten keine Zeichenketten aus der Quelle extrahiert werden","Unknown error":"Unbekannter Fehler","PO file saved":"PO-Datei gespeichert","and MO file compiled":"und MO-Datei kompiliert","Merged from %s":"Aus %s zusammengef\u00fchrt","Merged from source code":"Aus Quelle zusammengef\u00fchrt","Already up to date with %s":"Bereits auf dem aktuellen Stand mit %s","Already up to date with source code":"Bereits mit der Quelle auf dem aktuellen Stand","1 new string added":{"one":"1 neue Zeichenkette hinzugef\u00fcgt","other":"%s neue Zeichenketten hinzugef\u00fcgt"},"1 obsolete string removed":{"one":"1 veraltete Zeichenkette entfernt","other":"%s veraltete Zeichenketten entfernt"},"Your changes will be lost if you continue without saving":"Deine \u00c4nderungen gehen verloren, wenn du fortsetzt ohne zu Speichern","Packages":"Pakete","File check":"Dateipr\u00fcfung","File system permissions for %s":"Dateisystem-Rechte f\u00fcr %s","Back":"Zur\u00fcck","Get help":"Hilfe erhalten","Package details":"Paketdetails","Translations (PO)":"\u00dcbersetzungen (PO)","Template (POT)":"Template (POT)","File permissions":"Dateizugriffsrechte","1 language":{"one":"1 Sprache","other":"%u Sprachen"},"Updated":"Aktualisiert","Powered by":"Pr\u00e4sentiert von","Configure Loco Translate":"Konfiguriere Loco Translate","Compiling MO files":"MO-Dateien kompilieren","Use built-in MO compiler.":"Benutze internen MO-Kompilierer","Use external command:":"Benutze externes Befehlsprogramm:","Enter path to msgfmt on server":"Pfad zum msgfmt-Programm","Generate hash tables":"Erzeuge Hashtabellen","Backing up PO files":"","Number of backups to keep of each file:":"","Save settings":"Einstellungen speichern","Template file":"Templatedatei","Switch to...":"Wechsle zu...","never":"niemals","Save":"Speichern","Download":"Download","Sync":"Sync","Revert":"zur\u00fccksetzen","Add":"Hinzuf\u00fcgen","Del":"L\u00f6schen","Fuzzy":"Undeutlich","Filter translations":"\u00dcbersetzungen filtern","Help":"Hilfe","Initialize new translations in %s":"Initialisiere neue \u00dcbersetzung in %s","Select from common languages":"W\u00e4hle aus den Standardsprachen","or enter any language code":"oder trage den Sprach-Code ein","Start translating":"Starte \u00dcbersetzung","New version available":"Neue Version verf\u00fcgbar","Upgrade to version %s of Loco Translate":"Bitte upgrade Loco Translate auf Version %s","Select a plugin or theme to translate":"W\u00e4hle ein Plugin oder Theme zum \u00dcbersetzen","Themes":"Themes","Plugins":"Plugins","Core":"Core"}
33
  );
pub/js/lang/loco-translate-nl_BE.js CHANGED
@@ -3,7 +3,7 @@
3
  * Project: loco.js conversion
4
  * Release: Working copy
5
  * Locale: nl_BE, Dutch (Belgium)
6
- * Exported at: Tue, 14 Jan 2014 22:52:03 +0000
7
  */
8
  loco = window.loco||{}, loco.t = function( pairs ){
9
 
@@ -29,5 +29,5 @@ loco = window.loco||{}, loco.t = function( pairs ){
29
  return value || ( 1 === n ? msgid1 : msgid2 ) || msgid1 || '';
30
  };
31
  }(
32
- {"Error":"Fout","Warning":"Waarschuwing","OK":"","Settings saved":"","New PO file":"Nieuw PO-bestand","You must specify a valid locale for a new PO file":"Specifieer een geldige locale voor een nieuw PO-bestand","No translatable strings found":"Geen vertaalbare teksten gevonden","Cannot create a PO file.":"Kan geen PO-bestand aanmaken","PO file already exists with locale %s":"PO-bestand bestaat al in locale %s","File cannot be created automatically. Fix the file permissions or use Download instead of Save":"Bestand kan niet automatisch aangemaakt worden. Verander de rechten of gebruik download en bewaar.","%s file is empty":"Het bestand %s is leeg","Run Sync to update from source code":"Voer Sync uit om de broncode up te daten","No strings could be extracted from source code":"Er kon geen tekst uit de broncode gehaald worden","Run Sync to update from %s":"Gebruik Sync om vanuit %s up te daten","Source code has been modified, run Sync to update POT":"Broncode is veranderd. Gebruik Sync om POT up te daten","POT has been modified since PO file was saved, run Sync to update":"POT is veranderd sedert bewaren van het PO-bestand. Gebruik Sync om up te daten","Bad file path":"Foute bestandslocatie","New template":"Nieuw sjabloon","New language":"Nieuwe taal","%s%% translated":"%s%% vertaald","1 string":{"one":"1 te vertalen tekst","other":"%s te vertalen teksten"},"%s fuzzy":"%s onzeker","%s untranslated":"%s onvertaald","Failed to compile MO file with built-in compiler":"","Loco, Translation Management":"Loco, vertalingsbeheer","Translation":"","Manage translations":"Beheer vertalingen","Settings":"","File download failed":"","Unknown language":"Onbekende taal","Some files not writable":"Sommige bestanden hebben geen schrijfrechten","Some files missing":"","\"%s\" folder not writable":"Map \"%s\" heeft geen schrijfrechten","Folder not writable":"","POT file not writable":"","PO file not writable":"","MO file not writable":"","MO file not found":"","User does not have permission to manage translations":"Gebruik heeft geen rechten om vertalingen te beheren","Failed to compile MO file with %s, check your settings":"","Invalid data posted to server":"Ongeldige gegevens op server","Package not found called %s":"","Web server cannot create \"%s\" directory in \"%s\". Fix file permissions or create it manually.":"Webserver kan map \"%s\" in \"%s\" niet aanmaken. Bewerk bestandsrechten of maak het zelf aan.","Web server cannot create files in the \"%s\" directory. Fix file permissions or use the download function.":"Webserver kan map \"%s\" in \"%s\" niet aanmaken. Bewerk bestandsrechten of gebruik de downloadfunctie.","%s file is not writable by the web server. Fix file permissions or download and copy to \"%s\/%s\".":"Bestand %s kan niet beschreven worden door de webserver. Bewerk de schrijfrechten of download en kopieer naar \"%s\/%s\".","Cannot create MO file":"","Cannot overwrite MO file":"","Failed to write MO file":"","No strings could be extracted from source files":"Er konden geen te vertalen teksten uit de bronbestanden gehaald worden","Unknown error":"","PO file saved":"","and MO file compiled":"","Merged from %s":"","Merged from source code":"","Already up to date with %s":"","Already up to date with source code":"","1 new string added":{"one":""},"1 obsolete string removed":{"one":""},"Your changes will be lost if you continue without saving":"","Packages":"Pakketten","File check":"","File system permissions for %s":"","Back":"","Get help":"","Package details":"Pakketdetails","Translations (PO)":"Vertalingen (PO)","Template (POT)":"Sjabloon (POT)","File permissions":"Bestandsrechten","1 language":{"one":"1 taal","other":"%u talen"},"Updated":"Ge\u00fcpdated","Powered by":"Ondersteund door","Configure Loco Translate":"","Compiling MO files":"","Use built-in MO compiler.":"","Use external command:":"","Enter path to msgfmt on server":"","Generate hash tables":"","Save settings":"","Template file":"Sjabloonbestand","Switch to...":"","never":"nooit","Save":"Opslaan","Download":"Downloaden","Sync":"Sync","Revert":"Ongedaan maken","Add":"Toevoegen","Del":"Verwijder","Fuzzy":"Onzeker","Filter translations":"Filter vertalingen","Help":"Help","Initialize new translations in %s":"Start nieuwe vertalingen in %s","Select from common languages":"Selecteer van gebruikelijke talen","or enter any language code":"of geef een taalcode op","Start translating":"Start vertalen","New version available":"Nieuwe versie beschikbaar","Upgrade to version %s of Loco Translate":"Loco Translate upgraden naar versie %s","Select a plugin or theme to translate":"Selecteer een plug-in of thema om te vertalen","Themes":"Thema's","Plugins":"Plug-ins","Core":""}
33
  );
3
  * Project: loco.js conversion
4
  * Release: Working copy
5
  * Locale: nl_BE, Dutch (Belgium)
6
+ * Exported at: Mon, 20 Jan 2014 00:44:43 +0000
7
  */
8
  loco = window.loco||{}, loco.t = function( pairs ){
9
 
29
  return value || ( 1 === n ? msgid1 : msgid2 ) || msgid1 || '';
30
  };
31
  }(
32
+ {"Settings saved":"","Failed to compile MO file with built-in compiler":"","Translation":"","Settings":"","File download failed":"","Some files missing":"","Folder not writable":"","POT file not writable":"","PO file not writable":"","MO file not writable":"","MO file not found":"","Failed to compile MO file with %s, check your settings":"","Package not found called %s":"","Cannot create MO file":"","Cannot overwrite MO file":"","Failed to write MO file":"","Unknown error":"","PO file saved":"","and MO file compiled":"","Merged from %s":"","Merged from source code":"","Already up to date with %s":"","Already up to date with source code":"","1 new string added":{"one":""},"1 obsolete string removed":{"one":""},"Your changes will be lost if you continue without saving":"","File check":"","File system permissions for %s":"","Back":"","Get help":"","OK":"OK","Configure Loco Translate":"","Compiling MO files":"","Use built-in MO compiler.":"","Use external command:":"","Enter path to msgfmt on server":"","Generate hash tables":"","Save settings":"","Switch to...":"","Core":"","Error":"Fout","Warning":"Waarschuwing","New PO file":"Nieuw PO-bestand","You must specify a valid locale for a new PO file":"Specifieer een geldige locale voor een nieuw PO-bestand","No translatable strings found":"Geen vertaalbare teksten gevonden","Cannot create a PO file.":"Kan geen PO-bestand aanmaken","PO file already exists with locale %s":"PO-bestand bestaat al in locale %s","File cannot be created automatically. Fix the file permissions or use Download instead of Save":"Bestand kan niet automatisch aangemaakt worden. Verander de rechten of gebruik download en bewaar.","%s file is empty":"Het bestand %s is leeg","Run Sync to update from source code":"Voer Sync uit om de broncode up te daten","No strings could be extracted from source code":"Er kon geen tekst uit de broncode gehaald worden","Run Sync to update from %s":"Gebruik Sync om vanuit %s up te daten","Source code has been modified, run Sync to update POT":"Broncode is veranderd. Gebruik Sync om POT up te daten","POT has been modified since PO file was saved, run Sync to update":"POT is veranderd sedert bewaren van het PO-bestand. Gebruik Sync om up te daten","Bad file path":"Foute bestandslocatie","New template":"Nieuw sjabloon","New language":"Nieuwe taal","%s%% translated":"%s%% vertaald","1 string":{"one":"1 te vertalen tekst","other":"%s te vertalen teksten"},"%s fuzzy":"%s onzeker","%s untranslated":"%s onvertaald","Loco, Translation Management":"Loco, vertalingsbeheer","Manage translations":"Beheer vertalingen","Unknown language":"Onbekende taal","Some files not writable":"Sommige bestanden hebben geen schrijfrechten","\"%s\" folder not writable":"Map \"%s\" heeft geen schrijfrechten","User does not have permission to manage translations":"Gebruik heeft geen rechten om vertalingen te beheren","Invalid data posted to server":"Ongeldige gegevens op server","Web server cannot create \"%s\" directory in \"%s\". Fix file permissions or create it manually.":"Webserver kan map \"%s\" in \"%s\" niet aanmaken. Bewerk bestandsrechten of maak het zelf aan.","Web server cannot create files in the \"%s\" directory. Fix file permissions or use the download function.":"Webserver kan map \"%s\" in \"%s\" niet aanmaken. Bewerk bestandsrechten of gebruik de downloadfunctie.","%s file is not writable by the web server. Fix file permissions or download and copy to \"%s\/%s\".":"Bestand %s kan niet beschreven worden door de webserver. Bewerk de schrijfrechten of download en kopieer naar \"%s\/%s\".","No strings could be extracted from source files":"Er konden geen te vertalen teksten uit de bronbestanden gehaald worden","Packages":"Pakketten","Package details":"Pakketdetails","Translations (PO)":"Vertalingen (PO)","Template (POT)":"Sjabloon (POT)","File permissions":"Bestandsrechten","1 language":{"one":"1 taal","other":"%u talen"},"Updated":"Ge\u00fcpdated","Powered by":"Ondersteund door","Template file":"Sjabloonbestand","never":"nooit","Save":"Opslaan","Download":"Downloaden","Sync":"Sync","Revert":"Ongedaan maken","Add":"Toevoegen","Del":"Verwijder","Fuzzy":"Onzeker","Filter translations":"Filter vertalingen","Help":"Help","Initialize new translations in %s":"Start nieuwe vertalingen in %s","Select from common languages":"Selecteer van gebruikelijke talen","or enter any language code":"of geef een taalcode op","Start translating":"Start vertalen","New version available":"Nieuwe versie beschikbaar","Upgrade to version %s of Loco Translate":"Loco Translate upgraden naar versie %s","Select a plugin or theme to translate":"Selecteer een plug-in of thema om te vertalen","Themes":"Thema's","Plugins":"Plug-ins"}
33
  );
pub/js/lang/loco-translate-nl_NL.js CHANGED
@@ -3,7 +3,7 @@
3
  * Project: loco.js conversion
4
  * Release: Working copy
5
  * Locale: nl_NL, Dutch
6
- * Exported at: Tue, 14 Jan 2014 22:52:04 +0000
7
  */
8
  loco = window.loco||{}, loco.t = function( pairs ){
9
 
@@ -29,5 +29,5 @@ loco = window.loco||{}, loco.t = function( pairs ){
29
  return value || ( 1 === n ? msgid1 : msgid2 ) || msgid1 || '';
30
  };
31
  }(
32
- {"Error":"Fout","Warning":"Waarschuwing","OK":"","Settings saved":"","New PO file":"Nieuw PO-bestand","You must specify a valid locale for a new PO file":"Specifieer een geldige locale voor een nieuw PO-bestand","No translatable strings found":"Geen vertaalbare teksten gevonden","Cannot create a PO file.":"Kan geen PO-bestand aanmaken","PO file already exists with locale %s":"PO-bestand bestaat al in locale %s","File cannot be created automatically. Fix the file permissions or use Download instead of Save":"Bestand kan niet automatisch aangemaakt worden. Verander de rechten of gebruik download en bewaar.","%s file is empty":"Het bestand %s is leeg","Run Sync to update from source code":"Voer Sync uit om de broncode up te daten","No strings could be extracted from source code":"Er kon geen tekst uit de broncode gehaald worden","Run Sync to update from %s":"Gebruik Sync om vanuit %s up te daten","Source code has been modified, run Sync to update POT":"Broncode is veranderd. Gebruik Sync om POT up te daten","POT has been modified since PO file was saved, run Sync to update":"POT is veranderd sedert bewaren van het PO-bestand. Gebruik Sync om up te daten","Bad file path":"Foute bestandslocatie","New template":"Nieuw sjabloon","New language":"Nieuwe taal","%s%% translated":"%s%% vertaald","1 string":{"one":"1 te vertalen tekst","other":"%s te vertalen teksten"},"%s fuzzy":"%s onzeker","%s untranslated":"%s onvertaald","Failed to compile MO file with built-in compiler":"","Loco, Translation Management":"Loco, vertalingsbeheer","Translation":"","Manage translations":"Beheer vertalingen","Settings":"","File download failed":"","Unknown language":"Onbekende taal","Some files not writable":"Sommige bestanden hebben geen schrijfrechten","Some files missing":"","\"%s\" folder not writable":"Map \"%s\" heeft geen schrijfrechten","Folder not writable":"","POT file not writable":"","PO file not writable":"","MO file not writable":"","MO file not found":"","User does not have permission to manage translations":"Gebruik heeft geen rechten om vertalingen te beheren","Failed to compile MO file with %s, check your settings":"","Invalid data posted to server":"Ongeldige gegevens op server","Package not found called %s":"","Web server cannot create \"%s\" directory in \"%s\". Fix file permissions or create it manually.":"Webserver kan map \"%s\" in \"%s\" niet aanmaken. Bewerk bestandsrechten of maak het zelf aan.","Web server cannot create files in the \"%s\" directory. Fix file permissions or use the download function.":"Webserver kan map \"%s\" in \"%s\" niet aanmaken. Bewerk bestandsrechten of gebruik de downloadfunctie.","%s file is not writable by the web server. Fix file permissions or download and copy to \"%s\/%s\".":"Bestand %s kan niet beschreven worden door de webserver. Bewerk de schrijfrechten of download en kopieer naar \"%s\/%s\".","Cannot create MO file":"","Cannot overwrite MO file":"","Failed to write MO file":"","No strings could be extracted from source files":"Er konden geen te vertalen teksten uit de bronbestanden gehaald worden","Unknown error":"","PO file saved":"","and MO file compiled":"","Merged from %s":"","Merged from source code":"","Already up to date with %s":"","Already up to date with source code":"","1 new string added":{"one":""},"1 obsolete string removed":{"one":""},"Your changes will be lost if you continue without saving":"","Packages":"Pakketten","File check":"","File system permissions for %s":"","Back":"","Get help":"","Package details":"Pakketdetails","Translations (PO)":"Vertalingen (PO)","Template (POT)":"Sjabloon (POT)","File permissions":"Bestandsrechten","1 language":{"one":"1 taal","other":"%u talen"},"Updated":"Ge\u00fcpdated","Powered by":"Ondersteund door","Configure Loco Translate":"","Compiling MO files":"","Use built-in MO compiler.":"","Use external command:":"","Enter path to msgfmt on server":"","Generate hash tables":"","Save settings":"","Template file":"Sjabloonbestand","Switch to...":"","never":"nooit","Save":"Opslaan","Download":"Downloaden","Sync":"Sync","Revert":"Ongedaan maken","Add":"Toevoegen","Del":"Verwijder","Fuzzy":"Onzeker","Filter translations":"Filter vertalingen","Help":"Help","Initialize new translations in %s":"Start nieuwe vertalingen in %s","Select from common languages":"Selecteer van gebruikelijke talen","or enter any language code":"of geef een taalcode op","Start translating":"Start vertalen","New version available":"Nieuwe versie beschikbaar","Upgrade to version %s of Loco Translate":"Loco Translate upgraden naar versie %s","Select a plugin or theme to translate":"Selecteer een plug-in of thema om te vertalen","Themes":"Thema's","Plugins":"Plug-ins","Core":""}
33
  );
3
  * Project: loco.js conversion
4
  * Release: Working copy
5
  * Locale: nl_NL, Dutch
6
+ * Exported at: Mon, 20 Jan 2014 00:44:43 +0000
7
  */
8
  loco = window.loco||{}, loco.t = function( pairs ){
9
 
29
  return value || ( 1 === n ? msgid1 : msgid2 ) || msgid1 || '';
30
  };
31
  }(
32
+ {"Settings saved":"","Failed to compile MO file with built-in compiler":"","Translation":"","Settings":"","File download failed":"","Some files missing":"","Folder not writable":"","POT file not writable":"","PO file not writable":"","MO file not writable":"","MO file not found":"","Failed to compile MO file with %s, check your settings":"","Package not found called %s":"","Cannot create MO file":"","Cannot overwrite MO file":"","Failed to write MO file":"","Unknown error":"","PO file saved":"","and MO file compiled":"","Merged from %s":"","Merged from source code":"","Already up to date with %s":"","Already up to date with source code":"","1 new string added":{"one":""},"1 obsolete string removed":{"one":""},"Your changes will be lost if you continue without saving":"","File check":"","File system permissions for %s":"","Back":"","Get help":"","OK":"OK","Configure Loco Translate":"","Compiling MO files":"","Use built-in MO compiler.":"","Use external command:":"","Enter path to msgfmt on server":"","Generate hash tables":"","Save settings":"","Switch to...":"","Core":"","Error":"Fout","Warning":"Waarschuwing","New PO file":"Nieuw PO-bestand","You must specify a valid locale for a new PO file":"Specifieer een geldige locale voor een nieuw PO-bestand","No translatable strings found":"Geen vertaalbare teksten gevonden","Cannot create a PO file.":"Kan geen PO-bestand aanmaken","PO file already exists with locale %s":"PO-bestand bestaat al in locale %s","File cannot be created automatically. Fix the file permissions or use Download instead of Save":"Bestand kan niet automatisch aangemaakt worden. Verander de rechten of gebruik download en bewaar.","%s file is empty":"Het bestand %s is leeg","Run Sync to update from source code":"Voer Sync uit om de broncode up te daten","No strings could be extracted from source code":"Er kon geen tekst uit de broncode gehaald worden","Run Sync to update from %s":"Gebruik Sync om vanuit %s up te daten","Source code has been modified, run Sync to update POT":"Broncode is veranderd. Gebruik Sync om POT up te daten","POT has been modified since PO file was saved, run Sync to update":"POT is veranderd sedert bewaren van het PO-bestand. Gebruik Sync om up te daten","Bad file path":"Foute bestandslocatie","New template":"Nieuw sjabloon","New language":"Nieuwe taal","%s%% translated":"%s%% vertaald","1 string":{"one":"1 te vertalen tekst","other":"%s te vertalen teksten"},"%s fuzzy":"%s onzeker","%s untranslated":"%s onvertaald","Loco, Translation Management":"Loco, vertalingsbeheer","Manage translations":"Beheer vertalingen","Unknown language":"Onbekende taal","Some files not writable":"Sommige bestanden hebben geen schrijfrechten","\"%s\" folder not writable":"Map \"%s\" heeft geen schrijfrechten","User does not have permission to manage translations":"Gebruik heeft geen rechten om vertalingen te beheren","Invalid data posted to server":"Ongeldige gegevens op server","Web server cannot create \"%s\" directory in \"%s\". Fix file permissions or create it manually.":"Webserver kan map \"%s\" in \"%s\" niet aanmaken. Bewerk bestandsrechten of maak het zelf aan.","Web server cannot create files in the \"%s\" directory. Fix file permissions or use the download function.":"Webserver kan map \"%s\" in \"%s\" niet aanmaken. Bewerk bestandsrechten of gebruik de downloadfunctie.","%s file is not writable by the web server. Fix file permissions or download and copy to \"%s\/%s\".":"Bestand %s kan niet beschreven worden door de webserver. Bewerk de schrijfrechten of download en kopieer naar \"%s\/%s\".","No strings could be extracted from source files":"Er konden geen te vertalen teksten uit de bronbestanden gehaald worden","Packages":"Pakketten","Package details":"Pakketdetails","Translations (PO)":"Vertalingen (PO)","Template (POT)":"Sjabloon (POT)","File permissions":"Bestandsrechten","1 language":{"one":"1 taal","other":"%u talen"},"Updated":"Ge\u00fcpdated","Powered by":"Ondersteund door","Template file":"Sjabloonbestand","never":"nooit","Save":"Opslaan","Download":"Downloaden","Sync":"Sync","Revert":"Ongedaan maken","Add":"Toevoegen","Del":"Verwijder","Fuzzy":"Onzeker","Filter translations":"Filter vertalingen","Help":"Help","Initialize new translations in %s":"Start nieuwe vertalingen in %s","Select from common languages":"Selecteer van gebruikelijke talen","or enter any language code":"of geef een taalcode op","Start translating":"Start vertalen","New version available":"Nieuwe versie beschikbaar","Upgrade to version %s of Loco Translate":"Loco Translate upgraden naar versie %s","Select a plugin or theme to translate":"Selecteer een plug-in of thema om te vertalen","Themes":"Thema's","Plugins":"Plug-ins"}
33
  );
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: timwhitlock
3
  Tags: translation, translators, localization, localisation, l10n, i18n, Gettext, POEdit, productivity
4
  Requires at least: 3.5
5
  Tested up to: 3.8
6
- Stable tag: 1.4.1
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
@@ -98,6 +98,12 @@ At the user end, yes you can access the interface on Windows using Internet Expl
98
  == Changelog ==
99
 
100
 
 
 
 
 
 
 
101
  = 1.4.1 =
102
  * Cache invalidation
103
  * Magic quotes stripping from po save
@@ -157,7 +163,7 @@ At the user end, yes you can access the interface on Windows using Internet Expl
157
 
158
  == Upgrade Notice ==
159
 
160
- = 1.4.1 =
161
  * Bug fixes and improvements.
162
 
163
 
@@ -167,11 +173,13 @@ At the user end, yes you can access the interface on Windows using Internet Expl
167
  These features are on our todo list. There's no particular timeframe for any of them and they're in no particular order:
168
 
169
  * Integration with Google and Bing for automatic translation
170
- * Full, but optional integration with Loco for collaborative translation
171
- * Support multiple pairings of POT and PO files within a single package.
172
 
173
 
174
  == Credits ==
175
 
176
  * Dutch translations courtesy of [Niels Geryl](http://hetwittepaard.be)
177
  * German translations courtesy of [Sebastian König](http://aykutmania.de)
 
 
3
  Tags: translation, translators, localization, localisation, l10n, i18n, Gettext, POEdit, productivity
4
  Requires at least: 3.5
5
  Tested up to: 3.8
6
+ Stable tag: 1.4.2
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
98
  == Changelog ==
99
 
100
 
101
+ = 1.4.2 =
102
+ * Added backup feature
103
+ * Removed utm domain
104
+ * Added Turkish translations
105
+ * Fixed file naming for new theme files
106
+
107
  = 1.4.1 =
108
  * Cache invalidation
109
  * Magic quotes stripping from po save
163
 
164
  == Upgrade Notice ==
165
 
166
+ = 1.4.2 =
167
  * Bug fixes and improvements.
168
 
169
 
173
  These features are on our todo list. There's no particular timeframe for any of them and they're in no particular order:
174
 
175
  * Integration with Google and Bing for automatic translation
176
+ * Integration with Loco API for collaborative translation
177
+ * Support multiple message domains within a single package.
178
 
179
 
180
  == Credits ==
181
 
182
  * Dutch translations courtesy of [Niels Geryl](http://hetwittepaard.be)
183
  * German translations courtesy of [Sebastian König](http://aykutmania.de)
184
+ * Turkish translations courtesy of [Abdullah Pazarbaşı](http://abdullahpazarbasi.com)
185
+
tpl/admin-opts.tpl.php CHANGED
@@ -57,6 +57,22 @@ $nav = array (
57
  </fieldset>
58
  </td>
59
  </tr>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  </tbody>
61
  </table>
62
  <p class="submit">
57
  </fieldset>
58
  </td>
59
  </tr>
60
+ <tr valign="top">
61
+ <th scope="row"><?php Loco::h( Loco::__('Backing up PO files') )?></th>
62
+ <td>
63
+ <fieldset>
64
+ <legend class="screen-reader-text">
65
+ <span><?php Loco::h( Loco::__('Backing up PO files') )?></span>
66
+ </legend>
67
+ <p>
68
+ <label for="loco--num-backups">
69
+ <?php Loco::h( Loco::__('Number of backups to keep of each file:') )?>
70
+ </label>
71
+ <input type="number" min="0" max="99" size="2" name="loco[num_backups]" id="loco--num_backups" value="<?php printf('%u',$num_backups)?>" />
72
+ </p>
73
+ </fieldset>
74
+ </td>
75
+ </tr>
76
  </tbody>
77
  </table>
78
  <p class="submit">