Version Description
= 0.8.0 = The widgets can have multiple instances, you need to change the current instance If you want to use a google/msn API key, it is now possible = 0.7.0 = New edit interface, tons of other fixes = 0.6.6 = Fixed two XSS vulnerabilities = 0.6.3 = Support .po/.mo files = 0.6.0 = Much improved translation interface engine = 0.5.7 = Fix for critical bug in 0.5.6 = 0.5.6 = Support pluggable widgets = 0.5.5 = Support for buddypress URLs = 0.5.3 = Support URL translation = 0.5.2 = Improved lang attribute support, changed default language translation option = 0.5.1 = Improved speed and database structure = 0.5.0 = Ability to translate all content, backup service for human translations = 0.4.3 = Minor bug fixes, more compatability = 0.4.2 = This version provides Haitian support, auto translate with bing support = 0.4.0 = This version provides integration with google-sitemaps-xml and wp-super-cache = 0.3.9 = This version allows sorting of languages within the widget
Release Info
Developer | oferwald |
Plugin | Transposh WordPress Translation |
Version | 0.9.0 |
Comparing to | |
See all releases |
Code changes from version 0.8.5 to 0.9.0
- core/FirePHP.class.php +1753 -0
- core/constants.php +6 -12
- core/logging.php +168 -0
- core/parser.php +50 -37
- core/shd/simple_html_dom.php +3 -3
- core/utils.php +20 -20
- css/admin.css +1 -0
- css/transposh.css +1 -1
- img/tplogo32.png +0 -0
- js/{transposhbackend.js → admin/backendtranslate.js} +2 -2
- js/{transposhcommentslang.js → admin/commentslang.js} +2 -2
- js/admin/languages.js +14 -0
- js/admin/utils.js +16 -0
- js/admin/warningclose.js +11 -0
- js/l/de.js +2 -2
- js/l/es.js +2 -2
- js/l/fa.js +2 -2
- js/l/he.js +2 -2
- js/l/it.js +2 -2
- js/l/nl.js +2 -2
- js/l/ru.js +2 -2
- js/transposh.js +8 -8
- js/transposhedit.js +16 -15
- js/transposhsettings.js +0 -22
- langs/transposh-de_DE.po +452 -208
- langs/transposh-es_ES.po +452 -208
- langs/transposh-fa_IR.po +451 -207
- langs/transposh-he_IL.mo +0 -0
- langs/transposh-he_IL.po +469 -218
- langs/transposh-it_IT.mo +0 -0
- langs/transposh-it_IT.po +490 -239
- langs/transposh-nl_NL.po +451 -207
- langs/transposh-pt_BR.po +452 -208
- langs/transposh-ru_RU.po +453 -209
- langs/transposh-tr_TR.po +452 -208
- readme.txt +22 -4
- screenshot-1.png +0 -0
- screenshot-2.png +0 -0
- screenshot-3.png +0 -0
- screenshot-4.png +0 -0
- screenshot-5.png +0 -0
- transposh.php +176 -151
- widgets/default/tpw_default.php +2 -2
- widgets/dropdown/tpw_image_dropdown.css +4 -30
- widgets/dropdown/tpw_image_dropdown.js +1 -1
- widgets/dropdown/tpw_image_dropdown.php +3 -3
- widgets/flags/tpw_flags.css +4 -2
- widgets/flags/tpw_flags.php +2 -2
- widgets/flags/tpw_flags_css.css +2 -0
- widgets/flags/tpw_flags_css.php +2 -2
- widgets/flagslist/tpw_list_with_flags.php +2 -2
- widgets/flagslist/tpw_list_with_flags_css.php +2 -2
- widgets/select2/select2.css +524 -0
- widgets/select2/select2.js +2407 -0
- widgets/select2/select2.min.js +82 -0
- widgets/select2/select2.png +0 -0
- widgets/select2/select2x2.png +0 -0
- widgets/select2/spinner.gif +0 -0
- widgets/select2/tpw_select2.js +21 -0
- widgets/select2/tpw_select2.php +51 -0
- wp/transposh_3rdparty.php +21 -16
- wp/transposh_admin.php +572 -448
- wp/transposh_ajax.php +2 -2
- wp/transposh_backup.php +7 -8
- wp/transposh_db.php +81 -79
- wp/transposh_options.php +235 -387
- wp/transposh_postpublish.php +23 -18
- wp/transposh_widget.php +27 -23
@@ -0,0 +1,1753 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
// Authors:
|
4 |
+
// - cadorn, Christoph Dorn <christoph@christophdorn.com>, Copyright 2007, New BSD License
|
5 |
+
// - qbbr, Sokolov Innokenty <sokolov.innokenty@gmail.com>, Copyright 2011, New BSD License
|
6 |
+
// - cadorn, Christoph Dorn <christoph@christophdorn.com>, Copyright 2011, MIT License
|
7 |
+
|
8 |
+
/**
|
9 |
+
* *** BEGIN LICENSE BLOCK *****
|
10 |
+
*
|
11 |
+
* [MIT License](http://www.opensource.org/licenses/mit-license.php)
|
12 |
+
*
|
13 |
+
* Copyright (c) 2007+ [Christoph Dorn](http://www.christophdorn.com/)
|
14 |
+
*
|
15 |
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
16 |
+
* of this software and associated documentation files (the "Software"), to deal
|
17 |
+
* in the Software without restriction, including without limitation the rights
|
18 |
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
19 |
+
* copies of the Software, and to permit persons to whom the Software is
|
20 |
+
* furnished to do so, subject to the following conditions:
|
21 |
+
*
|
22 |
+
* The above copyright notice and this permission notice shall be included in
|
23 |
+
* all copies or substantial portions of the Software.
|
24 |
+
*
|
25 |
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
26 |
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
27 |
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
28 |
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
29 |
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
30 |
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
31 |
+
* THE SOFTWARE.
|
32 |
+
*
|
33 |
+
* ***** END LICENSE BLOCK *****
|
34 |
+
*
|
35 |
+
* @copyright Copyright (C) 2007+ Christoph Dorn
|
36 |
+
* @author Christoph Dorn <christoph@christophdorn.com>
|
37 |
+
* @license [MIT License](http://www.opensource.org/licenses/mit-license.php)
|
38 |
+
* @package FirePHPCore
|
39 |
+
*/
|
40 |
+
/**
|
41 |
+
* @see http://code.google.com/p/firephp/issues/detail?id=112
|
42 |
+
*/
|
43 |
+
if (!defined('E_STRICT')) {
|
44 |
+
define('E_STRICT', 2048);
|
45 |
+
}
|
46 |
+
if (!defined('E_RECOVERABLE_ERROR')) {
|
47 |
+
define('E_RECOVERABLE_ERROR', 4096);
|
48 |
+
}
|
49 |
+
if (!defined('E_DEPRECATED')) {
|
50 |
+
define('E_DEPRECATED', 8192);
|
51 |
+
}
|
52 |
+
if (!defined('E_USER_DEPRECATED')) {
|
53 |
+
define('E_USER_DEPRECATED', 16384);
|
54 |
+
}
|
55 |
+
|
56 |
+
/**
|
57 |
+
* Sends the given data to the FirePHP Firefox Extension.
|
58 |
+
* The data can be displayed in the Firebug Console or in the
|
59 |
+
* "Server" request tab.
|
60 |
+
*
|
61 |
+
* For more information see: http://www.firephp.org/
|
62 |
+
*
|
63 |
+
* @copyright Copyright (C) 2007+ Christoph Dorn
|
64 |
+
* @author Christoph Dorn <christoph@christophdorn.com>
|
65 |
+
* @license [MIT License](http://www.opensource.org/licenses/mit-license.php)
|
66 |
+
* @package FirePHPCore
|
67 |
+
*/
|
68 |
+
// added _tp suffix to avoid conflict with other plugins including same library
|
69 |
+
class FirePHP_tp {
|
70 |
+
/**
|
71 |
+
* FirePHP version
|
72 |
+
*
|
73 |
+
* @var string
|
74 |
+
*/
|
75 |
+
|
76 |
+
const VERSION = '1.0.0b1rc7';
|
77 |
+
|
78 |
+
/**
|
79 |
+
* Firebug LOG level
|
80 |
+
*
|
81 |
+
* Logs a message to firebug console.
|
82 |
+
*
|
83 |
+
* @var string
|
84 |
+
*/
|
85 |
+
const LOG = 'LOG';
|
86 |
+
|
87 |
+
/**
|
88 |
+
* Firebug INFO level
|
89 |
+
*
|
90 |
+
* Logs a message to firebug console and displays an info icon before the message.
|
91 |
+
*
|
92 |
+
* @var string
|
93 |
+
*/
|
94 |
+
const INFO = 'INFO';
|
95 |
+
|
96 |
+
/**
|
97 |
+
* Firebug WARN level
|
98 |
+
*
|
99 |
+
* Logs a message to firebug console, displays an warning icon before the message and colors the line turquoise.
|
100 |
+
*
|
101 |
+
* @var string
|
102 |
+
*/
|
103 |
+
const WARN = 'WARN';
|
104 |
+
|
105 |
+
/**
|
106 |
+
* Firebug ERROR level
|
107 |
+
*
|
108 |
+
* Logs a message to firebug console, displays an error icon before the message and colors the line yellow. Also increments the firebug error count.
|
109 |
+
*
|
110 |
+
* @var string
|
111 |
+
*/
|
112 |
+
const ERROR = 'ERROR';
|
113 |
+
|
114 |
+
/**
|
115 |
+
* Dumps a variable to firebug's server panel
|
116 |
+
*
|
117 |
+
* @var string
|
118 |
+
*/
|
119 |
+
const DUMP = 'DUMP';
|
120 |
+
|
121 |
+
/**
|
122 |
+
* Displays a stack trace in firebug console
|
123 |
+
*
|
124 |
+
* @var string
|
125 |
+
*/
|
126 |
+
const TRACE = 'TRACE';
|
127 |
+
|
128 |
+
/**
|
129 |
+
* Displays an exception in firebug console
|
130 |
+
*
|
131 |
+
* Increments the firebug error count.
|
132 |
+
*
|
133 |
+
* @var string
|
134 |
+
*/
|
135 |
+
const EXCEPTION = 'EXCEPTION';
|
136 |
+
|
137 |
+
/**
|
138 |
+
* Displays an table in firebug console
|
139 |
+
*
|
140 |
+
* @var string
|
141 |
+
*/
|
142 |
+
const TABLE = 'TABLE';
|
143 |
+
|
144 |
+
/**
|
145 |
+
* Starts a group in firebug console
|
146 |
+
*
|
147 |
+
* @var string
|
148 |
+
*/
|
149 |
+
const GROUP_START = 'GROUP_START';
|
150 |
+
|
151 |
+
/**
|
152 |
+
* Ends a group in firebug console
|
153 |
+
*
|
154 |
+
* @var string
|
155 |
+
*/
|
156 |
+
const GROUP_END = 'GROUP_END';
|
157 |
+
|
158 |
+
/**
|
159 |
+
* Singleton instance of FirePHP
|
160 |
+
*
|
161 |
+
* @var FirePHP
|
162 |
+
*/
|
163 |
+
protected static $instance = null;
|
164 |
+
|
165 |
+
/**
|
166 |
+
* Flag whether we are logging from within the exception handler
|
167 |
+
*
|
168 |
+
* @var boolean
|
169 |
+
*/
|
170 |
+
protected $inExceptionHandler = false;
|
171 |
+
|
172 |
+
/**
|
173 |
+
* Flag whether to throw PHP errors that have been converted to ErrorExceptions
|
174 |
+
*
|
175 |
+
* @var boolean
|
176 |
+
*/
|
177 |
+
protected $throwErrorExceptions = true;
|
178 |
+
|
179 |
+
/**
|
180 |
+
* Flag whether to convert PHP assertion errors to Exceptions
|
181 |
+
*
|
182 |
+
* @var boolean
|
183 |
+
*/
|
184 |
+
protected $convertAssertionErrorsToExceptions = true;
|
185 |
+
|
186 |
+
/**
|
187 |
+
* Flag whether to throw PHP assertion errors that have been converted to Exceptions
|
188 |
+
*
|
189 |
+
* @var boolean
|
190 |
+
*/
|
191 |
+
protected $throwAssertionExceptions = false;
|
192 |
+
|
193 |
+
/**
|
194 |
+
* Wildfire protocol message index
|
195 |
+
*
|
196 |
+
* @var integer
|
197 |
+
*/
|
198 |
+
protected $messageIndex = 1;
|
199 |
+
|
200 |
+
/**
|
201 |
+
* Options for the library
|
202 |
+
*
|
203 |
+
* @var array
|
204 |
+
*/
|
205 |
+
protected $options = array('maxDepth' => 10,
|
206 |
+
'maxObjectDepth' => 5,
|
207 |
+
'maxArrayDepth' => 5,
|
208 |
+
'useNativeJsonEncode' => true,
|
209 |
+
'includeLineNumbers' => true);
|
210 |
+
|
211 |
+
/**
|
212 |
+
* Filters used to exclude object members when encoding
|
213 |
+
*
|
214 |
+
* @var array
|
215 |
+
*/
|
216 |
+
protected $objectFilters = array(
|
217 |
+
'firephp' => array('objectStack', 'instance', 'json_objectStack'),
|
218 |
+
'firephp_test_class' => array('objectStack', 'instance', 'json_objectStack')
|
219 |
+
);
|
220 |
+
|
221 |
+
/**
|
222 |
+
* A stack of objects used to detect recursion during object encoding
|
223 |
+
*
|
224 |
+
* @var object
|
225 |
+
*/
|
226 |
+
protected $objectStack = array();
|
227 |
+
|
228 |
+
/**
|
229 |
+
* Flag to enable/disable logging
|
230 |
+
*
|
231 |
+
* @var boolean
|
232 |
+
*/
|
233 |
+
protected $enabled = true;
|
234 |
+
|
235 |
+
/**
|
236 |
+
* The insight console to log to if applicable
|
237 |
+
*
|
238 |
+
* @var object
|
239 |
+
*/
|
240 |
+
protected $logToInsightConsole = null;
|
241 |
+
|
242 |
+
/**
|
243 |
+
* When the object gets serialized only include specific object members.
|
244 |
+
*
|
245 |
+
* @return array
|
246 |
+
*/
|
247 |
+
public function __sleep() {
|
248 |
+
return array('options', 'objectFilters', 'enabled');
|
249 |
+
}
|
250 |
+
|
251 |
+
/**
|
252 |
+
* Gets singleton instance of FirePHP
|
253 |
+
*
|
254 |
+
* @param boolean $autoCreate
|
255 |
+
* @return FirePHP
|
256 |
+
*/
|
257 |
+
public static function getInstance($autoCreate = false) {
|
258 |
+
if ($autoCreate === true && !self::$instance) {
|
259 |
+
self::init();
|
260 |
+
}
|
261 |
+
return self::$instance;
|
262 |
+
}
|
263 |
+
|
264 |
+
/**
|
265 |
+
* Creates FirePHP object and stores it for singleton access
|
266 |
+
*
|
267 |
+
* @return FirePHP
|
268 |
+
*/
|
269 |
+
public static function init() {
|
270 |
+
return self::setInstance(new self());
|
271 |
+
}
|
272 |
+
|
273 |
+
/**
|
274 |
+
* Set the instance of the FirePHP singleton
|
275 |
+
*
|
276 |
+
* @param FirePHP $instance The FirePHP object instance
|
277 |
+
* @return FirePHP
|
278 |
+
*/
|
279 |
+
public static function setInstance($instance) {
|
280 |
+
return self::$instance = $instance;
|
281 |
+
}
|
282 |
+
|
283 |
+
/**
|
284 |
+
* Set an Insight console to direct all logging calls to
|
285 |
+
*
|
286 |
+
* @param object $console The console object to log to
|
287 |
+
* @return void
|
288 |
+
*/
|
289 |
+
public function setLogToInsightConsole($console) {
|
290 |
+
if (is_string($console)) {
|
291 |
+
if (get_class($this) != 'FirePHP_Insight' && !is_subclass_of($this, 'FirePHP_Insight')) {
|
292 |
+
throw new Exception('FirePHP instance not an instance or subclass of FirePHP_Insight!');
|
293 |
+
}
|
294 |
+
$this->logToInsightConsole = $this->to('request')->console($console);
|
295 |
+
} else {
|
296 |
+
$this->logToInsightConsole = $console;
|
297 |
+
}
|
298 |
+
}
|
299 |
+
|
300 |
+
/**
|
301 |
+
* Enable and disable logging to Firebug
|
302 |
+
*
|
303 |
+
* @param boolean $enabled TRUE to enable, FALSE to disable
|
304 |
+
* @return void
|
305 |
+
*/
|
306 |
+
public function setEnabled($enabled) {
|
307 |
+
$this->enabled = $enabled;
|
308 |
+
}
|
309 |
+
|
310 |
+
/**
|
311 |
+
* Check if logging is enabled
|
312 |
+
*
|
313 |
+
* @return boolean TRUE if enabled
|
314 |
+
*/
|
315 |
+
public function getEnabled() {
|
316 |
+
return $this->enabled;
|
317 |
+
}
|
318 |
+
|
319 |
+
/**
|
320 |
+
* Specify a filter to be used when encoding an object
|
321 |
+
*
|
322 |
+
* Filters are used to exclude object members.
|
323 |
+
*
|
324 |
+
* @param string $class The class name of the object
|
325 |
+
* @param array $filter An array of members to exclude
|
326 |
+
* @return void
|
327 |
+
*/
|
328 |
+
public function setObjectFilter($class, $filter) {
|
329 |
+
$this->objectFilters[strtolower($class)] = $filter;
|
330 |
+
}
|
331 |
+
|
332 |
+
/**
|
333 |
+
* Set some options for the library
|
334 |
+
*
|
335 |
+
* Options:
|
336 |
+
* - maxDepth: The maximum depth to traverse (default: 10)
|
337 |
+
* - maxObjectDepth: The maximum depth to traverse objects (default: 5)
|
338 |
+
* - maxArrayDepth: The maximum depth to traverse arrays (default: 5)
|
339 |
+
* - useNativeJsonEncode: If true will use json_encode() (default: true)
|
340 |
+
* - includeLineNumbers: If true will include line numbers and filenames (default: true)
|
341 |
+
*
|
342 |
+
* @param array $options The options to be set
|
343 |
+
* @return void
|
344 |
+
*/
|
345 |
+
public function setOptions($options) {
|
346 |
+
$this->options = array_merge($this->options, $options);
|
347 |
+
}
|
348 |
+
|
349 |
+
/**
|
350 |
+
* Get options from the library
|
351 |
+
*
|
352 |
+
* @return array The currently set options
|
353 |
+
*/
|
354 |
+
public function getOptions() {
|
355 |
+
return $this->options;
|
356 |
+
}
|
357 |
+
|
358 |
+
/**
|
359 |
+
* Set an option for the library
|
360 |
+
*
|
361 |
+
* @param string $name
|
362 |
+
* @param mixed $value
|
363 |
+
* @return void
|
364 |
+
* @throws Exception
|
365 |
+
*/
|
366 |
+
public function setOption($name, $value) {
|
367 |
+
if (!isset($this->options[$name])) {
|
368 |
+
throw $this->newException('Unknown option: ' . $name);
|
369 |
+
}
|
370 |
+
$this->options[$name] = $value;
|
371 |
+
}
|
372 |
+
|
373 |
+
/**
|
374 |
+
* Get an option from the library
|
375 |
+
*
|
376 |
+
* @param string $name
|
377 |
+
* @return mixed
|
378 |
+
* @throws Exception
|
379 |
+
*/
|
380 |
+
public function getOption($name) {
|
381 |
+
if (!isset($this->options[$name])) {
|
382 |
+
throw $this->newException('Unknown option: ' . $name);
|
383 |
+
}
|
384 |
+
return $this->options[$name];
|
385 |
+
}
|
386 |
+
|
387 |
+
/**
|
388 |
+
* Register FirePHP as your error handler
|
389 |
+
*
|
390 |
+
* Will throw exceptions for each php error.
|
391 |
+
*
|
392 |
+
* @return mixed Returns a string containing the previously defined error handler (if any)
|
393 |
+
*/
|
394 |
+
public function registerErrorHandler($throwErrorExceptions = false) {
|
395 |
+
//NOTE: The following errors will not be caught by this error handler:
|
396 |
+
// E_ERROR, E_PARSE, E_CORE_ERROR,
|
397 |
+
// E_CORE_WARNING, E_COMPILE_ERROR,
|
398 |
+
// E_COMPILE_WARNING, E_STRICT
|
399 |
+
|
400 |
+
$this->throwErrorExceptions = $throwErrorExceptions;
|
401 |
+
|
402 |
+
return set_error_handler(array($this, 'errorHandler'));
|
403 |
+
}
|
404 |
+
|
405 |
+
/**
|
406 |
+
* FirePHP's error handler
|
407 |
+
*
|
408 |
+
* Throws exception for each php error that will occur.
|
409 |
+
*
|
410 |
+
* @param integer $errno
|
411 |
+
* @param string $errstr
|
412 |
+
* @param string $errfile
|
413 |
+
* @param integer $errline
|
414 |
+
* @param array $errcontext
|
415 |
+
*/
|
416 |
+
public function errorHandler($errno, $errstr, $errfile, $errline, $errcontext) {
|
417 |
+
// Don't throw exception if error reporting is switched off
|
418 |
+
if (error_reporting() == 0) {
|
419 |
+
return;
|
420 |
+
}
|
421 |
+
// Only throw exceptions for errors we are asking for
|
422 |
+
if (error_reporting() & $errno) {
|
423 |
+
|
424 |
+
$exception = new ErrorException($errstr, 0, $errno, $errfile, $errline);
|
425 |
+
if ($this->throwErrorExceptions) {
|
426 |
+
throw $exception;
|
427 |
+
} else {
|
428 |
+
$this->fb($exception);
|
429 |
+
}
|
430 |
+
}
|
431 |
+
}
|
432 |
+
|
433 |
+
/**
|
434 |
+
* Register FirePHP as your exception handler
|
435 |
+
*
|
436 |
+
* @return mixed Returns the name of the previously defined exception handler,
|
437 |
+
* or NULL on error.
|
438 |
+
* If no previous handler was defined, NULL is also returned.
|
439 |
+
*/
|
440 |
+
public function registerExceptionHandler() {
|
441 |
+
return set_exception_handler(array($this, 'exceptionHandler'));
|
442 |
+
}
|
443 |
+
|
444 |
+
/**
|
445 |
+
* FirePHP's exception handler
|
446 |
+
*
|
447 |
+
* Logs all exceptions to your firebug console and then stops the script.
|
448 |
+
*
|
449 |
+
* @param Exception $exception
|
450 |
+
* @throws Exception
|
451 |
+
*/
|
452 |
+
function exceptionHandler($exception) {
|
453 |
+
$this->inExceptionHandler = true;
|
454 |
+
|
455 |
+
header('HTTP/1.1 500 Internal Server Error');
|
456 |
+
|
457 |
+
try {
|
458 |
+
$this->fb($exception);
|
459 |
+
} catch (Exception $e) {
|
460 |
+
echo 'We had an exception: ' . $e;
|
461 |
+
}
|
462 |
+
|
463 |
+
$this->inExceptionHandler = false;
|
464 |
+
}
|
465 |
+
|
466 |
+
/**
|
467 |
+
* Register FirePHP driver as your assert callback
|
468 |
+
*
|
469 |
+
* @param boolean $convertAssertionErrorsToExceptions
|
470 |
+
* @param boolean $throwAssertionExceptions
|
471 |
+
* @return mixed Returns the original setting or FALSE on errors
|
472 |
+
*/
|
473 |
+
public function registerAssertionHandler($convertAssertionErrorsToExceptions = true, $throwAssertionExceptions = false) {
|
474 |
+
$this->convertAssertionErrorsToExceptions = $convertAssertionErrorsToExceptions;
|
475 |
+
$this->throwAssertionExceptions = $throwAssertionExceptions;
|
476 |
+
|
477 |
+
if ($throwAssertionExceptions && !$convertAssertionErrorsToExceptions) {
|
478 |
+
throw $this->newException('Cannot throw assertion exceptions as assertion errors are not being converted to exceptions!');
|
479 |
+
}
|
480 |
+
|
481 |
+
return assert_options(ASSERT_CALLBACK, array($this, 'assertionHandler'));
|
482 |
+
}
|
483 |
+
|
484 |
+
/**
|
485 |
+
* FirePHP's assertion handler
|
486 |
+
*
|
487 |
+
* Logs all assertions to your firebug console and then stops the script.
|
488 |
+
*
|
489 |
+
* @param string $file File source of assertion
|
490 |
+
* @param integer $line Line source of assertion
|
491 |
+
* @param mixed $code Assertion code
|
492 |
+
*/
|
493 |
+
public function assertionHandler($file, $line, $code) {
|
494 |
+
if ($this->convertAssertionErrorsToExceptions) {
|
495 |
+
|
496 |
+
$exception = new ErrorException('Assertion Failed - Code[ ' . $code . ' ]', 0, null, $file, $line);
|
497 |
+
|
498 |
+
if ($this->throwAssertionExceptions) {
|
499 |
+
throw $exception;
|
500 |
+
} else {
|
501 |
+
$this->fb($exception);
|
502 |
+
}
|
503 |
+
} else {
|
504 |
+
$this->fb($code, 'Assertion Failed', FirePHP_tp::ERROR, array('File' => $file, 'Line' => $line));
|
505 |
+
}
|
506 |
+
}
|
507 |
+
|
508 |
+
/**
|
509 |
+
* Start a group for following messages.
|
510 |
+
*
|
511 |
+
* Options:
|
512 |
+
* Collapsed: [true|false]
|
513 |
+
* Color: [#RRGGBB|ColorName]
|
514 |
+
*
|
515 |
+
* @param string $name
|
516 |
+
* @param array $options OPTIONAL Instructions on how to log the group
|
517 |
+
* @return true
|
518 |
+
* @throws Exception
|
519 |
+
*/
|
520 |
+
public function group($name, $options = null) {
|
521 |
+
|
522 |
+
if (!$name) {
|
523 |
+
throw $this->newException('You must specify a label for the group!');
|
524 |
+
}
|
525 |
+
|
526 |
+
if ($options) {
|
527 |
+
if (!is_array($options)) {
|
528 |
+
throw $this->newException('Options must be defined as an array!');
|
529 |
+
}
|
530 |
+
if (array_key_exists('Collapsed', $options)) {
|
531 |
+
$options['Collapsed'] = ($options['Collapsed']) ? 'true' : 'false';
|
532 |
+
}
|
533 |
+
}
|
534 |
+
|
535 |
+
return $this->fb(null, $name, FirePHP_tp::GROUP_START, $options);
|
536 |
+
}
|
537 |
+
|
538 |
+
/**
|
539 |
+
* Ends a group you have started before
|
540 |
+
*
|
541 |
+
* @return true
|
542 |
+
* @throws Exception
|
543 |
+
*/
|
544 |
+
public function groupEnd() {
|
545 |
+
return $this->fb(null, null, FirePHP_tp::GROUP_END);
|
546 |
+
}
|
547 |
+
|
548 |
+
/**
|
549 |
+
* Log object with label to firebug console
|
550 |
+
*
|
551 |
+
* @see FirePHP_tp::LOG
|
552 |
+
* @param mixes $object
|
553 |
+
* @param string $label
|
554 |
+
* @return true
|
555 |
+
* @throws Exception
|
556 |
+
*/
|
557 |
+
public function log($object, $label = null, $options = array()) {
|
558 |
+
return $this->fb($object, $label, FirePHP_tp::LOG, $options);
|
559 |
+
}
|
560 |
+
|
561 |
+
/**
|
562 |
+
* Log object with label to firebug console
|
563 |
+
*
|
564 |
+
* @see FirePHP_tp::INFO
|
565 |
+
* @param mixes $object
|
566 |
+
* @param string $label
|
567 |
+
* @return true
|
568 |
+
* @throws Exception
|
569 |
+
*/
|
570 |
+
public function info($object, $label = null, $options = array()) {
|
571 |
+
return $this->fb($object, $label, FirePHP_tp::INFO, $options);
|
572 |
+
}
|
573 |
+
|
574 |
+
/**
|
575 |
+
* Log object with label to firebug console
|
576 |
+
*
|
577 |
+
* @see FirePHP_tp::WARN
|
578 |
+
* @param mixes $object
|
579 |
+
* @param string $label
|
580 |
+
* @return true
|
581 |
+
* @throws Exception
|
582 |
+
*/
|
583 |
+
public function warn($object, $label = null, $options = array()) {
|
584 |
+
return $this->fb($object, $label, FirePHP_tp::WARN, $options);
|
585 |
+
}
|
586 |
+
|
587 |
+
/**
|
588 |
+
* Log object with label to firebug console
|
589 |
+
*
|
590 |
+
* @see FirePHP_tp::ERROR
|
591 |
+
* @param mixes $object
|
592 |
+
* @param string $label
|
593 |
+
* @return true
|
594 |
+
* @throws Exception
|
595 |
+
*/
|
596 |
+
public function error($object, $label = null, $options = array()) {
|
597 |
+
return $this->fb($object, $label, FirePHP_tp::ERROR, $options);
|
598 |
+
}
|
599 |
+
|
600 |
+
/**
|
601 |
+
* Dumps key and variable to firebug server panel
|
602 |
+
*
|
603 |
+
* @see FirePHP_tp::DUMP
|
604 |
+
* @param string $key
|
605 |
+
* @param mixed $variable
|
606 |
+
* @return true
|
607 |
+
* @throws Exception
|
608 |
+
*/
|
609 |
+
public function dump($key, $variable, $options = array()) {
|
610 |
+
if (!is_string($key)) {
|
611 |
+
throw $this->newException('Key passed to dump() is not a string');
|
612 |
+
}
|
613 |
+
if (strlen($key) > 100) {
|
614 |
+
throw $this->newException('Key passed to dump() is longer than 100 characters');
|
615 |
+
}
|
616 |
+
if (!preg_match_all('/^[a-zA-Z0-9-_\.:]*$/', $key, $m)) {
|
617 |
+
throw $this->newException('Key passed to dump() contains invalid characters [a-zA-Z0-9-_\.:]');
|
618 |
+
}
|
619 |
+
return $this->fb($variable, $key, FirePHP_tp::DUMP, $options);
|
620 |
+
}
|
621 |
+
|
622 |
+
/**
|
623 |
+
* Log a trace in the firebug console
|
624 |
+
*
|
625 |
+
* @see FirePHP_tp::TRACE
|
626 |
+
* @param string $label
|
627 |
+
* @return true
|
628 |
+
* @throws Exception
|
629 |
+
*/
|
630 |
+
public function trace($label) {
|
631 |
+
return $this->fb($label, FirePHP_tp::TRACE);
|
632 |
+
}
|
633 |
+
|
634 |
+
/**
|
635 |
+
* Log a table in the firebug console
|
636 |
+
*
|
637 |
+
* @see FirePHP_tp::TABLE
|
638 |
+
* @param string $label
|
639 |
+
* @param string $table
|
640 |
+
* @return true
|
641 |
+
* @throws Exception
|
642 |
+
*/
|
643 |
+
public function table($label, $table, $options = array()) {
|
644 |
+
return $this->fb($table, $label, FirePHP_tp::TABLE, $options);
|
645 |
+
}
|
646 |
+
|
647 |
+
/**
|
648 |
+
* Insight API wrapper
|
649 |
+
*
|
650 |
+
* @see Insight_Helper::to()
|
651 |
+
*/
|
652 |
+
public static function to() {
|
653 |
+
$instance = self::getInstance();
|
654 |
+
if (!method_exists($instance, '_to')) {
|
655 |
+
throw new Exception('FirePHP_tp::to() implementation not loaded');
|
656 |
+
}
|
657 |
+
$args = func_get_args();
|
658 |
+
return call_user_func_array(array($instance, '_to'), $args);
|
659 |
+
}
|
660 |
+
|
661 |
+
/**
|
662 |
+
* Insight API wrapper
|
663 |
+
*
|
664 |
+
* @see Insight_Helper::plugin()
|
665 |
+
*/
|
666 |
+
public static function plugin() {
|
667 |
+
$instance = self::getInstance();
|
668 |
+
if (!method_exists($instance, '_plugin')) {
|
669 |
+
throw new Exception('FirePHP_tp::plugin() implementation not loaded');
|
670 |
+
}
|
671 |
+
$args = func_get_args();
|
672 |
+
return call_user_func_array(array($instance, '_plugin'), $args);
|
673 |
+
}
|
674 |
+
|
675 |
+
/**
|
676 |
+
* Check if FirePHP is installed on client
|
677 |
+
*
|
678 |
+
* @return boolean
|
679 |
+
*/
|
680 |
+
public function detectClientExtension() {
|
681 |
+
// Check if FirePHP is installed on client via User-Agent header
|
682 |
+
if (@preg_match_all('/\sFirePHP\/([\.\d]*)\s?/si', $this->getUserAgent(), $m) &&
|
683 |
+
version_compare($m[1][0], '0.0.6', '>=')) {
|
684 |
+
return true;
|
685 |
+
} else
|
686 |
+
// Check if FirePHP is installed on client via X-FirePHP-Version header
|
687 |
+
if (@preg_match_all('/^([\.\d]*)$/si', $this->getRequestHeader('X-FirePHP-Version'), $m) &&
|
688 |
+
version_compare($m[1][0], '0.0.6', '>=')) {
|
689 |
+
return true;
|
690 |
+
}
|
691 |
+
return false;
|
692 |
+
}
|
693 |
+
|
694 |
+
/**
|
695 |
+
* Log varible to Firebug
|
696 |
+
*
|
697 |
+
* @see http://www.firephp.org/Wiki/Reference/Fb
|
698 |
+
* @param mixed $object The variable to be logged
|
699 |
+
* @return boolean Return TRUE if message was added to headers, FALSE otherwise
|
700 |
+
* @throws Exception
|
701 |
+
*/
|
702 |
+
public function fb($object) {
|
703 |
+
if ($this instanceof FirePHP_Insight && method_exists($this, '_logUpgradeClientMessage')) {
|
704 |
+
if (!FirePHP_Insight::$upgradeClientMessageLogged) { // avoid infinite recursion as _logUpgradeClientMessage() logs a message
|
705 |
+
$this->_logUpgradeClientMessage();
|
706 |
+
}
|
707 |
+
}
|
708 |
+
|
709 |
+
static $insightGroupStack = array();
|
710 |
+
|
711 |
+
if (!$this->getEnabled()) {
|
712 |
+
return false;
|
713 |
+
}
|
714 |
+
|
715 |
+
if ($this->headersSent($filename, $linenum)) {
|
716 |
+
// If we are logging from within the exception handler we cannot throw another exception
|
717 |
+
if ($this->inExceptionHandler) {
|
718 |
+
// Simply echo the error out to the page
|
719 |
+
echo '<div style="border: 2px solid red; font-family: Arial; font-size: 12px; background-color: lightgray; padding: 5px;"><span style="color: red; font-weight: bold;">FirePHP ERROR:</span> Headers already sent in <b>' . $filename . '</b> on line <b>' . $linenum . '</b>. Cannot send log data to FirePHP. You must have Output Buffering enabled via ob_start() or output_buffering ini directive.</div>';
|
720 |
+
} else {
|
721 |
+
throw $this->newException('Headers already sent in ' . $filename . ' on line ' . $linenum . '. Cannot send log data to FirePHP. You must have Output Buffering enabled via ob_start() or output_buffering ini directive.');
|
722 |
+
}
|
723 |
+
}
|
724 |
+
|
725 |
+
$type = null;
|
726 |
+
$label = null;
|
727 |
+
$options = array();
|
728 |
+
|
729 |
+
if (func_num_args() == 1) {
|
730 |
+
|
731 |
+
} else if (func_num_args() == 2) {
|
732 |
+
switch (func_get_arg(1)) {
|
733 |
+
case self::LOG:
|
734 |
+
case self::INFO:
|
735 |
+
case self::WARN:
|
736 |
+
case self::ERROR:
|
737 |
+
case self::DUMP:
|
738 |
+
case self::TRACE:
|
739 |
+
case self::EXCEPTION:
|
740 |
+
case self::TABLE:
|
741 |
+
case self::GROUP_START:
|
742 |
+
case self::GROUP_END:
|
743 |
+
$type = func_get_arg(1);
|
744 |
+
break;
|
745 |
+
default:
|
746 |
+
$label = func_get_arg(1);
|
747 |
+
break;
|
748 |
+
}
|
749 |
+
} else if (func_num_args() == 3) {
|
750 |
+
$type = func_get_arg(2);
|
751 |
+
$label = func_get_arg(1);
|
752 |
+
} else if (func_num_args() == 4) {
|
753 |
+
$type = func_get_arg(2);
|
754 |
+
$label = func_get_arg(1);
|
755 |
+
$options = func_get_arg(3);
|
756 |
+
} else {
|
757 |
+
throw $this->newException('Wrong number of arguments to fb() function!');
|
758 |
+
}
|
759 |
+
|
760 |
+
if ($this->logToInsightConsole !== null && (get_class($this) == 'FirePHP_Insight' || is_subclass_of($this, 'FirePHP_Insight'))) {
|
761 |
+
$trace = debug_backtrace();
|
762 |
+
if (!$trace) return false;
|
763 |
+
for ($i = 0; $i < sizeof($trace); $i++) {
|
764 |
+
if (isset($trace[$i]['class'])) {
|
765 |
+
if ($trace[$i]['class'] == 'FirePHP' || $trace[$i]['class'] == 'FB') {
|
766 |
+
continue;
|
767 |
+
}
|
768 |
+
}
|
769 |
+
if (isset($trace[$i]['file'])) {
|
770 |
+
$path = $this->_standardizePath($trace[$i]['file']);
|
771 |
+
if (substr($path, -18, 18) == 'FirePHPCore/fb.php' || substr($path, -29, 29) == 'FirePHPCore/FirePHP.class.php') {
|
772 |
+
continue;
|
773 |
+
}
|
774 |
+
}
|
775 |
+
if (isset($trace[$i]['function']) && $trace[$i]['function'] == 'fb' &&
|
776 |
+
isset($trace[$i - 1]['file']) && substr($this->_standardizePath($trace[$i - 1]['file']), -18, 18) == 'FirePHPCore/fb.php') {
|
777 |
+
continue;
|
778 |
+
}
|
779 |
+
if (isset($trace[$i]['class']) && $trace[$i]['class'] == 'FB' &&
|
780 |
+
isset($trace[$i - 1]['file']) && substr($this->_standardizePath($trace[$i - 1]['file']), -18, 18) == 'FirePHPCore/fb.php') {
|
781 |
+
continue;
|
782 |
+
}
|
783 |
+
break;
|
784 |
+
}
|
785 |
+
// adjust trace offset
|
786 |
+
$msg = $this->logToInsightConsole->option('encoder.trace.offsetAdjustment', $i);
|
787 |
+
|
788 |
+
if ($object instanceof Exception) {
|
789 |
+
$type = self::EXCEPTION;
|
790 |
+
}
|
791 |
+
if ($label && $type != self::TABLE && $type != self::GROUP_START) {
|
792 |
+
$msg = $msg->label($label);
|
793 |
+
}
|
794 |
+
switch ($type) {
|
795 |
+
case self::DUMP:
|
796 |
+
case self::LOG:
|
797 |
+
return $msg->log($object);
|
798 |
+
case self::INFO:
|
799 |
+
return $msg->info($object);
|
800 |
+
case self::WARN:
|
801 |
+
return $msg->warn($object);
|
802 |
+
case self::ERROR:
|
803 |
+
return $msg->error($object);
|
804 |
+
case self::TRACE:
|
805 |
+
return $msg->trace($object);
|
806 |
+
case self::EXCEPTION:
|
807 |
+
return $this->plugin('error')->handleException($object, $msg);
|
808 |
+
case self::TABLE:
|
809 |
+
if (isset($object[0]) && !is_string($object[0]) && $label) {
|
810 |
+
$object = array($label, $object);
|
811 |
+
}
|
812 |
+
return $msg->table($object[0], array_slice($object[1], 1), $object[1][0]);
|
813 |
+
case self::GROUP_START:
|
814 |
+
$insightGroupStack[] = $msg->group(md5($label))->open();
|
815 |
+
return $msg->log($label);
|
816 |
+
case self::GROUP_END:
|
817 |
+
if (count($insightGroupStack) == 0) {
|
818 |
+
throw new Error('Too many groupEnd() as opposed to group() calls!');
|
819 |
+
}
|
820 |
+
$group = array_pop($insightGroupStack);
|
821 |
+
return $group->close();
|
822 |
+
default:
|
823 |
+
return $msg->log($object);
|
824 |
+
}
|
825 |
+
}
|
826 |
+
|
827 |
+
if (!$this->detectClientExtension()) {
|
828 |
+
return false;
|
829 |
+
}
|
830 |
+
|
831 |
+
$meta = array();
|
832 |
+
$skipFinalObjectEncode = false;
|
833 |
+
|
834 |
+
if ($object instanceof Exception) {
|
835 |
+
|
836 |
+
$meta['file'] = $this->_escapeTraceFile($object->getFile());
|
837 |
+
$meta['line'] = $object->getLine();
|
838 |
+
|
839 |
+
$trace = $object->getTrace();
|
840 |
+
if ($object instanceof ErrorException
|
841 |
+
&& isset($trace[0]['function'])
|
842 |
+
&& $trace[0]['function'] == 'errorHandler'
|
843 |
+
&& isset($trace[0]['class'])
|
844 |
+
&& $trace[0]['class'] == 'FirePHP') {
|
845 |
+
|
846 |
+
$severity = false;
|
847 |
+
switch ($object->getSeverity()) {
|
848 |
+
case E_WARNING:
|
849 |
+
$severity = 'E_WARNING';
|
850 |
+
break;
|
851 |
+
|
852 |
+
case E_NOTICE:
|
853 |
+
$severity = 'E_NOTICE';
|
854 |
+
break;
|
855 |
+
|
856 |
+
case E_USER_ERROR:
|
857 |
+
$severity = 'E_USER_ERROR';
|
858 |
+
break;
|
859 |
+
|
860 |
+
case E_USER_WARNING:
|
861 |
+
$severity = 'E_USER_WARNING';
|
862 |
+
break;
|
863 |
+
|
864 |
+
case E_USER_NOTICE:
|
865 |
+
$severity = 'E_USER_NOTICE';
|
866 |
+
break;
|
867 |
+
|
868 |
+
case E_STRICT:
|
869 |
+
$severity = 'E_STRICT';
|
870 |
+
break;
|
871 |
+
|
872 |
+
case E_RECOVERABLE_ERROR:
|
873 |
+
$severity = 'E_RECOVERABLE_ERROR';
|
874 |
+
break;
|
875 |
+
|
876 |
+
case E_DEPRECATED:
|
877 |
+
$severity = 'E_DEPRECATED';
|
878 |
+
break;
|
879 |
+
|
880 |
+
case E_USER_DEPRECATED:
|
881 |
+
$severity = 'E_USER_DEPRECATED';
|
882 |
+
break;
|
883 |
+
}
|
884 |
+
|
885 |
+
$object = array('Class' => get_class($object),
|
886 |
+
'Message' => $severity . ': ' . $object->getMessage(),
|
887 |
+
'File' => $this->_escapeTraceFile($object->getFile()),
|
888 |
+
'Line' => $object->getLine(),
|
889 |
+
'Type' => 'trigger',
|
890 |
+
'Trace' => $this->_escapeTrace(array_splice($trace, 2)));
|
891 |
+
$skipFinalObjectEncode = true;
|
892 |
+
} else {
|
893 |
+
$object = array('Class' => get_class($object),
|
894 |
+
'Message' => $object->getMessage(),
|
895 |
+
'File' => $this->_escapeTraceFile($object->getFile()),
|
896 |
+
'Line' => $object->getLine(),
|
897 |
+
'Type' => 'throw',
|
898 |
+
'Trace' => $this->_escapeTrace($trace));
|
899 |
+
$skipFinalObjectEncode = true;
|
900 |
+
}
|
901 |
+
$type = self::EXCEPTION;
|
902 |
+
} else if ($type == self::TRACE) {
|
903 |
+
|
904 |
+
$trace = debug_backtrace();
|
905 |
+
if (!$trace) return false;
|
906 |
+
for ($i = 0; $i < sizeof($trace); $i++) {
|
907 |
+
|
908 |
+
if (isset($trace[$i]['class'])
|
909 |
+
&& isset($trace[$i]['file'])
|
910 |
+
&& ($trace[$i]['class'] == 'FirePHP'
|
911 |
+
|| $trace[$i]['class'] == 'FB')
|
912 |
+
&& (substr($this->_standardizePath($trace[$i]['file']), -18, 18) == 'FirePHPCore/fb.php'
|
913 |
+
|| substr($this->_standardizePath($trace[$i]['file']), -29, 29) == 'FirePHPCore/FirePHP.class.php')) {
|
914 |
+
/* Skip - FB::trace(), FB::send(), $firephp->trace(), $firephp->fb() */
|
915 |
+
} else
|
916 |
+
if (isset($trace[$i]['class'])
|
917 |
+
&& isset($trace[$i + 1]['file'])
|
918 |
+
&& $trace[$i]['class'] == 'FirePHP'
|
919 |
+
&& substr($this->_standardizePath($trace[$i + 1]['file']), -18, 18) == 'FirePHPCore/fb.php') {
|
920 |
+
/* Skip fb() */
|
921 |
+
} else
|
922 |
+
if ($trace[$i]['function'] == 'fb'
|
923 |
+
|| $trace[$i]['function'] == 'trace'
|
924 |
+
|| $trace[$i]['function'] == 'send') {
|
925 |
+
|
926 |
+
$object = array('Class' => isset($trace[$i]['class']) ? $trace[$i]['class'] : '',
|
927 |
+
'Type' => isset($trace[$i]['type']) ? $trace[$i]['type'] : '',
|
928 |
+
'Function' => isset($trace[$i]['function']) ? $trace[$i]['function'] : '',
|
929 |
+
'Message' => $trace[$i]['args'][0],
|
930 |
+
'File' => isset($trace[$i]['file']) ? $this->_escapeTraceFile($trace[$i]['file']) : '',
|
931 |
+
'Line' => isset($trace[$i]['line']) ? $trace[$i]['line'] : '',
|
932 |
+
'Args' => isset($trace[$i]['args']) ? $this->encodeObject($trace[$i]['args']) : '',
|
933 |
+
'Trace' => $this->_escapeTrace(array_splice($trace, $i + 1)));
|
934 |
+
|
935 |
+
$skipFinalObjectEncode = true;
|
936 |
+
$meta['file'] = isset($trace[$i]['file']) ? $this->_escapeTraceFile($trace[$i]['file']) : '';
|
937 |
+
$meta['line'] = isset($trace[$i]['line']) ? $trace[$i]['line'] : '';
|
938 |
+
break;
|
939 |
+
}
|
940 |
+
}
|
941 |
+
} else
|
942 |
+
if ($type == self::TABLE) {
|
943 |
+
|
944 |
+
if (isset($object[0]) && is_string($object[0])) {
|
945 |
+
$object[1] = $this->encodeTable($object[1]);
|
946 |
+
} else {
|
947 |
+
$object = $this->encodeTable($object);
|
948 |
+
}
|
949 |
+
|
950 |
+
$skipFinalObjectEncode = true;
|
951 |
+
} else if ($type == self::GROUP_START) {
|
952 |
+
|
953 |
+
if (!$label) {
|
954 |
+
throw $this->newException('You must specify a label for the group!');
|
955 |
+
}
|
956 |
+
} else {
|
957 |
+
if ($type === null) {
|
958 |
+
$type = self::LOG;
|
959 |
+
}
|
960 |
+
}
|
961 |
+
|
962 |
+
if ($this->options['includeLineNumbers']) {
|
963 |
+
if (!isset($meta['file']) || !isset($meta['line'])) {
|
964 |
+
|
965 |
+
$trace = debug_backtrace();
|
966 |
+
for ($i = 0; $trace && $i < sizeof($trace); $i++) {
|
967 |
+
|
968 |
+
if (isset($trace[$i]['class'])
|
969 |
+
&& isset($trace[$i]['file'])
|
970 |
+
&& ($trace[$i]['class'] == 'FirePHP'
|
971 |
+
|| $trace[$i]['class'] == 'FB')
|
972 |
+
&& (substr($this->_standardizePath($trace[$i]['file']), -18, 18) == 'FirePHPCore/fb.php'
|
973 |
+
|| substr($this->_standardizePath($trace[$i]['file']), -29, 29) == 'FirePHPCore/FirePHP.class.php')) {
|
974 |
+
/* Skip - FB::trace(), FB::send(), $firephp->trace(), $firephp->fb() */
|
975 |
+
} else
|
976 |
+
if (isset($trace[$i]['class'])
|
977 |
+
&& isset($trace[$i + 1]['file'])
|
978 |
+
&& $trace[$i]['class'] == 'FirePHP'
|
979 |
+
&& substr($this->_standardizePath($trace[$i + 1]['file']), -18, 18) == 'FirePHPCore/fb.php') {
|
980 |
+
/* Skip fb() */
|
981 |
+
} else
|
982 |
+
if (isset($trace[$i]['file'])
|
983 |
+
&& substr($this->_standardizePath($trace[$i]['file']), -18, 18) == 'FirePHPCore/fb.php') {
|
984 |
+
/* Skip FB::fb() */
|
985 |
+
} else {
|
986 |
+
$meta['file'] = isset($trace[$i]['file']) ? $this->_escapeTraceFile($trace[$i]['file']) : '';
|
987 |
+
$meta['line'] = isset($trace[$i]['line']) ? $trace[$i]['line'] : '';
|
988 |
+
break;
|
989 |
+
}
|
990 |
+
}
|
991 |
+
}
|
992 |
+
} else {
|
993 |
+
unset($meta['file']);
|
994 |
+
unset($meta['line']);
|
995 |
+
}
|
996 |
+
|
997 |
+
$this->setHeader('X-Wf-Protocol-1', 'http://meta.wildfirehq.org/Protocol/JsonStream/0.2');
|
998 |
+
$this->setHeader('X-Wf-1-Plugin-1', 'http://meta.firephp.org/Wildfire/Plugin/FirePHP/Library-FirePHPCore/' . self::VERSION);
|
999 |
+
|
1000 |
+
$structureIndex = 1;
|
1001 |
+
if ($type == self::DUMP) {
|
1002 |
+
$structureIndex = 2;
|
1003 |
+
$this->setHeader('X-Wf-1-Structure-2', 'http://meta.firephp.org/Wildfire/Structure/FirePHP/Dump/0.1');
|
1004 |
+
} else {
|
1005 |
+
$this->setHeader('X-Wf-1-Structure-1', 'http://meta.firephp.org/Wildfire/Structure/FirePHP/FirebugConsole/0.1');
|
1006 |
+
}
|
1007 |
+
|
1008 |
+
if ($type == self::DUMP) {
|
1009 |
+
$msg = '{"' . $label . '":' . $this->jsonEncode($object, $skipFinalObjectEncode) . '}';
|
1010 |
+
} else {
|
1011 |
+
$msgMeta = $options;
|
1012 |
+
$msgMeta['Type'] = $type;
|
1013 |
+
if ($label !== null) {
|
1014 |
+
$msgMeta['Label'] = $label;
|
1015 |
+
}
|
1016 |
+
if (isset($meta['file']) && !isset($msgMeta['File'])) {
|
1017 |
+
$msgMeta['File'] = $meta['file'];
|
1018 |
+
}
|
1019 |
+
if (isset($meta['line']) && !isset($msgMeta['Line'])) {
|
1020 |
+
$msgMeta['Line'] = $meta['line'];
|
1021 |
+
}
|
1022 |
+
$msg = '[' . $this->jsonEncode($msgMeta) . ',' . $this->jsonEncode($object, $skipFinalObjectEncode) . ']';
|
1023 |
+
}
|
1024 |
+
|
1025 |
+
$parts = explode("\n", chunk_split($msg, 5000, "\n"));
|
1026 |
+
|
1027 |
+
for ($i = 0; $i < count($parts); $i++) {
|
1028 |
+
|
1029 |
+
$part = $parts[$i];
|
1030 |
+
if ($part) {
|
1031 |
+
|
1032 |
+
if (count($parts) > 2) {
|
1033 |
+
// Message needs to be split into multiple parts
|
1034 |
+
$this->setHeader('X-Wf-1-' . $structureIndex . '-' . '1-' . $this->messageIndex, (($i == 0) ? strlen($msg) : '')
|
1035 |
+
. '|' . $part . '|'
|
1036 |
+
. (($i < count($parts) - 2) ? '\\' : ''));
|
1037 |
+
} else {
|
1038 |
+
$this->setHeader('X-Wf-1-' . $structureIndex . '-' . '1-' . $this->messageIndex, strlen($part) . '|' . $part . '|');
|
1039 |
+
}
|
1040 |
+
|
1041 |
+
$this->messageIndex++;
|
1042 |
+
|
1043 |
+
if ($this->messageIndex > 99999) {
|
1044 |
+
throw $this->newException('Maximum number (99,999) of messages reached!');
|
1045 |
+
}
|
1046 |
+
}
|
1047 |
+
}
|
1048 |
+
|
1049 |
+
$this->setHeader('X-Wf-1-Index', $this->messageIndex - 1);
|
1050 |
+
|
1051 |
+
return true;
|
1052 |
+
}
|
1053 |
+
|
1054 |
+
/**
|
1055 |
+
* Standardizes path for windows systems.
|
1056 |
+
*
|
1057 |
+
* @param string $path
|
1058 |
+
* @return string
|
1059 |
+
*/
|
1060 |
+
protected function _standardizePath($path) {
|
1061 |
+
return preg_replace('/\\\\+/', '/', $path);
|
1062 |
+
}
|
1063 |
+
|
1064 |
+
/**
|
1065 |
+
* Escape trace path for windows systems
|
1066 |
+
*
|
1067 |
+
* @param array $trace
|
1068 |
+
* @return array
|
1069 |
+
*/
|
1070 |
+
protected function _escapeTrace($trace) {
|
1071 |
+
if (!$trace) return $trace;
|
1072 |
+
for ($i = 0; $i < sizeof($trace); $i++) {
|
1073 |
+
if (isset($trace[$i]['file'])) {
|
1074 |
+
$trace[$i]['file'] = $this->_escapeTraceFile($trace[$i]['file']);
|
1075 |
+
}
|
1076 |
+
if (isset($trace[$i]['args'])) {
|
1077 |
+
$trace[$i]['args'] = $this->encodeObject($trace[$i]['args']);
|
1078 |
+
}
|
1079 |
+
}
|
1080 |
+
return $trace;
|
1081 |
+
}
|
1082 |
+
|
1083 |
+
/**
|
1084 |
+
* Escape file information of trace for windows systems
|
1085 |
+
*
|
1086 |
+
* @param string $file
|
1087 |
+
* @return string
|
1088 |
+
*/
|
1089 |
+
protected function _escapeTraceFile($file) {
|
1090 |
+
/* Check if we have a windows filepath */
|
1091 |
+
if (strpos($file, '\\')) {
|
1092 |
+
/* First strip down to single \ */
|
1093 |
+
|
1094 |
+
$file = preg_replace('/\\\\+/', '\\', $file);
|
1095 |
+
|
1096 |
+
return $file;
|
1097 |
+
}
|
1098 |
+
return $file;
|
1099 |
+
}
|
1100 |
+
|
1101 |
+
/**
|
1102 |
+
* Check if headers have already been sent
|
1103 |
+
*
|
1104 |
+
* @param string $filename
|
1105 |
+
* @param integer $linenum
|
1106 |
+
*/
|
1107 |
+
protected function headersSent(&$filename, &$linenum) {
|
1108 |
+
return headers_sent($filename, $linenum);
|
1109 |
+
}
|
1110 |
+
|
1111 |
+
/**
|
1112 |
+
* Send header
|
1113 |
+
*
|
1114 |
+
* @param string $name
|
1115 |
+
* @param string $value
|
1116 |
+
*/
|
1117 |
+
protected function setHeader($name, $value) {
|
1118 |
+
return header($name . ': ' . $value);
|
1119 |
+
}
|
1120 |
+
|
1121 |
+
/**
|
1122 |
+
* Get user agent
|
1123 |
+
*
|
1124 |
+
* @return string|false
|
1125 |
+
*/
|
1126 |
+
protected function getUserAgent() {
|
1127 |
+
if (!isset($_SERVER['HTTP_USER_AGENT'])) return false;
|
1128 |
+
return $_SERVER['HTTP_USER_AGENT'];
|
1129 |
+
}
|
1130 |
+
|
1131 |
+
/**
|
1132 |
+
* Get all request headers
|
1133 |
+
*
|
1134 |
+
* @return array
|
1135 |
+
*/
|
1136 |
+
public static function getAllRequestHeaders() {
|
1137 |
+
static $_cachedHeaders = false;
|
1138 |
+
if ($_cachedHeaders !== false) {
|
1139 |
+
return $_cachedHeaders;
|
1140 |
+
}
|
1141 |
+
$headers = array();
|
1142 |
+
if (function_exists('getallheaders')) {
|
1143 |
+
foreach (getallheaders() as $name => $value) {
|
1144 |
+
$headers[strtolower($name)] = $value;
|
1145 |
+
}
|
1146 |
+
} else {
|
1147 |
+
foreach ($_SERVER as $name => $value) {
|
1148 |
+
if (substr($name, 0, 5) == 'HTTP_') {
|
1149 |
+
$headers[strtolower(str_replace(' ', '-', str_replace('_', ' ', substr($name, 5))))] = $value;
|
1150 |
+
}
|
1151 |
+
}
|
1152 |
+
}
|
1153 |
+
return $_cachedHeaders = $headers;
|
1154 |
+
}
|
1155 |
+
|
1156 |
+
/**
|
1157 |
+
* Get a request header
|
1158 |
+
*
|
1159 |
+
* @return string|false
|
1160 |
+
*/
|
1161 |
+
protected function getRequestHeader($name) {
|
1162 |
+
$headers = self::getAllRequestHeaders();
|
1163 |
+
if (isset($headers[strtolower($name)])) {
|
1164 |
+
return $headers[strtolower($name)];
|
1165 |
+
}
|
1166 |
+
return false;
|
1167 |
+
}
|
1168 |
+
|
1169 |
+
/**
|
1170 |
+
* Returns a new exception
|
1171 |
+
*
|
1172 |
+
* @param string $message
|
1173 |
+
* @return Exception
|
1174 |
+
*/
|
1175 |
+
protected function newException($message) {
|
1176 |
+
return new Exception($message);
|
1177 |
+
}
|
1178 |
+
|
1179 |
+
/**
|
1180 |
+
* Encode an object into a JSON string
|
1181 |
+
*
|
1182 |
+
* Uses PHP's jeson_encode() if available
|
1183 |
+
*
|
1184 |
+
* @param object $object The object to be encoded
|
1185 |
+
* @param boolean $skipObjectEncode
|
1186 |
+
* @return string The JSON string
|
1187 |
+
*/
|
1188 |
+
public function jsonEncode($object, $skipObjectEncode = false) {
|
1189 |
+
if (!$skipObjectEncode) {
|
1190 |
+
$object = $this->encodeObject($object);
|
1191 |
+
}
|
1192 |
+
|
1193 |
+
if (function_exists('json_encode')
|
1194 |
+
&& $this->options['useNativeJsonEncode'] != false) {
|
1195 |
+
|
1196 |
+
return json_encode($object);
|
1197 |
+
} else {
|
1198 |
+
return $this->json_encode($object);
|
1199 |
+
}
|
1200 |
+
}
|
1201 |
+
|
1202 |
+
/**
|
1203 |
+
* Encodes a table by encoding each row and column with encodeObject()
|
1204 |
+
*
|
1205 |
+
* @param array $table The table to be encoded
|
1206 |
+
* @return array
|
1207 |
+
*/
|
1208 |
+
protected function encodeTable($table) {
|
1209 |
+
if (!$table) return $table;
|
1210 |
+
|
1211 |
+
$newTable = array();
|
1212 |
+
foreach ($table as $row) {
|
1213 |
+
|
1214 |
+
if (is_array($row)) {
|
1215 |
+
$newRow = array();
|
1216 |
+
|
1217 |
+
foreach ($row as $item) {
|
1218 |
+
$newRow[] = $this->encodeObject($item);
|
1219 |
+
}
|
1220 |
+
|
1221 |
+
$newTable[] = $newRow;
|
1222 |
+
}
|
1223 |
+
}
|
1224 |
+
|
1225 |
+
return $newTable;
|
1226 |
+
}
|
1227 |
+
|
1228 |
+
/**
|
1229 |
+
* Encodes an object including members with
|
1230 |
+
* protected and private visibility
|
1231 |
+
*
|
1232 |
+
* @param object $object The object to be encoded
|
1233 |
+
* @param integer $Depth The current traversal depth
|
1234 |
+
* @return array All members of the object
|
1235 |
+
*/
|
1236 |
+
protected function encodeObject($object, $objectDepth = 1, $arrayDepth = 1, $maxDepth = 1) {
|
1237 |
+
if ($maxDepth > $this->options['maxDepth']) {
|
1238 |
+
return '** Max Depth (' . $this->options['maxDepth'] . ') **';
|
1239 |
+
}
|
1240 |
+
|
1241 |
+
$return = array();
|
1242 |
+
|
1243 |
+
if (is_resource($object)) {
|
1244 |
+
|
1245 |
+
return '** ' . (string) $object . ' **';
|
1246 |
+
} else if (is_object($object)) {
|
1247 |
+
|
1248 |
+
if ($objectDepth > $this->options['maxObjectDepth']) {
|
1249 |
+
return '** Max Object Depth (' . $this->options['maxObjectDepth'] . ') **';
|
1250 |
+
}
|
1251 |
+
|
1252 |
+
foreach ($this->objectStack as $refVal) {
|
1253 |
+
if ($refVal === $object) {
|
1254 |
+
return '** Recursion (' . get_class($object) . ') **';
|
1255 |
+
}
|
1256 |
+
}
|
1257 |
+
array_push($this->objectStack, $object);
|
1258 |
+
|
1259 |
+
$return['__className'] = $class = get_class($object);
|
1260 |
+
$classLower = strtolower($class);
|
1261 |
+
|
1262 |
+
$reflectionClass = new ReflectionClass($class);
|
1263 |
+
$properties = array();
|
1264 |
+
foreach ($reflectionClass->getProperties() as $property) {
|
1265 |
+
$properties[$property->getName()] = $property;
|
1266 |
+
}
|
1267 |
+
|
1268 |
+
$members = (array) $object;
|
1269 |
+
|
1270 |
+
foreach ($properties as $plainName => $property) {
|
1271 |
+
|
1272 |
+
$name = $rawName = $plainName;
|
1273 |
+
if ($property->isStatic()) {
|
1274 |
+
$name = 'static:' . $name;
|
1275 |
+
}
|
1276 |
+
if ($property->isPublic()) {
|
1277 |
+
$name = 'public:' . $name;
|
1278 |
+
} else if ($property->isPrivate()) {
|
1279 |
+
$name = 'private:' . $name;
|
1280 |
+
$rawName = "\0" . $class . "\0" . $rawName;
|
1281 |
+
} else if ($property->isProtected()) {
|
1282 |
+
$name = 'protected:' . $name;
|
1283 |
+
$rawName = "\0" . '*' . "\0" . $rawName;
|
1284 |
+
}
|
1285 |
+
|
1286 |
+
if (!(isset($this->objectFilters[$classLower])
|
1287 |
+
&& is_array($this->objectFilters[$classLower])
|
1288 |
+
&& in_array($plainName, $this->objectFilters[$classLower]))) {
|
1289 |
+
|
1290 |
+
if (array_key_exists($rawName, $members) && !$property->isStatic()) {
|
1291 |
+
$return[$name] = $this->encodeObject($members[$rawName], $objectDepth + 1, 1, $maxDepth + 1);
|
1292 |
+
} else {
|
1293 |
+
if (method_exists($property, 'setAccessible')) {
|
1294 |
+
$property->setAccessible(true);
|
1295 |
+
$return[$name] = $this->encodeObject($property->getValue($object), $objectDepth + 1, 1, $maxDepth + 1);
|
1296 |
+
} else
|
1297 |
+
if ($property->isPublic()) {
|
1298 |
+
$return[$name] = $this->encodeObject($property->getValue($object), $objectDepth + 1, 1, $maxDepth + 1);
|
1299 |
+
} else {
|
1300 |
+
$return[$name] = '** Need PHP 5.3 to get value **';
|
1301 |
+
}
|
1302 |
+
}
|
1303 |
+
} else {
|
1304 |
+
$return[$name] = '** Excluded by Filter **';
|
1305 |
+
}
|
1306 |
+
}
|
1307 |
+
|
1308 |
+
// Include all members that are not defined in the class
|
1309 |
+
// but exist in the object
|
1310 |
+
foreach ($members as $rawName => $value) {
|
1311 |
+
|
1312 |
+
$name = $rawName;
|
1313 |
+
|
1314 |
+
if ($name{0} == "\0") {
|
1315 |
+
$parts = explode("\0", $name);
|
1316 |
+
$name = $parts[2];
|
1317 |
+
}
|
1318 |
+
|
1319 |
+
$plainName = $name;
|
1320 |
+
|
1321 |
+
if (!isset($properties[$name])) {
|
1322 |
+
$name = 'undeclared:' . $name;
|
1323 |
+
|
1324 |
+
if (!(isset($this->objectFilters[$classLower])
|
1325 |
+
&& is_array($this->objectFilters[$classLower])
|
1326 |
+
&& in_array($plainName, $this->objectFilters[$classLower]))) {
|
1327 |
+
|
1328 |
+
$return[$name] = $this->encodeObject($value, $objectDepth + 1, 1, $maxDepth + 1);
|
1329 |
+
} else {
|
1330 |
+
$return[$name] = '** Excluded by Filter **';
|
1331 |
+
}
|
1332 |
+
}
|
1333 |
+
}
|
1334 |
+
|
1335 |
+
array_pop($this->objectStack);
|
1336 |
+
} elseif (is_array($object)) {
|
1337 |
+
|
1338 |
+
if ($arrayDepth > $this->options['maxArrayDepth']) {
|
1339 |
+
return '** Max Array Depth (' . $this->options['maxArrayDepth'] . ') **';
|
1340 |
+
}
|
1341 |
+
|
1342 |
+
foreach ($object as $key => $val) {
|
1343 |
+
|
1344 |
+
// Encoding the $GLOBALS PHP array causes an infinite loop
|
1345 |
+
// if the recursion is not reset here as it contains
|
1346 |
+
// a reference to itself. This is the only way I have come up
|
1347 |
+
// with to stop infinite recursion in this case.
|
1348 |
+
if ($key == 'GLOBALS'
|
1349 |
+
&& is_array($val)
|
1350 |
+
&& array_key_exists('GLOBALS', $val)) {
|
1351 |
+
$val['GLOBALS'] = '** Recursion (GLOBALS) **';
|
1352 |
+
}
|
1353 |
+
|
1354 |
+
if (!$this->is_utf8($key)) {
|
1355 |
+
$key = utf8_encode($key);
|
1356 |
+
}
|
1357 |
+
|
1358 |
+
$return[$key] = $this->encodeObject($val, 1, $arrayDepth + 1, $maxDepth + 1);
|
1359 |
+
}
|
1360 |
+
} else {
|
1361 |
+
if ($this->is_utf8($object)) {
|
1362 |
+
return $object;
|
1363 |
+
} else {
|
1364 |
+
return utf8_encode($object);
|
1365 |
+
}
|
1366 |
+
}
|
1367 |
+
return $return;
|
1368 |
+
}
|
1369 |
+
|
1370 |
+
/**
|
1371 |
+
* Returns true if $string is valid UTF-8 and false otherwise.
|
1372 |
+
*
|
1373 |
+
* @param mixed $str String to be tested
|
1374 |
+
* @return boolean
|
1375 |
+
*/
|
1376 |
+
protected function is_utf8($str) {
|
1377 |
+
if (function_exists('mb_detect_encoding')) {
|
1378 |
+
return (
|
1379 |
+
mb_detect_encoding($str, 'UTF-8', true) == 'UTF-8' &&
|
1380 |
+
($str === null || $this->jsonEncode($str, true) !== 'null')
|
1381 |
+
);
|
1382 |
+
}
|
1383 |
+
$c = 0;
|
1384 |
+
$b = 0;
|
1385 |
+
$bits = 0;
|
1386 |
+
$len = strlen($str);
|
1387 |
+
for ($i = 0; $i < $len; $i++) {
|
1388 |
+
$c = ord($str[$i]);
|
1389 |
+
if ($c > 128) {
|
1390 |
+
if (($c >= 254)) return false;
|
1391 |
+
elseif ($c >= 252) $bits = 6;
|
1392 |
+
elseif ($c >= 248) $bits = 5;
|
1393 |
+
elseif ($c >= 240) $bits = 4;
|
1394 |
+
elseif ($c >= 224) $bits = 3;
|
1395 |
+
elseif ($c >= 192) $bits = 2;
|
1396 |
+
else return false;
|
1397 |
+
if (($i + $bits) > $len) return false;
|
1398 |
+
while ($bits > 1) {
|
1399 |
+
$i++;
|
1400 |
+
$b = ord($str[$i]);
|
1401 |
+
if ($b < 128 || $b > 191) return false;
|
1402 |
+
$bits--;
|
1403 |
+
}
|
1404 |
+
}
|
1405 |
+
}
|
1406 |
+
return ($str === null || $this->jsonEncode($str, true) !== 'null');
|
1407 |
+
}
|
1408 |
+
|
1409 |
+
/**
|
1410 |
+
* Converts to and from JSON format.
|
1411 |
+
*
|
1412 |
+
* JSON (JavaScript Object Notation) is a lightweight data-interchange
|
1413 |
+
* format. It is easy for humans to read and write. It is easy for machines
|
1414 |
+
* to parse and generate. It is based on a subset of the JavaScript
|
1415 |
+
* Programming Language, Standard ECMA-262 3rd Edition - December 1999.
|
1416 |
+
* This feature can also be found in Python. JSON is a text format that is
|
1417 |
+
* completely language independent but uses conventions that are familiar
|
1418 |
+
* to programmers of the C-family of languages, including C, C++, C#, Java,
|
1419 |
+
* JavaScript, Perl, TCL, and many others. These properties make JSON an
|
1420 |
+
* ideal data-interchange language.
|
1421 |
+
*
|
1422 |
+
* This package provides a simple encoder and decoder for JSON notation. It
|
1423 |
+
* is intended for use with client-side Javascript applications that make
|
1424 |
+
* use of HTTPRequest to perform server communication functions - data can
|
1425 |
+
* be encoded into JSON notation for use in a client-side javascript, or
|
1426 |
+
* decoded from incoming Javascript requests. JSON format is native to
|
1427 |
+
* Javascript, and can be directly eval()'ed with no further parsing
|
1428 |
+
* overhead
|
1429 |
+
*
|
1430 |
+
* All strings should be in ASCII or UTF-8 format!
|
1431 |
+
*
|
1432 |
+
* LICENSE: Redistribution and use in source and binary forms, with or
|
1433 |
+
* without modification, are permitted provided that the following
|
1434 |
+
* conditions are met: Redistributions of source code must retain the
|
1435 |
+
* above copyright notice, this list of conditions and the following
|
1436 |
+
* disclaimer. Redistributions in binary form must reproduce the above
|
1437 |
+
* copyright notice, this list of conditions and the following disclaimer
|
1438 |
+
* in the documentation and/or other materials provided with the
|
1439 |
+
* distribution.
|
1440 |
+
*
|
1441 |
+
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
1442 |
+
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
1443 |
+
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
|
1444 |
+
* NO EVENT SHALL CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
1445 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
1446 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
1447 |
+
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
1448 |
+
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
1449 |
+
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
1450 |
+
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
1451 |
+
* DAMAGE.
|
1452 |
+
*
|
1453 |
+
* @category
|
1454 |
+
* @package Services_JSON
|
1455 |
+
* @author Michal Migurski <mike-json@teczno.com>
|
1456 |
+
* @author Matt Knapp <mdknapp[at]gmail[dot]com>
|
1457 |
+
* @author Brett Stimmerman <brettstimmerman[at]gmail[dot]com>
|
1458 |
+
* @author Christoph Dorn <christoph@christophdorn.com>
|
1459 |
+
* @copyright 2005 Michal Migurski
|
1460 |
+
* @version CVS: $Id: JSON.php,v 1.31 2006/06/28 05:54:17 migurski Exp $
|
1461 |
+
* @license http://www.opensource.org/licenses/bsd-license.php
|
1462 |
+
* @link http://pear.php.net/pepr/pepr-proposal-show.php?id=198
|
1463 |
+
*/
|
1464 |
+
|
1465 |
+
/**
|
1466 |
+
* Keep a list of objects as we descend into the array so we can detect recursion.
|
1467 |
+
*/
|
1468 |
+
private $json_objectStack = array();
|
1469 |
+
|
1470 |
+
/**
|
1471 |
+
* convert a string from one UTF-8 char to one UTF-16 char
|
1472 |
+
*
|
1473 |
+
* Normally should be handled by mb_convert_encoding, but
|
1474 |
+
* provides a slower PHP-only method for installations
|
1475 |
+
* that lack the multibye string extension.
|
1476 |
+
*
|
1477 |
+
* @param string $utf8 UTF-8 character
|
1478 |
+
* @return string UTF-16 character
|
1479 |
+
* @access private
|
1480 |
+
*/
|
1481 |
+
private function json_utf82utf16($utf8) {
|
1482 |
+
// oh please oh please oh please oh please oh please
|
1483 |
+
if (function_exists('mb_convert_encoding')) {
|
1484 |
+
return mb_convert_encoding($utf8, 'UTF-16', 'UTF-8');
|
1485 |
+
}
|
1486 |
+
|
1487 |
+
switch (strlen($utf8)) {
|
1488 |
+
case 1:
|
1489 |
+
// this case should never be reached, because we are in ASCII range
|
1490 |
+
// see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
|
1491 |
+
return $utf8;
|
1492 |
+
|
1493 |
+
case 2:
|
1494 |
+
// return a UTF-16 character from a 2-byte UTF-8 char
|
1495 |
+
// see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
|
1496 |
+
return chr(0x07 & (ord($utf8{0}) >> 2))
|
1497 |
+
. chr((0xC0 & (ord($utf8{0}) << 6))
|
1498 |
+
| (0x3F & ord($utf8{1})));
|
1499 |
+
|
1500 |
+
case 3:
|
1501 |
+
// return a UTF-16 character from a 3-byte UTF-8 char
|
1502 |
+
// see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
|
1503 |
+
return chr((0xF0 & (ord($utf8{0}) << 4))
|
1504 |
+
| (0x0F & (ord($utf8{1}) >> 2)))
|
1505 |
+
. chr((0xC0 & (ord($utf8{1}) << 6))
|
1506 |
+
| (0x7F & ord($utf8{2})));
|
1507 |
+
}
|
1508 |
+
|
1509 |
+
// ignoring UTF-32 for now, sorry
|
1510 |
+
return '';
|
1511 |
+
}
|
1512 |
+
|
1513 |
+
/**
|
1514 |
+
* encodes an arbitrary variable into JSON format
|
1515 |
+
*
|
1516 |
+
* @param mixed $var any number, boolean, string, array, or object to be encoded.
|
1517 |
+
* see argument 1 to Services_JSON() above for array-parsing behavior.
|
1518 |
+
* if var is a strng, note that encode() always expects it
|
1519 |
+
* to be in ASCII or UTF-8 format!
|
1520 |
+
*
|
1521 |
+
* @return mixed JSON string representation of input var or an error if a problem occurs
|
1522 |
+
* @access public
|
1523 |
+
*/
|
1524 |
+
private function json_encode($var) {
|
1525 |
+
if (is_object($var)) {
|
1526 |
+
if (in_array($var, $this->json_objectStack)) {
|
1527 |
+
return '"** Recursion **"';
|
1528 |
+
}
|
1529 |
+
}
|
1530 |
+
|
1531 |
+
switch (gettype($var)) {
|
1532 |
+
case 'boolean':
|
1533 |
+
return $var ? 'true' : 'false';
|
1534 |
+
|
1535 |
+
case 'NULL':
|
1536 |
+
return 'null';
|
1537 |
+
|
1538 |
+
case 'integer':
|
1539 |
+
return (int) $var;
|
1540 |
+
|
1541 |
+
case 'double':
|
1542 |
+
case 'float':
|
1543 |
+
return (float) $var;
|
1544 |
+
|
1545 |
+
case 'string':
|
1546 |
+
// STRINGS ARE EXPECTED TO BE IN ASCII OR UTF-8 FORMAT
|
1547 |
+
$ascii = '';
|
1548 |
+
$strlen_var = strlen($var);
|
1549 |
+
|
1550 |
+
/*
|
1551 |
+
* Iterate over every character in the string,
|
1552 |
+
* escaping with a slash or encoding to UTF-8 where necessary
|
1553 |
+
*/
|
1554 |
+
for ($c = 0; $c < $strlen_var; ++$c) {
|
1555 |
+
|
1556 |
+
$ord_var_c = ord($var{$c});
|
1557 |
+
|
1558 |
+
switch (true) {
|
1559 |
+
case $ord_var_c == 0x08:
|
1560 |
+
$ascii .= '\b';
|
1561 |
+
break;
|
1562 |
+
case $ord_var_c == 0x09:
|
1563 |
+
$ascii .= '\t';
|
1564 |
+
break;
|
1565 |
+
case $ord_var_c == 0x0A:
|
1566 |
+
$ascii .= '\n';
|
1567 |
+
break;
|
1568 |
+
case $ord_var_c == 0x0C:
|
1569 |
+
$ascii .= '\f';
|
1570 |
+
break;
|
1571 |
+
case $ord_var_c == 0x0D:
|
1572 |
+
$ascii .= '\r';
|
1573 |
+
break;
|
1574 |
+
|
1575 |
+
case $ord_var_c == 0x22:
|
1576 |
+
case $ord_var_c == 0x2F:
|
1577 |
+
case $ord_var_c == 0x5C:
|
1578 |
+
// double quote, slash, slosh
|
1579 |
+
$ascii .= '\\' . $var{$c};
|
1580 |
+
break;
|
1581 |
+
|
1582 |
+
case (($ord_var_c >= 0x20) && ($ord_var_c <= 0x7F)):
|
1583 |
+
// characters U-00000000 - U-0000007F (same as ASCII)
|
1584 |
+
$ascii .= $var{$c};
|
1585 |
+
break;
|
1586 |
+
|
1587 |
+
case (($ord_var_c & 0xE0) == 0xC0):
|
1588 |
+
// characters U-00000080 - U-000007FF, mask 110XXXXX
|
1589 |
+
// see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
|
1590 |
+
$char = pack('C*', $ord_var_c, ord($var{$c + 1}));
|
1591 |
+
$c += 1;
|
1592 |
+
$utf16 = $this->json_utf82utf16($char);
|
1593 |
+
$ascii .= sprintf('\u%04s', bin2hex($utf16));
|
1594 |
+
break;
|
1595 |
+
|
1596 |
+
case (($ord_var_c & 0xF0) == 0xE0):
|
1597 |
+
// characters U-00000800 - U-0000FFFF, mask 1110XXXX
|
1598 |
+
// see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
|
1599 |
+
$char = pack('C*', $ord_var_c, ord($var{$c + 1}), ord($var{$c + 2}));
|
1600 |
+
$c += 2;
|
1601 |
+
$utf16 = $this->json_utf82utf16($char);
|
1602 |
+
$ascii .= sprintf('\u%04s', bin2hex($utf16));
|
1603 |
+
break;
|
1604 |
+
|
1605 |
+
case (($ord_var_c & 0xF8) == 0xF0):
|
1606 |
+
// characters U-00010000 - U-001FFFFF, mask 11110XXX
|
1607 |
+
// see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
|
1608 |
+
$char = pack('C*', $ord_var_c, ord($var{$c + 1}), ord($var{$c + 2}), ord($var{$c + 3}));
|
1609 |
+
$c += 3;
|
1610 |
+
$utf16 = $this->json_utf82utf16($char);
|
1611 |
+
$ascii .= sprintf('\u%04s', bin2hex($utf16));
|
1612 |
+
break;
|
1613 |
+
|
1614 |
+
case (($ord_var_c & 0xFC) == 0xF8):
|
1615 |
+
// characters U-00200000 - U-03FFFFFF, mask 111110XX
|
1616 |
+
// see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
|
1617 |
+
$char = pack('C*', $ord_var_c, ord($var{$c + 1}), ord($var{$c + 2}), ord($var{$c + 3}), ord($var{$c + 4}));
|
1618 |
+
$c += 4;
|
1619 |
+
$utf16 = $this->json_utf82utf16($char);
|
1620 |
+
$ascii .= sprintf('\u%04s', bin2hex($utf16));
|
1621 |
+
break;
|
1622 |
+
|
1623 |
+
case (($ord_var_c & 0xFE) == 0xFC):
|
1624 |
+
// characters U-04000000 - U-7FFFFFFF, mask 1111110X
|
1625 |
+
// see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
|
1626 |
+
$char = pack('C*', $ord_var_c, ord($var{$c + 1}), ord($var{$c + 2}), ord($var{$c + 3}), ord($var{$c + 4}), ord($var{$c + 5}));
|
1627 |
+
$c += 5;
|
1628 |
+
$utf16 = $this->json_utf82utf16($char);
|
1629 |
+
$ascii .= sprintf('\u%04s', bin2hex($utf16));
|
1630 |
+
break;
|
1631 |
+
}
|
1632 |
+
}
|
1633 |
+
|
1634 |
+
return '"' . $ascii . '"';
|
1635 |
+
|
1636 |
+
case 'array':
|
1637 |
+
/*
|
1638 |
+
* As per JSON spec if any array key is not an integer
|
1639 |
+
* we must treat the the whole array as an object. We
|
1640 |
+
* also try to catch a sparsely populated associative
|
1641 |
+
* array with numeric keys here because some JS engines
|
1642 |
+
* will create an array with empty indexes up to
|
1643 |
+
* max_index which can cause memory issues and because
|
1644 |
+
* the keys, which may be relevant, will be remapped
|
1645 |
+
* otherwise.
|
1646 |
+
*
|
1647 |
+
* As per the ECMA and JSON specification an object may
|
1648 |
+
* have any string as a property. Unfortunately due to
|
1649 |
+
* a hole in the ECMA specification if the key is a
|
1650 |
+
* ECMA reserved word or starts with a digit the
|
1651 |
+
* parameter is only accessible using ECMAScript's
|
1652 |
+
* bracket notation.
|
1653 |
+
*/
|
1654 |
+
|
1655 |
+
// treat as a JSON object
|
1656 |
+
if (is_array($var) && count($var) && (array_keys($var) !== range(0, sizeof($var) - 1))) {
|
1657 |
+
|
1658 |
+
$this->json_objectStack[] = $var;
|
1659 |
+
|
1660 |
+
$properties = array_map(array($this, 'json_name_value'), array_keys($var), array_values($var));
|
1661 |
+
|
1662 |
+
array_pop($this->json_objectStack);
|
1663 |
+
|
1664 |
+
foreach ($properties as $property) {
|
1665 |
+
if ($property instanceof Exception) {
|
1666 |
+
return $property;
|
1667 |
+
}
|
1668 |
+
}
|
1669 |
+
|
1670 |
+
return '{' . join(',', $properties) . '}';
|
1671 |
+
}
|
1672 |
+
|
1673 |
+
$this->json_objectStack[] = $var;
|
1674 |
+
|
1675 |
+
// treat it like a regular array
|
1676 |
+
$elements = array_map(array($this, 'json_encode'), $var);
|
1677 |
+
|
1678 |
+
array_pop($this->json_objectStack);
|
1679 |
+
|
1680 |
+
foreach ($elements as $element) {
|
1681 |
+
if ($element instanceof Exception) {
|
1682 |
+
return $element;
|
1683 |
+
}
|
1684 |
+
}
|
1685 |
+
|
1686 |
+
return '[' . join(',', $elements) . ']';
|
1687 |
+
|
1688 |
+
case 'object':
|
1689 |
+
$vars = self::encodeObject($var);
|
1690 |
+
|
1691 |
+
$this->json_objectStack[] = $var;
|
1692 |
+
|
1693 |
+
$properties = array_map(array($this, 'json_name_value'), array_keys($vars), array_values($vars));
|
1694 |
+
|
1695 |
+
array_pop($this->json_objectStack);
|
1696 |
+
|
1697 |
+
foreach ($properties as $property) {
|
1698 |
+
if ($property instanceof Exception) {
|
1699 |
+
return $property;
|
1700 |
+
}
|
1701 |
+
}
|
1702 |
+
|
1703 |
+
return '{' . join(',', $properties) . '}';
|
1704 |
+
|
1705 |
+
default:
|
1706 |
+
return null;
|
1707 |
+
}
|
1708 |
+
}
|
1709 |
+
|
1710 |
+
/**
|
1711 |
+
* array-walking function for use in generating JSON-formatted name-value pairs
|
1712 |
+
*
|
1713 |
+
* @param string $name name of key to use
|
1714 |
+
* @param mixed $value reference to an array element to be encoded
|
1715 |
+
*
|
1716 |
+
* @return string JSON-formatted name-value pair, like '"name":value'
|
1717 |
+
* @access private
|
1718 |
+
*/
|
1719 |
+
private function json_name_value($name, $value) {
|
1720 |
+
// Encoding the $GLOBALS PHP array causes an infinite loop
|
1721 |
+
// if the recursion is not reset here as it contains
|
1722 |
+
// a reference to itself. This is the only way I have come up
|
1723 |
+
// with to stop infinite recursion in this case.
|
1724 |
+
if ($name == 'GLOBALS'
|
1725 |
+
&& is_array($value)
|
1726 |
+
&& array_key_exists('GLOBALS', $value)) {
|
1727 |
+
$value['GLOBALS'] = '** Recursion **';
|
1728 |
+
}
|
1729 |
+
|
1730 |
+
$encodedValue = $this->json_encode($value);
|
1731 |
+
|
1732 |
+
if ($encodedValue instanceof Exception) {
|
1733 |
+
return $encodedValue;
|
1734 |
+
}
|
1735 |
+
|
1736 |
+
return $this->json_encode(strval($name)) . ':' . $encodedValue;
|
1737 |
+
}
|
1738 |
+
|
1739 |
+
/**
|
1740 |
+
* @deprecated
|
1741 |
+
*/
|
1742 |
+
public function setProcessorUrl($URL) {
|
1743 |
+
trigger_error('The FirePHP_tp::setProcessorUrl() method is no longer supported', E_USER_DEPRECATED);
|
1744 |
+
}
|
1745 |
+
|
1746 |
+
/**
|
1747 |
+
* @deprecated
|
1748 |
+
*/
|
1749 |
+
public function setRendererUrl($URL) {
|
1750 |
+
trigger_error('The FirePHP_tp::setRendererUrl() method is no longer supported', E_USER_DEPRECATED);
|
1751 |
+
}
|
1752 |
+
|
1753 |
+
}
|
@@ -1,14 +1,14 @@
|
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
-
* Transposh v0.
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
* Copyright 2012, Team Transposh
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
-
* Date:
|
12 |
*/
|
13 |
|
14 |
//Language indicator in URL. i.e. lang=en
|
@@ -130,10 +130,8 @@ class transposh_consts {
|
|
130 |
// @updated 2010-Oct-01 (hy,az,eu,ka,la,ur)
|
131 |
// @updated 2011-Nov-04
|
132 |
// @updated 2012-Feb-24 (eo)
|
133 |
-
//
|
134 |
public static $google_languages = array('en', 'af', 'sq', 'ar', 'be', 'bg', 'ca', 'zh', 'zh-tw', 'hr', 'cs', 'da', 'nl', 'et', 'fi', 'fr', 'gl', 'de', 'el', 'ht', 'he', 'hi', 'hu', 'id', 'it', 'is', 'ga', 'ja', 'ko', 'lo', 'lv', 'lt', 'mk', 'ms', 'mt', 'no', 'fa', 'pl', 'pt', 'ro', 'ru', 'sr', 'sk', 'sl', 'es', 'sw', 'sv', 'tl', 'th', 'tr', 'uk', 'vi', 'cy', 'yi', 'hy', 'az', 'eu', 'ka', 'la', 'ur', 'ta', 'te', 'kn', 'bn', 'gu', 'eo');
|
135 |
-
// public static $google_languages = array('en', 'af', 'sq', 'ar', 'be', 'bg', 'ca', 'zh', 'zh-tw', 'hr', 'cs', 'da', 'nl', 'et', 'fi', 'fr', 'gl', 'de', 'el', 'ht', 'he', 'hi', 'hu', 'id', 'it', 'is', 'ga', 'ja', 'ko', 'lv', 'lt', 'mk', 'ms', 'mt', 'no', 'fa', 'pl', 'pt', 'ro', 'ru', 'sr', 'sk', 'sl', 'es', 'sw', 'sv', 'tl', 'th', 'tr', 'uk', 'vi', 'cy', 'yi');
|
136 |
-
// public static $google_proxied_languages = array('hy', 'az', 'eu', 'ka', 'la', 'ur', 'ta', 'te', 'kn', 'bn', 'gu');
|
137 |
// Bing supported languages
|
138 |
// (got this using Microsoft.Translator.GetLanguages() - fixed to match our codes)
|
139 |
// @updated 2012-Feb-14 (mww)
|
@@ -149,7 +147,6 @@ class transposh_consts {
|
|
149 |
//Dari fa-af
|
150 |
//Kazakh kk-kz
|
151 |
//Khmer km-kh
|
152 |
-
//Lao lo-la
|
153 |
//Pashto ps
|
154 |
//Uzbek uz-uz
|
155 |
public static $oht_languages = array('en', 'sq', 'ar', 'bn', 'bg', 'ca', 'zh', 'zh-tw', 'hr', 'cs', 'da', 'nl', 'et', 'fa', 'fi', 'fr', 'ka', 'de', 'el', 'he', 'hi', 'hu', 'id', 'it', 'jp', 'ko', 'lo', 'lv', 'lt', 'mk', 'ms', 'no', 'pl', 'pt', 'ro', 'ru', 'sr', 'sk', 'sl', 'es', 'sv', 'tl', 'ta', 'th', 'tr', 'uk', 'ur', 'vi');
|
@@ -166,24 +163,21 @@ class transposh_consts {
|
|
166 |
define('TRANSLATOR', 'translator');
|
167 |
|
168 |
//Define for transposh plugin version
|
169 |
-
define('TRANSPOSH_PLUGIN_VER', '0.
|
170 |
|
171 |
//Current jQuery UI
|
172 |
-
define('JQUERYUI_VER', '1.
|
173 |
|
174 |
//Define segment id prefix, will be included in span tag. also used as class identifier
|
175 |
define('SPAN_PREFIX', 'tr_');
|
176 |
|
177 |
-
//The name of our admin page
|
178 |
-
define('TRANSPOSH_ADMIN_PAGE_NAME', 'transposh');
|
179 |
-
|
180 |
//Our text domain
|
181 |
define('TRANSPOSH_TEXT_DOMAIN', 'transposh');
|
182 |
|
183 |
//0.3.5 - Storing all options in this config option
|
184 |
define('TRANSPOSH_OPTIONS', 'transposh_options');
|
185 |
|
186 |
-
//0.
|
187 |
define('TRANSPOSH_OPTIONS_OHT', 'transposh_options_oht');
|
188 |
define('TRANSPOSH_OPTIONS_OHT_PROJECTS', 'transposh_options_oht_projects');
|
189 |
define('TRANSPOSH_OHT_DELAY', 600);
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
+
* Transposh v0.9.0
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
* Copyright 2012, Team Transposh
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
+
* Date: Sun, 16 Dec 2012 07:53:29 +0200
|
12 |
*/
|
13 |
|
14 |
//Language indicator in URL. i.e. lang=en
|
130 |
// @updated 2010-Oct-01 (hy,az,eu,ka,la,ur)
|
131 |
// @updated 2011-Nov-04
|
132 |
// @updated 2012-Feb-24 (eo)
|
133 |
+
// @updated 2012-Sep-17 (la)
|
134 |
public static $google_languages = array('en', 'af', 'sq', 'ar', 'be', 'bg', 'ca', 'zh', 'zh-tw', 'hr', 'cs', 'da', 'nl', 'et', 'fi', 'fr', 'gl', 'de', 'el', 'ht', 'he', 'hi', 'hu', 'id', 'it', 'is', 'ga', 'ja', 'ko', 'lo', 'lv', 'lt', 'mk', 'ms', 'mt', 'no', 'fa', 'pl', 'pt', 'ro', 'ru', 'sr', 'sk', 'sl', 'es', 'sw', 'sv', 'tl', 'th', 'tr', 'uk', 'vi', 'cy', 'yi', 'hy', 'az', 'eu', 'ka', 'la', 'ur', 'ta', 'te', 'kn', 'bn', 'gu', 'eo');
|
|
|
|
|
135 |
// Bing supported languages
|
136 |
// (got this using Microsoft.Translator.GetLanguages() - fixed to match our codes)
|
137 |
// @updated 2012-Feb-14 (mww)
|
147 |
//Dari fa-af
|
148 |
//Kazakh kk-kz
|
149 |
//Khmer km-kh
|
|
|
150 |
//Pashto ps
|
151 |
//Uzbek uz-uz
|
152 |
public static $oht_languages = array('en', 'sq', 'ar', 'bn', 'bg', 'ca', 'zh', 'zh-tw', 'hr', 'cs', 'da', 'nl', 'et', 'fa', 'fi', 'fr', 'ka', 'de', 'el', 'he', 'hi', 'hu', 'id', 'it', 'jp', 'ko', 'lo', 'lv', 'lt', 'mk', 'ms', 'no', 'pl', 'pt', 'ro', 'ru', 'sr', 'sk', 'sl', 'es', 'sv', 'tl', 'ta', 'th', 'tr', 'uk', 'ur', 'vi');
|
163 |
define('TRANSLATOR', 'translator');
|
164 |
|
165 |
//Define for transposh plugin version
|
166 |
+
define('TRANSPOSH_PLUGIN_VER', '0.9.0');
|
167 |
|
168 |
//Current jQuery UI
|
169 |
+
define('JQUERYUI_VER', '1.9.2');
|
170 |
|
171 |
//Define segment id prefix, will be included in span tag. also used as class identifier
|
172 |
define('SPAN_PREFIX', 'tr_');
|
173 |
|
|
|
|
|
|
|
174 |
//Our text domain
|
175 |
define('TRANSPOSH_TEXT_DOMAIN', 'transposh');
|
176 |
|
177 |
//0.3.5 - Storing all options in this config option
|
178 |
define('TRANSPOSH_OPTIONS', 'transposh_options');
|
179 |
|
180 |
+
//0.8.4 - Storing oht project
|
181 |
define('TRANSPOSH_OPTIONS_OHT', 'transposh_options_oht');
|
182 |
define('TRANSPOSH_OPTIONS_OHT_PROJECTS', 'transposh_options_oht_projects');
|
183 |
define('TRANSPOSH_OHT_DELAY', 600);
|
@@ -0,0 +1,168 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
* Transposh v0.9.0
|
5 |
+
* http://transposh.org/
|
6 |
+
*
|
7 |
+
* Copyright 2012, Team Transposh
|
8 |
+
* Licensed under the GPL Version 2 or higher.
|
9 |
+
* http://transposh.org/license
|
10 |
+
*
|
11 |
+
* Date: Wed, 12 Dec 2012 22:23:17 +0200
|
12 |
+
*/
|
13 |
+
|
14 |
+
/*
|
15 |
+
* Logging utility class
|
16 |
+
*/
|
17 |
+
|
18 |
+
// Report all PHP errors
|
19 |
+
//error_reporting(E_ALL);
|
20 |
+
require_once('FirePHP.class.php');
|
21 |
+
|
22 |
+
class tp_logger {
|
23 |
+
|
24 |
+
/** @var string Name of file to log into */
|
25 |
+
private $logfile;
|
26 |
+
|
27 |
+
/** @var int Tracing level, 0 is disabled (almost) and higher numbers show more debug info */
|
28 |
+
private $debug_level = 3;
|
29 |
+
|
30 |
+
/** @var boolean should logging be outputted to stdout */
|
31 |
+
public $printout = false;
|
32 |
+
|
33 |
+
/** @var boolean should logging outputted to stdout include an EOL */
|
34 |
+
public $eolprint = false;
|
35 |
+
|
36 |
+
/** @var boolean shell we show which function called the logger */
|
37 |
+
public $show_caller = true;
|
38 |
+
|
39 |
+
/** @var FirePHP used for outputing into firephp output */
|
40 |
+
private $firephp;
|
41 |
+
|
42 |
+
/** @var used for remote firephp debugging */
|
43 |
+
private $remoteip;
|
44 |
+
|
45 |
+
/** @var logger Singelton instance of our logger */
|
46 |
+
protected static $instance = null;
|
47 |
+
|
48 |
+
function __construct() {
|
49 |
+
// If not outputting to stdout, we should buffer so firephp will work
|
50 |
+
if (!$this->printout) {
|
51 |
+
ob_start();
|
52 |
+
}
|
53 |
+
$this->firephp = FirePHP_tp::getInstance(true);
|
54 |
+
}
|
55 |
+
|
56 |
+
/**
|
57 |
+
* Print a message to log.
|
58 |
+
* @param mixed $msg
|
59 |
+
* @param int $severity
|
60 |
+
*/
|
61 |
+
function do_log($msg, $severity = 3, $do_backtrace = false, $nest = 0) {
|
62 |
+
if ($severity <= $this->debug_level) {
|
63 |
+
if ($this->show_caller) {
|
64 |
+
$trace = debug_backtrace();
|
65 |
+
if ($do_backtrace) $this->firephp->log($trace[3]);
|
66 |
+
if (isset($trace[2 + $nest]['class'])) {
|
67 |
+
$log_prefix = str_pad("{$trace[2 + $nest]['class']}::{$trace[2 + $nest]['function']} {$trace[1 + $nest]['line']}", 55 + $nest, '_');
|
68 |
+
} else {
|
69 |
+
$prefile = substr($trace[1 + $nest]['file'], strrpos($trace[1 + $nest]['file'], "/"));
|
70 |
+
$log_prefix = str_pad("{$prefile}::{$trace[1 + $nest]['function']} {$trace[1 + $nest]['line']}", 55 + $nest, '_');
|
71 |
+
}
|
72 |
+
}
|
73 |
+
if (isset($this->logfile) && $this->logfile) {
|
74 |
+
if (!is_array($msg) && !is_object($msg)) {
|
75 |
+
error_log(date(DATE_W3C) . " $log_prefix: " . $msg . "\n", 3, $this->logfile);
|
76 |
+
} else {
|
77 |
+
if (is_array($msg)) {
|
78 |
+
error_log(date(DATE_W3C) . " $log_prefix: Array start\n", 3, $this->logfile);
|
79 |
+
} else {
|
80 |
+
error_log(date(DATE_W3C) . " $log_prefix: Object start\n", 3, $this->logfile);
|
81 |
+
}
|
82 |
+
foreach ($msg as $key => $item) {
|
83 |
+
if (!is_array($item)) {
|
84 |
+
if (!is_object($item) || method_exists($item, '__toString'))
|
85 |
+
error_log(date(DATE_W3C) . " $log_prefix: $key => $item\n", 3, $this->logfile);
|
86 |
+
} else {
|
87 |
+
error_log(date(DATE_W3C) . " $log_prefix: subarray -> $key\n", 3, $this->logfile);
|
88 |
+
$this->do_log($item, $severity, false, $nest + 1);
|
89 |
+
}
|
90 |
+
}
|
91 |
+
error_log(date(DATE_W3C) . " $log_prefix: Array stop\n", 3, $this->logfile);
|
92 |
+
}
|
93 |
+
}
|
94 |
+
if ($this->printout || !isset($this->firephp)) {
|
95 |
+
echo "$log_prefix:$msg";
|
96 |
+
echo ($this->eolprint) ? "\n" : "<br/>";
|
97 |
+
} else {
|
98 |
+
if ($this->remoteip != $_SERVER['REMOTE_ADDR']) return;
|
99 |
+
if ((is_array($msg) || is_object($msg)) && $this->show_caller) {
|
100 |
+
$this->firephp->group("$log_prefix: object/array", array('Collapsed' => true,
|
101 |
+
'Color' => '#FF00FF'));
|
102 |
+
//$this->firephp->log("$log_prefix:");
|
103 |
+
$this->firephp->log($msg);
|
104 |
+
$this->firephp->groupEnd();
|
105 |
+
} else {
|
106 |
+
if (is_array($msg) || is_object($msg)) {
|
107 |
+
$this->firephp->log($msg);
|
108 |
+
} else {
|
109 |
+
$this->firephp->log("$log_prefix:$msg");
|
110 |
+
}
|
111 |
+
}
|
112 |
+
}
|
113 |
+
}
|
114 |
+
}
|
115 |
+
|
116 |
+
/**
|
117 |
+
* Gets singleton instance of logger
|
118 |
+
* @param boolean $AutoCreate
|
119 |
+
* @return logger
|
120 |
+
*/
|
121 |
+
public static function getInstance($AutoCreate = false) {
|
122 |
+
if ($AutoCreate === true && !self::$instance) {
|
123 |
+
self::init();
|
124 |
+
}
|
125 |
+
return self::$instance;
|
126 |
+
}
|
127 |
+
|
128 |
+
/**
|
129 |
+
* Creates logger object and stores it for singleton access
|
130 |
+
* @return logger
|
131 |
+
*/
|
132 |
+
public static function init() {
|
133 |
+
return self::$instance = new self();
|
134 |
+
}
|
135 |
+
|
136 |
+
public function set_debug_level($int) {
|
137 |
+
$this->debug_level = $int;
|
138 |
+
}
|
139 |
+
|
140 |
+
public function set_log_file($filename) {
|
141 |
+
$this->logfile = $filename;
|
142 |
+
}
|
143 |
+
|
144 |
+
public function set_remoteip($remoteip) {
|
145 |
+
$this->remoteip = $remoteip;
|
146 |
+
}
|
147 |
+
|
148 |
+
}
|
149 |
+
|
150 |
+
// We create a global singelton instance
|
151 |
+
$GLOBALS['tp_logger'] = tp_logger::getInstance(true);
|
152 |
+
|
153 |
+
/**
|
154 |
+
* This function provides easier access to logging using the singleton object
|
155 |
+
* @param mixed $msg
|
156 |
+
* @param int $severity
|
157 |
+
*/
|
158 |
+
/* function tp_logger($msg, $severity = 3, $do_backtrace = false) {
|
159 |
+
$GLOBALS['tp_logger']->do_log($msg, $severity, $do_backtrace);
|
160 |
+
} */
|
161 |
+
|
162 |
+
/*
|
163 |
+
* sample of how to modify logging parameters from anywhere
|
164 |
+
*
|
165 |
+
$GLOBALS['tp_logger'] = tp_logger::getInstance(true);
|
166 |
+
$GLOBALS['tp_logger']->show_caller = true;
|
167 |
+
*/
|
168 |
+
?>
|
@@ -1,25 +1,21 @@
|
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
-
* Transposh v0.
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
* Copyright 2012, Team Transposh
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
-
* Date:
|
12 |
*/
|
13 |
|
14 |
require_once("shd/simple_html_dom.php");
|
15 |
require_once("constants.php");
|
16 |
-
|
17 |
require_once("utils.php");
|
18 |
|
19 |
-
define('PUNCT_BREAKS', TRUE); // Will punctiations such as , . ( and such will break a phrase
|
20 |
-
define('NUM_BREAKS', TRUE); // Will a number break a phrase
|
21 |
-
define('ENT_BREAKS', TRUE); // Will an HTML entity break a phrase
|
22 |
-
|
23 |
/**
|
24 |
* parserstats class - holds parser statistics
|
25 |
*/
|
@@ -99,7 +95,10 @@ class parserstats {
|
|
99 |
*/
|
100 |
class parser {
|
101 |
|
102 |
-
|
|
|
|
|
|
|
103 |
public $url_rewrite_func = null;
|
104 |
public $fetch_translate_func = null;
|
105 |
public $prefetch_translate_func = null;
|
@@ -287,10 +286,10 @@ class parser {
|
|
287 |
Ÿ Ÿ latin capital letter Y with diaeresis
|
288 |
*/
|
289 |
function is_entity_letter($entity) {
|
290 |
-
|
291 |
$entnum = (int) substr($entity, 2);
|
292 |
-
|
293 |
-
|
294 |
return true;
|
295 |
}
|
296 |
$entities = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐ' .
|
@@ -336,14 +335,14 @@ class parser {
|
|
336 |
function tag_phrase($string, $start, $end) {
|
337 |
$phrase = trim(substr($string, $start, $end - $start));
|
338 |
// $logstr = str_replace(array(chr(1),chr(2),chr(3),chr(4)), array('[1]','[2]','[3]','[4]'), $string);
|
339 |
-
//
|
340 |
-
//
|
341 |
if ($this->in_get_text > $this->in_get_text_inner) {
|
342 |
-
|
343 |
return;
|
344 |
}
|
345 |
if ($phrase) {
|
346 |
-
|
347 |
$node = new simple_html_dom_node($this->html);
|
348 |
$node->tag = 'phrase';
|
349 |
$node->parent = $this->currentnode;
|
@@ -377,10 +376,10 @@ class parser {
|
|
377 |
|
378 |
while ($pos < strlen($string)) {
|
379 |
// Some HTML entities make us break, almost all but apostrophies
|
380 |
-
if (
|
381 |
$entity = substr($string, $pos, $len_of_entity);
|
382 |
if (($this->is_white_space(@$string[$pos + $len_of_entity]) || $this->is_entity_breaker($entity)) && !$this->is_entity_letter($entity)) {
|
383 |
-
|
384 |
$this->tag_phrase($string, $start, $pos);
|
385 |
$start = $pos + $len_of_entity;
|
386 |
}
|
@@ -397,7 +396,7 @@ class parser {
|
|
397 |
} elseif ($string[$pos] == TP_GTXT_BRK || $string[$pos] == TP_GTXT_BRK_CLOSER) {
|
398 |
// $logstr = str_replace(array(chr(1),chr(2),chr(3),chr(4)), array('[1]','[2]','[3]','[4]'), $string);
|
399 |
// $closers = ($string[$pos] == TP_GTXT_BRK) ? '': 'closer';
|
400 |
-
//
|
401 |
$this->tag_phrase($string, $start, $pos);
|
402 |
($string[$pos] == TP_GTXT_BRK) ? $this->in_get_text += 1 : $this->in_get_text -= 1;
|
403 |
$pos++;
|
@@ -408,8 +407,8 @@ class parser {
|
|
408 |
} elseif ($string[$pos] == TP_GTXT_IBRK || $string[$pos] == TP_GTXT_IBRK_CLOSER) {
|
409 |
// $logstr = str_replace(array(chr(1),chr(2),chr(3),chr(4)), array('[1]','[2]','[3]','[4]'), $string);
|
410 |
// $closers = ($string[$pos] == TP_GTXT_IBRK) ? '': 'closer';
|
411 |
-
//
|
412 |
-
//
|
413 |
$this->tag_phrase($string, $start, $pos);
|
414 |
if ($this->in_get_text)
|
415 |
($string[$pos] == TP_GTXT_IBRK) ? $this->in_get_text_inner += 1 : $this->in_get_text_inner -=1;
|
@@ -418,26 +417,26 @@ class parser {
|
|
418 |
//$this->in_get_text_inner = !$this->in_get_text_inner;
|
419 |
}
|
420 |
// will break translation unit when there's a breaker ",.[]()..."
|
421 |
-
elseif (
|
422 |
-
//
|
423 |
$this->tag_phrase($string, $start, $pos);
|
424 |
$pos += $senb_len;
|
425 |
$start = $pos;
|
426 |
}
|
427 |
// Numbers also break, if they are followed by whitespace (or a sentence breaker) (don't break 42nd) // TODO: probably by breaking entities too...
|
428 |
// also prefixed by whitespace?
|
429 |
-
elseif (
|
430 |
-
//
|
431 |
// this is the case of B2 or B2,
|
432 |
if (($start == $pos) || ($this->is_white_space($string[$pos - 1])
|
433 |
|| ($this->is_sentence_breaker(@$string[$pos + $num_len - 1], @$string[$pos + $num_len], @$string[$pos + $num_len + 1]))) &&
|
434 |
($this->is_white_space(@$string[$pos + $num_len]) || $this->is_sentence_breaker(@$string[$pos + $num_len], @$string[$pos + $num_len + 1], @$string[$pos + $num_len + 2]))) {
|
435 |
// we will now compensate on the number followed by breaker case, if we need to
|
436 |
-
//
|
437 |
if (!(($start == $pos) || $this->is_white_space($string[$pos - 1]))) {
|
438 |
-
//
|
439 |
if ($this->is_sentence_breaker($string[$pos + $num_len - 1], $string[$pos + $num_len], $string[$pos + $num_len + 1])) {
|
440 |
-
//
|
441 |
$num_len--; //this makes the added number shorter by one, and the pos will be at a sentence breaker next so we don't have to compensate
|
442 |
}
|
443 |
$pos += $num_len;
|
@@ -447,7 +446,7 @@ class parser {
|
|
447 |
$start = $pos + $num_len /* +1 */;
|
448 |
}
|
449 |
$pos += $num_len/* + 1 */;
|
450 |
-
//
|
451 |
} else {
|
452 |
// smarter marking of start location
|
453 |
if ($start == $pos && $this->is_white_space($string[$pos]))
|
@@ -548,7 +547,7 @@ class parser {
|
|
548 |
elseif ($node->tag == 'iframe') {
|
549 |
if ($this->url_rewrite_func) {
|
550 |
$node->src = call_user_func_array($this->url_rewrite_func, array($node->src));
|
551 |
-
|
552 |
}
|
553 |
}
|
554 |
|
@@ -626,6 +625,18 @@ class parser {
|
|
626 |
}
|
627 |
}
|
628 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
629 |
/**
|
630 |
* Main function - actually translates a given HTML
|
631 |
* @param string $string containing HTML
|
@@ -639,7 +650,7 @@ class parser {
|
|
639 |
if ($string[0] == '{') {
|
640 |
$jsoner = json_decode($string);
|
641 |
if ($jsoner != null) {
|
642 |
-
|
643 |
// currently we only handle contents (which buddypress heavily use)
|
644 |
if ($jsoner->contents) {
|
645 |
$jsoner->contents = $this->fix_html($jsoner->contents);
|
@@ -675,7 +686,7 @@ class parser {
|
|
675 |
// fix feed
|
676 |
if ($this->feed_fix) {
|
677 |
// fix urls on feed
|
678 |
-
|
679 |
foreach (array('link', 'wfw:commentrss', 'comments') as $tag) {
|
680 |
foreach ($this->html->find($tag) as $e) {
|
681 |
$e->innertext = htmlspecialchars(call_user_func_array($this->url_rewrite_func, array($e->innertext)));
|
@@ -710,7 +721,8 @@ class parser {
|
|
710 |
}
|
711 |
foreach (array('title', 'value') as $title) {
|
712 |
foreach ($this->html->find('[' . $title . ']') as $e) {
|
713 |
-
if (isset($e->nodes))
|
|
|
714 |
if ($ep->phrase) $originals[$ep->phrase] = true;
|
715 |
}
|
716 |
}
|
@@ -811,8 +823,9 @@ class parser {
|
|
811 |
if (isset($e->parent->_[HDOM_INFO_OUTER])) {
|
812 |
$saved_outertext = $e->outertext;
|
813 |
}
|
814 |
-
|
815 |
-
if (isset($e->nodes))
|
|
|
816 |
if ($ep->tag == 'phrase') {
|
817 |
list ($source, $translated_text) = call_user_func_array($this->fetch_translate_func, array($ep->phrase, $this->lang));
|
818 |
// more stats
|
@@ -834,7 +847,7 @@ class parser {
|
|
834 |
if (!in_array($ep->phrase, $hidden_phrases)) {
|
835 |
$this->stats->hidden_translateable_phrases++;
|
836 |
$span .= $this->create_edit_span($ep->phrase, $translated_text, $source, true, $ep->srclang);
|
837 |
-
//
|
838 |
$hidden_phrases[] = $ep->phrase;
|
839 |
}
|
840 |
}
|
@@ -884,7 +897,7 @@ class parser {
|
|
884 |
$hiddenspans .= $this->create_edit_span($ep->phrase, $translated_text, $source, true, $ep->srclang);
|
885 |
}
|
886 |
if (!$translated_text && $this->is_auto_translate && !$this->is_edit_mode) {
|
887 |
-
|
888 |
if ($this->is_edit_mode || $this->is_auto_translate) { // FIX
|
889 |
}
|
890 |
}
|
@@ -892,7 +905,7 @@ class parser {
|
|
892 |
}
|
893 |
if ($newtext) {
|
894 |
$e->content = $newtext . $right;
|
895 |
-
|
896 |
}
|
897 |
}
|
898 |
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
+
* Transposh v0.9.0
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
* Copyright 2012, Team Transposh
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
+
* Date: Wed, 12 Dec 2012 22:23:17 +0200
|
12 |
*/
|
13 |
|
14 |
require_once("shd/simple_html_dom.php");
|
15 |
require_once("constants.php");
|
16 |
+
require_once("logging.php");
|
17 |
require_once("utils.php");
|
18 |
|
|
|
|
|
|
|
|
|
19 |
/**
|
20 |
* parserstats class - holds parser statistics
|
21 |
*/
|
95 |
*/
|
96 |
class parser {
|
97 |
|
98 |
+
private $punct_breaks = true;
|
99 |
+
private $num_breaks = true;
|
100 |
+
private $ent_breaks = true;
|
101 |
+
// functions that need to be defined... //
|
102 |
public $url_rewrite_func = null;
|
103 |
public $fetch_translate_func = null;
|
104 |
public $prefetch_translate_func = null;
|
286 |
Ÿ Ÿ latin capital letter Y with diaeresis
|
287 |
*/
|
288 |
function is_entity_letter($entity) {
|
289 |
+
tp_logger("checking ($entity) - " . htmlentities($entity), 4);
|
290 |
$entnum = (int) substr($entity, 2);
|
291 |
+
// skip multiply and divide (215, 247)
|
292 |
+
if (($entnum >= 192 && $entnum <= 214) || ($entnum >= 216 && $entnum <= 246) || ($entnum >= 248 && $entnum <= 696)) {
|
293 |
return true;
|
294 |
}
|
295 |
$entities = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐ' .
|
335 |
function tag_phrase($string, $start, $end) {
|
336 |
$phrase = trim(substr($string, $start, $end - $start));
|
337 |
// $logstr = str_replace(array(chr(1),chr(2),chr(3),chr(4)), array('[1]','[2]','[3]','[4]'), $string);
|
338 |
+
// logger ("p:$phrase, s:$logstr, st:$start, en:$end, gt:{$this->in_get_text}, gti:{$this->in_get_text_inner}");
|
339 |
+
// logger ('');
|
340 |
if ($this->in_get_text > $this->in_get_text_inner) {
|
341 |
+
tp_logger('not tagging ' . $phrase . ' assumed gettext translated', 4);
|
342 |
return;
|
343 |
}
|
344 |
if ($phrase) {
|
345 |
+
tp_logger('tagged phrase: ' . $phrase, 4);
|
346 |
$node = new simple_html_dom_node($this->html);
|
347 |
$node->tag = 'phrase';
|
348 |
$node->parent = $this->currentnode;
|
376 |
|
377 |
while ($pos < strlen($string)) {
|
378 |
// Some HTML entities make us break, almost all but apostrophies
|
379 |
+
if ($this->ent_breaks && $len_of_entity = $this->is_html_entity($string, $pos)) {
|
380 |
$entity = substr($string, $pos, $len_of_entity);
|
381 |
if (($this->is_white_space(@$string[$pos + $len_of_entity]) || $this->is_entity_breaker($entity)) && !$this->is_entity_letter($entity)) {
|
382 |
+
tp_logger("entity ($entity) breaks", 4);
|
383 |
$this->tag_phrase($string, $start, $pos);
|
384 |
$start = $pos + $len_of_entity;
|
385 |
}
|
396 |
} elseif ($string[$pos] == TP_GTXT_BRK || $string[$pos] == TP_GTXT_BRK_CLOSER) {
|
397 |
// $logstr = str_replace(array(chr(1),chr(2),chr(3),chr(4)), array('[1]','[2]','[3]','[4]'), $string);
|
398 |
// $closers = ($string[$pos] == TP_GTXT_BRK) ? '': 'closer';
|
399 |
+
// tp_logger(" $closers TEXT breaker $logstr start:$start pos:$pos gt:" . $this->in_get_text, 3);
|
400 |
$this->tag_phrase($string, $start, $pos);
|
401 |
($string[$pos] == TP_GTXT_BRK) ? $this->in_get_text += 1 : $this->in_get_text -= 1;
|
402 |
$pos++;
|
407 |
} elseif ($string[$pos] == TP_GTXT_IBRK || $string[$pos] == TP_GTXT_IBRK_CLOSER) {
|
408 |
// $logstr = str_replace(array(chr(1),chr(2),chr(3),chr(4)), array('[1]','[2]','[3]','[4]'), $string);
|
409 |
// $closers = ($string[$pos] == TP_GTXT_IBRK) ? '': 'closer';
|
410 |
+
// tp_logger(" $closers INNER text breaker $logstr start:$start pos:$pos gt:" . $this->in_get_text_inner, 3);
|
411 |
+
//tp_logger("inner text breaker $start $pos $string " . (($this->in_get_text_inner) ? 'true' : 'false'), 5);
|
412 |
$this->tag_phrase($string, $start, $pos);
|
413 |
if ($this->in_get_text)
|
414 |
($string[$pos] == TP_GTXT_IBRK) ? $this->in_get_text_inner += 1 : $this->in_get_text_inner -=1;
|
417 |
//$this->in_get_text_inner = !$this->in_get_text_inner;
|
418 |
}
|
419 |
// will break translation unit when there's a breaker ",.[]()..."
|
420 |
+
elseif ($this->punct_breaks && $senb_len = $this->is_sentence_breaker($string[$pos], @$string[$pos + 1], @$string[$pos + 2])) {
|
421 |
+
// logger ("sentence breaker...");
|
422 |
$this->tag_phrase($string, $start, $pos);
|
423 |
$pos += $senb_len;
|
424 |
$start = $pos;
|
425 |
}
|
426 |
// Numbers also break, if they are followed by whitespace (or a sentence breaker) (don't break 42nd) // TODO: probably by breaking entities too...
|
427 |
// also prefixed by whitespace?
|
428 |
+
elseif ($this->num_breaks && $num_len = $this->is_number($string, $pos)) {
|
429 |
+
// logger ("numnum... $num_len");
|
430 |
// this is the case of B2 or B2,
|
431 |
if (($start == $pos) || ($this->is_white_space($string[$pos - 1])
|
432 |
|| ($this->is_sentence_breaker(@$string[$pos + $num_len - 1], @$string[$pos + $num_len], @$string[$pos + $num_len + 1]))) &&
|
433 |
($this->is_white_space(@$string[$pos + $num_len]) || $this->is_sentence_breaker(@$string[$pos + $num_len], @$string[$pos + $num_len + 1], @$string[$pos + $num_len + 2]))) {
|
434 |
// we will now compensate on the number followed by breaker case, if we need to
|
435 |
+
// logger ("compensate part1?");
|
436 |
if (!(($start == $pos) || $this->is_white_space($string[$pos - 1]))) {
|
437 |
+
// logger ("compensate part2?");
|
438 |
if ($this->is_sentence_breaker($string[$pos + $num_len - 1], $string[$pos + $num_len], $string[$pos + $num_len + 1])) {
|
439 |
+
// logger ("compensate 3?");
|
440 |
$num_len--; //this makes the added number shorter by one, and the pos will be at a sentence breaker next so we don't have to compensate
|
441 |
}
|
442 |
$pos += $num_len;
|
446 |
$start = $pos + $num_len /* +1 */;
|
447 |
}
|
448 |
$pos += $num_len/* + 1 */;
|
449 |
+
// logger ("numnumpos... $pos");
|
450 |
} else {
|
451 |
// smarter marking of start location
|
452 |
if ($start == $pos && $this->is_white_space($string[$pos]))
|
547 |
elseif ($node->tag == 'iframe') {
|
548 |
if ($this->url_rewrite_func) {
|
549 |
$node->src = call_user_func_array($this->url_rewrite_func, array($node->src));
|
550 |
+
tp_logger('iframe: ' . $node->src, 4);
|
551 |
}
|
552 |
}
|
553 |
|
625 |
}
|
626 |
}
|
627 |
|
628 |
+
/**
|
629 |
+
* Allow changing of parsing rules, yeah, I caved
|
630 |
+
* @param type $puncts
|
631 |
+
* @param type $numbers
|
632 |
+
* @param type $entities
|
633 |
+
*/
|
634 |
+
function change_parsing_rules($puncts, $numbers, $entities) {
|
635 |
+
$this->punct_breaks = $puncts;
|
636 |
+
$this->num_breaks = $numbers;
|
637 |
+
$this->ent_breaks = $entities;
|
638 |
+
}
|
639 |
+
|
640 |
/**
|
641 |
* Main function - actually translates a given HTML
|
642 |
* @param string $string containing HTML
|
650 |
if ($string[0] == '{') {
|
651 |
$jsoner = json_decode($string);
|
652 |
if ($jsoner != null) {
|
653 |
+
tp_logger("json detected (buddypress?)", 4);
|
654 |
// currently we only handle contents (which buddypress heavily use)
|
655 |
if ($jsoner->contents) {
|
656 |
$jsoner->contents = $this->fix_html($jsoner->contents);
|
686 |
// fix feed
|
687 |
if ($this->feed_fix) {
|
688 |
// fix urls on feed
|
689 |
+
tp_logger('fixing rss feed', 3);
|
690 |
foreach (array('link', 'wfw:commentrss', 'comments') as $tag) {
|
691 |
foreach ($this->html->find($tag) as $e) {
|
692 |
$e->innertext = htmlspecialchars(call_user_func_array($this->url_rewrite_func, array($e->innertext)));
|
721 |
}
|
722 |
foreach (array('title', 'value') as $title) {
|
723 |
foreach ($this->html->find('[' . $title . ']') as $e) {
|
724 |
+
if (isset($e->nodes))
|
725 |
+
foreach ($e->nodes as $ep) {
|
726 |
if ($ep->phrase) $originals[$ep->phrase] = true;
|
727 |
}
|
728 |
}
|
823 |
if (isset($e->parent->_[HDOM_INFO_OUTER])) {
|
824 |
$saved_outertext = $e->outertext;
|
825 |
}
|
826 |
+
tp_logger("$title-original: $e->$title}", 4);
|
827 |
+
if (isset($e->nodes))
|
828 |
+
foreach ($e->nodes as $ep) {
|
829 |
if ($ep->tag == 'phrase') {
|
830 |
list ($source, $translated_text) = call_user_func_array($this->fetch_translate_func, array($ep->phrase, $this->lang));
|
831 |
// more stats
|
847 |
if (!in_array($ep->phrase, $hidden_phrases)) {
|
848 |
$this->stats->hidden_translateable_phrases++;
|
849 |
$span .= $this->create_edit_span($ep->phrase, $translated_text, $source, true, $ep->srclang);
|
850 |
+
// logger ($span);
|
851 |
$hidden_phrases[] = $ep->phrase;
|
852 |
}
|
853 |
}
|
897 |
$hiddenspans .= $this->create_edit_span($ep->phrase, $translated_text, $source, true, $ep->srclang);
|
898 |
}
|
899 |
if (!$translated_text && $this->is_auto_translate && !$this->is_edit_mode) {
|
900 |
+
tp_logger('untranslated meta for ' . $ep->phrase . ' ' . $this->lang);
|
901 |
if ($this->is_edit_mode || $this->is_auto_translate) { // FIX
|
902 |
}
|
903 |
}
|
905 |
}
|
906 |
if ($newtext) {
|
907 |
$e->content = $newtext . $right;
|
908 |
+
tp_logger("content-phrase: $newtext", 4);
|
909 |
}
|
910 |
}
|
911 |
|
@@ -530,7 +530,7 @@ class simple_html_dom {
|
|
530 |
// prepare
|
531 |
$this->prepare($str, $lowercase);
|
532 |
// strip out comments
|
533 |
-
//
|
534 |
/* $this->remove_noise("'<?xml(.*?)?>'is", true);*/
|
535 |
$this->remove_noise("'<!--(.*?)-->'is");
|
536 |
// strip out cdata
|
@@ -934,7 +934,7 @@ class simple_html_dom {
|
|
934 |
// remove noise from html content
|
935 |
protected function remove_noise($pattern, $remove_tag=false) {
|
936 |
$count = preg_match_all($pattern, $this->doc, $matches, PREG_SET_ORDER|PREG_OFFSET_CAPTURE);
|
937 |
-
//
|
938 |
|
939 |
for ($i=$count-1; $i>-1; --$i) {
|
940 |
$key = '___noise___'.sprintf('% 3d', count($this->noise)+100);
|
@@ -950,7 +950,7 @@ class simple_html_dom {
|
|
950 |
|
951 |
// restore noise to html content
|
952 |
function restore_noise($text) {
|
953 |
-
//
|
954 |
while(($pos=strpos($text, '___noise___'))!==false) {
|
955 |
$key = '___noise___'.$text[$pos+11].$text[$pos+12].$text[$pos+13];
|
956 |
if (isset($this->noise[$key]))
|
530 |
// prepare
|
531 |
$this->prepare($str, $lowercase);
|
532 |
// strip out comments
|
533 |
+
// logger ("hi");
|
534 |
/* $this->remove_noise("'<?xml(.*?)?>'is", true);*/
|
535 |
$this->remove_noise("'<!--(.*?)-->'is");
|
536 |
// strip out cdata
|
934 |
// remove noise from html content
|
935 |
protected function remove_noise($pattern, $remove_tag=false) {
|
936 |
$count = preg_match_all($pattern, $this->doc, $matches, PREG_SET_ORDER|PREG_OFFSET_CAPTURE);
|
937 |
+
// logger ("meo:" . $pattern . $count);
|
938 |
|
939 |
for ($i=$count-1; $i>-1; --$i) {
|
940 |
$key = '___noise___'.sprintf('% 3d', count($this->noise)+100);
|
950 |
|
951 |
// restore noise to html content
|
952 |
function restore_noise($text) {
|
953 |
+
// logger ("noise:".$text);
|
954 |
while(($pos=strpos($text, '___noise___'))!==false) {
|
955 |
$key = '___noise___'.$text[$pos+11].$text[$pos+12].$text[$pos+13];
|
956 |
if (isset($this->noise[$key]))
|
@@ -1,14 +1,14 @@
|
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
-
* Transposh v0.
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
* Copyright 2012, Team Transposh
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
-
* Date:
|
12 |
*/
|
13 |
|
14 |
/**
|
@@ -17,7 +17,7 @@
|
|
17 |
*
|
18 |
*/
|
19 |
require_once("constants.php");
|
20 |
-
|
21 |
|
22 |
/**
|
23 |
* This is a static class to reduce chance of namespace collisions with other plugins
|
@@ -59,9 +59,9 @@ class transposh_utils {
|
|
59 |
//cleanup lang identifier in permalinks
|
60 |
//remove the language from the url permalink (if in start of path, and is a defined language)
|
61 |
$home_path = rtrim(@parse_url($home_url, PHP_URL_PATH), "/");
|
62 |
-
|
63 |
if ($home_path && strpos($parsedurl['path'], $home_path) === 0) {
|
64 |
-
|
65 |
$parsedurl['path'] = substr($parsedurl['path'], strlen($home_path));
|
66 |
$gluebackhome = true;
|
67 |
}
|
@@ -71,7 +71,7 @@ class transposh_utils {
|
|
71 |
if (!$secondslashpos) $secondslashpos = strlen($parsedurl['path']);
|
72 |
$prevlang = substr($parsedurl['path'], 1, $secondslashpos - 1);
|
73 |
if (isset(transposh_consts::$languages[$prevlang])) {
|
74 |
-
|
75 |
$parsedurl['path'] = substr($parsedurl['path'], $secondslashpos);
|
76 |
}
|
77 |
}
|
@@ -94,8 +94,8 @@ class transposh_utils {
|
|
94 |
*/
|
95 |
// Should send a transposh interface to here TODO - enable permalinks rewrite
|
96 |
// TODO - Should be able to not write default language for url (done with empty lang?)
|
97 |
-
public static function rewrite_url_lang_param($url, $home_url, $enable_permalinks_rewrite, $lang, $is_edit, $use_params_only=FALSE) {
|
98 |
-
|
99 |
|
100 |
$newurl = str_replace('&', '&', $url);
|
101 |
$newurl = html_entity_decode($newurl, ENT_NOQUOTES);
|
@@ -120,9 +120,9 @@ class transposh_utils {
|
|
120 |
// remove the language from the url permalink (if in start of path, and is a defined language)
|
121 |
$gluebackhome = false;
|
122 |
$home_path = rtrim(@parse_url($home_url, PHP_URL_PATH), "/");
|
123 |
-
|
124 |
if ($home_path && strpos($parsedurl['path'], $home_path) === 0) {
|
125 |
-
|
126 |
$parsedurl['path'] = substr($parsedurl['path'], strlen($home_path));
|
127 |
$gluebackhome = true;
|
128 |
}
|
@@ -131,7 +131,7 @@ class transposh_utils {
|
|
131 |
if (!$secondslashpos) $secondslashpos = strlen($parsedurl['path']);
|
132 |
$prevlang = substr($parsedurl['path'], 1, $secondslashpos - 1);
|
133 |
if (isset(transposh_consts::$languages[$prevlang])) {
|
134 |
-
|
135 |
$parsedurl['path'] = substr($parsedurl['path'], $secondslashpos);
|
136 |
}
|
137 |
}
|
@@ -159,7 +159,7 @@ class transposh_utils {
|
|
159 |
// insert params to url
|
160 |
if (isset($params) && $params) {
|
161 |
$parsedurl['query'] = implode('&', $params);
|
162 |
-
|
163 |
}
|
164 |
|
165 |
// more cleanups
|
@@ -167,7 +167,7 @@ class transposh_utils {
|
|
167 |
//$url = preg_replace("/\?$/", "", $url);
|
168 |
// $url = htmlentities($url, ENT_NOQUOTES);
|
169 |
$url = transposh_utils::glue_url($parsedurl);
|
170 |
-
|
171 |
return $url;
|
172 |
}
|
173 |
|
@@ -191,9 +191,9 @@ class transposh_utils {
|
|
191 |
// cleanup lang identifier in permalinks
|
192 |
// remove the language from the url permalink (if in start of path, and is a defined language)
|
193 |
$home_path = rtrim(@parse_url($home_url, PHP_URL_PATH), "/");
|
194 |
-
//
|
195 |
if ($home_path && strpos($parsedurl['path'], $home_path) === 0) {
|
196 |
-
//
|
197 |
$parsedurl['path'] = substr($parsedurl['path'], strlen($home_path));
|
198 |
// $gluebackhome = true;
|
199 |
}
|
@@ -203,7 +203,7 @@ class transposh_utils {
|
|
203 |
if (!$secondslashpos) $secondslashpos = strlen($parsedurl['path']);
|
204 |
$prevlang = substr($parsedurl['path'], 1, $secondslashpos - 1);
|
205 |
if (isset(transposh_consts::$languages[$prevlang])) {
|
206 |
-
//
|
207 |
//$parsedurl['path'] = substr($parsedurl['path'],$secondslashpos);
|
208 |
return $prevlang;
|
209 |
}
|
@@ -288,7 +288,7 @@ class transposh_utils {
|
|
288 |
else {
|
289 |
// now the same attempt with '-' replaced to ' '
|
290 |
list($source, $translated_text) = call_user_func_array($fetch_translation_func, array(str_replace('-', ' ', $part), $target_language));
|
291 |
-
//
|
292 |
if ($translated_text)
|
293 |
$url .= '/' . str_replace(' ', '-', $translated_text);
|
294 |
else $url .= '/' . $part;
|
@@ -337,10 +337,10 @@ class transposh_utils {
|
|
337 |
if ($url2 == '') $url2 = '/';
|
338 |
// TODO: Consider sanitize_title_with_dashes
|
339 |
// TODO : need to handle params....
|
340 |
-
//
|
341 |
//if (substr($url,strlen($url)-1) == '/') $url2 .= '/';
|
342 |
//$url2 = rtrim($url2,'/');
|
343 |
-
//
|
344 |
//$href = $this->home_url.$url2;
|
345 |
if (substr($href, strlen($href) - 1) == '/') $url2.='/';
|
346 |
$url2 = str_replace('//', '/', $url2);
|
@@ -381,7 +381,7 @@ class transposh_utils {
|
|
381 |
* @param string $http_accept_language a HTTP_ACCEPT_LANGUAGE string (read from $_SERVER['HTTP_ACCEPT_LANGUAGE'] if left out)
|
382 |
* @return string
|
383 |
*/
|
384 |
-
public static function prefered_language($available_languages, $default_lang="auto", $http_accept_language="auto") {
|
385 |
// if $http_accept_language was left out, read it from the HTTP-Header
|
386 |
if ($http_accept_language == "auto")
|
387 |
$http_accept_language = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
+
* Transposh v0.9.0
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
* Copyright 2012, Team Transposh
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
+
* Date: Wed, 12 Dec 2012 22:23:17 +0200
|
12 |
*/
|
13 |
|
14 |
/**
|
17 |
*
|
18 |
*/
|
19 |
require_once("constants.php");
|
20 |
+
require_once("logging.php");
|
21 |
|
22 |
/**
|
23 |
* This is a static class to reduce chance of namespace collisions with other plugins
|
59 |
//cleanup lang identifier in permalinks
|
60 |
//remove the language from the url permalink (if in start of path, and is a defined language)
|
61 |
$home_path = rtrim(@parse_url($home_url, PHP_URL_PATH), "/");
|
62 |
+
tp_logger("home: $home_path " . $parsedurl['path'], 5);
|
63 |
if ($home_path && strpos($parsedurl['path'], $home_path) === 0) {
|
64 |
+
tp_logger("homein!: $home_path", 5);
|
65 |
$parsedurl['path'] = substr($parsedurl['path'], strlen($home_path));
|
66 |
$gluebackhome = true;
|
67 |
}
|
71 |
if (!$secondslashpos) $secondslashpos = strlen($parsedurl['path']);
|
72 |
$prevlang = substr($parsedurl['path'], 1, $secondslashpos - 1);
|
73 |
if (isset(transposh_consts::$languages[$prevlang])) {
|
74 |
+
tp_logger("prevlang: " . $prevlang, 4);
|
75 |
$parsedurl['path'] = substr($parsedurl['path'], $secondslashpos);
|
76 |
}
|
77 |
}
|
94 |
*/
|
95 |
// Should send a transposh interface to here TODO - enable permalinks rewrite
|
96 |
// TODO - Should be able to not write default language for url (done with empty lang?)
|
97 |
+
public static function rewrite_url_lang_param($url, $home_url, $enable_permalinks_rewrite, $lang, $is_edit, $use_params_only = FALSE) {
|
98 |
+
tp_logger("rewrite old url: $url, permalinks: $enable_permalinks_rewrite, lang: $lang, is_edit: $is_edit, home_url: $home_url", 5);
|
99 |
|
100 |
$newurl = str_replace('&', '&', $url);
|
101 |
$newurl = html_entity_decode($newurl, ENT_NOQUOTES);
|
120 |
// remove the language from the url permalink (if in start of path, and is a defined language)
|
121 |
$gluebackhome = false;
|
122 |
$home_path = rtrim(@parse_url($home_url, PHP_URL_PATH), "/");
|
123 |
+
tp_logger("home: $home_path " . $parsedurl['path'], 5);
|
124 |
if ($home_path && strpos($parsedurl['path'], $home_path) === 0) {
|
125 |
+
tp_logger("homein!: $home_path", 5);
|
126 |
$parsedurl['path'] = substr($parsedurl['path'], strlen($home_path));
|
127 |
$gluebackhome = true;
|
128 |
}
|
131 |
if (!$secondslashpos) $secondslashpos = strlen($parsedurl['path']);
|
132 |
$prevlang = substr($parsedurl['path'], 1, $secondslashpos - 1);
|
133 |
if (isset(transposh_consts::$languages[$prevlang])) {
|
134 |
+
tp_logger("prevlang: " . $prevlang, 4);
|
135 |
$parsedurl['path'] = substr($parsedurl['path'], $secondslashpos);
|
136 |
}
|
137 |
}
|
159 |
// insert params to url
|
160 |
if (isset($params) && $params) {
|
161 |
$parsedurl['query'] = implode('&', $params);
|
162 |
+
tp_logger($params, 4);
|
163 |
}
|
164 |
|
165 |
// more cleanups
|
167 |
//$url = preg_replace("/\?$/", "", $url);
|
168 |
// $url = htmlentities($url, ENT_NOQUOTES);
|
169 |
$url = transposh_utils::glue_url($parsedurl);
|
170 |
+
tp_logger("new url: $url", 5);
|
171 |
return $url;
|
172 |
}
|
173 |
|
191 |
// cleanup lang identifier in permalinks
|
192 |
// remove the language from the url permalink (if in start of path, and is a defined language)
|
193 |
$home_path = rtrim(@parse_url($home_url, PHP_URL_PATH), "/");
|
194 |
+
// logger ("home: $home_path ".$parsedurl['path'],5);
|
195 |
if ($home_path && strpos($parsedurl['path'], $home_path) === 0) {
|
196 |
+
// logger ("homein!: $home_path",5);
|
197 |
$parsedurl['path'] = substr($parsedurl['path'], strlen($home_path));
|
198 |
// $gluebackhome = true;
|
199 |
}
|
203 |
if (!$secondslashpos) $secondslashpos = strlen($parsedurl['path']);
|
204 |
$prevlang = substr($parsedurl['path'], 1, $secondslashpos - 1);
|
205 |
if (isset(transposh_consts::$languages[$prevlang])) {
|
206 |
+
//logger ("prevlang: ".$prevlang,4);
|
207 |
//$parsedurl['path'] = substr($parsedurl['path'],$secondslashpos);
|
208 |
return $prevlang;
|
209 |
}
|
288 |
else {
|
289 |
// now the same attempt with '-' replaced to ' '
|
290 |
list($source, $translated_text) = call_user_func_array($fetch_translation_func, array(str_replace('-', ' ', $part), $target_language));
|
291 |
+
//logger ($part. ' '.str_replace('-', ' ', $part).' '.$translated_text);
|
292 |
if ($translated_text)
|
293 |
$url .= '/' . str_replace(' ', '-', $translated_text);
|
294 |
else $url .= '/' . $part;
|
337 |
if ($url2 == '') $url2 = '/';
|
338 |
// TODO: Consider sanitize_title_with_dashes
|
339 |
// TODO : need to handle params....
|
340 |
+
//tp_logger(substr($url,strlen($url)-1));
|
341 |
//if (substr($url,strlen($url)-1) == '/') $url2 .= '/';
|
342 |
//$url2 = rtrim($url2,'/');
|
343 |
+
// tp_logger("h $home_url hr $href ur $url ur2 $url2");
|
344 |
//$href = $this->home_url.$url2;
|
345 |
if (substr($href, strlen($href) - 1) == '/') $url2.='/';
|
346 |
$url2 = str_replace('//', '/', $url2);
|
381 |
* @param string $http_accept_language a HTTP_ACCEPT_LANGUAGE string (read from $_SERVER['HTTP_ACCEPT_LANGUAGE'] if left out)
|
382 |
* @return string
|
383 |
*/
|
384 |
+
public static function prefered_language($available_languages, $default_lang = "auto", $http_accept_language = "auto") {
|
385 |
// if $http_accept_language was left out, read it from the HTTP-Header
|
386 |
if ($http_accept_language == "auto")
|
387 |
$http_accept_language = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
|
@@ -0,0 +1 @@
|
|
|
1 |
+
#icon-transposh-logo{background:url('../img/tplogo32.png') no-repeat;}#sortable{list-style-type:none;margin:0;padding:0;}#sortable li,#default_lang li{margin:3px 3px 3px 0;padding:5px;float:left;width:190px;height:14px;}.languages{-moz-border-radius:6px;-khtml-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;border-style:solid;border-width:1px;line-height:1;}.highlight{-moz-border-radius:6px;-khtml-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;border-style:solid;border-width:1px;line-height:1;background:#FFE45C;width:190px;height:14px;}.highlight_default{background:#FFE45C;}.lng_active{background:#45FF51;}.hidden{display:none;}.logoicon{float:right;margin-left:2px;margin-top:-1px;}
|
@@ -1 +1 @@
|
|
1 |
-
.tr-icon{background-image:url(../img/tr_imgs.png);height:12px;width:12px;background-repeat:no-repeat;overflow:hidden;text-indent:-99999px;display:inline-block;cursor:pointer;}.tr-icon-yellow{background-position:-12px 0;}.tr-icon-green{background-position:-24px 0;}.tr-icon-google{background-image:url(../img/googleicon.png)!important;}.tr-icon-bing{background-image:url(../img/bingicon.png)!important;}.tr-icon-apertium{background-image:url(../img/apertiumicon.png)!important;}.tr-icon-oht{background-image:url(../img/ohticon.png)!important;}
|
1 |
+
.tr-icon{background-image:url(../img/tr_imgs.png);height:12px;width:12px;background-repeat:no-repeat;overflow:hidden;text-indent:-99999px;display:inline-block;cursor:pointer;box-shadow:0;}.tr-icon-yellow{background-position:-12px 0;}.tr-icon-green{background-position:-24px 0;}.tr-icon-google{background-image:url(../img/googleicon.png)!important;}.tr-icon-bing{background-image:url(../img/bingicon.png)!important;}.tr-icon-apertium{background-image:url(../img/apertiumicon.png)!important;}.tr-icon-oht{background-image:url(../img/ohticon.png)!important;}
|
Binary file
|
@@ -1,12 +1,12 @@
|
|
1 |
/*
|
2 |
-
* Transposh v0.
|
3 |
* http://transposh.org/
|
4 |
*
|
5 |
* Copyright 2012, Team Transposh
|
6 |
* Licensed under the GPL Version 2 or higher.
|
7 |
* http://transposh.org/license
|
8 |
*
|
9 |
-
* Date:
|
10 |
*/
|
11 |
(function(e){function t(b,a){n+=1;e("#progress_bar").progressbar("value",n/o*100);e("#p").text("("+a+") "+b);n===o&&e("#tr_loading").data("done",true)}function j(b,a,c,f){a=e("<div>"+e.trim(a)+"</div>").text();t(a,c);clearTimeout(p);l+=1;k.push(b);g.push(a);h.push(c);i.push(f);p=setTimeout(function(){var a={action:"tp_translation",items:l},d;for(d=0;d<l;d+=1)k[d]!==k[d-1]&&(a["tk"+d]=k[d]),h[d]!==h[d-1]&&(a["ln"+d]=h[d]),g[d]!==g[d-1]&&(a["tr"+d]=g[d]),i[d]!==i[d-1]&&(a["sr"+d]=i[d]);e.ajax({type:"POST",
|
12 |
url:t_jp.ajaxurl,data:a,success:function(){},error:function(){}});l=0;g=[];k=[];h=[];i=[]},200)}function u(b,a,c){var f=c;f==="zh"?f="zh-chs":f==="zh-tw"&&(f="zh-cht");t_jp.dmt(a,function(a){e(a).each(function(a){j(b[a],this.TranslatedText,c,2)})},f)}function v(b,a,c){t_jp.dat(a,function(a){a.responseStatus>=200&&a.responseStatus<300&&(a.responseData.translatedText!==void 0?j(b[0],a.responseData.translatedText):e(a.responseData).each(function(a){this.responseStatus===200&&j(b[a],this.responseData.translatedText,
|
1 |
/*
|
2 |
+
* Transposh v0.9.0
|
3 |
* http://transposh.org/
|
4 |
*
|
5 |
* Copyright 2012, Team Transposh
|
6 |
* Licensed under the GPL Version 2 or higher.
|
7 |
* http://transposh.org/license
|
8 |
*
|
9 |
+
* Date: Wed, 12 Dec 2012 22:23:17 +0200
|
10 |
*/
|
11 |
(function(e){function t(b,a){n+=1;e("#progress_bar").progressbar("value",n/o*100);e("#p").text("("+a+") "+b);n===o&&e("#tr_loading").data("done",true)}function j(b,a,c,f){a=e("<div>"+e.trim(a)+"</div>").text();t(a,c);clearTimeout(p);l+=1;k.push(b);g.push(a);h.push(c);i.push(f);p=setTimeout(function(){var a={action:"tp_translation",items:l},d;for(d=0;d<l;d+=1)k[d]!==k[d-1]&&(a["tk"+d]=k[d]),h[d]!==h[d-1]&&(a["ln"+d]=h[d]),g[d]!==g[d-1]&&(a["tr"+d]=g[d]),i[d]!==i[d-1]&&(a["sr"+d]=i[d]);e.ajax({type:"POST",
|
12 |
url:t_jp.ajaxurl,data:a,success:function(){},error:function(){}});l=0;g=[];k=[];h=[];i=[]},200)}function u(b,a,c){var f=c;f==="zh"?f="zh-chs":f==="zh-tw"&&(f="zh-cht");t_jp.dmt(a,function(a){e(a).each(function(a){j(b[a],this.TranslatedText,c,2)})},f)}function v(b,a,c){t_jp.dat(a,function(a){a.responseStatus>=200&&a.responseStatus<300&&(a.responseData.translatedText!==void 0?j(b[0],a.responseData.translatedText):e(a.responseData).each(function(a){this.responseStatus===200&&j(b[a],this.responseData.translatedText,
|
@@ -1,12 +1,12 @@
|
|
1 |
/*
|
2 |
-
* Transposh v0.
|
3 |
* http://transposh.org/
|
4 |
*
|
5 |
* Copyright 2012, Team Transposh
|
6 |
* Licensed under the GPL Version 2 or higher.
|
7 |
* http://transposh.org/license
|
8 |
*
|
9 |
-
* Date:
|
10 |
*/
|
11 |
(function(a){var c={en:"English - English",af:"Afrikaans - Afrikaans",sq:"Albanian - Shqip",ar:"Arabic - \u0627\u0644\u0639\u0631\u0628\u064a\u0629",hy:"Armenian - \u0540\u0561\u0575\u0565\u0580\u0565\u0576",az:"Azerbaijani - az\u0259rbaycan dili",eu:"Basque - Euskara",be:"Belarusian - \u0411\u0435\u043b\u0430\u0440\u0443\u0441\u043a\u0430\u044f",bn:"Bengali - \u09ac\u09be\u0982\u09b2\u09be",bg:"Bulgarian - \u0411\u044a\u043b\u0433\u0430\u0440\u0441\u043a\u0438",ca:"Catalan - Catal\u00e0",zh:"Chinese (Simplified) - \u4e2d\u6587(\u7b80\u4f53)",
|
12 |
"zh-tw":"Chinese (Traditional) - \u4e2d\u6587(\u6f22\u5b57)",hr:"Croatian - Hrvatski",cs:"Czech - \u010ce\u0161tina",da:"Danish - Dansk",nl:"Dutch - Nederlands",eo:"Esperanto - Esperanto",et:"Estonian - Eesti keel",fi:"Finnish - Suomi",fr:"French - Fran\u00e7ais",gl:"Galician - Galego",ka:"Georgian - \u10e5\u10d0\u10e0\u10d7\u10e3\u10da\u10d8",de:"German - Deutsch",el:"Greek - \u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac",gu:"Gujarati - \u0a97\u0ac1\u0a9c\u0ab0\u0abe\u0aa4\u0ac0",ht:"Haitian - Krey\u00f2l ayisyen",
|
1 |
/*
|
2 |
+
* Transposh v0.9.0
|
3 |
* http://transposh.org/
|
4 |
*
|
5 |
* Copyright 2012, Team Transposh
|
6 |
* Licensed under the GPL Version 2 or higher.
|
7 |
* http://transposh.org/license
|
8 |
*
|
9 |
+
* Date: Wed, 12 Dec 2012 22:23:17 +0200
|
10 |
*/
|
11 |
(function(a){var c={en:"English - English",af:"Afrikaans - Afrikaans",sq:"Albanian - Shqip",ar:"Arabic - \u0627\u0644\u0639\u0631\u0628\u064a\u0629",hy:"Armenian - \u0540\u0561\u0575\u0565\u0580\u0565\u0576",az:"Azerbaijani - az\u0259rbaycan dili",eu:"Basque - Euskara",be:"Belarusian - \u0411\u0435\u043b\u0430\u0440\u0443\u0441\u043a\u0430\u044f",bn:"Bengali - \u09ac\u09be\u0982\u09b2\u09be",bg:"Bulgarian - \u0411\u044a\u043b\u0433\u0430\u0440\u0441\u043a\u0438",ca:"Catalan - Catal\u00e0",zh:"Chinese (Simplified) - \u4e2d\u6587(\u7b80\u4f53)",
|
12 |
"zh-tw":"Chinese (Traditional) - \u4e2d\u6587(\u6f22\u5b57)",hr:"Croatian - Hrvatski",cs:"Czech - \u010ce\u0161tina",da:"Danish - Dansk",nl:"Dutch - Nederlands",eo:"Esperanto - Esperanto",et:"Estonian - Eesti keel",fi:"Finnish - Suomi",fr:"French - Fran\u00e7ais",gl:"Galician - Galego",ka:"Georgian - \u10e5\u10d0\u10e0\u10d7\u10e3\u10da\u10d8",de:"German - Deutsch",el:"Greek - \u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac",gu:"Gujarati - \u0a97\u0ac1\u0a9c\u0ab0\u0abe\u0aa4\u0ac0",ht:"Haitian - Krey\u00f2l ayisyen",
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* Transposh v0.9.0
|
3 |
+
* http://transposh.org/
|
4 |
+
*
|
5 |
+
* Copyright 2012, Team Transposh
|
6 |
+
* Licensed under the GPL Version 2 or higher.
|
7 |
+
* http://transposh.org/license
|
8 |
+
*
|
9 |
+
* Date: Wed, 12 Dec 2012 22:23:17 +0200
|
10 |
+
*/
|
11 |
+
(function(a){a(function(){a("#sortable").sortable({placeholder:"highlight",update:function(c,b){b.item.unbind("click");b.item.one("click",function(b){b.stopImmediatePropagation();a(this).click(clickfunction)})}});a("#sortable").disableSelection();a("#changename").click(function(){a(".langname").toggleClass("hidden");return false});a("#selectall").click(function(){a("#sortable .languages").addClass("lng_active");a("#sortable .lng_active").each(function(){a("input",this).val(a(this).attr("id")+",v")});
|
12 |
+
return false});clickfunction=function(){a(this).attr("id")!=a("#default_list li").attr("id")&&(a(this).toggleClass("lng_active"),a("input",this).val(a(this).attr("id")+(a(this).hasClass("lng_active")?",v":",")))};a(".languages").dblclick(clickfunction).click(clickfunction);a("#default_lang").droppable({accept:".languages",activeClass:"highlight_default",drop:function(c,b){a("#default_list").empty();a(b.draggable.clone().removeAttr("style").removeClass("lng_active")).appendTo("#default_list").show("slow");
|
13 |
+
a("#default_list .logoicon").remove();a("#sortable").find("#"+b.draggable.attr("id")).addClass("lng_active")}});a("#sortiso").click(function(){a("#sortable li").sort(function(c,b){return a(c).attr("id")==a("#default_list li").attr("id")?-1:a(b).attr("id")==a("#default_list li").attr("id")?1:a(c).attr("id")>a(b).attr("id")?1:-1}).remove().appendTo("#sortable").dblclick(clickfunction).click(clickfunction);return false});a("#sortname").click(function(){a("#sortable li").sort(function(c,b){langa=a(".langname",
|
14 |
+
c).filter(function(){return!a(this).hasClass("hidden")}).text();langb=a(".langname",b).filter(function(){return!a(this).hasClass("hidden")}).text();langdef=a(".langname","#default_list li").filter(function(){return!a(this).hasClass("hidden")}).text();return langa==langdef?-1:langb==langdef?1:langa>langb?1:-1}).remove().appendTo("#sortable").dblclick(clickfunction).click(clickfunction);return false})})})(jQuery);
|
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* Transposh v0.9.0
|
3 |
+
* http://transposh.org/
|
4 |
+
*
|
5 |
+
* Copyright 2012, Team Transposh
|
6 |
+
* Licensed under the GPL Version 2 or higher.
|
7 |
+
* http://transposh.org/license
|
8 |
+
*
|
9 |
+
* Date: Wed, 12 Dec 2012 22:23:17 +0200
|
10 |
+
*/
|
11 |
+
(function(a){a(function(){a.ajaxSetup({cache:false});a("#transposh-reset-options").click(function(){if(!confirm("Are you sure you want to do this?"))return false;if(!confirm("Are you REALLY sure you want to do this, your configuration will be reset?"))return false;a.post(ajaxurl,{action:"tp_reset"})});backupclick=function(){a("#transposh-backup").unbind("click").click(function(){return false}).text("Backup In Progress");a.post(ajaxurl,{action:"tp_backup"},function(b){var c="red";b[0]=="2"&&(c="green");
|
12 |
+
a("#backup_result").html(b).css("color",c);a("#transposh-backup").unbind("click").click(backupclick).text("Do Backup Now")});return false};a("#transposh-backup").click(backupclick);cleanautoclick=function(b,c){if(!confirm("Are you sure you want to do this?"))return false;if(b==0&&!confirm("Are you REALLY sure you want to do this?"))return false;var d=c.text();c.unbind("click").click(function(){return false}).text("Cleanup in progress");a.post(ajaxurl,{action:"tp_cleanup",days:b},function(){c.unbind("click").click(function(){cleanautoclick(b,
|
13 |
+
c);return false}).text(d)});return false};a("#transposh-clean-auto").click(function(){cleanautoclick(0,a(this));return false});a("#transposh-clean-auto14").click(function(){cleanautoclick(14,a(this));return false});maintclick=function(b){if(!confirm("Are you sure you want to do this?"))return false;var c=b.text();b.unbind("click").click(function(){return false}).text("Maintenance in progress");a.post(ajaxurl,{action:"tp_maint"},function(){b.unbind("click").click(function(){maintclick(b);return false}).text(c)});
|
14 |
+
return false};a("#transposh-maint").click(function(){maintclick(a(this));return false});do_translate_all=function(){a("#progress_bar_all").progressbar({value:0});stop_translate_var=false;a("#tr_loading").data("done",true);a.ajaxSetup({cache:false});a.ajax({url:ajaxurl,dataType:"json",data:{action:"tp_translate_all"},cache:false,success:function(b){dotimer=function(c){a("#tr_allmsg").text("");clearTimeout(timer2);a("#tr_loading").data("done")||a("#tr_loading").data("attempt")>4?(a("#progress_bar_all").progressbar("value",
|
15 |
+
(c+1)/b.length*100),a("#tr_loading").data("attempt",0),translate_post(b[c]),typeof b[c+1]!=="undefined"&&!stop_translate_var&&(timer2=setTimeout(function(){dotimer(c+1)},5E3),a("#tr_allmsg").text("Waiting 5 seconds..."))):(a("#tr_loading").data("attempt",a("#tr_loading").data("attempt")+1),timer2=setTimeout(function(){dotimer(c)},15E3),a("#tr_allmsg").text("Translation incomplete - Waiting 15 seconds - attempt "+a("#tr_loading").data("attempt")+"/5"))};timer2=setTimeout(function(){dotimer(0)},0)}});
|
16 |
+
a("#transposh-translate").text("Stop translate");a("#transposh-translate").unbind("click").click(stop_translate);return false};stop_translate=function(){clearTimeout(timer2);stop_translate_var=true;a("#transposh-translate").text("Translate All Now");a("#transposh-translate").unbind("click").click(do_translate_all);return false};a("#transposh-translate").click(do_translate_all)})})(jQuery);
|
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* Transposh v0.9.0
|
3 |
+
* http://transposh.org/
|
4 |
+
*
|
5 |
+
* Copyright 2012, Team Transposh
|
6 |
+
* Licensed under the GPL Version 2 or higher.
|
7 |
+
* http://transposh.org/license
|
8 |
+
*
|
9 |
+
* Date: Wed, 12 Dec 2012 22:23:17 +0200
|
10 |
+
*/
|
11 |
+
(function(a){a(function(){a(".warning-close").click(function(){a(this).parents("div:first").hide();a.post(ajaxurl,{action:"tp_close_warning",id:a(this).attr("id")})})})})(jQuery);
|
@@ -1,12 +1,12 @@
|
|
1 |
/*
|
2 |
-
* Transposh v0.
|
3 |
* http://transposh.org/
|
4 |
*
|
5 |
* Copyright 2012, Team Transposh
|
6 |
* Licensed under the GPL Version 2 or higher.
|
7 |
* http://transposh.org/license
|
8 |
*
|
9 |
-
* Date:
|
10 |
*/
|
11 |
t_jp.l={"Close without saving?":"Schlie\u00dfen ohne Speichern?","You have made a change to the translation. Are you sure you want to discard it?":"Sie haben die \u00dcbersetzung bearbeitet. Sind Sie sicher, dass Sie abbrechen wollen?",History:"Verlauf","Loading...":"Laden...",Translated:"\u00dcbersetzt",By:"von",At:"\u00fcber",google:"Google",bing:"Bing",apertium:"Apertium","manual translation":"manuelle \u00dcbersetzung","bing suggest":"Bing Suggest","google suggest":"Google Suggest","apertium suggest":"Apertium Suggest",
|
12 |
"Edit Translation":"\u00dcbersetzung bearbeiten","Original text":"Originaltext","read alternate translations":"alternative \u00dcbersetzung lesen","previous translation":"Vorherige","find on page":"Auf Seite suchen","next translation":"N\u00e4chste","Translate to":"\u00dcbersetzen nach","view translation log":"\u00dcbersetzungsprotokoll anzeigen","virtual keyboard":"virtuelle Tastatur","approve translation":"\u00dcbersetzung genehmigen","delete":"L\u00f6schen",Discard:"Verwerfen",Cancel:"Abbrechen"};
|
1 |
/*
|
2 |
+
* Transposh v0.9.0
|
3 |
* http://transposh.org/
|
4 |
*
|
5 |
* Copyright 2012, Team Transposh
|
6 |
* Licensed under the GPL Version 2 or higher.
|
7 |
* http://transposh.org/license
|
8 |
*
|
9 |
+
* Date: Wed, 12 Dec 2012 22:23:17 +0200
|
10 |
*/
|
11 |
t_jp.l={"Close without saving?":"Schlie\u00dfen ohne Speichern?","You have made a change to the translation. Are you sure you want to discard it?":"Sie haben die \u00dcbersetzung bearbeitet. Sind Sie sicher, dass Sie abbrechen wollen?",History:"Verlauf","Loading...":"Laden...",Translated:"\u00dcbersetzt",By:"von",At:"\u00fcber",google:"Google",bing:"Bing",apertium:"Apertium","manual translation":"manuelle \u00dcbersetzung","bing suggest":"Bing Suggest","google suggest":"Google Suggest","apertium suggest":"Apertium Suggest",
|
12 |
"Edit Translation":"\u00dcbersetzung bearbeiten","Original text":"Originaltext","read alternate translations":"alternative \u00dcbersetzung lesen","previous translation":"Vorherige","find on page":"Auf Seite suchen","next translation":"N\u00e4chste","Translate to":"\u00dcbersetzen nach","view translation log":"\u00dcbersetzungsprotokoll anzeigen","virtual keyboard":"virtuelle Tastatur","approve translation":"\u00dcbersetzung genehmigen","delete":"L\u00f6schen",Discard:"Verwerfen",Cancel:"Abbrechen"};
|
@@ -1,12 +1,12 @@
|
|
1 |
/*
|
2 |
-
* Transposh v0.
|
3 |
* http://transposh.org/
|
4 |
*
|
5 |
* Copyright 2012, Team Transposh
|
6 |
* Licensed under the GPL Version 2 or higher.
|
7 |
* http://transposh.org/license
|
8 |
*
|
9 |
-
* Date:
|
10 |
*/
|
11 |
t_jp.l={"Close without saving?":"Cerrar sin guardar?","You have made a change to the translation. Are you sure you want to discard it?":"Has cambiado la traducion. Estas seguro que lo quieres eliminar?",History:"Historia","Loading...":"Cargando...",Translated:"Traducido",By:"Por",At:"En",google:"google",bing:"bing",apertium:"apertium","manual translation":"traducci\u00f3n manual","bing suggest":"sugerencia de bing","google suggest":"sugerencia de google","apertium suggest":"sugerencia de apertium",
|
12 |
"Edit Translation":"Editar traducci\u00f3n","Original text":"Texto original","read alternate translations":"lee traducci\u00f3nes alternativas","previous translation":"traducci\u00f3n anterior","find on page":"encuentra en la pagina","next translation":"siguiente traducci\u00f3n","Translate to":"Traducir a","view translation log":"muestra diario de traducion","virtual keyboard":"teclado virtual","approve translation":"aprueba traducion","delete":"eliminar",Discard:"Descartar",Cancel:"Cancelar"};
|
1 |
/*
|
2 |
+
* Transposh v0.9.0
|
3 |
* http://transposh.org/
|
4 |
*
|
5 |
* Copyright 2012, Team Transposh
|
6 |
* Licensed under the GPL Version 2 or higher.
|
7 |
* http://transposh.org/license
|
8 |
*
|
9 |
+
* Date: Wed, 12 Dec 2012 22:23:17 +0200
|
10 |
*/
|
11 |
t_jp.l={"Close without saving?":"Cerrar sin guardar?","You have made a change to the translation. Are you sure you want to discard it?":"Has cambiado la traducion. Estas seguro que lo quieres eliminar?",History:"Historia","Loading...":"Cargando...",Translated:"Traducido",By:"Por",At:"En",google:"google",bing:"bing",apertium:"apertium","manual translation":"traducci\u00f3n manual","bing suggest":"sugerencia de bing","google suggest":"sugerencia de google","apertium suggest":"sugerencia de apertium",
|
12 |
"Edit Translation":"Editar traducci\u00f3n","Original text":"Texto original","read alternate translations":"lee traducci\u00f3nes alternativas","previous translation":"traducci\u00f3n anterior","find on page":"encuentra en la pagina","next translation":"siguiente traducci\u00f3n","Translate to":"Traducir a","view translation log":"muestra diario de traducion","virtual keyboard":"teclado virtual","approve translation":"aprueba traducion","delete":"eliminar",Discard:"Descartar",Cancel:"Cancelar"};
|
@@ -1,12 +1,12 @@
|
|
1 |
/*
|
2 |
-
* Transposh v0.
|
3 |
* http://transposh.org/
|
4 |
*
|
5 |
* Copyright 2012, Team Transposh
|
6 |
* Licensed under the GPL Version 2 or higher.
|
7 |
* http://transposh.org/license
|
8 |
*
|
9 |
-
* Date:
|
10 |
*/
|
11 |
t_jp.l={"Close without saving?":"\u0628\u062f\u0648\u0646 \u0646\u06af\u0647 \u062f\u0627\u0631\u06cc \u0628\u0628\u0646\u062f\u06cc\u0645\u061f","You have made a change to the translation. Are you sure you want to discard it?":"\u0634\u0645\u0627 \u062f\u0631 \u062a\u0631\u062c\u0645\u0647 \u06cc\u06a9 \u062f\u06af\u0631\u06af\u0648\u0646\u06cc \u0633\u0627\u062e\u062a\u0647 \u0627\u06cc\u062f \u0622\u06cc\u0627 \u0622\u06af\u0627\u0647\u0627\u0646\u0647 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u0622\u0646 \u0631\u0627 \u062f\u0648\u0631 \u0628\u06cc\u0646\u062f\u0627\u0632\u06cc\u062f\u061f ",
|
12 |
History:"\u067e\u06cc\u0634\u06cc\u0646\u0647","Loading...":"\u0628\u0627\u0631\u06af\u06cc\u0631\u06cc...",Translated:"\u062a\u0631\u062c\u0645\u0647 \u0634\u062f\u0647",By:"\u0628\u0627",At:"\u062f\u0631",google:"\u06af\u0648\u06af\u0644",bing:"\u0628\u06cc\u0646\u06af",apertium:"\u0627\u0650\u06cc \u067e\u0650\u0631\u0634\u0650\u0645","manual translation":"\u062a\u0631\u062c\u0645\u0647 \u06cc \u062f\u0633\u062a\u06cc","bing suggest":"\u067e\u06cc\u0634\u0646\u0647\u0627\u062f \u0628\u06cc\u0646\u06af",
|
1 |
/*
|
2 |
+
* Transposh v0.9.0
|
3 |
* http://transposh.org/
|
4 |
*
|
5 |
* Copyright 2012, Team Transposh
|
6 |
* Licensed under the GPL Version 2 or higher.
|
7 |
* http://transposh.org/license
|
8 |
*
|
9 |
+
* Date: Wed, 12 Dec 2012 22:23:17 +0200
|
10 |
*/
|
11 |
t_jp.l={"Close without saving?":"\u0628\u062f\u0648\u0646 \u0646\u06af\u0647 \u062f\u0627\u0631\u06cc \u0628\u0628\u0646\u062f\u06cc\u0645\u061f","You have made a change to the translation. Are you sure you want to discard it?":"\u0634\u0645\u0627 \u062f\u0631 \u062a\u0631\u062c\u0645\u0647 \u06cc\u06a9 \u062f\u06af\u0631\u06af\u0648\u0646\u06cc \u0633\u0627\u062e\u062a\u0647 \u0627\u06cc\u062f \u0622\u06cc\u0627 \u0622\u06af\u0627\u0647\u0627\u0646\u0647 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u0622\u0646 \u0631\u0627 \u062f\u0648\u0631 \u0628\u06cc\u0646\u062f\u0627\u0632\u06cc\u062f\u061f ",
|
12 |
History:"\u067e\u06cc\u0634\u06cc\u0646\u0647","Loading...":"\u0628\u0627\u0631\u06af\u06cc\u0631\u06cc...",Translated:"\u062a\u0631\u062c\u0645\u0647 \u0634\u062f\u0647",By:"\u0628\u0627",At:"\u062f\u0631",google:"\u06af\u0648\u06af\u0644",bing:"\u0628\u06cc\u0646\u06af",apertium:"\u0627\u0650\u06cc \u067e\u0650\u0631\u0634\u0650\u0645","manual translation":"\u062a\u0631\u062c\u0645\u0647 \u06cc \u062f\u0633\u062a\u06cc","bing suggest":"\u067e\u06cc\u0634\u0646\u0647\u0627\u062f \u0628\u06cc\u0646\u06af",
|
@@ -1,12 +1,12 @@
|
|
1 |
/*
|
2 |
-
* Transposh v0.
|
3 |
* http://transposh.org/
|
4 |
*
|
5 |
* Copyright 2012, Team Transposh
|
6 |
* Licensed under the GPL Version 2 or higher.
|
7 |
* http://transposh.org/license
|
8 |
*
|
9 |
-
* Date:
|
10 |
*/
|
11 |
t_jp.l={"Close without saving?":"\u05dc\u05e1\u05d2\u05d5\u05e8 \u05d1\u05dc\u05d9 \u05dc\u05e9\u05de\u05d5\u05e8?","You have made a change to the translation. Are you sure you want to discard it?":"\u05d1\u05d9\u05e6\u05e2\u05ea \u05e9\u05d9\u05e0\u05d5\u05d9 \u05d1\u05ea\u05e8\u05d2\u05d5\u05dd, \u05d4\u05d0\u05dd \u05d0\u05ea\u05d4 \u05d1\u05d8\u05d5\u05d7 \u05e9\u05d0\u05ea\u05d4 \u05e8\u05d5\u05e6\u05d4 \u05dc\u05d5\u05d5\u05ea\u05e8 \u05e2\u05dc\u05d9\u05d5?",History:"\u05d4\u05d9\u05e1\u05d8\u05d5\u05e8\u05d9\u05d4",
|
12 |
"Loading...":"\u05d8\u05d5\u05e2\u05df...",Translated:"\u05ea\u05d5\u05e8\u05d2\u05dd",By:"\u05e2\u05dc \u05d9\u05d3\u05d9",At:"\u05d1",google:"\u05d2\u05d5\u05d2\u05dc",bing:"\u05d1\u05d9\u05e0\u05d2",apertium:"\u05d0\u05e4\u05e8\u05d8\u05d9\u05d5\u05dd","manual translation":"\u05ea\u05e8\u05d2\u05d5\u05dd \u05d9\u05d3\u05e0\u05d9","bing suggest":"\u05d4\u05e6\u05e2\u05d5\u05ea \u05d1\u05d9\u05e0\u05d2","google suggest":"\u05d4\u05e6\u05e2\u05d5\u05ea \u05d2\u05d5\u05d2\u05dc","apertium suggest":"\u05d4\u05e6\u05e2\u05d5\u05ea \u05d0\u05e4\u05e8\u05d8\u05d9\u05d5\u05dd",
|
1 |
/*
|
2 |
+
* Transposh v0.9.0
|
3 |
* http://transposh.org/
|
4 |
*
|
5 |
* Copyright 2012, Team Transposh
|
6 |
* Licensed under the GPL Version 2 or higher.
|
7 |
* http://transposh.org/license
|
8 |
*
|
9 |
+
* Date: Wed, 12 Dec 2012 22:23:17 +0200
|
10 |
*/
|
11 |
t_jp.l={"Close without saving?":"\u05dc\u05e1\u05d2\u05d5\u05e8 \u05d1\u05dc\u05d9 \u05dc\u05e9\u05de\u05d5\u05e8?","You have made a change to the translation. Are you sure you want to discard it?":"\u05d1\u05d9\u05e6\u05e2\u05ea \u05e9\u05d9\u05e0\u05d5\u05d9 \u05d1\u05ea\u05e8\u05d2\u05d5\u05dd, \u05d4\u05d0\u05dd \u05d0\u05ea\u05d4 \u05d1\u05d8\u05d5\u05d7 \u05e9\u05d0\u05ea\u05d4 \u05e8\u05d5\u05e6\u05d4 \u05dc\u05d5\u05d5\u05ea\u05e8 \u05e2\u05dc\u05d9\u05d5?",History:"\u05d4\u05d9\u05e1\u05d8\u05d5\u05e8\u05d9\u05d4",
|
12 |
"Loading...":"\u05d8\u05d5\u05e2\u05df...",Translated:"\u05ea\u05d5\u05e8\u05d2\u05dd",By:"\u05e2\u05dc \u05d9\u05d3\u05d9",At:"\u05d1",google:"\u05d2\u05d5\u05d2\u05dc",bing:"\u05d1\u05d9\u05e0\u05d2",apertium:"\u05d0\u05e4\u05e8\u05d8\u05d9\u05d5\u05dd","manual translation":"\u05ea\u05e8\u05d2\u05d5\u05dd \u05d9\u05d3\u05e0\u05d9","bing suggest":"\u05d4\u05e6\u05e2\u05d5\u05ea \u05d1\u05d9\u05e0\u05d2","google suggest":"\u05d4\u05e6\u05e2\u05d5\u05ea \u05d2\u05d5\u05d2\u05dc","apertium suggest":"\u05d4\u05e6\u05e2\u05d5\u05ea \u05d0\u05e4\u05e8\u05d8\u05d9\u05d5\u05dd",
|
@@ -1,12 +1,12 @@
|
|
1 |
/*
|
2 |
-
* Transposh v0.
|
3 |
* http://transposh.org/
|
4 |
*
|
5 |
* Copyright 2012, Team Transposh
|
6 |
* Licensed under the GPL Version 2 or higher.
|
7 |
* http://transposh.org/license
|
8 |
*
|
9 |
-
* Date:
|
10 |
*/
|
11 |
t_jp.l={"Close without saving?":"Chiudere senza salvare?","You have made a change to the translation. Are you sure you want to discard it?":"È stata fatta una modifica alla traduzione. Si è sicuri di volerla scartare?",History:"Storia","Loading...":"Caricamento...",Translated:"Tradotto",By:"Da",At:"A",google:"google",bing:"bing",apertium:"apertium","manual translation":"traduzione manuale","bing suggest":"bing suggerisce","google suggest":"google suggerisce","apertium suggest":"apertium suggerisce",
|
12 |
"Edit Translation":"Modifica Traduzione","Original text":"Testo Originale","read alternate translations":"leggi le traduzioni alternative","previous translation":"traduzione precedente","find on page":"trova nella pagina","next translation":"prossima traduzione","Translate to":"Tradotto in","view translation log":"guarda il log delle traduzioni","virtual keyboard":"tastiera virtuale","approve translation":"approva traduzione","delete":"cancella",Discard:"Scarta",Cancel:"Cancella"};
|
1 |
/*
|
2 |
+
* Transposh v0.9.0
|
3 |
* http://transposh.org/
|
4 |
*
|
5 |
* Copyright 2012, Team Transposh
|
6 |
* Licensed under the GPL Version 2 or higher.
|
7 |
* http://transposh.org/license
|
8 |
*
|
9 |
+
* Date: Wed, 12 Dec 2012 22:23:17 +0200
|
10 |
*/
|
11 |
t_jp.l={"Close without saving?":"Chiudere senza salvare?","You have made a change to the translation. Are you sure you want to discard it?":"È stata fatta una modifica alla traduzione. Si è sicuri di volerla scartare?",History:"Storia","Loading...":"Caricamento...",Translated:"Tradotto",By:"Da",At:"A",google:"google",bing:"bing",apertium:"apertium","manual translation":"traduzione manuale","bing suggest":"bing suggerisce","google suggest":"google suggerisce","apertium suggest":"apertium suggerisce",
|
12 |
"Edit Translation":"Modifica Traduzione","Original text":"Testo Originale","read alternate translations":"leggi le traduzioni alternative","previous translation":"traduzione precedente","find on page":"trova nella pagina","next translation":"prossima traduzione","Translate to":"Tradotto in","view translation log":"guarda il log delle traduzioni","virtual keyboard":"tastiera virtuale","approve translation":"approva traduzione","delete":"cancella",Discard:"Scarta",Cancel:"Cancella"};
|
@@ -1,12 +1,12 @@
|
|
1 |
/*
|
2 |
-
* Transposh v0.
|
3 |
* http://transposh.org/
|
4 |
*
|
5 |
* Copyright 2012, Team Transposh
|
6 |
* Licensed under the GPL Version 2 or higher.
|
7 |
* http://transposh.org/license
|
8 |
*
|
9 |
-
* Date:
|
10 |
*/
|
11 |
t_jp.l={"Close without saving?":"Sluiten zonder op te slaan?","You have made a change to the translation. Are you sure you want to discard it?":"Je hebt de vertaling aangepast. Weet je zeker dat je dat wilt annuleren?",History:"Geschiedenis","Loading...":"Aan het laden...",Translated:"Vertaald",By:"Door",At:"Op",google:"google",bing:"bing",apertium:"apertium","manual translation":"eigen vertaling","bing suggest":"bing suggestie","google suggest":"google suggestie","apertium suggest":"apertium suggestie",
|
12 |
"Edit Translation":"Vertaling aanpassen","Original text":"Oorspronkelijke tekst","read alternate translations":"bekijk alternatieve vertaling","previous translation":"vorige","find on page":"laat op de pagina zien","next translation":"volgende","Translate to":"Vertaal naar","view translation log":"Bekijk vertaallog","virtual keyboard":"virtueel toetsenbord","approve translation":"vertaling goedkeuren","delete":"verwijder",Discard:"weggooien",Cancel:"Annuleren"};
|
1 |
/*
|
2 |
+
* Transposh v0.9.0
|
3 |
* http://transposh.org/
|
4 |
*
|
5 |
* Copyright 2012, Team Transposh
|
6 |
* Licensed under the GPL Version 2 or higher.
|
7 |
* http://transposh.org/license
|
8 |
*
|
9 |
+
* Date: Wed, 12 Dec 2012 22:23:17 +0200
|
10 |
*/
|
11 |
t_jp.l={"Close without saving?":"Sluiten zonder op te slaan?","You have made a change to the translation. Are you sure you want to discard it?":"Je hebt de vertaling aangepast. Weet je zeker dat je dat wilt annuleren?",History:"Geschiedenis","Loading...":"Aan het laden...",Translated:"Vertaald",By:"Door",At:"Op",google:"google",bing:"bing",apertium:"apertium","manual translation":"eigen vertaling","bing suggest":"bing suggestie","google suggest":"google suggestie","apertium suggest":"apertium suggestie",
|
12 |
"Edit Translation":"Vertaling aanpassen","Original text":"Oorspronkelijke tekst","read alternate translations":"bekijk alternatieve vertaling","previous translation":"vorige","find on page":"laat op de pagina zien","next translation":"volgende","Translate to":"Vertaal naar","view translation log":"Bekijk vertaallog","virtual keyboard":"virtueel toetsenbord","approve translation":"vertaling goedkeuren","delete":"verwijder",Discard:"weggooien",Cancel:"Annuleren"};
|
@@ -1,12 +1,12 @@
|
|
1 |
/*
|
2 |
-
* Transposh v0.
|
3 |
* http://transposh.org/
|
4 |
*
|
5 |
* Copyright 2012, Team Transposh
|
6 |
* Licensed under the GPL Version 2 or higher.
|
7 |
* http://transposh.org/license
|
8 |
*
|
9 |
-
* Date:
|
10 |
*/
|
11 |
t_jp.l={"Close without saving?":"\u0417\u0430\u043a\u0440\u044b\u0442\u044c \u0431\u0435\u0437 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f?","You have made a change to the translation. Are you sure you want to discard it?":"\u0412\u044b \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0435. \u0412\u044b \u0443\u0432\u0435\u0440\u0435\u043d\u044b, \u0447\u0442\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u0441\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u044d\u0442\u043e?",
|
12 |
History:"\u0418\u0441\u0442\u043e\u0440\u0438\u044f","Loading...":"\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430...",Translated:"\u041f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d\u043e",By:"",At:"\u0412",google:"",bing:"",apertium:"","manual translation":"\u0440\u0443\u0447\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u0432\u043e\u0434","bing suggest":"\u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435 bing","google suggest":"\u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435 google",
|
1 |
/*
|
2 |
+
* Transposh v0.9.0
|
3 |
* http://transposh.org/
|
4 |
*
|
5 |
* Copyright 2012, Team Transposh
|
6 |
* Licensed under the GPL Version 2 or higher.
|
7 |
* http://transposh.org/license
|
8 |
*
|
9 |
+
* Date: Wed, 12 Dec 2012 22:23:17 +0200
|
10 |
*/
|
11 |
t_jp.l={"Close without saving?":"\u0417\u0430\u043a\u0440\u044b\u0442\u044c \u0431\u0435\u0437 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f?","You have made a change to the translation. Are you sure you want to discard it?":"\u0412\u044b \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0435. \u0412\u044b \u0443\u0432\u0435\u0440\u0435\u043d\u044b, \u0447\u0442\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u0441\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u044d\u0442\u043e?",
|
12 |
History:"\u0418\u0441\u0442\u043e\u0440\u0438\u044f","Loading...":"\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430...",Translated:"\u041f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d\u043e",By:"",At:"\u0412",google:"",bing:"",apertium:"","manual translation":"\u0440\u0443\u0447\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u0432\u043e\u0434","bing suggest":"\u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435 bing","google suggest":"\u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435 google",
|
@@ -1,19 +1,19 @@
|
|
1 |
/*
|
2 |
-
* Transposh v0.
|
3 |
* http://transposh.org/
|
4 |
*
|
5 |
* Copyright 2012, Team Transposh
|
6 |
* Licensed under the GPL Version 2 or higher.
|
7 |
* http://transposh.org/license
|
8 |
*
|
9 |
-
* Date:
|
10 |
*/
|
11 |
(function(c){function A(b,a){if(c.trim(a).length!==0){var d=function(){var b=c(this).attr("id").substr(c(this).attr("id").lastIndexOf("_")+1),a=c("#"+e+"img_"+b);c("#"+e+b).attr("data-source",1);a.removeClass("tr-icon-yellow").removeClass("tr-icon-green").addClass("tr-icon-yellow")};c("*[data-token='"+b+"'][data-hidden!='y']").html(a).each(d);c("*[data-token='"+b+"'][data-hidden='y']").attr("data-trans",a).each(d)}}function B(b,a){clearTimeout(q);h.push(b);o.push(a);A(b,a);q=setTimeout(function(){var b=
|
12 |
{ln0:t_jp.lang,sr0:p,action:"tp_translation",items:h.length},a;for(a=0;a<h.length;a+=1)b["tk"+a]=h[a],b["tr"+a]=o[a],r+=c("*[data-token='"+h[a]+"']").size();c.ajax({type:"POST",url:t_jp.ajaxurl,data:b,success:function(){var b=r/i*100;t_jp.progress&&c("#"+k).progressbar("value",b)}});o=[];h=[]},200)}function j(b,a){B(b,c("<div>"+c.trim(a)+"</div>").text());var d=(i-c("."+e+'[data-source=""]').size())/i*100;t_jp.progress&&c("#"+l).progressbar("value",d)}function s(b,a,d){c.ajax({url:t_jp.ajaxurl,dataType:"json",
|
13 |
data:{action:"tp_gp",tl:d,q:b},success:a})}function t(b,a){s(a,function(a){c(a.results).each(function(a){j(b[a],this)})},t_jp.lang)}function u(b,a,d){c.ajax({url:"https://www.googleapis.com/language/translate/v2",dataType:"jsonp",data:{key:t_jp.google_key,q:b,target:d,source:t_jp.olang},traditional:true,success:a})}function C(b,a){u(a,function(d){typeof d.error!=="undefined"?t(b,a):c(d.data.translations).each(function(a){j(b[a],this.translatedText)})},t_jp.lang)}function m(b,a,d){if(t_jp.msn_key){var f=
|
14 |
-
"[";c(b).each(function(a){f+='"'+encodeURIComponent(b[a].replace(/[\\"]/g,"\\$&"))+'",'});f=f.slice(0,-1)+"]";c.ajax({url:"http://api.microsofttranslator.com/V2/Ajax.svc/TranslateArray?appId="+t_jp.msn_key+"&to="+d+"&texts="+f,dataType:"jsonp",jsonp:"oncomplete",success:a})}else v===1?setTimeout(function(){m(b,a,d)},500):(v=1,c.getScript("http://www.microsofttranslator.com/ajax/v2/toolkit.ashx?loc=en&toolbar=none",function(){t_jp.msn_key=_mstConfig.appId;m(b,a,d)}))}
|
15 |
-
this.TranslatedText)})},t_jp.binglang)}function w(b,a,d){c.ajax({url:"http://api.apertium.org/json/translate",data:{q:b,langpair:t_jp.olang+"|"+d,markUnknown:"no"},dataType:"jsonp",traditional:true,success:a})}function E(b,a){p=3;w(a,function(a){a.responseStatus>=200&&a.responseStatus<300&&(a.responseData.translatedText!==void 0?j(b[0],a.responseData.translatedText):c(a.responseData).each(function(a){this.responseStatus===200&&j(b[a],
|
16 |
-
(t_jp.preferred==="2"||t_jp.google===void 0)?D(b,a):t_jp.apertium&&(t_jp.olang==="en"||t_jp.olang==="es")?E(b,a):t_jp.google_key?C(b,a):t(b,a)}function y(){var b=[],a=0,d=[],f=[];c("."+e+'[data-source=""]').each(function(){var e=c(this).attr("data-token"),g=c(this).attr("data-orig");g===void 0&&(g=c(this).html());b[g]!==1&&(b[g]=1,a+encodeURIComponent(g).length>F&&(x(f,d),a=0,d=[],f=[]),a+=encodeURIComponent(g).length,f.push(e),
|
17 |
-
(t_jp.$=c,c.getScript(t_jp.plugin_url+"/js/lazy.js",b))}function n(b){n.hit?b():(n.hit=true,z(function(){c.fn.propAttr=c.fn.prop||c.fn.attr;c.xLazyLoader({js:t_jp.jQueryUI+"jquery-ui.min.js",css:t_jp.jQueryUI+"themes/"+t_jp.theme+"/jquery-ui.css",success:b})}))}var F=1024,i,e=t_jp.prefix,l=e+"pbar",k=l+"_s",p=1,r=0,q,h=[],o=[],v=0;t_jp.jQueryUI="http://ajax.googleapis.com/ajax/libs/jqueryui/1.
|
18 |
-
t_jp.lang,t_jp.binglang==="zh")t_jp.binglang="zh-chs";else if(t_jp.binglang==="zh-tw")t_jp.binglang="zh-cht";else if(t_jp.binglang==="mw")t_jp.binglang="mww";c("."+e+"setdeflang").click(function(){c.ajax({url:t_jp.ajaxurl,data:{action:"tp_cookie"},cache:false});c("."+e+"setdeflang").hide("slow");return false});i=c("."+e+'[data-source=""]').size();c.ajaxSetup({cache:true});if(i&&!t_jp.noauto&&(t_jp.google||t_jp.msn||t_jp.apertium))t_jp.progress?
|
19 |
-
l+'"/><div style="margin-bottom:10px;float:left;width: 90%;height: 10px" id="'+k+'"/>');c("#"+l).progressbar({value:0});c("#"+k).progressbar({value:0});c("#"+k+" > div").css({background:"#28F828",border:"#08A908 1px solid"});y()}):y();t_jp.edit&&c.getScript(t_jp.plugin_url+"/js/transposhedit.js")})})(jQuery);
|
1 |
/*
|
2 |
+
* Transposh v0.9.0
|
3 |
* http://transposh.org/
|
4 |
*
|
5 |
* Copyright 2012, Team Transposh
|
6 |
* Licensed under the GPL Version 2 or higher.
|
7 |
* http://transposh.org/license
|
8 |
*
|
9 |
+
* Date: Wed, 12 Dec 2012 22:23:17 +0200
|
10 |
*/
|
11 |
(function(c){function A(b,a){if(c.trim(a).length!==0){var d=function(){var b=c(this).attr("id").substr(c(this).attr("id").lastIndexOf("_")+1),a=c("#"+e+"img_"+b);c("#"+e+b).attr("data-source",1);a.removeClass("tr-icon-yellow").removeClass("tr-icon-green").addClass("tr-icon-yellow")};c("*[data-token='"+b+"'][data-hidden!='y']").html(a).each(d);c("*[data-token='"+b+"'][data-hidden='y']").attr("data-trans",a).each(d)}}function B(b,a){clearTimeout(q);h.push(b);o.push(a);A(b,a);q=setTimeout(function(){var b=
|
12 |
{ln0:t_jp.lang,sr0:p,action:"tp_translation",items:h.length},a;for(a=0;a<h.length;a+=1)b["tk"+a]=h[a],b["tr"+a]=o[a],r+=c("*[data-token='"+h[a]+"']").size();c.ajax({type:"POST",url:t_jp.ajaxurl,data:b,success:function(){var b=r/i*100;t_jp.progress&&c("#"+k).progressbar("value",b)}});o=[];h=[]},200)}function j(b,a){B(b,c("<div>"+c.trim(a)+"</div>").text());var d=(i-c("."+e+'[data-source=""]').size())/i*100;t_jp.progress&&c("#"+l).progressbar("value",d)}function s(b,a,d){c.ajax({url:t_jp.ajaxurl,dataType:"json",
|
13 |
data:{action:"tp_gp",tl:d,q:b},success:a})}function t(b,a){s(a,function(a){c(a.results).each(function(a){j(b[a],this)})},t_jp.lang)}function u(b,a,d){c.ajax({url:"https://www.googleapis.com/language/translate/v2",dataType:"jsonp",data:{key:t_jp.google_key,q:b,target:d,source:t_jp.olang},traditional:true,success:a})}function C(b,a){u(a,function(d){typeof d.error!=="undefined"?t(b,a):c(d.data.translations).each(function(a){j(b[a],this.translatedText)})},t_jp.lang)}function m(b,a,d){if(t_jp.msn_key){var f=
|
14 |
+
"[";c(b).each(function(a){f+='"'+encodeURIComponent(b[a].replace(/[\\"]/g,"\\$&").replace(/(\r\n|\n|\r)/gm," "))+'",'});f=f.slice(0,-1)+"]";c.ajax({url:"http://api.microsofttranslator.com/V2/Ajax.svc/TranslateArray?appId="+t_jp.msn_key+"&to="+d+"&texts="+f,dataType:"jsonp",jsonp:"oncomplete",success:a})}else v===1?setTimeout(function(){m(b,a,d)},500):(v=1,c.getScript("http://www.microsofttranslator.com/ajax/v2/toolkit.ashx?loc=en&toolbar=none",function(){t_jp.msn_key=_mstConfig.appId;m(b,a,d)}))}
|
15 |
+
function D(b,a){p=2;m(a,function(a){c(a).each(function(a){j(b[a],this.TranslatedText)})},t_jp.binglang)}function w(b,a,d){c.ajax({url:"http://api.apertium.org/json/translate",data:{q:b,langpair:t_jp.olang+"|"+d,markUnknown:"no"},dataType:"jsonp",traditional:true,success:a})}function E(b,a){p=3;w(a,function(a){a.responseStatus>=200&&a.responseStatus<300&&(a.responseData.translatedText!==void 0?j(b[0],a.responseData.translatedText):c(a.responseData).each(function(a){this.responseStatus===200&&j(b[a],
|
16 |
+
this.responseData.translatedText)}))},t_jp.lang)}function x(b,a){t_jp.msn&&(t_jp.preferred==="2"||t_jp.google===void 0)?D(b,a):t_jp.apertium&&(t_jp.olang==="en"||t_jp.olang==="es")?E(b,a):t_jp.google_key?C(b,a):t(b,a)}function y(){var b=[],a=0,d=[],f=[];c("."+e+'[data-source=""]').each(function(){var e=c(this).attr("data-token"),g=c(this).attr("data-orig");g===void 0&&(g=c(this).html());b[g]!==1&&(b[g]=1,a+encodeURIComponent(g).length>F&&(x(f,d),a=0,d=[],f=[]),a+=encodeURIComponent(g).length,f.push(e),
|
17 |
+
d.push(g))});x(f,d)}function z(b){typeof c.xLazyLoader==="function"?b():(t_jp.$=c,c.getScript(t_jp.plugin_url+"/js/lazy.js",b))}function n(b){n.hit?b():(n.hit=true,z(function(){c.fn.propAttr=c.fn.prop||c.fn.attr;c.xLazyLoader({js:t_jp.jQueryUI+"jquery-ui.min.js",css:t_jp.jQueryUI+"themes/"+t_jp.theme+"/jquery-ui.css",success:b})}))}var F=1024,i,e=t_jp.prefix,l=e+"pbar",k=l+"_s",p=1,r=0,q,h=[],o=[],v=0;t_jp.jQueryUI="http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/";t_jp.dgpt=s;t_jp.dgt=u;t_jp.dmt=
|
18 |
+
m;t_jp.dat=w;t_jp.tfl=z;t_jp.tfju=n;c(function(){if(t_jp.msn)if(t_jp.binglang=t_jp.lang,t_jp.binglang==="zh")t_jp.binglang="zh-chs";else if(t_jp.binglang==="zh-tw")t_jp.binglang="zh-cht";else if(t_jp.binglang==="mw")t_jp.binglang="mww";c("."+e+"setdeflang").click(function(){c.ajax({url:t_jp.ajaxurl,data:{action:"tp_cookie"},cache:false});c("."+e+"setdeflang").hide("slow");return false});i=c("."+e+'[data-source=""]').size();c.ajaxSetup({cache:true});if(i&&!t_jp.noauto&&(t_jp.google||t_jp.msn||t_jp.apertium))t_jp.progress?
|
19 |
+
n(function(){c("#"+e+"credit").css({overflow:"auto"}).append('<div style="float: left;width: 90%;height: 10px" id="'+l+'"/><div style="margin-bottom:10px;float:left;width: 90%;height: 10px" id="'+k+'"/>');c("#"+l).progressbar({value:0});c("#"+k).progressbar({value:0});c("#"+k+" > div").css({background:"#28F828",border:"#08A908 1px solid"});y()}):y();t_jp.edit&&c.getScript(t_jp.plugin_url+"/js/transposhedit.js")})})(jQuery);
|
@@ -1,19 +1,19 @@
|
|
1 |
/*
|
2 |
-
* Transposh v0.
|
3 |
* http://transposh.org/
|
4 |
*
|
5 |
* Copyright 2012, Team Transposh
|
6 |
* Licensed under the GPL Version 2 or higher.
|
7 |
* http://transposh.org/license
|
8 |
*
|
9 |
-
* Date:
|
10 |
*/
|
11 |
(function(a){function e(a){var b;return typeof t_jp.l==="object"&&(b=t_jp.l[a])?b:a}function n(c,d,e){a.trim(d).length===0&&(d=a("[data-token='"+c+"']").attr("data-orig"));var f=function(){var c=a(this).attr("id").substr(a(this).attr("id").lastIndexOf("_")+1),d=a(b+"img_"+c);a(b+c).attr("data-source",e);d.removeClass("tr-icon-yellow").removeClass("tr-icon-green");e==0?d.addClass("tr-icon-green"):e&&d.addClass("tr-icon-yellow")};a("*[data-token='"+c+"'][data-hidden!='y']").html(d).each(f);a("*[data-token='"+
|
12 |
-
c+"'][data-hidden='y']").attr("data-trans",d).each(f);a(b+"translation").data("origval",d);a(b+"translation").keyup()}function o(b,d){n(b,d,0);a.ajax({type:"POST",url:t_jp.ajaxurl,data:{action:"tp_translation",ln0:t_jp.lang,sr0:0,items:1,tk0:b,tr0:d},error:function(a){n(b,"",1);alert("Problem saving translation, contact support.\n\nServer's message: "+a.statusText)}})}function
|
13 |
-
"</div>").text()).keyup()},t_jp.lang):a.ajax({url:t_jp.ajaxurl,dataType:"json",data:{action:"tp_gsp",tl:t_jp.lang,sl:a(b+"original").data("srclang"),q:a(b+"original").val()},success:function(c){console.log(c);a(b+"translation").val(a("<div>"+a.trim(c.result)+"</div>").text()).keyup()}})}function
|
14 |
-
"translation").val(a("<div>"+a.trim(c.responseData.translatedText)+"</div>").text()).keyup()},t_jp.lang)}function p(b){var d,e,f;d=a(b).dialog("widget").find(".ui-dialog-title");e=d.css("margin-right");f=d.css("margin-left");d.css({"float":i,"margin-right":f,"margin-left":e});b=a(b).dialog("widget").find(".ui-dialog-titlebar-close");e=b.css("right");f=b.css("left");b.css({right:f,left:e})}function
|
15 |
'"><span class="ui-icon ui-icon-alert" style="float:'+i+"; margin-bottom:20px; margin-"+k+':7px"></span><span style="clear:both">'+e("You have made a change to the translation. Are you sure you want to discard it?")+'<span><span id="'+d+'dcbar" style="display:block"><button id="'+d+'cancel">'+e("Cancel")+'</button><button id="'+d+'discard">'+e("Discard")+"</button></span>NaN").appendTo("body").dialog({resizable:false,modal:true,minHeight:50,overlay:{backgroundColor:"#000",opacity:0.5}});a(b+"cancel").button({icons:{primary:"ui-icon-closethick"},
|
16 |
-
text:false}).click(function(){a(c).dialog("close")});a(b+"discard").button({icons:{primary:"ui-icon-check"},text:false}).click(function(){a(b+"translation").data("changed",false);a(c).dialog("close");a(b+"dialog").dialog("close")});a(b+"dcbar").css({"float":k}).buttonset();a("html").attr("dir")==="rtl"&&(p(c),a(b+"dcbar button:first").addClass("ui-corner-"+i).removeClass("ui-corner-"+k),a(b+"dcbar button:last").addClass("ui-corner-"+k).removeClass("ui-corner-"+i))}function
|
17 |
a(h).remove();a('<div id="'+d+'historydialog" title="'+e("History")+'">'+e("Loading...")+"</div>").appendTo("body");a(h).css("padding",0).dialog({width:"450px",show:"slide"});a("html").attr("dir")==="rtl"&&p(h);a.ajax({url:t_jp.ajaxurl,data:{action:"tp_history",token:a(b+c).attr("data-token"),lang:t_jp.lang},dataType:"json",cache:false,success:function(l){var f,j,g,r;a(h).empty().append('<table width="100%"><col style="width: 80%;"><col><col><thead><tr> <th>'+e("Translated")+"</th><th>"+e("By")+"</th><th>"+
|
18 |
e("At")+"</th></tr></thead><tbody></tbody></table>");a.each(l,function(b,c){switch(c.source){case "1":f="tr-icon-google";j=e("google");break;case "2":f="tr-icon-bing";j=e("bing");break;case "3":f="tr-icon-apertium";j=e("apertium");break;default:f="ui-icon-person",j=e("manual translation")}if(c.user_login===null)c.user_login=c.translated_by;g='<span class="ui-button ui-widget ui-button-icon-only" style="width: 18px; border: 0px; margin-'+k+': 3px"><span title="'+j+'" style="cursor: default" class="ui-button-icon-primary ui-icon '+
|
19 |
f+'"></span><span class="ui-button-text" style="display: inline-block; "></span></span>';r=c.can_delete?'<span class="'+d+'delete" title="'+e("delete")+'" style="width: 18px; margin-'+i+': 3px">':"";a(h+" tbody").append("<tr><td>"+c.translated+'</td><td id="'+d+'histby">'+g+c.user_login+'</td><td id="'+d+'histstamp">'+c.timestamp+r+"</td></tr>")});a(b+"histby,"+b+"histstamp").css("white-space","nowrap");a(h+" th").addClass("ui-widget-header").css("padding","3px");a(h+" td").addClass("ui-widget-content").css("padding",
|
@@ -26,14 +26,15 @@ a(b+"utlbar,"+b+"ltlbar").css({"float":k}).buttonset();a(g+" textarea").css({wid
|
|
26 |
dataType:"json",cache:false,success:function(e){var h;if(!(h=a(b+c).attr("data-srclang")))h=t_jp.olang;var f='<li data-translated="'+a(b+c).attr("data-orig")+'"><a href="#">'+m[h]+"</a></li>";a(e).each(function(a,b){b.lang!==t_jp.lang&&(f=f+'<li data-translated="'+b.translated+'"><a href="#">'+m[b.lang]+"</a></li>")});a('<ul style="position: absolute; top: 0px" id="'+d+'langmenu">'+f).appendTo(g);a(b+"langmenu").menu({select:function(c,d){a(this).hide();a(b+"original").val(d.item.attr("data-translated"));
|
27 |
a(b+"orglang").text(d.item.text()).addClass("ui-state-highlight");m[h]===d.item.text()&&a(b+"orglang").removeClass("ui-state-highlight")},input:a(this)}).show().css({top:0,left:0}).position({my:i+" top",at:i+" bottom",of:a(b+"orglang")})}})}})});return false});a(b+"prev").button({icons:{primary:"ui-icon-seek-"+t},text:false});a(b+"zoom").button({icons:{primary:"ui-icon-search"},text:false});a(b+"next").button({icons:{primary:"ui-icon-seek-"+u},text:false});a(b+"prev").click(function(){if(a(b+"translation").data("changed")){var d=
|
28 |
a(b+"translation").val(),e=a(b+c).attr("data-token");o(e,d)}c=Number(c)-1;q(c)});a(b+"next").click(function(){if(a(b+"translation").data("changed")){var d=a(b+"translation").val(),e=a(b+c).attr("data-token");o(e,d)}c=Number(c)+1;q(c)});a(b+"zoom").click(function(){a("html, body").animate({scrollTop:a(b+c).offset().top},500);a(g).dialog("widget").css({top:a(g).dialog("widget").offset().top-window.scrollY,position:"fixed"});a(b+c).animate({opacity:0.1},"slow",function(){a(g).dialog("widget").css({top:a(g).dialog("widget").offset().top,
|
29 |
-
position:"absolute"})}).animate({opacity:1},"slow").animate({opacity:0.1},"slow").animate({opacity:1},"slow").animate({opacity:0.1},"slow").animate({opacity:1},"slow")});a(b+"history").button({icons:{primary:"ui-icon-clipboard"},text:false}).click(function(){
|
30 |
-
"translation").get(0));VKI_show(a(b+"translation").get(0))}})})});a(b+"google").button({icons:{primary:"tr-icon-google"},text:false}).click(function(){
|
31 |
a(b+"oht").button({icons:{primary:"tr-icon-oht"},text:false}).click(function(){var d=a(this);a.ajax({url:t_jp.ajaxurl,data:{action:"tp_oht",q:a(b+"original").val(),token:a(b+c).attr("data-token"),orglang:a(b+c).attr("data-srclang"),lang:t_jp.lang},dataType:"json",cache:false,success:function(a){a?d.addClass("ui-state-highlight"):d.removeClass("ui-state-highlight")}})});a(b+"approve").button({icons:{primary:"ui-icon-check"},text:false}).click(function(){var d=a(b+"translation").val(),e=a(b+c).attr("data-token");
|
32 |
(a(b+"translation").data("changed")||a(b+c).attr("data-source")!=="0")&&o(e,d)});a(b+"translation").keyup(function(){a(this).data("origval")!==a(this).val()?(a(this).addClass("ui-state-highlight"),a(b+"approve").button("enable"),a(this).data("changed",true)):(a(this).removeClass("ui-state-highlight"),a(b+c).attr("data-source")==="0"&&a(b+"approve").button("disable"),a(this).data("changed",false))});q(c);a(g).dialog({resizable:false,width:500,zIndex:99999});a("html").attr("dir")==="rtl"&&p(g);a(b+
|
33 |
-
"orglang").blur();a(g).bind("dialogclose",function(){typeof VKI_close==="function"&&VKI_close(a(b+"translation").get(0));a(b+"historydialog").remove()});a(g).bind("dialogbeforeclose",function(){return a(b+"translation").data("changed")?(
|
34 |
-
be:"Belarusian - \u0411\u0435\u043b\u0430\u0440\u0443\u0441\u043a\u0430\u044f",bn:"Bengali - \u09ac\u09be\u0982\u09b2\u09be",bg:"Bulgarian - \u0411\u044a\u043b\u0433\u0430\u0440\u0441\u043a\u0438",ca:"Catalan - Catal\u00e0",zh:"Chinese (Simplified) - \u4e2d\u6587(\u7b80\u4f53)","zh-tw":"Chinese (Traditional) - \u4e2d\u6587(\u6f22\u5b57)",hr:"Croatian - Hrvatski",cs:"Czech - \u010ce\u0161tina",
|
35 |
-
fr:"French - Fran\u00e7ais",gl:"Galician - Galego",ka:"Georgian - \u10e5\u10d0\u10e0\u10d7\u10e3\u10da\u10d8",de:"German - Deutsch",el:"Greek - \u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac",gu:"Gujarati - \u0a97\u0ac1\u0a9c\u0ab0\u0abe\u0aa4\u0ac0",ht:"Haitian - Krey\u00f2l ayisyen",he:"Hebrew - \u05e2\u05d1\u05e8\u05d9\u05ea",hi:"Hindi - \u0939\u093f\u0928\u094d\u0926\u0940; \u0939\u093f\u0902\u0926\u0940",
|
36 |
-
ga:"Irish - Gaeilge",it:"Italian - Italiano",ja:"Japanese - \u65e5\u672c\u8a9e",kn:"Kannada - \u0c95\u0ca8\u0ccd\u0ca8\u0ca1",ko:"Korean - \uc6b0\ub9ac\ub9d0",la:"Latin - Lat\u012bna",lv:"Latvian - Latvie\u0161u valoda",lt:"Lithuanian - Lietuvi\u0173 kalba",mk:"Macedonian - \u043c\u0430\u043a\u0435\u0434\u043e\u043d\u0441\u043a\u0438 \u0458\u0430\u0437\u0438\u043a",
|
37 |
-
pt:"Portuguese - Portugu\u00eas",ro:"Romanian - Rom\u00e2n\u0103",ru:"Russian - \u0420\u0443\u0441\u0441\u043a\u0438\u0439",sr:"Serbian - C\u0440\u043f\u0441\u043a\u0438 \u0458\u0435\u0437\u0438\u043a",sk:"Slovak - Sloven\u010dina",sl:"Slovene - Sloven\u0161\u010dina",es:"Spanish - Espa\u00f1ol",sw:"Swahili - Kiswahili",sv:"Swedish - Svenska",tl:"Tagalog - Tagalog",
|
38 |
-
tr:"Turkish - T\u00fcrk\u00e7e",uk:"Ukrainian - \u0423\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u0430",ur:"Urdu - \u0627\u0631\u062f\u0648",vi:"Vietnamese - Ti\u1ebfng Vi\u1ec7t",cy:"Welsh - Cymraeg",yi:"Yiddish - \u05d9\u05d9\u05b4\u05d3\u05d9\u05e9"},d=t_jp.prefix,b="#"+d,
|
39 |
-
d+"img_"+c+'" class="tr-icon" title="'+a(this).attr("data-orig")+'"></span>');e=a(b+"img_"+c);var i=function(){t_jp.locale&&!
|
|
1 |
/*
|
2 |
+
* Transposh v0.9.0
|
3 |
* http://transposh.org/
|
4 |
*
|
5 |
* Copyright 2012, Team Transposh
|
6 |
* Licensed under the GPL Version 2 or higher.
|
7 |
* http://transposh.org/license
|
8 |
*
|
9 |
+
* Date: Wed, 12 Dec 2012 22:23:17 +0200
|
10 |
*/
|
11 |
(function(a){function e(a){var b;return typeof t_jp.l==="object"&&(b=t_jp.l[a])?b:a}function n(c,d,e){a.trim(d).length===0&&(d=a("[data-token='"+c+"']").attr("data-orig"));var f=function(){var c=a(this).attr("id").substr(a(this).attr("id").lastIndexOf("_")+1),d=a(b+"img_"+c);a(b+c).attr("data-source",e);d.removeClass("tr-icon-yellow").removeClass("tr-icon-green");e==0?d.addClass("tr-icon-green"):e&&d.addClass("tr-icon-yellow")};a("*[data-token='"+c+"'][data-hidden!='y']").html(d).each(f);a("*[data-token='"+
|
12 |
+
c+"'][data-hidden='y']").attr("data-trans",d).each(f);a(b+"translation").data("origval",d);a(b+"translation").keyup()}function o(b,d){n(b,d,0);a.ajax({type:"POST",url:t_jp.ajaxurl,data:{action:"tp_translation",ln0:t_jp.lang,sr0:0,items:1,tk0:b,tr0:d},error:function(a){n(b,"",1);alert("Problem saving translation, contact support.\n\nServer's message: "+a.statusText)}})}function y(){t_jp.google_key?t_jp.dgt(a(b+"original").val(),function(c){a(b+"translation").val(a("<div>"+a.trim(c.data.translations[0].translatedText)+
|
13 |
+
"</div>").text()).keyup()},t_jp.lang):a.ajax({url:t_jp.ajaxurl,dataType:"json",data:{action:"tp_gsp",tl:t_jp.lang,sl:a(b+"original").data("srclang"),q:a(b+"original").val()},success:function(c){console.log(c);a(b+"translation").val(a("<div>"+a.trim(c.result)+"</div>").text()).keyup()}})}function z(){t_jp.dmt([a(b+"original").val()],function(c){a(b+"translation").val(a("<div>"+a.trim(c[0].TranslatedText)+"</div>").text()).keyup()},t_jp.binglang)}function A(){t_jp.dat(a(b+"original").val(),function(c){a(b+
|
14 |
+
"translation").val(a("<div>"+a.trim(c.responseData.translatedText)+"</div>").text()).keyup()},t_jp.lang)}function p(b){var d,e,f;d=a(b).dialog("widget").find(".ui-dialog-title");e=d.css("margin-right");f=d.css("margin-left");d.css({"float":i,"margin-right":f,"margin-left":e});b=a(b).dialog("widget").find(".ui-dialog-titlebar-close");e=b.css("right");f=b.css("left");b.css({right:f,left:e})}function B(){var c=b+"confirmdialog";a(c).remove();a('<div id="'+d+'confirmdialog" title="'+e("Close without saving?")+
|
15 |
'"><span class="ui-icon ui-icon-alert" style="float:'+i+"; margin-bottom:20px; margin-"+k+':7px"></span><span style="clear:both">'+e("You have made a change to the translation. Are you sure you want to discard it?")+'<span><span id="'+d+'dcbar" style="display:block"><button id="'+d+'cancel">'+e("Cancel")+'</button><button id="'+d+'discard">'+e("Discard")+"</button></span>NaN").appendTo("body").dialog({resizable:false,modal:true,minHeight:50,overlay:{backgroundColor:"#000",opacity:0.5}});a(b+"cancel").button({icons:{primary:"ui-icon-closethick"},
|
16 |
+
text:false}).click(function(){a(c).dialog("close")});a(b+"discard").button({icons:{primary:"ui-icon-check"},text:false}).click(function(){a(b+"translation").data("changed",false);a(c).dialog("close");a(b+"dialog").dialog("close")});a(b+"dcbar").css({"float":k}).buttonset();a("html").attr("dir")==="rtl"&&(p(c),a(b+"dcbar button:first").addClass("ui-corner-"+i).removeClass("ui-corner-"+k),a(b+"dcbar button:last").addClass("ui-corner-"+k).removeClass("ui-corner-"+i))}function C(c){var h=b+"historydialog";
|
17 |
a(h).remove();a('<div id="'+d+'historydialog" title="'+e("History")+'">'+e("Loading...")+"</div>").appendTo("body");a(h).css("padding",0).dialog({width:"450px",show:"slide"});a("html").attr("dir")==="rtl"&&p(h);a.ajax({url:t_jp.ajaxurl,data:{action:"tp_history",token:a(b+c).attr("data-token"),lang:t_jp.lang},dataType:"json",cache:false,success:function(l){var f,j,g,r;a(h).empty().append('<table width="100%"><col style="width: 80%;"><col><col><thead><tr> <th>'+e("Translated")+"</th><th>"+e("By")+"</th><th>"+
|
18 |
e("At")+"</th></tr></thead><tbody></tbody></table>");a.each(l,function(b,c){switch(c.source){case "1":f="tr-icon-google";j=e("google");break;case "2":f="tr-icon-bing";j=e("bing");break;case "3":f="tr-icon-apertium";j=e("apertium");break;default:f="ui-icon-person",j=e("manual translation")}if(c.user_login===null)c.user_login=c.translated_by;g='<span class="ui-button ui-widget ui-button-icon-only" style="width: 18px; border: 0px; margin-'+k+': 3px"><span title="'+j+'" style="cursor: default" class="ui-button-icon-primary ui-icon '+
|
19 |
f+'"></span><span class="ui-button-text" style="display: inline-block; "></span></span>';r=c.can_delete?'<span class="'+d+'delete" title="'+e("delete")+'" style="width: 18px; margin-'+i+': 3px">':"";a(h+" tbody").append("<tr><td>"+c.translated+'</td><td id="'+d+'histby">'+g+c.user_login+'</td><td id="'+d+'histstamp">'+c.timestamp+r+"</td></tr>")});a(b+"histby,"+b+"histstamp").css("white-space","nowrap");a(h+" th").addClass("ui-widget-header").css("padding","3px");a(h+" td").addClass("ui-widget-content").css("padding",
|
26 |
dataType:"json",cache:false,success:function(e){var h;if(!(h=a(b+c).attr("data-srclang")))h=t_jp.olang;var f='<li data-translated="'+a(b+c).attr("data-orig")+'"><a href="#">'+m[h]+"</a></li>";a(e).each(function(a,b){b.lang!==t_jp.lang&&(f=f+'<li data-translated="'+b.translated+'"><a href="#">'+m[b.lang]+"</a></li>")});a('<ul style="position: absolute; top: 0px" id="'+d+'langmenu">'+f).appendTo(g);a(b+"langmenu").menu({select:function(c,d){a(this).hide();a(b+"original").val(d.item.attr("data-translated"));
|
27 |
a(b+"orglang").text(d.item.text()).addClass("ui-state-highlight");m[h]===d.item.text()&&a(b+"orglang").removeClass("ui-state-highlight")},input:a(this)}).show().css({top:0,left:0}).position({my:i+" top",at:i+" bottom",of:a(b+"orglang")})}})}})});return false});a(b+"prev").button({icons:{primary:"ui-icon-seek-"+t},text:false});a(b+"zoom").button({icons:{primary:"ui-icon-search"},text:false});a(b+"next").button({icons:{primary:"ui-icon-seek-"+u},text:false});a(b+"prev").click(function(){if(a(b+"translation").data("changed")){var d=
|
28 |
a(b+"translation").val(),e=a(b+c).attr("data-token");o(e,d)}c=Number(c)-1;q(c)});a(b+"next").click(function(){if(a(b+"translation").data("changed")){var d=a(b+"translation").val(),e=a(b+c).attr("data-token");o(e,d)}c=Number(c)+1;q(c)});a(b+"zoom").click(function(){a("html, body").animate({scrollTop:a(b+c).offset().top},500);a(g).dialog("widget").css({top:a(g).dialog("widget").offset().top-window.scrollY,position:"fixed"});a(b+c).animate({opacity:0.1},"slow",function(){a(g).dialog("widget").css({top:a(g).dialog("widget").offset().top,
|
29 |
+
position:"absolute"})}).animate({opacity:1},"slow").animate({opacity:0.1},"slow").animate({opacity:1},"slow").animate({opacity:0.1},"slow").animate({opacity:1},"slow")});a(b+"history").button({icons:{primary:"ui-icon-clipboard"},text:false}).click(function(){C(c)});a(b+"keyboard").button({icons:{primary:"ui-icon-calculator"},text:false}).click(function(){t_jp.tfl(function(){a.xLazyLoader({js:[t_jp.plugin_url+"/js/keyboard.js"],css:[t_jp.plugin_url+"/css/keyboard.css"],success:function(){VKI_attach(a(b+
|
30 |
+
"translation").get(0));VKI_show(a(b+"translation").get(0))}})})});a(b+"google").button({icons:{primary:"tr-icon-google"},text:false}).click(function(){y();a("."+d+"suggest").button("enable");a(this).button("disable")});a(b+"bing").button({icons:{primary:"tr-icon-bing"},text:false}).click(function(){z();a("."+d+"suggest").button("enable");a(this).button("disable")});a(b+"apertium").button({icons:{primary:"tr-icon-apertium"},text:false}).click(function(){A();a("."+d+"suggest").button("enable");a(this).button("disable")});
|
31 |
a(b+"oht").button({icons:{primary:"tr-icon-oht"},text:false}).click(function(){var d=a(this);a.ajax({url:t_jp.ajaxurl,data:{action:"tp_oht",q:a(b+"original").val(),token:a(b+c).attr("data-token"),orglang:a(b+c).attr("data-srclang"),lang:t_jp.lang},dataType:"json",cache:false,success:function(a){a?d.addClass("ui-state-highlight"):d.removeClass("ui-state-highlight")}})});a(b+"approve").button({icons:{primary:"ui-icon-check"},text:false}).click(function(){var d=a(b+"translation").val(),e=a(b+c).attr("data-token");
|
32 |
(a(b+"translation").data("changed")||a(b+c).attr("data-source")!=="0")&&o(e,d)});a(b+"translation").keyup(function(){a(this).data("origval")!==a(this).val()?(a(this).addClass("ui-state-highlight"),a(b+"approve").button("enable"),a(this).data("changed",true)):(a(this).removeClass("ui-state-highlight"),a(b+c).attr("data-source")==="0"&&a(b+"approve").button("disable"),a(this).data("changed",false))});q(c);a(g).dialog({resizable:false,width:500,zIndex:99999});a("html").attr("dir")==="rtl"&&p(g);a(b+
|
33 |
+
"orglang").blur();a(g).bind("dialogclose",function(){typeof VKI_close==="function"&&VKI_close(a(b+"translation").get(0));a(b+"historydialog").remove()});a(g).keydown(function(c){if(c.ctrlKey)switch(c.keyCode){case v:a(b+"prev").click();break;case w:a(b+"next").click()}});a(g).bind("dialogbeforeclose",function(){return a(b+"translation").data("changed")?(B(),false):true})}var m={en:"English - English",af:"Afrikaans - Afrikaans",sq:"Albanian - Shqip",ar:"Arabic - \u0627\u0644\u0639\u0631\u0628\u064a\u0629",
|
34 |
+
hy:"Armenian - \u0540\u0561\u0575\u0565\u0580\u0565\u0576",az:"Azerbaijani - az\u0259rbaycan dili",eu:"Basque - Euskara",be:"Belarusian - \u0411\u0435\u043b\u0430\u0440\u0443\u0441\u043a\u0430\u044f",bn:"Bengali - \u09ac\u09be\u0982\u09b2\u09be",bg:"Bulgarian - \u0411\u044a\u043b\u0433\u0430\u0440\u0441\u043a\u0438",ca:"Catalan - Catal\u00e0",zh:"Chinese (Simplified) - \u4e2d\u6587(\u7b80\u4f53)","zh-tw":"Chinese (Traditional) - \u4e2d\u6587(\u6f22\u5b57)",hr:"Croatian - Hrvatski",cs:"Czech - \u010ce\u0161tina",
|
35 |
+
da:"Danish - Dansk",nl:"Dutch - Nederlands",eo:"Esperanto - Esperanto",et:"Estonian - Eesti keel",fi:"Finnish - Suomi",fr:"French - Fran\u00e7ais",gl:"Galician - Galego",ka:"Georgian - \u10e5\u10d0\u10e0\u10d7\u10e3\u10da\u10d8",de:"German - Deutsch",el:"Greek - \u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac",gu:"Gujarati - \u0a97\u0ac1\u0a9c\u0ab0\u0abe\u0aa4\u0ac0",ht:"Haitian - Krey\u00f2l ayisyen",mw:"Hmong Daw - Hmoob Daw",he:"Hebrew - \u05e2\u05d1\u05e8\u05d9\u05ea",hi:"Hindi - \u0939\u093f\u0928\u094d\u0926\u0940; \u0939\u093f\u0902\u0926\u0940",
|
36 |
+
hu:"Hungarian - Magyar",is:"Icelandic - \u00cdslenska",id:"Indonesian - Bahasa Indonesia",ga:"Irish - Gaeilge",it:"Italian - Italiano",ja:"Japanese - \u65e5\u672c\u8a9e",kn:"Kannada - \u0c95\u0ca8\u0ccd\u0ca8\u0ca1",ko:"Korean - \uc6b0\ub9ac\ub9d0",lo:"Lao - \u0e9e\u0eb2\u0eaa\u0eb2\u0ea5\u0eb2\u0ea7",la:"Latin - Lat\u012bna",lv:"Latvian - Latvie\u0161u valoda",lt:"Lithuanian - Lietuvi\u0173 kalba",mk:"Macedonian - \u043c\u0430\u043a\u0435\u0434\u043e\u043d\u0441\u043a\u0438 \u0458\u0430\u0437\u0438\u043a",
|
37 |
+
ms:"Malay - Bahasa Melayu",mt:"Maltese - Malti",no:"Norwegian - Norsk",fa:"Persian - \u067e\u0627\u0631\u0633\u06cc",pl:"Polish - Polski",pt:"Portuguese - Portugu\u00eas",ro:"Romanian - Rom\u00e2n\u0103",ru:"Russian - \u0420\u0443\u0441\u0441\u043a\u0438\u0439",sr:"Serbian - C\u0440\u043f\u0441\u043a\u0438 \u0458\u0435\u0437\u0438\u043a",sk:"Slovak - Sloven\u010dina",sl:"Slovene - Sloven\u0161\u010dina",es:"Spanish - Espa\u00f1ol",sw:"Swahili - Kiswahili",sv:"Swedish - Svenska",tl:"Tagalog - Tagalog",
|
38 |
+
ta:"Tamil - \u0ba4\u0bae\u0bbf\u0bb4\u0bcd",te:"Telugu - \u0c24\u0c46\u0c32\u0c41\u0c17\u0c41",th:"Thai - \u0e20\u0e32\u0e29\u0e32\u0e44\u0e17\u0e22",tr:"Turkish - T\u00fcrk\u00e7e",uk:"Ukrainian - \u0423\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u0430",ur:"Urdu - \u0627\u0631\u062f\u0648",vi:"Vietnamese - Ti\u1ebfng Vi\u1ec7t",cy:"Welsh - Cymraeg",yi:"Yiddish - \u05d9\u05d9\u05b4\u05d3\u05d9\u05e9"},d=t_jp.prefix,b="#"+d,x=false,t="prev",u="next",k="right",i="left",w=39,v=37;a("html").attr("dir")===
|
39 |
+
"rtl"&&(k="left",i="right",v=39,w=37,t="next",u="prev");a("."+d).each(function(){var c=a(this).attr("id").substr(a(this).attr("id").lastIndexOf("_")+1),e;a(this).after('<span id="'+d+"img_"+c+'" class="tr-icon" title="'+a(this).attr("data-orig")+'"></span>');e=a(b+"img_"+c);var i=function(){t_jp.locale&&!x?a.getScript(t_jp.plugin_url+"/js/l/"+t_jp.lang+".js",function(){x=true;s(c)}):s(c)};e.click(function(){t_jp.tfju(function(){i()});return false}).css({border:"0px",margin:"1px",padding:"0px"});a(this).attr("data-source")===
|
40 |
+
"0"?e.addClass("tr-icon-green"):a(this).attr("data-source")&&e.addClass("tr-icon-yellow");a(this).attr("data-hidden")==="y"&&e.css({opacity:"0.6"})})})(jQuery);
|
@@ -1,22 +0,0 @@
|
|
1 |
-
/*
|
2 |
-
* Transposh v0.8.5
|
3 |
-
* http://transposh.org/
|
4 |
-
*
|
5 |
-
* Copyright 2012, Team Transposh
|
6 |
-
* Licensed under the GPL Version 2 or higher.
|
7 |
-
* http://transposh.org/license
|
8 |
-
*
|
9 |
-
* Date: Sat, 15 Sep 2012 02:05:09 +0300
|
10 |
-
*/
|
11 |
-
jQuery(function(){jQuery("#tr_anon").click(function(){jQuery("#tr_anon").attr("checked")&&(jQuery(".translateable").addClass("active").removeClass("translateable"),jQuery("#sortable .active").each(function(){jQuery("input",this).val(jQuery(this).attr("id")+",v,t")}));jQuery("#yellowcolor").toggleClass("hidden")});jQuery("#sortable").sortable({placeholder:"highlight",update:function(b,a){a.item.unbind("click");a.item.one("click",function(a){a.stopImmediatePropagation();jQuery(this).click(clickfunction)})}});
|
12 |
-
jQuery("#sortable").disableSelection();jQuery("#changename").click(function(){jQuery(".langname").toggleClass("hidden");return false});jQuery("#selectall").click(function(){jQuery("#sortable .languages").addClass("active").removeClass("translateable");jQuery("#sortable .active").each(function(){jQuery("input",this).val(jQuery(this).attr("id")+",v,t")});return false});clickfunction=function(){jQuery(this).attr("id")!=jQuery("#default_list li").attr("id")&&(jQuery("#tr_anon").attr("checked")?jQuery(this).toggleClass("active"):
|
13 |
-
jQuery(this).hasClass("active")?(jQuery(this).removeClass("active"),jQuery(this).addClass("translateable")):jQuery(this).hasClass("translateable")?jQuery(this).removeClass("translateable"):jQuery(this).addClass("active"),jQuery("input",this).val(jQuery(this).attr("id")+(jQuery(this).hasClass("active")?",v":",")+(jQuery(this).hasClass("translateable")?",t":",")))};jQuery(".languages").dblclick(clickfunction).click(clickfunction);jQuery("#default_lang").droppable({accept:".languages",activeClass:"highlight_default",
|
14 |
-
drop:function(b,a){jQuery("#default_list").empty();jQuery(a.draggable.clone().removeAttr("style").removeClass("active").removeClass("translateable")).appendTo("#default_list").show("slow");jQuery("#default_list .logoicon").remove();jQuery("#sortable").find("#"+a.draggable.attr("id")).addClass("active")}});jQuery("#sortiso").click(function(){jQuery("#sortable li").sort(function(b,a){return jQuery(b).attr("id")==jQuery("#default_list li").attr("id")?-1:jQuery(a).attr("id")==jQuery("#default_list li").attr("id")?
|
15 |
-
1:jQuery(b).attr("id")>jQuery(a).attr("id")?1:-1}).remove().appendTo("#sortable").dblclick(clickfunction).click(clickfunction);return false});jQuery("#sortname").click(function(){jQuery("#sortable li").sort(function(b,a){langa=jQuery(".langname",b).filter(function(){return!jQuery(this).hasClass("hidden")}).text();langb=jQuery(".langname",a).filter(function(){return!jQuery(this).hasClass("hidden")}).text();langdef=jQuery(".langname","#default_list li").filter(function(){return!jQuery(this).hasClass("hidden")}).text();
|
16 |
-
return langa==langdef?-1:langb==langdef?1:langa>langb?1:-1}).remove().appendTo("#sortable").dblclick(clickfunction).click(clickfunction);return false});jQuery.ajaxSetup({cache:false});backupclick=function(){jQuery("#transposh-backup").unbind("click").click(function(){return false}).text("Backup In Progress");jQuery.post(ajaxurl,{action:"tp_backup"},function(b){var a="red";b[0]=="2"&&(a="green");jQuery("#backup_result").html(b).css("color",a);jQuery("#transposh-backup").unbind("click").click(backupclick).text("Do Backup Now")});
|
17 |
-
return false};jQuery("#transposh-backup").click(backupclick);cleanautoclick=function(b,a){if(!confirm("Are you sure you want to do this?"))return false;if(b==0&&!confirm("Are you REALLY sure you want to do this?"))return false;var c=a.text();a.unbind("click").click(function(){return false}).text("Cleanup in progress");jQuery.post(ajaxurl,{action:"tp_cleanup",days:b},function(){a.unbind("click").click(function(){cleanautoclick(b,a);return false}).text(c)});return false};jQuery("#transposh-clean-auto").click(function(){cleanautoclick(0,
|
18 |
-
jQuery(this));return false});jQuery("#transposh-clean-auto14").click(function(){cleanautoclick(14,jQuery(this));return false});maintclick=function(b){if(!confirm("Are you sure you want to do this?"))return false;var a=b.text();b.unbind("click").click(function(){return false}).text("Maintenance in progress");jQuery.post(ajaxurl,{action:"tp_maint"},function(){b.unbind("click").click(function(){maintclick(b);return false}).text(a)});return false};jQuery("#transposh-maint").click(function(){maintclick(jQuery(this));
|
19 |
-
return false});do_translate_all=function(){jQuery("#progress_bar_all").progressbar({value:0});stop_translate_var=false;jQuery("#tr_loading").data("done",true);jQuery.ajaxSetup({cache:false});jQuery.ajax({url:ajaxurl,dataType:"json",data:{action:"tp_translate_all"},cache:false,success:function(b){dotimer=function(a){jQuery("#tr_allmsg").text("");clearTimeout(timer2);jQuery("#tr_loading").data("done")||jQuery("#tr_loading").data("attempt")>4?(jQuery("#progress_bar_all").progressbar("value",(a+1)/b.length*
|
20 |
-
100),jQuery("#tr_loading").data("attempt",0),translate_post(b[a]),typeof b[a+1]!=="undefined"&&!stop_translate_var&&(timer2=setTimeout(function(){dotimer(a+1)},5E3),jQuery("#tr_allmsg").text("Waiting 5 seconds..."))):(jQuery("#tr_loading").data("attempt",jQuery("#tr_loading").data("attempt")+1),timer2=setTimeout(function(){dotimer(a)},15E3),jQuery("#tr_allmsg").text("Translation incomplete - Waiting 15 seconds - attempt "+jQuery("#tr_loading").data("attempt")+"/5"))};timer2=setTimeout(function(){dotimer(0)},
|
21 |
-
0)}});jQuery("#transposh-translate").text("Stop translate");jQuery("#transposh-translate").unbind("click").click(stop_translate);return false};stop_translate=function(){clearTimeout(timer2);stop_translate_var=true;jQuery("#transposh-translate").text("Translate All Now");jQuery("#transposh-translate").unbind("click").click(do_translate_all);return false};jQuery("#transposh-translate").click(do_translate_all);jQuery(".warning-close").click(function(){jQuery(this).parent().hide();jQuery.post(ajaxurl,
|
22 |
-
{action:"tp_close_warning",id:jQuery(this).parent().attr("id")})})});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1,9 +1,9 @@
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
-
"Project-Id-Version:
|
4 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/transposh-translation-filter-for-wordpress\n"
|
5 |
"POT-Creation-Date: 2011-01-16 21:56:35+00:00\n"
|
6 |
-
"PO-Revision-Date:
|
7 |
"Last-Translator: Rene <info@wpwebshop.com>\n"
|
8 |
"Language-Team: German\n"
|
9 |
"MIME-Version: 1.0\n"
|
@@ -19,29 +19,29 @@ msgstr ""
|
|
19 |
"X-Poedit-SearchPath-0: .\n"
|
20 |
"X-Textdomain-Support: yes"
|
21 |
|
22 |
-
#: wp/transposh_db.php:
|
23 |
#@ transposh
|
24 |
msgid "Database stats"
|
25 |
msgstr "Datenbankstatistiken"
|
26 |
|
27 |
-
#: wp/transposh_db.php:
|
28 |
#, php-format
|
29 |
#@ transposh
|
30 |
msgid "Total of <strong style=\"color:red\">%s</strong> translated phrases."
|
31 |
msgstr "Total aus <strong style=\"color:red\">%s</strong> übersetzte Phrasen."
|
32 |
|
33 |
-
#: wp/transposh_db.php:
|
34 |
#, php-format
|
35 |
#@ transposh
|
36 |
msgid "<strong>%1s</strong> has <strong style=\"color:red\">%2s</strong> human translated phrases."
|
37 |
msgstr "<strong>%1s</strong> hat <strong style=\"color:red\">%2s</strong> geänderte Übersetzungen."
|
38 |
|
39 |
-
#: wp/transposh_db.php:
|
40 |
#@ transposh
|
41 |
msgid "Recent activity"
|
42 |
msgstr "Neueste Aktivität"
|
43 |
|
44 |
-
#: wp/transposh_db.php:
|
45 |
#, php-format
|
46 |
#@ transposh
|
47 |
msgid "On <strong>%1s</strong><br/>user <strong>%2s</strong> translated<br/>\"<strong>%3s</strong>\"<br/>to <strong style=\"color:red\">%4s</strong><br/>\"<strong>%5s</strong>\""
|
@@ -53,431 +53,353 @@ msgstr "Auf <strong>%1s</strong><br/>benutzer <strong>%2s</strong> übersetz
|
|
53 |
msgid "%s translated a phrase to %s with transposh:"
|
54 |
msgstr "%s hat eine Phrase mit transposh nach %s übersetzt:"
|
55 |
|
56 |
-
#: wp/
|
57 |
-
#: wp/
|
58 |
-
#: wp/
|
59 |
-
#: wp/transposh_postpublish.php:51
|
60 |
-
#: wp/transposh_widget.php:84
|
61 |
-
#: wp/transposh_widget.php:311
|
62 |
#@ transposh
|
63 |
#@ default
|
64 |
msgid "Transposh"
|
65 |
msgstr "Transposh"
|
66 |
|
67 |
-
#: wp/transposh_admin.php:
|
68 |
#@ transposh
|
69 |
msgid "Transposh makes your blog translatable"
|
70 |
msgstr "Transposh macht Ihren Blog übersetzbar"
|
71 |
|
72 |
-
#: wp/transposh_admin.php:
|
73 |
#@ transposh
|
74 |
msgid "Plugin homepage"
|
75 |
msgstr "Plugin Startseite"
|
76 |
|
77 |
-
#: wp/transposh_admin.php:
|
78 |
#@ transposh
|
79 |
msgid "Frequently asked questions"
|
80 |
msgstr "Häufig gestellte Fragen"
|
81 |
|
82 |
-
#: wp/transposh_admin.php:
|
83 |
-
#@ transposh
|
84 |
-
msgid "Transposh control center"
|
85 |
-
msgstr "Transposh Kontrollzentrum"
|
86 |
-
|
87 |
-
#: wp/transposh_admin.php:212
|
88 |
-
#@ transposh
|
89 |
-
msgid "About this plugin"
|
90 |
-
msgstr "Über dieses Plug-In"
|
91 |
-
|
92 |
-
#: wp/transposh_admin.php:213
|
93 |
#@ transposh
|
94 |
msgid "Plugin news"
|
95 |
msgstr "Plug-In News"
|
96 |
|
97 |
-
#: wp/transposh_admin.php:
|
98 |
#@ transposh
|
99 |
msgid "Plugin stats"
|
100 |
msgstr "Plug-In Stats"
|
101 |
|
102 |
-
#: wp/transposh_admin.php:
|
103 |
-
#@ transposh
|
104 |
-
msgid "Translate all"
|
105 |
-
msgstr "Alles übersetzen"
|
106 |
-
|
107 |
-
#: wp/transposh_admin.php:216
|
108 |
-
#@ transposh
|
109 |
-
msgid "Supported languages"
|
110 |
-
msgstr "Unterstützte Sprachen"
|
111 |
-
|
112 |
-
#: wp/transposh_admin.php:217
|
113 |
-
#@ transposh
|
114 |
-
msgid "Translation settings"
|
115 |
-
msgstr "Übersetzungseinstellungen"
|
116 |
-
|
117 |
-
#: wp/transposh_admin.php:218
|
118 |
-
#@ transposh
|
119 |
-
msgid "Automatic translation settings"
|
120 |
-
msgstr "Automatische Übersetzungseinstellungen"
|
121 |
-
|
122 |
-
#: wp/transposh_admin.php:221
|
123 |
-
#@ transposh
|
124 |
-
msgid "Generic settings"
|
125 |
-
msgstr "Allgemeine Einstellungen"
|
126 |
-
|
127 |
-
#: wp/transposh_admin.php:222
|
128 |
-
#@ transposh
|
129 |
-
msgid "Database maintenance"
|
130 |
-
msgstr "Datenbankwartung"
|
131 |
-
|
132 |
-
#: wp/transposh_admin.php:237
|
133 |
#@ transposh
|
134 |
-
msgid "Transposh community features"
|
135 |
-
msgstr "Transposh Gemeinschaftsfeatures"
|
136 |
-
|
137 |
-
#: wp/transposh_admin.php:273
|
138 |
-
#@ default
|
139 |
msgid "Save Changes"
|
140 |
msgstr "Änderungen speichern"
|
141 |
|
142 |
-
#: wp/transposh_admin.php:
|
143 |
#@ transposh
|
144 |
msgid "Problems?"
|
145 |
msgstr "Probleme?"
|
146 |
|
147 |
-
#: wp/transposh_admin.php:
|
148 |
-
#@ transposh
|
149 |
-
msgid "Plugin Homepage"
|
150 |
-
msgstr "Plug-In Startseite"
|
151 |
-
|
152 |
-
#: wp/transposh_admin.php:314
|
153 |
#@ transposh
|
154 |
msgid "Suggest a Feature"
|
155 |
msgstr "Feature vorschlagen"
|
156 |
|
157 |
-
#: wp/transposh_admin.php:
|
158 |
#@ transposh
|
159 |
msgid "Report a Bug"
|
160 |
msgstr "Bug berichten"
|
161 |
|
162 |
-
#: wp/transposh_admin.php:
|
163 |
#@ transposh
|
164 |
msgid "Translate by clicking the button below"
|
165 |
msgstr "Klicken Sie den nachstehenden Button um zu übersetzen"
|
166 |
|
167 |
-
#: wp/transposh_admin.php:
|
168 |
#@ transposh
|
169 |
msgid "Translate All Now"
|
170 |
msgstr "Alles jetzt übersetzen"
|
171 |
|
172 |
-
#: wp/transposh_admin.php:
|
173 |
#@ transposh
|
174 |
msgid "Default Language (drag another language here to make it default)"
|
175 |
msgstr "Standardsprache (ziehe eine andere Sprache um sie standard zu machen)"
|
176 |
|
177 |
-
#: wp/transposh_admin.php:
|
178 |
#@ transposh
|
179 |
msgid "Available Languages (Click to toggle language state - Drag to sort in the widget)"
|
180 |
msgstr "Verfügbare Sprachen (ein/ausschalten durch klicken - ziehen für Reihenfolge im Widget)"
|
181 |
|
182 |
-
#: wp/transposh_admin.php:
|
183 |
#@ transposh
|
184 |
msgid "Language supported by google translate"
|
185 |
msgstr "Sprache unterstützt durch Google Translate"
|
186 |
|
187 |
-
#: wp/transposh_admin.php:
|
188 |
#@ transposh
|
189 |
msgid "Language supported by bing translate"
|
190 |
msgstr "Sprache unterstützt durch Bing Translate"
|
191 |
|
192 |
-
#: wp/transposh_admin.php:
|
193 |
#@ transposh
|
194 |
msgid "Language supported by apertium translate"
|
195 |
msgstr "Sprache unterstützt durch Apertium Translate"
|
196 |
|
197 |
-
#: wp/transposh_admin.php:
|
198 |
#@ transposh
|
199 |
msgid "Language is written from right to left"
|
200 |
msgstr "Sprache wird von rechts nach links geschrieben"
|
201 |
|
202 |
-
#: wp/transposh_admin.php:
|
203 |
#@ transposh
|
204 |
msgid "Display options:"
|
205 |
msgstr "Wiedergabeoptionen:"
|
206 |
|
207 |
-
#: wp/transposh_admin.php:
|
208 |
#@ transposh
|
209 |
msgid "Toggle names of languages between English and Original"
|
210 |
msgstr "Namen der Sprachen zwischen Englisch und Original umschalten"
|
211 |
|
212 |
-
#: wp/transposh_admin.php:
|
213 |
#@ transposh
|
214 |
msgid "Make all languages active"
|
215 |
msgstr "Alle Sprachen aktivieren"
|
216 |
|
217 |
-
#: wp/transposh_admin.php:
|
218 |
#@ transposh
|
219 |
msgid "Sort by language name"
|
220 |
msgstr "Sortieren nach Sprache"
|
221 |
|
222 |
-
#: wp/transposh_admin.php:
|
223 |
#@ transposh
|
224 |
msgid "Sort by lSO code"
|
225 |
msgstr "Sortieren nach ISO-Kode"
|
226 |
|
227 |
-
#: wp/transposh_admin.php:
|
228 |
-
#@ transposh
|
229 |
-
msgid "Legend:"
|
230 |
-
msgstr "Legende:"
|
231 |
-
|
232 |
-
#: wp/transposh_admin.php:425
|
233 |
-
#@ transposh
|
234 |
-
msgid "Green - active"
|
235 |
-
msgstr "Grün - aktiv"
|
236 |
-
|
237 |
-
#: wp/transposh_admin.php:425
|
238 |
-
#@ transposh
|
239 |
-
msgid "Yellow - translateable (only translators will see this language)"
|
240 |
-
msgstr "Gelb - übersetzbar (nur Übersetzer sehen diese Sprache)"
|
241 |
-
|
242 |
-
#: wp/transposh_admin.php:425
|
243 |
-
#@ transposh
|
244 |
-
msgid "blank - inactive"
|
245 |
-
msgstr "Leer - nicht aktiv"
|
246 |
-
|
247 |
-
#: wp/transposh_admin.php:447
|
248 |
#@ transposh
|
249 |
msgid "Who can translate ?"
|
250 |
msgstr "Wer kann übersetzen?"
|
251 |
|
252 |
-
#: wp/transposh_admin.php:
|
253 |
#@ transposh
|
254 |
msgid "Anonymous"
|
255 |
msgstr "Anonym"
|
256 |
|
257 |
-
#: wp/transposh_admin.php:
|
258 |
#@ transposh
|
259 |
msgid "Enable default language translation"
|
260 |
msgstr "Standard Sprache Übersetzung aktivieren"
|
261 |
|
262 |
-
#: wp/transposh_admin.php:
|
263 |
#@ transposh
|
264 |
msgid "Allow translation of default language - useful for sites with more than one major language"
|
265 |
msgstr "Die standard Sprache übersetzen - nützlich für Blogs mit mehreren Hauptsprachen"
|
266 |
|
267 |
-
#: wp/transposh_admin.php:
|
268 |
#@ transposh
|
269 |
msgid "Enable search in translated languages"
|
270 |
msgstr "Suchen in übersetzten Sprachen aktivieren"
|
271 |
|
272 |
-
#: wp/transposh_admin.php:
|
273 |
#@ transposh
|
274 |
msgid "Enable url translation"
|
275 |
msgstr "URL-Übersetzung aktivieren"
|
276 |
|
277 |
-
#: wp/transposh_admin.php:
|
278 |
-
#: wp/transposh_admin.php:481
|
279 |
#@ transposh
|
280 |
msgid "experimental"
|
281 |
msgstr "experimental"
|
282 |
|
283 |
-
#: wp/transposh_admin.php:
|
284 |
#@ transposh
|
285 |
msgid "Allow translation of permalinks and urls"
|
286 |
msgstr "Übersetzung von Permalinks und URLs aktivieren"
|
287 |
|
288 |
-
#: wp/transposh_admin.php:
|
289 |
#@ transposh
|
290 |
msgid "Enable gettext integration"
|
291 |
msgstr "Gettext Integration aktivieren"
|
292 |
|
293 |
-
#: wp/transposh_admin.php:
|
294 |
#@ transposh
|
295 |
msgid "Enable integration of Transposh with existing gettext interface (.po/.mo files)"
|
296 |
msgstr "Integration von Transposh mit vorhandenen Gettext-Interface aktivieren (.po/.mo-Dateien)"
|
297 |
|
298 |
-
#: wp/transposh_admin.php:
|
299 |
#@ transposh
|
300 |
msgid "Enable automatic translation"
|
301 |
msgstr "Automatische Übersetzungen aktivieren"
|
302 |
|
303 |
-
#: wp/transposh_admin.php:
|
304 |
#@ transposh
|
305 |
msgid "Allow automatic translation of pages"
|
306 |
msgstr "Automatische Übersetzung von Webseiten zulassen"
|
307 |
|
308 |
-
#: wp/transposh_admin.php:
|
309 |
#@ transposh
|
310 |
msgid "Enable automatic translation after posting"
|
311 |
msgstr "Automatische Übersetzung nach beitragen aktivieren"
|
312 |
|
313 |
-
#: wp/transposh_admin.php:
|
314 |
#@ transposh
|
315 |
msgid "Do automatic translation immediately after a post has been published"
|
316 |
msgstr "Automatische Übersetzung gleich nach dem Veröffentlichen eines Berichts aktivieren"
|
317 |
|
318 |
-
#: wp/transposh_admin.php:
|
319 |
#@ transposh
|
320 |
msgid "Select preferred auto translation engine"
|
321 |
msgstr "Bevorzugte Übersetzungsmaschine selektieren"
|
322 |
|
323 |
-
#: wp/transposh_admin.php:
|
324 |
#@ transposh
|
325 |
msgid "Translation engine:"
|
326 |
msgstr "Übersetzungsmaschine"
|
327 |
|
328 |
-
#: wp/transposh_admin.php:
|
329 |
#@ transposh
|
330 |
msgid "Google"
|
331 |
msgstr "Google"
|
332 |
|
333 |
-
#: wp/transposh_admin.php:
|
334 |
#@ transposh
|
335 |
msgid "Bing"
|
336 |
msgstr "Bing"
|
337 |
|
338 |
-
#: wp/transposh_admin.php:
|
339 |
#@ transposh
|
340 |
msgid "Rewrite URLs"
|
341 |
msgstr "URLs neu schreiben"
|
342 |
|
343 |
-
#: wp/transposh_admin.php:
|
344 |
#@ transposh
|
345 |
msgid "Add scripts to footer"
|
346 |
msgstr "Skripts an der Fußzeile zufügen"
|
347 |
|
348 |
-
#: wp/transposh_admin.php:
|
349 |
#@ transposh
|
350 |
msgid "Auto detect language for users"
|
351 |
msgstr "Benutzersprache automatisch erkennen"
|
352 |
|
353 |
-
#: wp/transposh_admin.php:
|
354 |
#@ transposh
|
355 |
msgid "Delete all automated translations"
|
356 |
msgstr "Alle automatischen Übersetzungen löschen"
|
357 |
|
358 |
-
#: wp/transposh_admin.php:
|
359 |
#@ transposh
|
360 |
msgid "Delete automated translations older than 14 days"
|
361 |
msgstr "Automatische Übersetzungen älter als 14 Tage löschen"
|
362 |
|
363 |
-
#: wp/transposh_admin.php:
|
364 |
#@ transposh
|
365 |
msgid "Attempt to fix errors caused by previous versions - please backup first"
|
366 |
msgstr "Versuch Fehler verursacht von vorherigen Versionen zu reparieren - bitte zuerst sichern"
|
367 |
|
368 |
-
#: wp/transposh_admin.php:
|
369 |
-
#@ transposh
|
370 |
-
msgid "Backup service for human translation"
|
371 |
-
msgstr "Sicherungsdienst für menschliche Übersetzung"
|
372 |
-
|
373 |
-
#: wp/transposh_admin.php:615
|
374 |
#@ transposh
|
375 |
msgid "Enable daily backup"
|
376 |
msgstr "Tägliche Sicherung aktivieren"
|
377 |
|
378 |
-
#: wp/transposh_admin.php:
|
379 |
#@ transposh
|
380 |
msgid "Enable live backup"
|
381 |
msgstr "Live Sicherung aktivieren"
|
382 |
|
383 |
-
#: wp/transposh_admin.php:
|
384 |
#@ transposh
|
385 |
msgid "Disable backup (Can be run manually by clicking the button below)"
|
386 |
msgstr "Sicherung deaktivieren (kann man manuell machen durch klicken der unterstehenden Schaltfläche)"
|
387 |
|
388 |
-
#: wp/transposh_admin.php:
|
389 |
#@ transposh
|
390 |
msgid "Service Key:"
|
391 |
msgstr "Dienstschlüssel:"
|
392 |
|
393 |
-
#: wp/transposh_admin.php:
|
394 |
#@ transposh
|
395 |
msgid "How to restore?"
|
396 |
msgstr "Wie wiederherstellen?"
|
397 |
|
398 |
-
#: wp/transposh_admin.php:
|
399 |
#@ transposh
|
400 |
msgid "Do Backup Now"
|
401 |
msgstr "Jetzt sichern"
|
402 |
|
403 |
-
#: wp/transposh_widget.php:
|
404 |
#@ transposh
|
405 |
msgid "Transposh language selection widget"
|
406 |
msgstr "Transposh Spracheselektionswidget"
|
407 |
|
408 |
-
#: wp/transposh_widget.php:
|
409 |
#@ transposh
|
410 |
msgid "Set as default language"
|
411 |
msgstr "Als Standardsprache festlegen"
|
412 |
|
413 |
-
#: wp/transposh_widget.php:
|
414 |
#@ transposh
|
415 |
msgid "translation plugin for wordpress"
|
416 |
msgstr "Übersetzungs-Plug-In für WordPress"
|
417 |
|
418 |
-
#: wp/transposh_widget.php:
|
419 |
#@ transposh
|
420 |
msgid "wordpress translation plugin"
|
421 |
msgstr "WordPress Übersetzung Plug-In"
|
422 |
|
423 |
-
#: wp/transposh_widget.php:
|
424 |
#@ transposh
|
425 |
msgid "translate your blog to 60+ languages"
|
426 |
msgstr "Übersetzen Sie Ihren Blog nach 60+ Sprachen"
|
427 |
|
428 |
-
#: wp/transposh_widget.php:
|
429 |
#@ transposh
|
430 |
msgid "website crowdsourcing translation plugin"
|
431 |
msgstr "Website Crowdsourcing Übersetzungs-Plug-In"
|
432 |
|
433 |
-
#: wp/transposh_widget.php:
|
434 |
#@ transposh
|
435 |
msgid "google translate and bing translate plugin for wordpress"
|
436 |
msgstr "Google Translate und Bing Translate Plug-In für WordPress"
|
437 |
|
438 |
-
#: wp/transposh_widget.php:
|
439 |
#@ transposh
|
440 |
msgid "Style:"
|
441 |
msgstr "Still:"
|
442 |
|
443 |
-
#: wp/transposh_admin.php:
|
444 |
#@ transposh
|
445 |
msgid "Show progress bar when a client triggers automatic translation"
|
446 |
msgstr "Statusanzeige zeigen wenn Benutzer automatische Übersetzung aktiviert"
|
447 |
|
448 |
-
#: wp/transposh_admin.php:
|
449 |
#@ transposh
|
450 |
msgid "Show progress bar"
|
451 |
msgstr "Statusanzeige zeigen"
|
452 |
|
453 |
-
#: wp/transposh_admin.php:
|
454 |
#@ transposh
|
455 |
msgid "Widget will allow setting this language as user default"
|
456 |
msgstr "Widget erlaubt Einstellung dieser Sprache als standard"
|
457 |
|
458 |
-
#: wp/transposh_admin.php:
|
459 |
#@ transposh
|
460 |
msgid "Allow user to set current language as default"
|
461 |
msgstr "Benutzer erlauben aktuelle Sprache als standard festzulegen"
|
462 |
|
463 |
-
#: wp/transposh_admin.php:
|
464 |
#@ transposh
|
465 |
msgid "Transposh logo will not appear on widget"
|
466 |
msgstr "Transposh-Logo erscheint nicht im Widget"
|
467 |
|
468 |
-
#: wp/transposh_admin.php:
|
469 |
#@ transposh
|
470 |
msgid "Remove transposh logo (see <a href=\"http://transposh.org/logoterms\">terms</a>)"
|
471 |
msgstr "Transposh-Logo entfernen (siehe <a href=\"http://transposh.org/logoterms\">Bedingungen</a>)"
|
472 |
|
473 |
-
#: wp/transposh_admin.php:
|
474 |
-
#: wp/transposh_admin.php:563
|
475 |
#@ transposh
|
476 |
msgid "Edit interface (and progress bar) theme:"
|
477 |
msgstr "Thema der Schnittstelle (und Statusanzeige) bearbeiten:"
|
478 |
|
479 |
-
#: transposh.php:
|
|
|
480 |
#@ default
|
|
|
481 |
msgid "Settings"
|
482 |
msgstr "Einstellungen"
|
483 |
|
@@ -519,176 +441,498 @@ msgstr ""
|
|
519 |
msgid "Select language"
|
520 |
msgstr ""
|
521 |
|
522 |
-
#: wp/transposh_admin.php:
|
523 |
-
#@ transposh
|
524 |
-
msgid "Frontend settings"
|
525 |
-
msgstr ""
|
526 |
-
|
527 |
-
#: wp/transposh_admin.php:248
|
528 |
#, php-format
|
529 |
#@ transposh
|
530 |
msgid "Your current PHP memory limit of %s is quite low, if you experience blank pages please consider increasing it."
|
531 |
msgstr ""
|
532 |
|
533 |
-
#: wp/transposh_admin.php:
|
534 |
-
#: wp/transposh_admin.php:
|
535 |
#@ transposh
|
536 |
msgid "Check Transposh FAQs"
|
537 |
msgstr ""
|
538 |
|
539 |
-
#: wp/transposh_admin.php:
|
540 |
#@ transposh
|
541 |
msgid "We were not able to find a supported in-memory caching engine, installing one can improve performance."
|
542 |
msgstr ""
|
543 |
|
544 |
-
#: wp/transposh_admin.php:
|
545 |
#@ transposh
|
546 |
msgid "Allow search of translated languages (and the original language)"
|
547 |
msgstr ""
|
548 |
|
549 |
-
#: wp/transposh_admin.php:
|
550 |
#@ transposh
|
551 |
msgid "Enable override for default locale"
|
552 |
msgstr ""
|
553 |
|
554 |
-
#: wp/transposh_admin.php:
|
555 |
#@ transposh
|
556 |
msgid "Enable overriding the default locale that is set in WP_LANG on default languages pages (such as untranslated pages and admin pages)"
|
557 |
msgstr ""
|
558 |
|
559 |
-
#: wp/transposh_admin.php:
|
560 |
#@ transposh
|
561 |
msgid "MSN API key"
|
562 |
msgstr ""
|
563 |
|
564 |
-
#: wp/transposh_admin.php:
|
565 |
-
#: wp/transposh_admin.php:
|
566 |
-
#: wp/transposh_admin.php:540
|
567 |
#@ transposh
|
568 |
msgid "API Key"
|
569 |
msgstr ""
|
570 |
|
571 |
-
#: wp/transposh_admin.php:
|
572 |
#@ transposh
|
573 |
msgid "Google API key"
|
574 |
msgstr ""
|
575 |
|
576 |
-
#: wp/transposh_admin.php:
|
577 |
#@ transposh
|
578 |
msgid "Rewrite URLs to be search engine friendly, e.g. (http://transposh.org/<strong>en</strong>). Requires that permalinks will be enabled."
|
579 |
msgstr ""
|
580 |
|
581 |
-
#: wp/transposh_admin.php:
|
582 |
#@ transposh
|
583 |
msgid "Push transposh scripts to footer of page instead of header, makes pages load faster. Requires that your theme should have proper footer support."
|
584 |
msgstr ""
|
585 |
|
586 |
-
#: wp/transposh_admin.php:
|
587 |
#@ transposh
|
588 |
msgid "This enables auto detection of language used by the user as defined in the ACCEPT_LANGUAGES they send. This will redirect the first page accessed in the session to the same page with the detected language."
|
589 |
msgstr ""
|
590 |
|
591 |
-
#: wp/transposh_admin.php:
|
592 |
#@ transposh
|
593 |
msgid "Allow collecting usage statistics"
|
594 |
msgstr ""
|
595 |
|
596 |
-
#: wp/transposh_postpublish.php:
|
597 |
#@ transposh
|
598 |
msgid "Set post language"
|
599 |
msgstr ""
|
600 |
|
601 |
-
#: wp/transposh_postpublish.php:
|
602 |
-
#@ transposh
|
603 |
-
msgid "Set page language"
|
604 |
-
msgstr ""
|
605 |
-
|
606 |
-
#: wp/transposh_postpublish.php:198
|
607 |
#@ default
|
608 |
msgid "Default"
|
609 |
msgstr ""
|
610 |
|
611 |
-
#: wp/transposh_widget.php:
|
612 |
#@ transposh
|
613 |
msgid "Title:"
|
614 |
msgstr ""
|
615 |
|
616 |
-
#: wp/transposh_widget.php:
|
617 |
#@ transposh
|
618 |
msgid "Transposh subwidget was not loaded correctly"
|
619 |
msgstr ""
|
620 |
|
621 |
#. TRANSLATORS: no need to translate this string
|
622 |
-
#: wp/transposh_widget.php:
|
623 |
#@ transposh
|
624 |
msgid "title"
|
625 |
msgstr ""
|
626 |
|
627 |
-
#: wp/transposh_admin.php:
|
628 |
#@ transposh
|
629 |
msgid "Language"
|
630 |
msgstr ""
|
631 |
|
632 |
-
#: wp/transposh_admin.php:
|
633 |
#@ transposh
|
634 |
msgid "This option enables collection of statistics by transposh that will be used to improve the product."
|
635 |
msgstr ""
|
636 |
|
637 |
#. TRANSLATORS: this will be the default widget title
|
638 |
-
#: wp/transposh_widget.php:
|
639 |
#@ transposh
|
640 |
msgid "Translation"
|
641 |
msgstr ""
|
642 |
|
643 |
-
#: wp/transposh_admin.php:
|
644 |
-
#@ transposh
|
645 |
-
msgid "Professional translation settings"
|
646 |
-
msgstr ""
|
647 |
-
|
648 |
-
#: wp/transposh_admin.php:413
|
649 |
#@ transposh
|
650 |
msgid "Language supported by one hour translation"
|
651 |
msgstr ""
|
652 |
|
653 |
-
#: wp/transposh_admin.php:
|
654 |
#@ transposh
|
655 |
msgid "<a href=\"http://transposh.org/redir/oht\">One Hour Translation</a>, is the largest professional translation service online, with thousands of business customers, including 57% of the Fortune 500 companies, and over 15000 translators worldwide."
|
656 |
msgstr "<a href=\"http://transposh.org/redir/oht\">One Hour Translation</a> ist mit Tausenden von Geschäftskunden darunter 57 % von Amerikas 500 größten Unternehmen der größte professionelle Online-Übersetzungsdienstleister und hat mehr als 15.000 Übersetzer weltweit."
|
657 |
|
658 |
-
#: wp/transposh_admin.php:
|
659 |
#@ transposh
|
660 |
msgid "One Hour Translation provides high-quality, fast professional translation to/from any language, and has specific domain expertise in SW localization, technical, business, and legal translations."
|
661 |
msgstr "One Hour Translation bietet qualitativ hochwertige, schnelle, professionelle Übersetzungen in/aus allen Sprachen und verfügt über spezifische Branchenkenntnisse bei der SW-Lokalisierung sowie bei technischen, geschäftlichen und juristischen Übersetzungen."
|
662 |
|
663 |
-
#: wp/transposh_admin.php:
|
664 |
#@ transposh
|
665 |
msgid "One Hour Translation account ID"
|
666 |
msgstr ""
|
667 |
|
668 |
-
#: wp/transposh_admin.php:
|
|
|
669 |
#@ transposh
|
670 |
msgid "Account ID"
|
671 |
msgstr ""
|
672 |
|
673 |
-
#: wp/transposh_admin.php:
|
674 |
#@ transposh
|
675 |
msgid "One Hour Translation secret key"
|
676 |
msgstr ""
|
677 |
|
678 |
-
#: wp/transposh_admin.php:
|
679 |
#, php-format
|
680 |
#@ transposh
|
681 |
-
msgid "%d
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
682 |
msgstr ""
|
683 |
|
684 |
-
#: wp/transposh_admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
685 |
#, php-format
|
686 |
#@ transposh
|
687 |
-
msgid "%d
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
688 |
msgstr ""
|
689 |
|
690 |
#: wp/transposh_admin.php:636
|
691 |
#@ transposh
|
692 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
693 |
msgstr ""
|
694 |
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
+
"Project-Id-Version: Transposh Translation Filter v%VERSION%\n"
|
4 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/transposh-translation-filter-for-wordpress\n"
|
5 |
"POT-Creation-Date: 2011-01-16 21:56:35+00:00\n"
|
6 |
+
"PO-Revision-Date: 2012-12-12 19:50:45+0000\n"
|
7 |
"Last-Translator: Rene <info@wpwebshop.com>\n"
|
8 |
"Language-Team: German\n"
|
9 |
"MIME-Version: 1.0\n"
|
19 |
"X-Poedit-SearchPath-0: .\n"
|
20 |
"X-Textdomain-Support: yes"
|
21 |
|
22 |
+
#: wp/transposh_db.php:684
|
23 |
#@ transposh
|
24 |
msgid "Database stats"
|
25 |
msgstr "Datenbankstatistiken"
|
26 |
|
27 |
+
#: wp/transposh_db.php:689
|
28 |
#, php-format
|
29 |
#@ transposh
|
30 |
msgid "Total of <strong style=\"color:red\">%s</strong> translated phrases."
|
31 |
msgstr "Total aus <strong style=\"color:red\">%s</strong> übersetzte Phrasen."
|
32 |
|
33 |
+
#: wp/transposh_db.php:696
|
34 |
#, php-format
|
35 |
#@ transposh
|
36 |
msgid "<strong>%1s</strong> has <strong style=\"color:red\">%2s</strong> human translated phrases."
|
37 |
msgstr "<strong>%1s</strong> hat <strong style=\"color:red\">%2s</strong> geänderte Übersetzungen."
|
38 |
|
39 |
+
#: wp/transposh_db.php:699
|
40 |
#@ transposh
|
41 |
msgid "Recent activity"
|
42 |
msgstr "Neueste Aktivität"
|
43 |
|
44 |
+
#: wp/transposh_db.php:704
|
45 |
#, php-format
|
46 |
#@ transposh
|
47 |
msgid "On <strong>%1s</strong><br/>user <strong>%2s</strong> translated<br/>\"<strong>%3s</strong>\"<br/>to <strong style=\"color:red\">%4s</strong><br/>\"<strong>%5s</strong>\""
|
53 |
msgid "%s translated a phrase to %s with transposh:"
|
54 |
msgstr "%s hat eine Phrase mit transposh nach %s übersetzt:"
|
55 |
|
56 |
+
#: wp/transposh_postpublish.php:55
|
57 |
+
#: wp/transposh_widget.php:86
|
58 |
+
#: wp/transposh_widget.php:315
|
|
|
|
|
|
|
59 |
#@ transposh
|
60 |
#@ default
|
61 |
msgid "Transposh"
|
62 |
msgstr "Transposh"
|
63 |
|
64 |
+
#: wp/transposh_admin.php:185
|
65 |
#@ transposh
|
66 |
msgid "Transposh makes your blog translatable"
|
67 |
msgstr "Transposh macht Ihren Blog übersetzbar"
|
68 |
|
69 |
+
#: wp/transposh_admin.php:187
|
70 |
#@ transposh
|
71 |
msgid "Plugin homepage"
|
72 |
msgstr "Plugin Startseite"
|
73 |
|
74 |
+
#: wp/transposh_admin.php:188
|
75 |
#@ transposh
|
76 |
msgid "Frequently asked questions"
|
77 |
msgstr "Häufig gestellte Fragen"
|
78 |
|
79 |
+
#: wp/transposh_admin.php:283
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
#@ transposh
|
81 |
msgid "Plugin news"
|
82 |
msgstr "Plug-In News"
|
83 |
|
84 |
+
#: wp/transposh_admin.php:284
|
85 |
#@ transposh
|
86 |
msgid "Plugin stats"
|
87 |
msgstr "Plug-In Stats"
|
88 |
|
89 |
+
#: wp/transposh_admin.php:316
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
90 |
#@ transposh
|
|
|
|
|
|
|
|
|
|
|
91 |
msgid "Save Changes"
|
92 |
msgstr "Änderungen speichern"
|
93 |
|
94 |
+
#: wp/transposh_admin.php:653
|
95 |
#@ transposh
|
96 |
msgid "Problems?"
|
97 |
msgstr "Probleme?"
|
98 |
|
99 |
+
#: wp/transposh_admin.php:616
|
|
|
|
|
|
|
|
|
|
|
100 |
#@ transposh
|
101 |
msgid "Suggest a Feature"
|
102 |
msgstr "Feature vorschlagen"
|
103 |
|
104 |
+
#: wp/transposh_admin.php:617
|
105 |
#@ transposh
|
106 |
msgid "Report a Bug"
|
107 |
msgstr "Bug berichten"
|
108 |
|
109 |
+
#: wp/transposh_admin.php:559
|
110 |
#@ transposh
|
111 |
msgid "Translate by clicking the button below"
|
112 |
msgstr "Klicken Sie den nachstehenden Button um zu übersetzen"
|
113 |
|
114 |
+
#: wp/transposh_admin.php:561
|
115 |
#@ transposh
|
116 |
msgid "Translate All Now"
|
117 |
msgstr "Alles jetzt übersetzen"
|
118 |
|
119 |
+
#: wp/transposh_admin.php:364
|
120 |
#@ transposh
|
121 |
msgid "Default Language (drag another language here to make it default)"
|
122 |
msgstr "Standardsprache (ziehe eine andere Sprache um sie standard zu machen)"
|
123 |
|
124 |
+
#: wp/transposh_admin.php:372
|
125 |
#@ transposh
|
126 |
msgid "Available Languages (Click to toggle language state - Drag to sort in the widget)"
|
127 |
msgstr "Verfügbare Sprachen (ein/ausschalten durch klicken - ziehen für Reihenfolge im Widget)"
|
128 |
|
129 |
+
#: wp/transposh_admin.php:384
|
130 |
#@ transposh
|
131 |
msgid "Language supported by google translate"
|
132 |
msgstr "Sprache unterstützt durch Google Translate"
|
133 |
|
134 |
+
#: wp/transposh_admin.php:386
|
135 |
#@ transposh
|
136 |
msgid "Language supported by bing translate"
|
137 |
msgstr "Sprache unterstützt durch Bing Translate"
|
138 |
|
139 |
+
#: wp/transposh_admin.php:388
|
140 |
#@ transposh
|
141 |
msgid "Language supported by apertium translate"
|
142 |
msgstr "Sprache unterstützt durch Apertium Translate"
|
143 |
|
144 |
+
#: wp/transposh_admin.php:392
|
145 |
#@ transposh
|
146 |
msgid "Language is written from right to left"
|
147 |
msgstr "Sprache wird von rechts nach links geschrieben"
|
148 |
|
149 |
+
#: wp/transposh_admin.php:397
|
150 |
#@ transposh
|
151 |
msgid "Display options:"
|
152 |
msgstr "Wiedergabeoptionen:"
|
153 |
|
154 |
+
#: wp/transposh_admin.php:398
|
155 |
#@ transposh
|
156 |
msgid "Toggle names of languages between English and Original"
|
157 |
msgstr "Namen der Sprachen zwischen Englisch und Original umschalten"
|
158 |
|
159 |
+
#: wp/transposh_admin.php:399
|
160 |
#@ transposh
|
161 |
msgid "Make all languages active"
|
162 |
msgstr "Alle Sprachen aktivieren"
|
163 |
|
164 |
+
#: wp/transposh_admin.php:400
|
165 |
#@ transposh
|
166 |
msgid "Sort by language name"
|
167 |
msgstr "Sortieren nach Sprache"
|
168 |
|
169 |
+
#: wp/transposh_admin.php:401
|
170 |
#@ transposh
|
171 |
msgid "Sort by lSO code"
|
172 |
msgstr "Sortieren nach ISO-Kode"
|
173 |
|
174 |
+
#: wp/transposh_admin.php:412
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
175 |
#@ transposh
|
176 |
msgid "Who can translate ?"
|
177 |
msgstr "Wer kann übersetzen?"
|
178 |
|
179 |
+
#: wp/transposh_admin.php:419
|
180 |
#@ transposh
|
181 |
msgid "Anonymous"
|
182 |
msgstr "Anonym"
|
183 |
|
184 |
+
#: wp/transposh_admin.php:421
|
185 |
#@ transposh
|
186 |
msgid "Enable default language translation"
|
187 |
msgstr "Standard Sprache Übersetzung aktivieren"
|
188 |
|
189 |
+
#: wp/transposh_admin.php:422
|
190 |
#@ transposh
|
191 |
msgid "Allow translation of default language - useful for sites with more than one major language"
|
192 |
msgstr "Die standard Sprache übersetzen - nützlich für Blogs mit mehreren Hauptsprachen"
|
193 |
|
194 |
+
#: wp/transposh_admin.php:423
|
195 |
#@ transposh
|
196 |
msgid "Enable search in translated languages"
|
197 |
msgstr "Suchen in übersetzten Sprachen aktivieren"
|
198 |
|
199 |
+
#: wp/transposh_admin.php:518
|
200 |
#@ transposh
|
201 |
msgid "Enable url translation"
|
202 |
msgstr "URL-Übersetzung aktivieren"
|
203 |
|
204 |
+
#: wp/transposh_admin.php:518
|
|
|
205 |
#@ transposh
|
206 |
msgid "experimental"
|
207 |
msgstr "experimental"
|
208 |
|
209 |
+
#: wp/transposh_admin.php:518
|
210 |
#@ transposh
|
211 |
msgid "Allow translation of permalinks and urls"
|
212 |
msgstr "Übersetzung von Permalinks und URLs aktivieren"
|
213 |
|
214 |
+
#: wp/transposh_admin.php:425
|
215 |
#@ transposh
|
216 |
msgid "Enable gettext integration"
|
217 |
msgstr "Gettext Integration aktivieren"
|
218 |
|
219 |
+
#: wp/transposh_admin.php:426
|
220 |
#@ transposh
|
221 |
msgid "Enable integration of Transposh with existing gettext interface (.po/.mo files)"
|
222 |
msgstr "Integration von Transposh mit vorhandenen Gettext-Interface aktivieren (.po/.mo-Dateien)"
|
223 |
|
224 |
+
#: wp/transposh_admin.php:460
|
225 |
#@ transposh
|
226 |
msgid "Enable automatic translation"
|
227 |
msgstr "Automatische Übersetzungen aktivieren"
|
228 |
|
229 |
+
#: wp/transposh_admin.php:461
|
230 |
#@ transposh
|
231 |
msgid "Allow automatic translation of pages"
|
232 |
msgstr "Automatische Übersetzung von Webseiten zulassen"
|
233 |
|
234 |
+
#: wp/transposh_admin.php:462
|
235 |
#@ transposh
|
236 |
msgid "Enable automatic translation after posting"
|
237 |
msgstr "Automatische Übersetzung nach beitragen aktivieren"
|
238 |
|
239 |
+
#: wp/transposh_admin.php:463
|
240 |
#@ transposh
|
241 |
msgid "Do automatic translation immediately after a post has been published"
|
242 |
msgstr "Automatische Übersetzung gleich nach dem Veröffentlichen eines Berichts aktivieren"
|
243 |
|
244 |
+
#: wp/transposh_admin.php:470
|
245 |
#@ transposh
|
246 |
msgid "Select preferred auto translation engine"
|
247 |
msgstr "Bevorzugte Übersetzungsmaschine selektieren"
|
248 |
|
249 |
+
#: wp/transposh_admin.php:471
|
250 |
#@ transposh
|
251 |
msgid "Translation engine:"
|
252 |
msgstr "Übersetzungsmaschine"
|
253 |
|
254 |
+
#: wp/transposh_admin.php:472
|
255 |
#@ transposh
|
256 |
msgid "Google"
|
257 |
msgstr "Google"
|
258 |
|
259 |
+
#: wp/transposh_admin.php:473
|
260 |
#@ transposh
|
261 |
msgid "Bing"
|
262 |
msgstr "Bing"
|
263 |
|
264 |
+
#: wp/transposh_admin.php:433
|
265 |
#@ transposh
|
266 |
msgid "Rewrite URLs"
|
267 |
msgstr "URLs neu schreiben"
|
268 |
|
269 |
+
#: wp/transposh_admin.php:437
|
270 |
#@ transposh
|
271 |
msgid "Add scripts to footer"
|
272 |
msgstr "Skripts an der Fußzeile zufügen"
|
273 |
|
274 |
+
#: wp/transposh_admin.php:440
|
275 |
#@ transposh
|
276 |
msgid "Auto detect language for users"
|
277 |
msgstr "Benutzersprache automatisch erkennen"
|
278 |
|
279 |
+
#: wp/transposh_admin.php:554
|
280 |
#@ transposh
|
281 |
msgid "Delete all automated translations"
|
282 |
msgstr "Alle automatischen Übersetzungen löschen"
|
283 |
|
284 |
+
#: wp/transposh_admin.php:555
|
285 |
#@ transposh
|
286 |
msgid "Delete automated translations older than 14 days"
|
287 |
msgstr "Automatische Übersetzungen älter als 14 Tage löschen"
|
288 |
|
289 |
+
#: wp/transposh_admin.php:556
|
290 |
#@ transposh
|
291 |
msgid "Attempt to fix errors caused by previous versions - please backup first"
|
292 |
msgstr "Versuch Fehler verursacht von vorherigen Versionen zu reparieren - bitte zuerst sichern"
|
293 |
|
294 |
+
#: wp/transposh_admin.php:451
|
|
|
|
|
|
|
|
|
|
|
295 |
#@ transposh
|
296 |
msgid "Enable daily backup"
|
297 |
msgstr "Tägliche Sicherung aktivieren"
|
298 |
|
299 |
+
#: wp/transposh_admin.php:452
|
300 |
#@ transposh
|
301 |
msgid "Enable live backup"
|
302 |
msgstr "Live Sicherung aktivieren"
|
303 |
|
304 |
+
#: wp/transposh_admin.php:453
|
305 |
#@ transposh
|
306 |
msgid "Disable backup (Can be run manually by clicking the button below)"
|
307 |
msgstr "Sicherung deaktivieren (kann man manuell machen durch klicken der unterstehenden Schaltfläche)"
|
308 |
|
309 |
+
#: wp/transposh_admin.php:454
|
310 |
#@ transposh
|
311 |
msgid "Service Key:"
|
312 |
msgstr "Dienstschlüssel:"
|
313 |
|
314 |
+
#: wp/transposh_admin.php:454
|
315 |
#@ transposh
|
316 |
msgid "How to restore?"
|
317 |
msgstr "Wie wiederherstellen?"
|
318 |
|
319 |
+
#: wp/transposh_admin.php:548
|
320 |
#@ transposh
|
321 |
msgid "Do Backup Now"
|
322 |
msgstr "Jetzt sichern"
|
323 |
|
324 |
+
#: wp/transposh_widget.php:84
|
325 |
#@ transposh
|
326 |
msgid "Transposh language selection widget"
|
327 |
msgstr "Transposh Spracheselektionswidget"
|
328 |
|
329 |
+
#: wp/transposh_widget.php:288
|
330 |
#@ transposh
|
331 |
msgid "Set as default language"
|
332 |
msgstr "Als Standardsprache festlegen"
|
333 |
|
334 |
+
#: wp/transposh_widget.php:318
|
335 |
#@ transposh
|
336 |
msgid "translation plugin for wordpress"
|
337 |
msgstr "Übersetzungs-Plug-In für WordPress"
|
338 |
|
339 |
+
#: wp/transposh_widget.php:321
|
340 |
#@ transposh
|
341 |
msgid "wordpress translation plugin"
|
342 |
msgstr "WordPress Übersetzung Plug-In"
|
343 |
|
344 |
+
#: wp/transposh_widget.php:324
|
345 |
#@ transposh
|
346 |
msgid "translate your blog to 60+ languages"
|
347 |
msgstr "Übersetzen Sie Ihren Blog nach 60+ Sprachen"
|
348 |
|
349 |
+
#: wp/transposh_widget.php:327
|
350 |
#@ transposh
|
351 |
msgid "website crowdsourcing translation plugin"
|
352 |
msgstr "Website Crowdsourcing Übersetzungs-Plug-In"
|
353 |
|
354 |
+
#: wp/transposh_widget.php:330
|
355 |
#@ transposh
|
356 |
msgid "google translate and bing translate plugin for wordpress"
|
357 |
msgstr "Google Translate und Bing Translate Plug-In für WordPress"
|
358 |
|
359 |
+
#: wp/transposh_widget.php:129
|
360 |
#@ transposh
|
361 |
msgid "Style:"
|
362 |
msgstr "Still:"
|
363 |
|
364 |
+
#: wp/transposh_admin.php:506
|
365 |
#@ transposh
|
366 |
msgid "Show progress bar when a client triggers automatic translation"
|
367 |
msgstr "Statusanzeige zeigen wenn Benutzer automatische Übersetzung aktiviert"
|
368 |
|
369 |
+
#: wp/transposh_admin.php:505
|
370 |
#@ transposh
|
371 |
msgid "Show progress bar"
|
372 |
msgstr "Statusanzeige zeigen"
|
373 |
|
374 |
+
#: wp/transposh_admin.php:509
|
375 |
#@ transposh
|
376 |
msgid "Widget will allow setting this language as user default"
|
377 |
msgstr "Widget erlaubt Einstellung dieser Sprache als standard"
|
378 |
|
379 |
+
#: wp/transposh_admin.php:508
|
380 |
#@ transposh
|
381 |
msgid "Allow user to set current language as default"
|
382 |
msgstr "Benutzer erlauben aktuelle Sprache als standard festzulegen"
|
383 |
|
384 |
+
#: wp/transposh_admin.php:512
|
385 |
#@ transposh
|
386 |
msgid "Transposh logo will not appear on widget"
|
387 |
msgstr "Transposh-Logo erscheint nicht im Widget"
|
388 |
|
389 |
+
#: wp/transposh_admin.php:511
|
390 |
#@ transposh
|
391 |
msgid "Remove transposh logo (see <a href=\"http://transposh.org/logoterms\">terms</a>)"
|
392 |
msgstr "Transposh-Logo entfernen (siehe <a href=\"http://transposh.org/logoterms\">Bedingungen</a>)"
|
393 |
|
394 |
+
#: wp/transposh_admin.php:514
|
|
|
395 |
#@ transposh
|
396 |
msgid "Edit interface (and progress bar) theme:"
|
397 |
msgstr "Thema der Schnittstelle (und Statusanzeige) bearbeiten:"
|
398 |
|
399 |
+
#: transposh.php:921
|
400 |
+
#: wp/transposh_admin.php:59
|
401 |
#@ default
|
402 |
+
#@ transposh
|
403 |
msgid "Settings"
|
404 |
msgstr "Einstellungen"
|
405 |
|
441 |
msgid "Select language"
|
442 |
msgstr ""
|
443 |
|
444 |
+
#: wp/transposh_admin.php:734
|
|
|
|
|
|
|
|
|
|
|
445 |
#, php-format
|
446 |
#@ transposh
|
447 |
msgid "Your current PHP memory limit of %s is quite low, if you experience blank pages please consider increasing it."
|
448 |
msgstr ""
|
449 |
|
450 |
+
#: wp/transposh_admin.php:734
|
451 |
+
#: wp/transposh_admin.php:738
|
452 |
#@ transposh
|
453 |
msgid "Check Transposh FAQs"
|
454 |
msgstr ""
|
455 |
|
456 |
+
#: wp/transposh_admin.php:738
|
457 |
#@ transposh
|
458 |
msgid "We were not able to find a supported in-memory caching engine, installing one can improve performance."
|
459 |
msgstr ""
|
460 |
|
461 |
+
#: wp/transposh_admin.php:424
|
462 |
#@ transposh
|
463 |
msgid "Allow search of translated languages (and the original language)"
|
464 |
msgstr ""
|
465 |
|
466 |
+
#: wp/transposh_admin.php:428
|
467 |
#@ transposh
|
468 |
msgid "Enable override for default locale"
|
469 |
msgstr ""
|
470 |
|
471 |
+
#: wp/transposh_admin.php:429
|
472 |
#@ transposh
|
473 |
msgid "Enable overriding the default locale that is set in WP_LANG on default languages pages (such as untranslated pages and admin pages)"
|
474 |
msgstr ""
|
475 |
|
476 |
+
#: wp/transposh_admin.php:465
|
477 |
#@ transposh
|
478 |
msgid "MSN API key"
|
479 |
msgstr ""
|
480 |
|
481 |
+
#: wp/transposh_admin.php:466
|
482 |
+
#: wp/transposh_admin.php:469
|
|
|
483 |
#@ transposh
|
484 |
msgid "API Key"
|
485 |
msgstr ""
|
486 |
|
487 |
+
#: wp/transposh_admin.php:468
|
488 |
#@ transposh
|
489 |
msgid "Google API key"
|
490 |
msgstr ""
|
491 |
|
492 |
+
#: wp/transposh_admin.php:436
|
493 |
#@ transposh
|
494 |
msgid "Rewrite URLs to be search engine friendly, e.g. (http://transposh.org/<strong>en</strong>). Requires that permalinks will be enabled."
|
495 |
msgstr ""
|
496 |
|
497 |
+
#: wp/transposh_admin.php:439
|
498 |
#@ transposh
|
499 |
msgid "Push transposh scripts to footer of page instead of header, makes pages load faster. Requires that your theme should have proper footer support."
|
500 |
msgstr ""
|
501 |
|
502 |
+
#: wp/transposh_admin.php:442
|
503 |
#@ transposh
|
504 |
msgid "This enables auto detection of language used by the user as defined in the ACCEPT_LANGUAGES they send. This will redirect the first page accessed in the session to the same page with the detected language."
|
505 |
msgstr ""
|
506 |
|
507 |
+
#: wp/transposh_admin.php:443
|
508 |
#@ transposh
|
509 |
msgid "Allow collecting usage statistics"
|
510 |
msgstr ""
|
511 |
|
512 |
+
#: wp/transposh_postpublish.php:57
|
513 |
#@ transposh
|
514 |
msgid "Set post language"
|
515 |
msgstr ""
|
516 |
|
517 |
+
#: wp/transposh_postpublish.php:203
|
|
|
|
|
|
|
|
|
|
|
518 |
#@ default
|
519 |
msgid "Default"
|
520 |
msgstr ""
|
521 |
|
522 |
+
#: wp/transposh_widget.php:124
|
523 |
#@ transposh
|
524 |
msgid "Title:"
|
525 |
msgstr ""
|
526 |
|
527 |
+
#: wp/transposh_widget.php:256
|
528 |
#@ transposh
|
529 |
msgid "Transposh subwidget was not loaded correctly"
|
530 |
msgstr ""
|
531 |
|
532 |
#. TRANSLATORS: no need to translate this string
|
533 |
+
#: wp/transposh_widget.php:273
|
534 |
#@ transposh
|
535 |
msgid "title"
|
536 |
msgstr ""
|
537 |
|
538 |
+
#: wp/transposh_admin.php:760
|
539 |
#@ transposh
|
540 |
msgid "Language"
|
541 |
msgstr ""
|
542 |
|
543 |
+
#: wp/transposh_admin.php:444
|
544 |
#@ transposh
|
545 |
msgid "This option enables collection of statistics by transposh that will be used to improve the product."
|
546 |
msgstr ""
|
547 |
|
548 |
#. TRANSLATORS: this will be the default widget title
|
549 |
+
#: wp/transposh_widget.php:119
|
550 |
#@ transposh
|
551 |
msgid "Translation"
|
552 |
msgstr ""
|
553 |
|
554 |
+
#: wp/transposh_admin.php:390
|
|
|
|
|
|
|
|
|
|
|
555 |
#@ transposh
|
556 |
msgid "Language supported by one hour translation"
|
557 |
msgstr ""
|
558 |
|
559 |
+
#: wp/transposh_admin.php:477
|
560 |
#@ transposh
|
561 |
msgid "<a href=\"http://transposh.org/redir/oht\">One Hour Translation</a>, is the largest professional translation service online, with thousands of business customers, including 57% of the Fortune 500 companies, and over 15000 translators worldwide."
|
562 |
msgstr "<a href=\"http://transposh.org/redir/oht\">One Hour Translation</a> ist mit Tausenden von Geschäftskunden darunter 57 % von Amerikas 500 größten Unternehmen der größte professionelle Online-Übersetzungsdienstleister und hat mehr als 15.000 Übersetzer weltweit."
|
563 |
|
564 |
+
#: wp/transposh_admin.php:479
|
565 |
#@ transposh
|
566 |
msgid "One Hour Translation provides high-quality, fast professional translation to/from any language, and has specific domain expertise in SW localization, technical, business, and legal translations."
|
567 |
msgstr "One Hour Translation bietet qualitativ hochwertige, schnelle, professionelle Übersetzungen in/aus allen Sprachen und verfügt über spezifische Branchenkenntnisse bei der SW-Lokalisierung sowie bei technischen, geschäftlichen und juristischen Übersetzungen."
|
568 |
|
569 |
+
#: wp/transposh_admin.php:483
|
570 |
#@ transposh
|
571 |
msgid "One Hour Translation account ID"
|
572 |
msgstr ""
|
573 |
|
574 |
+
#: wp/transposh_admin.php:484
|
575 |
+
#: wp/transposh_admin.php:488
|
576 |
#@ transposh
|
577 |
msgid "Account ID"
|
578 |
msgstr ""
|
579 |
|
580 |
+
#: wp/transposh_admin.php:487
|
581 |
#@ transposh
|
582 |
msgid "One Hour Translation secret key"
|
583 |
msgstr ""
|
584 |
|
585 |
+
#: wp/transposh_admin.php:499
|
586 |
#, php-format
|
587 |
#@ transposh
|
588 |
+
msgid "%d projects have been submitted and waiting for completion"
|
589 |
+
msgstr ""
|
590 |
+
|
591 |
+
#: wp/transposh_admin.php:756
|
592 |
+
#@ transposh
|
593 |
+
msgid "Unset"
|
594 |
+
msgstr ""
|
595 |
+
|
596 |
+
#: wp/transposh_admin.php:57
|
597 |
+
#@ transposh
|
598 |
+
msgid "Dashboard"
|
599 |
+
msgstr ""
|
600 |
+
|
601 |
+
#: wp/transposh_admin.php:58
|
602 |
+
#@ transposh
|
603 |
+
msgid "Languages"
|
604 |
+
msgstr ""
|
605 |
+
|
606 |
+
#: wp/transposh_admin.php:60
|
607 |
+
#@ transposh
|
608 |
+
msgid "Translation Engines"
|
609 |
+
msgstr ""
|
610 |
+
|
611 |
+
#: wp/transposh_admin.php:61
|
612 |
+
#@ transposh
|
613 |
+
msgid "Widgets settings"
|
614 |
+
msgstr ""
|
615 |
+
|
616 |
+
#: wp/transposh_admin.php:62
|
617 |
+
#@ transposh
|
618 |
+
msgid "Advanced"
|
619 |
+
msgstr ""
|
620 |
+
|
621 |
+
#: wp/transposh_admin.php:63
|
622 |
+
#@ transposh
|
623 |
+
msgid "Utilities"
|
624 |
msgstr ""
|
625 |
|
626 |
+
#: wp/transposh_admin.php:64
|
627 |
+
#@ transposh
|
628 |
+
msgid "About"
|
629 |
+
msgstr ""
|
630 |
+
|
631 |
+
#: wp/transposh_admin.php:65
|
632 |
+
#@ transposh
|
633 |
+
msgid "Support"
|
634 |
+
msgstr ""
|
635 |
+
|
636 |
+
#: wp/transposh_admin.php:186
|
637 |
+
#@ transposh
|
638 |
+
msgid "For further help and assistance, please look at the following resources:"
|
639 |
+
msgstr ""
|
640 |
+
|
641 |
+
#: wp/transposh_admin.php:189
|
642 |
+
#@ transposh
|
643 |
+
msgid "Development website"
|
644 |
+
msgstr ""
|
645 |
+
|
646 |
+
#: wp/transposh_admin.php:278
|
647 |
+
#@ transposh
|
648 |
+
msgid "Transposh Help"
|
649 |
+
msgstr ""
|
650 |
+
|
651 |
+
#: wp/transposh_admin.php:407
|
652 |
+
#@ transposh
|
653 |
+
msgid "Translation related settings"
|
654 |
+
msgstr ""
|
655 |
+
|
656 |
+
#: wp/transposh_admin.php:432
|
657 |
+
#@ transposh
|
658 |
+
msgid "General settings"
|
659 |
+
msgstr ""
|
660 |
+
|
661 |
+
#: wp/transposh_admin.php:450
|
662 |
+
#@ transposh
|
663 |
+
msgid "Backup service settings"
|
664 |
+
msgstr ""
|
665 |
+
|
666 |
+
#: wp/transposh_admin.php:459
|
667 |
+
#@ transposh
|
668 |
+
msgid "Automatic Translation Settings"
|
669 |
+
msgstr ""
|
670 |
+
|
671 |
+
#: wp/transposh_admin.php:477
|
672 |
+
#@ transposh
|
673 |
+
msgid "Professional Translation Settings"
|
674 |
+
msgstr ""
|
675 |
+
|
676 |
+
#: wp/transposh_admin.php:494
|
677 |
#, php-format
|
678 |
#@ transposh
|
679 |
+
msgid "%d phrases currently queued for next job in ~%d minutes"
|
680 |
+
msgstr ""
|
681 |
+
|
682 |
+
#: wp/transposh_admin.php:520
|
683 |
+
#@ transposh
|
684 |
+
msgid "Parser related settings"
|
685 |
+
msgstr ""
|
686 |
+
|
687 |
+
#: wp/transposh_admin.php:521
|
688 |
+
#: wp/transposh_admin.php:530
|
689 |
+
#@ transposh
|
690 |
+
msgid "This is extremely dangerous, will break your current translations, and might cause severe hickups, only proceed if you really know what you are doing."
|
691 |
+
msgstr ""
|
692 |
+
|
693 |
+
#: wp/transposh_admin.php:522
|
694 |
+
#@ transposh
|
695 |
+
msgid "Disable punctuations break"
|
696 |
+
msgstr ""
|
697 |
+
|
698 |
+
#: wp/transposh_admin.php:523
|
699 |
+
#@ transposh
|
700 |
+
msgid "The parser will not break text into phrases when encountering punctuations such as dots"
|
701 |
+
msgstr ""
|
702 |
+
|
703 |
+
#: wp/transposh_admin.php:524
|
704 |
+
#@ transposh
|
705 |
+
msgid "Disable numbers break"
|
706 |
+
msgstr ""
|
707 |
+
|
708 |
+
#: wp/transposh_admin.php:525
|
709 |
+
#@ transposh
|
710 |
+
msgid "The parser will not break text into phrases when encountering numbers"
|
711 |
+
msgstr ""
|
712 |
+
|
713 |
+
#: wp/transposh_admin.php:526
|
714 |
+
#@ transposh
|
715 |
+
msgid "Disable html entities break"
|
716 |
+
msgstr ""
|
717 |
+
|
718 |
+
#: wp/transposh_admin.php:527
|
719 |
+
#@ transposh
|
720 |
+
msgid "The parser will not break text into phrases when encountering html entities"
|
721 |
+
msgstr ""
|
722 |
+
|
723 |
+
#: wp/transposh_admin.php:529
|
724 |
+
#@ transposh
|
725 |
+
msgid "Debug settings"
|
726 |
+
msgstr ""
|
727 |
+
|
728 |
+
#: wp/transposh_admin.php:531
|
729 |
+
#@ transposh
|
730 |
+
msgid "Enable debugging"
|
731 |
+
msgstr ""
|
732 |
+
|
733 |
+
#: wp/transposh_admin.php:532
|
734 |
+
#@ transposh
|
735 |
+
msgid "Enable running of Transposh internal debug functions"
|
736 |
+
msgstr ""
|
737 |
+
|
738 |
+
#: wp/transposh_admin.php:533
|
739 |
+
#@ transposh
|
740 |
+
msgid "Log file name"
|
741 |
+
msgstr ""
|
742 |
+
|
743 |
+
#: wp/transposh_admin.php:534
|
744 |
+
#@ transposh
|
745 |
+
msgid "Level of logging"
|
746 |
+
msgstr ""
|
747 |
+
|
748 |
+
#: wp/transposh_admin.php:535
|
749 |
+
#@ transposh
|
750 |
+
msgid "Critical"
|
751 |
+
msgstr ""
|
752 |
+
|
753 |
+
#: wp/transposh_admin.php:536
|
754 |
+
#@ transposh
|
755 |
+
msgid "Important"
|
756 |
+
msgstr ""
|
757 |
+
|
758 |
+
#: wp/transposh_admin.php:537
|
759 |
+
#@ transposh
|
760 |
+
msgid "Warning"
|
761 |
+
msgstr ""
|
762 |
+
|
763 |
+
#: wp/transposh_admin.php:538
|
764 |
+
#@ transposh
|
765 |
+
msgid "Information"
|
766 |
+
msgstr ""
|
767 |
+
|
768 |
+
#: wp/transposh_admin.php:539
|
769 |
+
#@ transposh
|
770 |
+
msgid "Debug"
|
771 |
+
msgstr ""
|
772 |
+
|
773 |
+
#: wp/transposh_admin.php:541
|
774 |
+
#, php-format
|
775 |
+
#@ transposh
|
776 |
+
msgid "Remote debug IP (Your current IP is %s)"
|
777 |
+
msgstr ""
|
778 |
+
|
779 |
+
#: wp/transposh_admin.php:553
|
780 |
+
#@ transposh
|
781 |
+
msgid "Reset configuration to default (saves keys)"
|
782 |
+
msgstr ""
|
783 |
+
|
784 |
+
#: wp/transposh_admin.php:567
|
785 |
+
#@ transposh
|
786 |
+
msgid "About Transposh"
|
787 |
+
msgstr ""
|
788 |
+
|
789 |
+
#: wp/transposh_admin.php:568
|
790 |
+
#@ transposh
|
791 |
+
msgid "Transposh was started at 2008 and is dedicated to provide tools to ease website translation."
|
792 |
+
msgstr ""
|
793 |
+
|
794 |
+
#: wp/transposh_admin.php:570
|
795 |
+
#@ transposh
|
796 |
+
msgid "Learn more about us in the following online presenses"
|
797 |
+
msgstr ""
|
798 |
+
|
799 |
+
#: wp/transposh_admin.php:573
|
800 |
+
#@ transposh
|
801 |
+
msgid "Our website"
|
802 |
+
msgstr ""
|
803 |
+
|
804 |
+
#: wp/transposh_admin.php:575
|
805 |
+
#@ transposh
|
806 |
+
msgid "Our blog"
|
807 |
+
msgstr ""
|
808 |
+
|
809 |
+
#: wp/transposh_admin.php:577
|
810 |
+
#@ transposh
|
811 |
+
msgid "Our twitter account (feel free to follow!)"
|
812 |
+
msgstr ""
|
813 |
+
|
814 |
+
#: wp/transposh_admin.php:579
|
815 |
+
#@ transposh
|
816 |
+
msgid "Our facebook page (feel free to like!)"
|
817 |
+
msgstr ""
|
818 |
+
|
819 |
+
#: wp/transposh_admin.php:581
|
820 |
+
#@ transposh
|
821 |
+
msgid "Our google plus page (add us to your circles!)"
|
822 |
+
msgstr ""
|
823 |
+
|
824 |
+
#: wp/transposh_admin.php:583
|
825 |
+
#@ transposh
|
826 |
+
msgid "Our youtube channel"
|
827 |
+
msgstr ""
|
828 |
+
|
829 |
+
#: wp/transposh_admin.php:592
|
830 |
+
#@ transposh
|
831 |
+
msgid "Transposh support"
|
832 |
+
msgstr ""
|
833 |
+
|
834 |
+
#: wp/transposh_admin.php:593
|
835 |
+
#@ transposh
|
836 |
+
msgid "Have you encountered any problem with our plugin and need our help?"
|
837 |
+
msgstr ""
|
838 |
+
|
839 |
+
#: wp/transposh_admin.php:594
|
840 |
+
#@ transposh
|
841 |
+
msgid "Do you need to ask us any question?"
|
842 |
+
msgstr ""
|
843 |
+
|
844 |
+
#: wp/transposh_admin.php:595
|
845 |
+
#@ transposh
|
846 |
+
msgid "You have two options:"
|
847 |
+
msgstr ""
|
848 |
+
|
849 |
+
#: wp/transposh_admin.php:597
|
850 |
+
#@ transposh
|
851 |
+
msgid "Our free support"
|
852 |
+
msgstr ""
|
853 |
+
|
854 |
+
#: wp/transposh_admin.php:599
|
855 |
+
#@ transposh
|
856 |
+
msgid "There are many channels to reach us and we do try to help as fast as we can"
|
857 |
+
msgstr ""
|
858 |
+
|
859 |
+
#: wp/transposh_admin.php:600
|
860 |
+
#@ transposh
|
861 |
+
msgid "You can contact us through our contact form on our web site"
|
862 |
+
msgstr ""
|
863 |
+
|
864 |
+
#: wp/transposh_admin.php:601
|
865 |
+
#@ transposh
|
866 |
+
msgid "Create a ticket for us if you have found any bugs"
|
867 |
+
msgstr ""
|
868 |
+
|
869 |
+
#: wp/transposh_admin.php:602
|
870 |
+
#@ transposh
|
871 |
+
msgid "Reach us via different forums:"
|
872 |
+
msgstr ""
|
873 |
+
|
874 |
+
#: wp/transposh_admin.php:605
|
875 |
+
#@ transposh
|
876 |
+
msgid "Our support forum on wordpress.org"
|
877 |
+
msgstr ""
|
878 |
+
|
879 |
+
#: wp/transposh_admin.php:607
|
880 |
+
#@ transposh
|
881 |
+
msgid "Our internal development site, with wiki and tickets"
|
882 |
+
msgstr ""
|
883 |
+
|
884 |
+
#: wp/transposh_admin.php:609
|
885 |
+
#@ transposh
|
886 |
+
msgid "Our facebook page"
|
887 |
+
msgstr ""
|
888 |
+
|
889 |
+
#: wp/transposh_admin.php:611
|
890 |
+
#@ transposh
|
891 |
+
msgid "Our google plus page"
|
892 |
+
msgstr ""
|
893 |
+
|
894 |
+
#: wp/transposh_admin.php:613
|
895 |
+
#@ transposh
|
896 |
+
msgid "Contact us directly via:"
|
897 |
+
msgstr ""
|
898 |
+
|
899 |
+
#: wp/transposh_admin.php:615
|
900 |
+
#@ transposh
|
901 |
+
msgid "Our contact form"
|
902 |
+
msgstr ""
|
903 |
+
|
904 |
+
#: wp/transposh_admin.php:621
|
905 |
+
#@ transposh
|
906 |
+
msgid "Professional support option"
|
907 |
+
msgstr ""
|
908 |
+
|
909 |
+
#: wp/transposh_admin.php:623
|
910 |
+
#@ transposh
|
911 |
+
msgid "For the low low price of $99, we will take express action on your request. By express we mean that your issue will become our top priority, and will resolve ASAP"
|
912 |
+
msgstr ""
|
913 |
+
|
914 |
+
#: wp/transposh_admin.php:624
|
915 |
+
#@ transposh
|
916 |
+
msgid "This includes helping with various bugs, basic theme/plugins conflicts, or just telling you where the ON button is"
|
917 |
+
msgstr ""
|
918 |
+
|
919 |
+
#: wp/transposh_admin.php:625
|
920 |
+
#@ transposh
|
921 |
+
msgid "Full money back guarentee! If your problem remains unresolved or you are simply unhappy we will refund your paypal account as soon as you ask (as long as paypal allows it, don't come to us three years later!)"
|
922 |
+
msgstr ""
|
923 |
+
|
924 |
+
#: wp/transposh_admin.php:626
|
925 |
+
#@ transposh
|
926 |
+
msgid "So hit the following button. Thanks!"
|
927 |
msgstr ""
|
928 |
|
929 |
#: wp/transposh_admin.php:636
|
930 |
#@ transposh
|
931 |
+
msgid "Donations"
|
932 |
+
msgstr ""
|
933 |
+
|
934 |
+
#: wp/transposh_admin.php:638
|
935 |
+
#@ transposh
|
936 |
+
msgid "If you just want to show that you care, this is the button for you. But please think twice before doing this. It will make us happier if you just do something nice for someone in your area, contribute to a local charity, and let us know that you did that :)"
|
937 |
msgstr ""
|
938 |
|
@@ -1,9 +1,9 @@
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
-
"Project-Id-Version:
|
4 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/transposh-translation-filter-for-wordpress\n"
|
5 |
"POT-Creation-Date: 2011-01-16 21:56:35+00:00\n"
|
6 |
-
"PO-Revision-Date:
|
7 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
8 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
9 |
"MIME-Version: 1.0\n"
|
@@ -19,29 +19,29 @@ msgstr ""
|
|
19 |
"X-Poedit-SearchPath-0: .\n"
|
20 |
"X-Textdomain-Support: yes"
|
21 |
|
22 |
-
#: wp/transposh_db.php:
|
23 |
#@ transposh
|
24 |
msgid "Database stats"
|
25 |
msgstr "Estadísticas de la Base de datos"
|
26 |
|
27 |
-
#: wp/transposh_db.php:
|
28 |
#, php-format
|
29 |
#@ transposh
|
30 |
msgid "Total of <strong style=\"color:red\">%s</strong> translated phrases."
|
31 |
msgstr "Un total de <strong style=\"color:red\">%s</strong> frases traducidas."
|
32 |
|
33 |
-
#: wp/transposh_db.php:
|
34 |
#, php-format
|
35 |
#@ transposh
|
36 |
msgid "<strong>%1s</strong> has <strong style=\"color:red\">%2s</strong> human translated phrases."
|
37 |
msgstr "<strong>%1s</strong> tiene <strong style=\"color:red\">%2s</strong> frases traducidas por humanos."
|
38 |
|
39 |
-
#: wp/transposh_db.php:
|
40 |
#@ transposh
|
41 |
msgid "Recent activity"
|
42 |
msgstr "Actividad reciente"
|
43 |
|
44 |
-
#: wp/transposh_db.php:
|
45 |
#, php-format
|
46 |
#@ transposh
|
47 |
msgid "On <strong>%1s</strong><br/>user <strong>%2s</strong> translated<br/>\"<strong>%3s</strong>\"<br/>to <strong style=\"color:red\">%4s</strong><br/>\"<strong>%5s</strong>\""
|
@@ -53,431 +53,353 @@ msgstr "El <strong>%1s</strong><br/>el usuario <strong>%2s</strong> tradujo<br/>
|
|
53 |
msgid "%s translated a phrase to %s with transposh:"
|
54 |
msgstr ""
|
55 |
|
56 |
-
#: wp/
|
57 |
-
#: wp/
|
58 |
-
#: wp/
|
59 |
-
#: wp/transposh_postpublish.php:51
|
60 |
-
#: wp/transposh_widget.php:84
|
61 |
-
#: wp/transposh_widget.php:311
|
62 |
#@ transposh
|
63 |
#@ default
|
64 |
msgid "Transposh"
|
65 |
msgstr ""
|
66 |
|
67 |
-
#: wp/transposh_admin.php:
|
68 |
#@ transposh
|
69 |
msgid "Transposh makes your blog translatable"
|
70 |
msgstr "Transposh hace tu blog traducible"
|
71 |
|
72 |
-
#: wp/transposh_admin.php:
|
73 |
#@ transposh
|
74 |
msgid "Plugin homepage"
|
75 |
msgstr " Página de inicio del plugin"
|
76 |
|
77 |
-
#: wp/transposh_admin.php:
|
78 |
#@ transposh
|
79 |
msgid "Frequently asked questions"
|
80 |
msgstr "Preguntas más frecuentes"
|
81 |
|
82 |
-
#: wp/transposh_admin.php:
|
83 |
-
#@ transposh
|
84 |
-
msgid "Transposh control center"
|
85 |
-
msgstr "Centro de control de Transposh"
|
86 |
-
|
87 |
-
#: wp/transposh_admin.php:212
|
88 |
-
#@ transposh
|
89 |
-
msgid "About this plugin"
|
90 |
-
msgstr "Acerca de este plugin"
|
91 |
-
|
92 |
-
#: wp/transposh_admin.php:213
|
93 |
#@ transposh
|
94 |
msgid "Plugin news"
|
95 |
msgstr "Noticias del Plugin"
|
96 |
|
97 |
-
#: wp/transposh_admin.php:
|
98 |
#@ transposh
|
99 |
msgid "Plugin stats"
|
100 |
msgstr "Estadísticas del Plugin"
|
101 |
|
102 |
-
#: wp/transposh_admin.php:
|
103 |
-
#@ transposh
|
104 |
-
msgid "Translate all"
|
105 |
-
msgstr "Traducir todo"
|
106 |
-
|
107 |
-
#: wp/transposh_admin.php:216
|
108 |
-
#@ transposh
|
109 |
-
msgid "Supported languages"
|
110 |
-
msgstr "Idiomas soportados"
|
111 |
-
|
112 |
-
#: wp/transposh_admin.php:217
|
113 |
-
#@ transposh
|
114 |
-
msgid "Translation settings"
|
115 |
-
msgstr "Configuración de traducción"
|
116 |
-
|
117 |
-
#: wp/transposh_admin.php:218
|
118 |
-
#@ transposh
|
119 |
-
msgid "Automatic translation settings"
|
120 |
-
msgstr "Configuración de la traducción automática"
|
121 |
-
|
122 |
-
#: wp/transposh_admin.php:221
|
123 |
-
#@ transposh
|
124 |
-
msgid "Generic settings"
|
125 |
-
msgstr "Configuraciones genéricas"
|
126 |
-
|
127 |
-
#: wp/transposh_admin.php:222
|
128 |
-
#@ transposh
|
129 |
-
msgid "Database maintenance"
|
130 |
-
msgstr "Mantenimiento de la base de datos"
|
131 |
-
|
132 |
-
#: wp/transposh_admin.php:237
|
133 |
#@ transposh
|
134 |
-
msgid "Transposh community features"
|
135 |
-
msgstr "Funciones de la \"Comunidad Transposh\""
|
136 |
-
|
137 |
-
#: wp/transposh_admin.php:273
|
138 |
-
#@ default
|
139 |
msgid "Save Changes"
|
140 |
msgstr ""
|
141 |
|
142 |
-
#: wp/transposh_admin.php:
|
143 |
#@ transposh
|
144 |
msgid "Problems?"
|
145 |
msgstr "¿Problemas?"
|
146 |
|
147 |
-
#: wp/transposh_admin.php:
|
148 |
-
#@ transposh
|
149 |
-
msgid "Plugin Homepage"
|
150 |
-
msgstr "Página de inicio del Plugin"
|
151 |
-
|
152 |
-
#: wp/transposh_admin.php:314
|
153 |
#@ transposh
|
154 |
msgid "Suggest a Feature"
|
155 |
msgstr "Sugiere una función"
|
156 |
|
157 |
-
#: wp/transposh_admin.php:
|
158 |
#@ transposh
|
159 |
msgid "Report a Bug"
|
160 |
msgstr "Informar de un error"
|
161 |
|
162 |
-
#: wp/transposh_admin.php:
|
163 |
#@ transposh
|
164 |
msgid "Translate by clicking the button below"
|
165 |
msgstr "Traducir haciendo clic en el botón de abajo"
|
166 |
|
167 |
-
#: wp/transposh_admin.php:
|
168 |
#@ transposh
|
169 |
msgid "Translate All Now"
|
170 |
msgstr "Traducir Todo Ahora"
|
171 |
|
172 |
-
#: wp/transposh_admin.php:
|
173 |
#@ transposh
|
174 |
msgid "Default Language (drag another language here to make it default)"
|
175 |
msgstr "Idioma por defecto (arrastrar otro idioma aquí para que sea el por defecto)"
|
176 |
|
177 |
-
#: wp/transposh_admin.php:
|
178 |
#@ transposh
|
179 |
msgid "Available Languages (Click to toggle language state - Drag to sort in the widget)"
|
180 |
msgstr "Idiomas disponibles (Haga clic para cambiar el estado del lenguaje - Arrastre para ordenar en el widget)"
|
181 |
|
182 |
-
#: wp/transposh_admin.php:
|
183 |
#@ transposh
|
184 |
msgid "Language supported by google translate"
|
185 |
msgstr "Idioma soportado por el traductor de Google"
|
186 |
|
187 |
-
#: wp/transposh_admin.php:
|
188 |
#@ transposh
|
189 |
msgid "Language supported by bing translate"
|
190 |
msgstr "Idioma soportado por el traductor de bing"
|
191 |
|
192 |
-
#: wp/transposh_admin.php:
|
193 |
#@ transposh
|
194 |
msgid "Language supported by apertium translate"
|
195 |
msgstr "Idioma soportado por el traductor apertium"
|
196 |
|
197 |
-
#: wp/transposh_admin.php:
|
198 |
#@ transposh
|
199 |
msgid "Language is written from right to left"
|
200 |
msgstr "Este idioma se escribe de derecha a izquierda"
|
201 |
|
202 |
-
#: wp/transposh_admin.php:
|
203 |
#@ transposh
|
204 |
msgid "Display options:"
|
205 |
msgstr "Opciones de visualización:"
|
206 |
|
207 |
-
#: wp/transposh_admin.php:
|
208 |
#@ transposh
|
209 |
msgid "Toggle names of languages between English and Original"
|
210 |
msgstr "Cambiar los nombres de las lenguas entre Inglés y Original"
|
211 |
|
212 |
-
#: wp/transposh_admin.php:
|
213 |
#@ transposh
|
214 |
msgid "Make all languages active"
|
215 |
msgstr "Activar todas las lenguas"
|
216 |
|
217 |
-
#: wp/transposh_admin.php:
|
218 |
#@ transposh
|
219 |
msgid "Sort by language name"
|
220 |
msgstr "Ordenar por nombre de idioma"
|
221 |
|
222 |
-
#: wp/transposh_admin.php:
|
223 |
#@ transposh
|
224 |
msgid "Sort by lSO code"
|
225 |
msgstr "Ordenar por código lSO"
|
226 |
|
227 |
-
#: wp/transposh_admin.php:
|
228 |
-
#@ transposh
|
229 |
-
msgid "Legend:"
|
230 |
-
msgstr "Leyenda:"
|
231 |
-
|
232 |
-
#: wp/transposh_admin.php:425
|
233 |
-
#@ transposh
|
234 |
-
msgid "Green - active"
|
235 |
-
msgstr "Verde - activo"
|
236 |
-
|
237 |
-
#: wp/transposh_admin.php:425
|
238 |
-
#@ transposh
|
239 |
-
msgid "Yellow - translateable (only translators will see this language)"
|
240 |
-
msgstr "Amarillo - traducible (sólo los traductores verán este idioma)"
|
241 |
-
|
242 |
-
#: wp/transposh_admin.php:425
|
243 |
-
#@ transposh
|
244 |
-
msgid "blank - inactive"
|
245 |
-
msgstr "blanco - inactivo"
|
246 |
-
|
247 |
-
#: wp/transposh_admin.php:447
|
248 |
#@ transposh
|
249 |
msgid "Who can translate ?"
|
250 |
msgstr "¿Quién puede traducir?"
|
251 |
|
252 |
-
#: wp/transposh_admin.php:
|
253 |
#@ transposh
|
254 |
msgid "Anonymous"
|
255 |
msgstr "Anónimo"
|
256 |
|
257 |
-
#: wp/transposh_admin.php:
|
258 |
#@ transposh
|
259 |
msgid "Enable default language translation"
|
260 |
msgstr "Activar la traducción del idioma por defecto"
|
261 |
|
262 |
-
#: wp/transposh_admin.php:
|
263 |
#@ transposh
|
264 |
msgid "Allow translation of default language - useful for sites with more than one major language"
|
265 |
msgstr "Permite la traducción de la lengua por defecto - útil para los sitios con más de un idioma principal"
|
266 |
|
267 |
-
#: wp/transposh_admin.php:
|
268 |
#@ transposh
|
269 |
msgid "Enable search in translated languages"
|
270 |
msgstr "Habilitar la búsqueda en los idiomas traducidos"
|
271 |
|
272 |
-
#: wp/transposh_admin.php:
|
273 |
#@ transposh
|
274 |
msgid "Enable url translation"
|
275 |
msgstr "Permitir la traducción del url"
|
276 |
|
277 |
-
#: wp/transposh_admin.php:
|
278 |
-
#: wp/transposh_admin.php:481
|
279 |
#@ transposh
|
280 |
msgid "experimental"
|
281 |
msgstr "experimental"
|
282 |
|
283 |
-
#: wp/transposh_admin.php:
|
284 |
#@ transposh
|
285 |
msgid "Allow translation of permalinks and urls"
|
286 |
msgstr "Permitir la traducción de vínculos permanentes y urls"
|
287 |
|
288 |
-
#: wp/transposh_admin.php:
|
289 |
#@ transposh
|
290 |
msgid "Enable gettext integration"
|
291 |
msgstr "Permitir la integración con gettext"
|
292 |
|
293 |
-
#: wp/transposh_admin.php:
|
294 |
#@ transposh
|
295 |
msgid "Enable integration of Transposh with existing gettext interface (.po/.mo files)"
|
296 |
msgstr "Permitir la integración de Transposh con interfaces gettext existentes (.po /.mo archivos )"
|
297 |
|
298 |
-
#: wp/transposh_admin.php:
|
299 |
#@ transposh
|
300 |
msgid "Enable automatic translation"
|
301 |
msgstr "Permitir traducción automática"
|
302 |
|
303 |
-
#: wp/transposh_admin.php:
|
304 |
#@ transposh
|
305 |
msgid "Allow automatic translation of pages"
|
306 |
msgstr "Permitir la traducción automática de páginas"
|
307 |
|
308 |
-
#: wp/transposh_admin.php:
|
309 |
#@ transposh
|
310 |
msgid "Enable automatic translation after posting"
|
311 |
msgstr "Permitir la traducción automática tras publicar"
|
312 |
|
313 |
-
#: wp/transposh_admin.php:
|
314 |
#@ transposh
|
315 |
msgid "Do automatic translation immediately after a post has been published"
|
316 |
msgstr "Traducir automáticamente inmediatamente después de publicar una entrada"
|
317 |
|
318 |
-
#: wp/transposh_admin.php:
|
319 |
#@ transposh
|
320 |
msgid "Select preferred auto translation engine"
|
321 |
msgstr "Seleccione el motor de auto traducción preferido"
|
322 |
|
323 |
-
#: wp/transposh_admin.php:
|
324 |
#@ transposh
|
325 |
msgid "Translation engine:"
|
326 |
msgstr "Motor de Traducción:"
|
327 |
|
328 |
-
#: wp/transposh_admin.php:
|
329 |
#@ transposh
|
330 |
msgid "Google"
|
331 |
msgstr "Google"
|
332 |
|
333 |
-
#: wp/transposh_admin.php:
|
334 |
#@ transposh
|
335 |
msgid "Bing"
|
336 |
msgstr "Bing"
|
337 |
|
338 |
-
#: wp/transposh_admin.php:
|
339 |
#@ transposh
|
340 |
msgid "Rewrite URLs"
|
341 |
msgstr "Reescribir las URLs"
|
342 |
|
343 |
-
#: wp/transposh_admin.php:
|
344 |
#@ transposh
|
345 |
msgid "Add scripts to footer"
|
346 |
msgstr "Agregar scripts al pie de página"
|
347 |
|
348 |
-
#: wp/transposh_admin.php:
|
349 |
#@ transposh
|
350 |
msgid "Auto detect language for users"
|
351 |
msgstr "Detección automática de idioma para los usuarios"
|
352 |
|
353 |
-
#: wp/transposh_admin.php:
|
354 |
#@ transposh
|
355 |
msgid "Delete all automated translations"
|
356 |
msgstr "Eliminar todas las traducciones automáticas"
|
357 |
|
358 |
-
#: wp/transposh_admin.php:
|
359 |
#@ transposh
|
360 |
msgid "Delete automated translations older than 14 days"
|
361 |
msgstr "Eliminar traducciones automáticas de más de 14 días de antigüedad"
|
362 |
|
363 |
-
#: wp/transposh_admin.php:
|
364 |
#@ transposh
|
365 |
msgid "Attempt to fix errors caused by previous versions - please backup first"
|
366 |
msgstr "Tratar de corregir los errores causados por las versiones anteriores - por favor, haga copia de seguridad antes"
|
367 |
|
368 |
-
#: wp/transposh_admin.php:
|
369 |
-
#@ transposh
|
370 |
-
msgid "Backup service for human translation"
|
371 |
-
msgstr "Servicio de copia de seguridad para la traducción humana"
|
372 |
-
|
373 |
-
#: wp/transposh_admin.php:615
|
374 |
#@ transposh
|
375 |
msgid "Enable daily backup"
|
376 |
msgstr "Habilitar copia de seguridad diaria"
|
377 |
|
378 |
-
#: wp/transposh_admin.php:
|
379 |
#@ transposh
|
380 |
msgid "Enable live backup"
|
381 |
msgstr "Habilitar copia de seguridad en vivo"
|
382 |
|
383 |
-
#: wp/transposh_admin.php:
|
384 |
#@ transposh
|
385 |
msgid "Disable backup (Can be run manually by clicking the button below)"
|
386 |
msgstr "Desactivar copia de seguridad (se puede ejecutar manualmente haciendo clic en el botón de abajo)"
|
387 |
|
388 |
-
#: wp/transposh_admin.php:
|
389 |
#@ transposh
|
390 |
msgid "Service Key:"
|
391 |
msgstr "Clave de servicio:"
|
392 |
|
393 |
-
#: wp/transposh_admin.php:
|
394 |
#@ transposh
|
395 |
msgid "How to restore?"
|
396 |
msgstr "¿Cómo restaurar?"
|
397 |
|
398 |
-
#: wp/transposh_admin.php:
|
399 |
#@ transposh
|
400 |
msgid "Do Backup Now"
|
401 |
msgstr "Hacer copia de seguridad ahora"
|
402 |
|
403 |
-
#: wp/transposh_widget.php:
|
404 |
#@ transposh
|
405 |
msgid "Transposh language selection widget"
|
406 |
msgstr "Widget de selección de lenguaje Transposh"
|
407 |
|
408 |
-
#: wp/transposh_widget.php:
|
409 |
#@ transposh
|
410 |
msgid "Set as default language"
|
411 |
msgstr "Establecer como idioma predeterminado"
|
412 |
|
413 |
-
#: wp/transposh_widget.php:
|
414 |
#@ transposh
|
415 |
msgid "translation plugin for wordpress"
|
416 |
msgstr "Plugin de traducción para WordPress"
|
417 |
|
418 |
-
#: wp/transposh_widget.php:
|
419 |
#@ transposh
|
420 |
msgid "wordpress translation plugin"
|
421 |
msgstr "Plugin de traducción de WordPress"
|
422 |
|
423 |
-
#: wp/transposh_widget.php:
|
424 |
#@ transposh
|
425 |
msgid "translate your blog to 60+ languages"
|
426 |
msgstr "Traduce tu blog a más de 60 idiomas"
|
427 |
|
428 |
-
#: wp/transposh_widget.php:
|
429 |
#@ transposh
|
430 |
msgid "website crowdsourcing translation plugin"
|
431 |
msgstr "Plugin de traducción crowdsourcing de páginas web"
|
432 |
|
433 |
-
#: wp/transposh_widget.php:
|
434 |
#@ transposh
|
435 |
msgid "google translate and bing translate plugin for wordpress"
|
436 |
msgstr "Plugin de traductor de Google y Bing para WordPress"
|
437 |
|
438 |
-
#: wp/transposh_widget.php:
|
439 |
#@ transposh
|
440 |
msgid "Style:"
|
441 |
msgstr "Estilo:"
|
442 |
|
443 |
-
#: wp/transposh_admin.php:
|
444 |
#@ transposh
|
445 |
msgid "Show progress bar when a client triggers automatic translation"
|
446 |
msgstr "Mostrar la barra de progreso cuando un cliente activa la traducción automática"
|
447 |
|
448 |
-
#: wp/transposh_admin.php:
|
449 |
#@ transposh
|
450 |
msgid "Show progress bar"
|
451 |
msgstr "Mostrar la barra de progreso"
|
452 |
|
453 |
-
#: wp/transposh_admin.php:
|
454 |
#@ transposh
|
455 |
msgid "Widget will allow setting this language as user default"
|
456 |
msgstr "El Widget permitirá establecer esta lengua como predeterminada del usuario"
|
457 |
|
458 |
-
#: wp/transposh_admin.php:
|
459 |
#@ transposh
|
460 |
msgid "Allow user to set current language as default"
|
461 |
msgstr "Permitir al usuario establecer el idioma actual como predeterminado"
|
462 |
|
463 |
-
#: wp/transposh_admin.php:
|
464 |
#@ transposh
|
465 |
msgid "Transposh logo will not appear on widget"
|
466 |
msgstr "El logo de Transposh no aparecerá en el widget"
|
467 |
|
468 |
-
#: wp/transposh_admin.php:
|
469 |
#@ transposh
|
470 |
msgid "Remove transposh logo (see <a href=\"http://transposh.org/logoterms\">terms</a>)"
|
471 |
msgstr "Quitar el logotipo de Transposh (ver <a href=\\\"http://transposh.org/logoterms\\\"> condiciones</a> )"
|
472 |
|
473 |
-
#: wp/transposh_admin.php:
|
474 |
-
#: wp/transposh_admin.php:563
|
475 |
#@ transposh
|
476 |
msgid "Edit interface (and progress bar) theme:"
|
477 |
msgstr "Tema de la interfaz de edición (y de la barra de progreso):"
|
478 |
|
479 |
-
#: transposh.php:
|
|
|
480 |
#@ default
|
|
|
481 |
msgid "Settings"
|
482 |
msgstr ""
|
483 |
|
@@ -506,17 +428,17 @@ msgstr "Filtro de Traducción para WordPress, después de habilitarlo configurar
|
|
506 |
msgid "Team Transposh"
|
507 |
msgstr "Equipo Transposh"
|
508 |
|
509 |
-
#: wp/transposh_admin.php:
|
510 |
#@ transposh
|
511 |
msgid "Rewrite URLs to be search engine friendly, e.g. (http://transposh.org/<strong>en</strong>). Requires that permalinks will be enabled."
|
512 |
msgstr "Reescribe las URLs para que sean amigables para los motores de búsqueda, por ejemplo (http://transposh.org/ <strong>en).</strong> Requiere que los permalinks estén habilitados."
|
513 |
|
514 |
-
#: wp/transposh_admin.php:
|
515 |
#@ transposh
|
516 |
msgid "Push transposh scripts to footer of page instead of header, makes pages load faster. Requires that your theme should have proper footer support."
|
517 |
msgstr "Ponga los scripts de Transposh al pie de la página en lugar de cabecera, hace que las páginas se cargan más rápido. Se requiere que su tema tenga adecuado soporte para footer."
|
518 |
|
519 |
-
#: wp/transposh_admin.php:
|
520 |
#@ transposh
|
521 |
msgid "This enables auto detection of language used by the user as defined in the ACCEPT_LANGUAGES they send. This will redirect the first page accessed in the session to the same page with the detected language."
|
522 |
msgstr "Esto permite la detección automática del idioma utilizado por el usuario tal como se define en el ACCEPT_LANGUAGES que envían. Esto redireccionará la primera página visitada en la sesión a la misma página con el idioma detectado."
|
@@ -534,161 +456,483 @@ msgstr ""
|
|
534 |
msgid "Select language"
|
535 |
msgstr ""
|
536 |
|
537 |
-
#: wp/transposh_admin.php:
|
538 |
-
#@ transposh
|
539 |
-
msgid "Frontend settings"
|
540 |
-
msgstr ""
|
541 |
-
|
542 |
-
#: wp/transposh_admin.php:248
|
543 |
#, php-format
|
544 |
#@ transposh
|
545 |
msgid "Your current PHP memory limit of %s is quite low, if you experience blank pages please consider increasing it."
|
546 |
msgstr ""
|
547 |
|
548 |
-
#: wp/transposh_admin.php:
|
549 |
-
#: wp/transposh_admin.php:
|
550 |
#@ transposh
|
551 |
msgid "Check Transposh FAQs"
|
552 |
msgstr ""
|
553 |
|
554 |
-
#: wp/transposh_admin.php:
|
555 |
#@ transposh
|
556 |
msgid "We were not able to find a supported in-memory caching engine, installing one can improve performance."
|
557 |
msgstr ""
|
558 |
|
559 |
-
#: wp/transposh_admin.php:
|
560 |
#@ transposh
|
561 |
msgid "Allow search of translated languages (and the original language)"
|
562 |
msgstr ""
|
563 |
|
564 |
-
#: wp/transposh_admin.php:
|
565 |
#@ transposh
|
566 |
msgid "Enable override for default locale"
|
567 |
msgstr ""
|
568 |
|
569 |
-
#: wp/transposh_admin.php:
|
570 |
#@ transposh
|
571 |
msgid "Enable overriding the default locale that is set in WP_LANG on default languages pages (such as untranslated pages and admin pages)"
|
572 |
msgstr ""
|
573 |
|
574 |
-
#: wp/transposh_admin.php:
|
575 |
#@ transposh
|
576 |
msgid "MSN API key"
|
577 |
msgstr ""
|
578 |
|
579 |
-
#: wp/transposh_admin.php:
|
580 |
-
#: wp/transposh_admin.php:
|
581 |
-
#: wp/transposh_admin.php:540
|
582 |
#@ transposh
|
583 |
msgid "API Key"
|
584 |
msgstr ""
|
585 |
|
586 |
-
#: wp/transposh_admin.php:
|
587 |
#@ transposh
|
588 |
msgid "Google API key"
|
589 |
msgstr ""
|
590 |
|
591 |
-
#: wp/transposh_admin.php:
|
592 |
#@ transposh
|
593 |
msgid "Allow collecting usage statistics"
|
594 |
msgstr ""
|
595 |
|
596 |
-
#: wp/transposh_postpublish.php:
|
597 |
#@ transposh
|
598 |
msgid "Set post language"
|
599 |
msgstr ""
|
600 |
|
601 |
-
#: wp/transposh_postpublish.php:
|
602 |
-
#@ transposh
|
603 |
-
msgid "Set page language"
|
604 |
-
msgstr ""
|
605 |
-
|
606 |
-
#: wp/transposh_postpublish.php:198
|
607 |
#@ default
|
608 |
msgid "Default"
|
609 |
msgstr ""
|
610 |
|
611 |
-
#: wp/transposh_widget.php:
|
612 |
#@ transposh
|
613 |
msgid "Title:"
|
614 |
msgstr ""
|
615 |
|
616 |
-
#: wp/transposh_widget.php:
|
617 |
#@ transposh
|
618 |
msgid "Transposh subwidget was not loaded correctly"
|
619 |
msgstr ""
|
620 |
|
621 |
#. TRANSLATORS: no need to translate this string
|
622 |
-
#: wp/transposh_widget.php:
|
623 |
#@ transposh
|
624 |
msgid "title"
|
625 |
msgstr ""
|
626 |
|
627 |
-
#: wp/transposh_admin.php:
|
628 |
#@ transposh
|
629 |
msgid "Language"
|
630 |
msgstr ""
|
631 |
|
632 |
-
#: wp/transposh_admin.php:
|
633 |
#@ transposh
|
634 |
msgid "This option enables collection of statistics by transposh that will be used to improve the product."
|
635 |
msgstr ""
|
636 |
|
637 |
#. TRANSLATORS: this will be the default widget title
|
638 |
-
#: wp/transposh_widget.php:
|
639 |
#@ transposh
|
640 |
msgid "Translation"
|
641 |
msgstr ""
|
642 |
|
643 |
-
#: wp/transposh_admin.php:
|
644 |
-
#@ transposh
|
645 |
-
msgid "Professional translation settings"
|
646 |
-
msgstr ""
|
647 |
-
|
648 |
-
#: wp/transposh_admin.php:413
|
649 |
#@ transposh
|
650 |
msgid "Language supported by one hour translation"
|
651 |
msgstr ""
|
652 |
|
653 |
-
#: wp/transposh_admin.php:
|
654 |
#@ transposh
|
655 |
msgid "<a href=\"http://transposh.org/redir/oht\">One Hour Translation</a>, is the largest professional translation service online, with thousands of business customers, including 57% of the Fortune 500 companies, and over 15000 translators worldwide."
|
656 |
msgstr "<a href=\"http://transposh.org/redir/oht\">One Hour Translation</a>, es el mayor servicio de traducción profesional de internet, con miles de clientes empresariales, incluyendo el 57 % de las empresas de Fortune 500, y más de 15.000 traductores de todo el mundo."
|
657 |
|
658 |
-
#: wp/transposh_admin.php:
|
659 |
#@ transposh
|
660 |
msgid "One Hour Translation provides high-quality, fast professional translation to/from any language, and has specific domain expertise in SW localization, technical, business, and legal translations."
|
661 |
msgstr "One Hour Translation proporciona rápidas traducciones profesionales de alta calidad a/de cualquier idioma, y dispone de expertos en localización de software y traducciones técnicas, comerciales y legales."
|
662 |
|
663 |
-
#: wp/transposh_admin.php:
|
664 |
#@ transposh
|
665 |
msgid "One Hour Translation account ID"
|
666 |
msgstr ""
|
667 |
|
668 |
-
#: wp/transposh_admin.php:
|
|
|
669 |
#@ transposh
|
670 |
msgid "Account ID"
|
671 |
msgstr ""
|
672 |
|
673 |
-
#: wp/transposh_admin.php:
|
674 |
#@ transposh
|
675 |
msgid "One Hour Translation secret key"
|
676 |
msgstr ""
|
677 |
|
678 |
-
#: wp/transposh_admin.php:
|
679 |
#, php-format
|
680 |
#@ transposh
|
681 |
-
msgid "%d
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
682 |
msgstr ""
|
683 |
|
684 |
-
#: wp/transposh_admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
685 |
#, php-format
|
686 |
#@ transposh
|
687 |
-
msgid "%d
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
688 |
msgstr ""
|
689 |
|
690 |
#: wp/transposh_admin.php:636
|
691 |
#@ transposh
|
692 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
693 |
msgstr ""
|
694 |
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
+
"Project-Id-Version: Transposh Translation Filter v%VERSION%\n"
|
4 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/transposh-translation-filter-for-wordpress\n"
|
5 |
"POT-Creation-Date: 2011-01-16 21:56:35+00:00\n"
|
6 |
+
"PO-Revision-Date: 2012-12-12 19:50:39+0000\n"
|
7 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
8 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
9 |
"MIME-Version: 1.0\n"
|
19 |
"X-Poedit-SearchPath-0: .\n"
|
20 |
"X-Textdomain-Support: yes"
|
21 |
|
22 |
+
#: wp/transposh_db.php:684
|
23 |
#@ transposh
|
24 |
msgid "Database stats"
|
25 |
msgstr "Estadísticas de la Base de datos"
|
26 |
|
27 |
+
#: wp/transposh_db.php:689
|
28 |
#, php-format
|
29 |
#@ transposh
|
30 |
msgid "Total of <strong style=\"color:red\">%s</strong> translated phrases."
|
31 |
msgstr "Un total de <strong style=\"color:red\">%s</strong> frases traducidas."
|
32 |
|
33 |
+
#: wp/transposh_db.php:696
|
34 |
#, php-format
|
35 |
#@ transposh
|
36 |
msgid "<strong>%1s</strong> has <strong style=\"color:red\">%2s</strong> human translated phrases."
|
37 |
msgstr "<strong>%1s</strong> tiene <strong style=\"color:red\">%2s</strong> frases traducidas por humanos."
|
38 |
|
39 |
+
#: wp/transposh_db.php:699
|
40 |
#@ transposh
|
41 |
msgid "Recent activity"
|
42 |
msgstr "Actividad reciente"
|
43 |
|
44 |
+
#: wp/transposh_db.php:704
|
45 |
#, php-format
|
46 |
#@ transposh
|
47 |
msgid "On <strong>%1s</strong><br/>user <strong>%2s</strong> translated<br/>\"<strong>%3s</strong>\"<br/>to <strong style=\"color:red\">%4s</strong><br/>\"<strong>%5s</strong>\""
|
53 |
msgid "%s translated a phrase to %s with transposh:"
|
54 |
msgstr ""
|
55 |
|
56 |
+
#: wp/transposh_postpublish.php:55
|
57 |
+
#: wp/transposh_widget.php:86
|
58 |
+
#: wp/transposh_widget.php:315
|
|
|
|
|
|
|
59 |
#@ transposh
|
60 |
#@ default
|
61 |
msgid "Transposh"
|
62 |
msgstr ""
|
63 |
|
64 |
+
#: wp/transposh_admin.php:185
|
65 |
#@ transposh
|
66 |
msgid "Transposh makes your blog translatable"
|
67 |
msgstr "Transposh hace tu blog traducible"
|
68 |
|
69 |
+
#: wp/transposh_admin.php:187
|
70 |
#@ transposh
|
71 |
msgid "Plugin homepage"
|
72 |
msgstr " Página de inicio del plugin"
|
73 |
|
74 |
+
#: wp/transposh_admin.php:188
|
75 |
#@ transposh
|
76 |
msgid "Frequently asked questions"
|
77 |
msgstr "Preguntas más frecuentes"
|
78 |
|
79 |
+
#: wp/transposh_admin.php:283
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
#@ transposh
|
81 |
msgid "Plugin news"
|
82 |
msgstr "Noticias del Plugin"
|
83 |
|
84 |
+
#: wp/transposh_admin.php:284
|
85 |
#@ transposh
|
86 |
msgid "Plugin stats"
|
87 |
msgstr "Estadísticas del Plugin"
|
88 |
|
89 |
+
#: wp/transposh_admin.php:316
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
90 |
#@ transposh
|
|
|
|
|
|
|
|
|
|
|
91 |
msgid "Save Changes"
|
92 |
msgstr ""
|
93 |
|
94 |
+
#: wp/transposh_admin.php:653
|
95 |
#@ transposh
|
96 |
msgid "Problems?"
|
97 |
msgstr "¿Problemas?"
|
98 |
|
99 |
+
#: wp/transposh_admin.php:616
|
|
|
|
|
|
|
|
|
|
|
100 |
#@ transposh
|
101 |
msgid "Suggest a Feature"
|
102 |
msgstr "Sugiere una función"
|
103 |
|
104 |
+
#: wp/transposh_admin.php:617
|
105 |
#@ transposh
|
106 |
msgid "Report a Bug"
|
107 |
msgstr "Informar de un error"
|
108 |
|
109 |
+
#: wp/transposh_admin.php:559
|
110 |
#@ transposh
|
111 |
msgid "Translate by clicking the button below"
|
112 |
msgstr "Traducir haciendo clic en el botón de abajo"
|
113 |
|
114 |
+
#: wp/transposh_admin.php:561
|
115 |
#@ transposh
|
116 |
msgid "Translate All Now"
|
117 |
msgstr "Traducir Todo Ahora"
|
118 |
|
119 |
+
#: wp/transposh_admin.php:364
|
120 |
#@ transposh
|
121 |
msgid "Default Language (drag another language here to make it default)"
|
122 |
msgstr "Idioma por defecto (arrastrar otro idioma aquí para que sea el por defecto)"
|
123 |
|
124 |
+
#: wp/transposh_admin.php:372
|
125 |
#@ transposh
|
126 |
msgid "Available Languages (Click to toggle language state - Drag to sort in the widget)"
|
127 |
msgstr "Idiomas disponibles (Haga clic para cambiar el estado del lenguaje - Arrastre para ordenar en el widget)"
|
128 |
|
129 |
+
#: wp/transposh_admin.php:384
|
130 |
#@ transposh
|
131 |
msgid "Language supported by google translate"
|
132 |
msgstr "Idioma soportado por el traductor de Google"
|
133 |
|
134 |
+
#: wp/transposh_admin.php:386
|
135 |
#@ transposh
|
136 |
msgid "Language supported by bing translate"
|
137 |
msgstr "Idioma soportado por el traductor de bing"
|
138 |
|
139 |
+
#: wp/transposh_admin.php:388
|
140 |
#@ transposh
|
141 |
msgid "Language supported by apertium translate"
|
142 |
msgstr "Idioma soportado por el traductor apertium"
|
143 |
|
144 |
+
#: wp/transposh_admin.php:392
|
145 |
#@ transposh
|
146 |
msgid "Language is written from right to left"
|
147 |
msgstr "Este idioma se escribe de derecha a izquierda"
|
148 |
|
149 |
+
#: wp/transposh_admin.php:397
|
150 |
#@ transposh
|
151 |
msgid "Display options:"
|
152 |
msgstr "Opciones de visualización:"
|
153 |
|
154 |
+
#: wp/transposh_admin.php:398
|
155 |
#@ transposh
|
156 |
msgid "Toggle names of languages between English and Original"
|
157 |
msgstr "Cambiar los nombres de las lenguas entre Inglés y Original"
|
158 |
|
159 |
+
#: wp/transposh_admin.php:399
|
160 |
#@ transposh
|
161 |
msgid "Make all languages active"
|
162 |
msgstr "Activar todas las lenguas"
|
163 |
|
164 |
+
#: wp/transposh_admin.php:400
|
165 |
#@ transposh
|
166 |
msgid "Sort by language name"
|
167 |
msgstr "Ordenar por nombre de idioma"
|
168 |
|
169 |
+
#: wp/transposh_admin.php:401
|
170 |
#@ transposh
|
171 |
msgid "Sort by lSO code"
|
172 |
msgstr "Ordenar por código lSO"
|
173 |
|
174 |
+
#: wp/transposh_admin.php:412
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
175 |
#@ transposh
|
176 |
msgid "Who can translate ?"
|
177 |
msgstr "¿Quién puede traducir?"
|
178 |
|
179 |
+
#: wp/transposh_admin.php:419
|
180 |
#@ transposh
|
181 |
msgid "Anonymous"
|
182 |
msgstr "Anónimo"
|
183 |
|
184 |
+
#: wp/transposh_admin.php:421
|
185 |
#@ transposh
|
186 |
msgid "Enable default language translation"
|
187 |
msgstr "Activar la traducción del idioma por defecto"
|
188 |
|
189 |
+
#: wp/transposh_admin.php:422
|
190 |
#@ transposh
|
191 |
msgid "Allow translation of default language - useful for sites with more than one major language"
|
192 |
msgstr "Permite la traducción de la lengua por defecto - útil para los sitios con más de un idioma principal"
|
193 |
|
194 |
+
#: wp/transposh_admin.php:423
|
195 |
#@ transposh
|
196 |
msgid "Enable search in translated languages"
|
197 |
msgstr "Habilitar la búsqueda en los idiomas traducidos"
|
198 |
|
199 |
+
#: wp/transposh_admin.php:518
|
200 |
#@ transposh
|
201 |
msgid "Enable url translation"
|
202 |
msgstr "Permitir la traducción del url"
|
203 |
|
204 |
+
#: wp/transposh_admin.php:518
|
|
|
205 |
#@ transposh
|
206 |
msgid "experimental"
|
207 |
msgstr "experimental"
|
208 |
|
209 |
+
#: wp/transposh_admin.php:518
|
210 |
#@ transposh
|
211 |
msgid "Allow translation of permalinks and urls"
|
212 |
msgstr "Permitir la traducción de vínculos permanentes y urls"
|
213 |
|
214 |
+
#: wp/transposh_admin.php:425
|
215 |
#@ transposh
|
216 |
msgid "Enable gettext integration"
|
217 |
msgstr "Permitir la integración con gettext"
|
218 |
|
219 |
+
#: wp/transposh_admin.php:426
|
220 |
#@ transposh
|
221 |
msgid "Enable integration of Transposh with existing gettext interface (.po/.mo files)"
|
222 |
msgstr "Permitir la integración de Transposh con interfaces gettext existentes (.po /.mo archivos )"
|
223 |
|
224 |
+
#: wp/transposh_admin.php:460
|
225 |
#@ transposh
|
226 |
msgid "Enable automatic translation"
|
227 |
msgstr "Permitir traducción automática"
|
228 |
|
229 |
+
#: wp/transposh_admin.php:461
|
230 |
#@ transposh
|
231 |
msgid "Allow automatic translation of pages"
|
232 |
msgstr "Permitir la traducción automática de páginas"
|
233 |
|
234 |
+
#: wp/transposh_admin.php:462
|
235 |
#@ transposh
|
236 |
msgid "Enable automatic translation after posting"
|
237 |
msgstr "Permitir la traducción automática tras publicar"
|
238 |
|
239 |
+
#: wp/transposh_admin.php:463
|
240 |
#@ transposh
|
241 |
msgid "Do automatic translation immediately after a post has been published"
|
242 |
msgstr "Traducir automáticamente inmediatamente después de publicar una entrada"
|
243 |
|
244 |
+
#: wp/transposh_admin.php:470
|
245 |
#@ transposh
|
246 |
msgid "Select preferred auto translation engine"
|
247 |
msgstr "Seleccione el motor de auto traducción preferido"
|
248 |
|
249 |
+
#: wp/transposh_admin.php:471
|
250 |
#@ transposh
|
251 |
msgid "Translation engine:"
|
252 |
msgstr "Motor de Traducción:"
|
253 |
|
254 |
+
#: wp/transposh_admin.php:472
|
255 |
#@ transposh
|
256 |
msgid "Google"
|
257 |
msgstr "Google"
|
258 |
|
259 |
+
#: wp/transposh_admin.php:473
|
260 |
#@ transposh
|
261 |
msgid "Bing"
|
262 |
msgstr "Bing"
|
263 |
|
264 |
+
#: wp/transposh_admin.php:433
|
265 |
#@ transposh
|
266 |
msgid "Rewrite URLs"
|
267 |
msgstr "Reescribir las URLs"
|
268 |
|
269 |
+
#: wp/transposh_admin.php:437
|
270 |
#@ transposh
|
271 |
msgid "Add scripts to footer"
|
272 |
msgstr "Agregar scripts al pie de página"
|
273 |
|
274 |
+
#: wp/transposh_admin.php:440
|
275 |
#@ transposh
|
276 |
msgid "Auto detect language for users"
|
277 |
msgstr "Detección automática de idioma para los usuarios"
|
278 |
|
279 |
+
#: wp/transposh_admin.php:554
|
280 |
#@ transposh
|
281 |
msgid "Delete all automated translations"
|
282 |
msgstr "Eliminar todas las traducciones automáticas"
|
283 |
|
284 |
+
#: wp/transposh_admin.php:555
|
285 |
#@ transposh
|
286 |
msgid "Delete automated translations older than 14 days"
|
287 |
msgstr "Eliminar traducciones automáticas de más de 14 días de antigüedad"
|
288 |
|
289 |
+
#: wp/transposh_admin.php:556
|
290 |
#@ transposh
|
291 |
msgid "Attempt to fix errors caused by previous versions - please backup first"
|
292 |
msgstr "Tratar de corregir los errores causados por las versiones anteriores - por favor, haga copia de seguridad antes"
|
293 |
|
294 |
+
#: wp/transposh_admin.php:451
|
|
|
|
|
|
|
|
|
|
|
295 |
#@ transposh
|
296 |
msgid "Enable daily backup"
|
297 |
msgstr "Habilitar copia de seguridad diaria"
|
298 |
|
299 |
+
#: wp/transposh_admin.php:452
|
300 |
#@ transposh
|
301 |
msgid "Enable live backup"
|
302 |
msgstr "Habilitar copia de seguridad en vivo"
|
303 |
|
304 |
+
#: wp/transposh_admin.php:453
|
305 |
#@ transposh
|
306 |
msgid "Disable backup (Can be run manually by clicking the button below)"
|
307 |
msgstr "Desactivar copia de seguridad (se puede ejecutar manualmente haciendo clic en el botón de abajo)"
|
308 |
|
309 |
+
#: wp/transposh_admin.php:454
|
310 |
#@ transposh
|
311 |
msgid "Service Key:"
|
312 |
msgstr "Clave de servicio:"
|
313 |
|
314 |
+
#: wp/transposh_admin.php:454
|
315 |
#@ transposh
|
316 |
msgid "How to restore?"
|
317 |
msgstr "¿Cómo restaurar?"
|
318 |
|
319 |
+
#: wp/transposh_admin.php:548
|
320 |
#@ transposh
|
321 |
msgid "Do Backup Now"
|
322 |
msgstr "Hacer copia de seguridad ahora"
|
323 |
|
324 |
+
#: wp/transposh_widget.php:84
|
325 |
#@ transposh
|
326 |
msgid "Transposh language selection widget"
|
327 |
msgstr "Widget de selección de lenguaje Transposh"
|
328 |
|
329 |
+
#: wp/transposh_widget.php:288
|
330 |
#@ transposh
|
331 |
msgid "Set as default language"
|
332 |
msgstr "Establecer como idioma predeterminado"
|
333 |
|
334 |
+
#: wp/transposh_widget.php:318
|
335 |
#@ transposh
|
336 |
msgid "translation plugin for wordpress"
|
337 |
msgstr "Plugin de traducción para WordPress"
|
338 |
|
339 |
+
#: wp/transposh_widget.php:321
|
340 |
#@ transposh
|
341 |
msgid "wordpress translation plugin"
|
342 |
msgstr "Plugin de traducción de WordPress"
|
343 |
|
344 |
+
#: wp/transposh_widget.php:324
|
345 |
#@ transposh
|
346 |
msgid "translate your blog to 60+ languages"
|
347 |
msgstr "Traduce tu blog a más de 60 idiomas"
|
348 |
|
349 |
+
#: wp/transposh_widget.php:327
|
350 |
#@ transposh
|
351 |
msgid "website crowdsourcing translation plugin"
|
352 |
msgstr "Plugin de traducción crowdsourcing de páginas web"
|
353 |
|
354 |
+
#: wp/transposh_widget.php:330
|
355 |
#@ transposh
|
356 |
msgid "google translate and bing translate plugin for wordpress"
|
357 |
msgstr "Plugin de traductor de Google y Bing para WordPress"
|
358 |
|
359 |
+
#: wp/transposh_widget.php:129
|
360 |
#@ transposh
|
361 |
msgid "Style:"
|
362 |
msgstr "Estilo:"
|
363 |
|
364 |
+
#: wp/transposh_admin.php:506
|
365 |
#@ transposh
|
366 |
msgid "Show progress bar when a client triggers automatic translation"
|
367 |
msgstr "Mostrar la barra de progreso cuando un cliente activa la traducción automática"
|
368 |
|
369 |
+
#: wp/transposh_admin.php:505
|
370 |
#@ transposh
|
371 |
msgid "Show progress bar"
|
372 |
msgstr "Mostrar la barra de progreso"
|
373 |
|
374 |
+
#: wp/transposh_admin.php:509
|
375 |
#@ transposh
|
376 |
msgid "Widget will allow setting this language as user default"
|
377 |
msgstr "El Widget permitirá establecer esta lengua como predeterminada del usuario"
|
378 |
|
379 |
+
#: wp/transposh_admin.php:508
|
380 |
#@ transposh
|
381 |
msgid "Allow user to set current language as default"
|
382 |
msgstr "Permitir al usuario establecer el idioma actual como predeterminado"
|
383 |
|
384 |
+
#: wp/transposh_admin.php:512
|
385 |
#@ transposh
|
386 |
msgid "Transposh logo will not appear on widget"
|
387 |
msgstr "El logo de Transposh no aparecerá en el widget"
|
388 |
|
389 |
+
#: wp/transposh_admin.php:511
|
390 |
#@ transposh
|
391 |
msgid "Remove transposh logo (see <a href=\"http://transposh.org/logoterms\">terms</a>)"
|
392 |
msgstr "Quitar el logotipo de Transposh (ver <a href=\\\"http://transposh.org/logoterms\\\"> condiciones</a> )"
|
393 |
|
394 |
+
#: wp/transposh_admin.php:514
|
|
|
395 |
#@ transposh
|
396 |
msgid "Edit interface (and progress bar) theme:"
|
397 |
msgstr "Tema de la interfaz de edición (y de la barra de progreso):"
|
398 |
|
399 |
+
#: transposh.php:921
|
400 |
+
#: wp/transposh_admin.php:59
|
401 |
#@ default
|
402 |
+
#@ transposh
|
403 |
msgid "Settings"
|
404 |
msgstr ""
|
405 |
|
428 |
msgid "Team Transposh"
|
429 |
msgstr "Equipo Transposh"
|
430 |
|
431 |
+
#: wp/transposh_admin.php:436
|
432 |
#@ transposh
|
433 |
msgid "Rewrite URLs to be search engine friendly, e.g. (http://transposh.org/<strong>en</strong>). Requires that permalinks will be enabled."
|
434 |
msgstr "Reescribe las URLs para que sean amigables para los motores de búsqueda, por ejemplo (http://transposh.org/ <strong>en).</strong> Requiere que los permalinks estén habilitados."
|
435 |
|
436 |
+
#: wp/transposh_admin.php:439
|
437 |
#@ transposh
|
438 |
msgid "Push transposh scripts to footer of page instead of header, makes pages load faster. Requires that your theme should have proper footer support."
|
439 |
msgstr "Ponga los scripts de Transposh al pie de la página en lugar de cabecera, hace que las páginas se cargan más rápido. Se requiere que su tema tenga adecuado soporte para footer."
|
440 |
|
441 |
+
#: wp/transposh_admin.php:442
|
442 |
#@ transposh
|
443 |
msgid "This enables auto detection of language used by the user as defined in the ACCEPT_LANGUAGES they send. This will redirect the first page accessed in the session to the same page with the detected language."
|
444 |
msgstr "Esto permite la detección automática del idioma utilizado por el usuario tal como se define en el ACCEPT_LANGUAGES que envían. Esto redireccionará la primera página visitada en la sesión a la misma página con el idioma detectado."
|
456 |
msgid "Select language"
|
457 |
msgstr ""
|
458 |
|
459 |
+
#: wp/transposh_admin.php:734
|
|
|
|
|
|
|
|
|
|
|
460 |
#, php-format
|
461 |
#@ transposh
|
462 |
msgid "Your current PHP memory limit of %s is quite low, if you experience blank pages please consider increasing it."
|
463 |
msgstr ""
|
464 |
|
465 |
+
#: wp/transposh_admin.php:734
|
466 |
+
#: wp/transposh_admin.php:738
|
467 |
#@ transposh
|
468 |
msgid "Check Transposh FAQs"
|
469 |
msgstr ""
|
470 |
|
471 |
+
#: wp/transposh_admin.php:738
|
472 |
#@ transposh
|
473 |
msgid "We were not able to find a supported in-memory caching engine, installing one can improve performance."
|
474 |
msgstr ""
|
475 |
|
476 |
+
#: wp/transposh_admin.php:424
|
477 |
#@ transposh
|
478 |
msgid "Allow search of translated languages (and the original language)"
|
479 |
msgstr ""
|
480 |
|
481 |
+
#: wp/transposh_admin.php:428
|
482 |
#@ transposh
|
483 |
msgid "Enable override for default locale"
|
484 |
msgstr ""
|
485 |
|
486 |
+
#: wp/transposh_admin.php:429
|
487 |
#@ transposh
|
488 |
msgid "Enable overriding the default locale that is set in WP_LANG on default languages pages (such as untranslated pages and admin pages)"
|
489 |
msgstr ""
|
490 |
|
491 |
+
#: wp/transposh_admin.php:465
|
492 |
#@ transposh
|
493 |
msgid "MSN API key"
|
494 |
msgstr ""
|
495 |
|
496 |
+
#: wp/transposh_admin.php:466
|
497 |
+
#: wp/transposh_admin.php:469
|
|
|
498 |
#@ transposh
|
499 |
msgid "API Key"
|
500 |
msgstr ""
|
501 |
|
502 |
+
#: wp/transposh_admin.php:468
|
503 |
#@ transposh
|
504 |
msgid "Google API key"
|
505 |
msgstr ""
|
506 |
|
507 |
+
#: wp/transposh_admin.php:443
|
508 |
#@ transposh
|
509 |
msgid "Allow collecting usage statistics"
|
510 |
msgstr ""
|
511 |
|
512 |
+
#: wp/transposh_postpublish.php:57
|
513 |
#@ transposh
|
514 |
msgid "Set post language"
|
515 |
msgstr ""
|
516 |
|
517 |
+
#: wp/transposh_postpublish.php:203
|
|
|
|
|
|
|
|
|
|
|
518 |
#@ default
|
519 |
msgid "Default"
|
520 |
msgstr ""
|
521 |
|
522 |
+
#: wp/transposh_widget.php:124
|
523 |
#@ transposh
|
524 |
msgid "Title:"
|
525 |
msgstr ""
|
526 |
|
527 |
+
#: wp/transposh_widget.php:256
|
528 |
#@ transposh
|
529 |
msgid "Transposh subwidget was not loaded correctly"
|
530 |
msgstr ""
|
531 |
|
532 |
#. TRANSLATORS: no need to translate this string
|
533 |
+
#: wp/transposh_widget.php:273
|
534 |
#@ transposh
|
535 |
msgid "title"
|
536 |
msgstr ""
|
537 |
|
538 |
+
#: wp/transposh_admin.php:760
|
539 |
#@ transposh
|
540 |
msgid "Language"
|
541 |
msgstr ""
|
542 |
|
543 |
+
#: wp/transposh_admin.php:444
|
544 |
#@ transposh
|
545 |
msgid "This option enables collection of statistics by transposh that will be used to improve the product."
|
546 |
msgstr ""
|
547 |
|
548 |
#. TRANSLATORS: this will be the default widget title
|
549 |
+
#: wp/transposh_widget.php:119
|
550 |
#@ transposh
|
551 |
msgid "Translation"
|
552 |
msgstr ""
|
553 |
|
554 |
+
#: wp/transposh_admin.php:390
|
|
|
|
|
|
|
|
|
|
|
555 |
#@ transposh
|
556 |
msgid "Language supported by one hour translation"
|
557 |
msgstr ""
|
558 |
|
559 |
+
#: wp/transposh_admin.php:477
|
560 |
#@ transposh
|
561 |
msgid "<a href=\"http://transposh.org/redir/oht\">One Hour Translation</a>, is the largest professional translation service online, with thousands of business customers, including 57% of the Fortune 500 companies, and over 15000 translators worldwide."
|
562 |
msgstr "<a href=\"http://transposh.org/redir/oht\">One Hour Translation</a>, es el mayor servicio de traducción profesional de internet, con miles de clientes empresariales, incluyendo el 57 % de las empresas de Fortune 500, y más de 15.000 traductores de todo el mundo."
|
563 |
|
564 |
+
#: wp/transposh_admin.php:479
|
565 |
#@ transposh
|
566 |
msgid "One Hour Translation provides high-quality, fast professional translation to/from any language, and has specific domain expertise in SW localization, technical, business, and legal translations."
|
567 |
msgstr "One Hour Translation proporciona rápidas traducciones profesionales de alta calidad a/de cualquier idioma, y dispone de expertos en localización de software y traducciones técnicas, comerciales y legales."
|
568 |
|
569 |
+
#: wp/transposh_admin.php:483
|
570 |
#@ transposh
|
571 |
msgid "One Hour Translation account ID"
|
572 |
msgstr ""
|
573 |
|
574 |
+
#: wp/transposh_admin.php:484
|
575 |
+
#: wp/transposh_admin.php:488
|
576 |
#@ transposh
|
577 |
msgid "Account ID"
|
578 |
msgstr ""
|
579 |
|
580 |
+
#: wp/transposh_admin.php:487
|
581 |
#@ transposh
|
582 |
msgid "One Hour Translation secret key"
|
583 |
msgstr ""
|
584 |
|
585 |
+
#: wp/transposh_admin.php:499
|
586 |
#, php-format
|
587 |
#@ transposh
|
588 |
+
msgid "%d projects have been submitted and waiting for completion"
|
589 |
+
msgstr ""
|
590 |
+
|
591 |
+
#: wp/transposh_admin.php:756
|
592 |
+
#@ transposh
|
593 |
+
msgid "Unset"
|
594 |
+
msgstr ""
|
595 |
+
|
596 |
+
#: wp/transposh_admin.php:57
|
597 |
+
#@ transposh
|
598 |
+
msgid "Dashboard"
|
599 |
+
msgstr ""
|
600 |
+
|
601 |
+
#: wp/transposh_admin.php:58
|
602 |
+
#@ transposh
|
603 |
+
msgid "Languages"
|
604 |
+
msgstr ""
|
605 |
+
|
606 |
+
#: wp/transposh_admin.php:60
|
607 |
+
#@ transposh
|
608 |
+
msgid "Translation Engines"
|
609 |
+
msgstr ""
|
610 |
+
|
611 |
+
#: wp/transposh_admin.php:61
|
612 |
+
#@ transposh
|
613 |
+
msgid "Widgets settings"
|
614 |
+
msgstr ""
|
615 |
+
|
616 |
+
#: wp/transposh_admin.php:62
|
617 |
+
#@ transposh
|
618 |
+
msgid "Advanced"
|
619 |
+
msgstr ""
|
620 |
+
|
621 |
+
#: wp/transposh_admin.php:63
|
622 |
+
#@ transposh
|
623 |
+
msgid "Utilities"
|
624 |
msgstr ""
|
625 |
|
626 |
+
#: wp/transposh_admin.php:64
|
627 |
+
#@ transposh
|
628 |
+
msgid "About"
|
629 |
+
msgstr ""
|
630 |
+
|
631 |
+
#: wp/transposh_admin.php:65
|
632 |
+
#@ transposh
|
633 |
+
msgid "Support"
|
634 |
+
msgstr ""
|
635 |
+
|
636 |
+
#: wp/transposh_admin.php:186
|
637 |
+
#@ transposh
|
638 |
+
msgid "For further help and assistance, please look at the following resources:"
|
639 |
+
msgstr ""
|
640 |
+
|
641 |
+
#: wp/transposh_admin.php:189
|
642 |
+
#@ transposh
|
643 |
+
msgid "Development website"
|
644 |
+
msgstr ""
|
645 |
+
|
646 |
+
#: wp/transposh_admin.php:278
|
647 |
+
#@ transposh
|
648 |
+
msgid "Transposh Help"
|
649 |
+
msgstr ""
|
650 |
+
|
651 |
+
#: wp/transposh_admin.php:407
|
652 |
+
#@ transposh
|
653 |
+
msgid "Translation related settings"
|
654 |
+
msgstr ""
|
655 |
+
|
656 |
+
#: wp/transposh_admin.php:432
|
657 |
+
#@ transposh
|
658 |
+
msgid "General settings"
|
659 |
+
msgstr ""
|
660 |
+
|
661 |
+
#: wp/transposh_admin.php:450
|
662 |
+
#@ transposh
|
663 |
+
msgid "Backup service settings"
|
664 |
+
msgstr ""
|
665 |
+
|
666 |
+
#: wp/transposh_admin.php:459
|
667 |
+
#@ transposh
|
668 |
+
msgid "Automatic Translation Settings"
|
669 |
+
msgstr ""
|
670 |
+
|
671 |
+
#: wp/transposh_admin.php:477
|
672 |
+
#@ transposh
|
673 |
+
msgid "Professional Translation Settings"
|
674 |
+
msgstr ""
|
675 |
+
|
676 |
+
#: wp/transposh_admin.php:494
|
677 |
#, php-format
|
678 |
#@ transposh
|
679 |
+
msgid "%d phrases currently queued for next job in ~%d minutes"
|
680 |
+
msgstr ""
|
681 |
+
|
682 |
+
#: wp/transposh_admin.php:520
|
683 |
+
#@ transposh
|
684 |
+
msgid "Parser related settings"
|
685 |
+
msgstr ""
|
686 |
+
|
687 |
+
#: wp/transposh_admin.php:521
|
688 |
+
#: wp/transposh_admin.php:530
|
689 |
+
#@ transposh
|
690 |
+
msgid "This is extremely dangerous, will break your current translations, and might cause severe hickups, only proceed if you really know what you are doing."
|
691 |
+
msgstr ""
|
692 |
+
|
693 |
+
#: wp/transposh_admin.php:522
|
694 |
+
#@ transposh
|
695 |
+
msgid "Disable punctuations break"
|
696 |
+
msgstr ""
|
697 |
+
|
698 |
+
#: wp/transposh_admin.php:523
|
699 |
+
#@ transposh
|
700 |
+
msgid "The parser will not break text into phrases when encountering punctuations such as dots"
|
701 |
+
msgstr ""
|
702 |
+
|
703 |
+
#: wp/transposh_admin.php:524
|
704 |
+
#@ transposh
|
705 |
+
msgid "Disable numbers break"
|
706 |
+
msgstr ""
|
707 |
+
|
708 |
+
#: wp/transposh_admin.php:525
|
709 |
+
#@ transposh
|
710 |
+
msgid "The parser will not break text into phrases when encountering numbers"
|
711 |
+
msgstr ""
|
712 |
+
|
713 |
+
#: wp/transposh_admin.php:526
|
714 |
+
#@ transposh
|
715 |
+
msgid "Disable html entities break"
|
716 |
+
msgstr ""
|
717 |
+
|
718 |
+
#: wp/transposh_admin.php:527
|
719 |
+
#@ transposh
|
720 |
+
msgid "The parser will not break text into phrases when encountering html entities"
|
721 |
+
msgstr ""
|
722 |
+
|
723 |
+
#: wp/transposh_admin.php:529
|
724 |
+
#@ transposh
|
725 |
+
msgid "Debug settings"
|
726 |
+
msgstr ""
|
727 |
+
|
728 |
+
#: wp/transposh_admin.php:531
|
729 |
+
#@ transposh
|
730 |
+
msgid "Enable debugging"
|
731 |
+
msgstr ""
|
732 |
+
|
733 |
+
#: wp/transposh_admin.php:532
|
734 |
+
#@ transposh
|
735 |
+
msgid "Enable running of Transposh internal debug functions"
|
736 |
+
msgstr ""
|
737 |
+
|
738 |
+
#: wp/transposh_admin.php:533
|
739 |
+
#@ transposh
|
740 |
+
msgid "Log file name"
|
741 |
+
msgstr ""
|
742 |
+
|
743 |
+
#: wp/transposh_admin.php:534
|
744 |
+
#@ transposh
|
745 |
+
msgid "Level of logging"
|
746 |
+
msgstr ""
|
747 |
+
|
748 |
+
#: wp/transposh_admin.php:535
|
749 |
+
#@ transposh
|
750 |
+
msgid "Critical"
|
751 |
+
msgstr ""
|
752 |
+
|
753 |
+
#: wp/transposh_admin.php:536
|
754 |
+
#@ transposh
|
755 |
+
msgid "Important"
|
756 |
+
msgstr ""
|
757 |
+
|
758 |
+
#: wp/transposh_admin.php:537
|
759 |
+
#@ transposh
|
760 |
+
msgid "Warning"
|
761 |
+
msgstr ""
|
762 |
+
|
763 |
+
#: wp/transposh_admin.php:538
|
764 |
+
#@ transposh
|
765 |
+
msgid "Information"
|
766 |
+
msgstr ""
|
767 |
+
|
768 |
+
#: wp/transposh_admin.php:539
|
769 |
+
#@ transposh
|
770 |
+
msgid "Debug"
|
771 |
+
msgstr ""
|
772 |
+
|
773 |
+
#: wp/transposh_admin.php:541
|
774 |
+
#, php-format
|
775 |
+
#@ transposh
|
776 |
+
msgid "Remote debug IP (Your current IP is %s)"
|
777 |
+
msgstr ""
|
778 |
+
|
779 |
+
#: wp/transposh_admin.php:553
|
780 |
+
#@ transposh
|
781 |
+
msgid "Reset configuration to default (saves keys)"
|
782 |
+
msgstr ""
|
783 |
+
|
784 |
+
#: wp/transposh_admin.php:567
|
785 |
+
#@ transposh
|
786 |
+
msgid "About Transposh"
|
787 |
+
msgstr ""
|
788 |
+
|
789 |
+
#: wp/transposh_admin.php:568
|
790 |
+
#@ transposh
|
791 |
+
msgid "Transposh was started at 2008 and is dedicated to provide tools to ease website translation."
|
792 |
+
msgstr ""
|
793 |
+
|
794 |
+
#: wp/transposh_admin.php:570
|
795 |
+
#@ transposh
|
796 |
+
msgid "Learn more about us in the following online presenses"
|
797 |
+
msgstr ""
|
798 |
+
|
799 |
+
#: wp/transposh_admin.php:573
|
800 |
+
#@ transposh
|
801 |
+
msgid "Our website"
|
802 |
+
msgstr ""
|
803 |
+
|
804 |
+
#: wp/transposh_admin.php:575
|
805 |
+
#@ transposh
|
806 |
+
msgid "Our blog"
|
807 |
+
msgstr ""
|
808 |
+
|
809 |
+
#: wp/transposh_admin.php:577
|
810 |
+
#@ transposh
|
811 |
+
msgid "Our twitter account (feel free to follow!)"
|
812 |
+
msgstr ""
|
813 |
+
|
814 |
+
#: wp/transposh_admin.php:579
|
815 |
+
#@ transposh
|
816 |
+
msgid "Our facebook page (feel free to like!)"
|
817 |
+
msgstr ""
|
818 |
+
|
819 |
+
#: wp/transposh_admin.php:581
|
820 |
+
#@ transposh
|
821 |
+
msgid "Our google plus page (add us to your circles!)"
|
822 |
+
msgstr ""
|
823 |
+
|
824 |
+
#: wp/transposh_admin.php:583
|
825 |
+
#@ transposh
|
826 |
+
msgid "Our youtube channel"
|
827 |
+
msgstr ""
|
828 |
+
|
829 |
+
#: wp/transposh_admin.php:592
|
830 |
+
#@ transposh
|
831 |
+
msgid "Transposh support"
|
832 |
+
msgstr ""
|
833 |
+
|
834 |
+
#: wp/transposh_admin.php:593
|
835 |
+
#@ transposh
|
836 |
+
msgid "Have you encountered any problem with our plugin and need our help?"
|
837 |
+
msgstr ""
|
838 |
+
|
839 |
+
#: wp/transposh_admin.php:594
|
840 |
+
#@ transposh
|
841 |
+
msgid "Do you need to ask us any question?"
|
842 |
+
msgstr ""
|
843 |
+
|
844 |
+
#: wp/transposh_admin.php:595
|
845 |
+
#@ transposh
|
846 |
+
msgid "You have two options:"
|
847 |
+
msgstr ""
|
848 |
+
|
849 |
+
#: wp/transposh_admin.php:597
|
850 |
+
#@ transposh
|
851 |
+
msgid "Our free support"
|
852 |
+
msgstr ""
|
853 |
+
|
854 |
+
#: wp/transposh_admin.php:599
|
855 |
+
#@ transposh
|
856 |
+
msgid "There are many channels to reach us and we do try to help as fast as we can"
|
857 |
+
msgstr ""
|
858 |
+
|
859 |
+
#: wp/transposh_admin.php:600
|
860 |
+
#@ transposh
|
861 |
+
msgid "You can contact us through our contact form on our web site"
|
862 |
+
msgstr ""
|
863 |
+
|
864 |
+
#: wp/transposh_admin.php:601
|
865 |
+
#@ transposh
|
866 |
+
msgid "Create a ticket for us if you have found any bugs"
|
867 |
+
msgstr ""
|
868 |
+
|
869 |
+
#: wp/transposh_admin.php:602
|
870 |
+
#@ transposh
|
871 |
+
msgid "Reach us via different forums:"
|
872 |
+
msgstr ""
|
873 |
+
|
874 |
+
#: wp/transposh_admin.php:605
|
875 |
+
#@ transposh
|
876 |
+
msgid "Our support forum on wordpress.org"
|
877 |
+
msgstr ""
|
878 |
+
|
879 |
+
#: wp/transposh_admin.php:607
|
880 |
+
#@ transposh
|
881 |
+
msgid "Our internal development site, with wiki and tickets"
|
882 |
+
msgstr ""
|
883 |
+
|
884 |
+
#: wp/transposh_admin.php:609
|
885 |
+
#@ transposh
|
886 |
+
msgid "Our facebook page"
|
887 |
+
msgstr ""
|
888 |
+
|
889 |
+
#: wp/transposh_admin.php:611
|
890 |
+
#@ transposh
|
891 |
+
msgid "Our google plus page"
|
892 |
+
msgstr ""
|
893 |
+
|
894 |
+
#: wp/transposh_admin.php:613
|
895 |
+
#@ transposh
|
896 |
+
msgid "Contact us directly via:"
|
897 |
+
msgstr ""
|
898 |
+
|
899 |
+
#: wp/transposh_admin.php:615
|
900 |
+
#@ transposh
|
901 |
+
msgid "Our contact form"
|
902 |
+
msgstr ""
|
903 |
+
|
904 |
+
#: wp/transposh_admin.php:621
|
905 |
+
#@ transposh
|
906 |
+
msgid "Professional support option"
|
907 |
+
msgstr ""
|
908 |
+
|
909 |
+
#: wp/transposh_admin.php:623
|
910 |
+
#@ transposh
|
911 |
+
msgid "For the low low price of $99, we will take express action on your request. By express we mean that your issue will become our top priority, and will resolve ASAP"
|
912 |
+
msgstr ""
|
913 |
+
|
914 |
+
#: wp/transposh_admin.php:624
|
915 |
+
#@ transposh
|
916 |
+
msgid "This includes helping with various bugs, basic theme/plugins conflicts, or just telling you where the ON button is"
|
917 |
+
msgstr ""
|
918 |
+
|
919 |
+
#: wp/transposh_admin.php:625
|
920 |
+
#@ transposh
|
921 |
+
msgid "Full money back guarentee! If your problem remains unresolved or you are simply unhappy we will refund your paypal account as soon as you ask (as long as paypal allows it, don't come to us three years later!)"
|
922 |
+
msgstr ""
|
923 |
+
|
924 |
+
#: wp/transposh_admin.php:626
|
925 |
+
#@ transposh
|
926 |
+
msgid "So hit the following button. Thanks!"
|
927 |
msgstr ""
|
928 |
|
929 |
#: wp/transposh_admin.php:636
|
930 |
#@ transposh
|
931 |
+
msgid "Donations"
|
932 |
+
msgstr ""
|
933 |
+
|
934 |
+
#: wp/transposh_admin.php:638
|
935 |
+
#@ transposh
|
936 |
+
msgid "If you just want to show that you care, this is the button for you. But please think twice before doing this. It will make us happier if you just do something nice for someone in your area, contribute to a local charity, and let us know that you did that :)"
|
937 |
msgstr ""
|
938 |
|
@@ -1,9 +1,9 @@
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
-
"Project-Id-Version:
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
"POT-Creation-Date: 2011-02-07 03:02+0330\n"
|
6 |
-
"PO-Revision-Date:
|
7 |
"Last-Translator: Sushyant Zavarzadeh <sushyant@zavarzadeh.org>\n"
|
8 |
"Language-Team: S & S Group www.zavarzadeh.org <sushyant@zavarzadeh.org>\n"
|
9 |
"MIME-Version: 1.0\n"
|
@@ -19,8 +19,10 @@ msgstr ""
|
|
19 |
"X-Poedit-SearchPath-0: C:/Documents and Settings/zavarzadeh/Desktop/transposh-translation-filter-for-wordpress\n"
|
20 |
"X-Textdomain-Support: yes"
|
21 |
|
22 |
-
#: transposh.php:
|
|
|
23 |
#@ default
|
|
|
24 |
msgid "Settings"
|
25 |
msgstr "گزینه ها"
|
26 |
|
@@ -30,408 +32,328 @@ msgstr "گزینه ها"
|
|
30 |
msgid "%s translated a phrase to %s with transposh:"
|
31 |
msgstr "%ترجمه ی واژه ها %s با ترنسپاش"
|
32 |
|
33 |
-
#: wp/transposh_admin.php:
|
34 |
#@ transposh
|
35 |
msgid "Transposh makes your blog translatable"
|
36 |
msgstr "ترنسپاش تارنمای شما را ترجمه می کند"
|
37 |
|
38 |
-
#: wp/transposh_admin.php:
|
39 |
#@ transposh
|
40 |
msgid "Plugin homepage"
|
41 |
msgstr "خانه ی افزونه"
|
42 |
|
43 |
-
#: wp/transposh_admin.php:
|
44 |
#@ transposh
|
45 |
msgid "Frequently asked questions"
|
46 |
msgstr "پرسش و پاسخ"
|
47 |
|
48 |
-
#: wp/
|
49 |
-
|
50 |
-
|
51 |
-
msgstr "پایگاه کنترل ترنسپاش"
|
52 |
-
|
53 |
-
#: wp/transposh_admin.php:175
|
54 |
-
#: wp/transposh_admin.php:243
|
55 |
-
#: wp/transposh_postpublish.php:50
|
56 |
-
#: wp/transposh_postpublish.php:51
|
57 |
-
#: wp/transposh_widget.php:84
|
58 |
-
#: wp/transposh_widget.php:311
|
59 |
#@ transposh
|
60 |
#@ default
|
61 |
msgid "Transposh"
|
62 |
msgstr "ترنسپاش"
|
63 |
|
64 |
-
#: wp/transposh_admin.php:
|
65 |
-
#@ transposh
|
66 |
-
msgid "About this plugin"
|
67 |
-
msgstr "درباره ی این افزونه"
|
68 |
-
|
69 |
-
#: wp/transposh_admin.php:213
|
70 |
#@ transposh
|
71 |
msgid "Plugin news"
|
72 |
msgstr "گزارش های افزونه"
|
73 |
|
74 |
-
#: wp/transposh_admin.php:
|
75 |
#@ transposh
|
76 |
msgid "Plugin stats"
|
77 |
msgstr "آمار افزونه"
|
78 |
|
79 |
-
#: wp/transposh_admin.php:
|
80 |
-
#@ transposh
|
81 |
-
msgid "Translate all"
|
82 |
-
msgstr "ترجمه ی همه"
|
83 |
-
|
84 |
-
#: wp/transposh_admin.php:216
|
85 |
-
#@ transposh
|
86 |
-
msgid "Supported languages"
|
87 |
-
msgstr "زبان های پشتیبانی شده"
|
88 |
-
|
89 |
-
#: wp/transposh_admin.php:217
|
90 |
-
#@ transposh
|
91 |
-
msgid "Translation settings"
|
92 |
-
msgstr "گزینه های ترجمه"
|
93 |
-
|
94 |
-
#: wp/transposh_admin.php:218
|
95 |
-
#@ transposh
|
96 |
-
msgid "Automatic translation settings"
|
97 |
-
msgstr "گزینه های ترجمه ی خودکار"
|
98 |
-
|
99 |
-
#: wp/transposh_admin.php:221
|
100 |
-
#@ transposh
|
101 |
-
msgid "Generic settings"
|
102 |
-
msgstr "گزینه های همگانی"
|
103 |
-
|
104 |
-
#: wp/transposh_admin.php:222
|
105 |
-
#@ transposh
|
106 |
-
msgid "Database maintenance"
|
107 |
-
msgstr "درست کردن (تعمیر) و نگه داری پایگاه داده"
|
108 |
-
|
109 |
-
#: wp/transposh_admin.php:237
|
110 |
#@ transposh
|
111 |
-
msgid "Transposh community features"
|
112 |
-
msgstr "ویژگی های همه گیر ترنسپاش"
|
113 |
-
|
114 |
-
#: wp/transposh_admin.php:273
|
115 |
-
#@ default
|
116 |
msgid "Save Changes"
|
117 |
msgstr "نگه داری دگرگونی ها"
|
118 |
|
119 |
-
#: wp/transposh_admin.php:
|
120 |
#@ transposh
|
121 |
msgid "Problems?"
|
122 |
msgstr "مشکل؟"
|
123 |
|
124 |
-
#: wp/transposh_admin.php:
|
125 |
-
#@ transposh
|
126 |
-
msgid "Plugin Homepage"
|
127 |
-
msgstr "خانه ی افزونه"
|
128 |
-
|
129 |
-
#: wp/transposh_admin.php:314
|
130 |
#@ transposh
|
131 |
msgid "Suggest a Feature"
|
132 |
msgstr "پیشنهاد یک ویژگی"
|
133 |
|
134 |
-
#: wp/transposh_admin.php:
|
135 |
#@ transposh
|
136 |
msgid "Report a Bug"
|
137 |
msgstr "گزارش یک نادرستی (خطا)"
|
138 |
|
139 |
-
#: wp/transposh_admin.php:
|
140 |
#@ transposh
|
141 |
msgid "Translate by clicking the button below"
|
142 |
msgstr "ترجمه کردن با فشردن دکمه ی زیر"
|
143 |
|
144 |
-
#: wp/transposh_admin.php:
|
145 |
#@ transposh
|
146 |
msgid "Translate All Now"
|
147 |
msgstr "هم اکنون همه را ترجمه کن"
|
148 |
|
149 |
-
#: wp/transposh_admin.php:
|
150 |
#@ transposh
|
151 |
msgid "Default Language (drag another language here to make it default)"
|
152 |
msgstr "زبان پیش گزیده (دکمه ی موشواره را روی یک زبان فشار دهید و به این جا بکشید و سپس رها کنید)"
|
153 |
|
154 |
-
#: wp/transposh_admin.php:
|
155 |
#@ transposh
|
156 |
msgid "Available Languages (Click to toggle language state - Drag to sort in the widget)"
|
157 |
msgstr "زبان های در دسترس (بر روی دگرگونی آمار زبان فشار دهید - بر پایه ی چینش ابزارک بکشید)"
|
158 |
|
159 |
-
#: wp/transposh_admin.php:
|
160 |
#@ transposh
|
161 |
msgid "Display options:"
|
162 |
msgstr "گزینه های نمایش:"
|
163 |
|
164 |
-
#: wp/transposh_admin.php:
|
165 |
#@ transposh
|
166 |
msgid "Toggle names of languages between English and Original"
|
167 |
msgstr "دگرگونی نام زبان های بین انگلیسی و زبان پایه"
|
168 |
|
169 |
-
#: wp/transposh_admin.php:
|
170 |
#@ transposh
|
171 |
msgid "Make all languages active"
|
172 |
msgstr "به کار انداختن همه ی زبان ها"
|
173 |
|
174 |
-
#: wp/transposh_admin.php:
|
175 |
#@ transposh
|
176 |
msgid "Sort by language name"
|
177 |
msgstr "چینش بر پایه ی نام زبان"
|
178 |
|
179 |
-
#: wp/transposh_admin.php:
|
180 |
#@ transposh
|
181 |
msgid "Sort by lSO code"
|
182 |
msgstr "چینش بر پایه ی کد ISO"
|
183 |
|
184 |
-
#: wp/transposh_admin.php:
|
185 |
-
#@ transposh
|
186 |
-
msgid "Legend:"
|
187 |
-
msgstr "درباره (توضیح)"
|
188 |
-
|
189 |
-
#: wp/transposh_admin.php:425
|
190 |
-
#@ transposh
|
191 |
-
msgid "Green - active"
|
192 |
-
msgstr "سبز - کارا (فعال)"
|
193 |
-
|
194 |
-
#: wp/transposh_admin.php:425
|
195 |
-
#@ transposh
|
196 |
-
msgid "Yellow - translateable (only translators will see this language)"
|
197 |
-
msgstr "زرد - ترجمه پذیر (تنها مترجم ها می توانند این زبان را ببینند)"
|
198 |
-
|
199 |
-
#: wp/transposh_admin.php:425
|
200 |
-
#@ transposh
|
201 |
-
msgid "blank - inactive"
|
202 |
-
msgstr "سپید - از کار افتاده (غیر فعال)"
|
203 |
-
|
204 |
-
#: wp/transposh_admin.php:447
|
205 |
#@ transposh
|
206 |
msgid "Who can translate ?"
|
207 |
msgstr "چه کسی می تواند ترجمه کند؟"
|
208 |
|
209 |
-
#: wp/transposh_admin.php:
|
210 |
#@ transposh
|
211 |
msgid "Anonymous"
|
212 |
msgstr "بی نام"
|
213 |
|
214 |
-
#: wp/transposh_admin.php:
|
215 |
#@ transposh
|
216 |
msgid "Enable default language translation"
|
217 |
msgstr "به کار انداختن ترجمه ی زبان پیش گزیده"
|
218 |
|
219 |
-
#: wp/transposh_admin.php:
|
220 |
#@ transposh
|
221 |
msgid "Allow translation of default language - useful for sites with more than one major language"
|
222 |
msgstr "اجازهی ترجمه ی زبان پیش گزیده - برای تارنماهای دارای بیش از یک زبان پایه سودمند است."
|
223 |
|
224 |
-
#: wp/transposh_admin.php:
|
225 |
#@ transposh
|
226 |
msgid "Enable search in translated languages"
|
227 |
msgstr "به کار انداختن جست و جو در زبان های ترجمه شده"
|
228 |
|
229 |
-
#: wp/transposh_admin.php:
|
230 |
#@ transposh
|
231 |
msgid "Enable url translation"
|
232 |
msgstr "به کار انداختن نشانی ترجمه"
|
233 |
|
234 |
-
#: wp/transposh_admin.php:
|
235 |
-
#: wp/transposh_admin.php:481
|
236 |
#@ transposh
|
237 |
msgid "experimental"
|
238 |
msgstr "آزمایشی"
|
239 |
|
240 |
-
#: wp/transposh_admin.php:
|
241 |
#@ transposh
|
242 |
msgid "Allow translation of permalinks and urls"
|
243 |
msgstr "اجازه دادن برای ترجمه ی پیوند یکتا و نشانی ها"
|
244 |
|
245 |
-
#: wp/transposh_admin.php:
|
246 |
#@ transposh
|
247 |
msgid "Enable gettext integration"
|
248 |
msgstr "به کار انداختن دریافت یکپارچه ی نوشته یا gettext integration"
|
249 |
|
250 |
-
#: wp/transposh_admin.php:
|
251 |
#@ transposh
|
252 |
msgid "Enable integration of Transposh with existing gettext interface (.po/.mo files)"
|
253 |
msgstr "به کار انداختن آمیختن ترانسپاش با پرونده های (.mo /.po) "
|
254 |
|
255 |
-
#: wp/transposh_admin.php:
|
256 |
#@ transposh
|
257 |
msgid "Enable automatic translation"
|
258 |
msgstr "به کار انداختن ترجمه ی خودکار"
|
259 |
|
260 |
-
#: wp/transposh_admin.php:
|
261 |
#@ transposh
|
262 |
msgid "Allow automatic translation of pages"
|
263 |
msgstr "اجازه به ترجمه ی خودکار برگه ها"
|
264 |
|
265 |
-
#: wp/transposh_admin.php:
|
266 |
#@ transposh
|
267 |
msgid "Enable automatic translation after posting"
|
268 |
msgstr "به کار انداختن ترجمه ی خودکار پس از آغاز نوشتن"
|
269 |
|
270 |
-
#: wp/transposh_admin.php:
|
271 |
#@ transposh
|
272 |
msgid "Do automatic translation immediately after a post has been published"
|
273 |
msgstr "ترجمه ی خودکار شتابان، پس از افزودن یک نوشته"
|
274 |
|
275 |
-
#: wp/transposh_admin.php:
|
276 |
#@ transposh
|
277 |
msgid "Select preferred auto translation engine"
|
278 |
msgstr "موتور ترجمه ی بهتر را برگزینید"
|
279 |
|
280 |
-
#: wp/transposh_admin.php:
|
281 |
#@ transposh
|
282 |
msgid "Translation engine:"
|
283 |
msgstr "موتور ترجمه کننده:"
|
284 |
|
285 |
-
#: wp/transposh_admin.php:
|
286 |
#@ transposh
|
287 |
msgid "Google"
|
288 |
msgstr "گوگل"
|
289 |
|
290 |
-
#: wp/transposh_admin.php:
|
291 |
#@ transposh
|
292 |
msgid "Bing"
|
293 |
msgstr "بینگ"
|
294 |
|
295 |
-
#: wp/transposh_admin.php:
|
296 |
#@ transposh
|
297 |
msgid "Rewrite URLs"
|
298 |
msgstr "بازنویسی نشانی ها"
|
299 |
|
300 |
-
#: wp/transposh_admin.php:
|
301 |
#@ transposh
|
302 |
msgid "Rewrite URLs to be search engine friendly, e.g. (http://transposh.org/<strong>en</strong>). Requires that permalinks will be enabled."
|
303 |
msgstr "بازنویسی نشانی های موتورهای جست و جو همانند (http://transposh.org/<strong>en</strong>).این کار هنگامی رخ می دهد که پیوندهای یکتا به کار افتاده باشند."
|
304 |
|
305 |
-
#: wp/transposh_admin.php:
|
306 |
#@ transposh
|
307 |
msgid "Add scripts to footer"
|
308 |
msgstr "افزودن اسکریپت ها به پانوشت (فوتر)"
|
309 |
|
310 |
-
#: wp/transposh_admin.php:
|
311 |
#@ transposh
|
312 |
msgid "Push transposh scripts to footer of page instead of header, makes pages load faster. Requires that your theme should have proper footer support."
|
313 |
msgstr "فشردن اسکریپت های ترنسپاش در پانوشت (فوتر) برگه به جای سربرگ (هیدر) شتاب بارگیری را افزایش می دهد. برای این کار پوسته ی شما باید پانوشت خوبی داشته باشد. "
|
314 |
|
315 |
-
#: wp/transposh_admin.php:
|
316 |
#@ transposh
|
317 |
msgid "Auto detect language for users"
|
318 |
msgstr "شناسایی خودکار زبان کاربرها"
|
319 |
|
320 |
-
#: wp/transposh_admin.php:
|
321 |
#@ transposh
|
322 |
msgid "This enables auto detection of language used by the user as defined in the ACCEPT_LANGUAGES they send. This will redirect the first page accessed in the session to the same page with the detected language."
|
323 |
msgstr "این به کارگیری شناسایی خودکار زبان کاربر به عنوان ACCEPT_LANGUAGES به آنها فرستاده می شود. این کار زبان پایه ی تارنما را دگرگون می کند و به طور خودکار زبان شناسایی شده را جایگزین می کند."
|
324 |
|
325 |
-
#: wp/transposh_admin.php:
|
326 |
#@ transposh
|
327 |
msgid "Delete all automated translations"
|
328 |
msgstr "پاک کردن همه ی ترجمه های خودکار"
|
329 |
|
330 |
-
#: wp/transposh_admin.php:
|
331 |
#@ transposh
|
332 |
msgid "Delete automated translations older than 14 days"
|
333 |
msgstr "پاک کردن ترجمه های خودکار پیش از 14 روز گذشته"
|
334 |
|
335 |
-
#: wp/transposh_admin.php:
|
336 |
#@ transposh
|
337 |
msgid "Attempt to fix errors caused by previous versions - please backup first"
|
338 |
msgstr "تلاش برای درست کردن نادرستی های پیش آمده در نگارش های پیشین - نخست برون بری کنید"
|
339 |
|
340 |
-
#: wp/transposh_admin.php:
|
341 |
-
#@ transposh
|
342 |
-
msgid "Backup service for human translation"
|
343 |
-
msgstr "سرویس برون بری برای ترجمه ی دستی"
|
344 |
-
|
345 |
-
#: wp/transposh_admin.php:615
|
346 |
#@ transposh
|
347 |
msgid "Enable daily backup"
|
348 |
msgstr "به کار انداختن برون بری روزانه"
|
349 |
|
350 |
-
#: wp/transposh_admin.php:
|
351 |
#@ transposh
|
352 |
msgid "Enable live backup"
|
353 |
msgstr "به کار انداختن برون بری زنده"
|
354 |
|
355 |
-
#: wp/transposh_admin.php:
|
356 |
#@ transposh
|
357 |
msgid "Disable backup (Can be run manually by clicking the button below)"
|
358 |
msgstr "از کار انداختن برون بری (به شیوه ی دستی با فشردن دکمه ی زیر رخ می دهد)"
|
359 |
|
360 |
-
#: wp/transposh_admin.php:
|
361 |
#@ transposh
|
362 |
msgid "Service Key:"
|
363 |
msgstr "کلید سرویس:"
|
364 |
|
365 |
-
#: wp/transposh_admin.php:
|
366 |
#@ transposh
|
367 |
msgid "How to restore?"
|
368 |
msgstr "چگونه بازگردانی کنیم؟"
|
369 |
|
370 |
-
#: wp/transposh_admin.php:
|
371 |
#@ transposh
|
372 |
msgid "Do Backup Now"
|
373 |
msgstr "هم اکنون برون بری (پشتیبان گیری) کن"
|
374 |
|
375 |
-
#: wp/transposh_db.php:
|
376 |
#@ transposh
|
377 |
msgid "Database stats"
|
378 |
msgstr "آمار پایگاه داده"
|
379 |
|
380 |
-
#: wp/transposh_db.php:
|
381 |
#, php-format
|
382 |
#@ transposh
|
383 |
msgid "Total of <strong style=\"color:red\">%s</strong> translated phrases."
|
384 |
msgstr "شمار <strong style=\"color:red\">%s</strong> واژه های ترجمه شده"
|
385 |
|
386 |
-
#: wp/transposh_db.php:
|
387 |
#, php-format
|
388 |
#@ transposh
|
389 |
msgid "<strong>%1s</strong> has <strong style=\"color:red\">%2s</strong> human translated phrases."
|
390 |
msgstr "<strong>%1s</strong>ترجمه ی واژه به دست انسان <strong style=\"color:red\">%2s</strong>دارد"
|
391 |
|
392 |
-
#: wp/transposh_db.php:
|
393 |
#@ transposh
|
394 |
msgid "Recent activity"
|
395 |
msgstr "واپسین کارها"
|
396 |
|
397 |
-
#: wp/transposh_db.php:
|
398 |
#, php-format
|
399 |
#@ transposh
|
400 |
msgid "On <strong>%1s</strong><br/>user <strong>%2s</strong> translated<br/>\"<strong>%3s</strong>\"<br/>to <strong style=\"color:red\">%4s</strong><br/>\"<strong>%5s</strong>\""
|
401 |
msgstr "در <strong>%1s</strong><br/>user <strong>%2s</strong> ترجمه شده<br/>\"<strong>%3s</strong>\"<br/>به <strong style=\"color:red\">%4s</strong><br/>\"<strong>%5s</strong>\""
|
402 |
|
403 |
-
#: wp/transposh_widget.php:
|
404 |
#@ transposh
|
405 |
msgid "Transposh language selection widget"
|
406 |
msgstr "ابزارک برگزیدن زبان ترنسپاش"
|
407 |
|
408 |
-
#: wp/transposh_widget.php:
|
409 |
#@ transposh
|
410 |
msgid "Set as default language"
|
411 |
msgstr "پیش گزیده کردن این زبان"
|
412 |
|
413 |
-
#: wp/transposh_widget.php:
|
414 |
#@ transposh
|
415 |
msgid "Style:"
|
416 |
msgstr "شیوه:"
|
417 |
|
418 |
-
#: wp/transposh_admin.php:
|
419 |
#@ transposh
|
420 |
msgid "Show progress bar"
|
421 |
msgstr "نمایش نوار پیشرفت"
|
422 |
|
423 |
-
#: wp/transposh_admin.php:
|
424 |
#@ transposh
|
425 |
msgid "Allow user to set current language as default"
|
426 |
msgstr "اجازه دادن به کاربر برای برگزیدن زبان کنونی به عنوان پیش گزیده "
|
427 |
|
428 |
-
#: wp/transposh_admin.php:
|
429 |
#@ transposh
|
430 |
msgid "Remove transposh logo (see <a href=\"http://transposh.org/logoterms\">terms</a>)"
|
431 |
msgstr "پاک کردن لوگوی ترنسپاش <a href=\"http://transposh.org/logoterms\">آیین نامه را بخوانید</a>)"
|
432 |
|
433 |
-
#: wp/transposh_admin.php:
|
434 |
-
#: wp/transposh_admin.php:563
|
435 |
#@ transposh
|
436 |
msgid "Edit interface (and progress bar) theme:"
|
437 |
msgstr "ویرایش پوسته ی نما و نوار پیشرفت:"
|
@@ -468,77 +390,77 @@ msgstr "گروه ترنسپاش"
|
|
468 |
msgid "%VERSION%"
|
469 |
msgstr "%VERSION%"
|
470 |
|
471 |
-
#: wp/transposh_admin.php:
|
472 |
#@ transposh
|
473 |
msgid "Language supported by google translate"
|
474 |
msgstr "زبان های پشتیبانی شده ی مترجم گوگل"
|
475 |
|
476 |
-
#: wp/transposh_admin.php:
|
477 |
#@ transposh
|
478 |
msgid "Language supported by bing translate"
|
479 |
msgstr "زبان های پشتیبانی شده ی مترجم بینگ"
|
480 |
|
481 |
-
#: wp/transposh_admin.php:
|
482 |
#@ transposh
|
483 |
msgid "Language supported by apertium translate"
|
484 |
msgstr "زبان های پشتیبانی شده ی مترجم آپرتیوم"
|
485 |
|
486 |
-
#: wp/transposh_admin.php:
|
487 |
#@ transposh
|
488 |
msgid "Language is written from right to left"
|
489 |
msgstr "زبان های نوشته شده از راست به چپ"
|
490 |
|
491 |
-
#: wp/transposh_admin.php:
|
492 |
#@ transposh
|
493 |
msgid "Allow search of translated languages (and the original language)"
|
494 |
msgstr "روا دانستن (اجازه دادن) ترجمه از زبان های ترجمه شده و زبان پایه"
|
495 |
|
496 |
-
#: wp/transposh_widget.php:
|
497 |
#@ transposh
|
498 |
msgid "translation plugin for wordpress"
|
499 |
msgstr "افزونه ی ترجمه برای وردپرس"
|
500 |
|
501 |
-
#: wp/transposh_widget.php:
|
502 |
#@ transposh
|
503 |
msgid "wordpress translation plugin"
|
504 |
msgstr "افزونه ی مترجم وردپرس"
|
505 |
|
506 |
-
#: wp/transposh_widget.php:
|
507 |
#@ transposh
|
508 |
msgid "translate your blog to 60+ languages"
|
509 |
msgstr "تارنمایتان را به بیش از 60 زبان ترجمه کنید"
|
510 |
|
511 |
-
#: wp/transposh_widget.php:
|
512 |
#@ transposh
|
513 |
msgid "website crowdsourcing translation plugin"
|
514 |
msgstr "تارنمای گروه سرچشمه ها (مجموعه منابع) افزونه ی مترجم"
|
515 |
|
516 |
-
#: wp/transposh_widget.php:
|
517 |
#@ transposh
|
518 |
msgid "google translate and bing translate plugin for wordpress"
|
519 |
msgstr "افزونه ی مترجم گوگل و مترجم بینگ برای وردپرس"
|
520 |
|
521 |
-
#: wp/transposh_admin.php:
|
522 |
#@ transposh
|
523 |
msgid "Show progress bar when a client triggers automatic translation"
|
524 |
msgstr "نمایش نوار پیشرفت در هنگام ترجمه "
|
525 |
|
526 |
-
#: wp/transposh_admin.php:
|
527 |
#@ transposh
|
528 |
msgid "Widget will allow setting this language as user default"
|
529 |
msgstr "ابزارک به کاربر این ویژگی را خواهد داد که این زبان را زبان پیش گزیده کند."
|
530 |
|
531 |
-
#: wp/transposh_admin.php:
|
532 |
#@ transposh
|
533 |
msgid "Transposh logo will not appear on widget"
|
534 |
msgstr "نشان ترنسپاش در ابزارک نمایش داده نشود"
|
535 |
|
536 |
-
#: wp/transposh_admin.php:
|
537 |
#@ transposh
|
538 |
msgid "Enable override for default locale"
|
539 |
msgstr ""
|
540 |
|
541 |
-
#: wp/transposh_admin.php:
|
542 |
#@ transposh
|
543 |
msgid "Enable overriding the default locale that is set in WP_LANG on default languages pages (such as untranslated pages and admin pages)"
|
544 |
msgstr ""
|
@@ -549,146 +471,468 @@ msgstr ""
|
|
549 |
msgid "Select language"
|
550 |
msgstr ""
|
551 |
|
552 |
-
#: wp/transposh_admin.php:
|
553 |
-
#@ transposh
|
554 |
-
msgid "Frontend settings"
|
555 |
-
msgstr ""
|
556 |
-
|
557 |
-
#: wp/transposh_admin.php:248
|
558 |
#, php-format
|
559 |
#@ transposh
|
560 |
msgid "Your current PHP memory limit of %s is quite low, if you experience blank pages please consider increasing it."
|
561 |
msgstr ""
|
562 |
|
563 |
-
#: wp/transposh_admin.php:
|
564 |
-
#: wp/transposh_admin.php:
|
565 |
#@ transposh
|
566 |
msgid "Check Transposh FAQs"
|
567 |
msgstr ""
|
568 |
|
569 |
-
#: wp/transposh_admin.php:
|
570 |
#@ transposh
|
571 |
msgid "We were not able to find a supported in-memory caching engine, installing one can improve performance."
|
572 |
msgstr ""
|
573 |
|
574 |
-
#: wp/transposh_admin.php:
|
575 |
#@ transposh
|
576 |
msgid "MSN API key"
|
577 |
msgstr ""
|
578 |
|
579 |
-
#: wp/transposh_admin.php:
|
580 |
-
#: wp/transposh_admin.php:
|
581 |
-
#: wp/transposh_admin.php:540
|
582 |
#@ transposh
|
583 |
msgid "API Key"
|
584 |
msgstr ""
|
585 |
|
586 |
-
#: wp/transposh_admin.php:
|
587 |
#@ transposh
|
588 |
msgid "Google API key"
|
589 |
msgstr ""
|
590 |
|
591 |
-
#: wp/transposh_admin.php:
|
592 |
#@ transposh
|
593 |
msgid "Allow collecting usage statistics"
|
594 |
msgstr ""
|
595 |
|
596 |
-
#: wp/transposh_postpublish.php:
|
597 |
#@ transposh
|
598 |
msgid "Set post language"
|
599 |
msgstr ""
|
600 |
|
601 |
-
#: wp/transposh_postpublish.php:
|
602 |
-
#@ transposh
|
603 |
-
msgid "Set page language"
|
604 |
-
msgstr ""
|
605 |
-
|
606 |
-
#: wp/transposh_postpublish.php:198
|
607 |
#@ default
|
608 |
msgid "Default"
|
609 |
msgstr ""
|
610 |
|
611 |
-
#: wp/transposh_widget.php:
|
612 |
#@ transposh
|
613 |
msgid "Title:"
|
614 |
msgstr ""
|
615 |
|
616 |
-
#: wp/transposh_widget.php:
|
617 |
#@ transposh
|
618 |
msgid "Transposh subwidget was not loaded correctly"
|
619 |
msgstr ""
|
620 |
|
621 |
#. TRANSLATORS: no need to translate this string
|
622 |
-
#: wp/transposh_widget.php:
|
623 |
#@ transposh
|
624 |
msgid "title"
|
625 |
msgstr ""
|
626 |
|
627 |
-
#: wp/transposh_admin.php:
|
628 |
#@ transposh
|
629 |
msgid "Language"
|
630 |
msgstr ""
|
631 |
|
632 |
-
#: wp/transposh_admin.php:
|
633 |
#@ transposh
|
634 |
msgid "This option enables collection of statistics by transposh that will be used to improve the product."
|
635 |
msgstr ""
|
636 |
|
637 |
#. TRANSLATORS: this will be the default widget title
|
638 |
-
#: wp/transposh_widget.php:
|
639 |
#@ transposh
|
640 |
msgid "Translation"
|
641 |
msgstr ""
|
642 |
|
643 |
-
#: wp/transposh_admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
644 |
#@ transposh
|
645 |
-
msgid "
|
646 |
msgstr ""
|
647 |
|
648 |
-
#: wp/transposh_admin.php:
|
649 |
#@ transposh
|
650 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
651 |
msgstr ""
|
652 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
653 |
#: wp/transposh_admin.php:530
|
654 |
#@ transposh
|
655 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
656 |
msgstr ""
|
657 |
|
658 |
#: wp/transposh_admin.php:532
|
659 |
#@ transposh
|
660 |
-
msgid "
|
661 |
msgstr ""
|
662 |
|
663 |
#: wp/transposh_admin.php:533
|
664 |
#@ transposh
|
665 |
-
msgid "
|
666 |
msgstr ""
|
667 |
|
668 |
#: wp/transposh_admin.php:534
|
669 |
#@ transposh
|
670 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
671 |
msgstr ""
|
672 |
|
673 |
#: wp/transposh_admin.php:539
|
674 |
#@ transposh
|
675 |
-
msgid "
|
676 |
msgstr ""
|
677 |
|
678 |
-
#: wp/transposh_admin.php:
|
679 |
#, php-format
|
680 |
#@ transposh
|
681 |
-
msgid "
|
682 |
msgstr ""
|
683 |
|
684 |
-
#: wp/transposh_admin.php:
|
685 |
-
#, php-format
|
686 |
#@ transposh
|
687 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
688 |
msgstr ""
|
689 |
|
690 |
#: wp/transposh_admin.php:636
|
691 |
#@ transposh
|
692 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
693 |
msgstr ""
|
694 |
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
+
"Project-Id-Version: Transposh Translation Filter v%VERSION%\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
"POT-Creation-Date: 2011-02-07 03:02+0330\n"
|
6 |
+
"PO-Revision-Date: 2012-12-12 19:50:33+0000\n"
|
7 |
"Last-Translator: Sushyant Zavarzadeh <sushyant@zavarzadeh.org>\n"
|
8 |
"Language-Team: S & S Group www.zavarzadeh.org <sushyant@zavarzadeh.org>\n"
|
9 |
"MIME-Version: 1.0\n"
|
19 |
"X-Poedit-SearchPath-0: C:/Documents and Settings/zavarzadeh/Desktop/transposh-translation-filter-for-wordpress\n"
|
20 |
"X-Textdomain-Support: yes"
|
21 |
|
22 |
+
#: transposh.php:921
|
23 |
+
#: wp/transposh_admin.php:59
|
24 |
#@ default
|
25 |
+
#@ transposh
|
26 |
msgid "Settings"
|
27 |
msgstr "گزینه ها"
|
28 |
|
32 |
msgid "%s translated a phrase to %s with transposh:"
|
33 |
msgstr "%ترجمه ی واژه ها %s با ترنسپاش"
|
34 |
|
35 |
+
#: wp/transposh_admin.php:185
|
36 |
#@ transposh
|
37 |
msgid "Transposh makes your blog translatable"
|
38 |
msgstr "ترنسپاش تارنمای شما را ترجمه می کند"
|
39 |
|
40 |
+
#: wp/transposh_admin.php:187
|
41 |
#@ transposh
|
42 |
msgid "Plugin homepage"
|
43 |
msgstr "خانه ی افزونه"
|
44 |
|
45 |
+
#: wp/transposh_admin.php:188
|
46 |
#@ transposh
|
47 |
msgid "Frequently asked questions"
|
48 |
msgstr "پرسش و پاسخ"
|
49 |
|
50 |
+
#: wp/transposh_postpublish.php:55
|
51 |
+
#: wp/transposh_widget.php:86
|
52 |
+
#: wp/transposh_widget.php:315
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
#@ transposh
|
54 |
#@ default
|
55 |
msgid "Transposh"
|
56 |
msgstr "ترنسپاش"
|
57 |
|
58 |
+
#: wp/transposh_admin.php:283
|
|
|
|
|
|
|
|
|
|
|
59 |
#@ transposh
|
60 |
msgid "Plugin news"
|
61 |
msgstr "گزارش های افزونه"
|
62 |
|
63 |
+
#: wp/transposh_admin.php:284
|
64 |
#@ transposh
|
65 |
msgid "Plugin stats"
|
66 |
msgstr "آمار افزونه"
|
67 |
|
68 |
+
#: wp/transposh_admin.php:316
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
#@ transposh
|
|
|
|
|
|
|
|
|
|
|
70 |
msgid "Save Changes"
|
71 |
msgstr "نگه داری دگرگونی ها"
|
72 |
|
73 |
+
#: wp/transposh_admin.php:653
|
74 |
#@ transposh
|
75 |
msgid "Problems?"
|
76 |
msgstr "مشکل؟"
|
77 |
|
78 |
+
#: wp/transposh_admin.php:616
|
|
|
|
|
|
|
|
|
|
|
79 |
#@ transposh
|
80 |
msgid "Suggest a Feature"
|
81 |
msgstr "پیشنهاد یک ویژگی"
|
82 |
|
83 |
+
#: wp/transposh_admin.php:617
|
84 |
#@ transposh
|
85 |
msgid "Report a Bug"
|
86 |
msgstr "گزارش یک نادرستی (خطا)"
|
87 |
|
88 |
+
#: wp/transposh_admin.php:559
|
89 |
#@ transposh
|
90 |
msgid "Translate by clicking the button below"
|
91 |
msgstr "ترجمه کردن با فشردن دکمه ی زیر"
|
92 |
|
93 |
+
#: wp/transposh_admin.php:561
|
94 |
#@ transposh
|
95 |
msgid "Translate All Now"
|
96 |
msgstr "هم اکنون همه را ترجمه کن"
|
97 |
|
98 |
+
#: wp/transposh_admin.php:364
|
99 |
#@ transposh
|
100 |
msgid "Default Language (drag another language here to make it default)"
|
101 |
msgstr "زبان پیش گزیده (دکمه ی موشواره را روی یک زبان فشار دهید و به این جا بکشید و سپس رها کنید)"
|
102 |
|
103 |
+
#: wp/transposh_admin.php:372
|
104 |
#@ transposh
|
105 |
msgid "Available Languages (Click to toggle language state - Drag to sort in the widget)"
|
106 |
msgstr "زبان های در دسترس (بر روی دگرگونی آمار زبان فشار دهید - بر پایه ی چینش ابزارک بکشید)"
|
107 |
|
108 |
+
#: wp/transposh_admin.php:397
|
109 |
#@ transposh
|
110 |
msgid "Display options:"
|
111 |
msgstr "گزینه های نمایش:"
|
112 |
|
113 |
+
#: wp/transposh_admin.php:398
|
114 |
#@ transposh
|
115 |
msgid "Toggle names of languages between English and Original"
|
116 |
msgstr "دگرگونی نام زبان های بین انگلیسی و زبان پایه"
|
117 |
|
118 |
+
#: wp/transposh_admin.php:399
|
119 |
#@ transposh
|
120 |
msgid "Make all languages active"
|
121 |
msgstr "به کار انداختن همه ی زبان ها"
|
122 |
|
123 |
+
#: wp/transposh_admin.php:400
|
124 |
#@ transposh
|
125 |
msgid "Sort by language name"
|
126 |
msgstr "چینش بر پایه ی نام زبان"
|
127 |
|
128 |
+
#: wp/transposh_admin.php:401
|
129 |
#@ transposh
|
130 |
msgid "Sort by lSO code"
|
131 |
msgstr "چینش بر پایه ی کد ISO"
|
132 |
|
133 |
+
#: wp/transposh_admin.php:412
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
134 |
#@ transposh
|
135 |
msgid "Who can translate ?"
|
136 |
msgstr "چه کسی می تواند ترجمه کند؟"
|
137 |
|
138 |
+
#: wp/transposh_admin.php:419
|
139 |
#@ transposh
|
140 |
msgid "Anonymous"
|
141 |
msgstr "بی نام"
|
142 |
|
143 |
+
#: wp/transposh_admin.php:421
|
144 |
#@ transposh
|
145 |
msgid "Enable default language translation"
|
146 |
msgstr "به کار انداختن ترجمه ی زبان پیش گزیده"
|
147 |
|
148 |
+
#: wp/transposh_admin.php:422
|
149 |
#@ transposh
|
150 |
msgid "Allow translation of default language - useful for sites with more than one major language"
|
151 |
msgstr "اجازهی ترجمه ی زبان پیش گزیده - برای تارنماهای دارای بیش از یک زبان پایه سودمند است."
|
152 |
|
153 |
+
#: wp/transposh_admin.php:423
|
154 |
#@ transposh
|
155 |
msgid "Enable search in translated languages"
|
156 |
msgstr "به کار انداختن جست و جو در زبان های ترجمه شده"
|
157 |
|
158 |
+
#: wp/transposh_admin.php:518
|
159 |
#@ transposh
|
160 |
msgid "Enable url translation"
|
161 |
msgstr "به کار انداختن نشانی ترجمه"
|
162 |
|
163 |
+
#: wp/transposh_admin.php:518
|
|
|
164 |
#@ transposh
|
165 |
msgid "experimental"
|
166 |
msgstr "آزمایشی"
|
167 |
|
168 |
+
#: wp/transposh_admin.php:518
|
169 |
#@ transposh
|
170 |
msgid "Allow translation of permalinks and urls"
|
171 |
msgstr "اجازه دادن برای ترجمه ی پیوند یکتا و نشانی ها"
|
172 |
|
173 |
+
#: wp/transposh_admin.php:425
|
174 |
#@ transposh
|
175 |
msgid "Enable gettext integration"
|
176 |
msgstr "به کار انداختن دریافت یکپارچه ی نوشته یا gettext integration"
|
177 |
|
178 |
+
#: wp/transposh_admin.php:426
|
179 |
#@ transposh
|
180 |
msgid "Enable integration of Transposh with existing gettext interface (.po/.mo files)"
|
181 |
msgstr "به کار انداختن آمیختن ترانسپاش با پرونده های (.mo /.po) "
|
182 |
|
183 |
+
#: wp/transposh_admin.php:460
|
184 |
#@ transposh
|
185 |
msgid "Enable automatic translation"
|
186 |
msgstr "به کار انداختن ترجمه ی خودکار"
|
187 |
|
188 |
+
#: wp/transposh_admin.php:461
|
189 |
#@ transposh
|
190 |
msgid "Allow automatic translation of pages"
|
191 |
msgstr "اجازه به ترجمه ی خودکار برگه ها"
|
192 |
|
193 |
+
#: wp/transposh_admin.php:462
|
194 |
#@ transposh
|
195 |
msgid "Enable automatic translation after posting"
|
196 |
msgstr "به کار انداختن ترجمه ی خودکار پس از آغاز نوشتن"
|
197 |
|
198 |
+
#: wp/transposh_admin.php:463
|
199 |
#@ transposh
|
200 |
msgid "Do automatic translation immediately after a post has been published"
|
201 |
msgstr "ترجمه ی خودکار شتابان، پس از افزودن یک نوشته"
|
202 |
|
203 |
+
#: wp/transposh_admin.php:470
|
204 |
#@ transposh
|
205 |
msgid "Select preferred auto translation engine"
|
206 |
msgstr "موتور ترجمه ی بهتر را برگزینید"
|
207 |
|
208 |
+
#: wp/transposh_admin.php:471
|
209 |
#@ transposh
|
210 |
msgid "Translation engine:"
|
211 |
msgstr "موتور ترجمه کننده:"
|
212 |
|
213 |
+
#: wp/transposh_admin.php:472
|
214 |
#@ transposh
|
215 |
msgid "Google"
|
216 |
msgstr "گوگل"
|
217 |
|
218 |
+
#: wp/transposh_admin.php:473
|
219 |
#@ transposh
|
220 |
msgid "Bing"
|
221 |
msgstr "بینگ"
|
222 |
|
223 |
+
#: wp/transposh_admin.php:433
|
224 |
#@ transposh
|
225 |
msgid "Rewrite URLs"
|
226 |
msgstr "بازنویسی نشانی ها"
|
227 |
|
228 |
+
#: wp/transposh_admin.php:436
|
229 |
#@ transposh
|
230 |
msgid "Rewrite URLs to be search engine friendly, e.g. (http://transposh.org/<strong>en</strong>). Requires that permalinks will be enabled."
|
231 |
msgstr "بازنویسی نشانی های موتورهای جست و جو همانند (http://transposh.org/<strong>en</strong>).این کار هنگامی رخ می دهد که پیوندهای یکتا به کار افتاده باشند."
|
232 |
|
233 |
+
#: wp/transposh_admin.php:437
|
234 |
#@ transposh
|
235 |
msgid "Add scripts to footer"
|
236 |
msgstr "افزودن اسکریپت ها به پانوشت (فوتر)"
|
237 |
|
238 |
+
#: wp/transposh_admin.php:439
|
239 |
#@ transposh
|
240 |
msgid "Push transposh scripts to footer of page instead of header, makes pages load faster. Requires that your theme should have proper footer support."
|
241 |
msgstr "فشردن اسکریپت های ترنسپاش در پانوشت (فوتر) برگه به جای سربرگ (هیدر) شتاب بارگیری را افزایش می دهد. برای این کار پوسته ی شما باید پانوشت خوبی داشته باشد. "
|
242 |
|
243 |
+
#: wp/transposh_admin.php:440
|
244 |
#@ transposh
|
245 |
msgid "Auto detect language for users"
|
246 |
msgstr "شناسایی خودکار زبان کاربرها"
|
247 |
|
248 |
+
#: wp/transposh_admin.php:442
|
249 |
#@ transposh
|
250 |
msgid "This enables auto detection of language used by the user as defined in the ACCEPT_LANGUAGES they send. This will redirect the first page accessed in the session to the same page with the detected language."
|
251 |
msgstr "این به کارگیری شناسایی خودکار زبان کاربر به عنوان ACCEPT_LANGUAGES به آنها فرستاده می شود. این کار زبان پایه ی تارنما را دگرگون می کند و به طور خودکار زبان شناسایی شده را جایگزین می کند."
|
252 |
|
253 |
+
#: wp/transposh_admin.php:554
|
254 |
#@ transposh
|
255 |
msgid "Delete all automated translations"
|
256 |
msgstr "پاک کردن همه ی ترجمه های خودکار"
|
257 |
|
258 |
+
#: wp/transposh_admin.php:555
|
259 |
#@ transposh
|
260 |
msgid "Delete automated translations older than 14 days"
|
261 |
msgstr "پاک کردن ترجمه های خودکار پیش از 14 روز گذشته"
|
262 |
|
263 |
+
#: wp/transposh_admin.php:556
|
264 |
#@ transposh
|
265 |
msgid "Attempt to fix errors caused by previous versions - please backup first"
|
266 |
msgstr "تلاش برای درست کردن نادرستی های پیش آمده در نگارش های پیشین - نخست برون بری کنید"
|
267 |
|
268 |
+
#: wp/transposh_admin.php:451
|
|
|
|
|
|
|
|
|
|
|
269 |
#@ transposh
|
270 |
msgid "Enable daily backup"
|
271 |
msgstr "به کار انداختن برون بری روزانه"
|
272 |
|
273 |
+
#: wp/transposh_admin.php:452
|
274 |
#@ transposh
|
275 |
msgid "Enable live backup"
|
276 |
msgstr "به کار انداختن برون بری زنده"
|
277 |
|
278 |
+
#: wp/transposh_admin.php:453
|
279 |
#@ transposh
|
280 |
msgid "Disable backup (Can be run manually by clicking the button below)"
|
281 |
msgstr "از کار انداختن برون بری (به شیوه ی دستی با فشردن دکمه ی زیر رخ می دهد)"
|
282 |
|
283 |
+
#: wp/transposh_admin.php:454
|
284 |
#@ transposh
|
285 |
msgid "Service Key:"
|
286 |
msgstr "کلید سرویس:"
|
287 |
|
288 |
+
#: wp/transposh_admin.php:454
|
289 |
#@ transposh
|
290 |
msgid "How to restore?"
|
291 |
msgstr "چگونه بازگردانی کنیم؟"
|
292 |
|
293 |
+
#: wp/transposh_admin.php:548
|
294 |
#@ transposh
|
295 |
msgid "Do Backup Now"
|
296 |
msgstr "هم اکنون برون بری (پشتیبان گیری) کن"
|
297 |
|
298 |
+
#: wp/transposh_db.php:684
|
299 |
#@ transposh
|
300 |
msgid "Database stats"
|
301 |
msgstr "آمار پایگاه داده"
|
302 |
|
303 |
+
#: wp/transposh_db.php:689
|
304 |
#, php-format
|
305 |
#@ transposh
|
306 |
msgid "Total of <strong style=\"color:red\">%s</strong> translated phrases."
|
307 |
msgstr "شمار <strong style=\"color:red\">%s</strong> واژه های ترجمه شده"
|
308 |
|
309 |
+
#: wp/transposh_db.php:696
|
310 |
#, php-format
|
311 |
#@ transposh
|
312 |
msgid "<strong>%1s</strong> has <strong style=\"color:red\">%2s</strong> human translated phrases."
|
313 |
msgstr "<strong>%1s</strong>ترجمه ی واژه به دست انسان <strong style=\"color:red\">%2s</strong>دارد"
|
314 |
|
315 |
+
#: wp/transposh_db.php:699
|
316 |
#@ transposh
|
317 |
msgid "Recent activity"
|
318 |
msgstr "واپسین کارها"
|
319 |
|
320 |
+
#: wp/transposh_db.php:704
|
321 |
#, php-format
|
322 |
#@ transposh
|
323 |
msgid "On <strong>%1s</strong><br/>user <strong>%2s</strong> translated<br/>\"<strong>%3s</strong>\"<br/>to <strong style=\"color:red\">%4s</strong><br/>\"<strong>%5s</strong>\""
|
324 |
msgstr "در <strong>%1s</strong><br/>user <strong>%2s</strong> ترجمه شده<br/>\"<strong>%3s</strong>\"<br/>به <strong style=\"color:red\">%4s</strong><br/>\"<strong>%5s</strong>\""
|
325 |
|
326 |
+
#: wp/transposh_widget.php:84
|
327 |
#@ transposh
|
328 |
msgid "Transposh language selection widget"
|
329 |
msgstr "ابزارک برگزیدن زبان ترنسپاش"
|
330 |
|
331 |
+
#: wp/transposh_widget.php:288
|
332 |
#@ transposh
|
333 |
msgid "Set as default language"
|
334 |
msgstr "پیش گزیده کردن این زبان"
|
335 |
|
336 |
+
#: wp/transposh_widget.php:129
|
337 |
#@ transposh
|
338 |
msgid "Style:"
|
339 |
msgstr "شیوه:"
|
340 |
|
341 |
+
#: wp/transposh_admin.php:505
|
342 |
#@ transposh
|
343 |
msgid "Show progress bar"
|
344 |
msgstr "نمایش نوار پیشرفت"
|
345 |
|
346 |
+
#: wp/transposh_admin.php:508
|
347 |
#@ transposh
|
348 |
msgid "Allow user to set current language as default"
|
349 |
msgstr "اجازه دادن به کاربر برای برگزیدن زبان کنونی به عنوان پیش گزیده "
|
350 |
|
351 |
+
#: wp/transposh_admin.php:511
|
352 |
#@ transposh
|
353 |
msgid "Remove transposh logo (see <a href=\"http://transposh.org/logoterms\">terms</a>)"
|
354 |
msgstr "پاک کردن لوگوی ترنسپاش <a href=\"http://transposh.org/logoterms\">آیین نامه را بخوانید</a>)"
|
355 |
|
356 |
+
#: wp/transposh_admin.php:514
|
|
|
357 |
#@ transposh
|
358 |
msgid "Edit interface (and progress bar) theme:"
|
359 |
msgstr "ویرایش پوسته ی نما و نوار پیشرفت:"
|
390 |
msgid "%VERSION%"
|
391 |
msgstr "%VERSION%"
|
392 |
|
393 |
+
#: wp/transposh_admin.php:384
|
394 |
#@ transposh
|
395 |
msgid "Language supported by google translate"
|
396 |
msgstr "زبان های پشتیبانی شده ی مترجم گوگل"
|
397 |
|
398 |
+
#: wp/transposh_admin.php:386
|
399 |
#@ transposh
|
400 |
msgid "Language supported by bing translate"
|
401 |
msgstr "زبان های پشتیبانی شده ی مترجم بینگ"
|
402 |
|
403 |
+
#: wp/transposh_admin.php:388
|
404 |
#@ transposh
|
405 |
msgid "Language supported by apertium translate"
|
406 |
msgstr "زبان های پشتیبانی شده ی مترجم آپرتیوم"
|
407 |
|
408 |
+
#: wp/transposh_admin.php:392
|
409 |
#@ transposh
|
410 |
msgid "Language is written from right to left"
|
411 |
msgstr "زبان های نوشته شده از راست به چپ"
|
412 |
|
413 |
+
#: wp/transposh_admin.php:424
|
414 |
#@ transposh
|
415 |
msgid "Allow search of translated languages (and the original language)"
|
416 |
msgstr "روا دانستن (اجازه دادن) ترجمه از زبان های ترجمه شده و زبان پایه"
|
417 |
|
418 |
+
#: wp/transposh_widget.php:318
|
419 |
#@ transposh
|
420 |
msgid "translation plugin for wordpress"
|
421 |
msgstr "افزونه ی ترجمه برای وردپرس"
|
422 |
|
423 |
+
#: wp/transposh_widget.php:321
|
424 |
#@ transposh
|
425 |
msgid "wordpress translation plugin"
|
426 |
msgstr "افزونه ی مترجم وردپرس"
|
427 |
|
428 |
+
#: wp/transposh_widget.php:324
|
429 |
#@ transposh
|
430 |
msgid "translate your blog to 60+ languages"
|
431 |
msgstr "تارنمایتان را به بیش از 60 زبان ترجمه کنید"
|
432 |
|
433 |
+
#: wp/transposh_widget.php:327
|
434 |
#@ transposh
|
435 |
msgid "website crowdsourcing translation plugin"
|
436 |
msgstr "تارنمای گروه سرچشمه ها (مجموعه منابع) افزونه ی مترجم"
|
437 |
|
438 |
+
#: wp/transposh_widget.php:330
|
439 |
#@ transposh
|
440 |
msgid "google translate and bing translate plugin for wordpress"
|
441 |
msgstr "افزونه ی مترجم گوگل و مترجم بینگ برای وردپرس"
|
442 |
|
443 |
+
#: wp/transposh_admin.php:506
|
444 |
#@ transposh
|
445 |
msgid "Show progress bar when a client triggers automatic translation"
|
446 |
msgstr "نمایش نوار پیشرفت در هنگام ترجمه "
|
447 |
|
448 |
+
#: wp/transposh_admin.php:509
|
449 |
#@ transposh
|
450 |
msgid "Widget will allow setting this language as user default"
|
451 |
msgstr "ابزارک به کاربر این ویژگی را خواهد داد که این زبان را زبان پیش گزیده کند."
|
452 |
|
453 |
+
#: wp/transposh_admin.php:512
|
454 |
#@ transposh
|
455 |
msgid "Transposh logo will not appear on widget"
|
456 |
msgstr "نشان ترنسپاش در ابزارک نمایش داده نشود"
|
457 |
|
458 |
+
#: wp/transposh_admin.php:428
|
459 |
#@ transposh
|
460 |
msgid "Enable override for default locale"
|
461 |
msgstr ""
|
462 |
|
463 |
+
#: wp/transposh_admin.php:429
|
464 |
#@ transposh
|
465 |
msgid "Enable overriding the default locale that is set in WP_LANG on default languages pages (such as untranslated pages and admin pages)"
|
466 |
msgstr ""
|
471 |
msgid "Select language"
|
472 |
msgstr ""
|
473 |
|
474 |
+
#: wp/transposh_admin.php:734
|
|
|
|
|
|
|
|
|
|
|
475 |
#, php-format
|
476 |
#@ transposh
|
477 |
msgid "Your current PHP memory limit of %s is quite low, if you experience blank pages please consider increasing it."
|
478 |
msgstr ""
|
479 |
|
480 |
+
#: wp/transposh_admin.php:734
|
481 |
+
#: wp/transposh_admin.php:738
|
482 |
#@ transposh
|
483 |
msgid "Check Transposh FAQs"
|
484 |
msgstr ""
|
485 |
|
486 |
+
#: wp/transposh_admin.php:738
|
487 |
#@ transposh
|
488 |
msgid "We were not able to find a supported in-memory caching engine, installing one can improve performance."
|
489 |
msgstr ""
|
490 |
|
491 |
+
#: wp/transposh_admin.php:465
|
492 |
#@ transposh
|
493 |
msgid "MSN API key"
|
494 |
msgstr ""
|
495 |
|
496 |
+
#: wp/transposh_admin.php:466
|
497 |
+
#: wp/transposh_admin.php:469
|
|
|
498 |
#@ transposh
|
499 |
msgid "API Key"
|
500 |
msgstr ""
|
501 |
|
502 |
+
#: wp/transposh_admin.php:468
|
503 |
#@ transposh
|
504 |
msgid "Google API key"
|
505 |
msgstr ""
|
506 |
|
507 |
+
#: wp/transposh_admin.php:443
|
508 |
#@ transposh
|
509 |
msgid "Allow collecting usage statistics"
|
510 |
msgstr ""
|
511 |
|
512 |
+
#: wp/transposh_postpublish.php:57
|
513 |
#@ transposh
|
514 |
msgid "Set post language"
|
515 |
msgstr ""
|
516 |
|
517 |
+
#: wp/transposh_postpublish.php:203
|
|
|
|
|
|
|
|
|
|
|
518 |
#@ default
|
519 |
msgid "Default"
|
520 |
msgstr ""
|
521 |
|
522 |
+
#: wp/transposh_widget.php:124
|
523 |
#@ transposh
|
524 |
msgid "Title:"
|
525 |
msgstr ""
|
526 |
|
527 |
+
#: wp/transposh_widget.php:256
|
528 |
#@ transposh
|
529 |
msgid "Transposh subwidget was not loaded correctly"
|
530 |
msgstr ""
|
531 |
|
532 |
#. TRANSLATORS: no need to translate this string
|
533 |
+
#: wp/transposh_widget.php:273
|
534 |
#@ transposh
|
535 |
msgid "title"
|
536 |
msgstr ""
|
537 |
|
538 |
+
#: wp/transposh_admin.php:760
|
539 |
#@ transposh
|
540 |
msgid "Language"
|
541 |
msgstr ""
|
542 |
|
543 |
+
#: wp/transposh_admin.php:444
|
544 |
#@ transposh
|
545 |
msgid "This option enables collection of statistics by transposh that will be used to improve the product."
|
546 |
msgstr ""
|
547 |
|
548 |
#. TRANSLATORS: this will be the default widget title
|
549 |
+
#: wp/transposh_widget.php:119
|
550 |
#@ transposh
|
551 |
msgid "Translation"
|
552 |
msgstr ""
|
553 |
|
554 |
+
#: wp/transposh_admin.php:390
|
555 |
+
#@ transposh
|
556 |
+
msgid "Language supported by one hour translation"
|
557 |
+
msgstr ""
|
558 |
+
|
559 |
+
#: wp/transposh_admin.php:477
|
560 |
+
#@ transposh
|
561 |
+
msgid "<a href=\"http://transposh.org/redir/oht\">One Hour Translation</a>, is the largest professional translation service online, with thousands of business customers, including 57% of the Fortune 500 companies, and over 15000 translators worldwide."
|
562 |
+
msgstr ""
|
563 |
+
|
564 |
+
#: wp/transposh_admin.php:479
|
565 |
#@ transposh
|
566 |
+
msgid "One Hour Translation provides high-quality, fast professional translation to/from any language, and has specific domain expertise in SW localization, technical, business, and legal translations."
|
567 |
msgstr ""
|
568 |
|
569 |
+
#: wp/transposh_admin.php:483
|
570 |
#@ transposh
|
571 |
+
msgid "One Hour Translation account ID"
|
572 |
+
msgstr ""
|
573 |
+
|
574 |
+
#: wp/transposh_admin.php:484
|
575 |
+
#: wp/transposh_admin.php:488
|
576 |
+
#@ transposh
|
577 |
+
msgid "Account ID"
|
578 |
+
msgstr ""
|
579 |
+
|
580 |
+
#: wp/transposh_admin.php:487
|
581 |
+
#@ transposh
|
582 |
+
msgid "One Hour Translation secret key"
|
583 |
+
msgstr ""
|
584 |
+
|
585 |
+
#: wp/transposh_admin.php:499
|
586 |
+
#, php-format
|
587 |
+
#@ transposh
|
588 |
+
msgid "%d projects have been submitted and waiting for completion"
|
589 |
+
msgstr ""
|
590 |
+
|
591 |
+
#: wp/transposh_admin.php:756
|
592 |
+
#@ transposh
|
593 |
+
msgid "Unset"
|
594 |
+
msgstr ""
|
595 |
+
|
596 |
+
#: wp/transposh_admin.php:57
|
597 |
+
#@ transposh
|
598 |
+
msgid "Dashboard"
|
599 |
+
msgstr ""
|
600 |
+
|
601 |
+
#: wp/transposh_admin.php:58
|
602 |
+
#@ transposh
|
603 |
+
msgid "Languages"
|
604 |
+
msgstr ""
|
605 |
+
|
606 |
+
#: wp/transposh_admin.php:60
|
607 |
+
#@ transposh
|
608 |
+
msgid "Translation Engines"
|
609 |
+
msgstr ""
|
610 |
+
|
611 |
+
#: wp/transposh_admin.php:61
|
612 |
+
#@ transposh
|
613 |
+
msgid "Widgets settings"
|
614 |
+
msgstr ""
|
615 |
+
|
616 |
+
#: wp/transposh_admin.php:62
|
617 |
+
#@ transposh
|
618 |
+
msgid "Advanced"
|
619 |
+
msgstr ""
|
620 |
+
|
621 |
+
#: wp/transposh_admin.php:63
|
622 |
+
#@ transposh
|
623 |
+
msgid "Utilities"
|
624 |
+
msgstr ""
|
625 |
+
|
626 |
+
#: wp/transposh_admin.php:64
|
627 |
+
#@ transposh
|
628 |
+
msgid "About"
|
629 |
+
msgstr ""
|
630 |
+
|
631 |
+
#: wp/transposh_admin.php:65
|
632 |
+
#@ transposh
|
633 |
+
msgid "Support"
|
634 |
+
msgstr ""
|
635 |
+
|
636 |
+
#: wp/transposh_admin.php:186
|
637 |
+
#@ transposh
|
638 |
+
msgid "For further help and assistance, please look at the following resources:"
|
639 |
+
msgstr ""
|
640 |
+
|
641 |
+
#: wp/transposh_admin.php:189
|
642 |
+
#@ transposh
|
643 |
+
msgid "Development website"
|
644 |
+
msgstr ""
|
645 |
+
|
646 |
+
#: wp/transposh_admin.php:278
|
647 |
+
#@ transposh
|
648 |
+
msgid "Transposh Help"
|
649 |
+
msgstr ""
|
650 |
+
|
651 |
+
#: wp/transposh_admin.php:407
|
652 |
+
#@ transposh
|
653 |
+
msgid "Translation related settings"
|
654 |
+
msgstr ""
|
655 |
+
|
656 |
+
#: wp/transposh_admin.php:432
|
657 |
+
#@ transposh
|
658 |
+
msgid "General settings"
|
659 |
msgstr ""
|
660 |
|
661 |
+
#: wp/transposh_admin.php:450
|
662 |
+
#@ transposh
|
663 |
+
msgid "Backup service settings"
|
664 |
+
msgstr ""
|
665 |
+
|
666 |
+
#: wp/transposh_admin.php:459
|
667 |
+
#@ transposh
|
668 |
+
msgid "Automatic Translation Settings"
|
669 |
+
msgstr ""
|
670 |
+
|
671 |
+
#: wp/transposh_admin.php:477
|
672 |
+
#@ transposh
|
673 |
+
msgid "Professional Translation Settings"
|
674 |
+
msgstr ""
|
675 |
+
|
676 |
+
#: wp/transposh_admin.php:494
|
677 |
+
#, php-format
|
678 |
+
#@ transposh
|
679 |
+
msgid "%d phrases currently queued for next job in ~%d minutes"
|
680 |
+
msgstr ""
|
681 |
+
|
682 |
+
#: wp/transposh_admin.php:520
|
683 |
+
#@ transposh
|
684 |
+
msgid "Parser related settings"
|
685 |
+
msgstr ""
|
686 |
+
|
687 |
+
#: wp/transposh_admin.php:521
|
688 |
#: wp/transposh_admin.php:530
|
689 |
#@ transposh
|
690 |
+
msgid "This is extremely dangerous, will break your current translations, and might cause severe hickups, only proceed if you really know what you are doing."
|
691 |
+
msgstr ""
|
692 |
+
|
693 |
+
#: wp/transposh_admin.php:522
|
694 |
+
#@ transposh
|
695 |
+
msgid "Disable punctuations break"
|
696 |
+
msgstr ""
|
697 |
+
|
698 |
+
#: wp/transposh_admin.php:523
|
699 |
+
#@ transposh
|
700 |
+
msgid "The parser will not break text into phrases when encountering punctuations such as dots"
|
701 |
+
msgstr ""
|
702 |
+
|
703 |
+
#: wp/transposh_admin.php:524
|
704 |
+
#@ transposh
|
705 |
+
msgid "Disable numbers break"
|
706 |
+
msgstr ""
|
707 |
+
|
708 |
+
#: wp/transposh_admin.php:525
|
709 |
+
#@ transposh
|
710 |
+
msgid "The parser will not break text into phrases when encountering numbers"
|
711 |
+
msgstr ""
|
712 |
+
|
713 |
+
#: wp/transposh_admin.php:526
|
714 |
+
#@ transposh
|
715 |
+
msgid "Disable html entities break"
|
716 |
+
msgstr ""
|
717 |
+
|
718 |
+
#: wp/transposh_admin.php:527
|
719 |
+
#@ transposh
|
720 |
+
msgid "The parser will not break text into phrases when encountering html entities"
|
721 |
+
msgstr ""
|
722 |
+
|
723 |
+
#: wp/transposh_admin.php:529
|
724 |
+
#@ transposh
|
725 |
+
msgid "Debug settings"
|
726 |
+
msgstr ""
|
727 |
+
|
728 |
+
#: wp/transposh_admin.php:531
|
729 |
+
#@ transposh
|
730 |
+
msgid "Enable debugging"
|
731 |
msgstr ""
|
732 |
|
733 |
#: wp/transposh_admin.php:532
|
734 |
#@ transposh
|
735 |
+
msgid "Enable running of Transposh internal debug functions"
|
736 |
msgstr ""
|
737 |
|
738 |
#: wp/transposh_admin.php:533
|
739 |
#@ transposh
|
740 |
+
msgid "Log file name"
|
741 |
msgstr ""
|
742 |
|
743 |
#: wp/transposh_admin.php:534
|
744 |
#@ transposh
|
745 |
+
msgid "Level of logging"
|
746 |
+
msgstr ""
|
747 |
+
|
748 |
+
#: wp/transposh_admin.php:535
|
749 |
+
#@ transposh
|
750 |
+
msgid "Critical"
|
751 |
+
msgstr ""
|
752 |
+
|
753 |
+
#: wp/transposh_admin.php:536
|
754 |
+
#@ transposh
|
755 |
+
msgid "Important"
|
756 |
+
msgstr ""
|
757 |
+
|
758 |
+
#: wp/transposh_admin.php:537
|
759 |
+
#@ transposh
|
760 |
+
msgid "Warning"
|
761 |
+
msgstr ""
|
762 |
+
|
763 |
+
#: wp/transposh_admin.php:538
|
764 |
+
#@ transposh
|
765 |
+
msgid "Information"
|
766 |
msgstr ""
|
767 |
|
768 |
#: wp/transposh_admin.php:539
|
769 |
#@ transposh
|
770 |
+
msgid "Debug"
|
771 |
msgstr ""
|
772 |
|
773 |
+
#: wp/transposh_admin.php:541
|
774 |
#, php-format
|
775 |
#@ transposh
|
776 |
+
msgid "Remote debug IP (Your current IP is %s)"
|
777 |
msgstr ""
|
778 |
|
779 |
+
#: wp/transposh_admin.php:553
|
|
|
780 |
#@ transposh
|
781 |
+
msgid "Reset configuration to default (saves keys)"
|
782 |
+
msgstr ""
|
783 |
+
|
784 |
+
#: wp/transposh_admin.php:567
|
785 |
+
#@ transposh
|
786 |
+
msgid "About Transposh"
|
787 |
+
msgstr ""
|
788 |
+
|
789 |
+
#: wp/transposh_admin.php:568
|
790 |
+
#@ transposh
|
791 |
+
msgid "Transposh was started at 2008 and is dedicated to provide tools to ease website translation."
|
792 |
+
msgstr ""
|
793 |
+
|
794 |
+
#: wp/transposh_admin.php:570
|
795 |
+
#@ transposh
|
796 |
+
msgid "Learn more about us in the following online presenses"
|
797 |
+
msgstr ""
|
798 |
+
|
799 |
+
#: wp/transposh_admin.php:573
|
800 |
+
#@ transposh
|
801 |
+
msgid "Our website"
|
802 |
+
msgstr ""
|
803 |
+
|
804 |
+
#: wp/transposh_admin.php:575
|
805 |
+
#@ transposh
|
806 |
+
msgid "Our blog"
|
807 |
+
msgstr ""
|
808 |
+
|
809 |
+
#: wp/transposh_admin.php:577
|
810 |
+
#@ transposh
|
811 |
+
msgid "Our twitter account (feel free to follow!)"
|
812 |
+
msgstr ""
|
813 |
+
|
814 |
+
#: wp/transposh_admin.php:579
|
815 |
+
#@ transposh
|
816 |
+
msgid "Our facebook page (feel free to like!)"
|
817 |
+
msgstr ""
|
818 |
+
|
819 |
+
#: wp/transposh_admin.php:581
|
820 |
+
#@ transposh
|
821 |
+
msgid "Our google plus page (add us to your circles!)"
|
822 |
+
msgstr ""
|
823 |
+
|
824 |
+
#: wp/transposh_admin.php:583
|
825 |
+
#@ transposh
|
826 |
+
msgid "Our youtube channel"
|
827 |
+
msgstr ""
|
828 |
+
|
829 |
+
#: wp/transposh_admin.php:592
|
830 |
+
#@ transposh
|
831 |
+
msgid "Transposh support"
|
832 |
+
msgstr ""
|
833 |
+
|
834 |
+
#: wp/transposh_admin.php:593
|
835 |
+
#@ transposh
|
836 |
+
msgid "Have you encountered any problem with our plugin and need our help?"
|
837 |
+
msgstr ""
|
838 |
+
|
839 |
+
#: wp/transposh_admin.php:594
|
840 |
+
#@ transposh
|
841 |
+
msgid "Do you need to ask us any question?"
|
842 |
+
msgstr ""
|
843 |
+
|
844 |
+
#: wp/transposh_admin.php:595
|
845 |
+
#@ transposh
|
846 |
+
msgid "You have two options:"
|
847 |
+
msgstr ""
|
848 |
+
|
849 |
+
#: wp/transposh_admin.php:597
|
850 |
+
#@ transposh
|
851 |
+
msgid "Our free support"
|
852 |
+
msgstr ""
|
853 |
+
|
854 |
+
#: wp/transposh_admin.php:599
|
855 |
+
#@ transposh
|
856 |
+
msgid "There are many channels to reach us and we do try to help as fast as we can"
|
857 |
+
msgstr ""
|
858 |
+
|
859 |
+
#: wp/transposh_admin.php:600
|
860 |
+
#@ transposh
|
861 |
+
msgid "You can contact us through our contact form on our web site"
|
862 |
+
msgstr ""
|
863 |
+
|
864 |
+
#: wp/transposh_admin.php:601
|
865 |
+
#@ transposh
|
866 |
+
msgid "Create a ticket for us if you have found any bugs"
|
867 |
+
msgstr ""
|
868 |
+
|
869 |
+
#: wp/transposh_admin.php:602
|
870 |
+
#@ transposh
|
871 |
+
msgid "Reach us via different forums:"
|
872 |
+
msgstr ""
|
873 |
+
|
874 |
+
#: wp/transposh_admin.php:605
|
875 |
+
#@ transposh
|
876 |
+
msgid "Our support forum on wordpress.org"
|
877 |
+
msgstr ""
|
878 |
+
|
879 |
+
#: wp/transposh_admin.php:607
|
880 |
+
#@ transposh
|
881 |
+
msgid "Our internal development site, with wiki and tickets"
|
882 |
+
msgstr ""
|
883 |
+
|
884 |
+
#: wp/transposh_admin.php:609
|
885 |
+
#@ transposh
|
886 |
+
msgid "Our facebook page"
|
887 |
+
msgstr ""
|
888 |
+
|
889 |
+
#: wp/transposh_admin.php:611
|
890 |
+
#@ transposh
|
891 |
+
msgid "Our google plus page"
|
892 |
+
msgstr ""
|
893 |
+
|
894 |
+
#: wp/transposh_admin.php:613
|
895 |
+
#@ transposh
|
896 |
+
msgid "Contact us directly via:"
|
897 |
+
msgstr ""
|
898 |
+
|
899 |
+
#: wp/transposh_admin.php:615
|
900 |
+
#@ transposh
|
901 |
+
msgid "Our contact form"
|
902 |
+
msgstr ""
|
903 |
+
|
904 |
+
#: wp/transposh_admin.php:621
|
905 |
+
#@ transposh
|
906 |
+
msgid "Professional support option"
|
907 |
+
msgstr ""
|
908 |
+
|
909 |
+
#: wp/transposh_admin.php:623
|
910 |
+
#@ transposh
|
911 |
+
msgid "For the low low price of $99, we will take express action on your request. By express we mean that your issue will become our top priority, and will resolve ASAP"
|
912 |
+
msgstr ""
|
913 |
+
|
914 |
+
#: wp/transposh_admin.php:624
|
915 |
+
#@ transposh
|
916 |
+
msgid "This includes helping with various bugs, basic theme/plugins conflicts, or just telling you where the ON button is"
|
917 |
+
msgstr ""
|
918 |
+
|
919 |
+
#: wp/transposh_admin.php:625
|
920 |
+
#@ transposh
|
921 |
+
msgid "Full money back guarentee! If your problem remains unresolved or you are simply unhappy we will refund your paypal account as soon as you ask (as long as paypal allows it, don't come to us three years later!)"
|
922 |
+
msgstr ""
|
923 |
+
|
924 |
+
#: wp/transposh_admin.php:626
|
925 |
+
#@ transposh
|
926 |
+
msgid "So hit the following button. Thanks!"
|
927 |
msgstr ""
|
928 |
|
929 |
#: wp/transposh_admin.php:636
|
930 |
#@ transposh
|
931 |
+
msgid "Donations"
|
932 |
+
msgstr ""
|
933 |
+
|
934 |
+
#: wp/transposh_admin.php:638
|
935 |
+
#@ transposh
|
936 |
+
msgid "If you just want to show that you care, this is the button for you. But please think twice before doing this. It will make us happier if you just do something nice for someone in your area, contribute to a local charity, and let us know that you did that :)"
|
937 |
msgstr ""
|
938 |
|
Binary file
|
@@ -3,8 +3,8 @@ msgstr ""
|
|
3 |
"Project-Id-Version: Transposh Translation Filter v%VERSION%\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
"POT-Creation-Date: \n"
|
6 |
-
"PO-Revision-Date:
|
7 |
-
"Last-Translator:
|
8 |
"Language-Team: \n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=UTF-8\n"
|
@@ -25,412 +25,335 @@ msgstr ""
|
|
25 |
msgid "%s translated a phrase to %s with transposh:"
|
26 |
msgstr "%s תרגם פסקה ל-%s בעזרת טרנספוש:"
|
27 |
|
28 |
-
#: wp/transposh_admin.php:
|
29 |
#@ transposh
|
30 |
msgid "Problems?"
|
31 |
msgstr "בעיות?"
|
32 |
|
33 |
-
#: wp/transposh_widget.php:
|
34 |
#@ transposh
|
35 |
msgid "Transposh language selection widget"
|
36 |
msgstr "ישומון בחירת השפה של טרנספוש"
|
37 |
|
38 |
-
#: wp/transposh_admin.php:
|
39 |
-
#@ transposh
|
40 |
-
msgid "About this plugin"
|
41 |
-
msgstr "אודות תוסף זה"
|
42 |
-
|
43 |
-
#: wp/transposh_admin.php:213
|
44 |
#@ transposh
|
45 |
msgid "Plugin news"
|
46 |
msgstr "חדשות התוסף"
|
47 |
|
48 |
-
#: wp/transposh_admin.php:
|
49 |
#@ transposh
|
50 |
msgid "Plugin stats"
|
51 |
msgstr "סטטיסטיקות התוסף"
|
52 |
|
53 |
-
#: wp/transposh_admin.php:
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
#: wp/transposh_admin.php:216
|
59 |
-
#@ transposh
|
60 |
-
msgid "Supported languages"
|
61 |
-
msgstr "שפות נתמכות"
|
62 |
-
|
63 |
-
#: wp/transposh_admin.php:217
|
64 |
-
#@ transposh
|
65 |
-
msgid "Translation settings"
|
66 |
-
msgstr "הגדרות תרגום"
|
67 |
-
|
68 |
-
#: wp/transposh_admin.php:218
|
69 |
-
#@ transposh
|
70 |
-
msgid "Automatic translation settings"
|
71 |
-
msgstr "הגדרות תרגום אוטומטי"
|
72 |
-
|
73 |
-
#: wp/transposh_admin.php:221
|
74 |
-
#@ transposh
|
75 |
-
msgid "Generic settings"
|
76 |
-
msgstr "הגדרות כלליות"
|
77 |
-
|
78 |
-
#: wp/transposh_admin.php:222
|
79 |
-
#@ transposh
|
80 |
-
msgid "Database maintenance"
|
81 |
-
msgstr "תחזוקת בסיס הנתונים"
|
82 |
-
|
83 |
-
#: wp/transposh_admin.php:237
|
84 |
-
#@ transposh
|
85 |
-
msgid "Transposh community features"
|
86 |
-
msgstr "תכונות קהילתיות בטרנספוש"
|
87 |
-
|
88 |
-
#: wp/transposh_admin.php:175
|
89 |
-
#: wp/transposh_admin.php:243
|
90 |
-
#: wp/transposh_postpublish.php:50
|
91 |
-
#: wp/transposh_postpublish.php:51
|
92 |
-
#: wp/transposh_widget.php:84
|
93 |
-
#: wp/transposh_widget.php:311
|
94 |
#@ transposh
|
95 |
#@ default
|
96 |
msgid "Transposh"
|
97 |
msgstr "טרנספוש"
|
98 |
|
99 |
-
#: wp/transposh_admin.php:
|
100 |
#@ transposh
|
101 |
msgid "Translate by clicking the button below"
|
102 |
msgstr "תרגם על ידי לחיצה על הכפתור למטה"
|
103 |
|
104 |
-
#: wp/transposh_admin.php:
|
105 |
#@ transposh
|
106 |
msgid "Translate All Now"
|
107 |
msgstr "תרגם הכל עכשיו"
|
108 |
|
109 |
-
#: wp/transposh_admin.php:
|
110 |
-
#@ transposh
|
111 |
-
msgid "Plugin Homepage"
|
112 |
-
msgstr "עמוד הבית של התוסף"
|
113 |
-
|
114 |
-
#: wp/transposh_admin.php:314
|
115 |
#@ transposh
|
116 |
msgid "Suggest a Feature"
|
117 |
msgstr "הצע תכונה"
|
118 |
|
119 |
-
#: wp/transposh_admin.php:
|
120 |
#@ transposh
|
121 |
msgid "Report a Bug"
|
122 |
msgstr "דווח על באג"
|
123 |
|
124 |
-
#: wp/transposh_admin.php:
|
125 |
#@ transposh
|
126 |
msgid "Default Language (drag another language here to make it default)"
|
127 |
msgstr "שפת ברירת המחדל (גרור שפה אחרת לכאן על מנת להפכה לברירת מחדל)"
|
128 |
|
129 |
-
#: wp/transposh_admin.php:
|
130 |
#@ transposh
|
131 |
msgid "Available Languages (Click to toggle language state - Drag to sort in the widget)"
|
132 |
msgstr "שפות זמינות (הקלק כדי לשנות את סטטוס השפה - גרור כדי למיין בישומון)"
|
133 |
|
134 |
-
#: wp/transposh_admin.php:
|
135 |
#@ transposh
|
136 |
msgid "Language supported by google translate"
|
137 |
msgstr "שפה נתמכת ע\"י המתרגם של גוגל"
|
138 |
|
139 |
-
#: wp/transposh_admin.php:
|
140 |
#@ transposh
|
141 |
msgid "Language supported by bing translate"
|
142 |
msgstr "שפה נתמכת ע\"י המתרגם של בינג"
|
143 |
|
144 |
-
#: wp/transposh_admin.php:
|
145 |
#@ transposh
|
146 |
msgid "Language is written from right to left"
|
147 |
msgstr "שפה הנכתבת מימין לשמאל"
|
148 |
|
149 |
-
#: wp/transposh_admin.php:
|
150 |
#@ transposh
|
151 |
msgid "Display options:"
|
152 |
msgstr "הגדרות תצוגה:"
|
153 |
|
154 |
-
#: wp/transposh_admin.php:
|
155 |
#@ transposh
|
156 |
msgid "Toggle names of languages between English and Original"
|
157 |
msgstr "שנה את הצגת שפות השפות בין אנגלית למקןר"
|
158 |
|
159 |
-
#: wp/transposh_admin.php:
|
160 |
#@ transposh
|
161 |
msgid "Make all languages active"
|
162 |
msgstr "הפוך את כל השפות לפעילות"
|
163 |
|
164 |
-
#: wp/transposh_admin.php:
|
165 |
#@ transposh
|
166 |
msgid "Sort by language name"
|
167 |
msgstr "מיין לפי שם השפה"
|
168 |
|
169 |
-
#: wp/transposh_admin.php:
|
170 |
#@ transposh
|
171 |
msgid "Sort by lSO code"
|
172 |
msgstr "מיין לפי קוד ה-ISO"
|
173 |
|
174 |
-
#: wp/transposh_admin.php:
|
175 |
-
#@ transposh
|
176 |
-
msgid "Legend:"
|
177 |
-
msgstr "מקרא:"
|
178 |
-
|
179 |
-
#: wp/transposh_admin.php:425
|
180 |
-
#@ transposh
|
181 |
-
msgid "Green - active"
|
182 |
-
msgstr "ירוק - פעיל"
|
183 |
-
|
184 |
-
#: wp/transposh_admin.php:425
|
185 |
-
#@ transposh
|
186 |
-
msgid "Yellow - translateable (only translators will see this language)"
|
187 |
-
msgstr "צהוב - ניתן לתרגום (רק מתרגמים יראו את השפה)"
|
188 |
-
|
189 |
-
#: wp/transposh_admin.php:425
|
190 |
-
#@ transposh
|
191 |
-
msgid "blank - inactive"
|
192 |
-
msgstr "ללא צבע - לא פעיל"
|
193 |
-
|
194 |
-
#: wp/transposh_admin.php:447
|
195 |
#@ transposh
|
196 |
msgid "Who can translate ?"
|
197 |
msgstr "מי יכול לתרגם?"
|
198 |
|
199 |
-
#: wp/transposh_admin.php:
|
200 |
#@ transposh
|
201 |
msgid "Anonymous"
|
202 |
msgstr "אנונימי"
|
203 |
|
204 |
-
#: wp/transposh_admin.php:
|
205 |
#@ transposh
|
206 |
msgid "Enable default language translation"
|
207 |
msgstr "אפשר תרגום של שפת ברירת המחדל"
|
208 |
|
209 |
-
#: wp/transposh_admin.php:
|
210 |
#@ transposh
|
211 |
msgid "Allow translation of default language - useful for sites with more than one major language"
|
212 |
msgstr "אפשר תרגום שפת ברירת המחדל - שימושי באתרים עם יותר משפה עיקרית אחת"
|
213 |
|
214 |
-
#: wp/transposh_admin.php:
|
215 |
#@ transposh
|
216 |
msgid "Enable search in translated languages"
|
217 |
msgstr "אפשר חיפוש בשפות המתורגמות"
|
218 |
|
219 |
-
#: wp/transposh_admin.php:
|
220 |
#@ transposh
|
221 |
msgid "Allow translation of permalinks and urls"
|
222 |
msgstr "אפשר תרגום של קישורים קבועים וכתובות אינטרנט"
|
223 |
|
224 |
-
#: wp/transposh_admin.php:
|
225 |
#@ transposh
|
226 |
msgid "Enable automatic translation"
|
227 |
msgstr "אפשר תרגום אוטומטי"
|
228 |
|
229 |
-
#: wp/transposh_admin.php:
|
230 |
#@ transposh
|
231 |
msgid "Allow automatic translation of pages"
|
232 |
msgstr "אפשר תרגום אוטומטי של דפים"
|
233 |
|
234 |
-
#: wp/transposh_admin.php:
|
235 |
#@ transposh
|
236 |
msgid "Enable automatic translation after posting"
|
237 |
msgstr "אפשר תרגום אוטומטי לאחר יצירת פוסט"
|
238 |
|
239 |
-
#: wp/transposh_admin.php:
|
240 |
#@ transposh
|
241 |
msgid "Do automatic translation immediately after a post has been published"
|
242 |
msgstr "בצע תרגום אוטומטי מייד לאחר שפוסט מפורסם"
|
243 |
|
244 |
-
#: wp/transposh_admin.php:
|
245 |
#@ transposh
|
246 |
msgid "Select preferred auto translation engine"
|
247 |
msgstr "בחר את מנוע התרגום האוטומטי המועדף"
|
248 |
|
249 |
-
#: wp/transposh_admin.php:
|
250 |
#@ transposh
|
251 |
msgid "Translation engine:"
|
252 |
msgstr "מנוע תרגום:"
|
253 |
|
254 |
-
#: wp/transposh_admin.php:
|
255 |
#@ transposh
|
256 |
msgid "Google"
|
257 |
msgstr "גוגל"
|
258 |
|
259 |
-
#: wp/transposh_admin.php:
|
260 |
#@ transposh
|
261 |
msgid "Bing"
|
262 |
msgstr "בינג"
|
263 |
|
264 |
-
#: wp/transposh_admin.php:
|
265 |
#@ transposh
|
266 |
msgid "Rewrite URLs"
|
267 |
msgstr "שיכתוב כתובות אינטרנט"
|
268 |
|
269 |
-
#: wp/transposh_admin.php:
|
270 |
#@ transposh
|
271 |
msgid "Add scripts to footer"
|
272 |
msgstr "הוסף סקריפטים לתחתית הדף"
|
273 |
|
274 |
-
#: wp/transposh_admin.php:
|
275 |
#@ transposh
|
276 |
msgid "Push transposh scripts to footer of page instead of header, makes pages load faster. Requires that your theme should have proper footer support."
|
277 |
msgstr "הכנס את הסקריפטים של טרנספוש לתחתית העמוד במקום לחלקו העליון, העמוד יטען מהר יותר. ערכת העיצוב חייבת להכיל תמיכה בחלק תחתון."
|
278 |
|
279 |
-
#: wp/transposh_admin.php:
|
280 |
#@ transposh
|
281 |
msgid "Auto detect language for users"
|
282 |
msgstr "זהה שפה עבור המשתמשים באופן אוטומטי"
|
283 |
|
284 |
-
#: wp/transposh_admin.php:
|
285 |
#@ transposh
|
286 |
msgid "This enables auto detection of language used by the user as defined in the ACCEPT_LANGUAGES they send. This will redirect the first page accessed in the session to the same page with the detected language."
|
287 |
msgstr "תכונה זו מאפשרת זיהוי אוטומטי של השפה בה משתמשים המשתמשים כפי שמוגדרת ב-ACCEPT_LANGUAGES אותו הם שולחים. תכונה זו תשלח את הדף הראשון אל דף זהה בשפה שזוהתה."
|
288 |
|
289 |
-
#: wp/transposh_admin.php:
|
290 |
#@ transposh
|
291 |
msgid "Delete all automated translations"
|
292 |
msgstr "מחק את כל התרגומים האוטומטיים"
|
293 |
|
294 |
-
#: wp/transposh_admin.php:
|
295 |
#@ transposh
|
296 |
msgid "Delete automated translations older than 14 days"
|
297 |
msgstr "מחק תרגומים אוטומטיים בני יותר מ-14 ימים"
|
298 |
|
299 |
-
#: wp/transposh_admin.php:
|
300 |
-
#@ transposh
|
301 |
-
msgid "Backup service for human translation"
|
302 |
-
msgstr "שרות גיבוי לתרגום אנושי"
|
303 |
-
|
304 |
-
#: wp/transposh_admin.php:615
|
305 |
#@ transposh
|
306 |
msgid "Enable daily backup"
|
307 |
msgstr "אפשר גיבוי יומי"
|
308 |
|
309 |
-
#: wp/transposh_admin.php:
|
310 |
#@ transposh
|
311 |
msgid "Enable live backup"
|
312 |
msgstr "אפשר גיבוי חי"
|
313 |
|
314 |
-
#: wp/transposh_admin.php:
|
315 |
#@ transposh
|
316 |
msgid "Disable backup (Can be run manually by clicking the button below)"
|
317 |
msgstr "בטל גיבוי (ניתן להריץ ידנית על ידי לחיצה על הכפתור למטה)"
|
318 |
|
319 |
-
#: wp/transposh_admin.php:
|
320 |
#@ transposh
|
321 |
msgid "How to restore?"
|
322 |
msgstr "איך לשחזר?"
|
323 |
|
324 |
-
#: wp/transposh_admin.php:
|
325 |
#@ transposh
|
326 |
msgid "Do Backup Now"
|
327 |
msgstr "גבה עכשיו"
|
328 |
|
329 |
-
#: wp/transposh_admin.php:
|
330 |
#@ transposh
|
331 |
msgid "Transposh makes your blog translatable"
|
332 |
msgstr "טרנספוש הופך את הבלוג שלך לניתן לתרגום"
|
333 |
|
334 |
-
#: wp/transposh_admin.php:
|
335 |
#@ transposh
|
336 |
msgid "Plugin homepage"
|
337 |
msgstr "עמוד הבית של התוסף"
|
338 |
|
339 |
-
#: wp/transposh_admin.php:
|
340 |
#@ transposh
|
341 |
msgid "Frequently asked questions"
|
342 |
msgstr "שאלות נפוצות"
|
343 |
|
344 |
-
#: wp/transposh_admin.php:
|
345 |
-
#@ transposh
|
346 |
-
msgid "Transposh control center"
|
347 |
-
msgstr "מרכז השליטה של טרנספוש"
|
348 |
-
|
349 |
-
#: wp/transposh_admin.php:474
|
350 |
#@ transposh
|
351 |
msgid "Enable url translation"
|
352 |
msgstr "אפשר תרגום כתובות אינטרנט"
|
353 |
|
354 |
-
#: wp/transposh_admin.php:
|
355 |
-
#: wp/transposh_admin.php:481
|
356 |
#@ transposh
|
357 |
msgid "experimental"
|
358 |
msgstr "נסיוני"
|
359 |
|
360 |
-
#: wp/transposh_admin.php:
|
361 |
#@ transposh
|
362 |
msgid "Rewrite URLs to be search engine friendly, e.g. (http://transposh.org/<strong>en</strong>). Requires that permalinks will be enabled."
|
363 |
msgstr "שכתוב כתובות אינטרנט כדי שיהיו ידידותיות למנועי חיפוש, למשל (http://transposh.org/<strong>en</strong>). יש חובה להפעיל קישורים קבועים."
|
364 |
|
365 |
-
#: wp/transposh_db.php:
|
366 |
#@ transposh
|
367 |
msgid "Database stats"
|
368 |
msgstr "סטטיסטיקות בסיס הנתונים"
|
369 |
|
370 |
-
#: wp/transposh_db.php:
|
371 |
#, php-format
|
372 |
#@ transposh
|
373 |
msgid "Total of <strong style=\"color:red\">%s</strong> translated phrases."
|
374 |
msgstr "סך הכל <strong style=\"color:red\">%s</strong> מקטעים מתורגמים."
|
375 |
|
376 |
-
#: wp/transposh_db.php:
|
377 |
#, php-format
|
378 |
#@ transposh
|
379 |
msgid "<strong>%1s</strong> has <strong style=\"color:red\">%2s</strong> human translated phrases."
|
380 |
msgstr "ב-<strong>%1s</strong> ישנם <strong style=\"color:red\">%2s</strong> מקטעים מתורגמים על ידי בן אדם."
|
381 |
|
382 |
-
#: wp/transposh_db.php:
|
383 |
#@ transposh
|
384 |
msgid "Recent activity"
|
385 |
msgstr "פעילות אחרונה"
|
386 |
|
387 |
-
#: wp/transposh_db.php:
|
388 |
#, php-format
|
389 |
#@ transposh
|
390 |
msgid "On <strong>%1s</strong><br/>user <strong>%2s</strong> translated<br/>\"<strong>%3s</strong>\"<br/>to <strong style=\"color:red\">%4s</strong><br/>\"<strong>%5s</strong>\""
|
391 |
msgstr "ב <strong>%1s</strong><br/>המשתמש <strong>%2s</strong> תרגם את<br/>\"<strong>%3s</strong>\"<br/>ל <strong style=\"color:red\">%4s</strong><br/>\"<strong>%5s</strong>\""
|
392 |
|
393 |
-
#: wp/transposh_widget.php:
|
394 |
#@ transposh
|
395 |
msgid "Style:"
|
396 |
msgstr "סגנון:"
|
397 |
|
398 |
-
#: wp/transposh_admin.php:
|
399 |
#@ transposh
|
400 |
msgid "Show progress bar when a client triggers automatic translation"
|
401 |
msgstr "הראה בר התקדמות בעת שמשתמש יוזם תרגום אוטומטי"
|
402 |
|
403 |
-
#: wp/transposh_admin.php:
|
404 |
#@ transposh
|
405 |
msgid "Show progress bar"
|
406 |
msgstr "הצג בר התקדמות"
|
407 |
|
408 |
-
#: wp/transposh_admin.php:
|
409 |
#@ transposh
|
410 |
msgid "Widget will allow setting this language as user default"
|
411 |
msgstr "הישומון יאפשר הגדרת שפה זו כברירת מחדל"
|
412 |
|
413 |
-
#: wp/transposh_admin.php:
|
414 |
#@ transposh
|
415 |
msgid "Allow user to set current language as default"
|
416 |
msgstr "אפשר למשתמש לבחור את השפה הנוכחית כברירת מחדל"
|
417 |
|
418 |
-
#: wp/transposh_admin.php:
|
419 |
#@ transposh
|
420 |
msgid "Transposh logo will not appear on widget"
|
421 |
msgstr "הלוגו של טרנספוש לא יופיע בישומון"
|
422 |
|
423 |
-
#: wp/transposh_admin.php:
|
424 |
#@ transposh
|
425 |
msgid "Remove transposh logo (see <a href=\"http://transposh.org/logoterms\">terms</a>)"
|
426 |
msgstr "הסרת הלוגו של טרנספוש (ראה <a href=\"http://transposh.org/logoterms\">תנאים</a>)"
|
427 |
|
428 |
-
#: wp/transposh_admin.php:
|
429 |
#@ transposh
|
430 |
msgid "Service Key:"
|
431 |
msgstr "מפתח שרות:"
|
432 |
|
433 |
-
#: wp/transposh_widget.php:
|
434 |
#@ transposh
|
435 |
msgid "Set as default language"
|
436 |
msgstr "הגדר כשפת ברירת מחדל"
|
@@ -467,228 +390,556 @@ msgstr "צוות טרנספוש"
|
|
467 |
msgid "%VERSION%"
|
468 |
msgstr ""
|
469 |
|
470 |
-
#: transposh.php:
|
|
|
471 |
#@ default
|
|
|
472 |
msgid "Settings"
|
473 |
-
msgstr ""
|
474 |
|
475 |
-
#: wp/transposh_admin.php:
|
476 |
-
#@
|
477 |
msgid "Save Changes"
|
478 |
-
msgstr ""
|
479 |
|
480 |
-
#: wp/transposh_admin.php:
|
481 |
#@ transposh
|
482 |
msgid "Enable gettext integration"
|
483 |
msgstr "אפשר אינטגרציית gettext"
|
484 |
|
485 |
-
#: wp/transposh_admin.php:
|
486 |
#@ transposh
|
487 |
msgid "Enable integration of Transposh with existing gettext interface (.po/.mo files)"
|
488 |
msgstr "אפשר אינטגרציה של טרנספוש עם ממשק gettext הקיים (קבצי .po/.mo)"
|
489 |
|
490 |
-
#: wp/transposh_admin.php:
|
491 |
#@ transposh
|
492 |
msgid "Language supported by apertium translate"
|
493 |
msgstr "שפה נתמכת ע\"י המתרגם של אפרטיום"
|
494 |
|
495 |
-
#: wp/transposh_admin.php:
|
496 |
#@ transposh
|
497 |
msgid "Attempt to fix errors caused by previous versions - please backup first"
|
498 |
msgstr "נסה לתקן שגיאות שנגרמו על ידי גרסאות קודמות - אנא גבה קודם"
|
499 |
|
500 |
-
#: wp/transposh_widget.php:
|
501 |
#@ transposh
|
502 |
msgid "translation plugin for wordpress"
|
503 |
msgstr "תוסף התרגום לוורדפרס"
|
504 |
|
505 |
-
#: wp/transposh_widget.php:
|
506 |
#@ transposh
|
507 |
msgid "wordpress translation plugin"
|
508 |
msgstr "תוסף תרגום לוורדפרס"
|
509 |
|
510 |
-
#: wp/transposh_widget.php:
|
511 |
#@ transposh
|
512 |
msgid "translate your blog to 60+ languages"
|
513 |
msgstr "תרגם את הבלוג שלך ל-60 שפות"
|
514 |
|
515 |
-
#: wp/transposh_widget.php:
|
516 |
#@ transposh
|
517 |
msgid "website crowdsourcing translation plugin"
|
518 |
msgstr "תוסף מיקור המון (crowdsourcing) לתרגום אתרים"
|
519 |
|
520 |
-
#: wp/transposh_widget.php:
|
521 |
#@ transposh
|
522 |
msgid "google translate and bing translate plugin for wordpress"
|
523 |
msgstr "תוסף תרגום גוגל ובינג לוורדפרס"
|
524 |
|
525 |
-
#: wp/transposh_admin.php:
|
526 |
-
#: wp/transposh_admin.php:563
|
527 |
#@ transposh
|
528 |
msgid "Edit interface (and progress bar) theme:"
|
529 |
msgstr "ערכת עיצוב ממשק עריכה (ובר התקדמות):"
|
530 |
|
531 |
-
#: wp/transposh_admin.php:
|
532 |
#@ transposh
|
533 |
msgid "Allow search of translated languages (and the original language)"
|
534 |
msgstr "אפשר חיפוש בשפות המתורגמות (בנוסף לשפת המקור)"
|
535 |
|
536 |
-
#: wp/transposh_admin.php:
|
537 |
#@ transposh
|
538 |
msgid "Enable override for default locale"
|
539 |
msgstr "אפשר עקיפת משתנה סביבת השפה של בררת במחדל"
|
540 |
|
541 |
-
#: wp/transposh_admin.php:
|
542 |
#@ transposh
|
543 |
msgid "Enable overriding the default locale that is set in WP_LANG on default languages pages (such as untranslated pages and admin pages)"
|
544 |
-
msgstr "אפשר את עקיפת משתנה
|
545 |
|
546 |
-
#: wp/transposh_admin.php:
|
547 |
#, php-format
|
548 |
#@ transposh
|
549 |
msgid "Your current PHP memory limit of %s is quite low, if you experience blank pages please consider increasing it."
|
550 |
msgstr "הגבלת הזכרון ב-PHP שלך של %s נמוכה, אם תחווה בעיות של דפים ריקים מומלץ לשקול להגדיל את המגבלה."
|
551 |
|
552 |
-
#: wp/transposh_admin.php:
|
553 |
#@ transposh
|
554 |
msgid "We were not able to find a supported in-memory caching engine, installing one can improve performance."
|
555 |
msgstr "לא הצלחנו לאתר מנגנון זכרון מטמון נתמך, התקנה של אחד יכולה לשפר את הביצועים."
|
556 |
|
557 |
-
#: wp/transposh_postpublish.php:
|
558 |
#@ transposh
|
559 |
msgid "Set post language"
|
560 |
msgstr "הגדר את שפת הפוסט"
|
561 |
|
562 |
-
#: wp/transposh_postpublish.php:
|
563 |
-
#@ transposh
|
564 |
-
msgid "Set page language"
|
565 |
-
msgstr "הגדר את שפת העמוד"
|
566 |
-
|
567 |
-
#: wp/transposh_postpublish.php:198
|
568 |
#@ default
|
569 |
msgid "Default"
|
570 |
msgstr ""
|
571 |
|
572 |
-
#: wp/transposh_admin.php:
|
573 |
-
#: wp/transposh_admin.php:
|
574 |
#@ transposh
|
575 |
msgid "Check Transposh FAQs"
|
576 |
msgstr "בדוק את השאלות הנפוצות של טרנספוש"
|
577 |
|
578 |
-
#: wp/transposh_admin.php:
|
579 |
#@ transposh
|
580 |
msgid "Allow collecting usage statistics"
|
581 |
msgstr "אפשר איסוף סטטיסטיקות שימוש"
|
582 |
|
583 |
-
#. TRANSLATORS: this is what appears in the select box in dropdown subwidget
|
584 |
#: widgets/dropdown/tpw_image_dropdown.php:45
|
585 |
#@ transposh
|
586 |
msgid "Select language"
|
587 |
msgstr "בחר שפה"
|
588 |
|
589 |
-
#: wp/transposh_admin.php:
|
590 |
-
#@ transposh
|
591 |
-
msgid "Frontend settings"
|
592 |
-
msgstr "הגדרות צד משתמש"
|
593 |
-
|
594 |
-
#: wp/transposh_admin.php:508
|
595 |
#@ transposh
|
596 |
msgid "MSN API key"
|
597 |
msgstr "מפתח API של MSN"
|
598 |
|
599 |
-
#: wp/transposh_admin.php:
|
600 |
-
#: wp/transposh_admin.php:
|
601 |
-
#: wp/transposh_admin.php:540
|
602 |
#@ transposh
|
603 |
msgid "API Key"
|
604 |
msgstr "מפתח API"
|
605 |
|
606 |
-
#: wp/transposh_admin.php:
|
607 |
#@ transposh
|
608 |
msgid "Google API key"
|
609 |
msgstr "מפתח API של גוגל"
|
610 |
|
611 |
-
#: wp/transposh_widget.php:
|
612 |
#@ transposh
|
613 |
msgid "Title:"
|
614 |
msgstr "כותרת:"
|
615 |
|
616 |
-
#: wp/transposh_widget.php:
|
617 |
#@ transposh
|
618 |
msgid "Transposh subwidget was not loaded correctly"
|
619 |
msgstr "ישומון משנה של טרנספוש לא נטען כראוי"
|
620 |
|
621 |
-
#. TRANSLATORS: no need to translate this string
|
622 |
-
#: wp/transposh_widget.php:
|
623 |
#@ transposh
|
624 |
msgid "title"
|
625 |
msgstr ""
|
626 |
|
627 |
-
#. TRANSLATORS: this will be the default widget title
|
628 |
-
#: wp/transposh_widget.php:
|
629 |
#@ transposh
|
630 |
msgid "Translation"
|
631 |
msgstr "תרגום"
|
632 |
|
633 |
-
#: wp/transposh_admin.php:
|
634 |
#@ transposh
|
635 |
msgid "Language"
|
636 |
msgstr "שפה"
|
637 |
|
638 |
-
#: wp/transposh_admin.php:
|
639 |
#@ transposh
|
640 |
msgid "This option enables collection of statistics by transposh that will be used to improve the product."
|
641 |
msgstr "אפשרות זו מאפשרת איסוף סטטיסטיקות על ידי טרנספוש שישמשו לשיפור המוצר."
|
642 |
|
643 |
-
#: wp/transposh_admin.php:
|
644 |
-
#@ transposh
|
645 |
-
msgid "Professional translation settings"
|
646 |
-
msgstr "הגדרות תרגום מקצועי"
|
647 |
-
|
648 |
-
#: wp/transposh_admin.php:413
|
649 |
#@ transposh
|
650 |
msgid "Language supported by one hour translation"
|
651 |
msgstr "שפה נתמכת על ידי one hour translation"
|
652 |
|
653 |
-
#: wp/transposh_admin.php:
|
654 |
#@ transposh
|
655 |
msgid "<a href=\"http://transposh.org/redir/oht\">One Hour Translation</a>, is the largest professional translation service online, with thousands of business customers, including 57% of the Fortune 500 companies, and over 15000 translators worldwide."
|
656 |
msgstr "<a href=\"http://transposh.org/redir/oht\">One Hour Translation</a>, הינה שרות התרגום המקצועי הגדול ביותר באינטרנט , עם אלפי לקוחות עסקיים, כולל 57% מחברות Fortune 500, ומעל 15000 מתרגמים ברחבי העולם."
|
657 |
|
658 |
-
#: wp/transposh_admin.php:
|
659 |
#@ transposh
|
660 |
msgid "One Hour Translation provides high-quality, fast professional translation to/from any language, and has specific domain expertise in SW localization, technical, business, and legal translations."
|
661 |
msgstr "One Hour Translation מספקת תרגום איכותי, מהיר ומקצועי מכל שפה ומתמחה באופן ספציפי בלוקליזציה של תוכנה, תרגום טכני, תרגום עסקי, ותרגומים משפטיים."
|
662 |
|
663 |
-
#: wp/transposh_admin.php:
|
664 |
#@ transposh
|
665 |
msgid "One Hour Translation account ID"
|
666 |
msgstr "קוד זיהוי חשבון ב-One Hour Translation"
|
667 |
|
668 |
-
#: wp/transposh_admin.php:
|
|
|
669 |
#@ transposh
|
670 |
msgid "Account ID"
|
671 |
msgstr "קוד זיהוי חשבון"
|
672 |
|
673 |
-
#: wp/transposh_admin.php:
|
674 |
#@ transposh
|
675 |
msgid "One Hour Translation secret key"
|
676 |
msgstr "מפתח סודי עבור One Hour Translation"
|
677 |
|
678 |
-
#: wp/transposh_admin.php:
|
679 |
-
#, php-format
|
680 |
-
#@ transposh
|
681 |
-
msgid "%d Phrases currently queued for next job in ~%d minutes"
|
682 |
-
msgstr "%d חלקי משפט ממתינים למשימה הבאה תוך~%d דקות"
|
683 |
-
|
684 |
-
#: wp/transposh_admin.php:551
|
685 |
#, php-format
|
686 |
#@ transposh
|
687 |
msgid "%d projects have been submitted and waiting for completion"
|
688 |
msgstr "%d משימות הוגשו ומחכות להשלמה"
|
689 |
|
690 |
-
#: wp/transposh_admin.php:
|
691 |
#@ transposh
|
692 |
msgid "Unset"
|
693 |
msgstr "לא מוגדרת"
|
694 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
"Project-Id-Version: Transposh Translation Filter v%VERSION%\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
"POT-Creation-Date: \n"
|
6 |
+
"PO-Revision-Date: 2012-12-15 01:10:22+0000\n"
|
7 |
+
"Last-Translator: ofer\n"
|
8 |
"Language-Team: \n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=UTF-8\n"
|
25 |
msgid "%s translated a phrase to %s with transposh:"
|
26 |
msgstr "%s תרגם פסקה ל-%s בעזרת טרנספוש:"
|
27 |
|
28 |
+
#: wp/transposh_admin.php:652
|
29 |
#@ transposh
|
30 |
msgid "Problems?"
|
31 |
msgstr "בעיות?"
|
32 |
|
33 |
+
#: wp/transposh_widget.php:84
|
34 |
#@ transposh
|
35 |
msgid "Transposh language selection widget"
|
36 |
msgstr "ישומון בחירת השפה של טרנספוש"
|
37 |
|
38 |
+
#: wp/transposh_admin.php:283
|
|
|
|
|
|
|
|
|
|
|
39 |
#@ transposh
|
40 |
msgid "Plugin news"
|
41 |
msgstr "חדשות התוסף"
|
42 |
|
43 |
+
#: wp/transposh_admin.php:284
|
44 |
#@ transposh
|
45 |
msgid "Plugin stats"
|
46 |
msgstr "סטטיסטיקות התוסף"
|
47 |
|
48 |
+
#: wp/transposh_admin.php:195
|
49 |
+
#: wp/transposh_admin.php:202
|
50 |
+
#: wp/transposh_postpublish.php:55
|
51 |
+
#: wp/transposh_widget.php:86
|
52 |
+
#: wp/transposh_widget.php:315
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
#@ transposh
|
54 |
#@ default
|
55 |
msgid "Transposh"
|
56 |
msgstr "טרנספוש"
|
57 |
|
58 |
+
#: wp/transposh_admin.php:559
|
59 |
#@ transposh
|
60 |
msgid "Translate by clicking the button below"
|
61 |
msgstr "תרגם על ידי לחיצה על הכפתור למטה"
|
62 |
|
63 |
+
#: wp/transposh_admin.php:561
|
64 |
#@ transposh
|
65 |
msgid "Translate All Now"
|
66 |
msgstr "תרגם הכל עכשיו"
|
67 |
|
68 |
+
#: wp/transposh_admin.php:615
|
|
|
|
|
|
|
|
|
|
|
69 |
#@ transposh
|
70 |
msgid "Suggest a Feature"
|
71 |
msgstr "הצע תכונה"
|
72 |
|
73 |
+
#: wp/transposh_admin.php:616
|
74 |
#@ transposh
|
75 |
msgid "Report a Bug"
|
76 |
msgstr "דווח על באג"
|
77 |
|
78 |
+
#: wp/transposh_admin.php:364
|
79 |
#@ transposh
|
80 |
msgid "Default Language (drag another language here to make it default)"
|
81 |
msgstr "שפת ברירת המחדל (גרור שפה אחרת לכאן על מנת להפכה לברירת מחדל)"
|
82 |
|
83 |
+
#: wp/transposh_admin.php:372
|
84 |
#@ transposh
|
85 |
msgid "Available Languages (Click to toggle language state - Drag to sort in the widget)"
|
86 |
msgstr "שפות זמינות (הקלק כדי לשנות את סטטוס השפה - גרור כדי למיין בישומון)"
|
87 |
|
88 |
+
#: wp/transposh_admin.php:384
|
89 |
#@ transposh
|
90 |
msgid "Language supported by google translate"
|
91 |
msgstr "שפה נתמכת ע\"י המתרגם של גוגל"
|
92 |
|
93 |
+
#: wp/transposh_admin.php:386
|
94 |
#@ transposh
|
95 |
msgid "Language supported by bing translate"
|
96 |
msgstr "שפה נתמכת ע\"י המתרגם של בינג"
|
97 |
|
98 |
+
#: wp/transposh_admin.php:392
|
99 |
#@ transposh
|
100 |
msgid "Language is written from right to left"
|
101 |
msgstr "שפה הנכתבת מימין לשמאל"
|
102 |
|
103 |
+
#: wp/transposh_admin.php:397
|
104 |
#@ transposh
|
105 |
msgid "Display options:"
|
106 |
msgstr "הגדרות תצוגה:"
|
107 |
|
108 |
+
#: wp/transposh_admin.php:398
|
109 |
#@ transposh
|
110 |
msgid "Toggle names of languages between English and Original"
|
111 |
msgstr "שנה את הצגת שפות השפות בין אנגלית למקןר"
|
112 |
|
113 |
+
#: wp/transposh_admin.php:399
|
114 |
#@ transposh
|
115 |
msgid "Make all languages active"
|
116 |
msgstr "הפוך את כל השפות לפעילות"
|
117 |
|
118 |
+
#: wp/transposh_admin.php:400
|
119 |
#@ transposh
|
120 |
msgid "Sort by language name"
|
121 |
msgstr "מיין לפי שם השפה"
|
122 |
|
123 |
+
#: wp/transposh_admin.php:401
|
124 |
#@ transposh
|
125 |
msgid "Sort by lSO code"
|
126 |
msgstr "מיין לפי קוד ה-ISO"
|
127 |
|
128 |
+
#: wp/transposh_admin.php:412
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
129 |
#@ transposh
|
130 |
msgid "Who can translate ?"
|
131 |
msgstr "מי יכול לתרגם?"
|
132 |
|
133 |
+
#: wp/transposh_admin.php:419
|
134 |
#@ transposh
|
135 |
msgid "Anonymous"
|
136 |
msgstr "אנונימי"
|
137 |
|
138 |
+
#: wp/transposh_admin.php:421
|
139 |
#@ transposh
|
140 |
msgid "Enable default language translation"
|
141 |
msgstr "אפשר תרגום של שפת ברירת המחדל"
|
142 |
|
143 |
+
#: wp/transposh_admin.php:422
|
144 |
#@ transposh
|
145 |
msgid "Allow translation of default language - useful for sites with more than one major language"
|
146 |
msgstr "אפשר תרגום שפת ברירת המחדל - שימושי באתרים עם יותר משפה עיקרית אחת"
|
147 |
|
148 |
+
#: wp/transposh_admin.php:423
|
149 |
#@ transposh
|
150 |
msgid "Enable search in translated languages"
|
151 |
msgstr "אפשר חיפוש בשפות המתורגמות"
|
152 |
|
153 |
+
#: wp/transposh_admin.php:518
|
154 |
#@ transposh
|
155 |
msgid "Allow translation of permalinks and urls"
|
156 |
msgstr "אפשר תרגום של קישורים קבועים וכתובות אינטרנט"
|
157 |
|
158 |
+
#: wp/transposh_admin.php:460
|
159 |
#@ transposh
|
160 |
msgid "Enable automatic translation"
|
161 |
msgstr "אפשר תרגום אוטומטי"
|
162 |
|
163 |
+
#: wp/transposh_admin.php:461
|
164 |
#@ transposh
|
165 |
msgid "Allow automatic translation of pages"
|
166 |
msgstr "אפשר תרגום אוטומטי של דפים"
|
167 |
|
168 |
+
#: wp/transposh_admin.php:462
|
169 |
#@ transposh
|
170 |
msgid "Enable automatic translation after posting"
|
171 |
msgstr "אפשר תרגום אוטומטי לאחר יצירת פוסט"
|
172 |
|
173 |
+
#: wp/transposh_admin.php:463
|
174 |
#@ transposh
|
175 |
msgid "Do automatic translation immediately after a post has been published"
|
176 |
msgstr "בצע תרגום אוטומטי מייד לאחר שפוסט מפורסם"
|
177 |
|
178 |
+
#: wp/transposh_admin.php:470
|
179 |
#@ transposh
|
180 |
msgid "Select preferred auto translation engine"
|
181 |
msgstr "בחר את מנוע התרגום האוטומטי המועדף"
|
182 |
|
183 |
+
#: wp/transposh_admin.php:471
|
184 |
#@ transposh
|
185 |
msgid "Translation engine:"
|
186 |
msgstr "מנוע תרגום:"
|
187 |
|
188 |
+
#: wp/transposh_admin.php:472
|
189 |
#@ transposh
|
190 |
msgid "Google"
|
191 |
msgstr "גוגל"
|
192 |
|
193 |
+
#: wp/transposh_admin.php:473
|
194 |
#@ transposh
|
195 |
msgid "Bing"
|
196 |
msgstr "בינג"
|
197 |
|
198 |
+
#: wp/transposh_admin.php:433
|
199 |
#@ transposh
|
200 |
msgid "Rewrite URLs"
|
201 |
msgstr "שיכתוב כתובות אינטרנט"
|
202 |
|
203 |
+
#: wp/transposh_admin.php:437
|
204 |
#@ transposh
|
205 |
msgid "Add scripts to footer"
|
206 |
msgstr "הוסף סקריפטים לתחתית הדף"
|
207 |
|
208 |
+
#: wp/transposh_admin.php:439
|
209 |
#@ transposh
|
210 |
msgid "Push transposh scripts to footer of page instead of header, makes pages load faster. Requires that your theme should have proper footer support."
|
211 |
msgstr "הכנס את הסקריפטים של טרנספוש לתחתית העמוד במקום לחלקו העליון, העמוד יטען מהר יותר. ערכת העיצוב חייבת להכיל תמיכה בחלק תחתון."
|
212 |
|
213 |
+
#: wp/transposh_admin.php:440
|
214 |
#@ transposh
|
215 |
msgid "Auto detect language for users"
|
216 |
msgstr "זהה שפה עבור המשתמשים באופן אוטומטי"
|
217 |
|
218 |
+
#: wp/transposh_admin.php:442
|
219 |
#@ transposh
|
220 |
msgid "This enables auto detection of language used by the user as defined in the ACCEPT_LANGUAGES they send. This will redirect the first page accessed in the session to the same page with the detected language."
|
221 |
msgstr "תכונה זו מאפשרת זיהוי אוטומטי של השפה בה משתמשים המשתמשים כפי שמוגדרת ב-ACCEPT_LANGUAGES אותו הם שולחים. תכונה זו תשלח את הדף הראשון אל דף זהה בשפה שזוהתה."
|
222 |
|
223 |
+
#: wp/transposh_admin.php:554
|
224 |
#@ transposh
|
225 |
msgid "Delete all automated translations"
|
226 |
msgstr "מחק את כל התרגומים האוטומטיים"
|
227 |
|
228 |
+
#: wp/transposh_admin.php:555
|
229 |
#@ transposh
|
230 |
msgid "Delete automated translations older than 14 days"
|
231 |
msgstr "מחק תרגומים אוטומטיים בני יותר מ-14 ימים"
|
232 |
|
233 |
+
#: wp/transposh_admin.php:451
|
|
|
|
|
|
|
|
|
|
|
234 |
#@ transposh
|
235 |
msgid "Enable daily backup"
|
236 |
msgstr "אפשר גיבוי יומי"
|
237 |
|
238 |
+
#: wp/transposh_admin.php:452
|
239 |
#@ transposh
|
240 |
msgid "Enable live backup"
|
241 |
msgstr "אפשר גיבוי חי"
|
242 |
|
243 |
+
#: wp/transposh_admin.php:453
|
244 |
#@ transposh
|
245 |
msgid "Disable backup (Can be run manually by clicking the button below)"
|
246 |
msgstr "בטל גיבוי (ניתן להריץ ידנית על ידי לחיצה על הכפתור למטה)"
|
247 |
|
248 |
+
#: wp/transposh_admin.php:454
|
249 |
#@ transposh
|
250 |
msgid "How to restore?"
|
251 |
msgstr "איך לשחזר?"
|
252 |
|
253 |
+
#: wp/transposh_admin.php:548
|
254 |
#@ transposh
|
255 |
msgid "Do Backup Now"
|
256 |
msgstr "גבה עכשיו"
|
257 |
|
258 |
+
#: wp/transposh_admin.php:170
|
259 |
#@ transposh
|
260 |
msgid "Transposh makes your blog translatable"
|
261 |
msgstr "טרנספוש הופך את הבלוג שלך לניתן לתרגום"
|
262 |
|
263 |
+
#: wp/transposh_admin.php:172
|
264 |
#@ transposh
|
265 |
msgid "Plugin homepage"
|
266 |
msgstr "עמוד הבית של התוסף"
|
267 |
|
268 |
+
#: wp/transposh_admin.php:173
|
269 |
#@ transposh
|
270 |
msgid "Frequently asked questions"
|
271 |
msgstr "שאלות נפוצות"
|
272 |
|
273 |
+
#: wp/transposh_admin.php:518
|
|
|
|
|
|
|
|
|
|
|
274 |
#@ transposh
|
275 |
msgid "Enable url translation"
|
276 |
msgstr "אפשר תרגום כתובות אינטרנט"
|
277 |
|
278 |
+
#: wp/transposh_admin.php:518
|
|
|
279 |
#@ transposh
|
280 |
msgid "experimental"
|
281 |
msgstr "נסיוני"
|
282 |
|
283 |
+
#: wp/transposh_admin.php:436
|
284 |
#@ transposh
|
285 |
msgid "Rewrite URLs to be search engine friendly, e.g. (http://transposh.org/<strong>en</strong>). Requires that permalinks will be enabled."
|
286 |
msgstr "שכתוב כתובות אינטרנט כדי שיהיו ידידותיות למנועי חיפוש, למשל (http://transposh.org/<strong>en</strong>). יש חובה להפעיל קישורים קבועים."
|
287 |
|
288 |
+
#: wp/transposh_db.php:684
|
289 |
#@ transposh
|
290 |
msgid "Database stats"
|
291 |
msgstr "סטטיסטיקות בסיס הנתונים"
|
292 |
|
293 |
+
#: wp/transposh_db.php:689
|
294 |
#, php-format
|
295 |
#@ transposh
|
296 |
msgid "Total of <strong style=\"color:red\">%s</strong> translated phrases."
|
297 |
msgstr "סך הכל <strong style=\"color:red\">%s</strong> מקטעים מתורגמים."
|
298 |
|
299 |
+
#: wp/transposh_db.php:696
|
300 |
#, php-format
|
301 |
#@ transposh
|
302 |
msgid "<strong>%1s</strong> has <strong style=\"color:red\">%2s</strong> human translated phrases."
|
303 |
msgstr "ב-<strong>%1s</strong> ישנם <strong style=\"color:red\">%2s</strong> מקטעים מתורגמים על ידי בן אדם."
|
304 |
|
305 |
+
#: wp/transposh_db.php:699
|
306 |
#@ transposh
|
307 |
msgid "Recent activity"
|
308 |
msgstr "פעילות אחרונה"
|
309 |
|
310 |
+
#: wp/transposh_db.php:704
|
311 |
#, php-format
|
312 |
#@ transposh
|
313 |
msgid "On <strong>%1s</strong><br/>user <strong>%2s</strong> translated<br/>\"<strong>%3s</strong>\"<br/>to <strong style=\"color:red\">%4s</strong><br/>\"<strong>%5s</strong>\""
|
314 |
msgstr "ב <strong>%1s</strong><br/>המשתמש <strong>%2s</strong> תרגם את<br/>\"<strong>%3s</strong>\"<br/>ל <strong style=\"color:red\">%4s</strong><br/>\"<strong>%5s</strong>\""
|
315 |
|
316 |
+
#: wp/transposh_widget.php:129
|
317 |
#@ transposh
|
318 |
msgid "Style:"
|
319 |
msgstr "סגנון:"
|
320 |
|
321 |
+
#: wp/transposh_admin.php:506
|
322 |
#@ transposh
|
323 |
msgid "Show progress bar when a client triggers automatic translation"
|
324 |
msgstr "הראה בר התקדמות בעת שמשתמש יוזם תרגום אוטומטי"
|
325 |
|
326 |
+
#: wp/transposh_admin.php:505
|
327 |
#@ transposh
|
328 |
msgid "Show progress bar"
|
329 |
msgstr "הצג בר התקדמות"
|
330 |
|
331 |
+
#: wp/transposh_admin.php:509
|
332 |
#@ transposh
|
333 |
msgid "Widget will allow setting this language as user default"
|
334 |
msgstr "הישומון יאפשר הגדרת שפה זו כברירת מחדל"
|
335 |
|
336 |
+
#: wp/transposh_admin.php:508
|
337 |
#@ transposh
|
338 |
msgid "Allow user to set current language as default"
|
339 |
msgstr "אפשר למשתמש לבחור את השפה הנוכחית כברירת מחדל"
|
340 |
|
341 |
+
#: wp/transposh_admin.php:512
|
342 |
#@ transposh
|
343 |
msgid "Transposh logo will not appear on widget"
|
344 |
msgstr "הלוגו של טרנספוש לא יופיע בישומון"
|
345 |
|
346 |
+
#: wp/transposh_admin.php:511
|
347 |
#@ transposh
|
348 |
msgid "Remove transposh logo (see <a href=\"http://transposh.org/logoterms\">terms</a>)"
|
349 |
msgstr "הסרת הלוגו של טרנספוש (ראה <a href=\"http://transposh.org/logoterms\">תנאים</a>)"
|
350 |
|
351 |
+
#: wp/transposh_admin.php:454
|
352 |
#@ transposh
|
353 |
msgid "Service Key:"
|
354 |
msgstr "מפתח שרות:"
|
355 |
|
356 |
+
#: wp/transposh_widget.php:288
|
357 |
#@ transposh
|
358 |
msgid "Set as default language"
|
359 |
msgstr "הגדר כשפת ברירת מחדל"
|
390 |
msgid "%VERSION%"
|
391 |
msgstr ""
|
392 |
|
393 |
+
#: transposh.php:921
|
394 |
+
#: wp/transposh_admin.php:183
|
395 |
#@ default
|
396 |
+
#@ transposh
|
397 |
msgid "Settings"
|
398 |
+
msgstr "הגדרות"
|
399 |
|
400 |
+
#: wp/transposh_admin.php:316
|
401 |
+
#@ transposh
|
402 |
msgid "Save Changes"
|
403 |
+
msgstr "שמור שינויים"
|
404 |
|
405 |
+
#: wp/transposh_admin.php:425
|
406 |
#@ transposh
|
407 |
msgid "Enable gettext integration"
|
408 |
msgstr "אפשר אינטגרציית gettext"
|
409 |
|
410 |
+
#: wp/transposh_admin.php:426
|
411 |
#@ transposh
|
412 |
msgid "Enable integration of Transposh with existing gettext interface (.po/.mo files)"
|
413 |
msgstr "אפשר אינטגרציה של טרנספוש עם ממשק gettext הקיים (קבצי .po/.mo)"
|
414 |
|
415 |
+
#: wp/transposh_admin.php:388
|
416 |
#@ transposh
|
417 |
msgid "Language supported by apertium translate"
|
418 |
msgstr "שפה נתמכת ע\"י המתרגם של אפרטיום"
|
419 |
|
420 |
+
#: wp/transposh_admin.php:556
|
421 |
#@ transposh
|
422 |
msgid "Attempt to fix errors caused by previous versions - please backup first"
|
423 |
msgstr "נסה לתקן שגיאות שנגרמו על ידי גרסאות קודמות - אנא גבה קודם"
|
424 |
|
425 |
+
#: wp/transposh_widget.php:318
|
426 |
#@ transposh
|
427 |
msgid "translation plugin for wordpress"
|
428 |
msgstr "תוסף התרגום לוורדפרס"
|
429 |
|
430 |
+
#: wp/transposh_widget.php:321
|
431 |
#@ transposh
|
432 |
msgid "wordpress translation plugin"
|
433 |
msgstr "תוסף תרגום לוורדפרס"
|
434 |
|
435 |
+
#: wp/transposh_widget.php:324
|
436 |
#@ transposh
|
437 |
msgid "translate your blog to 60+ languages"
|
438 |
msgstr "תרגם את הבלוג שלך ל-60 שפות"
|
439 |
|
440 |
+
#: wp/transposh_widget.php:327
|
441 |
#@ transposh
|
442 |
msgid "website crowdsourcing translation plugin"
|
443 |
msgstr "תוסף מיקור המון (crowdsourcing) לתרגום אתרים"
|
444 |
|
445 |
+
#: wp/transposh_widget.php:330
|
446 |
#@ transposh
|
447 |
msgid "google translate and bing translate plugin for wordpress"
|
448 |
msgstr "תוסף תרגום גוגל ובינג לוורדפרס"
|
449 |
|
450 |
+
#: wp/transposh_admin.php:514
|
|
|
451 |
#@ transposh
|
452 |
msgid "Edit interface (and progress bar) theme:"
|
453 |
msgstr "ערכת עיצוב ממשק עריכה (ובר התקדמות):"
|
454 |
|
455 |
+
#: wp/transposh_admin.php:424
|
456 |
#@ transposh
|
457 |
msgid "Allow search of translated languages (and the original language)"
|
458 |
msgstr "אפשר חיפוש בשפות המתורגמות (בנוסף לשפת המקור)"
|
459 |
|
460 |
+
#: wp/transposh_admin.php:428
|
461 |
#@ transposh
|
462 |
msgid "Enable override for default locale"
|
463 |
msgstr "אפשר עקיפת משתנה סביבת השפה של בררת במחדל"
|
464 |
|
465 |
+
#: wp/transposh_admin.php:429
|
466 |
#@ transposh
|
467 |
msgid "Enable overriding the default locale that is set in WP_LANG on default languages pages (such as untranslated pages and admin pages)"
|
468 |
+
msgstr "אפשר את עקיפת משתנה השפה של בררת המחדל המוגדר ב-WP_LANG עבור עמודים בשפת בררת המחדל (כמו עמודים שאינם מתורגמים ועמודי ניהול)"
|
469 |
|
470 |
+
#: wp/transposh_admin.php:733
|
471 |
#, php-format
|
472 |
#@ transposh
|
473 |
msgid "Your current PHP memory limit of %s is quite low, if you experience blank pages please consider increasing it."
|
474 |
msgstr "הגבלת הזכרון ב-PHP שלך של %s נמוכה, אם תחווה בעיות של דפים ריקים מומלץ לשקול להגדיל את המגבלה."
|
475 |
|
476 |
+
#: wp/transposh_admin.php:737
|
477 |
#@ transposh
|
478 |
msgid "We were not able to find a supported in-memory caching engine, installing one can improve performance."
|
479 |
msgstr "לא הצלחנו לאתר מנגנון זכרון מטמון נתמך, התקנה של אחד יכולה לשפר את הביצועים."
|
480 |
|
481 |
+
#: wp/transposh_postpublish.php:57
|
482 |
#@ transposh
|
483 |
msgid "Set post language"
|
484 |
msgstr "הגדר את שפת הפוסט"
|
485 |
|
486 |
+
#: wp/transposh_postpublish.php:203
|
|
|
|
|
|
|
|
|
|
|
487 |
#@ default
|
488 |
msgid "Default"
|
489 |
msgstr ""
|
490 |
|
491 |
+
#: wp/transposh_admin.php:733
|
492 |
+
#: wp/transposh_admin.php:737
|
493 |
#@ transposh
|
494 |
msgid "Check Transposh FAQs"
|
495 |
msgstr "בדוק את השאלות הנפוצות של טרנספוש"
|
496 |
|
497 |
+
#: wp/transposh_admin.php:443
|
498 |
#@ transposh
|
499 |
msgid "Allow collecting usage statistics"
|
500 |
msgstr "אפשר איסוף סטטיסטיקות שימוש"
|
501 |
|
502 |
+
#. TRANSLATORS: this is what appears in the select box in dropdown subwidget
|
503 |
#: widgets/dropdown/tpw_image_dropdown.php:45
|
504 |
#@ transposh
|
505 |
msgid "Select language"
|
506 |
msgstr "בחר שפה"
|
507 |
|
508 |
+
#: wp/transposh_admin.php:465
|
|
|
|
|
|
|
|
|
|
|
509 |
#@ transposh
|
510 |
msgid "MSN API key"
|
511 |
msgstr "מפתח API של MSN"
|
512 |
|
513 |
+
#: wp/transposh_admin.php:466
|
514 |
+
#: wp/transposh_admin.php:469
|
|
|
515 |
#@ transposh
|
516 |
msgid "API Key"
|
517 |
msgstr "מפתח API"
|
518 |
|
519 |
+
#: wp/transposh_admin.php:468
|
520 |
#@ transposh
|
521 |
msgid "Google API key"
|
522 |
msgstr "מפתח API של גוגל"
|
523 |
|
524 |
+
#: wp/transposh_widget.php:124
|
525 |
#@ transposh
|
526 |
msgid "Title:"
|
527 |
msgstr "כותרת:"
|
528 |
|
529 |
+
#: wp/transposh_widget.php:256
|
530 |
#@ transposh
|
531 |
msgid "Transposh subwidget was not loaded correctly"
|
532 |
msgstr "ישומון משנה של טרנספוש לא נטען כראוי"
|
533 |
|
534 |
+
#. TRANSLATORS: no need to translate this string
|
535 |
+
#: wp/transposh_widget.php:273
|
536 |
#@ transposh
|
537 |
msgid "title"
|
538 |
msgstr ""
|
539 |
|
540 |
+
#. TRANSLATORS: this will be the default widget title
|
541 |
+
#: wp/transposh_widget.php:119
|
542 |
#@ transposh
|
543 |
msgid "Translation"
|
544 |
msgstr "תרגום"
|
545 |
|
546 |
+
#: wp/transposh_admin.php:759
|
547 |
#@ transposh
|
548 |
msgid "Language"
|
549 |
msgstr "שפה"
|
550 |
|
551 |
+
#: wp/transposh_admin.php:444
|
552 |
#@ transposh
|
553 |
msgid "This option enables collection of statistics by transposh that will be used to improve the product."
|
554 |
msgstr "אפשרות זו מאפשרת איסוף סטטיסטיקות על ידי טרנספוש שישמשו לשיפור המוצר."
|
555 |
|
556 |
+
#: wp/transposh_admin.php:390
|
|
|
|
|
|
|
|
|
|
|
557 |
#@ transposh
|
558 |
msgid "Language supported by one hour translation"
|
559 |
msgstr "שפה נתמכת על ידי one hour translation"
|
560 |
|
561 |
+
#: wp/transposh_admin.php:477
|
562 |
#@ transposh
|
563 |
msgid "<a href=\"http://transposh.org/redir/oht\">One Hour Translation</a>, is the largest professional translation service online, with thousands of business customers, including 57% of the Fortune 500 companies, and over 15000 translators worldwide."
|
564 |
msgstr "<a href=\"http://transposh.org/redir/oht\">One Hour Translation</a>, הינה שרות התרגום המקצועי הגדול ביותר באינטרנט , עם אלפי לקוחות עסקיים, כולל 57% מחברות Fortune 500, ומעל 15000 מתרגמים ברחבי העולם."
|
565 |
|
566 |
+
#: wp/transposh_admin.php:479
|
567 |
#@ transposh
|
568 |
msgid "One Hour Translation provides high-quality, fast professional translation to/from any language, and has specific domain expertise in SW localization, technical, business, and legal translations."
|
569 |
msgstr "One Hour Translation מספקת תרגום איכותי, מהיר ומקצועי מכל שפה ומתמחה באופן ספציפי בלוקליזציה של תוכנה, תרגום טכני, תרגום עסקי, ותרגומים משפטיים."
|
570 |
|
571 |
+
#: wp/transposh_admin.php:483
|
572 |
#@ transposh
|
573 |
msgid "One Hour Translation account ID"
|
574 |
msgstr "קוד זיהוי חשבון ב-One Hour Translation"
|
575 |
|
576 |
+
#: wp/transposh_admin.php:484
|
577 |
+
#: wp/transposh_admin.php:488
|
578 |
#@ transposh
|
579 |
msgid "Account ID"
|
580 |
msgstr "קוד זיהוי חשבון"
|
581 |
|
582 |
+
#: wp/transposh_admin.php:487
|
583 |
#@ transposh
|
584 |
msgid "One Hour Translation secret key"
|
585 |
msgstr "מפתח סודי עבור One Hour Translation"
|
586 |
|
587 |
+
#: wp/transposh_admin.php:499
|
|
|
|
|
|
|
|
|
|
|
|
|
588 |
#, php-format
|
589 |
#@ transposh
|
590 |
msgid "%d projects have been submitted and waiting for completion"
|
591 |
msgstr "%d משימות הוגשו ומחכות להשלמה"
|
592 |
|
593 |
+
#: wp/transposh_admin.php:755
|
594 |
#@ transposh
|
595 |
msgid "Unset"
|
596 |
msgstr "לא מוגדרת"
|
597 |
|
598 |
+
#: wp/transposh_admin.php:181
|
599 |
+
#@ transposh
|
600 |
+
msgid "Dashboard"
|
601 |
+
msgstr "לוח הבקרה"
|
602 |
+
|
603 |
+
#: wp/transposh_admin.php:182
|
604 |
+
#@ transposh
|
605 |
+
msgid "Languages"
|
606 |
+
msgstr "שפות"
|
607 |
+
|
608 |
+
#: wp/transposh_admin.php:184
|
609 |
+
#@ transposh
|
610 |
+
msgid "Translation Engines"
|
611 |
+
msgstr "מנועי תרגום"
|
612 |
+
|
613 |
+
#: wp/transposh_admin.php:185
|
614 |
+
#@ transposh
|
615 |
+
msgid "Widgets settings"
|
616 |
+
msgstr "הגדרות יישומונים"
|
617 |
+
|
618 |
+
#: wp/transposh_admin.php:186
|
619 |
+
#@ transposh
|
620 |
+
msgid "Advanced"
|
621 |
+
msgstr "מתקדם"
|
622 |
+
|
623 |
+
#: wp/transposh_admin.php:187
|
624 |
+
#@ transposh
|
625 |
+
msgid "Utilities"
|
626 |
+
msgstr "כלי עזר"
|
627 |
+
|
628 |
+
#: wp/transposh_admin.php:188
|
629 |
+
#@ transposh
|
630 |
+
msgid "About"
|
631 |
+
msgstr "אודות"
|
632 |
+
|
633 |
+
#: wp/transposh_admin.php:189
|
634 |
+
#@ transposh
|
635 |
+
msgid "Support"
|
636 |
+
msgstr "תמיכה"
|
637 |
+
|
638 |
+
#: wp/transposh_admin.php:171
|
639 |
+
#@ transposh
|
640 |
+
msgid "For further help and assistance, please look at the following resources:"
|
641 |
+
msgstr "עבור תמיכה וסיוע אנא הסתכלו במקורות הבאים:"
|
642 |
+
|
643 |
+
#: wp/transposh_admin.php:174
|
644 |
+
#@ transposh
|
645 |
+
msgid "Development website"
|
646 |
+
msgstr "אתר הפיתוח"
|
647 |
+
|
648 |
+
#: wp/transposh_admin.php:278
|
649 |
+
#@ transposh
|
650 |
+
msgid "Transposh Help"
|
651 |
+
msgstr "עזרה של טרנספוש"
|
652 |
+
|
653 |
+
#: wp/transposh_admin.php:407
|
654 |
+
#@ transposh
|
655 |
+
msgid "Translation related settings"
|
656 |
+
msgstr "הגדרות קשורות לתרגום"
|
657 |
+
|
658 |
+
#: wp/transposh_admin.php:432
|
659 |
+
#@ transposh
|
660 |
+
msgid "General settings"
|
661 |
+
msgstr "הגדרות כלליות"
|
662 |
+
|
663 |
+
#: wp/transposh_admin.php:450
|
664 |
+
#@ transposh
|
665 |
+
msgid "Backup service settings"
|
666 |
+
msgstr "הגדרות שרות גיבוי"
|
667 |
+
|
668 |
+
#: wp/transposh_admin.php:459
|
669 |
+
#@ transposh
|
670 |
+
msgid "Automatic Translation Settings"
|
671 |
+
msgstr "הגדרות תרגום אוטומטי"
|
672 |
+
|
673 |
+
#: wp/transposh_admin.php:477
|
674 |
+
#@ transposh
|
675 |
+
msgid "Professional Translation Settings"
|
676 |
+
msgstr "הגדרות תרגום מקצועי"
|
677 |
+
|
678 |
+
#: wp/transposh_admin.php:494
|
679 |
+
#, php-format
|
680 |
+
#@ transposh
|
681 |
+
msgid "%d phrases currently queued for next job in ~%d minutes"
|
682 |
+
msgstr "ישנם %d משפטים בתור לביצוע בעוד בערך %d דקות"
|
683 |
+
|
684 |
+
#: wp/transposh_admin.php:520
|
685 |
+
#@ transposh
|
686 |
+
msgid "Parser related settings"
|
687 |
+
msgstr "הגדרות מפרש"
|
688 |
+
|
689 |
+
#: wp/transposh_admin.php:521
|
690 |
+
#: wp/transposh_admin.php:530
|
691 |
+
#@ transposh
|
692 |
+
msgid "This is extremely dangerous, will break your current translations, and might cause severe hickups, only proceed if you really know what you are doing."
|
693 |
+
msgstr "הגדרות אלו מסוכנות, וישברו תרגומים קיימים. הן עלולות לגרום גם להתקפי שיהוק. המשיכו רק אם אתם יודעים מה אתם עושים"
|
694 |
+
|
695 |
+
#: wp/transposh_admin.php:522
|
696 |
+
#@ transposh
|
697 |
+
msgid "Disable punctuations break"
|
698 |
+
msgstr "בטל עצירות בסימני ניקוד"
|
699 |
+
|
700 |
+
#: wp/transposh_admin.php:523
|
701 |
+
#@ transposh
|
702 |
+
msgid "The parser will not break text into phrases when encountering punctuations such as dots"
|
703 |
+
msgstr "המפרש לא ישבור טקסט כאשר הוא נתקל בסימן ניקוד כמו נקודה או פסיק"
|
704 |
+
|
705 |
+
#: wp/transposh_admin.php:524
|
706 |
+
#@ transposh
|
707 |
+
msgid "Disable numbers break"
|
708 |
+
msgstr "בטל עצירה במספרים"
|
709 |
+
|
710 |
+
#: wp/transposh_admin.php:525
|
711 |
+
#@ transposh
|
712 |
+
msgid "The parser will not break text into phrases when encountering numbers"
|
713 |
+
msgstr "המפרש לא ישבור טקסט כאשר הוא נתקל במספרים"
|
714 |
+
|
715 |
+
#: wp/transposh_admin.php:526
|
716 |
+
#@ transposh
|
717 |
+
msgid "Disable html entities break"
|
718 |
+
msgstr "בטל שבירה בתגי HTML"
|
719 |
+
|
720 |
+
#: wp/transposh_admin.php:527
|
721 |
+
#@ transposh
|
722 |
+
msgid "The parser will not break text into phrases when encountering html entities"
|
723 |
+
msgstr "המפרש לא ישבור טקסט כאשר הוא נתקל בסימני HTML"
|
724 |
+
|
725 |
+
#: wp/transposh_admin.php:529
|
726 |
+
#@ transposh
|
727 |
+
msgid "Debug settings"
|
728 |
+
msgstr "הגדרות דיבוג"
|
729 |
+
|
730 |
+
#: wp/transposh_admin.php:531
|
731 |
+
#@ transposh
|
732 |
+
msgid "Enable debugging"
|
733 |
+
msgstr "אפשר דיבוג"
|
734 |
+
|
735 |
+
#: wp/transposh_admin.php:532
|
736 |
+
#@ transposh
|
737 |
+
msgid "Enable running of Transposh internal debug functions"
|
738 |
+
msgstr "אפשר את הרצת פונקציות הדיבוג הפנימיות של טרנספוש"
|
739 |
+
|
740 |
+
#: wp/transposh_admin.php:533
|
741 |
+
#@ transposh
|
742 |
+
msgid "Log file name"
|
743 |
+
msgstr "שם קובץ לוג"
|
744 |
+
|
745 |
+
#: wp/transposh_admin.php:534
|
746 |
+
#@ transposh
|
747 |
+
msgid "Level of logging"
|
748 |
+
msgstr "רמת לוג"
|
749 |
+
|
750 |
+
#: wp/transposh_admin.php:535
|
751 |
+
#@ transposh
|
752 |
+
msgid "Critical"
|
753 |
+
msgstr "קריטי"
|
754 |
+
|
755 |
+
#: wp/transposh_admin.php:536
|
756 |
+
#@ transposh
|
757 |
+
msgid "Important"
|
758 |
+
msgstr "חשוב"
|
759 |
+
|
760 |
+
#: wp/transposh_admin.php:537
|
761 |
+
#@ transposh
|
762 |
+
msgid "Warning"
|
763 |
+
msgstr "אזהרה"
|
764 |
+
|
765 |
+
#: wp/transposh_admin.php:538
|
766 |
+
#@ transposh
|
767 |
+
msgid "Information"
|
768 |
+
msgstr "מידע"
|
769 |
+
|
770 |
+
#: wp/transposh_admin.php:539
|
771 |
+
#@ transposh
|
772 |
+
msgid "Debug"
|
773 |
+
msgstr "דיבאג"
|
774 |
+
|
775 |
+
#: wp/transposh_admin.php:541
|
776 |
+
#, php-format
|
777 |
+
#@ transposh
|
778 |
+
msgid "Remote debug IP (Your current IP is %s)"
|
779 |
+
msgstr "כתובת ה-IP המרוחקת (הכתובת שלך היא %s)"
|
780 |
+
|
781 |
+
#: wp/transposh_admin.php:553
|
782 |
+
#@ transposh
|
783 |
+
msgid "Reset configuration to default (saves keys)"
|
784 |
+
msgstr "אתחל את ההגדרות לברירת המחדל (מפתחות ישמרו)"
|
785 |
+
|
786 |
+
#: wp/transposh_admin.php:592
|
787 |
+
#@ transposh
|
788 |
+
msgid "Have you encountered any problem with our plugin and need our help?"
|
789 |
+
msgstr "האם נתקלתם בבעיה בתוסף שלנו ואתם זקוקים לעזרתנו?"
|
790 |
+
|
791 |
+
#: wp/transposh_admin.php:593
|
792 |
+
#@ transposh
|
793 |
+
msgid "Do you need to ask us any question?"
|
794 |
+
msgstr "האם אתם רוצים לשאול אותנו שאלה כלשהיא?"
|
795 |
+
|
796 |
+
#: wp/transposh_admin.php:594
|
797 |
+
#@ transposh
|
798 |
+
msgid "You have two options:"
|
799 |
+
msgstr "יש לכם שתי אפשרויות:"
|
800 |
+
|
801 |
+
#: wp/transposh_admin.php:599
|
802 |
+
#@ transposh
|
803 |
+
msgid "You can contact us through our contact form on our web site"
|
804 |
+
msgstr "ניתן ליצור עמנו קשר דרך טופס יצירת הקשר באתרנו"
|
805 |
+
|
806 |
+
#: wp/transposh_admin.php:600
|
807 |
+
#@ transposh
|
808 |
+
msgid "Create a ticket for us if you have found any bugs"
|
809 |
+
msgstr "ניתן לפתוח לנו כרטיס אם נתקלתם בשגיאה"
|
810 |
+
|
811 |
+
#: wp/transposh_admin.php:623
|
812 |
+
#@ transposh
|
813 |
+
msgid "This includes helping with various bugs, basic theme/plugins conflicts, or just telling you where the ON button is"
|
814 |
+
msgstr "בזה כלול סיוע בבגים שונים, התנגשויות בסיסיות עם תוספים וערכות נושא שונות, או פשוט שנגיד לך איפה כפתור ההפעלה"
|
815 |
+
|
816 |
+
#: wp/transposh_admin.php:624
|
817 |
+
#@ transposh
|
818 |
+
msgid "Full money back guarentee! If your problem remains unresolved or you are simply unhappy we will refund your paypal account as soon as you ask (as long as paypal allows it, don't come to us three years later!)"
|
819 |
+
msgstr "מבטיחים להשיב את הכסף בכל מקרה של חוסר שביעות רצון! אם הבעיה לא נפתר או שפשוט אינכם מרוצים, נחזיר לכם את הכסף לחשבונכם לכשתבקשו (כל עוד פייפאל מאפשרים, אל תבואו אלינו אחרי שלוש שנים!)"
|
820 |
+
|
821 |
+
#: wp/transposh_admin.php:625
|
822 |
+
#@ transposh
|
823 |
+
msgid "So hit the following button. Thanks!"
|
824 |
+
msgstr "אז לחצו על הכפתור הבא. תודה!"
|
825 |
+
|
826 |
+
#: wp/transposh_admin.php:637
|
827 |
+
#@ transposh
|
828 |
+
msgid "If you just want to show that you care, this is the button for you. But please think twice before doing this. It will make us happier if you just do something nice for someone in your area, contribute to a local charity, and let us know that you did that :)"
|
829 |
+
msgstr "אם אתם רק רוצים להראות שאכפת לכם, זהו הכפתור עבורכם. אבל אנא חשבו פעמיים לפני השימוש. ישמח אותנו אם פשוט תעשו משהו נחמד למישהו באזורכם, תתרמו לארגון צדקה, ותספרו לנו!"
|
830 |
+
|
831 |
+
#: wp/transposh_admin.php:567
|
832 |
+
#@ transposh
|
833 |
+
msgid "About Transposh"
|
834 |
+
msgstr "אודות טרנספוש"
|
835 |
+
|
836 |
+
#: wp/transposh_admin.php:568
|
837 |
+
#@ transposh
|
838 |
+
msgid "Transposh was started at 2008 and is dedicated to provide tools to ease website translation."
|
839 |
+
msgstr "טרנספוש נוסדה בשנת 2008 והיא מספקת כלים להקלה בתרגום אתרים."
|
840 |
+
|
841 |
+
#: wp/transposh_admin.php:570
|
842 |
+
#@ transposh
|
843 |
+
msgid "Learn more about us in the following online presenses"
|
844 |
+
msgstr "למדו עלינו עוד דרך העמודים הבאים שלנו"
|
845 |
+
|
846 |
+
#: wp/transposh_admin.php:573
|
847 |
+
#@ transposh
|
848 |
+
msgid "Our website"
|
849 |
+
msgstr "האתר שלנו"
|
850 |
+
|
851 |
+
#: wp/transposh_admin.php:575
|
852 |
+
#@ transposh
|
853 |
+
msgid "Our blog"
|
854 |
+
msgstr "הבלוג שלנו"
|
855 |
+
|
856 |
+
#: wp/transposh_admin.php:577
|
857 |
+
#@ transposh
|
858 |
+
msgid "Our twitter account (feel free to follow!)"
|
859 |
+
msgstr "חשבון הטוויטר שלנו (תרגישו חופשי לעקוב!)"
|
860 |
+
|
861 |
+
#: wp/transposh_admin.php:579
|
862 |
+
#@ transposh
|
863 |
+
msgid "Our facebook page (feel free to like!)"
|
864 |
+
msgstr "עמוד הפייסבוק שלנו (תרגישו חופשי ללייקק!)"
|
865 |
+
|
866 |
+
#: wp/transposh_admin.php:581
|
867 |
+
#@ transposh
|
868 |
+
msgid "Our google plus page (add us to your circles!)"
|
869 |
+
msgstr "עמוד הגוגל פלוס שלנו (תוסיפו אותנו למעגלים!)"
|
870 |
+
|
871 |
+
#: wp/transposh_admin.php:583
|
872 |
+
#@ transposh
|
873 |
+
msgid "Our youtube channel"
|
874 |
+
msgstr "ערוץ היוטיוב שלנו"
|
875 |
+
|
876 |
+
#: wp/transposh_admin.php:592
|
877 |
+
#@ transposh
|
878 |
+
msgid "Transposh support"
|
879 |
+
msgstr "התמיכה של טרנספוש"
|
880 |
+
|
881 |
+
#: wp/transposh_admin.php:596
|
882 |
+
#@ transposh
|
883 |
+
msgid "Our free support"
|
884 |
+
msgstr "התמיכה החינמית שלנו"
|
885 |
+
|
886 |
+
#: wp/transposh_admin.php:598
|
887 |
+
#@ transposh
|
888 |
+
msgid "There are many channels to reach us and we do try to help as fast as we can"
|
889 |
+
msgstr "ישנם ערוצים רבים בהם ניתן להשיג אותנו ואנו ננסה לסייע בהקדם האפשרי"
|
890 |
+
|
891 |
+
#: wp/transposh_admin.php:601
|
892 |
+
#@ transposh
|
893 |
+
msgid "Reach us via different forums:"
|
894 |
+
msgstr "השיגו אותנו דרך הפורומים הבאים:"
|
895 |
+
|
896 |
+
#: wp/transposh_admin.php:604
|
897 |
+
#@ transposh
|
898 |
+
msgid "Our support forum on wordpress.org"
|
899 |
+
msgstr "פורום התמיכה שלנו ב-wordpress.org"
|
900 |
+
|
901 |
+
#: wp/transposh_admin.php:606
|
902 |
+
#@ transposh
|
903 |
+
msgid "Our internal development site, with wiki and tickets"
|
904 |
+
msgstr "אתר הפיתוח הפנימי שלנו, עם ויקי וכרטיסים"
|
905 |
+
|
906 |
+
#: wp/transposh_admin.php:608
|
907 |
+
#@ transposh
|
908 |
+
msgid "Our facebook page"
|
909 |
+
msgstr "עמוד הפייסבוק שלנו"
|
910 |
+
|
911 |
+
#: wp/transposh_admin.php:610
|
912 |
+
#@ transposh
|
913 |
+
msgid "Our google plus page"
|
914 |
+
msgstr "עמוד הגוגל פלוס שלנו"
|
915 |
+
|
916 |
+
#: wp/transposh_admin.php:612
|
917 |
+
#@ transposh
|
918 |
+
msgid "Contact us directly via:"
|
919 |
+
msgstr "צרו איתנו קשר ישירות דרך:"
|
920 |
+
|
921 |
+
#: wp/transposh_admin.php:614
|
922 |
+
#@ transposh
|
923 |
+
msgid "Our contact form"
|
924 |
+
msgstr "טופס יצירת הקשר שלנו"
|
925 |
+
|
926 |
+
#: wp/transposh_admin.php:620
|
927 |
+
#@ transposh
|
928 |
+
msgid "Professional support option"
|
929 |
+
msgstr "אפשרות תמיכה מקצועית"
|
930 |
+
|
931 |
+
#: wp/transposh_admin.php:622
|
932 |
+
#@ transposh
|
933 |
+
msgid "For the low low price of $99, we will take express action on your request. By express we mean that your issue will become our top priority, and will resolve ASAP"
|
934 |
+
msgstr "בשביל המחיר הממש נמוך של $99, אנחנו נעזוב הכל ונטפל בבעיה שלכם"
|
935 |
+
|
936 |
+
#: wp/transposh_admin.php:635
|
937 |
+
#@ transposh
|
938 |
+
msgid "Donations"
|
939 |
+
msgstr "תרומות"
|
940 |
+
|
941 |
+
#: wp/transposh_admin.php:747
|
942 |
+
#@ transposh
|
943 |
+
msgid "Hide Notice"
|
944 |
+
msgstr "הסתר הודעה"
|
945 |
+
|
Binary file
|
@@ -1,26 +1,28 @@
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
-
"Project-Id-Version:
|
4 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/transposh-translation-filter-for-wordpress\n"
|
5 |
"POT-Creation-Date: 2010-10-13 10:21+0000\n"
|
6 |
-
"PO-Revision-Date:
|
7 |
-
"Last-Translator: \n"
|
8 |
-
"Language-Team:
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=utf-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
13 |
-
"X-Poedit-Language: \n"
|
14 |
-
"X-Poedit-Country: \n"
|
15 |
"X-Poedit-SourceCharset: utf-8\n"
|
16 |
"X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;\n"
|
17 |
-
"X-Poedit-Basepath:
|
18 |
"X-Poedit-Bookmarks: \n"
|
19 |
"X-Poedit-SearchPath-0: .\n"
|
20 |
"X-Textdomain-Support: yes"
|
21 |
|
22 |
-
#: transposh.php:
|
|
|
23 |
#@ default
|
|
|
24 |
msgid "Settings"
|
25 |
msgstr "Configurazione"
|
26 |
|
@@ -30,418 +32,341 @@ msgstr "Configurazione"
|
|
30 |
msgid "%s translated a phrase to %s with transposh:"
|
31 |
msgstr "%s frase tradotta in %s con Transposh:"
|
32 |
|
33 |
-
#: wp/transposh_admin.php:
|
34 |
#@ transposh
|
35 |
msgid "Transposh makes your blog translatable"
|
36 |
-
msgstr "Transposh rende il tuo
|
37 |
|
38 |
-
#: wp/transposh_admin.php:
|
39 |
#@ transposh
|
40 |
msgid "Plugin homepage"
|
41 |
msgstr "Homepage del plugin"
|
42 |
|
43 |
-
#: wp/transposh_admin.php:
|
44 |
#@ transposh
|
45 |
msgid "Frequently asked questions"
|
46 |
msgstr "Domande Frequenti (FAQ)"
|
47 |
|
48 |
-
#: wp/transposh_admin.php:
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
#: wp/transposh_admin.php:175
|
54 |
-
#: wp/transposh_admin.php:243
|
55 |
-
#: wp/transposh_postpublish.php:50
|
56 |
-
#: wp/transposh_postpublish.php:51
|
57 |
-
#: wp/transposh_widget.php:84
|
58 |
-
#: wp/transposh_widget.php:311
|
59 |
#@ transposh
|
60 |
#@ default
|
61 |
msgid "Transposh"
|
62 |
msgstr "Transposh"
|
63 |
|
64 |
-
#: wp/transposh_admin.php:
|
65 |
-
#@ transposh
|
66 |
-
msgid "About this plugin"
|
67 |
-
msgstr "Riguardo al plugin"
|
68 |
-
|
69 |
-
#: wp/transposh_admin.php:213
|
70 |
#@ transposh
|
71 |
msgid "Plugin news"
|
72 |
msgstr "Novità del Plugin"
|
73 |
|
74 |
-
#: wp/transposh_admin.php:
|
75 |
#@ transposh
|
76 |
msgid "Plugin stats"
|
77 |
msgstr "Statistiche del Plugin"
|
78 |
|
79 |
-
#: wp/transposh_admin.php:
|
80 |
-
#@ transposh
|
81 |
-
msgid "Translate all"
|
82 |
-
msgstr "Tradurre tutto"
|
83 |
-
|
84 |
-
#: wp/transposh_admin.php:216
|
85 |
-
#@ transposh
|
86 |
-
msgid "Supported languages"
|
87 |
-
msgstr "Lingue supportate"
|
88 |
-
|
89 |
-
#: wp/transposh_admin.php:217
|
90 |
-
#@ transposh
|
91 |
-
msgid "Translation settings"
|
92 |
-
msgstr "Configurazione Traduzioni"
|
93 |
-
|
94 |
-
#: wp/transposh_admin.php:218
|
95 |
-
#@ transposh
|
96 |
-
msgid "Automatic translation settings"
|
97 |
-
msgstr "Configurazione traduzione automatica"
|
98 |
-
|
99 |
-
#: wp/transposh_admin.php:221
|
100 |
-
#@ transposh
|
101 |
-
msgid "Generic settings"
|
102 |
-
msgstr "Configurazione Generale"
|
103 |
-
|
104 |
-
#: wp/transposh_admin.php:222
|
105 |
-
#@ transposh
|
106 |
-
msgid "Database maintenance"
|
107 |
-
msgstr "Manutenzione Database"
|
108 |
-
|
109 |
-
#: wp/transposh_admin.php:237
|
110 |
#@ transposh
|
111 |
-
msgid "Transposh community features"
|
112 |
-
msgstr "Caratteristiche del Transposh Community"
|
113 |
-
|
114 |
-
#: wp/transposh_admin.php:273
|
115 |
-
#@ default
|
116 |
msgid "Save Changes"
|
117 |
msgstr "Salva modifiche"
|
118 |
|
119 |
-
#: wp/transposh_admin.php:
|
120 |
#@ transposh
|
121 |
msgid "Problems?"
|
122 |
msgstr "Problemi?"
|
123 |
|
124 |
-
#: wp/transposh_admin.php:
|
125 |
-
#@ transposh
|
126 |
-
msgid "Plugin Homepage"
|
127 |
-
msgstr "Homepage del Plugin"
|
128 |
-
|
129 |
-
#: wp/transposh_admin.php:314
|
130 |
#@ transposh
|
131 |
msgid "Suggest a Feature"
|
132 |
msgstr "Suggerisci una funzione"
|
133 |
|
134 |
-
#: wp/transposh_admin.php:
|
135 |
#@ transposh
|
136 |
msgid "Report a Bug"
|
137 |
msgstr "Segnala un bug"
|
138 |
|
139 |
-
#: wp/transposh_admin.php:
|
140 |
#@ transposh
|
141 |
msgid "Translate by clicking the button below"
|
142 |
msgstr "Traduci cliccando sul bottone in basso"
|
143 |
|
144 |
-
#: wp/transposh_admin.php:
|
145 |
#@ transposh
|
146 |
msgid "Translate All Now"
|
147 |
msgstr "Traduci tutto ora"
|
148 |
|
149 |
-
#: wp/transposh_admin.php:
|
150 |
#@ transposh
|
151 |
msgid "Default Language (drag another language here to make it default)"
|
152 |
msgstr "Lingua predefinita (trascina qui un'altra lingua per renderla predefinita)"
|
153 |
|
154 |
-
#: wp/transposh_admin.php:
|
155 |
#@ transposh
|
156 |
msgid "Available Languages (Click to toggle language state - Drag to sort in the widget)"
|
157 |
msgstr "Lingue disponibili (Clicca per modificarne l'attivazione - Trascina per modificarne l'ordine nel widget)"
|
158 |
|
159 |
-
#: wp/transposh_admin.php:
|
160 |
#@ transposh
|
161 |
msgid "Language supported by google translate"
|
162 |
msgstr "Lingue supportate da Google Translate"
|
163 |
|
164 |
-
#: wp/transposh_admin.php:
|
165 |
#@ transposh
|
166 |
msgid "Language supported by bing translate"
|
167 |
msgstr "Lingue supportate da Bing Translate"
|
168 |
|
169 |
-
#: wp/transposh_admin.php:
|
170 |
#@ transposh
|
171 |
msgid "Language is written from right to left"
|
172 |
msgstr "Lingua scritta da destra a sinistra"
|
173 |
|
174 |
-
#: wp/transposh_admin.php:
|
175 |
#@ transposh
|
176 |
msgid "Display options:"
|
177 |
msgstr "Mostra opzioni:"
|
178 |
|
179 |
-
#: wp/transposh_admin.php:
|
180 |
#@ transposh
|
181 |
msgid "Toggle names of languages between English and Original"
|
182 |
msgstr "Inverti nome della lingua tra Inglese ed Originale"
|
183 |
|
184 |
-
#: wp/transposh_admin.php:
|
185 |
#@ transposh
|
186 |
msgid "Make all languages active"
|
187 |
msgstr "Attiva tutte le lingue"
|
188 |
|
189 |
-
#: wp/transposh_admin.php:
|
190 |
#@ transposh
|
191 |
msgid "Sort by language name"
|
192 |
msgstr "Elenca per nome della lingua"
|
193 |
|
194 |
-
#: wp/transposh_admin.php:
|
195 |
#@ transposh
|
196 |
msgid "Sort by lSO code"
|
197 |
msgstr "Elenca per codice ISO"
|
198 |
|
199 |
-
#: wp/transposh_admin.php:
|
200 |
-
#@ transposh
|
201 |
-
msgid "Legend:"
|
202 |
-
msgstr "Legenda:"
|
203 |
-
|
204 |
-
#: wp/transposh_admin.php:425
|
205 |
-
#@ transposh
|
206 |
-
msgid "Green - active"
|
207 |
-
msgstr "Verde - Attivata"
|
208 |
-
|
209 |
-
#: wp/transposh_admin.php:425
|
210 |
-
#@ transposh
|
211 |
-
msgid "Yellow - translateable (only translators will see this language)"
|
212 |
-
msgstr "Giallo - Traducibile (solo i traduttori autorizzati vedranno questa lingua)"
|
213 |
-
|
214 |
-
#: wp/transposh_admin.php:425
|
215 |
-
#@ transposh
|
216 |
-
msgid "blank - inactive"
|
217 |
-
msgstr "Bianco - Non attiva"
|
218 |
-
|
219 |
-
#: wp/transposh_admin.php:447
|
220 |
#@ transposh
|
221 |
msgid "Who can translate ?"
|
222 |
msgstr "Chi può tradurre?"
|
223 |
|
224 |
-
#: wp/transposh_admin.php:
|
225 |
#@ transposh
|
226 |
msgid "Anonymous"
|
227 |
msgstr "Anonimi"
|
228 |
|
229 |
-
#: wp/transposh_admin.php:
|
230 |
#@ transposh
|
231 |
msgid "Enable default language translation"
|
232 |
msgstr "Abilita traduzione della lingua predefinita"
|
233 |
|
234 |
-
#: wp/transposh_admin.php:
|
235 |
#@ transposh
|
236 |
msgid "Allow translation of default language - useful for sites with more than one major language"
|
237 |
msgstr "Permetti traduzione della lingua predefinita - utile per siti con più di una lingua principale"
|
238 |
|
239 |
-
#: wp/transposh_admin.php:
|
240 |
#@ transposh
|
241 |
msgid "Enable search in translated languages"
|
242 |
msgstr "Abilita ricerca nelle lingue tradotte"
|
243 |
|
244 |
-
#: wp/transposh_admin.php:
|
245 |
#@ transposh
|
246 |
msgid "Enable url translation"
|
247 |
msgstr "Abilita traduzione delle URL"
|
248 |
|
249 |
-
#: wp/transposh_admin.php:
|
250 |
-
#: wp/transposh_admin.php:481
|
251 |
#@ transposh
|
252 |
msgid "experimental"
|
253 |
msgstr "sperimentale"
|
254 |
|
255 |
-
#: wp/transposh_admin.php:
|
256 |
#@ transposh
|
257 |
msgid "Allow translation of permalinks and urls"
|
258 |
msgstr "Permetti la traduzione dei permalinks e delle URL"
|
259 |
|
260 |
-
#: wp/transposh_admin.php:
|
261 |
#@ transposh
|
262 |
msgid "Enable gettext integration"
|
263 |
msgstr "Abilita la traduzione gettext"
|
264 |
|
265 |
-
#: wp/transposh_admin.php:
|
266 |
#@ transposh
|
267 |
msgid "Enable integration of Transposh with existing gettext interface (.po/.mo files)"
|
268 |
msgstr "Abilita l'integrazione di Transposh con l'interfaccia gettext esistente (.po/mo files)"
|
269 |
|
270 |
-
#: wp/transposh_admin.php:
|
271 |
#@ transposh
|
272 |
msgid "Enable automatic translation"
|
273 |
msgstr "Abilita la traduzione automatica"
|
274 |
|
275 |
-
#: wp/transposh_admin.php:
|
276 |
#@ transposh
|
277 |
msgid "Allow automatic translation of pages"
|
278 |
msgstr "Permetti la traduzione automatica delle pagine"
|
279 |
|
280 |
-
#: wp/transposh_admin.php:
|
281 |
#@ transposh
|
282 |
msgid "Enable automatic translation after posting"
|
283 |
msgstr "Abilita la traduzione automatica dopo la pubblicazione"
|
284 |
|
285 |
-
#: wp/transposh_admin.php:
|
286 |
#@ transposh
|
287 |
msgid "Do automatic translation immediately after a post has been published"
|
288 |
msgstr "Traduci immediatamente dopo che un articolo è stato pubblicato"
|
289 |
|
290 |
-
#: wp/transposh_admin.php:
|
291 |
#@ transposh
|
292 |
msgid "Select preferred auto translation engine"
|
293 |
msgstr "Seleziona il sistema di traduzione automatica preferito"
|
294 |
|
295 |
-
#: wp/transposh_admin.php:
|
296 |
#@ transposh
|
297 |
msgid "Translation engine:"
|
298 |
msgstr "Traduttore automatico:"
|
299 |
|
300 |
-
#: wp/transposh_admin.php:
|
301 |
#@ transposh
|
302 |
msgid "Google"
|
303 |
msgstr "Google"
|
304 |
|
305 |
-
#: wp/transposh_admin.php:
|
306 |
#@ transposh
|
307 |
msgid "Bing"
|
308 |
msgstr "Bing"
|
309 |
|
310 |
-
#: wp/transposh_admin.php:
|
311 |
#@ transposh
|
312 |
msgid "Rewrite URLs"
|
313 |
msgstr "Riscrivi URLs"
|
314 |
|
315 |
-
#: wp/transposh_admin.php:
|
316 |
#@ transposh
|
317 |
msgid "Add scripts to footer"
|
318 |
msgstr "Aggiungi gli scripts nel footer"
|
319 |
|
320 |
-
#: wp/transposh_admin.php:
|
321 |
#@ transposh
|
322 |
msgid "Auto detect language for users"
|
323 |
msgstr "Auto rilevamento della lingua degli utenti"
|
324 |
|
325 |
-
#: wp/transposh_admin.php:
|
326 |
#@ transposh
|
327 |
msgid "Delete all automated translations"
|
328 |
msgstr "Cancella tutte le traduzioni automatiche"
|
329 |
|
330 |
-
#: wp/transposh_admin.php:
|
331 |
#@ transposh
|
332 |
msgid "Delete automated translations older than 14 days"
|
333 |
msgstr "Cancella le traduzioni automatiche più vecchie di 14 giorni"
|
334 |
|
335 |
-
#: wp/transposh_admin.php:
|
336 |
-
#@ transposh
|
337 |
-
msgid "Backup service for human translation"
|
338 |
-
msgstr "Backup di servizio per traduzione manuale"
|
339 |
-
|
340 |
-
#: wp/transposh_admin.php:615
|
341 |
#@ transposh
|
342 |
msgid "Enable daily backup"
|
343 |
msgstr "Abilita backup giornaliero"
|
344 |
|
345 |
-
#: wp/transposh_admin.php:
|
346 |
#@ transposh
|
347 |
msgid "Enable live backup"
|
348 |
msgstr "Abilita backup simultaneo"
|
349 |
|
350 |
-
#: wp/transposh_admin.php:
|
351 |
#@ transposh
|
352 |
msgid "Disable backup (Can be run manually by clicking the button below)"
|
353 |
msgstr "Disabilita backup ( può sempre essere effettuato cliccando sul bottone in basso)"
|
354 |
|
355 |
-
#: wp/transposh_admin.php:
|
356 |
#@ transposh
|
357 |
msgid "Service Key:"
|
358 |
msgstr "Service Key:"
|
359 |
|
360 |
-
#: wp/transposh_admin.php:
|
361 |
#@ transposh
|
362 |
msgid "How to restore?"
|
363 |
msgstr "Come ripristinare?"
|
364 |
|
365 |
-
#: wp/transposh_admin.php:
|
366 |
#@ transposh
|
367 |
msgid "Do Backup Now"
|
368 |
msgstr "Fai il backup adesso"
|
369 |
|
370 |
-
#: wp/transposh_db.php:
|
371 |
#@ transposh
|
372 |
msgid "Database stats"
|
373 |
msgstr "Statistiche del Database"
|
374 |
|
375 |
-
#: wp/transposh_db.php:
|
376 |
#, php-format
|
377 |
#@ transposh
|
378 |
msgid "Total of <strong style=\"color:red\">%s</strong> translated phrases."
|
379 |
msgstr "Totale di <strong style=\"color:red\">%s</strong> frasi tradotte."
|
380 |
|
381 |
-
#: wp/transposh_db.php:
|
382 |
#, php-format
|
383 |
#@ transposh
|
384 |
msgid "<strong>%1s</strong> has <strong style=\"color:red\">%2s</strong> human translated phrases."
|
385 |
msgstr "<strong>%1s</strong> ha <strong style=\"color:red\">%2s</strong> frasi tradotte manualmente."
|
386 |
|
387 |
-
#: wp/transposh_db.php:
|
388 |
#@ transposh
|
389 |
msgid "Recent activity"
|
390 |
msgstr "Attività recenti"
|
391 |
|
392 |
-
#: wp/transposh_db.php:
|
393 |
#, php-format
|
394 |
#@ transposh
|
395 |
msgid "On <strong>%1s</strong><br/>user <strong>%2s</strong> translated<br/>\"<strong>%3s</strong>\"<br/>to <strong style=\"color:red\">%4s</strong><br/>\"<strong>%5s</strong>\""
|
396 |
msgstr "Il <strong>%1s</strong><br/>l'utente <strong>%2s</strong> ha tradotto<br/>\"<strong>%3s</strong>\"<br/>in <strong style=\"color:red\">%4s</strong><br/>\"<strong>%5s</strong>\""
|
397 |
|
398 |
-
#: wp/transposh_widget.php:
|
399 |
#@ transposh
|
400 |
msgid "Transposh language selection widget"
|
401 |
msgstr "Widget Selettore lingue di Transposh"
|
402 |
|
403 |
#. TRANSLATORS: this will be the default widget title
|
404 |
-
#: wp/transposh_widget.php:
|
405 |
#@ transposh
|
406 |
msgid "Translation"
|
407 |
msgstr "Traduzione"
|
408 |
|
409 |
-
#: wp/transposh_widget.php:
|
410 |
#@ transposh
|
411 |
msgid "Set as default language"
|
412 |
msgstr "Configura come lingua predefinita"
|
413 |
|
414 |
-
#: wp/transposh_widget.php:
|
415 |
#@ transposh
|
416 |
msgid "Style:"
|
417 |
msgstr "Stile:"
|
418 |
|
419 |
-
#: wp/transposh_admin.php:
|
420 |
#@ transposh
|
421 |
msgid "Show progress bar when a client triggers automatic translation"
|
422 |
msgstr "Mostra una barra progressiva mentre il browser sta traducendo automaticamente"
|
423 |
|
424 |
-
#: wp/transposh_admin.php:
|
425 |
#@ transposh
|
426 |
msgid "Show progress bar"
|
427 |
msgstr "Mostra barra progressiva"
|
428 |
|
429 |
-
#: wp/transposh_admin.php:
|
430 |
#@ transposh
|
431 |
msgid "Widget will allow setting this language as user default"
|
432 |
msgstr "Il widget permetterà di scegliere questa lingua come predefinita per quell'utente"
|
433 |
|
434 |
-
#: wp/transposh_admin.php:
|
435 |
#@ transposh
|
436 |
msgid "Allow user to set current language as default"
|
437 |
msgstr "Permette all'utente di scegliere la lingua attuale come predefinita"
|
438 |
|
439 |
-
#: wp/transposh_admin.php:
|
440 |
#@ transposh
|
441 |
msgid "Transposh logo will not appear on widget"
|
442 |
msgstr "Il logo Transposh non apparirà nel widget"
|
443 |
|
444 |
-
#: wp/transposh_admin.php:
|
445 |
#@ transposh
|
446 |
msgid "Remove transposh logo (see <a href=\"http://transposh.org/logoterms\">terms</a>)"
|
447 |
msgstr "Rimuovere il logo Transposh (leggere attentamente <a href=\"http://transposh.org/logoterms\">i termini</a>)"
|
@@ -478,217 +403,543 @@ msgstr "Il Team Transposh"
|
|
478 |
msgid "%VERSION%"
|
479 |
msgstr "%VERSION%"
|
480 |
|
481 |
-
#: wp/transposh_admin.php:
|
482 |
#@ transposh
|
483 |
msgid "Language supported by apertium translate"
|
484 |
msgstr "Lingua supportata da apertium translate"
|
485 |
|
486 |
-
#: wp/transposh_admin.php:
|
487 |
#@ transposh
|
488 |
msgid "Allow search of translated languages (and the original language)"
|
489 |
msgstr "Permetti ricerca nelle lingue tradotte (e in quella originale)"
|
490 |
|
491 |
-
#: wp/transposh_admin.php:
|
492 |
#@ transposh
|
493 |
msgid "Rewrite URLs to be search engine friendly, e.g. (http://transposh.org/<strong>en</strong>). Requires that permalinks will be enabled."
|
494 |
msgstr "Riscrivi le URLs per i motori di ricerca, e.g. (http://transposh.org/<strong>en</strong>). Richiede i permalinks abilitati."
|
495 |
|
496 |
-
#: wp/transposh_admin.php:
|
497 |
#@ transposh
|
498 |
msgid "Push transposh scripts to footer of page instead of header, makes pages load faster. Requires that your theme should have proper footer support."
|
499 |
msgstr "Inserire lo script di Transposh nel footer della pagina invece che nella header, rende le pagine veloci da caricare. Richiede che il tema abbia il supporto per il footer."
|
500 |
|
501 |
-
#: wp/transposh_admin.php:
|
502 |
#@ transposh
|
503 |
msgid "This enables auto detection of language used by the user as defined in the ACCEPT_LANGUAGES they send. This will redirect the first page accessed in the session to the same page with the detected language."
|
504 |
msgstr "Questo abilita il riconoscimento automatico della lingua usata dall'utente, come definito in ACCEPT_LANGUAGES del browser. Questo redireziona la prima pagina caricata in quella sessione, alla lingua rilevata."
|
505 |
|
506 |
-
#: wp/transposh_admin.php:
|
507 |
#@ transposh
|
508 |
msgid "Attempt to fix errors caused by previous versions - please backup first"
|
509 |
msgstr "Tentativo di correggere gli errori causati dalla versione precedente - si prega di fare un backup, prima"
|
510 |
|
511 |
-
#: wp/transposh_widget.php:
|
512 |
#@ transposh
|
513 |
msgid "translation plugin for wordpress"
|
514 |
msgstr "plugin di traduzione per woedpress"
|
515 |
|
516 |
-
#: wp/transposh_widget.php:
|
517 |
#@ transposh
|
518 |
msgid "wordpress translation plugin"
|
519 |
msgstr "plugin di traduzione per wordpress"
|
520 |
|
521 |
-
#: wp/transposh_widget.php:
|
522 |
#@ transposh
|
523 |
msgid "translate your blog to 60+ languages"
|
524 |
msgstr "traduce il tuo blog in 60+ lingue"
|
525 |
|
526 |
-
#: wp/transposh_widget.php:
|
527 |
#@ transposh
|
528 |
msgid "website crowdsourcing translation plugin"
|
529 |
msgstr "plugin di traduzione comunitaria da parte degli utenti"
|
530 |
|
531 |
-
#: wp/transposh_widget.php:
|
532 |
#@ transposh
|
533 |
msgid "google translate and bing translate plugin for wordpress"
|
534 |
msgstr "plugin per wordpress che usa i traduttori di Google e Bing"
|
535 |
|
536 |
-
#: wp/transposh_admin.php:
|
537 |
-
#: wp/transposh_admin.php:563
|
538 |
#@ transposh
|
539 |
msgid "Edit interface (and progress bar) theme:"
|
540 |
msgstr "Modifica l'interfaccia (e la barra) con il tema:"
|
541 |
|
542 |
-
#: wp/transposh_admin.php:
|
543 |
#@ transposh
|
544 |
msgid "Language"
|
545 |
-
msgstr ""
|
546 |
|
547 |
#. TRANSLATORS: this is what appears in the select box in dropdown subwidget
|
548 |
#: widgets/dropdown/tpw_image_dropdown.php:45
|
549 |
#@ transposh
|
550 |
msgid "Select language"
|
551 |
-
msgstr ""
|
552 |
|
553 |
-
#: wp/transposh_admin.php:
|
554 |
-
#@ transposh
|
555 |
-
msgid "Frontend settings"
|
556 |
-
msgstr ""
|
557 |
-
|
558 |
-
#: wp/transposh_admin.php:248
|
559 |
#, php-format
|
560 |
#@ transposh
|
561 |
msgid "Your current PHP memory limit of %s is quite low, if you experience blank pages please consider increasing it."
|
562 |
-
msgstr ""
|
563 |
|
564 |
-
#: wp/transposh_admin.php:
|
565 |
-
#: wp/transposh_admin.php:
|
566 |
#@ transposh
|
567 |
msgid "Check Transposh FAQs"
|
568 |
-
msgstr ""
|
569 |
|
570 |
-
#: wp/transposh_admin.php:
|
571 |
#@ transposh
|
572 |
msgid "We were not able to find a supported in-memory caching engine, installing one can improve performance."
|
573 |
-
msgstr ""
|
574 |
|
575 |
-
#: wp/transposh_admin.php:
|
576 |
#@ transposh
|
577 |
msgid "Enable override for default locale"
|
578 |
-
msgstr ""
|
579 |
|
580 |
-
#: wp/transposh_admin.php:
|
581 |
#@ transposh
|
582 |
msgid "Enable overriding the default locale that is set in WP_LANG on default languages pages (such as untranslated pages and admin pages)"
|
583 |
-
msgstr ""
|
584 |
|
585 |
-
#: wp/transposh_admin.php:
|
586 |
#@ transposh
|
587 |
msgid "MSN API key"
|
588 |
-
msgstr ""
|
589 |
|
590 |
-
#: wp/transposh_admin.php:
|
591 |
-
#: wp/transposh_admin.php:
|
592 |
-
#: wp/transposh_admin.php:540
|
593 |
#@ transposh
|
594 |
msgid "API Key"
|
595 |
-
msgstr ""
|
596 |
|
597 |
-
#: wp/transposh_admin.php:
|
598 |
#@ transposh
|
599 |
msgid "Google API key"
|
600 |
-
msgstr ""
|
601 |
|
602 |
-
#: wp/transposh_admin.php:
|
603 |
#@ transposh
|
604 |
msgid "Allow collecting usage statistics"
|
605 |
-
msgstr ""
|
606 |
|
607 |
-
#: wp/transposh_admin.php:
|
608 |
#@ transposh
|
609 |
msgid "This option enables collection of statistics by transposh that will be used to improve the product."
|
610 |
-
msgstr ""
|
611 |
|
612 |
-
#: wp/transposh_postpublish.php:
|
613 |
#@ transposh
|
614 |
msgid "Set post language"
|
615 |
-
msgstr ""
|
616 |
|
617 |
-
#: wp/transposh_postpublish.php:
|
618 |
-
#@ transposh
|
619 |
-
msgid "Set page language"
|
620 |
-
msgstr ""
|
621 |
-
|
622 |
-
#: wp/transposh_postpublish.php:198
|
623 |
#@ default
|
624 |
msgid "Default"
|
625 |
-
msgstr ""
|
626 |
|
627 |
-
#: wp/transposh_widget.php:
|
628 |
#@ transposh
|
629 |
msgid "Title:"
|
630 |
-
msgstr ""
|
631 |
|
632 |
-
#: wp/transposh_widget.php:
|
633 |
#@ transposh
|
634 |
msgid "Transposh subwidget was not loaded correctly"
|
635 |
-
msgstr ""
|
636 |
|
637 |
#. TRANSLATORS: no need to translate this string
|
638 |
-
#: wp/transposh_widget.php:
|
639 |
#@ transposh
|
640 |
msgid "title"
|
641 |
-
msgstr ""
|
642 |
|
643 |
-
#: wp/transposh_admin.php:
|
644 |
-
#@ transposh
|
645 |
-
msgid "Professional translation settings"
|
646 |
-
msgstr ""
|
647 |
-
|
648 |
-
#: wp/transposh_admin.php:413
|
649 |
#@ transposh
|
650 |
msgid "Language supported by one hour translation"
|
651 |
-
msgstr ""
|
652 |
|
653 |
-
#: wp/transposh_admin.php:
|
654 |
#@ transposh
|
655 |
msgid "One Hour Translation provides high-quality, fast professional translation to/from any language, and has specific domain expertise in SW localization, technical, business, and legal translations."
|
656 |
msgstr "One Hour Translation fornisce traduzioni di alta qualità da/a ogni lingua ed è specializzata in alcuni campi specifici: localizzazione software, traduzioni tecniche, aziendali e legali."
|
657 |
|
658 |
-
#: wp/transposh_admin.php:
|
659 |
#@ transposh
|
660 |
msgid "One Hour Translation account ID"
|
661 |
-
msgstr ""
|
662 |
|
663 |
-
#: wp/transposh_admin.php:
|
|
|
664 |
#@ transposh
|
665 |
msgid "Account ID"
|
666 |
-
msgstr ""
|
667 |
|
668 |
-
#: wp/transposh_admin.php:
|
669 |
#@ transposh
|
670 |
msgid "One Hour Translation secret key"
|
671 |
-
msgstr ""
|
672 |
|
673 |
-
#: wp/transposh_admin.php:
|
674 |
#, php-format
|
675 |
#@ transposh
|
676 |
-
msgid "%d
|
677 |
-
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
678 |
|
679 |
-
#: wp/transposh_admin.php:
|
|
|
|
|
|
|
|
|
|
|
680 |
#, php-format
|
681 |
#@ transposh
|
682 |
-
msgid "%d
|
683 |
-
msgstr ""
|
684 |
|
685 |
-
#: wp/transposh_admin.php:
|
686 |
#@ transposh
|
687 |
-
msgid "
|
688 |
-
msgstr ""
|
689 |
|
|
|
690 |
#: wp/transposh_admin.php:530
|
691 |
#@ transposh
|
692 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
693 |
msgstr ""
|
694 |
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
+
"Project-Id-Version: Transposh Translation Filter v%VERSION%\n"
|
4 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/transposh-translation-filter-for-wordpress\n"
|
5 |
"POT-Creation-Date: 2010-10-13 10:21+0000\n"
|
6 |
+
"PO-Revision-Date: 2012-12-15 01:15:11+0000\n"
|
7 |
+
"Last-Translator: Mac\n"
|
8 |
+
"Language-Team: MacItaly <macitaly@gmail.com>\n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=utf-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
13 |
+
"X-Poedit-Language: Italian\n"
|
14 |
+
"X-Poedit-Country: Italy\n"
|
15 |
"X-Poedit-SourceCharset: utf-8\n"
|
16 |
"X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;\n"
|
17 |
+
"X-Poedit-Basepath: .\n"
|
18 |
"X-Poedit-Bookmarks: \n"
|
19 |
"X-Poedit-SearchPath-0: .\n"
|
20 |
"X-Textdomain-Support: yes"
|
21 |
|
22 |
+
#: transposh.php:921
|
23 |
+
#: wp/transposh_admin.php:183
|
24 |
#@ default
|
25 |
+
#@ transposh
|
26 |
msgid "Settings"
|
27 |
msgstr "Configurazione"
|
28 |
|
32 |
msgid "%s translated a phrase to %s with transposh:"
|
33 |
msgstr "%s frase tradotta in %s con Transposh:"
|
34 |
|
35 |
+
#: wp/transposh_admin.php:170
|
36 |
#@ transposh
|
37 |
msgid "Transposh makes your blog translatable"
|
38 |
+
msgstr "Transposh rende traducibile il tuo sito web"
|
39 |
|
40 |
+
#: wp/transposh_admin.php:172
|
41 |
#@ transposh
|
42 |
msgid "Plugin homepage"
|
43 |
msgstr "Homepage del plugin"
|
44 |
|
45 |
+
#: wp/transposh_admin.php:173
|
46 |
#@ transposh
|
47 |
msgid "Frequently asked questions"
|
48 |
msgstr "Domande Frequenti (FAQ)"
|
49 |
|
50 |
+
#: wp/transposh_admin.php:195
|
51 |
+
#: wp/transposh_admin.php:202
|
52 |
+
#: wp/transposh_postpublish.php:55
|
53 |
+
#: wp/transposh_widget.php:86
|
54 |
+
#: wp/transposh_widget.php:315
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
#@ transposh
|
56 |
#@ default
|
57 |
msgid "Transposh"
|
58 |
msgstr "Transposh"
|
59 |
|
60 |
+
#: wp/transposh_admin.php:283
|
|
|
|
|
|
|
|
|
|
|
61 |
#@ transposh
|
62 |
msgid "Plugin news"
|
63 |
msgstr "Novità del Plugin"
|
64 |
|
65 |
+
#: wp/transposh_admin.php:284
|
66 |
#@ transposh
|
67 |
msgid "Plugin stats"
|
68 |
msgstr "Statistiche del Plugin"
|
69 |
|
70 |
+
#: wp/transposh_admin.php:316
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
71 |
#@ transposh
|
|
|
|
|
|
|
|
|
|
|
72 |
msgid "Save Changes"
|
73 |
msgstr "Salva modifiche"
|
74 |
|
75 |
+
#: wp/transposh_admin.php:652
|
76 |
#@ transposh
|
77 |
msgid "Problems?"
|
78 |
msgstr "Problemi?"
|
79 |
|
80 |
+
#: wp/transposh_admin.php:615
|
|
|
|
|
|
|
|
|
|
|
81 |
#@ transposh
|
82 |
msgid "Suggest a Feature"
|
83 |
msgstr "Suggerisci una funzione"
|
84 |
|
85 |
+
#: wp/transposh_admin.php:616
|
86 |
#@ transposh
|
87 |
msgid "Report a Bug"
|
88 |
msgstr "Segnala un bug"
|
89 |
|
90 |
+
#: wp/transposh_admin.php:559
|
91 |
#@ transposh
|
92 |
msgid "Translate by clicking the button below"
|
93 |
msgstr "Traduci cliccando sul bottone in basso"
|
94 |
|
95 |
+
#: wp/transposh_admin.php:561
|
96 |
#@ transposh
|
97 |
msgid "Translate All Now"
|
98 |
msgstr "Traduci tutto ora"
|
99 |
|
100 |
+
#: wp/transposh_admin.php:364
|
101 |
#@ transposh
|
102 |
msgid "Default Language (drag another language here to make it default)"
|
103 |
msgstr "Lingua predefinita (trascina qui un'altra lingua per renderla predefinita)"
|
104 |
|
105 |
+
#: wp/transposh_admin.php:372
|
106 |
#@ transposh
|
107 |
msgid "Available Languages (Click to toggle language state - Drag to sort in the widget)"
|
108 |
msgstr "Lingue disponibili (Clicca per modificarne l'attivazione - Trascina per modificarne l'ordine nel widget)"
|
109 |
|
110 |
+
#: wp/transposh_admin.php:384
|
111 |
#@ transposh
|
112 |
msgid "Language supported by google translate"
|
113 |
msgstr "Lingue supportate da Google Translate"
|
114 |
|
115 |
+
#: wp/transposh_admin.php:386
|
116 |
#@ transposh
|
117 |
msgid "Language supported by bing translate"
|
118 |
msgstr "Lingue supportate da Bing Translate"
|
119 |
|
120 |
+
#: wp/transposh_admin.php:392
|
121 |
#@ transposh
|
122 |
msgid "Language is written from right to left"
|
123 |
msgstr "Lingua scritta da destra a sinistra"
|
124 |
|
125 |
+
#: wp/transposh_admin.php:397
|
126 |
#@ transposh
|
127 |
msgid "Display options:"
|
128 |
msgstr "Mostra opzioni:"
|
129 |
|
130 |
+
#: wp/transposh_admin.php:398
|
131 |
#@ transposh
|
132 |
msgid "Toggle names of languages between English and Original"
|
133 |
msgstr "Inverti nome della lingua tra Inglese ed Originale"
|
134 |
|
135 |
+
#: wp/transposh_admin.php:399
|
136 |
#@ transposh
|
137 |
msgid "Make all languages active"
|
138 |
msgstr "Attiva tutte le lingue"
|
139 |
|
140 |
+
#: wp/transposh_admin.php:400
|
141 |
#@ transposh
|
142 |
msgid "Sort by language name"
|
143 |
msgstr "Elenca per nome della lingua"
|
144 |
|
145 |
+
#: wp/transposh_admin.php:401
|
146 |
#@ transposh
|
147 |
msgid "Sort by lSO code"
|
148 |
msgstr "Elenca per codice ISO"
|
149 |
|
150 |
+
#: wp/transposh_admin.php:412
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
151 |
#@ transposh
|
152 |
msgid "Who can translate ?"
|
153 |
msgstr "Chi può tradurre?"
|
154 |
|
155 |
+
#: wp/transposh_admin.php:419
|
156 |
#@ transposh
|
157 |
msgid "Anonymous"
|
158 |
msgstr "Anonimi"
|
159 |
|
160 |
+
#: wp/transposh_admin.php:421
|
161 |
#@ transposh
|
162 |
msgid "Enable default language translation"
|
163 |
msgstr "Abilita traduzione della lingua predefinita"
|
164 |
|
165 |
+
#: wp/transposh_admin.php:422
|
166 |
#@ transposh
|
167 |
msgid "Allow translation of default language - useful for sites with more than one major language"
|
168 |
msgstr "Permetti traduzione della lingua predefinita - utile per siti con più di una lingua principale"
|
169 |
|
170 |
+
#: wp/transposh_admin.php:423
|
171 |
#@ transposh
|
172 |
msgid "Enable search in translated languages"
|
173 |
msgstr "Abilita ricerca nelle lingue tradotte"
|
174 |
|
175 |
+
#: wp/transposh_admin.php:518
|
176 |
#@ transposh
|
177 |
msgid "Enable url translation"
|
178 |
msgstr "Abilita traduzione delle URL"
|
179 |
|
180 |
+
#: wp/transposh_admin.php:518
|
|
|
181 |
#@ transposh
|
182 |
msgid "experimental"
|
183 |
msgstr "sperimentale"
|
184 |
|
185 |
+
#: wp/transposh_admin.php:518
|
186 |
#@ transposh
|
187 |
msgid "Allow translation of permalinks and urls"
|
188 |
msgstr "Permetti la traduzione dei permalinks e delle URL"
|
189 |
|
190 |
+
#: wp/transposh_admin.php:425
|
191 |
#@ transposh
|
192 |
msgid "Enable gettext integration"
|
193 |
msgstr "Abilita la traduzione gettext"
|
194 |
|
195 |
+
#: wp/transposh_admin.php:426
|
196 |
#@ transposh
|
197 |
msgid "Enable integration of Transposh with existing gettext interface (.po/.mo files)"
|
198 |
msgstr "Abilita l'integrazione di Transposh con l'interfaccia gettext esistente (.po/mo files)"
|
199 |
|
200 |
+
#: wp/transposh_admin.php:460
|
201 |
#@ transposh
|
202 |
msgid "Enable automatic translation"
|
203 |
msgstr "Abilita la traduzione automatica"
|
204 |
|
205 |
+
#: wp/transposh_admin.php:461
|
206 |
#@ transposh
|
207 |
msgid "Allow automatic translation of pages"
|
208 |
msgstr "Permetti la traduzione automatica delle pagine"
|
209 |
|
210 |
+
#: wp/transposh_admin.php:462
|
211 |
#@ transposh
|
212 |
msgid "Enable automatic translation after posting"
|
213 |
msgstr "Abilita la traduzione automatica dopo la pubblicazione"
|
214 |
|
215 |
+
#: wp/transposh_admin.php:463
|
216 |
#@ transposh
|
217 |
msgid "Do automatic translation immediately after a post has been published"
|
218 |
msgstr "Traduci immediatamente dopo che un articolo è stato pubblicato"
|
219 |
|
220 |
+
#: wp/transposh_admin.php:470
|
221 |
#@ transposh
|
222 |
msgid "Select preferred auto translation engine"
|
223 |
msgstr "Seleziona il sistema di traduzione automatica preferito"
|
224 |
|
225 |
+
#: wp/transposh_admin.php:471
|
226 |
#@ transposh
|
227 |
msgid "Translation engine:"
|
228 |
msgstr "Traduttore automatico:"
|
229 |
|
230 |
+
#: wp/transposh_admin.php:472
|
231 |
#@ transposh
|
232 |
msgid "Google"
|
233 |
msgstr "Google"
|
234 |
|
235 |
+
#: wp/transposh_admin.php:473
|
236 |
#@ transposh
|
237 |
msgid "Bing"
|
238 |
msgstr "Bing"
|
239 |
|
240 |
+
#: wp/transposh_admin.php:433
|
241 |
#@ transposh
|
242 |
msgid "Rewrite URLs"
|
243 |
msgstr "Riscrivi URLs"
|
244 |
|
245 |
+
#: wp/transposh_admin.php:437
|
246 |
#@ transposh
|
247 |
msgid "Add scripts to footer"
|
248 |
msgstr "Aggiungi gli scripts nel footer"
|
249 |
|
250 |
+
#: wp/transposh_admin.php:440
|
251 |
#@ transposh
|
252 |
msgid "Auto detect language for users"
|
253 |
msgstr "Auto rilevamento della lingua degli utenti"
|
254 |
|
255 |
+
#: wp/transposh_admin.php:554
|
256 |
#@ transposh
|
257 |
msgid "Delete all automated translations"
|
258 |
msgstr "Cancella tutte le traduzioni automatiche"
|
259 |
|
260 |
+
#: wp/transposh_admin.php:555
|
261 |
#@ transposh
|
262 |
msgid "Delete automated translations older than 14 days"
|
263 |
msgstr "Cancella le traduzioni automatiche più vecchie di 14 giorni"
|
264 |
|
265 |
+
#: wp/transposh_admin.php:451
|
|
|
|
|
|
|
|
|
|
|
266 |
#@ transposh
|
267 |
msgid "Enable daily backup"
|
268 |
msgstr "Abilita backup giornaliero"
|
269 |
|
270 |
+
#: wp/transposh_admin.php:452
|
271 |
#@ transposh
|
272 |
msgid "Enable live backup"
|
273 |
msgstr "Abilita backup simultaneo"
|
274 |
|
275 |
+
#: wp/transposh_admin.php:453
|
276 |
#@ transposh
|
277 |
msgid "Disable backup (Can be run manually by clicking the button below)"
|
278 |
msgstr "Disabilita backup ( può sempre essere effettuato cliccando sul bottone in basso)"
|
279 |
|
280 |
+
#: wp/transposh_admin.php:454
|
281 |
#@ transposh
|
282 |
msgid "Service Key:"
|
283 |
msgstr "Service Key:"
|
284 |
|
285 |
+
#: wp/transposh_admin.php:454
|
286 |
#@ transposh
|
287 |
msgid "How to restore?"
|
288 |
msgstr "Come ripristinare?"
|
289 |
|
290 |
+
#: wp/transposh_admin.php:548
|
291 |
#@ transposh
|
292 |
msgid "Do Backup Now"
|
293 |
msgstr "Fai il backup adesso"
|
294 |
|
295 |
+
#: wp/transposh_db.php:684
|
296 |
#@ transposh
|
297 |
msgid "Database stats"
|
298 |
msgstr "Statistiche del Database"
|
299 |
|
300 |
+
#: wp/transposh_db.php:689
|
301 |
#, php-format
|
302 |
#@ transposh
|
303 |
msgid "Total of <strong style=\"color:red\">%s</strong> translated phrases."
|
304 |
msgstr "Totale di <strong style=\"color:red\">%s</strong> frasi tradotte."
|
305 |
|
306 |
+
#: wp/transposh_db.php:696
|
307 |
#, php-format
|
308 |
#@ transposh
|
309 |
msgid "<strong>%1s</strong> has <strong style=\"color:red\">%2s</strong> human translated phrases."
|
310 |
msgstr "<strong>%1s</strong> ha <strong style=\"color:red\">%2s</strong> frasi tradotte manualmente."
|
311 |
|
312 |
+
#: wp/transposh_db.php:699
|
313 |
#@ transposh
|
314 |
msgid "Recent activity"
|
315 |
msgstr "Attività recenti"
|
316 |
|
317 |
+
#: wp/transposh_db.php:704
|
318 |
#, php-format
|
319 |
#@ transposh
|
320 |
msgid "On <strong>%1s</strong><br/>user <strong>%2s</strong> translated<br/>\"<strong>%3s</strong>\"<br/>to <strong style=\"color:red\">%4s</strong><br/>\"<strong>%5s</strong>\""
|
321 |
msgstr "Il <strong>%1s</strong><br/>l'utente <strong>%2s</strong> ha tradotto<br/>\"<strong>%3s</strong>\"<br/>in <strong style=\"color:red\">%4s</strong><br/>\"<strong>%5s</strong>\""
|
322 |
|
323 |
+
#: wp/transposh_widget.php:84
|
324 |
#@ transposh
|
325 |
msgid "Transposh language selection widget"
|
326 |
msgstr "Widget Selettore lingue di Transposh"
|
327 |
|
328 |
#. TRANSLATORS: this will be the default widget title
|
329 |
+
#: wp/transposh_widget.php:119
|
330 |
#@ transposh
|
331 |
msgid "Translation"
|
332 |
msgstr "Traduzione"
|
333 |
|
334 |
+
#: wp/transposh_widget.php:288
|
335 |
#@ transposh
|
336 |
msgid "Set as default language"
|
337 |
msgstr "Configura come lingua predefinita"
|
338 |
|
339 |
+
#: wp/transposh_widget.php:129
|
340 |
#@ transposh
|
341 |
msgid "Style:"
|
342 |
msgstr "Stile:"
|
343 |
|
344 |
+
#: wp/transposh_admin.php:506
|
345 |
#@ transposh
|
346 |
msgid "Show progress bar when a client triggers automatic translation"
|
347 |
msgstr "Mostra una barra progressiva mentre il browser sta traducendo automaticamente"
|
348 |
|
349 |
+
#: wp/transposh_admin.php:505
|
350 |
#@ transposh
|
351 |
msgid "Show progress bar"
|
352 |
msgstr "Mostra barra progressiva"
|
353 |
|
354 |
+
#: wp/transposh_admin.php:509
|
355 |
#@ transposh
|
356 |
msgid "Widget will allow setting this language as user default"
|
357 |
msgstr "Il widget permetterà di scegliere questa lingua come predefinita per quell'utente"
|
358 |
|
359 |
+
#: wp/transposh_admin.php:508
|
360 |
#@ transposh
|
361 |
msgid "Allow user to set current language as default"
|
362 |
msgstr "Permette all'utente di scegliere la lingua attuale come predefinita"
|
363 |
|
364 |
+
#: wp/transposh_admin.php:512
|
365 |
#@ transposh
|
366 |
msgid "Transposh logo will not appear on widget"
|
367 |
msgstr "Il logo Transposh non apparirà nel widget"
|
368 |
|
369 |
+
#: wp/transposh_admin.php:511
|
370 |
#@ transposh
|
371 |
msgid "Remove transposh logo (see <a href=\"http://transposh.org/logoterms\">terms</a>)"
|
372 |
msgstr "Rimuovere il logo Transposh (leggere attentamente <a href=\"http://transposh.org/logoterms\">i termini</a>)"
|
403 |
msgid "%VERSION%"
|
404 |
msgstr "%VERSION%"
|
405 |
|
406 |
+
#: wp/transposh_admin.php:388
|
407 |
#@ transposh
|
408 |
msgid "Language supported by apertium translate"
|
409 |
msgstr "Lingua supportata da apertium translate"
|
410 |
|
411 |
+
#: wp/transposh_admin.php:424
|
412 |
#@ transposh
|
413 |
msgid "Allow search of translated languages (and the original language)"
|
414 |
msgstr "Permetti ricerca nelle lingue tradotte (e in quella originale)"
|
415 |
|
416 |
+
#: wp/transposh_admin.php:436
|
417 |
#@ transposh
|
418 |
msgid "Rewrite URLs to be search engine friendly, e.g. (http://transposh.org/<strong>en</strong>). Requires that permalinks will be enabled."
|
419 |
msgstr "Riscrivi le URLs per i motori di ricerca, e.g. (http://transposh.org/<strong>en</strong>). Richiede i permalinks abilitati."
|
420 |
|
421 |
+
#: wp/transposh_admin.php:439
|
422 |
#@ transposh
|
423 |
msgid "Push transposh scripts to footer of page instead of header, makes pages load faster. Requires that your theme should have proper footer support."
|
424 |
msgstr "Inserire lo script di Transposh nel footer della pagina invece che nella header, rende le pagine veloci da caricare. Richiede che il tema abbia il supporto per il footer."
|
425 |
|
426 |
+
#: wp/transposh_admin.php:442
|
427 |
#@ transposh
|
428 |
msgid "This enables auto detection of language used by the user as defined in the ACCEPT_LANGUAGES they send. This will redirect the first page accessed in the session to the same page with the detected language."
|
429 |
msgstr "Questo abilita il riconoscimento automatico della lingua usata dall'utente, come definito in ACCEPT_LANGUAGES del browser. Questo redireziona la prima pagina caricata in quella sessione, alla lingua rilevata."
|
430 |
|
431 |
+
#: wp/transposh_admin.php:556
|
432 |
#@ transposh
|
433 |
msgid "Attempt to fix errors caused by previous versions - please backup first"
|
434 |
msgstr "Tentativo di correggere gli errori causati dalla versione precedente - si prega di fare un backup, prima"
|
435 |
|
436 |
+
#: wp/transposh_widget.php:318
|
437 |
#@ transposh
|
438 |
msgid "translation plugin for wordpress"
|
439 |
msgstr "plugin di traduzione per woedpress"
|
440 |
|
441 |
+
#: wp/transposh_widget.php:321
|
442 |
#@ transposh
|
443 |
msgid "wordpress translation plugin"
|
444 |
msgstr "plugin di traduzione per wordpress"
|
445 |
|
446 |
+
#: wp/transposh_widget.php:324
|
447 |
#@ transposh
|
448 |
msgid "translate your blog to 60+ languages"
|
449 |
msgstr "traduce il tuo blog in 60+ lingue"
|
450 |
|
451 |
+
#: wp/transposh_widget.php:327
|
452 |
#@ transposh
|
453 |
msgid "website crowdsourcing translation plugin"
|
454 |
msgstr "plugin di traduzione comunitaria da parte degli utenti"
|
455 |
|
456 |
+
#: wp/transposh_widget.php:330
|
457 |
#@ transposh
|
458 |
msgid "google translate and bing translate plugin for wordpress"
|
459 |
msgstr "plugin per wordpress che usa i traduttori di Google e Bing"
|
460 |
|
461 |
+
#: wp/transposh_admin.php:514
|
|
|
462 |
#@ transposh
|
463 |
msgid "Edit interface (and progress bar) theme:"
|
464 |
msgstr "Modifica l'interfaccia (e la barra) con il tema:"
|
465 |
|
466 |
+
#: wp/transposh_admin.php:759
|
467 |
#@ transposh
|
468 |
msgid "Language"
|
469 |
+
msgstr "Lingua"
|
470 |
|
471 |
#. TRANSLATORS: this is what appears in the select box in dropdown subwidget
|
472 |
#: widgets/dropdown/tpw_image_dropdown.php:45
|
473 |
#@ transposh
|
474 |
msgid "Select language"
|
475 |
+
msgstr "Seleziona lingua"
|
476 |
|
477 |
+
#: wp/transposh_admin.php:733
|
|
|
|
|
|
|
|
|
|
|
478 |
#, php-format
|
479 |
#@ transposh
|
480 |
msgid "Your current PHP memory limit of %s is quite low, if you experience blank pages please consider increasing it."
|
481 |
+
msgstr "Il limite attuale della memoria impostata sul PHP è %s ed è basso, se si hanno problemai di pagine bianche è bene considerare di alzarlo."
|
482 |
|
483 |
+
#: wp/transposh_admin.php:733
|
484 |
+
#: wp/transposh_admin.php:737
|
485 |
#@ transposh
|
486 |
msgid "Check Transposh FAQs"
|
487 |
+
msgstr "Consulta le FAQ di Transposh"
|
488 |
|
489 |
+
#: wp/transposh_admin.php:737
|
490 |
#@ transposh
|
491 |
msgid "We were not able to find a supported in-memory caching engine, installing one can improve performance."
|
492 |
+
msgstr "Non è stata rilevata una memoria cache supportata, installarne una migliorerà le prestazioni."
|
493 |
|
494 |
+
#: wp/transposh_admin.php:428
|
495 |
#@ transposh
|
496 |
msgid "Enable override for default locale"
|
497 |
+
msgstr "Abilita sovrascrittura per la lingua predefinita"
|
498 |
|
499 |
+
#: wp/transposh_admin.php:429
|
500 |
#@ transposh
|
501 |
msgid "Enable overriding the default locale that is set in WP_LANG on default languages pages (such as untranslated pages and admin pages)"
|
502 |
+
msgstr "Abilita la sovrascrittura della lingua predefinita nella variabile WP_LANG, anche nelle pagine in lingua originale (come ad esempio pagine non tradotte e pagine amministrazione)"
|
503 |
|
504 |
+
#: wp/transposh_admin.php:465
|
505 |
#@ transposh
|
506 |
msgid "MSN API key"
|
507 |
+
msgstr "MSN API Key"
|
508 |
|
509 |
+
#: wp/transposh_admin.php:466
|
510 |
+
#: wp/transposh_admin.php:469
|
|
|
511 |
#@ transposh
|
512 |
msgid "API Key"
|
513 |
+
msgstr "API Key"
|
514 |
|
515 |
+
#: wp/transposh_admin.php:468
|
516 |
#@ transposh
|
517 |
msgid "Google API key"
|
518 |
+
msgstr "Google API key"
|
519 |
|
520 |
+
#: wp/transposh_admin.php:443
|
521 |
#@ transposh
|
522 |
msgid "Allow collecting usage statistics"
|
523 |
+
msgstr "Permetti la raccolta di statistiche d'uso"
|
524 |
|
525 |
+
#: wp/transposh_admin.php:444
|
526 |
#@ transposh
|
527 |
msgid "This option enables collection of statistics by transposh that will be used to improve the product."
|
528 |
+
msgstr "Questa opzione abilita la raccolta di di statistiche per Transposh, che saranno usate per migliorare il prodotto."
|
529 |
|
530 |
+
#: wp/transposh_postpublish.php:57
|
531 |
#@ transposh
|
532 |
msgid "Set post language"
|
533 |
+
msgstr "Configura la lingua degli articoli"
|
534 |
|
535 |
+
#: wp/transposh_postpublish.php:203
|
|
|
|
|
|
|
|
|
|
|
536 |
#@ default
|
537 |
msgid "Default"
|
538 |
+
msgstr "Default"
|
539 |
|
540 |
+
#: wp/transposh_widget.php:124
|
541 |
#@ transposh
|
542 |
msgid "Title:"
|
543 |
+
msgstr "Titolo:"
|
544 |
|
545 |
+
#: wp/transposh_widget.php:256
|
546 |
#@ transposh
|
547 |
msgid "Transposh subwidget was not loaded correctly"
|
548 |
+
msgstr "Il subwidget di Transposh non è stato caricato correttamente"
|
549 |
|
550 |
#. TRANSLATORS: no need to translate this string
|
551 |
+
#: wp/transposh_widget.php:273
|
552 |
#@ transposh
|
553 |
msgid "title"
|
554 |
+
msgstr "titolo"
|
555 |
|
556 |
+
#: wp/transposh_admin.php:390
|
|
|
|
|
|
|
|
|
|
|
557 |
#@ transposh
|
558 |
msgid "Language supported by one hour translation"
|
559 |
+
msgstr "Lingue supportate da One Hour Translation"
|
560 |
|
561 |
+
#: wp/transposh_admin.php:479
|
562 |
#@ transposh
|
563 |
msgid "One Hour Translation provides high-quality, fast professional translation to/from any language, and has specific domain expertise in SW localization, technical, business, and legal translations."
|
564 |
msgstr "One Hour Translation fornisce traduzioni di alta qualità da/a ogni lingua ed è specializzata in alcuni campi specifici: localizzazione software, traduzioni tecniche, aziendali e legali."
|
565 |
|
566 |
+
#: wp/transposh_admin.php:483
|
567 |
#@ transposh
|
568 |
msgid "One Hour Translation account ID"
|
569 |
+
msgstr "One Hour Translation account ID"
|
570 |
|
571 |
+
#: wp/transposh_admin.php:484
|
572 |
+
#: wp/transposh_admin.php:488
|
573 |
#@ transposh
|
574 |
msgid "Account ID"
|
575 |
+
msgstr "Account ID"
|
576 |
|
577 |
+
#: wp/transposh_admin.php:487
|
578 |
#@ transposh
|
579 |
msgid "One Hour Translation secret key"
|
580 |
+
msgstr "One Hour Translation secret key"
|
581 |
|
582 |
+
#: wp/transposh_admin.php:499
|
583 |
#, php-format
|
584 |
#@ transposh
|
585 |
+
msgid "%d projects have been submitted and waiting for completion"
|
586 |
+
msgstr "%d progetti sono stati inviati ed in attesa di completamento"
|
587 |
+
|
588 |
+
#: wp/transposh_admin.php:755
|
589 |
+
#@ transposh
|
590 |
+
msgid "Unset"
|
591 |
+
msgstr "Togli"
|
592 |
+
|
593 |
+
#: wp/transposh_admin.php:477
|
594 |
+
#@ transposh
|
595 |
+
msgid "<a href=\"http://transposh.org/redir/oht\">One Hour Translation</a>, is the largest professional translation service online, with thousands of business customers, including 57% of the Fortune 500 companies, and over 15000 translators worldwide."
|
596 |
+
msgstr "<a href=\"http://transposh.org/redir/oht\">One Hour Translation</a>, iè il più grande servizio di traduzione professionale online, con migliaia di clienti business, compresi il 57% delle aziende elencate su Fortune 500 e oltre 15000 traduttori sparsi per il mondo."
|
597 |
+
|
598 |
+
#: wp/transposh_admin.php:181
|
599 |
+
#@ transposh
|
600 |
+
msgid "Dashboard"
|
601 |
+
msgstr "Bacheca"
|
602 |
+
|
603 |
+
#: wp/transposh_admin.php:182
|
604 |
+
#@ transposh
|
605 |
+
msgid "Languages"
|
606 |
+
msgstr "Lingue"
|
607 |
+
|
608 |
+
#: wp/transposh_admin.php:184
|
609 |
+
#@ transposh
|
610 |
+
msgid "Translation Engines"
|
611 |
+
msgstr "Motori di traduzone"
|
612 |
+
|
613 |
+
#: wp/transposh_admin.php:185
|
614 |
+
#@ transposh
|
615 |
+
msgid "Widgets settings"
|
616 |
+
msgstr "Configurazione widgets"
|
617 |
+
|
618 |
+
#: wp/transposh_admin.php:186
|
619 |
+
#@ transposh
|
620 |
+
msgid "Advanced"
|
621 |
+
msgstr "Avanzate"
|
622 |
+
|
623 |
+
#: wp/transposh_admin.php:187
|
624 |
+
#@ transposh
|
625 |
+
msgid "Utilities"
|
626 |
+
msgstr "Utilità"
|
627 |
+
|
628 |
+
#: wp/transposh_admin.php:188
|
629 |
+
#@ transposh
|
630 |
+
msgid "About"
|
631 |
+
msgstr "Chi siamo"
|
632 |
+
|
633 |
+
#: wp/transposh_admin.php:189
|
634 |
+
#@ transposh
|
635 |
+
msgid "Support"
|
636 |
+
msgstr "Supporto"
|
637 |
+
|
638 |
+
#: wp/transposh_admin.php:171
|
639 |
+
#@ transposh
|
640 |
+
msgid "For further help and assistance, please look at the following resources:"
|
641 |
+
msgstr "Per ulteriore aiuto ed assistenza, si prega di consultare le seguenti risorse:"
|
642 |
+
|
643 |
+
#: wp/transposh_admin.php:174
|
644 |
+
#@ transposh
|
645 |
+
msgid "Development website"
|
646 |
+
msgstr "Sito di sviluppo"
|
647 |
+
|
648 |
+
#: wp/transposh_admin.php:278
|
649 |
+
#@ transposh
|
650 |
+
msgid "Transposh Help"
|
651 |
+
msgstr "Aiuto Transposh"
|
652 |
+
|
653 |
+
#: wp/transposh_admin.php:407
|
654 |
+
#@ transposh
|
655 |
+
msgid "Translation related settings"
|
656 |
+
msgstr "Configurazione delle traduzioni"
|
657 |
+
|
658 |
+
#: wp/transposh_admin.php:432
|
659 |
+
#@ transposh
|
660 |
+
msgid "General settings"
|
661 |
+
msgstr "Configurazione generale"
|
662 |
+
|
663 |
+
#: wp/transposh_admin.php:450
|
664 |
+
#@ transposh
|
665 |
+
msgid "Backup service settings"
|
666 |
+
msgstr "Configurazione backup"
|
667 |
+
|
668 |
+
#: wp/transposh_admin.php:459
|
669 |
+
#@ transposh
|
670 |
+
msgid "Automatic Translation Settings"
|
671 |
+
msgstr "Configurazione Traduzione automatica"
|
672 |
|
673 |
+
#: wp/transposh_admin.php:477
|
674 |
+
#@ transposh
|
675 |
+
msgid "Professional Translation Settings"
|
676 |
+
msgstr "Configurazione traduzione professionale"
|
677 |
+
|
678 |
+
#: wp/transposh_admin.php:494
|
679 |
#, php-format
|
680 |
#@ transposh
|
681 |
+
msgid "%d phrases currently queued for next job in ~%d minutes"
|
682 |
+
msgstr "%d frasi attualmente accodate per il prossimo lavoro in ~%d minuti"
|
683 |
|
684 |
+
#: wp/transposh_admin.php:520
|
685 |
#@ transposh
|
686 |
+
msgid "Parser related settings"
|
687 |
+
msgstr "Decodificatore configurazioni"
|
688 |
|
689 |
+
#: wp/transposh_admin.php:521
|
690 |
#: wp/transposh_admin.php:530
|
691 |
#@ transposh
|
692 |
+
msgid "This is extremely dangerous, will break your current translations, and might cause severe hickups, only proceed if you really know what you are doing."
|
693 |
+
msgstr "Questo è estremamente pericoloso, distrufggerà le traduzioni attuali e può causare interruzioni al sito, procedere solo se si sa esattamente cosa si sta facendo."
|
694 |
+
|
695 |
+
#: wp/transposh_admin.php:522
|
696 |
+
#@ transposh
|
697 |
+
msgid "Disable punctuations break"
|
698 |
+
msgstr "Disabilita interruzione alla punteggiatura"
|
699 |
+
|
700 |
+
#: wp/transposh_admin.php:523
|
701 |
+
#@ transposh
|
702 |
+
msgid "The parser will not break text into phrases when encountering punctuations such as dots"
|
703 |
+
msgstr "Il decodificatore non spezzerà il testo in frasi quando incontra punteggiatura come i punti"
|
704 |
+
|
705 |
+
#: wp/transposh_admin.php:524
|
706 |
+
#@ transposh
|
707 |
+
msgid "Disable numbers break"
|
708 |
+
msgstr "Disabilita interruzione ai numeri"
|
709 |
+
|
710 |
+
#: wp/transposh_admin.php:525
|
711 |
+
#@ transposh
|
712 |
+
msgid "The parser will not break text into phrases when encountering numbers"
|
713 |
+
msgstr "Il decodificatore non spezzerà il testo in frasi quando incontra dei numeri"
|
714 |
+
|
715 |
+
#: wp/transposh_admin.php:526
|
716 |
+
#@ transposh
|
717 |
+
msgid "Disable html entities break"
|
718 |
+
msgstr "Disabilita interruzioni quando incontra codice HTML"
|
719 |
+
|
720 |
+
#: wp/transposh_admin.php:527
|
721 |
+
#@ transposh
|
722 |
+
msgid "The parser will not break text into phrases when encountering html entities"
|
723 |
+
msgstr "Il decodificatore non spezzerà il testo in frasi quando incontra codice HTML"
|
724 |
+
|
725 |
+
#: wp/transposh_admin.php:529
|
726 |
+
#@ transposh
|
727 |
+
msgid "Debug settings"
|
728 |
+
msgstr "Configurazioni per il debug"
|
729 |
+
|
730 |
+
#: wp/transposh_admin.php:531
|
731 |
+
#@ transposh
|
732 |
+
msgid "Enable debugging"
|
733 |
+
msgstr "Abilita il debugging"
|
734 |
+
|
735 |
+
#: wp/transposh_admin.php:532
|
736 |
+
#@ transposh
|
737 |
+
msgid "Enable running of Transposh internal debug functions"
|
738 |
+
msgstr "Abilita il debugging interno di Transposh "
|
739 |
+
|
740 |
+
#: wp/transposh_admin.php:533
|
741 |
+
#@ transposh
|
742 |
+
msgid "Log file name"
|
743 |
+
msgstr "Nome del file di log"
|
744 |
+
|
745 |
+
#: wp/transposh_admin.php:534
|
746 |
+
#@ transposh
|
747 |
+
msgid "Level of logging"
|
748 |
+
msgstr "Livello di identificazione"
|
749 |
+
|
750 |
+
#: wp/transposh_admin.php:535
|
751 |
+
#@ transposh
|
752 |
+
msgid "Critical"
|
753 |
+
msgstr "Critico"
|
754 |
+
|
755 |
+
#: wp/transposh_admin.php:536
|
756 |
+
#@ transposh
|
757 |
+
msgid "Important"
|
758 |
+
msgstr "Importante"
|
759 |
+
|
760 |
+
#: wp/transposh_admin.php:537
|
761 |
+
#@ transposh
|
762 |
+
msgid "Warning"
|
763 |
+
msgstr "Avviso"
|
764 |
+
|
765 |
+
#: wp/transposh_admin.php:538
|
766 |
+
#@ transposh
|
767 |
+
msgid "Information"
|
768 |
+
msgstr "Informazione"
|
769 |
+
|
770 |
+
#: wp/transposh_admin.php:539
|
771 |
+
#@ transposh
|
772 |
+
msgid "Debug"
|
773 |
+
msgstr "Debug"
|
774 |
+
|
775 |
+
#: wp/transposh_admin.php:541
|
776 |
+
#, php-format
|
777 |
+
#@ transposh
|
778 |
+
msgid "Remote debug IP (Your current IP is %s)"
|
779 |
+
msgstr "Debugging IP remoto (il tuo IP attuale è %s)"
|
780 |
+
|
781 |
+
#: wp/transposh_admin.php:553
|
782 |
+
#@ transposh
|
783 |
+
msgid "Reset configuration to default (saves keys)"
|
784 |
+
msgstr "Ripristina configurazione predefinita (salva le chiavi)"
|
785 |
+
|
786 |
+
#: wp/transposh_admin.php:567
|
787 |
+
#@ transposh
|
788 |
+
msgid "About Transposh"
|
789 |
+
msgstr "Riguardo a Transposh"
|
790 |
+
|
791 |
+
#: wp/transposh_admin.php:568
|
792 |
+
#@ transposh
|
793 |
+
msgid "Transposh was started at 2008 and is dedicated to provide tools to ease website translation."
|
794 |
+
msgstr "Transposh è partito nel 2008 ed è dedicato a fornire una facile traduzione per i siti."
|
795 |
+
|
796 |
+
#: wp/transposh_admin.php:570
|
797 |
+
#@ transposh
|
798 |
+
msgid "Learn more about us in the following online presenses"
|
799 |
+
msgstr "Puoi conoscerci meglio visitando i seguenti siti"
|
800 |
+
|
801 |
+
#: wp/transposh_admin.php:573
|
802 |
+
#@ transposh
|
803 |
+
msgid "Our website"
|
804 |
+
msgstr "Il nostro sito web"
|
805 |
+
|
806 |
+
#: wp/transposh_admin.php:575
|
807 |
+
#@ transposh
|
808 |
+
msgid "Our blog"
|
809 |
+
msgstr "Il nostro Blog"
|
810 |
+
|
811 |
+
#: wp/transposh_admin.php:577
|
812 |
+
#@ transposh
|
813 |
+
msgid "Our twitter account (feel free to follow!)"
|
814 |
+
msgstr "Il nostro account Twitter (seguici)"
|
815 |
+
|
816 |
+
#: wp/transposh_admin.php:579
|
817 |
+
#@ transposh
|
818 |
+
msgid "Our facebook page (feel free to like!)"
|
819 |
+
msgstr "La nostra pagina Facebook (puoi cliccare su Mi Piace)"
|
820 |
+
|
821 |
+
#: wp/transposh_admin.php:581
|
822 |
+
#@ transposh
|
823 |
+
msgid "Our google plus page (add us to your circles!)"
|
824 |
+
msgstr "La nostra pagina Google + (aggiungi alle tue cerchie)"
|
825 |
+
|
826 |
+
#: wp/transposh_admin.php:583
|
827 |
+
#@ transposh
|
828 |
+
msgid "Our youtube channel"
|
829 |
+
msgstr "Il nostro canale YouTube"
|
830 |
+
|
831 |
+
#: wp/transposh_admin.php:592
|
832 |
+
#@ transposh
|
833 |
+
msgid "Transposh support"
|
834 |
+
msgstr "Supporto Transposh"
|
835 |
+
|
836 |
+
#: wp/transposh_admin.php:592
|
837 |
+
#@ transposh
|
838 |
+
msgid "Have you encountered any problem with our plugin and need our help?"
|
839 |
+
msgstr "Hai avuto problemi con il nostro plugin e ti serve aiuto?"
|
840 |
+
|
841 |
+
#: wp/transposh_admin.php:593
|
842 |
+
#@ transposh
|
843 |
+
msgid "Do you need to ask us any question?"
|
844 |
+
msgstr "Hai domande da porre?"
|
845 |
+
|
846 |
+
#: wp/transposh_admin.php:594
|
847 |
+
#@ transposh
|
848 |
+
msgid "You have two options:"
|
849 |
+
msgstr "Hai le seguenti due opzioni:"
|
850 |
+
|
851 |
+
#: wp/transposh_admin.php:596
|
852 |
+
#@ transposh
|
853 |
+
msgid "Our free support"
|
854 |
+
msgstr "Il nostro supporto gratuito"
|
855 |
+
|
856 |
+
#: wp/transposh_admin.php:598
|
857 |
+
#@ transposh
|
858 |
+
msgid "There are many channels to reach us and we do try to help as fast as we can"
|
859 |
+
msgstr "Ci sono molti canali con i quali raggiungerci e facciamo del nostro meglio per aiutare al più presto possibile"
|
860 |
+
|
861 |
+
#: wp/transposh_admin.php:599
|
862 |
+
#@ transposh
|
863 |
+
msgid "You can contact us through our contact form on our web site"
|
864 |
+
msgstr "Puoi contattarci con il modulo di contatto nel nostro sito web"
|
865 |
+
|
866 |
+
#: wp/transposh_admin.php:600
|
867 |
+
#@ transposh
|
868 |
+
msgid "Create a ticket for us if you have found any bugs"
|
869 |
+
msgstr "Crea un ticket se hai scoperto qualsiasi bug"
|
870 |
+
|
871 |
+
#: wp/transposh_admin.php:601
|
872 |
+
#@ transposh
|
873 |
+
msgid "Reach us via different forums:"
|
874 |
+
msgstr "Raggiungici su diversi forum:"
|
875 |
+
|
876 |
+
#: wp/transposh_admin.php:604
|
877 |
+
#@ transposh
|
878 |
+
msgid "Our support forum on wordpress.org"
|
879 |
+
msgstr "Il nostro forum di supporto su wordpress.org"
|
880 |
+
|
881 |
+
#: wp/transposh_admin.php:606
|
882 |
+
#@ transposh
|
883 |
+
msgid "Our internal development site, with wiki and tickets"
|
884 |
+
msgstr "Il nostro sito di sviluppo, con il wiki ed i tickets"
|
885 |
+
|
886 |
+
#: wp/transposh_admin.php:608
|
887 |
+
#@ transposh
|
888 |
+
msgid "Our facebook page"
|
889 |
+
msgstr "La nostra pagina Facebook"
|
890 |
+
|
891 |
+
#: wp/transposh_admin.php:610
|
892 |
+
#@ transposh
|
893 |
+
msgid "Our google plus page"
|
894 |
+
msgstr "La nostra pagina Google +"
|
895 |
+
|
896 |
+
#: wp/transposh_admin.php:612
|
897 |
+
#@ transposh
|
898 |
+
msgid "Contact us directly via:"
|
899 |
+
msgstr "Contattaci direttamente con:"
|
900 |
+
|
901 |
+
#: wp/transposh_admin.php:614
|
902 |
+
#@ transposh
|
903 |
+
msgid "Our contact form"
|
904 |
+
msgstr "Il nostro modulo di contatto"
|
905 |
+
|
906 |
+
#: wp/transposh_admin.php:620
|
907 |
+
#@ transposh
|
908 |
+
msgid "Professional support option"
|
909 |
+
msgstr "Supporto professionale opzionale"
|
910 |
+
|
911 |
+
#: wp/transposh_admin.php:622
|
912 |
+
#@ transposh
|
913 |
+
msgid "For the low low price of $99, we will take express action on your request. By express we mean that your issue will become our top priority, and will resolve ASAP"
|
914 |
+
msgstr "Per il piccolo importo di $99 noi prenderemo prioritariamente in carico la tua richiesta. Con prioritariamente intendiamo che il tuo problema sarà al top delle nostre priorità e lo risolveremo nel più breve tempo possibile"
|
915 |
+
|
916 |
+
#: wp/transposh_admin.php:623
|
917 |
+
#@ transposh
|
918 |
+
msgid "This includes helping with various bugs, basic theme/plugins conflicts, or just telling you where the ON button is"
|
919 |
+
msgstr "Questo include l'aiuto per vari bugs, eventuali conflitti con il tema ed i plugins o semplicemente per spiegarti dove sta il bottone ON"
|
920 |
+
|
921 |
+
#: wp/transposh_admin.php:624
|
922 |
+
#@ transposh
|
923 |
+
msgid "Full money back guarentee! If your problem remains unresolved or you are simply unhappy we will refund your paypal account as soon as you ask (as long as paypal allows it, don't come to us three years later!)"
|
924 |
+
msgstr "Garanzia soddisfatti o rimborsati! Se il tuo problema non sarà risolto o semplicemente non sarai completamente soddifatto dei nostri servizi, riaccrediteremo su Paypal la somma da te versata, immediatamente dietro tua richiesta (fino a quando Paypal lo permette, non richiedercela dopo tre anni!)"
|
925 |
+
|
926 |
+
#: wp/transposh_admin.php:625
|
927 |
+
#@ transposh
|
928 |
+
msgid "So hit the following button. Thanks!"
|
929 |
+
msgstr "Quindi se ti serve un supporto rapido e professionale clicca sul bottone qui sotto. Grazie!"
|
930 |
+
|
931 |
+
#: wp/transposh_admin.php:635
|
932 |
+
#@ transposh
|
933 |
+
msgid "Donations"
|
934 |
+
msgstr "Donazioni"
|
935 |
+
|
936 |
+
#: wp/transposh_admin.php:637
|
937 |
+
#@ transposh
|
938 |
+
msgid "If you just want to show that you care, this is the button for you. But please think twice before doing this. It will make us happier if you just do something nice for someone in your area, contribute to a local charity, and let us know that you did that :)"
|
939 |
+
msgstr "Se vuoi semplicemente mostrare che ci hai a cuore, questo è il bottone per te ma, per favore, pensaci bene prima di usarlo. Ci faresti felici anche solo se tu facessi qualcosa di carino per qualcuno nella tua zona, contribuissi ad un istituto di carità locale e ce lo facessi sapere :)"
|
940 |
+
|
941 |
+
#: wp/transposh_admin.php:747
|
942 |
+
#@ transposh
|
943 |
+
msgid "Hide Notice"
|
944 |
msgstr ""
|
945 |
|
@@ -1,9 +1,9 @@
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
-
"Project-Id-Version:
|
4 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/transposh-translation-filter-for-wordpress\n"
|
5 |
"POT-Creation-Date: 2011-01-16 21:56:35+00:00\n"
|
6 |
-
"PO-Revision-Date:
|
7 |
"Last-Translator: Roland Nieuwendijk <blog@imagitect.nl>\n"
|
8 |
"Language-Team: Dutch <LL@li.org>\n"
|
9 |
"MIME-Version: 1.0\n"
|
@@ -19,29 +19,29 @@ msgstr ""
|
|
19 |
"X-Poedit-SearchPath-0: .\n"
|
20 |
"X-Textdomain-Support: yes"
|
21 |
|
22 |
-
#: wp/transposh_db.php:
|
23 |
#@ transposh
|
24 |
msgid "Database stats"
|
25 |
msgstr "Database statistieken"
|
26 |
|
27 |
-
#: wp/transposh_db.php:
|
28 |
#, php-format
|
29 |
#@ transposh
|
30 |
msgid "Total of <strong style=\"color:red\">%s</strong> translated phrases."
|
31 |
msgstr "Totaal van <strong style=\"color:red\">%s</strong> vertaalde zinsneden."
|
32 |
|
33 |
-
#: wp/transposh_db.php:
|
34 |
#, php-format
|
35 |
#@ transposh
|
36 |
msgid "<strong>%1s</strong> has <strong style=\"color:red\">%2s</strong> human translated phrases."
|
37 |
msgstr "<strong>%1s</strong> heeft <strong style=\"color:red\">%2s</strong> aangepaste vertalingen."
|
38 |
|
39 |
-
#: wp/transposh_db.php:
|
40 |
#@ transposh
|
41 |
msgid "Recent activity"
|
42 |
msgstr "Recente activiteiten"
|
43 |
|
44 |
-
#: wp/transposh_db.php:
|
45 |
#, php-format
|
46 |
#@ transposh
|
47 |
msgid "On <strong>%1s</strong><br/>user <strong>%2s</strong> translated<br/>\"<strong>%3s</strong>\"<br/>to <strong style=\"color:red\">%4s</strong><br/>\"<strong>%5s</strong>\""
|
@@ -53,425 +53,345 @@ msgstr "Op <strong>%1s</strong><br/>vertaalde user <strong>%2s</strong><br/>\"<s
|
|
53 |
msgid "%s translated a phrase to %s with transposh:"
|
54 |
msgstr "%s vertaalde een zinsnede naar %s met transposh:"
|
55 |
|
56 |
-
#: wp/
|
57 |
-
#: wp/
|
58 |
-
#: wp/
|
59 |
-
#: wp/transposh_postpublish.php:51
|
60 |
-
#: wp/transposh_widget.php:84
|
61 |
-
#: wp/transposh_widget.php:311
|
62 |
#@ transposh
|
63 |
#@ default
|
64 |
msgid "Transposh"
|
65 |
msgstr "Transposh"
|
66 |
|
67 |
-
#: wp/transposh_admin.php:
|
68 |
#@ transposh
|
69 |
msgid "Transposh makes your blog translatable"
|
70 |
msgstr "Transposh maakt je blog vertaalbaar"
|
71 |
|
72 |
-
#: wp/transposh_admin.php:
|
73 |
#@ transposh
|
74 |
msgid "Plugin homepage"
|
75 |
msgstr "Plugin homepage"
|
76 |
|
77 |
-
#: wp/transposh_admin.php:
|
78 |
#@ transposh
|
79 |
msgid "Frequently asked questions"
|
80 |
msgstr "Vaak gestelde vragen"
|
81 |
|
82 |
-
#: wp/transposh_admin.php:
|
83 |
-
#@ transposh
|
84 |
-
msgid "Transposh control center"
|
85 |
-
msgstr "Transposh controle centrum"
|
86 |
-
|
87 |
-
#: wp/transposh_admin.php:212
|
88 |
-
#@ transposh
|
89 |
-
msgid "About this plugin"
|
90 |
-
msgstr "Over deze plugin"
|
91 |
-
|
92 |
-
#: wp/transposh_admin.php:213
|
93 |
#@ transposh
|
94 |
msgid "Plugin news"
|
95 |
msgstr "Plugin nieuws"
|
96 |
|
97 |
-
#: wp/transposh_admin.php:
|
98 |
#@ transposh
|
99 |
msgid "Plugin stats"
|
100 |
msgstr "Plugin stats"
|
101 |
|
102 |
-
#: wp/transposh_admin.php:
|
103 |
-
#@ transposh
|
104 |
-
msgid "Translate all"
|
105 |
-
msgstr "Vertaal alles"
|
106 |
-
|
107 |
-
#: wp/transposh_admin.php:216
|
108 |
-
#@ transposh
|
109 |
-
msgid "Supported languages"
|
110 |
-
msgstr "Ondersteunde talen"
|
111 |
-
|
112 |
-
#: wp/transposh_admin.php:217
|
113 |
-
#@ transposh
|
114 |
-
msgid "Translation settings"
|
115 |
-
msgstr "Vertaalinstellingen"
|
116 |
-
|
117 |
-
#: wp/transposh_admin.php:218
|
118 |
-
#@ transposh
|
119 |
-
msgid "Automatic translation settings"
|
120 |
-
msgstr "Automatische vertaalinstellingen"
|
121 |
-
|
122 |
-
#: wp/transposh_admin.php:221
|
123 |
-
#@ transposh
|
124 |
-
msgid "Generic settings"
|
125 |
-
msgstr "Algemene instellingen"
|
126 |
-
|
127 |
-
#: wp/transposh_admin.php:222
|
128 |
-
#@ transposh
|
129 |
-
msgid "Database maintenance"
|
130 |
-
msgstr "Database onderhoud"
|
131 |
-
|
132 |
-
#: wp/transposh_admin.php:237
|
133 |
#@ transposh
|
134 |
-
msgid "Transposh community features"
|
135 |
-
msgstr "Transposh community functies"
|
136 |
-
|
137 |
-
#: wp/transposh_admin.php:273
|
138 |
-
#@ default
|
139 |
msgid "Save Changes"
|
140 |
msgstr "Bewaar aanpassingen"
|
141 |
|
142 |
-
#: wp/transposh_admin.php:
|
143 |
#@ transposh
|
144 |
msgid "Problems?"
|
145 |
msgstr "Problemen?"
|
146 |
|
147 |
-
#: wp/transposh_admin.php:
|
148 |
-
#@ transposh
|
149 |
-
msgid "Plugin Homepage"
|
150 |
-
msgstr "Plugin Homepage"
|
151 |
-
|
152 |
-
#: wp/transposh_admin.php:314
|
153 |
#@ transposh
|
154 |
msgid "Suggest a Feature"
|
155 |
msgstr "Suggereer nieuwe Functie"
|
156 |
|
157 |
-
#: wp/transposh_admin.php:
|
158 |
#@ transposh
|
159 |
msgid "Report a Bug"
|
160 |
msgstr "Meld een Bug"
|
161 |
|
162 |
-
#: wp/transposh_admin.php:
|
163 |
#@ transposh
|
164 |
msgid "Translate by clicking the button below"
|
165 |
msgstr "Klik onderstaande buttons om te vertalen"
|
166 |
|
167 |
-
#: wp/transposh_admin.php:
|
168 |
#@ transposh
|
169 |
msgid "Translate All Now"
|
170 |
msgstr "Vertaal nu alles"
|
171 |
|
172 |
-
#: wp/transposh_admin.php:
|
173 |
#@ transposh
|
174 |
msgid "Default Language (drag another language here to make it default)"
|
175 |
msgstr "Standaardtaal (sleep andere taal hierheen om standaard te maken)"
|
176 |
|
177 |
-
#: wp/transposh_admin.php:
|
178 |
#@ transposh
|
179 |
msgid "Available Languages (Click to toggle language state - Drag to sort in the widget)"
|
180 |
msgstr "Beschikbare Talen (Click om aan-uit te zetten - Sleep voor volgorde in de widget)"
|
181 |
|
182 |
-
#: wp/transposh_admin.php:
|
183 |
#@ transposh
|
184 |
msgid "Language supported by google translate"
|
185 |
msgstr "Taal ondersteund door google translate"
|
186 |
|
187 |
-
#: wp/transposh_admin.php:
|
188 |
#@ transposh
|
189 |
msgid "Language supported by bing translate"
|
190 |
msgstr "Taal ondersteund door bing translate"
|
191 |
|
192 |
-
#: wp/transposh_admin.php:
|
193 |
#@ transposh
|
194 |
msgid "Language supported by apertium translate"
|
195 |
msgstr "Taal ondersteund door apertium translate"
|
196 |
|
197 |
-
#: wp/transposh_admin.php:
|
198 |
#@ transposh
|
199 |
msgid "Language is written from right to left"
|
200 |
msgstr "Taal wordt van rechts naar links geschreven"
|
201 |
|
202 |
-
#: wp/transposh_admin.php:
|
203 |
#@ transposh
|
204 |
msgid "Display options:"
|
205 |
msgstr "Display opties:"
|
206 |
|
207 |
-
#: wp/transposh_admin.php:
|
208 |
#@ transposh
|
209 |
msgid "Toggle names of languages between English and Original"
|
210 |
msgstr "Wissel taalnamen tussen Engels en Orgineel"
|
211 |
|
212 |
-
#: wp/transposh_admin.php:
|
213 |
#@ transposh
|
214 |
msgid "Make all languages active"
|
215 |
msgstr "Ze alle talen actief"
|
216 |
|
217 |
-
#: wp/transposh_admin.php:
|
218 |
#@ transposh
|
219 |
msgid "Sort by language name"
|
220 |
msgstr "Sorteer op taalnaam"
|
221 |
|
222 |
-
#: wp/transposh_admin.php:
|
223 |
#@ transposh
|
224 |
msgid "Sort by lSO code"
|
225 |
msgstr "Sorteer op lSO code"
|
226 |
|
227 |
-
#: wp/transposh_admin.php:
|
228 |
-
#@ transposh
|
229 |
-
msgid "Legend:"
|
230 |
-
msgstr "Legenda:"
|
231 |
-
|
232 |
-
#: wp/transposh_admin.php:425
|
233 |
-
#@ transposh
|
234 |
-
msgid "Green - active"
|
235 |
-
msgstr "Groen - actief"
|
236 |
-
|
237 |
-
#: wp/transposh_admin.php:425
|
238 |
-
#@ transposh
|
239 |
-
msgid "Yellow - translateable (only translators will see this language)"
|
240 |
-
msgstr "Geel - vertaalbaar (alleen vertalers zien deze taal)"
|
241 |
-
|
242 |
-
#: wp/transposh_admin.php:425
|
243 |
-
#@ transposh
|
244 |
-
msgid "blank - inactive"
|
245 |
-
msgstr "Wit - niet actief"
|
246 |
-
|
247 |
-
#: wp/transposh_admin.php:447
|
248 |
#@ transposh
|
249 |
msgid "Who can translate ?"
|
250 |
msgstr "Wie kan er vertalen?"
|
251 |
|
252 |
-
#: wp/transposh_admin.php:
|
253 |
#@ transposh
|
254 |
msgid "Anonymous"
|
255 |
msgstr "Anonymous"
|
256 |
|
257 |
-
#: wp/transposh_admin.php:
|
258 |
#@ transposh
|
259 |
msgid "Enable default language translation"
|
260 |
msgstr "Vertaal de standaard taal"
|
261 |
|
262 |
-
#: wp/transposh_admin.php:
|
263 |
#@ transposh
|
264 |
msgid "Allow translation of default language - useful for sites with more than one major language"
|
265 |
msgstr "Vertaal de standaard taal - handig voor blogs met meerdere hoofdtalen"
|
266 |
|
267 |
-
#: wp/transposh_admin.php:
|
268 |
#@ transposh
|
269 |
msgid "Enable search in translated languages"
|
270 |
msgstr "Sta zoeken in vertalingen toe"
|
271 |
|
272 |
-
#: wp/transposh_admin.php:
|
273 |
#@ transposh
|
274 |
msgid "Enable url translation"
|
275 |
msgstr "Activeer omzetten url"
|
276 |
|
277 |
-
#: wp/transposh_admin.php:
|
278 |
-
#: wp/transposh_admin.php:481
|
279 |
#@ transposh
|
280 |
msgid "experimental"
|
281 |
msgstr "experimenteel"
|
282 |
|
283 |
-
#: wp/transposh_admin.php:
|
284 |
#@ transposh
|
285 |
msgid "Allow translation of permalinks and urls"
|
286 |
msgstr "Activeer vertaling van permalinks en urls"
|
287 |
|
288 |
-
#: wp/transposh_admin.php:
|
289 |
#@ transposh
|
290 |
msgid "Enable gettext integration"
|
291 |
msgstr "Activeer gettext integratie"
|
292 |
|
293 |
-
#: wp/transposh_admin.php:
|
294 |
#@ transposh
|
295 |
msgid "Enable integration of Transposh with existing gettext interface (.po/.mo files)"
|
296 |
msgstr "Activeer integratie van Transposh met bestaande gettext interface (.po/.mo bestanden)"
|
297 |
|
298 |
-
#: wp/transposh_admin.php:
|
299 |
#@ transposh
|
300 |
msgid "Enable automatic translation"
|
301 |
msgstr "Activeer automatische vertaling"
|
302 |
|
303 |
-
#: wp/transposh_admin.php:
|
304 |
#@ transposh
|
305 |
msgid "Allow automatic translation of pages"
|
306 |
msgstr "Activeer automatische vertaling van pagina's"
|
307 |
|
308 |
-
#: wp/transposh_admin.php:
|
309 |
#@ transposh
|
310 |
msgid "Enable automatic translation after posting"
|
311 |
msgstr "Activeer automatische vertaling na het posten"
|
312 |
|
313 |
-
#: wp/transposh_admin.php:
|
314 |
#@ transposh
|
315 |
msgid "Do automatic translation immediately after a post has been published"
|
316 |
msgstr "Activeer automatische vertaling onmiddellijk na het publiceren van een post"
|
317 |
|
318 |
-
#: wp/transposh_admin.php:
|
319 |
#@ transposh
|
320 |
msgid "Select preferred auto translation engine"
|
321 |
msgstr "Selecteer favoriete automatische vertalingsengine"
|
322 |
|
323 |
-
#: wp/transposh_admin.php:
|
324 |
#@ transposh
|
325 |
msgid "Translation engine:"
|
326 |
msgstr "Vertalingsengine:"
|
327 |
|
328 |
-
#: wp/transposh_admin.php:
|
329 |
#@ transposh
|
330 |
msgid "Google"
|
331 |
msgstr "Google"
|
332 |
|
333 |
-
#: wp/transposh_admin.php:
|
334 |
#@ transposh
|
335 |
msgid "Bing"
|
336 |
msgstr "Bing"
|
337 |
|
338 |
-
#: wp/transposh_admin.php:
|
339 |
#@ transposh
|
340 |
msgid "Rewrite URLs"
|
341 |
msgstr "Herschrijf URLs"
|
342 |
|
343 |
-
#: wp/transposh_admin.php:
|
344 |
#@ transposh
|
345 |
msgid "Add scripts to footer"
|
346 |
msgstr "Voeg scripts toe aan de footer"
|
347 |
|
348 |
-
#: wp/transposh_admin.php:
|
349 |
#@ transposh
|
350 |
msgid "Auto detect language for users"
|
351 |
msgstr "Detecteer taal van gebruiker"
|
352 |
|
353 |
-
#: wp/transposh_admin.php:
|
354 |
#@ transposh
|
355 |
msgid "Delete all automated translations"
|
356 |
msgstr "Verwijder alle automatische vertalingen"
|
357 |
|
358 |
-
#: wp/transposh_admin.php:
|
359 |
#@ transposh
|
360 |
msgid "Delete automated translations older than 14 days"
|
361 |
msgstr "Verwijder automatische vertalingen ouder dan 14 dagen"
|
362 |
|
363 |
-
#: wp/transposh_admin.php:
|
364 |
#@ transposh
|
365 |
msgid "Attempt to fix errors caused by previous versions - please backup first"
|
366 |
msgstr "Probeer fouten te herstellen ontstaan door eerdere versies - maak eerst een backup"
|
367 |
|
368 |
-
#: wp/transposh_admin.php:
|
369 |
-
#@ transposh
|
370 |
-
msgid "Backup service for human translation"
|
371 |
-
msgstr "Backup service voor eigen vertalingen"
|
372 |
-
|
373 |
-
#: wp/transposh_admin.php:615
|
374 |
#@ transposh
|
375 |
msgid "Enable daily backup"
|
376 |
msgstr "Activeer dagelijkse backup"
|
377 |
|
378 |
-
#: wp/transposh_admin.php:
|
379 |
#@ transposh
|
380 |
msgid "Enable live backup"
|
381 |
msgstr "Activeer onmiddellijke backup"
|
382 |
|
383 |
-
#: wp/transposh_admin.php:
|
384 |
#@ transposh
|
385 |
msgid "Disable backup (Can be run manually by clicking the button below)"
|
386 |
msgstr "Zet backupfuncties uit (Kan met de hand gedaan worden door het klikken van onderstaande button)"
|
387 |
|
388 |
-
#: wp/transposh_admin.php:
|
389 |
#@ transposh
|
390 |
msgid "Service Key:"
|
391 |
msgstr "Service Key:"
|
392 |
|
393 |
-
#: wp/transposh_admin.php:
|
394 |
#@ transposh
|
395 |
msgid "How to restore?"
|
396 |
msgstr "Een backup terugzetten?"
|
397 |
|
398 |
-
#: wp/transposh_admin.php:
|
399 |
#@ transposh
|
400 |
msgid "Do Backup Now"
|
401 |
msgstr "Maak nu Backup"
|
402 |
|
403 |
-
#: wp/transposh_widget.php:
|
404 |
#@ transposh
|
405 |
msgid "Transposh language selection widget"
|
406 |
msgstr "Transposh taalkeuze widget"
|
407 |
|
408 |
-
#: wp/transposh_widget.php:
|
409 |
#@ transposh
|
410 |
msgid "Set as default language"
|
411 |
msgstr "Maak dit de standaardtaal"
|
412 |
|
413 |
-
#: wp/transposh_widget.php:
|
414 |
#@ transposh
|
415 |
msgid "translation plugin for wordpress"
|
416 |
msgstr "Vertaalplugin voor Wordpress"
|
417 |
|
418 |
-
#: wp/transposh_widget.php:
|
419 |
#@ transposh
|
420 |
msgid "wordpress translation plugin"
|
421 |
msgstr "Wordpress Vertaalplugin"
|
422 |
|
423 |
-
#: wp/transposh_widget.php:
|
424 |
#@ transposh
|
425 |
msgid "translate your blog to 60+ languages"
|
426 |
msgstr "vertaal je blog in 60+ talen"
|
427 |
|
428 |
-
#: wp/transposh_widget.php:
|
429 |
#@ transposh
|
430 |
msgid "website crowdsourcing translation plugin"
|
431 |
msgstr "website crowdsourcing vertaalplugin"
|
432 |
|
433 |
-
#: wp/transposh_widget.php:
|
434 |
#@ transposh
|
435 |
msgid "google translate and bing translate plugin for wordpress"
|
436 |
msgstr "google translate en bing translate plugin voor wordpress"
|
437 |
|
438 |
-
#: wp/transposh_widget.php:
|
439 |
#@ transposh
|
440 |
msgid "Style:"
|
441 |
msgstr "Stijl:"
|
442 |
|
443 |
-
#: wp/transposh_admin.php:
|
444 |
#@ transposh
|
445 |
msgid "Show progress bar when a client triggers automatic translation"
|
446 |
msgstr "Laat de voortgangsbalk zien als de gebruiker een automatische vertaling activeert"
|
447 |
|
448 |
-
#: wp/transposh_admin.php:
|
449 |
#@ transposh
|
450 |
msgid "Show progress bar"
|
451 |
msgstr "Laat voortgangsbalk zien"
|
452 |
|
453 |
-
#: wp/transposh_admin.php:
|
454 |
#@ transposh
|
455 |
msgid "Widget will allow setting this language as user default"
|
456 |
msgstr "Widget staat toe om dit als standaardtaal in te stellen"
|
457 |
|
458 |
-
#: wp/transposh_admin.php:
|
459 |
#@ transposh
|
460 |
msgid "Allow user to set current language as default"
|
461 |
msgstr "Sta gebruiker toe om huidige taal als standaard in te stellen"
|
462 |
|
463 |
-
#: wp/transposh_admin.php:
|
464 |
#@ transposh
|
465 |
msgid "Transposh logo will not appear on widget"
|
466 |
msgstr "Transposh logo niet zichtbaar bij de widget"
|
467 |
|
468 |
-
#: wp/transposh_admin.php:
|
469 |
#@ transposh
|
470 |
msgid "Remove transposh logo (see <a href=\"http://transposh.org/logoterms\">terms</a>)"
|
471 |
msgstr "Verwijder transposh logo (zie <a href=\"http://transposh.org/logoterms\">voorwaarden</a>)"
|
472 |
|
473 |
-
#: wp/transposh_admin.php:
|
474 |
-
#: wp/transposh_admin.php:563
|
475 |
#@ transposh
|
476 |
msgid "Edit interface (and progress bar) theme:"
|
477 |
msgstr "Kies interface (en voortgangsbalk) thema:"
|
@@ -508,22 +428,24 @@ msgstr ""
|
|
508 |
msgid "%VERSION%"
|
509 |
msgstr ""
|
510 |
|
511 |
-
#: transposh.php:
|
|
|
512 |
#@ default
|
|
|
513 |
msgid "Settings"
|
514 |
msgstr ""
|
515 |
|
516 |
-
#: wp/transposh_admin.php:
|
517 |
#@ transposh
|
518 |
msgid "Rewrite URLs to be search engine friendly, e.g. (http://transposh.org/<strong>en</strong>). Requires that permalinks will be enabled."
|
519 |
msgstr ""
|
520 |
|
521 |
-
#: wp/transposh_admin.php:
|
522 |
#@ transposh
|
523 |
msgid "Push transposh scripts to footer of page instead of header, makes pages load faster. Requires that your theme should have proper footer support."
|
524 |
msgstr ""
|
525 |
|
526 |
-
#: wp/transposh_admin.php:
|
527 |
#@ transposh
|
528 |
msgid "This enables auto detection of language used by the user as defined in the ACCEPT_LANGUAGES they send. This will redirect the first page accessed in the session to the same page with the detected language."
|
529 |
msgstr ""
|
@@ -534,161 +456,483 @@ msgstr ""
|
|
534 |
msgid "Select language"
|
535 |
msgstr ""
|
536 |
|
537 |
-
#: wp/transposh_admin.php:
|
538 |
-
#@ transposh
|
539 |
-
msgid "Frontend settings"
|
540 |
-
msgstr ""
|
541 |
-
|
542 |
-
#: wp/transposh_admin.php:248
|
543 |
#, php-format
|
544 |
#@ transposh
|
545 |
msgid "Your current PHP memory limit of %s is quite low, if you experience blank pages please consider increasing it."
|
546 |
msgstr ""
|
547 |
|
548 |
-
#: wp/transposh_admin.php:
|
549 |
-
#: wp/transposh_admin.php:
|
550 |
#@ transposh
|
551 |
msgid "Check Transposh FAQs"
|
552 |
msgstr ""
|
553 |
|
554 |
-
#: wp/transposh_admin.php:
|
555 |
#@ transposh
|
556 |
msgid "We were not able to find a supported in-memory caching engine, installing one can improve performance."
|
557 |
msgstr ""
|
558 |
|
559 |
-
#: wp/transposh_admin.php:
|
560 |
#@ transposh
|
561 |
msgid "Allow search of translated languages (and the original language)"
|
562 |
msgstr ""
|
563 |
|
564 |
-
#: wp/transposh_admin.php:
|
565 |
#@ transposh
|
566 |
msgid "Enable override for default locale"
|
567 |
msgstr ""
|
568 |
|
569 |
-
#: wp/transposh_admin.php:
|
570 |
#@ transposh
|
571 |
msgid "Enable overriding the default locale that is set in WP_LANG on default languages pages (such as untranslated pages and admin pages)"
|
572 |
msgstr ""
|
573 |
|
574 |
-
#: wp/transposh_admin.php:
|
575 |
#@ transposh
|
576 |
msgid "MSN API key"
|
577 |
msgstr ""
|
578 |
|
579 |
-
#: wp/transposh_admin.php:
|
580 |
-
#: wp/transposh_admin.php:
|
581 |
-
#: wp/transposh_admin.php:540
|
582 |
#@ transposh
|
583 |
msgid "API Key"
|
584 |
msgstr ""
|
585 |
|
586 |
-
#: wp/transposh_admin.php:
|
587 |
#@ transposh
|
588 |
msgid "Google API key"
|
589 |
msgstr ""
|
590 |
|
591 |
-
#: wp/transposh_admin.php:
|
592 |
#@ transposh
|
593 |
msgid "Allow collecting usage statistics"
|
594 |
msgstr ""
|
595 |
|
596 |
-
#: wp/transposh_postpublish.php:
|
597 |
#@ transposh
|
598 |
msgid "Set post language"
|
599 |
msgstr ""
|
600 |
|
601 |
-
#: wp/transposh_postpublish.php:
|
602 |
-
#@ transposh
|
603 |
-
msgid "Set page language"
|
604 |
-
msgstr ""
|
605 |
-
|
606 |
-
#: wp/transposh_postpublish.php:198
|
607 |
#@ default
|
608 |
msgid "Default"
|
609 |
msgstr ""
|
610 |
|
611 |
-
#: wp/transposh_widget.php:
|
612 |
#@ transposh
|
613 |
msgid "Title:"
|
614 |
msgstr ""
|
615 |
|
616 |
-
#: wp/transposh_widget.php:
|
617 |
#@ transposh
|
618 |
msgid "Transposh subwidget was not loaded correctly"
|
619 |
msgstr ""
|
620 |
|
621 |
#. TRANSLATORS: no need to translate this string
|
622 |
-
#: wp/transposh_widget.php:
|
623 |
#@ transposh
|
624 |
msgid "title"
|
625 |
msgstr ""
|
626 |
|
627 |
-
#: wp/transposh_admin.php:
|
628 |
#@ transposh
|
629 |
msgid "Language"
|
630 |
msgstr ""
|
631 |
|
632 |
-
#: wp/transposh_admin.php:
|
633 |
#@ transposh
|
634 |
msgid "This option enables collection of statistics by transposh that will be used to improve the product."
|
635 |
msgstr ""
|
636 |
|
637 |
#. TRANSLATORS: this will be the default widget title
|
638 |
-
#: wp/transposh_widget.php:
|
639 |
#@ transposh
|
640 |
msgid "Translation"
|
641 |
msgstr ""
|
642 |
|
643 |
-
#: wp/transposh_admin.php:
|
|
|
|
|
|
|
|
|
|
|
644 |
#@ transposh
|
645 |
-
msgid "
|
646 |
msgstr ""
|
647 |
|
648 |
-
#: wp/transposh_admin.php:
|
649 |
#@ transposh
|
650 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
651 |
msgstr ""
|
652 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
653 |
#: wp/transposh_admin.php:530
|
654 |
#@ transposh
|
655 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
656 |
msgstr ""
|
657 |
|
658 |
#: wp/transposh_admin.php:532
|
659 |
#@ transposh
|
660 |
-
msgid "
|
661 |
msgstr ""
|
662 |
|
663 |
#: wp/transposh_admin.php:533
|
664 |
#@ transposh
|
665 |
-
msgid "
|
666 |
msgstr ""
|
667 |
|
668 |
#: wp/transposh_admin.php:534
|
669 |
#@ transposh
|
670 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
671 |
msgstr ""
|
672 |
|
673 |
#: wp/transposh_admin.php:539
|
674 |
#@ transposh
|
675 |
-
msgid "
|
676 |
msgstr ""
|
677 |
|
678 |
-
#: wp/transposh_admin.php:
|
679 |
#, php-format
|
680 |
#@ transposh
|
681 |
-
msgid "
|
682 |
msgstr ""
|
683 |
|
684 |
-
#: wp/transposh_admin.php:
|
685 |
-
#, php-format
|
686 |
#@ transposh
|
687 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
688 |
msgstr ""
|
689 |
|
690 |
#: wp/transposh_admin.php:636
|
691 |
#@ transposh
|
692 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
693 |
msgstr ""
|
694 |
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
+
"Project-Id-Version: Transposh Translation Filter v%VERSION%\n"
|
4 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/transposh-translation-filter-for-wordpress\n"
|
5 |
"POT-Creation-Date: 2011-01-16 21:56:35+00:00\n"
|
6 |
+
"PO-Revision-Date: 2012-12-12 19:50:59+0000\n"
|
7 |
"Last-Translator: Roland Nieuwendijk <blog@imagitect.nl>\n"
|
8 |
"Language-Team: Dutch <LL@li.org>\n"
|
9 |
"MIME-Version: 1.0\n"
|
19 |
"X-Poedit-SearchPath-0: .\n"
|
20 |
"X-Textdomain-Support: yes"
|
21 |
|
22 |
+
#: wp/transposh_db.php:684
|
23 |
#@ transposh
|
24 |
msgid "Database stats"
|
25 |
msgstr "Database statistieken"
|
26 |
|
27 |
+
#: wp/transposh_db.php:689
|
28 |
#, php-format
|
29 |
#@ transposh
|
30 |
msgid "Total of <strong style=\"color:red\">%s</strong> translated phrases."
|
31 |
msgstr "Totaal van <strong style=\"color:red\">%s</strong> vertaalde zinsneden."
|
32 |
|
33 |
+
#: wp/transposh_db.php:696
|
34 |
#, php-format
|
35 |
#@ transposh
|
36 |
msgid "<strong>%1s</strong> has <strong style=\"color:red\">%2s</strong> human translated phrases."
|
37 |
msgstr "<strong>%1s</strong> heeft <strong style=\"color:red\">%2s</strong> aangepaste vertalingen."
|
38 |
|
39 |
+
#: wp/transposh_db.php:699
|
40 |
#@ transposh
|
41 |
msgid "Recent activity"
|
42 |
msgstr "Recente activiteiten"
|
43 |
|
44 |
+
#: wp/transposh_db.php:704
|
45 |
#, php-format
|
46 |
#@ transposh
|
47 |
msgid "On <strong>%1s</strong><br/>user <strong>%2s</strong> translated<br/>\"<strong>%3s</strong>\"<br/>to <strong style=\"color:red\">%4s</strong><br/>\"<strong>%5s</strong>\""
|
53 |
msgid "%s translated a phrase to %s with transposh:"
|
54 |
msgstr "%s vertaalde een zinsnede naar %s met transposh:"
|
55 |
|
56 |
+
#: wp/transposh_postpublish.php:55
|
57 |
+
#: wp/transposh_widget.php:86
|
58 |
+
#: wp/transposh_widget.php:315
|
|
|
|
|
|
|
59 |
#@ transposh
|
60 |
#@ default
|
61 |
msgid "Transposh"
|
62 |
msgstr "Transposh"
|
63 |
|
64 |
+
#: wp/transposh_admin.php:185
|
65 |
#@ transposh
|
66 |
msgid "Transposh makes your blog translatable"
|
67 |
msgstr "Transposh maakt je blog vertaalbaar"
|
68 |
|
69 |
+
#: wp/transposh_admin.php:187
|
70 |
#@ transposh
|
71 |
msgid "Plugin homepage"
|
72 |
msgstr "Plugin homepage"
|
73 |
|
74 |
+
#: wp/transposh_admin.php:188
|
75 |
#@ transposh
|
76 |
msgid "Frequently asked questions"
|
77 |
msgstr "Vaak gestelde vragen"
|
78 |
|
79 |
+
#: wp/transposh_admin.php:283
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
#@ transposh
|
81 |
msgid "Plugin news"
|
82 |
msgstr "Plugin nieuws"
|
83 |
|
84 |
+
#: wp/transposh_admin.php:284
|
85 |
#@ transposh
|
86 |
msgid "Plugin stats"
|
87 |
msgstr "Plugin stats"
|
88 |
|
89 |
+
#: wp/transposh_admin.php:316
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
90 |
#@ transposh
|
|
|
|
|
|
|
|
|
|
|
91 |
msgid "Save Changes"
|
92 |
msgstr "Bewaar aanpassingen"
|
93 |
|
94 |
+
#: wp/transposh_admin.php:653
|
95 |
#@ transposh
|
96 |
msgid "Problems?"
|
97 |
msgstr "Problemen?"
|
98 |
|
99 |
+
#: wp/transposh_admin.php:616
|
|
|
|
|
|
|
|
|
|
|
100 |
#@ transposh
|
101 |
msgid "Suggest a Feature"
|
102 |
msgstr "Suggereer nieuwe Functie"
|
103 |
|
104 |
+
#: wp/transposh_admin.php:617
|
105 |
#@ transposh
|
106 |
msgid "Report a Bug"
|
107 |
msgstr "Meld een Bug"
|
108 |
|
109 |
+
#: wp/transposh_admin.php:559
|
110 |
#@ transposh
|
111 |
msgid "Translate by clicking the button below"
|
112 |
msgstr "Klik onderstaande buttons om te vertalen"
|
113 |
|
114 |
+
#: wp/transposh_admin.php:561
|
115 |
#@ transposh
|
116 |
msgid "Translate All Now"
|
117 |
msgstr "Vertaal nu alles"
|
118 |
|
119 |
+
#: wp/transposh_admin.php:364
|
120 |
#@ transposh
|
121 |
msgid "Default Language (drag another language here to make it default)"
|
122 |
msgstr "Standaardtaal (sleep andere taal hierheen om standaard te maken)"
|
123 |
|
124 |
+
#: wp/transposh_admin.php:372
|
125 |
#@ transposh
|
126 |
msgid "Available Languages (Click to toggle language state - Drag to sort in the widget)"
|
127 |
msgstr "Beschikbare Talen (Click om aan-uit te zetten - Sleep voor volgorde in de widget)"
|
128 |
|
129 |
+
#: wp/transposh_admin.php:384
|
130 |
#@ transposh
|
131 |
msgid "Language supported by google translate"
|
132 |
msgstr "Taal ondersteund door google translate"
|
133 |
|
134 |
+
#: wp/transposh_admin.php:386
|
135 |
#@ transposh
|
136 |
msgid "Language supported by bing translate"
|
137 |
msgstr "Taal ondersteund door bing translate"
|
138 |
|
139 |
+
#: wp/transposh_admin.php:388
|
140 |
#@ transposh
|
141 |
msgid "Language supported by apertium translate"
|
142 |
msgstr "Taal ondersteund door apertium translate"
|
143 |
|
144 |
+
#: wp/transposh_admin.php:392
|
145 |
#@ transposh
|
146 |
msgid "Language is written from right to left"
|
147 |
msgstr "Taal wordt van rechts naar links geschreven"
|
148 |
|
149 |
+
#: wp/transposh_admin.php:397
|
150 |
#@ transposh
|
151 |
msgid "Display options:"
|
152 |
msgstr "Display opties:"
|
153 |
|
154 |
+
#: wp/transposh_admin.php:398
|
155 |
#@ transposh
|
156 |
msgid "Toggle names of languages between English and Original"
|
157 |
msgstr "Wissel taalnamen tussen Engels en Orgineel"
|
158 |
|
159 |
+
#: wp/transposh_admin.php:399
|
160 |
#@ transposh
|
161 |
msgid "Make all languages active"
|
162 |
msgstr "Ze alle talen actief"
|
163 |
|
164 |
+
#: wp/transposh_admin.php:400
|
165 |
#@ transposh
|
166 |
msgid "Sort by language name"
|
167 |
msgstr "Sorteer op taalnaam"
|
168 |
|
169 |
+
#: wp/transposh_admin.php:401
|
170 |
#@ transposh
|
171 |
msgid "Sort by lSO code"
|
172 |
msgstr "Sorteer op lSO code"
|
173 |
|
174 |
+
#: wp/transposh_admin.php:412
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
175 |
#@ transposh
|
176 |
msgid "Who can translate ?"
|
177 |
msgstr "Wie kan er vertalen?"
|
178 |
|
179 |
+
#: wp/transposh_admin.php:419
|
180 |
#@ transposh
|
181 |
msgid "Anonymous"
|
182 |
msgstr "Anonymous"
|
183 |
|
184 |
+
#: wp/transposh_admin.php:421
|
185 |
#@ transposh
|
186 |
msgid "Enable default language translation"
|
187 |
msgstr "Vertaal de standaard taal"
|
188 |
|
189 |
+
#: wp/transposh_admin.php:422
|
190 |
#@ transposh
|
191 |
msgid "Allow translation of default language - useful for sites with more than one major language"
|
192 |
msgstr "Vertaal de standaard taal - handig voor blogs met meerdere hoofdtalen"
|
193 |
|
194 |
+
#: wp/transposh_admin.php:423
|
195 |
#@ transposh
|
196 |
msgid "Enable search in translated languages"
|
197 |
msgstr "Sta zoeken in vertalingen toe"
|
198 |
|
199 |
+
#: wp/transposh_admin.php:518
|
200 |
#@ transposh
|
201 |
msgid "Enable url translation"
|
202 |
msgstr "Activeer omzetten url"
|
203 |
|
204 |
+
#: wp/transposh_admin.php:518
|
|
|
205 |
#@ transposh
|
206 |
msgid "experimental"
|
207 |
msgstr "experimenteel"
|
208 |
|
209 |
+
#: wp/transposh_admin.php:518
|
210 |
#@ transposh
|
211 |
msgid "Allow translation of permalinks and urls"
|
212 |
msgstr "Activeer vertaling van permalinks en urls"
|
213 |
|
214 |
+
#: wp/transposh_admin.php:425
|
215 |
#@ transposh
|
216 |
msgid "Enable gettext integration"
|
217 |
msgstr "Activeer gettext integratie"
|
218 |
|
219 |
+
#: wp/transposh_admin.php:426
|
220 |
#@ transposh
|
221 |
msgid "Enable integration of Transposh with existing gettext interface (.po/.mo files)"
|
222 |
msgstr "Activeer integratie van Transposh met bestaande gettext interface (.po/.mo bestanden)"
|
223 |
|
224 |
+
#: wp/transposh_admin.php:460
|
225 |
#@ transposh
|
226 |
msgid "Enable automatic translation"
|
227 |
msgstr "Activeer automatische vertaling"
|
228 |
|
229 |
+
#: wp/transposh_admin.php:461
|
230 |
#@ transposh
|
231 |
msgid "Allow automatic translation of pages"
|
232 |
msgstr "Activeer automatische vertaling van pagina's"
|
233 |
|
234 |
+
#: wp/transposh_admin.php:462
|
235 |
#@ transposh
|
236 |
msgid "Enable automatic translation after posting"
|
237 |
msgstr "Activeer automatische vertaling na het posten"
|
238 |
|
239 |
+
#: wp/transposh_admin.php:463
|
240 |
#@ transposh
|
241 |
msgid "Do automatic translation immediately after a post has been published"
|
242 |
msgstr "Activeer automatische vertaling onmiddellijk na het publiceren van een post"
|
243 |
|
244 |
+
#: wp/transposh_admin.php:470
|
245 |
#@ transposh
|
246 |
msgid "Select preferred auto translation engine"
|
247 |
msgstr "Selecteer favoriete automatische vertalingsengine"
|
248 |
|
249 |
+
#: wp/transposh_admin.php:471
|
250 |
#@ transposh
|
251 |
msgid "Translation engine:"
|
252 |
msgstr "Vertalingsengine:"
|
253 |
|
254 |
+
#: wp/transposh_admin.php:472
|
255 |
#@ transposh
|
256 |
msgid "Google"
|
257 |
msgstr "Google"
|
258 |
|
259 |
+
#: wp/transposh_admin.php:473
|
260 |
#@ transposh
|
261 |
msgid "Bing"
|
262 |
msgstr "Bing"
|
263 |
|
264 |
+
#: wp/transposh_admin.php:433
|
265 |
#@ transposh
|
266 |
msgid "Rewrite URLs"
|
267 |
msgstr "Herschrijf URLs"
|
268 |
|
269 |
+
#: wp/transposh_admin.php:437
|
270 |
#@ transposh
|
271 |
msgid "Add scripts to footer"
|
272 |
msgstr "Voeg scripts toe aan de footer"
|
273 |
|
274 |
+
#: wp/transposh_admin.php:440
|
275 |
#@ transposh
|
276 |
msgid "Auto detect language for users"
|
277 |
msgstr "Detecteer taal van gebruiker"
|
278 |
|
279 |
+
#: wp/transposh_admin.php:554
|
280 |
#@ transposh
|
281 |
msgid "Delete all automated translations"
|
282 |
msgstr "Verwijder alle automatische vertalingen"
|
283 |
|
284 |
+
#: wp/transposh_admin.php:555
|
285 |
#@ transposh
|
286 |
msgid "Delete automated translations older than 14 days"
|
287 |
msgstr "Verwijder automatische vertalingen ouder dan 14 dagen"
|
288 |
|
289 |
+
#: wp/transposh_admin.php:556
|
290 |
#@ transposh
|
291 |
msgid "Attempt to fix errors caused by previous versions - please backup first"
|
292 |
msgstr "Probeer fouten te herstellen ontstaan door eerdere versies - maak eerst een backup"
|
293 |
|
294 |
+
#: wp/transposh_admin.php:451
|
|
|
|
|
|
|
|
|
|
|
295 |
#@ transposh
|
296 |
msgid "Enable daily backup"
|
297 |
msgstr "Activeer dagelijkse backup"
|
298 |
|
299 |
+
#: wp/transposh_admin.php:452
|
300 |
#@ transposh
|
301 |
msgid "Enable live backup"
|
302 |
msgstr "Activeer onmiddellijke backup"
|
303 |
|
304 |
+
#: wp/transposh_admin.php:453
|
305 |
#@ transposh
|
306 |
msgid "Disable backup (Can be run manually by clicking the button below)"
|
307 |
msgstr "Zet backupfuncties uit (Kan met de hand gedaan worden door het klikken van onderstaande button)"
|
308 |
|
309 |
+
#: wp/transposh_admin.php:454
|
310 |
#@ transposh
|
311 |
msgid "Service Key:"
|
312 |
msgstr "Service Key:"
|
313 |
|
314 |
+
#: wp/transposh_admin.php:454
|
315 |
#@ transposh
|
316 |
msgid "How to restore?"
|
317 |
msgstr "Een backup terugzetten?"
|
318 |
|
319 |
+
#: wp/transposh_admin.php:548
|
320 |
#@ transposh
|
321 |
msgid "Do Backup Now"
|
322 |
msgstr "Maak nu Backup"
|
323 |
|
324 |
+
#: wp/transposh_widget.php:84
|
325 |
#@ transposh
|
326 |
msgid "Transposh language selection widget"
|
327 |
msgstr "Transposh taalkeuze widget"
|
328 |
|
329 |
+
#: wp/transposh_widget.php:288
|
330 |
#@ transposh
|
331 |
msgid "Set as default language"
|
332 |
msgstr "Maak dit de standaardtaal"
|
333 |
|
334 |
+
#: wp/transposh_widget.php:318
|
335 |
#@ transposh
|
336 |
msgid "translation plugin for wordpress"
|
337 |
msgstr "Vertaalplugin voor Wordpress"
|
338 |
|
339 |
+
#: wp/transposh_widget.php:321
|
340 |
#@ transposh
|
341 |
msgid "wordpress translation plugin"
|
342 |
msgstr "Wordpress Vertaalplugin"
|
343 |
|
344 |
+
#: wp/transposh_widget.php:324
|
345 |
#@ transposh
|
346 |
msgid "translate your blog to 60+ languages"
|
347 |
msgstr "vertaal je blog in 60+ talen"
|
348 |
|
349 |
+
#: wp/transposh_widget.php:327
|
350 |
#@ transposh
|
351 |
msgid "website crowdsourcing translation plugin"
|
352 |
msgstr "website crowdsourcing vertaalplugin"
|
353 |
|
354 |
+
#: wp/transposh_widget.php:330
|
355 |
#@ transposh
|
356 |
msgid "google translate and bing translate plugin for wordpress"
|
357 |
msgstr "google translate en bing translate plugin voor wordpress"
|
358 |
|
359 |
+
#: wp/transposh_widget.php:129
|
360 |
#@ transposh
|
361 |
msgid "Style:"
|
362 |
msgstr "Stijl:"
|
363 |
|
364 |
+
#: wp/transposh_admin.php:506
|
365 |
#@ transposh
|
366 |
msgid "Show progress bar when a client triggers automatic translation"
|
367 |
msgstr "Laat de voortgangsbalk zien als de gebruiker een automatische vertaling activeert"
|
368 |
|
369 |
+
#: wp/transposh_admin.php:505
|
370 |
#@ transposh
|
371 |
msgid "Show progress bar"
|
372 |
msgstr "Laat voortgangsbalk zien"
|
373 |
|
374 |
+
#: wp/transposh_admin.php:509
|
375 |
#@ transposh
|
376 |
msgid "Widget will allow setting this language as user default"
|
377 |
msgstr "Widget staat toe om dit als standaardtaal in te stellen"
|
378 |
|
379 |
+
#: wp/transposh_admin.php:508
|
380 |
#@ transposh
|
381 |
msgid "Allow user to set current language as default"
|
382 |
msgstr "Sta gebruiker toe om huidige taal als standaard in te stellen"
|
383 |
|
384 |
+
#: wp/transposh_admin.php:512
|
385 |
#@ transposh
|
386 |
msgid "Transposh logo will not appear on widget"
|
387 |
msgstr "Transposh logo niet zichtbaar bij de widget"
|
388 |
|
389 |
+
#: wp/transposh_admin.php:511
|
390 |
#@ transposh
|
391 |
msgid "Remove transposh logo (see <a href=\"http://transposh.org/logoterms\">terms</a>)"
|
392 |
msgstr "Verwijder transposh logo (zie <a href=\"http://transposh.org/logoterms\">voorwaarden</a>)"
|
393 |
|
394 |
+
#: wp/transposh_admin.php:514
|
|
|
395 |
#@ transposh
|
396 |
msgid "Edit interface (and progress bar) theme:"
|
397 |
msgstr "Kies interface (en voortgangsbalk) thema:"
|
428 |
msgid "%VERSION%"
|
429 |
msgstr ""
|
430 |
|
431 |
+
#: transposh.php:921
|
432 |
+
#: wp/transposh_admin.php:59
|
433 |
#@ default
|
434 |
+
#@ transposh
|
435 |
msgid "Settings"
|
436 |
msgstr ""
|
437 |
|
438 |
+
#: wp/transposh_admin.php:436
|
439 |
#@ transposh
|
440 |
msgid "Rewrite URLs to be search engine friendly, e.g. (http://transposh.org/<strong>en</strong>). Requires that permalinks will be enabled."
|
441 |
msgstr ""
|
442 |
|
443 |
+
#: wp/transposh_admin.php:439
|
444 |
#@ transposh
|
445 |
msgid "Push transposh scripts to footer of page instead of header, makes pages load faster. Requires that your theme should have proper footer support."
|
446 |
msgstr ""
|
447 |
|
448 |
+
#: wp/transposh_admin.php:442
|
449 |
#@ transposh
|
450 |
msgid "This enables auto detection of language used by the user as defined in the ACCEPT_LANGUAGES they send. This will redirect the first page accessed in the session to the same page with the detected language."
|
451 |
msgstr ""
|
456 |
msgid "Select language"
|
457 |
msgstr ""
|
458 |
|
459 |
+
#: wp/transposh_admin.php:734
|
|
|
|
|
|
|
|
|
|
|
460 |
#, php-format
|
461 |
#@ transposh
|
462 |
msgid "Your current PHP memory limit of %s is quite low, if you experience blank pages please consider increasing it."
|
463 |
msgstr ""
|
464 |
|
465 |
+
#: wp/transposh_admin.php:734
|
466 |
+
#: wp/transposh_admin.php:738
|
467 |
#@ transposh
|
468 |
msgid "Check Transposh FAQs"
|
469 |
msgstr ""
|
470 |
|
471 |
+
#: wp/transposh_admin.php:738
|
472 |
#@ transposh
|
473 |
msgid "We were not able to find a supported in-memory caching engine, installing one can improve performance."
|
474 |
msgstr ""
|
475 |
|
476 |
+
#: wp/transposh_admin.php:424
|
477 |
#@ transposh
|
478 |
msgid "Allow search of translated languages (and the original language)"
|
479 |
msgstr ""
|
480 |
|
481 |
+
#: wp/transposh_admin.php:428
|
482 |
#@ transposh
|
483 |
msgid "Enable override for default locale"
|
484 |
msgstr ""
|
485 |
|
486 |
+
#: wp/transposh_admin.php:429
|
487 |
#@ transposh
|
488 |
msgid "Enable overriding the default locale that is set in WP_LANG on default languages pages (such as untranslated pages and admin pages)"
|
489 |
msgstr ""
|
490 |
|
491 |
+
#: wp/transposh_admin.php:465
|
492 |
#@ transposh
|
493 |
msgid "MSN API key"
|
494 |
msgstr ""
|
495 |
|
496 |
+
#: wp/transposh_admin.php:466
|
497 |
+
#: wp/transposh_admin.php:469
|
|
|
498 |
#@ transposh
|
499 |
msgid "API Key"
|
500 |
msgstr ""
|
501 |
|
502 |
+
#: wp/transposh_admin.php:468
|
503 |
#@ transposh
|
504 |
msgid "Google API key"
|
505 |
msgstr ""
|
506 |
|
507 |
+
#: wp/transposh_admin.php:443
|
508 |
#@ transposh
|
509 |
msgid "Allow collecting usage statistics"
|
510 |
msgstr ""
|
511 |
|
512 |
+
#: wp/transposh_postpublish.php:57
|
513 |
#@ transposh
|
514 |
msgid "Set post language"
|
515 |
msgstr ""
|
516 |
|
517 |
+
#: wp/transposh_postpublish.php:203
|
|
|
|
|
|
|
|
|
|
|
518 |
#@ default
|
519 |
msgid "Default"
|
520 |
msgstr ""
|
521 |
|
522 |
+
#: wp/transposh_widget.php:124
|
523 |
#@ transposh
|
524 |
msgid "Title:"
|
525 |
msgstr ""
|
526 |
|
527 |
+
#: wp/transposh_widget.php:256
|
528 |
#@ transposh
|
529 |
msgid "Transposh subwidget was not loaded correctly"
|
530 |
msgstr ""
|
531 |
|
532 |
#. TRANSLATORS: no need to translate this string
|
533 |
+
#: wp/transposh_widget.php:273
|
534 |
#@ transposh
|
535 |
msgid "title"
|
536 |
msgstr ""
|
537 |
|
538 |
+
#: wp/transposh_admin.php:760
|
539 |
#@ transposh
|
540 |
msgid "Language"
|
541 |
msgstr ""
|
542 |
|
543 |
+
#: wp/transposh_admin.php:444
|
544 |
#@ transposh
|
545 |
msgid "This option enables collection of statistics by transposh that will be used to improve the product."
|
546 |
msgstr ""
|
547 |
|
548 |
#. TRANSLATORS: this will be the default widget title
|
549 |
+
#: wp/transposh_widget.php:119
|
550 |
#@ transposh
|
551 |
msgid "Translation"
|
552 |
msgstr ""
|
553 |
|
554 |
+
#: wp/transposh_admin.php:390
|
555 |
+
#@ transposh
|
556 |
+
msgid "Language supported by one hour translation"
|
557 |
+
msgstr ""
|
558 |
+
|
559 |
+
#: wp/transposh_admin.php:477
|
560 |
#@ transposh
|
561 |
+
msgid "<a href=\"http://transposh.org/redir/oht\">One Hour Translation</a>, is the largest professional translation service online, with thousands of business customers, including 57% of the Fortune 500 companies, and over 15000 translators worldwide."
|
562 |
msgstr ""
|
563 |
|
564 |
+
#: wp/transposh_admin.php:479
|
565 |
#@ transposh
|
566 |
+
msgid "One Hour Translation provides high-quality, fast professional translation to/from any language, and has specific domain expertise in SW localization, technical, business, and legal translations."
|
567 |
+
msgstr ""
|
568 |
+
|
569 |
+
#: wp/transposh_admin.php:483
|
570 |
+
#@ transposh
|
571 |
+
msgid "One Hour Translation account ID"
|
572 |
msgstr ""
|
573 |
|
574 |
+
#: wp/transposh_admin.php:484
|
575 |
+
#: wp/transposh_admin.php:488
|
576 |
+
#@ transposh
|
577 |
+
msgid "Account ID"
|
578 |
+
msgstr ""
|
579 |
+
|
580 |
+
#: wp/transposh_admin.php:487
|
581 |
+
#@ transposh
|
582 |
+
msgid "One Hour Translation secret key"
|
583 |
+
msgstr ""
|
584 |
+
|
585 |
+
#: wp/transposh_admin.php:499
|
586 |
+
#, php-format
|
587 |
+
#@ transposh
|
588 |
+
msgid "%d projects have been submitted and waiting for completion"
|
589 |
+
msgstr ""
|
590 |
+
|
591 |
+
#: wp/transposh_admin.php:756
|
592 |
+
#@ transposh
|
593 |
+
msgid "Unset"
|
594 |
+
msgstr ""
|
595 |
+
|
596 |
+
#: wp/transposh_admin.php:57
|
597 |
+
#@ transposh
|
598 |
+
msgid "Dashboard"
|
599 |
+
msgstr ""
|
600 |
+
|
601 |
+
#: wp/transposh_admin.php:58
|
602 |
+
#@ transposh
|
603 |
+
msgid "Languages"
|
604 |
+
msgstr ""
|
605 |
+
|
606 |
+
#: wp/transposh_admin.php:60
|
607 |
+
#@ transposh
|
608 |
+
msgid "Translation Engines"
|
609 |
+
msgstr ""
|
610 |
+
|
611 |
+
#: wp/transposh_admin.php:61
|
612 |
+
#@ transposh
|
613 |
+
msgid "Widgets settings"
|
614 |
+
msgstr ""
|
615 |
+
|
616 |
+
#: wp/transposh_admin.php:62
|
617 |
+
#@ transposh
|
618 |
+
msgid "Advanced"
|
619 |
+
msgstr ""
|
620 |
+
|
621 |
+
#: wp/transposh_admin.php:63
|
622 |
+
#@ transposh
|
623 |
+
msgid "Utilities"
|
624 |
+
msgstr ""
|
625 |
+
|
626 |
+
#: wp/transposh_admin.php:64
|
627 |
+
#@ transposh
|
628 |
+
msgid "About"
|
629 |
+
msgstr ""
|
630 |
+
|
631 |
+
#: wp/transposh_admin.php:65
|
632 |
+
#@ transposh
|
633 |
+
msgid "Support"
|
634 |
+
msgstr ""
|
635 |
+
|
636 |
+
#: wp/transposh_admin.php:186
|
637 |
+
#@ transposh
|
638 |
+
msgid "For further help and assistance, please look at the following resources:"
|
639 |
+
msgstr ""
|
640 |
+
|
641 |
+
#: wp/transposh_admin.php:189
|
642 |
+
#@ transposh
|
643 |
+
msgid "Development website"
|
644 |
+
msgstr ""
|
645 |
+
|
646 |
+
#: wp/transposh_admin.php:278
|
647 |
+
#@ transposh
|
648 |
+
msgid "Transposh Help"
|
649 |
+
msgstr ""
|
650 |
+
|
651 |
+
#: wp/transposh_admin.php:407
|
652 |
+
#@ transposh
|
653 |
+
msgid "Translation related settings"
|
654 |
+
msgstr ""
|
655 |
+
|
656 |
+
#: wp/transposh_admin.php:432
|
657 |
+
#@ transposh
|
658 |
+
msgid "General settings"
|
659 |
+
msgstr ""
|
660 |
+
|
661 |
+
#: wp/transposh_admin.php:450
|
662 |
+
#@ transposh
|
663 |
+
msgid "Backup service settings"
|
664 |
+
msgstr ""
|
665 |
+
|
666 |
+
#: wp/transposh_admin.php:459
|
667 |
+
#@ transposh
|
668 |
+
msgid "Automatic Translation Settings"
|
669 |
+
msgstr ""
|
670 |
+
|
671 |
+
#: wp/transposh_admin.php:477
|
672 |
+
#@ transposh
|
673 |
+
msgid "Professional Translation Settings"
|
674 |
+
msgstr ""
|
675 |
+
|
676 |
+
#: wp/transposh_admin.php:494
|
677 |
+
#, php-format
|
678 |
+
#@ transposh
|
679 |
+
msgid "%d phrases currently queued for next job in ~%d minutes"
|
680 |
+
msgstr ""
|
681 |
+
|
682 |
+
#: wp/transposh_admin.php:520
|
683 |
+
#@ transposh
|
684 |
+
msgid "Parser related settings"
|
685 |
+
msgstr ""
|
686 |
+
|
687 |
+
#: wp/transposh_admin.php:521
|
688 |
#: wp/transposh_admin.php:530
|
689 |
#@ transposh
|
690 |
+
msgid "This is extremely dangerous, will break your current translations, and might cause severe hickups, only proceed if you really know what you are doing."
|
691 |
+
msgstr ""
|
692 |
+
|
693 |
+
#: wp/transposh_admin.php:522
|
694 |
+
#@ transposh
|
695 |
+
msgid "Disable punctuations break"
|
696 |
+
msgstr ""
|
697 |
+
|
698 |
+
#: wp/transposh_admin.php:523
|
699 |
+
#@ transposh
|
700 |
+
msgid "The parser will not break text into phrases when encountering punctuations such as dots"
|
701 |
+
msgstr ""
|
702 |
+
|
703 |
+
#: wp/transposh_admin.php:524
|
704 |
+
#@ transposh
|
705 |
+
msgid "Disable numbers break"
|
706 |
+
msgstr ""
|
707 |
+
|
708 |
+
#: wp/transposh_admin.php:525
|
709 |
+
#@ transposh
|
710 |
+
msgid "The parser will not break text into phrases when encountering numbers"
|
711 |
+
msgstr ""
|
712 |
+
|
713 |
+
#: wp/transposh_admin.php:526
|
714 |
+
#@ transposh
|
715 |
+
msgid "Disable html entities break"
|
716 |
+
msgstr ""
|
717 |
+
|
718 |
+
#: wp/transposh_admin.php:527
|
719 |
+
#@ transposh
|
720 |
+
msgid "The parser will not break text into phrases when encountering html entities"
|
721 |
+
msgstr ""
|
722 |
+
|
723 |
+
#: wp/transposh_admin.php:529
|
724 |
+
#@ transposh
|
725 |
+
msgid "Debug settings"
|
726 |
+
msgstr ""
|
727 |
+
|
728 |
+
#: wp/transposh_admin.php:531
|
729 |
+
#@ transposh
|
730 |
+
msgid "Enable debugging"
|
731 |
msgstr ""
|
732 |
|
733 |
#: wp/transposh_admin.php:532
|
734 |
#@ transposh
|
735 |
+
msgid "Enable running of Transposh internal debug functions"
|
736 |
msgstr ""
|
737 |
|
738 |
#: wp/transposh_admin.php:533
|
739 |
#@ transposh
|
740 |
+
msgid "Log file name"
|
741 |
msgstr ""
|
742 |
|
743 |
#: wp/transposh_admin.php:534
|
744 |
#@ transposh
|
745 |
+
msgid "Level of logging"
|
746 |
+
msgstr ""
|
747 |
+
|
748 |
+
#: wp/transposh_admin.php:535
|
749 |
+
#@ transposh
|
750 |
+
msgid "Critical"
|
751 |
+
msgstr ""
|
752 |
+
|
753 |
+
#: wp/transposh_admin.php:536
|
754 |
+
#@ transposh
|
755 |
+
msgid "Important"
|
756 |
+
msgstr ""
|
757 |
+
|
758 |
+
#: wp/transposh_admin.php:537
|
759 |
+
#@ transposh
|
760 |
+
msgid "Warning"
|
761 |
+
msgstr ""
|
762 |
+
|
763 |
+
#: wp/transposh_admin.php:538
|
764 |
+
#@ transposh
|
765 |
+
msgid "Information"
|
766 |
msgstr ""
|
767 |
|
768 |
#: wp/transposh_admin.php:539
|
769 |
#@ transposh
|
770 |
+
msgid "Debug"
|
771 |
msgstr ""
|
772 |
|
773 |
+
#: wp/transposh_admin.php:541
|
774 |
#, php-format
|
775 |
#@ transposh
|
776 |
+
msgid "Remote debug IP (Your current IP is %s)"
|
777 |
msgstr ""
|
778 |
|
779 |
+
#: wp/transposh_admin.php:553
|
|
|
780 |
#@ transposh
|
781 |
+
msgid "Reset configuration to default (saves keys)"
|
782 |
+
msgstr ""
|
783 |
+
|
784 |
+
#: wp/transposh_admin.php:567
|
785 |
+
#@ transposh
|
786 |
+
msgid "About Transposh"
|
787 |
+
msgstr ""
|
788 |
+
|
789 |
+
#: wp/transposh_admin.php:568
|
790 |
+
#@ transposh
|
791 |
+
msgid "Transposh was started at 2008 and is dedicated to provide tools to ease website translation."
|
792 |
+
msgstr ""
|
793 |
+
|
794 |
+
#: wp/transposh_admin.php:570
|
795 |
+
#@ transposh
|
796 |
+
msgid "Learn more about us in the following online presenses"
|
797 |
+
msgstr ""
|
798 |
+
|
799 |
+
#: wp/transposh_admin.php:573
|
800 |
+
#@ transposh
|
801 |
+
msgid "Our website"
|
802 |
+
msgstr ""
|
803 |
+
|
804 |
+
#: wp/transposh_admin.php:575
|
805 |
+
#@ transposh
|
806 |
+
msgid "Our blog"
|
807 |
+
msgstr ""
|
808 |
+
|
809 |
+
#: wp/transposh_admin.php:577
|
810 |
+
#@ transposh
|
811 |
+
msgid "Our twitter account (feel free to follow!)"
|
812 |
+
msgstr ""
|
813 |
+
|
814 |
+
#: wp/transposh_admin.php:579
|
815 |
+
#@ transposh
|
816 |
+
msgid "Our facebook page (feel free to like!)"
|
817 |
+
msgstr ""
|
818 |
+
|
819 |
+
#: wp/transposh_admin.php:581
|
820 |
+
#@ transposh
|
821 |
+
msgid "Our google plus page (add us to your circles!)"
|
822 |
+
msgstr ""
|
823 |
+
|
824 |
+
#: wp/transposh_admin.php:583
|
825 |
+
#@ transposh
|
826 |
+
msgid "Our youtube channel"
|
827 |
+
msgstr ""
|
828 |
+
|
829 |
+
#: wp/transposh_admin.php:592
|
830 |
+
#@ transposh
|
831 |
+
msgid "Transposh support"
|
832 |
+
msgstr ""
|
833 |
+
|
834 |
+
#: wp/transposh_admin.php:593
|
835 |
+
#@ transposh
|
836 |
+
msgid "Have you encountered any problem with our plugin and need our help?"
|
837 |
+
msgstr ""
|
838 |
+
|
839 |
+
#: wp/transposh_admin.php:594
|
840 |
+
#@ transposh
|
841 |
+
msgid "Do you need to ask us any question?"
|
842 |
+
msgstr ""
|
843 |
+
|
844 |
+
#: wp/transposh_admin.php:595
|
845 |
+
#@ transposh
|
846 |
+
msgid "You have two options:"
|
847 |
+
msgstr ""
|
848 |
+
|
849 |
+
#: wp/transposh_admin.php:597
|
850 |
+
#@ transposh
|
851 |
+
msgid "Our free support"
|
852 |
+
msgstr ""
|
853 |
+
|
854 |
+
#: wp/transposh_admin.php:599
|
855 |
+
#@ transposh
|
856 |
+
msgid "There are many channels to reach us and we do try to help as fast as we can"
|
857 |
+
msgstr ""
|
858 |
+
|
859 |
+
#: wp/transposh_admin.php:600
|
860 |
+
#@ transposh
|
861 |
+
msgid "You can contact us through our contact form on our web site"
|
862 |
+
msgstr ""
|
863 |
+
|
864 |
+
#: wp/transposh_admin.php:601
|
865 |
+
#@ transposh
|
866 |
+
msgid "Create a ticket for us if you have found any bugs"
|
867 |
+
msgstr ""
|
868 |
+
|
869 |
+
#: wp/transposh_admin.php:602
|
870 |
+
#@ transposh
|
871 |
+
msgid "Reach us via different forums:"
|
872 |
+
msgstr ""
|
873 |
+
|
874 |
+
#: wp/transposh_admin.php:605
|
875 |
+
#@ transposh
|
876 |
+
msgid "Our support forum on wordpress.org"
|
877 |
+
msgstr ""
|
878 |
+
|
879 |
+
#: wp/transposh_admin.php:607
|
880 |
+
#@ transposh
|
881 |
+
msgid "Our internal development site, with wiki and tickets"
|
882 |
+
msgstr ""
|
883 |
+
|
884 |
+
#: wp/transposh_admin.php:609
|
885 |
+
#@ transposh
|
886 |
+
msgid "Our facebook page"
|
887 |
+
msgstr ""
|
888 |
+
|
889 |
+
#: wp/transposh_admin.php:611
|
890 |
+
#@ transposh
|
891 |
+
msgid "Our google plus page"
|
892 |
+
msgstr ""
|
893 |
+
|
894 |
+
#: wp/transposh_admin.php:613
|
895 |
+
#@ transposh
|
896 |
+
msgid "Contact us directly via:"
|
897 |
+
msgstr ""
|
898 |
+
|
899 |
+
#: wp/transposh_admin.php:615
|
900 |
+
#@ transposh
|
901 |
+
msgid "Our contact form"
|
902 |
+
msgstr ""
|
903 |
+
|
904 |
+
#: wp/transposh_admin.php:621
|
905 |
+
#@ transposh
|
906 |
+
msgid "Professional support option"
|
907 |
+
msgstr ""
|
908 |
+
|
909 |
+
#: wp/transposh_admin.php:623
|
910 |
+
#@ transposh
|
911 |
+
msgid "For the low low price of $99, we will take express action on your request. By express we mean that your issue will become our top priority, and will resolve ASAP"
|
912 |
+
msgstr ""
|
913 |
+
|
914 |
+
#: wp/transposh_admin.php:624
|
915 |
+
#@ transposh
|
916 |
+
msgid "This includes helping with various bugs, basic theme/plugins conflicts, or just telling you where the ON button is"
|
917 |
+
msgstr ""
|
918 |
+
|
919 |
+
#: wp/transposh_admin.php:625
|
920 |
+
#@ transposh
|
921 |
+
msgid "Full money back guarentee! If your problem remains unresolved or you are simply unhappy we will refund your paypal account as soon as you ask (as long as paypal allows it, don't come to us three years later!)"
|
922 |
+
msgstr ""
|
923 |
+
|
924 |
+
#: wp/transposh_admin.php:626
|
925 |
+
#@ transposh
|
926 |
+
msgid "So hit the following button. Thanks!"
|
927 |
msgstr ""
|
928 |
|
929 |
#: wp/transposh_admin.php:636
|
930 |
#@ transposh
|
931 |
+
msgid "Donations"
|
932 |
+
msgstr ""
|
933 |
+
|
934 |
+
#: wp/transposh_admin.php:638
|
935 |
+
#@ transposh
|
936 |
+
msgid "If you just want to show that you care, this is the button for you. But please think twice before doing this. It will make us happier if you just do something nice for someone in your area, contribute to a local charity, and let us know that you did that :)"
|
937 |
msgstr ""
|
938 |
|
@@ -1,9 +1,9 @@
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
-
"Project-Id-Version:
|
4 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/transposh-translation-filter-for-wordpress\n"
|
5 |
"POT-Creation-Date: 2011-01-16 21:56:35+00:00\n"
|
6 |
-
"PO-Revision-Date: 2012-
|
7 |
"Last-Translator: Amilton Junior <grupo@dicasemgeral.com>\n"
|
8 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
9 |
"MIME-Version: 1.0\n"
|
@@ -19,29 +19,29 @@ msgstr ""
|
|
19 |
"X-Poedit-SearchPath-0: .\n"
|
20 |
"X-Textdomain-Support: yes"
|
21 |
|
22 |
-
#: wp/transposh_db.php:
|
23 |
#@ transposh
|
24 |
msgid "Database stats"
|
25 |
msgstr "Estatística do banco de dados"
|
26 |
|
27 |
-
#: wp/transposh_db.php:
|
28 |
#, php-format
|
29 |
#@ transposh
|
30 |
msgid "Total of <strong style=\"color:red\">%s</strong> translated phrases."
|
31 |
msgstr "Total de <strong style=\"color:red\">%s</strong> frases traduzidas."
|
32 |
|
33 |
-
#: wp/transposh_db.php:
|
34 |
#, php-format
|
35 |
#@ transposh
|
36 |
msgid "<strong>%1s</strong> has <strong style=\"color:red\">%2s</strong> human translated phrases."
|
37 |
msgstr "<strong>%1s</strong> tem <strong style=\"color:red\">%2s</strong> frases traduzidas manualmente."
|
38 |
|
39 |
-
#: wp/transposh_db.php:
|
40 |
#@ transposh
|
41 |
msgid "Recent activity"
|
42 |
msgstr "Atividade recente"
|
43 |
|
44 |
-
#: wp/transposh_db.php:
|
45 |
#, php-format
|
46 |
#@ transposh
|
47 |
msgid "On <strong>%1s</strong><br/>user <strong>%2s</strong> translated<br/>\"<strong>%3s</strong>\"<br/>to <strong style=\"color:red\">%4s</strong><br/>\"<strong>%5s</strong>\""
|
@@ -53,431 +53,353 @@ msgstr "Em <strong>%1s</strong><br/>o usuário <strong>%2s</strong> traduziu<br/
|
|
53 |
msgid "%s translated a phrase to %s with transposh:"
|
54 |
msgstr "%s traduziu uma frase para %s com o transposh:"
|
55 |
|
56 |
-
#: wp/
|
57 |
-
#: wp/
|
58 |
-
#: wp/
|
59 |
-
#: wp/transposh_postpublish.php:51
|
60 |
-
#: wp/transposh_widget.php:84
|
61 |
-
#: wp/transposh_widget.php:311
|
62 |
#@ transposh
|
63 |
#@ default
|
64 |
msgid "Transposh"
|
65 |
msgstr "Transposh"
|
66 |
|
67 |
-
#: wp/transposh_admin.php:
|
68 |
#@ transposh
|
69 |
msgid "Transposh makes your blog translatable"
|
70 |
msgstr "Transposh traduz o seu blog"
|
71 |
|
72 |
-
#: wp/transposh_admin.php:
|
73 |
#@ transposh
|
74 |
msgid "Plugin homepage"
|
75 |
msgstr "Home page do plugin"
|
76 |
|
77 |
-
#: wp/transposh_admin.php:
|
78 |
#@ transposh
|
79 |
msgid "Frequently asked questions"
|
80 |
msgstr "Perguntas frequentes"
|
81 |
|
82 |
-
#: wp/transposh_admin.php:
|
83 |
-
#@ transposh
|
84 |
-
msgid "Transposh control center"
|
85 |
-
msgstr "Painel de controle Transposh"
|
86 |
-
|
87 |
-
#: wp/transposh_admin.php:212
|
88 |
-
#@ transposh
|
89 |
-
msgid "About this plugin"
|
90 |
-
msgstr "Sobre o plugin"
|
91 |
-
|
92 |
-
#: wp/transposh_admin.php:213
|
93 |
#@ transposh
|
94 |
msgid "Plugin news"
|
95 |
msgstr "Notícias do plugin"
|
96 |
|
97 |
-
#: wp/transposh_admin.php:
|
98 |
#@ transposh
|
99 |
msgid "Plugin stats"
|
100 |
msgstr "Estatísticas do plugin"
|
101 |
|
102 |
-
#: wp/transposh_admin.php:
|
103 |
-
#@ transposh
|
104 |
-
msgid "Translate all"
|
105 |
-
msgstr "Traduzir tudo"
|
106 |
-
|
107 |
-
#: wp/transposh_admin.php:216
|
108 |
-
#@ transposh
|
109 |
-
msgid "Supported languages"
|
110 |
-
msgstr "Idiomas suportados"
|
111 |
-
|
112 |
-
#: wp/transposh_admin.php:217
|
113 |
-
#@ transposh
|
114 |
-
msgid "Translation settings"
|
115 |
-
msgstr "Configuração da tradução"
|
116 |
-
|
117 |
-
#: wp/transposh_admin.php:218
|
118 |
-
#@ transposh
|
119 |
-
msgid "Automatic translation settings"
|
120 |
-
msgstr "Configuração da tradução automática"
|
121 |
-
|
122 |
-
#: wp/transposh_admin.php:221
|
123 |
-
#@ transposh
|
124 |
-
msgid "Generic settings"
|
125 |
-
msgstr "Configurações genéricas"
|
126 |
-
|
127 |
-
#: wp/transposh_admin.php:222
|
128 |
-
#@ transposh
|
129 |
-
msgid "Database maintenance"
|
130 |
-
msgstr "Gerenciamento do banco de dados"
|
131 |
-
|
132 |
-
#: wp/transposh_admin.php:237
|
133 |
#@ transposh
|
134 |
-
msgid "Transposh community features"
|
135 |
-
msgstr "Recursos da \"Comunidade Transposh\""
|
136 |
-
|
137 |
-
#: wp/transposh_admin.php:273
|
138 |
-
#@ default
|
139 |
msgid "Save Changes"
|
140 |
msgstr "Salvar mudanças"
|
141 |
|
142 |
-
#: wp/transposh_admin.php:
|
143 |
#@ transposh
|
144 |
msgid "Problems?"
|
145 |
msgstr "Problemas?"
|
146 |
|
147 |
-
#: wp/transposh_admin.php:
|
148 |
-
#@ transposh
|
149 |
-
msgid "Plugin Homepage"
|
150 |
-
msgstr "Home Page do plugin"
|
151 |
-
|
152 |
-
#: wp/transposh_admin.php:314
|
153 |
#@ transposh
|
154 |
msgid "Suggest a Feature"
|
155 |
msgstr "Sugerir um recurso"
|
156 |
|
157 |
-
#: wp/transposh_admin.php:
|
158 |
#@ transposh
|
159 |
msgid "Report a Bug"
|
160 |
msgstr "Informar um bug"
|
161 |
|
162 |
-
#: wp/transposh_admin.php:
|
163 |
#@ transposh
|
164 |
msgid "Translate by clicking the button below"
|
165 |
msgstr "Traduza clicando no botão abaixo"
|
166 |
|
167 |
-
#: wp/transposh_admin.php:
|
168 |
#@ transposh
|
169 |
msgid "Translate All Now"
|
170 |
msgstr "Traduzir tudo agora"
|
171 |
|
172 |
-
#: wp/transposh_admin.php:
|
173 |
#@ transposh
|
174 |
msgid "Default Language (drag another language here to make it default)"
|
175 |
msgstr "Idioma padrão (arraste outro idioma para definir)"
|
176 |
|
177 |
-
#: wp/transposh_admin.php:
|
178 |
#@ transposh
|
179 |
msgid "Available Languages (Click to toggle language state - Drag to sort in the widget)"
|
180 |
msgstr "Idiomas disponíveis (clique para mudar o status - arraste para mudar a ordem)"
|
181 |
|
182 |
-
#: wp/transposh_admin.php:
|
183 |
#@ transposh
|
184 |
msgid "Language supported by google translate"
|
185 |
msgstr "Idioma suportado pelo Google Translator"
|
186 |
|
187 |
-
#: wp/transposh_admin.php:
|
188 |
#@ transposh
|
189 |
msgid "Language supported by bing translate"
|
190 |
msgstr "Idioma suportado pelo Bing Translator"
|
191 |
|
192 |
-
#: wp/transposh_admin.php:
|
193 |
#@ transposh
|
194 |
msgid "Language supported by apertium translate"
|
195 |
msgstr "Idioma suportado pelo Apertium Translator"
|
196 |
|
197 |
-
#: wp/transposh_admin.php:
|
198 |
#@ transposh
|
199 |
msgid "Language is written from right to left"
|
200 |
msgstr "Este idioma se escreve da direita para a esquerda"
|
201 |
|
202 |
-
#: wp/transposh_admin.php:
|
203 |
#@ transposh
|
204 |
msgid "Display options:"
|
205 |
msgstr "Opções de visualização:"
|
206 |
|
207 |
-
#: wp/transposh_admin.php:
|
208 |
#@ transposh
|
209 |
msgid "Toggle names of languages between English and Original"
|
210 |
msgstr "Alterar os nomes dos idiomas entre Inglês e Original"
|
211 |
|
212 |
-
#: wp/transposh_admin.php:
|
213 |
#@ transposh
|
214 |
msgid "Make all languages active"
|
215 |
msgstr "Ativar todos os idiomas"
|
216 |
|
217 |
-
#: wp/transposh_admin.php:
|
218 |
#@ transposh
|
219 |
msgid "Sort by language name"
|
220 |
msgstr "Ordenar os idiomas pelo nome"
|
221 |
|
222 |
-
#: wp/transposh_admin.php:
|
223 |
#@ transposh
|
224 |
msgid "Sort by lSO code"
|
225 |
msgstr "Ordenar pelo código lSO"
|
226 |
|
227 |
-
#: wp/transposh_admin.php:
|
228 |
-
#@ transposh
|
229 |
-
msgid "Legend:"
|
230 |
-
msgstr "Legenda:"
|
231 |
-
|
232 |
-
#: wp/transposh_admin.php:425
|
233 |
-
#@ transposh
|
234 |
-
msgid "Green - active"
|
235 |
-
msgstr "Verde - ativo"
|
236 |
-
|
237 |
-
#: wp/transposh_admin.php:425
|
238 |
-
#@ transposh
|
239 |
-
msgid "Yellow - translateable (only translators will see this language)"
|
240 |
-
msgstr "Amarelo - traduzível (somente os tradutores verão este idioma)"
|
241 |
-
|
242 |
-
#: wp/transposh_admin.php:425
|
243 |
-
#@ transposh
|
244 |
-
msgid "blank - inactive"
|
245 |
-
msgstr "branco - inativo"
|
246 |
-
|
247 |
-
#: wp/transposh_admin.php:447
|
248 |
#@ transposh
|
249 |
msgid "Who can translate ?"
|
250 |
msgstr "Quem pode traduzir?"
|
251 |
|
252 |
-
#: wp/transposh_admin.php:
|
253 |
#@ transposh
|
254 |
msgid "Anonymous"
|
255 |
msgstr "Anônimo"
|
256 |
|
257 |
-
#: wp/transposh_admin.php:
|
258 |
#@ transposh
|
259 |
msgid "Enable default language translation"
|
260 |
msgstr "Ativar idioma padrão de tradução"
|
261 |
|
262 |
-
#: wp/transposh_admin.php:
|
263 |
#@ transposh
|
264 |
msgid "Allow translation of default language - useful for sites with more than one major language"
|
265 |
msgstr "Permitir traduzir do idioma padrão - usual para sites com mais de um idioma"
|
266 |
|
267 |
-
#: wp/transposh_admin.php:
|
268 |
#@ transposh
|
269 |
msgid "Enable search in translated languages"
|
270 |
msgstr "Habilitar busca em idiomas traduzidos"
|
271 |
|
272 |
-
#: wp/transposh_admin.php:
|
273 |
#@ transposh
|
274 |
msgid "Enable url translation"
|
275 |
msgstr "Permitir a tradução da URL"
|
276 |
|
277 |
-
#: wp/transposh_admin.php:
|
278 |
-
#: wp/transposh_admin.php:481
|
279 |
#@ transposh
|
280 |
msgid "experimental"
|
281 |
msgstr "experimental"
|
282 |
|
283 |
-
#: wp/transposh_admin.php:
|
284 |
#@ transposh
|
285 |
msgid "Allow translation of permalinks and urls"
|
286 |
msgstr "Permitir a tradução de Permalinks e URLs"
|
287 |
|
288 |
-
#: wp/transposh_admin.php:
|
289 |
#@ transposh
|
290 |
msgid "Enable gettext integration"
|
291 |
msgstr "Permitir integração com gettext"
|
292 |
|
293 |
-
#: wp/transposh_admin.php:
|
294 |
#@ transposh
|
295 |
msgid "Enable integration of Transposh with existing gettext interface (.po/.mo files)"
|
296 |
msgstr "Permitir a integração do Transposh com as interfaces gettext existentes (arquivos .po /.mo)"
|
297 |
|
298 |
-
#: wp/transposh_admin.php:
|
299 |
#@ transposh
|
300 |
msgid "Enable automatic translation"
|
301 |
msgstr "Permitir tradução automática"
|
302 |
|
303 |
-
#: wp/transposh_admin.php:
|
304 |
#@ transposh
|
305 |
msgid "Allow automatic translation of pages"
|
306 |
msgstr "Permitir a tradução automática de páginas"
|
307 |
|
308 |
-
#: wp/transposh_admin.php:
|
309 |
#@ transposh
|
310 |
msgid "Enable automatic translation after posting"
|
311 |
msgstr "Permitir tradução automática logo após publicar"
|
312 |
|
313 |
-
#: wp/transposh_admin.php:
|
314 |
#@ transposh
|
315 |
msgid "Do automatic translation immediately after a post has been published"
|
316 |
msgstr "Traduzir automaticamente imediatamente após um post ser publicado"
|
317 |
|
318 |
-
#: wp/transposh_admin.php:
|
319 |
#@ transposh
|
320 |
msgid "Select preferred auto translation engine"
|
321 |
msgstr "Selecione a engine de tradução preferida"
|
322 |
|
323 |
-
#: wp/transposh_admin.php:
|
324 |
#@ transposh
|
325 |
msgid "Translation engine:"
|
326 |
msgstr "Engine de tradução:"
|
327 |
|
328 |
-
#: wp/transposh_admin.php:
|
329 |
#@ transposh
|
330 |
msgid "Google"
|
331 |
msgstr "Google"
|
332 |
|
333 |
-
#: wp/transposh_admin.php:
|
334 |
#@ transposh
|
335 |
msgid "Bing"
|
336 |
msgstr "Bing"
|
337 |
|
338 |
-
#: wp/transposh_admin.php:
|
339 |
#@ transposh
|
340 |
msgid "Rewrite URLs"
|
341 |
msgstr "Reescrever as URLs"
|
342 |
|
343 |
-
#: wp/transposh_admin.php:
|
344 |
#@ transposh
|
345 |
msgid "Add scripts to footer"
|
346 |
msgstr "Adicionar scripts no rodapé"
|
347 |
|
348 |
-
#: wp/transposh_admin.php:
|
349 |
#@ transposh
|
350 |
msgid "Auto detect language for users"
|
351 |
msgstr "Detectar automaticamente o idioma do usuário"
|
352 |
|
353 |
-
#: wp/transposh_admin.php:
|
354 |
#@ transposh
|
355 |
msgid "Delete all automated translations"
|
356 |
msgstr "Apagar todas as traduções automáticas"
|
357 |
|
358 |
-
#: wp/transposh_admin.php:
|
359 |
#@ transposh
|
360 |
msgid "Delete automated translations older than 14 days"
|
361 |
msgstr "Apagar todas as traduções automáticas após 14 dias"
|
362 |
|
363 |
-
#: wp/transposh_admin.php:
|
364 |
#@ transposh
|
365 |
msgid "Attempt to fix errors caused by previous versions - please backup first"
|
366 |
msgstr "Tentar corrigir erros causados por versões anteriores - fazer backup antes"
|
367 |
|
368 |
-
#: wp/transposh_admin.php:
|
369 |
-
#@ transposh
|
370 |
-
msgid "Backup service for human translation"
|
371 |
-
msgstr "Serviço de backup para tradução manual"
|
372 |
-
|
373 |
-
#: wp/transposh_admin.php:615
|
374 |
#@ transposh
|
375 |
msgid "Enable daily backup"
|
376 |
msgstr "Ativar backup diário"
|
377 |
|
378 |
-
#: wp/transposh_admin.php:
|
379 |
#@ transposh
|
380 |
msgid "Enable live backup"
|
381 |
msgstr "Ativar backup em tempo real"
|
382 |
|
383 |
-
#: wp/transposh_admin.php:
|
384 |
#@ transposh
|
385 |
msgid "Disable backup (Can be run manually by clicking the button below)"
|
386 |
msgstr "Desativar backup (pode ser executado manualmente clicando no botão abaixo)"
|
387 |
|
388 |
-
#: wp/transposh_admin.php:
|
389 |
#@ transposh
|
390 |
msgid "Service Key:"
|
391 |
msgstr "Service Key:"
|
392 |
|
393 |
-
#: wp/transposh_admin.php:
|
394 |
#@ transposh
|
395 |
msgid "How to restore?"
|
396 |
msgstr "Como restaurar?"
|
397 |
|
398 |
-
#: wp/transposh_admin.php:
|
399 |
#@ transposh
|
400 |
msgid "Do Backup Now"
|
401 |
msgstr "Fazer backup agora"
|
402 |
|
403 |
-
#: wp/transposh_widget.php:
|
404 |
#@ transposh
|
405 |
msgid "Transposh language selection widget"
|
406 |
msgstr "Widget Transposh de seleção de idioma"
|
407 |
|
408 |
-
#: wp/transposh_widget.php:
|
409 |
#@ transposh
|
410 |
msgid "Set as default language"
|
411 |
msgstr "Definir como idioma padrão"
|
412 |
|
413 |
-
#: wp/transposh_widget.php:
|
414 |
#@ transposh
|
415 |
msgid "translation plugin for wordpress"
|
416 |
msgstr "plugin de tradução para wordpress"
|
417 |
|
418 |
-
#: wp/transposh_widget.php:
|
419 |
#@ transposh
|
420 |
msgid "wordpress translation plugin"
|
421 |
msgstr "plugin de tradução para wordpress"
|
422 |
|
423 |
-
#: wp/transposh_widget.php:
|
424 |
#@ transposh
|
425 |
msgid "translate your blog to 60+ languages"
|
426 |
msgstr "traduz seu blog para 60+ idiomas"
|
427 |
|
428 |
-
#: wp/transposh_widget.php:
|
429 |
#@ transposh
|
430 |
msgid "website crowdsourcing translation plugin"
|
431 |
msgstr "plugin de tradução crowdsourcing"
|
432 |
|
433 |
-
#: wp/transposh_widget.php:
|
434 |
#@ transposh
|
435 |
msgid "google translate and bing translate plugin for wordpress"
|
436 |
msgstr "plugins google translate e bing translate para wordpress"
|
437 |
|
438 |
-
#: wp/transposh_widget.php:
|
439 |
#@ transposh
|
440 |
msgid "Style:"
|
441 |
msgstr "Estilo:"
|
442 |
|
443 |
-
#: wp/transposh_admin.php:
|
444 |
#@ transposh
|
445 |
msgid "Show progress bar when a client triggers automatic translation"
|
446 |
msgstr "Exibir barra de progresso quando um cliente solicitar uma tradução automática"
|
447 |
|
448 |
-
#: wp/transposh_admin.php:
|
449 |
#@ transposh
|
450 |
msgid "Show progress bar"
|
451 |
msgstr "Exibir barra de progresso"
|
452 |
|
453 |
-
#: wp/transposh_admin.php:
|
454 |
#@ transposh
|
455 |
msgid "Widget will allow setting this language as user default"
|
456 |
msgstr "Widget permite definir como idioma padrão do usuário"
|
457 |
|
458 |
-
#: wp/transposh_admin.php:
|
459 |
#@ transposh
|
460 |
msgid "Allow user to set current language as default"
|
461 |
msgstr "Permitir que o usuário defina o idioma padrão"
|
462 |
|
463 |
-
#: wp/transposh_admin.php:
|
464 |
#@ transposh
|
465 |
msgid "Transposh logo will not appear on widget"
|
466 |
msgstr "O logotipo Transposh não aparecerá no widget"
|
467 |
|
468 |
-
#: wp/transposh_admin.php:
|
469 |
#@ transposh
|
470 |
msgid "Remove transposh logo (see <a href=\"http://transposh.org/logoterms\">terms</a>)"
|
471 |
msgstr "Remover o logotipo Transposh"
|
472 |
|
473 |
-
#: wp/transposh_admin.php:
|
474 |
-
#: wp/transposh_admin.php:563
|
475 |
#@ transposh
|
476 |
msgid "Edit interface (and progress bar) theme:"
|
477 |
msgstr "Editar a interface (tema e barra de progresso):"
|
478 |
|
479 |
-
#: transposh.php:
|
|
|
480 |
#@ default
|
|
|
481 |
msgid "Settings"
|
482 |
msgstr "Configurações"
|
483 |
|
@@ -506,17 +428,17 @@ msgstr "Filtro de tradução para WordPress, depois de ativar favor definir os i
|
|
506 |
msgid "Team Transposh"
|
507 |
msgstr "Equipe Transposh"
|
508 |
|
509 |
-
#: wp/transposh_admin.php:
|
510 |
#@ transposh
|
511 |
msgid "Rewrite URLs to be search engine friendly, e.g. (http://transposh.org/<strong>en</strong>). Requires that permalinks will be enabled."
|
512 |
msgstr "Reescreva as URLs para SEO Friendly, ex.: (http://transposh.org/<strong>en</strong>). Necessita de permalinks ativados."
|
513 |
|
514 |
-
#: wp/transposh_admin.php:
|
515 |
#@ transposh
|
516 |
msgid "Push transposh scripts to footer of page instead of header, makes pages load faster. Requires that your theme should have proper footer support."
|
517 |
msgstr "Adicione os scripts do Transposh ao rodapé da página em vez do cabeçalho. Necessita de suporte do seu tema."
|
518 |
|
519 |
-
#: wp/transposh_admin.php:
|
520 |
#@ transposh
|
521 |
msgid "This enables auto detection of language used by the user as defined in the ACCEPT_LANGUAGES they send. This will redirect the first page accessed in the session to the same page with the detected language."
|
522 |
msgstr "Isso ativa a auto-detecção do isioma usado pelo usuário definido no cabeçalho ACCEPT_LANGUAGES. Assim o redirecionará para a primeira página acessada traduzida automaticamente."
|
@@ -534,161 +456,483 @@ msgstr "%VERSION%"
|
|
534 |
msgid "Select language"
|
535 |
msgstr "Selecione o idioma"
|
536 |
|
537 |
-
#: wp/transposh_admin.php:
|
538 |
-
#@ transposh
|
539 |
-
msgid "Frontend settings"
|
540 |
-
msgstr "Configurações locais"
|
541 |
-
|
542 |
-
#: wp/transposh_admin.php:248
|
543 |
#, php-format
|
544 |
#@ transposh
|
545 |
msgid "Your current PHP memory limit of %s is quite low, if you experience blank pages please consider increasing it."
|
546 |
msgstr "Sua configuração atual do PHP limita a memória a %s e está muito abaixo do recomendado. Isso pode gerar páginas em branco."
|
547 |
|
548 |
-
#: wp/transposh_admin.php:
|
549 |
-
#: wp/transposh_admin.php:
|
550 |
#@ transposh
|
551 |
msgid "Check Transposh FAQs"
|
552 |
msgstr "Leia nosso FAQ"
|
553 |
|
554 |
-
#: wp/transposh_admin.php:
|
555 |
#@ transposh
|
556 |
msgid "We were not able to find a supported in-memory caching engine, installing one can improve performance."
|
557 |
msgstr "Não localizamos suporte para um sistema de cache em memória. Instalando um a performance melhora."
|
558 |
|
559 |
-
#: wp/transposh_admin.php:
|
560 |
#@ transposh
|
561 |
msgid "Allow search of translated languages (and the original language)"
|
562 |
msgstr "Permite pesquisar nas páginas traduzidas (inclusive no idioma original)"
|
563 |
|
564 |
-
#: wp/transposh_admin.php:
|
565 |
#@ transposh
|
566 |
msgid "Enable override for default locale"
|
567 |
msgstr "Ativar sobrescrita para o local padrão"
|
568 |
|
569 |
-
#: wp/transposh_admin.php:
|
570 |
#@ transposh
|
571 |
msgid "Enable overriding the default locale that is set in WP_LANG on default languages pages (such as untranslated pages and admin pages)"
|
572 |
msgstr "Ativar sobrescrita do local padrão e configurar WP_LANG em páginas com idiomas padrão (como páginas não traduzidas e administrativas)"
|
573 |
|
574 |
-
#: wp/transposh_admin.php:
|
575 |
#@ transposh
|
576 |
msgid "MSN API key"
|
577 |
msgstr "MSN API Key"
|
578 |
|
579 |
-
#: wp/transposh_admin.php:
|
580 |
-
#: wp/transposh_admin.php:
|
581 |
-
#: wp/transposh_admin.php:540
|
582 |
#@ transposh
|
583 |
msgid "API Key"
|
584 |
msgstr "API Key"
|
585 |
|
586 |
-
#: wp/transposh_admin.php:
|
587 |
#@ transposh
|
588 |
msgid "Google API key"
|
589 |
msgstr "Google API Key"
|
590 |
|
591 |
-
#: wp/transposh_admin.php:
|
592 |
#@ transposh
|
593 |
msgid "Allow collecting usage statistics"
|
594 |
msgstr "Permitir coleta de estatísticas de uso"
|
595 |
|
596 |
-
#: wp/transposh_postpublish.php:
|
597 |
#@ transposh
|
598 |
msgid "Set post language"
|
599 |
msgstr "Define o idioma dos posts"
|
600 |
|
601 |
-
#: wp/transposh_postpublish.php:
|
602 |
-
#@ transposh
|
603 |
-
msgid "Set page language"
|
604 |
-
msgstr "Define o idioma das páginas"
|
605 |
-
|
606 |
-
#: wp/transposh_postpublish.php:198
|
607 |
#@ default
|
608 |
msgid "Default"
|
609 |
msgstr "Padrão"
|
610 |
|
611 |
-
#: wp/transposh_widget.php:
|
612 |
#@ transposh
|
613 |
msgid "Title:"
|
614 |
msgstr "Título:"
|
615 |
|
616 |
-
#: wp/transposh_widget.php:
|
617 |
#@ transposh
|
618 |
msgid "Transposh subwidget was not loaded correctly"
|
619 |
msgstr "O subwidget do Transposh não foi carregado corretamente"
|
620 |
|
621 |
#. TRANSLATORS: no need to translate this string
|
622 |
-
#: wp/transposh_widget.php:
|
623 |
#@ transposh
|
624 |
msgid "title"
|
625 |
msgstr "título"
|
626 |
|
627 |
-
#: wp/transposh_admin.php:
|
628 |
#@ transposh
|
629 |
msgid "Language"
|
630 |
msgstr "Idioma"
|
631 |
|
632 |
-
#: wp/transposh_admin.php:
|
633 |
#@ transposh
|
634 |
msgid "This option enables collection of statistics by transposh that will be used to improve the product."
|
635 |
msgstr "Esta opção ativa a coleta de estatísticas pelo transposh para ajudar a melhorar o produto."
|
636 |
|
637 |
#. TRANSLATORS: this will be the default widget title
|
638 |
-
#: wp/transposh_widget.php:
|
639 |
#@ transposh
|
640 |
msgid "Translation"
|
641 |
msgstr "Tradução"
|
642 |
|
643 |
-
#: wp/transposh_admin.php:
|
644 |
-
#@ transposh
|
645 |
-
msgid "Professional translation settings"
|
646 |
-
msgstr ""
|
647 |
-
|
648 |
-
#: wp/transposh_admin.php:413
|
649 |
#@ transposh
|
650 |
msgid "Language supported by one hour translation"
|
651 |
msgstr ""
|
652 |
|
653 |
-
#: wp/transposh_admin.php:
|
654 |
#@ transposh
|
655 |
msgid "<a href=\"http://transposh.org/redir/oht\">One Hour Translation</a>, is the largest professional translation service online, with thousands of business customers, including 57% of the Fortune 500 companies, and over 15000 translators worldwide."
|
656 |
msgstr "<a href=\"http://transposh.org/redir/oht\">One Hour Translation</a>, é o maior serviço online de tradução profissional, com milhares de clientes empresariais, incluindo 57% das empresas da Fortune 500 e mais de 15000 tradutores em todo o mundo."
|
657 |
|
658 |
-
#: wp/transposh_admin.php:
|
659 |
#@ transposh
|
660 |
msgid "One Hour Translation provides high-quality, fast professional translation to/from any language, and has specific domain expertise in SW localization, technical, business, and legal translations."
|
661 |
msgstr "A One Hour Translation fornece traduções profissionais rápidas e de elevada qualidade de e para qualquer língua, e possui a competência específica do domínio em localização de SW (Software), traduções técnicas, empresariais e jurídicas."
|
662 |
|
663 |
-
#: wp/transposh_admin.php:
|
664 |
#@ transposh
|
665 |
msgid "One Hour Translation account ID"
|
666 |
msgstr ""
|
667 |
|
668 |
-
#: wp/transposh_admin.php:
|
|
|
669 |
#@ transposh
|
670 |
msgid "Account ID"
|
671 |
msgstr ""
|
672 |
|
673 |
-
#: wp/transposh_admin.php:
|
674 |
#@ transposh
|
675 |
msgid "One Hour Translation secret key"
|
676 |
msgstr ""
|
677 |
|
678 |
-
#: wp/transposh_admin.php:
|
679 |
#, php-format
|
680 |
#@ transposh
|
681 |
-
msgid "%d
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
682 |
msgstr ""
|
683 |
|
684 |
-
#: wp/transposh_admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
685 |
#, php-format
|
686 |
#@ transposh
|
687 |
-
msgid "%d
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
688 |
msgstr ""
|
689 |
|
690 |
#: wp/transposh_admin.php:636
|
691 |
#@ transposh
|
692 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
693 |
msgstr ""
|
694 |
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
+
"Project-Id-Version: Transposh Translation Filter v%VERSION%\n"
|
4 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/transposh-translation-filter-for-wordpress\n"
|
5 |
"POT-Creation-Date: 2011-01-16 21:56:35+00:00\n"
|
6 |
+
"PO-Revision-Date: 2012-12-12 19:51:05+0000\n"
|
7 |
"Last-Translator: Amilton Junior <grupo@dicasemgeral.com>\n"
|
8 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
9 |
"MIME-Version: 1.0\n"
|
19 |
"X-Poedit-SearchPath-0: .\n"
|
20 |
"X-Textdomain-Support: yes"
|
21 |
|
22 |
+
#: wp/transposh_db.php:684
|
23 |
#@ transposh
|
24 |
msgid "Database stats"
|
25 |
msgstr "Estatística do banco de dados"
|
26 |
|
27 |
+
#: wp/transposh_db.php:689
|
28 |
#, php-format
|
29 |
#@ transposh
|
30 |
msgid "Total of <strong style=\"color:red\">%s</strong> translated phrases."
|
31 |
msgstr "Total de <strong style=\"color:red\">%s</strong> frases traduzidas."
|
32 |
|
33 |
+
#: wp/transposh_db.php:696
|
34 |
#, php-format
|
35 |
#@ transposh
|
36 |
msgid "<strong>%1s</strong> has <strong style=\"color:red\">%2s</strong> human translated phrases."
|
37 |
msgstr "<strong>%1s</strong> tem <strong style=\"color:red\">%2s</strong> frases traduzidas manualmente."
|
38 |
|
39 |
+
#: wp/transposh_db.php:699
|
40 |
#@ transposh
|
41 |
msgid "Recent activity"
|
42 |
msgstr "Atividade recente"
|
43 |
|
44 |
+
#: wp/transposh_db.php:704
|
45 |
#, php-format
|
46 |
#@ transposh
|
47 |
msgid "On <strong>%1s</strong><br/>user <strong>%2s</strong> translated<br/>\"<strong>%3s</strong>\"<br/>to <strong style=\"color:red\">%4s</strong><br/>\"<strong>%5s</strong>\""
|
53 |
msgid "%s translated a phrase to %s with transposh:"
|
54 |
msgstr "%s traduziu uma frase para %s com o transposh:"
|
55 |
|
56 |
+
#: wp/transposh_postpublish.php:55
|
57 |
+
#: wp/transposh_widget.php:86
|
58 |
+
#: wp/transposh_widget.php:315
|
|
|
|
|
|
|
59 |
#@ transposh
|
60 |
#@ default
|
61 |
msgid "Transposh"
|
62 |
msgstr "Transposh"
|
63 |
|
64 |
+
#: wp/transposh_admin.php:185
|
65 |
#@ transposh
|
66 |
msgid "Transposh makes your blog translatable"
|
67 |
msgstr "Transposh traduz o seu blog"
|
68 |
|
69 |
+
#: wp/transposh_admin.php:187
|
70 |
#@ transposh
|
71 |
msgid "Plugin homepage"
|
72 |
msgstr "Home page do plugin"
|
73 |
|
74 |
+
#: wp/transposh_admin.php:188
|
75 |
#@ transposh
|
76 |
msgid "Frequently asked questions"
|
77 |
msgstr "Perguntas frequentes"
|
78 |
|
79 |
+
#: wp/transposh_admin.php:283
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
#@ transposh
|
81 |
msgid "Plugin news"
|
82 |
msgstr "Notícias do plugin"
|
83 |
|
84 |
+
#: wp/transposh_admin.php:284
|
85 |
#@ transposh
|
86 |
msgid "Plugin stats"
|
87 |
msgstr "Estatísticas do plugin"
|
88 |
|
89 |
+
#: wp/transposh_admin.php:316
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
90 |
#@ transposh
|
|
|
|
|
|
|
|
|
|
|
91 |
msgid "Save Changes"
|
92 |
msgstr "Salvar mudanças"
|
93 |
|
94 |
+
#: wp/transposh_admin.php:653
|
95 |
#@ transposh
|
96 |
msgid "Problems?"
|
97 |
msgstr "Problemas?"
|
98 |
|
99 |
+
#: wp/transposh_admin.php:616
|
|
|
|
|
|
|
|
|
|
|
100 |
#@ transposh
|
101 |
msgid "Suggest a Feature"
|
102 |
msgstr "Sugerir um recurso"
|
103 |
|
104 |
+
#: wp/transposh_admin.php:617
|
105 |
#@ transposh
|
106 |
msgid "Report a Bug"
|
107 |
msgstr "Informar um bug"
|
108 |
|
109 |
+
#: wp/transposh_admin.php:559
|
110 |
#@ transposh
|
111 |
msgid "Translate by clicking the button below"
|
112 |
msgstr "Traduza clicando no botão abaixo"
|
113 |
|
114 |
+
#: wp/transposh_admin.php:561
|
115 |
#@ transposh
|
116 |
msgid "Translate All Now"
|
117 |
msgstr "Traduzir tudo agora"
|
118 |
|
119 |
+
#: wp/transposh_admin.php:364
|
120 |
#@ transposh
|
121 |
msgid "Default Language (drag another language here to make it default)"
|
122 |
msgstr "Idioma padrão (arraste outro idioma para definir)"
|
123 |
|
124 |
+
#: wp/transposh_admin.php:372
|
125 |
#@ transposh
|
126 |
msgid "Available Languages (Click to toggle language state - Drag to sort in the widget)"
|
127 |
msgstr "Idiomas disponíveis (clique para mudar o status - arraste para mudar a ordem)"
|
128 |
|
129 |
+
#: wp/transposh_admin.php:384
|
130 |
#@ transposh
|
131 |
msgid "Language supported by google translate"
|
132 |
msgstr "Idioma suportado pelo Google Translator"
|
133 |
|
134 |
+
#: wp/transposh_admin.php:386
|
135 |
#@ transposh
|
136 |
msgid "Language supported by bing translate"
|
137 |
msgstr "Idioma suportado pelo Bing Translator"
|
138 |
|
139 |
+
#: wp/transposh_admin.php:388
|
140 |
#@ transposh
|
141 |
msgid "Language supported by apertium translate"
|
142 |
msgstr "Idioma suportado pelo Apertium Translator"
|
143 |
|
144 |
+
#: wp/transposh_admin.php:392
|
145 |
#@ transposh
|
146 |
msgid "Language is written from right to left"
|
147 |
msgstr "Este idioma se escreve da direita para a esquerda"
|
148 |
|
149 |
+
#: wp/transposh_admin.php:397
|
150 |
#@ transposh
|
151 |
msgid "Display options:"
|
152 |
msgstr "Opções de visualização:"
|
153 |
|
154 |
+
#: wp/transposh_admin.php:398
|
155 |
#@ transposh
|
156 |
msgid "Toggle names of languages between English and Original"
|
157 |
msgstr "Alterar os nomes dos idiomas entre Inglês e Original"
|
158 |
|
159 |
+
#: wp/transposh_admin.php:399
|
160 |
#@ transposh
|
161 |
msgid "Make all languages active"
|
162 |
msgstr "Ativar todos os idiomas"
|
163 |
|
164 |
+
#: wp/transposh_admin.php:400
|
165 |
#@ transposh
|
166 |
msgid "Sort by language name"
|
167 |
msgstr "Ordenar os idiomas pelo nome"
|
168 |
|
169 |
+
#: wp/transposh_admin.php:401
|
170 |
#@ transposh
|
171 |
msgid "Sort by lSO code"
|
172 |
msgstr "Ordenar pelo código lSO"
|
173 |
|
174 |
+
#: wp/transposh_admin.php:412
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
175 |
#@ transposh
|
176 |
msgid "Who can translate ?"
|
177 |
msgstr "Quem pode traduzir?"
|
178 |
|
179 |
+
#: wp/transposh_admin.php:419
|
180 |
#@ transposh
|
181 |
msgid "Anonymous"
|
182 |
msgstr "Anônimo"
|
183 |
|
184 |
+
#: wp/transposh_admin.php:421
|
185 |
#@ transposh
|
186 |
msgid "Enable default language translation"
|
187 |
msgstr "Ativar idioma padrão de tradução"
|
188 |
|
189 |
+
#: wp/transposh_admin.php:422
|
190 |
#@ transposh
|
191 |
msgid "Allow translation of default language - useful for sites with more than one major language"
|
192 |
msgstr "Permitir traduzir do idioma padrão - usual para sites com mais de um idioma"
|
193 |
|
194 |
+
#: wp/transposh_admin.php:423
|
195 |
#@ transposh
|
196 |
msgid "Enable search in translated languages"
|
197 |
msgstr "Habilitar busca em idiomas traduzidos"
|
198 |
|
199 |
+
#: wp/transposh_admin.php:518
|
200 |
#@ transposh
|
201 |
msgid "Enable url translation"
|
202 |
msgstr "Permitir a tradução da URL"
|
203 |
|
204 |
+
#: wp/transposh_admin.php:518
|
|
|
205 |
#@ transposh
|
206 |
msgid "experimental"
|
207 |
msgstr "experimental"
|
208 |
|
209 |
+
#: wp/transposh_admin.php:518
|
210 |
#@ transposh
|
211 |
msgid "Allow translation of permalinks and urls"
|
212 |
msgstr "Permitir a tradução de Permalinks e URLs"
|
213 |
|
214 |
+
#: wp/transposh_admin.php:425
|
215 |
#@ transposh
|
216 |
msgid "Enable gettext integration"
|
217 |
msgstr "Permitir integração com gettext"
|
218 |
|
219 |
+
#: wp/transposh_admin.php:426
|
220 |
#@ transposh
|
221 |
msgid "Enable integration of Transposh with existing gettext interface (.po/.mo files)"
|
222 |
msgstr "Permitir a integração do Transposh com as interfaces gettext existentes (arquivos .po /.mo)"
|
223 |
|
224 |
+
#: wp/transposh_admin.php:460
|
225 |
#@ transposh
|
226 |
msgid "Enable automatic translation"
|
227 |
msgstr "Permitir tradução automática"
|
228 |
|
229 |
+
#: wp/transposh_admin.php:461
|
230 |
#@ transposh
|
231 |
msgid "Allow automatic translation of pages"
|
232 |
msgstr "Permitir a tradução automática de páginas"
|
233 |
|
234 |
+
#: wp/transposh_admin.php:462
|
235 |
#@ transposh
|
236 |
msgid "Enable automatic translation after posting"
|
237 |
msgstr "Permitir tradução automática logo após publicar"
|
238 |
|
239 |
+
#: wp/transposh_admin.php:463
|
240 |
#@ transposh
|
241 |
msgid "Do automatic translation immediately after a post has been published"
|
242 |
msgstr "Traduzir automaticamente imediatamente após um post ser publicado"
|
243 |
|
244 |
+
#: wp/transposh_admin.php:470
|
245 |
#@ transposh
|
246 |
msgid "Select preferred auto translation engine"
|
247 |
msgstr "Selecione a engine de tradução preferida"
|
248 |
|
249 |
+
#: wp/transposh_admin.php:471
|
250 |
#@ transposh
|
251 |
msgid "Translation engine:"
|
252 |
msgstr "Engine de tradução:"
|
253 |
|
254 |
+
#: wp/transposh_admin.php:472
|
255 |
#@ transposh
|
256 |
msgid "Google"
|
257 |
msgstr "Google"
|
258 |
|
259 |
+
#: wp/transposh_admin.php:473
|
260 |
#@ transposh
|
261 |
msgid "Bing"
|
262 |
msgstr "Bing"
|
263 |
|
264 |
+
#: wp/transposh_admin.php:433
|
265 |
#@ transposh
|
266 |
msgid "Rewrite URLs"
|
267 |
msgstr "Reescrever as URLs"
|
268 |
|
269 |
+
#: wp/transposh_admin.php:437
|
270 |
#@ transposh
|
271 |
msgid "Add scripts to footer"
|
272 |
msgstr "Adicionar scripts no rodapé"
|
273 |
|
274 |
+
#: wp/transposh_admin.php:440
|
275 |
#@ transposh
|
276 |
msgid "Auto detect language for users"
|
277 |
msgstr "Detectar automaticamente o idioma do usuário"
|
278 |
|
279 |
+
#: wp/transposh_admin.php:554
|
280 |
#@ transposh
|
281 |
msgid "Delete all automated translations"
|
282 |
msgstr "Apagar todas as traduções automáticas"
|
283 |
|
284 |
+
#: wp/transposh_admin.php:555
|
285 |
#@ transposh
|
286 |
msgid "Delete automated translations older than 14 days"
|
287 |
msgstr "Apagar todas as traduções automáticas após 14 dias"
|
288 |
|
289 |
+
#: wp/transposh_admin.php:556
|
290 |
#@ transposh
|
291 |
msgid "Attempt to fix errors caused by previous versions - please backup first"
|
292 |
msgstr "Tentar corrigir erros causados por versões anteriores - fazer backup antes"
|
293 |
|
294 |
+
#: wp/transposh_admin.php:451
|
|
|
|
|
|
|
|
|
|
|
295 |
#@ transposh
|
296 |
msgid "Enable daily backup"
|
297 |
msgstr "Ativar backup diário"
|
298 |
|
299 |
+
#: wp/transposh_admin.php:452
|
300 |
#@ transposh
|
301 |
msgid "Enable live backup"
|
302 |
msgstr "Ativar backup em tempo real"
|
303 |
|
304 |
+
#: wp/transposh_admin.php:453
|
305 |
#@ transposh
|
306 |
msgid "Disable backup (Can be run manually by clicking the button below)"
|
307 |
msgstr "Desativar backup (pode ser executado manualmente clicando no botão abaixo)"
|
308 |
|
309 |
+
#: wp/transposh_admin.php:454
|
310 |
#@ transposh
|
311 |
msgid "Service Key:"
|
312 |
msgstr "Service Key:"
|
313 |
|
314 |
+
#: wp/transposh_admin.php:454
|
315 |
#@ transposh
|
316 |
msgid "How to restore?"
|
317 |
msgstr "Como restaurar?"
|
318 |
|
319 |
+
#: wp/transposh_admin.php:548
|
320 |
#@ transposh
|
321 |
msgid "Do Backup Now"
|
322 |
msgstr "Fazer backup agora"
|
323 |
|
324 |
+
#: wp/transposh_widget.php:84
|
325 |
#@ transposh
|
326 |
msgid "Transposh language selection widget"
|
327 |
msgstr "Widget Transposh de seleção de idioma"
|
328 |
|
329 |
+
#: wp/transposh_widget.php:288
|
330 |
#@ transposh
|
331 |
msgid "Set as default language"
|
332 |
msgstr "Definir como idioma padrão"
|
333 |
|
334 |
+
#: wp/transposh_widget.php:318
|
335 |
#@ transposh
|
336 |
msgid "translation plugin for wordpress"
|
337 |
msgstr "plugin de tradução para wordpress"
|
338 |
|
339 |
+
#: wp/transposh_widget.php:321
|
340 |
#@ transposh
|
341 |
msgid "wordpress translation plugin"
|
342 |
msgstr "plugin de tradução para wordpress"
|
343 |
|
344 |
+
#: wp/transposh_widget.php:324
|
345 |
#@ transposh
|
346 |
msgid "translate your blog to 60+ languages"
|
347 |
msgstr "traduz seu blog para 60+ idiomas"
|
348 |
|
349 |
+
#: wp/transposh_widget.php:327
|
350 |
#@ transposh
|
351 |
msgid "website crowdsourcing translation plugin"
|
352 |
msgstr "plugin de tradução crowdsourcing"
|
353 |
|
354 |
+
#: wp/transposh_widget.php:330
|
355 |
#@ transposh
|
356 |
msgid "google translate and bing translate plugin for wordpress"
|
357 |
msgstr "plugins google translate e bing translate para wordpress"
|
358 |
|
359 |
+
#: wp/transposh_widget.php:129
|
360 |
#@ transposh
|
361 |
msgid "Style:"
|
362 |
msgstr "Estilo:"
|
363 |
|
364 |
+
#: wp/transposh_admin.php:506
|
365 |
#@ transposh
|
366 |
msgid "Show progress bar when a client triggers automatic translation"
|
367 |
msgstr "Exibir barra de progresso quando um cliente solicitar uma tradução automática"
|
368 |
|
369 |
+
#: wp/transposh_admin.php:505
|
370 |
#@ transposh
|
371 |
msgid "Show progress bar"
|
372 |
msgstr "Exibir barra de progresso"
|
373 |
|
374 |
+
#: wp/transposh_admin.php:509
|
375 |
#@ transposh
|
376 |
msgid "Widget will allow setting this language as user default"
|
377 |
msgstr "Widget permite definir como idioma padrão do usuário"
|
378 |
|
379 |
+
#: wp/transposh_admin.php:508
|
380 |
#@ transposh
|
381 |
msgid "Allow user to set current language as default"
|
382 |
msgstr "Permitir que o usuário defina o idioma padrão"
|
383 |
|
384 |
+
#: wp/transposh_admin.php:512
|
385 |
#@ transposh
|
386 |
msgid "Transposh logo will not appear on widget"
|
387 |
msgstr "O logotipo Transposh não aparecerá no widget"
|
388 |
|
389 |
+
#: wp/transposh_admin.php:511
|
390 |
#@ transposh
|
391 |
msgid "Remove transposh logo (see <a href=\"http://transposh.org/logoterms\">terms</a>)"
|
392 |
msgstr "Remover o logotipo Transposh"
|
393 |
|
394 |
+
#: wp/transposh_admin.php:514
|
|
|
395 |
#@ transposh
|
396 |
msgid "Edit interface (and progress bar) theme:"
|
397 |
msgstr "Editar a interface (tema e barra de progresso):"
|
398 |
|
399 |
+
#: transposh.php:921
|
400 |
+
#: wp/transposh_admin.php:59
|
401 |
#@ default
|
402 |
+
#@ transposh
|
403 |
msgid "Settings"
|
404 |
msgstr "Configurações"
|
405 |
|
428 |
msgid "Team Transposh"
|
429 |
msgstr "Equipe Transposh"
|
430 |
|
431 |
+
#: wp/transposh_admin.php:436
|
432 |
#@ transposh
|
433 |
msgid "Rewrite URLs to be search engine friendly, e.g. (http://transposh.org/<strong>en</strong>). Requires that permalinks will be enabled."
|
434 |
msgstr "Reescreva as URLs para SEO Friendly, ex.: (http://transposh.org/<strong>en</strong>). Necessita de permalinks ativados."
|
435 |
|
436 |
+
#: wp/transposh_admin.php:439
|
437 |
#@ transposh
|
438 |
msgid "Push transposh scripts to footer of page instead of header, makes pages load faster. Requires that your theme should have proper footer support."
|
439 |
msgstr "Adicione os scripts do Transposh ao rodapé da página em vez do cabeçalho. Necessita de suporte do seu tema."
|
440 |
|
441 |
+
#: wp/transposh_admin.php:442
|
442 |
#@ transposh
|
443 |
msgid "This enables auto detection of language used by the user as defined in the ACCEPT_LANGUAGES they send. This will redirect the first page accessed in the session to the same page with the detected language."
|
444 |
msgstr "Isso ativa a auto-detecção do isioma usado pelo usuário definido no cabeçalho ACCEPT_LANGUAGES. Assim o redirecionará para a primeira página acessada traduzida automaticamente."
|
456 |
msgid "Select language"
|
457 |
msgstr "Selecione o idioma"
|
458 |
|
459 |
+
#: wp/transposh_admin.php:734
|
|
|
|
|
|
|
|
|
|
|
460 |
#, php-format
|
461 |
#@ transposh
|
462 |
msgid "Your current PHP memory limit of %s is quite low, if you experience blank pages please consider increasing it."
|
463 |
msgstr "Sua configuração atual do PHP limita a memória a %s e está muito abaixo do recomendado. Isso pode gerar páginas em branco."
|
464 |
|
465 |
+
#: wp/transposh_admin.php:734
|
466 |
+
#: wp/transposh_admin.php:738
|
467 |
#@ transposh
|
468 |
msgid "Check Transposh FAQs"
|
469 |
msgstr "Leia nosso FAQ"
|
470 |
|
471 |
+
#: wp/transposh_admin.php:738
|
472 |
#@ transposh
|
473 |
msgid "We were not able to find a supported in-memory caching engine, installing one can improve performance."
|
474 |
msgstr "Não localizamos suporte para um sistema de cache em memória. Instalando um a performance melhora."
|
475 |
|
476 |
+
#: wp/transposh_admin.php:424
|
477 |
#@ transposh
|
478 |
msgid "Allow search of translated languages (and the original language)"
|
479 |
msgstr "Permite pesquisar nas páginas traduzidas (inclusive no idioma original)"
|
480 |
|
481 |
+
#: wp/transposh_admin.php:428
|
482 |
#@ transposh
|
483 |
msgid "Enable override for default locale"
|
484 |
msgstr "Ativar sobrescrita para o local padrão"
|
485 |
|
486 |
+
#: wp/transposh_admin.php:429
|
487 |
#@ transposh
|
488 |
msgid "Enable overriding the default locale that is set in WP_LANG on default languages pages (such as untranslated pages and admin pages)"
|
489 |
msgstr "Ativar sobrescrita do local padrão e configurar WP_LANG em páginas com idiomas padrão (como páginas não traduzidas e administrativas)"
|
490 |
|
491 |
+
#: wp/transposh_admin.php:465
|
492 |
#@ transposh
|
493 |
msgid "MSN API key"
|
494 |
msgstr "MSN API Key"
|
495 |
|
496 |
+
#: wp/transposh_admin.php:466
|
497 |
+
#: wp/transposh_admin.php:469
|
|
|
498 |
#@ transposh
|
499 |
msgid "API Key"
|
500 |
msgstr "API Key"
|
501 |
|
502 |
+
#: wp/transposh_admin.php:468
|
503 |
#@ transposh
|
504 |
msgid "Google API key"
|
505 |
msgstr "Google API Key"
|
506 |
|
507 |
+
#: wp/transposh_admin.php:443
|
508 |
#@ transposh
|
509 |
msgid "Allow collecting usage statistics"
|
510 |
msgstr "Permitir coleta de estatísticas de uso"
|
511 |
|
512 |
+
#: wp/transposh_postpublish.php:57
|
513 |
#@ transposh
|
514 |
msgid "Set post language"
|
515 |
msgstr "Define o idioma dos posts"
|
516 |
|
517 |
+
#: wp/transposh_postpublish.php:203
|
|
|
|
|
|
|
|
|
|
|
518 |
#@ default
|
519 |
msgid "Default"
|
520 |
msgstr "Padrão"
|
521 |
|
522 |
+
#: wp/transposh_widget.php:124
|
523 |
#@ transposh
|
524 |
msgid "Title:"
|
525 |
msgstr "Título:"
|
526 |
|
527 |
+
#: wp/transposh_widget.php:256
|
528 |
#@ transposh
|
529 |
msgid "Transposh subwidget was not loaded correctly"
|
530 |
msgstr "O subwidget do Transposh não foi carregado corretamente"
|
531 |
|
532 |
#. TRANSLATORS: no need to translate this string
|
533 |
+
#: wp/transposh_widget.php:273
|
534 |
#@ transposh
|
535 |
msgid "title"
|
536 |
msgstr "título"
|
537 |
|
538 |
+
#: wp/transposh_admin.php:760
|
539 |
#@ transposh
|
540 |
msgid "Language"
|
541 |
msgstr "Idioma"
|
542 |
|
543 |
+
#: wp/transposh_admin.php:444
|
544 |
#@ transposh
|
545 |
msgid "This option enables collection of statistics by transposh that will be used to improve the product."
|
546 |
msgstr "Esta opção ativa a coleta de estatísticas pelo transposh para ajudar a melhorar o produto."
|
547 |
|
548 |
#. TRANSLATORS: this will be the default widget title
|
549 |
+
#: wp/transposh_widget.php:119
|
550 |
#@ transposh
|
551 |
msgid "Translation"
|
552 |
msgstr "Tradução"
|
553 |
|
554 |
+
#: wp/transposh_admin.php:390
|
|
|
|
|
|
|
|
|
|
|
555 |
#@ transposh
|
556 |
msgid "Language supported by one hour translation"
|
557 |
msgstr ""
|
558 |
|
559 |
+
#: wp/transposh_admin.php:477
|
560 |
#@ transposh
|
561 |
msgid "<a href=\"http://transposh.org/redir/oht\">One Hour Translation</a>, is the largest professional translation service online, with thousands of business customers, including 57% of the Fortune 500 companies, and over 15000 translators worldwide."
|
562 |
msgstr "<a href=\"http://transposh.org/redir/oht\">One Hour Translation</a>, é o maior serviço online de tradução profissional, com milhares de clientes empresariais, incluindo 57% das empresas da Fortune 500 e mais de 15000 tradutores em todo o mundo."
|
563 |
|
564 |
+
#: wp/transposh_admin.php:479
|
565 |
#@ transposh
|
566 |
msgid "One Hour Translation provides high-quality, fast professional translation to/from any language, and has specific domain expertise in SW localization, technical, business, and legal translations."
|
567 |
msgstr "A One Hour Translation fornece traduções profissionais rápidas e de elevada qualidade de e para qualquer língua, e possui a competência específica do domínio em localização de SW (Software), traduções técnicas, empresariais e jurídicas."
|
568 |
|
569 |
+
#: wp/transposh_admin.php:483
|
570 |
#@ transposh
|
571 |
msgid "One Hour Translation account ID"
|
572 |
msgstr ""
|
573 |
|
574 |
+
#: wp/transposh_admin.php:484
|
575 |
+
#: wp/transposh_admin.php:488
|
576 |
#@ transposh
|
577 |
msgid "Account ID"
|
578 |
msgstr ""
|
579 |
|
580 |
+
#: wp/transposh_admin.php:487
|
581 |
#@ transposh
|
582 |
msgid "One Hour Translation secret key"
|
583 |
msgstr ""
|
584 |
|
585 |
+
#: wp/transposh_admin.php:499
|
586 |
#, php-format
|
587 |
#@ transposh
|
588 |
+
msgid "%d projects have been submitted and waiting for completion"
|
589 |
+
msgstr ""
|
590 |
+
|
591 |
+
#: wp/transposh_admin.php:756
|
592 |
+
#@ transposh
|
593 |
+
msgid "Unset"
|
594 |
+
msgstr ""
|
595 |
+
|
596 |
+
#: wp/transposh_admin.php:57
|
597 |
+
#@ transposh
|
598 |
+
msgid "Dashboard"
|
599 |
+
msgstr ""
|
600 |
+
|
601 |
+
#: wp/transposh_admin.php:58
|
602 |
+
#@ transposh
|
603 |
+
msgid "Languages"
|
604 |
+
msgstr ""
|
605 |
+
|
606 |
+
#: wp/transposh_admin.php:60
|
607 |
+
#@ transposh
|
608 |
+
msgid "Translation Engines"
|
609 |
msgstr ""
|
610 |
|
611 |
+
#: wp/transposh_admin.php:61
|
612 |
+
#@ transposh
|
613 |
+
msgid "Widgets settings"
|
614 |
+
msgstr ""
|
615 |
+
|
616 |
+
#: wp/transposh_admin.php:62
|
617 |
+
#@ transposh
|
618 |
+
msgid "Advanced"
|
619 |
+
msgstr ""
|
620 |
+
|
621 |
+
#: wp/transposh_admin.php:63
|
622 |
+
#@ transposh
|
623 |
+
msgid "Utilities"
|
624 |
+
msgstr ""
|
625 |
+
|
626 |
+
#: wp/transposh_admin.php:64
|
627 |
+
#@ transposh
|
628 |
+
msgid "About"
|
629 |
+
msgstr ""
|
630 |
+
|
631 |
+
#: wp/transposh_admin.php:65
|
632 |
+
#@ transposh
|
633 |
+
msgid "Support"
|
634 |
+
msgstr ""
|
635 |
+
|
636 |
+
#: wp/transposh_admin.php:186
|
637 |
+
#@ transposh
|
638 |
+
msgid "For further help and assistance, please look at the following resources:"
|
639 |
+
msgstr ""
|
640 |
+
|
641 |
+
#: wp/transposh_admin.php:189
|
642 |
+
#@ transposh
|
643 |
+
msgid "Development website"
|
644 |
+
msgstr ""
|
645 |
+
|
646 |
+
#: wp/transposh_admin.php:278
|
647 |
+
#@ transposh
|
648 |
+
msgid "Transposh Help"
|
649 |
+
msgstr ""
|
650 |
+
|
651 |
+
#: wp/transposh_admin.php:407
|
652 |
+
#@ transposh
|
653 |
+
msgid "Translation related settings"
|
654 |
+
msgstr ""
|
655 |
+
|
656 |
+
#: wp/transposh_admin.php:432
|
657 |
+
#@ transposh
|
658 |
+
msgid "General settings"
|
659 |
+
msgstr ""
|
660 |
+
|
661 |
+
#: wp/transposh_admin.php:450
|
662 |
+
#@ transposh
|
663 |
+
msgid "Backup service settings"
|
664 |
+
msgstr ""
|
665 |
+
|
666 |
+
#: wp/transposh_admin.php:459
|
667 |
+
#@ transposh
|
668 |
+
msgid "Automatic Translation Settings"
|
669 |
+
msgstr ""
|
670 |
+
|
671 |
+
#: wp/transposh_admin.php:477
|
672 |
+
#@ transposh
|
673 |
+
msgid "Professional Translation Settings"
|
674 |
+
msgstr ""
|
675 |
+
|
676 |
+
#: wp/transposh_admin.php:494
|
677 |
#, php-format
|
678 |
#@ transposh
|
679 |
+
msgid "%d phrases currently queued for next job in ~%d minutes"
|
680 |
+
msgstr ""
|
681 |
+
|
682 |
+
#: wp/transposh_admin.php:520
|
683 |
+
#@ transposh
|
684 |
+
msgid "Parser related settings"
|
685 |
+
msgstr ""
|
686 |
+
|
687 |
+
#: wp/transposh_admin.php:521
|
688 |
+
#: wp/transposh_admin.php:530
|
689 |
+
#@ transposh
|
690 |
+
msgid "This is extremely dangerous, will break your current translations, and might cause severe hickups, only proceed if you really know what you are doing."
|
691 |
+
msgstr ""
|
692 |
+
|
693 |
+
#: wp/transposh_admin.php:522
|
694 |
+
#@ transposh
|
695 |
+
msgid "Disable punctuations break"
|
696 |
+
msgstr ""
|
697 |
+
|
698 |
+
#: wp/transposh_admin.php:523
|
699 |
+
#@ transposh
|
700 |
+
msgid "The parser will not break text into phrases when encountering punctuations such as dots"
|
701 |
+
msgstr ""
|
702 |
+
|
703 |
+
#: wp/transposh_admin.php:524
|
704 |
+
#@ transposh
|
705 |
+
msgid "Disable numbers break"
|
706 |
+
msgstr ""
|
707 |
+
|
708 |
+
#: wp/transposh_admin.php:525
|
709 |
+
#@ transposh
|
710 |
+
msgid "The parser will not break text into phrases when encountering numbers"
|
711 |
+
msgstr ""
|
712 |
+
|
713 |
+
#: wp/transposh_admin.php:526
|
714 |
+
#@ transposh
|
715 |
+
msgid "Disable html entities break"
|
716 |
+
msgstr ""
|
717 |
+
|
718 |
+
#: wp/transposh_admin.php:527
|
719 |
+
#@ transposh
|
720 |
+
msgid "The parser will not break text into phrases when encountering html entities"
|
721 |
+
msgstr ""
|
722 |
+
|
723 |
+
#: wp/transposh_admin.php:529
|
724 |
+
#@ transposh
|
725 |
+
msgid "Debug settings"
|
726 |
+
msgstr ""
|
727 |
+
|
728 |
+
#: wp/transposh_admin.php:531
|
729 |
+
#@ transposh
|
730 |
+
msgid "Enable debugging"
|
731 |
+
msgstr ""
|
732 |
+
|
733 |
+
#: wp/transposh_admin.php:532
|
734 |
+
#@ transposh
|
735 |
+
msgid "Enable running of Transposh internal debug functions"
|
736 |
+
msgstr ""
|
737 |
+
|
738 |
+
#: wp/transposh_admin.php:533
|
739 |
+
#@ transposh
|
740 |
+
msgid "Log file name"
|
741 |
+
msgstr ""
|
742 |
+
|
743 |
+
#: wp/transposh_admin.php:534
|
744 |
+
#@ transposh
|
745 |
+
msgid "Level of logging"
|
746 |
+
msgstr ""
|
747 |
+
|
748 |
+
#: wp/transposh_admin.php:535
|
749 |
+
#@ transposh
|
750 |
+
msgid "Critical"
|
751 |
+
msgstr ""
|
752 |
+
|
753 |
+
#: wp/transposh_admin.php:536
|
754 |
+
#@ transposh
|
755 |
+
msgid "Important"
|
756 |
+
msgstr ""
|
757 |
+
|
758 |
+
#: wp/transposh_admin.php:537
|
759 |
+
#@ transposh
|
760 |
+
msgid "Warning"
|
761 |
+
msgstr ""
|
762 |
+
|
763 |
+
#: wp/transposh_admin.php:538
|
764 |
+
#@ transposh
|
765 |
+
msgid "Information"
|
766 |
+
msgstr ""
|
767 |
+
|
768 |
+
#: wp/transposh_admin.php:539
|
769 |
+
#@ transposh
|
770 |
+
msgid "Debug"
|
771 |
+
msgstr ""
|
772 |
+
|
773 |
+
#: wp/transposh_admin.php:541
|
774 |
+
#, php-format
|
775 |
+
#@ transposh
|
776 |
+
msgid "Remote debug IP (Your current IP is %s)"
|
777 |
+
msgstr ""
|
778 |
+
|
779 |
+
#: wp/transposh_admin.php:553
|
780 |
+
#@ transposh
|
781 |
+
msgid "Reset configuration to default (saves keys)"
|
782 |
+
msgstr ""
|
783 |
+
|
784 |
+
#: wp/transposh_admin.php:567
|
785 |
+
#@ transposh
|
786 |
+
msgid "About Transposh"
|
787 |
+
msgstr ""
|
788 |
+
|
789 |
+
#: wp/transposh_admin.php:568
|
790 |
+
#@ transposh
|
791 |
+
msgid "Transposh was started at 2008 and is dedicated to provide tools to ease website translation."
|
792 |
+
msgstr ""
|
793 |
+
|
794 |
+
#: wp/transposh_admin.php:570
|
795 |
+
#@ transposh
|
796 |
+
msgid "Learn more about us in the following online presenses"
|
797 |
+
msgstr ""
|
798 |
+
|
799 |
+
#: wp/transposh_admin.php:573
|
800 |
+
#@ transposh
|
801 |
+
msgid "Our website"
|
802 |
+
msgstr ""
|
803 |
+
|
804 |
+
#: wp/transposh_admin.php:575
|
805 |
+
#@ transposh
|
806 |
+
msgid "Our blog"
|
807 |
+
msgstr ""
|
808 |
+
|
809 |
+
#: wp/transposh_admin.php:577
|
810 |
+
#@ transposh
|
811 |
+
msgid "Our twitter account (feel free to follow!)"
|
812 |
+
msgstr ""
|
813 |
+
|
814 |
+
#: wp/transposh_admin.php:579
|
815 |
+
#@ transposh
|
816 |
+
msgid "Our facebook page (feel free to like!)"
|
817 |
+
msgstr ""
|
818 |
+
|
819 |
+
#: wp/transposh_admin.php:581
|
820 |
+
#@ transposh
|
821 |
+
msgid "Our google plus page (add us to your circles!)"
|
822 |
+
msgstr ""
|
823 |
+
|
824 |
+
#: wp/transposh_admin.php:583
|
825 |
+
#@ transposh
|
826 |
+
msgid "Our youtube channel"
|
827 |
+
msgstr ""
|
828 |
+
|
829 |
+
#: wp/transposh_admin.php:592
|
830 |
+
#@ transposh
|
831 |
+
msgid "Transposh support"
|
832 |
+
msgstr ""
|
833 |
+
|
834 |
+
#: wp/transposh_admin.php:593
|
835 |
+
#@ transposh
|
836 |
+
msgid "Have you encountered any problem with our plugin and need our help?"
|
837 |
+
msgstr ""
|
838 |
+
|
839 |
+
#: wp/transposh_admin.php:594
|
840 |
+
#@ transposh
|
841 |
+
msgid "Do you need to ask us any question?"
|
842 |
+
msgstr ""
|
843 |
+
|
844 |
+
#: wp/transposh_admin.php:595
|
845 |
+
#@ transposh
|
846 |
+
msgid "You have two options:"
|
847 |
+
msgstr ""
|
848 |
+
|
849 |
+
#: wp/transposh_admin.php:597
|
850 |
+
#@ transposh
|
851 |
+
msgid "Our free support"
|
852 |
+
msgstr ""
|
853 |
+
|
854 |
+
#: wp/transposh_admin.php:599
|
855 |
+
#@ transposh
|
856 |
+
msgid "There are many channels to reach us and we do try to help as fast as we can"
|
857 |
+
msgstr ""
|
858 |
+
|
859 |
+
#: wp/transposh_admin.php:600
|
860 |
+
#@ transposh
|
861 |
+
msgid "You can contact us through our contact form on our web site"
|
862 |
+
msgstr ""
|
863 |
+
|
864 |
+
#: wp/transposh_admin.php:601
|
865 |
+
#@ transposh
|
866 |
+
msgid "Create a ticket for us if you have found any bugs"
|
867 |
+
msgstr ""
|
868 |
+
|
869 |
+
#: wp/transposh_admin.php:602
|
870 |
+
#@ transposh
|
871 |
+
msgid "Reach us via different forums:"
|
872 |
+
msgstr ""
|
873 |
+
|
874 |
+
#: wp/transposh_admin.php:605
|
875 |
+
#@ transposh
|
876 |
+
msgid "Our support forum on wordpress.org"
|
877 |
+
msgstr ""
|
878 |
+
|
879 |
+
#: wp/transposh_admin.php:607
|
880 |
+
#@ transposh
|
881 |
+
msgid "Our internal development site, with wiki and tickets"
|
882 |
+
msgstr ""
|
883 |
+
|
884 |
+
#: wp/transposh_admin.php:609
|
885 |
+
#@ transposh
|
886 |
+
msgid "Our facebook page"
|
887 |
+
msgstr ""
|
888 |
+
|
889 |
+
#: wp/transposh_admin.php:611
|
890 |
+
#@ transposh
|
891 |
+
msgid "Our google plus page"
|
892 |
+
msgstr ""
|
893 |
+
|
894 |
+
#: wp/transposh_admin.php:613
|
895 |
+
#@ transposh
|
896 |
+
msgid "Contact us directly via:"
|
897 |
+
msgstr ""
|
898 |
+
|
899 |
+
#: wp/transposh_admin.php:615
|
900 |
+
#@ transposh
|
901 |
+
msgid "Our contact form"
|
902 |
+
msgstr ""
|
903 |
+
|
904 |
+
#: wp/transposh_admin.php:621
|
905 |
+
#@ transposh
|
906 |
+
msgid "Professional support option"
|
907 |
+
msgstr ""
|
908 |
+
|
909 |
+
#: wp/transposh_admin.php:623
|
910 |
+
#@ transposh
|
911 |
+
msgid "For the low low price of $99, we will take express action on your request. By express we mean that your issue will become our top priority, and will resolve ASAP"
|
912 |
+
msgstr ""
|
913 |
+
|
914 |
+
#: wp/transposh_admin.php:624
|
915 |
+
#@ transposh
|
916 |
+
msgid "This includes helping with various bugs, basic theme/plugins conflicts, or just telling you where the ON button is"
|
917 |
+
msgstr ""
|
918 |
+
|
919 |
+
#: wp/transposh_admin.php:625
|
920 |
+
#@ transposh
|
921 |
+
msgid "Full money back guarentee! If your problem remains unresolved or you are simply unhappy we will refund your paypal account as soon as you ask (as long as paypal allows it, don't come to us three years later!)"
|
922 |
+
msgstr ""
|
923 |
+
|
924 |
+
#: wp/transposh_admin.php:626
|
925 |
+
#@ transposh
|
926 |
+
msgid "So hit the following button. Thanks!"
|
927 |
msgstr ""
|
928 |
|
929 |
#: wp/transposh_admin.php:636
|
930 |
#@ transposh
|
931 |
+
msgid "Donations"
|
932 |
+
msgstr ""
|
933 |
+
|
934 |
+
#: wp/transposh_admin.php:638
|
935 |
+
#@ transposh
|
936 |
+
msgid "If you just want to show that you care, this is the button for you. But please think twice before doing this. It will make us happier if you just do something nice for someone in your area, contribute to a local charity, and let us know that you did that :)"
|
937 |
msgstr ""
|
938 |
|
@@ -1,15 +1,15 @@
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
-
"Project-Id-Version:
|
4 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/transposh-translation-filter-for-wordpress\n"
|
5 |
"POT-Creation-Date: 2010-10-13 10:21+0000\n"
|
6 |
-
"PO-Revision-Date:
|
7 |
"Last-Translator: Janis <lv111@inbox.lv>\n"
|
8 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=utf-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"Plural-Forms: nplurals=
|
13 |
"X-Poedit-Language: \n"
|
14 |
"X-Poedit-Country: \n"
|
15 |
"X-Poedit-SourceCharset: utf-8\n"
|
@@ -19,8 +19,10 @@ msgstr ""
|
|
19 |
"X-Poedit-SearchPath-0: .\n"
|
20 |
"X-Textdomain-Support: yes"
|
21 |
|
22 |
-
#: transposh.php:
|
|
|
23 |
#@ default
|
|
|
24 |
msgid "Settings"
|
25 |
msgstr "Настройки"
|
26 |
|
@@ -30,412 +32,333 @@ msgstr "Настройки"
|
|
30 |
msgid "%s translated a phrase to %s with transposh:"
|
31 |
msgstr "%s перевёл фразу на %s используя transposh:"
|
32 |
|
33 |
-
#: wp/transposh_admin.php:
|
34 |
#@ transposh
|
35 |
msgid "Transposh makes your blog translatable"
|
36 |
msgstr "Transposh делает ваш блог переводимым"
|
37 |
|
38 |
-
#: wp/transposh_admin.php:
|
39 |
#@ transposh
|
40 |
msgid "Plugin homepage"
|
41 |
msgstr "Домашняя страница плагина"
|
42 |
|
43 |
-
#: wp/transposh_admin.php:
|
44 |
#@ transposh
|
45 |
msgid "Frequently asked questions"
|
46 |
msgstr "Часто задаваемые вопросы"
|
47 |
|
48 |
-
#: wp/
|
49 |
-
|
50 |
-
|
51 |
-
msgstr "Контрольный центр Transposh"
|
52 |
-
|
53 |
-
#: wp/transposh_admin.php:175
|
54 |
-
#: wp/transposh_admin.php:243
|
55 |
-
#: wp/transposh_postpublish.php:50
|
56 |
-
#: wp/transposh_postpublish.php:51
|
57 |
-
#: wp/transposh_widget.php:84
|
58 |
-
#: wp/transposh_widget.php:311
|
59 |
#@ transposh
|
60 |
#@ default
|
61 |
msgid "Transposh"
|
62 |
msgstr "Transposh"
|
63 |
|
64 |
-
#: wp/transposh_admin.php:
|
65 |
-
#@ transposh
|
66 |
-
msgid "About this plugin"
|
67 |
-
msgstr "О плагине"
|
68 |
-
|
69 |
-
#: wp/transposh_admin.php:213
|
70 |
#@ transposh
|
71 |
msgid "Plugin news"
|
72 |
msgstr "Новости плагина"
|
73 |
|
74 |
-
#: wp/transposh_admin.php:
|
75 |
#@ transposh
|
76 |
msgid "Plugin stats"
|
77 |
msgstr "Статистика плагина"
|
78 |
|
79 |
-
#: wp/transposh_admin.php:
|
80 |
-
#@ transposh
|
81 |
-
msgid "Translate all"
|
82 |
-
msgstr "Перевести всё"
|
83 |
-
|
84 |
-
#: wp/transposh_admin.php:216
|
85 |
-
#@ transposh
|
86 |
-
msgid "Supported languages"
|
87 |
-
msgstr "Поддерживаемые языки"
|
88 |
-
|
89 |
-
#: wp/transposh_admin.php:217
|
90 |
-
#@ transposh
|
91 |
-
msgid "Translation settings"
|
92 |
-
msgstr "Настройки перевода"
|
93 |
-
|
94 |
-
#: wp/transposh_admin.php:218
|
95 |
-
#@ transposh
|
96 |
-
msgid "Automatic translation settings"
|
97 |
-
msgstr "Настройки автоматического перевода"
|
98 |
-
|
99 |
-
#: wp/transposh_admin.php:221
|
100 |
-
#@ transposh
|
101 |
-
msgid "Generic settings"
|
102 |
-
msgstr "Общие настройки"
|
103 |
-
|
104 |
-
#: wp/transposh_admin.php:222
|
105 |
-
#@ transposh
|
106 |
-
msgid "Database maintenance"
|
107 |
-
msgstr "Управление базой данных"
|
108 |
-
|
109 |
-
#: wp/transposh_admin.php:237
|
110 |
#@ transposh
|
111 |
-
msgid "Transposh community features"
|
112 |
-
msgstr "Возможности сообщества Transposh"
|
113 |
-
|
114 |
-
#: wp/transposh_admin.php:273
|
115 |
-
#@ default
|
116 |
msgid "Save Changes"
|
117 |
msgstr "Сохранить Изменения"
|
118 |
|
119 |
-
#: wp/transposh_admin.php:
|
120 |
#@ transposh
|
121 |
msgid "Problems?"
|
122 |
msgstr "Проблемы?"
|
123 |
|
124 |
-
#: wp/transposh_admin.php:
|
125 |
-
#@ transposh
|
126 |
-
msgid "Plugin Homepage"
|
127 |
-
msgstr "Домашняя страница плагина"
|
128 |
-
|
129 |
-
#: wp/transposh_admin.php:314
|
130 |
#@ transposh
|
131 |
msgid "Suggest a Feature"
|
132 |
msgstr "Предложить функцию"
|
133 |
|
134 |
-
#: wp/transposh_admin.php:
|
135 |
#@ transposh
|
136 |
msgid "Report a Bug"
|
137 |
msgstr "Сообщить об ошибке"
|
138 |
|
139 |
-
#: wp/transposh_admin.php:
|
140 |
#@ transposh
|
141 |
msgid "Translate by clicking the button below"
|
142 |
msgstr "Переведите, нажав кнопку ниже"
|
143 |
|
144 |
-
#: wp/transposh_admin.php:
|
145 |
#@ transposh
|
146 |
msgid "Translate All Now"
|
147 |
msgstr "Перевести всё сейчас"
|
148 |
|
149 |
-
#: wp/transposh_admin.php:
|
150 |
#@ transposh
|
151 |
msgid "Default Language (drag another language here to make it default)"
|
152 |
msgstr "Основной язык (перетащите сюда другой язык, чтобы сделать его основным)"
|
153 |
|
154 |
-
#: wp/transposh_admin.php:
|
155 |
#@ transposh
|
156 |
msgid "Available Languages (Click to toggle language state - Drag to sort in the widget)"
|
157 |
msgstr "Доступные языки (Нажмите для переключения состояния языка - Перетащите, чтобы сортировать в виджете)"
|
158 |
|
159 |
-
#: wp/transposh_admin.php:
|
160 |
#@ transposh
|
161 |
msgid "Language supported by google translate"
|
162 |
msgstr "Язык, поддерживаемый переводчиком google"
|
163 |
|
164 |
-
#: wp/transposh_admin.php:
|
165 |
#@ transposh
|
166 |
msgid "Language supported by bing translate"
|
167 |
msgstr "Язык, поддерживаемый переводчиком bing"
|
168 |
|
169 |
-
#: wp/transposh_admin.php:
|
170 |
#@ transposh
|
171 |
msgid "Language is written from right to left"
|
172 |
msgstr "Язык написан справа налево"
|
173 |
|
174 |
-
#: wp/transposh_admin.php:
|
175 |
#@ transposh
|
176 |
msgid "Display options:"
|
177 |
msgstr "Опции отображения:"
|
178 |
|
179 |
-
#: wp/transposh_admin.php:
|
180 |
#@ transposh
|
181 |
msgid "Toggle names of languages between English and Original"
|
182 |
msgstr "Переключить названия языков с английского на оригинал"
|
183 |
|
184 |
-
#: wp/transposh_admin.php:
|
185 |
#@ transposh
|
186 |
msgid "Make all languages active"
|
187 |
msgstr "Сделать все языки активными"
|
188 |
|
189 |
-
#: wp/transposh_admin.php:
|
190 |
#@ transposh
|
191 |
msgid "Sort by language name"
|
192 |
msgstr "Сортировать по названию языка"
|
193 |
|
194 |
-
#: wp/transposh_admin.php:
|
195 |
#@ transposh
|
196 |
msgid "Sort by lSO code"
|
197 |
msgstr "Сортировать по коду lSO"
|
198 |
|
199 |
-
#: wp/transposh_admin.php:
|
200 |
-
#@ transposh
|
201 |
-
msgid "Legend:"
|
202 |
-
msgstr "Обозначения:"
|
203 |
-
|
204 |
-
#: wp/transposh_admin.php:425
|
205 |
-
#@ transposh
|
206 |
-
msgid "Green - active"
|
207 |
-
msgstr "Зеленый - активный"
|
208 |
-
|
209 |
-
#: wp/transposh_admin.php:425
|
210 |
-
#@ transposh
|
211 |
-
msgid "Yellow - translateable (only translators will see this language)"
|
212 |
-
msgstr "Желтый - переводимый (только переводчики увидят этот язык)"
|
213 |
-
|
214 |
-
#: wp/transposh_admin.php:425
|
215 |
-
#@ transposh
|
216 |
-
msgid "blank - inactive"
|
217 |
-
msgstr "пустой - неактивный"
|
218 |
-
|
219 |
-
#: wp/transposh_admin.php:447
|
220 |
#@ transposh
|
221 |
msgid "Who can translate ?"
|
222 |
msgstr "Кто может переводить?"
|
223 |
|
224 |
-
#: wp/transposh_admin.php:
|
225 |
#@ transposh
|
226 |
msgid "Anonymous"
|
227 |
msgstr "Аноним"
|
228 |
|
229 |
-
#: wp/transposh_admin.php:
|
230 |
#@ transposh
|
231 |
msgid "Enable default language translation"
|
232 |
msgstr "Включить возможность перевода основного языка"
|
233 |
|
234 |
-
#: wp/transposh_admin.php:
|
235 |
#@ transposh
|
236 |
msgid "Allow translation of default language - useful for sites with more than one major language"
|
237 |
msgstr "Разрешить возможность перевода основного языка - полезно для сайтов с двумя и более основными языками"
|
238 |
|
239 |
-
#: wp/transposh_admin.php:
|
240 |
#@ transposh
|
241 |
msgid "Enable search in translated languages"
|
242 |
msgstr "Включить поиск на переведенных языках"
|
243 |
|
244 |
-
#: wp/transposh_admin.php:
|
245 |
#@ transposh
|
246 |
msgid "Enable url translation"
|
247 |
msgstr "Включить перевод url"
|
248 |
|
249 |
-
#: wp/transposh_admin.php:
|
250 |
-
#: wp/transposh_admin.php:481
|
251 |
#@ transposh
|
252 |
msgid "experimental"
|
253 |
msgstr "экспериментальный"
|
254 |
|
255 |
-
#: wp/transposh_admin.php:
|
256 |
#@ transposh
|
257 |
msgid "Allow translation of permalinks and urls"
|
258 |
msgstr "Разрешить перевод пермалинков и URL-адресов"
|
259 |
|
260 |
-
#: wp/transposh_admin.php:
|
261 |
#@ transposh
|
262 |
msgid "Enable gettext integration"
|
263 |
msgstr "Включить интеграцию gettext"
|
264 |
|
265 |
-
#: wp/transposh_admin.php:
|
266 |
#@ transposh
|
267 |
msgid "Enable integration of Transposh with existing gettext interface (.po/.mo files)"
|
268 |
msgstr "Включить интеграцию Transposh и существующего интерфейса gettext (файлы .po / .mo)"
|
269 |
|
270 |
-
#: wp/transposh_admin.php:
|
271 |
#@ transposh
|
272 |
msgid "Enable automatic translation"
|
273 |
msgstr "Включить автоматический перевод"
|
274 |
|
275 |
-
#: wp/transposh_admin.php:
|
276 |
#@ transposh
|
277 |
msgid "Allow automatic translation of pages"
|
278 |
msgstr "Разрешить автоматический перевод страниц"
|
279 |
|
280 |
-
#: wp/transposh_admin.php:
|
281 |
#@ transposh
|
282 |
msgid "Enable automatic translation after posting"
|
283 |
msgstr "Включение автоматического перевода после публикации"
|
284 |
|
285 |
-
#: wp/transposh_admin.php:
|
286 |
#@ transposh
|
287 |
msgid "Do automatic translation immediately after a post has been published"
|
288 |
msgstr "Производить автоматический перевод при публикации"
|
289 |
|
290 |
-
#: wp/transposh_admin.php:
|
291 |
#@ transposh
|
292 |
msgid "Select preferred auto translation engine"
|
293 |
msgstr "Выбрать предпочтительный двигатель авто перевода"
|
294 |
|
295 |
-
#: wp/transposh_admin.php:
|
296 |
#@ transposh
|
297 |
msgid "Translation engine:"
|
298 |
msgstr "Двигатель перевода:"
|
299 |
|
300 |
-
#: wp/transposh_admin.php:
|
301 |
#@ transposh
|
302 |
msgid "Google"
|
303 |
msgstr "Google"
|
304 |
|
305 |
-
#: wp/transposh_admin.php:
|
306 |
#@ transposh
|
307 |
msgid "Bing"
|
308 |
msgstr "Bing"
|
309 |
|
310 |
-
#: wp/transposh_admin.php:
|
311 |
#@ transposh
|
312 |
msgid "Rewrite URLs"
|
313 |
msgstr "Переписать URL-адреса"
|
314 |
|
315 |
-
#: wp/transposh_admin.php:
|
316 |
#@ transposh
|
317 |
msgid "Add scripts to footer"
|
318 |
msgstr "Добавить коды в дно сайта"
|
319 |
|
320 |
-
#: wp/transposh_admin.php:
|
321 |
#@ transposh
|
322 |
msgid "Auto detect language for users"
|
323 |
msgstr "Автоматическое определение языка для пользователей"
|
324 |
|
325 |
-
#: wp/transposh_admin.php:
|
326 |
#@ transposh
|
327 |
msgid "Delete all automated translations"
|
328 |
msgstr "Удалить все автоматизированные переводы"
|
329 |
|
330 |
-
#: wp/transposh_admin.php:
|
331 |
#@ transposh
|
332 |
msgid "Delete automated translations older than 14 days"
|
333 |
msgstr "Удалить автоматизированные переводы старше 14 дней"
|
334 |
|
335 |
-
#: wp/transposh_admin.php:
|
336 |
-
#@ transposh
|
337 |
-
msgid "Backup service for human translation"
|
338 |
-
msgstr "Сервис резервных копий для человеческого перевода"
|
339 |
-
|
340 |
-
#: wp/transposh_admin.php:615
|
341 |
#@ transposh
|
342 |
msgid "Enable daily backup"
|
343 |
msgstr "Включить ежедневное резервное копирование"
|
344 |
|
345 |
-
#: wp/transposh_admin.php:
|
346 |
#@ transposh
|
347 |
msgid "Enable live backup"
|
348 |
msgstr "Включить живое резервное копирование"
|
349 |
|
350 |
-
#: wp/transposh_admin.php:
|
351 |
#@ transposh
|
352 |
msgid "Disable backup (Can be run manually by clicking the button below)"
|
353 |
msgstr "Отключение резервного копирования (может быть запущен вручную, нажав кнопку ниже)"
|
354 |
|
355 |
-
#: wp/transposh_admin.php:
|
356 |
#@ transposh
|
357 |
msgid "Service Key:"
|
358 |
msgstr "Сервис-ключ:"
|
359 |
|
360 |
-
#: wp/transposh_admin.php:
|
361 |
#@ transposh
|
362 |
msgid "How to restore?"
|
363 |
msgstr "Как восстановить?"
|
364 |
|
365 |
-
#: wp/transposh_admin.php:
|
366 |
#@ transposh
|
367 |
msgid "Do Backup Now"
|
368 |
msgstr "Сделать резервную копию сейчас"
|
369 |
|
370 |
-
#: wp/transposh_db.php:
|
371 |
#@ transposh
|
372 |
msgid "Database stats"
|
373 |
msgstr "Статистика базы данных"
|
374 |
|
375 |
-
#: wp/transposh_db.php:
|
376 |
#, php-format
|
377 |
#@ transposh
|
378 |
msgid "Total of <strong style=\"color:red\">%s</strong> translated phrases."
|
379 |
msgstr "Сумма переведенных фраз <strong style=\"color:red\">%s</strong>."
|
380 |
|
381 |
-
#: wp/transposh_db.php:
|
382 |
#, php-format
|
383 |
#@ transposh
|
384 |
msgid "<strong>%1s</strong> has <strong style=\"color:red\">%2s</strong> human translated phrases."
|
385 |
msgstr "<strong>%1s</strong> насчитывает <strong style=\"color:red\">%2s</strong> фраз человеческого перевода."
|
386 |
|
387 |
-
#: wp/transposh_db.php:
|
388 |
#@ transposh
|
389 |
msgid "Recent activity"
|
390 |
msgstr "Последние действия"
|
391 |
|
392 |
-
#: wp/transposh_db.php:
|
393 |
#, php-format
|
394 |
#@ transposh
|
395 |
msgid "On <strong>%1s</strong><br/>user <strong>%2s</strong> translated<br/>\"<strong>%3s</strong>\"<br/>to <strong style=\"color:red\">%4s</strong><br/>\"<strong>%5s</strong>\""
|
396 |
msgstr "<strong>%1s</strong><br/>пользователь <strong>%2s</strong> перевел<br/>\"<strong>%3s</strong>\"<br/>на <strong style=\"color:red\">%4s</strong><br/>\"<strong>%5s</strong>\""
|
397 |
|
398 |
-
#: wp/transposh_widget.php:
|
399 |
#@ transposh
|
400 |
msgid "Transposh language selection widget"
|
401 |
msgstr "виджет выбора языка Transposh"
|
402 |
|
403 |
-
#: wp/transposh_widget.php:
|
404 |
#@ transposh
|
405 |
msgid "Set as default language"
|
406 |
msgstr "Сделать основным языком"
|
407 |
|
408 |
-
#: wp/transposh_widget.php:
|
409 |
#@ transposh
|
410 |
msgid "Style:"
|
411 |
msgstr "Стиль:"
|
412 |
|
413 |
-
#: wp/transposh_admin.php:
|
414 |
#@ transposh
|
415 |
msgid "Show progress bar when a client triggers automatic translation"
|
416 |
msgstr "Показать индикатор продвижения, когда пользователь вызывает автоматический перевод"
|
417 |
|
418 |
-
#: wp/transposh_admin.php:
|
419 |
#@ transposh
|
420 |
msgid "Show progress bar"
|
421 |
msgstr "Показать индикатор продвижения"
|
422 |
|
423 |
-
#: wp/transposh_admin.php:
|
424 |
#@ transposh
|
425 |
msgid "Widget will allow setting this language as user default"
|
426 |
msgstr "Виджет позволит установить пользователю язык по умолчанию"
|
427 |
|
428 |
-
#: wp/transposh_admin.php:
|
429 |
#@ transposh
|
430 |
msgid "Allow user to set current language as default"
|
431 |
msgstr "Разрешить пользователю установить текущий язык основным"
|
432 |
|
433 |
-
#: wp/transposh_admin.php:
|
434 |
#@ transposh
|
435 |
msgid "Transposh logo will not appear on widget"
|
436 |
msgstr "логотип Transposh не будет отображаться в виджете"
|
437 |
|
438 |
-
#: wp/transposh_admin.php:
|
439 |
#@ transposh
|
440 |
msgid "Remove transposh logo (see <a href=\"http://transposh.org/logoterms\">terms</a>)"
|
441 |
msgstr "Убрать логотип Transposh (смотрите <a href=\"http://transposh.org/logoterms\">условия</a>)"
|
@@ -472,58 +395,57 @@ msgstr ""
|
|
472 |
msgid "%VERSION%"
|
473 |
msgstr ""
|
474 |
|
475 |
-
#: wp/transposh_admin.php:
|
476 |
#@ transposh
|
477 |
msgid "Language supported by apertium translate"
|
478 |
msgstr ""
|
479 |
|
480 |
-
#: wp/transposh_admin.php:
|
481 |
#@ transposh
|
482 |
msgid "Rewrite URLs to be search engine friendly, e.g. (http://transposh.org/<strong>en</strong>). Requires that permalinks will be enabled."
|
483 |
msgstr ""
|
484 |
|
485 |
-
#: wp/transposh_admin.php:
|
486 |
#@ transposh
|
487 |
msgid "Push transposh scripts to footer of page instead of header, makes pages load faster. Requires that your theme should have proper footer support."
|
488 |
msgstr ""
|
489 |
|
490 |
-
#: wp/transposh_admin.php:
|
491 |
#@ transposh
|
492 |
msgid "This enables auto detection of language used by the user as defined in the ACCEPT_LANGUAGES they send. This will redirect the first page accessed in the session to the same page with the detected language."
|
493 |
msgstr ""
|
494 |
|
495 |
-
#: wp/transposh_admin.php:
|
496 |
#@ transposh
|
497 |
msgid "Attempt to fix errors caused by previous versions - please backup first"
|
498 |
msgstr ""
|
499 |
|
500 |
-
#: wp/transposh_widget.php:
|
501 |
#@ transposh
|
502 |
msgid "translation plugin for wordpress"
|
503 |
msgstr ""
|
504 |
|
505 |
-
#: wp/transposh_widget.php:
|
506 |
#@ transposh
|
507 |
msgid "wordpress translation plugin"
|
508 |
msgstr ""
|
509 |
|
510 |
-
#: wp/transposh_widget.php:
|
511 |
#@ transposh
|
512 |
msgid "translate your blog to 60+ languages"
|
513 |
msgstr ""
|
514 |
|
515 |
-
#: wp/transposh_widget.php:
|
516 |
#@ transposh
|
517 |
msgid "website crowdsourcing translation plugin"
|
518 |
msgstr ""
|
519 |
|
520 |
-
#: wp/transposh_widget.php:
|
521 |
#@ transposh
|
522 |
msgid "google translate and bing translate plugin for wordpress"
|
523 |
msgstr ""
|
524 |
|
525 |
-
#: wp/transposh_admin.php:
|
526 |
-
#: wp/transposh_admin.php:563
|
527 |
#@ transposh
|
528 |
msgid "Edit interface (and progress bar) theme:"
|
529 |
msgstr ""
|
@@ -534,161 +456,483 @@ msgstr ""
|
|
534 |
msgid "Select language"
|
535 |
msgstr ""
|
536 |
|
537 |
-
#: wp/transposh_admin.php:
|
538 |
-
#@ transposh
|
539 |
-
msgid "Frontend settings"
|
540 |
-
msgstr ""
|
541 |
-
|
542 |
-
#: wp/transposh_admin.php:248
|
543 |
#, php-format
|
544 |
#@ transposh
|
545 |
msgid "Your current PHP memory limit of %s is quite low, if you experience blank pages please consider increasing it."
|
546 |
msgstr ""
|
547 |
|
548 |
-
#: wp/transposh_admin.php:
|
549 |
-
#: wp/transposh_admin.php:
|
550 |
#@ transposh
|
551 |
msgid "Check Transposh FAQs"
|
552 |
msgstr ""
|
553 |
|
554 |
-
#: wp/transposh_admin.php:
|
555 |
#@ transposh
|
556 |
msgid "We were not able to find a supported in-memory caching engine, installing one can improve performance."
|
557 |
msgstr ""
|
558 |
|
559 |
-
#: wp/transposh_admin.php:
|
560 |
#@ transposh
|
561 |
msgid "Allow search of translated languages (and the original language)"
|
562 |
msgstr ""
|
563 |
|
564 |
-
#: wp/transposh_admin.php:
|
565 |
#@ transposh
|
566 |
msgid "Enable override for default locale"
|
567 |
msgstr ""
|
568 |
|
569 |
-
#: wp/transposh_admin.php:
|
570 |
#@ transposh
|
571 |
msgid "Enable overriding the default locale that is set in WP_LANG on default languages pages (such as untranslated pages and admin pages)"
|
572 |
msgstr ""
|
573 |
|
574 |
-
#: wp/transposh_admin.php:
|
575 |
#@ transposh
|
576 |
msgid "MSN API key"
|
577 |
msgstr ""
|
578 |
|
579 |
-
#: wp/transposh_admin.php:
|
580 |
-
#: wp/transposh_admin.php:
|
581 |
-
#: wp/transposh_admin.php:540
|
582 |
#@ transposh
|
583 |
msgid "API Key"
|
584 |
msgstr ""
|
585 |
|
586 |
-
#: wp/transposh_admin.php:
|
587 |
#@ transposh
|
588 |
msgid "Google API key"
|
589 |
msgstr ""
|
590 |
|
591 |
-
#: wp/transposh_admin.php:
|
592 |
#@ transposh
|
593 |
msgid "Allow collecting usage statistics"
|
594 |
msgstr ""
|
595 |
|
596 |
-
#: wp/transposh_postpublish.php:
|
597 |
#@ transposh
|
598 |
msgid "Set post language"
|
599 |
msgstr ""
|
600 |
|
601 |
-
#: wp/transposh_postpublish.php:
|
602 |
-
#@ transposh
|
603 |
-
msgid "Set page language"
|
604 |
-
msgstr ""
|
605 |
-
|
606 |
-
#: wp/transposh_postpublish.php:198
|
607 |
#@ default
|
608 |
msgid "Default"
|
609 |
msgstr ""
|
610 |
|
611 |
-
#: wp/transposh_widget.php:
|
612 |
#@ transposh
|
613 |
msgid "Title:"
|
614 |
msgstr ""
|
615 |
|
616 |
-
#: wp/transposh_widget.php:
|
617 |
#@ transposh
|
618 |
msgid "Transposh subwidget was not loaded correctly"
|
619 |
msgstr ""
|
620 |
|
621 |
#. TRANSLATORS: no need to translate this string
|
622 |
-
#: wp/transposh_widget.php:
|
623 |
#@ transposh
|
624 |
msgid "title"
|
625 |
msgstr ""
|
626 |
|
627 |
-
#: wp/transposh_admin.php:
|
628 |
#@ transposh
|
629 |
msgid "Language"
|
630 |
msgstr ""
|
631 |
|
632 |
-
#: wp/transposh_admin.php:
|
633 |
#@ transposh
|
634 |
msgid "This option enables collection of statistics by transposh that will be used to improve the product."
|
635 |
msgstr ""
|
636 |
|
637 |
#. TRANSLATORS: this will be the default widget title
|
638 |
-
#: wp/transposh_widget.php:
|
639 |
#@ transposh
|
640 |
msgid "Translation"
|
641 |
msgstr ""
|
642 |
|
643 |
-
#: wp/transposh_admin.php:
|
644 |
-
#@ transposh
|
645 |
-
msgid "Professional translation settings"
|
646 |
-
msgstr ""
|
647 |
-
|
648 |
-
#: wp/transposh_admin.php:413
|
649 |
#@ transposh
|
650 |
msgid "Language supported by one hour translation"
|
651 |
msgstr ""
|
652 |
|
653 |
-
#: wp/transposh_admin.php:
|
654 |
#@ transposh
|
655 |
msgid "<a href=\"http://transposh.org/redir/oht\">One Hour Translation</a>, is the largest professional translation service online, with thousands of business customers, including 57% of the Fortune 500 companies, and over 15000 translators worldwide."
|
656 |
msgstr "<a href=\"http://transposh.org/redir/oht\">One Hour Translation</a>, является ведущей компанией в мире, предоставляющей услуги профессионального перевода онлайн. Ее услугами пользуются тысячи корпоративных заказчиков, включая 57% из первых пятисот крупнейших компаний в рейтинге журнала Fortune. В компании работают более 15 тысяч переводчиков из разных стран мира."
|
657 |
|
658 |
-
#: wp/transposh_admin.php:
|
659 |
#@ transposh
|
660 |
msgid "One Hour Translation provides high-quality, fast professional translation to/from any language, and has specific domain expertise in SW localization, technical, business, and legal translations."
|
661 |
msgstr "One Hour Translation оказывает услуги профессионального перевода с/на любой язык в кратчайшие сроки, предоставляет услуги специализированного перевода при локализации программного обеспечения, осуществляет перевод технических, деловых и юридических документов."
|
662 |
|
663 |
-
#: wp/transposh_admin.php:
|
664 |
#@ transposh
|
665 |
msgid "One Hour Translation account ID"
|
666 |
msgstr ""
|
667 |
|
668 |
-
#: wp/transposh_admin.php:
|
|
|
669 |
#@ transposh
|
670 |
msgid "Account ID"
|
671 |
msgstr ""
|
672 |
|
673 |
-
#: wp/transposh_admin.php:
|
674 |
#@ transposh
|
675 |
msgid "One Hour Translation secret key"
|
676 |
msgstr ""
|
677 |
|
678 |
-
#: wp/transposh_admin.php:
|
679 |
#, php-format
|
680 |
#@ transposh
|
681 |
-
msgid "%d
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
682 |
msgstr ""
|
683 |
|
684 |
-
#: wp/transposh_admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
685 |
#, php-format
|
686 |
#@ transposh
|
687 |
-
msgid "%d
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
688 |
msgstr ""
|
689 |
|
690 |
#: wp/transposh_admin.php:636
|
691 |
#@ transposh
|
692 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
693 |
msgstr ""
|
694 |
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
+
"Project-Id-Version: Transposh Translation Filter v%VERSION%\n"
|
4 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/transposh-translation-filter-for-wordpress\n"
|
5 |
"POT-Creation-Date: 2010-10-13 10:21+0000\n"
|
6 |
+
"PO-Revision-Date: 2012-12-12 19:51:11+0000\n"
|
7 |
"Last-Translator: Janis <lv111@inbox.lv>\n"
|
8 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=utf-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"Plural-Forms: nplurals=3; plural=n%100/10==1 ? 2 : n%10==1 ? 0 : (n+9)%10>3 ? 2 : 1;\n"
|
13 |
"X-Poedit-Language: \n"
|
14 |
"X-Poedit-Country: \n"
|
15 |
"X-Poedit-SourceCharset: utf-8\n"
|
19 |
"X-Poedit-SearchPath-0: .\n"
|
20 |
"X-Textdomain-Support: yes"
|
21 |
|
22 |
+
#: transposh.php:921
|
23 |
+
#: wp/transposh_admin.php:59
|
24 |
#@ default
|
25 |
+
#@ transposh
|
26 |
msgid "Settings"
|
27 |
msgstr "Настройки"
|
28 |
|
32 |
msgid "%s translated a phrase to %s with transposh:"
|
33 |
msgstr "%s перевёл фразу на %s используя transposh:"
|
34 |
|
35 |
+
#: wp/transposh_admin.php:185
|
36 |
#@ transposh
|
37 |
msgid "Transposh makes your blog translatable"
|
38 |
msgstr "Transposh делает ваш блог переводимым"
|
39 |
|
40 |
+
#: wp/transposh_admin.php:187
|
41 |
#@ transposh
|
42 |
msgid "Plugin homepage"
|
43 |
msgstr "Домашняя страница плагина"
|
44 |
|
45 |
+
#: wp/transposh_admin.php:188
|
46 |
#@ transposh
|
47 |
msgid "Frequently asked questions"
|
48 |
msgstr "Часто задаваемые вопросы"
|
49 |
|
50 |
+
#: wp/transposh_postpublish.php:55
|
51 |
+
#: wp/transposh_widget.php:86
|
52 |
+
#: wp/transposh_widget.php:315
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
#@ transposh
|
54 |
#@ default
|
55 |
msgid "Transposh"
|
56 |
msgstr "Transposh"
|
57 |
|
58 |
+
#: wp/transposh_admin.php:283
|
|
|
|
|
|
|
|
|
|
|
59 |
#@ transposh
|
60 |
msgid "Plugin news"
|
61 |
msgstr "Новости плагина"
|
62 |
|
63 |
+
#: wp/transposh_admin.php:284
|
64 |
#@ transposh
|
65 |
msgid "Plugin stats"
|
66 |
msgstr "Статистика плагина"
|
67 |
|
68 |
+
#: wp/transposh_admin.php:316
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
#@ transposh
|
|
|
|
|
|
|
|
|
|
|
70 |
msgid "Save Changes"
|
71 |
msgstr "Сохранить Изменения"
|
72 |
|
73 |
+
#: wp/transposh_admin.php:653
|
74 |
#@ transposh
|
75 |
msgid "Problems?"
|
76 |
msgstr "Проблемы?"
|
77 |
|
78 |
+
#: wp/transposh_admin.php:616
|
|
|
|
|
|
|
|
|
|
|
79 |
#@ transposh
|
80 |
msgid "Suggest a Feature"
|
81 |
msgstr "Предложить функцию"
|
82 |
|
83 |
+
#: wp/transposh_admin.php:617
|
84 |
#@ transposh
|
85 |
msgid "Report a Bug"
|
86 |
msgstr "Сообщить об ошибке"
|
87 |
|
88 |
+
#: wp/transposh_admin.php:559
|
89 |
#@ transposh
|
90 |
msgid "Translate by clicking the button below"
|
91 |
msgstr "Переведите, нажав кнопку ниже"
|
92 |
|
93 |
+
#: wp/transposh_admin.php:561
|
94 |
#@ transposh
|
95 |
msgid "Translate All Now"
|
96 |
msgstr "Перевести всё сейчас"
|
97 |
|
98 |
+
#: wp/transposh_admin.php:364
|
99 |
#@ transposh
|
100 |
msgid "Default Language (drag another language here to make it default)"
|
101 |
msgstr "Основной язык (перетащите сюда другой язык, чтобы сделать его основным)"
|
102 |
|
103 |
+
#: wp/transposh_admin.php:372
|
104 |
#@ transposh
|
105 |
msgid "Available Languages (Click to toggle language state - Drag to sort in the widget)"
|
106 |
msgstr "Доступные языки (Нажмите для переключения состояния языка - Перетащите, чтобы сортировать в виджете)"
|
107 |
|
108 |
+
#: wp/transposh_admin.php:384
|
109 |
#@ transposh
|
110 |
msgid "Language supported by google translate"
|
111 |
msgstr "Язык, поддерживаемый переводчиком google"
|
112 |
|
113 |
+
#: wp/transposh_admin.php:386
|
114 |
#@ transposh
|
115 |
msgid "Language supported by bing translate"
|
116 |
msgstr "Язык, поддерживаемый переводчиком bing"
|
117 |
|
118 |
+
#: wp/transposh_admin.php:392
|
119 |
#@ transposh
|
120 |
msgid "Language is written from right to left"
|
121 |
msgstr "Язык написан справа налево"
|
122 |
|
123 |
+
#: wp/transposh_admin.php:397
|
124 |
#@ transposh
|
125 |
msgid "Display options:"
|
126 |
msgstr "Опции отображения:"
|
127 |
|
128 |
+
#: wp/transposh_admin.php:398
|
129 |
#@ transposh
|
130 |
msgid "Toggle names of languages between English and Original"
|
131 |
msgstr "Переключить названия языков с английского на оригинал"
|
132 |
|
133 |
+
#: wp/transposh_admin.php:399
|
134 |
#@ transposh
|
135 |
msgid "Make all languages active"
|
136 |
msgstr "Сделать все языки активными"
|
137 |
|
138 |
+
#: wp/transposh_admin.php:400
|
139 |
#@ transposh
|
140 |
msgid "Sort by language name"
|
141 |
msgstr "Сортировать по названию языка"
|
142 |
|
143 |
+
#: wp/transposh_admin.php:401
|
144 |
#@ transposh
|
145 |
msgid "Sort by lSO code"
|
146 |
msgstr "Сортировать по коду lSO"
|
147 |
|
148 |
+
#: wp/transposh_admin.php:412
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
149 |
#@ transposh
|
150 |
msgid "Who can translate ?"
|
151 |
msgstr "Кто может переводить?"
|
152 |
|
153 |
+
#: wp/transposh_admin.php:419
|
154 |
#@ transposh
|
155 |
msgid "Anonymous"
|
156 |
msgstr "Аноним"
|
157 |
|
158 |
+
#: wp/transposh_admin.php:421
|
159 |
#@ transposh
|
160 |
msgid "Enable default language translation"
|
161 |
msgstr "Включить возможность перевода основного языка"
|
162 |
|
163 |
+
#: wp/transposh_admin.php:422
|
164 |
#@ transposh
|
165 |
msgid "Allow translation of default language - useful for sites with more than one major language"
|
166 |
msgstr "Разрешить возможность перевода основного языка - полезно для сайтов с двумя и более основными языками"
|
167 |
|
168 |
+
#: wp/transposh_admin.php:423
|
169 |
#@ transposh
|
170 |
msgid "Enable search in translated languages"
|
171 |
msgstr "Включить поиск на переведенных языках"
|
172 |
|
173 |
+
#: wp/transposh_admin.php:518
|
174 |
#@ transposh
|
175 |
msgid "Enable url translation"
|
176 |
msgstr "Включить перевод url"
|
177 |
|
178 |
+
#: wp/transposh_admin.php:518
|
|
|
179 |
#@ transposh
|
180 |
msgid "experimental"
|
181 |
msgstr "экспериментальный"
|
182 |
|
183 |
+
#: wp/transposh_admin.php:518
|
184 |
#@ transposh
|
185 |
msgid "Allow translation of permalinks and urls"
|
186 |
msgstr "Разрешить перевод пермалинков и URL-адресов"
|
187 |
|
188 |
+
#: wp/transposh_admin.php:425
|
189 |
#@ transposh
|
190 |
msgid "Enable gettext integration"
|
191 |
msgstr "Включить интеграцию gettext"
|
192 |
|
193 |
+
#: wp/transposh_admin.php:426
|
194 |
#@ transposh
|
195 |
msgid "Enable integration of Transposh with existing gettext interface (.po/.mo files)"
|
196 |
msgstr "Включить интеграцию Transposh и существующего интерфейса gettext (файлы .po / .mo)"
|
197 |
|
198 |
+
#: wp/transposh_admin.php:460
|
199 |
#@ transposh
|
200 |
msgid "Enable automatic translation"
|
201 |
msgstr "Включить автоматический перевод"
|
202 |
|
203 |
+
#: wp/transposh_admin.php:461
|
204 |
#@ transposh
|
205 |
msgid "Allow automatic translation of pages"
|
206 |
msgstr "Разрешить автоматический перевод страниц"
|
207 |
|
208 |
+
#: wp/transposh_admin.php:462
|
209 |
#@ transposh
|
210 |
msgid "Enable automatic translation after posting"
|
211 |
msgstr "Включение автоматического перевода после публикации"
|
212 |
|
213 |
+
#: wp/transposh_admin.php:463
|
214 |
#@ transposh
|
215 |
msgid "Do automatic translation immediately after a post has been published"
|
216 |
msgstr "Производить автоматический перевод при публикации"
|
217 |
|
218 |
+
#: wp/transposh_admin.php:470
|
219 |
#@ transposh
|
220 |
msgid "Select preferred auto translation engine"
|
221 |
msgstr "Выбрать предпочтительный двигатель авто перевода"
|
222 |
|
223 |
+
#: wp/transposh_admin.php:471
|
224 |
#@ transposh
|
225 |
msgid "Translation engine:"
|
226 |
msgstr "Двигатель перевода:"
|
227 |
|
228 |
+
#: wp/transposh_admin.php:472
|
229 |
#@ transposh
|
230 |
msgid "Google"
|
231 |
msgstr "Google"
|
232 |
|
233 |
+
#: wp/transposh_admin.php:473
|
234 |
#@ transposh
|
235 |
msgid "Bing"
|
236 |
msgstr "Bing"
|
237 |
|
238 |
+
#: wp/transposh_admin.php:433
|
239 |
#@ transposh
|
240 |
msgid "Rewrite URLs"
|
241 |
msgstr "Переписать URL-адреса"
|
242 |
|
243 |
+
#: wp/transposh_admin.php:437
|
244 |
#@ transposh
|
245 |
msgid "Add scripts to footer"
|
246 |
msgstr "Добавить коды в дно сайта"
|
247 |
|
248 |
+
#: wp/transposh_admin.php:440
|
249 |
#@ transposh
|
250 |
msgid "Auto detect language for users"
|
251 |
msgstr "Автоматическое определение языка для пользователей"
|
252 |
|
253 |
+
#: wp/transposh_admin.php:554
|
254 |
#@ transposh
|
255 |
msgid "Delete all automated translations"
|
256 |
msgstr "Удалить все автоматизированные переводы"
|
257 |
|
258 |
+
#: wp/transposh_admin.php:555
|
259 |
#@ transposh
|
260 |
msgid "Delete automated translations older than 14 days"
|
261 |
msgstr "Удалить автоматизированные переводы старше 14 дней"
|
262 |
|
263 |
+
#: wp/transposh_admin.php:451
|
|
|
|
|
|
|
|
|
|
|
264 |
#@ transposh
|
265 |
msgid "Enable daily backup"
|
266 |
msgstr "Включить ежедневное резервное копирование"
|
267 |
|
268 |
+
#: wp/transposh_admin.php:452
|
269 |
#@ transposh
|
270 |
msgid "Enable live backup"
|
271 |
msgstr "Включить живое резервное копирование"
|
272 |
|
273 |
+
#: wp/transposh_admin.php:453
|
274 |
#@ transposh
|
275 |
msgid "Disable backup (Can be run manually by clicking the button below)"
|
276 |
msgstr "Отключение резервного копирования (может быть запущен вручную, нажав кнопку ниже)"
|
277 |
|
278 |
+
#: wp/transposh_admin.php:454
|
279 |
#@ transposh
|
280 |
msgid "Service Key:"
|
281 |
msgstr "Сервис-ключ:"
|
282 |
|
283 |
+
#: wp/transposh_admin.php:454
|
284 |
#@ transposh
|
285 |
msgid "How to restore?"
|
286 |
msgstr "Как восстановить?"
|
287 |
|
288 |
+
#: wp/transposh_admin.php:548
|
289 |
#@ transposh
|
290 |
msgid "Do Backup Now"
|
291 |
msgstr "Сделать резервную копию сейчас"
|
292 |
|
293 |
+
#: wp/transposh_db.php:684
|
294 |
#@ transposh
|
295 |
msgid "Database stats"
|
296 |
msgstr "Статистика базы данных"
|
297 |
|
298 |
+
#: wp/transposh_db.php:689
|
299 |
#, php-format
|
300 |
#@ transposh
|
301 |
msgid "Total of <strong style=\"color:red\">%s</strong> translated phrases."
|
302 |
msgstr "Сумма переведенных фраз <strong style=\"color:red\">%s</strong>."
|
303 |
|
304 |
+
#: wp/transposh_db.php:696
|
305 |
#, php-format
|
306 |
#@ transposh
|
307 |
msgid "<strong>%1s</strong> has <strong style=\"color:red\">%2s</strong> human translated phrases."
|
308 |
msgstr "<strong>%1s</strong> насчитывает <strong style=\"color:red\">%2s</strong> фраз человеческого перевода."
|
309 |
|
310 |
+
#: wp/transposh_db.php:699
|
311 |
#@ transposh
|
312 |
msgid "Recent activity"
|
313 |
msgstr "Последние действия"
|
314 |
|
315 |
+
#: wp/transposh_db.php:704
|
316 |
#, php-format
|
317 |
#@ transposh
|
318 |
msgid "On <strong>%1s</strong><br/>user <strong>%2s</strong> translated<br/>\"<strong>%3s</strong>\"<br/>to <strong style=\"color:red\">%4s</strong><br/>\"<strong>%5s</strong>\""
|
319 |
msgstr "<strong>%1s</strong><br/>пользователь <strong>%2s</strong> перевел<br/>\"<strong>%3s</strong>\"<br/>на <strong style=\"color:red\">%4s</strong><br/>\"<strong>%5s</strong>\""
|
320 |
|
321 |
+
#: wp/transposh_widget.php:84
|
322 |
#@ transposh
|
323 |
msgid "Transposh language selection widget"
|
324 |
msgstr "виджет выбора языка Transposh"
|
325 |
|
326 |
+
#: wp/transposh_widget.php:288
|
327 |
#@ transposh
|
328 |
msgid "Set as default language"
|
329 |
msgstr "Сделать основным языком"
|
330 |
|
331 |
+
#: wp/transposh_widget.php:129
|
332 |
#@ transposh
|
333 |
msgid "Style:"
|
334 |
msgstr "Стиль:"
|
335 |
|
336 |
+
#: wp/transposh_admin.php:506
|
337 |
#@ transposh
|
338 |
msgid "Show progress bar when a client triggers automatic translation"
|
339 |
msgstr "Показать индикатор продвижения, когда пользователь вызывает автоматический перевод"
|
340 |
|
341 |
+
#: wp/transposh_admin.php:505
|
342 |
#@ transposh
|
343 |
msgid "Show progress bar"
|
344 |
msgstr "Показать индикатор продвижения"
|
345 |
|
346 |
+
#: wp/transposh_admin.php:509
|
347 |
#@ transposh
|
348 |
msgid "Widget will allow setting this language as user default"
|
349 |
msgstr "Виджет позволит установить пользователю язык по умолчанию"
|
350 |
|
351 |
+
#: wp/transposh_admin.php:508
|
352 |
#@ transposh
|
353 |
msgid "Allow user to set current language as default"
|
354 |
msgstr "Разрешить пользователю установить текущий язык основным"
|
355 |
|
356 |
+
#: wp/transposh_admin.php:512
|
357 |
#@ transposh
|
358 |
msgid "Transposh logo will not appear on widget"
|
359 |
msgstr "логотип Transposh не будет отображаться в виджете"
|
360 |
|
361 |
+
#: wp/transposh_admin.php:511
|
362 |
#@ transposh
|
363 |
msgid "Remove transposh logo (see <a href=\"http://transposh.org/logoterms\">terms</a>)"
|
364 |
msgstr "Убрать логотип Transposh (смотрите <a href=\"http://transposh.org/logoterms\">условия</a>)"
|
395 |
msgid "%VERSION%"
|
396 |
msgstr ""
|
397 |
|
398 |
+
#: wp/transposh_admin.php:388
|
399 |
#@ transposh
|
400 |
msgid "Language supported by apertium translate"
|
401 |
msgstr ""
|
402 |
|
403 |
+
#: wp/transposh_admin.php:436
|
404 |
#@ transposh
|
405 |
msgid "Rewrite URLs to be search engine friendly, e.g. (http://transposh.org/<strong>en</strong>). Requires that permalinks will be enabled."
|
406 |
msgstr ""
|
407 |
|
408 |
+
#: wp/transposh_admin.php:439
|
409 |
#@ transposh
|
410 |
msgid "Push transposh scripts to footer of page instead of header, makes pages load faster. Requires that your theme should have proper footer support."
|
411 |
msgstr ""
|
412 |
|
413 |
+
#: wp/transposh_admin.php:442
|
414 |
#@ transposh
|
415 |
msgid "This enables auto detection of language used by the user as defined in the ACCEPT_LANGUAGES they send. This will redirect the first page accessed in the session to the same page with the detected language."
|
416 |
msgstr ""
|
417 |
|
418 |
+
#: wp/transposh_admin.php:556
|
419 |
#@ transposh
|
420 |
msgid "Attempt to fix errors caused by previous versions - please backup first"
|
421 |
msgstr ""
|
422 |
|
423 |
+
#: wp/transposh_widget.php:318
|
424 |
#@ transposh
|
425 |
msgid "translation plugin for wordpress"
|
426 |
msgstr ""
|
427 |
|
428 |
+
#: wp/transposh_widget.php:321
|
429 |
#@ transposh
|
430 |
msgid "wordpress translation plugin"
|
431 |
msgstr ""
|
432 |
|
433 |
+
#: wp/transposh_widget.php:324
|
434 |
#@ transposh
|
435 |
msgid "translate your blog to 60+ languages"
|
436 |
msgstr ""
|
437 |
|
438 |
+
#: wp/transposh_widget.php:327
|
439 |
#@ transposh
|
440 |
msgid "website crowdsourcing translation plugin"
|
441 |
msgstr ""
|
442 |
|
443 |
+
#: wp/transposh_widget.php:330
|
444 |
#@ transposh
|
445 |
msgid "google translate and bing translate plugin for wordpress"
|
446 |
msgstr ""
|
447 |
|
448 |
+
#: wp/transposh_admin.php:514
|
|
|
449 |
#@ transposh
|
450 |
msgid "Edit interface (and progress bar) theme:"
|
451 |
msgstr ""
|
456 |
msgid "Select language"
|
457 |
msgstr ""
|
458 |
|
459 |
+
#: wp/transposh_admin.php:734
|
|
|
|
|
|
|
|
|
|
|
460 |
#, php-format
|
461 |
#@ transposh
|
462 |
msgid "Your current PHP memory limit of %s is quite low, if you experience blank pages please consider increasing it."
|
463 |
msgstr ""
|
464 |
|
465 |
+
#: wp/transposh_admin.php:734
|
466 |
+
#: wp/transposh_admin.php:738
|
467 |
#@ transposh
|
468 |
msgid "Check Transposh FAQs"
|
469 |
msgstr ""
|
470 |
|
471 |
+
#: wp/transposh_admin.php:738
|
472 |
#@ transposh
|
473 |
msgid "We were not able to find a supported in-memory caching engine, installing one can improve performance."
|
474 |
msgstr ""
|
475 |
|
476 |
+
#: wp/transposh_admin.php:424
|
477 |
#@ transposh
|
478 |
msgid "Allow search of translated languages (and the original language)"
|
479 |
msgstr ""
|
480 |
|
481 |
+
#: wp/transposh_admin.php:428
|
482 |
#@ transposh
|
483 |
msgid "Enable override for default locale"
|
484 |
msgstr ""
|
485 |
|
486 |
+
#: wp/transposh_admin.php:429
|
487 |
#@ transposh
|
488 |
msgid "Enable overriding the default locale that is set in WP_LANG on default languages pages (such as untranslated pages and admin pages)"
|
489 |
msgstr ""
|
490 |
|
491 |
+
#: wp/transposh_admin.php:465
|
492 |
#@ transposh
|
493 |
msgid "MSN API key"
|
494 |
msgstr ""
|
495 |
|
496 |
+
#: wp/transposh_admin.php:466
|
497 |
+
#: wp/transposh_admin.php:469
|
|
|
498 |
#@ transposh
|
499 |
msgid "API Key"
|
500 |
msgstr ""
|
501 |
|
502 |
+
#: wp/transposh_admin.php:468
|
503 |
#@ transposh
|
504 |
msgid "Google API key"
|
505 |
msgstr ""
|
506 |
|
507 |
+
#: wp/transposh_admin.php:443
|
508 |
#@ transposh
|
509 |
msgid "Allow collecting usage statistics"
|
510 |
msgstr ""
|
511 |
|
512 |
+
#: wp/transposh_postpublish.php:57
|
513 |
#@ transposh
|
514 |
msgid "Set post language"
|
515 |
msgstr ""
|
516 |
|
517 |
+
#: wp/transposh_postpublish.php:203
|
|
|
|
|
|
|
|
|
|
|
518 |
#@ default
|
519 |
msgid "Default"
|
520 |
msgstr ""
|
521 |
|
522 |
+
#: wp/transposh_widget.php:124
|
523 |
#@ transposh
|
524 |
msgid "Title:"
|
525 |
msgstr ""
|
526 |
|
527 |
+
#: wp/transposh_widget.php:256
|
528 |
#@ transposh
|
529 |
msgid "Transposh subwidget was not loaded correctly"
|
530 |
msgstr ""
|
531 |
|
532 |
#. TRANSLATORS: no need to translate this string
|
533 |
+
#: wp/transposh_widget.php:273
|
534 |
#@ transposh
|
535 |
msgid "title"
|
536 |
msgstr ""
|
537 |
|
538 |
+
#: wp/transposh_admin.php:760
|
539 |
#@ transposh
|
540 |
msgid "Language"
|
541 |
msgstr ""
|
542 |
|
543 |
+
#: wp/transposh_admin.php:444
|
544 |
#@ transposh
|
545 |
msgid "This option enables collection of statistics by transposh that will be used to improve the product."
|
546 |
msgstr ""
|
547 |
|
548 |
#. TRANSLATORS: this will be the default widget title
|
549 |
+
#: wp/transposh_widget.php:119
|
550 |
#@ transposh
|
551 |
msgid "Translation"
|
552 |
msgstr ""
|
553 |
|
554 |
+
#: wp/transposh_admin.php:390
|
|
|
|
|
|
|
|
|
|
|
555 |
#@ transposh
|
556 |
msgid "Language supported by one hour translation"
|
557 |
msgstr ""
|
558 |
|
559 |
+
#: wp/transposh_admin.php:477
|
560 |
#@ transposh
|
561 |
msgid "<a href=\"http://transposh.org/redir/oht\">One Hour Translation</a>, is the largest professional translation service online, with thousands of business customers, including 57% of the Fortune 500 companies, and over 15000 translators worldwide."
|
562 |
msgstr "<a href=\"http://transposh.org/redir/oht\">One Hour Translation</a>, является ведущей компанией в мире, предоставляющей услуги профессионального перевода онлайн. Ее услугами пользуются тысячи корпоративных заказчиков, включая 57% из первых пятисот крупнейших компаний в рейтинге журнала Fortune. В компании работают более 15 тысяч переводчиков из разных стран мира."
|
563 |
|
564 |
+
#: wp/transposh_admin.php:479
|
565 |
#@ transposh
|
566 |
msgid "One Hour Translation provides high-quality, fast professional translation to/from any language, and has specific domain expertise in SW localization, technical, business, and legal translations."
|
567 |
msgstr "One Hour Translation оказывает услуги профессионального перевода с/на любой язык в кратчайшие сроки, предоставляет услуги специализированного перевода при локализации программного обеспечения, осуществляет перевод технических, деловых и юридических документов."
|
568 |
|
569 |
+
#: wp/transposh_admin.php:483
|
570 |
#@ transposh
|
571 |
msgid "One Hour Translation account ID"
|
572 |
msgstr ""
|
573 |
|
574 |
+
#: wp/transposh_admin.php:484
|
575 |
+
#: wp/transposh_admin.php:488
|
576 |
#@ transposh
|
577 |
msgid "Account ID"
|
578 |
msgstr ""
|
579 |
|
580 |
+
#: wp/transposh_admin.php:487
|
581 |
#@ transposh
|
582 |
msgid "One Hour Translation secret key"
|
583 |
msgstr ""
|
584 |
|
585 |
+
#: wp/transposh_admin.php:499
|
586 |
#, php-format
|
587 |
#@ transposh
|
588 |
+
msgid "%d projects have been submitted and waiting for completion"
|
589 |
+
msgstr ""
|
590 |
+
|
591 |
+
#: wp/transposh_admin.php:756
|
592 |
+
#@ transposh
|
593 |
+
msgid "Unset"
|
594 |
+
msgstr ""
|
595 |
+
|
596 |
+
#: wp/transposh_admin.php:57
|
597 |
+
#@ transposh
|
598 |
+
msgid "Dashboard"
|
599 |
+
msgstr ""
|
600 |
+
|
601 |
+
#: wp/transposh_admin.php:58
|
602 |
+
#@ transposh
|
603 |
+
msgid "Languages"
|
604 |
+
msgstr ""
|
605 |
+
|
606 |
+
#: wp/transposh_admin.php:60
|
607 |
+
#@ transposh
|
608 |
+
msgid "Translation Engines"
|
609 |
+
msgstr ""
|
610 |
+
|
611 |
+
#: wp/transposh_admin.php:61
|
612 |
+
#@ transposh
|
613 |
+
msgid "Widgets settings"
|
614 |
msgstr ""
|
615 |
|
616 |
+
#: wp/transposh_admin.php:62
|
617 |
+
#@ transposh
|
618 |
+
msgid "Advanced"
|
619 |
+
msgstr ""
|
620 |
+
|
621 |
+
#: wp/transposh_admin.php:63
|
622 |
+
#@ transposh
|
623 |
+
msgid "Utilities"
|
624 |
+
msgstr ""
|
625 |
+
|
626 |
+
#: wp/transposh_admin.php:64
|
627 |
+
#@ transposh
|
628 |
+
msgid "About"
|
629 |
+
msgstr ""
|
630 |
+
|
631 |
+
#: wp/transposh_admin.php:65
|
632 |
+
#@ transposh
|
633 |
+
msgid "Support"
|
634 |
+
msgstr ""
|
635 |
+
|
636 |
+
#: wp/transposh_admin.php:186
|
637 |
+
#@ transposh
|
638 |
+
msgid "For further help and assistance, please look at the following resources:"
|
639 |
+
msgstr ""
|
640 |
+
|
641 |
+
#: wp/transposh_admin.php:189
|
642 |
+
#@ transposh
|
643 |
+
msgid "Development website"
|
644 |
+
msgstr ""
|
645 |
+
|
646 |
+
#: wp/transposh_admin.php:278
|
647 |
+
#@ transposh
|
648 |
+
msgid "Transposh Help"
|
649 |
+
msgstr ""
|
650 |
+
|
651 |
+
#: wp/transposh_admin.php:407
|
652 |
+
#@ transposh
|
653 |
+
msgid "Translation related settings"
|
654 |
+
msgstr ""
|
655 |
+
|
656 |
+
#: wp/transposh_admin.php:432
|
657 |
+
#@ transposh
|
658 |
+
msgid "General settings"
|
659 |
+
msgstr ""
|
660 |
+
|
661 |
+
#: wp/transposh_admin.php:450
|
662 |
+
#@ transposh
|
663 |
+
msgid "Backup service settings"
|
664 |
+
msgstr ""
|
665 |
+
|
666 |
+
#: wp/transposh_admin.php:459
|
667 |
+
#@ transposh
|
668 |
+
msgid "Automatic Translation Settings"
|
669 |
+
msgstr ""
|
670 |
+
|
671 |
+
#: wp/transposh_admin.php:477
|
672 |
+
#@ transposh
|
673 |
+
msgid "Professional Translation Settings"
|
674 |
+
msgstr ""
|
675 |
+
|
676 |
+
#: wp/transposh_admin.php:494
|
677 |
#, php-format
|
678 |
#@ transposh
|
679 |
+
msgid "%d phrases currently queued for next job in ~%d minutes"
|
680 |
+
msgstr ""
|
681 |
+
|
682 |
+
#: wp/transposh_admin.php:520
|
683 |
+
#@ transposh
|
684 |
+
msgid "Parser related settings"
|
685 |
+
msgstr ""
|
686 |
+
|
687 |
+
#: wp/transposh_admin.php:521
|
688 |
+
#: wp/transposh_admin.php:530
|
689 |
+
#@ transposh
|
690 |
+
msgid "This is extremely dangerous, will break your current translations, and might cause severe hickups, only proceed if you really know what you are doing."
|
691 |
+
msgstr ""
|
692 |
+
|
693 |
+
#: wp/transposh_admin.php:522
|
694 |
+
#@ transposh
|
695 |
+
msgid "Disable punctuations break"
|
696 |
+
msgstr ""
|
697 |
+
|
698 |
+
#: wp/transposh_admin.php:523
|
699 |
+
#@ transposh
|
700 |
+
msgid "The parser will not break text into phrases when encountering punctuations such as dots"
|
701 |
+
msgstr ""
|
702 |
+
|
703 |
+
#: wp/transposh_admin.php:524
|
704 |
+
#@ transposh
|
705 |
+
msgid "Disable numbers break"
|
706 |
+
msgstr ""
|
707 |
+
|
708 |
+
#: wp/transposh_admin.php:525
|
709 |
+
#@ transposh
|
710 |
+
msgid "The parser will not break text into phrases when encountering numbers"
|
711 |
+
msgstr ""
|
712 |
+
|
713 |
+
#: wp/transposh_admin.php:526
|
714 |
+
#@ transposh
|
715 |
+
msgid "Disable html entities break"
|
716 |
+
msgstr ""
|
717 |
+
|
718 |
+
#: wp/transposh_admin.php:527
|
719 |
+
#@ transposh
|
720 |
+
msgid "The parser will not break text into phrases when encountering html entities"
|
721 |
+
msgstr ""
|
722 |
+
|
723 |
+
#: wp/transposh_admin.php:529
|
724 |
+
#@ transposh
|
725 |
+
msgid "Debug settings"
|
726 |
+
msgstr ""
|
727 |
+
|
728 |
+
#: wp/transposh_admin.php:531
|
729 |
+
#@ transposh
|
730 |
+
msgid "Enable debugging"
|
731 |
+
msgstr ""
|
732 |
+
|
733 |
+
#: wp/transposh_admin.php:532
|
734 |
+
#@ transposh
|
735 |
+
msgid "Enable running of Transposh internal debug functions"
|
736 |
+
msgstr ""
|
737 |
+
|
738 |
+
#: wp/transposh_admin.php:533
|
739 |
+
#@ transposh
|
740 |
+
msgid "Log file name"
|
741 |
+
msgstr ""
|
742 |
+
|
743 |
+
#: wp/transposh_admin.php:534
|
744 |
+
#@ transposh
|
745 |
+
msgid "Level of logging"
|
746 |
+
msgstr ""
|
747 |
+
|
748 |
+
#: wp/transposh_admin.php:535
|
749 |
+
#@ transposh
|
750 |
+
msgid "Critical"
|
751 |
+
msgstr ""
|
752 |
+
|
753 |
+
#: wp/transposh_admin.php:536
|
754 |
+
#@ transposh
|
755 |
+
msgid "Important"
|
756 |
+
msgstr ""
|
757 |
+
|
758 |
+
#: wp/transposh_admin.php:537
|
759 |
+
#@ transposh
|
760 |
+
msgid "Warning"
|
761 |
+
msgstr ""
|
762 |
+
|
763 |
+
#: wp/transposh_admin.php:538
|
764 |
+
#@ transposh
|
765 |
+
msgid "Information"
|
766 |
+
msgstr ""
|
767 |
+
|
768 |
+
#: wp/transposh_admin.php:539
|
769 |
+
#@ transposh
|
770 |
+
msgid "Debug"
|
771 |
+
msgstr ""
|
772 |
+
|
773 |
+
#: wp/transposh_admin.php:541
|
774 |
+
#, php-format
|
775 |
+
#@ transposh
|
776 |
+
msgid "Remote debug IP (Your current IP is %s)"
|
777 |
+
msgstr ""
|
778 |
+
|
779 |
+
#: wp/transposh_admin.php:553
|
780 |
+
#@ transposh
|
781 |
+
msgid "Reset configuration to default (saves keys)"
|
782 |
+
msgstr ""
|
783 |
+
|
784 |
+
#: wp/transposh_admin.php:567
|
785 |
+
#@ transposh
|
786 |
+
msgid "About Transposh"
|
787 |
+
msgstr ""
|
788 |
+
|
789 |
+
#: wp/transposh_admin.php:568
|
790 |
+
#@ transposh
|
791 |
+
msgid "Transposh was started at 2008 and is dedicated to provide tools to ease website translation."
|
792 |
+
msgstr ""
|
793 |
+
|
794 |
+
#: wp/transposh_admin.php:570
|
795 |
+
#@ transposh
|
796 |
+
msgid "Learn more about us in the following online presenses"
|
797 |
+
msgstr ""
|
798 |
+
|
799 |
+
#: wp/transposh_admin.php:573
|
800 |
+
#@ transposh
|
801 |
+
msgid "Our website"
|
802 |
+
msgstr ""
|
803 |
+
|
804 |
+
#: wp/transposh_admin.php:575
|
805 |
+
#@ transposh
|
806 |
+
msgid "Our blog"
|
807 |
+
msgstr ""
|
808 |
+
|
809 |
+
#: wp/transposh_admin.php:577
|
810 |
+
#@ transposh
|
811 |
+
msgid "Our twitter account (feel free to follow!)"
|
812 |
+
msgstr ""
|
813 |
+
|
814 |
+
#: wp/transposh_admin.php:579
|
815 |
+
#@ transposh
|
816 |
+
msgid "Our facebook page (feel free to like!)"
|
817 |
+
msgstr ""
|
818 |
+
|
819 |
+
#: wp/transposh_admin.php:581
|
820 |
+
#@ transposh
|
821 |
+
msgid "Our google plus page (add us to your circles!)"
|
822 |
+
msgstr ""
|
823 |
+
|
824 |
+
#: wp/transposh_admin.php:583
|
825 |
+
#@ transposh
|
826 |
+
msgid "Our youtube channel"
|
827 |
+
msgstr ""
|
828 |
+
|
829 |
+
#: wp/transposh_admin.php:592
|
830 |
+
#@ transposh
|
831 |
+
msgid "Transposh support"
|
832 |
+
msgstr ""
|
833 |
+
|
834 |
+
#: wp/transposh_admin.php:593
|
835 |
+
#@ transposh
|
836 |
+
msgid "Have you encountered any problem with our plugin and need our help?"
|
837 |
+
msgstr ""
|
838 |
+
|
839 |
+
#: wp/transposh_admin.php:594
|
840 |
+
#@ transposh
|
841 |
+
msgid "Do you need to ask us any question?"
|
842 |
+
msgstr ""
|
843 |
+
|
844 |
+
#: wp/transposh_admin.php:595
|
845 |
+
#@ transposh
|
846 |
+
msgid "You have two options:"
|
847 |
+
msgstr ""
|
848 |
+
|
849 |
+
#: wp/transposh_admin.php:597
|
850 |
+
#@ transposh
|
851 |
+
msgid "Our free support"
|
852 |
+
msgstr ""
|
853 |
+
|
854 |
+
#: wp/transposh_admin.php:599
|
855 |
+
#@ transposh
|
856 |
+
msgid "There are many channels to reach us and we do try to help as fast as we can"
|
857 |
+
msgstr ""
|
858 |
+
|
859 |
+
#: wp/transposh_admin.php:600
|
860 |
+
#@ transposh
|
861 |
+
msgid "You can contact us through our contact form on our web site"
|
862 |
+
msgstr ""
|
863 |
+
|
864 |
+
#: wp/transposh_admin.php:601
|
865 |
+
#@ transposh
|
866 |
+
msgid "Create a ticket for us if you have found any bugs"
|
867 |
+
msgstr ""
|
868 |
+
|
869 |
+
#: wp/transposh_admin.php:602
|
870 |
+
#@ transposh
|
871 |
+
msgid "Reach us via different forums:"
|
872 |
+
msgstr ""
|
873 |
+
|
874 |
+
#: wp/transposh_admin.php:605
|
875 |
+
#@ transposh
|
876 |
+
msgid "Our support forum on wordpress.org"
|
877 |
+
msgstr ""
|
878 |
+
|
879 |
+
#: wp/transposh_admin.php:607
|
880 |
+
#@ transposh
|
881 |
+
msgid "Our internal development site, with wiki and tickets"
|
882 |
+
msgstr ""
|
883 |
+
|
884 |
+
#: wp/transposh_admin.php:609
|
885 |
+
#@ transposh
|
886 |
+
msgid "Our facebook page"
|
887 |
+
msgstr ""
|
888 |
+
|
889 |
+
#: wp/transposh_admin.php:611
|
890 |
+
#@ transposh
|
891 |
+
msgid "Our google plus page"
|
892 |
+
msgstr ""
|
893 |
+
|
894 |
+
#: wp/transposh_admin.php:613
|
895 |
+
#@ transposh
|
896 |
+
msgid "Contact us directly via:"
|
897 |
+
msgstr ""
|
898 |
+
|
899 |
+
#: wp/transposh_admin.php:615
|
900 |
+
#@ transposh
|
901 |
+
msgid "Our contact form"
|
902 |
+
msgstr ""
|
903 |
+
|
904 |
+
#: wp/transposh_admin.php:621
|
905 |
+
#@ transposh
|
906 |
+
msgid "Professional support option"
|
907 |
+
msgstr ""
|
908 |
+
|
909 |
+
#: wp/transposh_admin.php:623
|
910 |
+
#@ transposh
|
911 |
+
msgid "For the low low price of $99, we will take express action on your request. By express we mean that your issue will become our top priority, and will resolve ASAP"
|
912 |
+
msgstr ""
|
913 |
+
|
914 |
+
#: wp/transposh_admin.php:624
|
915 |
+
#@ transposh
|
916 |
+
msgid "This includes helping with various bugs, basic theme/plugins conflicts, or just telling you where the ON button is"
|
917 |
+
msgstr ""
|
918 |
+
|
919 |
+
#: wp/transposh_admin.php:625
|
920 |
+
#@ transposh
|
921 |
+
msgid "Full money back guarentee! If your problem remains unresolved or you are simply unhappy we will refund your paypal account as soon as you ask (as long as paypal allows it, don't come to us three years later!)"
|
922 |
+
msgstr ""
|
923 |
+
|
924 |
+
#: wp/transposh_admin.php:626
|
925 |
+
#@ transposh
|
926 |
+
msgid "So hit the following button. Thanks!"
|
927 |
msgstr ""
|
928 |
|
929 |
#: wp/transposh_admin.php:636
|
930 |
#@ transposh
|
931 |
+
msgid "Donations"
|
932 |
+
msgstr ""
|
933 |
+
|
934 |
+
#: wp/transposh_admin.php:638
|
935 |
+
#@ transposh
|
936 |
+
msgid "If you just want to show that you care, this is the button for you. But please think twice before doing this. It will make us happier if you just do something nice for someone in your area, contribute to a local charity, and let us know that you did that :)"
|
937 |
msgstr ""
|
938 |
|
@@ -3,13 +3,13 @@ msgstr ""
|
|
3 |
"Project-Id-Version: Transposh Translation Filter v%VERSION%\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
"POT-Creation-Date: 2011-08-02 00:00:00+00:00\n"
|
6 |
-
"PO-Revision-Date:
|
7 |
"Last-Translator: Semih Yeşilyurt http://kingdroid.net <info@kingdroid.net>\n"
|
8 |
"Language-Team: Turkish <semih.yesilyurt@gmail.com>\n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"Plural-Forms: nplurals=
|
13 |
"X-Poedit-Language: Turkish\n"
|
14 |
"X-Poedit-Country: TURKEY\n"
|
15 |
"X-Poedit-SourceCharset: utf-8\n"
|
@@ -25,412 +25,333 @@ msgstr ""
|
|
25 |
msgid "%s translated a phrase to %s with transposh:"
|
26 |
msgstr "%sTransposh ile bir %s ifade tercüme:"
|
27 |
|
28 |
-
#: wp/transposh_admin.php:
|
29 |
#@ transposh
|
30 |
msgid "Problems?"
|
31 |
msgstr "Problemler?"
|
32 |
|
33 |
-
#: wp/transposh_widget.php:
|
34 |
#@ transposh
|
35 |
msgid "Transposh language selection widget"
|
36 |
msgstr "Transposh bileşeni dili seçin"
|
37 |
|
38 |
-
#: wp/transposh_admin.php:
|
39 |
-
#@ transposh
|
40 |
-
msgid "About this plugin"
|
41 |
-
msgstr "Eklenti hakkında"
|
42 |
-
|
43 |
-
#: wp/transposh_admin.php:213
|
44 |
#@ transposh
|
45 |
msgid "Plugin news"
|
46 |
msgstr "Eklenti haberleri"
|
47 |
|
48 |
-
#: wp/transposh_admin.php:
|
49 |
#@ transposh
|
50 |
msgid "Plugin stats"
|
51 |
msgstr "Eklenti istatistikleri"
|
52 |
|
53 |
-
#: wp/
|
54 |
-
|
55 |
-
|
56 |
-
msgstr "Hepsini tercüme et"
|
57 |
-
|
58 |
-
#: wp/transposh_admin.php:216
|
59 |
-
#@ transposh
|
60 |
-
msgid "Supported languages"
|
61 |
-
msgstr "Desteklenen diller"
|
62 |
-
|
63 |
-
#: wp/transposh_admin.php:217
|
64 |
-
#@ transposh
|
65 |
-
msgid "Translation settings"
|
66 |
-
msgstr "Tercüme ayarları"
|
67 |
-
|
68 |
-
#: wp/transposh_admin.php:218
|
69 |
-
#@ transposh
|
70 |
-
msgid "Automatic translation settings"
|
71 |
-
msgstr "Otomatik tercüme ayarları"
|
72 |
-
|
73 |
-
#: wp/transposh_admin.php:221
|
74 |
-
#@ transposh
|
75 |
-
msgid "Generic settings"
|
76 |
-
msgstr "Genel ayarlar"
|
77 |
-
|
78 |
-
#: wp/transposh_admin.php:222
|
79 |
-
#@ transposh
|
80 |
-
msgid "Database maintenance"
|
81 |
-
msgstr "Veritabanı bakımı"
|
82 |
-
|
83 |
-
#: wp/transposh_admin.php:237
|
84 |
-
#@ transposh
|
85 |
-
msgid "Transposh community features"
|
86 |
-
msgstr "Transposh topluluğu önerileir"
|
87 |
-
|
88 |
-
#: wp/transposh_admin.php:175
|
89 |
-
#: wp/transposh_admin.php:243
|
90 |
-
#: wp/transposh_postpublish.php:50
|
91 |
-
#: wp/transposh_postpublish.php:51
|
92 |
-
#: wp/transposh_widget.php:84
|
93 |
-
#: wp/transposh_widget.php:311
|
94 |
#@ transposh
|
95 |
#@ default
|
96 |
msgid "Transposh"
|
97 |
msgstr "Transposh"
|
98 |
|
99 |
-
#: wp/transposh_admin.php:
|
100 |
#@ transposh
|
101 |
msgid "Translate by clicking the button below"
|
102 |
msgstr "Butonun altındaki diller"
|
103 |
|
104 |
-
#: wp/transposh_admin.php:
|
105 |
#@ transposh
|
106 |
msgid "Translate All Now"
|
107 |
msgstr "Şimdi Hepsini Tercüme Et"
|
108 |
|
109 |
-
#: wp/transposh_admin.php:
|
110 |
-
#@ transposh
|
111 |
-
msgid "Plugin Homepage"
|
112 |
-
msgstr "Eklenti Ana Sayfası"
|
113 |
-
|
114 |
-
#: wp/transposh_admin.php:314
|
115 |
#@ transposh
|
116 |
msgid "Suggest a Feature"
|
117 |
msgstr "Bir özellik önerin"
|
118 |
|
119 |
-
#: wp/transposh_admin.php:
|
120 |
#@ transposh
|
121 |
msgid "Report a Bug"
|
122 |
msgstr "Hata Bildir"
|
123 |
|
124 |
-
#: wp/transposh_admin.php:
|
125 |
#@ transposh
|
126 |
msgid "Default Language (drag another language here to make it default)"
|
127 |
msgstr "Varsayılan Dili Seçin (varsayılan dili seçmek için aşağıdan, buraya sürükleyin)"
|
128 |
|
129 |
-
#: wp/transposh_admin.php:
|
130 |
#@ transposh
|
131 |
msgid "Available Languages (Click to toggle language state - Drag to sort in the widget)"
|
132 |
msgstr "Kullanılabilir Diller (Etkinleştirmek için tıklayın - Bileşende sıralamak için sürükleyin)"
|
133 |
|
134 |
-
#: wp/transposh_admin.php:
|
135 |
#@ transposh
|
136 |
msgid "Language supported by google translate"
|
137 |
msgstr "Google translate tarafından desteklenen diller"
|
138 |
|
139 |
-
#: wp/transposh_admin.php:
|
140 |
#@ transposh
|
141 |
msgid "Language supported by bing translate"
|
142 |
msgstr "Bing translate tarafından desteklenen diller"
|
143 |
|
144 |
-
#: wp/transposh_admin.php:
|
145 |
#@ transposh
|
146 |
msgid "Language is written from right to left"
|
147 |
msgstr "Dil, sağdan sola doğru yazılır"
|
148 |
|
149 |
-
#: wp/transposh_admin.php:
|
150 |
#@ transposh
|
151 |
msgid "Display options:"
|
152 |
msgstr "Ekran seçenekleri:"
|
153 |
|
154 |
-
#: wp/transposh_admin.php:
|
155 |
#@ transposh
|
156 |
msgid "Toggle names of languages between English and Original"
|
157 |
msgstr "İngilizce ve Orjinal dile göre sırala"
|
158 |
|
159 |
-
#: wp/transposh_admin.php:
|
160 |
#@ transposh
|
161 |
msgid "Make all languages active"
|
162 |
msgstr "Tüm diller aktif olsun"
|
163 |
|
164 |
-
#: wp/transposh_admin.php:
|
165 |
#@ transposh
|
166 |
msgid "Sort by language name"
|
167 |
msgstr "Dil ismine göre sırala"
|
168 |
|
169 |
-
#: wp/transposh_admin.php:
|
170 |
#@ transposh
|
171 |
msgid "Sort by lSO code"
|
172 |
msgstr "ISO koduna göre sıralayın"
|
173 |
|
174 |
-
#: wp/transposh_admin.php:
|
175 |
-
#@ transposh
|
176 |
-
msgid "Legend:"
|
177 |
-
msgstr "Yetkiler"
|
178 |
-
|
179 |
-
#: wp/transposh_admin.php:425
|
180 |
-
#@ transposh
|
181 |
-
msgid "Green - active"
|
182 |
-
msgstr "Yeşil - Aktif"
|
183 |
-
|
184 |
-
#: wp/transposh_admin.php:425
|
185 |
-
#@ transposh
|
186 |
-
msgid "Yellow - translateable (only translators will see this language)"
|
187 |
-
msgstr "Yeşil - çevrilebilir (sadece çevirmenler bu dili görebilir)"
|
188 |
-
|
189 |
-
#: wp/transposh_admin.php:425
|
190 |
-
#@ transposh
|
191 |
-
msgid "blank - inactive"
|
192 |
-
msgstr "boş - pasif"
|
193 |
-
|
194 |
-
#: wp/transposh_admin.php:447
|
195 |
#@ transposh
|
196 |
msgid "Who can translate ?"
|
197 |
msgstr "Kimler tercüme yapabilir?"
|
198 |
|
199 |
-
#: wp/transposh_admin.php:
|
200 |
#@ transposh
|
201 |
msgid "Anonymous"
|
202 |
msgstr "Anonim"
|
203 |
|
204 |
-
#: wp/transposh_admin.php:
|
205 |
#@ transposh
|
206 |
msgid "Enable default language translation"
|
207 |
msgstr "Varsayılan dili çevirme etkin"
|
208 |
|
209 |
-
#: wp/transposh_admin.php:
|
210 |
#@ transposh
|
211 |
msgid "Allow translation of default language - useful for sites with more than one major language"
|
212 |
msgstr "Birden fazla ana dili olan siteler için yararlı - varsayılan dil çeviri izni"
|
213 |
|
214 |
-
#: wp/transposh_admin.php:
|
215 |
#@ transposh
|
216 |
msgid "Enable search in translated languages"
|
217 |
msgstr "Tercüme edilmiş sayfada arama yapılabilsin"
|
218 |
|
219 |
-
#: wp/transposh_admin.php:
|
220 |
#@ transposh
|
221 |
msgid "Allow translation of permalinks and urls"
|
222 |
msgstr "Kalıcı URL'lere izin verilsin"
|
223 |
|
224 |
-
#: wp/transposh_admin.php:
|
225 |
#@ transposh
|
226 |
msgid "Enable automatic translation"
|
227 |
msgstr "Otomatik tercüme aktif"
|
228 |
|
229 |
-
#: wp/transposh_admin.php:
|
230 |
#@ transposh
|
231 |
msgid "Allow automatic translation of pages"
|
232 |
msgstr "Sayfaları otomatik çevirmeye izin verilsin"
|
233 |
|
234 |
-
#: wp/transposh_admin.php:
|
235 |
#@ transposh
|
236 |
msgid "Enable automatic translation after posting"
|
237 |
msgstr "Sonraki yazıyı çevirme aktif olsun"
|
238 |
|
239 |
-
#: wp/transposh_admin.php:
|
240 |
#@ transposh
|
241 |
msgid "Do automatic translation immediately after a post has been published"
|
242 |
msgstr "Yazı yayınlandıktan hemen sonra otomatik olarak çeviri yapılsın"
|
243 |
|
244 |
-
#: wp/transposh_admin.php:
|
245 |
#@ transposh
|
246 |
msgid "Select preferred auto translation engine"
|
247 |
msgstr "Tercümeyi hangisi yapsın?"
|
248 |
|
249 |
-
#: wp/transposh_admin.php:
|
250 |
#@ transposh
|
251 |
msgid "Translation engine:"
|
252 |
msgstr "Arama Motoru:"
|
253 |
|
254 |
-
#: wp/transposh_admin.php:
|
255 |
#@ transposh
|
256 |
msgid "Google"
|
257 |
msgstr "Google"
|
258 |
|
259 |
-
#: wp/transposh_admin.php:
|
260 |
#@ transposh
|
261 |
msgid "Bing"
|
262 |
msgstr "Bing"
|
263 |
|
264 |
-
#: wp/transposh_admin.php:
|
265 |
#@ transposh
|
266 |
msgid "Rewrite URLs"
|
267 |
msgstr "Rewrite URL'ler"
|
268 |
|
269 |
-
#: wp/transposh_admin.php:
|
270 |
#@ transposh
|
271 |
msgid "Add scripts to footer"
|
272 |
msgstr "Footer'a script ekle"
|
273 |
|
274 |
-
#: wp/transposh_admin.php:
|
275 |
#@ transposh
|
276 |
msgid "Push transposh scripts to footer of page instead of header, makes pages load faster. Requires that your theme should have proper footer support."
|
277 |
msgstr "Başlığının yerine sayfa altbilgisi yerleştirin, sayfaların daha hızlı yüklenmesini sağlar. Temaya uygun altbilgi desteği olması gerekir."
|
278 |
|
279 |
-
#: wp/transposh_admin.php:
|
280 |
#@ transposh
|
281 |
msgid "Auto detect language for users"
|
282 |
msgstr "Kullanıcının dilini otomatik tespit et"
|
283 |
|
284 |
-
#: wp/transposh_admin.php:
|
285 |
#@ transposh
|
286 |
msgid "This enables auto detection of language used by the user as defined in the ACCEPT_LANGUAGES they send. This will redirect the first page accessed in the session to the same page with the detected language."
|
287 |
msgstr "Gönderilen ACCEPT_LANGUAGES komutuyla ziyaretçinin dilini otomatik olarak tespit edecektir. Bu oturumda aynı sayfaya eriştiğinde onu çevrilmiş sayfaya yönlendirecektir."
|
288 |
|
289 |
-
#: wp/transposh_admin.php:
|
290 |
#@ transposh
|
291 |
msgid "Delete all automated translations"
|
292 |
msgstr "Tüm otomatik çevirileri sil"
|
293 |
|
294 |
-
#: wp/transposh_admin.php:
|
295 |
#@ transposh
|
296 |
msgid "Delete automated translations older than 14 days"
|
297 |
msgstr "14 günden eski otomatik çevrilmiş sayfaları sil"
|
298 |
|
299 |
-
#: wp/transposh_admin.php:
|
300 |
-
#@ transposh
|
301 |
-
msgid "Backup service for human translation"
|
302 |
-
msgstr "İnsan tercümelerini yedekleme hizmeti"
|
303 |
-
|
304 |
-
#: wp/transposh_admin.php:615
|
305 |
#@ transposh
|
306 |
msgid "Enable daily backup"
|
307 |
msgstr "Günlük yedeklemeyi etkinleştir"
|
308 |
|
309 |
-
#: wp/transposh_admin.php:
|
310 |
#@ transposh
|
311 |
msgid "Enable live backup"
|
312 |
msgstr "Canlı yedeklemeyi etkinleştir"
|
313 |
|
314 |
-
#: wp/transposh_admin.php:
|
315 |
#@ transposh
|
316 |
msgid "Disable backup (Can be run manually by clicking the button below)"
|
317 |
msgstr "Yedeklemeyi devre dışı bırak (şimdi yedekle düğmesine tıklayarak yedekleme yapabilirsiniz)"
|
318 |
|
319 |
-
#: wp/transposh_admin.php:
|
320 |
#@ transposh
|
321 |
msgid "How to restore?"
|
322 |
msgstr "Nasıl geri yüklenir?"
|
323 |
|
324 |
-
#: wp/transposh_admin.php:
|
325 |
#@ transposh
|
326 |
msgid "Do Backup Now"
|
327 |
msgstr "Şimdi yedekle"
|
328 |
|
329 |
-
#: wp/transposh_admin.php:
|
330 |
#@ transposh
|
331 |
msgid "Transposh makes your blog translatable"
|
332 |
msgstr "Transposh makes your blog translatable"
|
333 |
|
334 |
-
#: wp/transposh_admin.php:
|
335 |
#@ transposh
|
336 |
msgid "Plugin homepage"
|
337 |
msgstr "Eklenti Ana sayfası"
|
338 |
|
339 |
-
#: wp/transposh_admin.php:
|
340 |
#@ transposh
|
341 |
msgid "Frequently asked questions"
|
342 |
msgstr "Sıkça sorulan sorular"
|
343 |
|
344 |
-
#: wp/transposh_admin.php:
|
345 |
-
#@ transposh
|
346 |
-
msgid "Transposh control center"
|
347 |
-
msgstr "Transposh kontrol merkezi"
|
348 |
-
|
349 |
-
#: wp/transposh_admin.php:474
|
350 |
#@ transposh
|
351 |
msgid "Enable url translation"
|
352 |
msgstr "URL tercümesini etkinleştirin"
|
353 |
|
354 |
-
#: wp/transposh_admin.php:
|
355 |
-
#: wp/transposh_admin.php:481
|
356 |
#@ transposh
|
357 |
msgid "experimental"
|
358 |
msgstr "deneysel"
|
359 |
|
360 |
-
#: wp/transposh_admin.php:
|
361 |
#@ transposh
|
362 |
msgid "Rewrite URLs to be search engine friendly, e.g. (http://transposh.org/<strong>en</strong>). Requires that permalinks will be enabled."
|
363 |
msgstr "URL'leri yeniden yazmak için arama motoru dostu, örn. ( http://transposh.org/<strong>en</strong> ). Kalıcı bağlantıların etkinleştirilmiş olması gerekir."
|
364 |
|
365 |
-
#: wp/transposh_db.php:
|
366 |
#@ transposh
|
367 |
msgid "Database stats"
|
368 |
msgstr "Veritabanı istatistikleri"
|
369 |
|
370 |
-
#: wp/transposh_db.php:
|
371 |
#, php-format
|
372 |
#@ transposh
|
373 |
msgid "Total of <strong style=\"color:red\">%s</strong> translated phrases."
|
374 |
msgstr "Toplam <strong style=\"color:red\">%s</strong> cümle tercüme edildi."
|
375 |
|
376 |
-
#: wp/transposh_db.php:
|
377 |
#, php-format
|
378 |
#@ transposh
|
379 |
msgid "<strong>%1s</strong> has <strong style=\"color:red\">%2s</strong> human translated phrases."
|
380 |
msgstr "<strong>%1s</strong> has <strong style=\"color:red\">%2s</strong> insan cümle çevirisi vardır."
|
381 |
|
382 |
-
#: wp/transposh_db.php:
|
383 |
#@ transposh
|
384 |
msgid "Recent activity"
|
385 |
msgstr "Son etkinlikler"
|
386 |
|
387 |
-
#: wp/transposh_db.php:
|
388 |
#, php-format
|
389 |
#@ transposh
|
390 |
msgid "On <strong>%1s</strong><br/>user <strong>%2s</strong> translated<br/>\"<strong>%3s</strong>\"<br/>to <strong style=\"color:red\">%4s</strong><br/>\"<strong>%5s</strong>\""
|
391 |
msgstr "On <strong>%1s</strong><br/>kullanıcı <strong>%2s</strong> tercüme<br/>\"<strong>%3s</strong>\"<br/>to <strong style=\"color:red\">%4s</strong><br/>\"<strong>%5s</strong>\""
|
392 |
|
393 |
-
#: wp/transposh_widget.php:
|
394 |
#@ transposh
|
395 |
msgid "Style:"
|
396 |
msgstr "Stil:"
|
397 |
|
398 |
-
#: wp/transposh_admin.php:
|
399 |
#@ transposh
|
400 |
msgid "Show progress bar when a client triggers automatic translation"
|
401 |
msgstr "otomatik çeviri yapılırken ilerleme çubuğunu göster"
|
402 |
|
403 |
-
#: wp/transposh_admin.php:
|
404 |
#@ transposh
|
405 |
msgid "Show progress bar"
|
406 |
msgstr "İlerleme çubuğunu göster"
|
407 |
|
408 |
-
#: wp/transposh_admin.php:
|
409 |
#@ transposh
|
410 |
msgid "Widget will allow setting this language as user default"
|
411 |
msgstr "Bileşen kullanıcının varsayılan olarak bu dil ayarına izin verecek"
|
412 |
|
413 |
-
#: wp/transposh_admin.php:
|
414 |
#@ transposh
|
415 |
msgid "Allow user to set current language as default"
|
416 |
msgstr "Kullanıcının varsayılan olarak geçerli dilini ayarlamak için izin ver"
|
417 |
|
418 |
-
#: wp/transposh_admin.php:
|
419 |
#@ transposh
|
420 |
msgid "Transposh logo will not appear on widget"
|
421 |
msgstr "Transposh logosu bileşende görünmez"
|
422 |
|
423 |
-
#: wp/transposh_admin.php:
|
424 |
#@ transposh
|
425 |
msgid "Remove transposh logo (see <a href=\"http://transposh.org/logoterms\">terms</a>)"
|
426 |
msgstr "Transhposh logosunu sil (bkz. <a href=\"http://transposh.org/logoterms\">şartlar</a>)"
|
427 |
|
428 |
-
#: wp/transposh_admin.php:
|
429 |
#@ transposh
|
430 |
msgid "Service Key:"
|
431 |
msgstr "Hizmet Key:"
|
432 |
|
433 |
-
#: wp/transposh_widget.php:
|
434 |
#@ transposh
|
435 |
msgid "Set as default language"
|
436 |
msgstr "Varsayılan dil olarak ayarlayın"
|
@@ -467,115 +388,111 @@ msgstr "Transposh Takımı"
|
|
467 |
msgid "%VERSION%"
|
468 |
msgstr "%VERSION%"
|
469 |
|
470 |
-
#: transposh.php:
|
|
|
471 |
#@ default
|
|
|
472 |
msgid "Settings"
|
473 |
msgstr "Ayarlar"
|
474 |
|
475 |
-
#: wp/transposh_admin.php:
|
476 |
-
#@
|
477 |
msgid "Save Changes"
|
478 |
msgstr "Değişiklikleri Kaydet"
|
479 |
|
480 |
-
#: wp/transposh_admin.php:
|
481 |
#@ transposh
|
482 |
msgid "Enable gettext integration"
|
483 |
msgstr "Gettext entegrasyonunu etkinleştirin"
|
484 |
|
485 |
-
#: wp/transposh_admin.php:
|
486 |
#@ transposh
|
487 |
msgid "Enable integration of Transposh with existing gettext interface (.po/.mo files)"
|
488 |
msgstr "Mevcut gettext arayüzü (.po / .mo dosyaları) ile Transposh entegrasyonu etkinleştirin"
|
489 |
|
490 |
-
#: wp/transposh_admin.php:
|
491 |
#@ transposh
|
492 |
msgid "Language supported by apertium translate"
|
493 |
msgstr "Apertium translate tarafından desteklenen dil"
|
494 |
|
495 |
-
#: wp/transposh_admin.php:
|
496 |
#@ transposh
|
497 |
msgid "Attempt to fix errors caused by previous versions - please backup first"
|
498 |
msgstr "Önceki sürümleri tarafından kaynaklanan hataların gidermek için çalıştır - Lütfen yedekleme yapın"
|
499 |
|
500 |
-
#: wp/transposh_widget.php:
|
501 |
#@ transposh
|
502 |
msgid "translation plugin for wordpress"
|
503 |
msgstr "wordpress için çeviri eklentisi"
|
504 |
|
505 |
-
#: wp/transposh_widget.php:
|
506 |
#@ transposh
|
507 |
msgid "wordpress translation plugin"
|
508 |
msgstr "WordPress çeviri eklentisi"
|
509 |
|
510 |
-
#: wp/transposh_widget.php:
|
511 |
#@ transposh
|
512 |
msgid "translate your blog to 60+ languages"
|
513 |
msgstr "Blogunuzu 60+ dile çevirin"
|
514 |
|
515 |
-
#: wp/transposh_widget.php:
|
516 |
#@ transposh
|
517 |
msgid "website crowdsourcing translation plugin"
|
518 |
msgstr "web sitesi crowdsourcing çeviri eklentisi"
|
519 |
|
520 |
-
#: wp/transposh_widget.php:
|
521 |
#@ transposh
|
522 |
msgid "google translate and bing translate plugin for wordpress"
|
523 |
msgstr "Wordpres için google translate ve bing translate eklentisi"
|
524 |
|
525 |
-
#: wp/transposh_admin.php:
|
526 |
-
#: wp/transposh_admin.php:563
|
527 |
#@ transposh
|
528 |
msgid "Edit interface (and progress bar) theme:"
|
529 |
msgstr "İlerleme çubuğu arayüzünü düzenle"
|
530 |
|
531 |
-
#: wp/transposh_admin.php:
|
532 |
#@ transposh
|
533 |
msgid "Allow search of translated languages (and the original language)"
|
534 |
msgstr "Tercüme dilleri Bulmaya izin ver (ve orijinal dili)"
|
535 |
|
536 |
-
#: wp/transposh_admin.php:
|
537 |
#@ transposh
|
538 |
msgid "Enable override for default locale"
|
539 |
msgstr "Varsayılan yerel ayar için geçersiz kılmayı etkinleştirin"
|
540 |
|
541 |
-
#: wp/transposh_admin.php:
|
542 |
#@ transposh
|
543 |
msgid "Enable overriding the default locale that is set in WP_LANG on default languages pages (such as untranslated pages and admin pages)"
|
544 |
msgstr "(Çevrilmemiş sayfaları ve yönetici sayfaları gibi) varsayılan dillerin sayfaları WP_LANG varsayılan yerel geçersiz etkinleştirin"
|
545 |
|
546 |
-
#: wp/transposh_admin.php:
|
547 |
#, php-format
|
548 |
#@ transposh
|
549 |
msgid "Your current PHP memory limit of %s is quite low, if you experience blank pages please consider increasing it."
|
550 |
msgstr "Boş sayfalar lütfen artırmayı düşünebilirsiniz yaşarsanız %s geçerli PHP bellek sınırı oldukça düşüktür."
|
551 |
|
552 |
-
#: wp/transposh_admin.php:
|
553 |
#@ transposh
|
554 |
msgid "We were not able to find a supported in-memory caching engine, installing one can improve performance."
|
555 |
msgstr "Biz kurulu bir performans artırıcı bulamadık, bir önbelleğe alma motoru bulamadık"
|
556 |
|
557 |
-
#: wp/transposh_postpublish.php:
|
558 |
#@ transposh
|
559 |
msgid "Set post language"
|
560 |
msgstr "Mesaj dili olarak ayarlayın"
|
561 |
|
562 |
-
#: wp/transposh_postpublish.php:
|
563 |
-
#@ transposh
|
564 |
-
msgid "Set page language"
|
565 |
-
msgstr "Sayfa dili olarak ayarlayın"
|
566 |
-
|
567 |
-
#: wp/transposh_postpublish.php:198
|
568 |
#@ default
|
569 |
msgid "Default"
|
570 |
msgstr "Varsayılan"
|
571 |
|
572 |
-
#: wp/transposh_admin.php:
|
573 |
-
#: wp/transposh_admin.php:
|
574 |
#@ transposh
|
575 |
msgid "Check Transposh FAQs"
|
576 |
msgstr "Transposh SSS kontrol edin"
|
577 |
|
578 |
-
#: wp/transposh_admin.php:
|
579 |
#@ transposh
|
580 |
msgid "Allow collecting usage statistics"
|
581 |
msgstr "Kullanım istatistikleri toplamaya izin ver"
|
@@ -586,109 +503,436 @@ msgstr "Kullanım istatistikleri toplamaya izin ver"
|
|
586 |
msgid "Select language"
|
587 |
msgstr ""
|
588 |
|
589 |
-
#: wp/transposh_admin.php:
|
590 |
-
#@ transposh
|
591 |
-
msgid "Frontend settings"
|
592 |
-
msgstr ""
|
593 |
-
|
594 |
-
#: wp/transposh_admin.php:508
|
595 |
#@ transposh
|
596 |
msgid "MSN API key"
|
597 |
msgstr ""
|
598 |
|
599 |
-
#: wp/transposh_admin.php:
|
600 |
-
#: wp/transposh_admin.php:
|
601 |
-
#: wp/transposh_admin.php:540
|
602 |
#@ transposh
|
603 |
msgid "API Key"
|
604 |
msgstr ""
|
605 |
|
606 |
-
#: wp/transposh_admin.php:
|
607 |
#@ transposh
|
608 |
msgid "Google API key"
|
609 |
msgstr ""
|
610 |
|
611 |
-
#: wp/transposh_widget.php:
|
612 |
#@ transposh
|
613 |
msgid "Title:"
|
614 |
msgstr ""
|
615 |
|
616 |
-
#: wp/transposh_widget.php:
|
617 |
#@ transposh
|
618 |
msgid "Transposh subwidget was not loaded correctly"
|
619 |
msgstr ""
|
620 |
|
621 |
#. TRANSLATORS: no need to translate this string
|
622 |
-
#: wp/transposh_widget.php:
|
623 |
#@ transposh
|
624 |
msgid "title"
|
625 |
msgstr ""
|
626 |
|
627 |
-
#: wp/transposh_admin.php:
|
628 |
#@ transposh
|
629 |
msgid "Language"
|
630 |
msgstr ""
|
631 |
|
632 |
-
#: wp/transposh_admin.php:
|
633 |
#@ transposh
|
634 |
msgid "This option enables collection of statistics by transposh that will be used to improve the product."
|
635 |
msgstr ""
|
636 |
|
637 |
#. TRANSLATORS: this will be the default widget title
|
638 |
-
#: wp/transposh_widget.php:
|
639 |
#@ transposh
|
640 |
msgid "Translation"
|
641 |
msgstr ""
|
642 |
|
643 |
-
#: wp/transposh_admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
644 |
#@ transposh
|
645 |
-
msgid "
|
646 |
msgstr ""
|
647 |
|
648 |
-
#: wp/transposh_admin.php:
|
649 |
#@ transposh
|
650 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
651 |
msgstr ""
|
652 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
653 |
#: wp/transposh_admin.php:530
|
654 |
#@ transposh
|
655 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
656 |
msgstr ""
|
657 |
|
658 |
#: wp/transposh_admin.php:532
|
659 |
#@ transposh
|
660 |
-
msgid "
|
661 |
msgstr ""
|
662 |
|
663 |
#: wp/transposh_admin.php:533
|
664 |
#@ transposh
|
665 |
-
msgid "
|
666 |
msgstr ""
|
667 |
|
668 |
#: wp/transposh_admin.php:534
|
669 |
#@ transposh
|
670 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
671 |
msgstr ""
|
672 |
|
673 |
#: wp/transposh_admin.php:539
|
674 |
#@ transposh
|
675 |
-
msgid "
|
676 |
msgstr ""
|
677 |
|
678 |
-
#: wp/transposh_admin.php:
|
679 |
#, php-format
|
680 |
#@ transposh
|
681 |
-
msgid "
|
682 |
msgstr ""
|
683 |
|
684 |
-
#: wp/transposh_admin.php:
|
685 |
-
#, php-format
|
686 |
#@ transposh
|
687 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
688 |
msgstr ""
|
689 |
|
690 |
#: wp/transposh_admin.php:636
|
691 |
#@ transposh
|
692 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
693 |
msgstr ""
|
694 |
|
3 |
"Project-Id-Version: Transposh Translation Filter v%VERSION%\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
"POT-Creation-Date: 2011-08-02 00:00:00+00:00\n"
|
6 |
+
"PO-Revision-Date: 2012-12-12 19:51:17+0000\n"
|
7 |
"Last-Translator: Semih Yeşilyurt http://kingdroid.net <info@kingdroid.net>\n"
|
8 |
"Language-Team: Turkish <semih.yesilyurt@gmail.com>\n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"Plural-Forms: nplurals=1; plural=0;\n"
|
13 |
"X-Poedit-Language: Turkish\n"
|
14 |
"X-Poedit-Country: TURKEY\n"
|
15 |
"X-Poedit-SourceCharset: utf-8\n"
|
25 |
msgid "%s translated a phrase to %s with transposh:"
|
26 |
msgstr "%sTransposh ile bir %s ifade tercüme:"
|
27 |
|
28 |
+
#: wp/transposh_admin.php:653
|
29 |
#@ transposh
|
30 |
msgid "Problems?"
|
31 |
msgstr "Problemler?"
|
32 |
|
33 |
+
#: wp/transposh_widget.php:84
|
34 |
#@ transposh
|
35 |
msgid "Transposh language selection widget"
|
36 |
msgstr "Transposh bileşeni dili seçin"
|
37 |
|
38 |
+
#: wp/transposh_admin.php:283
|
|
|
|
|
|
|
|
|
|
|
39 |
#@ transposh
|
40 |
msgid "Plugin news"
|
41 |
msgstr "Eklenti haberleri"
|
42 |
|
43 |
+
#: wp/transposh_admin.php:284
|
44 |
#@ transposh
|
45 |
msgid "Plugin stats"
|
46 |
msgstr "Eklenti istatistikleri"
|
47 |
|
48 |
+
#: wp/transposh_postpublish.php:55
|
49 |
+
#: wp/transposh_widget.php:86
|
50 |
+
#: wp/transposh_widget.php:315
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
#@ transposh
|
52 |
#@ default
|
53 |
msgid "Transposh"
|
54 |
msgstr "Transposh"
|
55 |
|
56 |
+
#: wp/transposh_admin.php:559
|
57 |
#@ transposh
|
58 |
msgid "Translate by clicking the button below"
|
59 |
msgstr "Butonun altındaki diller"
|
60 |
|
61 |
+
#: wp/transposh_admin.php:561
|
62 |
#@ transposh
|
63 |
msgid "Translate All Now"
|
64 |
msgstr "Şimdi Hepsini Tercüme Et"
|
65 |
|
66 |
+
#: wp/transposh_admin.php:616
|
|
|
|
|
|
|
|
|
|
|
67 |
#@ transposh
|
68 |
msgid "Suggest a Feature"
|
69 |
msgstr "Bir özellik önerin"
|
70 |
|
71 |
+
#: wp/transposh_admin.php:617
|
72 |
#@ transposh
|
73 |
msgid "Report a Bug"
|
74 |
msgstr "Hata Bildir"
|
75 |
|
76 |
+
#: wp/transposh_admin.php:364
|
77 |
#@ transposh
|
78 |
msgid "Default Language (drag another language here to make it default)"
|
79 |
msgstr "Varsayılan Dili Seçin (varsayılan dili seçmek için aşağıdan, buraya sürükleyin)"
|
80 |
|
81 |
+
#: wp/transposh_admin.php:372
|
82 |
#@ transposh
|
83 |
msgid "Available Languages (Click to toggle language state - Drag to sort in the widget)"
|
84 |
msgstr "Kullanılabilir Diller (Etkinleştirmek için tıklayın - Bileşende sıralamak için sürükleyin)"
|
85 |
|
86 |
+
#: wp/transposh_admin.php:384
|
87 |
#@ transposh
|
88 |
msgid "Language supported by google translate"
|
89 |
msgstr "Google translate tarafından desteklenen diller"
|
90 |
|
91 |
+
#: wp/transposh_admin.php:386
|
92 |
#@ transposh
|
93 |
msgid "Language supported by bing translate"
|
94 |
msgstr "Bing translate tarafından desteklenen diller"
|
95 |
|
96 |
+
#: wp/transposh_admin.php:392
|
97 |
#@ transposh
|
98 |
msgid "Language is written from right to left"
|
99 |
msgstr "Dil, sağdan sola doğru yazılır"
|
100 |
|
101 |
+
#: wp/transposh_admin.php:397
|
102 |
#@ transposh
|
103 |
msgid "Display options:"
|
104 |
msgstr "Ekran seçenekleri:"
|
105 |
|
106 |
+
#: wp/transposh_admin.php:398
|
107 |
#@ transposh
|
108 |
msgid "Toggle names of languages between English and Original"
|
109 |
msgstr "İngilizce ve Orjinal dile göre sırala"
|
110 |
|
111 |
+
#: wp/transposh_admin.php:399
|
112 |
#@ transposh
|
113 |
msgid "Make all languages active"
|
114 |
msgstr "Tüm diller aktif olsun"
|
115 |
|
116 |
+
#: wp/transposh_admin.php:400
|
117 |
#@ transposh
|
118 |
msgid "Sort by language name"
|
119 |
msgstr "Dil ismine göre sırala"
|
120 |
|
121 |
+
#: wp/transposh_admin.php:401
|
122 |
#@ transposh
|
123 |
msgid "Sort by lSO code"
|
124 |
msgstr "ISO koduna göre sıralayın"
|
125 |
|
126 |
+
#: wp/transposh_admin.php:412
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
127 |
#@ transposh
|
128 |
msgid "Who can translate ?"
|
129 |
msgstr "Kimler tercüme yapabilir?"
|
130 |
|
131 |
+
#: wp/transposh_admin.php:419
|
132 |
#@ transposh
|
133 |
msgid "Anonymous"
|
134 |
msgstr "Anonim"
|
135 |
|
136 |
+
#: wp/transposh_admin.php:421
|
137 |
#@ transposh
|
138 |
msgid "Enable default language translation"
|
139 |
msgstr "Varsayılan dili çevirme etkin"
|
140 |
|
141 |
+
#: wp/transposh_admin.php:422
|
142 |
#@ transposh
|
143 |
msgid "Allow translation of default language - useful for sites with more than one major language"
|
144 |
msgstr "Birden fazla ana dili olan siteler için yararlı - varsayılan dil çeviri izni"
|
145 |
|
146 |
+
#: wp/transposh_admin.php:423
|
147 |
#@ transposh
|
148 |
msgid "Enable search in translated languages"
|
149 |
msgstr "Tercüme edilmiş sayfada arama yapılabilsin"
|
150 |
|
151 |
+
#: wp/transposh_admin.php:518
|
152 |
#@ transposh
|
153 |
msgid "Allow translation of permalinks and urls"
|
154 |
msgstr "Kalıcı URL'lere izin verilsin"
|
155 |
|
156 |
+
#: wp/transposh_admin.php:460
|
157 |
#@ transposh
|
158 |
msgid "Enable automatic translation"
|
159 |
msgstr "Otomatik tercüme aktif"
|
160 |
|
161 |
+
#: wp/transposh_admin.php:461
|
162 |
#@ transposh
|
163 |
msgid "Allow automatic translation of pages"
|
164 |
msgstr "Sayfaları otomatik çevirmeye izin verilsin"
|
165 |
|
166 |
+
#: wp/transposh_admin.php:462
|
167 |
#@ transposh
|
168 |
msgid "Enable automatic translation after posting"
|
169 |
msgstr "Sonraki yazıyı çevirme aktif olsun"
|
170 |
|
171 |
+
#: wp/transposh_admin.php:463
|
172 |
#@ transposh
|
173 |
msgid "Do automatic translation immediately after a post has been published"
|
174 |
msgstr "Yazı yayınlandıktan hemen sonra otomatik olarak çeviri yapılsın"
|
175 |
|
176 |
+
#: wp/transposh_admin.php:470
|
177 |
#@ transposh
|
178 |
msgid "Select preferred auto translation engine"
|
179 |
msgstr "Tercümeyi hangisi yapsın?"
|
180 |
|
181 |
+
#: wp/transposh_admin.php:471
|
182 |
#@ transposh
|
183 |
msgid "Translation engine:"
|
184 |
msgstr "Arama Motoru:"
|
185 |
|
186 |
+
#: wp/transposh_admin.php:472
|
187 |
#@ transposh
|
188 |
msgid "Google"
|
189 |
msgstr "Google"
|
190 |
|
191 |
+
#: wp/transposh_admin.php:473
|
192 |
#@ transposh
|
193 |
msgid "Bing"
|
194 |
msgstr "Bing"
|
195 |
|
196 |
+
#: wp/transposh_admin.php:433
|
197 |
#@ transposh
|
198 |
msgid "Rewrite URLs"
|
199 |
msgstr "Rewrite URL'ler"
|
200 |
|
201 |
+
#: wp/transposh_admin.php:437
|
202 |
#@ transposh
|
203 |
msgid "Add scripts to footer"
|
204 |
msgstr "Footer'a script ekle"
|
205 |
|
206 |
+
#: wp/transposh_admin.php:439
|
207 |
#@ transposh
|
208 |
msgid "Push transposh scripts to footer of page instead of header, makes pages load faster. Requires that your theme should have proper footer support."
|
209 |
msgstr "Başlığının yerine sayfa altbilgisi yerleştirin, sayfaların daha hızlı yüklenmesini sağlar. Temaya uygun altbilgi desteği olması gerekir."
|
210 |
|
211 |
+
#: wp/transposh_admin.php:440
|
212 |
#@ transposh
|
213 |
msgid "Auto detect language for users"
|
214 |
msgstr "Kullanıcının dilini otomatik tespit et"
|
215 |
|
216 |
+
#: wp/transposh_admin.php:442
|
217 |
#@ transposh
|
218 |
msgid "This enables auto detection of language used by the user as defined in the ACCEPT_LANGUAGES they send. This will redirect the first page accessed in the session to the same page with the detected language."
|
219 |
msgstr "Gönderilen ACCEPT_LANGUAGES komutuyla ziyaretçinin dilini otomatik olarak tespit edecektir. Bu oturumda aynı sayfaya eriştiğinde onu çevrilmiş sayfaya yönlendirecektir."
|
220 |
|
221 |
+
#: wp/transposh_admin.php:554
|
222 |
#@ transposh
|
223 |
msgid "Delete all automated translations"
|
224 |
msgstr "Tüm otomatik çevirileri sil"
|
225 |
|
226 |
+
#: wp/transposh_admin.php:555
|
227 |
#@ transposh
|
228 |
msgid "Delete automated translations older than 14 days"
|
229 |
msgstr "14 günden eski otomatik çevrilmiş sayfaları sil"
|
230 |
|
231 |
+
#: wp/transposh_admin.php:451
|
|
|
|
|
|
|
|
|
|
|
232 |
#@ transposh
|
233 |
msgid "Enable daily backup"
|
234 |
msgstr "Günlük yedeklemeyi etkinleştir"
|
235 |
|
236 |
+
#: wp/transposh_admin.php:452
|
237 |
#@ transposh
|
238 |
msgid "Enable live backup"
|
239 |
msgstr "Canlı yedeklemeyi etkinleştir"
|
240 |
|
241 |
+
#: wp/transposh_admin.php:453
|
242 |
#@ transposh
|
243 |
msgid "Disable backup (Can be run manually by clicking the button below)"
|
244 |
msgstr "Yedeklemeyi devre dışı bırak (şimdi yedekle düğmesine tıklayarak yedekleme yapabilirsiniz)"
|
245 |
|
246 |
+
#: wp/transposh_admin.php:454
|
247 |
#@ transposh
|
248 |
msgid "How to restore?"
|
249 |
msgstr "Nasıl geri yüklenir?"
|
250 |
|
251 |
+
#: wp/transposh_admin.php:548
|
252 |
#@ transposh
|
253 |
msgid "Do Backup Now"
|
254 |
msgstr "Şimdi yedekle"
|
255 |
|
256 |
+
#: wp/transposh_admin.php:185
|
257 |
#@ transposh
|
258 |
msgid "Transposh makes your blog translatable"
|
259 |
msgstr "Transposh makes your blog translatable"
|
260 |
|
261 |
+
#: wp/transposh_admin.php:187
|
262 |
#@ transposh
|
263 |
msgid "Plugin homepage"
|
264 |
msgstr "Eklenti Ana sayfası"
|
265 |
|
266 |
+
#: wp/transposh_admin.php:188
|
267 |
#@ transposh
|
268 |
msgid "Frequently asked questions"
|
269 |
msgstr "Sıkça sorulan sorular"
|
270 |
|
271 |
+
#: wp/transposh_admin.php:518
|
|
|
|
|
|
|
|
|
|
|
272 |
#@ transposh
|
273 |
msgid "Enable url translation"
|
274 |
msgstr "URL tercümesini etkinleştirin"
|
275 |
|
276 |
+
#: wp/transposh_admin.php:518
|
|
|
277 |
#@ transposh
|
278 |
msgid "experimental"
|
279 |
msgstr "deneysel"
|
280 |
|
281 |
+
#: wp/transposh_admin.php:436
|
282 |
#@ transposh
|
283 |
msgid "Rewrite URLs to be search engine friendly, e.g. (http://transposh.org/<strong>en</strong>). Requires that permalinks will be enabled."
|
284 |
msgstr "URL'leri yeniden yazmak için arama motoru dostu, örn. ( http://transposh.org/<strong>en</strong> ). Kalıcı bağlantıların etkinleştirilmiş olması gerekir."
|
285 |
|
286 |
+
#: wp/transposh_db.php:684
|
287 |
#@ transposh
|
288 |
msgid "Database stats"
|
289 |
msgstr "Veritabanı istatistikleri"
|
290 |
|
291 |
+
#: wp/transposh_db.php:689
|
292 |
#, php-format
|
293 |
#@ transposh
|
294 |
msgid "Total of <strong style=\"color:red\">%s</strong> translated phrases."
|
295 |
msgstr "Toplam <strong style=\"color:red\">%s</strong> cümle tercüme edildi."
|
296 |
|
297 |
+
#: wp/transposh_db.php:696
|
298 |
#, php-format
|
299 |
#@ transposh
|
300 |
msgid "<strong>%1s</strong> has <strong style=\"color:red\">%2s</strong> human translated phrases."
|
301 |
msgstr "<strong>%1s</strong> has <strong style=\"color:red\">%2s</strong> insan cümle çevirisi vardır."
|
302 |
|
303 |
+
#: wp/transposh_db.php:699
|
304 |
#@ transposh
|
305 |
msgid "Recent activity"
|
306 |
msgstr "Son etkinlikler"
|
307 |
|
308 |
+
#: wp/transposh_db.php:704
|
309 |
#, php-format
|
310 |
#@ transposh
|
311 |
msgid "On <strong>%1s</strong><br/>user <strong>%2s</strong> translated<br/>\"<strong>%3s</strong>\"<br/>to <strong style=\"color:red\">%4s</strong><br/>\"<strong>%5s</strong>\""
|
312 |
msgstr "On <strong>%1s</strong><br/>kullanıcı <strong>%2s</strong> tercüme<br/>\"<strong>%3s</strong>\"<br/>to <strong style=\"color:red\">%4s</strong><br/>\"<strong>%5s</strong>\""
|
313 |
|
314 |
+
#: wp/transposh_widget.php:129
|
315 |
#@ transposh
|
316 |
msgid "Style:"
|
317 |
msgstr "Stil:"
|
318 |
|
319 |
+
#: wp/transposh_admin.php:506
|
320 |
#@ transposh
|
321 |
msgid "Show progress bar when a client triggers automatic translation"
|
322 |
msgstr "otomatik çeviri yapılırken ilerleme çubuğunu göster"
|
323 |
|
324 |
+
#: wp/transposh_admin.php:505
|
325 |
#@ transposh
|
326 |
msgid "Show progress bar"
|
327 |
msgstr "İlerleme çubuğunu göster"
|
328 |
|
329 |
+
#: wp/transposh_admin.php:509
|
330 |
#@ transposh
|
331 |
msgid "Widget will allow setting this language as user default"
|
332 |
msgstr "Bileşen kullanıcının varsayılan olarak bu dil ayarına izin verecek"
|
333 |
|
334 |
+
#: wp/transposh_admin.php:508
|
335 |
#@ transposh
|
336 |
msgid "Allow user to set current language as default"
|
337 |
msgstr "Kullanıcının varsayılan olarak geçerli dilini ayarlamak için izin ver"
|
338 |
|
339 |
+
#: wp/transposh_admin.php:512
|
340 |
#@ transposh
|
341 |
msgid "Transposh logo will not appear on widget"
|
342 |
msgstr "Transposh logosu bileşende görünmez"
|
343 |
|
344 |
+
#: wp/transposh_admin.php:511
|
345 |
#@ transposh
|
346 |
msgid "Remove transposh logo (see <a href=\"http://transposh.org/logoterms\">terms</a>)"
|
347 |
msgstr "Transhposh logosunu sil (bkz. <a href=\"http://transposh.org/logoterms\">şartlar</a>)"
|
348 |
|
349 |
+
#: wp/transposh_admin.php:454
|
350 |
#@ transposh
|
351 |
msgid "Service Key:"
|
352 |
msgstr "Hizmet Key:"
|
353 |
|
354 |
+
#: wp/transposh_widget.php:288
|
355 |
#@ transposh
|
356 |
msgid "Set as default language"
|
357 |
msgstr "Varsayılan dil olarak ayarlayın"
|
388 |
msgid "%VERSION%"
|
389 |
msgstr "%VERSION%"
|
390 |
|
391 |
+
#: transposh.php:921
|
392 |
+
#: wp/transposh_admin.php:59
|
393 |
#@ default
|
394 |
+
#@ transposh
|
395 |
msgid "Settings"
|
396 |
msgstr "Ayarlar"
|
397 |
|
398 |
+
#: wp/transposh_admin.php:316
|
399 |
+
#@ transposh
|
400 |
msgid "Save Changes"
|
401 |
msgstr "Değişiklikleri Kaydet"
|
402 |
|
403 |
+
#: wp/transposh_admin.php:425
|
404 |
#@ transposh
|
405 |
msgid "Enable gettext integration"
|
406 |
msgstr "Gettext entegrasyonunu etkinleştirin"
|
407 |
|
408 |
+
#: wp/transposh_admin.php:426
|
409 |
#@ transposh
|
410 |
msgid "Enable integration of Transposh with existing gettext interface (.po/.mo files)"
|
411 |
msgstr "Mevcut gettext arayüzü (.po / .mo dosyaları) ile Transposh entegrasyonu etkinleştirin"
|
412 |
|
413 |
+
#: wp/transposh_admin.php:388
|
414 |
#@ transposh
|
415 |
msgid "Language supported by apertium translate"
|
416 |
msgstr "Apertium translate tarafından desteklenen dil"
|
417 |
|
418 |
+
#: wp/transposh_admin.php:556
|
419 |
#@ transposh
|
420 |
msgid "Attempt to fix errors caused by previous versions - please backup first"
|
421 |
msgstr "Önceki sürümleri tarafından kaynaklanan hataların gidermek için çalıştır - Lütfen yedekleme yapın"
|
422 |
|
423 |
+
#: wp/transposh_widget.php:318
|
424 |
#@ transposh
|
425 |
msgid "translation plugin for wordpress"
|
426 |
msgstr "wordpress için çeviri eklentisi"
|
427 |
|
428 |
+
#: wp/transposh_widget.php:321
|
429 |
#@ transposh
|
430 |
msgid "wordpress translation plugin"
|
431 |
msgstr "WordPress çeviri eklentisi"
|
432 |
|
433 |
+
#: wp/transposh_widget.php:324
|
434 |
#@ transposh
|
435 |
msgid "translate your blog to 60+ languages"
|
436 |
msgstr "Blogunuzu 60+ dile çevirin"
|
437 |
|
438 |
+
#: wp/transposh_widget.php:327
|
439 |
#@ transposh
|
440 |
msgid "website crowdsourcing translation plugin"
|
441 |
msgstr "web sitesi crowdsourcing çeviri eklentisi"
|
442 |
|
443 |
+
#: wp/transposh_widget.php:330
|
444 |
#@ transposh
|
445 |
msgid "google translate and bing translate plugin for wordpress"
|
446 |
msgstr "Wordpres için google translate ve bing translate eklentisi"
|
447 |
|
448 |
+
#: wp/transposh_admin.php:514
|
|
|
449 |
#@ transposh
|
450 |
msgid "Edit interface (and progress bar) theme:"
|
451 |
msgstr "İlerleme çubuğu arayüzünü düzenle"
|
452 |
|
453 |
+
#: wp/transposh_admin.php:424
|
454 |
#@ transposh
|
455 |
msgid "Allow search of translated languages (and the original language)"
|
456 |
msgstr "Tercüme dilleri Bulmaya izin ver (ve orijinal dili)"
|
457 |
|
458 |
+
#: wp/transposh_admin.php:428
|
459 |
#@ transposh
|
460 |
msgid "Enable override for default locale"
|
461 |
msgstr "Varsayılan yerel ayar için geçersiz kılmayı etkinleştirin"
|
462 |
|
463 |
+
#: wp/transposh_admin.php:429
|
464 |
#@ transposh
|
465 |
msgid "Enable overriding the default locale that is set in WP_LANG on default languages pages (such as untranslated pages and admin pages)"
|
466 |
msgstr "(Çevrilmemiş sayfaları ve yönetici sayfaları gibi) varsayılan dillerin sayfaları WP_LANG varsayılan yerel geçersiz etkinleştirin"
|
467 |
|
468 |
+
#: wp/transposh_admin.php:734
|
469 |
#, php-format
|
470 |
#@ transposh
|
471 |
msgid "Your current PHP memory limit of %s is quite low, if you experience blank pages please consider increasing it."
|
472 |
msgstr "Boş sayfalar lütfen artırmayı düşünebilirsiniz yaşarsanız %s geçerli PHP bellek sınırı oldukça düşüktür."
|
473 |
|
474 |
+
#: wp/transposh_admin.php:738
|
475 |
#@ transposh
|
476 |
msgid "We were not able to find a supported in-memory caching engine, installing one can improve performance."
|
477 |
msgstr "Biz kurulu bir performans artırıcı bulamadık, bir önbelleğe alma motoru bulamadık"
|
478 |
|
479 |
+
#: wp/transposh_postpublish.php:57
|
480 |
#@ transposh
|
481 |
msgid "Set post language"
|
482 |
msgstr "Mesaj dili olarak ayarlayın"
|
483 |
|
484 |
+
#: wp/transposh_postpublish.php:203
|
|
|
|
|
|
|
|
|
|
|
485 |
#@ default
|
486 |
msgid "Default"
|
487 |
msgstr "Varsayılan"
|
488 |
|
489 |
+
#: wp/transposh_admin.php:734
|
490 |
+
#: wp/transposh_admin.php:738
|
491 |
#@ transposh
|
492 |
msgid "Check Transposh FAQs"
|
493 |
msgstr "Transposh SSS kontrol edin"
|
494 |
|
495 |
+
#: wp/transposh_admin.php:443
|
496 |
#@ transposh
|
497 |
msgid "Allow collecting usage statistics"
|
498 |
msgstr "Kullanım istatistikleri toplamaya izin ver"
|
503 |
msgid "Select language"
|
504 |
msgstr ""
|
505 |
|
506 |
+
#: wp/transposh_admin.php:465
|
|
|
|
|
|
|
|
|
|
|
507 |
#@ transposh
|
508 |
msgid "MSN API key"
|
509 |
msgstr ""
|
510 |
|
511 |
+
#: wp/transposh_admin.php:466
|
512 |
+
#: wp/transposh_admin.php:469
|
|
|
513 |
#@ transposh
|
514 |
msgid "API Key"
|
515 |
msgstr ""
|
516 |
|
517 |
+
#: wp/transposh_admin.php:468
|
518 |
#@ transposh
|
519 |
msgid "Google API key"
|
520 |
msgstr ""
|
521 |
|
522 |
+
#: wp/transposh_widget.php:124
|
523 |
#@ transposh
|
524 |
msgid "Title:"
|
525 |
msgstr ""
|
526 |
|
527 |
+
#: wp/transposh_widget.php:256
|
528 |
#@ transposh
|
529 |
msgid "Transposh subwidget was not loaded correctly"
|
530 |
msgstr ""
|
531 |
|
532 |
#. TRANSLATORS: no need to translate this string
|
533 |
+
#: wp/transposh_widget.php:273
|
534 |
#@ transposh
|
535 |
msgid "title"
|
536 |
msgstr ""
|
537 |
|
538 |
+
#: wp/transposh_admin.php:760
|
539 |
#@ transposh
|
540 |
msgid "Language"
|
541 |
msgstr ""
|
542 |
|
543 |
+
#: wp/transposh_admin.php:444
|
544 |
#@ transposh
|
545 |
msgid "This option enables collection of statistics by transposh that will be used to improve the product."
|
546 |
msgstr ""
|
547 |
|
548 |
#. TRANSLATORS: this will be the default widget title
|
549 |
+
#: wp/transposh_widget.php:119
|
550 |
#@ transposh
|
551 |
msgid "Translation"
|
552 |
msgstr ""
|
553 |
|
554 |
+
#: wp/transposh_admin.php:390
|
555 |
+
#@ transposh
|
556 |
+
msgid "Language supported by one hour translation"
|
557 |
+
msgstr ""
|
558 |
+
|
559 |
+
#: wp/transposh_admin.php:477
|
560 |
+
#@ transposh
|
561 |
+
msgid "<a href=\"http://transposh.org/redir/oht\">One Hour Translation</a>, is the largest professional translation service online, with thousands of business customers, including 57% of the Fortune 500 companies, and over 15000 translators worldwide."
|
562 |
+
msgstr ""
|
563 |
+
|
564 |
+
#: wp/transposh_admin.php:479
|
565 |
#@ transposh
|
566 |
+
msgid "One Hour Translation provides high-quality, fast professional translation to/from any language, and has specific domain expertise in SW localization, technical, business, and legal translations."
|
567 |
msgstr ""
|
568 |
|
569 |
+
#: wp/transposh_admin.php:483
|
570 |
#@ transposh
|
571 |
+
msgid "One Hour Translation account ID"
|
572 |
+
msgstr ""
|
573 |
+
|
574 |
+
#: wp/transposh_admin.php:484
|
575 |
+
#: wp/transposh_admin.php:488
|
576 |
+
#@ transposh
|
577 |
+
msgid "Account ID"
|
578 |
+
msgstr ""
|
579 |
+
|
580 |
+
#: wp/transposh_admin.php:487
|
581 |
+
#@ transposh
|
582 |
+
msgid "One Hour Translation secret key"
|
583 |
+
msgstr ""
|
584 |
+
|
585 |
+
#: wp/transposh_admin.php:499
|
586 |
+
#, php-format
|
587 |
+
#@ transposh
|
588 |
+
msgid "%d projects have been submitted and waiting for completion"
|
589 |
+
msgstr ""
|
590 |
+
|
591 |
+
#: wp/transposh_admin.php:756
|
592 |
+
#@ transposh
|
593 |
+
msgid "Unset"
|
594 |
+
msgstr ""
|
595 |
+
|
596 |
+
#: wp/transposh_admin.php:57
|
597 |
+
#@ transposh
|
598 |
+
msgid "Dashboard"
|
599 |
+
msgstr ""
|
600 |
+
|
601 |
+
#: wp/transposh_admin.php:58
|
602 |
+
#@ transposh
|
603 |
+
msgid "Languages"
|
604 |
+
msgstr ""
|
605 |
+
|
606 |
+
#: wp/transposh_admin.php:60
|
607 |
+
#@ transposh
|
608 |
+
msgid "Translation Engines"
|
609 |
+
msgstr ""
|
610 |
+
|
611 |
+
#: wp/transposh_admin.php:61
|
612 |
+
#@ transposh
|
613 |
+
msgid "Widgets settings"
|
614 |
+
msgstr ""
|
615 |
+
|
616 |
+
#: wp/transposh_admin.php:62
|
617 |
+
#@ transposh
|
618 |
+
msgid "Advanced"
|
619 |
+
msgstr ""
|
620 |
+
|
621 |
+
#: wp/transposh_admin.php:63
|
622 |
+
#@ transposh
|
623 |
+
msgid "Utilities"
|
624 |
+
msgstr ""
|
625 |
+
|
626 |
+
#: wp/transposh_admin.php:64
|
627 |
+
#@ transposh
|
628 |
+
msgid "About"
|
629 |
+
msgstr ""
|
630 |
+
|
631 |
+
#: wp/transposh_admin.php:65
|
632 |
+
#@ transposh
|
633 |
+
msgid "Support"
|
634 |
+
msgstr ""
|
635 |
+
|
636 |
+
#: wp/transposh_admin.php:186
|
637 |
+
#@ transposh
|
638 |
+
msgid "For further help and assistance, please look at the following resources:"
|
639 |
+
msgstr ""
|
640 |
+
|
641 |
+
#: wp/transposh_admin.php:189
|
642 |
+
#@ transposh
|
643 |
+
msgid "Development website"
|
644 |
+
msgstr ""
|
645 |
+
|
646 |
+
#: wp/transposh_admin.php:278
|
647 |
+
#@ transposh
|
648 |
+
msgid "Transposh Help"
|
649 |
+
msgstr ""
|
650 |
+
|
651 |
+
#: wp/transposh_admin.php:407
|
652 |
+
#@ transposh
|
653 |
+
msgid "Translation related settings"
|
654 |
+
msgstr ""
|
655 |
+
|
656 |
+
#: wp/transposh_admin.php:432
|
657 |
+
#@ transposh
|
658 |
+
msgid "General settings"
|
659 |
msgstr ""
|
660 |
|
661 |
+
#: wp/transposh_admin.php:450
|
662 |
+
#@ transposh
|
663 |
+
msgid "Backup service settings"
|
664 |
+
msgstr ""
|
665 |
+
|
666 |
+
#: wp/transposh_admin.php:459
|
667 |
+
#@ transposh
|
668 |
+
msgid "Automatic Translation Settings"
|
669 |
+
msgstr ""
|
670 |
+
|
671 |
+
#: wp/transposh_admin.php:477
|
672 |
+
#@ transposh
|
673 |
+
msgid "Professional Translation Settings"
|
674 |
+
msgstr ""
|
675 |
+
|
676 |
+
#: wp/transposh_admin.php:494
|
677 |
+
#, php-format
|
678 |
+
#@ transposh
|
679 |
+
msgid "%d phrases currently queued for next job in ~%d minutes"
|
680 |
+
msgstr ""
|
681 |
+
|
682 |
+
#: wp/transposh_admin.php:520
|
683 |
+
#@ transposh
|
684 |
+
msgid "Parser related settings"
|
685 |
+
msgstr ""
|
686 |
+
|
687 |
+
#: wp/transposh_admin.php:521
|
688 |
#: wp/transposh_admin.php:530
|
689 |
#@ transposh
|
690 |
+
msgid "This is extremely dangerous, will break your current translations, and might cause severe hickups, only proceed if you really know what you are doing."
|
691 |
+
msgstr ""
|
692 |
+
|
693 |
+
#: wp/transposh_admin.php:522
|
694 |
+
#@ transposh
|
695 |
+
msgid "Disable punctuations break"
|
696 |
+
msgstr ""
|
697 |
+
|
698 |
+
#: wp/transposh_admin.php:523
|
699 |
+
#@ transposh
|
700 |
+
msgid "The parser will not break text into phrases when encountering punctuations such as dots"
|
701 |
+
msgstr ""
|
702 |
+
|
703 |
+
#: wp/transposh_admin.php:524
|
704 |
+
#@ transposh
|
705 |
+
msgid "Disable numbers break"
|
706 |
+
msgstr ""
|
707 |
+
|
708 |
+
#: wp/transposh_admin.php:525
|
709 |
+
#@ transposh
|
710 |
+
msgid "The parser will not break text into phrases when encountering numbers"
|
711 |
+
msgstr ""
|
712 |
+
|
713 |
+
#: wp/transposh_admin.php:526
|
714 |
+
#@ transposh
|
715 |
+
msgid "Disable html entities break"
|
716 |
+
msgstr ""
|
717 |
+
|
718 |
+
#: wp/transposh_admin.php:527
|
719 |
+
#@ transposh
|
720 |
+
msgid "The parser will not break text into phrases when encountering html entities"
|
721 |
+
msgstr ""
|
722 |
+
|
723 |
+
#: wp/transposh_admin.php:529
|
724 |
+
#@ transposh
|
725 |
+
msgid "Debug settings"
|
726 |
+
msgstr ""
|
727 |
+
|
728 |
+
#: wp/transposh_admin.php:531
|
729 |
+
#@ transposh
|
730 |
+
msgid "Enable debugging"
|
731 |
msgstr ""
|
732 |
|
733 |
#: wp/transposh_admin.php:532
|
734 |
#@ transposh
|
735 |
+
msgid "Enable running of Transposh internal debug functions"
|
736 |
msgstr ""
|
737 |
|
738 |
#: wp/transposh_admin.php:533
|
739 |
#@ transposh
|
740 |
+
msgid "Log file name"
|
741 |
msgstr ""
|
742 |
|
743 |
#: wp/transposh_admin.php:534
|
744 |
#@ transposh
|
745 |
+
msgid "Level of logging"
|
746 |
+
msgstr ""
|
747 |
+
|
748 |
+
#: wp/transposh_admin.php:535
|
749 |
+
#@ transposh
|
750 |
+
msgid "Critical"
|
751 |
+
msgstr ""
|
752 |
+
|
753 |
+
#: wp/transposh_admin.php:536
|
754 |
+
#@ transposh
|
755 |
+
msgid "Important"
|
756 |
+
msgstr ""
|
757 |
+
|
758 |
+
#: wp/transposh_admin.php:537
|
759 |
+
#@ transposh
|
760 |
+
msgid "Warning"
|
761 |
+
msgstr ""
|
762 |
+
|
763 |
+
#: wp/transposh_admin.php:538
|
764 |
+
#@ transposh
|
765 |
+
msgid "Information"
|
766 |
msgstr ""
|
767 |
|
768 |
#: wp/transposh_admin.php:539
|
769 |
#@ transposh
|
770 |
+
msgid "Debug"
|
771 |
msgstr ""
|
772 |
|
773 |
+
#: wp/transposh_admin.php:541
|
774 |
#, php-format
|
775 |
#@ transposh
|
776 |
+
msgid "Remote debug IP (Your current IP is %s)"
|
777 |
msgstr ""
|
778 |
|
779 |
+
#: wp/transposh_admin.php:553
|
|
|
780 |
#@ transposh
|
781 |
+
msgid "Reset configuration to default (saves keys)"
|
782 |
+
msgstr ""
|
783 |
+
|
784 |
+
#: wp/transposh_admin.php:567
|
785 |
+
#@ transposh
|
786 |
+
msgid "About Transposh"
|
787 |
+
msgstr ""
|
788 |
+
|
789 |
+
#: wp/transposh_admin.php:568
|
790 |
+
#@ transposh
|
791 |
+
msgid "Transposh was started at 2008 and is dedicated to provide tools to ease website translation."
|
792 |
+
msgstr ""
|
793 |
+
|
794 |
+
#: wp/transposh_admin.php:570
|
795 |
+
#@ transposh
|
796 |
+
msgid "Learn more about us in the following online presenses"
|
797 |
+
msgstr ""
|
798 |
+
|
799 |
+
#: wp/transposh_admin.php:573
|
800 |
+
#@ transposh
|
801 |
+
msgid "Our website"
|
802 |
+
msgstr ""
|
803 |
+
|
804 |
+
#: wp/transposh_admin.php:575
|
805 |
+
#@ transposh
|
806 |
+
msgid "Our blog"
|
807 |
+
msgstr ""
|
808 |
+
|
809 |
+
#: wp/transposh_admin.php:577
|
810 |
+
#@ transposh
|
811 |
+
msgid "Our twitter account (feel free to follow!)"
|
812 |
+
msgstr ""
|
813 |
+
|
814 |
+
#: wp/transposh_admin.php:579
|
815 |
+
#@ transposh
|
816 |
+
msgid "Our facebook page (feel free to like!)"
|
817 |
+
msgstr ""
|
818 |
+
|
819 |
+
#: wp/transposh_admin.php:581
|
820 |
+
#@ transposh
|
821 |
+
msgid "Our google plus page (add us to your circles!)"
|
822 |
+
msgstr ""
|
823 |
+
|
824 |
+
#: wp/transposh_admin.php:583
|
825 |
+
#@ transposh
|
826 |
+
msgid "Our youtube channel"
|
827 |
+
msgstr ""
|
828 |
+
|
829 |
+
#: wp/transposh_admin.php:592
|
830 |
+
#@ transposh
|
831 |
+
msgid "Transposh support"
|
832 |
+
msgstr ""
|
833 |
+
|
834 |
+
#: wp/transposh_admin.php:593
|
835 |
+
#@ transposh
|
836 |
+
msgid "Have you encountered any problem with our plugin and need our help?"
|
837 |
+
msgstr ""
|
838 |
+
|
839 |
+
#: wp/transposh_admin.php:594
|
840 |
+
#@ transposh
|
841 |
+
msgid "Do you need to ask us any question?"
|
842 |
+
msgstr ""
|
843 |
+
|
844 |
+
#: wp/transposh_admin.php:595
|
845 |
+
#@ transposh
|
846 |
+
msgid "You have two options:"
|
847 |
+
msgstr ""
|
848 |
+
|
849 |
+
#: wp/transposh_admin.php:597
|
850 |
+
#@ transposh
|
851 |
+
msgid "Our free support"
|
852 |
+
msgstr ""
|
853 |
+
|
854 |
+
#: wp/transposh_admin.php:599
|
855 |
+
#@ transposh
|
856 |
+
msgid "There are many channels to reach us and we do try to help as fast as we can"
|
857 |
+
msgstr ""
|
858 |
+
|
859 |
+
#: wp/transposh_admin.php:600
|
860 |
+
#@ transposh
|
861 |
+
msgid "You can contact us through our contact form on our web site"
|
862 |
+
msgstr ""
|
863 |
+
|
864 |
+
#: wp/transposh_admin.php:601
|
865 |
+
#@ transposh
|
866 |
+
msgid "Create a ticket for us if you have found any bugs"
|
867 |
+
msgstr ""
|
868 |
+
|
869 |
+
#: wp/transposh_admin.php:602
|
870 |
+
#@ transposh
|
871 |
+
msgid "Reach us via different forums:"
|
872 |
+
msgstr ""
|
873 |
+
|
874 |
+
#: wp/transposh_admin.php:605
|
875 |
+
#@ transposh
|
876 |
+
msgid "Our support forum on wordpress.org"
|
877 |
+
msgstr ""
|
878 |
+
|
879 |
+
#: wp/transposh_admin.php:607
|
880 |
+
#@ transposh
|
881 |
+
msgid "Our internal development site, with wiki and tickets"
|
882 |
+
msgstr ""
|
883 |
+
|
884 |
+
#: wp/transposh_admin.php:609
|
885 |
+
#@ transposh
|
886 |
+
msgid "Our facebook page"
|
887 |
+
msgstr ""
|
888 |
+
|
889 |
+
#: wp/transposh_admin.php:611
|
890 |
+
#@ transposh
|
891 |
+
msgid "Our google plus page"
|
892 |
+
msgstr ""
|
893 |
+
|
894 |
+
#: wp/transposh_admin.php:613
|
895 |
+
#@ transposh
|
896 |
+
msgid "Contact us directly via:"
|
897 |
+
msgstr ""
|
898 |
+
|
899 |
+
#: wp/transposh_admin.php:615
|
900 |
+
#@ transposh
|
901 |
+
msgid "Our contact form"
|
902 |
+
msgstr ""
|
903 |
+
|
904 |
+
#: wp/transposh_admin.php:621
|
905 |
+
#@ transposh
|
906 |
+
msgid "Professional support option"
|
907 |
+
msgstr ""
|
908 |
+
|
909 |
+
#: wp/transposh_admin.php:623
|
910 |
+
#@ transposh
|
911 |
+
msgid "For the low low price of $99, we will take express action on your request. By express we mean that your issue will become our top priority, and will resolve ASAP"
|
912 |
+
msgstr ""
|
913 |
+
|
914 |
+
#: wp/transposh_admin.php:624
|
915 |
+
#@ transposh
|
916 |
+
msgid "This includes helping with various bugs, basic theme/plugins conflicts, or just telling you where the ON button is"
|
917 |
+
msgstr ""
|
918 |
+
|
919 |
+
#: wp/transposh_admin.php:625
|
920 |
+
#@ transposh
|
921 |
+
msgid "Full money back guarentee! If your problem remains unresolved or you are simply unhappy we will refund your paypal account as soon as you ask (as long as paypal allows it, don't come to us three years later!)"
|
922 |
+
msgstr ""
|
923 |
+
|
924 |
+
#: wp/transposh_admin.php:626
|
925 |
+
#@ transposh
|
926 |
+
msgid "So hit the following button. Thanks!"
|
927 |
msgstr ""
|
928 |
|
929 |
#: wp/transposh_admin.php:636
|
930 |
#@ transposh
|
931 |
+
msgid "Donations"
|
932 |
+
msgstr ""
|
933 |
+
|
934 |
+
#: wp/transposh_admin.php:638
|
935 |
+
#@ transposh
|
936 |
+
msgid "If you just want to show that you care, this is the button for you. But please think twice before doing this. It will make us happier if you just do something nice for someone in your area, contribute to a local charity, and let us know that you did that :)"
|
937 |
msgstr ""
|
938 |
|
@@ -2,9 +2,9 @@
|
|
2 |
Contributors: oferwald
|
3 |
Donate link: http://transposh.org/donate/
|
4 |
Tags: translation, translate, i18n, widget, filter, buddypress, bilingual, multilingual, transposh, language, crowdsourcing, google translate, bing translate, context, wiki, RTL, Hebrew, Spanish, French, Russian, English, Arabic, Portuguese
|
5 |
-
Requires at least: 3.
|
6 |
-
Tested up to: 3.
|
7 |
-
Stable tag: 0.
|
8 |
|
9 |
Transposh adds best of breed translation support to wordpress, 66 languages are automatically translated and can be manually corrected with ease.
|
10 |
|
@@ -109,7 +109,7 @@ This version allows sorting of languages within the widget
|
|
109 |
* Russian translation by Romans Matusevics
|
110 |
* Hebrew translation by [Amir](http://colnect.com/he)
|
111 |
* Frontend Spanish translation by [Ignacio](http://colnect.com/es/collectors/collector/iflvico)
|
112 |
-
* Italian translation by
|
113 |
* Persian translation by [Sushyant Zavarzadeh](http://zavarzadeh.org)
|
114 |
* Spanish translation by [Angel Torregrosa](http://wordp.relatividad.org)
|
115 |
* German translation by [Jenny Beelens](http://www.professionaltranslation.com)
|
@@ -117,6 +117,24 @@ This version allows sorting of languages within the widget
|
|
117 |
* Portuguese (Brazil) translation by [Amilton Junior](http://www.dicasemgeral.com)
|
118 |
|
119 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
120 |
= 2012/09/15 - 0.8.5 =
|
121 |
* Support for Lao (Thanks to Google Translate)
|
122 |
= 2012/09/03 - 0.8.4 =
|
2 |
Contributors: oferwald
|
3 |
Donate link: http://transposh.org/donate/
|
4 |
Tags: translation, translate, i18n, widget, filter, buddypress, bilingual, multilingual, transposh, language, crowdsourcing, google translate, bing translate, context, wiki, RTL, Hebrew, Spanish, French, Russian, English, Arabic, Portuguese
|
5 |
+
Requires at least: 3.3
|
6 |
+
Tested up to: 3.5
|
7 |
+
Stable tag: 0.9.0
|
8 |
|
9 |
Transposh adds best of breed translation support to wordpress, 66 languages are automatically translated and can be manually corrected with ease.
|
10 |
|
109 |
* Russian translation by Romans Matusevics
|
110 |
* Hebrew translation by [Amir](http://colnect.com/he)
|
111 |
* Frontend Spanish translation by [Ignacio](http://colnect.com/es/collectors/collector/iflvico)
|
112 |
+
* Italian translation by [MacItaly](http://profiles.wordpress.org/macitaly)
|
113 |
* Persian translation by [Sushyant Zavarzadeh](http://zavarzadeh.org)
|
114 |
* Spanish translation by [Angel Torregrosa](http://wordp.relatividad.org)
|
115 |
* German translation by [Jenny Beelens](http://www.professionaltranslation.com)
|
117 |
* Portuguese (Brazil) translation by [Amilton Junior](http://www.dicasemgeral.com)
|
118 |
|
119 |
== Changelog ==
|
120 |
+
= 2012/12/12 - 0.9.0 =
|
121 |
+
* Major rewrite for the administrative interface and settings, should simplify working with transposh
|
122 |
+
* Parsing rules can now be changed in the advanced tab, use with care
|
123 |
+
* Added the options to include debug and remote debug outputs
|
124 |
+
* A new language selection widget based on select2
|
125 |
+
* Added ctrl keys for quick navigation of prev/next blocks
|
126 |
+
* A new option that allows to reset the configuration file to the recommanded defaults
|
127 |
+
* Css fixes for twenty twelve theme
|
128 |
+
* Avoid loading the subwidgets in the admin pages
|
129 |
+
* Removed distinction between editable and viewable languages, now a language can only be active or disabled
|
130 |
+
* Updating jQueriUI to 1.9.2 (jQuery should now be 1.6+)
|
131 |
+
* Fixes the z-index for the old style dropdown (patch by chemaz)
|
132 |
+
* Fixes the bug with the coupling of Chinese simple and traditional
|
133 |
+
* Fix bug preventing upgrade from very old versions
|
134 |
+
* Suppress notices when widgets are created directly with our function
|
135 |
+
* Avoid rewriting urls in the default language, mainly effected canonicals
|
136 |
+
* Our script is needed when the widget allows setting of default language
|
137 |
+
* Finally solved the problem with MSN translate and CR/LF
|
138 |
= 2012/09/15 - 0.8.5 =
|
139 |
* Support for Lao (Thanks to Google Translate)
|
140 |
= 2012/09/03 - 0.8.4 =
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -3,9 +3,9 @@
|
|
3 |
/*
|
4 |
Plugin Name: Transposh Translation Filter
|
5 |
Plugin URI: http://transposh.org/
|
6 |
-
Description: Translation filter for WordPress, After enabling please set languages at the <a href="
|
7 |
Author: Team Transposh
|
8 |
-
Version: 0.
|
9 |
Author URI: http://transposh.org/
|
10 |
License: GPL (http://www.gnu.org/licenses/gpl.txt)
|
11 |
Text Domain: transposh
|
@@ -13,14 +13,14 @@
|
|
13 |
*/
|
14 |
|
15 |
/*
|
16 |
-
* Transposh v0.
|
17 |
* http://transposh.org/
|
18 |
*
|
19 |
* Copyright 2012, Team Transposh
|
20 |
* Licensed under the GPL Version 2 or higher.
|
21 |
* http://transposh.org/license
|
22 |
*
|
23 |
-
* Date:
|
24 |
*/
|
25 |
|
26 |
//avoid direct calls to this file where wp core files not present
|
@@ -30,7 +30,7 @@ if (!function_exists('add_action')) {
|
|
30 |
exit();
|
31 |
}
|
32 |
|
33 |
-
|
34 |
require_once("core/constants.php");
|
35 |
require_once("core/utils.php");
|
36 |
require_once("core/jsonwrapper/jsonwrapper.php");
|
@@ -118,6 +118,15 @@ class transposh_plugin {
|
|
118 |
$this->postpublish = new transposh_postpublish($this);
|
119 |
$this->third_party = new transposh_3rdparty($this);
|
120 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
121 |
// "global" vars
|
122 |
$this->home_url = get_option('home');
|
123 |
|
@@ -131,15 +140,18 @@ class transposh_plugin {
|
|
131 |
|
132 |
$this->transposh_plugin_dir = plugin_dir_path(__FILE__);
|
133 |
|
134 |
-
|
|
|
135 |
|
136 |
//Register some functions into wordpress
|
137 |
-
|
138 |
-
|
|
|
|
|
139 |
add_filter('plugin_action_links_' . preg_replace('|^' . preg_quote(WP_PLUGIN_DIR, '|') . '/|', '', __FILE__), array(&$this, 'plugin_action_links'));
|
140 |
add_filter('query_vars', array(&$this, 'parameter_queryvars'));
|
141 |
add_filter('rewrite_rules_array', array(&$this, 'update_rewrite_rules'));
|
142 |
-
if ($this->options->
|
143 |
add_filter('request', array(&$this, 'request_filter'));
|
144 |
}
|
145 |
add_filter('comment_post_redirect', array(&$this, 'comment_post_redirect_filter'));
|
@@ -191,7 +203,7 @@ class transposh_plugin {
|
|
191 |
//TODO add_action('manage_comments_nav', array(&$this,'manage_comments_nav'));
|
192 |
//TODO comment_row_actions (filter)
|
193 |
// Intergrating with the gettext interface
|
194 |
-
if ($this->options->
|
195 |
add_filter('gettext', array(&$this, 'transposh_gettext_filter'), 10, 3);
|
196 |
add_filter('gettext_with_context', array(&$this, 'transposh_gettext_filter'), 10, 3);
|
197 |
add_filter('ngettext', array(&$this, 'transposh_ngettext_filter'), 10, 4);
|
@@ -209,7 +221,7 @@ class transposh_plugin {
|
|
209 |
// FUTURE add_action('update-custom_transposh', array(&$this, 'update'));
|
210 |
// CHECK TODO!!!!!!!!!!!!
|
211 |
$this->tgl = transposh_utils::get_language_from_url($_SERVER['REQUEST_URI'], $this->home_url);
|
212 |
-
if (!$this->options->
|
213 |
$this->tgl = '';
|
214 |
}
|
215 |
|
@@ -229,10 +241,10 @@ class transposh_plugin {
|
|
229 |
if ($this->transposh_redirect) return $location;
|
230 |
if ($this->options->is_default_language($this->target_language))
|
231 |
return $location;
|
232 |
-
|
233 |
// $trace = debug_backtrace();
|
234 |
-
//
|
235 |
-
//
|
236 |
$location = $this->rewrite_url($location);
|
237 |
return $location;
|
238 |
}
|
@@ -255,7 +267,7 @@ class transposh_plugin {
|
|
255 |
* @return mixed false if redirect unneeded - new url if we think we should
|
256 |
*/
|
257 |
function on_redirect_canonical($red, $req) {
|
258 |
-
|
259 |
// if the urls are actually the same, don't redirect (same - if it had our proper take care of)
|
260 |
if ($this->rewrite_url($red) == urldecode($req)) return false;
|
261 |
// if this is not the default language, we need to make sure it redirects to what we believe is the proper url
|
@@ -270,15 +282,13 @@ class transposh_plugin {
|
|
270 |
//remove any language identifier and find the "clean" url, used for posting and calculating urls if needed
|
271 |
$this->clean_url = transposh_utils::cleanup_url($_SERVER['REQUEST_URI'], $this->home_url, true);
|
272 |
// we need this if we are using url translations
|
273 |
-
if ($this->options->
|
274 |
$this->clean_url = transposh_utils::get_original_url($this->clean_url, '', $this->target_language, array($this->database, 'fetch_original'));
|
275 |
}
|
276 |
return $this->clean_url;
|
277 |
}
|
278 |
|
279 |
// function update() {
|
280 |
-
// echo 'hi';
|
281 |
-
//
|
282 |
// require_once('./admin-header.php');
|
283 |
|
284 |
/* $nonce = 'upgrade-plugin_' . $plugin;
|
@@ -308,33 +318,33 @@ class transposh_plugin {
|
|
308 |
* @return string Modified page buffer
|
309 |
*/
|
310 |
function process_page(&$buffer) {
|
311 |
-
|
312 |
$start_time = microtime(TRUE);
|
313 |
|
314 |
// Refrain from touching the administrative interface and important pages
|
315 |
if ($this->is_special_page($_SERVER['REQUEST_URI'])) {
|
316 |
-
|
317 |
}
|
318 |
// This one fixed a bug transposh created with other pages (xml generator for other plugins - such as the nextgen gallery)
|
319 |
// TODO: need to further investigate (will it be needed?)
|
320 |
elseif ($this->target_language == '') {
|
321 |
-
|
322 |
}
|
323 |
// Don't translate the default language unless specifically allowed to...
|
324 |
-
elseif ($this->options->is_default_language($this->target_language) && !$this->options->
|
325 |
-
|
326 |
} else {
|
327 |
// This one allows to redirect to a static element which we can find, since the redirection will remove
|
328 |
// the target language, we are able to avoid nasty redirection loops
|
329 |
if (is_404()) {
|
330 |
global $wp;
|
331 |
if (isset($wp->query_vars['pagename']) && file_exists(ABSPATH . $wp->query_vars['pagename'])) { // Hmm
|
332 |
-
|
333 |
$this->tp_redirect('/' . $wp->query_vars['pagename'], 301);
|
334 |
}
|
335 |
}
|
336 |
|
337 |
-
|
338 |
|
339 |
//translate the entire page
|
340 |
$parse = new parser();
|
@@ -348,25 +358,26 @@ class transposh_plugin {
|
|
348 |
$parse->is_edit_mode = $this->edit_mode;
|
349 |
$parse->might_json = $this->attempt_json;
|
350 |
$parse->is_auto_translate = $this->is_auto_translate_permitted();
|
351 |
-
$parse->allow_ad = $this->options->
|
352 |
// TODO - check this!
|
353 |
if (stripos($_SERVER['REQUEST_URI'], '/feed/') !== FALSE) {
|
354 |
-
|
355 |
$parse->is_auto_translate = false;
|
356 |
$parse->is_edit_mode = false;
|
357 |
$parse->feed_fix = true;
|
358 |
}
|
|
|
359 |
$buffer = $parse->fix_html($buffer);
|
360 |
|
361 |
$end_time = microtime(TRUE);
|
362 |
-
|
363 |
}
|
364 |
|
365 |
return $buffer;
|
366 |
}
|
367 |
|
368 |
// function on_admin_init() {
|
369 |
-
//
|
370 |
// }
|
371 |
|
372 |
/**
|
@@ -374,19 +385,19 @@ class transposh_plugin {
|
|
374 |
* Once processing is completed the buffer will go into the translation process.
|
375 |
*/
|
376 |
function on_init() {
|
377 |
-
|
378 |
|
379 |
// the wp_rewrite is not available earlier so we can only set the enable_permalinks here
|
380 |
if (is_object($GLOBALS['wp_rewrite'])) {
|
381 |
-
if ($GLOBALS['wp_rewrite']->using_permalinks() && $this->options->
|
382 |
-
|
383 |
$this->enable_permalinks_rewrite = TRUE;
|
384 |
}
|
385 |
}
|
386 |
|
387 |
// this is an ajax special case, currently crafted and tested on buddy press, lets hope this won't make hell break loose.
|
388 |
// it basically sets language based on referred when accessing wp-load.php (which is the way bp does ajax)
|
389 |
-
|
390 |
if (substr($_SERVER['SCRIPT_FILENAME'], -11) == 'wp-load.php') {
|
391 |
$this->target_language = transposh_utils::get_language_from_url($_SERVER['HTTP_REFERER'], $this->home_url);
|
392 |
$this->attempt_json = true;
|
@@ -412,10 +423,10 @@ class transposh_plugin {
|
|
412 |
* @return array New rewrite rules
|
413 |
*/
|
414 |
function update_rewrite_rules($rules) {
|
415 |
-
|
416 |
|
417 |
-
if (!$this->options->
|
418 |
-
|
419 |
return $rules;
|
420 |
}
|
421 |
|
@@ -426,7 +437,7 @@ class transposh_plugin {
|
|
426 |
|
427 |
//catch the root url
|
428 |
$newRules[$lang_prefix . "?$"] = "index.php?lang=\$matches[1]";
|
429 |
-
|
430 |
|
431 |
foreach ($rules as $key => $value) {
|
432 |
$original_key = $key;
|
@@ -442,29 +453,34 @@ class transposh_plugin {
|
|
442 |
|
443 |
$value .= $lang_parameter;
|
444 |
|
445 |
-
|
446 |
|
447 |
|
448 |
$newRules[$key] = $value;
|
449 |
$newRules[$original_key] = $original_value;
|
450 |
|
451 |
-
|
452 |
}
|
453 |
|
454 |
-
|
455 |
return $newRules;
|
456 |
}
|
457 |
|
|
|
|
|
|
|
|
|
|
|
458 |
/**
|
459 |
* Let WordPress know which parameters are of interest to us.
|
460 |
* @param array $vars Original queried variables
|
461 |
* @return array Modified array
|
462 |
*/
|
463 |
function parameter_queryvars($vars) {
|
464 |
-
|
465 |
$vars[] = LANG_PARAM;
|
466 |
$vars[] = EDIT_PARAM;
|
467 |
-
|
468 |
return $vars;
|
469 |
}
|
470 |
|
@@ -473,8 +489,8 @@ class transposh_plugin {
|
|
473 |
* @param WP $wp - here we get the WP class
|
474 |
*/
|
475 |
function on_parse_request($wp) {
|
476 |
-
|
477 |
-
|
478 |
|
479 |
// fix for custom-permalink (and others that might be double parsing?)
|
480 |
if ($this->target_language) return;
|
@@ -482,19 +498,13 @@ class transposh_plugin {
|
|
482 |
// first we get the target language
|
483 |
/* $this->target_language = (isset($wp->query_vars[LANG_PARAM])) ? $wp->query_vars[LANG_PARAM] : '';
|
484 |
if (!$this->target_language)
|
485 |
-
$this->target_language = $this->options->
|
486 |
-
|
487 |
// TODO TOCHECK!!!!!!!!!!!!!!!!!!!!!!!!!!1
|
488 |
$this->target_language = $this->tgl;
|
489 |
-
// avoid viewing of editable languages which are not viewable by non translators
|
490 |
-
if (!$this->options->is_viewable_language($this->target_language) &&
|
491 |
-
$this->options->is_editable_language($this->target_language) &&
|
492 |
-
!$this->is_translator()) {
|
493 |
-
$this->target_language = '';
|
494 |
-
}
|
495 |
if (!$this->target_language)
|
496 |
-
$this->target_language = $this->options->
|
497 |
-
|
498 |
|
499 |
|
500 |
// make themes that support rtl - go rtl http://wordpress.tv/2010/05/01/yoav-farhi-right-to-left-themes-sf10
|
@@ -506,48 +516,48 @@ class transposh_plugin {
|
|
506 |
// we'll go into this code of redirection only if we have options that need it (and no bot is involved, for the non-cookie)
|
507 |
// and this is not a special page or one that is refered by our site
|
508 |
// bots can skip this altogether
|
509 |
-
if (($this->options->
|
510 |
!($this->is_special_page($_SERVER['REQUEST_URI']) || (isset($_SERVER['HTTP_REFERER']) && strpos($_SERVER['HTTP_REFERER'], $this->home_url) !== false)) &&
|
511 |
!(transposh_utils::is_bot())) {
|
512 |
// we are starting a session if needed
|
513 |
if (!session_id()) session_start();
|
514 |
// no redirections if we already redirected in this session or we suspect cyclic redirections
|
515 |
if (!isset($_SESSION['TR_REDIRECTED']) && !(isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER'] == $_SERVER['REQUEST_URI'])) {
|
516 |
-
|
517 |
// we redirect once per session
|
518 |
$_SESSION['TR_REDIRECTED'] = true;
|
519 |
// redirect according to stored lng cookie, and than according to detection
|
520 |
-
if (isset($_COOKIE['TR_LNG']) && $this->options->
|
521 |
if ($_COOKIE['TR_LNG'] != $this->target_language) {
|
522 |
$url = transposh_utils::rewrite_url_lang_param($_SERVER["REQUEST_URI"], $this->home_url, $this->enable_permalinks_rewrite, $_COOKIE['TR_LNG'], $this->edit_mode);
|
523 |
if ($this->options->is_default_language($_COOKIE['TR_LNG']))
|
524 |
//TODO - fix wrt translation
|
525 |
$url = transposh_utils::cleanup_url($_SERVER["REQUEST_URI"], $this->home_url);
|
526 |
-
|
527 |
$this->tp_redirect($url);
|
528 |
exit;
|
529 |
}
|
530 |
} else {
|
531 |
-
$bestlang = transposh_utils::prefered_language(explode(',', $this->options->
|
532 |
// we won't redirect if we should not, or this is a presumable bot
|
533 |
-
if ($bestlang && $bestlang != $this->target_language && $this->options->
|
534 |
$url = transposh_utils::rewrite_url_lang_param($_SERVER['REQUEST_URI'], $this->home_url, $this->enable_permalinks_rewrite, $bestlang, $this->edit_mode);
|
535 |
if ($this->options->is_default_language($bestlang))
|
536 |
//TODO - fix wrt translation
|
537 |
$url = transposh_utils::cleanup_url($_SERVER['REQUEST_URI'], $this->home_url);
|
538 |
-
|
539 |
$this->tp_redirect($url);
|
540 |
exit;
|
541 |
}
|
542 |
}
|
543 |
} else {
|
544 |
-
|
545 |
}
|
546 |
}
|
547 |
// this method allows posts from the search box to maintain the language,
|
548 |
// TODO - it has a bug of returning to original language following search, which can be resolved by removing search from widget urls, but maybe later...
|
549 |
if (isset($wp->query_vars['s'])) {
|
550 |
-
if ($this->options->
|
551 |
add_action('pre_get_posts', array(&$this, 'pre_post_search'));
|
552 |
add_action('posts_where_request', array(&$this, 'posts_where_request'));
|
553 |
}
|
@@ -569,7 +579,7 @@ class transposh_plugin {
|
|
569 |
// We are removing our query vars since they are no longer needed and also make issues when a user select a static page as his home
|
570 |
unset($wp->query_vars[LANG_PARAM]);
|
571 |
unset($wp->query_vars[EDIT_PARAM]);
|
572 |
-
|
573 |
}
|
574 |
|
575 |
// TODO ? move to options?
|
@@ -580,7 +590,7 @@ class transposh_plugin {
|
|
580 |
*/
|
581 |
function is_translator() {
|
582 |
//if anonymous translation is allowed - let anyone enjoy it
|
583 |
-
if ($this->options->
|
584 |
return TRUE;
|
585 |
}
|
586 |
if (is_user_logged_in() && current_user_can(TRANSLATOR)) {
|
@@ -593,20 +603,19 @@ class transposh_plugin {
|
|
593 |
* Plugin activation
|
594 |
*/
|
595 |
function plugin_activate() {
|
596 |
-
|
597 |
|
598 |
$this->database->setup_db();
|
599 |
-
//
|
600 |
-
add_filter('rewrite_rules_array', array(&$this, 'update_rewrite_rules'));
|
601 |
$GLOBALS['wp_rewrite']->flush_rules();
|
602 |
|
603 |
// attempt to remove old files
|
604 |
@unlink($this->transposh_plugin_dir . 'widgets/tpw_default.php');
|
605 |
@unlink($this->transposh_plugin_dir . 'core/globals.php');
|
606 |
|
607 |
-
|
608 |
-
|
609 |
-
|
610 |
//activate_plugin($plugin);
|
611 |
}
|
612 |
|
@@ -614,20 +623,19 @@ class transposh_plugin {
|
|
614 |
* Plugin deactivation
|
615 |
*/
|
616 |
function plugin_deactivate() {
|
617 |
-
|
618 |
|
619 |
-
//
|
620 |
-
add_filter('rewrite_rules_array', array(&$this, 'update_rewrite_rules'));
|
621 |
$GLOBALS['wp_rewrite']->flush_rules();
|
622 |
|
623 |
-
|
624 |
}
|
625 |
|
626 |
/**
|
627 |
* Callback from admin_notices - display error message to the admin.
|
628 |
*/
|
629 |
function plugin_install_error() {
|
630 |
-
|
631 |
|
632 |
echo '<div class="updated"><p>';
|
633 |
echo 'Error has occured in the installation process of the translation plugin: <br>';
|
@@ -649,7 +657,7 @@ class transposh_plugin {
|
|
649 |
* TODO - needs revisiting!
|
650 |
*/
|
651 |
function plugin_loaded() {
|
652 |
-
|
653 |
|
654 |
//TODO: fix this...
|
655 |
$db_version = get_option(TRANSPOSH_DB_VERSION);
|
@@ -658,7 +666,7 @@ class transposh_plugin {
|
|
658 |
$this->database->setup_db();
|
659 |
//$this->admin_msg = "Translation database version ($db_version) is not comptabile with this plugin (". DB_VERSION . ") <br>";
|
660 |
|
661 |
-
|
662 |
//Some error occured - notify admin and deactivate plugin
|
663 |
//add_action('admin_notices', 'plugin_install_error');
|
664 |
}
|
@@ -669,7 +677,7 @@ class transposh_plugin {
|
|
669 |
if ($db_version != DB_VERSION) {
|
670 |
$this->admin_msg = "Failed to locate the translation table <em> " . TRANSLATIONS_TABLE . "</em> in local database. <br>";
|
671 |
|
672 |
-
|
673 |
//Some error occured - notify admin and deactivate plugin
|
674 |
add_action('admin_notices', array(&$this, 'plugin_install_error'));
|
675 |
}
|
@@ -688,7 +696,7 @@ class transposh_plugin {
|
|
688 |
$file = preg_replace('|/+|', '/', $file); // remove any duplicate slash
|
689 |
//keep only the file name and its parent directory
|
690 |
$file = preg_replace('/.*\/([^\/]+\/[^\/]+)$/', '$1', $file);
|
691 |
-
|
692 |
return $file;
|
693 |
}
|
694 |
|
@@ -705,7 +713,7 @@ class transposh_plugin {
|
|
705 |
//include the transposh.css
|
706 |
wp_enqueue_style('transposh', $this->transposh_plugin_url . '/' . TRANSPOSH_DIR_CSS . '/transposh.css', array(), TRANSPOSH_PLUGIN_VER);
|
707 |
|
708 |
-
|
709 |
}
|
710 |
|
711 |
/**
|
@@ -713,43 +721,42 @@ class transposh_plugin {
|
|
713 |
*/
|
714 |
function add_transposh_js() {
|
715 |
//not in any translation mode - no need for any js.
|
716 |
-
if (!($this->edit_mode || $this->is_auto_translate_permitted() || is_admin()))
|
|
|
717 |
return; // TODO, check just for settings page admin and pages with our translate
|
718 |
-
wp_register_script('transposh', $this->transposh_plugin_url . '/' . TRANSPOSH_DIR_JS . '/transposh.js', array('jquery'), TRANSPOSH_PLUGIN_VER);
|
719 |
// true -> 1, false -> nothing
|
720 |
$script_params = array(
|
721 |
'ajaxurl' => admin_url('admin-ajax.php'),
|
722 |
'plugin_url' => $this->transposh_plugin_url,
|
723 |
'lang' => $this->target_language,
|
724 |
-
'olang' => $this->options->
|
725 |
// those two options show if the script can support said engines
|
726 |
'prefix' => SPAN_PREFIX,
|
727 |
-
'preferred' => $this->options->
|
728 |
);
|
729 |
|
730 |
// FIX BACKEND
|
731 |
if (!$this->target_language || in_array($this->target_language, transposh_consts::$bing_languages)) {
|
732 |
$script_params['msn'] = 1;
|
733 |
-
if ($this->options->
|
734 |
-
$script_params['msn_key'] = $this->options->
|
735 |
}
|
736 |
}
|
737 |
// FIX BACKEND
|
738 |
if (!$this->target_language || in_array($this->target_language, transposh_consts::$google_languages)) {
|
739 |
-
if ($this->options->
|
740 |
-
$script_params['google_key'] = $this->options->
|
741 |
}
|
742 |
-
if ($this->options->
|
743 |
$script_params['google'] = 1;
|
744 |
}
|
745 |
if (in_array($this->target_language, transposh_consts::$apertium_languages))
|
746 |
$script_params['apertium'] = 1;
|
747 |
-
if ($this->options->
|
748 |
$script_params['oht'] = 1;
|
749 |
-
if ($this->options->
|
750 |
-
|
751 |
-
if (!$this->options->get_enable_auto_translate())
|
752 |
-
$script_params['noauto'] = 1;
|
753 |
|
754 |
// load translations needed for edit interface
|
755 |
if ($this->edit_mode) {
|
@@ -759,17 +766,17 @@ class transposh_plugin {
|
|
759 |
}
|
760 |
}
|
761 |
// set theme when it is needed
|
762 |
-
if ($this->options->
|
763 |
-
$script_params['theme'] = $this->options->
|
764 |
}
|
765 |
|
766 |
// 'l10n_print_after' => 'try{convertEntities(inlineEditL10n);}catch(e){};'
|
767 |
wp_localize_script('transposh', 't_jp', $script_params);
|
768 |
// only enqueue on real pages, other admin scripts that need this will register a dependency
|
769 |
-
if (($this->edit_mode || $this->is_auto_translate_permitted()) && !is_admin()) {
|
770 |
wp_enqueue_script('transposh');
|
771 |
}
|
772 |
-
|
773 |
}
|
774 |
|
775 |
/**
|
@@ -778,7 +785,7 @@ class transposh_plugin {
|
|
778 |
function add_rel_alternate() {
|
779 |
if (is_404()) return;
|
780 |
$widget_args = $this->widget->create_widget_args($this->get_clean_url());
|
781 |
-
|
782 |
foreach ($widget_args as $lang) {
|
783 |
if (!$lang['active']) {
|
784 |
echo '<link rel="alternate" hreflang="' . $lang['isocode'] . '" href="' . $lang['url'] . '"/>';
|
@@ -796,10 +803,10 @@ class transposh_plugin {
|
|
796 |
// editing is permitted for translators only
|
797 |
if (!$this->is_translator()) return false;
|
798 |
// and only on the non-default lang (unless strictly specified)
|
799 |
-
if (!$this->options->
|
800 |
return false;
|
801 |
|
802 |
-
return $this->options->
|
803 |
}
|
804 |
|
805 |
/**
|
@@ -810,14 +817,14 @@ class transposh_plugin {
|
|
810 |
* TODO: move to options
|
811 |
*/
|
812 |
function is_auto_translate_permitted() {
|
813 |
-
|
814 |
|
815 |
-
if (!$this->options->
|
816 |
// auto translate is not enabled for default target language when enable default is disabled
|
817 |
-
if (!$this->options->
|
818 |
return false;
|
819 |
|
820 |
-
return $this->options->
|
821 |
}
|
822 |
|
823 |
/**
|
@@ -868,8 +875,7 @@ class transposh_plugin {
|
|
868 |
* @return boolean Modified href
|
869 |
*/
|
870 |
function rewrite_url($href) {
|
871 |
-
$
|
872 |
-
|
873 |
// fix what might be messed up -- TODO
|
874 |
$href = str_replace(array(TP_GTXT_BRK, TP_GTXT_IBRK, TP_GTXT_BRK_CLOSER, TP_GTXT_IBRK_CLOSER), '', $href);
|
875 |
|
@@ -888,13 +894,20 @@ class transposh_plugin {
|
|
888 |
}
|
889 |
$use_params = !$this->enable_permalinks_rewrite;
|
890 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
891 |
// some hackery needed for url translations
|
892 |
// first cut home
|
893 |
-
if ($this->options->
|
894 |
$href = transposh_utils::translate_url($href, $this->home_url, $this->target_language, array(&$this->database, 'fetch_translation'));
|
895 |
}
|
896 |
$href = transposh_utils::rewrite_url_lang_param($href, $this->home_url, $this->enable_permalinks_rewrite, $this->target_language, $this->edit_mode, $use_params);
|
897 |
-
|
898 |
return $href;
|
899 |
}
|
900 |
|
@@ -904,8 +917,8 @@ class transposh_plugin {
|
|
904 |
* @return array Now with settings
|
905 |
*/
|
906 |
function plugin_action_links($links) {
|
907 |
-
|
908 |
-
return array_merge(array('<a href="' . admin_url('
|
909 |
}
|
910 |
|
911 |
/**
|
@@ -913,8 +926,8 @@ class transposh_plugin {
|
|
913 |
* @param WP_Query $query
|
914 |
*/
|
915 |
function pre_post_search($query) {
|
916 |
-
|
917 |
-
|
918 |
// we hide the search query var from further proccesing, because we do this later
|
919 |
if ($query->query_vars['s']) {
|
920 |
$this->search_s = $query->query_vars['s'];
|
@@ -929,7 +942,7 @@ class transposh_plugin {
|
|
929 |
*/
|
930 |
function posts_where_request($where) {
|
931 |
|
932 |
-
|
933 |
// from query.php line 1742 (v2.8.6)
|
934 |
// If a search pattern is specified, load the posts that match
|
935 |
$q = &$GLOBALS['wp_query']->query_vars;
|
@@ -970,7 +983,7 @@ class transposh_plugin {
|
|
970 |
$search .= " AND ({$GLOBALS['wpdb']->posts}.post_password = '') ";
|
971 |
}
|
972 |
}
|
973 |
-
|
974 |
return $search . $where;
|
975 |
}
|
976 |
|
@@ -978,7 +991,7 @@ class transposh_plugin {
|
|
978 |
* Runs a scheduled backup
|
979 |
*/
|
980 |
function run_backup() {
|
981 |
-
|
982 |
$my_transposh_backup = new transposh_backup($this);
|
983 |
$my_transposh_backup->do_backup();
|
984 |
}
|
@@ -987,7 +1000,7 @@ class transposh_plugin {
|
|
987 |
* Runs a restore
|
988 |
*/
|
989 |
function run_restore() {
|
990 |
-
|
991 |
$my_transposh_backup = new transposh_backup($this);
|
992 |
$my_transposh_backup->do_restore();
|
993 |
}
|
@@ -1026,10 +1039,10 @@ class transposh_plugin {
|
|
1026 |
if ($comment_lang) {
|
1027 |
$text = "<span lang =\"$comment_lang\">" . $text . "</span>";
|
1028 |
if (strpos($text, '<a href="' . $this->home_url) !== FALSE) {
|
1029 |
-
$text = str_replace('<a href="' . $this->home_url, '<a lang="' . $this->options->
|
1030 |
}
|
1031 |
}
|
1032 |
-
|
1033 |
return $text;
|
1034 |
}
|
1035 |
|
@@ -1045,7 +1058,7 @@ class transposh_plugin {
|
|
1045 |
if ($lang) {
|
1046 |
$text = "<span lang =\"$lang\">" . $text . "</span>";
|
1047 |
if (strpos($text, '<a href="' . $this->home_url) !== FALSE) {
|
1048 |
-
$text = str_replace('<a href="' . $this->home_url, '<a lang="' . $this->options->
|
1049 |
}
|
1050 |
}
|
1051 |
return $text;
|
@@ -1062,7 +1075,7 @@ class transposh_plugin {
|
|
1062 |
$lang = get_post_meta($id, 'tp_language', true);
|
1063 |
if ($lang) {
|
1064 |
if (strpos($_SERVER['REQUEST_URI'], 'wp-admin/edit') !== false) {
|
1065 |
-
|
1066 |
$plugpath = parse_url($this->transposh_plugin_url, PHP_URL_PATH);
|
1067 |
list($langeng, $langorig, $langflag) = explode(',', transposh_consts::$languages[$lang]);
|
1068 |
$text = transposh_utils::display_flag("$plugpath/img/flags", $langflag, $langorig, false) . ' ' . $text;
|
@@ -1084,7 +1097,7 @@ class transposh_plugin {
|
|
1084 |
$requri = $_SERVER['REQUEST_URI'];
|
1085 |
$lang = transposh_utils::get_language_from_url($requri, $this->home_url);
|
1086 |
if ($lang && !$this->got_request) {
|
1087 |
-
|
1088 |
$this->got_request = true;
|
1089 |
// the trick is to replace the URI and put it back afterwards
|
1090 |
$_SERVER['REQUEST_URI'] = transposh_utils::get_original_url($requri, '', $lang, array($this->database, 'fetch_original'));
|
@@ -1092,8 +1105,8 @@ class transposh_plugin {
|
|
1092 |
$wp->parse_request();
|
1093 |
$query = $wp->query_vars;
|
1094 |
$_SERVER['REQUEST_URI'] = $requri;
|
1095 |
-
|
1096 |
-
|
1097 |
}
|
1098 |
return $query;
|
1099 |
}
|
@@ -1105,10 +1118,10 @@ class transposh_plugin {
|
|
1105 |
* @return string
|
1106 |
*/
|
1107 |
function transposh_gettext_filter($translation, $orig, $domain) {
|
1108 |
-
if ($this->is_special_page($_SERVER['REQUEST_URI']) || ($this->options->is_default_language($this->tgl) && !$this->options->
|
1109 |
return $translation;
|
1110 |
}
|
1111 |
-
|
1112 |
// HACK - TODO - FIX
|
1113 |
if (in_array($domain, transposh_consts::$ignored_po_domains))
|
1114 |
return $translation;
|
@@ -1127,9 +1140,9 @@ class transposh_plugin {
|
|
1127 |
* @return string
|
1128 |
*/
|
1129 |
function transposh_ngettext_filter($translation, $single, $plural, $domain) {
|
1130 |
-
if ($this->is_special_page($_SERVER['REQUEST_URI']) || ($this->options->is_default_language($this->tgl) && !$this->options->
|
1131 |
return $translation;
|
1132 |
-
|
1133 |
if (in_array($domain, transposh_consts::$ignored_po_domains))
|
1134 |
return $translation;
|
1135 |
if ($translation != $single && $translation != $plural) {
|
@@ -1146,14 +1159,14 @@ class transposh_plugin {
|
|
1146 |
*/
|
1147 |
function transposh_locale_filter($locale) {
|
1148 |
$lang = transposh_utils::get_language_from_url($_SERVER['REQUEST_URI'], $this->home_url);
|
1149 |
-
if (!$this->options->
|
1150 |
$lang = '';
|
1151 |
}
|
1152 |
if (!$lang) {
|
1153 |
-
if (!$this->options->
|
1154 |
return $locale;
|
1155 |
}
|
1156 |
-
$lang = $this->options->
|
1157 |
}
|
1158 |
list ($l, $n, $f, $locale) = explode(',', transposh_consts::$languages[$lang]);
|
1159 |
|
@@ -1212,7 +1225,7 @@ class transposh_plugin {
|
|
1212 |
}
|
1213 |
}
|
1214 |
|
1215 |
-
//
|
1216 |
function on_ajax_nopriv_tp_gsp() {
|
1217 |
$i = 0;
|
1218 |
// we need curl for this proxy
|
@@ -1220,7 +1233,7 @@ class transposh_plugin {
|
|
1220 |
transposh_utils::allow_cors();
|
1221 |
$tl = $_GET['tl'];
|
1222 |
// we want to avoid unneeded work or dos attacks on languages we don't support
|
1223 |
-
if (!in_array($tl, transposh_consts::$google_languages) || !$this->options->
|
1224 |
return;
|
1225 |
$sl = 'auto';
|
1226 |
if (isset($_GET['sl'])) $sl = $_GET['sl'];
|
@@ -1261,7 +1274,7 @@ class transposh_plugin {
|
|
1261 |
die();
|
1262 |
}
|
1263 |
|
1264 |
-
//
|
1265 |
function on_ajax_nopriv_tp_gp() {
|
1266 |
// we need curl for this proxy
|
1267 |
if (!function_exists('curl_init')) return;
|
@@ -1269,7 +1282,7 @@ class transposh_plugin {
|
|
1269 |
// target language
|
1270 |
$tl = $_GET['tl'];
|
1271 |
// we want to avoid unneeded work or dos attacks on languages we don't support
|
1272 |
-
if (!in_array($tl, transposh_consts::$google_languages) || !$this->options->
|
1273 |
return;
|
1274 |
// source language
|
1275 |
$sl = 'auto';
|
@@ -1370,15 +1383,15 @@ class transposh_plugin {
|
|
1370 |
}
|
1371 |
$oht = get_option(TRANSPOSH_OPTIONS_OHT, array());
|
1372 |
if (!isset($_GET['orglang']))
|
1373 |
-
$_GET['orglang'] = $this->options->
|
1374 |
$key = $_GET['token'] . '@' . $_GET['lang'] . '@' . $_GET['orglang'];
|
1375 |
if (isset($oht[$key])) {
|
1376 |
unset($oht[$key]);
|
1377 |
-
|
1378 |
echo json_encode(false);
|
1379 |
} else {
|
1380 |
$oht[$key] = array('q' => $_GET['q'], 'l' => $_GET['lang'], 'ol' => $_GET['orglang'], 't' => $_GET['token']);
|
1381 |
-
|
1382 |
echo json_encode(true);
|
1383 |
}
|
1384 |
|
@@ -1386,7 +1399,7 @@ class transposh_plugin {
|
|
1386 |
|
1387 |
// we will make an oht send event in defined time
|
1388 |
wp_clear_scheduled_hook('transposh_oht_event');
|
1389 |
-
wp_schedule_single_event(time() + TRANSPOSH_OHT_DELAY, 'transposh_oht_event');
|
1390 |
|
1391 |
die();
|
1392 |
}
|
@@ -1395,9 +1408,9 @@ class transposh_plugin {
|
|
1395 |
* OHT event running
|
1396 |
*/
|
1397 |
function run_oht() {
|
1398 |
-
|
1399 |
$oht = get_option(TRANSPOSH_OPTIONS_OHT, array());
|
1400 |
-
|
1401 |
$ohtp = get_option(TRANSPOSH_OPTIONS_OHT_PROJECTS, array());
|
1402 |
$projectid = time();
|
1403 |
//send less data
|
@@ -1405,15 +1418,15 @@ class transposh_plugin {
|
|
1405 |
$pcount = 0;
|
1406 |
foreach ($oht as $arr) {
|
1407 |
$pcount++;
|
1408 |
-
|
1409 |
$ohtbody[$arr['t']] = array('q' => $arr['q'], 'l' => $arr['l'], 'ol' => $arr['ol']);
|
1410 |
}
|
1411 |
$ohtbody['pid'] = $projectid;
|
1412 |
-
$ohtbody['id'] = $this->options->
|
1413 |
-
$ohtbody['key'] = $this->options->
|
1414 |
$ohtbody['callback'] = admin_url('admin-ajax.php');
|
1415 |
$ohtbody['homeurl'] = $this->home_url;
|
1416 |
-
|
1417 |
// now we send this, add to log that it was sent to oht.. we'll also add a timer to make sure it gets back to us
|
1418 |
$ret = wp_remote_post('http://svc.transposh.org/oht.php', array('body' => $ohtbody));
|
1419 |
if ($ret['response']['code'] == '200') {
|
@@ -1421,7 +1434,7 @@ class transposh_plugin {
|
|
1421 |
$ohtp[$projectid] = $pcount;
|
1422 |
update_option(TRANSPOSH_OPTIONS_OHT_PROJECTS, $ohtp);
|
1423 |
} else {
|
1424 |
-
|
1425 |
}
|
1426 |
}
|
1427 |
|
@@ -1449,16 +1462,16 @@ class transposh_plugin {
|
|
1449 |
*/
|
1450 |
function on_ajax_nopriv_tp_ohtcallback() {
|
1451 |
$ohtp = get_option(TRANSPOSH_OPTIONS_OHT_PROJECTS, array());
|
1452 |
-
|
1453 |
if ($ohtp[$_POST['projectid']]) {
|
1454 |
Logger($_POST['projectid'] . " was found and will be processed");
|
1455 |
do_action('transposh_oht_callback');
|
1456 |
-
|
1457 |
$ohtp[$_POST['projectid']] -= $_POST['items'];
|
1458 |
if ($ohtp[$_POST['projectid']] <= 0) {
|
1459 |
unset($ohtp[$_POST['projectid']]);
|
1460 |
}
|
1461 |
-
|
1462 |
update_option(TRANSPOSH_OPTIONS_OHT_PROJECTS, $ohtp);
|
1463 |
$this->database->update_translation("OHT");
|
1464 |
}
|
@@ -1475,7 +1488,7 @@ class transposh_plugin {
|
|
1475 |
// set the cookie with ajax, no redirect needed
|
1476 |
function on_ajax_nopriv_tp_cookie() {
|
1477 |
setcookie('TR_LNG', transposh_utils::get_language_from_url($_SERVER['HTTP_REFERER'], $this->home_url), time() + 90 * 24 * 60 * 60, COOKIEPATH, COOKIE_DOMAIN);
|
1478 |
-
|
1479 |
die();
|
1480 |
}
|
1481 |
|
@@ -1514,4 +1527,16 @@ function transposh_get_current_language() {
|
|
1514 |
return $my_transposh_plugin->target_language;
|
1515 |
}
|
1516 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1517 |
?>
|
3 |
/*
|
4 |
Plugin Name: Transposh Translation Filter
|
5 |
Plugin URI: http://transposh.org/
|
6 |
+
Description: Translation filter for WordPress, After enabling please set languages at the <a href="admin.php?page=tp_main">the options page</a> Want to help? visit our development site at <a href="http://trac.transposh.org/">trac.transposh.org</a>.
|
7 |
Author: Team Transposh
|
8 |
+
Version: 0.9.0
|
9 |
Author URI: http://transposh.org/
|
10 |
License: GPL (http://www.gnu.org/licenses/gpl.txt)
|
11 |
Text Domain: transposh
|
13 |
*/
|
14 |
|
15 |
/*
|
16 |
+
* Transposh v0.9.0
|
17 |
* http://transposh.org/
|
18 |
*
|
19 |
* Copyright 2012, Team Transposh
|
20 |
* Licensed under the GPL Version 2 or higher.
|
21 |
* http://transposh.org/license
|
22 |
*
|
23 |
+
* Date: Sun, 16 Dec 2012 07:53:29 +0200
|
24 |
*/
|
25 |
|
26 |
//avoid direct calls to this file where wp core files not present
|
30 |
exit();
|
31 |
}
|
32 |
|
33 |
+
require_once("core/logging.php");
|
34 |
require_once("core/constants.php");
|
35 |
require_once("core/utils.php");
|
36 |
require_once("core/jsonwrapper/jsonwrapper.php");
|
118 |
$this->postpublish = new transposh_postpublish($this);
|
119 |
$this->third_party = new transposh_3rdparty($this);
|
120 |
|
121 |
+
// initialize logger
|
122 |
+
if ($this->options->debug_enable) {
|
123 |
+
$GLOBALS['tp_logger'] = tp_logger::getInstance(true);
|
124 |
+
$GLOBALS['tp_logger']->show_caller = true;
|
125 |
+
$GLOBALS['tp_logger']->set_debug_level($this->options->debug_loglevel);
|
126 |
+
$GLOBALS['tp_logger']->set_log_file($this->options->debug_logfile);
|
127 |
+
$GLOBALS['tp_logger']->set_remoteip($this->options->debug_remoteip);
|
128 |
+
}
|
129 |
+
|
130 |
// "global" vars
|
131 |
$this->home_url = get_option('home');
|
132 |
|
140 |
|
141 |
$this->transposh_plugin_dir = plugin_dir_path(__FILE__);
|
142 |
|
143 |
+
if ($this->options->debug_enable)
|
144 |
+
tp_logger('Transposh object created: ' . $_SERVER['REQUEST_URI'], 3);
|
145 |
|
146 |
//Register some functions into wordpress
|
147 |
+
if ($this->options->debug_enable)
|
148 |
+
tp_logger(preg_replace('|^' . preg_quote(WP_PLUGIN_DIR, '|') . '/|', '', __FILE__), 4); // includes transposh dir and php
|
149 |
+
|
150 |
+
// TODO: get_class_methods to replace said mess, other way?
|
151 |
add_filter('plugin_action_links_' . preg_replace('|^' . preg_quote(WP_PLUGIN_DIR, '|') . '/|', '', __FILE__), array(&$this, 'plugin_action_links'));
|
152 |
add_filter('query_vars', array(&$this, 'parameter_queryvars'));
|
153 |
add_filter('rewrite_rules_array', array(&$this, 'update_rewrite_rules'));
|
154 |
+
if ($this->options->enable_url_translate) {
|
155 |
add_filter('request', array(&$this, 'request_filter'));
|
156 |
}
|
157 |
add_filter('comment_post_redirect', array(&$this, 'comment_post_redirect_filter'));
|
203 |
//TODO add_action('manage_comments_nav', array(&$this,'manage_comments_nav'));
|
204 |
//TODO comment_row_actions (filter)
|
205 |
// Intergrating with the gettext interface
|
206 |
+
if ($this->options->transposh_gettext_integration) {
|
207 |
add_filter('gettext', array(&$this, 'transposh_gettext_filter'), 10, 3);
|
208 |
add_filter('gettext_with_context', array(&$this, 'transposh_gettext_filter'), 10, 3);
|
209 |
add_filter('ngettext', array(&$this, 'transposh_ngettext_filter'), 10, 4);
|
221 |
// FUTURE add_action('update-custom_transposh', array(&$this, 'update'));
|
222 |
// CHECK TODO!!!!!!!!!!!!
|
223 |
$this->tgl = transposh_utils::get_language_from_url($_SERVER['REQUEST_URI'], $this->home_url);
|
224 |
+
if (!$this->options->is_active_language($this->tgl)) {
|
225 |
$this->tgl = '';
|
226 |
}
|
227 |
|
241 |
if ($this->transposh_redirect) return $location;
|
242 |
if ($this->options->is_default_language($this->target_language))
|
243 |
return $location;
|
244 |
+
tp_logger($status . ' ' . $location);
|
245 |
// $trace = debug_backtrace();
|
246 |
+
// tp_logger($trace);
|
247 |
+
// tp_logger($this->target_language);
|
248 |
$location = $this->rewrite_url($location);
|
249 |
return $location;
|
250 |
}
|
267 |
* @return mixed false if redirect unneeded - new url if we think we should
|
268 |
*/
|
269 |
function on_redirect_canonical($red, $req) {
|
270 |
+
tp_logger("$red .. $req", 4);
|
271 |
// if the urls are actually the same, don't redirect (same - if it had our proper take care of)
|
272 |
if ($this->rewrite_url($red) == urldecode($req)) return false;
|
273 |
// if this is not the default language, we need to make sure it redirects to what we believe is the proper url
|
282 |
//remove any language identifier and find the "clean" url, used for posting and calculating urls if needed
|
283 |
$this->clean_url = transposh_utils::cleanup_url($_SERVER['REQUEST_URI'], $this->home_url, true);
|
284 |
// we need this if we are using url translations
|
285 |
+
if ($this->options->enable_url_translate) {
|
286 |
$this->clean_url = transposh_utils::get_original_url($this->clean_url, '', $this->target_language, array($this->database, 'fetch_original'));
|
287 |
}
|
288 |
return $this->clean_url;
|
289 |
}
|
290 |
|
291 |
// function update() {
|
|
|
|
|
292 |
// require_once('./admin-header.php');
|
293 |
|
294 |
/* $nonce = 'upgrade-plugin_' . $plugin;
|
318 |
* @return string Modified page buffer
|
319 |
*/
|
320 |
function process_page(&$buffer) {
|
321 |
+
tp_logger('processing page hit with language:' . $this->target_language, 1);
|
322 |
$start_time = microtime(TRUE);
|
323 |
|
324 |
// Refrain from touching the administrative interface and important pages
|
325 |
if ($this->is_special_page($_SERVER['REQUEST_URI'])) {
|
326 |
+
tp_logger("Skipping translation for admin pages", 3);
|
327 |
}
|
328 |
// This one fixed a bug transposh created with other pages (xml generator for other plugins - such as the nextgen gallery)
|
329 |
// TODO: need to further investigate (will it be needed?)
|
330 |
elseif ($this->target_language == '') {
|
331 |
+
tp_logger("Skipping translation where target language is unset", 3);
|
332 |
}
|
333 |
// Don't translate the default language unless specifically allowed to...
|
334 |
+
elseif ($this->options->is_default_language($this->target_language) && !$this->options->enable_default_translate) {
|
335 |
+
tp_logger("Skipping translation for default language {$this->target_language}", 3);
|
336 |
} else {
|
337 |
// This one allows to redirect to a static element which we can find, since the redirection will remove
|
338 |
// the target language, we are able to avoid nasty redirection loops
|
339 |
if (is_404()) {
|
340 |
global $wp;
|
341 |
if (isset($wp->query_vars['pagename']) && file_exists(ABSPATH . $wp->query_vars['pagename'])) { // Hmm
|
342 |
+
tp_logger('Redirecting a static file ' . $wp->query_vars['pagename'], 1);
|
343 |
$this->tp_redirect('/' . $wp->query_vars['pagename'], 301);
|
344 |
}
|
345 |
}
|
346 |
|
347 |
+
tp_logger("Translating {$_SERVER['REQUEST_URI']} to: {$this->target_language}", 1);
|
348 |
|
349 |
//translate the entire page
|
350 |
$parse = new parser();
|
358 |
$parse->is_edit_mode = $this->edit_mode;
|
359 |
$parse->might_json = $this->attempt_json;
|
360 |
$parse->is_auto_translate = $this->is_auto_translate_permitted();
|
361 |
+
$parse->allow_ad = $this->options->widget_remove_logo;
|
362 |
// TODO - check this!
|
363 |
if (stripos($_SERVER['REQUEST_URI'], '/feed/') !== FALSE) {
|
364 |
+
tp_logger("in rss feed!", 2);
|
365 |
$parse->is_auto_translate = false;
|
366 |
$parse->is_edit_mode = false;
|
367 |
$parse->feed_fix = true;
|
368 |
}
|
369 |
+
$parse->change_parsing_rules(!$this->options->parser_dont_break_puncts, !$this->options->parser_dont_break_numbers, !$this->options->parser_dont_break_entities);
|
370 |
$buffer = $parse->fix_html($buffer);
|
371 |
|
372 |
$end_time = microtime(TRUE);
|
373 |
+
tp_logger('Translation completed in ' . ($end_time - $start_time) . ' seconds', 1);
|
374 |
}
|
375 |
|
376 |
return $buffer;
|
377 |
}
|
378 |
|
379 |
// function on_admin_init() {
|
380 |
+
// tp_logger("admin init called");
|
381 |
// }
|
382 |
|
383 |
/**
|
385 |
* Once processing is completed the buffer will go into the translation process.
|
386 |
*/
|
387 |
function on_init() {
|
388 |
+
tp_logger('init ' . $_SERVER['REQUEST_URI'], 4);
|
389 |
|
390 |
// the wp_rewrite is not available earlier so we can only set the enable_permalinks here
|
391 |
if (is_object($GLOBALS['wp_rewrite'])) {
|
392 |
+
if ($GLOBALS['wp_rewrite']->using_permalinks() && $this->options->enable_permalinks) {
|
393 |
+
tp_logger("enabling permalinks");
|
394 |
$this->enable_permalinks_rewrite = TRUE;
|
395 |
}
|
396 |
}
|
397 |
|
398 |
// this is an ajax special case, currently crafted and tested on buddy press, lets hope this won't make hell break loose.
|
399 |
// it basically sets language based on referred when accessing wp-load.php (which is the way bp does ajax)
|
400 |
+
tp_logger(substr($_SERVER['SCRIPT_FILENAME'], -11), 5);
|
401 |
if (substr($_SERVER['SCRIPT_FILENAME'], -11) == 'wp-load.php') {
|
402 |
$this->target_language = transposh_utils::get_language_from_url($_SERVER['HTTP_REFERER'], $this->home_url);
|
403 |
$this->attempt_json = true;
|
423 |
* @return array New rewrite rules
|
424 |
*/
|
425 |
function update_rewrite_rules($rules) {
|
426 |
+
tp_logger("Enter update_rewrite_rules", 2);
|
427 |
|
428 |
+
if (!$this->options->enable_permalinks) {
|
429 |
+
tp_logger("Not touching rewrite rules - permalinks modification disabled by admin", 2);
|
430 |
return $rules;
|
431 |
}
|
432 |
|
437 |
|
438 |
//catch the root url
|
439 |
$newRules[$lang_prefix . "?$"] = "index.php?lang=\$matches[1]";
|
440 |
+
tp_logger("\t {$lang_prefix} ?$ ---> index.php?lang=\$matches[1]", 4);
|
441 |
|
442 |
foreach ($rules as $key => $value) {
|
443 |
$original_key = $key;
|
453 |
|
454 |
$value .= $lang_parameter;
|
455 |
|
456 |
+
tp_logger("\t $key ---> $value", 5);
|
457 |
|
458 |
|
459 |
$newRules[$key] = $value;
|
460 |
$newRules[$original_key] = $original_value;
|
461 |
|
462 |
+
tp_logger(": \t{$original_key} ---> {$original_value}", 4);
|
463 |
}
|
464 |
|
465 |
+
tp_logger("Exit update_rewrite_rules", 2);
|
466 |
return $newRules;
|
467 |
}
|
468 |
|
469 |
+
//function flush_transposh_rewrite_rules() {
|
470 |
+
//add_filter('rewrite_rules_array', array(&$this, 'update_rewrite_rules'));
|
471 |
+
// $GLOBALS['wp_rewrite']->flush_rules();
|
472 |
+
//}
|
473 |
+
|
474 |
/**
|
475 |
* Let WordPress know which parameters are of interest to us.
|
476 |
* @param array $vars Original queried variables
|
477 |
* @return array Modified array
|
478 |
*/
|
479 |
function parameter_queryvars($vars) {
|
480 |
+
tp_logger('inside query vars', 4);
|
481 |
$vars[] = LANG_PARAM;
|
482 |
$vars[] = EDIT_PARAM;
|
483 |
+
tp_logger($vars, 4);
|
484 |
return $vars;
|
485 |
}
|
486 |
|
489 |
* @param WP $wp - here we get the WP class
|
490 |
*/
|
491 |
function on_parse_request($wp) {
|
492 |
+
tp_logger('on_parse_req', 3);
|
493 |
+
tp_logger($wp->query_vars);
|
494 |
|
495 |
// fix for custom-permalink (and others that might be double parsing?)
|
496 |
if ($this->target_language) return;
|
498 |
// first we get the target language
|
499 |
/* $this->target_language = (isset($wp->query_vars[LANG_PARAM])) ? $wp->query_vars[LANG_PARAM] : '';
|
500 |
if (!$this->target_language)
|
501 |
+
$this->target_language = $this->options->default_language;
|
502 |
+
tp_logger("requested language: {$this->target_language}"); */
|
503 |
// TODO TOCHECK!!!!!!!!!!!!!!!!!!!!!!!!!!1
|
504 |
$this->target_language = $this->tgl;
|
|
|
|
|
|
|
|
|
|
|
|
|
505 |
if (!$this->target_language)
|
506 |
+
$this->target_language = $this->options->default_language;
|
507 |
+
tp_logger("requested language: {$this->target_language}", 3);
|
508 |
|
509 |
|
510 |
// make themes that support rtl - go rtl http://wordpress.tv/2010/05/01/yoav-farhi-right-to-left-themes-sf10
|
516 |
// we'll go into this code of redirection only if we have options that need it (and no bot is involved, for the non-cookie)
|
517 |
// and this is not a special page or one that is refered by our site
|
518 |
// bots can skip this altogether
|
519 |
+
if (($this->options->enable_detect_redirect || $this->options->widget_allow_set_deflang) &&
|
520 |
!($this->is_special_page($_SERVER['REQUEST_URI']) || (isset($_SERVER['HTTP_REFERER']) && strpos($_SERVER['HTTP_REFERER'], $this->home_url) !== false)) &&
|
521 |
!(transposh_utils::is_bot())) {
|
522 |
// we are starting a session if needed
|
523 |
if (!session_id()) session_start();
|
524 |
// no redirections if we already redirected in this session or we suspect cyclic redirections
|
525 |
if (!isset($_SESSION['TR_REDIRECTED']) && !(isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER'] == $_SERVER['REQUEST_URI'])) {
|
526 |
+
tp_logger('session redirection never happened (yet)', 2);
|
527 |
// we redirect once per session
|
528 |
$_SESSION['TR_REDIRECTED'] = true;
|
529 |
// redirect according to stored lng cookie, and than according to detection
|
530 |
+
if (isset($_COOKIE['TR_LNG']) && $this->options->widget_allow_set_deflang) {
|
531 |
if ($_COOKIE['TR_LNG'] != $this->target_language) {
|
532 |
$url = transposh_utils::rewrite_url_lang_param($_SERVER["REQUEST_URI"], $this->home_url, $this->enable_permalinks_rewrite, $_COOKIE['TR_LNG'], $this->edit_mode);
|
533 |
if ($this->options->is_default_language($_COOKIE['TR_LNG']))
|
534 |
//TODO - fix wrt translation
|
535 |
$url = transposh_utils::cleanup_url($_SERVER["REQUEST_URI"], $this->home_url);
|
536 |
+
tp_logger("redirected to $url because of cookie", 4);
|
537 |
$this->tp_redirect($url);
|
538 |
exit;
|
539 |
}
|
540 |
} else {
|
541 |
+
$bestlang = transposh_utils::prefered_language(explode(',', $this->options->viewable_languages), $this->options->default_language);
|
542 |
// we won't redirect if we should not, or this is a presumable bot
|
543 |
+
if ($bestlang && $bestlang != $this->target_language && $this->options->enable_detect_redirect) {
|
544 |
$url = transposh_utils::rewrite_url_lang_param($_SERVER['REQUEST_URI'], $this->home_url, $this->enable_permalinks_rewrite, $bestlang, $this->edit_mode);
|
545 |
if ($this->options->is_default_language($bestlang))
|
546 |
//TODO - fix wrt translation
|
547 |
$url = transposh_utils::cleanup_url($_SERVER['REQUEST_URI'], $this->home_url);
|
548 |
+
tp_logger("redirected to $url because of bestlang", 4);
|
549 |
$this->tp_redirect($url);
|
550 |
exit;
|
551 |
}
|
552 |
}
|
553 |
} else {
|
554 |
+
tp_logger('session was already redirected', 2);
|
555 |
}
|
556 |
}
|
557 |
// this method allows posts from the search box to maintain the language,
|
558 |
// TODO - it has a bug of returning to original language following search, which can be resolved by removing search from widget urls, but maybe later...
|
559 |
if (isset($wp->query_vars['s'])) {
|
560 |
+
if ($this->options->enable_search_translate) {
|
561 |
add_action('pre_get_posts', array(&$this, 'pre_post_search'));
|
562 |
add_action('posts_where_request', array(&$this, 'posts_where_request'));
|
563 |
}
|
579 |
// We are removing our query vars since they are no longer needed and also make issues when a user select a static page as his home
|
580 |
unset($wp->query_vars[LANG_PARAM]);
|
581 |
unset($wp->query_vars[EDIT_PARAM]);
|
582 |
+
tp_logger("edit mode: " . (($this->edit_mode) ? 'enabled' : 'disabled'), 2);
|
583 |
}
|
584 |
|
585 |
// TODO ? move to options?
|
590 |
*/
|
591 |
function is_translator() {
|
592 |
//if anonymous translation is allowed - let anyone enjoy it
|
593 |
+
if ($this->options->allow_anonymous_translation) {
|
594 |
return TRUE;
|
595 |
}
|
596 |
if (is_user_logged_in() && current_user_can(TRANSLATOR)) {
|
603 |
* Plugin activation
|
604 |
*/
|
605 |
function plugin_activate() {
|
606 |
+
tp_logger("plugin_activate enter: " . dirname(__FILE__), 1);
|
607 |
|
608 |
$this->database->setup_db();
|
609 |
+
// this handles the permalink rewrite
|
|
|
610 |
$GLOBALS['wp_rewrite']->flush_rules();
|
611 |
|
612 |
// attempt to remove old files
|
613 |
@unlink($this->transposh_plugin_dir . 'widgets/tpw_default.php');
|
614 |
@unlink($this->transposh_plugin_dir . 'core/globals.php');
|
615 |
|
616 |
+
tp_logger("plugin_activate exit: " . dirname(__FILE__), 1);
|
617 |
+
tp_logger("testing name:" . plugin_basename(__FILE__), 4);
|
618 |
+
tp_logger("testing name2:" . $this->get_plugin_name(), 4);
|
619 |
//activate_plugin($plugin);
|
620 |
}
|
621 |
|
623 |
* Plugin deactivation
|
624 |
*/
|
625 |
function plugin_deactivate() {
|
626 |
+
tp_logger("plugin_deactivate enter: " . dirname(__FILE__), 2);
|
627 |
|
628 |
+
// this handles the permalink rewrite
|
|
|
629 |
$GLOBALS['wp_rewrite']->flush_rules();
|
630 |
|
631 |
+
tp_logger("plugin_deactivate exit: " . dirname(__FILE__), 2);
|
632 |
}
|
633 |
|
634 |
/**
|
635 |
* Callback from admin_notices - display error message to the admin.
|
636 |
*/
|
637 |
function plugin_install_error() {
|
638 |
+
tp_logger("install error!", 1);
|
639 |
|
640 |
echo '<div class="updated"><p>';
|
641 |
echo 'Error has occured in the installation process of the translation plugin: <br>';
|
657 |
* TODO - needs revisiting!
|
658 |
*/
|
659 |
function plugin_loaded() {
|
660 |
+
tp_logger("Enter", 4);
|
661 |
|
662 |
//TODO: fix this...
|
663 |
$db_version = get_option(TRANSPOSH_DB_VERSION);
|
666 |
$this->database->setup_db();
|
667 |
//$this->admin_msg = "Translation database version ($db_version) is not comptabile with this plugin (". DB_VERSION . ") <br>";
|
668 |
|
669 |
+
tp_logger("Updating database in plugin loaded", 1);
|
670 |
//Some error occured - notify admin and deactivate plugin
|
671 |
//add_action('admin_notices', 'plugin_install_error');
|
672 |
}
|
677 |
if ($db_version != DB_VERSION) {
|
678 |
$this->admin_msg = "Failed to locate the translation table <em> " . TRANSLATIONS_TABLE . "</em> in local database. <br>";
|
679 |
|
680 |
+
tp_logger("Messsage to admin: {$this->admin_msg}", 1);
|
681 |
//Some error occured - notify admin and deactivate plugin
|
682 |
add_action('admin_notices', array(&$this, 'plugin_install_error'));
|
683 |
}
|
696 |
$file = preg_replace('|/+|', '/', $file); // remove any duplicate slash
|
697 |
//keep only the file name and its parent directory
|
698 |
$file = preg_replace('/.*\/([^\/]+\/[^\/]+)$/', '$1', $file);
|
699 |
+
tp_logger("Plugin path - $file", 4);
|
700 |
return $file;
|
701 |
}
|
702 |
|
713 |
//include the transposh.css
|
714 |
wp_enqueue_style('transposh', $this->transposh_plugin_url . '/' . TRANSPOSH_DIR_CSS . '/transposh.css', array(), TRANSPOSH_PLUGIN_VER);
|
715 |
|
716 |
+
tp_logger('Added transposh_css', 4);
|
717 |
}
|
718 |
|
719 |
/**
|
721 |
*/
|
722 |
function add_transposh_js() {
|
723 |
//not in any translation mode - no need for any js.
|
724 |
+
if (!($this->edit_mode || $this->is_auto_translate_permitted() || is_admin() || $this->options->widget_allow_set_deflang))
|
725 |
+
// TODO: need to include if allowing of setting default language - but smaller!
|
726 |
return; // TODO, check just for settings page admin and pages with our translate
|
727 |
+
wp_register_script('transposh', $this->transposh_plugin_url . '/' . TRANSPOSH_DIR_JS . '/transposh.js', array('jquery'), TRANSPOSH_PLUGIN_VER, $this->options->enable_footer_scripts);
|
728 |
// true -> 1, false -> nothing
|
729 |
$script_params = array(
|
730 |
'ajaxurl' => admin_url('admin-ajax.php'),
|
731 |
'plugin_url' => $this->transposh_plugin_url,
|
732 |
'lang' => $this->target_language,
|
733 |
+
'olang' => $this->options->default_language,
|
734 |
// those two options show if the script can support said engines
|
735 |
'prefix' => SPAN_PREFIX,
|
736 |
+
'preferred' => $this->options->preferred_translator,
|
737 |
);
|
738 |
|
739 |
// FIX BACKEND
|
740 |
if (!$this->target_language || in_array($this->target_language, transposh_consts::$bing_languages)) {
|
741 |
$script_params['msn'] = 1;
|
742 |
+
if ($this->options->msn_key) {
|
743 |
+
$script_params['msn_key'] = $this->options->msn_key;
|
744 |
}
|
745 |
}
|
746 |
// FIX BACKEND
|
747 |
if (!$this->target_language || in_array($this->target_language, transposh_consts::$google_languages)) {
|
748 |
+
if ($this->options->google_key) {
|
749 |
+
$script_params['google_key'] = $this->options->google_key;
|
750 |
}
|
751 |
+
if ($this->options->google_key || function_exists('curl_init'))
|
752 |
$script_params['google'] = 1;
|
753 |
}
|
754 |
if (in_array($this->target_language, transposh_consts::$apertium_languages))
|
755 |
$script_params['apertium'] = 1;
|
756 |
+
if ($this->options->oht_id && $this->options->oht_key && in_array($this->target_language, transposh_consts::$oht_languages) && current_user_can('manage_options'))
|
757 |
$script_params['oht'] = 1;
|
758 |
+
if ($this->options->widget_progressbar) $script_params['progress'] = 1;
|
759 |
+
if (!$this->options->enable_autotranslate) $script_params['noauto'] = 1;
|
|
|
|
|
760 |
|
761 |
// load translations needed for edit interface
|
762 |
if ($this->edit_mode) {
|
766 |
}
|
767 |
}
|
768 |
// set theme when it is needed
|
769 |
+
if ($this->options->widget_progressbar || $this->edit_mode) {
|
770 |
+
$script_params['theme'] = $this->options->widget_theme;
|
771 |
}
|
772 |
|
773 |
// 'l10n_print_after' => 'try{convertEntities(inlineEditL10n);}catch(e){};'
|
774 |
wp_localize_script('transposh', 't_jp', $script_params);
|
775 |
// only enqueue on real pages, other admin scripts that need this will register a dependency
|
776 |
+
if (($this->edit_mode || $this->is_auto_translate_permitted() || $this->options->widget_allow_set_deflang) && !is_admin()) {
|
777 |
wp_enqueue_script('transposh');
|
778 |
}
|
779 |
+
tp_logger('Added transposh_js', 4);
|
780 |
}
|
781 |
|
782 |
/**
|
785 |
function add_rel_alternate() {
|
786 |
if (is_404()) return;
|
787 |
$widget_args = $this->widget->create_widget_args($this->get_clean_url());
|
788 |
+
tp_logger($widget_args, 4);
|
789 |
foreach ($widget_args as $lang) {
|
790 |
if (!$lang['active']) {
|
791 |
echo '<link rel="alternate" hreflang="' . $lang['isocode'] . '" href="' . $lang['url'] . '"/>';
|
803 |
// editing is permitted for translators only
|
804 |
if (!$this->is_translator()) return false;
|
805 |
// and only on the non-default lang (unless strictly specified)
|
806 |
+
if (!$this->options->enable_default_translate && $this->options->is_default_language($this->target_language))
|
807 |
return false;
|
808 |
|
809 |
+
return $this->options->is_active_language($this->target_language);
|
810 |
}
|
811 |
|
812 |
/**
|
817 |
* TODO: move to options
|
818 |
*/
|
819 |
function is_auto_translate_permitted() {
|
820 |
+
tp_logger("checking auto translatability", 4);
|
821 |
|
822 |
+
if (!$this->options->enable_autotranslate) return false;
|
823 |
// auto translate is not enabled for default target language when enable default is disabled
|
824 |
+
if (!$this->options->enable_default_translate && $this->options->is_default_language($this->target_language))
|
825 |
return false;
|
826 |
|
827 |
+
return $this->options->is_active_language($this->target_language);
|
828 |
}
|
829 |
|
830 |
/**
|
875 |
* @return boolean Modified href
|
876 |
*/
|
877 |
function rewrite_url($href) {
|
878 |
+
tp_logger("got: $href", 5);
|
|
|
879 |
// fix what might be messed up -- TODO
|
880 |
$href = str_replace(array(TP_GTXT_BRK, TP_GTXT_IBRK, TP_GTXT_BRK_CLOSER, TP_GTXT_IBRK_CLOSER), '', $href);
|
881 |
|
894 |
}
|
895 |
$use_params = !$this->enable_permalinks_rewrite;
|
896 |
|
897 |
+
// we don't really know, but we sometime rewrite urls when we are in the default language (canonicals?), so just clean them up
|
898 |
+
// if ($this->target_language == $this->options->default_language)
|
899 |
+
if ($this->options->is_default_language($this->target_language)) {
|
900 |
+
$href = transposh_utils::cleanup_url($href, $this->home_url);
|
901 |
+
tp_logger("cleaned up: $href", 4);
|
902 |
+
return $href;
|
903 |
+
}
|
904 |
// some hackery needed for url translations
|
905 |
// first cut home
|
906 |
+
if ($this->options->enable_url_translate) {
|
907 |
$href = transposh_utils::translate_url($href, $this->home_url, $this->target_language, array(&$this->database, 'fetch_translation'));
|
908 |
}
|
909 |
$href = transposh_utils::rewrite_url_lang_param($href, $this->home_url, $this->enable_permalinks_rewrite, $this->target_language, $this->edit_mode, $use_params);
|
910 |
+
tp_logger("rewritten: $href", 4);
|
911 |
return $href;
|
912 |
}
|
913 |
|
917 |
* @return array Now with settings
|
918 |
*/
|
919 |
function plugin_action_links($links) {
|
920 |
+
tp_logger('in plugin action', 5);
|
921 |
+
return array_merge(array('<a href="' . admin_url('admin.php?page=tp_main') . '">' . __('Settings') . '</a>'), $links);
|
922 |
}
|
923 |
|
924 |
/**
|
926 |
* @param WP_Query $query
|
927 |
*/
|
928 |
function pre_post_search($query) {
|
929 |
+
tp_logger('pre post', 4);
|
930 |
+
tp_logger($query->query_vars, 4);
|
931 |
// we hide the search query var from further proccesing, because we do this later
|
932 |
if ($query->query_vars['s']) {
|
933 |
$this->search_s = $query->query_vars['s'];
|
942 |
*/
|
943 |
function posts_where_request($where) {
|
944 |
|
945 |
+
tp_logger($where, 3);
|
946 |
// from query.php line 1742 (v2.8.6)
|
947 |
// If a search pattern is specified, load the posts that match
|
948 |
$q = &$GLOBALS['wp_query']->query_vars;
|
983 |
$search .= " AND ({$GLOBALS['wpdb']->posts}.post_password = '') ";
|
984 |
}
|
985 |
}
|
986 |
+
tp_logger($search, 3);
|
987 |
return $search . $where;
|
988 |
}
|
989 |
|
991 |
* Runs a scheduled backup
|
992 |
*/
|
993 |
function run_backup() {
|
994 |
+
tp_logger('backup run..', 2);
|
995 |
$my_transposh_backup = new transposh_backup($this);
|
996 |
$my_transposh_backup->do_backup();
|
997 |
}
|
1000 |
* Runs a restore
|
1001 |
*/
|
1002 |
function run_restore() {
|
1003 |
+
tp_logger('restoring..', 2);
|
1004 |
$my_transposh_backup = new transposh_backup($this);
|
1005 |
$my_transposh_backup->do_restore();
|
1006 |
}
|
1039 |
if ($comment_lang) {
|
1040 |
$text = "<span lang =\"$comment_lang\">" . $text . "</span>";
|
1041 |
if (strpos($text, '<a href="' . $this->home_url) !== FALSE) {
|
1042 |
+
$text = str_replace('<a href="' . $this->home_url, '<a lang="' . $this->options->default_language . '" href="' . $this->home_url, $text);
|
1043 |
}
|
1044 |
}
|
1045 |
+
tp_logger("$comment_lang " . get_comment_ID(), 4);
|
1046 |
return $text;
|
1047 |
}
|
1048 |
|
1058 |
if ($lang) {
|
1059 |
$text = "<span lang =\"$lang\">" . $text . "</span>";
|
1060 |
if (strpos($text, '<a href="' . $this->home_url) !== FALSE) {
|
1061 |
+
$text = str_replace('<a href="' . $this->home_url, '<a lang="' . $this->options->default_language . '" href="' . $this->home_url, $text);
|
1062 |
}
|
1063 |
}
|
1064 |
return $text;
|
1075 |
$lang = get_post_meta($id, 'tp_language', true);
|
1076 |
if ($lang) {
|
1077 |
if (strpos($_SERVER['REQUEST_URI'], 'wp-admin/edit') !== false) {
|
1078 |
+
tp_logger('iamhere?' . strpos($_SERVER['REQUEST_URI'], 'wp-admin/edit'));
|
1079 |
$plugpath = parse_url($this->transposh_plugin_url, PHP_URL_PATH);
|
1080 |
list($langeng, $langorig, $langflag) = explode(',', transposh_consts::$languages[$lang]);
|
1081 |
$text = transposh_utils::display_flag("$plugpath/img/flags", $langflag, $langorig, false) . ' ' . $text;
|
1097 |
$requri = $_SERVER['REQUEST_URI'];
|
1098 |
$lang = transposh_utils::get_language_from_url($requri, $this->home_url);
|
1099 |
if ($lang && !$this->got_request) {
|
1100 |
+
tp_logger('Trying to find original url');
|
1101 |
$this->got_request = true;
|
1102 |
// the trick is to replace the URI and put it back afterwards
|
1103 |
$_SERVER['REQUEST_URI'] = transposh_utils::get_original_url($requri, '', $lang, array($this->database, 'fetch_original'));
|
1105 |
$wp->parse_request();
|
1106 |
$query = $wp->query_vars;
|
1107 |
$_SERVER['REQUEST_URI'] = $requri;
|
1108 |
+
tp_logger('new query vars are');
|
1109 |
+
tp_logger($query);
|
1110 |
}
|
1111 |
return $query;
|
1112 |
}
|
1118 |
* @return string
|
1119 |
*/
|
1120 |
function transposh_gettext_filter($translation, $orig, $domain) {
|
1121 |
+
if ($this->is_special_page($_SERVER['REQUEST_URI']) || ($this->options->is_default_language($this->tgl) && !$this->options->enable_default_translate)) {
|
1122 |
return $translation;
|
1123 |
}
|
1124 |
+
tp_logger("($translation, $orig, $domain)", 5);
|
1125 |
// HACK - TODO - FIX
|
1126 |
if (in_array($domain, transposh_consts::$ignored_po_domains))
|
1127 |
return $translation;
|
1140 |
* @return string
|
1141 |
*/
|
1142 |
function transposh_ngettext_filter($translation, $single, $plural, $domain) {
|
1143 |
+
if ($this->is_special_page($_SERVER['REQUEST_URI']) || ($this->options->is_default_language($this->tgl) && !$this->options->enable_default_translate))
|
1144 |
return $translation;
|
1145 |
+
tp_logger("($translation, $single, $plural, $domain)", 4);
|
1146 |
if (in_array($domain, transposh_consts::$ignored_po_domains))
|
1147 |
return $translation;
|
1148 |
if ($translation != $single && $translation != $plural) {
|
1159 |
*/
|
1160 |
function transposh_locale_filter($locale) {
|
1161 |
$lang = transposh_utils::get_language_from_url($_SERVER['REQUEST_URI'], $this->home_url);
|
1162 |
+
if (!$this->options->is_active_language($lang)) {
|
1163 |
$lang = '';
|
1164 |
}
|
1165 |
if (!$lang) {
|
1166 |
+
if (!$this->options->transposh_locale_override) {
|
1167 |
return $locale;
|
1168 |
}
|
1169 |
+
$lang = $this->options->default_language;
|
1170 |
}
|
1171 |
list ($l, $n, $f, $locale) = explode(',', transposh_consts::$languages[$lang]);
|
1172 |
|
1225 |
}
|
1226 |
}
|
1227 |
|
1228 |
+
// Proxied google translate suggestions
|
1229 |
function on_ajax_nopriv_tp_gsp() {
|
1230 |
$i = 0;
|
1231 |
// we need curl for this proxy
|
1233 |
transposh_utils::allow_cors();
|
1234 |
$tl = $_GET['tl'];
|
1235 |
// we want to avoid unneeded work or dos attacks on languages we don't support
|
1236 |
+
if (!in_array($tl, transposh_consts::$google_languages) || !$this->options->is_active_language($tl))
|
1237 |
return;
|
1238 |
$sl = 'auto';
|
1239 |
if (isset($_GET['sl'])) $sl = $_GET['sl'];
|
1274 |
die();
|
1275 |
}
|
1276 |
|
1277 |
+
// Proxied translation for google translate
|
1278 |
function on_ajax_nopriv_tp_gp() {
|
1279 |
// we need curl for this proxy
|
1280 |
if (!function_exists('curl_init')) return;
|
1282 |
// target language
|
1283 |
$tl = $_GET['tl'];
|
1284 |
// we want to avoid unneeded work or dos attacks on languages we don't support
|
1285 |
+
if (!in_array($tl, transposh_consts::$google_languages) || !$this->options->is_active_language($tl))
|
1286 |
return;
|
1287 |
// source language
|
1288 |
$sl = 'auto';
|
1383 |
}
|
1384 |
$oht = get_option(TRANSPOSH_OPTIONS_OHT, array());
|
1385 |
if (!isset($_GET['orglang']))
|
1386 |
+
$_GET['orglang'] = $this->options->default_language;
|
1387 |
$key = $_GET['token'] . '@' . $_GET['lang'] . '@' . $_GET['orglang'];
|
1388 |
if (isset($oht[$key])) {
|
1389 |
unset($oht[$key]);
|
1390 |
+
tp_logger('oht false');
|
1391 |
echo json_encode(false);
|
1392 |
} else {
|
1393 |
$oht[$key] = array('q' => $_GET['q'], 'l' => $_GET['lang'], 'ol' => $_GET['orglang'], 't' => $_GET['token']);
|
1394 |
+
tp_logger('oht true');
|
1395 |
echo json_encode(true);
|
1396 |
}
|
1397 |
|
1399 |
|
1400 |
// we will make an oht send event in defined time
|
1401 |
wp_clear_scheduled_hook('transposh_oht_event');
|
1402 |
+
wp_schedule_single_event(time() + TRANSPOSH_OHT_DELAY, 'transposh_oht_event');
|
1403 |
|
1404 |
die();
|
1405 |
}
|
1408 |
* OHT event running
|
1409 |
*/
|
1410 |
function run_oht() {
|
1411 |
+
tp_logger("oht should run", 2);
|
1412 |
$oht = get_option(TRANSPOSH_OPTIONS_OHT, array());
|
1413 |
+
tp_logger($oht, 3);
|
1414 |
$ohtp = get_option(TRANSPOSH_OPTIONS_OHT_PROJECTS, array());
|
1415 |
$projectid = time();
|
1416 |
//send less data
|
1418 |
$pcount = 0;
|
1419 |
foreach ($oht as $arr) {
|
1420 |
$pcount++;
|
1421 |
+
tp_logger($arr);
|
1422 |
$ohtbody[$arr['t']] = array('q' => $arr['q'], 'l' => $arr['l'], 'ol' => $arr['ol']);
|
1423 |
}
|
1424 |
$ohtbody['pid'] = $projectid;
|
1425 |
+
$ohtbody['id'] = $this->options->oht_id;
|
1426 |
+
$ohtbody['key'] = $this->options->oht_key;
|
1427 |
$ohtbody['callback'] = admin_url('admin-ajax.php');
|
1428 |
$ohtbody['homeurl'] = $this->home_url;
|
1429 |
+
tp_logger($ohtbody);
|
1430 |
// now we send this, add to log that it was sent to oht.. we'll also add a timer to make sure it gets back to us
|
1431 |
$ret = wp_remote_post('http://svc.transposh.org/oht.php', array('body' => $ohtbody));
|
1432 |
if ($ret['response']['code'] == '200') {
|
1434 |
$ohtp[$projectid] = $pcount;
|
1435 |
update_option(TRANSPOSH_OPTIONS_OHT_PROJECTS, $ohtp);
|
1436 |
} else {
|
1437 |
+
tp_logger($ret, 1);
|
1438 |
}
|
1439 |
}
|
1440 |
|
1462 |
*/
|
1463 |
function on_ajax_nopriv_tp_ohtcallback() {
|
1464 |
$ohtp = get_option(TRANSPOSH_OPTIONS_OHT_PROJECTS, array());
|
1465 |
+
tp_logger($ohtp);
|
1466 |
if ($ohtp[$_POST['projectid']]) {
|
1467 |
Logger($_POST['projectid'] . " was found and will be processed");
|
1468 |
do_action('transposh_oht_callback');
|
1469 |
+
tp_logger($_POST);
|
1470 |
$ohtp[$_POST['projectid']] -= $_POST['items'];
|
1471 |
if ($ohtp[$_POST['projectid']] <= 0) {
|
1472 |
unset($ohtp[$_POST['projectid']]);
|
1473 |
}
|
1474 |
+
tp_logger($ohtp);
|
1475 |
update_option(TRANSPOSH_OPTIONS_OHT_PROJECTS, $ohtp);
|
1476 |
$this->database->update_translation("OHT");
|
1477 |
}
|
1488 |
// set the cookie with ajax, no redirect needed
|
1489 |
function on_ajax_nopriv_tp_cookie() {
|
1490 |
setcookie('TR_LNG', transposh_utils::get_language_from_url($_SERVER['HTTP_REFERER'], $this->home_url), time() + 90 * 24 * 60 * 60, COOKIEPATH, COOKIE_DOMAIN);
|
1491 |
+
tp_logger('Cookie ' . transposh_utils::get_language_from_url($_SERVER['HTTP_REFERER'], $this->home_url));
|
1492 |
die();
|
1493 |
}
|
1494 |
|
1527 |
return $my_transposh_plugin->target_language;
|
1528 |
}
|
1529 |
|
1530 |
+
/**
|
1531 |
+
* This function provides easier access to logging using the singleton object
|
1532 |
+
* @param mixed $msg
|
1533 |
+
* @param int $severity
|
1534 |
+
*/
|
1535 |
+
function tp_logger($msg, $severity = 3, $do_backtrace = false) {
|
1536 |
+
global $my_transposh_plugin;
|
1537 |
+
if (isset($my_transposh_plugin) && is_object($my_transposh_plugin) && !$my_transposh_plugin->options->debug_enable)
|
1538 |
+
return;
|
1539 |
+
$GLOBALS['tp_logger']->do_log($msg, $severity, $do_backtrace);
|
1540 |
+
}
|
1541 |
+
|
1542 |
?>
|
@@ -11,14 +11,14 @@
|
|
11 |
*/
|
12 |
|
13 |
/*
|
14 |
-
* Transposh v0.
|
15 |
* http://transposh.org/
|
16 |
*
|
17 |
* Copyright 2012, Team Transposh
|
18 |
* Licensed under the GPL Version 2 or higher.
|
19 |
* http://transposh.org/license
|
20 |
*
|
21 |
-
* Date:
|
22 |
*/
|
23 |
|
24 |
/*
|
11 |
*/
|
12 |
|
13 |
/*
|
14 |
+
* Transposh v0.9.0
|
15 |
* http://transposh.org/
|
16 |
*
|
17 |
* Copyright 2012, Team Transposh
|
18 |
* Licensed under the GPL Version 2 or higher.
|
19 |
* http://transposh.org/license
|
20 |
*
|
21 |
+
* Date: Wed, 12 Dec 2012 22:23:17 +0200
|
22 |
*/
|
23 |
|
24 |
/*
|
@@ -1,46 +1,20 @@
|
|
1 |
/*
|
2 |
* Widget's css
|
3 |
*/
|
4 |
-
.transposh_flags {
|
5 |
-
direction: ltr;
|
6 |
-
line-height: 0;
|
7 |
-
}
|
8 |
-
.transposh_flags a {
|
9 |
-
/* line-height:11px;*/
|
10 |
-
display: inline;
|
11 |
-
/*background: transparent;*/ /* ie8 quirk */
|
12 |
-
}
|
13 |
-
|
14 |
-
.transposh_flags a:hover {
|
15 |
-
/* ie8 quirk */
|
16 |
-
background:transparent
|
17 |
-
}
|
18 |
-
|
19 |
-
.transposh_flags a span, .transposh_flags a img {
|
20 |
-
border-color:transparent;
|
21 |
-
border-style:solid;
|
22 |
-
border-width:1px 3px;
|
23 |
-
padding: 0;
|
24 |
-
}
|
25 |
-
|
26 |
-
.transposh_flags a span:hover, .transposh_flags a img:hover {
|
27 |
-
border-color:blue
|
28 |
-
}
|
29 |
-
|
30 |
/* Code adapted from: http://www.jankoatwarpspeed.com/post/2009/07/28/reinventing-drop-down-with-css-jquery.aspx */
|
31 |
|
32 |
.dropdown, .dropdown dd, .dropdown dt, .dropdown ul { margin:0px; padding:0px; }
|
33 |
-
.dropdown dd { position:relative; }
|
34 |
.dropdown a, .dropdown a:visited { color:#816c5b; text-decoration:none; outline:none;}
|
35 |
.dropdown a:hover { color:#5d4617;}
|
36 |
.dropdown dt a:hover, .dropdown dt a:focus { color:#5d4617; border: 1px solid #5d4617;}
|
37 |
.dropdown dt a {background:#e4dfcb url(arrow.png) no-repeat scroll right center; display:block; padding-right:20px;
|
38 |
-
|
39 |
.dropdown dt a span {cursor:pointer; display:block; padding:5px;}
|
40 |
.dropdown dd ul { background:#e4dfcb none repeat scroll 0 0; border:1px solid #d4ca9a; color:#C5C0B0; display:none;
|
41 |
-
|
42 |
.dropdown span.value { display:none;}
|
43 |
.dropdown dd ul li a { padding:5px; display:block;}
|
44 |
.dropdown dd ul li a:hover { background-color:#d0c9af;}
|
45 |
|
46 |
-
.dropdown img.flag { border:none; vertical-align:middle; margin-
|
1 |
/*
|
2 |
* Widget's css
|
3 |
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
/* Code adapted from: http://www.jankoatwarpspeed.com/post/2009/07/28/reinventing-drop-down-with-css-jquery.aspx */
|
5 |
|
6 |
.dropdown, .dropdown dd, .dropdown dt, .dropdown ul { margin:0px; padding:0px; }
|
7 |
+
.dropdown dd { position:relative; z-index:9999;}
|
8 |
.dropdown a, .dropdown a:visited { color:#816c5b; text-decoration:none; outline:none;}
|
9 |
.dropdown a:hover { color:#5d4617;}
|
10 |
.dropdown dt a:hover, .dropdown dt a:focus { color:#5d4617; border: 1px solid #5d4617;}
|
11 |
.dropdown dt a {background:#e4dfcb url(arrow.png) no-repeat scroll right center; display:block; padding-right:20px;
|
12 |
+
border:1px solid #d4ca9a; width:150px;}
|
13 |
.dropdown dt a span {cursor:pointer; display:block; padding:5px;}
|
14 |
.dropdown dd ul { background:#e4dfcb none repeat scroll 0 0; border:1px solid #d4ca9a; color:#C5C0B0; display:none;
|
15 |
+
padding:5px 0px; position:absolute; top:2px; width:auto; min-width:170px; list-style:none;}
|
16 |
.dropdown span.value { display:none;}
|
17 |
.dropdown dd ul li a { padding:5px; display:block;}
|
18 |
.dropdown dd ul li a:hover { background-color:#d0c9af;}
|
19 |
|
20 |
+
.dropdown img.flag { border:none; vertical-align:middle; margin:0 3px;box-shadow:0 0;border-radius:0 }
|
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
(function ($) { // closure
|
4 |
|
5 |
-
$(
|
6 |
$(".dropdown dt a").click(function() {
|
7 |
$(".dropdown dd ul").toggle();
|
8 |
return false;
|
2 |
|
3 |
(function ($) { // closure
|
4 |
|
5 |
+
$(function() {
|
6 |
$(".dropdown dt a").click(function() {
|
7 |
$(".dropdown dd ul").toggle();
|
8 |
return false;
|
@@ -11,14 +11,14 @@
|
|
11 |
*/
|
12 |
|
13 |
/*
|
14 |
-
* Transposh v0.
|
15 |
* http://transposh.org/
|
16 |
*
|
17 |
* Copyright 2012, Team Transposh
|
18 |
* Licensed under the GPL Version 2 or higher.
|
19 |
* http://transposh.org/license
|
20 |
*
|
21 |
-
* Date:
|
22 |
*/
|
23 |
|
24 |
class tpw_image_dropdown extends transposh_base_widget {
|
@@ -44,7 +44,7 @@ class tpw_image_dropdown extends transposh_base_widget {
|
|
44 |
/* TRANSLATORS: this is what appears in the select box in dropdown subwidget */
|
45 |
echo '<dt><a href="#"><span>' . __('Select language', TRANSPOSH_TEXT_DOMAIN) . '</span></a></dt><dd><ul class="' . NO_TRANSLATE_CLASS . '">';
|
46 |
foreach ($args as $langrecord) {
|
47 |
-
|
48 |
echo '<li><a href="#"><img class="flag" src="' . "$plugpath/img/flags/{$langrecord['flag']}" . '.png" alt="' . $langrecord['langorig'] . '"/> ' . $langrecord['langorig'] . '<span class="value">' . $langrecord['url'] . '</span></a></li>';
|
49 |
}
|
50 |
|
11 |
*/
|
12 |
|
13 |
/*
|
14 |
+
* Transposh v0.9.0
|
15 |
* http://transposh.org/
|
16 |
*
|
17 |
* Copyright 2012, Team Transposh
|
18 |
* Licensed under the GPL Version 2 or higher.
|
19 |
* http://transposh.org/license
|
20 |
*
|
21 |
+
* Date: Wed, 12 Dec 2012 22:23:17 +0200
|
22 |
*/
|
23 |
|
24 |
class tpw_image_dropdown extends transposh_base_widget {
|
44 |
/* TRANSLATORS: this is what appears in the select box in dropdown subwidget */
|
45 |
echo '<dt><a href="#"><span>' . __('Select language', TRANSPOSH_TEXT_DOMAIN) . '</span></a></dt><dd><ul class="' . NO_TRANSLATE_CLASS . '">';
|
46 |
foreach ($args as $langrecord) {
|
47 |
+
// $is_selected = $langrecord['active'] ? " selected=\"selected\"" : "";
|
48 |
echo '<li><a href="#"><img class="flag" src="' . "$plugpath/img/flags/{$langrecord['flag']}" . '.png" alt="' . $langrecord['langorig'] . '"/> ' . $langrecord['langorig'] . '<span class="value">' . $langrecord['url'] . '</span></a></li>';
|
49 |
}
|
50 |
|
@@ -17,10 +17,12 @@
|
|
17 |
}
|
18 |
|
19 |
.transposh_flags a span, .transposh_flags a img {
|
20 |
-
border
|
21 |
border-style:solid;
|
22 |
border-width:1px 3px;
|
23 |
-
|
|
|
|
|
24 |
}
|
25 |
|
26 |
.transposh_flags a span:hover, .transposh_flags a img:hover {
|
17 |
}
|
18 |
|
19 |
.transposh_flags a span, .transposh_flags a img {
|
20 |
+
border:transparent;
|
21 |
border-style:solid;
|
22 |
border-width:1px 3px;
|
23 |
+
box-shadow:0 0;
|
24 |
+
border-radius:0;
|
25 |
+
padding:0;
|
26 |
}
|
27 |
|
28 |
.transposh_flags a span:hover, .transposh_flags a img:hover {
|
@@ -11,14 +11,14 @@
|
|
11 |
*/
|
12 |
|
13 |
/*
|
14 |
-
* Transposh v0.
|
15 |
* http://transposh.org/
|
16 |
*
|
17 |
* Copyright 2012, Team Transposh
|
18 |
* Licensed under the GPL Version 2 or higher.
|
19 |
* http://transposh.org/license
|
20 |
*
|
21 |
-
* Date:
|
22 |
*/
|
23 |
|
24 |
/**
|
11 |
*/
|
12 |
|
13 |
/*
|
14 |
+
* Transposh v0.9.0
|
15 |
* http://transposh.org/
|
16 |
*
|
17 |
* Copyright 2012, Team Transposh
|
18 |
* Licensed under the GPL Version 2 or higher.
|
19 |
* http://transposh.org/license
|
20 |
*
|
21 |
+
* Date: Wed, 12 Dec 2012 22:23:17 +0200
|
22 |
*/
|
23 |
|
24 |
/**
|
@@ -20,6 +20,8 @@
|
|
20 |
border-color:transparent;
|
21 |
border-style:solid;
|
22 |
border-width:1px 3px;
|
|
|
|
|
23 |
padding: 0;
|
24 |
}
|
25 |
|
20 |
border-color:transparent;
|
21 |
border-style:solid;
|
22 |
border-width:1px 3px;
|
23 |
+
box-shadow:0 0;
|
24 |
+
border-radius:0;
|
25 |
padding: 0;
|
26 |
}
|
27 |
|
@@ -11,14 +11,14 @@
|
|
11 |
*/
|
12 |
|
13 |
/*
|
14 |
-
* Transposh v0.
|
15 |
* http://transposh.org/
|
16 |
*
|
17 |
* Copyright 2012, Team Transposh
|
18 |
* Licensed under the GPL Version 2 or higher.
|
19 |
* http://transposh.org/license
|
20 |
*
|
21 |
-
* Date:
|
22 |
*/
|
23 |
|
24 |
class tpw_flags_css extends transposh_base_widget {
|
11 |
*/
|
12 |
|
13 |
/*
|
14 |
+
* Transposh v0.9.0
|
15 |
* http://transposh.org/
|
16 |
*
|
17 |
* Copyright 2012, Team Transposh
|
18 |
* Licensed under the GPL Version 2 or higher.
|
19 |
* http://transposh.org/license
|
20 |
*
|
21 |
+
* Date: Wed, 12 Dec 2012 22:23:17 +0200
|
22 |
*/
|
23 |
|
24 |
class tpw_flags_css extends transposh_base_widget {
|
@@ -11,14 +11,14 @@
|
|
11 |
*/
|
12 |
|
13 |
/*
|
14 |
-
* Transposh v0.
|
15 |
* http://transposh.org/
|
16 |
*
|
17 |
* Copyright 2012, Team Transposh
|
18 |
* Licensed under the GPL Version 2 or higher.
|
19 |
* http://transposh.org/license
|
20 |
*
|
21 |
-
* Date:
|
22 |
*/
|
23 |
|
24 |
class tpw_list_with_flags extends transposh_base_widget {
|
11 |
*/
|
12 |
|
13 |
/*
|
14 |
+
* Transposh v0.9.0
|
15 |
* http://transposh.org/
|
16 |
*
|
17 |
* Copyright 2012, Team Transposh
|
18 |
* Licensed under the GPL Version 2 or higher.
|
19 |
* http://transposh.org/license
|
20 |
*
|
21 |
+
* Date: Wed, 12 Dec 2012 22:23:17 +0200
|
22 |
*/
|
23 |
|
24 |
class tpw_list_with_flags extends transposh_base_widget {
|
@@ -11,14 +11,14 @@
|
|
11 |
*/
|
12 |
|
13 |
/*
|
14 |
-
* Transposh v0.
|
15 |
* http://transposh.org/
|
16 |
*
|
17 |
* Copyright 2012, Team Transposh
|
18 |
* Licensed under the GPL Version 2 or higher.
|
19 |
* http://transposh.org/license
|
20 |
*
|
21 |
-
* Date:
|
22 |
*/
|
23 |
|
24 |
class tpw_list_with_flags_css extends transposh_base_widget {
|
11 |
*/
|
12 |
|
13 |
/*
|
14 |
+
* Transposh v0.9.0
|
15 |
* http://transposh.org/
|
16 |
*
|
17 |
* Copyright 2012, Team Transposh
|
18 |
* Licensed under the GPL Version 2 or higher.
|
19 |
* http://transposh.org/license
|
20 |
*
|
21 |
+
* Date: Wed, 12 Dec 2012 22:23:17 +0200
|
22 |
*/
|
23 |
|
24 |
class tpw_list_with_flags_css extends transposh_base_widget {
|
@@ -0,0 +1,524 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
Version: 3.2 Timestamp: Mon Sep 10 10:38:04 PDT 2012
|
3 |
+
*/
|
4 |
+
.select2-container {
|
5 |
+
position: relative;
|
6 |
+
display: inline-block;
|
7 |
+
/* inline-block for ie7 */
|
8 |
+
zoom: 1;
|
9 |
+
*display: inline;
|
10 |
+
vertical-align: top;
|
11 |
+
}
|
12 |
+
|
13 |
+
.select2-container,
|
14 |
+
.select2-drop,
|
15 |
+
.select2-search,
|
16 |
+
.select2-search input{
|
17 |
+
/*
|
18 |
+
Force border-box so that % widths fit the parent
|
19 |
+
container without overlap because of margin/padding.
|
20 |
+
|
21 |
+
More Info : http://www.quirksmode.org/css/box.html
|
22 |
+
*/
|
23 |
+
-moz-box-sizing: border-box; /* firefox */
|
24 |
+
-ms-box-sizing: border-box; /* ie */
|
25 |
+
-webkit-box-sizing: border-box; /* webkit */
|
26 |
+
-khtml-box-sizing: border-box; /* konqueror */
|
27 |
+
box-sizing: border-box; /* css3 */
|
28 |
+
}
|
29 |
+
|
30 |
+
.select2-container .select2-choice {
|
31 |
+
background-color: #fff;
|
32 |
+
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eeeeee), color-stop(0.5, white));
|
33 |
+
background-image: -webkit-linear-gradient(center bottom, #eeeeee 0%, white 50%);
|
34 |
+
background-image: -moz-linear-gradient(center bottom, #eeeeee 0%, white 50%);
|
35 |
+
background-image: -o-linear-gradient(bottom, #eeeeee 0%, #ffffff 50%);
|
36 |
+
background-image: -ms-linear-gradient(top, #eeeeee 0%, #ffffff 50%);
|
37 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#eeeeee', endColorstr = '#ffffff', GradientType = 0);
|
38 |
+
background-image: linear-gradient(top, #eeeeee 0%, #ffffff 50%);
|
39 |
+
-webkit-border-radius: 4px;
|
40 |
+
-moz-border-radius: 4px;
|
41 |
+
border-radius: 4px;
|
42 |
+
-moz-background-clip: padding;
|
43 |
+
-webkit-background-clip: padding-box;
|
44 |
+
background-clip: padding-box;
|
45 |
+
border: 1px solid #aaa;
|
46 |
+
display: block;
|
47 |
+
overflow: hidden;
|
48 |
+
white-space: nowrap;
|
49 |
+
position: relative;
|
50 |
+
height: 26px;
|
51 |
+
line-height: 26px;
|
52 |
+
padding: 0 0 0 8px;
|
53 |
+
color: #444;
|
54 |
+
text-decoration: none;
|
55 |
+
}
|
56 |
+
|
57 |
+
.select2-container.select2-drop-above .select2-choice
|
58 |
+
{
|
59 |
+
border-bottom-color: #aaa;
|
60 |
+
-webkit-border-radius:0px 0px 4px 4px;
|
61 |
+
-moz-border-radius:0px 0px 4px 4px;
|
62 |
+
border-radius:0px 0px 4px 4px;
|
63 |
+
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eeeeee), color-stop(0.9, white));
|
64 |
+
background-image: -webkit-linear-gradient(center bottom, #eeeeee 0%, white 90%);
|
65 |
+
background-image: -moz-linear-gradient(center bottom, #eeeeee 0%, white 90%);
|
66 |
+
background-image: -o-linear-gradient(bottom, #eeeeee 0%, white 90%);
|
67 |
+
background-image: -ms-linear-gradient(top, #eeeeee 0%,#ffffff 90%);
|
68 |
+
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#ffffff',GradientType=0 );
|
69 |
+
background-image: linear-gradient(top, #eeeeee 0%,#ffffff 90%);
|
70 |
+
}
|
71 |
+
|
72 |
+
.select2-container .select2-choice span {
|
73 |
+
margin-right: 26px;
|
74 |
+
display: block;
|
75 |
+
overflow: hidden;
|
76 |
+
white-space: nowrap;
|
77 |
+
-o-text-overflow: ellipsis;
|
78 |
+
-ms-text-overflow: ellipsis;
|
79 |
+
text-overflow: ellipsis;
|
80 |
+
}
|
81 |
+
|
82 |
+
.select2-container .select2-choice abbr {
|
83 |
+
display: block;
|
84 |
+
position: absolute;
|
85 |
+
right: 26px;
|
86 |
+
top: 8px;
|
87 |
+
width: 12px;
|
88 |
+
height: 12px;
|
89 |
+
font-size: 1px;
|
90 |
+
background: url('select2.png') right top no-repeat;
|
91 |
+
cursor: pointer;
|
92 |
+
text-decoration: none;
|
93 |
+
border:0;
|
94 |
+
outline: 0;
|
95 |
+
}
|
96 |
+
.select2-container .select2-choice abbr:hover {
|
97 |
+
background-position: right -11px;
|
98 |
+
cursor: pointer;
|
99 |
+
}
|
100 |
+
|
101 |
+
.select2-drop {
|
102 |
+
background: #fff;
|
103 |
+
color: #000;
|
104 |
+
border: 1px solid #aaa;
|
105 |
+
border-top: 0;
|
106 |
+
position: absolute;
|
107 |
+
top: 100%;
|
108 |
+
-webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
|
109 |
+
-moz-box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
|
110 |
+
-o-box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
|
111 |
+
box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
|
112 |
+
z-index: 9999;
|
113 |
+
width:100%;
|
114 |
+
margin-top:-1px;
|
115 |
+
|
116 |
+
-webkit-border-radius: 0 0 4px 4px;
|
117 |
+
-moz-border-radius: 0 0 4px 4px;
|
118 |
+
border-radius: 0 0 4px 4px;
|
119 |
+
}
|
120 |
+
|
121 |
+
.select2-drop.select2-drop-above {
|
122 |
+
-webkit-border-radius: 4px 4px 0px 0px;
|
123 |
+
-moz-border-radius: 4px 4px 0px 0px;
|
124 |
+
border-radius: 4px 4px 0px 0px;
|
125 |
+
margin-top:1px;
|
126 |
+
border-top: 1px solid #aaa;
|
127 |
+
border-bottom: 0;
|
128 |
+
|
129 |
+
-webkit-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
|
130 |
+
-moz-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
|
131 |
+
-o-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
|
132 |
+
box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
|
133 |
+
}
|
134 |
+
|
135 |
+
.select2-container .select2-choice div {
|
136 |
+
-webkit-border-radius: 0 4px 4px 0;
|
137 |
+
-moz-border-radius: 0 4px 4px 0;
|
138 |
+
border-radius: 0 4px 4px 0;
|
139 |
+
-moz-background-clip: padding;
|
140 |
+
-webkit-background-clip: padding-box;
|
141 |
+
background-clip: padding-box;
|
142 |
+
background: #ccc;
|
143 |
+
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #ccc), color-stop(0.6, #eee));
|
144 |
+
background-image: -webkit-linear-gradient(center bottom, #ccc 0%, #eee 60%);
|
145 |
+
background-image: -moz-linear-gradient(center bottom, #ccc 0%, #eee 60%);
|
146 |
+
background-image: -o-linear-gradient(bottom, #ccc 0%, #eee 60%);
|
147 |
+
background-image: -ms-linear-gradient(top, #cccccc 0%, #eeeeee 60%);
|
148 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#cccccc', endColorstr = '#eeeeee', GradientType = 0);
|
149 |
+
background-image: linear-gradient(top, #cccccc 0%, #eeeeee 60%);
|
150 |
+
border-left: 1px solid #aaa;
|
151 |
+
position: absolute;
|
152 |
+
right: 0;
|
153 |
+
top: 0;
|
154 |
+
display: block;
|
155 |
+
height: 100%;
|
156 |
+
width: 18px;
|
157 |
+
}
|
158 |
+
|
159 |
+
.select2-container .select2-choice div b {
|
160 |
+
background: url('select2.png') no-repeat 0 1px;
|
161 |
+
display: block;
|
162 |
+
width: 100%;
|
163 |
+
height: 100%;
|
164 |
+
}
|
165 |
+
|
166 |
+
.select2-search {
|
167 |
+
display: inline-block;
|
168 |
+
white-space: nowrap;
|
169 |
+
z-index: 10000;
|
170 |
+
min-height: 26px;
|
171 |
+
width: 100%;
|
172 |
+
margin: 0;
|
173 |
+
padding-left: 4px;
|
174 |
+
padding-right: 4px;
|
175 |
+
}
|
176 |
+
|
177 |
+
.select2-search-hidden {
|
178 |
+
display: block;
|
179 |
+
position: absolute;
|
180 |
+
left: -10000px;
|
181 |
+
}
|
182 |
+
|
183 |
+
.select2-search input {
|
184 |
+
background: #fff url('select2.png') no-repeat 100% -22px;
|
185 |
+
background: url('select2.png') no-repeat 100% -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, white), color-stop(0.99, #eeeeee));
|
186 |
+
background: url('select2.png') no-repeat 100% -22px, -webkit-linear-gradient(center bottom, white 85%, #eeeeee 99%);
|
187 |
+
background: url('select2.png') no-repeat 100% -22px, -moz-linear-gradient(center bottom, white 85%, #eeeeee 99%);
|
188 |
+
background: url('select2.png') no-repeat 100% -22px, -o-linear-gradient(bottom, white 85%, #eeeeee 99%);
|
189 |
+
background: url('select2.png') no-repeat 100% -22px, -ms-linear-gradient(top, #ffffff 85%, #eeeeee 99%);
|
190 |
+
background: url('select2.png') no-repeat 100% -22px, linear-gradient(top, #ffffff 85%, #eeeeee 99%);
|
191 |
+
padding: 4px 20px 4px 5px;
|
192 |
+
outline: 0;
|
193 |
+
border: 1px solid #aaa;
|
194 |
+
font-family: sans-serif;
|
195 |
+
font-size: 1em;
|
196 |
+
width:100%;
|
197 |
+
margin:0;
|
198 |
+
height:auto !important;
|
199 |
+
min-height: 26px;
|
200 |
+
-webkit-box-shadow: none;
|
201 |
+
-moz-box-shadow: none;
|
202 |
+
box-shadow: none;
|
203 |
+
border-radius: 0;
|
204 |
+
-moz-border-radius: 0;
|
205 |
+
-webkit-border-radius: 0;
|
206 |
+
}
|
207 |
+
|
208 |
+
.select2-drop.select2-drop-above .select2-search input
|
209 |
+
{
|
210 |
+
margin-top:4px;
|
211 |
+
}
|
212 |
+
|
213 |
+
.select2-search input.select2-active {
|
214 |
+
background: #fff url('spinner.gif') no-repeat 100%;
|
215 |
+
background: url('spinner.gif') no-repeat 100%, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, white), color-stop(0.99, #eeeeee));
|
216 |
+
background: url('spinner.gif') no-repeat 100%, -webkit-linear-gradient(center bottom, white 85%, #eeeeee 99%);
|
217 |
+
background: url('spinner.gif') no-repeat 100%, -moz-linear-gradient(center bottom, white 85%, #eeeeee 99%);
|
218 |
+
background: url('spinner.gif') no-repeat 100%, -o-linear-gradient(bottom, white 85%, #eeeeee 99%);
|
219 |
+
background: url('spinner.gif') no-repeat 100%, -ms-linear-gradient(top, #ffffff 85%, #eeeeee 99%);
|
220 |
+
background: url('spinner.gif') no-repeat 100%, linear-gradient(top, #ffffff 85%, #eeeeee 99%);
|
221 |
+
}
|
222 |
+
|
223 |
+
|
224 |
+
.select2-container-active .select2-choice,
|
225 |
+
.select2-container-active .select2-choices {
|
226 |
+
-webkit-box-shadow: 0 0 5px rgba(0,0,0,.3);
|
227 |
+
-moz-box-shadow : 0 0 5px rgba(0,0,0,.3);
|
228 |
+
-o-box-shadow : 0 0 5px rgba(0,0,0,.3);
|
229 |
+
box-shadow : 0 0 5px rgba(0,0,0,.3);
|
230 |
+
border: 1px solid #5897fb;
|
231 |
+
outline: none;
|
232 |
+
}
|
233 |
+
|
234 |
+
.select2-dropdown-open .select2-choice {
|
235 |
+
border: 1px solid #aaa;
|
236 |
+
border-bottom-color: transparent;
|
237 |
+
-webkit-box-shadow: 0 1px 0 #fff inset;
|
238 |
+
-moz-box-shadow : 0 1px 0 #fff inset;
|
239 |
+
-o-box-shadow : 0 1px 0 #fff inset;
|
240 |
+
box-shadow : 0 1px 0 #fff inset;
|
241 |
+
background-color: #eee;
|
242 |
+
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, white), color-stop(0.5, #eeeeee));
|
243 |
+
background-image: -webkit-linear-gradient(center bottom, white 0%, #eeeeee 50%);
|
244 |
+
background-image: -moz-linear-gradient(center bottom, white 0%, #eeeeee 50%);
|
245 |
+
background-image: -o-linear-gradient(bottom, white 0%, #eeeeee 50%);
|
246 |
+
background-image: -ms-linear-gradient(top, #ffffff 0%,#eeeeee 50%);
|
247 |
+
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#eeeeee',GradientType=0 );
|
248 |
+
background-image: linear-gradient(top, #ffffff 0%,#eeeeee 50%);
|
249 |
+
-webkit-border-bottom-left-radius : 0;
|
250 |
+
-webkit-border-bottom-right-radius: 0;
|
251 |
+
-moz-border-radius-bottomleft : 0;
|
252 |
+
-moz-border-radius-bottomright: 0;
|
253 |
+
border-bottom-left-radius : 0;
|
254 |
+
border-bottom-right-radius: 0;
|
255 |
+
}
|
256 |
+
|
257 |
+
.select2-dropdown-open .select2-choice div {
|
258 |
+
background: transparent;
|
259 |
+
border-left: none;
|
260 |
+
}
|
261 |
+
.select2-dropdown-open .select2-choice div b {
|
262 |
+
background-position: -18px 1px;
|
263 |
+
}
|
264 |
+
|
265 |
+
/* results */
|
266 |
+
.select2-results {
|
267 |
+
margin: 4px 4px 4px 0;
|
268 |
+
padding: 0 0 0 4px;
|
269 |
+
position: relative;
|
270 |
+
overflow-x: hidden;
|
271 |
+
overflow-y: auto;
|
272 |
+
max-height: 200px;
|
273 |
+
}
|
274 |
+
|
275 |
+
.select2-results ul.select2-result-sub {
|
276 |
+
margin: 0 0 0 0;
|
277 |
+
}
|
278 |
+
|
279 |
+
.select2-results ul.select2-result-sub > li .select2-result-label { padding-left: 20px }
|
280 |
+
.select2-results ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 40px }
|
281 |
+
.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 60px }
|
282 |
+
.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 80px }
|
283 |
+
.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 100px }
|
284 |
+
.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 110px }
|
285 |
+
.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 120px }
|
286 |
+
|
287 |
+
.select2-results li {
|
288 |
+
list-style: none;
|
289 |
+
display: list-item;
|
290 |
+
}
|
291 |
+
|
292 |
+
.select2-results li.select2-result-with-children > .select2-result-label {
|
293 |
+
font-weight: bold;
|
294 |
+
}
|
295 |
+
|
296 |
+
.select2-results .select2-result-label {
|
297 |
+
padding: 3px 7px 4px;
|
298 |
+
margin: 0;
|
299 |
+
cursor: pointer;
|
300 |
+
}
|
301 |
+
|
302 |
+
.select2-results .select2-highlighted {
|
303 |
+
background: #3875d7;
|
304 |
+
color: #fff;
|
305 |
+
}
|
306 |
+
.select2-results li em {
|
307 |
+
background: #feffde;
|
308 |
+
font-style: normal;
|
309 |
+
}
|
310 |
+
.select2-results .select2-highlighted em {
|
311 |
+
background: transparent;
|
312 |
+
}
|
313 |
+
.select2-results .select2-no-results,
|
314 |
+
.select2-results .select2-searching,
|
315 |
+
.select2-results .select2-selection-limit {
|
316 |
+
background: #f4f4f4;
|
317 |
+
display: list-item;
|
318 |
+
}
|
319 |
+
|
320 |
+
/*
|
321 |
+
disabled look for already selected choices in the results dropdown
|
322 |
+
.select2-results .select2-disabled.select2-highlighted {
|
323 |
+
color: #666;
|
324 |
+
background: #f4f4f4;
|
325 |
+
display: list-item;
|
326 |
+
cursor: default;
|
327 |
+
}
|
328 |
+
.select2-results .select2-disabled {
|
329 |
+
background: #f4f4f4;
|
330 |
+
display: list-item;
|
331 |
+
cursor: default;
|
332 |
+
}
|
333 |
+
*/
|
334 |
+
.select2-results .select2-disabled {
|
335 |
+
display: none;
|
336 |
+
}
|
337 |
+
|
338 |
+
.select2-more-results.select2-active {
|
339 |
+
background: #f4f4f4 url('spinner.gif') no-repeat 100%;
|
340 |
+
}
|
341 |
+
|
342 |
+
.select2-more-results {
|
343 |
+
background: #f4f4f4;
|
344 |
+
display: list-item;
|
345 |
+
}
|
346 |
+
|
347 |
+
/* disabled styles */
|
348 |
+
|
349 |
+
.select2-container.select2-container-disabled .select2-choice {
|
350 |
+
background-color: #f4f4f4;
|
351 |
+
background-image: none;
|
352 |
+
border: 1px solid #ddd;
|
353 |
+
cursor: default;
|
354 |
+
}
|
355 |
+
|
356 |
+
.select2-container.select2-container-disabled .select2-choice div {
|
357 |
+
background-color: #f4f4f4;
|
358 |
+
background-image: none;
|
359 |
+
border-left: 0;
|
360 |
+
}
|
361 |
+
|
362 |
+
|
363 |
+
/* multiselect */
|
364 |
+
|
365 |
+
.select2-container-multi .select2-choices {
|
366 |
+
background-color: #fff;
|
367 |
+
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff));
|
368 |
+
background-image: -webkit-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
|
369 |
+
background-image: -moz-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
|
370 |
+
background-image: -o-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
|
371 |
+
background-image: -ms-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
|
372 |
+
background-image: linear-gradient(top, #eeeeee 1%, #ffffff 15%);
|
373 |
+
border: 1px solid #aaa;
|
374 |
+
margin: 0;
|
375 |
+
padding: 0;
|
376 |
+
cursor: text;
|
377 |
+
overflow: hidden;
|
378 |
+
height: auto !important;
|
379 |
+
height: 1%;
|
380 |
+
position: relative;
|
381 |
+
}
|
382 |
+
|
383 |
+
.select2-container-multi .select2-choices {
|
384 |
+
min-height: 26px;
|
385 |
+
}
|
386 |
+
|
387 |
+
.select2-container-multi.select2-container-active .select2-choices {
|
388 |
+
-webkit-box-shadow: 0 0 5px rgba(0,0,0,.3);
|
389 |
+
-moz-box-shadow : 0 0 5px rgba(0,0,0,.3);
|
390 |
+
-o-box-shadow : 0 0 5px rgba(0,0,0,.3);
|
391 |
+
box-shadow : 0 0 5px rgba(0,0,0,.3);
|
392 |
+
border: 1px solid #5897fb;
|
393 |
+
outline: none;
|
394 |
+
}
|
395 |
+
.select2-container-multi .select2-choices li {
|
396 |
+
float: left;
|
397 |
+
list-style: none;
|
398 |
+
}
|
399 |
+
.select2-container-multi .select2-choices .select2-search-field {
|
400 |
+
white-space: nowrap;
|
401 |
+
margin: 0;
|
402 |
+
padding: 0;
|
403 |
+
}
|
404 |
+
|
405 |
+
.select2-container-multi .select2-choices .select2-search-field input {
|
406 |
+
color: #666;
|
407 |
+
background: transparent !important;
|
408 |
+
font-family: sans-serif;
|
409 |
+
font-size: 100%;
|
410 |
+
height: 15px;
|
411 |
+
padding: 5px;
|
412 |
+
margin: 1px 0;
|
413 |
+
outline: 0;
|
414 |
+
border: 0;
|
415 |
+
-webkit-box-shadow: none;
|
416 |
+
-moz-box-shadow : none;
|
417 |
+
-o-box-shadow : none;
|
418 |
+
box-shadow : none;
|
419 |
+
}
|
420 |
+
|
421 |
+
.select2-container-multi .select2-choices .select2-search-field input.select2-active {
|
422 |
+
background: #fff url('spinner.gif') no-repeat 100% !important;
|
423 |
+
}
|
424 |
+
|
425 |
+
.select2-default {
|
426 |
+
color: #999 !important;
|
427 |
+
}
|
428 |
+
|
429 |
+
.select2-container-multi .select2-choices .select2-search-choice {
|
430 |
+
-webkit-border-radius: 3px;
|
431 |
+
-moz-border-radius : 3px;
|
432 |
+
border-radius : 3px;
|
433 |
+
-moz-background-clip : padding;
|
434 |
+
-webkit-background-clip: padding-box;
|
435 |
+
background-clip : padding-box;
|
436 |
+
background-color: #e4e4e4;
|
437 |
+
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f4f4f4', endColorstr='#eeeeee', GradientType=0 );
|
438 |
+
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee));
|
439 |
+
background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
|
440 |
+
background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
|
441 |
+
background-image: -o-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
|
442 |
+
background-image: -ms-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
|
443 |
+
background-image: linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
|
444 |
+
-webkit-box-shadow: 0 0 2px #ffffff inset, 0 1px 0 rgba(0,0,0,0.05);
|
445 |
+
-moz-box-shadow : 0 0 2px #ffffff inset, 0 1px 0 rgba(0,0,0,0.05);
|
446 |
+
box-shadow : 0 0 2px #ffffff inset, 0 1px 0 rgba(0,0,0,0.05);
|
447 |
+
color: #333;
|
448 |
+
border: 1px solid #aaaaaa;
|
449 |
+
line-height: 13px;
|
450 |
+
padding: 3px 5px 3px 18px;
|
451 |
+
margin: 3px 0 3px 5px;
|
452 |
+
position: relative;
|
453 |
+
cursor: default;
|
454 |
+
}
|
455 |
+
.select2-container-multi .select2-choices .select2-search-choice span {
|
456 |
+
cursor: default;
|
457 |
+
}
|
458 |
+
.select2-container-multi .select2-choices .select2-search-choice-focus {
|
459 |
+
background: #d4d4d4;
|
460 |
+
}
|
461 |
+
|
462 |
+
.select2-search-choice-close {
|
463 |
+
display: block;
|
464 |
+
position: absolute;
|
465 |
+
right: 3px;
|
466 |
+
top: 4px;
|
467 |
+
width: 12px;
|
468 |
+
height: 13px;
|
469 |
+
font-size: 1px;
|
470 |
+
background: url('select2.png') right top no-repeat;
|
471 |
+
outline: none;
|
472 |
+
}
|
473 |
+
|
474 |
+
.select2-container-multi .select2-search-choice-close {
|
475 |
+
left: 3px;
|
476 |
+
}
|
477 |
+
|
478 |
+
|
479 |
+
.select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover {
|
480 |
+
background-position: right -11px;
|
481 |
+
}
|
482 |
+
.select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close {
|
483 |
+
background-position: right -11px;
|
484 |
+
}
|
485 |
+
|
486 |
+
/* disabled styles */
|
487 |
+
|
488 |
+
.select2-container-multi.select2-container-disabled .select2-choices{
|
489 |
+
background-color: #f4f4f4;
|
490 |
+
background-image: none;
|
491 |
+
border: 1px solid #ddd;
|
492 |
+
cursor: default;
|
493 |
+
}
|
494 |
+
|
495 |
+
.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice {
|
496 |
+
background-image: none;
|
497 |
+
background-color: #f4f4f4;
|
498 |
+
border: 1px solid #ddd;
|
499 |
+
padding: 3px 5px 3px 5px;
|
500 |
+
}
|
501 |
+
|
502 |
+
.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close {
|
503 |
+
display: none;
|
504 |
+
}
|
505 |
+
/* end multiselect */
|
506 |
+
|
507 |
+
.select2-result-selectable .select2-match,
|
508 |
+
.select2-result-unselectable .select2-result-selectable .select2-match { text-decoration: underline; }
|
509 |
+
.select2-result-unselectable .select2-match { text-decoration: none; }
|
510 |
+
|
511 |
+
.select2-offscreen { position: absolute; left: -10000px; }
|
512 |
+
|
513 |
+
/* Retina-ize icons */
|
514 |
+
|
515 |
+
@media only screen and (-webkit-min-device-pixel-ratio: 1.5) {
|
516 |
+
.select2-search input, .select2-search-choice-close, .select2-container .select2-choice abbr, .select2-container .select2-choice div b {
|
517 |
+
background-image: url(select2x2.png) !important;
|
518 |
+
background-repeat: no-repeat !important;
|
519 |
+
background-size: 60px 40px !important;
|
520 |
+
}
|
521 |
+
.select2-search input {
|
522 |
+
background-position: 100% -21px !important;
|
523 |
+
}
|
524 |
+
}
|
@@ -0,0 +1,2407 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
Copyright 2012 Igor Vaynberg
|
3 |
+
|
4 |
+
Version: 3.2 Timestamp: Mon Sep 10 10:38:04 PDT 2012
|
5 |
+
|
6 |
+
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in
|
7 |
+
compliance with the License. You may obtain a copy of the License in the LICENSE file, or at:
|
8 |
+
|
9 |
+
http://www.apache.org/licenses/LICENSE-2.0
|
10 |
+
|
11 |
+
Unless required by applicable law or agreed to in writing, software distributed under the License is
|
12 |
+
distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13 |
+
See the License for the specific language governing permissions and limitations under the License.
|
14 |
+
*/
|
15 |
+
(function ($) {
|
16 |
+
if(typeof $.fn.each2 == "undefined"){
|
17 |
+
$.fn.extend({
|
18 |
+
/*
|
19 |
+
* 4-10 times faster .each replacement
|
20 |
+
* use it carefully, as it overrides jQuery context of element on each iteration
|
21 |
+
*/
|
22 |
+
each2 : function (c) {
|
23 |
+
var j = $([0]), i = -1, l = this.length;
|
24 |
+
while (
|
25 |
+
++i < l
|
26 |
+
&& (j.context = j[0] = this[i])
|
27 |
+
&& c.call(j[0], i, j) !== false //"this"=DOM, i=index, j=jQuery object
|
28 |
+
);
|
29 |
+
return this;
|
30 |
+
}
|
31 |
+
});
|
32 |
+
}
|
33 |
+
})(jQuery);
|
34 |
+
|
35 |
+
(function ($, undefined) {
|
36 |
+
"use strict";
|
37 |
+
/*global document, window, jQuery, console */
|
38 |
+
|
39 |
+
if (window.Select2 !== undefined) {
|
40 |
+
return;
|
41 |
+
}
|
42 |
+
|
43 |
+
var KEY, AbstractSelect2, SingleSelect2, MultiSelect2, nextUid, sizer;
|
44 |
+
|
45 |
+
KEY = {
|
46 |
+
TAB: 9,
|
47 |
+
ENTER: 13,
|
48 |
+
ESC: 27,
|
49 |
+
SPACE: 32,
|
50 |
+
LEFT: 37,
|
51 |
+
UP: 38,
|
52 |
+
RIGHT: 39,
|
53 |
+
DOWN: 40,
|
54 |
+
SHIFT: 16,
|
55 |
+
CTRL: 17,
|
56 |
+
ALT: 18,
|
57 |
+
PAGE_UP: 33,
|
58 |
+
PAGE_DOWN: 34,
|
59 |
+
HOME: 36,
|
60 |
+
END: 35,
|
61 |
+
BACKSPACE: 8,
|
62 |
+
DELETE: 46,
|
63 |
+
isArrow: function (k) {
|
64 |
+
k = k.which ? k.which : k;
|
65 |
+
switch (k) {
|
66 |
+
case KEY.LEFT:
|
67 |
+
case KEY.RIGHT:
|
68 |
+
case KEY.UP:
|
69 |
+
case KEY.DOWN:
|
70 |
+
return true;
|
71 |
+
}
|
72 |
+
return false;
|
73 |
+
},
|
74 |
+
isControl: function (e) {
|
75 |
+
var k = e.which;
|
76 |
+
switch (k) {
|
77 |
+
case KEY.SHIFT:
|
78 |
+
case KEY.CTRL:
|
79 |
+
case KEY.ALT:
|
80 |
+
return true;
|
81 |
+
}
|
82 |
+
|
83 |
+
if (e.metaKey) return true;
|
84 |
+
|
85 |
+
return false;
|
86 |
+
},
|
87 |
+
isFunctionKey: function (k) {
|
88 |
+
k = k.which ? k.which : k;
|
89 |
+
return k >= 112 && k <= 123;
|
90 |
+
}
|
91 |
+
};
|
92 |
+
|
93 |
+
nextUid=(function() { var counter=1; return function() { return counter++; }; }());
|
94 |
+
|
95 |
+
function indexOf(value, array) {
|
96 |
+
var i = 0, l = array.length, v;
|
97 |
+
|
98 |
+
if (typeof value === "undefined") {
|
99 |
+
return -1;
|
100 |
+
}
|
101 |
+
|
102 |
+
if (value.constructor === String) {
|
103 |
+
for (; i < l; i = i + 1) if (value.localeCompare(array[i]) === 0) return i;
|
104 |
+
} else {
|
105 |
+
for (; i < l; i = i + 1) {
|
106 |
+
v = array[i];
|
107 |
+
if (v.constructor === String) {
|
108 |
+
if (v.localeCompare(value) === 0) return i;
|
109 |
+
} else {
|
110 |
+
if (v === value) return i;
|
111 |
+
}
|
112 |
+
}
|
113 |
+
}
|
114 |
+
return -1;
|
115 |
+
}
|
116 |
+
|
117 |
+
/**
|
118 |
+
* Compares equality of a and b taking into account that a and b may be strings, in which case localeCompare is used
|
119 |
+
* @param a
|
120 |
+
* @param b
|
121 |
+
*/
|
122 |
+
function equal(a, b) {
|
123 |
+
if (a === b) return true;
|
124 |
+
if (a === undefined || b === undefined) return false;
|
125 |
+
if (a === null || b === null) return false;
|
126 |
+
if (a.constructor === String) return a.localeCompare(b) === 0;
|
127 |
+
if (b.constructor === String) return b.localeCompare(a) === 0;
|
128 |
+
return false;
|
129 |
+
}
|
130 |
+
|
131 |
+
/**
|
132 |
+
* Splits the string into an array of values, trimming each value. An empty array is returned for nulls or empty
|
133 |
+
* strings
|
134 |
+
* @param string
|
135 |
+
* @param separator
|
136 |
+
*/
|
137 |
+
function splitVal(string, separator) {
|
138 |
+
var val, i, l;
|
139 |
+
if (string === null || string.length < 1) return [];
|
140 |
+
val = string.split(separator);
|
141 |
+
for (i = 0, l = val.length; i < l; i = i + 1) val[i] = $.trim(val[i]);
|
142 |
+
return val;
|
143 |
+
}
|
144 |
+
|
145 |
+
function getSideBorderPadding(element) {
|
146 |
+
return element.outerWidth() - element.width();
|
147 |
+
}
|
148 |
+
|
149 |
+
function installKeyUpChangeEvent(element) {
|
150 |
+
var key="keyup-change-value";
|
151 |
+
element.bind("keydown", function () {
|
152 |
+
if ($.data(element, key) === undefined) {
|
153 |
+
$.data(element, key, element.val());
|
154 |
+
}
|
155 |
+
});
|
156 |
+
element.bind("keyup", function () {
|
157 |
+
var val= $.data(element, key);
|
158 |
+
if (val !== undefined && element.val() !== val) {
|
159 |
+
$.removeData(element, key);
|
160 |
+
element.trigger("keyup-change");
|
161 |
+
}
|
162 |
+
});
|
163 |
+
}
|
164 |
+
|
165 |
+
$(document).delegate("body", "mousemove", function (e) {
|
166 |
+
$.data(document, "select2-lastpos", {x: e.pageX, y: e.pageY});
|
167 |
+
});
|
168 |
+
|
169 |
+
/**
|
170 |
+
* filters mouse events so an event is fired only if the mouse moved.
|
171 |
+
*
|
172 |
+
* filters out mouse events that occur when mouse is stationary but
|
173 |
+
* the elements under the pointer are scrolled.
|
174 |
+
*/
|
175 |
+
function installFilteredMouseMove(element) {
|
176 |
+
element.bind("mousemove", function (e) {
|
177 |
+
var lastpos = $.data(document, "select2-lastpos");
|
178 |
+
if (lastpos === undefined || lastpos.x !== e.pageX || lastpos.y !== e.pageY) {
|
179 |
+
$(e.target).trigger("mousemove-filtered", e);
|
180 |
+
}
|
181 |
+
});
|
182 |
+
}
|
183 |
+
|
184 |
+
/**
|
185 |
+
* Debounces a function. Returns a function that calls the original fn function only if no invocations have been made
|
186 |
+
* within the last quietMillis milliseconds.
|
187 |
+
*
|
188 |
+
* @param quietMillis number of milliseconds to wait before invoking fn
|
189 |
+
* @param fn function to be debounced
|
190 |
+
* @param ctx object to be used as this reference within fn
|
191 |
+
* @return debounced version of fn
|
192 |
+
*/
|
193 |
+
function debounce(quietMillis, fn, ctx) {
|
194 |
+
ctx = ctx || undefined;
|
195 |
+
var timeout;
|
196 |
+
return function () {
|
197 |
+
var args = arguments;
|
198 |
+
window.clearTimeout(timeout);
|
199 |
+
timeout = window.setTimeout(function() {
|
200 |
+
fn.apply(ctx, args);
|
201 |
+
}, quietMillis);
|
202 |
+
};
|
203 |
+
}
|
204 |
+
|
205 |
+
/**
|
206 |
+
* A simple implementation of a thunk
|
207 |
+
* @param formula function used to lazily initialize the thunk
|
208 |
+
* @return {Function}
|
209 |
+
*/
|
210 |
+
function thunk(formula) {
|
211 |
+
var evaluated = false,
|
212 |
+
value;
|
213 |
+
return function() {
|
214 |
+
if (evaluated === false) { value = formula(); evaluated = true; }
|
215 |
+
return value;
|
216 |
+
};
|
217 |
+
};
|
218 |
+
|
219 |
+
function installDebouncedScroll(threshold, element) {
|
220 |
+
var notify = debounce(threshold, function (e) { element.trigger("scroll-debounced", e);});
|
221 |
+
element.bind("scroll", function (e) {
|
222 |
+
if (indexOf(e.target, element.get()) >= 0) notify(e);
|
223 |
+
});
|
224 |
+
}
|
225 |
+
|
226 |
+
function killEvent(event) {
|
227 |
+
event.preventDefault();
|
228 |
+
event.stopPropagation();
|
229 |
+
}
|
230 |
+
|
231 |
+
function measureTextWidth(e) {
|
232 |
+
if (!sizer){
|
233 |
+
var style = e[0].currentStyle || window.getComputedStyle(e[0], null);
|
234 |
+
sizer = $("<div></div>").css({
|
235 |
+
position: "absolute",
|
236 |
+
left: "-10000px",
|
237 |
+
top: "-10000px",
|
238 |
+
display: "none",
|
239 |
+
fontSize: style.fontSize,
|
240 |
+
fontFamily: style.fontFamily,
|
241 |
+
fontStyle: style.fontStyle,
|
242 |
+
fontWeight: style.fontWeight,
|
243 |
+
letterSpacing: style.letterSpacing,
|
244 |
+
textTransform: style.textTransform,
|
245 |
+
whiteSpace: "nowrap"
|
246 |
+
});
|
247 |
+
$("body").append(sizer);
|
248 |
+
}
|
249 |
+
sizer.text(e.val());
|
250 |
+
return sizer.width();
|
251 |
+
}
|
252 |
+
|
253 |
+
function markMatch(text, term, markup) {
|
254 |
+
var match=text.toUpperCase().indexOf(term.toUpperCase()),
|
255 |
+
tl=term.length;
|
256 |
+
|
257 |
+
if (match<0) {
|
258 |
+
markup.push(text);
|
259 |
+
return;
|
260 |
+
}
|
261 |
+
|
262 |
+
markup.push(text.substring(0, match));
|
263 |
+
markup.push("<span class='select2-match'>");
|
264 |
+
markup.push(text.substring(match, match + tl));
|
265 |
+
markup.push("</span>");
|
266 |
+
markup.push(text.substring(match + tl, text.length));
|
267 |
+
}
|
268 |
+
|
269 |
+
/**
|
270 |
+
* Produces an ajax-based query function
|
271 |
+
*
|
272 |
+
* @param options object containing configuration paramters
|
273 |
+
* @param options.transport function that will be used to execute the ajax request. must be compatible with parameters supported by $.ajax
|
274 |
+
* @param options.url url for the data
|
275 |
+
* @param options.data a function(searchTerm, pageNumber, context) that should return an object containing query string parameters for the above url.
|
276 |
+
* @param options.dataType request data type: ajax, jsonp, other datatatypes supported by jQuery's $.ajax function or the transport function if specified
|
277 |
+
* @param options.traditional a boolean flag that should be true if you wish to use the traditional style of param serialization for the ajax request
|
278 |
+
* @param options.quietMillis (optional) milliseconds to wait before making the ajaxRequest, helps debounce the ajax function if invoked too often
|
279 |
+
* @param options.results a function(remoteData, pageNumber) that converts data returned form the remote request to the format expected by Select2.
|
280 |
+
* The expected format is an object containing the following keys:
|
281 |
+
* results array of objects that will be used as choices
|
282 |
+
* more (optional) boolean indicating whether there are more results available
|
283 |
+
* Example: {results:[{id:1, text:'Red'},{id:2, text:'Blue'}], more:true}
|
284 |
+
*/
|
285 |
+
function ajax(options) {
|
286 |
+
var timeout, // current scheduled but not yet executed request
|
287 |
+
requestSequence = 0, // sequence used to drop out-of-order responses
|
288 |
+
handler = null,
|
289 |
+
quietMillis = options.quietMillis || 100;
|
290 |
+
|
291 |
+
return function (query) {
|
292 |
+
window.clearTimeout(timeout);
|
293 |
+
timeout = window.setTimeout(function () {
|
294 |
+
requestSequence += 1; // increment the sequence
|
295 |
+
var requestNumber = requestSequence, // this request's sequence number
|
296 |
+
data = options.data, // ajax data function
|
297 |
+
transport = options.transport || $.ajax,
|
298 |
+
traditional = options.traditional || false,
|
299 |
+
type = options.type || 'GET'; // set type of request (GET or POST)
|
300 |
+
|
301 |
+
data = data.call(this, query.term, query.page, query.context);
|
302 |
+
|
303 |
+
if( null !== handler) { handler.abort(); }
|
304 |
+
|
305 |
+
handler = transport.call(null, {
|
306 |
+
url: options.url,
|
307 |
+
dataType: options.dataType,
|
308 |
+
data: data,
|
309 |
+
type: type,
|
310 |
+
traditional: traditional,
|
311 |
+
success: function (data) {
|
312 |
+
if (requestNumber < requestSequence) {
|
313 |
+
return;
|
314 |
+
}
|
315 |
+
// TODO 3.0 - replace query.page with query so users have access to term, page, etc.
|
316 |
+
var results = options.results(data, query.page);
|
317 |
+
query.callback(results);
|
318 |
+
}
|
319 |
+
});
|
320 |
+
}, quietMillis);
|
321 |
+
};
|
322 |
+
}
|
323 |
+
|
324 |
+
/**
|
325 |
+
* Produces a query function that works with a local array
|
326 |
+
*
|
327 |
+
* @param options object containing configuration parameters. The options parameter can either be an array or an
|
328 |
+
* object.
|
329 |
+
*
|
330 |
+
* If the array form is used it is assumed that it contains objects with 'id' and 'text' keys.
|
331 |
+
*
|
332 |
+
* If the object form is used ti is assumed that it contains 'data' and 'text' keys. The 'data' key should contain
|
333 |
+
* an array of objects that will be used as choices. These objects must contain at least an 'id' key. The 'text'
|
334 |
+
* key can either be a String in which case it is expected that each element in the 'data' array has a key with the
|
335 |
+
* value of 'text' which will be used to match choices. Alternatively, text can be a function(item) that can extract
|
336 |
+
* the text.
|
337 |
+
*/
|
338 |
+
function local(options) {
|
339 |
+
var data = options, // data elements
|
340 |
+
dataText,
|
341 |
+
text = function (item) { return ""+item.text; }; // function used to retrieve the text portion of a data item that is matched against the search
|
342 |
+
|
343 |
+
if (!$.isArray(data)) {
|
344 |
+
text = data.text;
|
345 |
+
// if text is not a function we assume it to be a key name
|
346 |
+
if (!$.isFunction(text)) {
|
347 |
+
dataText = data.text; // we need to store this in a separate variable because in the next step data gets reset and data.text is no longer available
|
348 |
+
text = function (item) { return item[dataText]; };
|
349 |
+
}
|
350 |
+
data = data.results;
|
351 |
+
}
|
352 |
+
|
353 |
+
return function (query) {
|
354 |
+
var t = query.term, filtered = { results: [] }, process;
|
355 |
+
if (t === "") {
|
356 |
+
query.callback({results: data});
|
357 |
+
return;
|
358 |
+
}
|
359 |
+
|
360 |
+
process = function(datum, collection) {
|
361 |
+
var group, attr;
|
362 |
+
datum = datum[0];
|
363 |
+
if (datum.children) {
|
364 |
+
group = {};
|
365 |
+
for (attr in datum) {
|
366 |
+
if (datum.hasOwnProperty(attr)) group[attr]=datum[attr];
|
367 |
+
}
|
368 |
+
group.children=[];
|
369 |
+
$(datum.children).each2(function(i, childDatum) { process(childDatum, group.children); });
|
370 |
+
if (group.children.length) {
|
371 |
+
collection.push(group);
|
372 |
+
}
|
373 |
+
} else {
|
374 |
+
if (query.matcher(t, text(datum))) {
|
375 |
+
collection.push(datum);
|
376 |
+
}
|
377 |
+
}
|
378 |
+
};
|
379 |
+
|
380 |
+
$(data).each2(function(i, datum) { process(datum, filtered.results); });
|
381 |
+
query.callback(filtered);
|
382 |
+
};
|
383 |
+
}
|
384 |
+
|
385 |
+
// TODO javadoc
|
386 |
+
function tags(data) {
|
387 |
+
// TODO even for a function we should probably return a wrapper that does the same object/string check as
|
388 |
+
// the function for arrays. otherwise only functions that return objects are supported.
|
389 |
+
if ($.isFunction(data)) {
|
390 |
+
return data;
|
391 |
+
}
|
392 |
+
|
393 |
+
// if not a function we assume it to be an array
|
394 |
+
|
395 |
+
return function (query) {
|
396 |
+
var t = query.term, filtered = {results: []};
|
397 |
+
$(data).each(function () {
|
398 |
+
var isObject = this.text !== undefined,
|
399 |
+
text = isObject ? this.text : this;
|
400 |
+
if (t === "" || query.matcher(t, text)) {
|
401 |
+
filtered.results.push(isObject ? this : {id: this, text: this});
|
402 |
+
}
|
403 |
+
});
|
404 |
+
query.callback(filtered);
|
405 |
+
};
|
406 |
+
}
|
407 |
+
|
408 |
+
/**
|
409 |
+
* Checks if the formatter function should be used.
|
410 |
+
*
|
411 |
+
* Throws an error if it is not a function. Returns true if it should be used,
|
412 |
+
* false if no formatting should be performed.
|
413 |
+
*
|
414 |
+
* @param formatter
|
415 |
+
*/
|
416 |
+
function checkFormatter(formatter, formatterName) {
|
417 |
+
if ($.isFunction(formatter)) return true;
|
418 |
+
if (!formatter) return false;
|
419 |
+
throw new Error("formatterName must be a function or a falsy value");
|
420 |
+
}
|
421 |
+
|
422 |
+
function evaluate(val) {
|
423 |
+
return $.isFunction(val) ? val() : val;
|
424 |
+
}
|
425 |
+
|
426 |
+
function countResults(results) {
|
427 |
+
var count = 0;
|
428 |
+
$.each(results, function(i, item) {
|
429 |
+
if (item.children) {
|
430 |
+
count += countResults(item.children);
|
431 |
+
} else {
|
432 |
+
count++;
|
433 |
+
}
|
434 |
+
});
|
435 |
+
return count;
|
436 |
+
}
|
437 |
+
|
438 |
+
/**
|
439 |
+
* Default tokenizer. This function uses breaks the input on substring match of any string from the
|
440 |
+
* opts.tokenSeparators array and uses opts.createSearchChoice to create the choice object. Both of those
|
441 |
+
* two options have to be defined in order for the tokenizer to work.
|
442 |
+
*
|
443 |
+
* @param input text user has typed so far or pasted into the search field
|
444 |
+
* @param selection currently selected choices
|
445 |
+
* @param selectCallback function(choice) callback tho add the choice to selection
|
446 |
+
* @param opts select2's opts
|
447 |
+
* @return undefined/null to leave the current input unchanged, or a string to change the input to the returned value
|
448 |
+
*/
|
449 |
+
function defaultTokenizer(input, selection, selectCallback, opts) {
|
450 |
+
var original = input, // store the original so we can compare and know if we need to tell the search to update its text
|
451 |
+
dupe = false, // check for whether a token we extracted represents a duplicate selected choice
|
452 |
+
token, // token
|
453 |
+
index, // position at which the separator was found
|
454 |
+
i, l, // looping variables
|
455 |
+
separator; // the matched separator
|
456 |
+
|
457 |
+
if (!opts.createSearchChoice || !opts.tokenSeparators || opts.tokenSeparators.length < 1) return undefined;
|
458 |
+
|
459 |
+
while (true) {
|
460 |
+
index = -1;
|
461 |
+
|
462 |
+
for (i = 0, l = opts.tokenSeparators.length; i < l; i++) {
|
463 |
+
separator = opts.tokenSeparators[i];
|
464 |
+
index = input.indexOf(separator);
|
465 |
+
if (index >= 0) break;
|
466 |
+
}
|
467 |
+
|
468 |
+
if (index < 0) break; // did not find any token separator in the input string, bail
|
469 |
+
|
470 |
+
token = input.substring(0, index);
|
471 |
+
input = input.substring(index + separator.length);
|
472 |
+
|
473 |
+
if (token.length > 0) {
|
474 |
+
token = opts.createSearchChoice(token, selection);
|
475 |
+
if (token !== undefined && token !== null && opts.id(token) !== undefined && opts.id(token) !== null) {
|
476 |
+
dupe = false;
|
477 |
+
for (i = 0, l = selection.length; i < l; i++) {
|
478 |
+
if (equal(opts.id(token), opts.id(selection[i]))) {
|
479 |
+
dupe = true; break;
|
480 |
+
}
|
481 |
+
}
|
482 |
+
|
483 |
+
if (!dupe) selectCallback(token);
|
484 |
+
}
|
485 |
+
}
|
486 |
+
}
|
487 |
+
|
488 |
+
if (original.localeCompare(input) != 0) return input;
|
489 |
+
}
|
490 |
+
|
491 |
+
/**
|
492 |
+
* blurs any Select2 container that has focus when an element outside them was clicked or received focus
|
493 |
+
*
|
494 |
+
* also takes care of clicks on label tags that point to the source element
|
495 |
+
*/
|
496 |
+
$(document).ready(function () {
|
497 |
+
$(document).delegate("body", "mousedown touchend", function (e) {
|
498 |
+
var target = $(e.target).closest("div.select2-container").get(0), attr;
|
499 |
+
if (target) {
|
500 |
+
$(document).find("div.select2-container-active").each(function () {
|
501 |
+
if (this !== target) $(this).data("select2").blur();
|
502 |
+
});
|
503 |
+
} else {
|
504 |
+
target = $(e.target).closest("div.select2-drop").get(0);
|
505 |
+
$(document).find("div.select2-drop-active").each(function () {
|
506 |
+
if (this !== target) $(this).data("select2").blur();
|
507 |
+
});
|
508 |
+
}
|
509 |
+
|
510 |
+
target=$(e.target);
|
511 |
+
attr = target.attr("for");
|
512 |
+
if ("LABEL" === e.target.tagName && attr && attr.length > 0) {
|
513 |
+
target = $("#"+attr);
|
514 |
+
target = target.data("select2");
|
515 |
+
if (target !== undefined) { target.focus(); e.preventDefault();}
|
516 |
+
}
|
517 |
+
});
|
518 |
+
});
|
519 |
+
|
520 |
+
/**
|
521 |
+
* Creates a new class
|
522 |
+
*
|
523 |
+
* @param superClass
|
524 |
+
* @param methods
|
525 |
+
*/
|
526 |
+
function clazz(SuperClass, methods) {
|
527 |
+
var constructor = function () {};
|
528 |
+
constructor.prototype = new SuperClass;
|
529 |
+
constructor.prototype.constructor = constructor;
|
530 |
+
constructor.prototype.parent = SuperClass.prototype;
|
531 |
+
constructor.prototype = $.extend(constructor.prototype, methods);
|
532 |
+
return constructor;
|
533 |
+
}
|
534 |
+
|
535 |
+
AbstractSelect2 = clazz(Object, {
|
536 |
+
|
537 |
+
// abstract
|
538 |
+
bind: function (func) {
|
539 |
+
var self = this;
|
540 |
+
return function () {
|
541 |
+
func.apply(self, arguments);
|
542 |
+
};
|
543 |
+
},
|
544 |
+
|
545 |
+
// abstract
|
546 |
+
init: function (opts) {
|
547 |
+
var results, search, resultsSelector = ".select2-results";
|
548 |
+
|
549 |
+
// prepare options
|
550 |
+
this.opts = opts = this.prepareOpts(opts);
|
551 |
+
|
552 |
+
this.id=opts.id;
|
553 |
+
|
554 |
+
// destroy if called on an existing component
|
555 |
+
if (opts.element.data("select2") !== undefined &&
|
556 |
+
opts.element.data("select2") !== null) {
|
557 |
+
this.destroy();
|
558 |
+
}
|
559 |
+
|
560 |
+
this.enabled=true;
|
561 |
+
this.container = this.createContainer();
|
562 |
+
|
563 |
+
this.containerId="s2id_"+(opts.element.attr("id") || "autogen"+nextUid());
|
564 |
+
this.containerSelector="#"+this.containerId.replace(/([;&,\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g, '\\$1');
|
565 |
+
this.container.attr("id", this.containerId);
|
566 |
+
|
567 |
+
// cache the body so future lookups are cheap
|
568 |
+
this.body = thunk(function() { return opts.element.closest("body"); });
|
569 |
+
|
570 |
+
if (opts.element.attr("class") !== undefined) {
|
571 |
+
this.container.addClass(opts.element.attr("class").replace(/validate\[[\S ]+] ?/, ''));
|
572 |
+
}
|
573 |
+
|
574 |
+
this.container.css(evaluate(opts.containerCss));
|
575 |
+
this.container.addClass(evaluate(opts.containerCssClass));
|
576 |
+
|
577 |
+
// swap container for the element
|
578 |
+
this.opts.element
|
579 |
+
.data("select2", this)
|
580 |
+
.hide()
|
581 |
+
.before(this.container);
|
582 |
+
this.container.data("select2", this);
|
583 |
+
|
584 |
+
this.dropdown = this.container.find(".select2-drop");
|
585 |
+
this.dropdown.addClass(evaluate(opts.dropdownCssClass));
|
586 |
+
this.dropdown.data("select2", this);
|
587 |
+
|
588 |
+
this.results = results = this.container.find(resultsSelector);
|
589 |
+
this.search = search = this.container.find("input.select2-input");
|
590 |
+
|
591 |
+
search.attr("tabIndex", this.opts.element.attr("tabIndex"));
|
592 |
+
|
593 |
+
this.resultsPage = 0;
|
594 |
+
this.context = null;
|
595 |
+
|
596 |
+
// initialize the container
|
597 |
+
this.initContainer();
|
598 |
+
this.initContainerWidth();
|
599 |
+
|
600 |
+
installFilteredMouseMove(this.results);
|
601 |
+
this.dropdown.delegate(resultsSelector, "mousemove-filtered", this.bind(this.highlightUnderEvent));
|
602 |
+
|
603 |
+
installDebouncedScroll(80, this.results);
|
604 |
+
this.dropdown.delegate(resultsSelector, "scroll-debounced", this.bind(this.loadMoreIfNeeded));
|
605 |
+
|
606 |
+
// if jquery.mousewheel plugin is installed we can prevent out-of-bounds scrolling of results via mousewheel
|
607 |
+
if ($.fn.mousewheel) {
|
608 |
+
results.mousewheel(function (e, delta, deltaX, deltaY) {
|
609 |
+
var top = results.scrollTop(), height;
|
610 |
+
if (deltaY > 0 && top - deltaY <= 0) {
|
611 |
+
results.scrollTop(0);
|
612 |
+
killEvent(e);
|
613 |
+
} else if (deltaY < 0 && results.get(0).scrollHeight - results.scrollTop() + deltaY <= results.height()) {
|
614 |
+
results.scrollTop(results.get(0).scrollHeight - results.height());
|
615 |
+
killEvent(e);
|
616 |
+
}
|
617 |
+
});
|
618 |
+
}
|
619 |
+
|
620 |
+
installKeyUpChangeEvent(search);
|
621 |
+
search.bind("keyup-change", this.bind(this.updateResults));
|
622 |
+
search.bind("focus", function () { search.addClass("select2-focused"); if (search.val() === " ") search.val(""); });
|
623 |
+
search.bind("blur", function () { search.removeClass("select2-focused");});
|
624 |
+
|
625 |
+
this.dropdown.delegate(resultsSelector, "mouseup", this.bind(function (e) {
|
626 |
+
if ($(e.target).closest(".select2-result-selectable:not(.select2-disabled)").length > 0) {
|
627 |
+
this.highlightUnderEvent(e);
|
628 |
+
this.selectHighlighted(e);
|
629 |
+
} else {
|
630 |
+
this.focusSearch();
|
631 |
+
}
|
632 |
+
killEvent(e);
|
633 |
+
}));
|
634 |
+
|
635 |
+
// trap all mouse events from leaving the dropdown. sometimes there may be a modal that is listening
|
636 |
+
// for mouse events outside of itself so it can close itself. since the dropdown is now outside the select2's
|
637 |
+
// dom it will trigger the popup close, which is not what we want
|
638 |
+
this.dropdown.bind("click mouseup mousedown", function (e) { e.stopPropagation(); });
|
639 |
+
|
640 |
+
if ($.isFunction(this.opts.initSelection)) {
|
641 |
+
// initialize selection based on the current value of the source element
|
642 |
+
this.initSelection();
|
643 |
+
|
644 |
+
// if the user has provided a function that can set selection based on the value of the source element
|
645 |
+
// we monitor the change event on the element and trigger it, allowing for two way synchronization
|
646 |
+
this.monitorSource();
|
647 |
+
}
|
648 |
+
|
649 |
+
if (opts.element.is(":disabled") || opts.element.is("[readonly='readonly']")) this.disable();
|
650 |
+
},
|
651 |
+
|
652 |
+
// abstract
|
653 |
+
destroy: function () {
|
654 |
+
var select2 = this.opts.element.data("select2");
|
655 |
+
if (select2 !== undefined) {
|
656 |
+
select2.container.remove();
|
657 |
+
select2.dropdown.remove();
|
658 |
+
select2.opts.element
|
659 |
+
.removeData("select2")
|
660 |
+
.unbind(".select2")
|
661 |
+
.show();
|
662 |
+
}
|
663 |
+
},
|
664 |
+
|
665 |
+
// abstract
|
666 |
+
prepareOpts: function (opts) {
|
667 |
+
var element, select, idKey, ajaxUrl;
|
668 |
+
|
669 |
+
element = opts.element;
|
670 |
+
|
671 |
+
if (element.get(0).tagName.toLowerCase() === "select") {
|
672 |
+
this.select = select = opts.element;
|
673 |
+
}
|
674 |
+
|
675 |
+
if (select) {
|
676 |
+
// these options are not allowed when attached to a select because they are picked up off the element itself
|
677 |
+
$.each(["id", "multiple", "ajax", "query", "createSearchChoice", "initSelection", "data", "tags"], function () {
|
678 |
+
if (this in opts) {
|
679 |
+
throw new Error("Option '" + this + "' is not allowed for Select2 when attached to a <select> element.");
|
680 |
+
}
|
681 |
+
});
|
682 |
+
}
|
683 |
+
|
684 |
+
opts = $.extend({}, {
|
685 |
+
populateResults: function(container, results, query) {
|
686 |
+
var populate, data, result, children, id=this.opts.id, self=this;
|
687 |
+
|
688 |
+
populate=function(results, container, depth) {
|
689 |
+
|
690 |
+
var i, l, result, selectable, compound, node, label, innerContainer, formatted;
|
691 |
+
for (i = 0, l = results.length; i < l; i = i + 1) {
|
692 |
+
|
693 |
+
result=results[i];
|
694 |
+
selectable=id(result) !== undefined;
|
695 |
+
compound=result.children && result.children.length > 0;
|
696 |
+
|
697 |
+
node=$("<li></li>");
|
698 |
+
node.addClass("select2-results-dept-"+depth);
|
699 |
+
node.addClass("select2-result");
|
700 |
+
node.addClass(selectable ? "select2-result-selectable" : "select2-result-unselectable");
|
701 |
+
if (compound) { node.addClass("select2-result-with-children"); }
|
702 |
+
node.addClass(self.opts.formatResultCssClass(result));
|
703 |
+
|
704 |
+
label=$("<div></div>");
|
705 |
+
label.addClass("select2-result-label");
|
706 |
+
|
707 |
+
formatted=opts.formatResult(result, label, query);
|
708 |
+
if (formatted!==undefined) {
|
709 |
+
label.html(self.opts.escapeMarkup(formatted));
|
710 |
+
}
|
711 |
+
|
712 |
+
node.append(label);
|
713 |
+
|
714 |
+
if (compound) {
|
715 |
+
|
716 |
+
innerContainer=$("<ul></ul>");
|
717 |
+
innerContainer.addClass("select2-result-sub");
|
718 |
+
populate(result.children, innerContainer, depth+1);
|
719 |
+
node.append(innerContainer);
|
720 |
+
}
|
721 |
+
|
722 |
+
node.data("select2-data", result);
|
723 |
+
container.append(node);
|
724 |
+
}
|
725 |
+
};
|
726 |
+
|
727 |
+
populate(results, container, 0);
|
728 |
+
}
|
729 |
+
}, $.fn.select2.defaults, opts);
|
730 |
+
|
731 |
+
if (typeof(opts.id) !== "function") {
|
732 |
+
idKey = opts.id;
|
733 |
+
opts.id = function (e) { return e[idKey]; };
|
734 |
+
}
|
735 |
+
|
736 |
+
if (select) {
|
737 |
+
opts.query = this.bind(function (query) {
|
738 |
+
var data = { results: [], more: false },
|
739 |
+
term = query.term,
|
740 |
+
children, firstChild, process;
|
741 |
+
|
742 |
+
process=function(element, collection) {
|
743 |
+
var group;
|
744 |
+
if (element.is("option")) {
|
745 |
+
if (query.matcher(term, element.text(), element)) {
|
746 |
+
collection.push({id:element.attr("value"), text:element.text(), element: element.get(), css: element.attr("class")});
|
747 |
+
}
|
748 |
+
} else if (element.is("optgroup")) {
|
749 |
+
group={text:element.attr("label"), children:[], element: element.get(), css: element.attr("class")};
|
750 |
+
element.children().each2(function(i, elm) { process(elm, group.children); });
|
751 |
+
if (group.children.length>0) {
|
752 |
+
collection.push(group);
|
753 |
+
}
|
754 |
+
}
|
755 |
+
};
|
756 |
+
|
757 |
+
children=element.children();
|
758 |
+
|
759 |
+
// ignore the placeholder option if there is one
|
760 |
+
if (this.getPlaceholder() !== undefined && children.length > 0) {
|
761 |
+
firstChild = children[0];
|
762 |
+
if ($(firstChild).text() === "") {
|
763 |
+
children=children.not(firstChild);
|
764 |
+
}
|
765 |
+
}
|
766 |
+
|
767 |
+
children.each2(function(i, elm) { process(elm, data.results); });
|
768 |
+
|
769 |
+
query.callback(data);
|
770 |
+
});
|
771 |
+
// this is needed because inside val() we construct choices from options and there id is hardcoded
|
772 |
+
opts.id=function(e) { return e.id; };
|
773 |
+
opts.formatResultCssClass = function(data) { return data.css; }
|
774 |
+
} else {
|
775 |
+
if (!("query" in opts)) {
|
776 |
+
if ("ajax" in opts) {
|
777 |
+
ajaxUrl = opts.element.data("ajax-url");
|
778 |
+
if (ajaxUrl && ajaxUrl.length > 0) {
|
779 |
+
opts.ajax.url = ajaxUrl;
|
780 |
+
}
|
781 |
+
opts.query = ajax(opts.ajax);
|
782 |
+
} else if ("data" in opts) {
|
783 |
+
opts.query = local(opts.data);
|
784 |
+
} else if ("tags" in opts) {
|
785 |
+
opts.query = tags(opts.tags);
|
786 |
+
opts.createSearchChoice = function (term) { return {id: term, text: term}; };
|
787 |
+
opts.initSelection = function (element, callback) {
|
788 |
+
var data = [];
|
789 |
+
$(splitVal(element.val(), opts.separator)).each(function () {
|
790 |
+
var id = this, text = this, tags=opts.tags;
|
791 |
+
if ($.isFunction(tags)) tags=tags();
|
792 |
+
$(tags).each(function() { if (equal(this.id, id)) { text = this.text; return false; } });
|
793 |
+
data.push({id: id, text: text});
|
794 |
+
});
|
795 |
+
|
796 |
+
callback(data);
|
797 |
+
};
|
798 |
+
}
|
799 |
+
}
|
800 |
+
}
|
801 |
+
if (typeof(opts.query) !== "function") {
|
802 |
+
throw "query function not defined for Select2 " + opts.element.attr("id");
|
803 |
+
}
|
804 |
+
|
805 |
+
return opts;
|
806 |
+
},
|
807 |
+
|
808 |
+
/**
|
809 |
+
* Monitor the original element for changes and update select2 accordingly
|
810 |
+
*/
|
811 |
+
// abstract
|
812 |
+
monitorSource: function () {
|
813 |
+
this.opts.element.bind("change.select2", this.bind(function (e) {
|
814 |
+
if (this.opts.element.data("select2-change-triggered") !== true) {
|
815 |
+
this.initSelection();
|
816 |
+
}
|
817 |
+
}));
|
818 |
+
},
|
819 |
+
|
820 |
+
/**
|
821 |
+
* Triggers the change event on the source element
|
822 |
+
*/
|
823 |
+
// abstract
|
824 |
+
triggerChange: function (details) {
|
825 |
+
|
826 |
+
details = details || {};
|
827 |
+
details= $.extend({}, details, { type: "change", val: this.val() });
|
828 |
+
// prevents recursive triggering
|
829 |
+
this.opts.element.data("select2-change-triggered", true);
|
830 |
+
this.opts.element.trigger(details);
|
831 |
+
this.opts.element.data("select2-change-triggered", false);
|
832 |
+
|
833 |
+
// some validation frameworks ignore the change event and listen instead to keyup, click for selects
|
834 |
+
// so here we trigger the click event manually
|
835 |
+
this.opts.element.click();
|
836 |
+
|
837 |
+
// ValidationEngine ignorea the change event and listens instead to blur
|
838 |
+
// so here we trigger the blur event manually if so desired
|
839 |
+
if (this.opts.blurOnChange)
|
840 |
+
this.opts.element.blur();
|
841 |
+
},
|
842 |
+
|
843 |
+
|
844 |
+
// abstract
|
845 |
+
enable: function() {
|
846 |
+
if (this.enabled) return;
|
847 |
+
|
848 |
+
this.enabled=true;
|
849 |
+
this.container.removeClass("select2-container-disabled");
|
850 |
+
},
|
851 |
+
|
852 |
+
// abstract
|
853 |
+
disable: function() {
|
854 |
+
if (!this.enabled) return;
|
855 |
+
|
856 |
+
this.close();
|
857 |
+
|
858 |
+
this.enabled=false;
|
859 |
+
this.container.addClass("select2-container-disabled");
|
860 |
+
},
|
861 |
+
|
862 |
+
// abstract
|
863 |
+
opened: function () {
|
864 |
+
return this.container.hasClass("select2-dropdown-open");
|
865 |
+
},
|
866 |
+
|
867 |
+
// abstract
|
868 |
+
positionDropdown: function() {
|
869 |
+
var offset = this.container.offset(),
|
870 |
+
height = this.container.outerHeight(),
|
871 |
+
width = this.container.outerWidth(),
|
872 |
+
dropHeight = this.dropdown.outerHeight(),
|
873 |
+
viewportBottom = $(window).scrollTop() + document.documentElement.clientHeight,
|
874 |
+
dropTop = offset.top + height,
|
875 |
+
dropLeft = offset.left,
|
876 |
+
enoughRoomBelow = dropTop + dropHeight <= viewportBottom,
|
877 |
+
enoughRoomAbove = (offset.top - dropHeight) >= this.body().scrollTop(),
|
878 |
+
aboveNow = this.dropdown.hasClass("select2-drop-above"),
|
879 |
+
bodyOffset,
|
880 |
+
above,
|
881 |
+
css;
|
882 |
+
|
883 |
+
// console.log("below/ droptop:", dropTop, "dropHeight", dropHeight, "sum", (dropTop+dropHeight)+" viewport bottom", viewportBottom, "enough?", enoughRoomBelow);
|
884 |
+
// console.log("above/ offset.top", offset.top, "dropHeight", dropHeight, "top", (offset.top-dropHeight), "scrollTop", this.body().scrollTop(), "enough?", enoughRoomAbove);
|
885 |
+
|
886 |
+
// fix positioning when body has an offset and is not position: static
|
887 |
+
|
888 |
+
if (this.body().css('position') !== 'static') {
|
889 |
+
bodyOffset = this.body().offset();
|
890 |
+
dropTop -= bodyOffset.top;
|
891 |
+
dropLeft -= bodyOffset.left;
|
892 |
+
}
|
893 |
+
|
894 |
+
// always prefer the current above/below alignment, unless there is not enough room
|
895 |
+
|
896 |
+
if (aboveNow) {
|
897 |
+
above = true;
|
898 |
+
if (!enoughRoomAbove && enoughRoomBelow) above = false;
|
899 |
+
} else {
|
900 |
+
above = false;
|
901 |
+
if (!enoughRoomBelow && enoughRoomAbove) above = true;
|
902 |
+
}
|
903 |
+
|
904 |
+
if (above) {
|
905 |
+
dropTop = offset.top - dropHeight;
|
906 |
+
this.container.addClass("select2-drop-above");
|
907 |
+
this.dropdown.addClass("select2-drop-above");
|
908 |
+
}
|
909 |
+
else {
|
910 |
+
this.container.removeClass("select2-drop-above");
|
911 |
+
this.dropdown.removeClass("select2-drop-above");
|
912 |
+
}
|
913 |
+
|
914 |
+
css = $.extend({
|
915 |
+
top: dropTop,
|
916 |
+
left: dropLeft,
|
917 |
+
width: width
|
918 |
+
}, evaluate(this.opts.dropdownCss));
|
919 |
+
|
920 |
+
this.dropdown.css(css);
|
921 |
+
},
|
922 |
+
|
923 |
+
// abstract
|
924 |
+
shouldOpen: function() {
|
925 |
+
var event;
|
926 |
+
|
927 |
+
if (this.opened()) return false;
|
928 |
+
|
929 |
+
event = $.Event("open");
|
930 |
+
this.opts.element.trigger(event);
|
931 |
+
return !event.isDefaultPrevented();
|
932 |
+
},
|
933 |
+
|
934 |
+
// abstract
|
935 |
+
clearDropdownAlignmentPreference: function() {
|
936 |
+
// clear the classes used to figure out the preference of where the dropdown should be opened
|
937 |
+
this.container.removeClass("select2-drop-above");
|
938 |
+
this.dropdown.removeClass("select2-drop-above");
|
939 |
+
},
|
940 |
+
|
941 |
+
/**
|
942 |
+
* Opens the dropdown
|
943 |
+
*
|
944 |
+
* @return {Boolean} whether or not dropdown was opened. This method will return false if, for example,
|
945 |
+
* the dropdown is already open, or if the 'open' event listener on the element called preventDefault().
|
946 |
+
*/
|
947 |
+
// abstract
|
948 |
+
open: function () {
|
949 |
+
|
950 |
+
if (!this.shouldOpen()) return false;
|
951 |
+
|
952 |
+
window.setTimeout(this.bind(this.opening), 1);
|
953 |
+
|
954 |
+
return true;
|
955 |
+
},
|
956 |
+
|
957 |
+
/**
|
958 |
+
* Performs the opening of the dropdown
|
959 |
+
*/
|
960 |
+
// abstract
|
961 |
+
opening: function() {
|
962 |
+
var cid = this.containerId, selector = this.containerSelector,
|
963 |
+
scroll = "scroll." + cid, resize = "resize." + cid;
|
964 |
+
|
965 |
+
this.container.parents().each(function() {
|
966 |
+
$(this).bind(scroll, function() {
|
967 |
+
var s2 = $(selector);
|
968 |
+
if (s2.length == 0) {
|
969 |
+
$(this).unbind(scroll);
|
970 |
+
}
|
971 |
+
s2.select2("close");
|
972 |
+
});
|
973 |
+
});
|
974 |
+
|
975 |
+
$(window).bind(resize, function() {
|
976 |
+
var s2 = $(selector);
|
977 |
+
if (s2.length == 0) {
|
978 |
+
$(window).unbind(resize);
|
979 |
+
}
|
980 |
+
s2.select2("close");
|
981 |
+
});
|
982 |
+
|
983 |
+
this.clearDropdownAlignmentPreference();
|
984 |
+
|
985 |
+
if (this.search.val() === " ") { this.search.val(""); }
|
986 |
+
|
987 |
+
this.container.addClass("select2-dropdown-open").addClass("select2-container-active");
|
988 |
+
|
989 |
+
this.updateResults(true);
|
990 |
+
|
991 |
+
if(this.dropdown[0] !== this.body().children().last()[0]) {
|
992 |
+
this.dropdown.detach().appendTo(this.body());
|
993 |
+
}
|
994 |
+
|
995 |
+
this.dropdown.show();
|
996 |
+
|
997 |
+
this.positionDropdown();
|
998 |
+
this.dropdown.addClass("select2-drop-active");
|
999 |
+
|
1000 |
+
this.ensureHighlightVisible();
|
1001 |
+
|
1002 |
+
this.focusSearch();
|
1003 |
+
},
|
1004 |
+
|
1005 |
+
// abstract
|
1006 |
+
close: function () {
|
1007 |
+
if (!this.opened()) return;
|
1008 |
+
|
1009 |
+
var self = this;
|
1010 |
+
|
1011 |
+
this.container.parents().each(function() {
|
1012 |
+
$(this).unbind("scroll." + self.containerId);
|
1013 |
+
});
|
1014 |
+
$(window).unbind("resize." + this.containerId);
|
1015 |
+
|
1016 |
+
this.clearDropdownAlignmentPreference();
|
1017 |
+
|
1018 |
+
this.dropdown.hide();
|
1019 |
+
this.container.removeClass("select2-dropdown-open").removeClass("select2-container-active");
|
1020 |
+
this.results.empty();
|
1021 |
+
this.clearSearch();
|
1022 |
+
|
1023 |
+
this.opts.element.trigger($.Event("close"));
|
1024 |
+
},
|
1025 |
+
|
1026 |
+
// abstract
|
1027 |
+
clearSearch: function () {
|
1028 |
+
|
1029 |
+
},
|
1030 |
+
|
1031 |
+
// abstract
|
1032 |
+
ensureHighlightVisible: function () {
|
1033 |
+
var results = this.results, children, index, child, hb, rb, y, more;
|
1034 |
+
|
1035 |
+
index = this.highlight();
|
1036 |
+
|
1037 |
+
if (index < 0) return;
|
1038 |
+
|
1039 |
+
if (index == 0) {
|
1040 |
+
|
1041 |
+
// if the first element is highlighted scroll all the way to the top,
|
1042 |
+
// that way any unselectable headers above it will also be scrolled
|
1043 |
+
// into view
|
1044 |
+
|
1045 |
+
results.scrollTop(0);
|
1046 |
+
return;
|
1047 |
+
}
|
1048 |
+
|
1049 |
+
children = results.find(".select2-result-selectable");
|
1050 |
+
|
1051 |
+
child = $(children[index]);
|
1052 |
+
|
1053 |
+
hb = child.offset().top + child.outerHeight();
|
1054 |
+
|
1055 |
+
// if this is the last child lets also make sure select2-more-results is visible
|
1056 |
+
if (index === children.length - 1) {
|
1057 |
+
more = results.find("li.select2-more-results");
|
1058 |
+
if (more.length > 0) {
|
1059 |
+
hb = more.offset().top + more.outerHeight();
|
1060 |
+
}
|
1061 |
+
}
|
1062 |
+
|
1063 |
+
rb = results.offset().top + results.outerHeight();
|
1064 |
+
if (hb > rb) {
|
1065 |
+
results.scrollTop(results.scrollTop() + (hb - rb));
|
1066 |
+
}
|
1067 |
+
y = child.offset().top - results.offset().top;
|
1068 |
+
|
1069 |
+
// make sure the top of the element is visible
|
1070 |
+
if (y < 0) {
|
1071 |
+
results.scrollTop(results.scrollTop() + y); // y is negative
|
1072 |
+
}
|
1073 |
+
},
|
1074 |
+
|
1075 |
+
// abstract
|
1076 |
+
moveHighlight: function (delta) {
|
1077 |
+
var choices = this.results.find(".select2-result-selectable"),
|
1078 |
+
index = this.highlight();
|
1079 |
+
|
1080 |
+
while (index > -1 && index < choices.length) {
|
1081 |
+
index += delta;
|
1082 |
+
var choice = $(choices[index]);
|
1083 |
+
if (choice.hasClass("select2-result-selectable") && !choice.hasClass("select2-disabled")) {
|
1084 |
+
this.highlight(index);
|
1085 |
+
break;
|
1086 |
+
}
|
1087 |
+
}
|
1088 |
+
},
|
1089 |
+
|
1090 |
+
// abstract
|
1091 |
+
highlight: function (index) {
|
1092 |
+
var choices = this.results.find(".select2-result-selectable").not(".select2-disabled");
|
1093 |
+
|
1094 |
+
if (arguments.length === 0) {
|
1095 |
+
return indexOf(choices.filter(".select2-highlighted")[0], choices.get());
|
1096 |
+
}
|
1097 |
+
|
1098 |
+
if (index >= choices.length) index = choices.length - 1;
|
1099 |
+
if (index < 0) index = 0;
|
1100 |
+
|
1101 |
+
choices.removeClass("select2-highlighted");
|
1102 |
+
|
1103 |
+
$(choices[index]).addClass("select2-highlighted");
|
1104 |
+
this.ensureHighlightVisible();
|
1105 |
+
|
1106 |
+
},
|
1107 |
+
|
1108 |
+
// abstract
|
1109 |
+
countSelectableResults: function() {
|
1110 |
+
return this.results.find(".select2-result-selectable").not(".select2-disabled").length;
|
1111 |
+
},
|
1112 |
+
|
1113 |
+
// abstract
|
1114 |
+
highlightUnderEvent: function (event) {
|
1115 |
+
var el = $(event.target).closest(".select2-result-selectable");
|
1116 |
+
if (el.length > 0 && !el.is(".select2-highlighted")) {
|
1117 |
+
var choices = this.results.find('.select2-result-selectable');
|
1118 |
+
this.highlight(choices.index(el));
|
1119 |
+
} else if (el.length == 0) {
|
1120 |
+
// if we are over an unselectable item remove al highlights
|
1121 |
+
this.results.find(".select2-highlighted").removeClass("select2-highlighted");
|
1122 |
+
}
|
1123 |
+
},
|
1124 |
+
|
1125 |
+
// abstract
|
1126 |
+
loadMoreIfNeeded: function () {
|
1127 |
+
var results = this.results,
|
1128 |
+
more = results.find("li.select2-more-results"),
|
1129 |
+
below, // pixels the element is below the scroll fold, below==0 is when the element is starting to be visible
|
1130 |
+
offset = -1, // index of first element without data
|
1131 |
+
page = this.resultsPage + 1,
|
1132 |
+
self=this,
|
1133 |
+
term=this.search.val(),
|
1134 |
+
context=this.context;
|
1135 |
+
|
1136 |
+
if (more.length === 0) return;
|
1137 |
+
below = more.offset().top - results.offset().top - results.height();
|
1138 |
+
|
1139 |
+
if (below <= 0) {
|
1140 |
+
more.addClass("select2-active");
|
1141 |
+
this.opts.query({
|
1142 |
+
term: term,
|
1143 |
+
page: page,
|
1144 |
+
context: context,
|
1145 |
+
matcher: this.opts.matcher,
|
1146 |
+
callback: this.bind(function (data) {
|
1147 |
+
|
1148 |
+
// ignore a response if the select2 has been closed before it was received
|
1149 |
+
if (!self.opened()) return;
|
1150 |
+
|
1151 |
+
|
1152 |
+
self.opts.populateResults.call(this, results, data.results, {term: term, page: page, context:context});
|
1153 |
+
|
1154 |
+
if (data.more===true) {
|
1155 |
+
more.detach().appendTo(results).text(self.opts.formatLoadMore(page+1));
|
1156 |
+
window.setTimeout(function() { self.loadMoreIfNeeded(); }, 10);
|
1157 |
+
} else {
|
1158 |
+
more.remove();
|
1159 |
+
}
|
1160 |
+
self.positionDropdown();
|
1161 |
+
self.resultsPage = page;
|
1162 |
+
})});
|
1163 |
+
}
|
1164 |
+
},
|
1165 |
+
|
1166 |
+
/**
|
1167 |
+
* Default tokenizer function which does nothing
|
1168 |
+
*/
|
1169 |
+
tokenize: function() {
|
1170 |
+
|
1171 |
+
},
|
1172 |
+
|
1173 |
+
/**
|
1174 |
+
* @param initial whether or not this is the call to this method right after the dropdown has been opened
|
1175 |
+
*/
|
1176 |
+
// abstract
|
1177 |
+
updateResults: function (initial) {
|
1178 |
+
var search = this.search, results = this.results, opts = this.opts, data, self=this, input;
|
1179 |
+
|
1180 |
+
// if the search is currently hidden we do not alter the results
|
1181 |
+
if (initial !== true && (this.showSearchInput === false || !this.opened())) {
|
1182 |
+
return;
|
1183 |
+
}
|
1184 |
+
|
1185 |
+
search.addClass("select2-active");
|
1186 |
+
|
1187 |
+
function postRender() {
|
1188 |
+
results.scrollTop(0);
|
1189 |
+
search.removeClass("select2-active");
|
1190 |
+
self.positionDropdown();
|
1191 |
+
}
|
1192 |
+
|
1193 |
+
function render(html) {
|
1194 |
+
results.html(self.opts.escapeMarkup(html));
|
1195 |
+
postRender();
|
1196 |
+
}
|
1197 |
+
|
1198 |
+
if (opts.maximumSelectionSize >=1) {
|
1199 |
+
data = this.data();
|
1200 |
+
if ($.isArray(data) && data.length >= opts.maximumSelectionSize && checkFormatter(opts.formatSelectionTooBig, "formatSelectionTooBig")) {
|
1201 |
+
render("<li class='select2-selection-limit'>" + opts.formatSelectionTooBig(opts.maximumSelectionSize) + "</li>");
|
1202 |
+
return;
|
1203 |
+
}
|
1204 |
+
}
|
1205 |
+
|
1206 |
+
if (search.val().length < opts.minimumInputLength && checkFormatter(opts.formatInputTooShort, "formatInputTooShort")) {
|
1207 |
+
render("<li class='select2-no-results'>" + opts.formatInputTooShort(search.val(), opts.minimumInputLength) + "</li>");
|
1208 |
+
return;
|
1209 |
+
}
|
1210 |
+
else {
|
1211 |
+
render("<li class='select2-searching'>" + opts.formatSearching() + "</li>");
|
1212 |
+
}
|
1213 |
+
|
1214 |
+
// give the tokenizer a chance to pre-process the input
|
1215 |
+
input = this.tokenize();
|
1216 |
+
if (input != undefined && input != null) {
|
1217 |
+
search.val(input);
|
1218 |
+
}
|
1219 |
+
|
1220 |
+
this.resultsPage = 1;
|
1221 |
+
opts.query({
|
1222 |
+
term: search.val(),
|
1223 |
+
page: this.resultsPage,
|
1224 |
+
context: null,
|
1225 |
+
matcher: opts.matcher,
|
1226 |
+
callback: this.bind(function (data) {
|
1227 |
+
var def; // default choice
|
1228 |
+
|
1229 |
+
// ignore a response if the select2 has been closed before it was received
|
1230 |
+
if (!this.opened()) return;
|
1231 |
+
|
1232 |
+
// save context, if any
|
1233 |
+
this.context = (data.context===undefined) ? null : data.context;
|
1234 |
+
|
1235 |
+
// create a default choice and prepend it to the list
|
1236 |
+
if (this.opts.createSearchChoice && search.val() !== "") {
|
1237 |
+
def = this.opts.createSearchChoice.call(null, search.val(), data.results);
|
1238 |
+
if (def !== undefined && def !== null && self.id(def) !== undefined && self.id(def) !== null) {
|
1239 |
+
if ($(data.results).filter(
|
1240 |
+
function () {
|
1241 |
+
return equal(self.id(this), self.id(def));
|
1242 |
+
}).length === 0) {
|
1243 |
+
data.results.unshift(def);
|
1244 |
+
}
|
1245 |
+
}
|
1246 |
+
}
|
1247 |
+
|
1248 |
+
if (data.results.length === 0 && checkFormatter(opts.formatNoMatches, "formatNoMatches")) {
|
1249 |
+
render("<li class='select2-no-results'>" + opts.formatNoMatches(search.val()) + "</li>");
|
1250 |
+
return;
|
1251 |
+
}
|
1252 |
+
|
1253 |
+
results.empty();
|
1254 |
+
self.opts.populateResults.call(this, results, data.results, {term: search.val(), page: this.resultsPage, context:null});
|
1255 |
+
|
1256 |
+
if (data.more === true && checkFormatter(opts.formatLoadMore, "formatLoadMore")) {
|
1257 |
+
results.append("<li class='select2-more-results'>" + self.opts.escapeMarkup(opts.formatLoadMore(this.resultsPage)) + "</li>");
|
1258 |
+
window.setTimeout(function() { self.loadMoreIfNeeded(); }, 10);
|
1259 |
+
}
|
1260 |
+
|
1261 |
+
this.postprocessResults(data, initial);
|
1262 |
+
|
1263 |
+
postRender();
|
1264 |
+
})});
|
1265 |
+
},
|
1266 |
+
|
1267 |
+
// abstract
|
1268 |
+
cancel: function () {
|
1269 |
+
this.close();
|
1270 |
+
},
|
1271 |
+
|
1272 |
+
// abstract
|
1273 |
+
blur: function () {
|
1274 |
+
this.close();
|
1275 |
+
this.container.removeClass("select2-container-active");
|
1276 |
+
this.dropdown.removeClass("select2-drop-active");
|
1277 |
+
// synonymous to .is(':focus'), which is available in jquery >= 1.6
|
1278 |
+
if (this.search[0] === document.activeElement) { this.search.blur(); }
|
1279 |
+
this.clearSearch();
|
1280 |
+
this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus");
|
1281 |
+
},
|
1282 |
+
|
1283 |
+
// abstract
|
1284 |
+
focusSearch: function () {
|
1285 |
+
// need to do it here as well as in timeout so it works in IE
|
1286 |
+
this.search.show();
|
1287 |
+
this.search.focus();
|
1288 |
+
|
1289 |
+
/* we do this in a timeout so that current event processing can complete before this code is executed.
|
1290 |
+
this makes sure the search field is focussed even if the current event would blur it */
|
1291 |
+
window.setTimeout(this.bind(function () {
|
1292 |
+
// reset the value so IE places the cursor at the end of the input box
|
1293 |
+
this.search.show();
|
1294 |
+
this.search.focus();
|
1295 |
+
this.search.val(this.search.val());
|
1296 |
+
}), 10);
|
1297 |
+
},
|
1298 |
+
|
1299 |
+
// abstract
|
1300 |
+
selectHighlighted: function () {
|
1301 |
+
var index=this.highlight(),
|
1302 |
+
highlighted=this.results.find(".select2-highlighted").not(".select2-disabled"),
|
1303 |
+
data = highlighted.closest('.select2-result-selectable').data("select2-data");
|
1304 |
+
if (data) {
|
1305 |
+
highlighted.addClass("select2-disabled");
|
1306 |
+
this.highlight(index);
|
1307 |
+
this.onSelect(data);
|
1308 |
+
}
|
1309 |
+
},
|
1310 |
+
|
1311 |
+
// abstract
|
1312 |
+
getPlaceholder: function () {
|
1313 |
+
return this.opts.element.attr("placeholder") ||
|
1314 |
+
this.opts.element.attr("data-placeholder") || // jquery 1.4 compat
|
1315 |
+
this.opts.element.data("placeholder") ||
|
1316 |
+
this.opts.placeholder;
|
1317 |
+
},
|
1318 |
+
|
1319 |
+
/**
|
1320 |
+
* Get the desired width for the container element. This is
|
1321 |
+
* derived first from option `width` passed to select2, then
|
1322 |
+
* the inline 'style' on the original element, and finally
|
1323 |
+
* falls back to the jQuery calculated element width.
|
1324 |
+
*/
|
1325 |
+
// abstract
|
1326 |
+
initContainerWidth: function () {
|
1327 |
+
function resolveContainerWidth() {
|
1328 |
+
var style, attrs, matches, i, l;
|
1329 |
+
|
1330 |
+
if (this.opts.width === "off") {
|
1331 |
+
return null;
|
1332 |
+
} else if (this.opts.width === "element"){
|
1333 |
+
return this.opts.element.outerWidth() === 0 ? 'auto' : this.opts.element.outerWidth() + 'px';
|
1334 |
+
} else if (this.opts.width === "copy" || this.opts.width === "resolve") {
|
1335 |
+
// check if there is inline style on the element that contains width
|
1336 |
+
style = this.opts.element.attr('style');
|
1337 |
+
if (style !== undefined) {
|
1338 |
+
attrs = style.split(';');
|
1339 |
+
for (i = 0, l = attrs.length; i < l; i = i + 1) {
|
1340 |
+
matches = attrs[i].replace(/\s/g, '')
|
1341 |
+
.match(/width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/);
|
1342 |
+
if (matches !== null && matches.length >= 1)
|
1343 |
+
return matches[1];
|
1344 |
+
}
|
1345 |
+
}
|
1346 |
+
|
1347 |
+
if (this.opts.width === "resolve") {
|
1348 |
+
// next check if css('width') can resolve a width that is percent based, this is sometimes possible
|
1349 |
+
// when attached to input type=hidden or elements hidden via css
|
1350 |
+
style = this.opts.element.css('width');
|
1351 |
+
if (style.indexOf("%") > 0) return style;
|
1352 |
+
|
1353 |
+
// finally, fallback on the calculated width of the element
|
1354 |
+
return (this.opts.element.outerWidth() === 0 ? 'auto' : this.opts.element.outerWidth() + 'px');
|
1355 |
+
}
|
1356 |
+
|
1357 |
+
return null;
|
1358 |
+
} else if ($.isFunction(this.opts.width)) {
|
1359 |
+
return this.opts.width();
|
1360 |
+
} else {
|
1361 |
+
return this.opts.width;
|
1362 |
+
}
|
1363 |
+
};
|
1364 |
+
|
1365 |
+
var width = resolveContainerWidth.call(this);
|
1366 |
+
if (width !== null) {
|
1367 |
+
this.container.attr("style", "width: "+width);
|
1368 |
+
}
|
1369 |
+
}
|
1370 |
+
});
|
1371 |
+
|
1372 |
+
SingleSelect2 = clazz(AbstractSelect2, {
|
1373 |
+
|
1374 |
+
// single
|
1375 |
+
|
1376 |
+
createContainer: function () {
|
1377 |
+
var container = $("<div></div>", {
|
1378 |
+
"class": "select2-container"
|
1379 |
+
}).html([
|
1380 |
+
" <a href='#' onclick='return false;' class='select2-choice'>",
|
1381 |
+
" <span></span><abbr class='select2-search-choice-close' style='display:none;'></abbr>",
|
1382 |
+
" <div><b></b></div>" ,
|
1383 |
+
"</a>",
|
1384 |
+
" <div class='select2-drop select2-offscreen'>" ,
|
1385 |
+
" <div class='select2-search'>" ,
|
1386 |
+
" <input type='text' autocomplete='off' class='select2-input'/>" ,
|
1387 |
+
" </div>" ,
|
1388 |
+
" <ul class='select2-results'>" ,
|
1389 |
+
" </ul>" ,
|
1390 |
+
"</div>"].join(""));
|
1391 |
+
return container;
|
1392 |
+
},
|
1393 |
+
|
1394 |
+
// single
|
1395 |
+
opening: function () {
|
1396 |
+
this.search.show();
|
1397 |
+
this.parent.opening.apply(this, arguments);
|
1398 |
+
this.dropdown.removeClass("select2-offscreen");
|
1399 |
+
},
|
1400 |
+
|
1401 |
+
// single
|
1402 |
+
close: function () {
|
1403 |
+
if (!this.opened()) return;
|
1404 |
+
this.parent.close.apply(this, arguments);
|
1405 |
+
this.dropdown.removeAttr("style").addClass("select2-offscreen").insertAfter(this.selection).show();
|
1406 |
+
},
|
1407 |
+
|
1408 |
+
// single
|
1409 |
+
focus: function () {
|
1410 |
+
this.close();
|
1411 |
+
this.selection.focus();
|
1412 |
+
},
|
1413 |
+
|
1414 |
+
// single
|
1415 |
+
isFocused: function () {
|
1416 |
+
return this.selection[0] === document.activeElement;
|
1417 |
+
},
|
1418 |
+
|
1419 |
+
// single
|
1420 |
+
cancel: function () {
|
1421 |
+
this.parent.cancel.apply(this, arguments);
|
1422 |
+
this.selection.focus();
|
1423 |
+
},
|
1424 |
+
|
1425 |
+
// single
|
1426 |
+
initContainer: function () {
|
1427 |
+
|
1428 |
+
var selection,
|
1429 |
+
container = this.container,
|
1430 |
+
dropdown = this.dropdown,
|
1431 |
+
clickingInside = false;
|
1432 |
+
|
1433 |
+
this.selection = selection = container.find(".select2-choice");
|
1434 |
+
|
1435 |
+
this.search.bind("keydown", this.bind(function (e) {
|
1436 |
+
if (!this.enabled) return;
|
1437 |
+
|
1438 |
+
if (e.which === KEY.PAGE_UP || e.which === KEY.PAGE_DOWN) {
|
1439 |
+
// prevent the page from scrolling
|
1440 |
+
killEvent(e);
|
1441 |
+
return;
|
1442 |
+
}
|
1443 |
+
|
1444 |
+
if (this.opened()) {
|
1445 |
+
switch (e.which) {
|
1446 |
+
case KEY.UP:
|
1447 |
+
case KEY.DOWN:
|
1448 |
+
this.moveHighlight((e.which === KEY.UP) ? -1 : 1);
|
1449 |
+
killEvent(e);
|
1450 |
+
return;
|
1451 |
+
case KEY.TAB:
|
1452 |
+
case KEY.ENTER:
|
1453 |
+
this.selectHighlighted();
|
1454 |
+
killEvent(e);
|
1455 |
+
return;
|
1456 |
+
case KEY.ESC:
|
1457 |
+
this.cancel(e);
|
1458 |
+
killEvent(e);
|
1459 |
+
return;
|
1460 |
+
}
|
1461 |
+
} else {
|
1462 |
+
|
1463 |
+
if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e) || e.which === KEY.ESC) {
|
1464 |
+
return;
|
1465 |
+
}
|
1466 |
+
|
1467 |
+
if (this.opts.openOnEnter === false && e.which === KEY.ENTER) {
|
1468 |
+
return;
|
1469 |
+
}
|
1470 |
+
|
1471 |
+
this.open();
|
1472 |
+
|
1473 |
+
if (e.which === KEY.ENTER) {
|
1474 |
+
// do not propagate the event otherwise we open, and propagate enter which closes
|
1475 |
+
return;
|
1476 |
+
}
|
1477 |
+
}
|
1478 |
+
}));
|
1479 |
+
|
1480 |
+
this.search.bind("focus", this.bind(function() {
|
1481 |
+
this.selection.attr("tabIndex", "-1");
|
1482 |
+
}));
|
1483 |
+
this.search.bind("blur", this.bind(function() {
|
1484 |
+
if (!this.opened()) this.container.removeClass("select2-container-active");
|
1485 |
+
window.setTimeout(this.bind(function() { this.selection.attr("tabIndex", this.opts.element.attr("tabIndex")); }), 10);
|
1486 |
+
}));
|
1487 |
+
|
1488 |
+
selection.bind("mousedown", this.bind(function (e) {
|
1489 |
+
clickingInside = true;
|
1490 |
+
|
1491 |
+
if (this.opened()) {
|
1492 |
+
this.close();
|
1493 |
+
this.selection.focus();
|
1494 |
+
} else if (this.enabled) {
|
1495 |
+
this.open();
|
1496 |
+
}
|
1497 |
+
|
1498 |
+
clickingInside = false;
|
1499 |
+
}));
|
1500 |
+
|
1501 |
+
dropdown.bind("mousedown", this.bind(function() { this.search.focus(); }));
|
1502 |
+
|
1503 |
+
selection.bind("focus", this.bind(function() {
|
1504 |
+
this.container.addClass("select2-container-active");
|
1505 |
+
// hide the search so the tab key does not focus on it
|
1506 |
+
this.search.attr("tabIndex", "-1");
|
1507 |
+
}));
|
1508 |
+
|
1509 |
+
selection.bind("blur", this.bind(function() {
|
1510 |
+
if (!this.opened()) {
|
1511 |
+
this.container.removeClass("select2-container-active");
|
1512 |
+
}
|
1513 |
+
window.setTimeout(this.bind(function() { this.search.attr("tabIndex", this.opts.element.attr("tabIndex")); }), 10);
|
1514 |
+
}));
|
1515 |
+
|
1516 |
+
selection.bind("keydown", this.bind(function(e) {
|
1517 |
+
if (!this.enabled) return;
|
1518 |
+
|
1519 |
+
if (e.which === KEY.PAGE_UP || e.which === KEY.PAGE_DOWN) {
|
1520 |
+
// prevent the page from scrolling
|
1521 |
+
killEvent(e);
|
1522 |
+
return;
|
1523 |
+
}
|
1524 |
+
|
1525 |
+
if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e)
|
1526 |
+
|| e.which === KEY.ESC) {
|
1527 |
+
return;
|
1528 |
+
}
|
1529 |
+
|
1530 |
+
if (this.opts.openOnEnter === false && e.which === KEY.ENTER) {
|
1531 |
+
return;
|
1532 |
+
}
|
1533 |
+
|
1534 |
+
if (e.which == KEY.DELETE) {
|
1535 |
+
if (this.opts.allowClear) {
|
1536 |
+
this.clear();
|
1537 |
+
}
|
1538 |
+
return;
|
1539 |
+
}
|
1540 |
+
|
1541 |
+
this.open();
|
1542 |
+
|
1543 |
+
if (e.which === KEY.ENTER) {
|
1544 |
+
// do not propagate the event otherwise we open, and propagate enter which closes
|
1545 |
+
killEvent(e);
|
1546 |
+
return;
|
1547 |
+
}
|
1548 |
+
|
1549 |
+
// do not set the search input value for non-alpha-numeric keys
|
1550 |
+
// otherwise pressing down results in a '(' being set in the search field
|
1551 |
+
if (e.which < 48 ) { // '0' == 48
|
1552 |
+
killEvent(e);
|
1553 |
+
return;
|
1554 |
+
}
|
1555 |
+
|
1556 |
+
var keyWritten = String.fromCharCode(e.which).toLowerCase();
|
1557 |
+
|
1558 |
+
if (e.shiftKey) {
|
1559 |
+
keyWritten = keyWritten.toUpperCase();
|
1560 |
+
}
|
1561 |
+
|
1562 |
+
// focus the field before calling val so the cursor ends up after the value instead of before
|
1563 |
+
this.search.focus();
|
1564 |
+
this.search.val(keyWritten);
|
1565 |
+
|
1566 |
+
// prevent event propagation so it doesnt replay on the now focussed search field and result in double key entry
|
1567 |
+
killEvent(e);
|
1568 |
+
}));
|
1569 |
+
|
1570 |
+
selection.delegate("abbr", "mousedown", this.bind(function (e) {
|
1571 |
+
if (!this.enabled) return;
|
1572 |
+
this.clear();
|
1573 |
+
killEvent(e);
|
1574 |
+
this.close();
|
1575 |
+
this.triggerChange();
|
1576 |
+
this.selection.focus();
|
1577 |
+
}));
|
1578 |
+
|
1579 |
+
this.setPlaceholder();
|
1580 |
+
|
1581 |
+
this.search.bind("focus", this.bind(function() {
|
1582 |
+
this.container.addClass("select2-container-active");
|
1583 |
+
}));
|
1584 |
+
},
|
1585 |
+
|
1586 |
+
// single
|
1587 |
+
clear: function() {
|
1588 |
+
this.opts.element.val("");
|
1589 |
+
this.selection.find("span").empty();
|
1590 |
+
this.selection.removeData("select2-data");
|
1591 |
+
this.setPlaceholder();
|
1592 |
+
},
|
1593 |
+
|
1594 |
+
/**
|
1595 |
+
* Sets selection based on source element's value
|
1596 |
+
*/
|
1597 |
+
// single
|
1598 |
+
initSelection: function () {
|
1599 |
+
var selected;
|
1600 |
+
if (this.opts.element.val() === "") {
|
1601 |
+
this.close();
|
1602 |
+
this.setPlaceholder();
|
1603 |
+
} else {
|
1604 |
+
var self = this;
|
1605 |
+
this.opts.initSelection.call(null, this.opts.element, function(selected){
|
1606 |
+
if (selected !== undefined && selected !== null) {
|
1607 |
+
self.updateSelection(selected);
|
1608 |
+
self.close();
|
1609 |
+
self.setPlaceholder();
|
1610 |
+
}
|
1611 |
+
});
|
1612 |
+
}
|
1613 |
+
},
|
1614 |
+
|
1615 |
+
// single
|
1616 |
+
prepareOpts: function () {
|
1617 |
+
var opts = this.parent.prepareOpts.apply(this, arguments);
|
1618 |
+
|
1619 |
+
if (opts.element.get(0).tagName.toLowerCase() === "select") {
|
1620 |
+
// install the selection initializer
|
1621 |
+
opts.initSelection = function (element, callback) {
|
1622 |
+
var selected = element.find(":selected");
|
1623 |
+
// a single select box always has a value, no need to null check 'selected'
|
1624 |
+
if ($.isFunction(callback))
|
1625 |
+
callback({id: selected.attr("value"), text: selected.text()});
|
1626 |
+
};
|
1627 |
+
}
|
1628 |
+
|
1629 |
+
return opts;
|
1630 |
+
},
|
1631 |
+
|
1632 |
+
// single
|
1633 |
+
setPlaceholder: function () {
|
1634 |
+
var placeholder = this.getPlaceholder();
|
1635 |
+
|
1636 |
+
if (this.opts.element.val() === "" && placeholder !== undefined) {
|
1637 |
+
|
1638 |
+
// check for a first blank option if attached to a select
|
1639 |
+
if (this.select && this.select.find("option:first").text() !== "") return;
|
1640 |
+
|
1641 |
+
this.selection.find("span").html(this.opts.escapeMarkup(placeholder));
|
1642 |
+
|
1643 |
+
this.selection.addClass("select2-default");
|
1644 |
+
|
1645 |
+
this.selection.find("abbr").hide();
|
1646 |
+
}
|
1647 |
+
},
|
1648 |
+
|
1649 |
+
// single
|
1650 |
+
postprocessResults: function (data, initial) {
|
1651 |
+
var selected = 0, self = this, showSearchInput = true;
|
1652 |
+
|
1653 |
+
// find the selected element in the result list
|
1654 |
+
|
1655 |
+
this.results.find(".select2-result-selectable").each2(function (i, elm) {
|
1656 |
+
if (equal(self.id(elm.data("select2-data")), self.opts.element.val())) {
|
1657 |
+
selected = i;
|
1658 |
+
return false;
|
1659 |
+
}
|
1660 |
+
});
|
1661 |
+
|
1662 |
+
// and highlight it
|
1663 |
+
|
1664 |
+
this.highlight(selected);
|
1665 |
+
|
1666 |
+
// hide the search box if this is the first we got the results and there are a few of them
|
1667 |
+
|
1668 |
+
if (initial === true) {
|
1669 |
+
showSearchInput = this.showSearchInput = countResults(data.results) >= this.opts.minimumResultsForSearch;
|
1670 |
+
this.dropdown.find(".select2-search")[showSearchInput ? "removeClass" : "addClass"]("select2-search-hidden");
|
1671 |
+
|
1672 |
+
//add "select2-with-searchbox" to the container if search box is shown
|
1673 |
+
$(this.dropdown, this.container)[showSearchInput ? "addClass" : "removeClass"]("select2-with-searchbox");
|
1674 |
+
}
|
1675 |
+
|
1676 |
+
},
|
1677 |
+
|
1678 |
+
// single
|
1679 |
+
onSelect: function (data) {
|
1680 |
+
var old = this.opts.element.val();
|
1681 |
+
|
1682 |
+
this.opts.element.val(this.id(data));
|
1683 |
+
this.updateSelection(data);
|
1684 |
+
this.close();
|
1685 |
+
this.selection.focus();
|
1686 |
+
|
1687 |
+
if (!equal(old, this.id(data))) { this.triggerChange(); }
|
1688 |
+
},
|
1689 |
+
|
1690 |
+
// single
|
1691 |
+
updateSelection: function (data) {
|
1692 |
+
|
1693 |
+
var container=this.selection.find("span"), formatted;
|
1694 |
+
|
1695 |
+
this.selection.data("select2-data", data);
|
1696 |
+
|
1697 |
+
container.empty();
|
1698 |
+
formatted=this.opts.formatSelection(data, container);
|
1699 |
+
if (formatted !== undefined) {
|
1700 |
+
container.append(this.opts.escapeMarkup(formatted));
|
1701 |
+
}
|
1702 |
+
|
1703 |
+
this.selection.removeClass("select2-default");
|
1704 |
+
|
1705 |
+
if (this.opts.allowClear && this.getPlaceholder() !== undefined) {
|
1706 |
+
this.selection.find("abbr").show();
|
1707 |
+
}
|
1708 |
+
},
|
1709 |
+
|
1710 |
+
// single
|
1711 |
+
val: function () {
|
1712 |
+
var val, data = null, self = this;
|
1713 |
+
|
1714 |
+
if (arguments.length === 0) {
|
1715 |
+
return this.opts.element.val();
|
1716 |
+
}
|
1717 |
+
|
1718 |
+
val = arguments[0];
|
1719 |
+
|
1720 |
+
if (this.select) {
|
1721 |
+
this.select
|
1722 |
+
.val(val)
|
1723 |
+
.find(":selected").each2(function (i, elm) {
|
1724 |
+
data = {id: elm.attr("value"), text: elm.text()};
|
1725 |
+
return false;
|
1726 |
+
});
|
1727 |
+
this.updateSelection(data);
|
1728 |
+
this.setPlaceholder();
|
1729 |
+
} else {
|
1730 |
+
if (this.opts.initSelection === undefined) {
|
1731 |
+
throw new Error("cannot call val() if initSelection() is not defined");
|
1732 |
+
}
|
1733 |
+
// val is an id. !val is true for [undefined,null,'']
|
1734 |
+
if (!val) {
|
1735 |
+
this.clear();
|
1736 |
+
return;
|
1737 |
+
}
|
1738 |
+
this.opts.element.val(val);
|
1739 |
+
this.opts.initSelection(this.opts.element, function(data){
|
1740 |
+
self.opts.element.val(!data ? "" : self.id(data));
|
1741 |
+
self.updateSelection(data);
|
1742 |
+
self.setPlaceholder();
|
1743 |
+
});
|
1744 |
+
}
|
1745 |
+
},
|
1746 |
+
|
1747 |
+
// single
|
1748 |
+
clearSearch: function () {
|
1749 |
+
this.search.val("");
|
1750 |
+
},
|
1751 |
+
|
1752 |
+
// single
|
1753 |
+
data: function(value) {
|
1754 |
+
var data;
|
1755 |
+
|
1756 |
+
if (arguments.length === 0) {
|
1757 |
+
data = this.selection.data("select2-data");
|
1758 |
+
if (data == undefined) data = null;
|
1759 |
+
return data;
|
1760 |
+
} else {
|
1761 |
+
if (!value || value === "") {
|
1762 |
+
this.clear();
|
1763 |
+
} else {
|
1764 |
+
this.opts.element.val(!value ? "" : this.id(value));
|
1765 |
+
this.updateSelection(value);
|
1766 |
+
}
|
1767 |
+
}
|
1768 |
+
}
|
1769 |
+
});
|
1770 |
+
|
1771 |
+
MultiSelect2 = clazz(AbstractSelect2, {
|
1772 |
+
|
1773 |
+
// multi
|
1774 |
+
createContainer: function () {
|
1775 |
+
var container = $("<div></div>", {
|
1776 |
+
"class": "select2-container select2-container-multi"
|
1777 |
+
}).html([
|
1778 |
+
" <ul class='select2-choices'>",
|
1779 |
+
//"<li class='select2-search-choice'><span>California</span><a href="javascript:void(0)" class="select2-search-choice-close"></a></li>" ,
|
1780 |
+
" <li class='select2-search-field'>" ,
|
1781 |
+
" <input type='text' autocomplete='off' class='select2-input'>" ,
|
1782 |
+
" </li>" ,
|
1783 |
+
"</ul>" ,
|
1784 |
+
"<div class='select2-drop select2-drop-multi' style='display:none;'>" ,
|
1785 |
+
" <ul class='select2-results'>" ,
|
1786 |
+
" </ul>" ,
|
1787 |
+
"</div>"].join(""));
|
1788 |
+
return container;
|
1789 |
+
},
|
1790 |
+
|
1791 |
+
// multi
|
1792 |
+
prepareOpts: function () {
|
1793 |
+
var opts = this.parent.prepareOpts.apply(this, arguments);
|
1794 |
+
|
1795 |
+
// TODO validate placeholder is a string if specified
|
1796 |
+
|
1797 |
+
if (opts.element.get(0).tagName.toLowerCase() === "select") {
|
1798 |
+
// install sthe selection initializer
|
1799 |
+
opts.initSelection = function (element,callback) {
|
1800 |
+
|
1801 |
+
var data = [];
|
1802 |
+
element.find(":selected").each2(function (i, elm) {
|
1803 |
+
data.push({id: elm.attr("value"), text: elm.text()});
|
1804 |
+
});
|
1805 |
+
|
1806 |
+
if ($.isFunction(callback))
|
1807 |
+
callback(data);
|
1808 |
+
};
|
1809 |
+
}
|
1810 |
+
|
1811 |
+
return opts;
|
1812 |
+
},
|
1813 |
+
|
1814 |
+
// multi
|
1815 |
+
initContainer: function () {
|
1816 |
+
|
1817 |
+
var selector = ".select2-choices", selection;
|
1818 |
+
|
1819 |
+
this.searchContainer = this.container.find(".select2-search-field");
|
1820 |
+
this.selection = selection = this.container.find(selector);
|
1821 |
+
|
1822 |
+
this.search.bind("keydown", this.bind(function (e) {
|
1823 |
+
if (!this.enabled) return;
|
1824 |
+
|
1825 |
+
if (e.which === KEY.BACKSPACE && this.search.val() === "") {
|
1826 |
+
this.close();
|
1827 |
+
|
1828 |
+
var choices,
|
1829 |
+
selected = selection.find(".select2-search-choice-focus");
|
1830 |
+
if (selected.length > 0) {
|
1831 |
+
this.unselect(selected.first());
|
1832 |
+
this.search.width(10);
|
1833 |
+
killEvent(e);
|
1834 |
+
return;
|
1835 |
+
}
|
1836 |
+
|
1837 |
+
choices = selection.find(".select2-search-choice");
|
1838 |
+
if (choices.length > 0) {
|
1839 |
+
choices.last().addClass("select2-search-choice-focus");
|
1840 |
+
}
|
1841 |
+
} else {
|
1842 |
+
selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus");
|
1843 |
+
}
|
1844 |
+
|
1845 |
+
if (this.opened()) {
|
1846 |
+
switch (e.which) {
|
1847 |
+
case KEY.UP:
|
1848 |
+
case KEY.DOWN:
|
1849 |
+
this.moveHighlight((e.which === KEY.UP) ? -1 : 1);
|
1850 |
+
killEvent(e);
|
1851 |
+
return;
|
1852 |
+
case KEY.ENTER:
|
1853 |
+
case KEY.TAB:
|
1854 |
+
this.selectHighlighted();
|
1855 |
+
killEvent(e);
|
1856 |
+
return;
|
1857 |
+
case KEY.ESC:
|
1858 |
+
this.cancel(e);
|
1859 |
+
killEvent(e);
|
1860 |
+
return;
|
1861 |
+
}
|
1862 |
+
}
|
1863 |
+
|
1864 |
+
if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e)
|
1865 |
+
|| e.which === KEY.BACKSPACE || e.which === KEY.ESC) {
|
1866 |
+
return;
|
1867 |
+
}
|
1868 |
+
|
1869 |
+
if (this.opts.openOnEnter === false && e.which === KEY.ENTER) {
|
1870 |
+
return;
|
1871 |
+
}
|
1872 |
+
|
1873 |
+
this.open();
|
1874 |
+
|
1875 |
+
if (e.which === KEY.PAGE_UP || e.which === KEY.PAGE_DOWN) {
|
1876 |
+
// prevent the page from scrolling
|
1877 |
+
killEvent(e);
|
1878 |
+
}
|
1879 |
+
}));
|
1880 |
+
|
1881 |
+
this.search.bind("keyup", this.bind(this.resizeSearch));
|
1882 |
+
|
1883 |
+
this.search.bind("blur", this.bind(function(e) {
|
1884 |
+
this.container.removeClass("select2-container-active");
|
1885 |
+
this.search.removeClass("select2-focused");
|
1886 |
+
this.clearSearch();
|
1887 |
+
e.stopImmediatePropagation();
|
1888 |
+
}));
|
1889 |
+
|
1890 |
+
this.container.delegate(selector, "mousedown", this.bind(function (e) {
|
1891 |
+
if (!this.enabled) return;
|
1892 |
+
if ($(e.target).closest(".select2-search-choice").length > 0) {
|
1893 |
+
// clicked inside a select2 search choice, do not open
|
1894 |
+
return;
|
1895 |
+
}
|
1896 |
+
this.clearPlaceholder();
|
1897 |
+
this.open();
|
1898 |
+
this.focusSearch();
|
1899 |
+
e.preventDefault();
|
1900 |
+
}));
|
1901 |
+
|
1902 |
+
this.container.delegate(selector, "focus", this.bind(function () {
|
1903 |
+
if (!this.enabled) return;
|
1904 |
+
this.container.addClass("select2-container-active");
|
1905 |
+
this.dropdown.addClass("select2-drop-active");
|
1906 |
+
this.clearPlaceholder();
|
1907 |
+
}));
|
1908 |
+
|
1909 |
+
// set the placeholder if necessary
|
1910 |
+
this.clearSearch();
|
1911 |
+
},
|
1912 |
+
|
1913 |
+
// multi
|
1914 |
+
enable: function() {
|
1915 |
+
if (this.enabled) return;
|
1916 |
+
|
1917 |
+
this.parent.enable.apply(this, arguments);
|
1918 |
+
|
1919 |
+
this.search.removeAttr("disabled");
|
1920 |
+
},
|
1921 |
+
|
1922 |
+
// multi
|
1923 |
+
disable: function() {
|
1924 |
+
if (!this.enabled) return;
|
1925 |
+
|
1926 |
+
this.parent.disable.apply(this, arguments);
|
1927 |
+
|
1928 |
+
this.search.attr("disabled", true);
|
1929 |
+
},
|
1930 |
+
|
1931 |
+
// multi
|
1932 |
+
initSelection: function () {
|
1933 |
+
var data;
|
1934 |
+
if (this.opts.element.val() === "") {
|
1935 |
+
this.updateSelection([]);
|
1936 |
+
this.close();
|
1937 |
+
// set the placeholder if necessary
|
1938 |
+
this.clearSearch();
|
1939 |
+
}
|
1940 |
+
if (this.select || this.opts.element.val() !== "") {
|
1941 |
+
var self = this;
|
1942 |
+
this.opts.initSelection.call(null, this.opts.element, function(data){
|
1943 |
+
if (data !== undefined && data !== null) {
|
1944 |
+
self.updateSelection(data);
|
1945 |
+
self.close();
|
1946 |
+
// set the placeholder if necessary
|
1947 |
+
self.clearSearch();
|
1948 |
+
}
|
1949 |
+
});
|
1950 |
+
}
|
1951 |
+
},
|
1952 |
+
|
1953 |
+
// multi
|
1954 |
+
clearSearch: function () {
|
1955 |
+
var placeholder = this.getPlaceholder();
|
1956 |
+
|
1957 |
+
if (placeholder !== undefined && this.getVal().length === 0 && this.search.hasClass("select2-focused") === false) {
|
1958 |
+
this.search.val(placeholder).addClass("select2-default");
|
1959 |
+
// stretch the search box to full width of the container so as much of the placeholder is visible as possible
|
1960 |
+
this.resizeSearch();
|
1961 |
+
} else {
|
1962 |
+
// we set this to " " instead of "" and later clear it on focus() because there is a firefox bug
|
1963 |
+
// that does not properly render the caret when the field starts out blank
|
1964 |
+
this.search.val(" ").width(10);
|
1965 |
+
}
|
1966 |
+
},
|
1967 |
+
|
1968 |
+
// multi
|
1969 |
+
clearPlaceholder: function () {
|
1970 |
+
if (this.search.hasClass("select2-default")) {
|
1971 |
+
this.search.val("").removeClass("select2-default");
|
1972 |
+
} else {
|
1973 |
+
// work around for the space character we set to avoid firefox caret bug
|
1974 |
+
if (this.search.val() === " ") this.search.val("");
|
1975 |
+
}
|
1976 |
+
},
|
1977 |
+
|
1978 |
+
// multi
|
1979 |
+
opening: function () {
|
1980 |
+
this.parent.opening.apply(this, arguments);
|
1981 |
+
|
1982 |
+
this.clearPlaceholder();
|
1983 |
+
this.resizeSearch();
|
1984 |
+
this.focusSearch();
|
1985 |
+
},
|
1986 |
+
|
1987 |
+
// multi
|
1988 |
+
close: function () {
|
1989 |
+
if (!this.opened()) return;
|
1990 |
+
this.parent.close.apply(this, arguments);
|
1991 |
+
},
|
1992 |
+
|
1993 |
+
// multi
|
1994 |
+
focus: function () {
|
1995 |
+
this.close();
|
1996 |
+
this.search.focus();
|
1997 |
+
},
|
1998 |
+
|
1999 |
+
// multi
|
2000 |
+
isFocused: function () {
|
2001 |
+
return this.search.hasClass("select2-focused");
|
2002 |
+
},
|
2003 |
+
|
2004 |
+
// multi
|
2005 |
+
updateSelection: function (data) {
|
2006 |
+
var ids = [], filtered = [], self = this;
|
2007 |
+
|
2008 |
+
// filter out duplicates
|
2009 |
+
$(data).each(function () {
|
2010 |
+
if (indexOf(self.id(this), ids) < 0) {
|
2011 |
+
ids.push(self.id(this));
|
2012 |
+
filtered.push(this);
|
2013 |
+
}
|
2014 |
+
});
|
2015 |
+
data = filtered;
|
2016 |
+
|
2017 |
+
this.selection.find(".select2-search-choice").remove();
|
2018 |
+
$(data).each(function () {
|
2019 |
+
self.addSelectedChoice(this);
|
2020 |
+
});
|
2021 |
+
self.postprocessResults();
|
2022 |
+
},
|
2023 |
+
|
2024 |
+
tokenize: function() {
|
2025 |
+
var input = this.search.val();
|
2026 |
+
input = this.opts.tokenizer(input, this.data(), this.bind(this.onSelect), this.opts);
|
2027 |
+
if (input != null && input != undefined) {
|
2028 |
+
this.search.val(input);
|
2029 |
+
if (input.length > 0) {
|
2030 |
+
this.open();
|
2031 |
+
}
|
2032 |
+
}
|
2033 |
+
|
2034 |
+
},
|
2035 |
+
|
2036 |
+
// multi
|
2037 |
+
onSelect: function (data) {
|
2038 |
+
this.addSelectedChoice(data);
|
2039 |
+
if (this.select) { this.postprocessResults(); }
|
2040 |
+
|
2041 |
+
if (this.opts.closeOnSelect) {
|
2042 |
+
this.close();
|
2043 |
+
this.search.width(10);
|
2044 |
+
} else {
|
2045 |
+
if (this.countSelectableResults()>0) {
|
2046 |
+
this.search.width(10);
|
2047 |
+
this.resizeSearch();
|
2048 |
+
this.positionDropdown();
|
2049 |
+
} else {
|
2050 |
+
// if nothing left to select close
|
2051 |
+
this.close();
|
2052 |
+
}
|
2053 |
+
}
|
2054 |
+
|
2055 |
+
// since its not possible to select an element that has already been
|
2056 |
+
// added we do not need to check if this is a new element before firing change
|
2057 |
+
this.triggerChange({ added: data });
|
2058 |
+
|
2059 |
+
this.focusSearch();
|
2060 |
+
},
|
2061 |
+
|
2062 |
+
// multi
|
2063 |
+
cancel: function () {
|
2064 |
+
this.close();
|
2065 |
+
this.focusSearch();
|
2066 |
+
},
|
2067 |
+
|
2068 |
+
// multi
|
2069 |
+
addSelectedChoice: function (data) {
|
2070 |
+
var choice=$(
|
2071 |
+
"<li class='select2-search-choice'>" +
|
2072 |
+
" <div></div>" +
|
2073 |
+
" <a href='#' onclick='return false;' class='select2-search-choice-close' tabindex='-1'></a>" +
|
2074 |
+
"</li>"),
|
2075 |
+
id = this.id(data),
|
2076 |
+
val = this.getVal(),
|
2077 |
+
formatted;
|
2078 |
+
|
2079 |
+
formatted=this.opts.formatSelection(data, choice);
|
2080 |
+
choice.find("div").replaceWith("<div>"+this.opts.escapeMarkup(formatted)+"</div>");
|
2081 |
+
choice.find(".select2-search-choice-close")
|
2082 |
+
.bind("mousedown", killEvent)
|
2083 |
+
.bind("click dblclick", this.bind(function (e) {
|
2084 |
+
if (!this.enabled) return;
|
2085 |
+
|
2086 |
+
$(e.target).closest(".select2-search-choice").fadeOut('fast', this.bind(function(){
|
2087 |
+
this.unselect($(e.target));
|
2088 |
+
this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus");
|
2089 |
+
this.close();
|
2090 |
+
this.focusSearch();
|
2091 |
+
})).dequeue();
|
2092 |
+
killEvent(e);
|
2093 |
+
})).bind("focus", this.bind(function () {
|
2094 |
+
if (!this.enabled) return;
|
2095 |
+
this.container.addClass("select2-container-active");
|
2096 |
+
this.dropdown.addClass("select2-drop-active");
|
2097 |
+
}));
|
2098 |
+
|
2099 |
+
choice.data("select2-data", data);
|
2100 |
+
choice.insertBefore(this.searchContainer);
|
2101 |
+
|
2102 |
+
val.push(id);
|
2103 |
+
this.setVal(val);
|
2104 |
+
},
|
2105 |
+
|
2106 |
+
// multi
|
2107 |
+
unselect: function (selected) {
|
2108 |
+
var val = this.getVal(),
|
2109 |
+
data,
|
2110 |
+
index;
|
2111 |
+
|
2112 |
+
selected = selected.closest(".select2-search-choice");
|
2113 |
+
|
2114 |
+
if (selected.length === 0) {
|
2115 |
+
throw "Invalid argument: " + selected + ". Must be .select2-search-choice";
|
2116 |
+
}
|
2117 |
+
|
2118 |
+
data = selected.data("select2-data");
|
2119 |
+
|
2120 |
+
index = indexOf(this.id(data), val);
|
2121 |
+
|
2122 |
+
if (index >= 0) {
|
2123 |
+
val.splice(index, 1);
|
2124 |
+
this.setVal(val);
|
2125 |
+
if (this.select) this.postprocessResults();
|
2126 |
+
}
|
2127 |
+
selected.remove();
|
2128 |
+
this.triggerChange({ removed: data });
|
2129 |
+
},
|
2130 |
+
|
2131 |
+
// multi
|
2132 |
+
postprocessResults: function () {
|
2133 |
+
var val = this.getVal(),
|
2134 |
+
choices = this.results.find(".select2-result-selectable"),
|
2135 |
+
compound = this.results.find(".select2-result-with-children"),
|
2136 |
+
self = this;
|
2137 |
+
|
2138 |
+
choices.each2(function (i, choice) {
|
2139 |
+
var id = self.id(choice.data("select2-data"));
|
2140 |
+
if (indexOf(id, val) >= 0) {
|
2141 |
+
choice.addClass("select2-disabled").removeClass("select2-result-selectable");
|
2142 |
+
} else {
|
2143 |
+
choice.removeClass("select2-disabled").addClass("select2-result-selectable");
|
2144 |
+
}
|
2145 |
+
});
|
2146 |
+
|
2147 |
+
compound.each2(function(i, e) {
|
2148 |
+
if (e.find(".select2-result-selectable").length==0) {
|
2149 |
+
e.addClass("select2-disabled");
|
2150 |
+
} else {
|
2151 |
+
e.removeClass("select2-disabled");
|
2152 |
+
}
|
2153 |
+
});
|
2154 |
+
|
2155 |
+
choices.each2(function (i, choice) {
|
2156 |
+
if (!choice.hasClass("select2-disabled") && choice.hasClass("select2-result-selectable")) {
|
2157 |
+
self.highlight(0);
|
2158 |
+
return false;
|
2159 |
+
}
|
2160 |
+
});
|
2161 |
+
|
2162 |
+
},
|
2163 |
+
|
2164 |
+
// multi
|
2165 |
+
resizeSearch: function () {
|
2166 |
+
|
2167 |
+
var minimumWidth, left, maxWidth, containerLeft, searchWidth,
|
2168 |
+
sideBorderPadding = getSideBorderPadding(this.search);
|
2169 |
+
|
2170 |
+
minimumWidth = measureTextWidth(this.search) + 10;
|
2171 |
+
|
2172 |
+
left = this.search.offset().left;
|
2173 |
+
|
2174 |
+
maxWidth = this.selection.width();
|
2175 |
+
containerLeft = this.selection.offset().left;
|
2176 |
+
|
2177 |
+
searchWidth = maxWidth - (left - containerLeft) - sideBorderPadding;
|
2178 |
+
if (searchWidth < minimumWidth) {
|
2179 |
+
searchWidth = maxWidth - sideBorderPadding;
|
2180 |
+
}
|
2181 |
+
|
2182 |
+
if (searchWidth < 40) {
|
2183 |
+
searchWidth = maxWidth - sideBorderPadding;
|
2184 |
+
}
|
2185 |
+
this.search.width(searchWidth);
|
2186 |
+
},
|
2187 |
+
|
2188 |
+
// multi
|
2189 |
+
getVal: function () {
|
2190 |
+
var val;
|
2191 |
+
if (this.select) {
|
2192 |
+
val = this.select.val();
|
2193 |
+
return val === null ? [] : val;
|
2194 |
+
} else {
|
2195 |
+
val = this.opts.element.val();
|
2196 |
+
return splitVal(val, this.opts.separator);
|
2197 |
+
}
|
2198 |
+
},
|
2199 |
+
|
2200 |
+
// multi
|
2201 |
+
setVal: function (val) {
|
2202 |
+
var unique;
|
2203 |
+
if (this.select) {
|
2204 |
+
this.select.val(val);
|
2205 |
+
} else {
|
2206 |
+
unique = [];
|
2207 |
+
// filter out duplicates
|
2208 |
+
$(val).each(function () {
|
2209 |
+
if (indexOf(this, unique) < 0) unique.push(this);
|
2210 |
+
});
|
2211 |
+
this.opts.element.val(unique.length === 0 ? "" : unique.join(this.opts.separator));
|
2212 |
+
}
|
2213 |
+
},
|
2214 |
+
|
2215 |
+
// multi
|
2216 |
+
val: function () {
|
2217 |
+
var val, data = [], self=this;
|
2218 |
+
|
2219 |
+
if (arguments.length === 0) {
|
2220 |
+
return this.getVal();
|
2221 |
+
}
|
2222 |
+
|
2223 |
+
val = arguments[0];
|
2224 |
+
|
2225 |
+
if (!val) {
|
2226 |
+
this.opts.element.val("");
|
2227 |
+
this.updateSelection([]);
|
2228 |
+
this.clearSearch();
|
2229 |
+
return;
|
2230 |
+
}
|
2231 |
+
|
2232 |
+
// val is a list of ids
|
2233 |
+
this.setVal(val);
|
2234 |
+
|
2235 |
+
if (this.select) {
|
2236 |
+
this.select.find(":selected").each(function () {
|
2237 |
+
data.push({id: $(this).attr("value"), text: $(this).text()});
|
2238 |
+
});
|
2239 |
+
this.updateSelection(data);
|
2240 |
+
} else {
|
2241 |
+
if (this.opts.initSelection === undefined) {
|
2242 |
+
throw new Error("val() cannot be called if initSelection() is not defined")
|
2243 |
+
}
|
2244 |
+
|
2245 |
+
this.opts.initSelection(this.opts.element, function(data){
|
2246 |
+
var ids=$(data).map(self.id);
|
2247 |
+
self.setVal(ids);
|
2248 |
+
self.updateSelection(data);
|
2249 |
+
self.clearSearch();
|
2250 |
+
});
|
2251 |
+
}
|
2252 |
+
this.clearSearch();
|
2253 |
+
},
|
2254 |
+
|
2255 |
+
// multi
|
2256 |
+
onSortStart: function() {
|
2257 |
+
if (this.select) {
|
2258 |
+
throw new Error("Sorting of elements is not supported when attached to <select>. Attach to <input type='hidden'/> instead.");
|
2259 |
+
}
|
2260 |
+
|
2261 |
+
// collapse search field into 0 width so its container can be collapsed as well
|
2262 |
+
this.search.width(0);
|
2263 |
+
// hide the container
|
2264 |
+
this.searchContainer.hide();
|
2265 |
+
},
|
2266 |
+
|
2267 |
+
// multi
|
2268 |
+
onSortEnd:function() {
|
2269 |
+
|
2270 |
+
var val=[], self=this;
|
2271 |
+
|
2272 |
+
// show search and move it to the end of the list
|
2273 |
+
this.searchContainer.show();
|
2274 |
+
// make sure the search container is the last item in the list
|
2275 |
+
this.searchContainer.appendTo(this.searchContainer.parent());
|
2276 |
+
// since we collapsed the width in dragStarted, we resize it here
|
2277 |
+
this.resizeSearch();
|
2278 |
+
|
2279 |
+
// update selection
|
2280 |
+
|
2281 |
+
this.selection.find(".select2-search-choice").each(function() {
|
2282 |
+
val.push(self.opts.id($(this).data("select2-data")));
|
2283 |
+
});
|
2284 |
+
this.setVal(val);
|
2285 |
+
this.triggerChange();
|
2286 |
+
},
|
2287 |
+
|
2288 |
+
// multi
|
2289 |
+
data: function(values) {
|
2290 |
+
var self=this, ids;
|
2291 |
+
if (arguments.length === 0) {
|
2292 |
+
return this.selection
|
2293 |
+
.find(".select2-search-choice")
|
2294 |
+
.map(function() { return $(this).data("select2-data"); })
|
2295 |
+
.get();
|
2296 |
+
} else {
|
2297 |
+
if (!values) { values = []; }
|
2298 |
+
ids = $.map(values, function(e) { return self.opts.id(e)});
|
2299 |
+
this.setVal(ids);
|
2300 |
+
this.updateSelection(values);
|
2301 |
+
this.clearSearch();
|
2302 |
+
}
|
2303 |
+
}
|
2304 |
+
});
|
2305 |
+
|
2306 |
+
$.fn.select2 = function () {
|
2307 |
+
|
2308 |
+
var args = Array.prototype.slice.call(arguments, 0),
|
2309 |
+
opts,
|
2310 |
+
select2,
|
2311 |
+
value, multiple, allowedMethods = ["val", "destroy", "opened", "open", "close", "focus", "isFocused", "container", "onSortStart", "onSortEnd", "enable", "disable", "positionDropdown", "data"];
|
2312 |
+
|
2313 |
+
this.each(function () {
|
2314 |
+
if (args.length === 0 || typeof(args[0]) === "object") {
|
2315 |
+
opts = args.length === 0 ? {} : $.extend({}, args[0]);
|
2316 |
+
opts.element = $(this);
|
2317 |
+
|
2318 |
+
if (opts.element.get(0).tagName.toLowerCase() === "select") {
|
2319 |
+
multiple = opts.element.attr("multiple");
|
2320 |
+
} else {
|
2321 |
+
multiple = opts.multiple || false;
|
2322 |
+
if ("tags" in opts) {opts.multiple = multiple = true;}
|
2323 |
+
}
|
2324 |
+
|
2325 |
+
select2 = multiple ? new MultiSelect2() : new SingleSelect2();
|
2326 |
+
select2.init(opts);
|
2327 |
+
} else if (typeof(args[0]) === "string") {
|
2328 |
+
|
2329 |
+
if (indexOf(args[0], allowedMethods) < 0) {
|
2330 |
+
throw "Unknown method: " + args[0];
|
2331 |
+
}
|
2332 |
+
|
2333 |
+
value = undefined;
|
2334 |
+
select2 = $(this).data("select2");
|
2335 |
+
if (select2 === undefined) return;
|
2336 |
+
if (args[0] === "container") {
|
2337 |
+
value=select2.container;
|
2338 |
+
} else {
|
2339 |
+
value = select2[args[0]].apply(select2, args.slice(1));
|
2340 |
+
}
|
2341 |
+
if (value !== undefined) {return false;}
|
2342 |
+
} else {
|
2343 |
+
throw "Invalid arguments to select2 plugin: " + args;
|
2344 |
+
}
|
2345 |
+
});
|
2346 |
+
return (value === undefined) ? this : value;
|
2347 |
+
};
|
2348 |
+
|
2349 |
+
// plugin defaults, accessible to users
|
2350 |
+
$.fn.select2.defaults = {
|
2351 |
+
width: "copy",
|
2352 |
+
closeOnSelect: true,
|
2353 |
+
openOnEnter: true,
|
2354 |
+
containerCss: {},
|
2355 |
+
dropdownCss: {},
|
2356 |
+
containerCssClass: "",
|
2357 |
+
dropdownCssClass: "",
|
2358 |
+
formatResult: function(result, container, query) {
|
2359 |
+
var markup=[];
|
2360 |
+
markMatch(result.text, query.term, markup);
|
2361 |
+
return markup.join("");
|
2362 |
+
},
|
2363 |
+
formatSelection: function (data, container) {
|
2364 |
+
return data ? data.text : undefined;
|
2365 |
+
},
|
2366 |
+
formatResultCssClass: function(data) {return undefined;},
|
2367 |
+
formatNoMatches: function () { return "No matches found"; },
|
2368 |
+
formatInputTooShort: function (input, min) { return "Please enter " + (min - input.length) + " more characters"; },
|
2369 |
+
formatSelectionTooBig: function (limit) { return "You can only select " + limit + " item" + (limit == 1 ? "" : "s"); },
|
2370 |
+
formatLoadMore: function (pageNumber) { return "Loading more results..."; },
|
2371 |
+
formatSearching: function () { return "Searching..."; },
|
2372 |
+
minimumResultsForSearch: 0,
|
2373 |
+
minimumInputLength: 0,
|
2374 |
+
maximumSelectionSize: 0,
|
2375 |
+
id: function (e) { return e.id; },
|
2376 |
+
matcher: function(term, text) {
|
2377 |
+
return text.toUpperCase().indexOf(term.toUpperCase()) >= 0;
|
2378 |
+
},
|
2379 |
+
separator: ",",
|
2380 |
+
tokenSeparators: [],
|
2381 |
+
tokenizer: defaultTokenizer,
|
2382 |
+
escapeMarkup: function (markup) {
|
2383 |
+
if (markup && typeof(markup) === "string") {
|
2384 |
+
return markup.replace(/&/g, "&");
|
2385 |
+
}
|
2386 |
+
return markup;
|
2387 |
+
},
|
2388 |
+
blurOnChange: false
|
2389 |
+
};
|
2390 |
+
|
2391 |
+
// exports
|
2392 |
+
window.Select2 = {
|
2393 |
+
query: {
|
2394 |
+
ajax: ajax,
|
2395 |
+
local: local,
|
2396 |
+
tags: tags
|
2397 |
+
}, util: {
|
2398 |
+
debounce: debounce,
|
2399 |
+
markMatch: markMatch
|
2400 |
+
}, "class": {
|
2401 |
+
"abstract": AbstractSelect2,
|
2402 |
+
"single": SingleSelect2,
|
2403 |
+
"multi": MultiSelect2
|
2404 |
+
}
|
2405 |
+
};
|
2406 |
+
|
2407 |
+
}(jQuery));
|
@@ -0,0 +1,82 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
Copyright 2012 Igor Vaynberg
|
3 |
+
|
4 |
+
Version: 3.2 Timestamp: Mon Sep 10 10:38:04 PDT 2012
|
5 |
+
|
6 |
+
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in
|
7 |
+
compliance with the License. You may obtain a copy of the License in the LICENSE file, or at:
|
8 |
+
|
9 |
+
http://www.apache.org/licenses/LICENSE-2.0
|
10 |
+
|
11 |
+
Unless required by applicable law or agreed to in writing, software distributed under the License is
|
12 |
+
distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13 |
+
See the License for the specific language governing permissions and limitations under the License.
|
14 |
+
*/
|
15 |
+
(function(e){"undefined"==typeof e.fn.each2&&e.fn.extend({each2:function(g){for(var i=e([0]),m=-1,s=this.length;++m<s&&(i.context=i[0]=this[m])&&!1!==g.call(i[0],m,i););return this}})})(jQuery);
|
16 |
+
(function(e,g){function i(a,b){var c=0,d=b.length,j;if("undefined"===typeof a)return-1;if(a.constructor===String)for(;c<d;c+=1){if(0===a.localeCompare(b[c]))return c}else for(;c<d;c+=1)if(j=b[c],j.constructor===String){if(0===j.localeCompare(a))return c}else if(j===a)return c;return-1}function m(a,b){return a===b?!0:a===g||b===g||null===a||null===b?!1:a.constructor===String?0===a.localeCompare(b):b.constructor===String?0===b.localeCompare(a):!1}function s(a,b){var c,d,j;if(null===a||1>a.length)return[];
|
17 |
+
c=a.split(b);d=0;for(j=c.length;d<j;d+=1)c[d]=e.trim(c[d]);return c}function A(a,b,c){var c=c||g,d;return function(){var j=arguments;window.clearTimeout(d);d=window.setTimeout(function(){b.apply(c,j)},a)}}function l(a){a.preventDefault();a.stopPropagation()}function B(a,b,c){var d=a.toUpperCase().indexOf(b.toUpperCase()),b=b.length;0>d?c.push(a):(c.push(a.substring(0,d)),c.push("<span class='select2-match'>"),c.push(a.substring(d,d+b)),c.push("</span>"),c.push(a.substring(d+b,a.length)))}function C(a){var b,
|
18 |
+
c=0,d=null,j=a.quietMillis||100;return function(h){window.clearTimeout(b);b=window.setTimeout(function(){var b=c+=1,j=a.data,n=a.transport||e.ajax,f=a.traditional||!1,g=a.type||"GET",j=j.call(this,h.term,h.page,h.context);null!==d&&d.abort();d=n.call(null,{url:a.url,dataType:a.dataType,data:j,type:g,traditional:f,success:function(d){b<c||(d=a.results(d,h.page),h.callback(d))}})},j)}}function D(a){var b=a,c,d=function(a){return""+a.text};e.isArray(b)||(d=b.text,e.isFunction(d)||(c=b.text,d=function(a){return a[c]}),
|
19 |
+
b=b.results);return function(a){var c=a.term,f={results:[]},k;if(c==="")a.callback({results:b});else{k=function(b,f){var g,t,b=b[0];if(b.children){g={};for(t in b)b.hasOwnProperty(t)&&(g[t]=b[t]);g.children=[];e(b.children).each2(function(a,b){k(b,g.children)});g.children.length&&f.push(g)}else a.matcher(c,d(b))&&f.push(b)};e(b).each2(function(a,b){k(b,f.results)});a.callback(f)}}}function E(a){return e.isFunction(a)?a:function(b){var c=b.term,d={results:[]};e(a).each(function(){var a=this.text!==
|
20 |
+
g,e=a?this.text:this;if(""===c||b.matcher(c,e))d.results.push(a?this:{id:this,text:this})});b.callback(d)}}function u(a){if(e.isFunction(a))return!0;if(!a)return!1;throw Error("formatterName must be a function or a falsy value");}function v(a){return e.isFunction(a)?a():a}function F(a){var b=0;e.each(a,function(a,d){d.children?b+=F(d.children):b++});return b}function H(a,b,c,d){var e=a,h=!1,f,k,n,o;if(!d.createSearchChoice||!d.tokenSeparators||1>d.tokenSeparators.length)return g;for(;;){h=-1;k=0;
|
21 |
+
for(n=d.tokenSeparators.length;k<n&&!(o=d.tokenSeparators[k],h=a.indexOf(o),0<=h);k++);if(0>h)break;f=a.substring(0,h);a=a.substring(h+o.length);if(0<f.length&&(f=d.createSearchChoice(f,b),f!==g&&null!==f&&d.id(f)!==g&&null!==d.id(f))){h=!1;k=0;for(n=b.length;k<n;k++)if(m(d.id(f),d.id(b[k]))){h=!0;break}h||c(f)}}if(0!=e.localeCompare(a))return a}function x(a,b){var c=function(){};c.prototype=new a;c.prototype.constructor=c;c.prototype.parent=a.prototype;c.prototype=e.extend(c.prototype,b);return c}
|
22 |
+
if(window.Select2===g){var f,w,y,z,G,q;f={TAB:9,ENTER:13,ESC:27,SPACE:32,LEFT:37,UP:38,RIGHT:39,DOWN:40,SHIFT:16,CTRL:17,ALT:18,PAGE_UP:33,PAGE_DOWN:34,HOME:36,END:35,BACKSPACE:8,DELETE:46,isArrow:function(a){a=a.which?a.which:a;switch(a){case f.LEFT:case f.RIGHT:case f.UP:case f.DOWN:return!0}return!1},isControl:function(a){switch(a.which){case f.SHIFT:case f.CTRL:case f.ALT:return!0}return a.metaKey?!0:!1},isFunctionKey:function(a){a=a.which?a.which:a;return 112<=a&&123>=a}};var I=1;G=function(){return I++};
|
23 |
+
e(document).delegate("body","mousemove",function(a){e.data(document,"select2-lastpos",{x:a.pageX,y:a.pageY})});e(document).ready(function(){e(document).delegate("body","mousedown touchend",function(a){var b=e(a.target).closest("div.select2-container").get(0),c;b?e(document).find("div.select2-container-active").each(function(){this!==b&&e(this).data("select2").blur()}):(b=e(a.target).closest("div.select2-drop").get(0),e(document).find("div.select2-drop-active").each(function(){this!==b&&e(this).data("select2").blur()}));
|
24 |
+
b=e(a.target);c=b.attr("for");"LABEL"===a.target.tagName&&(c&&0<c.length)&&(b=e("#"+c),b=b.data("select2"),b!==g&&(b.focus(),a.preventDefault()))})});w=x(Object,{bind:function(a){var b=this;return function(){a.apply(b,arguments)}},init:function(a){var b,c;this.opts=a=this.prepareOpts(a);this.id=a.id;a.element.data("select2")!==g&&null!==a.element.data("select2")&&this.destroy();this.enabled=!0;this.container=this.createContainer();this.containerId="s2id_"+(a.element.attr("id")||"autogen"+G());this.containerSelector=
|
25 |
+
"#"+this.containerId.replace(/([;&,\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g,"\\$1");this.container.attr("id",this.containerId);var d=!1,j;this.body=function(){!1===d&&(j=a.element.closest("body"),d=!0);return j};a.element.attr("class")!==g&&this.container.addClass(a.element.attr("class").replace(/validate\[[\S ]+] ?/,""));this.container.css(v(a.containerCss));this.container.addClass(v(a.containerCssClass));this.opts.element.data("select2",this).hide().before(this.container);this.container.data("select2",
|
26 |
+
this);this.dropdown=this.container.find(".select2-drop");this.dropdown.addClass(v(a.dropdownCssClass));this.dropdown.data("select2",this);this.results=b=this.container.find(".select2-results");this.search=c=this.container.find("input.select2-input");c.attr("tabIndex",this.opts.element.attr("tabIndex"));this.resultsPage=0;this.context=null;this.initContainer();this.initContainerWidth();this.results.bind("mousemove",function(a){var b=e.data(document,"select2-lastpos");(b===g||b.x!==a.pageX||b.y!==a.pageY)&&
|
27 |
+
e(a.target).trigger("mousemove-filtered",a)});this.dropdown.delegate(".select2-results","mousemove-filtered",this.bind(this.highlightUnderEvent));var h=this.results,f=A(80,function(a){h.trigger("scroll-debounced",a)});h.bind("scroll",function(a){0<=i(a.target,h.get())&&f(a)});this.dropdown.delegate(".select2-results","scroll-debounced",this.bind(this.loadMoreIfNeeded));e.fn.mousewheel&&b.mousewheel(function(a,c,d,e){c=b.scrollTop();0<e&&0>=c-e?(b.scrollTop(0),l(a)):0>e&&b.get(0).scrollHeight-b.scrollTop()+
|
28 |
+
e<=b.height()&&(b.scrollTop(b.get(0).scrollHeight-b.height()),l(a))});c.bind("keydown",function(){e.data(c,"keyup-change-value")===g&&e.data(c,"keyup-change-value",c.val())});c.bind("keyup",function(){var a=e.data(c,"keyup-change-value");a!==g&&c.val()!==a&&(e.removeData(c,"keyup-change-value"),c.trigger("keyup-change"))});c.bind("keyup-change",this.bind(this.updateResults));c.bind("focus",function(){c.addClass("select2-focused");" "===c.val()&&c.val("")});c.bind("blur",function(){c.removeClass("select2-focused")});
|
29 |
+
this.dropdown.delegate(".select2-results","mouseup",this.bind(function(a){0<e(a.target).closest(".select2-result-selectable:not(.select2-disabled)").length?(this.highlightUnderEvent(a),this.selectHighlighted(a)):this.focusSearch();l(a)}));this.dropdown.bind("click mouseup mousedown",function(a){a.stopPropagation()});e.isFunction(this.opts.initSelection)&&(this.initSelection(),this.monitorSource());(a.element.is(":disabled")||a.element.is("[readonly='readonly']"))&&this.disable()},destroy:function(){var a=
|
30 |
+
this.opts.element.data("select2");a!==g&&(a.container.remove(),a.dropdown.remove(),a.opts.element.removeData("select2").unbind(".select2").show())},prepareOpts:function(a){var b,c,d;b=a.element;"select"===b.get(0).tagName.toLowerCase()&&(this.select=c=a.element);c&&e.each("id multiple ajax query createSearchChoice initSelection data tags".split(" "),function(){if(this in a)throw Error("Option '"+this+"' is not allowed for Select2 when attached to a <select> element.");});a=e.extend({},{populateResults:function(b,
|
31 |
+
c,d){var f,n=this.opts.id,o=this;f=function(b,c,j){var h,l,i,m,r,p,q;h=0;for(l=b.length;h<l;h=h+1){i=b[h];m=n(i)!==g;r=i.children&&i.children.length>0;p=e("<li></li>");p.addClass("select2-results-dept-"+j);p.addClass("select2-result");p.addClass(m?"select2-result-selectable":"select2-result-unselectable");r&&p.addClass("select2-result-with-children");p.addClass(o.opts.formatResultCssClass(i));m=e("<div></div>");m.addClass("select2-result-label");q=a.formatResult(i,m,d);q!==g&&m.html(o.opts.escapeMarkup(q));
|
32 |
+
p.append(m);if(r){r=e("<ul></ul>");r.addClass("select2-result-sub");f(i.children,r,j+1);p.append(r)}p.data("select2-data",i);c.append(p)}};f(c,b,0)}},e.fn.select2.defaults,a);"function"!==typeof a.id&&(d=a.id,a.id=function(a){return a[d]});if(c)a.query=this.bind(function(a){var c={results:[],more:false},d=a.term,f,n,o;o=function(b,c){var e;if(b.is("option"))a.matcher(d,b.text(),b)&&c.push({id:b.attr("value"),text:b.text(),element:b.get(),css:b.attr("class")});else if(b.is("optgroup")){e={text:b.attr("label"),
|
33 |
+
children:[],element:b.get(),css:b.attr("class")};b.children().each2(function(a,b){o(b,e.children)});e.children.length>0&&c.push(e)}};f=b.children();if(this.getPlaceholder()!==g&&f.length>0){n=f[0];e(n).text()===""&&(f=f.not(n))}f.each2(function(a,b){o(b,c.results)});a.callback(c)}),a.id=function(a){return a.id},a.formatResultCssClass=function(a){return a.css};else if(!("query"in a))if("ajax"in a){if((c=a.element.data("ajax-url"))&&0<c.length)a.ajax.url=c;a.query=C(a.ajax)}else"data"in a?a.query=D(a.data):
|
34 |
+
"tags"in a&&(a.query=E(a.tags),a.createSearchChoice=function(a){return{id:a,text:a}},a.initSelection=function(b,c){var d=[];e(s(b.val(),a.separator)).each(function(){var b=this,c=this,j=a.tags;e.isFunction(j)&&(j=j());e(j).each(function(){if(m(this.id,b)){c=this.text;return false}});d.push({id:b,text:c})});c(d)});if("function"!==typeof a.query)throw"query function not defined for Select2 "+a.element.attr("id");return a},monitorSource:function(){this.opts.element.bind("change.select2",this.bind(function(){!0!==
|
35 |
+
this.opts.element.data("select2-change-triggered")&&this.initSelection()}))},triggerChange:function(a){a=a||{};a=e.extend({},a,{type:"change",val:this.val()});this.opts.element.data("select2-change-triggered",!0);this.opts.element.trigger(a);this.opts.element.data("select2-change-triggered",!1);this.opts.element.click();this.opts.blurOnChange&&this.opts.element.blur()},enable:function(){this.enabled||(this.enabled=!0,this.container.removeClass("select2-container-disabled"))},disable:function(){this.enabled&&
|
36 |
+
(this.close(),this.enabled=!1,this.container.addClass("select2-container-disabled"))},opened:function(){return this.container.hasClass("select2-dropdown-open")},positionDropdown:function(){var a=this.container.offset(),b=this.container.outerHeight(),c=this.container.outerWidth(),d=this.dropdown.outerHeight(),j=e(window).scrollTop()+document.documentElement.clientHeight,b=a.top+b,f=a.left,j=b+d<=j,g=a.top-d>=this.body().scrollTop(),k=this.dropdown.hasClass("select2-drop-above"),n;"static"!==this.body().css("position")&&
|
37 |
+
(n=this.body().offset(),b-=n.top,f-=n.left);k?(k=!0,!g&&j&&(k=!1)):(k=!1,!j&&g&&(k=!0));k?(b=a.top-d,this.container.addClass("select2-drop-above"),this.dropdown.addClass("select2-drop-above")):(this.container.removeClass("select2-drop-above"),this.dropdown.removeClass("select2-drop-above"));a=e.extend({top:b,left:f,width:c},v(this.opts.dropdownCss));this.dropdown.css(a)},shouldOpen:function(){var a;if(this.opened())return!1;a=e.Event("open");this.opts.element.trigger(a);return!a.isDefaultPrevented()},
|
38 |
+
clearDropdownAlignmentPreference:function(){this.container.removeClass("select2-drop-above");this.dropdown.removeClass("select2-drop-above")},open:function(){if(!this.shouldOpen())return!1;window.setTimeout(this.bind(this.opening),1);return!0},opening:function(){var a=this.containerId,b=this.containerSelector,c="scroll."+a,d="resize."+a;this.container.parents().each(function(){e(this).bind(c,function(){var a=e(b);0==a.length&&e(this).unbind(c);a.select2("close")})});e(window).bind(d,function(){var a=
|
39 |
+
e(b);0==a.length&&e(window).unbind(d);a.select2("close")});this.clearDropdownAlignmentPreference();" "===this.search.val()&&this.search.val("");this.container.addClass("select2-dropdown-open").addClass("select2-container-active");this.updateResults(!0);this.dropdown[0]!==this.body().children().last()[0]&&this.dropdown.detach().appendTo(this.body());this.dropdown.show();this.positionDropdown();this.dropdown.addClass("select2-drop-active");this.ensureHighlightVisible();this.focusSearch()},close:function(){if(this.opened()){var a=
|
40 |
+
this;this.container.parents().each(function(){e(this).unbind("scroll."+a.containerId)});e(window).unbind("resize."+this.containerId);this.clearDropdownAlignmentPreference();this.dropdown.hide();this.container.removeClass("select2-dropdown-open").removeClass("select2-container-active");this.results.empty();this.clearSearch();this.opts.element.trigger(e.Event("close"))}},clearSearch:function(){},ensureHighlightVisible:function(){var a=this.results,b,c,d,f;c=this.highlight();0>c||(0==c?a.scrollTop(0):
|
41 |
+
(b=a.find(".select2-result-selectable"),d=e(b[c]),f=d.offset().top+d.outerHeight(),c===b.length-1&&(b=a.find("li.select2-more-results"),0<b.length&&(f=b.offset().top+b.outerHeight())),b=a.offset().top+a.outerHeight(),f>b&&a.scrollTop(a.scrollTop()+(f-b)),d=d.offset().top-a.offset().top,0>d&&a.scrollTop(a.scrollTop()+d)))},moveHighlight:function(a){for(var b=this.results.find(".select2-result-selectable"),c=this.highlight();-1<c&&c<b.length;){var c=c+a,d=e(b[c]);if(d.hasClass("select2-result-selectable")&&
|
42 |
+
!d.hasClass("select2-disabled")){this.highlight(c);break}}},highlight:function(a){var b=this.results.find(".select2-result-selectable").not(".select2-disabled");if(0===arguments.length)return i(b.filter(".select2-highlighted")[0],b.get());a>=b.length&&(a=b.length-1);0>a&&(a=0);b.removeClass("select2-highlighted");e(b[a]).addClass("select2-highlighted");this.ensureHighlightVisible()},countSelectableResults:function(){return this.results.find(".select2-result-selectable").not(".select2-disabled").length},
|
43 |
+
highlightUnderEvent:function(a){a=e(a.target).closest(".select2-result-selectable");if(0<a.length&&!a.is(".select2-highlighted")){var b=this.results.find(".select2-result-selectable");this.highlight(b.index(a))}else 0==a.length&&this.results.find(".select2-highlighted").removeClass("select2-highlighted")},loadMoreIfNeeded:function(){var a=this.results,b=a.find("li.select2-more-results"),c,d=this.resultsPage+1,e=this,f=this.search.val(),g=this.context;0!==b.length&&(c=b.offset().top-a.offset().top-
|
44 |
+
a.height(),0>=c&&(b.addClass("select2-active"),this.opts.query({term:f,page:d,context:g,matcher:this.opts.matcher,callback:this.bind(function(c){e.opened()&&(e.opts.populateResults.call(this,a,c.results,{term:f,page:d,context:g}),!0===c.more?(b.detach().appendTo(a).text(e.opts.formatLoadMore(d+1)),window.setTimeout(function(){e.loadMoreIfNeeded()},10)):b.remove(),e.positionDropdown(),e.resultsPage=d)})})))},tokenize:function(){},updateResults:function(a){function b(){f.scrollTop(0);d.removeClass("select2-active");
|
45 |
+
k.positionDropdown()}function c(a){f.html(k.opts.escapeMarkup(a));b()}var d=this.search,f=this.results,h=this.opts,i,k=this;if(!(!0!==a&&(!1===this.showSearchInput||!this.opened()))){d.addClass("select2-active");if(1<=h.maximumSelectionSize&&(i=this.data(),e.isArray(i)&&i.length>=h.maximumSelectionSize&&u(h.formatSelectionTooBig,"formatSelectionTooBig"))){c("<li class='select2-selection-limit'>"+h.formatSelectionTooBig(h.maximumSelectionSize)+"</li>");return}d.val().length<h.minimumInputLength&&u(h.formatInputTooShort,
|
46 |
+
"formatInputTooShort")?c("<li class='select2-no-results'>"+h.formatInputTooShort(d.val(),h.minimumInputLength)+"</li>"):(c("<li class='select2-searching'>"+h.formatSearching()+"</li>"),i=this.tokenize(),i!=g&&null!=i&&d.val(i),this.resultsPage=1,h.query({term:d.val(),page:this.resultsPage,context:null,matcher:h.matcher,callback:this.bind(function(i){var l;this.opened()&&((this.context=i.context===g?null:i.context,this.opts.createSearchChoice&&""!==d.val()&&(l=this.opts.createSearchChoice.call(null,
|
47 |
+
d.val(),i.results),l!==g&&null!==l&&k.id(l)!==g&&null!==k.id(l)&&0===e(i.results).filter(function(){return m(k.id(this),k.id(l))}).length&&i.results.unshift(l)),0===i.results.length&&u(h.formatNoMatches,"formatNoMatches"))?c("<li class='select2-no-results'>"+h.formatNoMatches(d.val())+"</li>"):(f.empty(),k.opts.populateResults.call(this,f,i.results,{term:d.val(),page:this.resultsPage,context:null}),!0===i.more&&u(h.formatLoadMore,"formatLoadMore")&&(f.append("<li class='select2-more-results'>"+k.opts.escapeMarkup(h.formatLoadMore(this.resultsPage))+
|
48 |
+
"</li>"),window.setTimeout(function(){k.loadMoreIfNeeded()},10)),this.postprocessResults(i,a),b()))})}))}},cancel:function(){this.close()},blur:function(){this.close();this.container.removeClass("select2-container-active");this.dropdown.removeClass("select2-drop-active");this.search[0]===document.activeElement&&this.search.blur();this.clearSearch();this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus")},focusSearch:function(){this.search.show();this.search.focus();
|
49 |
+
window.setTimeout(this.bind(function(){this.search.show();this.search.focus();this.search.val(this.search.val())}),10)},selectHighlighted:function(){var a=this.highlight(),b=this.results.find(".select2-highlighted").not(".select2-disabled"),c=b.closest(".select2-result-selectable").data("select2-data");c&&(b.addClass("select2-disabled"),this.highlight(a),this.onSelect(c))},getPlaceholder:function(){return this.opts.element.attr("placeholder")||this.opts.element.attr("data-placeholder")||this.opts.element.data("placeholder")||
|
50 |
+
this.opts.placeholder},initContainerWidth:function(){var a=function(){var a,c,d,f;if("off"===this.opts.width)return null;if("element"===this.opts.width)return 0===this.opts.element.outerWidth()?"auto":this.opts.element.outerWidth()+"px";if("copy"===this.opts.width||"resolve"===this.opts.width){a=this.opts.element.attr("style");if(a!==g){a=a.split(";");d=0;for(f=a.length;d<f;d+=1)if(c=a[d].replace(/\s/g,"").match(/width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/),null!==c&&1<=c.length)return c[1]}return"resolve"===
|
51 |
+
this.opts.width?(a=this.opts.element.css("width"),0<a.indexOf("%")?a:0===this.opts.element.outerWidth()?"auto":this.opts.element.outerWidth()+"px"):null}return e.isFunction(this.opts.width)?this.opts.width():this.opts.width}.call(this);null!==a&&this.container.attr("style","width: "+a)}});y=x(w,{createContainer:function(){return e("<div></div>",{"class":"select2-container"}).html(" <a href='#' onclick='return false;' class='select2-choice'> <span></span><abbr class='select2-search-choice-close' style='display:none;'></abbr> <div><b></b></div></a> <div class='select2-drop select2-offscreen'> <div class='select2-search'> <input type='text' autocomplete='off' class='select2-input'/> </div> <ul class='select2-results'> </ul></div>")},
|
52 |
+
opening:function(){this.search.show();this.parent.opening.apply(this,arguments);this.dropdown.removeClass("select2-offscreen")},close:function(){this.opened()&&(this.parent.close.apply(this,arguments),this.dropdown.removeAttr("style").addClass("select2-offscreen").insertAfter(this.selection).show())},focus:function(){this.close();this.selection.focus()},isFocused:function(){return this.selection[0]===document.activeElement},cancel:function(){this.parent.cancel.apply(this,arguments);this.selection.focus()},
|
53 |
+
initContainer:function(){var a,b=this.dropdown;this.selection=a=this.container.find(".select2-choice");this.search.bind("keydown",this.bind(function(a){if(this.enabled)if(a.which===f.PAGE_UP||a.which===f.PAGE_DOWN)l(a);else if(this.opened())switch(a.which){case f.UP:case f.DOWN:this.moveHighlight(a.which===f.UP?-1:1);l(a);break;case f.TAB:case f.ENTER:this.selectHighlighted();l(a);break;case f.ESC:this.cancel(a),l(a)}else a.which===f.TAB||f.isControl(a)||f.isFunctionKey(a)||a.which===f.ESC||!1===
|
54 |
+
this.opts.openOnEnter&&a.which===f.ENTER||this.open()}));this.search.bind("focus",this.bind(function(){this.selection.attr("tabIndex","-1")}));this.search.bind("blur",this.bind(function(){this.opened()||this.container.removeClass("select2-container-active");window.setTimeout(this.bind(function(){this.selection.attr("tabIndex",this.opts.element.attr("tabIndex"))}),10)}));a.bind("mousedown",this.bind(function(){this.opened()?(this.close(),this.selection.focus()):this.enabled&&this.open()}));b.bind("mousedown",
|
55 |
+
this.bind(function(){this.search.focus()}));a.bind("focus",this.bind(function(){this.container.addClass("select2-container-active");this.search.attr("tabIndex","-1")}));a.bind("blur",this.bind(function(){this.opened()||this.container.removeClass("select2-container-active");window.setTimeout(this.bind(function(){this.search.attr("tabIndex",this.opts.element.attr("tabIndex"))}),10)}));a.bind("keydown",this.bind(function(a){if(this.enabled)if(a.which===f.PAGE_UP||a.which===f.PAGE_DOWN)l(a);else if(!(a.which===
|
56 |
+
f.TAB||f.isControl(a)||f.isFunctionKey(a)||a.which===f.ESC)&&!(!1===this.opts.openOnEnter&&a.which===f.ENTER))if(a.which==f.DELETE)this.opts.allowClear&&this.clear();else{this.open();if(a.which!==f.ENTER&&!(48>a.which)){var b=String.fromCharCode(a.which).toLowerCase();a.shiftKey&&(b=b.toUpperCase());this.search.focus();this.search.val(b)}l(a)}}));a.delegate("abbr","mousedown",this.bind(function(a){this.enabled&&(this.clear(),l(a),this.close(),this.triggerChange(),this.selection.focus())}));this.setPlaceholder();
|
57 |
+
this.search.bind("focus",this.bind(function(){this.container.addClass("select2-container-active")}))},clear:function(){this.opts.element.val("");this.selection.find("span").empty();this.selection.removeData("select2-data");this.setPlaceholder()},initSelection:function(){if(""===this.opts.element.val())this.close(),this.setPlaceholder();else{var a=this;this.opts.initSelection.call(null,this.opts.element,function(b){b!==g&&null!==b&&(a.updateSelection(b),a.close(),a.setPlaceholder())})}},prepareOpts:function(){var a=
|
58 |
+
this.parent.prepareOpts.apply(this,arguments);"select"===a.element.get(0).tagName.toLowerCase()&&(a.initSelection=function(a,c){var d=a.find(":selected");e.isFunction(c)&&c({id:d.attr("value"),text:d.text()})});return a},setPlaceholder:function(){var a=this.getPlaceholder();""===this.opts.element.val()&&a!==g&&!(this.select&&""!==this.select.find("option:first").text())&&(this.selection.find("span").html(this.opts.escapeMarkup(a)),this.selection.addClass("select2-default"),this.selection.find("abbr").hide())},
|
59 |
+
postprocessResults:function(a,b){var c=0,d=this,f=!0;this.results.find(".select2-result-selectable").each2(function(a,b){if(m(d.id(b.data("select2-data")),d.opts.element.val()))return c=a,!1});this.highlight(c);!0===b&&(f=this.showSearchInput=F(a.results)>=this.opts.minimumResultsForSearch,this.dropdown.find(".select2-search")[f?"removeClass":"addClass"]("select2-search-hidden"),e(this.dropdown,this.container)[f?"addClass":"removeClass"]("select2-with-searchbox"))},onSelect:function(a){var b=this.opts.element.val();
|
60 |
+
this.opts.element.val(this.id(a));this.updateSelection(a);this.close();this.selection.focus();m(b,this.id(a))||this.triggerChange()},updateSelection:function(a){var b=this.selection.find("span");this.selection.data("select2-data",a);b.empty();a=this.opts.formatSelection(a,b);a!==g&&b.append(this.opts.escapeMarkup(a));this.selection.removeClass("select2-default");this.opts.allowClear&&this.getPlaceholder()!==g&&this.selection.find("abbr").show()},val:function(){var a,b=null,c=this;if(0===arguments.length)return this.opts.element.val();
|
61 |
+
a=arguments[0];if(this.select)this.select.val(a).find(":selected").each2(function(a,c){b={id:c.attr("value"),text:c.text()};return!1}),this.updateSelection(b),this.setPlaceholder();else{if(this.opts.initSelection===g)throw Error("cannot call val() if initSelection() is not defined");a?(this.opts.element.val(a),this.opts.initSelection(this.opts.element,function(a){c.opts.element.val(!a?"":c.id(a));c.updateSelection(a);c.setPlaceholder()})):this.clear()}},clearSearch:function(){this.search.val("")},
|
62 |
+
data:function(a){var b;if(0===arguments.length)return b=this.selection.data("select2-data"),b==g&&(b=null),b;!a||""===a?this.clear():(this.opts.element.val(!a?"":this.id(a)),this.updateSelection(a))}});z=x(w,{createContainer:function(){return e("<div></div>",{"class":"select2-container select2-container-multi"}).html(" <ul class='select2-choices'> <li class='select2-search-field'> <input type='text' autocomplete='off' class='select2-input'> </li></ul><div class='select2-drop select2-drop-multi' style='display:none;'> <ul class='select2-results'> </ul></div>")},
|
63 |
+
prepareOpts:function(){var a=this.parent.prepareOpts.apply(this,arguments);"select"===a.element.get(0).tagName.toLowerCase()&&(a.initSelection=function(a,c){var d=[];a.find(":selected").each2(function(a,b){d.push({id:b.attr("value"),text:b.text()})});e.isFunction(c)&&c(d)});return a},initContainer:function(){var a;this.searchContainer=this.container.find(".select2-search-field");this.selection=a=this.container.find(".select2-choices");this.search.bind("keydown",this.bind(function(b){if(this.enabled){if(b.which===
|
64 |
+
f.BACKSPACE&&""===this.search.val()){this.close();var c;c=a.find(".select2-search-choice-focus");if(0<c.length){this.unselect(c.first());this.search.width(10);l(b);return}c=a.find(".select2-search-choice");0<c.length&&c.last().addClass("select2-search-choice-focus")}else a.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus");if(this.opened())switch(b.which){case f.UP:case f.DOWN:this.moveHighlight(b.which===f.UP?-1:1);l(b);return;case f.ENTER:case f.TAB:this.selectHighlighted();
|
65 |
+
l(b);return;case f.ESC:this.cancel(b);l(b);return}if(!(b.which===f.TAB||f.isControl(b)||f.isFunctionKey(b)||b.which===f.BACKSPACE||b.which===f.ESC)&&!(!1===this.opts.openOnEnter&&b.which===f.ENTER))this.open(),(b.which===f.PAGE_UP||b.which===f.PAGE_DOWN)&&l(b)}}));this.search.bind("keyup",this.bind(this.resizeSearch));this.search.bind("blur",this.bind(function(a){this.container.removeClass("select2-container-active");this.search.removeClass("select2-focused");this.clearSearch();a.stopImmediatePropagation()}));
|
66 |
+
this.container.delegate(".select2-choices","mousedown",this.bind(function(a){this.enabled&&!(0<e(a.target).closest(".select2-search-choice").length)&&(this.clearPlaceholder(),this.open(),this.focusSearch(),a.preventDefault())}));this.container.delegate(".select2-choices","focus",this.bind(function(){this.enabled&&(this.container.addClass("select2-container-active"),this.dropdown.addClass("select2-drop-active"),this.clearPlaceholder())}));this.clearSearch()},enable:function(){this.enabled||(this.parent.enable.apply(this,
|
67 |
+
arguments),this.search.removeAttr("disabled"))},disable:function(){this.enabled&&(this.parent.disable.apply(this,arguments),this.search.attr("disabled",!0))},initSelection:function(){""===this.opts.element.val()&&(this.updateSelection([]),this.close(),this.clearSearch());if(this.select||""!==this.opts.element.val()){var a=this;this.opts.initSelection.call(null,this.opts.element,function(b){if(b!==g&&b!==null){a.updateSelection(b);a.close();a.clearSearch()}})}},clearSearch:function(){var a=this.getPlaceholder();
|
68 |
+
a!==g&&0===this.getVal().length&&!1===this.search.hasClass("select2-focused")?(this.search.val(a).addClass("select2-default"),this.resizeSearch()):this.search.val(" ").width(10)},clearPlaceholder:function(){this.search.hasClass("select2-default")?this.search.val("").removeClass("select2-default"):" "===this.search.val()&&this.search.val("")},opening:function(){this.parent.opening.apply(this,arguments);this.clearPlaceholder();this.resizeSearch();this.focusSearch()},close:function(){this.opened()&&
|
69 |
+
this.parent.close.apply(this,arguments)},focus:function(){this.close();this.search.focus()},isFocused:function(){return this.search.hasClass("select2-focused")},updateSelection:function(a){var b=[],c=[],d=this;e(a).each(function(){0>i(d.id(this),b)&&(b.push(d.id(this)),c.push(this))});a=c;this.selection.find(".select2-search-choice").remove();e(a).each(function(){d.addSelectedChoice(this)});d.postprocessResults()},tokenize:function(){var a=this.search.val(),a=this.opts.tokenizer(a,this.data(),this.bind(this.onSelect),
|
70 |
+
this.opts);null!=a&&a!=g&&(this.search.val(a),0<a.length&&this.open())},onSelect:function(a){this.addSelectedChoice(a);this.select&&this.postprocessResults();this.opts.closeOnSelect?(this.close(),this.search.width(10)):0<this.countSelectableResults()?(this.search.width(10),this.resizeSearch(),this.positionDropdown()):this.close();this.triggerChange({added:a});this.focusSearch()},cancel:function(){this.close();this.focusSearch()},addSelectedChoice:function(a){var b=e("<li class='select2-search-choice'> <div></div> <a href='#' onclick='return false;' class='select2-search-choice-close' tabindex='-1'></a></li>"),
|
71 |
+
c=this.id(a),d=this.getVal(),f;f=this.opts.formatSelection(a,b);b.find("div").replaceWith("<div>"+this.opts.escapeMarkup(f)+"</div>");b.find(".select2-search-choice-close").bind("mousedown",l).bind("click dblclick",this.bind(function(a){this.enabled&&(e(a.target).closest(".select2-search-choice").fadeOut("fast",this.bind(function(){this.unselect(e(a.target));this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus");this.close();this.focusSearch()})).dequeue(),
|
72 |
+
l(a))})).bind("focus",this.bind(function(){this.enabled&&(this.container.addClass("select2-container-active"),this.dropdown.addClass("select2-drop-active"))}));b.data("select2-data",a);b.insertBefore(this.searchContainer);d.push(c);this.setVal(d)},unselect:function(a){var b=this.getVal(),c,d,a=a.closest(".select2-search-choice");if(0===a.length)throw"Invalid argument: "+a+". Must be .select2-search-choice";c=a.data("select2-data");d=i(this.id(c),b);0<=d&&(b.splice(d,1),this.setVal(b),this.select&&
|
73 |
+
this.postprocessResults());a.remove();this.triggerChange({removed:c})},postprocessResults:function(){var a=this.getVal(),b=this.results.find(".select2-result-selectable"),c=this.results.find(".select2-result-with-children"),d=this;b.each2(function(b,c){var e=d.id(c.data("select2-data"));0<=i(e,a)?c.addClass("select2-disabled").removeClass("select2-result-selectable"):c.removeClass("select2-disabled").addClass("select2-result-selectable")});c.each2(function(a,b){0==b.find(".select2-result-selectable").length?
|
74 |
+
b.addClass("select2-disabled"):b.removeClass("select2-disabled")});b.each2(function(a,b){if(!b.hasClass("select2-disabled")&&b.hasClass("select2-result-selectable"))return d.highlight(0),!1})},resizeSearch:function(){var a,b,c,d,f=this.search.outerWidth()-this.search.width();a=this.search;q||(c=a[0].currentStyle||window.getComputedStyle(a[0],null),q=e("<div></div>").css({position:"absolute",left:"-10000px",top:"-10000px",display:"none",fontSize:c.fontSize,fontFamily:c.fontFamily,fontStyle:c.fontStyle,
|
75 |
+
fontWeight:c.fontWeight,letterSpacing:c.letterSpacing,textTransform:c.textTransform,whiteSpace:"nowrap"}),e("body").append(q));q.text(a.val());a=q.width()+10;b=this.search.offset().left;c=this.selection.width();d=this.selection.offset().left;b=c-(b-d)-f;b<a&&(b=c-f);40>b&&(b=c-f);this.search.width(b)},getVal:function(){var a;if(this.select)return a=this.select.val(),null===a?[]:a;a=this.opts.element.val();return s(a,this.opts.separator)},setVal:function(a){var b;this.select?this.select.val(a):(b=
|
76 |
+
[],e(a).each(function(){0>i(this,b)&&b.push(this)}),this.opts.element.val(0===b.length?"":b.join(this.opts.separator)))},val:function(){var a,b=[],c=this;if(0===arguments.length)return this.getVal();if(a=arguments[0])if(this.setVal(a),this.select)this.select.find(":selected").each(function(){b.push({id:e(this).attr("value"),text:e(this).text()})}),this.updateSelection(b);else{if(this.opts.initSelection===g)throw Error("val() cannot be called if initSelection() is not defined");this.opts.initSelection(this.opts.element,
|
77 |
+
function(a){var b=e(a).map(c.id);c.setVal(b);c.updateSelection(a);c.clearSearch()})}else this.opts.element.val(""),this.updateSelection([]);this.clearSearch()},onSortStart:function(){if(this.select)throw Error("Sorting of elements is not supported when attached to <select>. Attach to <input type='hidden'/> instead.");this.search.width(0);this.searchContainer.hide()},onSortEnd:function(){var a=[],b=this;this.searchContainer.show();this.searchContainer.appendTo(this.searchContainer.parent());this.resizeSearch();
|
78 |
+
this.selection.find(".select2-search-choice").each(function(){a.push(b.opts.id(e(this).data("select2-data")))});this.setVal(a);this.triggerChange()},data:function(a){var b=this,c;if(0===arguments.length)return this.selection.find(".select2-search-choice").map(function(){return e(this).data("select2-data")}).get();a||(a=[]);c=e.map(a,function(a){return b.opts.id(a)});this.setVal(c);this.updateSelection(a);this.clearSearch()}});e.fn.select2=function(){var a=Array.prototype.slice.call(arguments,0),b,
|
79 |
+
c,d,f,h="val destroy opened open close focus isFocused container onSortStart onSortEnd enable disable positionDropdown data".split(" ");this.each(function(){if(0===a.length||"object"===typeof a[0])b=0===a.length?{}:e.extend({},a[0]),b.element=e(this),"select"===b.element.get(0).tagName.toLowerCase()?f=b.element.attr("multiple"):(f=b.multiple||!1,"tags"in b&&(b.multiple=f=!0)),c=f?new z:new y,c.init(b);else if("string"===typeof a[0]){if(0>i(a[0],h))throw"Unknown method: "+a[0];d=g;c=e(this).data("select2");
|
80 |
+
if(c!==g&&(d="container"===a[0]?c.container:c[a[0]].apply(c,a.slice(1)),d!==g))return!1}else throw"Invalid arguments to select2 plugin: "+a;});return d===g?this:d};e.fn.select2.defaults={width:"copy",closeOnSelect:!0,openOnEnter:!0,containerCss:{},dropdownCss:{},containerCssClass:"",dropdownCssClass:"",formatResult:function(a,b,c){b=[];B(a.text,c.term,b);return b.join("")},formatSelection:function(a){return a?a.text:g},formatResultCssClass:function(){return g},formatNoMatches:function(){return"No matches found"},
|
81 |
+
formatInputTooShort:function(a,b){return"Please enter "+(b-a.length)+" more characters"},formatSelectionTooBig:function(a){return"You can only select "+a+" item"+(1==a?"":"s")},formatLoadMore:function(){return"Loading more results..."},formatSearching:function(){return"Searching..."},minimumResultsForSearch:0,minimumInputLength:0,maximumSelectionSize:0,id:function(a){return a.id},matcher:function(a,b){return 0<=b.toUpperCase().indexOf(a.toUpperCase())},separator:",",tokenSeparators:[],tokenizer:H,
|
82 |
+
escapeMarkup:function(a){return a&&"string"===typeof a?a.replace(/&/g,"&"):a},blurOnChange:!1};window.Select2={query:{ajax:C,local:D,tags:E},util:{debounce:A,markMatch:B},"class":{"abstract":w,single:y,multi:z}}}})(jQuery);
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
(function ($) { // closure
|
2 |
+
$(function () {
|
3 |
+
function format(language) {
|
4 |
+
var originalOption = language.element;
|
5 |
+
var img = '<span class="trf trf-'+$(originalOption).data('flag')+'" title="'+$(originalOption).data('lang')+'"></span> ';
|
6 |
+
return img + language.text;
|
7 |
+
}
|
8 |
+
|
9 |
+
function format2(language) {
|
10 |
+
var originalOption = $(this.element).children('[value="'+language.id+'"]');
|
11 |
+
var img = '<span style="display: inline-block; margin: 0" class="trf trf-'+$(originalOption).data('flag')+'" title="'+$(originalOption).data('lang')+'"></span> ';
|
12 |
+
return img + language.text;
|
13 |
+
}
|
14 |
+
|
15 |
+
jQuery(".tp_lang2").select2({
|
16 |
+
formatResult: format,
|
17 |
+
formatSelection: format2
|
18 |
+
});
|
19 |
+
});
|
20 |
+
|
21 |
+
}(jQuery)); // end of closure
|
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
Plugin Name: Select2 based Dropdown
|
5 |
+
Plugin URI: http://transposh.org/
|
6 |
+
Description: A nice select2 based widget based on the select2 library (http://ivaynberg.github.com/select2/index.html)
|
7 |
+
Author: Team Transposh
|
8 |
+
Version: 1.0
|
9 |
+
Author URI: http://transposh.org/
|
10 |
+
License: GPL (http://www.gnu.org/licenses/gpl.txt)
|
11 |
+
*/
|
12 |
+
|
13 |
+
/*
|
14 |
+
* Transposh v0.9.0
|
15 |
+
* http://transposh.org/
|
16 |
+
*
|
17 |
+
* Copyright 2012, Team Transposh
|
18 |
+
* Licensed under the GPL Version 2 or higher.
|
19 |
+
* http://transposh.org/license
|
20 |
+
*
|
21 |
+
* Date: Wed, 12 Dec 2012 22:23:17 +0200
|
22 |
+
*/
|
23 |
+
|
24 |
+
class tpw_select2 extends transposh_base_widget {
|
25 |
+
|
26 |
+
static function tp_widget_js($file, $dir, $url) {
|
27 |
+
wp_enqueue_script("select2", "$url/widgets/select2/select2.min.js", array('jquery'), TRANSPOSH_PLUGIN_VER);
|
28 |
+
wp_enqueue_script("transposh_widget_select2", "$url/widgets/select2/tpw_select2.js", array('jquery'), TRANSPOSH_PLUGIN_VER);
|
29 |
+
}
|
30 |
+
|
31 |
+
static function tp_widget_css($file, $dir, $url) {
|
32 |
+
wp_enqueue_style("flags_tpw_flags_css", "$url/widgets/flags/tpw_flags_css.css", array(), TRANSPOSH_PLUGIN_VER);
|
33 |
+
wp_enqueue_style("select2", "$url/widgets/select2/select2.css", array(), TRANSPOSH_PLUGIN_VER);
|
34 |
+
}
|
35 |
+
|
36 |
+
static function tp_widget_do($args) {
|
37 |
+
echo '<span class="' . NO_TRANSLATE_CLASS . '">';
|
38 |
+
|
39 |
+
echo '<select style="width:100%" name="lang" class="tp_lang2" id="tp_lang2" onchange="document.location.href=this.options[this.selectedIndex].value;">';
|
40 |
+
foreach ($args as $langrecord) {
|
41 |
+
$is_selected = $langrecord['active'] ? " selected=\"selected\"" : "";
|
42 |
+
echo "<option value=\"{$langrecord['url']}\" data-flag=\"{$langrecord['flag']}\" data-lang=\"{$langrecord['lang']}\"{$is_selected}>{$langrecord['langorig']}</option>";
|
43 |
+
}
|
44 |
+
echo "</select><br/>";
|
45 |
+
|
46 |
+
echo "</span>";
|
47 |
+
}
|
48 |
+
|
49 |
+
}
|
50 |
+
|
51 |
+
?>
|
@@ -1,14 +1,14 @@
|
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
-
* Transposh v0.
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
* Copyright 2012, Team Transposh
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
-
* Date:
|
12 |
*/
|
13 |
|
14 |
/*
|
@@ -42,7 +42,7 @@ class transposh_3rdparty {
|
|
42 |
add_action('sm_addurl', array(&$this, 'add_sm_transposh_urls'));
|
43 |
|
44 |
// google analyticator
|
45 |
-
if ($this->transposh->options->
|
46 |
add_action('google_analyticator_extra_js_after', array(&$this, 'add_analyticator_tracking'));
|
47 |
}
|
48 |
}
|
@@ -60,35 +60,35 @@ class transposh_3rdparty {
|
|
60 |
$GLOBALS['wp_cache_request_uri'] = preg_replace('/[ <>\'\"\r\n\t\(\)]/', '', str_replace('/index.php', '/', str_replace('..', '', preg_replace("/(\?.*)?$/", '', $GLOBALS['wp_cache_request_uri']))));
|
61 |
// get some supercache variables
|
62 |
extract(wp_super_cache_init());
|
63 |
-
|
64 |
// this is hackery for logged in users, a cookie is added to the request somehow and gzip is not correctly set, so we forcefully fix this
|
65 |
if (!$cache_file) {
|
66 |
$GLOBALS['wp_cache_gzip_encoding'] = gzip_accepted();
|
67 |
unset($_COOKIE[key($_COOKIE)]);
|
68 |
extract(wp_super_cache_init());
|
69 |
-
|
70 |
}
|
71 |
|
72 |
$dir = get_current_url_supercache_dir();
|
73 |
// delete possible files that we can figure out, not deleting files for other cookies for example, but will do the trick in most cases
|
74 |
$cache_fname = "{$dir}index.html";
|
75 |
-
|
76 |
@unlink($cache_fname);
|
77 |
$cache_fname = "{$dir}index.html.gz";
|
78 |
-
|
79 |
@unlink($cache_fname);
|
80 |
-
|
81 |
@unlink($cache_file);
|
82 |
-
|
83 |
@unlink($meta_pathname);
|
84 |
|
85 |
// go at edit pages too
|
86 |
$GLOBALS['wp_cache_request_uri'] .="?edit=1";
|
87 |
extract(wp_super_cache_init());
|
88 |
-
|
89 |
-
|
90 |
@unlink($cache_file);
|
91 |
-
|
92 |
@unlink($meta_pathname);
|
93 |
}
|
94 |
|
@@ -101,7 +101,7 @@ class transposh_3rdparty {
|
|
101 |
$lang = transposh_utils::get_language_from_url($uri, $this->transposh->home_url);
|
102 |
//TODO - check using get_clean_url
|
103 |
$uri = transposh_utils::cleanup_url($uri, $this->transposh->home_url);
|
104 |
-
if ($this->transposh->options->
|
105 |
$uri = transposh_utils::get_original_url($uri, '', $lang, array($this->transposh->database, 'fetch_original'));
|
106 |
}
|
107 |
return $uri;
|
@@ -178,19 +178,24 @@ class transposh_3rdparty {
|
|
178 |
* @param GoogleSitemapGeneratorPage $sm_page Object containing the page information
|
179 |
*/
|
180 |
function add_sm_transposh_urls($sm_page) {
|
181 |
-
|
182 |
$sm_page = clone $sm_page;
|
183 |
// we need the generator object (we know it must exist...)
|
184 |
$generatorObject = &GoogleSitemapGenerator::GetInstance();
|
185 |
// we reduce the priorty by 0.2, but not below zero
|
186 |
$sm_page->SetProprity(max($sm_page->GetPriority() - 0.2, 0));
|
187 |
|
188 |
-
|
|
|
|
|
|
|
|
|
|
|
189 |
$orig_url = $sm_page->GetUrl();
|
190 |
foreach ($viewable_langs as $lang) {
|
191 |
if (!$this->transposh->options->is_default_language($lang)) {
|
192 |
$newloc = $orig_url;
|
193 |
-
if ($this->transposh->options->
|
194 |
$newloc = transposh_utils::translate_url($newloc, $this->transposh->home_url, $lang, array(&$this->transposh->database, 'fetch_translation'));
|
195 |
}
|
196 |
$newloc = transposh_utils::rewrite_url_lang_param($newloc, $this->transposh->home_url, $this->transposh->enable_permalinks_rewrite, $lang, false);
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
+
* Transposh v0.9.0
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
* Copyright 2012, Team Transposh
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
+
* Date: Thu, 13 Dec 2012 04:47:49 +0200
|
12 |
*/
|
13 |
|
14 |
/*
|
42 |
add_action('sm_addurl', array(&$this, 'add_sm_transposh_urls'));
|
43 |
|
44 |
// google analyticator
|
45 |
+
if ($this->transposh->options->transposh_collect_stats) {
|
46 |
add_action('google_analyticator_extra_js_after', array(&$this, 'add_analyticator_tracking'));
|
47 |
}
|
48 |
}
|
60 |
$GLOBALS['wp_cache_request_uri'] = preg_replace('/[ <>\'\"\r\n\t\(\)]/', '', str_replace('/index.php', '/', str_replace('..', '', preg_replace("/(\?.*)?$/", '', $GLOBALS['wp_cache_request_uri']))));
|
61 |
// get some supercache variables
|
62 |
extract(wp_super_cache_init());
|
63 |
+
tp_logger(wp_super_cache_init());
|
64 |
// this is hackery for logged in users, a cookie is added to the request somehow and gzip is not correctly set, so we forcefully fix this
|
65 |
if (!$cache_file) {
|
66 |
$GLOBALS['wp_cache_gzip_encoding'] = gzip_accepted();
|
67 |
unset($_COOKIE[key($_COOKIE)]);
|
68 |
extract(wp_super_cache_init());
|
69 |
+
tp_logger(wp_super_cache_init());
|
70 |
}
|
71 |
|
72 |
$dir = get_current_url_supercache_dir();
|
73 |
// delete possible files that we can figure out, not deleting files for other cookies for example, but will do the trick in most cases
|
74 |
$cache_fname = "{$dir}index.html";
|
75 |
+
tp_logger("attempting delete of supercache: $cache_fname");
|
76 |
@unlink($cache_fname);
|
77 |
$cache_fname = "{$dir}index.html.gz";
|
78 |
+
tp_logger("attempting delete of supercache: $cache_fname");
|
79 |
@unlink($cache_fname);
|
80 |
+
tp_logger("attempting delete of wp_cache: $cache_file");
|
81 |
@unlink($cache_file);
|
82 |
+
tp_logger("attempting delete of wp_cache_meta: $meta_pathname");
|
83 |
@unlink($meta_pathname);
|
84 |
|
85 |
// go at edit pages too
|
86 |
$GLOBALS['wp_cache_request_uri'] .="?edit=1";
|
87 |
extract(wp_super_cache_init());
|
88 |
+
tp_logger(wp_super_cache_init());
|
89 |
+
tp_logger("attempting delete of edit_wp_cache: $cache_file");
|
90 |
@unlink($cache_file);
|
91 |
+
tp_logger("attempting delete of edit_wp_cache_meta: $meta_pathname");
|
92 |
@unlink($meta_pathname);
|
93 |
}
|
94 |
|
101 |
$lang = transposh_utils::get_language_from_url($uri, $this->transposh->home_url);
|
102 |
//TODO - check using get_clean_url
|
103 |
$uri = transposh_utils::cleanup_url($uri, $this->transposh->home_url);
|
104 |
+
if ($this->transposh->options->enable_url_translate) {
|
105 |
$uri = transposh_utils::get_original_url($uri, '', $lang, array($this->transposh->database, 'fetch_original'));
|
106 |
}
|
107 |
return $uri;
|
178 |
* @param GoogleSitemapGeneratorPage $sm_page Object containing the page information
|
179 |
*/
|
180 |
function add_sm_transposh_urls($sm_page) {
|
181 |
+
tp_logger("in sitemap add url: " . $sm_page->GetUrl() . " " . $sm_page->GetPriority(), 4);
|
182 |
$sm_page = clone $sm_page;
|
183 |
// we need the generator object (we know it must exist...)
|
184 |
$generatorObject = &GoogleSitemapGenerator::GetInstance();
|
185 |
// we reduce the priorty by 0.2, but not below zero
|
186 |
$sm_page->SetProprity(max($sm_page->GetPriority() - 0.2, 0));
|
187 |
|
188 |
+
/* <xhtml:link
|
189 |
+
rel="alternate"
|
190 |
+
hreflang="de"
|
191 |
+
href="http://www.example.com/de" /> */
|
192 |
+
|
193 |
+
$viewable_langs = explode(',', $this->transposh->options->viewable_languages);
|
194 |
$orig_url = $sm_page->GetUrl();
|
195 |
foreach ($viewable_langs as $lang) {
|
196 |
if (!$this->transposh->options->is_default_language($lang)) {
|
197 |
$newloc = $orig_url;
|
198 |
+
if ($this->transposh->options->enable_url_translate) {
|
199 |
$newloc = transposh_utils::translate_url($newloc, $this->transposh->home_url, $lang, array(&$this->transposh->database, 'fetch_translation'));
|
200 |
}
|
201 |
$newloc = transposh_utils::rewrite_url_lang_param($newloc, $this->transposh->home_url, $this->transposh->enable_permalinks_rewrite, $lang, false);
|
@@ -1,14 +1,14 @@
|
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
-
* Transposh v0.
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
* Copyright 2012, Team Transposh
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
-
* Date: Sat,
|
12 |
*/
|
13 |
|
14 |
/*
|
@@ -27,22 +27,23 @@ class transposh_plugin_admin {
|
|
27 |
private $transposh;
|
28 |
private $localeright = 'right';
|
29 |
private $localeleft = 'left';
|
|
|
|
|
30 |
|
31 |
// constructor of class, PHP4 compatible construction for backward compatibility
|
32 |
function transposh_plugin_admin(&$transposh) {
|
33 |
$this->transposh = &$transposh;
|
34 |
-
// add
|
35 |
-
|
36 |
-
//
|
37 |
-
|
38 |
-
// register callback for admin menu setup
|
39 |
-
add_action('admin_menu', array(&$this, 'on_admin_menu'));
|
40 |
// register the callback been used if options of page been submitted and needs to be processed
|
41 |
add_action('admin_post_save_transposh', array(&$this, 'on_save_changes'));
|
42 |
// allow language change for comments
|
43 |
add_filter('comment_row_actions', array(&$this, 'comment_row_actions'), 999, 2);
|
44 |
// register ajax callbacks
|
45 |
add_action('wp_ajax_tp_close_warning', array(&$this, 'on_ajax_tp_close_warning'));
|
|
|
46 |
add_action('wp_ajax_tp_backup', array(&$this, 'on_ajax_tp_backup'));
|
47 |
add_action('wp_ajax_tp_restore', array(&$this, 'on_ajax_tp_restore'));
|
48 |
add_action('wp_ajax_tp_maint', array(&$this, 'on_ajax_tp_maint'));
|
@@ -59,349 +60,324 @@ class transposh_plugin_admin {
|
|
59 |
function can_translate($role_name) {
|
60 |
if ($role_name != 'anonymous') {
|
61 |
$role = $GLOBALS['wp_roles']->get_role($role_name);
|
62 |
-
if (isset($role) && $role->has_cap(TRANSLATOR))
|
63 |
-
return 'checked="checked"';
|
64 |
}
|
65 |
-
else
|
66 |
-
return ($this->transposh->options->get_anonymous_translation()) ? 'checked="checked"' : '';
|
67 |
}
|
68 |
|
69 |
/**
|
70 |
* Handle newly posted admin options.
|
71 |
*/
|
72 |
function update_admin_options() {
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
83 |
}
|
84 |
|
85 |
-
|
86 |
-
|
|
|
|
|
87 |
|
88 |
-
|
89 |
-
|
90 |
-
$
|
91 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
92 |
|
93 |
-
//
|
94 |
-
|
95 |
-
foreach ($_POST['languages'] as $code => $lang) {
|
96 |
-
list ($langcode, $viewable, $translateable) = explode(",", $lang);
|
97 |
-
$sorted_langs[$langcode] = $langcode;
|
98 |
-
if ($viewable) {
|
99 |
-
$viewable_langs[$langcode] = $langcode;
|
100 |
-
// force that every viewable lang is editable
|
101 |
-
$editable_langs[$langcode] = $langcode;
|
102 |
-
}
|
103 |
|
104 |
-
|
105 |
-
|
|
|
|
|
106 |
}
|
|
|
107 |
}
|
108 |
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
$GLOBALS['wp_rewrite']->flush_rules();
|
119 |
}
|
120 |
-
|
121 |
-
|
122 |
-
$this->transposh->options->set_enable_detect_language($_POST[ENABLE_DETECT_LANG_AND_REDIRECT]);
|
123 |
-
$this->transposh->options->set_transposh_collect_stats($_POST[TRANSPOSH_COLLECT_STATS]);
|
124 |
-
$this->transposh->options->set_enable_auto_translate($_POST[ENABLE_AUTO_TRANSLATE]);
|
125 |
-
$this->transposh->options->set_enable_auto_post_translate($_POST[ENABLE_AUTO_POST_TRANSLATE]);
|
126 |
-
$this->transposh->options->set_enable_default_translate($_POST[ENABLE_DEFAULT_TRANSLATE]);
|
127 |
-
$this->transposh->options->set_enable_search_translate($_POST[ENABLE_SEARCH_TRANSLATE]);
|
128 |
-
$this->transposh->options->set_enable_url_translate($_POST[ENABLE_URL_TRANSLATE]);
|
129 |
-
$this->transposh->options->set_transposh_gettext_integration($_POST[TRANSPOSH_GETTEXT_INTEGRATION]);
|
130 |
-
$this->transposh->options->set_transposh_default_locale_override($_POST[TRANSPOSH_DEFAULT_LOCALE_OVERRIDE]);
|
131 |
-
$this->transposh->options->set_preferred_translator($_POST[PREFERRED_TRANSLATOR]);
|
132 |
-
$this->transposh->options->set_msn_key($_POST[MSN_TRANSLATE_KEY]);
|
133 |
-
$this->transposh->options->set_google_key($_POST[GOOGLE_TRANSLATE_KEY]);
|
134 |
-
$this->transposh->options->set_oht_id($_POST[OHT_TRANSLATE_ID]);
|
135 |
-
$this->transposh->options->set_oht_key($_POST[OHT_TRANSLATE_KEY]);
|
136 |
-
$this->transposh->options->set_transposh_key($_POST[TRANSPOSH_KEY]);
|
137 |
-
// frontend stuff
|
138 |
-
$this->transposh->options->set_widget_progressbar($_POST[WIDGET_PROGRESSBAR]);
|
139 |
-
$this->transposh->options->set_widget_allow_set_default_language($_POST[WIDGET_ALLOW_SET_DEFLANG]);
|
140 |
-
$this->transposh->options->set_widget_remove_logo($_POST[WIDGET_REMOVE_LOGO_FOR_AD]);
|
141 |
-
$this->transposh->options->set_widget_theme($_POST[WIDGET_THEME]);
|
142 |
-
|
143 |
-
// handle change of schedule for backup to daily
|
144 |
-
//if ($_POST[TRANSPOSH_BACKUP_SCHEDULE] != $this->transposh->options->get_transposh_backup_schedule()) {
|
145 |
-
wp_clear_scheduled_hook('transposh_backup_event');
|
146 |
-
if ($_POST[TRANSPOSH_BACKUP_SCHEDULE] == 1 || $_POST[TRANSPOSH_BACKUP_SCHEDULE] == 2)
|
147 |
-
wp_schedule_event(time(), 'daily', 'transposh_backup_event');
|
148 |
-
//}
|
149 |
-
$this->transposh->options->set_transposh_backup_schedule($_POST[TRANSPOSH_BACKUP_SCHEDULE]);
|
150 |
-
|
151 |
-
$this->transposh->options->update_options();
|
152 |
}
|
153 |
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
|
|
160 |
}
|
161 |
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
168 |
}
|
169 |
-
|
170 |
}
|
171 |
|
172 |
-
|
173 |
-
|
174 |
-
//
|
175 |
-
$this->pagehook = add_options_page(__('Transposh control center', TRANSPOSH_TEXT_DOMAIN), __('Transposh', TRANSPOSH_TEXT_DOMAIN), 'manage_options', TRANSPOSH_ADMIN_PAGE_NAME, array(&$this, 'on_show_page'));
|
176 |
-
// register callback gets call prior your own page gets rendered
|
177 |
-
add_action('load-' . $this->pagehook, array(&$this, 'on_load_page'));
|
178 |
-
add_action('load-edit-comments.php', array(&$this, 'on_load_comments_page'));
|
179 |
-
}
|
180 |
-
|
181 |
-
function on_load_comments_page() {
|
182 |
-
wp_enqueue_script('transposhcomments', $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_JS . '/transposhcommentslang.js', array('jquery'), TRANSPOSH_PLUGIN_VER);
|
183 |
-
}
|
184 |
-
|
185 |
-
// will be executed if wordpress core detects this page has to be rendered
|
186 |
-
function on_load_page() {
|
187 |
-
//ensure, that the needed javascripts been loaded to allow drag/drop, expand/collapse and hide/show of boxes
|
188 |
-
wp_enqueue_script('common');
|
189 |
-
wp_enqueue_script('wp-lists');
|
190 |
-
wp_enqueue_script('postbox');
|
191 |
-
|
192 |
-
//TODO - make up my mind on using .css flags here (currently no)
|
193 |
-
//if ($this->transposh->options->get_widget_css_flags())
|
194 |
-
// wp_enqueue_style("transposh_flags",$this->transposh->transposh_plugin_url."/widgets/flags/tpw_flags.css",array(),TRANSPOSH_PLUGIN_VER);
|
195 |
-
wp_enqueue_script('jquery-ui-droppable');
|
196 |
-
wp_enqueue_script('transposh_settings', $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_JS . '/transposhsettings.js', array('transposh'), TRANSPOSH_PLUGIN_VER, true);
|
197 |
-
// MAKESURE 3.3+ css
|
198 |
-
// wp_enqueue_script('jquery-ui-progressbar');
|
199 |
-
|
200 |
-
wp_enqueue_style('jqueryui', 'http://ajax.googleapis.com/ajax/libs/jqueryui/' . JQUERYUI_VER . '/themes/ui-lightness/jquery-ui.css', array(), JQUERYUI_VER);
|
201 |
-
wp_enqueue_script('jqueryui', 'http://ajax.googleapis.com/ajax/libs/jqueryui/' . JQUERYUI_VER . '/jquery-ui.min.js', array('jquery'), JQUERYUI_VER, true);
|
202 |
-
wp_enqueue_script('transposh_backend', $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_JS . '/transposhbackend.js', array('transposh'), TRANSPOSH_PLUGIN_VER, true);
|
203 |
-
$script_params = array(
|
204 |
-
'l10n_print_after' =>
|
205 |
-
't_be.g_langs = ' . json_encode(transposh_consts::$google_languages) . ';' .
|
206 |
-
't_be.m_langs = ' . json_encode(transposh_consts::$bing_languages) . ';' .
|
207 |
-
't_be.a_langs = ' . json_encode(transposh_consts::$apertium_languages) . ';'
|
208 |
-
);
|
209 |
-
wp_localize_script("transposh_backend", "t_be", $script_params);
|
210 |
-
|
211 |
-
//add several metaboxes now, all metaboxes registered during load page can be switched off/on at "Screen Options" automatically, nothing special to do therefore
|
212 |
-
add_meta_box('transposh-sidebox-about', __('About this plugin', TRANSPOSH_TEXT_DOMAIN), array(&$this, 'on_sidebox_about_content'), $this->pagehook, 'side', 'core');
|
213 |
-
add_meta_box('transposh-sidebox-news', __('Plugin news', TRANSPOSH_TEXT_DOMAIN), array(&$this, 'on_sidebox_news_content'), $this->pagehook, 'side', 'core');
|
214 |
-
add_meta_box('transposh-sidebox-stats', __('Plugin stats', TRANSPOSH_TEXT_DOMAIN), array(&$this, 'on_sidebox_stats_content'), $this->pagehook, 'side', 'core');
|
215 |
-
add_meta_box('transposh-sidebox-translate', __('Translate all', TRANSPOSH_TEXT_DOMAIN), array(&$this, 'on_sidebox_translate_content'), $this->pagehook, 'side', 'core');
|
216 |
-
add_meta_box('transposh-contentbox-languages', __('Supported languages', TRANSPOSH_TEXT_DOMAIN), array(&$this, 'on_contentbox_languages_content'), $this->pagehook, 'normal', 'core');
|
217 |
-
add_meta_box('transposh-contentbox-translation', __('Translation settings', TRANSPOSH_TEXT_DOMAIN), array(&$this, 'on_contentbox_translation_content'), $this->pagehook, 'normal', 'core');
|
218 |
-
add_meta_box('transposh-contentbox-autotranslation', __('Automatic translation settings', TRANSPOSH_TEXT_DOMAIN), array(&$this, 'on_contentbox_auto_translation_content'), $this->pagehook, 'normal', 'core');
|
219 |
-
add_meta_box('transposh-contentbox-protranslation', __('Professional translation settings', TRANSPOSH_TEXT_DOMAIN), array(&$this, 'on_contentbox_professional_translation_content'), $this->pagehook, 'normal', 'core');
|
220 |
-
add_meta_box('transposh-contentbox-frontend', __('Frontend settings', TRANSPOSH_TEXT_DOMAIN), array(&$this, 'on_contentbox_frontend_content'), $this->pagehook, 'normal', 'core');
|
221 |
-
add_meta_box('transposh-contentbox-general', __('Generic settings', TRANSPOSH_TEXT_DOMAIN), array(&$this, 'on_contentbox_generic_content'), $this->pagehook, 'normal', 'core');
|
222 |
-
add_meta_box('transposh-contentbox-database', __('Database maintenance', TRANSPOSH_TEXT_DOMAIN), array(&$this, 'on_contentbox_database_content'), $this->pagehook, 'normal', 'core');
|
223 |
-
}
|
224 |
-
|
225 |
-
//executed to show the plugins complete admin page
|
226 |
-
function on_show_page() {
|
227 |
global $wp_locale;
|
228 |
if ($wp_locale->text_direction == 'rtl') {
|
229 |
$this->localeleft = 'right';
|
230 |
$this->localeright = 'left';
|
231 |
}
|
232 |
|
233 |
-
//
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
240 |
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
'<form action="admin-post.php" method="post">';
|
245 |
|
246 |
-
|
247 |
-
|
248 |
-
$
|
|
|
|
|
|
|
249 |
}
|
250 |
-
|
251 |
-
|
252 |
-
|
|
|
|
|
|
|
|
|
|
|
253 |
}
|
254 |
|
255 |
-
|
256 |
-
|
257 |
-
wp_nonce_field('meta-box-order', 'meta-box-order-nonce', false);
|
258 |
-
|
259 |
-
echo '<input type="hidden" name="action" value="save_transposh" />' .
|
260 |
-
'<div id="poststuff" class="metabox-holder' . ((2 == $GLOBALS['screen_layout_columns']) ? ' has-right-sidebar' : '') . '">' .
|
261 |
-
'<div id="side-info-column" class="inner-sidebar">';
|
262 |
-
do_meta_boxes($this->pagehook, 'side', '');
|
263 |
-
|
264 |
-
echo '</div>' .
|
265 |
-
'<div id="post-body" class="has-sidebar">' .
|
266 |
-
'<div id="post-body-content" class="has-sidebar-content"> ';
|
267 |
-
|
268 |
-
do_meta_boxes($this->pagehook, 'normal', '');
|
269 |
-
/* Maybe add static content here later */
|
270 |
-
//do_meta_boxes($this->pagehook, 'additional', $data);
|
271 |
-
|
272 |
-
echo '<p>' .
|
273 |
-
'<input type="submit" value="' . __('Save Changes') . '" class="button-primary" name="Submit"/>' .
|
274 |
-
'</p>' .
|
275 |
-
'</div>' .
|
276 |
-
'</div>' .
|
277 |
-
'<br class="clear"/>' .
|
278 |
-
'</div>' .
|
279 |
-
'</form>' .
|
280 |
-
'</div>' .
|
281 |
-
'<script type="text/javascript">' . "\n" .
|
282 |
-
'//<![CDATA[' . "\n" .
|
283 |
-
'jQuery(document).ready( function($) {';
|
284 |
-
// close postboxes that should be closed
|
285 |
-
echo "$('.if-js-closed').removeClass('if-js-closed').addClass('closed');";
|
286 |
-
// postboxes setup
|
287 |
-
echo "postboxes.add_postbox_toggles('" . $this->pagehook . "');" .
|
288 |
-
'}); ' . "\n" .
|
289 |
-
'//]]>' . "\n" .
|
290 |
-
'</script>';
|
291 |
-
}
|
292 |
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
|
301 |
-
|
302 |
-
|
303 |
|
304 |
-
|
305 |
-
|
|
|
306 |
}
|
307 |
|
308 |
-
//
|
309 |
-
|
|
|
310 |
|
311 |
-
|
312 |
-
|
313 |
-
echo '<li><a href="http://transposh.org/">' . __('Plugin Homepage', TRANSPOSH_TEXT_DOMAIN) . '</a></li>';
|
314 |
-
echo '<li><a href="http://transposh.org/redir/newfeature">' . __('Suggest a Feature', TRANSPOSH_TEXT_DOMAIN) . '</a></li>';
|
315 |
-
// support Forum
|
316 |
-
echo '<li><a href="http://transposh.org/redir/newticket">' . __('Report a Bug', TRANSPOSH_TEXT_DOMAIN) . '</a></li>';
|
317 |
-
// donate with PayPal
|
318 |
-
echo '</ul>';
|
319 |
-
}
|
320 |
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
echo '</div>';
|
325 |
-
}
|
326 |
|
327 |
-
|
328 |
-
$this->transposh->database->db_stats();
|
329 |
-
}
|
330 |
|
331 |
-
|
332 |
-
echo '<div id="progress_bar_all"></div><div id="tr_translate_title"></div>';
|
333 |
-
echo '<div id="tr_loading" style="margin: 0 0 10px 0">' . __('Translate by clicking the button below', TRANSPOSH_TEXT_DOMAIN) . '</div>';
|
334 |
-
echo '<div id="tr_allmsg" style="margin: 0 0 10px 0"></div>';
|
335 |
-
echo '<a id="transposh-translate" href="#" onclick="return false;" class="button">' . __('Translate All Now', TRANSPOSH_TEXT_DOMAIN) . '</a><br/>';
|
336 |
-
//get_posts
|
337 |
}
|
338 |
|
339 |
/**
|
340 |
* Insert supported languages section in admin page
|
341 |
* @param string $data
|
342 |
*/
|
343 |
-
function
|
344 |
// we need some styles
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
-moz-border-radius: 6px;
|
350 |
-
-khtml-border-radius: 6px;
|
351 |
-
-webkit-border-radius: 6px;
|
352 |
-
border-radius: 6px;
|
353 |
-
border-style:solid;
|
354 |
-
border-width:1px;
|
355 |
-
line-height:1;
|
356 |
-
}
|
357 |
-
.highlight {
|
358 |
-
-moz-border-radius: 6px;
|
359 |
-
-khtml-border-radius: 6px;
|
360 |
-
-webkit-border-radius: 6px;
|
361 |
-
border-radius: 6px;
|
362 |
-
border-style:solid;
|
363 |
-
border-width:1px;
|
364 |
-
line-height:1;
|
365 |
-
background: #FFE45C;
|
366 |
-
width: 190px;
|
367 |
-
height: 14px;
|
368 |
-
}
|
369 |
-
.highlight_default {
|
370 |
-
background: #FFE45C;
|
371 |
-
}
|
372 |
-
.active {
|
373 |
-
background: #45FF51;
|
374 |
-
}
|
375 |
-
.translateable {
|
376 |
-
background: #FFFF51;
|
377 |
-
}
|
378 |
-
.hidden {
|
379 |
-
display: none;
|
380 |
-
}
|
381 |
.logoicon {
|
382 |
-
float:
|
383 |
-
|
384 |
-
|
385 |
}
|
386 |
-
</style>';
|
387 |
|
388 |
// this is the default language location
|
389 |
-
list ($langname, $langorigname, $flag) = explode(",", transposh_consts::$languages[$this->transposh->options->
|
390 |
-
echo '<div id="default_lang" style="overflow:auto;padding-bottom:10px;">'
|
391 |
-
|
|
|
392 |
. transposh_utils::display_flag("{$this->transposh->transposh_plugin_url}/img/flags", $flag, $langorigname, false/* $this->transposh->options->get_widget_css_flags() */)
|
393 |
-
. '<input type="hidden" name="languages[]" value="' . $this->transposh->options->
|
394 |
. ' <span class="langname">' . $langorigname . '</span><span class="langname hidden">' . $langname . '</span></li>';
|
395 |
echo '</ul></div>';
|
396 |
// list of languages
|
397 |
-
echo '<div style="overflow:auto; clear: both;">'
|
|
|
398 |
echo '<ul id="sortable">';
|
399 |
foreach ($this->transposh->options->get_sorted_langs() as $langcode => $langrecord) {
|
|
|
400 |
list ($langname, $langorigname, $flag) = explode(",", $langrecord);
|
401 |
-
echo '<li id="' . $langcode . '" class="languages ' . ($this->transposh->options->
|
402 |
-
.
|
403 |
. transposh_utils::display_flag("{$this->transposh->transposh_plugin_url}/img/flags", $flag, false /* $langorigname,$this->transposh->options->get_widget_css_flags() */)
|
404 |
-
|
|
|
405 |
. ' <span class="langname">' . $langorigname . '</span><span class="langname hidden">' . $langname . '</span></div>';
|
406 |
if (in_array($langcode, transposh_consts::$google_languages))
|
407 |
echo '<img width="16" height="16" alt="g" class="logoicon" title="' . esc_attr__('Language supported by google translate', TRANSPOSH_TEXT_DOMAIN) . '" src="' . $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_IMG . '/googleicon.png"/>';
|
@@ -422,211 +398,354 @@ class transposh_plugin_admin {
|
|
422 |
echo '<li><a href="#" id="selectall">' . __('Make all languages active', TRANSPOSH_TEXT_DOMAIN) . '</a></li>';
|
423 |
echo '<li><a href="#" id="sortname">' . __('Sort by language name', TRANSPOSH_TEXT_DOMAIN) . '</a></li>';
|
424 |
echo '<li><a href="#" id="sortiso">' . __('Sort by lSO code', TRANSPOSH_TEXT_DOMAIN) . '</a></li></ul>';
|
425 |
-
echo __('Legend:', TRANSPOSH_TEXT_DOMAIN) . ' ' . __('Green - active', TRANSPOSH_TEXT_DOMAIN) . ', <span id="yellowcolor"' . ($this->transposh->options->get_anonymous_translation() ? ' class ="hidden"' : '') . '>' . __('Yellow - translateable (only translators will see this language)', TRANSPOSH_TEXT_DOMAIN) . ', </span>' . __('blank - inactive', TRANSPOSH_TEXT_DOMAIN);
|
426 |
echo '</div>';
|
427 |
}
|
428 |
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
* @return string used for checkboxes
|
433 |
-
*/
|
434 |
-
private function checked($eval) {
|
435 |
-
return $eval ? 'checked="checked"' : '';
|
436 |
-
}
|
437 |
|
438 |
-
private function checkbox($id, $value, $head, $text) {
|
439 |
-
echo '<h4>' . $head . '</h4>';
|
440 |
-
echo '<input type="checkbox" value="1" name="' . $id . '" ' . $this->checked($value) . '/> ' . $text;
|
441 |
-
}
|
442 |
-
|
443 |
-
function on_contentbox_translation_content($data) {
|
444 |
/*
|
445 |
* Insert permissions section in the admin page
|
446 |
*/
|
447 |
-
|
448 |
//display known roles and their permission to translate
|
449 |
foreach ($GLOBALS['wp_roles']->get_names() as $role_name => $something) {
|
450 |
-
echo '<input type="checkbox" value="1" name="' . $role_name . '" ' . $this->can_translate($role_name) .
|
451 |
'/> ' . _x(ucfirst($role_name), 'User role') . ' ';
|
452 |
}
|
453 |
//Add our own custom role
|
454 |
-
echo '<input id="tr_anon" type="checkbox" value="1" name="anonymous" ' . $this->can_translate('anonymous') . '/> ' . __('Anonymous', TRANSPOSH_TEXT_DOMAIN);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
455 |
|
456 |
/*
|
457 |
-
* Insert
|
458 |
-
* Disabled by default.
|
459 |
*/
|
460 |
-
|
|
|
|
|
|
|
461 |
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
|
469 |
-
|
470 |
-
* Insert the option to enable translation of urls
|
471 |
-
* Disbaled by default.
|
472 |
-
* @since 0.5.3
|
473 |
-
*/
|
474 |
-
$this->checkbox(ENABLE_URL_TRANSLATE, $this->transposh->options->get_enable_url_translate(), __('Enable url translation', TRANSPOSH_TEXT_DOMAIN) . ' (' . __('experimental', TRANSPOSH_TEXT_DOMAIN), __('Allow translation of permalinks and urls', TRANSPOSH_TEXT_DOMAIN));
|
475 |
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
482 |
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
489 |
}
|
490 |
|
491 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
492 |
|
493 |
-
|
494 |
-
|
495 |
-
* Enabled by default.
|
496 |
-
*/
|
497 |
-
$this->checkbox(ENABLE_AUTO_TRANSLATE, $this->transposh->options->get_enable_auto_translate(), __('Enable automatic translation', TRANSPOSH_TEXT_DOMAIN), __('Allow automatic translation of pages', TRANSPOSH_TEXT_DOMAIN));
|
498 |
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
-
* @since 0.3.5 */
|
503 |
-
$this->checkbox(ENABLE_AUTO_POST_TRANSLATE, $this->transposh->options->get_enable_auto_post_translate(), __('Enable automatic translation after posting', TRANSPOSH_TEXT_DOMAIN), __('Do automatic translation immediately after a post has been published', TRANSPOSH_TEXT_DOMAIN));
|
504 |
|
505 |
-
|
506 |
-
|
507 |
-
*/
|
508 |
-
echo '<h4>' . "<img src=\"{$this->transposh->transposh_plugin_url}/img/bingicon.png\"> " . __('MSN API key', TRANSPOSH_TEXT_DOMAIN) . '</h4>';
|
509 |
-
echo __('API Key', TRANSPOSH_TEXT_DOMAIN) . ': <input type="text" size="35" class="regular-text" value="' . $this->transposh->options->get_msn_key() . '" id="' . MSN_TRANSLATE_KEY . '" name="' . MSN_TRANSLATE_KEY . '"/>';
|
510 |
|
511 |
-
|
512 |
-
|
513 |
-
|
514 |
-
echo '
|
515 |
-
|
516 |
|
517 |
-
|
518 |
-
|
519 |
-
*/
|
520 |
-
echo '<h4>' . __('Select preferred auto translation engine', TRANSPOSH_TEXT_DOMAIN) . '</h4>';
|
521 |
-
echo '<label for="' . PREFERRED_TRANSLATOR . '">' . __('Translation engine:', TRANSPOSH_TEXT_DOMAIN) .
|
522 |
-
'<select name="' . PREFERRED_TRANSLATOR . '">' .
|
523 |
-
'<option value="1"' . ($this->transposh->options->get_preferred_translator() == 1 ? ' selected="selected"' : '') . '>' . __('Google', TRANSPOSH_TEXT_DOMAIN) . '</option>' .
|
524 |
-
'<option value="2"' . ($this->transposh->options->get_preferred_translator() == 2 ? ' selected="selected"' : '') . '>' . __('Bing', TRANSPOSH_TEXT_DOMAIN) . '</option>' .
|
525 |
-
'</select>' .
|
526 |
-
'</label>';
|
527 |
}
|
528 |
|
529 |
-
|
530 |
-
|
531 |
-
echo '<
|
532 |
-
echo
|
533 |
-
echo '<
|
534 |
-
|
535 |
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
echo '<h4>' . "<img src=\"{$this->transposh->transposh_plugin_url}/img/ohticon.png\"> " . __('One Hour Translation secret key', TRANSPOSH_TEXT_DOMAIN) . '</h4>';
|
540 |
-
echo __('API Key', TRANSPOSH_TEXT_DOMAIN) . ': <input type="text" size="35" class="regular-text" value="' . $this->transposh->options->get_oht_key() . '" id="' . OHT_TRANSLATE_KEY . '" name="' . OHT_TRANSLATE_KEY . '"/>';
|
541 |
|
542 |
-
|
543 |
-
if (!
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
}
|
549 |
-
$ohtp = get_option(TRANSPOSH_OPTIONS_OHT_PROJECTS, array());
|
550 |
-
if (!empty($ohtp)) {
|
551 |
-
printf('<h4>' . __('%d projects have been submitted and waiting for completion', TRANSPOSH_TEXT_DOMAIN) . '</h4>', sizeof($ohtp));
|
552 |
}
|
553 |
}
|
554 |
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
|
|
|
|
|
|
|
|
561 |
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
568 |
}
|
569 |
echo '</select>' .
|
570 |
'</label>';
|
571 |
}
|
572 |
|
573 |
-
function
|
574 |
-
|
575 |
-
|
576 |
-
* When disabled only parameters will be used to identify the current language.
|
577 |
-
*/
|
578 |
-
$this->checkbox(ENABLE_PERMALINKS, $this->transposh->options->get_enable_permalinks(), __('Rewrite URLs', TRANSPOSH_TEXT_DOMAIN), __('Rewrite URLs to be search engine friendly, ' .
|
579 |
-
'e.g. (http://transposh.org/<strong>en</strong>). ' .
|
580 |
-
'Requires that permalinks will be enabled.', TRANSPOSH_TEXT_DOMAIN));
|
581 |
-
|
582 |
-
/*
|
583 |
-
* Insert the option to enable/disable pushing of scripts to footer.
|
584 |
-
* Works on wordpress 2.8 and up (but we no longer care...)
|
585 |
-
*/
|
586 |
-
$this->checkbox(ENABLE_FOOTER_SCRIPTS, $this->transposh->options->get_enable_footer_scripts(), __('Add scripts to footer', TRANSPOSH_TEXT_DOMAIN), __('Push transposh scripts to footer of page instead of header, makes pages load faster. ' .
|
587 |
-
'Requires that your theme should have proper footer support.', TRANSPOSH_TEXT_DOMAIN));
|
588 |
-
|
589 |
-
/**
|
590 |
-
* Insert the option to enable/disable language auto-detection
|
591 |
-
* @since 0.3.8 */
|
592 |
-
$this->checkbox(ENABLE_DETECT_LANG_AND_REDIRECT, $this->transposh->options->get_enable_detect_language(), __('Auto detect language for users', TRANSPOSH_TEXT_DOMAIN), __('This enables auto detection of language used by the user as defined in the ACCEPT_LANGUAGES they send. ' .
|
593 |
-
'This will redirect the first page accessed in the session to the same page with the detected language.', TRANSPOSH_TEXT_DOMAIN));
|
594 |
-
|
595 |
-
/**
|
596 |
-
* Insert the option to enable/disable statics collection
|
597 |
-
* @since 0.7.6 */
|
598 |
-
$this->checkbox(TRANSPOSH_COLLECT_STATS, $this->transposh->options->get_transposh_collect_stats(), __('Allow collecting usage statistics', TRANSPOSH_TEXT_DOMAIN), __('This option enables collection of statistics by transposh that will be used to improve the product.', TRANSPOSH_TEXT_DOMAIN));
|
599 |
-
|
600 |
-
/* WIP2
|
601 |
-
echo '<a href="http://transposh.org/services/index.php?flags='.$flags.'">Gen sprites</a>'; */
|
602 |
}
|
603 |
|
604 |
-
|
605 |
-
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
-
echo '<div style="margin:10px 0"><a id="transposh-clean-auto14" href="#" nonce="' . wp_create_nonce('transposh-clean') . '" class="button">' . __('Delete automated translations older than 14 days', TRANSPOSH_TEXT_DOMAIN) . '</a></div>';
|
610 |
-
echo '<div style="margin:10px 0"><a id="transposh-maint" href="#" nonce="' . wp_create_nonce('transposh-clean') . '" class="button">' . __('Attempt to fix errors caused by previous versions - please backup first', TRANSPOSH_TEXT_DOMAIN) . '</a></div>';
|
611 |
-
}
|
612 |
|
613 |
-
|
614 |
-
|
615 |
-
|
616 |
-
echo '<input type="radio" value="2" name="' . TRANSPOSH_BACKUP_SCHEDULE . '" ' . $this->checked($this->transposh->options->get_transposh_backup_schedule() == 2) . '/>' . __('Enable live backup', TRANSPOSH_TEXT_DOMAIN) . '<br/>';
|
617 |
-
echo '<input type="radio" value="0" name="' . TRANSPOSH_BACKUP_SCHEDULE . '" ' . $this->checked($this->transposh->options->get_transposh_backup_schedule() == 0) . '/>' . __('Disable backup (Can be run manually by clicking the button below)', TRANSPOSH_TEXT_DOMAIN) . '<br/>';
|
618 |
-
echo __('Service Key:', TRANSPOSH_TEXT_DOMAIN) . ' <input type="text" size="32" class="regular-text" value="' . $this->transposh->options->get_transposh_key() . '" id="' . TRANSPOSH_KEY . '" name="' . TRANSPOSH_KEY . '"/> <a target="_blank" href="http://transposh.org/faq/#restore">' . __('How to restore?', TRANSPOSH_TEXT_DOMAIN) . '</a><br/>';
|
619 |
-
echo '<div id="backup_result"></div>';
|
620 |
-
echo '<div style="margin:10px 0"><a id="transposh-backup" href="#" class="button">' . __('Do Backup Now', TRANSPOSH_TEXT_DOMAIN) . '</a></div>';
|
621 |
}
|
622 |
|
623 |
-
function add_warning($id, $message) {
|
624 |
if (!$this->transposh->options->get_transposh_admin_hide_warning($id)) {
|
625 |
-
|
626 |
-
'
|
|
|
627 |
$message .
|
628 |
-
'<
|
629 |
-
'</div>';
|
630 |
}
|
631 |
}
|
632 |
|
@@ -648,6 +767,11 @@ class transposh_plugin_admin {
|
|
648 |
die(); // this is required to return a proper result
|
649 |
}
|
650 |
|
|
|
|
|
|
|
|
|
|
|
651 |
function on_ajax_tp_backup() {
|
652 |
$this->transposh->run_backup();
|
653 |
die();
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
+
* Transposh v0.9.0
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
* Copyright 2012, Team Transposh
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
+
* Date: Sat, 22 Dec 2012 01:16:03 +0200
|
12 |
*/
|
13 |
|
14 |
/*
|
27 |
private $transposh;
|
28 |
private $localeright = 'right';
|
29 |
private $localeleft = 'left';
|
30 |
+
private $pages = array();
|
31 |
+
private $page = '';
|
32 |
|
33 |
// constructor of class, PHP4 compatible construction for backward compatibility
|
34 |
function transposh_plugin_admin(&$transposh) {
|
35 |
$this->transposh = &$transposh;
|
36 |
+
// add our notices
|
37 |
+
add_action('admin_notices', array(&$this, 'notices'));
|
38 |
+
// register callback for admin menu setup
|
39 |
+
add_action('admin_menu', array(&$this, 'admin_menu'));
|
|
|
|
|
40 |
// register the callback been used if options of page been submitted and needs to be processed
|
41 |
add_action('admin_post_save_transposh', array(&$this, 'on_save_changes'));
|
42 |
// allow language change for comments
|
43 |
add_filter('comment_row_actions', array(&$this, 'comment_row_actions'), 999, 2);
|
44 |
// register ajax callbacks
|
45 |
add_action('wp_ajax_tp_close_warning', array(&$this, 'on_ajax_tp_close_warning'));
|
46 |
+
add_action('wp_ajax_tp_reset', array(&$this, 'on_ajax_tp_reset'));
|
47 |
add_action('wp_ajax_tp_backup', array(&$this, 'on_ajax_tp_backup'));
|
48 |
add_action('wp_ajax_tp_restore', array(&$this, 'on_ajax_tp_restore'));
|
49 |
add_action('wp_ajax_tp_maint', array(&$this, 'on_ajax_tp_maint'));
|
60 |
function can_translate($role_name) {
|
61 |
if ($role_name != 'anonymous') {
|
62 |
$role = $GLOBALS['wp_roles']->get_role($role_name);
|
63 |
+
if (isset($role) && $role->has_cap(TRANSLATOR)) return true;
|
|
|
64 |
}
|
65 |
+
else return $this->transposh->options->allow_anonymous_translation;
|
|
|
66 |
}
|
67 |
|
68 |
/**
|
69 |
* Handle newly posted admin options.
|
70 |
*/
|
71 |
function update_admin_options() {
|
72 |
+
tp_logger('Enter', 1);
|
73 |
+
tp_logger($_POST);
|
74 |
+
|
75 |
+
switch ($_POST['page']) {
|
76 |
+
case 'tp_langs':
|
77 |
+
$viewable_langs = array();
|
78 |
+
|
79 |
+
// first set the default language
|
80 |
+
list ($langcode, ) = explode(",", $_POST['languages'][0]);
|
81 |
+
$this->transposh->options->default_language = $langcode;
|
82 |
+
unset($_POST['languages'][0]);
|
83 |
+
|
84 |
+
// update the list of supported/editable/sortable languages
|
85 |
+
tp_logger($_POST['languages']);
|
86 |
+
foreach ($_POST['languages'] as $lang) {
|
87 |
+
list ($langcode, $viewable) = explode(",", $lang);
|
88 |
+
$sorted_langs[$langcode] = $langcode;
|
89 |
+
if ($viewable) {
|
90 |
+
$viewable_langs[$langcode] = $langcode;
|
91 |
+
}
|
92 |
+
}
|
93 |
+
|
94 |
+
$this->transposh->options->viewable_languages = implode(',', $viewable_langs);
|
95 |
+
$this->transposh->options->sorted_languages = implode(',', $sorted_langs);
|
96 |
+
break;
|
97 |
+
case "tp_settings":
|
98 |
+
//update roles and capabilities
|
99 |
+
foreach ($GLOBALS['wp_roles']->get_names() as $role_name => $something) {
|
100 |
+
$role = $GLOBALS['wp_roles']->get_role($role_name);
|
101 |
+
if (isset($_POST[$role_name]) && $_POST[$role_name] == "1")
|
102 |
+
$role->add_cap(TRANSLATOR);
|
103 |
+
else $role->remove_cap(TRANSLATOR);
|
104 |
+
}
|
105 |
+
|
106 |
+
// anonymous needs to be handled differently as it does not have a role
|
107 |
+
tp_logger($_POST['anonymous']);
|
108 |
+
$this->transposh->options->allow_anonymous_translation = $_POST['anonymous'];
|
109 |
+
|
110 |
+
$this->transposh->options->enable_default_translate = TP_FROM_POST;
|
111 |
+
$this->transposh->options->enable_search_translate = TP_FROM_POST;
|
112 |
+
$this->transposh->options->transposh_gettext_integration = TP_FROM_POST;
|
113 |
+
$this->transposh->options->transposh_locale_override = TP_FROM_POST;
|
114 |
+
|
115 |
+
// We will need to refresh rewrite rules for the case someone enabled in wordpress first after transposh
|
116 |
+
// install and then went on to transposh and enabled, and this keeps us safe ;)
|
117 |
+
if ($this->transposh->options->enable_permalinks != $_POST[$this->transposh->options->enable_permalinks_o->get_name()]) {
|
118 |
+
$this->transposh->options->enable_permalinks = TP_FROM_POST;
|
119 |
+
$GLOBALS['wp_rewrite']->flush_rules();
|
120 |
+
}
|
121 |
+
|
122 |
+
$this->transposh->options->enable_footer_scripts = TP_FROM_POST;
|
123 |
+
$this->transposh->options->enable_detect_redirect = TP_FROM_POST;
|
124 |
+
$this->transposh->options->transposh_collect_stats = TP_FROM_POST;
|
125 |
+
|
126 |
+
$this->transposh->options->transposh_backup_schedule = TP_FROM_POST;
|
127 |
+
|
128 |
+
// handle the backup change, create the hook
|
129 |
+
wp_clear_scheduled_hook('transposh_backup_event');
|
130 |
+
if ($this->transposh->options->transposh_backup_schedule)
|
131 |
+
wp_schedule_event(time(), 'daily', 'transposh_backup_event');
|
132 |
+
|
133 |
+
$this->transposh->options->transposh_key = TP_FROM_POST;
|
134 |
+
break;
|
135 |
+
case "tp_engines":
|
136 |
+
$this->transposh->options->enable_autotranslate = TP_FROM_POST;
|
137 |
+
$this->transposh->options->enable_autoposttranslate = TP_FROM_POST;
|
138 |
+
$this->transposh->options->msn_key = TP_FROM_POST;
|
139 |
+
$this->transposh->options->google_key = TP_FROM_POST;
|
140 |
+
$this->transposh->options->preferred_translator = TP_FROM_POST;
|
141 |
+
$this->transposh->options->oht_id = TP_FROM_POST;
|
142 |
+
$this->transposh->options->oht_key = TP_FROM_POST;
|
143 |
+
break;
|
144 |
+
case "tp_widget":
|
145 |
+
$this->transposh->options->widget_progressbar = TP_FROM_POST;
|
146 |
+
$this->transposh->options->widget_allow_set_deflang = TP_FROM_POST;
|
147 |
+
$this->transposh->options->widget_remove_logo = TP_FROM_POST;
|
148 |
+
$this->transposh->options->widget_theme = TP_FROM_POST;
|
149 |
+
break;
|
150 |
+
case "tp_advanced":
|
151 |
+
$this->transposh->options->enable_url_translate = TP_FROM_POST;
|
152 |
+
$this->transposh->options->parser_dont_break_puncts = TP_FROM_POST;
|
153 |
+
$this->transposh->options->parser_dont_break_numbers = TP_FROM_POST;
|
154 |
+
$this->transposh->options->parser_dont_break_entities = TP_FROM_POST;
|
155 |
+
$this->transposh->options->debug_enable = TP_FROM_POST;
|
156 |
+
$this->transposh->options->debug_loglevel = TP_FROM_POST;
|
157 |
+
$this->transposh->options->debug_logfile = TP_FROM_POST;
|
158 |
+
$this->transposh->options->debug_remoteip = TP_FROM_POST;
|
159 |
+
|
160 |
+
break;
|
161 |
}
|
162 |
|
163 |
+
/*
|
164 |
+
*/
|
165 |
+
$this->transposh->options->update_options();
|
166 |
+
}
|
167 |
|
168 |
+
//add some help
|
169 |
+
function on_contextual_help() {
|
170 |
+
$text = '<p>' . __('Transposh makes your blog translatable', TRANSPOSH_TEXT_DOMAIN) . '</p>' .
|
171 |
+
'<p>' . __('For further help and assistance, please look at the following resources:', TRANSPOSH_TEXT_DOMAIN) . '</p>' .
|
172 |
+
'<a href="http://transposh.org/">' . __('Plugin homepage', TRANSPOSH_TEXT_DOMAIN) . '</a><br/>' .
|
173 |
+
'<a href="http://transposh.org/faq/">' . __('Frequently asked questions', TRANSPOSH_TEXT_DOMAIN) . '</a><br/>' .
|
174 |
+
'<a href="http://trac.transposh.org/">' . __('Development website', TRANSPOSH_TEXT_DOMAIN) . '</a><br/>';
|
175 |
+
return $text;
|
176 |
+
}
|
177 |
+
|
178 |
+
function admin_menu() {
|
179 |
+
// key is page name, first is description, second is side menu description, third is if this contains settings
|
180 |
+
$this->pages = array(
|
181 |
+
'tp_main' => array(__('Dashboard', TRANSPOSH_TEXT_DOMAIN)),
|
182 |
+
'tp_langs' => array(__('Languages', TRANSPOSH_TEXT_DOMAIN), '', true),
|
183 |
+
'tp_settings' => array(__('Settings', TRANSPOSH_TEXT_DOMAIN), '', true),
|
184 |
+
'tp_engines' => array(__('Translation Engines', TRANSPOSH_TEXT_DOMAIN), '', true),
|
185 |
+
'tp_widget' => array(__('Widgets settings', TRANSPOSH_TEXT_DOMAIN), '', true),
|
186 |
+
'tp_advanced' => array(__('Advanced', TRANSPOSH_TEXT_DOMAIN), '', true),
|
187 |
+
'tp_utils' => array(__('Utilities', TRANSPOSH_TEXT_DOMAIN)),
|
188 |
+
'tp_about' => array(__('About', TRANSPOSH_TEXT_DOMAIN)),
|
189 |
+
'tp_support' => array(__('Support', TRANSPOSH_TEXT_DOMAIN)),
|
190 |
+
);
|
191 |
+
if (isset($_GET['page']) && isset($this->pages[$_GET['page']]))
|
192 |
+
$this->page = $_GET['page'];
|
193 |
|
194 |
+
// First param is page title, second is menu title
|
195 |
+
add_menu_page(__('Transposh', TRANSPOSH_TEXT_DOMAIN), __('Transposh', TRANSPOSH_TEXT_DOMAIN), 'manage_options', 'tp_main', '', $this->transposh->transposh_plugin_url . "/img/tplogo.png");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
196 |
|
197 |
+
$submenu_pages = array();
|
198 |
+
foreach ($this->pages as $slug => $titles) {
|
199 |
+
if (!isset($titles[1]) || !$titles[1]) {
|
200 |
+
$titles[1] = $titles[0];
|
201 |
}
|
202 |
+
$submenu_pages[] = add_submenu_page('tp_main', $titles[0] . ' | ' . __('Transposh', TRANSPOSH_TEXT_DOMAIN), $titles[1], 'manage_options', $slug, array(&$this, 'options'));
|
203 |
}
|
204 |
|
205 |
+
if (current_user_can('manage_options')) {
|
206 |
+
/**
|
207 |
+
* Only admin can modify settings
|
208 |
+
*/
|
209 |
+
foreach ($submenu_pages as $submenu_page) {
|
210 |
+
add_action('load-' . $submenu_page, array(&$this, 'load'));
|
211 |
+
add_action('admin_print_styles-' . $submenu_page, array(&$this, 'admin_print_styles'));
|
212 |
+
add_action('admin_print_scripts-' . $submenu_page, array(&$this, 'admin_print_scripts'));
|
213 |
+
}
|
|
|
214 |
}
|
215 |
+
// DOC
|
216 |
+
add_action('load-edit-comments.php', array(&$this, 'on_load_comments_page'));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
217 |
}
|
218 |
|
219 |
+
/**
|
220 |
+
* Print styles
|
221 |
+
*
|
222 |
+
* @return void
|
223 |
+
*/
|
224 |
+
function admin_print_styles() {
|
225 |
+
|
226 |
}
|
227 |
|
228 |
+
/**
|
229 |
+
* Print scripts
|
230 |
+
*
|
231 |
+
* @return void
|
232 |
+
*/
|
233 |
+
function admin_print_scripts() {
|
234 |
+
switch ($this->page) {
|
235 |
+
case 'tp_main':
|
236 |
+
wp_enqueue_script('common');
|
237 |
+
wp_enqueue_script('wp-lists');
|
238 |
+
wp_enqueue_script('postbox');
|
239 |
+
break;
|
240 |
+
case 'tp_langs':
|
241 |
+
wp_enqueue_script('jquery-ui-droppable');
|
242 |
+
wp_enqueue_script('jquery-ui-sortable');
|
243 |
+
wp_enqueue_script('transposh_admin_languages', $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_JS . '/admin/languages.js', array('transposh'), TRANSPOSH_PLUGIN_VER, true);
|
244 |
+
break;
|
245 |
+
case 'tp_utils':
|
246 |
+
wp_enqueue_script('transposh_admin_utils', $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_JS . '/admin/utils.js', array('transposh'), TRANSPOSH_PLUGIN_VER, true);
|
247 |
+
// NOTE: When wordpress will have .css for the jQueryUI we'll be able to use the built-in jqueryui
|
248 |
+
// wp_enqueue_script('jquery-ui-progressbar');
|
249 |
+
|
250 |
+
wp_enqueue_style('jqueryui', 'http://ajax.googleapis.com/ajax/libs/jqueryui/' . JQUERYUI_VER . '/themes/ui-lightness/jquery-ui.css', array(), JQUERYUI_VER);
|
251 |
+
wp_enqueue_script('jqueryui', 'http://ajax.googleapis.com/ajax/libs/jqueryui/' . JQUERYUI_VER . '/jquery-ui.min.js', array('jquery'), JQUERYUI_VER, true);
|
252 |
+
wp_enqueue_script('transposh_backend', $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_JS . '/admin/backendtranslate.js', array('transposh'), TRANSPOSH_PLUGIN_VER, true);
|
253 |
+
$script_params = array(
|
254 |
+
'l10n_print_after' =>
|
255 |
+
't_be.g_langs = ' . json_encode(transposh_consts::$google_languages) . ';' .
|
256 |
+
't_be.m_langs = ' . json_encode(transposh_consts::$bing_languages) . ';' .
|
257 |
+
't_be.a_langs = ' . json_encode(transposh_consts::$apertium_languages) . ';'
|
258 |
+
);
|
259 |
+
wp_localize_script("transposh_backend", "t_be", $script_params);
|
260 |
}
|
261 |
+
wp_enqueue_style('transposh_admin', $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_CSS . '/admin.css'); ///, array('transposh'), TRANSPOSH_PLUGIN_VER, true)
|
262 |
}
|
263 |
|
264 |
+
function load() {
|
265 |
+
// figure out page and other stuff...
|
266 |
+
//echo 'loaded!?';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
267 |
global $wp_locale;
|
268 |
if ($wp_locale->text_direction == 'rtl') {
|
269 |
$this->localeleft = 'right';
|
270 |
$this->localeright = 'left';
|
271 |
}
|
272 |
|
273 |
+
// the followings are integrations with the wordpress admin interface
|
274 |
+
$screen = get_current_screen();
|
275 |
+
$screen->add_help_tab(array(
|
276 |
+
'id' => 'additional-transposh-help', // This should be unique for the screen.
|
277 |
+
'title' => __('Transposh Help', TRANSPOSH_TEXT_DOMAIN),
|
278 |
+
// retrieve the function output and set it as tab content
|
279 |
+
'content' => $this->on_contextual_help()));
|
280 |
+
if ($this->page == 'tp_main') {
|
281 |
+
add_screen_option('layout_columns', array('max' => 4, 'default' => 2));
|
282 |
+
add_meta_box('transposh-sidebox-news', __('Plugin news', TRANSPOSH_TEXT_DOMAIN), array(&$this, 'on_sidebox_news_content'), '', 'normal', 'core');
|
283 |
+
add_meta_box('transposh-sidebox-stats', __('Plugin stats', TRANSPOSH_TEXT_DOMAIN), array(&$this, 'on_sidebox_stats_content'), '', 'column3', 'core');
|
284 |
+
// add_meta_box('transposh-contentbox-community', __('Transposh community features', TRANSPOSH_TEXT_DOMAIN), array(&$this, 'on_contentbox_community_content'), '', 'normal', 'core');
|
285 |
+
}
|
286 |
+
}
|
287 |
|
288 |
+
function options() {
|
289 |
+
echo '<div class="wrap">';
|
290 |
+
screen_icon('transposh-logo');
|
|
|
291 |
|
292 |
+
echo '<h2 class="nav-tab-wrapper">';
|
293 |
+
foreach ($this->pages as $slug => $titles) {
|
294 |
+
$active = ($slug === $this->page) ? ' nav-tab-active' : '';
|
295 |
+
echo '<a href="admin.php?page=' . $slug . '" class="nav-tab' . $active . '">';
|
296 |
+
echo esc_html($titles[0]);
|
297 |
+
echo '</a>';
|
298 |
}
|
299 |
+
echo '</h2>';
|
300 |
+
|
301 |
+
// do we need a form?
|
302 |
+
if (isset($this->pages[$this->page][2]) && $this->pages[$this->page][2]) { //$this->contains_settings) {
|
303 |
+
echo '<form action="admin-post.php" method="post">';
|
304 |
+
echo '<input type="hidden" name="action" value="save_transposh"/>';
|
305 |
+
echo '<input type="hidden" name="page" value="' . $this->page . '"/>';
|
306 |
+
echo wp_nonce_field(TR_NONCE);
|
307 |
}
|
308 |
|
309 |
+
// the page content
|
310 |
+
if ($this->page) call_user_func(array(&$this, $this->page));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
311 |
|
312 |
+
// Add submission for pages that can be modified
|
313 |
+
if (isset($this->pages[$this->page][2]) && $this->pages[$this->page][2]) { //$this->contains_settings) {
|
314 |
+
echo '<p>';
|
315 |
+
echo'<input type="submit" value="' . esc_attr__('Save Changes', TRANSPOSH_TEXT_DOMAIN) . '" class="button-primary" name="Submit"/>';
|
316 |
+
echo'</p>';
|
317 |
+
echo'</form>';
|
318 |
+
}
|
319 |
|
320 |
+
echo '</div>';
|
321 |
+
}
|
322 |
|
323 |
+
// not sure if this is the best place for this function, but heck
|
324 |
+
function on_load_comments_page() {
|
325 |
+
wp_enqueue_script('transposhcomments', $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_JS . '/admin/commentslang.js', array('jquery'), TRANSPOSH_PLUGIN_VER);
|
326 |
}
|
327 |
|
328 |
+
//executed to show the plugins complete admin page
|
329 |
+
function tp_main() {
|
330 |
+
echo '<div id="dashboard-widgets-wrap">';
|
331 |
|
332 |
+
/** Load WordPress dashboard API */
|
333 |
+
require_once(ABSPATH . 'wp-admin/includes/dashboard.php');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
334 |
|
335 |
+
wp_enqueue_script('dashboard');
|
336 |
+
wp_admin_css('dashboard');
|
337 |
+
add_thickbox();
|
|
|
|
|
338 |
|
339 |
+
wp_dashboard();
|
|
|
|
|
340 |
|
341 |
+
echo '<div class="clear"></div>';
|
|
|
|
|
|
|
|
|
|
|
342 |
}
|
343 |
|
344 |
/**
|
345 |
* Insert supported languages section in admin page
|
346 |
* @param string $data
|
347 |
*/
|
348 |
+
function tp_langs() {
|
349 |
// we need some styles
|
350 |
+
global $wp_locale;
|
351 |
+
if ($wp_locale->text_direction == 'rtl') {
|
352 |
+
echo '<style type="text/css">
|
353 |
+
#sortable li, #default_lang li { float: right !important;}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
354 |
.logoicon {
|
355 |
+
float:left !important;
|
356 |
+
}
|
357 |
+
</style>';
|
358 |
}
|
|
|
359 |
|
360 |
// this is the default language location
|
361 |
+
list ($langname, $langorigname, $flag) = explode(",", transposh_consts::$languages[$this->transposh->options->default_language]);
|
362 |
+
echo '<div id="default_lang" style="overflow:auto;padding-bottom:10px;">';
|
363 |
+
$this->header(__('Default Language (drag another language here to make it default)', TRANSPOSH_TEXT_DOMAIN));
|
364 |
+
echo '<ul id="default_list"><li id="' . $this->transposh->options->default_language . '" class="languages">'
|
365 |
. transposh_utils::display_flag("{$this->transposh->transposh_plugin_url}/img/flags", $flag, $langorigname, false/* $this->transposh->options->get_widget_css_flags() */)
|
366 |
+
. '<input type="hidden" name="languages[]" value="' . $this->transposh->options->default_language . '" />'
|
367 |
. ' <span class="langname">' . $langorigname . '</span><span class="langname hidden">' . $langname . '</span></li>';
|
368 |
echo '</ul></div>';
|
369 |
// list of languages
|
370 |
+
echo '<div style="overflow:auto; clear: both;">';
|
371 |
+
$this->header(__('Available Languages (Click to toggle language state - Drag to sort in the widget)', TRANSPOSH_TEXT_DOMAIN));
|
372 |
echo '<ul id="sortable">';
|
373 |
foreach ($this->transposh->options->get_sorted_langs() as $langcode => $langrecord) {
|
374 |
+
tp_logger($langcode, 5);
|
375 |
list ($langname, $langorigname, $flag) = explode(",", $langrecord);
|
376 |
+
echo '<li id="' . $langcode . '" class="languages ' . ($this->transposh->options->is_active_language($langcode) || $this->transposh->options->is_default_language($langcode) ? "lng_active" : "")
|
377 |
+
. '"><div style="float:' . $this->localeleft . '">'
|
378 |
. transposh_utils::display_flag("{$this->transposh->transposh_plugin_url}/img/flags", $flag, false /* $langorigname,$this->transposh->options->get_widget_css_flags() */)
|
379 |
+
// DOC THIS BUGBUG fix!
|
380 |
+
. '<input type="hidden" name="languages[]" value="' . $langcode . ($this->transposh->options->is_active_language($langcode) ? ",v" : ",") . '" />'
|
381 |
. ' <span class="langname">' . $langorigname . '</span><span class="langname hidden">' . $langname . '</span></div>';
|
382 |
if (in_array($langcode, transposh_consts::$google_languages))
|
383 |
echo '<img width="16" height="16" alt="g" class="logoicon" title="' . esc_attr__('Language supported by google translate', TRANSPOSH_TEXT_DOMAIN) . '" src="' . $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_IMG . '/googleicon.png"/>';
|
398 |
echo '<li><a href="#" id="selectall">' . __('Make all languages active', TRANSPOSH_TEXT_DOMAIN) . '</a></li>';
|
399 |
echo '<li><a href="#" id="sortname">' . __('Sort by language name', TRANSPOSH_TEXT_DOMAIN) . '</a></li>';
|
400 |
echo '<li><a href="#" id="sortiso">' . __('Sort by lSO code', TRANSPOSH_TEXT_DOMAIN) . '</a></li></ul>';
|
|
|
401 |
echo '</div>';
|
402 |
}
|
403 |
|
404 |
+
// Show normal settings
|
405 |
+
function tp_settings() {
|
406 |
+
$this->section(__('Translation related settings', TRANSPOSH_TEXT_DOMAIN));
|
|
|
|
|
|
|
|
|
|
|
407 |
|
|
|
|
|
|
|
|
|
|
|
|
|
408 |
/*
|
409 |
* Insert permissions section in the admin page
|
410 |
*/
|
411 |
+
$this->header(__('Who can translate ?', TRANSPOSH_TEXT_DOMAIN));
|
412 |
//display known roles and their permission to translate
|
413 |
foreach ($GLOBALS['wp_roles']->get_names() as $role_name => $something) {
|
414 |
+
echo '<input type="checkbox" value="1" name="' . $role_name . '" ' . checked($this->can_translate($role_name), true, false) .
|
415 |
'/> ' . _x(ucfirst($role_name), 'User role') . ' ';
|
416 |
}
|
417 |
//Add our own custom role
|
418 |
+
echo '<input id="tr_anon" type="checkbox" value="1" name="anonymous" ' . checked($this->can_translate('anonymous'), true, false) . '/> ' . __('Anonymous', TRANSPOSH_TEXT_DOMAIN);
|
419 |
+
|
420 |
+
$this->checkbox($this->transposh->options->enable_default_translate_o, __('Enable default language translation', TRANSPOSH_TEXT_DOMAIN)
|
421 |
+
, __('Allow translation of default language - useful for sites with more than one major language', TRANSPOSH_TEXT_DOMAIN));
|
422 |
+
$this->checkbox($this->transposh->options->enable_search_translate_o, __('Enable search in translated languages', TRANSPOSH_TEXT_DOMAIN)
|
423 |
+
, __('Allow search of translated languages (and the original language)', TRANSPOSH_TEXT_DOMAIN));
|
424 |
+
$this->checkbox($this->transposh->options->transposh_gettext_integration_o, __('Enable gettext integration', TRANSPOSH_TEXT_DOMAIN)
|
425 |
+
, __('Enable integration of Transposh with existing gettext interface (.po/.mo files)', TRANSPOSH_TEXT_DOMAIN));
|
426 |
+
|
427 |
+
$this->checkbox($this->transposh->options->transposh_locale_override_o, __('Enable override for default locale', TRANSPOSH_TEXT_DOMAIN)
|
428 |
+
, __('Enable overriding the default locale that is set in WP_LANG on default languages pages (such as untranslated pages and admin pages)', TRANSPOSH_TEXT_DOMAIN));
|
429 |
+
$this->sectionstop();
|
430 |
+
|
431 |
+
$this->section(__('General settings', TRANSPOSH_TEXT_DOMAIN));
|
432 |
+
$this->checkbox($this->transposh->options->enable_permalinks_o, __('Rewrite URLs', TRANSPOSH_TEXT_DOMAIN)
|
433 |
+
, __('Rewrite URLs to be search engine friendly, ' .
|
434 |
+
'e.g. (http://transposh.org/<strong>en</strong>). ' .
|
435 |
+
'Requires that permalinks will be enabled.', TRANSPOSH_TEXT_DOMAIN));
|
436 |
+
$this->checkbox($this->transposh->options->enable_footer_scripts_o, __('Add scripts to footer', TRANSPOSH_TEXT_DOMAIN)
|
437 |
+
, __('Push transposh scripts to footer of page instead of header, makes pages load faster. ' .
|
438 |
+
'Requires that your theme should have proper footer support.', TRANSPOSH_TEXT_DOMAIN));
|
439 |
+
$this->checkbox($this->transposh->options->enable_detect_redirect_o, __('Auto detect language for users', TRANSPOSH_TEXT_DOMAIN)
|
440 |
+
, __('This enables auto detection of language used by the user as defined in the ACCEPT_LANGUAGES they send. ' .
|
441 |
+
'This will redirect the first page accessed in the session to the same page with the detected language.', TRANSPOSH_TEXT_DOMAIN));
|
442 |
+
$this->checkbox($this->transposh->options->transposh_collect_stats_o, __('Allow collecting usage statistics', TRANSPOSH_TEXT_DOMAIN)
|
443 |
+
, __('This option enables collection of statistics by transposh that will be used to improve the product.', TRANSPOSH_TEXT_DOMAIN));
|
444 |
+
|
445 |
+
/* WIP2
|
446 |
+
echo '<a href="http://transposh.org/services/index.php?flags='.$flags.'">Gen sprites</a>'; */
|
447 |
+
$this->sectionstop();
|
448 |
+
|
449 |
+
$this->section(__('Backup service settings', TRANSPOSH_TEXT_DOMAIN));
|
450 |
+
echo '<input type="radio" value="1" name="' . $this->transposh->options->transposh_backup_schedule_o->get_name() . '" ' . checked($this->transposh->options->transposh_backup_schedule, 1, false) . '/>' . __('Enable daily backup', TRANSPOSH_TEXT_DOMAIN) . '<br/>';
|
451 |
+
echo '<input type="radio" value="2" name="' . $this->transposh->options->transposh_backup_schedule_o->get_name() . '" ' . checked($this->transposh->options->transposh_backup_schedule, 2, false) . '/>' . __('Enable live backup', TRANSPOSH_TEXT_DOMAIN) . '<br/>';
|
452 |
+
echo '<input type="radio" value="0" name="' . $this->transposh->options->transposh_backup_schedule_o->get_name() . '" ' . checked($this->transposh->options->transposh_backup_schedule, 0, false) . '/>' . __('Disable backup (Can be run manually by clicking the button below)', TRANSPOSH_TEXT_DOMAIN) . '<br/>';
|
453 |
+
echo __('Service Key:', TRANSPOSH_TEXT_DOMAIN) . ' <input type="text" size="32" class="regular-text" ' . $this->transposh->options->transposh_key_o->post_value_id_name() . '/><a target="_blank" href="http://transposh.org/faq/#restore">' . __('How to restore?', TRANSPOSH_TEXT_DOMAIN) . '</a><br/>';
|
454 |
+
$this->sectionstop();
|
455 |
+
}
|
456 |
+
|
457 |
+
function tp_engines() {
|
458 |
+
$this->section(__('Automatic Translation Settings', TRANSPOSH_TEXT_DOMAIN));
|
459 |
+
$this->checkbox($this->transposh->options->enable_autotranslate_o, __('Enable automatic translation', TRANSPOSH_TEXT_DOMAIN)
|
460 |
+
, __('Allow automatic translation of pages', TRANSPOSH_TEXT_DOMAIN));
|
461 |
+
$this->checkbox($this->transposh->options->enable_autoposttranslate_o, __('Enable automatic translation after posting', TRANSPOSH_TEXT_DOMAIN)
|
462 |
+
, __('Do automatic translation immediately after a post has been published', TRANSPOSH_TEXT_DOMAIN));
|
463 |
+
$this->textinput($this->transposh->options->msn_key_o
|
464 |
+
, array('bingicon.png', __('MSN API key', TRANSPOSH_TEXT_DOMAIN))
|
465 |
+
, __('API Key', TRANSPOSH_TEXT_DOMAIN));
|
466 |
+
$this->textinput($this->transposh->options->google_key_o
|
467 |
+
, array('googleicon.png', __('Google API key', TRANSPOSH_TEXT_DOMAIN))
|
468 |
+
, __('API Key', TRANSPOSH_TEXT_DOMAIN));
|
469 |
+
$this->select($this->transposh->options->preferred_translator_o, __('Select preferred auto translation engine', TRANSPOSH_TEXT_DOMAIN)
|
470 |
+
, __('Translation engine:', TRANSPOSH_TEXT_DOMAIN), array(
|
471 |
+
1 => __('Google', TRANSPOSH_TEXT_DOMAIN),
|
472 |
+
2 => __('Bing', TRANSPOSH_TEXT_DOMAIN),
|
473 |
+
));
|
474 |
+
$this->sectionstop();
|
475 |
+
|
476 |
+
$this->section(__('Professional Translation Settings', TRANSPOSH_TEXT_DOMAIN), __('<a href="http://transposh.org/redir/oht">One Hour Translation</a>, is the largest professional translation service online, with thousands of business customers, including 57% of the Fortune 500 companies, and over 15000 translators worldwide.', TRANSPOSH_TEXT_DOMAIN) .
|
477 |
+
'<br/>' .
|
478 |
+
__('One Hour Translation provides high-quality, fast professional translation to/from any language, and has specific domain expertise in SW localization, technical, business, and legal translations.', TRANSPOSH_TEXT_DOMAIN));
|
479 |
+
|
480 |
+
|
481 |
+
$this->textinput($this->transposh->options->oht_id_o
|
482 |
+
, array('ohticon.png', __('One Hour Translation account ID', TRANSPOSH_TEXT_DOMAIN))
|
483 |
+
, __('Account ID', TRANSPOSH_TEXT_DOMAIN));
|
484 |
+
|
485 |
+
$this->textinput($this->transposh->options->oht_key_o
|
486 |
+
, array('ohticon.png', __('One Hour Translation secret key', TRANSPOSH_TEXT_DOMAIN))
|
487 |
+
, __('Account ID', TRANSPOSH_TEXT_DOMAIN));
|
488 |
+
|
489 |
+
$oht = get_option(TRANSPOSH_OPTIONS_OHT, array());
|
490 |
+
if (!empty($oht) && wp_next_scheduled('transposh_oht_event')) {
|
491 |
+
$timeforevent = floor((max(array(wp_next_scheduled('transposh_oht_event') - time(), 0))) / 60);
|
492 |
+
if ((max(array(wp_next_scheduled('transposh_oht_event') - time(), 0)))) {
|
493 |
+
$this->header(sprintf(__('%d phrases currently queued for next job in ~%d minutes', TRANSPOSH_TEXT_DOMAIN), sizeof($oht), $timeforevent));
|
494 |
+
}
|
495 |
+
}
|
496 |
+
$ohtp = get_option(TRANSPOSH_OPTIONS_OHT_PROJECTS, array());
|
497 |
+
if (!empty($ohtp)) {
|
498 |
+
$this->header(sprintf(__('%d projects have been submitted and waiting for completion', TRANSPOSH_TEXT_DOMAIN), sizeof($ohtp)));
|
499 |
+
}
|
500 |
+
$this->sectionstop();
|
501 |
+
}
|
502 |
+
|
503 |
+
function tp_widget() {
|
504 |
+
$this->checkbox($this->transposh->options->widget_progressbar_o, __('Show progress bar', TRANSPOSH_TEXT_DOMAIN)
|
505 |
+
, __('Show progress bar when a client triggers automatic translation', TRANSPOSH_TEXT_DOMAIN));
|
506 |
+
|
507 |
+
$this->checkbox($this->transposh->options->widget_allow_set_deflang_o, __('Allow user to set current language as default', TRANSPOSH_TEXT_DOMAIN)
|
508 |
+
, __('Widget will allow setting this language as user default', TRANSPOSH_TEXT_DOMAIN));
|
509 |
+
|
510 |
+
$this->checkbox($this->transposh->options->widget_remove_logo_o, __('Remove transposh logo (see <a href="http://transposh.org/logoterms">terms</a>)', TRANSPOSH_TEXT_DOMAIN)
|
511 |
+
, __('Transposh logo will not appear on widget', TRANSPOSH_TEXT_DOMAIN));
|
512 |
+
|
513 |
+
$this->select($this->transposh->options->widget_theme_o, __('Edit interface (and progress bar) theme:', TRANSPOSH_TEXT_DOMAIN), __('Edit interface (and progress bar) theme:', TRANSPOSH_TEXT_DOMAIN), transposh_consts::$jqueryui_themes, false);
|
514 |
+
}
|
515 |
+
|
516 |
+
function tp_advanced() {
|
517 |
+
$this->checkbox($this->transposh->options->enable_url_translate_o, __('Enable url translation', TRANSPOSH_TEXT_DOMAIN) . ' (' . __('experimental', TRANSPOSH_TEXT_DOMAIN) . ')', __('Allow translation of permalinks and urls', TRANSPOSH_TEXT_DOMAIN));
|
518 |
+
|
519 |
+
$this->section(__('Parser related settings', TRANSPOSH_TEXT_DOMAIN)
|
520 |
+
, __('This is extremely dangerous, will break your current translations, and might cause severe hickups, only proceed if you really know what you are doing.', TRANSPOSH_TEXT_DOMAIN));
|
521 |
+
$this->checkbox($this->transposh->options->parser_dont_break_puncts_o, __('Disable punctuations break', TRANSPOSH_TEXT_DOMAIN)
|
522 |
+
, __('The parser will not break text into phrases when encountering punctuations such as dots', TRANSPOSH_TEXT_DOMAIN));
|
523 |
+
$this->checkbox($this->transposh->options->parser_dont_break_numbers_o, __('Disable numbers break', TRANSPOSH_TEXT_DOMAIN)
|
524 |
+
, __('The parser will not break text into phrases when encountering numbers', TRANSPOSH_TEXT_DOMAIN));
|
525 |
+
$this->checkbox($this->transposh->options->parser_dont_break_entities_o, __('Disable html entities break', TRANSPOSH_TEXT_DOMAIN)
|
526 |
+
, __('The parser will not break text into phrases when encountering html entities', TRANSPOSH_TEXT_DOMAIN));
|
527 |
+
$this->sectionstop();
|
528 |
+
$this->section(__('Debug settings', TRANSPOSH_TEXT_DOMAIN)
|
529 |
+
, __('This is extremely dangerous, will break your current translations, and might cause severe hickups, only proceed if you really know what you are doing.', TRANSPOSH_TEXT_DOMAIN));
|
530 |
+
$this->checkbox($this->transposh->options->debug_enable_o, __('Enable debugging', TRANSPOSH_TEXT_DOMAIN)
|
531 |
+
, __('Enable running of Transposh internal debug functions', TRANSPOSH_TEXT_DOMAIN));
|
532 |
+
$this->textinput($this->transposh->options->debug_logfile_o, '', __('Log file name', TRANSPOSH_TEXT_DOMAIN));
|
533 |
+
$this->select($this->transposh->options->debug_loglevel_o, __('Level of logging', TRANSPOSH_TEXT_DOMAIN), __('Level of logging', TRANSPOSH_TEXT_DOMAIN), array(
|
534 |
+
1 => __('Critical', TRANSPOSH_TEXT_DOMAIN),
|
535 |
+
2 => __('Important', TRANSPOSH_TEXT_DOMAIN),
|
536 |
+
3 => __('Warning', TRANSPOSH_TEXT_DOMAIN),
|
537 |
+
4 => __('Information', TRANSPOSH_TEXT_DOMAIN),
|
538 |
+
5 => __('Debug', TRANSPOSH_TEXT_DOMAIN),
|
539 |
+
));
|
540 |
+
$this->textinput($this->transposh->options->debug_remoteip_o, '', sprintf(__('Remote debug IP (Your current IP is %s)', TRANSPOSH_TEXT_DOMAIN), $_SERVER['REMOTE_ADDR']));
|
541 |
+
$this->sectionstop();
|
542 |
+
}
|
543 |
+
|
544 |
+
//
|
545 |
+
function tp_utils() {
|
546 |
+
echo '<div id="backup_result"></div>';
|
547 |
+
echo '<div style="margin:10px 0"><a id="transposh-backup" href="#" class="button">' . __('Do Backup Now', TRANSPOSH_TEXT_DOMAIN) . '</a></div>';
|
548 |
|
549 |
/*
|
550 |
+
* Insert buttons allowing removal of automated translations from database and maintenence
|
|
|
551 |
*/
|
552 |
+
echo '<div style="margin:10px 0"><a id="transposh-reset-options" href="#" nonce="' . wp_create_nonce('transposh-clean') . '" class="button">' . __('Reset configuration to default (saves keys)', TRANSPOSH_TEXT_DOMAIN) . '</a></div>';
|
553 |
+
echo '<div style="margin:10px 0"><a id="transposh-clean-auto" href="#" nonce="' . wp_create_nonce('transposh-clean') . '" class="button">' . __('Delete all automated translations', TRANSPOSH_TEXT_DOMAIN) . '</a></div>';
|
554 |
+
echo '<div style="margin:10px 0"><a id="transposh-clean-auto14" href="#" nonce="' . wp_create_nonce('transposh-clean') . '" class="button">' . __('Delete automated translations older than 14 days', TRANSPOSH_TEXT_DOMAIN) . '</a></div>';
|
555 |
+
echo '<div style="margin:10px 0"><a id="transposh-maint" href="#" nonce="' . wp_create_nonce('transposh-clean') . '" class="button">' . __('Attempt to fix errors caused by previous versions - please backup first', TRANSPOSH_TEXT_DOMAIN) . '</a></div>';
|
556 |
|
557 |
+
echo '<div id="progress_bar_all"></div><div id="tr_translate_title"></div>';
|
558 |
+
echo '<div id="tr_loading" style="margin: 0 0 10px 0">' . __('Translate by clicking the button below', TRANSPOSH_TEXT_DOMAIN) . '</div>';
|
559 |
+
echo '<div id="tr_allmsg" style="margin: 0 0 10px 0"></div>';
|
560 |
+
echo '<a id="transposh-translate" href="#" onclick="return false;" class="button">' . __('Translate All Now', TRANSPOSH_TEXT_DOMAIN) . '</a><br/>';
|
561 |
+
//get_posts
|
562 |
+
}
|
563 |
|
564 |
+
function tp_about() {
|
|
|
|
|
|
|
|
|
|
|
565 |
|
566 |
+
$this->section(__('About Transposh', TRANSPOSH_TEXT_DOMAIN));
|
567 |
+
echo __('Transposh was started at 2008 and is dedicated to provide tools to ease website translation.', TRANSPOSH_TEXT_DOMAIN);
|
568 |
+
echo '<br/>';
|
569 |
+
echo __('Learn more about us in the following online presenses', TRANSPOSH_TEXT_DOMAIN);
|
570 |
+
echo '<ul style="list-style-type:disc;margin-' . $this->localeleft . ':20px;">';
|
571 |
+
echo '<li><a href="http://transposh.org">';
|
572 |
+
echo __('Our website', TRANSPOSH_TEXT_DOMAIN);
|
573 |
+
echo '</a></li><li><a href="http://blog.transposh.com">';
|
574 |
+
echo __('Our blog', TRANSPOSH_TEXT_DOMAIN);
|
575 |
+
echo '</a></li><li><a href="http://twitter.com/transposh">';
|
576 |
+
echo __('Our twitter account (feel free to follow!)', TRANSPOSH_TEXT_DOMAIN);
|
577 |
+
echo '</a></li><li><a href="https://www.facebook.com/transposh">';
|
578 |
+
echo __('Our facebook page (feel free to like!)', TRANSPOSH_TEXT_DOMAIN);
|
579 |
+
echo '</a></li><li><a href="https://plus.google.com/103680503574339351392/posts">';
|
580 |
+
echo __('Our google plus page (add us to your circles!)', TRANSPOSH_TEXT_DOMAIN);
|
581 |
+
echo '</a></li><li><a href="http://www.youtube.com/user/transposh">';
|
582 |
+
echo __('Our youtube channel', TRANSPOSH_TEXT_DOMAIN);
|
583 |
+
echo '</a></li></ul>';
|
584 |
+
|
585 |
+
|
586 |
+
$this->sectionstop();
|
587 |
+
}
|
588 |
+
|
589 |
+
function tp_support() {
|
590 |
+
echo '<p>';
|
591 |
+
$this->section(__('Transposh support', TRANSPOSH_TEXT_DOMAIN)
|
592 |
+
, __('Have you encountered any problem with our plugin and need our help?', TRANSPOSH_TEXT_DOMAIN) . '<br>' .
|
593 |
+
__('Do you need to ask us any question?', TRANSPOSH_TEXT_DOMAIN) . '<br>' .
|
594 |
+
__('You have two options:', TRANSPOSH_TEXT_DOMAIN) . '<br>');
|
595 |
+
$this->sectionstop();
|
596 |
+
$this->header(__('Our free support', TRANSPOSH_TEXT_DOMAIN));
|
597 |
+
echo '<div class="col-wrap">';
|
598 |
+
echo __('There are many channels to reach us and we do try to help as fast as we can', TRANSPOSH_TEXT_DOMAIN) . '<br>';
|
599 |
+
echo __('You can contact us through our contact form on our web site', TRANSPOSH_TEXT_DOMAIN) . '<br>';
|
600 |
+
echo __('Create a ticket for us if you have found any bugs', TRANSPOSH_TEXT_DOMAIN) . '<br>';
|
601 |
+
echo __('Reach us via different forums:', TRANSPOSH_TEXT_DOMAIN);
|
602 |
+
echo '<ul style="list-style-type:disc;margin-' . $this->localeleft . ':20px;">';
|
603 |
+
echo '<li><a href="http://wordpress.org/support/plugin/transposh-translation-filter-for-wordpress">';
|
604 |
+
echo __('Our support forum on wordpress.org', TRANSPOSH_TEXT_DOMAIN);
|
605 |
+
echo '<li><a href="http://trac.transposh.org">';
|
606 |
+
echo __('Our internal development site, with wiki and tickets', TRANSPOSH_TEXT_DOMAIN);
|
607 |
+
echo '</a></li><li><a href="https://www.facebook.com/transposh">';
|
608 |
+
echo __('Our facebook page', TRANSPOSH_TEXT_DOMAIN);
|
609 |
+
echo '</a></li><li><a href="https://plus.google.com/103680503574339351392/posts">';
|
610 |
+
echo __('Our google plus page', TRANSPOSH_TEXT_DOMAIN);
|
611 |
+
echo '</a></li></ul>';
|
612 |
+
echo __('Contact us directly via:', TRANSPOSH_TEXT_DOMAIN);
|
613 |
+
echo '<ul style="list-style-type:disc;margin-' . $this->localeleft . ':20px;">';
|
614 |
+
echo '<li><a href="http://transposh.org/contact-us/">' . __('Our contact form', TRANSPOSH_TEXT_DOMAIN) . '</a></li>';
|
615 |
+
echo '<li><a href="http://transposh.org/redir/newfeature">' . __('Suggest a Feature', TRANSPOSH_TEXT_DOMAIN) . '</a></li>';
|
616 |
+
echo '<li><a href="http://transposh.org/redir/newticket">' . __('Report a Bug', TRANSPOSH_TEXT_DOMAIN) . '</a></li>';
|
617 |
+
echo '</ul>';
|
618 |
|
619 |
+
echo '</div>';
|
620 |
+
$this->header(__('Professional support option', TRANSPOSH_TEXT_DOMAIN));
|
621 |
+
echo '<div class="col-wrap">';
|
622 |
+
echo __('For the low low price of $99, we will take express action on your request. By express we mean that your issue will become our top priority, and will resolve ASAP', TRANSPOSH_TEXT_DOMAIN) . '<br>';
|
623 |
+
echo __('This includes helping with various bugs, basic theme/plugins conflicts, or just telling you where the ON button is', TRANSPOSH_TEXT_DOMAIN) . '<br>';
|
624 |
+
echo __('Full money back guarentee! If your problem remains unresolved or you are simply unhappy we will refund your paypal account as soon as you ask (as long as paypal allows it, don\'t come to us three years later!)', TRANSPOSH_TEXT_DOMAIN) . '<br>';
|
625 |
+
echo __('So hit the following button. Thanks!', TRANSPOSH_TEXT_DOMAIN) . '<br>';
|
626 |
+
echo '<br/>
|
627 |
+
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
|
628 |
+
<input type="hidden" name="cmd" value="_s-xclick">
|
629 |
+
<input type="hidden" name="hosted_button_id" value="KCCE87P7B2MG8">
|
630 |
+
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_paynow_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
|
631 |
+
<img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
|
632 |
+
</form>
|
633 |
+
';
|
634 |
+
echo '</div>';
|
635 |
+
$this->header(__('Donations', TRANSPOSH_TEXT_DOMAIN));
|
636 |
+
echo '<div class="col-wrap">';
|
637 |
+
echo __('If you just want to show that you care, this is the button for you. But please think twice before doing this. It will make us happier if you just do something nice for someone in your area, contribute to a local charity, and let us know that you did that :)', TRANSPOSH_TEXT_DOMAIN) . '<br>';
|
638 |
+
echo '<br/>
|
639 |
+
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
|
640 |
+
<input type="hidden" name="cmd" value="_s-xclick">
|
641 |
+
<input type="hidden" name="hosted_button_id" value="4E52WJ8WDK79J">
|
642 |
+
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
|
643 |
+
<img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
|
644 |
+
</form>';
|
645 |
+
echo '</div>';
|
646 |
}
|
647 |
|
648 |
+
// executed if the post arrives initiated by pressing the submit button of form
|
649 |
+
function on_save_changes() {
|
650 |
+
//user permission check
|
651 |
+
if (!current_user_can('manage_options'))
|
652 |
+
wp_die(__('Problems?', TRANSPOSH_TEXT_DOMAIN));
|
653 |
+
// cross check the given referer
|
654 |
+
check_admin_referer(TR_NONCE);
|
655 |
|
656 |
+
// process here your on $_POST validation and / or option saving
|
657 |
+
$this->update_admin_options();
|
|
|
|
|
|
|
658 |
|
659 |
+
// lets redirect the post request into get request (you may add additional params at the url, if you need to show save results
|
660 |
+
$this->transposh->tp_redirect($_POST['_wp_http_referer']);
|
661 |
+
}
|
|
|
|
|
662 |
|
663 |
+
// below you will find for each registered metabox the callback method, that produces the content inside the boxes
|
664 |
+
// i did not describe each callback dedicated, what they do can be easily inspected and compare with the admin page displayed
|
|
|
|
|
|
|
665 |
|
666 |
+
function on_sidebox_news_content() {
|
667 |
+
echo '<div style="margin:6px">';
|
668 |
+
wp_widget_rss_output('http://feeds2.feedburner.com/transposh', array('items' => 5));
|
669 |
+
echo '</div>';
|
670 |
+
}
|
671 |
|
672 |
+
function on_sidebox_stats_content() {
|
673 |
+
$this->transposh->database->db_stats();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
674 |
}
|
675 |
|
676 |
+
/** UTILITY FUNCTIONS * */
|
677 |
+
private function section($head, $text = '') {
|
678 |
+
echo '<h2>' . $head . '</h2>';
|
679 |
+
echo '<div class="col-wrap">';
|
680 |
+
if ($text) echo '<p>' . $text . '</p>';
|
681 |
+
}
|
682 |
|
683 |
+
private function sectionstop() {
|
684 |
+
echo '</div>';
|
685 |
+
}
|
|
|
|
|
686 |
|
687 |
+
private function header($head) {
|
688 |
+
if (!isset($head)) return;
|
689 |
+
if (is_array($head)) {
|
690 |
+
echo "<h3><img width=\"16\" height=\"16\" src=\"{$this->transposh->transposh_plugin_url}/img/{$head[0]}\"> {$head[1]}</h3>";
|
691 |
+
} else {
|
692 |
+
echo '<h3>' . $head . '</h3>';
|
|
|
|
|
|
|
|
|
693 |
}
|
694 |
}
|
695 |
|
696 |
+
/**
|
697 |
+
* Display a checkbox for boolean value
|
698 |
+
* @param transposh_option $tpo A transposh option boolean object
|
699 |
+
* @param string $head
|
700 |
+
* @param string $text
|
701 |
+
*/
|
702 |
+
private function checkbox($tpo, $head, $text) {
|
703 |
+
$this->header($head);
|
704 |
+
echo '<input type="checkbox" value="1" name="' . $tpo->get_name() . '" ' . checked($tpo->get_value(), true, false) . '/> ' . $text;
|
705 |
+
}
|
706 |
|
707 |
+
/**
|
708 |
+
* Display a select
|
709 |
+
* @param transposh_option $tpo
|
710 |
+
* @param string $label
|
711 |
+
* @param array $options
|
712 |
+
* @param boolean $use_key
|
713 |
+
*/
|
714 |
+
private function select($tpo, $head, $label, $options, $use_key = true) {
|
715 |
+
$this->header($head);
|
716 |
+
echo '<label for="' . $tpo->get_name() . '">' . $label .
|
717 |
+
'<select name="' . $tpo->get_name() . '">';
|
718 |
+
foreach ($options as $key => $text) {
|
719 |
+
echo '<option value="' . ($use_key ? $key : $text) . '"' . selected($tpo->get_value(), ($use_key ? $key : $text), false) . '>' . $text . '</option>';
|
720 |
}
|
721 |
echo '</select>' .
|
722 |
'</label>';
|
723 |
}
|
724 |
|
725 |
+
private function textinput($tpo, $head, $label, $length = 35) {
|
726 |
+
$this->header($head);
|
727 |
+
echo $label . ': <input type="text" size="' . $length . '" class="regular-text" ' . $tpo->post_value_id_name() . '/>';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
728 |
}
|
729 |
|
730 |
+
/** UTILITY FUNCTIONS END * */
|
731 |
+
function notices() {
|
732 |
+
if ((int) ini_get('memory_limit') < 64) {
|
733 |
+
$this->add_warning('tp_mem_warning', sprintf(__('Your current PHP memory limit of %s is quite low, if you experience blank pages please consider increasing it.', TRANSPOSH_TEXT_DOMAIN), ini_get('memory_limit')) . ' <a href="http://transposh.org/faq#blankpages">' . __('Check Transposh FAQs', TRANSPOSH_TEXT_DOMAIN) . '</a>');
|
734 |
+
}
|
|
|
|
|
|
|
735 |
|
736 |
+
if ($this->page && !(class_exists('Memcache') /* !!&& $this->memcache->connect(TP_MEMCACHED_SRV, TP_MEMCACHED_PORT) */) && !function_exists('apc_fetch') && !function_exists('xcache_get') && !function_exists('eaccelerator_get')) {
|
737 |
+
$this->add_warning('tp_cache_warning', __('We were not able to find a supported in-memory caching engine, installing one can improve performance.', TRANSPOSH_TEXT_DOMAIN) . ' <a href="http://transposh.org/faq#performance">' . __('Check Transposh FAQs', TRANSPOSH_TEXT_DOMAIN) . '</a>', 'updated');
|
738 |
+
}
|
|
|
|
|
|
|
|
|
|
|
739 |
}
|
740 |
|
741 |
+
function add_warning($id, $message, $level = 'error') {
|
742 |
if (!$this->transposh->options->get_transposh_admin_hide_warning($id)) {
|
743 |
+
//$this->add_warning_script();
|
744 |
+
wp_enqueue_script('transposh_warningclose', $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_JS . '/admin/warningclose.js', array('jquery'), TRANSPOSH_PLUGIN_VER, true);
|
745 |
+
echo '<div class="' . $level . '"><p>⚠ ' .
|
746 |
$message .
|
747 |
+
'<a id="' . $id . '" href="#" class="warning-close" style="float:' . $this->localeright . '; margin-' . $this->localeleft . ': .3em;">' . __('Hide Notice', TRANSPOSH_TEXT_DOMAIN) . '</a>' .
|
748 |
+
'</p></div>';
|
749 |
}
|
750 |
}
|
751 |
|
767 |
die(); // this is required to return a proper result
|
768 |
}
|
769 |
|
770 |
+
function on_ajax_tp_reset() {
|
771 |
+
$this->transposh->options->reset_options();
|
772 |
+
die();
|
773 |
+
}
|
774 |
+
|
775 |
function on_ajax_tp_backup() {
|
776 |
$this->transposh->run_backup();
|
777 |
die();
|
@@ -1,14 +1,14 @@
|
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
-
* Transposh v0.
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
* Copyright 2012, Team Transposh
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
-
* Date:
|
12 |
*/
|
13 |
|
14 |
/*
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
+
* Transposh v0.9.0
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
* Copyright 2012, Team Transposh
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
+
* Date: Wed, 12 Dec 2012 22:23:17 +0200
|
12 |
*/
|
13 |
|
14 |
/*
|
@@ -1,14 +1,14 @@
|
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
-
* Transposh v0.
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
* Copyright 2012, Team Transposh
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
-
* Date:
|
12 |
*/
|
13 |
|
14 |
/*
|
@@ -33,9 +33,9 @@ class transposh_backup {
|
|
33 |
function init_body() {
|
34 |
$body = array();
|
35 |
$body['home_url'] = $this->transposh->home_url;
|
36 |
-
$body['key'] = $this->transposh->options->
|
37 |
$body['v'] = '2';
|
38 |
-
$body['tpv'] = '0.
|
39 |
return $body;
|
40 |
}
|
41 |
|
@@ -58,10 +58,9 @@ class transposh_backup {
|
|
58 |
echo '500 - ' . $result['headers']['fail'];
|
59 |
return;
|
60 |
}
|
61 |
-
if ($this->transposh->options->
|
62 |
-
$this->transposh->options->
|
63 |
// TODO: deliever new gottenkey to client side?
|
64 |
-
//echo $this->transposh->options->get_transposh_key();
|
65 |
$this->transposh->options->update_options();
|
66 |
}
|
67 |
if (isset($result['headers']['lastitem'])) {
|
@@ -118,7 +117,7 @@ class transposh_backup {
|
|
118 |
function do_restore() {
|
119 |
$body['to'] = time(); //TODO: fix this to get from DB
|
120 |
$body['home_url'] = $this->transposh->home_url;
|
121 |
-
$body['key'] = $this->transposh->options->
|
122 |
$result = wp_remote_get(TRANSPOSH_RESTORE_SERVICE_URL . "?to={$body['to']}&key={$body['key']}&home_url={$body['home_url']}"); // gotta be a better way...
|
123 |
$lines = split("[\n|\r]", $result['body']);
|
124 |
foreach ($lines as $line) {
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
+
* Transposh v0.9.0
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
* Copyright 2012, Team Transposh
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
+
* Date: Wed, 12 Dec 2012 22:23:17 +0200
|
12 |
*/
|
13 |
|
14 |
/*
|
33 |
function init_body() {
|
34 |
$body = array();
|
35 |
$body['home_url'] = $this->transposh->home_url;
|
36 |
+
$body['key'] = $this->transposh->options->transposh_key;
|
37 |
$body['v'] = '2';
|
38 |
+
$body['tpv'] = '0.9.0';
|
39 |
return $body;
|
40 |
}
|
41 |
|
58 |
echo '500 - ' . $result['headers']['fail'];
|
59 |
return;
|
60 |
}
|
61 |
+
if ($this->transposh->options->transposh_key == "") {
|
62 |
+
$this->transposh->options->transposh_key = $result['headers']['transposh-key'];
|
63 |
// TODO: deliever new gottenkey to client side?
|
|
|
64 |
$this->transposh->options->update_options();
|
65 |
}
|
66 |
if (isset($result['headers']['lastitem'])) {
|
117 |
function do_restore() {
|
118 |
$body['to'] = time(); //TODO: fix this to get from DB
|
119 |
$body['home_url'] = $this->transposh->home_url;
|
120 |
+
$body['key'] = $this->transposh->options->transposh_key;
|
121 |
$result = wp_remote_get(TRANSPOSH_RESTORE_SERVICE_URL . "?to={$body['to']}&key={$body['key']}&home_url={$body['home_url']}"); // gotta be a better way...
|
122 |
$lines = split("[\n|\r]", $result['body']);
|
123 |
foreach ($lines as $line) {
|
@@ -1,14 +1,14 @@
|
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
-
* Transposh v0.
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
* Copyright 2012, Team Transposh
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
-
* Date:
|
12 |
*/
|
13 |
|
14 |
/**
|
@@ -58,14 +58,17 @@ class transposh_database {
|
|
58 |
$this->translation_log_table = $GLOBALS['wpdb']->prefix . TRANSLATIONS_LOG;
|
59 |
|
60 |
if (class_exists('Memcache')) {
|
61 |
-
|
|
|
62 |
$this->memcache_working = true;
|
63 |
$this->memcache = new Memcache;
|
64 |
@$this->memcache->connect(TP_MEMCACHED_SRV, TP_MEMCACHED_PORT) or $this->memcache_working = false;
|
|
|
|
|
65 |
}
|
66 |
// I have space in keys issues...
|
67 |
/* elseif (class_exists('Memcached')) {
|
68 |
-
|
69 |
$this->memcache_working = true;
|
70 |
$this->memcache = new Memcached();
|
71 |
//if (!count($this->memcache->getServerList())) {
|
@@ -73,7 +76,7 @@ class transposh_database {
|
|
73 |
// }
|
74 |
//@$this->memcache->connect(TP_MEMCACHED_SRV, TP_MEMCACHED_PORT) or $this->memcache_working = false;
|
75 |
} */
|
76 |
-
|
77 |
}
|
78 |
|
79 |
/**
|
@@ -88,23 +91,23 @@ class transposh_database {
|
|
88 |
$key = $lang . '_' . $original;
|
89 |
if ($this->memcache_working) {
|
90 |
$cached = $this->memcache->get($key);
|
91 |
-
|
92 |
} elseif (function_exists('apc_fetch')) {
|
93 |
$cached = apc_fetch($key, $rc);
|
94 |
if ($rc === false) return false;
|
95 |
-
|
96 |
} elseif (function_exists('xcache_get')) {
|
97 |
$rc = @xcache_isset($key);
|
98 |
if ($rc === false) return false;
|
99 |
$cached = @xcache_get($key);
|
100 |
-
|
101 |
} elseif (function_exists('eaccelerator_get')) {
|
102 |
$cached = eaccelerator_get($key);
|
103 |
if ($cached === null) return false;
|
104 |
//TODO - unfortunantly null storing does not work here..
|
105 |
-
|
106 |
}
|
107 |
-
|
108 |
if ($cached !== null && $cached !== false)
|
109 |
$cached = explode('_', $cached, 2);
|
110 |
return $cached;
|
@@ -134,9 +137,9 @@ class transposh_database {
|
|
134 |
}
|
135 |
|
136 |
if ($rc) {
|
137 |
-
|
138 |
} else {
|
139 |
-
|
140 |
}
|
141 |
return $rc;
|
142 |
}
|
@@ -182,7 +185,7 @@ class transposh_database {
|
|
182 |
*/
|
183 |
function prefetch_translations($originals, $lang) {
|
184 |
if (!$originals) return;
|
185 |
-
|
186 |
$where = '';
|
187 |
foreach ($originals as $original => $truth) {
|
188 |
$original = $GLOBALS['wpdb']->escape(html_entity_decode($original, ENT_NOQUOTES, 'UTF-8'));
|
@@ -194,7 +197,7 @@ class transposh_database {
|
|
194 |
$where .= ( ($where) ? ' OR ' : '') . "original = '$original'";
|
195 |
}
|
196 |
// make sure $lang is reasonable, unless someone is messing with us, it will be ok
|
197 |
-
if (!($this->transposh->options->
|
198 |
|
199 |
// If we have nothing, we will do nothing
|
200 |
if (!$where) return;
|
@@ -207,7 +210,7 @@ class transposh_database {
|
|
207 |
$ro = $GLOBALS['wpdb']->escape(html_entity_decode($row['original'], ENT_NOQUOTES, 'UTF-8'));
|
208 |
$this->translations[$ro] = array($row['source'], stripslashes($row['translated']));
|
209 |
}
|
210 |
-
|
211 |
}
|
212 |
|
213 |
/**
|
@@ -220,30 +223,29 @@ class transposh_database {
|
|
220 |
*/
|
221 |
function fetch_translation($original, $lang) {
|
222 |
$translated = null;
|
223 |
-
|
224 |
//The original is saved in db in its escaped form
|
225 |
$original = $GLOBALS['wpdb']->escape(html_entity_decode($original, ENT_NOQUOTES, 'UTF-8'));
|
226 |
// first we look in the cache
|
227 |
$cached = $this->cache_fetch($original, $lang);
|
228 |
if ($cached !== false) {
|
229 |
-
|
230 |
return $cached;
|
231 |
}
|
232 |
// then we look for a prefetch
|
233 |
if (isset($this->translations[$original])) {
|
234 |
$translated = $this->translations[$original];
|
235 |
-
|
236 |
} else {
|
237 |
// make sure $lang is reasonable, unless someone is messing with us, it will be ok
|
238 |
-
if (!($this->transposh->options->
|
239 |
-
return;
|
240 |
$query = "SELECT * FROM {$this->translation_table} WHERE original = '$original' and lang = '$lang' ";
|
241 |
$row = $GLOBALS['wpdb']->get_row($query);
|
242 |
|
243 |
if ($row !== null) {
|
244 |
$translated_text = stripslashes($row->translated);
|
245 |
$translated = array($row->source, $translated_text);
|
246 |
-
|
247 |
}
|
248 |
}
|
249 |
// we can store the result in the cache (or the fact we don't have one)
|
@@ -262,35 +264,35 @@ class transposh_database {
|
|
262 |
*/
|
263 |
function fetch_original($translation, $lang) {
|
264 |
$original = null;
|
265 |
-
|
266 |
|
267 |
// The translation is saved in db in its escaped form
|
268 |
$translation = $GLOBALS['wpdb']->escape(html_entity_decode($translation, ENT_NOQUOTES, 'UTF-8'));
|
269 |
// The translation might be cached (notice the additional postfix)
|
270 |
list($rev, $cached) = $this->cache_fetch('R_' . $translation, $lang);
|
271 |
if ($rev == 'r') {
|
272 |
-
|
273 |
return $cached;
|
274 |
}
|
275 |
// lang
|
276 |
// FIXME - no prefetching for originals yet...
|
277 |
if ($this->translations[$translation]) {
|
278 |
$original = $this->translations[$translation];
|
279 |
-
|
280 |
} else {
|
281 |
$query = "SELECT * FROM {$this->translation_table} WHERE translated = '$translation' and lang = '$lang' ";
|
282 |
$row = $GLOBALS['wpdb']->get_row($query);
|
283 |
|
284 |
if ($row !== null) {
|
285 |
$original = stripslashes($row->original);
|
286 |
-
|
287 |
}
|
288 |
}
|
289 |
|
290 |
// we can store the result in the cache (or the fact we don't have one)
|
291 |
$this->cache_store('R_' . $translation, $lang, array('r', $original), TP_CACHE_TTL);
|
292 |
|
293 |
-
|
294 |
return $original;
|
295 |
}
|
296 |
|
@@ -308,9 +310,9 @@ class transposh_database {
|
|
308 |
$lang = $_POST['ln0'];
|
309 |
$source = $_POST['sr0'];
|
310 |
// check params
|
311 |
-
|
312 |
if (!isset($items) || !isset($lang)) {
|
313 |
-
|
314 |
return;
|
315 |
}
|
316 |
|
@@ -320,15 +322,15 @@ class transposh_database {
|
|
320 |
$all_editable = true;
|
321 |
for ($i = 0; $i < $items; $i++) {
|
322 |
if (isset($_POST["ln$i"])) {
|
323 |
-
if (!$this->transposh->options->
|
324 |
$all_editable = false;
|
325 |
break;
|
326 |
}
|
327 |
}
|
328 |
}
|
329 |
if (!$by && !($all_editable &&
|
330 |
-
($this->transposh->is_translator() || ($source > 0 && $this->transposh->options->
|
331 |
-
|
332 |
header("HTTP/1.0 401 Unauthorized translation");
|
333 |
exit;
|
334 |
}
|
@@ -380,7 +382,7 @@ class transposh_database {
|
|
380 |
|
381 |
// we attempt to avoid
|
382 |
if (isset($alreadybatched[$original . '---' . $lang])) {
|
383 |
-
|
384 |
continue;
|
385 |
}
|
386 |
$alreadybatched[$original . '---' . $lang] = true;
|
@@ -391,12 +393,12 @@ class transposh_database {
|
|
391 |
list($old_source, $translated_text) = $this->fetch_translation($original, $lang);
|
392 |
if ($translated_text) {
|
393 |
if ($source > 0) {
|
394 |
-
|
395 |
continue;
|
396 |
//return; // too harsh, we just need to get to the next in for
|
397 |
}
|
398 |
if ($translation == $GLOBALS['wpdb']->escape(htmlspecialchars(stripslashes(urldecode($translated_text)))) && $old_source == $source) {
|
399 |
-
|
400 |
continue;
|
401 |
//return; // too harsh, we just need to get to the next in for
|
402 |
}
|
@@ -421,10 +423,10 @@ class transposh_database {
|
|
421 |
VALUES $values"; */
|
422 |
//so we'll delete all values and insert them...
|
423 |
$update = "DELETE FROM " . $this->translation_table . " WHERE $delvalues";
|
424 |
-
|
425 |
$result = $GLOBALS['wpdb']->query($update);
|
426 |
$update = "INSERT INTO " . $this->translation_table . " (original, translated, lang, source) VALUES $values";
|
427 |
-
|
428 |
$result = $GLOBALS['wpdb']->query($update);
|
429 |
|
430 |
// if the insertion worked, we will update the transaction log
|
@@ -432,10 +434,10 @@ class transposh_database {
|
|
432 |
$log = "INSERT INTO " . $this->translation_log_table . " (original, translated, lang, translated_by, source) " .
|
433 |
"VALUES $logvalues";
|
434 |
$result = $GLOBALS['wpdb']->query($log);
|
435 |
-
|
436 |
} else {
|
437 |
-
|
438 |
-
|
439 |
header("HTTP/1.0 404 Failed to update language database " . mysql_error());
|
440 |
}
|
441 |
|
@@ -447,7 +449,7 @@ class transposh_database {
|
|
447 |
|
448 |
// TODO: move this to an action
|
449 |
// Should we backup now?
|
450 |
-
if ($backup_immidiate_possible && $this->transposh->options->
|
451 |
$this->transposh->run_backup();
|
452 |
}
|
453 |
// this is a termination for the ajax sequence
|
@@ -462,24 +464,24 @@ class transposh_database {
|
|
462 |
|
463 |
$ref = getenv('HTTP_REFERER');
|
464 |
$original = transposh_utils::base64_url_decode($token);
|
465 |
-
|
466 |
|
467 |
// check params
|
468 |
-
|
469 |
if (!isset($original) || !isset($lang)) {
|
470 |
-
|
471 |
return;
|
472 |
}
|
473 |
-
|
474 |
|
475 |
// Check permissions, first the lanugage must be on the edit list. Then either the user
|
476 |
// is a translator or automatic translation if it is enabled.
|
477 |
-
if (!($this->transposh->options->
|
478 |
-
|
479 |
header('HTTP/1.0 401 Unauthorized history');
|
480 |
exit;
|
481 |
}
|
482 |
-
|
483 |
|
484 |
// The original content is encoded as base64 before it is sent (i.e. token), after we
|
485 |
// decode it should just the same after it was parsed.
|
@@ -493,7 +495,7 @@ class transposh_database {
|
|
493 |
"LEFT JOIN {$GLOBALS['wpdb']->prefix}users ON translated_by = {$GLOBALS['wpdb']->prefix}users.id " .
|
494 |
"WHERE original='$original' AND lang='$lang' " .
|
495 |
"ORDER BY timestamp DESC";
|
496 |
-
|
497 |
|
498 |
$rows = $GLOBALS['wpdb']->get_results($query);
|
499 |
for ($i = 0; $i < count($rows); $i++) {
|
@@ -524,7 +526,7 @@ class transposh_database {
|
|
524 |
"WHERE original='$original' AND lang='$lang' AND timestamp='$timestamp' " .
|
525 |
"ORDER BY timestamp DESC";
|
526 |
$rows = $GLOBALS['wpdb']->get_results($query);
|
527 |
-
|
528 |
// We only delete if we found something to delete and it is allowed to delete it (user either did that - by ip, has the translator role or is an admin)
|
529 |
if (!empty($rows) && (($rows[0]->translated_by == $_SERVER['REMOTE_ADDR'] && $rows[0]->source == '0') || (is_user_logged_in() && current_user_can(TRANSLATOR)) || current_user_can('manage_options'))) {
|
530 |
// delete faulty record
|
@@ -532,26 +534,26 @@ class transposh_database {
|
|
532 |
"FROM {$this->translation_log_table} " .
|
533 |
"WHERE original='$original' AND lang='$lang' AND timestamp='$timestamp'";
|
534 |
$GLOBALS['wpdb']->query($query);
|
535 |
-
|
536 |
// retrieve last translation
|
537 |
$query = "SELECT translated, source " .
|
538 |
"FROM {$this->translation_log_table} " .
|
539 |
"WHERE original='$original' AND lang='$lang' " .
|
540 |
"ORDER BY timestamp DESC";
|
541 |
$rows = $GLOBALS['wpdb']->get_results($query);
|
542 |
-
|
543 |
|
544 |
// delete and revert to last in database
|
545 |
$delvalues = "(original ='$original' AND lang='$lang')";
|
546 |
$update = "DELETE FROM " . $this->translation_table . " WHERE $delvalues";
|
547 |
$this->cache_delete($original, $lang);
|
548 |
-
|
549 |
$result = $GLOBALS['wpdb']->query($update);
|
550 |
if (!empty($rows)) {
|
551 |
$translated = $GLOBALS['wpdb']->escape($rows[0]->translated);
|
552 |
$values = "('" . $original . "','" . $translated . "','" . $lang . "','" . $rows[0]->source . "')";
|
553 |
$update = "INSERT INTO " . $this->translation_table . " (original, translated, lang, source) VALUES $values";
|
554 |
-
|
555 |
$result = $GLOBALS['wpdb']->query($update);
|
556 |
} else {
|
557 |
// there is nothing to revert to...
|
@@ -572,7 +574,7 @@ class transposh_database {
|
|
572 |
|
573 |
//$ref = getenv('HTTP_REFERER');
|
574 |
$original = transposh_utils::base64_url_decode($token);
|
575 |
-
|
576 |
|
577 |
if (!isset($original)) {
|
578 |
exit;
|
@@ -580,11 +582,11 @@ class transposh_database {
|
|
580 |
|
581 |
// Check permissions
|
582 |
if (!($this->transposh->is_translator())) {
|
583 |
-
|
584 |
header('HTTP/1.0 401 Unauthorized alt request');
|
585 |
exit;
|
586 |
}
|
587 |
-
|
588 |
|
589 |
// The original content is encoded as base64 before it is sent (i.e. token), after we
|
590 |
// decode it should just the same after it was parsed.
|
@@ -599,7 +601,7 @@ class transposh_database {
|
|
599 |
"FROM {$this->translation_table} " .
|
600 |
"WHERE original='$original' AND source=0 " .
|
601 |
"ORDER BY lang";
|
602 |
-
|
603 |
$rows = $GLOBALS['wpdb']->get_results($query);
|
604 |
|
605 |
echo json_encode($rows);
|
@@ -621,7 +623,7 @@ class transposh_database {
|
|
621 |
"FROM {$this->translation_log_table} " .
|
622 |
"WHERE source= 0 $dateterm " .
|
623 |
"ORDER BY timestamp ASC $limitterm";
|
624 |
-
|
625 |
|
626 |
$rows = $GLOBALS['wpdb']->get_results($query);
|
627 |
return $rows;
|
@@ -632,13 +634,13 @@ class transposh_database {
|
|
632 |
*/
|
633 |
|
634 |
function setup_db($force = false) {
|
635 |
-
|
636 |
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
|
637 |
|
638 |
$installed_ver = get_option(TRANSPOSH_DB_VERSION);
|
639 |
|
640 |
if ($installed_ver != DB_VERSION || $force) {
|
641 |
-
|
642 |
// notice - keep every field on a new line or dbdelta fails
|
643 |
$GLOBALS['wpdb']->query("ALTER TABLE {$this->translation_table} DROP PRIMARY KEY");
|
644 |
$sql = "CREATE TABLE {$this->translation_table} (
|
@@ -652,7 +654,7 @@ class transposh_database {
|
|
652 |
dbDelta($sql);
|
653 |
$GLOBALS['wpdb']->query("ALTER TABLE {$this->translation_table} CONVERT TO CHARSET utf8 COLLATE utf8_bin");
|
654 |
|
655 |
-
|
656 |
// notice - keep every field on a new line or dbdelta fails
|
657 |
// this should be removed in a far future...
|
658 |
$GLOBALS['wpdb']->query("ALTER TABLE {$this->translation_log_table} DROP PRIMARY KEY");
|
@@ -672,7 +674,7 @@ class transposh_database {
|
|
672 |
update_option(TRANSPOSH_DB_VERSION, DB_VERSION);
|
673 |
}
|
674 |
|
675 |
-
|
676 |
}
|
677 |
|
678 |
/**
|
@@ -718,7 +720,7 @@ class transposh_database {
|
|
718 |
" WHERE `lang` = '$language'" .
|
719 |
" AND `translated` LIKE '{$n}{$term}{$n}'";
|
720 |
//TODO wait for feedbacks to see if we should put a limit here.
|
721 |
-
|
722 |
$result = array();
|
723 |
if (strlen($term) < 3) return $result;
|
724 |
$rows = $GLOBALS['wpdb']->get_results($query);
|
@@ -758,7 +760,7 @@ class transposh_database {
|
|
758 |
' WHERE ' . $this->translation_table . '.source > 0' .
|
759 |
" AND timestamp < SUBDATE(NOW(),$days)";
|
760 |
$result = $GLOBALS['wpdb']->query($cleanup);
|
761 |
-
|
762 |
// clean up cache so that results will actually show
|
763 |
$this->cache_clean();
|
764 |
exit;
|
@@ -773,7 +775,7 @@ class transposh_database {
|
|
773 |
' GROUP BY `original` , `lang` , `translated` , `translated_by` , `timestamp` , `source`' .
|
774 |
' HAVING count( * ) >1';
|
775 |
$rows = $GLOBALS['wpdb']->get_results($dedup);
|
776 |
-
|
777 |
foreach ($rows as $row) {
|
778 |
$row->original = $GLOBALS['wpdb']->escape($row->original);
|
779 |
$row->translated = $GLOBALS['wpdb']->escape($row->translated);
|
@@ -781,11 +783,11 @@ class transposh_database {
|
|
781 |
$delvalues = "(original ='{$row->original}' AND lang='{$row->lang}' AND translated='{$row->translated}'" .
|
782 |
" AND translated_by='{$row->translated_by}' AND timestamp='{$row->timestamp}' AND source='{$row->source}')";
|
783 |
$update = "DELETE FROM " . $this->translation_log_table . " WHERE $delvalues";
|
784 |
-
|
785 |
$result = $GLOBALS['wpdb']->query($update);
|
786 |
$values = "('{$row->original}','{$row->lang}','{$row->translated}','$row->translated_by','$row->timestamp','$row->source')";
|
787 |
$update = "INSERT INTO " . $this->translation_log_table . " (original, lang, translated, translated_by, timestamp, source) VALUES $values";
|
788 |
-
|
789 |
$result = $GLOBALS['wpdb']->query($update);
|
790 |
$this->cache_delete($row->original, $row->lang);
|
791 |
}
|
@@ -800,7 +802,7 @@ class transposh_database {
|
|
800 |
' AND w2.source >0' .
|
801 |
' AND w1.timestamp < w2.timestamp';
|
802 |
$rows = $GLOBALS['wpdb']->get_results($autojunk);
|
803 |
-
|
804 |
foreach ($rows as $row) {
|
805 |
$row->original = $GLOBALS['wpdb']->escape($row->original);
|
806 |
$row->translated = $GLOBALS['wpdb']->escape($row->translated);
|
@@ -809,7 +811,7 @@ class transposh_database {
|
|
809 |
" AND translated_by='{$row->translated_by}' AND timestamp='{$row->timestamp}' AND source='{$row->source}')";
|
810 |
$update = "DELETE FROM " . $this->translation_log_table . " WHERE $delvalues";
|
811 |
$result = $GLOBALS['wpdb']->query($update);
|
812 |
-
|
813 |
$this->cache_delete($row->original, $row->lang);
|
814 |
}
|
815 |
|
@@ -819,7 +821,7 @@ class transposh_database {
|
|
819 |
' GROUP BY `original` , `lang`' .
|
820 |
' HAVING count( * ) >1';
|
821 |
$rows = $GLOBALS['wpdb']->get_results($dedup);
|
822 |
-
|
823 |
foreach ($rows as $row) {
|
824 |
$row->original = $GLOBALS['wpdb']->escape($row->original);
|
825 |
$row->lang = $GLOBALS['wpdb']->escape($row->lang);
|
@@ -827,13 +829,13 @@ class transposh_database {
|
|
827 |
if ($source != NULL) {
|
828 |
$delvalues = "(original ='{$row->original}' AND lang='{$row->lang}')";
|
829 |
$update = "DELETE FROM " . $this->translation_table . " WHERE $delvalues";
|
830 |
-
|
831 |
$result = $GLOBALS['wpdb']->query($update);
|
832 |
$row->translated = $GLOBALS['wpdb']->escape($translation);
|
833 |
$row->source = $GLOBALS['wpdb']->escape($source);
|
834 |
$values = "('{$row->original}','{$row->lang}','{$row->translated}','$row->source')";
|
835 |
$update = "INSERT INTO " . $this->translation_table . " (original, lang, translated, source) VALUES $values";
|
836 |
-
|
837 |
$result = $GLOBALS['wpdb']->query($update);
|
838 |
}
|
839 |
$this->cache_delete($row->original, $row->lang);
|
@@ -867,13 +869,13 @@ class transposh_database {
|
|
867 |
' GROUP BY original, lang' .
|
868 |
' HAVING count( * ) >1';
|
869 |
$rows = $GLOBALS['wpdb']->get_results($duptrans);
|
870 |
-
|
871 |
foreach ($rows as $row) {
|
872 |
$row->original = $GLOBALS['wpdb']->escape($row->original);
|
873 |
$delvalues = "(original ='{$row->original}' AND lang='{$row->lang}')";
|
874 |
$row->original = $GLOBALS['wpdb']->escape($row->original);
|
875 |
$update = "DELETE FROM " . $this->translation_log_table . " WHERE $delvalues";
|
876 |
-
|
877 |
// $result = $GLOBALS['wpdb']->query($update);
|
878 |
} */
|
879 |
$this->cache_clean();
|
@@ -896,21 +898,21 @@ class transposh_database {
|
|
896 |
$logvalues .= "('" . $original . "','" . $translation . "','" . $lang . "','" . $by . "',FROM_UNIXTIME(" . $timestamp . "),'" . $source . "')";
|
897 |
|
898 |
$update = "DELETE FROM " . $this->translation_table . " WHERE $delvalues";
|
899 |
-
|
900 |
$result = $GLOBALS['wpdb']->query($update);
|
901 |
$update = "INSERT INTO " . $this->translation_table . " (original, translated, lang, source) VALUES $values";
|
902 |
-
|
903 |
$result = $GLOBALS['wpdb']->query($update);
|
904 |
|
905 |
if ($result !== FALSE) {
|
906 |
// update the transaction log too
|
907 |
$log = "INSERT INTO " . $this->translation_log_table . " (original, translated, lang, translated_by, timestamp, source) " .
|
908 |
"VALUES $logvalues";
|
909 |
-
|
910 |
$result = $GLOBALS['wpdb']->query($log);
|
911 |
} else {
|
912 |
-
|
913 |
-
|
914 |
header("HTTP/1.0 404 Failed to update language database " . mysql_error());
|
915 |
}
|
916 |
}
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
+
* Transposh v0.9.0
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
* Copyright 2012, Team Transposh
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
+
* Date: Wed, 12 Dec 2012 22:23:17 +0200
|
12 |
*/
|
13 |
|
14 |
/**
|
58 |
$this->translation_log_table = $GLOBALS['wpdb']->prefix . TRANSLATIONS_LOG;
|
59 |
|
60 |
if (class_exists('Memcache')) {
|
61 |
+
if ($this->transposh->options->debug_enable)
|
62 |
+
tp_logger('Trying pecl-Memcache!', 3);
|
63 |
$this->memcache_working = true;
|
64 |
$this->memcache = new Memcache;
|
65 |
@$this->memcache->connect(TP_MEMCACHED_SRV, TP_MEMCACHED_PORT) or $this->memcache_working = false;
|
66 |
+
if ($this->transposh->options->debug_enable && $this->memcache_working)
|
67 |
+
tp_logger('Memcache seems working');
|
68 |
}
|
69 |
// I have space in keys issues...
|
70 |
/* elseif (class_exists('Memcached')) {
|
71 |
+
tp_logger('I am using pecl-Memcached!', 3);
|
72 |
$this->memcache_working = true;
|
73 |
$this->memcache = new Memcached();
|
74 |
//if (!count($this->memcache->getServerList())) {
|
76 |
// }
|
77 |
//@$this->memcache->connect(TP_MEMCACHED_SRV, TP_MEMCACHED_PORT) or $this->memcache_working = false;
|
78 |
} */
|
79 |
+
//tp_logger($this->memcache_working); // TODO!! make sure it does something
|
80 |
}
|
81 |
|
82 |
/**
|
91 |
$key = $lang . '_' . $original;
|
92 |
if ($this->memcache_working) {
|
93 |
$cached = $this->memcache->get($key);
|
94 |
+
tp_logger('memcached ' . $key . ' ' . $cached, 5);
|
95 |
} elseif (function_exists('apc_fetch')) {
|
96 |
$cached = apc_fetch($key, $rc);
|
97 |
if ($rc === false) return false;
|
98 |
+
tp_logger('apc', 5);
|
99 |
} elseif (function_exists('xcache_get')) {
|
100 |
$rc = @xcache_isset($key);
|
101 |
if ($rc === false) return false;
|
102 |
$cached = @xcache_get($key);
|
103 |
+
tp_logger('xcache', 5);
|
104 |
} elseif (function_exists('eaccelerator_get')) {
|
105 |
$cached = eaccelerator_get($key);
|
106 |
if ($cached === null) return false;
|
107 |
//TODO - unfortunantly null storing does not work here..
|
108 |
+
tp_logger('eaccelerator', 5);
|
109 |
}
|
110 |
+
tp_logger("Cache fetched: $original => $cached", 4);
|
111 |
if ($cached !== null && $cached !== false)
|
112 |
$cached = explode('_', $cached, 2);
|
113 |
return $cached;
|
137 |
}
|
138 |
|
139 |
if ($rc) {
|
140 |
+
tp_logger("Stored in cache: $original => {$translated}", 4);
|
141 |
} else {
|
142 |
+
tp_logger("Didn't cache: $original => {$translated}", 4);
|
143 |
}
|
144 |
return $rc;
|
145 |
}
|
185 |
*/
|
186 |
function prefetch_translations($originals, $lang) {
|
187 |
if (!$originals) return;
|
188 |
+
tp_logger($originals, 4);
|
189 |
$where = '';
|
190 |
foreach ($originals as $original => $truth) {
|
191 |
$original = $GLOBALS['wpdb']->escape(html_entity_decode($original, ENT_NOQUOTES, 'UTF-8'));
|
197 |
$where .= ( ($where) ? ' OR ' : '') . "original = '$original'";
|
198 |
}
|
199 |
// make sure $lang is reasonable, unless someone is messing with us, it will be ok
|
200 |
+
if (!($this->transposh->options->is_active_language($lang))) return;
|
201 |
|
202 |
// If we have nothing, we will do nothing
|
203 |
if (!$where) return;
|
210 |
$ro = $GLOBALS['wpdb']->escape(html_entity_decode($row['original'], ENT_NOQUOTES, 'UTF-8'));
|
211 |
$this->translations[$ro] = array($row['source'], stripslashes($row['translated']));
|
212 |
}
|
213 |
+
tp_logger('prefetched: ' . count($this->translations), 5);
|
214 |
}
|
215 |
|
216 |
/**
|
223 |
*/
|
224 |
function fetch_translation($original, $lang) {
|
225 |
$translated = null;
|
226 |
+
tp_logger("Fetching for: $original-$lang", 4);
|
227 |
//The original is saved in db in its escaped form
|
228 |
$original = $GLOBALS['wpdb']->escape(html_entity_decode($original, ENT_NOQUOTES, 'UTF-8'));
|
229 |
// first we look in the cache
|
230 |
$cached = $this->cache_fetch($original, $lang);
|
231 |
if ($cached !== false) {
|
232 |
+
tp_logger("Exit from cache: {$cached[0]} {$cached[1]}", 4);
|
233 |
return $cached;
|
234 |
}
|
235 |
// then we look for a prefetch
|
236 |
if (isset($this->translations[$original])) {
|
237 |
$translated = $this->translations[$original];
|
238 |
+
tp_logger("prefetch result for $original >>> {$this->translations[$original][0]} ({$this->translations[$original][1]})", 4);
|
239 |
} else {
|
240 |
// make sure $lang is reasonable, unless someone is messing with us, it will be ok
|
241 |
+
if (!($this->transposh->options->is_active_language($lang))) return;
|
|
|
242 |
$query = "SELECT * FROM {$this->translation_table} WHERE original = '$original' and lang = '$lang' ";
|
243 |
$row = $GLOBALS['wpdb']->get_row($query);
|
244 |
|
245 |
if ($row !== null) {
|
246 |
$translated_text = stripslashes($row->translated);
|
247 |
$translated = array($row->source, $translated_text);
|
248 |
+
tp_logger("db result for $original >>> $translated_text ($lang) ({$row->source})", 4);
|
249 |
}
|
250 |
}
|
251 |
// we can store the result in the cache (or the fact we don't have one)
|
264 |
*/
|
265 |
function fetch_original($translation, $lang) {
|
266 |
$original = null;
|
267 |
+
tp_logger("Enter: $translation", 4);
|
268 |
|
269 |
// The translation is saved in db in its escaped form
|
270 |
$translation = $GLOBALS['wpdb']->escape(html_entity_decode($translation, ENT_NOQUOTES, 'UTF-8'));
|
271 |
// The translation might be cached (notice the additional postfix)
|
272 |
list($rev, $cached) = $this->cache_fetch('R_' . $translation, $lang);
|
273 |
if ($rev == 'r') {
|
274 |
+
tp_logger("Exit from cache: $translation $cached", 4);
|
275 |
return $cached;
|
276 |
}
|
277 |
// lang
|
278 |
// FIXME - no prefetching for originals yet...
|
279 |
if ($this->translations[$translation]) {
|
280 |
$original = $this->translations[$translation];
|
281 |
+
tp_logger("prefetch result for $translation >>> {$this->translations[$translation][0]} ({$this->translations[$translation][1]})", 3);
|
282 |
} else {
|
283 |
$query = "SELECT * FROM {$this->translation_table} WHERE translated = '$translation' and lang = '$lang' ";
|
284 |
$row = $GLOBALS['wpdb']->get_row($query);
|
285 |
|
286 |
if ($row !== null) {
|
287 |
$original = stripslashes($row->original);
|
288 |
+
tp_logger("db result for $translation >>> $original ($lang) ({$row->source})", 4);
|
289 |
}
|
290 |
}
|
291 |
|
292 |
// we can store the result in the cache (or the fact we don't have one)
|
293 |
$this->cache_store('R_' . $translation, $lang, array('r', $original), TP_CACHE_TTL);
|
294 |
|
295 |
+
tp_logger("Exit: $translation/$original", 4);
|
296 |
return $original;
|
297 |
}
|
298 |
|
310 |
$lang = $_POST['ln0'];
|
311 |
$source = $_POST['sr0'];
|
312 |
// check params
|
313 |
+
tp_logger("Enter " . __FILE__ . " Params: $items, $lang, $ref", 5);
|
314 |
if (!isset($items) || !isset($lang)) {
|
315 |
+
tp_logger("Enter " . __FILE__ . " missing Params: $items, $lang, $ref", 1);
|
316 |
return;
|
317 |
}
|
318 |
|
322 |
$all_editable = true;
|
323 |
for ($i = 0; $i < $items; $i++) {
|
324 |
if (isset($_POST["ln$i"])) {
|
325 |
+
if (!$this->transposh->options->is_active_language($_POST["ln$i"])) {
|
326 |
$all_editable = false;
|
327 |
break;
|
328 |
}
|
329 |
}
|
330 |
}
|
331 |
if (!$by && !($all_editable &&
|
332 |
+
($this->transposh->is_translator() || ($source > 0 && $this->transposh->options->enable_autotranslate)))) {
|
333 |
+
tp_logger("Unauthorized translation attempt " . $_SERVER['REMOTE_ADDR'], 1);
|
334 |
header("HTTP/1.0 401 Unauthorized translation");
|
335 |
exit;
|
336 |
}
|
382 |
|
383 |
// we attempt to avoid
|
384 |
if (isset($alreadybatched[$original . '---' . $lang])) {
|
385 |
+
tp_logger("Warning same item appeared twice in batch: $original $lang", 1);
|
386 |
continue;
|
387 |
}
|
388 |
$alreadybatched[$original . '---' . $lang] = true;
|
393 |
list($old_source, $translated_text) = $this->fetch_translation($original, $lang);
|
394 |
if ($translated_text) {
|
395 |
if ($source > 0) {
|
396 |
+
tp_logger("Warning auto-translation for already translated: $original $lang", 1);
|
397 |
continue;
|
398 |
//return; // too harsh, we just need to get to the next in for
|
399 |
}
|
400 |
if ($translation == $GLOBALS['wpdb']->escape(htmlspecialchars(stripslashes(urldecode($translated_text)))) && $old_source == $source) {
|
401 |
+
tp_logger("Warning attempt to retranslate with same text: $original, $translation", 1);
|
402 |
continue;
|
403 |
//return; // too harsh, we just need to get to the next in for
|
404 |
}
|
423 |
VALUES $values"; */
|
424 |
//so we'll delete all values and insert them...
|
425 |
$update = "DELETE FROM " . $this->translation_table . " WHERE $delvalues";
|
426 |
+
tp_logger($update, 3);
|
427 |
$result = $GLOBALS['wpdb']->query($update);
|
428 |
$update = "INSERT INTO " . $this->translation_table . " (original, translated, lang, source) VALUES $values";
|
429 |
+
tp_logger($update, 3);
|
430 |
$result = $GLOBALS['wpdb']->query($update);
|
431 |
|
432 |
// if the insertion worked, we will update the transaction log
|
434 |
$log = "INSERT INTO " . $this->translation_log_table . " (original, translated, lang, translated_by, source) " .
|
435 |
"VALUES $logvalues";
|
436 |
$result = $GLOBALS['wpdb']->query($log);
|
437 |
+
tp_logger("Inserted to db '$values'", 3);
|
438 |
} else {
|
439 |
+
tp_logger(mysql_error(), 1);
|
440 |
+
tp_logger("Error !!! failed to insert to db $original , $translation, $lang,", 1);
|
441 |
header("HTTP/1.0 404 Failed to update language database " . mysql_error());
|
442 |
}
|
443 |
|
449 |
|
450 |
// TODO: move this to an action
|
451 |
// Should we backup now?
|
452 |
+
if ($backup_immidiate_possible && $this->transposh->options->transposh_backup_schedule == 2) {
|
453 |
$this->transposh->run_backup();
|
454 |
}
|
455 |
// this is a termination for the ajax sequence
|
464 |
|
465 |
$ref = getenv('HTTP_REFERER');
|
466 |
$original = transposh_utils::base64_url_decode($token);
|
467 |
+
tp_logger("Inside history for $original ($token)", 4);
|
468 |
|
469 |
// check params
|
470 |
+
tp_logger("Enter " . __FILE__ . " Params: $original , $lang, $ref", 3);
|
471 |
if (!isset($original) || !isset($lang)) {
|
472 |
+
tp_logger("Enter " . __FILE__ . " missing params: $original, $lang," . $ref, 1);
|
473 |
return;
|
474 |
}
|
475 |
+
tp_logger("Passed check for $lang", 4);
|
476 |
|
477 |
// Check permissions, first the lanugage must be on the edit list. Then either the user
|
478 |
// is a translator or automatic translation if it is enabled.
|
479 |
+
if (!($this->transposh->options->is_active_language($lang) && $this->transposh->is_translator())) {
|
480 |
+
tp_logger("Unauthorized history request " . $_SERVER['REMOTE_ADDR'], 1);
|
481 |
header('HTTP/1.0 401 Unauthorized history');
|
482 |
exit;
|
483 |
}
|
484 |
+
tp_logger('Passed check for editable and translator', 4);
|
485 |
|
486 |
// The original content is encoded as base64 before it is sent (i.e. token), after we
|
487 |
// decode it should just the same after it was parsed.
|
495 |
"LEFT JOIN {$GLOBALS['wpdb']->prefix}users ON translated_by = {$GLOBALS['wpdb']->prefix}users.id " .
|
496 |
"WHERE original='$original' AND lang='$lang' " .
|
497 |
"ORDER BY timestamp DESC";
|
498 |
+
tp_logger("query is $query");
|
499 |
|
500 |
$rows = $GLOBALS['wpdb']->get_results($query);
|
501 |
for ($i = 0; $i < count($rows); $i++) {
|
526 |
"WHERE original='$original' AND lang='$lang' AND timestamp='$timestamp' " .
|
527 |
"ORDER BY timestamp DESC";
|
528 |
$rows = $GLOBALS['wpdb']->get_results($query);
|
529 |
+
tp_logger($query, 3);
|
530 |
// We only delete if we found something to delete and it is allowed to delete it (user either did that - by ip, has the translator role or is an admin)
|
531 |
if (!empty($rows) && (($rows[0]->translated_by == $_SERVER['REMOTE_ADDR'] && $rows[0]->source == '0') || (is_user_logged_in() && current_user_can(TRANSLATOR)) || current_user_can('manage_options'))) {
|
532 |
// delete faulty record
|
534 |
"FROM {$this->translation_log_table} " .
|
535 |
"WHERE original='$original' AND lang='$lang' AND timestamp='$timestamp'";
|
536 |
$GLOBALS['wpdb']->query($query);
|
537 |
+
tp_logger($query, 3);
|
538 |
// retrieve last translation
|
539 |
$query = "SELECT translated, source " .
|
540 |
"FROM {$this->translation_log_table} " .
|
541 |
"WHERE original='$original' AND lang='$lang' " .
|
542 |
"ORDER BY timestamp DESC";
|
543 |
$rows = $GLOBALS['wpdb']->get_results($query);
|
544 |
+
tp_logger($query, 3);
|
545 |
|
546 |
// delete and revert to last in database
|
547 |
$delvalues = "(original ='$original' AND lang='$lang')";
|
548 |
$update = "DELETE FROM " . $this->translation_table . " WHERE $delvalues";
|
549 |
$this->cache_delete($original, $lang);
|
550 |
+
tp_logger($update, 3);
|
551 |
$result = $GLOBALS['wpdb']->query($update);
|
552 |
if (!empty($rows)) {
|
553 |
$translated = $GLOBALS['wpdb']->escape($rows[0]->translated);
|
554 |
$values = "('" . $original . "','" . $translated . "','" . $lang . "','" . $rows[0]->source . "')";
|
555 |
$update = "INSERT INTO " . $this->translation_table . " (original, translated, lang, source) VALUES $values";
|
556 |
+
tp_logger($update, 3);
|
557 |
$result = $GLOBALS['wpdb']->query($update);
|
558 |
} else {
|
559 |
// there is nothing to revert to...
|
574 |
|
575 |
//$ref = getenv('HTTP_REFERER');
|
576 |
$original = transposh_utils::base64_url_decode($token);
|
577 |
+
tp_logger("Inside alt for $original ($token)", 4);
|
578 |
|
579 |
if (!isset($original)) {
|
580 |
exit;
|
582 |
|
583 |
// Check permissions
|
584 |
if (!($this->transposh->is_translator())) {
|
585 |
+
tp_logger("Unauthorized alt request " . $_SERVER['REMOTE_ADDR'], 1);
|
586 |
header('HTTP/1.0 401 Unauthorized alt request');
|
587 |
exit;
|
588 |
}
|
589 |
+
tp_logger('Passed check for editable and translator', 4);
|
590 |
|
591 |
// The original content is encoded as base64 before it is sent (i.e. token), after we
|
592 |
// decode it should just the same after it was parsed.
|
601 |
"FROM {$this->translation_table} " .
|
602 |
"WHERE original='$original' AND source=0 " .
|
603 |
"ORDER BY lang";
|
604 |
+
tp_logger("query is $query");
|
605 |
$rows = $GLOBALS['wpdb']->get_results($query);
|
606 |
|
607 |
echo json_encode($rows);
|
623 |
"FROM {$this->translation_log_table} " .
|
624 |
"WHERE source= 0 $dateterm " .
|
625 |
"ORDER BY timestamp ASC $limitterm";
|
626 |
+
tp_logger("query is $query");
|
627 |
|
628 |
$rows = $GLOBALS['wpdb']->get_results($query);
|
629 |
return $rows;
|
634 |
*/
|
635 |
|
636 |
function setup_db($force = false) {
|
637 |
+
tp_logger("Enter");
|
638 |
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
|
639 |
|
640 |
$installed_ver = get_option(TRANSPOSH_DB_VERSION);
|
641 |
|
642 |
if ($installed_ver != DB_VERSION || $force) {
|
643 |
+
tp_logger("Attempting to create table {$this->translation_table}", 1);
|
644 |
// notice - keep every field on a new line or dbdelta fails
|
645 |
$GLOBALS['wpdb']->query("ALTER TABLE {$this->translation_table} DROP PRIMARY KEY");
|
646 |
$sql = "CREATE TABLE {$this->translation_table} (
|
654 |
dbDelta($sql);
|
655 |
$GLOBALS['wpdb']->query("ALTER TABLE {$this->translation_table} CONVERT TO CHARSET utf8 COLLATE utf8_bin");
|
656 |
|
657 |
+
tp_logger("Attempting to create table {$this->translation_log_table}", 1);
|
658 |
// notice - keep every field on a new line or dbdelta fails
|
659 |
// this should be removed in a far future...
|
660 |
$GLOBALS['wpdb']->query("ALTER TABLE {$this->translation_log_table} DROP PRIMARY KEY");
|
674 |
update_option(TRANSPOSH_DB_VERSION, DB_VERSION);
|
675 |
}
|
676 |
|
677 |
+
tp_logger("Exit");
|
678 |
}
|
679 |
|
680 |
/**
|
720 |
" WHERE `lang` = '$language'" .
|
721 |
" AND `translated` LIKE '{$n}{$term}{$n}'";
|
722 |
//TODO wait for feedbacks to see if we should put a limit here.
|
723 |
+
tp_logger($query, 4);
|
724 |
$result = array();
|
725 |
if (strlen($term) < 3) return $result;
|
726 |
$rows = $GLOBALS['wpdb']->get_results($query);
|
760 |
' WHERE ' . $this->translation_table . '.source > 0' .
|
761 |
" AND timestamp < SUBDATE(NOW(),$days)";
|
762 |
$result = $GLOBALS['wpdb']->query($cleanup);
|
763 |
+
tp_logger($cleanup, 4);
|
764 |
// clean up cache so that results will actually show
|
765 |
$this->cache_clean();
|
766 |
exit;
|
775 |
' GROUP BY `original` , `lang` , `translated` , `translated_by` , `timestamp` , `source`' .
|
776 |
' HAVING count( * ) >1';
|
777 |
$rows = $GLOBALS['wpdb']->get_results($dedup);
|
778 |
+
tp_logger($dedup, 3);
|
779 |
foreach ($rows as $row) {
|
780 |
$row->original = $GLOBALS['wpdb']->escape($row->original);
|
781 |
$row->translated = $GLOBALS['wpdb']->escape($row->translated);
|
783 |
$delvalues = "(original ='{$row->original}' AND lang='{$row->lang}' AND translated='{$row->translated}'" .
|
784 |
" AND translated_by='{$row->translated_by}' AND timestamp='{$row->timestamp}' AND source='{$row->source}')";
|
785 |
$update = "DELETE FROM " . $this->translation_log_table . " WHERE $delvalues";
|
786 |
+
tp_logger($update, 3);
|
787 |
$result = $GLOBALS['wpdb']->query($update);
|
788 |
$values = "('{$row->original}','{$row->lang}','{$row->translated}','$row->translated_by','$row->timestamp','$row->source')";
|
789 |
$update = "INSERT INTO " . $this->translation_log_table . " (original, lang, translated, translated_by, timestamp, source) VALUES $values";
|
790 |
+
tp_logger($update, 3);
|
791 |
$result = $GLOBALS['wpdb']->query($update);
|
792 |
$this->cache_delete($row->original, $row->lang);
|
793 |
}
|
802 |
' AND w2.source >0' .
|
803 |
' AND w1.timestamp < w2.timestamp';
|
804 |
$rows = $GLOBALS['wpdb']->get_results($autojunk);
|
805 |
+
tp_logger($autojunk, 3);
|
806 |
foreach ($rows as $row) {
|
807 |
$row->original = $GLOBALS['wpdb']->escape($row->original);
|
808 |
$row->translated = $GLOBALS['wpdb']->escape($row->translated);
|
811 |
" AND translated_by='{$row->translated_by}' AND timestamp='{$row->timestamp}' AND source='{$row->source}')";
|
812 |
$update = "DELETE FROM " . $this->translation_log_table . " WHERE $delvalues";
|
813 |
$result = $GLOBALS['wpdb']->query($update);
|
814 |
+
tp_logger($update, 3);
|
815 |
$this->cache_delete($row->original, $row->lang);
|
816 |
}
|
817 |
|
821 |
' GROUP BY `original` , `lang`' .
|
822 |
' HAVING count( * ) >1';
|
823 |
$rows = $GLOBALS['wpdb']->get_results($dedup);
|
824 |
+
tp_logger($dedup, 3);
|
825 |
foreach ($rows as $row) {
|
826 |
$row->original = $GLOBALS['wpdb']->escape($row->original);
|
827 |
$row->lang = $GLOBALS['wpdb']->escape($row->lang);
|
829 |
if ($source != NULL) {
|
830 |
$delvalues = "(original ='{$row->original}' AND lang='{$row->lang}')";
|
831 |
$update = "DELETE FROM " . $this->translation_table . " WHERE $delvalues";
|
832 |
+
tp_logger($update, 3);
|
833 |
$result = $GLOBALS['wpdb']->query($update);
|
834 |
$row->translated = $GLOBALS['wpdb']->escape($translation);
|
835 |
$row->source = $GLOBALS['wpdb']->escape($source);
|
836 |
$values = "('{$row->original}','{$row->lang}','{$row->translated}','$row->source')";
|
837 |
$update = "INSERT INTO " . $this->translation_table . " (original, lang, translated, source) VALUES $values";
|
838 |
+
tp_logger($update, 3);
|
839 |
$result = $GLOBALS['wpdb']->query($update);
|
840 |
}
|
841 |
$this->cache_delete($row->original, $row->lang);
|
869 |
' GROUP BY original, lang' .
|
870 |
' HAVING count( * ) >1';
|
871 |
$rows = $GLOBALS['wpdb']->get_results($duptrans);
|
872 |
+
tp_logger($duptrans, 3);
|
873 |
foreach ($rows as $row) {
|
874 |
$row->original = $GLOBALS['wpdb']->escape($row->original);
|
875 |
$delvalues = "(original ='{$row->original}' AND lang='{$row->lang}')";
|
876 |
$row->original = $GLOBALS['wpdb']->escape($row->original);
|
877 |
$update = "DELETE FROM " . $this->translation_log_table . " WHERE $delvalues";
|
878 |
+
tp_logger($update, 3);
|
879 |
// $result = $GLOBALS['wpdb']->query($update);
|
880 |
} */
|
881 |
$this->cache_clean();
|
898 |
$logvalues .= "('" . $original . "','" . $translation . "','" . $lang . "','" . $by . "',FROM_UNIXTIME(" . $timestamp . "),'" . $source . "')";
|
899 |
|
900 |
$update = "DELETE FROM " . $this->translation_table . " WHERE $delvalues";
|
901 |
+
tp_logger($update, 3);
|
902 |
$result = $GLOBALS['wpdb']->query($update);
|
903 |
$update = "INSERT INTO " . $this->translation_table . " (original, translated, lang, source) VALUES $values";
|
904 |
+
tp_logger($update, 3);
|
905 |
$result = $GLOBALS['wpdb']->query($update);
|
906 |
|
907 |
if ($result !== FALSE) {
|
908 |
// update the transaction log too
|
909 |
$log = "INSERT INTO " . $this->translation_log_table . " (original, translated, lang, translated_by, timestamp, source) " .
|
910 |
"VALUES $logvalues";
|
911 |
+
tp_logger($log, 3);
|
912 |
$result = $GLOBALS['wpdb']->query($log);
|
913 |
} else {
|
914 |
+
tp_logger(mysql_error(), 1);
|
915 |
+
tp_logger("Error !!! failed to insert to db $original , $translation, $lang,", 0);
|
916 |
header("HTTP/1.0 404 Failed to update language database " . mysql_error());
|
917 |
}
|
918 |
}
|
@@ -1,491 +1,339 @@
|
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
-
* Transposh v0.
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
* Copyright 2012, Team Transposh
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
-
* Date:
|
12 |
*/
|
13 |
|
14 |
-
//
|
15 |
-
|
16 |
-
//
|
17 |
-
|
18 |
-
define('
|
19 |
-
|
20 |
-
define('
|
21 |
-
//Wrap widget elements in an unordered list per #63 @since 0.3.7
|
22 |
-
define('OLD_WIDGET_IN_LIST', 'widget_in_list');
|
23 |
-
//Option to enable/disable msn translation
|
24 |
-
define('OLD_ENABLE_MSN_TRANSLATE', 'enable_msntranslate');
|
25 |
-
//Option defining transposh widget file used @since 0.5.6
|
26 |
-
define('OLD_WIDGET_FILE', 'widget_file'); //unset!!!
|
27 |
-
//Option to store the msn API key
|
28 |
-
define('MSN_TRANSLATE_KEY', 'msn_key');
|
29 |
-
//Option to store the msn API key
|
30 |
-
define('GOOGLE_TRANSLATE_KEY', 'google_key');
|
31 |
-
//Option to store the msn API key
|
32 |
-
define('OHT_TRANSLATE_ID', 'oht_id');
|
33 |
-
//Option to store the msn API key
|
34 |
-
define('OHT_TRANSLATE_KEY', 'oht_key');
|
35 |
-
|
36 |
-
//defines are used to avoid typos
|
37 |
-
//Option defining whether anonymous translation is allowed.
|
38 |
-
define('ANONYMOUS_TRANSLATION', 'allow_anonymous_translation');
|
39 |
-
//Option defining the list of currentlly viewable languages
|
40 |
-
define('VIEWABLE_LANGS', 'viewable_languages');
|
41 |
-
//Option defining the list of currentlly editable languages
|
42 |
-
define('EDITABLE_LANGS', 'editable_languages');
|
43 |
-
//Option defining the ordered list of languages @since 0.3.9
|
44 |
-
define('SORTED_LANGS', 'sorted_languages');
|
45 |
-
//Option to enable/disable auto translation
|
46 |
-
define('ENABLE_AUTO_TRANSLATE', 'enable_autotranslate');
|
47 |
-
//Option to enable/disable auto translation
|
48 |
-
define('ENABLE_AUTO_POST_TRANSLATE', 'enable_autoposttranslate');
|
49 |
-
//Option to store translator preference @since 0.4.2
|
50 |
-
define('PREFERRED_TRANSLATOR', 'preferred_translator');
|
51 |
-
//Option to enable/disable default language translation
|
52 |
-
define('ENABLE_DEFAULT_TRANSLATE', 'enable_default_translate');
|
53 |
-
//Option to enable/disable default language translation @since 0.3.6
|
54 |
-
define('ENABLE_SEARCH_TRANSLATE', 'enable_search_translate');
|
55 |
-
//Option to enable/disable url translation @since 0.5.3
|
56 |
-
define('ENABLE_URL_TRANSLATE', 'enable_url_translate');
|
57 |
-
//Make the gettext interface optional (@since 0.6.4)
|
58 |
-
define('TRANSPOSH_GETTEXT_INTEGRATION', 'transposh_gettext_integration');
|
59 |
-
//Allow override for default locale (@since 0.7.5)
|
60 |
-
define('TRANSPOSH_DEFAULT_LOCALE_OVERRIDE', 'transposh_locale_override');
|
61 |
-
//Option to enable/disable rewrite of permalinks
|
62 |
-
define('ENABLE_PERMALINKS', 'enable_permalinks');
|
63 |
-
//Option to enable/disable footer scripts (2.8 and up)
|
64 |
-
define('ENABLE_FOOTER_SCRIPTS', 'enable_footer_scripts');
|
65 |
-
//Option to enable detect and redirect language @since 0.3.8
|
66 |
-
define('ENABLE_DETECT_LANG_AND_REDIRECT', 'enable_detect_redirect');
|
67 |
-
//Option defining the default language
|
68 |
-
define('DEFAULT_LANG', 'default_language');
|
69 |
-
//Option allowing progress bar display
|
70 |
-
define('WIDGET_PROGRESSBAR', 'widget_progressbar');
|
71 |
-
//Allows user to set his default language per #63 @since 0.3.8
|
72 |
-
define('WIDGET_ALLOW_SET_DEFLANG', 'widget_allow_set_deflang');
|
73 |
-
//Allows removing of transposh logo in exchange for an ad @since 0.6.0
|
74 |
-
define('WIDGET_REMOVE_LOGO_FOR_AD', 'widget_remove_logo');
|
75 |
-
//Allows theming of the progressbar and edit window @since 0.7.0
|
76 |
-
define('WIDGET_THEME', 'widget_theme');
|
77 |
-
//Stores the site key to transposh services (backup @since 0.5.0)
|
78 |
-
define('TRANSPOSH_KEY', 'transposh_key');
|
79 |
-
//Stores the site key to transposh services (backup @since 0.5.0)
|
80 |
-
define('TRANSPOSH_BACKUP_SCHEDULE', 'transposh_backup_schedule');
|
81 |
-
//Stores hidden warnings (@since 0.7.6)
|
82 |
-
define('TRANSPOSH_ADMIN_HIDE_WARNINGS', 'transposh_admin_hide_warnings');
|
83 |
-
//Should I allow collecting of anonymous stats (@since 0.7.6)
|
84 |
-
define('TRANSPOSH_COLLECT_STATS', 'transposh_admin_hide_warnings');
|
85 |
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
/** @var boolean set to true if any option was changed */
|
92 |
-
private $changed = false;
|
93 |
-
|
94 |
-
function set_default_option_value($option, $value = '') {
|
95 |
-
if (!isset($this->options[$option])) $this->options[$option] = $value;
|
96 |
-
}
|
97 |
-
|
98 |
-
function transposh_plugin_options() {
|
99 |
-
|
100 |
-
// load them here
|
101 |
-
$this->options = get_option(TRANSPOSH_OPTIONS);
|
102 |
-
$this->set_default_option_value(ANONYMOUS_TRANSLATION, 1);
|
103 |
-
$this->set_default_option_value(ENABLE_SEARCH_TRANSLATE, 1);
|
104 |
-
$this->set_default_option_value(ENABLE_AUTO_TRANSLATE, 1);
|
105 |
-
$this->set_default_option_value(PREFERRED_TRANSLATOR, 1);
|
106 |
-
$this->set_default_option_value(TRANSPOSH_GETTEXT_INTEGRATION, 1);
|
107 |
-
$this->set_default_option_value(TRANSPOSH_DEFAULT_LOCALE_OVERRIDE, 1);
|
108 |
-
$this->set_default_option_value(VIEWABLE_LANGS);
|
109 |
-
$this->set_default_option_value(EDITABLE_LANGS);
|
110 |
-
//$this->set_default_option_value(SORTED_LANGS);
|
111 |
-
$this->set_default_option_value(ENABLE_AUTO_POST_TRANSLATE);
|
112 |
-
$this->set_default_option_value(ENABLE_DEFAULT_TRANSLATE);
|
113 |
-
$this->set_default_option_value(ENABLE_SEARCH_TRANSLATE);
|
114 |
-
$this->set_default_option_value(ENABLE_URL_TRANSLATE);
|
115 |
-
$this->set_default_option_value(ENABLE_PERMALINKS);
|
116 |
-
$this->set_default_option_value(ENABLE_FOOTER_SCRIPTS);
|
117 |
-
$this->set_default_option_value(ENABLE_DETECT_LANG_AND_REDIRECT);
|
118 |
-
$this->set_default_option_value(DEFAULT_LANG);
|
119 |
-
$this->set_default_option_value(WIDGET_PROGRESSBAR);
|
120 |
-
$this->set_default_option_value(WIDGET_ALLOW_SET_DEFLANG);
|
121 |
-
$this->set_default_option_value(WIDGET_REMOVE_LOGO_FOR_AD);
|
122 |
-
$this->set_default_option_value(WIDGET_THEME, 'ui-lightness');
|
123 |
-
$this->set_default_option_value(MSN_TRANSLATE_KEY);
|
124 |
-
$this->set_default_option_value(GOOGLE_TRANSLATE_KEY);
|
125 |
-
$this->set_default_option_value(OHT_TRANSLATE_ID);
|
126 |
-
$this->set_default_option_value(OHT_TRANSLATE_KEY);
|
127 |
-
$this->set_default_option_value(TRANSPOSH_KEY);
|
128 |
-
$this->set_default_option_value(TRANSPOSH_BACKUP_SCHEDULE, 2);
|
129 |
-
$this->set_default_option_value(TRANSPOSH_ADMIN_HIDE_WARNINGS);
|
130 |
-
$this->set_default_option_value(TRANSPOSH_COLLECT_STATS, 1);
|
131 |
-
$this->migrate_old_config();
|
132 |
-
|
133 |
-
}
|
134 |
-
|
135 |
-
// TODO: remove this function in a few versions (fix css, db version..., css flag
|
136 |
-
private function migrate_old_config() {
|
137 |
-
|
138 |
-
if (isset($this->options[OLD_WIDGET_STYLE])) {
|
139 |
-
if ($this->options[OLD_WIDGET_STYLE] == 1 && $this->options[OLD_WIDGET_CSS_FLAGS] == 0) {
|
140 |
-
$this->set_widget_file('flags/tpw_flags.php');
|
141 |
-
}
|
142 |
-
if ($this->options[OLD_WIDGET_STYLE] == 1 && $this->options[OLD_WIDGET_CSS_FLAGS] == 1) {
|
143 |
-
$this->set_widget_file('flags/tpw_flags_css.php');
|
144 |
-
}
|
145 |
-
if ($this->options[OLD_WIDGET_STYLE] == 2 && $this->options[OLD_WIDGET_CSS_FLAGS] == 0) {
|
146 |
-
$this->set_widget_file('flagslist/tpw_list_with_flags.php');
|
147 |
-
}
|
148 |
-
if ($this->options[OLD_WIDGET_STYLE] == 2 && $this->options[OLD_WIDGET_CSS_FLAGS] == 1) {
|
149 |
-
$this->set_widget_file('flagslist/tpw_list_with_flags_css.php');
|
150 |
-
}
|
151 |
-
unset($this->options[OLD_WIDGET_CSS_FLAGS]);
|
152 |
-
unset($this->options[OLD_WIDGET_IN_LIST]);
|
153 |
-
unset($this->options[OLD_WIDGET_STYLE]);
|
154 |
-
unset($this->options[OLD_ENABLE_MSN_TRANSLATE]);
|
155 |
-
|
156 |
-
update_option(TRANSPOSH_OPTIONS, $this->options);
|
157 |
-
}
|
158 |
-
}
|
159 |
-
|
160 |
-
function get_anonymous_translation() {
|
161 |
-
return $this->options[ANONYMOUS_TRANSLATION];
|
162 |
-
}
|
163 |
-
|
164 |
-
function get_viewable_langs() {
|
165 |
-
return $this->options[VIEWABLE_LANGS];
|
166 |
-
}
|
167 |
-
|
168 |
-
function get_editable_langs() {
|
169 |
-
return $this->options[EDITABLE_LANGS];
|
170 |
-
}
|
171 |
-
|
172 |
-
/**
|
173 |
-
* Get a user sorted language list
|
174 |
-
* @since 0.3.9
|
175 |
-
* @return array sorted list of languages, pointing to names and flags
|
176 |
-
*/
|
177 |
-
function get_sorted_langs() {
|
178 |
-
if (isset($this->options[SORTED_LANGS]))
|
179 |
-
return array_merge(array_flip(explode(",", $this->options[SORTED_LANGS])), transposh_consts::$languages);
|
180 |
-
return transposh_consts::$languages;
|
181 |
-
}
|
182 |
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
|
187 |
-
function
|
188 |
-
|
|
|
|
|
189 |
}
|
190 |
|
191 |
-
|
192 |
-
|
193 |
-
* @since 0.7.0
|
194 |
-
* @return string
|
195 |
-
*/
|
196 |
-
function get_widget_theme() {
|
197 |
-
return $this->options[WIDGET_THEME];
|
198 |
}
|
199 |
|
200 |
-
function
|
201 |
-
|
202 |
}
|
203 |
|
204 |
-
function
|
205 |
-
|
206 |
}
|
207 |
|
208 |
-
function
|
209 |
-
return $this->
|
210 |
}
|
211 |
|
212 |
-
function
|
213 |
-
return $this->
|
214 |
}
|
215 |
|
216 |
-
function
|
217 |
-
return $this->
|
218 |
}
|
219 |
|
220 |
-
function
|
221 |
-
return $this->
|
222 |
}
|
223 |
|
224 |
-
|
225 |
-
return $this->options[ENABLE_URL_TRANSLATE];
|
226 |
-
}
|
227 |
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
232 |
|
233 |
-
|
234 |
-
|
235 |
-
}
|
236 |
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
|
241 |
-
function
|
242 |
-
|
243 |
}
|
244 |
|
245 |
-
|
246 |
-
return $this->options[OHT_TRANSLATE_KEY];
|
247 |
-
}
|
248 |
|
249 |
-
function
|
250 |
-
|
|
|
|
|
|
|
251 |
}
|
252 |
|
253 |
-
function
|
254 |
-
|
255 |
-
|
|
|
|
|
256 |
}
|
257 |
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
function get_default_language() {
|
263 |
-
$default = $this->options[DEFAULT_LANG];
|
264 |
-
if (!isset(transposh_consts::$languages[$default])) {
|
265 |
-
if (defined('WPLANG') && isset(transposh_consts::$languages[WPLANG])) {
|
266 |
-
$default = WPLANG;
|
267 |
} else {
|
268 |
-
$
|
269 |
}
|
270 |
}
|
271 |
-
return $default;
|
272 |
-
}
|
273 |
-
|
274 |
-
function get_transposh_key() {
|
275 |
-
return $this->options[TRANSPOSH_KEY];
|
276 |
-
}
|
277 |
-
|
278 |
-
function get_transposh_backup_schedule() {
|
279 |
-
return $this->options[TRANSPOSH_BACKUP_SCHEDULE];
|
280 |
-
}
|
281 |
-
|
282 |
-
function get_transposh_gettext_integration() {
|
283 |
-
return $this->options[TRANSPOSH_GETTEXT_INTEGRATION];
|
284 |
-
}
|
285 |
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
function get_transposh_admin_hide_warning($id) {
|
291 |
-
return strpos($this->options[TRANSPOSH_ADMIN_HIDE_WARNINGS], $id . ',') !== false;
|
292 |
-
}
|
293 |
-
|
294 |
-
function get_transposh_collect_stats() {
|
295 |
-
return $this->options[TRANSPOSH_COLLECT_STATS];
|
296 |
-
}
|
297 |
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
* @param pointer $option Points to the option in the options array
|
302 |
-
*/
|
303 |
-
private function set_value($val, &$option) {
|
304 |
-
if ($val !== $option) {
|
305 |
-
$option = $val;
|
306 |
$this->changed = true;
|
307 |
}
|
308 |
}
|
309 |
|
310 |
-
function
|
311 |
-
$val = ($val) ? 1 : 0;
|
312 |
-
$this->set_value($val, $this->options[ANONYMOUS_TRANSLATION]);
|
313 |
-
}
|
314 |
-
|
315 |
-
function set_viewable_langs($val) {
|
316 |
-
$this->set_value($val, $this->options[VIEWABLE_LANGS]);
|
317 |
-
}
|
318 |
-
|
319 |
-
function set_editable_langs($val) {
|
320 |
-
$this->set_value($val, $this->options[EDITABLE_LANGS]);
|
321 |
-
}
|
322 |
-
|
323 |
-
function set_sorted_langs($val) {
|
324 |
-
$this->set_value($val, $this->options[SORTED_LANGS]);
|
325 |
-
}
|
326 |
|
327 |
-
|
328 |
-
|
329 |
-
$this->
|
330 |
-
|
331 |
|
332 |
-
|
333 |
-
$
|
334 |
-
$this->
|
335 |
-
}
|
336 |
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
function set_widget_theme($val) {
|
343 |
-
$this->set_value($val, $this->options[WIDGET_THEME]);
|
344 |
-
}
|
345 |
|
346 |
-
|
347 |
-
$
|
348 |
-
$this->
|
349 |
-
|
350 |
|
351 |
-
|
352 |
-
$
|
353 |
-
$this->set_value($val, $this->options[ENABLE_PERMALINKS]);
|
354 |
-
}
|
355 |
|
356 |
-
|
357 |
-
$
|
358 |
-
$this->
|
359 |
-
|
|
|
|
|
|
|
360 |
|
361 |
-
function set_enable_footer_scripts($val) {
|
362 |
-
$val = ($val) ? 1 : 0;
|
363 |
-
$this->set_value($val, $this->options[ENABLE_FOOTER_SCRIPTS]);
|
364 |
-
}
|
365 |
|
366 |
-
|
367 |
-
$
|
368 |
-
$this->
|
369 |
-
|
370 |
|
371 |
-
|
372 |
-
$
|
373 |
-
$this->
|
374 |
-
|
|
|
|
|
|
|
|
|
375 |
|
376 |
-
function set_enable_url_translate($val) {
|
377 |
-
$val = ($val) ? 1 : 0;
|
378 |
-
$this->set_value($val, $this->options[ENABLE_URL_TRANSLATE]);
|
379 |
-
}
|
380 |
|
381 |
-
|
382 |
-
$val = ($val) ? 1 : 0;
|
383 |
-
$this->set_value($val, $this->options[ENABLE_AUTO_TRANSLATE]);
|
384 |
-
}
|
385 |
|
386 |
-
function set_msn_key($val) {
|
387 |
-
$this->set_value($val, $this->options[MSN_TRANSLATE_KEY]);
|
388 |
-
}
|
389 |
|
390 |
-
|
391 |
-
$this->
|
392 |
-
}
|
393 |
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
function set_enable_auto_post_translate($val) {
|
403 |
-
$val = ($val) ? 1 : 0;
|
404 |
-
$this->set_value($val, $this->options[ENABLE_AUTO_POST_TRANSLATE]);
|
405 |
-
}
|
406 |
|
407 |
-
|
408 |
-
$this->set_value($val, $this->options[PREFERRED_TRANSLATOR]);
|
409 |
}
|
410 |
|
411 |
/**
|
412 |
-
*
|
413 |
-
*
|
414 |
-
* @
|
415 |
*/
|
416 |
-
function
|
417 |
-
if (
|
418 |
-
$
|
|
|
419 |
}
|
420 |
-
|
421 |
-
}
|
422 |
-
|
423 |
-
function set_transposh_key($val) {
|
424 |
-
$this->set_value($val, $this->options[TRANSPOSH_KEY]);
|
425 |
-
}
|
426 |
-
|
427 |
-
function set_transposh_backup_schedule($val) {
|
428 |
-
$this->set_value($val, $this->options[TRANSPOSH_BACKUP_SCHEDULE]);
|
429 |
-
}
|
430 |
-
|
431 |
-
function set_transposh_gettext_integration($val) {
|
432 |
-
$val = ($val) ? 1 : 0;
|
433 |
-
$this->set_value($val, $this->options[TRANSPOSH_GETTEXT_INTEGRATION]);
|
434 |
}
|
435 |
|
436 |
-
function
|
437 |
-
|
438 |
-
$this->set_value($val, $this->options[TRANSPOSH_DEFAULT_LOCALE_OVERRIDE]);
|
439 |
}
|
440 |
|
441 |
function set_transposh_admin_hide_warning($id) {
|
442 |
if (!$this->get_transposh_admin_hide_warning($id)) {
|
443 |
-
$this->
|
444 |
}
|
445 |
}
|
446 |
|
447 |
-
function set_transposh_collect_stats($val) {
|
448 |
-
$val = ($val) ? 1 : 0;
|
449 |
-
$this->set_value($val, $this->options[TRANSPOSH_COLLECT_STATS]);
|
450 |
-
}
|
451 |
-
|
452 |
/**
|
453 |
* Updates options at the wordpress options table if there was a change
|
454 |
*/
|
455 |
function update_options() {
|
456 |
if ($this->changed) {
|
|
|
|
|
|
|
457 |
update_option(TRANSPOSH_OPTIONS, $this->options);
|
|
|
458 |
} else {
|
459 |
-
|
460 |
}
|
461 |
-
$this->changed = false;
|
462 |
}
|
463 |
|
464 |
/**
|
465 |
-
*
|
466 |
-
* @param string $language
|
467 |
-
* @return boolean Is this the default language?
|
468 |
*/
|
469 |
-
function
|
470 |
-
|
|
|
|
|
|
|
|
|
471 |
}
|
472 |
|
473 |
/**
|
474 |
-
* Determine if the given language
|
475 |
-
* @
|
|
|
476 |
*/
|
477 |
-
function
|
478 |
-
|
479 |
-
return (strpos($this->get_editable_langs(), $language) !== false);
|
480 |
}
|
481 |
|
482 |
/**
|
483 |
-
* Determine if the given language in on the list of
|
484 |
* @return boolean Is this language viewable?
|
485 |
*/
|
486 |
-
function
|
487 |
if ($this->is_default_language($language)) return true;
|
488 |
-
return (strpos($this->
|
489 |
}
|
490 |
|
491 |
}
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
+
* Transposh v0.9.0
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
* Copyright 2012, Team Transposh
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
+
* Date: Wed, 12 Dec 2012 22:23:17 +0200
|
12 |
*/
|
13 |
|
14 |
+
// This magic value will cause the option to be set from post
|
15 |
+
define('TP_FROM_POST', 'tp_post_1x');
|
16 |
+
// types of options
|
17 |
+
define('TP_OPT_BOOLEAN', 0);
|
18 |
+
define('TP_OPT_STRING', 1);
|
19 |
+
define('TP_OPT_IP', 2);
|
20 |
+
define('TP_OPT_OTHER', 3);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
|
22 |
+
/**
|
23 |
+
* @property string $desc Description
|
24 |
+
*/
|
25 |
+
class transposh_option {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
|
27 |
+
private $name;
|
28 |
+
private $value;
|
29 |
+
private $type;
|
30 |
|
31 |
+
public function __construct($name, $value = '', $type = '') {
|
32 |
+
$this->name = $name;
|
33 |
+
$this->value = $value;
|
34 |
+
$this->type = $type;
|
35 |
}
|
36 |
|
37 |
+
function __toString() {
|
38 |
+
return (string) $this->value;
|
|
|
|
|
|
|
|
|
|
|
39 |
}
|
40 |
|
41 |
+
function set_value($value) {
|
42 |
+
$this->value = $value;
|
43 |
}
|
44 |
|
45 |
+
function from_post() {
|
46 |
+
$this->value = $_POST[$this->name];
|
47 |
}
|
48 |
|
49 |
+
function get_name() {
|
50 |
+
return $this->name;
|
51 |
}
|
52 |
|
53 |
+
function get_value() {
|
54 |
+
return $this->value;
|
55 |
}
|
56 |
|
57 |
+
function get_type() {
|
58 |
+
return $this->type;
|
59 |
}
|
60 |
|
61 |
+
function post_value_id_name() {
|
62 |
+
return 'value="' . $this->value . '" id="' . $this->name . '" name="' . $this->name . '"';
|
63 |
}
|
64 |
|
65 |
+
}
|
|
|
|
|
66 |
|
67 |
+
/**
|
68 |
+
* Used properties for code completion - we'll try to keep them in same order as admin screens
|
69 |
+
*
|
70 |
+
* Language tab
|
71 |
+
* @property string $default_language Option defining the default language
|
72 |
+
* @property transposh_option $default_language_o
|
73 |
+
* @property string $viewable_languages Option defining the list of currently viewable languages
|
74 |
+
* @property transposh_option $viewable_languages_o
|
75 |
+
* @property string $sorted_languages Option defining the ordered list of languages @since 0.3.9
|
76 |
+
* @property transposh_option $sorted_languages_o
|
77 |
+
*
|
78 |
+
* Settings
|
79 |
+
*
|
80 |
+
* @property boolean $allow_anonymous_translation Option defining whether anonymous translation is allowed
|
81 |
+
* @property transposh_option $allow_anonymous_translation_o
|
82 |
+
* @property boolean $enable_default_translate Option to enable/disable default language translation
|
83 |
+
* @property transposh_option $enable_default_translate_o
|
84 |
+
* @property boolean $enable_search_translate Option to enable/disable default language translation @since 0.3.6
|
85 |
+
* @property transposh_option $enable_search_translate_o
|
86 |
+
* @property boolean $transposh_gettext_integration Make the gettext interface optional (@since 0.6.4)
|
87 |
+
* @property transposh_option $transposh_gettext_integration_o
|
88 |
+
* @property boolean $transposh_locale_override Allow override for default locale (@since 0.7.5)
|
89 |
+
* @property transposh_option $transposh_locale_override_o
|
90 |
+
*
|
91 |
+
* @property boolean $enable_permalinks Option to enable/disable rewrite of permalinks
|
92 |
+
* @property transposh_option $enable_permalinks_o
|
93 |
+
* @property boolean $enable_footer_scripts Option to enable/disable footer scripts (2.8 and up)
|
94 |
+
* @property transposh_option $enable_footer_scripts_o
|
95 |
+
* @property boolean $enable_detect_redirect Option to enable detect and redirect language @since 0.3.8
|
96 |
+
* @property transposh_option $enable_detect_redirect_o
|
97 |
+
* @property boolean $transposh_collect_stats Should I allow collecting of anonymous stats (@since 0.7.6)
|
98 |
+
* @property transposh_option $transposh_collect_stats_o
|
99 |
+
*
|
100 |
+
* @property int $transposh_backup_schedule Stores the schedule for the backup service, 0-none, 1-daily, 2-live (backup @since 0.5.0)
|
101 |
+
* @property transposh_option $transposh_backup_schedule_o
|
102 |
+
* @property string $transposh_key Stores the site key to transposh services (backup @since 0.5.0)
|
103 |
+
* @property transposh_option $transposh_key_o
|
104 |
+
*
|
105 |
+
* Engines
|
106 |
+
*
|
107 |
+
* @property boolean $enable_autotranslate Option to enable/disable auto translation
|
108 |
+
* @property transposh_option $enable_autotranslate_o
|
109 |
+
* @property boolean $enable_autoposttranslate Option to enable/disable auto translation of posts
|
110 |
+
* @property transposh_option $enable_autoposttranslate_o
|
111 |
+
* @property string $msn_key Option to store the msn API key
|
112 |
+
* @property transposh_option $msn_key_o
|
113 |
+
* @property string $google_key Option to store the msn Google key
|
114 |
+
* @property transposh_option $google_key_o
|
115 |
+
* @property int $preferred_translator Option to store translator preference @since 0.4.2
|
116 |
+
* @property transposh_option $preferred_translator_o
|
117 |
+
* @property string $oht_id Option to store the oht ID
|
118 |
+
* @property transposh_option $oht_id_o
|
119 |
+
* @property string $oht_key Option to store the oht key;
|
120 |
+
* @property transposh_option $oht_key_o
|
121 |
+
*
|
122 |
+
* Widget
|
123 |
+
*
|
124 |
+
* @property boolean $widget_progressbar Option allowing progress bar display
|
125 |
+
* @property transposh_option $widget_progressbar_o
|
126 |
+
* @property boolean $widget_allow_set_deflang Allows user to set his default language per #63 @since 0.3.8
|
127 |
+
* @property transposh_option $widget_allow_set_deflang_o
|
128 |
+
* @property boolean $widget_remove_logo Allows removing of transposh logo in exchange for an ad @since 0.6.0
|
129 |
+
* @property transposh_option $widget_remove_logo_o
|
130 |
+
* @property string $widget_theme Allows theming of the progressbar and edit window @since 0.7.0
|
131 |
+
* @property transposh_option $widget_theme_o
|
132 |
+
*
|
133 |
+
* Advanced
|
134 |
+
*
|
135 |
+
* @property boolean $enable_url_translate Option to enable/disable url translation @since 0.5.3
|
136 |
+
* @property transposh_option $enable_url_translate_o
|
137 |
+
* @property boolean $parser_dont_break_puncts Option to allow punctuations such as , . ( not to break @since 0.9.0
|
138 |
+
* @property transposh_option $parser_dont_break_puncts_o
|
139 |
+
* @property boolean $parser_dont_break_numbers Option to allow numbers not to break @since 0.9.0
|
140 |
+
* @property transposh_option $parser_dont_break_numbers_o
|
141 |
+
* @property boolean $parser_dont_break_entities Option to allow html entities not to break @since 0.9.0
|
142 |
+
* @property transposh_option $parser_dont_break_entities_o
|
143 |
+
* @property boolean $debug_enable Option to enable debug
|
144 |
+
* @property transposh_option $debug_enable_o
|
145 |
+
* @property int $debug_loglevel Option holding the level of logging
|
146 |
+
* @property transposh_option $debug_loglevel_o
|
147 |
+
* @property string $debug_logfile Option holding a filename to store debugging into
|
148 |
+
* @property transposh_option $debug_logfile_o
|
149 |
+
* @property ip $debug_remoteip Option that limits remote firePhp debug to a certain IP
|
150 |
+
* @property transposh_option $debug_remoteip_o
|
151 |
+
*
|
152 |
+
* Hidden
|
153 |
+
*
|
154 |
+
* @property transposh_option $transposh_admin_hide_warnings Stores hidden warnings (@since 0.7.6)
|
155 |
+
*
|
156 |
+
*/
|
157 |
+
class transposh_plugin_options {
|
158 |
|
159 |
+
/** @var array storing all our options */
|
160 |
+
private $options = array();
|
|
|
161 |
|
162 |
+
/** @var boolean set to true if any option was changed */
|
163 |
+
private $changed = false;
|
164 |
+
private $vars = array();
|
165 |
|
166 |
+
function set_default_option_value($option, $value = '') {
|
167 |
+
if (!isset($this->options[$option])) $this->options[$option] = $value;
|
168 |
}
|
169 |
|
170 |
+
// private $vars array() = (1,2,3);
|
|
|
|
|
171 |
|
172 |
+
function register_option($name, $type, $default_value = '') {
|
173 |
+
if (!isset($this->options[$name]))
|
174 |
+
$this->options[$name] = $default_value;
|
175 |
+
// can't log... tp_logger($name . ' ' . $this->options[$name]);
|
176 |
+
$this->vars[$name] = new transposh_option($name, $this->options[$name], $type);
|
177 |
}
|
178 |
|
179 |
+
function __get($name) {
|
180 |
+
if (substr($name, -2) === "_o")
|
181 |
+
return $this->vars[substr($name, 0, -2)];
|
182 |
+
// can't!? tp_logger($this->vars[$name]->get_value(), 5);
|
183 |
+
return $this->vars[$name]->get_value();
|
184 |
}
|
185 |
|
186 |
+
function __set($name, $value) {
|
187 |
+
if ($value == TP_FROM_POST) {
|
188 |
+
if (isset($_POST[$name])) {
|
189 |
+
$value = $_POST[$name];
|
|
|
|
|
|
|
|
|
|
|
190 |
} else {
|
191 |
+
$value = '';
|
192 |
}
|
193 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
194 |
|
195 |
+
if (TP_OPT_BOOLEAN == $this->vars[$name]->get_type()) {
|
196 |
+
$value = ($value) ? 1 : 0;
|
197 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
198 |
|
199 |
+
if ($this->vars[$name]->get_value() !== $value) {
|
200 |
+
tp_logger("option '$name' value set: $value");
|
201 |
+
$this->vars[$name]->set_value($value);
|
|
|
|
|
|
|
|
|
|
|
202 |
$this->changed = true;
|
203 |
}
|
204 |
}
|
205 |
|
206 |
+
function __construct() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
207 |
|
208 |
+
// can't tp_logger("creating options");
|
209 |
+
// load them here
|
210 |
+
$this->options = get_option(TRANSPOSH_OPTIONS);
|
211 |
+
// tp_logger($this->options);
|
212 |
|
213 |
+
$this->register_option('default_language', TP_OPT_STRING); // default?
|
214 |
+
$this->register_option('viewable_languages', TP_OPT_STRING);
|
215 |
+
$this->register_option('sorted_languages', TP_OPT_STRING);
|
|
|
216 |
|
217 |
+
$this->register_option('allow_anonymous_translation', TP_OPT_BOOLEAN, 1);
|
218 |
+
$this->register_option('enable_default_translate', TP_OPT_BOOLEAN, 0);
|
219 |
+
$this->register_option('enable_search_translate', TP_OPT_BOOLEAN, 1);
|
220 |
+
$this->register_option('transposh_gettext_integration', TP_OPT_BOOLEAN, 1);
|
221 |
+
$this->register_option('transposh_locale_override', TP_OPT_BOOLEAN, 1);
|
|
|
|
|
|
|
222 |
|
223 |
+
$this->register_option('enable_permalinks', TP_OPT_BOOLEAN, 0);
|
224 |
+
$this->register_option('enable_footer_scripts', TP_OPT_BOOLEAN, 0);
|
225 |
+
$this->register_option('enable_detect_redirect', TP_OPT_BOOLEAN, 0);
|
226 |
+
$this->register_option('transposh_collect_stats', TP_OPT_BOOLEAN, 1);
|
227 |
|
228 |
+
$this->register_option('transposh_backup_schedule', TP_OPT_OTHER, 2);
|
229 |
+
$this->register_option('transposh_key', TP_OPT_STRING);
|
|
|
|
|
230 |
|
231 |
+
$this->register_option('enable_autotranslate', TP_OPT_BOOLEAN, 1);
|
232 |
+
$this->register_option('enable_autoposttranslate', TP_OPT_BOOLEAN, 1);
|
233 |
+
$this->register_option('msn_key', TP_OPT_STRING);
|
234 |
+
$this->register_option('google_key', TP_OPT_STRING);
|
235 |
+
$this->register_option('preferred_translator', TP_OPT_OTHER, 1); // 1 is Google, 2 is MSN
|
236 |
+
$this->register_option('oht_id', TP_OPT_STRING);
|
237 |
+
$this->register_option('oht_key', TP_OPT_STRING);
|
238 |
|
|
|
|
|
|
|
|
|
239 |
|
240 |
+
$this->register_option('widget_progressbar', TP_OPT_BOOLEAN, 0);
|
241 |
+
$this->register_option('widget_allow_set_deflang', TP_OPT_BOOLEAN, 0);
|
242 |
+
$this->register_option('widget_remove_logo', TP_OPT_BOOLEAN, 0);
|
243 |
+
$this->register_option('widget_theme', TP_OPT_STRING, 'ui-lightness');
|
244 |
|
245 |
+
$this->register_option('enable_url_translate', TP_OPT_BOOLEAN, 0);
|
246 |
+
$this->register_option('parser_dont_break_puncts', TP_OPT_BOOLEAN, 0);
|
247 |
+
$this->register_option('parser_dont_break_numbers', TP_OPT_BOOLEAN, 0);
|
248 |
+
$this->register_option('parser_dont_break_entities', TP_OPT_BOOLEAN, 0);
|
249 |
+
$this->register_option('debug_enable', TP_OPT_BOOLEAN, 0);
|
250 |
+
$this->register_option('debug_loglevel', TP_OPT_OTHER, 3);
|
251 |
+
$this->register_option('debug_logfile', TP_OPT_STRING, '');
|
252 |
+
$this->register_option('debug_remoteip', TP_OPT_IP, '');
|
253 |
|
|
|
|
|
|
|
|
|
254 |
|
255 |
+
$this->register_option('transposh_admin_hide_warnings', TP_OPT_OTHER);
|
|
|
|
|
|
|
256 |
|
|
|
|
|
|
|
257 |
|
258 |
+
// Fix default language if needed, only done once now, and since this was being done constantly, we gain
|
259 |
+
//tp_logger($this->default_language->get_value());
|
|
|
260 |
|
261 |
+
if (!isset(transposh_consts::$languages[$this->default_language])) {
|
262 |
+
if (defined('WPLANG') && isset(transposh_consts::$languages[WPLANG])) {
|
263 |
+
$this->default_language = WPLANG;
|
264 |
+
} else {
|
265 |
+
$this->default_language = "en";
|
266 |
+
}
|
267 |
+
}
|
|
|
|
|
|
|
|
|
|
|
268 |
|
269 |
+
// can't log... tp_logger($this->options, 4);
|
|
|
270 |
}
|
271 |
|
272 |
/**
|
273 |
+
* Get a user sorted language list
|
274 |
+
* @since 0.3.9
|
275 |
+
* @return array sorted list of languages, pointing to names and flags
|
276 |
*/
|
277 |
+
function get_sorted_langs() {
|
278 |
+
if ($this->sorted_languages) {
|
279 |
+
tp_logger($this->sorted_languages, 5);
|
280 |
+
return array_merge(array_flip(explode(",", $this->sorted_languages)), transposh_consts::$languages);
|
281 |
}
|
282 |
+
return transposh_consts::$languages;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
283 |
}
|
284 |
|
285 |
+
function get_transposh_admin_hide_warning($id) {
|
286 |
+
return strpos($this->transposh_admin_hide_warnings, $id . ',') !== false;
|
|
|
287 |
}
|
288 |
|
289 |
function set_transposh_admin_hide_warning($id) {
|
290 |
if (!$this->get_transposh_admin_hide_warning($id)) {
|
291 |
+
$this->transposh_admin_hide_warnings = $this->transposh_admin_hide_warnings . $id . ',';
|
292 |
}
|
293 |
}
|
294 |
|
|
|
|
|
|
|
|
|
|
|
295 |
/**
|
296 |
* Updates options at the wordpress options table if there was a change
|
297 |
*/
|
298 |
function update_options() {
|
299 |
if ($this->changed) {
|
300 |
+
foreach ($this->vars as $name => $var) {
|
301 |
+
$this->options[$name] = $var->get_value();
|
302 |
+
}
|
303 |
update_option(TRANSPOSH_OPTIONS, $this->options);
|
304 |
+
$this->changed = false;
|
305 |
} else {
|
306 |
+
tp_logger("no changes and no updates done", 3);
|
307 |
}
|
|
|
308 |
}
|
309 |
|
310 |
/**
|
311 |
+
* Resets all options except keys
|
|
|
|
|
312 |
*/
|
313 |
+
function reset_options() {
|
314 |
+
$this->options = array();
|
315 |
+
foreach (array('msn_key', 'google_key', 'oht_id', 'oht_key', 'transposh_key') as $key) {
|
316 |
+
$this->options[$key] = $this->vars[$key]->get_value();
|
317 |
+
}
|
318 |
+
update_option(TRANSPOSH_OPTIONS, $this->options);
|
319 |
}
|
320 |
|
321 |
/**
|
322 |
+
* Determine if the given language code is the default language
|
323 |
+
* @param string $language
|
324 |
+
* @return boolean Is this the default language?
|
325 |
*/
|
326 |
+
function is_default_language($language) { // XXXX
|
327 |
+
return ($this->default_language == $language || '' == $language);
|
|
|
328 |
}
|
329 |
|
330 |
/**
|
331 |
+
* Determine if the given language in on the list of active languages
|
332 |
* @return boolean Is this language viewable?
|
333 |
*/
|
334 |
+
function is_active_language($language) {
|
335 |
if ($this->is_default_language($language)) return true;
|
336 |
+
return (strpos($this->viewable_languages . ',', $language . ',') !== false);
|
337 |
}
|
338 |
|
339 |
}
|
@@ -1,14 +1,14 @@
|
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
-
* Transposh v0.
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
* Copyright 2012, Team Transposh
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
-
* Date:
|
12 |
*/
|
13 |
|
14 |
/*
|
@@ -34,11 +34,10 @@ class transposh_postpublish {
|
|
34 |
function transposh_postpublish(&$transposh) {
|
35 |
$this->transposh = &$transposh;
|
36 |
// we'll only do something if so configured to do
|
37 |
-
if ($this->transposh->options->
|
38 |
add_action('edit_post', array(&$this, 'on_edit'));
|
39 |
-
// add_action('publish_post',array(&$this, 'on_publish'));
|
40 |
-
add_action('admin_menu', array(&$this, 'on_admin_menu'));
|
41 |
}
|
|
|
42 |
}
|
43 |
|
44 |
/**
|
@@ -46,15 +45,21 @@ class transposh_postpublish {
|
|
46 |
*/
|
47 |
function on_admin_menu() {
|
48 |
//add our metaboxs to the post and publish pages
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
if (!isset($_GET['post'])) return;
|
55 |
if (get_post_meta($_GET['post'], 'transposh_can_translate', true)) { // do isdefined stuff
|
56 |
$this->just_published = true; // this is later used in the meta boxes //XXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
57 |
-
wp_enqueue_script("transposh_backend", $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_JS . '/
|
58 |
$script_params = array(
|
59 |
'post' => $_GET['post'],
|
60 |
'l10n_print_after' =>
|
@@ -120,10 +125,10 @@ class transposh_postpublish {
|
|
120 |
|
121 |
// Merge the two arrays for traversing
|
122 |
$phrases = array_merge($phrases, $phrases2, $phrases3, $phrases4, $phrases5);
|
123 |
-
|
124 |
|
125 |
// Add phrases from permalink
|
126 |
-
if ($this->transposh->options->
|
127 |
$permalink = get_permalink($postID);
|
128 |
$permalink = substr($permalink, strlen($this->transposh->home_url) + 1);
|
129 |
$parts = explode('/', $permalink);
|
@@ -140,10 +145,10 @@ class transposh_postpublish {
|
|
140 |
$json['langs'] = array();
|
141 |
|
142 |
foreach ($phrases as $key) {
|
143 |
-
foreach (explode(',', $this->transposh->options->
|
144 |
// if this isn't the default language or we specifically allow default language translation, we will seek this out...
|
145 |
// as we don't normally want to auto-translate the default language -FIX THIS to include only correct stuff, how?
|
146 |
-
if (!$this->transposh->options->is_default_language($lang) || $this->transposh->options->
|
147 |
// There is no point in returning phrases, languages pairs that cannot be translated
|
148 |
if (in_array($lang, transposh_consts::$bing_languages) ||
|
149 |
in_array($lang, transposh_consts::$google_languages) ||
|
@@ -216,12 +221,12 @@ class transposh_postpublish {
|
|
216 |
} else {
|
217 |
update_post_meta($postID, 'tp_language', $_POST['transposh_tp_language']);
|
218 |
// if a language is set for a post, default language translate must be enabled, so we enable it
|
219 |
-
if (!$this->transposh->options->
|
220 |
-
$this->transposh->options->
|
221 |
$this->transposh->options->update_options();
|
222 |
}
|
223 |
}
|
224 |
-
|
225 |
}
|
226 |
|
227 |
}
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
+
* Transposh v0.9.0
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
* Copyright 2012, Team Transposh
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
+
* Date: Wed, 12 Dec 2012 22:23:17 +0200
|
12 |
*/
|
13 |
|
14 |
/*
|
34 |
function transposh_postpublish(&$transposh) {
|
35 |
$this->transposh = &$transposh;
|
36 |
// we'll only do something if so configured to do
|
37 |
+
if ($this->transposh->options->enable_autoposttranslate) {
|
38 |
add_action('edit_post', array(&$this, 'on_edit'));
|
|
|
|
|
39 |
}
|
40 |
+
add_action('admin_menu', array(&$this, 'on_admin_menu'));
|
41 |
}
|
42 |
|
43 |
/**
|
45 |
*/
|
46 |
function on_admin_menu() {
|
47 |
//add our metaboxs to the post and publish pages
|
48 |
+
tp_logger('adding metaboxes for admin pages/post/custom', 4);
|
49 |
+
$post_types = get_post_types();
|
50 |
+
foreach ($post_types as $post_type) {
|
51 |
+
if (in_array($post_type, array('attachment', 'revision', 'nav_menu_item')))
|
52 |
+
continue;
|
53 |
+
tp_logger($post_type, 5);
|
54 |
+
if ($this->transposh->options->enable_autoposttranslate) {
|
55 |
+
add_meta_box('transposh_postpublish', __('Transposh', TRANSPOSH_TEXT_DOMAIN), array(&$this, "transposh_postpublish_box"), $post_type, 'side', 'core');
|
56 |
+
}
|
57 |
+
add_meta_box('transposh_setlanguage', __('Set post language', TRANSPOSH_TEXT_DOMAIN), array(&$this, "transposh_setlanguage_box"), $post_type, 'advanced', 'core');
|
58 |
+
}
|
59 |
if (!isset($_GET['post'])) return;
|
60 |
if (get_post_meta($_GET['post'], 'transposh_can_translate', true)) { // do isdefined stuff
|
61 |
$this->just_published = true; // this is later used in the meta boxes //XXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
62 |
+
wp_enqueue_script("transposh_backend", $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_JS . '/admin/backendtranslate.js', array('transposh'), TRANSPOSH_PLUGIN_VER, true);
|
63 |
$script_params = array(
|
64 |
'post' => $_GET['post'],
|
65 |
'l10n_print_after' =>
|
125 |
|
126 |
// Merge the two arrays for traversing
|
127 |
$phrases = array_merge($phrases, $phrases2, $phrases3, $phrases4, $phrases5);
|
128 |
+
tp_logger($phrases, 4);
|
129 |
|
130 |
// Add phrases from permalink
|
131 |
+
if ($this->transposh->options->enable_url_translate) {
|
132 |
$permalink = get_permalink($postID);
|
133 |
$permalink = substr($permalink, strlen($this->transposh->home_url) + 1);
|
134 |
$parts = explode('/', $permalink);
|
145 |
$json['langs'] = array();
|
146 |
|
147 |
foreach ($phrases as $key) {
|
148 |
+
foreach (explode(',', $this->transposh->options->viewable_languages) as $lang) {
|
149 |
// if this isn't the default language or we specifically allow default language translation, we will seek this out...
|
150 |
// as we don't normally want to auto-translate the default language -FIX THIS to include only correct stuff, how?
|
151 |
+
if (!$this->transposh->options->is_default_language($lang) || $this->transposh->options->enable_default_translate) {
|
152 |
// There is no point in returning phrases, languages pairs that cannot be translated
|
153 |
if (in_array($lang, transposh_consts::$bing_languages) ||
|
154 |
in_array($lang, transposh_consts::$google_languages) ||
|
221 |
} else {
|
222 |
update_post_meta($postID, 'tp_language', $_POST['transposh_tp_language']);
|
223 |
// if a language is set for a post, default language translate must be enabled, so we enable it
|
224 |
+
if (!$this->transposh->options->enable_default_translate) {
|
225 |
+
$this->transposh->options->enable_default_translate = true;
|
226 |
$this->transposh->options->update_options();
|
227 |
}
|
228 |
}
|
229 |
+
tp_logger($postID . ' ' . $_POST['transposh_tp_language']); //??
|
230 |
}
|
231 |
|
232 |
}
|
@@ -1,14 +1,14 @@
|
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
-
* Transposh v0.
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
* Copyright 2012, Team Transposh
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
-
* Date:
|
12 |
*/
|
13 |
|
14 |
/*
|
@@ -38,10 +38,11 @@ class transposh_base_widget {
|
|
38 |
* @param string $plugin_url
|
39 |
*/
|
40 |
static function tp_widget_css($file, $plugin_dir, $plugin_url) {
|
|
|
41 |
$basefile = substr($file, 0, -4);
|
42 |
$widget_css = TRANSPOSH_DIR_WIDGETS . '/' . $basefile . ".css";
|
43 |
if (file_exists($plugin_dir . $widget_css)) {
|
44 |
-
wp_enqueue_style(str_replace('/','_', $basefile), $plugin_url . '/' . $widget_css, '', TRANSPOSH_PLUGIN_VER);
|
45 |
}
|
46 |
}
|
47 |
|
@@ -52,6 +53,7 @@ class transposh_base_widget {
|
|
52 |
* @param string $plugin_url
|
53 |
*/
|
54 |
static function tp_widget_js($file, $plugin_dir, $plugin_url) {
|
|
|
55 |
$basefile = substr($file, 0, -4);
|
56 |
$widget_js = TRANSPOSH_DIR_WIDGETS . '/' . $basefile . ".js";
|
57 |
if (file_exists($plugin_dir . $widget_js)) {
|
@@ -88,8 +90,10 @@ class transposh_plugin_widget extends WP_Widget {
|
|
88 |
// We only need to add those actions once, makes life simpler
|
89 |
if (is_active_widget(false, false, $this->id_base) && self::$first_init) {
|
90 |
self::$first_init = false;
|
91 |
-
|
92 |
-
|
|
|
|
|
93 |
}
|
94 |
}
|
95 |
|
@@ -98,8 +102,8 @@ class transposh_plugin_widget extends WP_Widget {
|
|
98 |
*/
|
99 |
function update($new_instance, $old_instance) {
|
100 |
$instance = $old_instance;
|
101 |
-
|
102 |
-
|
103 |
$instance['title'] = strip_tags(stripslashes($new_instance['title']));
|
104 |
$instance['widget_file'] = strip_tags(stripslashes($new_instance['widget_file']));
|
105 |
return $instance;
|
@@ -125,7 +129,7 @@ class transposh_plugin_widget extends WP_Widget {
|
|
125 |
echo '<p><label for="' . $this->get_field_name('widget_file') . '">' . __('Style:', TRANSPOSH_TEXT_DOMAIN) .
|
126 |
'<select id="' . $this->get_field_id('widget_file') . '" name="' . $this->get_field_name('widget_file') . '">';
|
127 |
foreach ($widgets as $file => $widget) {
|
128 |
-
|
129 |
$selected = ($instance['widget_file'] == $file) ? ' selected="selected"' : '';
|
130 |
echo "<option value=\"$file\"$selected>{$widget['Name']}</option>";
|
131 |
}
|
@@ -138,6 +142,7 @@ class transposh_plugin_widget extends WP_Widget {
|
|
138 |
* Loads the subwidget class code
|
139 |
*/
|
140 |
function load_widget($file) {
|
|
|
141 |
$widget_src = $this->transposh->transposh_plugin_dir . TRANSPOSH_DIR_WIDGETS . '/' . $file;
|
142 |
if ($file && file_exists($widget_src)) {
|
143 |
include_once $widget_src;
|
@@ -169,7 +174,7 @@ class transposh_plugin_widget extends WP_Widget {
|
|
169 |
$tmpclass->tp_widget_css($key, $this->transposh->transposh_plugin_dir, $this->transposh->transposh_plugin_url);
|
170 |
}
|
171 |
}
|
172 |
-
|
173 |
}
|
174 |
|
175 |
/**
|
@@ -192,7 +197,7 @@ class transposh_plugin_widget extends WP_Widget {
|
|
192 |
$tmpclass->tp_widget_js($key, $this->transposh->transposh_plugin_dir, $this->transposh->transposh_plugin_url);
|
193 |
}
|
194 |
}
|
195 |
-
|
196 |
}
|
197 |
|
198 |
/**
|
@@ -213,12 +218,11 @@ class transposh_plugin_widget extends WP_Widget {
|
|
213 |
foreach ($this->transposh->options->get_sorted_langs() as $code => $langrecord) {
|
214 |
list ($langname, $language, $flag) = explode(',', $langrecord);
|
215 |
|
216 |
-
// Only send languages which are
|
217 |
-
if ($this->transposh->options->
|
218 |
-
($this->transposh->options->is_editable_language($code) && $this->transposh->is_translator()) ||
|
219 |
($this->transposh->options->is_default_language($code))) {
|
220 |
// now we alway do this... maybe cache this to APC/Memcache
|
221 |
-
if ($this->transposh->options->
|
222 |
$page_url = transposh_utils::translate_url($clean_page_url, '', $code, array(&$this->transposh->database, 'fetch_translation'));
|
223 |
} else {
|
224 |
$page_url = $clean_page_url;
|
@@ -244,7 +248,7 @@ class transposh_plugin_widget extends WP_Widget {
|
|
244 |
function widget($args, $instance) {
|
245 |
// extract args given by wordpress
|
246 |
extract($args);
|
247 |
-
|
248 |
|
249 |
// we load the class needed and get its base name for later
|
250 |
$class = $this->load_widget($instance['widget_file']);
|
@@ -254,16 +258,16 @@ class transposh_plugin_widget extends WP_Widget {
|
|
254 |
|
255 |
$clean_page = $this->transposh->get_clean_url();
|
256 |
|
257 |
-
|
258 |
|
259 |
$widget_args = $this->create_widget_args($clean_page);
|
260 |
// at this point the widget args are ready
|
261 |
|
262 |
-
|
263 |
|
264 |
// widget default title
|
265 |
//echo $before_widget . $before_title . __('Translation', TRANSPOSH_TEXT_DOMAIN) . $after_title; - hmm? po/mo?
|
266 |
-
echo $before_widget;
|
267 |
if ($instance['title']) {
|
268 |
/* TRANSLATORS: no need to translate this string */
|
269 |
echo $before_title . __($instance['title'], TRANSPOSH_TEXT_DOMAIN) . $after_title;
|
@@ -279,7 +283,7 @@ class transposh_plugin_widget extends WP_Widget {
|
|
279 |
//at least one language showing - add the edit box if applicable
|
280 |
if (!empty($widget_args)) {
|
281 |
// this is the set default language line
|
282 |
-
if ($this->transposh->options->
|
283 |
If ((isset($_COOKIE['TR_LNG']) && $_COOKIE['TR_LNG'] != $this->transposh->target_language) || (!isset($_COOKIE['TR_LNG']) && !$this->transposh->options->is_default_language($this->transposh->target_language))) {
|
284 |
echo '<a id="' . SPAN_PREFIX . 'setdeflang' . self::$draw_calls . '" class="' . SPAN_PREFIX . 'setdeflang' . '" onClick="return false;" href="' . admin_url('admin-ajax.php') . '?action=tp_cookie_bck">' . __('Set as default language', TRANSPOSH_TEXT_DOMAIN) . '</a><br/>';
|
285 |
}
|
@@ -307,7 +311,7 @@ class transposh_plugin_widget extends WP_Widget {
|
|
307 |
// last - you can now remove the logo in exchange to a few percentage of ad and affiliate revenues on your pages, isn't that better?
|
308 |
$plugpath = parse_url($this->transposh->transposh_plugin_url, PHP_URL_PATH);
|
309 |
|
310 |
-
if (!$this->transposh->options->
|
311 |
$tagline = esc_attr__('Transposh', TRANSPOSH_TEXT_DOMAIN) . ' - ';
|
312 |
switch (ord(md5($_SERVER['REQUEST_URI'])) % 5) {
|
313 |
case 0:
|
@@ -334,12 +338,12 @@ class transposh_plugin_widget extends WP_Widget {
|
|
334 |
}
|
335 |
|
336 |
echo '<div id="' . SPAN_PREFIX . 'credit' . self::$draw_calls . '">';
|
337 |
-
if (!$this->transposh->options->
|
338 |
echo 'by <a href="http://tran' . 'sposh.org/' . $extralang . '"><img height="16" width="16" src="' .
|
339 |
-
$plugpath . '/img/tplog' . 'o.png" style="padding:1px;border:
|
340 |
}
|
341 |
echo '</div>';
|
342 |
-
echo $after_widget;
|
343 |
// increase the number of calls for unique IDs
|
344 |
self::$draw_calls++;
|
345 |
}
|
1 |
<?php
|
2 |
|
3 |
/*
|
4 |
+
* Transposh v0.9.0
|
5 |
* http://transposh.org/
|
6 |
*
|
7 |
* Copyright 2012, Team Transposh
|
8 |
* Licensed under the GPL Version 2 or higher.
|
9 |
* http://transposh.org/license
|
10 |
*
|
11 |
+
* Date: Thu, 13 Dec 2012 04:47:49 +0200
|
12 |
*/
|
13 |
|
14 |
/*
|
38 |
* @param string $plugin_url
|
39 |
*/
|
40 |
static function tp_widget_css($file, $plugin_dir, $plugin_url) {
|
41 |
+
tp_logger('looking for css:' . $file, 4);
|
42 |
$basefile = substr($file, 0, -4);
|
43 |
$widget_css = TRANSPOSH_DIR_WIDGETS . '/' . $basefile . ".css";
|
44 |
if (file_exists($plugin_dir . $widget_css)) {
|
45 |
+
wp_enqueue_style(str_replace('/', '_', $basefile), $plugin_url . '/' . $widget_css, '', TRANSPOSH_PLUGIN_VER);
|
46 |
}
|
47 |
}
|
48 |
|
53 |
* @param string $plugin_url
|
54 |
*/
|
55 |
static function tp_widget_js($file, $plugin_dir, $plugin_url) {
|
56 |
+
tp_logger('looking for js:' . $file, 4);
|
57 |
$basefile = substr($file, 0, -4);
|
58 |
$widget_js = TRANSPOSH_DIR_WIDGETS . '/' . $basefile . ".js";
|
59 |
if (file_exists($plugin_dir . $widget_js)) {
|
90 |
// We only need to add those actions once, makes life simpler
|
91 |
if (is_active_widget(false, false, $this->id_base) && self::$first_init) {
|
92 |
self::$first_init = false;
|
93 |
+
if (!is_admin()) {
|
94 |
+
add_action('wp_print_styles', array(&$this, 'add_transposh_widget_css'));
|
95 |
+
add_action('wp_print_scripts', array(&$this, 'add_transposh_widget_js'));
|
96 |
+
}
|
97 |
}
|
98 |
}
|
99 |
|
102 |
*/
|
103 |
function update($new_instance, $old_instance) {
|
104 |
$instance = $old_instance;
|
105 |
+
tp_logger($instance);
|
106 |
+
tp_logger($new_instance);
|
107 |
$instance['title'] = strip_tags(stripslashes($new_instance['title']));
|
108 |
$instance['widget_file'] = strip_tags(stripslashes($new_instance['widget_file']));
|
109 |
return $instance;
|
129 |
echo '<p><label for="' . $this->get_field_name('widget_file') . '">' . __('Style:', TRANSPOSH_TEXT_DOMAIN) .
|
130 |
'<select id="' . $this->get_field_id('widget_file') . '" name="' . $this->get_field_name('widget_file') . '">';
|
131 |
foreach ($widgets as $file => $widget) {
|
132 |
+
tp_logger($widget, 4);
|
133 |
$selected = ($instance['widget_file'] == $file) ? ' selected="selected"' : '';
|
134 |
echo "<option value=\"$file\"$selected>{$widget['Name']}</option>";
|
135 |
}
|
142 |
* Loads the subwidget class code
|
143 |
*/
|
144 |
function load_widget($file) {
|
145 |
+
tp_logger("widget loaded: $file", 4);
|
146 |
$widget_src = $this->transposh->transposh_plugin_dir . TRANSPOSH_DIR_WIDGETS . '/' . $file;
|
147 |
if ($file && file_exists($widget_src)) {
|
148 |
include_once $widget_src;
|
174 |
$tmpclass->tp_widget_css($key, $this->transposh->transposh_plugin_dir, $this->transposh->transposh_plugin_url);
|
175 |
}
|
176 |
}
|
177 |
+
tp_logger('Added transposh_widget_css', 4);
|
178 |
}
|
179 |
|
180 |
/**
|
197 |
$tmpclass->tp_widget_js($key, $this->transposh->transposh_plugin_dir, $this->transposh->transposh_plugin_url);
|
198 |
}
|
199 |
}
|
200 |
+
tp_logger('Added transposh_widget_js', 4);
|
201 |
}
|
202 |
|
203 |
/**
|
218 |
foreach ($this->transposh->options->get_sorted_langs() as $code => $langrecord) {
|
219 |
list ($langname, $language, $flag) = explode(',', $langrecord);
|
220 |
|
221 |
+
// Only send languages which are active
|
222 |
+
if ($this->transposh->options->is_active_language($code) ||
|
|
|
223 |
($this->transposh->options->is_default_language($code))) {
|
224 |
// now we alway do this... maybe cache this to APC/Memcache
|
225 |
+
if ($this->transposh->options->enable_url_translate && !$this->transposh->options->is_default_language($code)) {
|
226 |
$page_url = transposh_utils::translate_url($clean_page_url, '', $code, array(&$this->transposh->database, 'fetch_translation'));
|
227 |
} else {
|
228 |
$page_url = $clean_page_url;
|
248 |
function widget($args, $instance) {
|
249 |
// extract args given by wordpress
|
250 |
extract($args);
|
251 |
+
tp_logger($args, 4);
|
252 |
|
253 |
// we load the class needed and get its base name for later
|
254 |
$class = $this->load_widget($instance['widget_file']);
|
258 |
|
259 |
$clean_page = $this->transposh->get_clean_url();
|
260 |
|
261 |
+
tp_logger("WIDGET: clean page url: $clean_page", 4);
|
262 |
|
263 |
$widget_args = $this->create_widget_args($clean_page);
|
264 |
// at this point the widget args are ready
|
265 |
|
266 |
+
tp_logger('Enter widget', 4);
|
267 |
|
268 |
// widget default title
|
269 |
//echo $before_widget . $before_title . __('Translation', TRANSPOSH_TEXT_DOMAIN) . $after_title; - hmm? po/mo?
|
270 |
+
if (isset($before_widget)) echo $before_widget;
|
271 |
if ($instance['title']) {
|
272 |
/* TRANSLATORS: no need to translate this string */
|
273 |
echo $before_title . __($instance['title'], TRANSPOSH_TEXT_DOMAIN) . $after_title;
|
283 |
//at least one language showing - add the edit box if applicable
|
284 |
if (!empty($widget_args)) {
|
285 |
// this is the set default language line
|
286 |
+
if ($this->transposh->options->widget_allow_set_deflang) {
|
287 |
If ((isset($_COOKIE['TR_LNG']) && $_COOKIE['TR_LNG'] != $this->transposh->target_language) || (!isset($_COOKIE['TR_LNG']) && !$this->transposh->options->is_default_language($this->transposh->target_language))) {
|
288 |
echo '<a id="' . SPAN_PREFIX . 'setdeflang' . self::$draw_calls . '" class="' . SPAN_PREFIX . 'setdeflang' . '" onClick="return false;" href="' . admin_url('admin-ajax.php') . '?action=tp_cookie_bck">' . __('Set as default language', TRANSPOSH_TEXT_DOMAIN) . '</a><br/>';
|
289 |
}
|
311 |
// last - you can now remove the logo in exchange to a few percentage of ad and affiliate revenues on your pages, isn't that better?
|
312 |
$plugpath = parse_url($this->transposh->transposh_plugin_url, PHP_URL_PATH);
|
313 |
|
314 |
+
if (!$this->transposh->options->widget_remove_logo) {
|
315 |
$tagline = esc_attr__('Transposh', TRANSPOSH_TEXT_DOMAIN) . ' - ';
|
316 |
switch (ord(md5($_SERVER['REQUEST_URI'])) % 5) {
|
317 |
case 0:
|
338 |
}
|
339 |
|
340 |
echo '<div id="' . SPAN_PREFIX . 'credit' . self::$draw_calls . '">';
|
341 |
+
if (!$this->transposh->options->widget_remove_logo) {
|
342 |
echo 'by <a href="http://tran' . 'sposh.org/' . $extralang . '"><img height="16" width="16" src="' .
|
343 |
+
$plugpath . '/img/tplog' . 'o.png" style="padding:1px;border:0;box-shadow:0 0;border-radius:0" title="' . $tagline . '" alt="' . $tagline . '"/></a>';
|
344 |
}
|
345 |
echo '</div>';
|
346 |
+
if (isset($after_widget)) echo $after_widget;
|
347 |
// increase the number of calls for unique IDs
|
348 |
self::$draw_calls++;
|
349 |
}
|