From 85d5b01f76fb3b24b51a2be00da23f170fe78e44 Mon Sep 17 00:00:00 2001 From: rtlhq Date: Thu, 6 Oct 2022 21:49:26 +0800 Subject: [PATCH] Import Upstream version 5.92.0 --- .gitignore | 28 + .gitlab-ci.yml | 6 + .kde-ci.yml | 10 + AUTHORS | 6 + CMakeLists.txt | 80 ++ COPYING.LIB | 510 ++++++++++++ KF5JsEmbedConfig.cmake.in | 8 + README.md | 34 + docs/CMakeLists.txt | 1 + docs/kjscmd5/CMakeLists.txt | 1 + docs/kjscmd5/man-kjscmd5.1.docbook | 116 +++ examples/calc/calc.js | 67 ++ examples/calc/calc.ui | 148 ++++ examples/console/console.js | 34 + examples/console/console.ui | 42 + examples/docviewer/docviewer.js | 56 ++ examples/docviewer/docviewer.ui | 47 ++ examples/fancy/fancy.js | 34 + examples/grammar/grammar.js | 224 +++++ examples/kjsconsole/CMakeLists.txt | 15 + examples/kjsconsole/console.cpp | 145 ++++ examples/kjsconsole/console.h | 55 ++ examples/kjsconsole/console.qrc | 15 + examples/kjsconsole/images/bug.png | Bin 0 -> 992 bytes examples/kjsconsole/images/class.png | Bin 0 -> 143 bytes examples/kjsconsole/images/constant.png | Bin 0 -> 143 bytes examples/kjsconsole/images/method.png | Bin 0 -> 143 bytes examples/kjsconsole/images/next.png | Bin 0 -> 761 bytes examples/kjsconsole/images/no.png | Bin 0 -> 721 bytes examples/kjsconsole/images/property.png | Bin 0 -> 143 bytes examples/kjsconsole/images/runto.png | Bin 0 -> 358 bytes examples/kjsconsole/images/start.png | Bin 0 -> 735 bytes examples/kjsconsole/images/step.png | Bin 0 -> 761 bytes examples/kjsconsole/images/stop.png | Bin 0 -> 785 bytes examples/kjsconsole/jsconsole.ui | 247 ++++++ examples/kjsconsole/kjs_object_model.cpp | 181 ++++ examples/kjsconsole/kjs_object_model.h | 57 ++ examples/kjsconsole/main.cpp | 31 + examples/kjsconsole/numberedtextview.cpp | 284 +++++++ examples/kjsconsole/numberedtextview.h | 146 ++++ examples/scribble/scribble.js | 38 + examples/tests/args.js | 26 + examples/tests/brush.js | 48 ++ examples/tests/builtins.js | 5 + examples/tests/class.js | 32 + examples/tests/colortest.js | 46 ++ examples/tests/conio.js | 27 + examples/tests/domtest.js | 51 ++ examples/tests/events.js | 30 + examples/tests/fileio.js | 43 + examples/tests/fonttest.js | 23 + examples/tests/frame.js | 27 + examples/tests/gc.js | 47 ++ examples/tests/include.js | 23 + examples/tests/inner.js | 21 + examples/tests/jsslot.js | 43 + examples/tests/layout.js | 34 + examples/tests/library.js | 5 + examples/tests/listproperties.js | 3 + examples/tests/matt.js | 21 + examples/tests/paintertest.js | 36 + examples/tests/paintevent.js | 52 ++ examples/tests/pixmap.js | 34 + examples/tests/recttest.js | 30 + examples/tests/settings.js | 30 + examples/tests/signslots.js | 37 + examples/tests/statictest.js | 32 + examples/tests/stylesheet.js | 8 + examples/tests/svgtest.js | 37 + examples/tests/system.js | 23 + examples/tests/test.svg | 24 + examples/tests/test.ui | 69 ++ examples/tests/typecheck.js | 28 + examples/tests/uitest.js | 47 ++ examples/tests/uitest2.js | 54 ++ examples/tests/url.js | 15 + examples/tests/widgettest.js | 30 + metainfo.yaml | 22 + po/af/kjsembed5.po | 250 ++++++ po/ar/kjsembed5.po | 269 ++++++ po/as/kjsembed5.po | 249 ++++++ po/az/kjsembed5.po | 247 ++++++ po/be/kjsembed5.po | 261 ++++++ po/be@latin/kjsembed5.po | 252 ++++++ po/bg/kjsembed5.po | 247 ++++++ po/bn/kjsembed5.po | 249 ++++++ po/bn_IN/kjsembed5.po | 248 ++++++ po/br/kjsembed5.po | 252 ++++++ po/bs/kjsembed5.po | 260 ++++++ po/ca/docs/kjscmd5/man-kjscmd5.1.docbook | 176 ++++ po/ca/kjsembed5.po | 258 ++++++ po/ca@valencia/kjsembed5.po | 260 ++++++ po/crh/kjsembed5.po | 249 ++++++ po/cs/kjsembed5.po | 252 ++++++ po/csb/kjsembed5.po | 253 ++++++ po/cy/kjsembed5.po | 267 ++++++ po/da/kjsembed5.po | 249 ++++++ po/de/docs/kjscmd5/man-kjscmd5.1.docbook | 176 ++++ po/de/kjsembed5.po | 256 ++++++ po/el/kjsembed5.po | 262 ++++++ po/en_GB/kjsembed5.po | 245 ++++++ po/eo/kjsembed5.po | 256 ++++++ po/es/docs/kjscmd5/man-kjscmd5.1.docbook | 176 ++++ po/es/kjsembed5.po | 260 ++++++ po/et/kjsembed5.po | 251 ++++++ po/eu/kjsembed5.po | 255 ++++++ po/fa/kjsembed5.po | 249 ++++++ po/fi/kjsembed5.po | 267 ++++++ po/fr/docs/kjscmd5/man-kjscmd5.1.docbook | 176 ++++ po/fr/kjsembed5.po | 268 ++++++ po/fy/kjsembed5.po | 258 ++++++ po/ga/kjsembed5.po | 254 ++++++ po/gd/kjsembed5.po | 256 ++++++ po/gl/kjsembed5.po | 256 ++++++ po/gu/kjsembed5.po | 249 ++++++ po/ha/kjsembed5.po | 246 ++++++ po/he/kjsembed5.po | 260 ++++++ po/hi/kjsembed5.po | 249 ++++++ po/hne/kjsembed5.po | 250 ++++++ po/hr/kjsembed5.po | 260 ++++++ po/hsb/kjsembed5.po | 256 ++++++ po/hu/kjsembed5.po | 246 ++++++ po/hy/kjsembed5.po | 256 ++++++ po/ia/kjsembed5.po | 248 ++++++ po/id/kjsembed5.po | 250 ++++++ po/is/kjsembed5.po | 256 ++++++ po/it/docs/kjscmd5/man-kjscmd5.1.docbook | 176 ++++ po/it/kjsembed5.po | 259 ++++++ po/ja/kjsembed5.po | 256 ++++++ po/ka/kjsembed5.po | 251 ++++++ po/kk/kjsembed5.po | 251 ++++++ po/km/kjsembed5.po | 246 ++++++ po/kn/kjsembed5.po | 254 ++++++ po/ko/kjsembed5.po | 244 ++++++ po/ku/kjsembed5.po | 254 ++++++ po/lb/kjsembed5.po | 253 ++++++ po/lt/kjsembed5.po | 258 ++++++ po/lv/kjsembed5.po | 260 ++++++ po/mai/kjsembed5.po | 249 ++++++ po/mk/kjsembed5.po | 260 ++++++ po/ml/kjsembed5.po | 250 ++++++ po/mr/kjsembed5.po | 247 ++++++ po/ms/kjsembed5.po | 250 ++++++ po/nb/kjsembed5.po | 253 ++++++ po/nds/kjsembed5.po | 248 ++++++ po/ne/kjsembed5.po | 256 ++++++ po/nl/docs/kjscmd5/man-kjscmd5.1.docbook | 176 ++++ po/nl/kjsembed5.po | 262 ++++++ po/nn/kjsembed5.po | 251 ++++++ po/oc/kjsembed5.po | 251 ++++++ po/or/kjsembed5.po | 254 ++++++ po/pa/kjsembed5.po | 252 ++++++ po/pl/kjsembed5.po | 344 ++++++++ po/ps/kjsembed5.po | 253 ++++++ po/pt/docs/kjscmd5/man-kjscmd5.1.docbook | 176 ++++ po/pt/kjsembed5.po | 340 ++++++++ po/pt_BR/docs/kjscmd5/man-kjscmd5.1.docbook | 176 ++++ po/pt_BR/kjsembed5.po | 262 ++++++ po/ro/kjsembed5.po | 254 ++++++ po/ru/docs/kjscmd5/man-kjscmd5.1.docbook | 293 +++++++ po/ru/kjsembed5.po | 268 ++++++ po/se/kjsembed5.po | 251 ++++++ po/si/kjsembed5.po | 247 ++++++ po/sk/kjsembed5.po | 252 ++++++ po/sl/kjsembed5.po | 262 ++++++ po/sq/kjsembed5.po | 266 ++++++ po/sr/kjsembed5.po | 256 ++++++ po/sr@ijekavian/kjsembed5.po | 255 ++++++ po/sr@ijekavianlatin/kjsembed5.po | 255 ++++++ po/sr@latin/kjsembed5.po | 255 ++++++ po/sv/docs/kjscmd5/man-kjscmd5.1.docbook | 176 ++++ po/sv/kjsembed5.po | 255 ++++++ po/ta/kjsembed5.po | 247 ++++++ po/te/kjsembed5.po | 258 ++++++ po/tg/kjsembed5.po | 251 ++++++ po/th/kjsembed5.po | 247 ++++++ po/tr/kjsembed5.po | 260 ++++++ po/tt/kjsembed5.po | 248 ++++++ po/ug/kjsembed5.po | 245 ++++++ po/uk/docs/kjscmd5/man-kjscmd5.1.docbook | 176 ++++ po/uk/kjsembed5.po | 258 ++++++ po/uz/kjsembed5.po | 252 ++++++ po/uz@cyrillic/kjsembed5.po | 252 ++++++ po/vi/kjsembed5.po | 249 ++++++ po/wa/kjsembed5.po | 255 ++++++ po/xh/kjsembed5.po | 259 ++++++ po/zh_CN/kjsembed5.po | 255 ++++++ po/zh_HK/kjsembed5.po | 270 ++++++ po/zh_TW/kjsembed5.po | 252 ++++++ src/CMakeLists.txt | 2 + src/Messages.sh | 18 + src/kjscmd/CMakeLists.txt | 16 + src/kjscmd/console.js | 22 + src/kjscmd/kjscmd.cpp | 139 ++++ src/kjscmd/kjscmd.qrc | 5 + src/kjsembed/CMakeLists.txt | 83 ++ src/kjsembed/QBrush_bind.cpp | 294 +++++++ src/kjsembed/QBrush_bind.h | 53 ++ src/kjsembed/application.cpp | 76 ++ src/kjsembed/application.h | 40 + src/kjsembed/binding_support.cpp | 228 +++++ src/kjsembed/binding_support.h | 641 +++++++++++++++ src/kjsembed/brush.cpp | 158 ++++ src/kjsembed/brush.h | 48 ++ src/kjsembed/builtins.cpp | 200 +++++ src/kjsembed/builtins.h | 44 + src/kjsembed/color.cpp | 190 +++++ src/kjsembed/color.h | 77 ++ src/kjsembed/dom.cpp | 868 ++++++++++++++++++++ src/kjsembed/dom.h | 146 ++++ src/kjsembed/eventproxy.cpp | 143 ++++ src/kjsembed/eventproxy.h | 75 ++ src/kjsembed/filedialog_binding.cpp | 87 ++ src/kjsembed/filedialog_binding.h | 42 + src/kjsembed/fileio.cpp | 137 +++ src/kjsembed/fileio.h | 44 + src/kjsembed/font.cpp | 350 ++++++++ src/kjsembed/font.h | 53 ++ src/kjsembed/image.cpp | 345 ++++++++ src/kjsembed/image.h | 53 ++ src/kjsembed/iosupport.cpp | 92 +++ src/kjsembed/iosupport.h | 42 + src/kjsembed/jseventmapper.cpp | 297 +++++++ src/kjsembed/jseventmapper.h | 84 ++ src/kjsembed/jseventutils.cpp | 313 +++++++ src/kjsembed/jseventutils.h | 60 ++ src/kjsembed/kjseglobal.cpp | 152 ++++ src/kjsembed/kjseglobal.h | 128 +++ src/kjsembed/kjsembed.cpp | 312 +++++++ src/kjsembed/kjsembed.h | 144 ++++ src/kjsembed/object_binding.cpp | 106 +++ src/kjsembed/object_binding.h | 260 ++++++ src/kjsembed/pen.cpp | 148 ++++ src/kjsembed/pen.h | 50 ++ src/kjsembed/pixmap.cpp | 308 +++++++ src/kjsembed/pixmap.h | 53 ++ src/kjsembed/point.cpp | 107 +++ src/kjsembed/point.h | 49 ++ src/kjsembed/pointer.h | 148 ++++ src/kjsembed/qaction_binding.cpp | 86 ++ src/kjsembed/qaction_binding.h | 38 + src/kjsembed/qformbuilder_binding.cpp | 69 ++ src/kjsembed/qformbuilder_binding.h | 33 + src/kjsembed/qlayout_binding.cpp | 95 +++ src/kjsembed/qlayout_binding.h | 35 + src/kjsembed/qobject_binding.cpp | 865 +++++++++++++++++++ src/kjsembed/qobject_binding.h | 242 ++++++ src/kjsembed/qpainter_binding.cpp | 493 +++++++++++ src/kjsembed/qpainter_binding.h | 33 + src/kjsembed/quiloader_binding.cpp | 164 ++++ src/kjsembed/quiloader_binding.h | 35 + src/kjsembed/qwidget_binding.cpp | 172 ++++ src/kjsembed/qwidget_binding.h | 35 + src/kjsembed/rect.cpp | 438 ++++++++++ src/kjsembed/rect.h | 48 ++ src/kjsembed/settings.cpp | 122 +++ src/kjsembed/settings.h | 37 + src/kjsembed/size.cpp | 150 ++++ src/kjsembed/size.h | 48 ++ src/kjsembed/slotproxy.cpp | 297 +++++++ src/kjsembed/slotproxy.h | 65 ++ src/kjsembed/static_binding.cpp | 148 ++++ src/kjsembed/static_binding.h | 140 ++++ src/kjsembed/svg_binding.cpp | 122 +++ src/kjsembed/svg_binding.h | 37 + src/kjsembed/test/QByteArray_bind.cpp | 37 + src/kjsembed/test/QByteArray_bind.h | 54 ++ src/kjsembed/url.cpp | 79 ++ src/kjsembed/url.h | 49 ++ src/kjsembed/util.h | 76 ++ src/kjsembed/value_binding.cpp | 68 ++ src/kjsembed/value_binding.h | 223 +++++ src/kjsembed/variant_binding.cpp | 432 ++++++++++ src/kjsembed/variant_binding.h | 255 ++++++ 274 files changed, 44325 insertions(+) create mode 100644 .gitignore create mode 100644 .gitlab-ci.yml create mode 100644 .kde-ci.yml create mode 100644 AUTHORS create mode 100644 CMakeLists.txt create mode 100644 COPYING.LIB create mode 100644 KF5JsEmbedConfig.cmake.in create mode 100644 README.md create mode 100644 docs/CMakeLists.txt create mode 100644 docs/kjscmd5/CMakeLists.txt create mode 100644 docs/kjscmd5/man-kjscmd5.1.docbook create mode 100644 examples/calc/calc.js create mode 100644 examples/calc/calc.ui create mode 100644 examples/console/console.js create mode 100644 examples/console/console.ui create mode 100644 examples/docviewer/docviewer.js create mode 100644 examples/docviewer/docviewer.ui create mode 100644 examples/fancy/fancy.js create mode 100644 examples/grammar/grammar.js create mode 100644 examples/kjsconsole/CMakeLists.txt create mode 100644 examples/kjsconsole/console.cpp create mode 100644 examples/kjsconsole/console.h create mode 100644 examples/kjsconsole/console.qrc create mode 100644 examples/kjsconsole/images/bug.png create mode 100644 examples/kjsconsole/images/class.png create mode 100644 examples/kjsconsole/images/constant.png create mode 100644 examples/kjsconsole/images/method.png create mode 100644 examples/kjsconsole/images/next.png create mode 100644 examples/kjsconsole/images/no.png create mode 100644 examples/kjsconsole/images/property.png create mode 100644 examples/kjsconsole/images/runto.png create mode 100644 examples/kjsconsole/images/start.png create mode 100644 examples/kjsconsole/images/step.png create mode 100644 examples/kjsconsole/images/stop.png create mode 100644 examples/kjsconsole/jsconsole.ui create mode 100644 examples/kjsconsole/kjs_object_model.cpp create mode 100644 examples/kjsconsole/kjs_object_model.h create mode 100644 examples/kjsconsole/main.cpp create mode 100644 examples/kjsconsole/numberedtextview.cpp create mode 100644 examples/kjsconsole/numberedtextview.h create mode 100644 examples/scribble/scribble.js create mode 100644 examples/tests/args.js create mode 100644 examples/tests/brush.js create mode 100644 examples/tests/builtins.js create mode 100644 examples/tests/class.js create mode 100644 examples/tests/colortest.js create mode 100644 examples/tests/conio.js create mode 100644 examples/tests/domtest.js create mode 100644 examples/tests/events.js create mode 100644 examples/tests/fileio.js create mode 100644 examples/tests/fonttest.js create mode 100644 examples/tests/frame.js create mode 100644 examples/tests/gc.js create mode 100644 examples/tests/include.js create mode 100644 examples/tests/inner.js create mode 100644 examples/tests/jsslot.js create mode 100644 examples/tests/layout.js create mode 100644 examples/tests/library.js create mode 100644 examples/tests/listproperties.js create mode 100644 examples/tests/matt.js create mode 100644 examples/tests/paintertest.js create mode 100644 examples/tests/paintevent.js create mode 100644 examples/tests/pixmap.js create mode 100644 examples/tests/recttest.js create mode 100644 examples/tests/settings.js create mode 100644 examples/tests/signslots.js create mode 100644 examples/tests/statictest.js create mode 100644 examples/tests/stylesheet.js create mode 100644 examples/tests/svgtest.js create mode 100644 examples/tests/system.js create mode 100644 examples/tests/test.svg create mode 100644 examples/tests/test.ui create mode 100644 examples/tests/typecheck.js create mode 100644 examples/tests/uitest.js create mode 100644 examples/tests/uitest2.js create mode 100644 examples/tests/url.js create mode 100644 examples/tests/widgettest.js create mode 100644 metainfo.yaml create mode 100644 po/af/kjsembed5.po create mode 100644 po/ar/kjsembed5.po create mode 100644 po/as/kjsembed5.po create mode 100644 po/az/kjsembed5.po create mode 100644 po/be/kjsembed5.po create mode 100644 po/be@latin/kjsembed5.po create mode 100644 po/bg/kjsembed5.po create mode 100644 po/bn/kjsembed5.po create mode 100644 po/bn_IN/kjsembed5.po create mode 100644 po/br/kjsembed5.po create mode 100644 po/bs/kjsembed5.po create mode 100644 po/ca/docs/kjscmd5/man-kjscmd5.1.docbook create mode 100644 po/ca/kjsembed5.po create mode 100644 po/ca@valencia/kjsembed5.po create mode 100644 po/crh/kjsembed5.po create mode 100644 po/cs/kjsembed5.po create mode 100644 po/csb/kjsembed5.po create mode 100644 po/cy/kjsembed5.po create mode 100644 po/da/kjsembed5.po create mode 100644 po/de/docs/kjscmd5/man-kjscmd5.1.docbook create mode 100644 po/de/kjsembed5.po create mode 100644 po/el/kjsembed5.po create mode 100644 po/en_GB/kjsembed5.po create mode 100644 po/eo/kjsembed5.po create mode 100644 po/es/docs/kjscmd5/man-kjscmd5.1.docbook create mode 100644 po/es/kjsembed5.po create mode 100644 po/et/kjsembed5.po create mode 100644 po/eu/kjsembed5.po create mode 100644 po/fa/kjsembed5.po create mode 100644 po/fi/kjsembed5.po create mode 100644 po/fr/docs/kjscmd5/man-kjscmd5.1.docbook create mode 100644 po/fr/kjsembed5.po create mode 100644 po/fy/kjsembed5.po create mode 100644 po/ga/kjsembed5.po create mode 100644 po/gd/kjsembed5.po create mode 100644 po/gl/kjsembed5.po create mode 100644 po/gu/kjsembed5.po create mode 100644 po/ha/kjsembed5.po create mode 100644 po/he/kjsembed5.po create mode 100644 po/hi/kjsembed5.po create mode 100644 po/hne/kjsembed5.po create mode 100644 po/hr/kjsembed5.po create mode 100644 po/hsb/kjsembed5.po create mode 100644 po/hu/kjsembed5.po create mode 100644 po/hy/kjsembed5.po create mode 100644 po/ia/kjsembed5.po create mode 100644 po/id/kjsembed5.po create mode 100644 po/is/kjsembed5.po create mode 100644 po/it/docs/kjscmd5/man-kjscmd5.1.docbook create mode 100644 po/it/kjsembed5.po create mode 100644 po/ja/kjsembed5.po create mode 100644 po/ka/kjsembed5.po create mode 100644 po/kk/kjsembed5.po create mode 100644 po/km/kjsembed5.po create mode 100644 po/kn/kjsembed5.po create mode 100644 po/ko/kjsembed5.po create mode 100644 po/ku/kjsembed5.po create mode 100644 po/lb/kjsembed5.po create mode 100644 po/lt/kjsembed5.po create mode 100644 po/lv/kjsembed5.po create mode 100644 po/mai/kjsembed5.po create mode 100644 po/mk/kjsembed5.po create mode 100644 po/ml/kjsembed5.po create mode 100644 po/mr/kjsembed5.po create mode 100644 po/ms/kjsembed5.po create mode 100644 po/nb/kjsembed5.po create mode 100644 po/nds/kjsembed5.po create mode 100644 po/ne/kjsembed5.po create mode 100644 po/nl/docs/kjscmd5/man-kjscmd5.1.docbook create mode 100644 po/nl/kjsembed5.po create mode 100644 po/nn/kjsembed5.po create mode 100644 po/oc/kjsembed5.po create mode 100644 po/or/kjsembed5.po create mode 100644 po/pa/kjsembed5.po create mode 100644 po/pl/kjsembed5.po create mode 100644 po/ps/kjsembed5.po create mode 100644 po/pt/docs/kjscmd5/man-kjscmd5.1.docbook create mode 100644 po/pt/kjsembed5.po create mode 100644 po/pt_BR/docs/kjscmd5/man-kjscmd5.1.docbook create mode 100644 po/pt_BR/kjsembed5.po create mode 100644 po/ro/kjsembed5.po create mode 100644 po/ru/docs/kjscmd5/man-kjscmd5.1.docbook create mode 100644 po/ru/kjsembed5.po create mode 100644 po/se/kjsembed5.po create mode 100644 po/si/kjsembed5.po create mode 100644 po/sk/kjsembed5.po create mode 100644 po/sl/kjsembed5.po create mode 100644 po/sq/kjsembed5.po create mode 100644 po/sr/kjsembed5.po create mode 100644 po/sr@ijekavian/kjsembed5.po create mode 100644 po/sr@ijekavianlatin/kjsembed5.po create mode 100644 po/sr@latin/kjsembed5.po create mode 100644 po/sv/docs/kjscmd5/man-kjscmd5.1.docbook create mode 100644 po/sv/kjsembed5.po create mode 100644 po/ta/kjsembed5.po create mode 100644 po/te/kjsembed5.po create mode 100644 po/tg/kjsembed5.po create mode 100644 po/th/kjsembed5.po create mode 100644 po/tr/kjsembed5.po create mode 100644 po/tt/kjsembed5.po create mode 100644 po/ug/kjsembed5.po create mode 100644 po/uk/docs/kjscmd5/man-kjscmd5.1.docbook create mode 100644 po/uk/kjsembed5.po create mode 100644 po/uz/kjsembed5.po create mode 100644 po/uz@cyrillic/kjsembed5.po create mode 100644 po/vi/kjsembed5.po create mode 100644 po/wa/kjsembed5.po create mode 100644 po/xh/kjsembed5.po create mode 100644 po/zh_CN/kjsembed5.po create mode 100644 po/zh_HK/kjsembed5.po create mode 100644 po/zh_TW/kjsembed5.po create mode 100644 src/CMakeLists.txt create mode 100755 src/Messages.sh create mode 100644 src/kjscmd/CMakeLists.txt create mode 100644 src/kjscmd/console.js create mode 100644 src/kjscmd/kjscmd.cpp create mode 100644 src/kjscmd/kjscmd.qrc create mode 100644 src/kjsembed/CMakeLists.txt create mode 100644 src/kjsembed/QBrush_bind.cpp create mode 100644 src/kjsembed/QBrush_bind.h create mode 100644 src/kjsembed/application.cpp create mode 100644 src/kjsembed/application.h create mode 100644 src/kjsembed/binding_support.cpp create mode 100644 src/kjsembed/binding_support.h create mode 100644 src/kjsembed/brush.cpp create mode 100644 src/kjsembed/brush.h create mode 100644 src/kjsembed/builtins.cpp create mode 100644 src/kjsembed/builtins.h create mode 100644 src/kjsembed/color.cpp create mode 100644 src/kjsembed/color.h create mode 100644 src/kjsembed/dom.cpp create mode 100644 src/kjsembed/dom.h create mode 100644 src/kjsembed/eventproxy.cpp create mode 100644 src/kjsembed/eventproxy.h create mode 100644 src/kjsembed/filedialog_binding.cpp create mode 100644 src/kjsembed/filedialog_binding.h create mode 100644 src/kjsembed/fileio.cpp create mode 100644 src/kjsembed/fileio.h create mode 100644 src/kjsembed/font.cpp create mode 100644 src/kjsembed/font.h create mode 100644 src/kjsembed/image.cpp create mode 100644 src/kjsembed/image.h create mode 100644 src/kjsembed/iosupport.cpp create mode 100644 src/kjsembed/iosupport.h create mode 100644 src/kjsembed/jseventmapper.cpp create mode 100644 src/kjsembed/jseventmapper.h create mode 100644 src/kjsembed/jseventutils.cpp create mode 100644 src/kjsembed/jseventutils.h create mode 100644 src/kjsembed/kjseglobal.cpp create mode 100644 src/kjsembed/kjseglobal.h create mode 100644 src/kjsembed/kjsembed.cpp create mode 100644 src/kjsembed/kjsembed.h create mode 100644 src/kjsembed/object_binding.cpp create mode 100644 src/kjsembed/object_binding.h create mode 100644 src/kjsembed/pen.cpp create mode 100644 src/kjsembed/pen.h create mode 100644 src/kjsembed/pixmap.cpp create mode 100644 src/kjsembed/pixmap.h create mode 100644 src/kjsembed/point.cpp create mode 100644 src/kjsembed/point.h create mode 100644 src/kjsembed/pointer.h create mode 100644 src/kjsembed/qaction_binding.cpp create mode 100644 src/kjsembed/qaction_binding.h create mode 100644 src/kjsembed/qformbuilder_binding.cpp create mode 100644 src/kjsembed/qformbuilder_binding.h create mode 100644 src/kjsembed/qlayout_binding.cpp create mode 100644 src/kjsembed/qlayout_binding.h create mode 100644 src/kjsembed/qobject_binding.cpp create mode 100644 src/kjsembed/qobject_binding.h create mode 100644 src/kjsembed/qpainter_binding.cpp create mode 100644 src/kjsembed/qpainter_binding.h create mode 100644 src/kjsembed/quiloader_binding.cpp create mode 100644 src/kjsembed/quiloader_binding.h create mode 100644 src/kjsembed/qwidget_binding.cpp create mode 100644 src/kjsembed/qwidget_binding.h create mode 100644 src/kjsembed/rect.cpp create mode 100644 src/kjsembed/rect.h create mode 100644 src/kjsembed/settings.cpp create mode 100644 src/kjsembed/settings.h create mode 100644 src/kjsembed/size.cpp create mode 100644 src/kjsembed/size.h create mode 100644 src/kjsembed/slotproxy.cpp create mode 100644 src/kjsembed/slotproxy.h create mode 100644 src/kjsembed/static_binding.cpp create mode 100644 src/kjsembed/static_binding.h create mode 100644 src/kjsembed/svg_binding.cpp create mode 100644 src/kjsembed/svg_binding.h create mode 100644 src/kjsembed/test/QByteArray_bind.cpp create mode 100644 src/kjsembed/test/QByteArray_bind.h create mode 100644 src/kjsembed/url.cpp create mode 100644 src/kjsembed/url.h create mode 100644 src/kjsembed/util.h create mode 100644 src/kjsembed/value_binding.cpp create mode 100644 src/kjsembed/value_binding.h create mode 100644 src/kjsembed/variant_binding.cpp create mode 100644 src/kjsembed/variant_binding.h diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d84c817 --- /dev/null +++ b/.gitignore @@ -0,0 +1,28 @@ +# Ignore the following files +*~ +*.[oa] +*.diff +*.kate-swp +*.kdev4 +.kdev_include_paths +*.kdevelop.pcs +*.moc +*.moc.cpp +*.orig +*.user +.*.swp +.swp.* +Doxyfile +Makefile +avail +random_seed +/build*/ +CMakeLists.txt.user* +*.unc-backup* +.cmake/ +/.clang-format +/compile_commands.json +.clangd +.idea +/cmake-build* +.cache diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..a607d28 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,6 @@ +# SPDX-FileCopyrightText: 2020 Volker Krause +# SPDX-License-Identifier: CC0-1.0 + +include: + - https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/linux.yml + - https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/freebsd.yml diff --git a/.kde-ci.yml b/.kde-ci.yml new file mode 100644 index 0000000..214a546 --- /dev/null +++ b/.kde-ci.yml @@ -0,0 +1,10 @@ +Dependencies: +- 'on': ['Linux', 'FreeBSD', 'Windows', 'macOS'] + 'require': + 'frameworks/extra-cmake-modules': '@same' + 'frameworks/kjs' : '@same' + 'frameworks/ki18n' : '@same' + 'frameworks/kdoctools' : '@same' + +Options: + test-before-installing: True diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..f0e6085 --- /dev/null +++ b/AUTHORS @@ -0,0 +1,6 @@ +KJSEmbed Authors: +----------------- +Ian Reinhart Geiser +Matt Broadstone +Richard J. Moore +Erik L. Bunce diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..232f086 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,80 @@ +cmake_minimum_required(VERSION 3.16) + +set(KF_VERSION "5.92.0") # handled by release scripts +set(KF_DEP_VERSION "5.92.0") # handled by release scripts +project(KJsEmbed VERSION ${KF_VERSION}) + +include(FeatureSummary) +find_package(ECM 5.92.0 NO_MODULE) +set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://commits.kde.org/extra-cmake-modules") +feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) + +set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) + +set(REQUIRED_QT_VERSION 5.15.2) +find_package(Qt5 "${REQUIRED_QT_VERSION}" CONFIG REQUIRED UiTools Widgets Xml Svg) +include(KDEInstallDirs) +include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) +include(KDECMakeSettings) + +include(GenerateExportHeader) +include(CMakePackageConfigHelpers) +include(ECMSetupVersion) +include(ECMGenerateHeaders) + +ecm_setup_version(PROJECT VARIABLE_PREFIX KJSEMBED + #VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kjsembed_version.h" + PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF5JsEmbedConfigVersion.cmake" + SOVERSION 5) + +find_package(KF5JS ${KF_DEP_VERSION} REQUIRED) +find_package(KF5I18n ${KF_DEP_VERSION} REQUIRED) +find_package(KF5DocTools ${KF_DEP_VERSION}) + +add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0) +add_definitions(-DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x055100) +# remove definitions set by KDEFrameworkCompilerSettings which we fail to meet +remove_definitions(-DQT_NO_KEYWORDS) +remove_definitions(-DQT_NO_FOREACH) +remove_definitions(-DQT_NO_CAST_FROM_ASCII) +remove_definitions(-DQT_NO_CAST_FROM_BYTEARRAY) +# ideally we would support QT_NO_KEYWORDS, but at least we can do this +add_definitions(-DQT_NO_SIGNALS_SLOTS_KEYWORDS) + +add_definitions(-DTRANSLATION_DOMAIN=\"kjsembed5\") +ki18n_install(po) +if (KF5DocTools_FOUND) + kdoctools_install(po) +endif() +if(KF5DocTools_FOUND) + add_subdirectory(docs) +endif() +add_subdirectory(src) +add_subdirectory(examples/kjsconsole) + +# create a Config.cmake and a ConfigVersion.cmake file and install them +set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5JsEmbed") + +include(CMakePackageConfigHelpers) + +configure_package_config_file( + "${CMAKE_CURRENT_SOURCE_DIR}/KF5JsEmbedConfig.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/KF5JsEmbedConfig.cmake" + INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} +) + +install(FILES + "${CMAKE_CURRENT_BINARY_DIR}/KF5JsEmbedConfig.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/KF5JsEmbedConfigVersion.cmake" + DESTINATION "${CMAKECONFIG_INSTALL_DIR}" + COMPONENT Devel +) + +install(EXPORT KF5JsEmbedTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KF5JsEmbedTargets.cmake NAMESPACE KF5:: ) + +#install(FILES +#${CMAKE_CURRENT_BINARY_DIR}/kjsembed_version.h +#DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5} COMPONENT Devel +#) + +feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) diff --git a/COPYING.LIB b/COPYING.LIB new file mode 100644 index 0000000..2d2d780 --- /dev/null +++ b/COPYING.LIB @@ -0,0 +1,510 @@ + + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations +below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it +becomes a de-facto standard. To achieve this, non-free programs must +be allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control +compilation and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at least + three years, to give the same user the materials specified in + Subsection 6a, above, for a charge no more than the cost of + performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply, and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License +may add an explicit geographical distribution limitation excluding those +countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms +of the ordinary General Public License). + + To apply these terms, attach the following notices to the library. +It is safest to attach them to the start of each source file to most +effectively convey the exclusion of warranty; and each file should +have at least the "copyright" line and a pointer to where the full +notice is found. + + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or +your school, if any, to sign a "copyright disclaimer" for the library, +if necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James + Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + diff --git a/KF5JsEmbedConfig.cmake.in b/KF5JsEmbedConfig.cmake.in new file mode 100644 index 0000000..5fdd09a --- /dev/null +++ b/KF5JsEmbedConfig.cmake.in @@ -0,0 +1,8 @@ +@PACKAGE_INIT@ + +include(CMakeFindDependencyMacro) +find_dependency(KF5I18n "@KF_DEP_VERSION@") +find_dependency(KF5JS "@KF_DEP_VERSION@") + +include("${CMAKE_CURRENT_LIST_DIR}/KF5JsEmbedTargets.cmake") + diff --git a/README.md b/README.md new file mode 100644 index 0000000..9474c78 --- /dev/null +++ b/README.md @@ -0,0 +1,34 @@ +# KJSEmbed + +Binding Javascript object to QObjects + +## Introduction + +KSJEmbed provides a method of binding JavaScript objects to QObjects, +so you can script your applications. + + +## Usage + +If you are using CMake, you need to have + + find_package(KF5JsEmbed NO_MODULE) + +(or similar) in your CMakeLists.txt file, and you need to link to KF5::JsEmbed. + +The KJSEmbed::Engine class provides the main interface for running embedded +Javascript. + + KJSEmbed::Engine *engine = new KJSEmbed::Engine(); + KJS::Interpreter *interpreter = engine->interpreter(); + interpreter->setShouldPrintExceptions(true); + KJS::ExecState *exec = interpreter->globalExec(); + KJS::UString code("print(\"Hello World\")"); + KJSEmbed::Engine::ExitStatus exitstatus = engine->execute(code); + KJS::Completion completion = engine->completion(); + if (exitstatus != KJSEmbed::Engine::Success) { + KJS::JSValue* value = completion.value(); + qDebug() << value->toString(exec).qstring(); + } + + diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt new file mode 100644 index 0000000..1a9bfb7 --- /dev/null +++ b/docs/CMakeLists.txt @@ -0,0 +1 @@ +add_subdirectory(kjscmd5) diff --git a/docs/kjscmd5/CMakeLists.txt b/docs/kjscmd5/CMakeLists.txt new file mode 100644 index 0000000..993b2bc --- /dev/null +++ b/docs/kjscmd5/CMakeLists.txt @@ -0,0 +1 @@ +kdoctools_create_manpage(man-kjscmd5.1.docbook 1 INSTALL_DESTINATION ${KDE_INSTALL_MANDIR}) diff --git a/docs/kjscmd5/man-kjscmd5.1.docbook b/docs/kjscmd5/man-kjscmd5.1.docbook new file mode 100644 index 0000000..9a40763 --- /dev/null +++ b/docs/kjscmd5/man-kjscmd5.1.docbook @@ -0,0 +1,116 @@ + + +]> + + + + +kjscmd5 User's Manual + + + + +Harri +Porten + +
porten@kde.org
+
+
+ +2015-07-31 +Frameworks 5.13 +KDE Frameworks + +
+ + +kjscmd5 +1 + + + +kjscmd5 +&frameworks; KJSEmbed interpreter + + + +Synopsis + + +kjscmd5 + +--help + + +-e +--exec + + +-i +-interactive + +file + + + + +Description + +kjscmd5 is a tool for launching KJSEmbed scripts from the command line. +It will run the scripts contained in the named file using KJSEmbed. +It does not accept - (stdin) as a file. + + + + +Application Options + + + +, + + +execute script in file without &GUI; support. + + + + + +, + +start interactive kjs interpreter. + + + + + + + + +Usage + +The most common way to run kjscmd5 is simply as + +kjscmd5 file + + +If no parameter file is used, it executes a predefined test +script that measures the start speed of kjscmd5. + + + + +See Also +kjs5(1) + + + +Bugs +Please use &kde;'s bugtracker to report bugs. + + +
+ + + diff --git a/examples/calc/calc.js b/examples/calc/calc.js new file mode 100644 index 0000000..1bbeb39 --- /dev/null +++ b/examples/calc/calc.js @@ -0,0 +1,67 @@ +#!/usr/bin/env kjscmd5 + + +function Calculator(ui) +{ + // Setup entry functions + var display = ui.findChild('display'); + this.display = display; + + this.one = function() { display.intValue = display.intValue*10+1; } + this.two = function() { display.intValue = display.intValue*10+2; } + this.three = function() { display.intValue = display.intValue*10+3; } + this.four = function() { display.intValue = display.intValue*10+4; } + this.five = function() { display.intValue = display.intValue*10+5; } + this.six = function() { display.intValue = display.intValue*10+6; } + this.seven = function() { display.intValue = display.intValue*10+7; } + this.eight = function() { display.intValue = display.intValue*10+8; } + this.nine = function() { display.intValue = display.intValue*10+9; } + this.zero = function() { display.intValue = display.intValue*10+0; } + + ui.connect( ui.findChild('one'), 'clicked()', this, 'one()' ); + ui.connect( ui.findChild('two'), 'clicked()', this, 'two()' ); + ui.connect( ui.findChild('three'), 'clicked()', this, 'three()' ); + ui.connect( ui.findChild('four'), 'clicked()', this, 'four()' ); + ui.connect( ui.findChild('five'), 'clicked()', this, 'five()' ); + ui.connect( ui.findChild('six'), 'clicked()', this, 'six()' ); + ui.connect( ui.findChild('seven'), 'clicked()', this, 'seven()' ); + ui.connect( ui.findChild('eight'), 'clicked()', this, 'eight()' ); + ui.connect( ui.findChild('nine'), 'clicked()', this, 'nine()' ); + ui.connect( ui.findChild('zero'), 'clicked()', this, 'zero()' ); + + this.val = 0; + this.display.intValue = 0; + this.lastop = function() {} + + this.plus = function() + { + this.val = display.intValue+this.val; + display.intValue = 0; + this.lastop=this.plus + } + + this.minus = function() + { + this.val = display.intValue-this.val; + display.intValue = 0; + this.lastop=this.minus; + } + + + ui.connect( ui.findChild('plus'), 'clicked()', this, 'plus()' ); + ui.connect( ui.findChild('minus'), 'clicked()', this, 'minus()' ); + + this.equals = function() { this.lastop(); display.intValue = this.val; } + this.clear = function() { this.lastop=function(){}; display.intValue = 0; this.val = 0; } + + ui.connect( ui.findChild('equals'), 'clicked()', this, 'equals()' ); + ui.connect( ui.findChild('clear'), 'clicked()', this, 'clear()' ); +} + +var loader = new QUiLoader(); +var ui = loader.load('calc.ui', this); +var calc = new Calculator(ui); + +ui.show(); +exec(); + diff --git a/examples/calc/calc.ui b/examples/calc/calc.ui new file mode 100644 index 0000000..c44d11c --- /dev/null +++ b/examples/calc/calc.ui @@ -0,0 +1,148 @@ + + calc + + + + 0 + 0 + 237 + 159 + + + + JS Calculator + + + + 11 + + + 6 + + + + + 18 + + + + + + + 0 + + + 6 + + + + + + + + + + + + + AC + + + + + + + - + + + + + + + = + + + + + + + CL + + + + + + + 0 + + + + + + + 4 + + + + + + + 2 + + + + + + + 5 + + + + + + + 3 + + + + + + + 7 + + + + + + + 6 + + + + + + + 8 + + + + + + + 9 + + + + + + + 1 + + + + + + + + + + diff --git a/examples/console/console.js b/examples/console/console.js new file mode 100644 index 0000000..b17d821 --- /dev/null +++ b/examples/console/console.js @@ -0,0 +1,34 @@ +#!/usr/bin/env kjs + +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 KJSEmbed Authors + See included AUTHORS file. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +var uiLoader = new QUiLoader(this); + +var console = uiLoader.load("console.ui", this); +connect( console.commandLine, "returnPressed()", this, "callCommand()" ); +console.show(); +exec(); + +function callCommand( ) +{ + console.outputConsole.html += console.commandLine.text + "
"; + console.commandLine.text = ""; +} diff --git a/examples/console/console.ui b/examples/console/console.ui new file mode 100644 index 0000000..dc51a46 --- /dev/null +++ b/examples/console/console.ui @@ -0,0 +1,42 @@ + + jsConsole + + + + 0 + 0 + 375 + 238 + + + + MainWindow + + + + 8 + + + 6 + + + + + + + + Qt::ScrollBarAsNeeded + + + QTextEdit::AutoAll + + + QTextEdit::WidgetWidth + + + + + + + + diff --git a/examples/docviewer/docviewer.js b/examples/docviewer/docviewer.js new file mode 100644 index 0000000..9a6b554 --- /dev/null +++ b/examples/docviewer/docviewer.js @@ -0,0 +1,56 @@ +#!/usr/bin/env kjscmd5 + +// Load the view +var uiLoader = new QUiLoader(); +var viewer = uiLoader.load('docviewer.ui', this); +var text = viewer.findChild('textBrowser'); + +// Uncommenting pretty much any bit of this crashes it... +/* doLink = function(url) { */ +/* workaround = url.toString(); */ +/* workaround = workaround.slice( workaround.lastIndexOf('#') ); */ +/* println('XXX'+workaround); */ +/* text.scrollToAnchor( workaround ); */ +/* } */ + +/* url = new QUrl(); // Even just this line alone can crash... */ +/* println('OK' + url); */ +/* text.setSource(url); */ +/* text.connect(text, 'anchorClicked(const QUrl &)', this, 'doLink()'); */ + +var html = '

KJSEmbed Documentation

'; + +// Generate TOC +html += '

Contents

    ' +for( i in this ) { + html += '
  • ' + i + ''; +} +html += '
'; + +// Object Docs +for( var i in this ) { + println( 'Doing ' + i ); + if ( i == 'connect' || i == 'Application' || i == 'viewer' || i == 'text' + || i == 'html' || i == 'inst' || i == 'uiLoader' ) + continue; + + html += '

' + i + '

    '; + + // Create an instance + try { + var inst = eval( 'new ' + i + '()' ); + + for( j in inst ) { + html += '
  • ' + j; + } + html += '
'; + } + catch( err ) { + html += '
  • Could not create'; + } +} + +text.html = html; + +viewer.show(); +exec(); diff --git a/examples/docviewer/docviewer.ui b/examples/docviewer/docviewer.ui new file mode 100644 index 0000000..d6b8c2c --- /dev/null +++ b/examples/docviewer/docviewer.ui @@ -0,0 +1,47 @@ + + Form + + + + 0 + 0 + 579 + 516 + + + + + 9 + + + 6 + + + + + + 5 + 0 + 0 + 0 + + + + <h1>KJSEmbed Documentation Viewer</h1> + + + + + + + Qt::Horizontal + + + + + + + + + + diff --git a/examples/fancy/fancy.js b/examples/fancy/fancy.js new file mode 100644 index 0000000..c26d7e4 --- /dev/null +++ b/examples/fancy/fancy.js @@ -0,0 +1,34 @@ +#!/usr/bin/env kjscmd5 + +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 KJSEmbed Authors + See included AUTHORS file. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +var browser = new QWidget("QTextBrowser", this); +browser.html = 'Test Link'; +connect( browser, "anchorClicked(const QUrl&)", this, "click(const QUrl&)"); + +browser.show(); + +exec(); + +function click( url ) +{ + println("Clicked " + url ); +} diff --git a/examples/grammar/grammar.js b/examples/grammar/grammar.js new file mode 100644 index 0000000..c721279 --- /dev/null +++ b/examples/grammar/grammar.js @@ -0,0 +1,224 @@ +#!/usr/bin/env kjscmd5 + +var failures = 0; +var total = 0; + +/* Literalise a string for printing purposes */ +function literal(v) { + switch (typeof v) { + case "string": + return '"' + v.replace(/[\\'"]/, "\\$1") + '"'; + default: + return String(v); + } +} + +/* Run a test, and check that the result is that expected */ +function test(expr, expected) { + + var result, msg, ok, result_str, expected_str; + + try { + result = eval(expr); + ok = (result === expected); + } catch (e) { + ok = (expected == "exception"); + result = e.name; + // result = String(e); + } + + try { result_str = literal(result); } + catch (e) { result_str = ""; } + + + msg = expr + ' = ' + result_str; + if (ok) { + msg += " PASS"; + } else { + try { expected_str = literal(expected); } + catch (e) { expected_str = ""; } + msg += " FAIL, expected " + expected_str; + failures++; + } + println(msg); + total++; +} + +/* Tests begin here */ + +/* FutureReservedWord */ +test("abstract", "exception"); +test("boolean", "exception"); +test("byte", "exception"); +test("char", "exception"); +test("class", "exception"); +test("const", "exception"); +test("debugger", "exception"); +test("enum", "exception"); +test("export", "exception"); +test("extends", "exception"); +test("final", "exception"); +test("float", "exception"); +test("goto", "exception"); +test("implements", "exception"); +test("int", "exception"); +test("interface", "exception"); +test("long", "exception"); +test("native", "exception"); +test("package", "exception"); +test("private", "exception"); +test("protected", "exception"); +test("short", "exception"); +test("static", "exception"); +test("super", "exception"); +test("synchronized", "exception"); +test("throws", "exception"); +test("transient", "exception"); +test("volatile", "exception"); +test("double", "exception"); +test("import", "exception"); +test("public", "exception"); + +test("1 + +1", 2); +test("1 - +1", 0); +test("1 + -1", 0); +test("1 + +1", 2); + +test("this", this); +test("null", null); +test("undefined", undefined); +test("'\\u0041'", "A"); +test('"\\x1b\\x5bm"', ""); +test('"\\33\\133m"', ""); +ident = "ident"; test("ident", "ident"); +test("[1,2,3].length", 3); +test("({'foo':5}.foo)", 5); +test("((((3))))", 3); + +function constr() { + return constr; +} +constr.prototype = Object.prototype + +test("new new new constr()", constr); +test("(1,2,3)", 3); +test("i = 3; i++", 3); test("i", 4); +test("i = 3; ++i", 4); test("i", 4); +test("i = 3; i--", 3); test("i", 2); +test("i = 3; --i", 2); test("i", 2); +test("i = 3; i ++ ++", "exception"); +test("i = 3; --i++", "exception"); /* only inc/decrement lvalues */ +test("i = 3; ++i--", "exception"); /* only inc/decrement lvalues */ + +test("!true", false); +test("~0", -1); +test("void 'hi'", undefined); +test("i = 3; delete i", true); test("i", "exception"); + +test("3 * 6 + 1", 19); +test("1 + 3 * 6", 19); +test("17 % 11 * 5", 30); +test("30 / 3 / 5", 2); +test("30 / 3 * 5", 50); + +test("1 - 1 - 1", -1); + +test("i=3;j=5; i*=j+=i", 24); + +/* instanceof only supports objects */ +test("1 instanceof 1", "exception"); +test("1 instanceof Number.prototype", "exception"); + +/* Only function objects should support HasInstance: */ +test("new Number(1) instanceof Number.prototype", "exception"); + + +/* Test the instanceof keyword and the new operator applied to functions. */ +function Employee(age, name) { + this.age = age; + this.name = name; +} +Employee.prototype = new Object() +Employee.prototype.constructor = Employee +Employee.prototype.toString = function() { + return "Name: " + this.name + ", age: " + this.age; +} +Employee.prototype.retireable = function() { return this.age > 55; } + +function Manager(age, name, group) { + this.age = age; + this.name = name; + this.group = group; +} +Manager.prototype = new Employee(); +Manager.prototype.toString = function() { + return "Name: " + this.name + ", age: " + this.age + + ", group: " + this.group; +} + +e = new Employee(24, "Tony"); +m = new Manager(62, "Paul", "Finance"); +test("m.retireable()", true); +test("m instanceof Employee", true); +test("e instanceof Manager", false); + +test("{true;}", true); +test(";", undefined); +test("{}", undefined); +test("i=0; do { i++; } while(i<10); i", 10); +test("i=0; while (i<10) { i++; }; i", 10); +test("for (i = 0; i < 10; i++); i", 10); +test("i=0; for (; i < 10; i++); i", 10); +test("i=0; for (; i < 10; ) i++; i", 10); +test("i=0; for (; ;i++) if (i==10) break; i", 10); +test("a=[1,2,3,4]; c=0; for (var v in a) c+=a[v]; c", 10); +test("delete t; t", "exception"); +test("{var t;} t", undefined); +test("continue", "exception"); +test("return", "exception"); +test("break", "exception"); +test("x = 0; outer: for (;;) { for (;;) break outer; x++; }; x", 0); +test("x = 0; for (i = 0; i < 3; i++) { continue; x++; } x", 0); +test("x = 0; it:for (i = 0; i < 3; i++) { for (;;) continue it; x++; } x", 0); +test("c = 9; o = { a:'a', b: { c: 'c' }, c:7 }; with (o.b) x = c; x", 'c'); +test("x = ''; for (i = 0; i < 8; i++) switch (i) {" + + "case 0: x+='a'; case 1: x+='b'; break;" + + "case 2: x+='c'; break; case 3: x+='d'; default: x+='e';" + + "case 4: x+='f'; break; case 5: x+='g'; case 6: x+='h';}; x", + "abbcdeffghhef"); +test("foo:bar:baz:;", undefined); +test("throw {}", "exception"); +test("x=0;try{throw {a:1}} catch(e){x=e.a};x", 1); +test("x=y=0;try{" + + " try { throw {a:1} } finally {x=2}; " + + "} catch(e) {y=e.a}; x+y", 3); +test("x=y=0; try{throw {a:2};y=1;} catch(e){x=e.a;y=-7;} finally{y=3}; x+y", 5); + + +test("String(/a|ab/.exec('abc'))", "a"); +test("String(/((a)|(ab))((c)|(bc))/.exec('abc'))", "abc,a,a,,bc,,bc"); +test("String(/a[a-z]{2,4}/.exec('abcdefghi'))", "abcde"); +test("String(/a[a-z]{2,4}?/.exec('abcdefghi'))", "abc"); +test("String(/(aa|aabaac|ba|b|c)*/.exec('aabaac'))", "aaba,ba"); +test("'aaaaaaaaaa,aaaaaaaaaaaaaaa'.replace(/^(a+)\\1*,\\1+$/,'$1')", "aaaaa"); +test("String(/(z)((a+)?(b+)?(c))*/.exec('zaacbbbcac'))", "zaacbbbcac,z,ac,a,,c") +test("String(/(a*)*/.exec('b'))",","); +test("String(/(a*)b\\1+/.exec('baaaac'))","b,"); +test("String(/(?=(a+))/.exec('baaabac'))",",aaa"); +test("String(/(?=(a+))a*b\\1/.exec('baaabac'))", "aba,a"); +test("String(/(.*?)a(?!(a+)b\\2c)\\2(.*)/.exec('baaabaac'))", + "baaabaac,ba,,abaac"); + +test("'$1,$2'.replace(/(\\$(\\d))/g, '$$1-$1$2')", "$1-$11,$1-$22"); +test("String('ab'.split(/a*?/))", "a,b"); +test("String('ab'.split(/a*/))", ",b"); + +/* Print a summary of what went right, and what went wrong */ + +println(); +println((total - failures) + " out of " + total + " passed."); + +/* Throw an error on failure */ +if (failures > 0) + throw new Error("tests failure"); + diff --git a/examples/kjsconsole/CMakeLists.txt b/examples/kjsconsole/CMakeLists.txt new file mode 100644 index 0000000..0a186ff --- /dev/null +++ b/examples/kjsconsole/CMakeLists.txt @@ -0,0 +1,15 @@ +add_executable(kjsconsole) + +target_sources(kjsconsole PRIVATE + main.cpp + console.cpp + kjs_object_model.cpp + numberedtextview.cpp + + console.qrc +) + +ki18n_wrap_ui(kjsconsole jsconsole.ui) +target_link_libraries(kjsconsole KF5::JsEmbed Qt5::Widgets) + +install(TARGETS kjsconsole DESTINATION ${KDE_INSTALL_BINDIR} ) diff --git a/examples/kjsconsole/console.cpp b/examples/kjsconsole/console.cpp new file mode 100644 index 0000000..8a9d675 --- /dev/null +++ b/examples/kjsconsole/console.cpp @@ -0,0 +1,145 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#include "console.h" + +#include + +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "ui_jsconsole.h" +#include "kjs_object_model.h" + +Ui::KJSConsole m_ui; + +Console::Console(QWidget *parent) : + QMainWindow(parent) +{ + KJS::Interpreter *js = mKernel.interpreter(); + KJS::JSObject *obj = js->globalObject(); + m_model = new KJSObjectModel(js, this); + m_ui.setupUi(this); + m_ui.mObjectModel->setModel(m_model); + m_model->updateModel(obj); + + connect(m_ui.mCommand, SIGNAL(activated(QString)), this, SLOT(on_mExecute_clicked())); +} + +Console::~Console() +{ +} + +QString errorTemplate = "%1"; + +void Console::on_mExecute_clicked() +{ + KJS::Interpreter *js = mKernel.interpreter(); + KJS::ExecState *exec = js->globalExec(); + + KJSEmbed::Engine::ExitStatus result = mKernel.execute(m_ui.mCommand->currentText()); + KJS::Completion jsres = mKernel.completion(); + m_ui.mConsole->append(m_ui.mCommand->currentText()); + KJS::JSValue *value = jsres.value(); + if (result != KJSEmbed::Engine::Success) { + m_ui.mConsole->append(errorTemplate.arg(KJSEmbed::toQString(jsres.value()->toString(exec)))); + } else { + if (value) { + m_ui.mConsole->append(KJSEmbed::toQString(jsres.value()->toString(exec))); + } + } + KJS::JSObject *obj = js->globalObject(); + m_model->updateModel(obj); + m_ui.mCommand->clearEditText(); +} + +void Console::on_actionOpenScript_activated() +{ + QString m_lastDir; + QString openFile = QFileDialog::getOpenFileName(this, tr("Select script to open..."), + m_lastDir, tr("Scripts (*.js *.kjs *.qjs)")); + + if (openFile.isEmpty()) { + return; + } + + QString code; + QFile fIn(openFile); + + if (!fIn.open(QIODevice::ReadOnly | QIODevice::Text)) { + return; + } + + while (!fIn.atEnd()) { + QByteArray line = fIn.readLine(); + code += line; + } + + m_ui.mInput->setText(code); +} + +void Console::on_actionCloseScript_activated() +{ +} + +void Console::on_actionQuit_activated() +{ + close(); +} + +void Console::on_actionRun_activated() +{ + KJS::Interpreter *js = mKernel.interpreter(); + KJS::ExecState *exec = js->globalExec(); + + KJSEmbed::Engine::ExitStatus result = mKernel.execute(m_ui.mInput->text()); + KJS::Completion jsres = mKernel.completion(); + KJS::JSValue *value = jsres.value(); + if (result != KJSEmbed::Engine::Success) { + m_ui.mConsole->append(errorTemplate.arg(KJSEmbed::toQString(jsres.value()->toString(exec)))); + } else { + if (value) { + m_ui.mConsole->append(KJSEmbed::toQString(jsres.value()->toString(exec))); + } + } + KJS::JSObject *obj = js->globalObject(); + m_model->updateModel(obj); +} + +void Console::on_actionRunTo_activated() +{ +} +void Console::on_actionStep_activated() +{ +} + +void Console::on_actionStop_activated() +{ +} + diff --git a/examples/kjsconsole/console.h b/examples/kjsconsole/console.h new file mode 100644 index 0000000..0c47c8a --- /dev/null +++ b/examples/kjsconsole/console.h @@ -0,0 +1,55 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ +#ifndef CONSOLE_H +#define CONSOLE_H +#include +#include + +#include "kjsembed.h" + +class KJSObjectModel; + +class Console : public QMainWindow +{ + Q_OBJECT +public: + Console(QWidget *parent = nullptr); + ~Console() override; + +public Q_SLOTS: + void on_mExecute_clicked(); + void on_actionOpenScript_activated(); + void on_actionCloseScript_activated(); + void on_actionQuit_activated(); + void on_actionRun_activated(); + void on_actionRunTo_activated(); + void on_actionStep_activated(); + void on_actionStop_activated(); + +private: + void updateModel(const QModelIndex &parent, KJS::Object &obj); + + KJSEmbed::Engine mKernel; + KJSObjectModel *m_model; + QModelIndex m_root; +}; +#endif diff --git a/examples/kjsconsole/console.qrc b/examples/kjsconsole/console.qrc new file mode 100644 index 0000000..efb7795 --- /dev/null +++ b/examples/kjsconsole/console.qrc @@ -0,0 +1,15 @@ + + + images/runto.png + images/start.png + images/step.png + images/stop.png + images/class.png + images/method.png + images/property.png + images/constant.png + images/no.png + images/next.png + images/bug.png + + diff --git a/examples/kjsconsole/images/bug.png b/examples/kjsconsole/images/bug.png new file mode 100644 index 0000000000000000000000000000000000000000..223c74db62c80eaca486fcd069c174637737a377 GIT binary patch literal 992 zcmV<610Vc}P)z@;j(q!3lK=n!AY({UO#lFTB>(_`g8%^e{{R4h=>PzA zFaQARU;qF*m;eA5Z<1fdMgRZ*+hZ-}_p3K`Q)`=kj@y|C8q-LI~VzPdnLQa0DfSpN>rkw(}9Pg%W7P z6XF-#Lqf&zIH^IE#5FO^IShj#`cf-tHaXlJ7)6yzkEK%5+5l$Yh2dTjLY3JSd6hBc z1Ipwh>6}tJJ|TEjv&+!Y4?tdvFtn9yVmh{4EV#f3W?%hLEVOv+nQcwn?Y0V>{Eg^7 zMfJVd1lC|fxU8XDqPVqZM4Z37gG3MMGjzl_LyIQk#7Y?-MLW>ub^&KEA?I}BWrvB^ z3B?^n!Q}4C;wx0#x5P@6fRV*;&TgxHvdjALLq0oBUCd=gDmUfv;@w>%;tHzBLou=i z1Z6^C${b#oj@GL-`y}h`iE5E$*pbFU|6A*G$A(x}ey-_Mj93kdMJj`GlpiWY74WhbUw@pezJoQ&zH_$7q2(X;Z(i!k zCeKKkBY=jdOgz@dQE)b3_U1TwyY801qxawi|Nfuj{~JKx|1}V8iCo#&xw@6A6H?jz zG&^^>hPhf501RHJ9`nqqIC{dEAqCNloF;8$TUel{Y$^JHxeg%_?6o zm32YJIYpV;ct=MO7Y_k00gPf6i<;HcHHoN}kdeF{0Ekkg^JtxW_DNkR(oIY1&Xvr;E9aVNj~+LNawh zZ)b%(T4*^OB;=cVhBJSWP1{D2Ts2Lhlr$kRM(IBVVP4N?PRgYNPo(Mx$M%}M?y%49 z2u^Xs7)vdlzivGGi8{&eK9K*t-v`Re-VfalXKg{#^U3_u(d0n;k$(YBWQIyYD6Lxn O0000 z0lADNL4Lsu4$p3+0Xce}E{-7;xAyjJWMoj_X+HAh|Lm*2uk@sKPX6FAS^?ju$t#k4RkI8zbpN-Ex kbDb<}KV!b&;)$<^b@ZYcs*<=) z^mS#w%*iRDW^m0f@E-#MV@7~ah$~PkH8s^JP{fTE@>%* z?U6XaI(4&uVvAo=8(8sqql{D5Y1@2L`m9nmgG4gU0!iDHHP&g{ZPKx^mE8I#P@rkSUVGS7if_7$U?>p&^H!t)@q;JiuUW0RsM zCPhz8i=LR3y*4j#zQ}1@1dAIY- zhh1mhAGz}J|>&vFe)LU;ljn`S<_-|7Kw=?!d4%ED7=pW?lm&jT?9FK7RcA&4&-4KY#hs^VKg2sF^Xz+uensgH_f8$hqa|;us&wd@bB$vvm<7-hzWd{>1-IyeeLaHrf#NH8GFTF^dB;2-1R1R_B5tBRp(p+buY!n kDKT8y%$vFS*Nubr=afPgdStZR0{W7{)78&qol`;+0CGoiBLDyZ literal 0 HcmV?d00001 diff --git a/examples/kjsconsole/images/no.png b/examples/kjsconsole/images/no.png new file mode 100644 index 0000000000000000000000000000000000000000..7304aea1fdd72d2c9d0c955030890361031c35bf GIT binary patch literal 721 zcmV;?0xtcDP)g$aLXV#2*nOoO0&6jP;l@MkPZbG zXI&LZq3PZR9U4@`K}1DSQ#I!I%j-KgnkJ=R_}+WD_k6$i+{3xr=;$c*SciTMrfoo2 zshfYp<|jx24o?t+2C>hw65*+-pyu^bkFsrZu(5IdE1RAC3_qVu^agPtkmy-l44Q+3 z{13we1MTIdrS12*+~k)h6K^OKs)~KSL{BUhG`qW@ScJPf$YlO9pGWumdDYu%6_Uwl zmu)9@;ldjah5CJ_ndq6B37Vaq(9r>XeQVVpI+fK{P-S3{M3lHI=gB-X5&1RBK?GLM6`6&DF#L2N11fAO@;% zHMF&MtD;c&aD>yo}|oI2F@a^*5R=jZ9IQt9I^#8oH$fQzn5B~dIC zqQP+3l8%$YHPA4~xwr3}oTRskMI{Dqlz|`#7vXX_kH~_;z{`SEC%=k7bXF|<3yD700000NkvXXu0mjf DM?yb> literal 0 HcmV?d00001 diff --git a/examples/kjsconsole/images/property.png b/examples/kjsconsole/images/property.png new file mode 100644 index 0000000000000000000000000000000000000000..789e6a26052b63fb2b3107f5edefabf6f75ceaa7 GIT binary patch literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJe}GSjE06|*1_p)$3=IG0g!6m> z@)=8l{DK)Ap4~_Ta`Zf1978H@?d{vh$e_T}eB{gj*;jpE=}GIH{J~?gp6O@fv(H>7 i%i7PFFSvN(>tP+eXojjJ?v#^2oeZ9?elF{r5}E)Y&?=_@ literal 0 HcmV?d00001 diff --git a/examples/kjsconsole/images/runto.png b/examples/kjsconsole/images/runto.png new file mode 100644 index 0000000000000000000000000000000000000000..00e97818bcfad3a1f5dcd45dbb12d6a7f6f8c888 GIT binary patch literal 358 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6I14-?iy0WWc|n-*E&Bl-pdd@S zqpu?a!^Xav-+_~Xe1&9>AYTTCDpdxChGqtapZ|gMO9qBg0|tgy2@DKYGZ+}e^C!h0 zbpxus*u ziQXGprWmNkxR-xSo@^=K_~Z%S^nj1D&S8#?pFZu=TVj~Kr!&T5$JUFhFEqAf_6twp zaa^hY#CwgM&H{OtQpL%vH3tN%OXj)EyHHxY>~@F$kBuozhxo$JL>2`dTybP0l+XkK`XGhn literal 0 HcmV?d00001 diff --git a/examples/kjsconsole/images/start.png b/examples/kjsconsole/images/start.png new file mode 100644 index 0000000000000000000000000000000000000000..912407cab5868b836b5b554e052a33dd4984a6e4 GIT binary patch literal 735 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJXMsm#F#`iP4+t~bJ1Ct13bL1Y z`ns}T=HwLC)W10~%#neCF*v{{#1$x&nwn~qamFa~qFL%*qs$9H22jL2btjNvm$VeZ z_DGyyox0gSvBfW`4XpUQQN}6jv~9jAeO4)(K_VGvfuwE98tb&}Hfh_8GA|iro;S`o z1w%FA1obG0EHAg`tC0)&t17>gnPbA|c6o@TOmLfQZAz+J_AR4l+p|>ds2P{{Me8 zTi@)MS%M(5?q}8*Zw3SBXx^o40tfmI&9*jv|N0LX)4Q_m+^svUc0HFlcuVE{rXF=O z&jqvGBHquPU;Qu1>rigBfO5x^l`E2-bv`xxs``a>mBe4(C6BuHzVb<$AW>1V{m6^s zoD2=oOH(Ac9^HC;sbSSuoz&eyHG6(Je#@4~TICwA%>I5$`DDpm-C{<+-=2Ob^YDUv zx7!P&ua7i~dVX!r5O4JAKX@zc#HvMa1s7QUSh@6BlsWew=Ev5tbtVz~3P2Asc)I$z JtaD0e0stm!Wd{HN literal 0 HcmV?d00001 diff --git a/examples/kjsconsole/images/step.png b/examples/kjsconsole/images/step.png new file mode 100644 index 0000000000000000000000000000000000000000..dc691db1b8ea75fbe16878383167d35eb3ab5442 GIT binary patch literal 761 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJXMsm#F#`iPF9) z^mS#w%*iRDW^m0f@E-#MV@7~ah$~PkH8s^JP{fTE@>%* z?U6XaI(4&uVvAo=8(8sqql{D5Y1@2L`m9nmgG4gU0!iDHHP&g{ZPKx^mE8I#P@rkSUVGS7if_7$U?>p&^H!t)@q;JiuUW0RsM zCPhz8i=LR3y*4j#zQ}1@1dAIY- zhh1mhAGz}J|>&vFe)LU;ljn`S<_-|7Kw=?!d4%ED7=pW?lm&jT?9FK7RcA&4&-4KY#hs^VKg2sF^Xz+uensgH_f8$hqa|;us&wd@bB$vvm<7-hzWd{>1-IyeeLaHrf#NH8GFTF^dB;2-1R1R_B5tBRp(p+buY!n kDKT8y%$vFS*Nubr=afPgdStZR0{W7{)78&qol`;+0CGoiBLDyZ literal 0 HcmV?d00001 diff --git a/examples/kjsconsole/images/stop.png b/examples/kjsconsole/images/stop.png new file mode 100644 index 0000000000000000000000000000000000000000..b833825ceb34afb6fab0451cc5c3ad4dc0b495a9 GIT binary patch literal 785 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJXMsm#F#`iPF9) z^mS#w%*7=pD=l!*?HU6EV^x4ph$~PkH8u5&k?BQa^Sx%47mUn+44}v^b884=nVln$ zJ;B3si?v;ge?Yrm08sIHBeT;+X4|ao`hER3TiF6d&Kj8k$+fl)JFM-t+1Ot)HV3LX zWo&lT!~#g}Gq(bYTsAg8V`6^B)Z(;>`Ds&&b4I2>bj8T*x{=v=JEzMq@@jnI?bM7r z(Q$Y3iym0mJO~VVkdyz&%kQy?#bZ;;$I)?5Oe~(5T0HUcdlC`zWX7zgE*?+4{GL|T zJnij&=H>gWq3PL#NzW!tdEPtWMPAX1z6mc&Dqb#J{Hm(%)skhe&8=UX+q_B5cr#)0 zoB0dhY}oiNE$iKmUGI18`LJ{M$0Nr+rDcBV>Hjo&>Zg;ZzMMPvIdZ z`=h$<$D>C-9zXf<C+z%pFbYHf4uzul$8G|uln=p z)4vNB|64o!w*exj|F%y5?VSHRxc<*A{D1EJ|NsAIA5X0XhQ47*kY6wZ8wUp$4-cQ9 zgruaLg0iu-t*yO-S5#tRQc7JzM^E3(nagk7xO4aMs}r57S=fN z*Ub1wEepc~kINxa3Y1cyIAY#{RW z=PXm6J2Ss~U|T6(WvfnmXg?bP0 Hl+XkK|L<@F literal 0 HcmV?d00001 diff --git a/examples/kjsconsole/jsconsole.ui b/examples/kjsconsole/jsconsole.ui new file mode 100644 index 0000000..32e096a --- /dev/null +++ b/examples/kjsconsole/jsconsole.ui @@ -0,0 +1,247 @@ + + KJSConsole + + + + 0 + 0 + 800 + 600 + + + + MainWindow + + + + + 9 + + + 6 + + + + + Qt::Vertical + + + + + 7 + 5 + 0 + 1 + + + + Qt::Horizontal + + + + true + + + QAbstractItemView::NoSelection + + + + + + 5 + 5 + 1 + 1 + + + + + + + + 7 + 7 + 0 + 0 + + + + QFrame::StyledPanel + + + QFrame::Sunken + + + + + + + + 0 + + + 6 + + + + + + 1 + 0 + 1 + 0 + + + + true + + + true + + + + + + + Execute + + + + + + + + + + + 0 + 0 + 800 + 26 + + + + + File + + + + + + + + + + + false + + + Qt::Horizontal + + + Qt::ToolButtonTextUnderIcon + + + 4 + + + + + + + + + + 0 + 581 + 800 + 19 + + + + + + Open Script + + + Open a script... + + + Ctrl+O + + + + + Close Script + + + Close script... + + + + + Quit + + + Quit application... + + + + + :/images/start.png + + + Run + + + Run script... + + + + + :/images/runto.png + + + Run To... + + + Run to breakpoint... + + + + + :/images/step.png + + + Step + + + Step to next line... + + + + + :/images/stop.png + + + Stop + + + Step execution... + + + + + + NumberedTextView + QFrame +
    numberedtextview.h
    + 0 + +
    +
    + + + + +
    diff --git a/examples/kjsconsole/kjs_object_model.cpp b/examples/kjsconsole/kjs_object_model.cpp new file mode 100644 index 0000000..1b184fb --- /dev/null +++ b/examples/kjsconsole/kjs_object_model.cpp @@ -0,0 +1,181 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ +#include "kjs_object_model.h" + +#include +#include + +#include +#include +#include + +struct Node { + QByteArray name; + KJS::JSObject *instance; + Node *parent; +}; + +KJSObjectModel::KJSObjectModel(KJS::Interpreter *js, QObject *parent): + QAbstractItemModel(parent), m_js(js) +{ +} + +void KJSObjectModel::updateModel(KJS::JSObject *root) +{ + m_root = root; + reset(); +} + +KJSObjectModel::~KJSObjectModel() +{ +} + +Qt::ItemFlags KJSObjectModel::flags(const QModelIndex &index) const +{ + if (!index.isValid()) { + return Qt::ItemIsEnabled; + } + return Qt::ItemIsEnabled | Qt::ItemIsSelectable; +} + +int KJSObjectModel::rowCount(const QModelIndex &parent) const +{ + KJS::ExecState *exec = m_js->globalExec(); + KJS::PropertyNameArray props; + if (!parent.isValid()) { + m_root->getPropertyNames(exec, props); + } else { + Node *item = static_cast(parent.internalPointer()); + item->instance->getPropertyNames(exec, props); + } + return props.size(); +} + +int KJSObjectModel::columnCount(const QModelIndex &parent) const +{ + Q_UNUSED(parent); + return 1; +} + +QVariant KJSObjectModel::headerData(int section, Qt::Orientation orientation, int role) const +{ + if (orientation == Qt::Horizontal && role == Qt::DisplayRole) { + if (section == 0) { + return "Object Name"; + } else { + return "Value"; + } + } + return QVariant(); +} + +QModelIndex KJSObjectModel::index(int row, int column, const QModelIndex &parent) const +{ + KJS::JSObject *parentInstance = nullptr; + Node *childItem = nullptr; + KJS::ExecState *exec = m_js->globalExec(); + + if (!parent.isValid()) { + if (m_root) { + parentInstance = m_root; + } else { + return QModelIndex(); + } + } else { + parentInstance = static_cast(parent.internalPointer())->instance; + } + int idx = 0; + KJS::PropertyNameArray props; + parentInstance->getPropertyNames(exec, props); + for (KJS::PropertyNameArrayIterator ref = props.begin(); ref != props.end(); ref++) { + if (idx == row) { + childItem = new Node; + childItem->name = ref->ascii(); //### M.O.: this is wrong, can be unicode. + childItem->instance = parentInstance->get(exec, + childItem->name.constData())->toObject(exec); + childItem->parent = static_cast(parent.internalPointer()); + break; + } + ++idx; + } + if (childItem) { + return createIndex(row, column, childItem); + } + + return QModelIndex(); +} + +QModelIndex KJSObjectModel::parent(const QModelIndex &index) const +{ + if (!index.isValid()) { + Node *node = new Node; + node->instance = m_root; + node->name = "Objects"; + node->parent = nullptr; + return createIndex(0, index.column(), node); + } + + Node *parentItem = static_cast(index.internalPointer())->parent; + if (parentItem) { + Node *node = new Node; + node->instance = parentItem->instance; + node->name = parentItem->name; + node->parent = parentItem->parent; + return createIndex(0, index.column(), node); + } else { + return QModelIndex(); + } +} + +QVariant KJSObjectModel::data(const QModelIndex &index, int role) const +{ + if (!index.isValid()) { + return QVariant(); + } + + Node *item = static_cast(index.internalPointer()); + KJS::JSObject *instance = item->instance; + + if (role == Qt::DecorationRole) { + if (instance->implementsConstruct()) { + return QPixmap(":/images/class.png"); + } else if (instance->implementsCall()) { + return QPixmap(":/images/method.png"); + } else { + return QPixmap(":/images/property.png"); + } + } + if (role == Qt::ForegroundRole) { + if (instance->implementsConstruct()) { + return QColor("blue"); + } else if (instance->implementsCall()) { + return QColor("green"); + } else { + return QColor("black"); + } + } + if (role == Qt::DisplayRole) { + return item->name; + } + return QVariant(); +} + diff --git a/examples/kjsconsole/kjs_object_model.h b/examples/kjsconsole/kjs_object_model.h new file mode 100644 index 0000000..a96aa16 --- /dev/null +++ b/examples/kjsconsole/kjs_object_model.h @@ -0,0 +1,57 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ +#ifndef KJS_OBJECT_MODEL +#define KJS_OBJECT_MODEL + +#include +#include + +namespace KJS +{ +class Interpreter; +class JSObject; +} + +struct Node; +class KJSObjectModel : public QAbstractItemModel +{ + Q_OBJECT +public: + explicit KJSObjectModel(KJS::Interpreter *js, QObject *parent = nullptr); + ~KJSObjectModel() override; + + QVariant data(const QModelIndex &index, int role) const override; + Qt::ItemFlags flags(const QModelIndex &index) const override; + QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override; + QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override; + QModelIndex parent(const QModelIndex &index) const override; + int rowCount(const QModelIndex &parent = QModelIndex()) const override; + int columnCount(const QModelIndex &parent = QModelIndex()) const override; + + void updateModel(KJS::JSObject *m_root); + +private: + KJS::Interpreter *m_js; + KJS::JSObject *m_root; +}; + +#endif diff --git a/examples/kjsconsole/main.cpp b/examples/kjsconsole/main.cpp new file mode 100644 index 0000000..4e0e74e --- /dev/null +++ b/examples/kjsconsole/main.cpp @@ -0,0 +1,31 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ +#include +#include "console.h" + +int main(int argc, char **argv) +{ + QApplication app(argc, argv); + Console console; + console.show(); + app.exec(); +} diff --git a/examples/kjsconsole/numberedtextview.cpp b/examples/kjsconsole/numberedtextview.cpp new file mode 100644 index 0000000..0b2da64 --- /dev/null +++ b/examples/kjsconsole/numberedtextview.cpp @@ -0,0 +1,284 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#include "numberedtextview.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +NumberBar::NumberBar(QWidget *parent) + : QWidget(parent), edit(nullptr), m_stopLine(-1), m_currentLine(-1), m_bugLine(-1) +{ + stopMarker = QPixmap(":/images/no.png"); + currentMarker = QPixmap(":/images/next.png"); + bugMarker = QPixmap(":/images/bug.png"); + setFixedWidth(fontMetrics().width(QStringLiteral("0000")) + bugMarker.width() + stopMarker.width() + currentMarker.width()); +} + +NumberBar::~NumberBar() +{ +} + +void NumberBar::setCurrentLine(int lineno) +{ + m_currentLine = lineno; +} + +void NumberBar::setStopLine(int lineno) +{ + m_stopLine = lineno; +} + +void NumberBar::setBugLine(int lineno) +{ + m_bugLine = lineno; +} + +int NumberBar::currentLine() const +{ + return m_currentLine; +} + +int NumberBar::stopLine() const +{ + return m_stopLine; +} + +int NumberBar::bugLine() const +{ + return m_bugLine; +} + +void NumberBar::setTextEdit(QTextEdit *edit) +{ + this->edit = edit; + connect(edit->document()->documentLayout(), SIGNAL(update(QRectF)), + this, SLOT(update())); + connect(edit->verticalScrollBar(), SIGNAL(valueChanged(int)), + this, SLOT(update())); +} + +void NumberBar::paintEvent(QPaintEvent *) +{ + QAbstractTextDocumentLayout *layout = edit->document()->documentLayout(); + int contentsY = edit->verticalScrollBar()->value(); + qreal pageBottom = contentsY + edit->viewport()->height(); + const QFontMetrics fm = fontMetrics(); + const int ascent = fontMetrics().ascent() + 1; // height = ascent + descent + 1 + int lineCount = 1; + + QPainter p(this); + + bugRect = QRect(); + stopRect = QRect(); + currentRect = QRect(); + + for (QTextBlock block = edit->document()->begin(); + block.isValid(); block = block.next(), ++lineCount) { + + const QRectF boundingRect = layout->blockBoundingRect(block); + + QPointF position = boundingRect.topLeft(); + if (position.y() + boundingRect.height() < contentsY) { + continue; + } + if (position.y() > pageBottom) { + break; + } + + const QString txt = QString::number(lineCount); + p.drawText(width() - fm.width(txt), qRound(position.y()) - contentsY + ascent, txt); + + // Bug marker + if (m_bugLine == lineCount) { + p.drawPixmap(1, qRound(position.y()) - contentsY, bugMarker); + bugRect = QRect(1, qRound(position.y()) - contentsY, bugMarker.width(), bugMarker.height()); + } + + // Stop marker + if (m_stopLine == lineCount) { + p.drawPixmap(1, qRound(position.y()) - contentsY, stopMarker); + stopRect = QRect(1, qRound(position.y()) - contentsY, stopMarker.width(), stopMarker.height()); + } + + // Current line marker + if (m_currentLine == lineCount) { + p.drawPixmap(1, qRound(position.y()) - contentsY, currentMarker); + currentRect = QRect(1, qRound(position.y()) - contentsY, currentMarker.width(), currentMarker.height()); + } + } +} + +bool NumberBar::event(QEvent *event) +{ + if (event->type() == QEvent::ToolTip) { + QHelpEvent *helpEvent = static_cast(event); + + if (stopRect.contains(helpEvent->pos())) { + QToolTip::showText(helpEvent->globalPos(), "Stop Here"); + } else if (currentRect.contains(helpEvent->pos())) { + QToolTip::showText(helpEvent->globalPos(), "Current Line"); + } else if (bugRect.contains(helpEvent->pos())) { + QToolTip::showText(helpEvent->globalPos(), "Error Line"); + } + } + + return QWidget::event(event); +} + +NumberedTextView::NumberedTextView(QWidget *parent) + : QFrame(parent) +{ + setFrameStyle(QFrame::StyledPanel | QFrame::Sunken); + setLineWidth(2); + + // Setup the main view + view = new QTextEdit(this); + view->setFontFamily("Monospace"); + view->setLineWrapMode(QTextEdit::NoWrap); + view->setFrameStyle(QFrame::NoFrame); + view->installEventFilter(this); + + connect(view->document(), SIGNAL(contentsChange(int,int,int)), this, SLOT(textChanged(int,int,int))); + + // Setup the line number pane + numbers = new NumberBar(this); + numbers->setTextEdit(view); + // Testing... + numbers->setStopLine(3); + numbers->setBugLine(1); + setCurrentLine(5); + + box = new QHBoxLayout(this); + box->setSpacing(0); + box->setContentsMargins(0, 0, 0, 0); + box->addWidget(numbers); + box->addWidget(view); +} + +NumberedTextView::~NumberedTextView() +{ +} + +void NumberedTextView::setCurrentLine(int lineno) +{ + numbers->setCurrentLine(lineno); + textChanged(0, 0, 1); +} + +void NumberedTextView::setStopLine(int lineno) +{ + numbers->setStopLine(lineno); +} + +void NumberedTextView::setBugLine(int lineno) +{ + numbers->setBugLine(lineno); +} + +int NumberedTextView::currentLine() const +{ + return numbers->currentLine(); +} + +int NumberedTextView::stopLine() const +{ + return numbers->stopLine(); +} + +int NumberedTextView::bugLine() const +{ + return numbers->bugLine(); +} + +QString NumberedTextView::text() const +{ + return view->toPlainText(); +} + +void NumberedTextView::setText(const QString &text) +{ + view->setPlainText(text); +} + +void NumberedTextView::textChanged(int pos, int removed, int added) +{ + Q_UNUSED(pos); + + if (removed == 0 && added == 0) { + return; + } + + QTextBlock block = highlight.block(); + QTextBlockFormat fmt = block.blockFormat(); + QColor bg = view->palette().base().color(); + fmt.setBackground(bg); + highlight.setBlockFormat(fmt); + + int lineCount = 1; + for (QTextBlock block = view->document()->begin(); + block.isValid(); block = block.next(), ++lineCount) { + + if (lineCount == numbers->currentLine()) { + fmt = block.blockFormat(); + QColor bg = view->palette().color(QPalette::Highlight).lighter(175); + fmt.setBackground(bg); + + highlight = QTextCursor(block); + highlight.movePosition(QTextCursor::EndOfBlock, QTextCursor::KeepAnchor); + highlight.setBlockFormat(fmt); + + break; + } + } +} + +bool NumberedTextView::eventFilter(QObject *obj, QEvent *event) +{ + if (obj != view) { + return QFrame::eventFilter(obj, event); + } + + if (event->type() == QEvent::ToolTip) { + QHelpEvent *helpEvent = static_cast(event); + + QTextCursor cursor = view->cursorForPosition(helpEvent->pos()); + cursor.movePosition(QTextCursor::StartOfWord, QTextCursor::MoveAnchor); + cursor.movePosition(QTextCursor::EndOfWord, QTextCursor::KeepAnchor); + + QString word = cursor.selectedText(); + emit mouseHover(word); + emit mouseHover(helpEvent->pos(), word); + + // QToolTip::showText( helpEvent->globalPos(), word ); // For testing + } + + return false; +} + diff --git a/examples/kjsconsole/numberedtextview.h b/examples/kjsconsole/numberedtextview.h new file mode 100644 index 0000000..31073e2 --- /dev/null +++ b/examples/kjsconsole/numberedtextview.h @@ -0,0 +1,146 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef NUMBERED_TEXT_VIEW_H +#define NUMBERED_TEXT_VIEW_H + +#include +#include +#include + +class QTextEdit; +class QHBoxLayout; + +/** + * @internal Used to display the numbers. + */ +class NumberBar : public QWidget +{ + Q_OBJECT + +public: + NumberBar(QWidget *parent); + ~NumberBar() override; + + void setCurrentLine(int lineno); + void setStopLine(int lineno); + void setBugLine(int lineno); + + int currentLine() const; + int stopLine() const; + int bugLine() const; + + void setTextEdit(QTextEdit *edit); + void paintEvent(QPaintEvent *ev) override; + +protected: + bool event(QEvent *ev) override; + +private: + QTextEdit *edit; + QPixmap stopMarker; + QPixmap currentMarker; + QPixmap bugMarker; + int m_stopLine; + int m_currentLine; + int m_bugLine; + QRect stopRect; + QRect currentRect; + QRect bugRect; +}; + +/** + * Displays a QTextEdit with line numbers. + */ +class NumberedTextView : public QFrame +{ + Q_OBJECT + Q_PROPERTY(QString text READ text WRITE setText) + Q_PROPERTY(int currentLine READ currentLine WRITE setCurrentLine) + Q_PROPERTY(int stopLine READ stopLine WRITE setStopLine) + Q_PROPERTY(int bugLine READ bugLine WRITE setBugLine) +public: + NumberedTextView(QWidget *parent = nullptr); + ~NumberedTextView() override; + + /** Returns the QTextEdit of the main view. */ + QTextEdit *textEdit() const + { + return view; + } + + /** + * Sets the line that should have the current line indicator. + * A value of -1 indicates no line should show the indicator. + */ + void setCurrentLine(int lineno); + + /** + * Sets the line that should have the stop line indicator. + * A value of -1 indicates no line should show the indicator. + */ + void setStopLine(int lineno); + + /** + * Sets the line that should have the bug line indicator. + * A value of -1 indicates no line should show the indicator. + */ + void setBugLine(int lineno); + + int currentLine() const; + int stopLine() const; + int bugLine() const; + + /** @internal Used to get tooltip events from the view for the hover signal. */ + bool eventFilter(QObject *obj, QEvent *event) override; + + QString text() const; + void setText(const QString &text); + +Q_SIGNALS: + /** + * Emitted when the mouse is hovered over the text edit component. + * @param word The word under the mouse pointer + */ + void mouseHover(const QString &word); + + /** + * Emitted when the mouse is hovered over the text edit component. + * @param pos The position of the mouse pointer. + * @param word The word under the mouse pointer + */ + void mouseHover(const QPoint &pos, const QString &word); + +protected Q_SLOTS: + /** @internal Used to update the highlight on the current line. */ + void textChanged(int pos, int added, int removed); + +private: + QTextEdit *view; + NumberBar *numbers; + QHBoxLayout *box; + //int m_currentLine; + QTextCursor highlight; +}; + +#endif // NUMBERED_TEXT_VIEW_H + diff --git a/examples/scribble/scribble.js b/examples/scribble/scribble.js new file mode 100644 index 0000000..6ba72aa --- /dev/null +++ b/examples/scribble/scribble.js @@ -0,0 +1,38 @@ +#!/usr/bin/env kjscmd5 + +function scribble() { + + frame = new QWidget("QFrame", this); + frame.startX = 0; + frame.startY = 0; + frame.endX = 0; + frame.endY = 0; + + frame.onMouseButtonPressEvent = function ( ev ) { + println('Start'); + this.startX = ev.x; + this.startY = ev.y; + } + + frame.onMouseButtonReleaseEvent = function ( ev ) { + println('End'); + this.endX = ev.x; + this.endY = ev.y; + this.update(); + } + + frame.onPaintEvent = function ( ev ) { + println('Paint'); + var p = new QPainter(); + p.begin( this ); + p.drawLine( this.startX, this.startY, this.endX, this.endY ); + p.end(); + } + + return frame; + +} + +frame = scribble(); +frame.show(); +exec(); diff --git a/examples/tests/args.js b/examples/tests/args.js new file mode 100644 index 0000000..01d733d --- /dev/null +++ b/examples/tests/args.js @@ -0,0 +1,26 @@ + +/* This file is part of the KDE libraries +Copyright (C) 2005-2007 KJSEmbed Authors +See included AUTHORS file. + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public License +along with this library; see the file COPYING.LIB. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +Boston, MA 02110-1301, USA. +*/ + +println("Application " + Application.applicationName + " arguments "); + + +for( arg in Application.args ) + println("Application arg " + arg + ' value ' + Application.args[arg] ); diff --git a/examples/tests/brush.js b/examples/tests/brush.js new file mode 100644 index 0000000..f5a79f0 --- /dev/null +++ b/examples/tests/brush.js @@ -0,0 +1,48 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 KJSEmbed Authors + See included AUTHORS file. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +println('Start brush test...'); + +var pixmap = new QPixmap(120, 120); +var color = new QColor("blue"); + +// Test 1 arg constructor +var brush1 = new QBrush(pixmap); + +if(brush1.texture().width() == 120 && brush1.texture().height() == 120) + println("Test1: OK"); +else + println("Wrong size: "+ brush1.texture().width()+"x"+brush1.texture().height()); + +// QBrush ( const QColor & color, const QPixmap & pixmap ) +var brush2 = new QBrush(color, pixmap); +if(brush2.texture().height() == 120 && brush2.texture().width() == 120) + println("Test2: OK"); +else + println("Wrong size: "+ brush2.texture().width()+"x"+brush2.texture().height()); + +if(brush2.color().blue() == 255) + println("Test3: OK"); +else + println("Wrong color"); + +// QBrush ( const QColor & color, Qt::BrushStyle style = Qt::SolidPattern ) +var brush3 = new QBrush(color, 11); + diff --git a/examples/tests/builtins.js b/examples/tests/builtins.js new file mode 100644 index 0000000..027277d --- /dev/null +++ b/examples/tests/builtins.js @@ -0,0 +1,5 @@ +if (confirm('Are you ok?')) + alert('whooopie'); +else + alert('hugggzzz'); + diff --git a/examples/tests/class.js b/examples/tests/class.js new file mode 100644 index 0000000..42a41b9 --- /dev/null +++ b/examples/tests/class.js @@ -0,0 +1,32 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 KJSEmbed Authors + See included AUTHORS file. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +function test() { + this.method1 = function(a) { println(a);} + this.method2 = function(a) { println(a);} + this.method3 = function(a) { println(a);} +} + +var blah = new test(); + +for( x in blah ) +{ + println(x); +} diff --git a/examples/tests/colortest.js b/examples/tests/colortest.js new file mode 100644 index 0000000..acfba4b --- /dev/null +++ b/examples/tests/colortest.js @@ -0,0 +1,46 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 KJSEmbed Authors + See included AUTHORS file. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +println("Start color test"); +var color = new QColor("red"); +println("Color: " + color); +for( x in color ) + println( x ); +if( color.red() != 255 ) + println("Error red color is " + color.red() ); +else + println("Red okay"); +if( color.green() != 0 ) + println("Error green color is " + color.green() ); +else + println("Green okay"); + +color.setRed( 155 ); +if( color.red() != 155 ) + println("Error red color is " + color.red() ); +else + println("Red okay"); + +println( "Color " + color ); +color.setGreen( 250 ); +color.setBlue( 100 ); + +var darkColor = color.dark(); +println( "Dark color " + darkColor ); diff --git a/examples/tests/conio.js b/examples/tests/conio.js new file mode 100644 index 0000000..775c509 --- /dev/null +++ b/examples/tests/conio.js @@ -0,0 +1,27 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 KJSEmbed Authors + See included AUTHORS file. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +var con; +while( con != "exit" ) +{ + con = readln(); + println(con); + println("--"); +} diff --git a/examples/tests/domtest.js b/examples/tests/domtest.js new file mode 100644 index 0000000..0b72899 --- /dev/null +++ b/examples/tests/domtest.js @@ -0,0 +1,51 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 KJSEmbed Authors + See included AUTHORS file. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + + +var doc = new QDomDocument("MyXML"); +var root = doc.createElement("MyXML"); +doc.appendChild(root); + +var tag = doc.createElement("Greeting"); +tag.setAttribute("Property", "Hello World"); +root.appendChild( tag ); + +var text = doc.createTextNode("SomeText"); +text.setNodeValue("Some text value"); +tag.appendChild( text ); + +println("Generated doc: " + doc); + +var myxml = ""; +var newDoc = new QDomDocument("MyXML"); +newDoc.setContent(myxml); +newDoc.documentElement().setAttribute("Property", "Goodbye World"); +println("Read doc:" + newDoc ); + + +var nodeList = root.elementsByTagName( "Greeting" ); +for( x = 0; x < nodeList.length(); ++x) +{ + var elem = nodeList.item(x).toElement(); + elem.setAttribute("New-Property", 100 ); + elem.setAttribute("Next-Property", new QColor("blue") ); +} + +println("Modified doc:" + doc ); diff --git a/examples/tests/events.js b/examples/tests/events.js new file mode 100644 index 0000000..bd6a700 --- /dev/null +++ b/examples/tests/events.js @@ -0,0 +1,30 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 KJSEmbed Authors + See included AUTHORS file. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + + +var frame = new QWidget("QFrame", this); +frame.show(); +frame.onResizeEvent = function ( ev ) +{ + println("Got resize event " + ev); + println("Size: " + ev.size.width() + "x" + ev.size.height() ); + println("QSize: " + ev.size ); +} +exec(); diff --git a/examples/tests/fileio.js b/examples/tests/fileio.js new file mode 100644 index 0000000..b64620a --- /dev/null +++ b/examples/tests/fileio.js @@ -0,0 +1,43 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 KJSEmbed Authors + See included AUTHORS file. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +var file = new File("test.txt"); +if( file.open( File.WriteOnly ) ) +{ + for( var x = 0; x < 100; ++x) + { + var line = ""; + for( var y = 0; y < 80; ++y) + line += "#"; + file.writeln(line); + } + file.close(); +} + +if( file.open( File.ReadOnly ) ) +{ + var lines = 0; + while( !file.atEnd() ) + { + var line = file.readln(); + ++lines; + } + println( lines + " lines found"); +} diff --git a/examples/tests/fonttest.js b/examples/tests/fonttest.js new file mode 100644 index 0000000..1c8ccf2 --- /dev/null +++ b/examples/tests/fonttest.js @@ -0,0 +1,23 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 KJSEmbed Authors + See included AUTHORS file. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +var font = new QFont(); + +println("Font:" + font ); diff --git a/examples/tests/frame.js b/examples/tests/frame.js new file mode 100644 index 0000000..4c51150 --- /dev/null +++ b/examples/tests/frame.js @@ -0,0 +1,27 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 KJSEmbed Authors + See included AUTHORS file. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +var frame = new QWidget("QFrame", this ); +frame.frameShape = frame.StyledPanel; +frame.frameShadow = frame.Sunken; +frame.lineWidth = 4; + +frame.show(); +exec(); diff --git a/examples/tests/gc.js b/examples/tests/gc.js new file mode 100644 index 0000000..defeeb7 --- /dev/null +++ b/examples/tests/gc.js @@ -0,0 +1,47 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 KJSEmbed Authors + See included AUTHORS file. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +var arr = new Array(); +var frame = new QWidget("QFrame", this ); +for( var idx = 0; idx < 500; ++idx ) +{ + arr[idx] = new QWidget("QLabel", 0); + arr[idx].text = "foo " + idx; +} + +for( var idx = 0; idx < 500; ++idx ) +{ + //println( arr[idx].text ); + arr[idx] = new QWidget("QLabel", frame); + arr[idx].text = "bar " + idx; +} + +for( var idx = 0; idx < 500; ++idx ) +{ + //println( arr[idx].text ); + arr[idx] = new QWidget("QLabel", frame); + arr[idx].text = "baz " + idx; +} + +for( var idx = 0; idx < 500; ++idx ) +{ + println( arr[idx].text ); +} + diff --git a/examples/tests/include.js b/examples/tests/include.js new file mode 100644 index 0000000..22b81b7 --- /dev/null +++ b/examples/tests/include.js @@ -0,0 +1,23 @@ +/* This file is part of the KDE libraries +Copyright (C) 2005-2007 KJSEmbed Authors +See included AUTHORS file. + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public License +along with this library; see the file COPYING.LIB. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +Boston, MA 02110-1301, USA. +*/ + +println( 'outer' ); +include( 'inner.js' ); +println( '/outer' ); diff --git a/examples/tests/inner.js b/examples/tests/inner.js new file mode 100644 index 0000000..01caaba --- /dev/null +++ b/examples/tests/inner.js @@ -0,0 +1,21 @@ +/* This file is part of the KDE libraries +Copyright (C) 2005-2007 KJSEmbed Authors +See included AUTHORS file. + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public License +along with this library; see the file COPYING.LIB. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +Boston, MA 02110-1301, USA. +*/ + +println( 'inner' ); diff --git a/examples/tests/jsslot.js b/examples/tests/jsslot.js new file mode 100644 index 0000000..41172ac --- /dev/null +++ b/examples/tests/jsslot.js @@ -0,0 +1,43 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 KJSEmbed Authors + See included AUTHORS file. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +var button = new QWidget("QPushButton",this); +button.text = "Push Me"; +button.checkable = true; +button.show(); + +connect( button, "clicked()", this, "pushed()" ); +connect( button, "toggled(bool)", this, "toggled(bool)"); +button.animateClick(1000); + +exec(); + +function pushed() +{ + println("press"); +} + +function toggled( state ) +{ + if( state == true ) + println("Down"); + else + println("Up"); +} diff --git a/examples/tests/layout.js b/examples/tests/layout.js new file mode 100644 index 0000000..3f4a5e4 --- /dev/null +++ b/examples/tests/layout.js @@ -0,0 +1,34 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 KJSEmbed Authors + See included AUTHORS file. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +var box = new QWidget("QFrame", 0); +var layout = new QLayout("QVBoxLayout", box); + +for ( var x = 0; x < 10; ++x) +{ + var lab = new QWidget("QLabel", box); + lab.text = "This is a test of box " + x; + layout.addWidget(lab); +} + +box.adjustSize(); +box.show(); + +exec(); diff --git a/examples/tests/library.js b/examples/tests/library.js new file mode 100644 index 0000000..71f84f2 --- /dev/null +++ b/examples/tests/library.js @@ -0,0 +1,5 @@ +// Test the import functionality (include files from standard library) + +println( 'Before import' ); +library( 'notfound.js' ); +println( 'After import' ); diff --git a/examples/tests/listproperties.js b/examples/tests/listproperties.js new file mode 100644 index 0000000..912bfaf --- /dev/null +++ b/examples/tests/listproperties.js @@ -0,0 +1,3 @@ +for ( i in Application ) { + println( i ); +} \ No newline at end of file diff --git a/examples/tests/matt.js b/examples/tests/matt.js new file mode 100644 index 0000000..5d4c54d --- /dev/null +++ b/examples/tests/matt.js @@ -0,0 +1,21 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 KJSEmbed Authors + See included AUTHORS file. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +println("Hello"); diff --git a/examples/tests/paintertest.js b/examples/tests/paintertest.js new file mode 100644 index 0000000..70c72ac --- /dev/null +++ b/examples/tests/paintertest.js @@ -0,0 +1,36 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 KJSEmbed Authors + See included AUTHORS file. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +var pix = new QPixmap(100,100 ); +pix.fill("white"); +var painter = new QPainter(); +if (painter.begin( pix ) ) +{ + painter.drawLine( 0,0,100,100 ); + painter.drawLine( 100,0, 0, 100 ); + painter.end(); +} +else + println("Could not paint to " + pix ); + +var label = new QWidget("QLabel", this ); +label.pixmap = pix; +label.show(); +exec(); diff --git a/examples/tests/paintevent.js b/examples/tests/paintevent.js new file mode 100644 index 0000000..6eb5120 --- /dev/null +++ b/examples/tests/paintevent.js @@ -0,0 +1,52 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 KJSEmbed Authors + See included AUTHORS file. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + + +var label = new QWidget("QLabel", this ); +label.width = 0; +label.height = 0; +label.onResizeEvent = function ( ev ) +{ + println("Size: " + ev.size.width() + "x" + ev.size.height() ); + this.width = ev.size.width(); + this.height = ev.size.height(); +} + +label.onPaintEvent = function ( ev ) +{ + try { + var painter = new QPainter(this); + if (painter.begin( this ) ) + { + painter.drawLine( 0,0,this.width,this.height ); + painter.drawLine( this.width,0, 0, this.height ); + painter.end(); + } + else + println("Failed to paint " + this ); + + } catch ( error ) { + println( "Error painting: " + error ); + } +} + +label.size = new QSize(100,100); +label.show(); +exec(); diff --git a/examples/tests/pixmap.js b/examples/tests/pixmap.js new file mode 100644 index 0000000..818ce79 --- /dev/null +++ b/examples/tests/pixmap.js @@ -0,0 +1,34 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 KJSEmbed Authors + See included AUTHORS file. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +var pix = new QPixmap(120,120); +var col = new QColor("blue"); +pix.fill("blue"); +if( pix.height() != 120 ) + println("Wrong height:" + pix.height()); +println( "Size: " + pix.width() + "x" + pix.height()); +if ( pix.save("test.png", "PNG", 100 ) ) +{ + println("Saved."); +} +else +{ + println("Save Error"); +} diff --git a/examples/tests/recttest.js b/examples/tests/recttest.js new file mode 100644 index 0000000..b0eb2f1 --- /dev/null +++ b/examples/tests/recttest.js @@ -0,0 +1,30 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 KJSEmbed Authors + See included AUTHORS file. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +println("Start rect test"); + +var rect = new QRect(1,2,3,4); +println("Rect: " + rect); +for( x in rect ) +{ + println( x ); + for( y in rect[x] ) + println( y ); +} diff --git a/examples/tests/settings.js b/examples/tests/settings.js new file mode 100644 index 0000000..e82a7f4 --- /dev/null +++ b/examples/tests/settings.js @@ -0,0 +1,30 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 KJSEmbed Authors + See included AUTHORS file. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +var settings = new QSettings("test.ini", QSettings.IniFormat, this); + +settings.setValue("Main/value1", 10); +settings.setValue("Main/value2", new QColor("blue") ); +settings.setValue("Main/value3", "Text"); +settings.setValue("Main/value4", new QPoint(10,10) ); +settings.sync(); +var keys = settings.allKeys(); +for( x in keys ) + println( keys[x] + ":\t" + settings.value(keys[x])); \ No newline at end of file diff --git a/examples/tests/signslots.js b/examples/tests/signslots.js new file mode 100644 index 0000000..0d48c2a --- /dev/null +++ b/examples/tests/signslots.js @@ -0,0 +1,37 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 KJSEmbed Authors + See included AUTHORS file. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + + +var slider1 = new QWidget("QSlider", this); +var slider2 = new QWidget("QSlider", this); + +slider1.show(); +slider2.show(); + +connect( slider1, "valueChanged(int)", slider2, "setValue(int)"); +connect( slider2, "valueChanged(int)", slider1, "setValue(int)"); +if( slider1.isWidgetType() ) +{ + print("This is a widget"); +} + +exec(); + + diff --git a/examples/tests/statictest.js b/examples/tests/statictest.js new file mode 100644 index 0000000..46c96e2 --- /dev/null +++ b/examples/tests/statictest.js @@ -0,0 +1,32 @@ +#!/bin/env kjscmd5 +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 KJSEmbed Authors + See included AUTHORS file. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + + +print("TestPointer length: " + TestPointer.length); + +for( x in TestPointer ) + print( x ); + +TestPointer.print("Static print" + Application.args[0]); + +var testPointer = new TestPointer("Test"); +testPointer.print( Application.args ); +testPointer.print( Application.args[0] ); diff --git a/examples/tests/stylesheet.js b/examples/tests/stylesheet.js new file mode 100644 index 0000000..8e94462 --- /dev/null +++ b/examples/tests/stylesheet.js @@ -0,0 +1,8 @@ + +var button = new QWidget("QPushButton", this ); +button.text = "Testing 123"; + +button.styleSheet = 'QPushButton { color: red ; background-color: blue }'; + +button.show(); +exec(); diff --git a/examples/tests/svgtest.js b/examples/tests/svgtest.js new file mode 100644 index 0000000..47ac999 --- /dev/null +++ b/examples/tests/svgtest.js @@ -0,0 +1,37 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 KJSEmbed Authors + See included AUTHORS file. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +var svg = new QSvgWidget( this ); + +// test QSvgWidget method +svg.load("test.svg"); +svg.show(); + +// test QWidget method +var hfw = svg.heightForWidth(200); +println( "svg.heightForWidth(200) = " + hfw ); + +// test retrieving QSvgRenderer for QSvgWidget method +var svgr = svg.renderer(); + +// access the QSvgRenderer object +println( "svg.renderer() = '" + svgr + "' svgr.isWidgetType() = " + svgr.isWidgetType() ); + +exec(); diff --git a/examples/tests/system.js b/examples/tests/system.js new file mode 100644 index 0000000..7352284 --- /dev/null +++ b/examples/tests/system.js @@ -0,0 +1,23 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 KJSEmbed Authors + See included AUTHORS file. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +var cmd = "ls -l"; +var ls = system(cmd); +println("Output from '" + cmd + "'\n" + ls); diff --git a/examples/tests/test.svg b/examples/tests/test.svg new file mode 100644 index 0000000..cacc199 --- /dev/null +++ b/examples/tests/test.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/tests/test.ui b/examples/tests/test.ui new file mode 100644 index 0000000..9053526 --- /dev/null +++ b/examples/tests/test.ui @@ -0,0 +1,69 @@ + + Form + + + + 0 + 0 + 400 + 300 + + + + + 8 + + + 6 + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + PushButton + + + + + + + PushButton + + + + + + + + + + + + + + diff --git a/examples/tests/typecheck.js b/examples/tests/typecheck.js new file mode 100644 index 0000000..33bbc5e --- /dev/null +++ b/examples/tests/typecheck.js @@ -0,0 +1,28 @@ +function isObjectOrVariant(foo) +{ + if (isVariant(foo)) + { + println(' is a variant.'); + } + else if (isObject(foo)) + { + println(' is an object.'); + } + else + { + println(' is a yahoo?'); + } +} + +var color = new QColor("red"); +println('color '); +isObjectOrVariant(color); + +var frame = new QWidget("QFrame", this ); +println('frame '); +isObjectOrVariant(frame); + +var settings = new QSettings("test.ini", QSettings.IniFormat, this); +println('settings '); +isObjectOrVariant(settings); + diff --git a/examples/tests/uitest.js b/examples/tests/uitest.js new file mode 100644 index 0000000..c6879a3 --- /dev/null +++ b/examples/tests/uitest.js @@ -0,0 +1,47 @@ +#!/bin/env kjscmd5 +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 KJSEmbed Authors + See included AUTHORS file. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +// create the loader +var loader = new QUiLoader(); + +// display loader info +println( "loader value: " + loader ); +for( y in loader ) println("loader property: " + y); + +// get and display the UILoader's pluginPaths +paths = loader.pluginPaths(); +println( "pluginPath value:" + paths ); +println( "pluginPath len:" + paths.length ); +for ( var x = 0; x < paths.length; x++ ) + println( "path " + x + ": " + paths[x] ); + +// load a UI from test.ui +var widget = loader.load("test.ui"); +println( "widget value: " + widget ); + +// iterate through the base widgets properties +for( y in widget ) println("widget property: " + y); + +// show it +widget.show(); + +// give the user time to see it +exec(); diff --git a/examples/tests/uitest2.js b/examples/tests/uitest2.js new file mode 100644 index 0000000..6a298ca --- /dev/null +++ b/examples/tests/uitest2.js @@ -0,0 +1,54 @@ +#!/bin/env kjscmd5 +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 KJSEmbed Authors + See included AUTHORS file. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +// Create the loader +var loader = new QUiLoader(); +println( "loader value: " + loader ); +for( y in loader ) println("loader property: " + y); + +// create the containing frame and it's layout +var box = loader.createWidget("QFrame", 0 ); +var layout = loader.createLayout("QVBoxLayout", box); + +// create and add the child labels +for ( var x = 0; x < 10; ++x) +{ + var lab = loader.createWidget("QLabel", box); + lab.text = "This is a test of box " + x; + layout.addWidget(lab); +} + +// adjust the box size and show it +box.adjustSize(); + +// display layout info +println( "layout value: " + layout ); +for( l in layout ) println("layout property: " + l); + +// display box info +println( "box value: " + box ); +for( y in box ) println("box property: " + y); + +// show the base box +box.show(); + +// give the user time to see it +exec() diff --git a/examples/tests/url.js b/examples/tests/url.js new file mode 100644 index 0000000..2425ade --- /dev/null +++ b/examples/tests/url.js @@ -0,0 +1,15 @@ +println('Empty URL'); +url = new QUrl(); +println('OK' + url); + +println('Empty URL'); +url = new QUrl(''); +println('OK' + url); + +println('Http URL'); +url = new QUrl('http://www.kde.org/'); +println('OK' + url); + +println('URL with fragment'); +url = new QUrl('http://www.kde.org/#where'); +println('OK' + url); diff --git a/examples/tests/widgettest.js b/examples/tests/widgettest.js new file mode 100644 index 0000000..3b0ba29 --- /dev/null +++ b/examples/tests/widgettest.js @@ -0,0 +1,30 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 KJSEmbed Authors + See included AUTHORS file. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +var button = new QWidget("QPushButton", this ); +button.height = 100; +button.width = 100; +button.text = "Test"; +print("Object " + button ); +for( y in button ) + print("Button method: " + y); + +button.show(); +exec(); diff --git a/metainfo.yaml b/metainfo.yaml new file mode 100644 index 0000000..a70ebf4 --- /dev/null +++ b/metainfo.yaml @@ -0,0 +1,22 @@ +maintainer: buschinski +description: Embedded JS +tier: 3 +type: functional +platforms: + - name: Linux + - name: FreeBSD + - name: Windows + - name: macOS +portingAid: true +deprecated: true +release: true +framework-dependencies: + - KDocTools +libraries: + - qmake: KJsEmbed + cmake: "KF5::JsEmbed" +cmakename: KF5JsEmbed + +public_lib: true +group: Frameworks +subgroup: Porting Aids diff --git a/po/af/kjsembed5.po b/po/af/kjsembed5.po new file mode 100644 index 0000000..e395d26 --- /dev/null +++ b/po/af/kjsembed5.po @@ -0,0 +1,250 @@ +# UTF-8 test:äëïöü +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4 stable\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2006-01-12 16:33+0200\n" +"Last-Translator: JUANITA FRANZ \n" +"Language-Team: AFRIKAANS \n" +"Language: af\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "" + +#: kjsembed/builtins.cpp:120 +#, fuzzy, kde-format +msgid "File %1 not found." +msgstr "Die styl %1 was nie gevind\n" + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "" + +#: kjsembed/builtins.cpp:137 +#, fuzzy, kde-format +#| msgid "Alt" +msgid "Alert" +msgstr "Alt" + +#: kjsembed/builtins.cpp:147 +#, fuzzy, kde-format +#| msgid "Configure" +msgid "Confirm" +msgstr "Stel op" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "" + +#: kjsembed/fileio.cpp:69 +#, fuzzy, kde-format +msgid "Could not open file '%1'" +msgstr "" +"Kon nie biblioteek '%1' oopmaak nie.\n" +"%2" + +#: kjsembed/fileio.cpp:106 +#, fuzzy, kde-format +msgid "Could not create temporary file." +msgstr "Kon nie skep die nuwe lêer." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "" + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, fuzzy, kde-format +msgid "%1 is not an Object type" +msgstr "Basis is nie 'n voorwerp" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "" + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "" + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "" + +#: kjsembed/qformbuilder_binding.cpp:56 +#, fuzzy, kde-format +msgid "There was an error reading the file '%1'" +msgstr "'n Fout het met die laai van die module voorgekom." + +#: kjsembed/qformbuilder_binding.cpp:64 +#, fuzzy, kde-format +msgid "Could not read file '%1'" +msgstr "Kon nie soek diens '%1'." + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "" + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "" + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "" + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "" + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "" + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "" + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "" +msgstr[1] "" + +#: kjsembed/qobject_binding.cpp:410 +#, fuzzy, kde-format +#| msgid "There is no resource available!" +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "Daar is geen hulpbron beskikbaar nie." +msgstr[1] "Daar is geen hulpbron beskikbaar nie." + +#: kjsembed/qobject_binding.cpp:411 +#, fuzzy, kde-format +#| msgctxt "concatenation of dates and time" +#| msgid "%1 %2" +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1 %2" + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "" + +#: kjsembed/qobject_binding.cpp:660 +#, fuzzy, kde-format +msgid "No such method '%1'." +msgstr "Geen kieslys item: '%1'." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "" + +#: kjsembed/qobject_binding.cpp:726 +#, fuzzy, kde-format +msgid "Call to '%1' failed." +msgstr "Installasie het gevaal." + +#: kjsembed/qobject_binding.cpp:792 +#, fuzzy, kde-format +msgid "Could not construct value" +msgstr "Kon nie las die lêer." + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "" + +#: kjsembed/quiloader_binding.cpp:67 +#, fuzzy, kde-format +msgid "Failed to create Action." +msgstr "Lêer na lees dateer op instruksies van" + +#: kjsembed/quiloader_binding.cpp:81 +#, fuzzy, kde-format +msgid "Failed to create ActionGroup." +msgstr "Lêer na lees dateer op instruksies van" + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "" + +#: kjsembed/quiloader_binding.cpp:97 +#, fuzzy, kde-format +msgid "Failed to create Layout." +msgstr "Kon nie die oplaai lêer skep nie." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "" + +#: kjsembed/quiloader_binding.cpp:114 +#, fuzzy, kde-format +msgid "Failed to create Widget." +msgstr "Kon nie die oplaai lêer skep nie." + +#: kjsembed/quiloader_binding.cpp:128 +#, fuzzy, kde-format +msgid "Could not open file '%1': %2" +msgstr "" +"Kon nie biblioteek '%1' oopmaak nie.\n" +"%2" + +#: kjsembed/quiloader_binding.cpp:136 +#, fuzzy, kde-format +msgid "Failed to load file '%1'" +msgstr "Kan nie hulpbron '%1' laai nie" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "" + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "" + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "" diff --git a/po/ar/kjsembed5.po b/po/ar/kjsembed5.po new file mode 100644 index 0000000..d71e64c --- /dev/null +++ b/po/ar/kjsembed5.po @@ -0,0 +1,269 @@ +# translation of kdelibs4.po to Arabic +# translation of kdelibs4.po to +# Copyright (C) 2001-2003, 2004, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +# Isam Bayazidi , 2001,2003. +# Sayed Jaffer Al-Mosawi , 2002. +# Hicham Amaoui , 2002. +# Youcef Rabah Rahal , 2003. +# Ahmad M. Zawawi , 2004. +# Mohammed Gamal , 2004. +# Usamah Ali Al-Maqdad , 2004. +# Munzir Taha , 2004. +# Mohamed SAAD , 2006. +# Khaled Hosny , 2007. +# Youssef Chahibi , 2007. +# zayed , 2008, 2009. +# Zayed Al-Saidi , 2009. +# hanny , 2012. +# Abderrahim Kitouni , 2012. +# Safa Alfulaij , 2013. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2012-01-21 14:59+0100\n" +"Last-Translator: Abderrahim Kitouni \n" +"Language-Team: Arabic \n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"X-Generator: Lokalize 1.5\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "حصل خطأ عند معالجة ضم '%1' في السطر %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "يستقبل هذا الضم حجة واحدة فقط، ليس %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "الملف %1 غير موجود" + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "تستقبل هذه المكتبة حجة واحدة فقط، ليس %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "نبه" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "أكد" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "مدبر أحداث سيئ: الكائن %1 المعرف %2 الدالة %3 النوع: %4" + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "اعتراض عند مناداة الدالة '%1' من %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "'لا يمكن فتح %1'" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "لا يمكن إنشاء الملفات." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "ليس %1 بدالة ولا يمكن مناداته." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 ليس بكائن" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "يأخذ Action حجتين." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "يأخذ ActionGroup حجتين." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "يجب تقديم مجلد أصلي صحيح." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "حدث خطأ أثناء قراءة '%1'" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "لا يمكن قراءة الملفات '%1'" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "يجب توفير اسم ملف." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "ليس بـ QLayout '%1' صالح." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "يجب توفير اسم صيغة." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "نوع كائن خاطئ." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "يجب أن تكون الحجة الأولى QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "عدد خاطئ من الحجج." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] " %1 " +msgstr[1] "الشق يطلب معامل واحد" +msgstr[2] "الشق يطلب معاملين" +msgstr[3] "الشق يطلب %1 معاملات" +msgstr[4] "الشق يطلب %1 معاملا" +msgstr[5] "الشق يطلب %1 معامل" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "لكن لا يوجد أي معامل" +msgstr[1] "لكن لا يوجد إلا واحد متوفر" +msgstr[2] "لكن لا يوجد إلا إثنين" +msgstr[3] "ولكن لا يوجد إلا %1 معاملات" +msgstr[4] "ولكن لا يوجد إلا %1 معاملا" +msgstr[5] "ولكن لا يوجد إلا %1 معامل" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1 ، %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "فشل الطرح إلى القيمة %1 من النوع %2 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "لا دالة بهذا النوع '%1'." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "فشلت مناداة الدالة '%1'، لا يمكن الحصول على الحجة %2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "فشلت مناداة '%1'." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "لا يمكن بناء القيمة" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "حجج غير كافية." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "لا يمكن إنشاء الفعل." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "لا يمكن إنشاء مجموعة الأفعال ActionGroup." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "لم يحدد أي اسم صنف" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "لا يمكن إنشاء النسق." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "لم يحدد أي اسم صنف." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "لا يمكن إنشاء الودج." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "لا يمكن فتح الملف '%1': %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "'فشل تحميل الملف %1'" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' ليس بودج QWidget صالح." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "يجب تسمية الودج." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "مدبر فتحات سيئ:الكائن %1 المعرف %2 الدالة %3 التوقيع: %4" + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "اعتراض عند مناداة '%1' من %2:%3:%4" diff --git a/po/as/kjsembed5.po b/po/as/kjsembed5.po new file mode 100644 index 0000000..72349e7 --- /dev/null +++ b/po/as/kjsembed5.po @@ -0,0 +1,249 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Amitakhya Phukan , 2008. +# Amitakhya Phukan <অমিতাক্ষ ফুকন>, 2008. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4_as\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2008-12-26 15:19+0530\n" +"Last-Translator: Amitakhya Phukan <অমিতাক্ষ ফুকন>\n" +"Language-Team: Assamese \n" +"Language: as\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 0.2\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "include '%1' পংক্তি %2 প্ৰক্ৰিয়াকৰণৰ সময় সমস্যা: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "include দ্বাৰা %1 নহয় অকল ১ টা তৰ্ক গ্ৰহণ কৰা হয় ।" + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "নথিপত্ৰ %1 পোৱা নাযায় ।" + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "library দ্বাৰা %1 নহয় অকল ১ টা তৰ্ক গ্ৰহণ কৰা হয় ।" + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "সতৰ্কবাৰ্তা" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "দৃঢ় কৰক" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "ঘটনা হেন্ডলাৰ সঠিক নহয়: অৱজেক্ট %1 আইডেন্টিফায়াৰ %2 মেথড %3 স্বাক্ষৰ: %4" + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "%2:%3:%4ৰ পৰা '%1' আপেক্ষক কল কৰিবলৈ এক্সেপশন উৎপন্ন হৈছে" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "নথিপত্ৰ '%1' খোলোঁতে ব্যৰ্থ" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "অস্থায়ী নথিপত্ৰ নিৰ্মাণ কৰিবলৈ সমস্য ।" + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 আপেক্ষক নহয় আৰু এইটো কল (call) কৰা সম্ভব নহয় ।" + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 কোনো অৱজেক্টৰ ধৰণ নহয়" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Action দ্বাৰা ২ টা তৰ্ক গ্ৰহণ কৰা হয় ।" + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup দ্বাৰা ২ টা তৰ্ক গ্ৰহণ কৰা হয় ।" + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "বৈধ ঊৰ্ধ্বতন মান উল্লেখ কৰা আৱশ্যক ।" + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "নথিপত্ৰ '%1' পঢ়োঁতে ব্যৰ্থ" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "নথিপত্ৰ '%1' পঢ়োঁতে ব্যৰ্থ" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "নথিপত্ৰৰ নাম উল্লেখ কৰা আৱশ্যক ।" + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' বৈধ QLayout নহয় ।" + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "বিন্যাসৰ নাম উল্লেখ কৰা আৱশ্যক ।" + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "ভুল ধৰণৰ অৱজেক্ট ।" + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "প্ৰথম তৰ্ক QObject হোৱা আৱশ্যক ।" + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "ভুল সংখ্যক তৰ্ক" + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "" +msgstr[1] "" + +#: kjsembed/qobject_binding.cpp:410 +#, fuzzy, kde-format +#| msgid "There is no matching item available.\n" +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "কোনো মিল থকা বস্তু পোৱা নগল ।\n" +msgstr[1] "কোনো মিল থকা বস্তু পোৱা নগল ।\n" + +#: kjsembed/qobject_binding.cpp:411 +#, fuzzy, kde-format +#| msgctxt "concatenation of dates and time" +#| msgid "%1 %2" +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1 %2" + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "'%1' প্ৰক্ৰিয়া অনুপস্থিত ।" + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "'%1' মেথডক কৰা কল বিফল, %2: %3 তৰ্ক প্ৰাপ্ত কৰিবলৈ ব্যৰ্থ ।" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "'%1' লৈ কৰা কল বিফল হৈছে ।" + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "মান গঠন কৰিবলৈ ব্যৰ্থ" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "পৰ্যাপ্ত তৰ্ক উপস্থিত নাই ।" + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Action নিৰ্মাণ কৰিবলৈ ব্যৰ্থ ।" + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "ActionGroup নিৰ্মাণ কৰিবলৈ ব্যৰ্থ ।" + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "ক্লাছৰ নাম উল্লেখিত নহয় ।" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "বিন্যাস নিৰ্মাণ কৰিবলৈ ব্যৰ্থ ।" + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "ক্লাছৰ নাম উল্লেখিত নহয় ।" + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "উইজেট নিৰ্মাণ কৰিবলৈ ব্যৰ্থ ।" + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "নথিপত্ৰ '%1' খোলোঁতে ব্যৰ্থ: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "নথিপত্ৰ '%1' লোড কৰিবলৈ ব্যৰ্থ" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' বৈধ QWidget নহয় ।" + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "উইজেটৰ নাম উল্লেখ কৰা আৱশ্যক ।" + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "স্লট হেন্ডলাৰ সঠিক নহয়: অৱজেক্ট %1 আইডেন্টিফায়াৰ %2 মেথড %3 স্বাক্ষৰ: %4" + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "'%1' স্লট %2:%3:%4ৰ পৰা কল কৰিবলৈ এক্সেপশন উৎপন্ন হৈছে" diff --git a/po/az/kjsembed5.po b/po/az/kjsembed5.po new file mode 100644 index 0000000..c720212 --- /dev/null +++ b/po/az/kjsembed5.po @@ -0,0 +1,247 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the kjsembed package. +# +# Xəyyam , 2020, 2021. +msgid "" +msgstr "" +"Project-Id-Version: kjsembed\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2021-07-21 00:45+0400\n" +"Last-Translator: Kheyyam Gojayev \n" +"Language-Team: Azerbaijani \n" +"Language: az\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 21.04.3\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "include %1 əmri icra olunarkən %2: %3 sətrində xəta" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "include %1 deyil yalnız q arqument tələb edir" + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "%1 faylı tapılmadı." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "kitabxana %1 deyil yalnız 1 arqument tələb edir." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Həyəcan" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Təsdiq" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" +"Səhv hadisə idarəedicisi: Obyekt %1, identifikator %2, metod %3, növ: %4" + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "%2:%3:%4 tərəfindən '%1' funksiyasının çağrilmasında istisna." + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Fayl '%1' açıla bilmir" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Müvəqqəti fayl yaradıla bilmir." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 funksiya deyil və çağırıla bilmir." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 obyekt deyil" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Əməl 2 arqument tələb edir." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup 2 arqument tələb edir." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Düzgün ana obyekti göstərmək lazımdır." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "%1 faylının oxunmasında səhv beş verdi" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "%1 faylı oxuna bilmir" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Fayl adını göstərmək lazımdır." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' yararlı QLayout obyekti deyil. " + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Düzüm adı göstərilməlidir." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Səhv obyekt növü." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Birinci qrqument QObject olmalıdır." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Arqumentin səhv nömrəsi." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Yuva %1 arqument tələb edir" +msgstr[1] "Yuva %1 arqument tələb edir" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "ancaq burada %1 arqument mövcuddur" +msgstr[1] "ancaq burada %1 arqument mövcuddur" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "%2 (%3) növündən%1 dəyərinə çıxara bilmədi" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "%1 metod yoxdur" + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "'%1' metoduna zəng uğursuz oldu,%2:%3 arqumenti alınmadı" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "%1 zəng uğursuz oldu." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Dəyər qurulaa bilmədi" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Kifayət qədər arqument yoxdur." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Action yaradıla bilmədi" + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "ActionGroup yaradılmasında uğursuzluq." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Sinfin adı göstərilməyib" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Düzüm yaratmaq alınmadı." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Sinfin adı göstərilməyib." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Vidjet yaratmaq alınmadı." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Fayl '%1': %2 açıla bilmədi" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "'%1' yüklənə bilmədi" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' düzgün QWidget deyil." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Vidjet adı göstərilməlidir." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Pis yuva idarəedici: Obyekt %1, İdentifikator %2, Metod %3 Siqnatura: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "%2:%3:%4 yuvasından '%1' çağırılmasında istisna" diff --git a/po/be/kjsembed5.po b/po/be/kjsembed5.po new file mode 100644 index 0000000..2f68252 --- /dev/null +++ b/po/be/kjsembed5.po @@ -0,0 +1,261 @@ +# translation of kdelibs4.po to Belarusian +# translation of kdelibs4.po to +# +# Eugene Zelenko , 2002-2004. +# Ihar Hrachyshka , 2006. +# Darafei Praliaskouski , 2007. +# Komяpa , 2007. +# Komяpa , 2007. +# Darafei Praliaskoski , 2007. +# Darafei Praliaskouski , 2008, 2009. +# Siarhei Liantsevich , 2008. +# kom , 2008. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2009-09-06 15:21+0300\n" +"Last-Translator: Darafei Praliaskouski \n" +"Language-Team: Belarusian \n" +"Language: be\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "" + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Файл %1 не знойдзены." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "" + +#: kjsembed/builtins.cpp:137 +#, fuzzy, kde-format +#| msgid "Alt" +msgid "Alert" +msgstr "Alt" + +#: kjsembed/builtins.cpp:147 +#, fuzzy, kde-format +#| msgid "Configure" +msgid "Confirm" +msgstr "Настаўленне" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Немагчыма адкрыць файл '%1'" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Немагчыма стварыць часовы файл." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "" + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Дзеянне прымае 2 аргументы." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "" + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "" + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Памылка чытання файлу '%1'" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Немагчыма прачытаць файл '%1'" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Трэба задаць назву файлу." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "" + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "" + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Недапушчальны тып аб'екту." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "" + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Нечаканая колькасць аргументаў." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: kjsembed/qobject_binding.cpp:410 +#, fuzzy, kde-format +#| msgid "There is no matching item available.\n" +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "Няма супадзенняў.\n" +msgstr[1] "Няма супадзенняў.\n" +msgstr[2] "Няма супадзенняў.\n" + +#: kjsembed/qobject_binding.cpp:411 +#, fuzzy, kde-format +#| msgctxt "concatenation of dates and time" +#| msgid "%1 %2" +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1 %2" + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Метаду '%1' няма." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "Выклік да метаду '%1' няўдалы, немагчыма атрымаць аргумент %2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Выклік да '%1' схібіў." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Немагчыма сканструіраваць значэнне" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Недастаткова аргументаў." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Немагчыма стварыць дзеянне." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Немагчыма стварыць групу дзеянняў." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Не зададзена назва класу" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Немагчыма стварыць расклад." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Не зададзена назва класу." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Немагчыма стварыць віджэт." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Немагчыма адкрыць файл '%1': %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Немагчыма загрузіць файл '%1'" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "" + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Трэба задаць назву віджэту." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "" diff --git a/po/be@latin/kjsembed5.po b/po/be@latin/kjsembed5.po new file mode 100644 index 0000000..345c75d --- /dev/null +++ b/po/be@latin/kjsembed5.po @@ -0,0 +1,252 @@ +# translation of kdelibs4.po to Belarusian Latin +# Copyright (C) 2008 This_file_is_part_of_KDE +# This file is distributed under the same license as the kdelibs4 package. +# +# Ihar Hrachyshka , 2008. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2008-08-30 01:10+0300\n" +"Last-Translator: Ihar Hrachyshka \n" +"Language-Team: Belarusian Latin \n" +"Language: be@latin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: KBabel 1.11.4\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Uźnikła pamyłka padčas razrableńnia zahałoŭka „%1” u radku %2: %3." + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "Zahałovak (include) pryjmaje adzin arhument, a nie %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Fajł „%1” nia znojdzieny." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "Biblijateka (library) pryjmaje adzin arhument, a nie %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Tryvoha" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Paćvierdź" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Praz vyklik funkcyi „%1” z %2:%3:%4 uźnikła vyklučeńnie." + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Nie ŭdałosia adčynić fajł „%1”." + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Nie ŭdałosia stvaryć časovy fajł." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 nia jość funkcyjaj, jakuju možna było b vyklikać." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 nia jość typu „Object”." + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Dziejańnie („Action”) pryjmaje 2 arhumenty." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "Hrupa dziejańniaŭ („ActionGroup”) pryjmaje 2 arhumenty." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Treba padać sapraŭdnaha prodka." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Padčas pračytańnia fajła „%1” uźnikła pamyłka." + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Nie ŭdałosia pračytać fajł „%1”." + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Treba padać nazvu fajła." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "„%1” nia jość sapraŭdnym „QLayout”." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Treba padać nazvu vykładu." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Niapravilny typ abjekta." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Pieršy arhument musić być typu „QObject”." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Niapravilnaja kolkaść arhumentaŭ." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: kjsembed/qobject_binding.cpp:410 +#, fuzzy, kde-format +#| msgid "There is no matching item available.\n" +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "Niama adpaviednikaŭ.\n" +msgstr[1] "Niama adpaviednikaŭ.\n" +msgstr[2] "Niama adpaviednikaŭ.\n" + +#: kjsembed/qobject_binding.cpp:411 +#, fuzzy, kde-format +#| msgctxt "concatenation of dates and time" +#| msgid "%1 %2" +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2" + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Niama takoha metadu: „%1”." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "Niaŭdały vyklik „%1”. Nie ŭdałosia atrymać arhumenty %2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Niaŭdały vyklik „%1”." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Nie ŭdałosia skanstrujavać vartaść." + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Nie staje arhumentaŭ." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Nie ŭdałosia stvaryć dziejańnie („Action”)." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Nie ŭdałosia stvaryć hrupu dziejańniaŭ („ActionGroup”)." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Nazva klasy nie aznačanaja." + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Nie ŭdałosia stvaryć vykład („Layout”)." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Nazva klasy nie aznačanaja." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Nie ŭdałosia stvaryć widžet („Widget”)." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Nie ŭdałosia adčynić fajł „%1”: %2." + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Nie ŭdałosia źmiaścić u pamiać fajł „%1”." + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "„%1” nia jość sapraŭdnym „QWidget”." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Treba padać nazvu widžeta." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Praz vyklik slota „%1” z %2:%3:%4 uźnikła vyklučeńnie." diff --git a/po/bg/kjsembed5.po b/po/bg/kjsembed5.po new file mode 100644 index 0000000..9b77964 --- /dev/null +++ b/po/bg/kjsembed5.po @@ -0,0 +1,247 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Zlatko Popov , 2006, 2007, 2008, 2009. +# Yasen Pramatarov , 2009, 2010, 2011, 2012, 2013. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2013-07-23 01:52+0300\n" +"Last-Translator: Yasen Pramatarov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "" + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Файлът \"%1\" не е намерен." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "" + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Аларма" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Потвърждение" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Файлът \"%1\" не може да бъде отворен" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Създаването на временен файл беше неуспешно." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 не е функция и не може да се извика." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 не е тип Object" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Действието изисква 2 аргумента." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "" + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Трябва да има валиден родител." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Грешка при четене на файл \"%1\"" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Файлът \"%1\" не може да бъде прочетен" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Трябва да има име." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "\"%1\" не е валиден QLayout." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Трябва да представите име." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Неправилен тип." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Първият аргумент трябва да бъде QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Неправилен брой аргументи." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "" +msgstr[1] "" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "но е налично само %1" +msgstr[1] "но са налични само %1" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Няма метод \"%1\"." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "" +"Комуникацията с метод \"%1\" беше неуспешна. Не беше намерен аргумент %2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Комуникацията с \"%1\" беше неуспешна." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Стойността не може да бъде определена" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Няма достатъчно аргументи." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Създаването на действие беше неуспешно." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "" + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Не е посочено име на клас" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Грешка при създаване на изглед." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Не е посочено име на клас." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Грешка при създаване." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Грешка при отваряне на \"%1\":%2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Файлът \"%1\" не може да бъде зареден" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "\"%1\" не е валиден QWidget." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Трябва да има име." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "" diff --git a/po/bn/kjsembed5.po b/po/bn/kjsembed5.po new file mode 100644 index 0000000..7660c9e --- /dev/null +++ b/po/bn/kjsembed5.po @@ -0,0 +1,249 @@ +# Bengali (Bangla) translation of kdelibs4. +# Copyright (C) 2009, Free Software Foundation, Inc. +# translation of kdelibs4.po to Bengali +# Copyright (C) 2003, 2004, 2005, 2006, 2008 Free Software Foundation, Inc. +# Deepayan Sarkar,,, , 2003. +# Deepayan Sarkar , 2003, 2004, 2005. +# Deepayan Sarkar , 2006, 2008, 2009.. +# Deepayan Sarkar , 2009, 2010, 2012. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2012-07-16 14:27+0530\n" +"Last-Translator: Deepayan Sarkar \n" +"Language-Team: American English \n" +"Language: bn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.4\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "include '%1' প্রসেস করাকালীন লাইন %2-এ সমস্যা: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "include একটিমাত্র আর্গুমেন্ট গ্রহন করে, %1-টি নয়।" + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "%1 ফাইল পাওয়া যায়নি।" + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "library একটিমাত্র আর্গুমেন্ট গ্রহন করে, %1-টি নয়।" + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "সতর্ক" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "অনুমোদন করো" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "খারাপ ইভেন্ট হ্যাণ্ডলার: Object %1 Identifier %2 Method %3 Type: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "%2 থেকে '%1' ফাংশন কল করাকালীন exception:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "ফাইল '%1' খোলা যায়নি" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "অস্থায়ী ফাইল তৈরি করা যায়নি।" + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 কল করা যাবে না কারন এটি ফাংশন নয়।" + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 একটি Object type নয়" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Action takes 2 args." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup takes 2 args." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "একটি বৈধ পেরেন্ট সরাবরাহ করা দরকার।" + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "ফাইল '%1' পড়তে সমস্যা" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "ফাইল '%1' পড়া যায়নি" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "একটি ফাইলের নাম সরাবরাহ করা প্রয়োজন।" + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' একটি বৈধ QLayout নয়।" + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "লে-আউট-এর নাম সরাবরাহ করা প্রয়োজন।" + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "ভূল Object type।" + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "প্রথম আর্গুমেন্ট একটি QObject হওয়া প্রয়োজন।" + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "প্রেরিত আর্গুমেন্ট-এর সংখ্যা ভুল।" + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "The slot asked for %1 argument" +msgstr[1] "The slot asked for %1 arguments" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "but there is only %1 available" +msgstr[1] "but there are only %1 available" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Failure to cast to %1 value from Type %2 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "এমন কোনও মেথড '%1' নেই।" + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "Call to method '%1' failed, unable to get argument %2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "'%1'-এ কল ব্যর্থ।" + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "মূল্য নির্মান করা যায়নি" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "যথেষ্ট আর্গুমেন্ট দেওয়া হয়নি।" + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Action তৈরি করতে ব্যর্থ।" + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "ActionGroup তৈরি করতে ব্যর্থ।" + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "কোনও classname নির্ধারণ করা হয়নি" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "লে-আউট তৈরি করতে ব্যর্থ।" + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "কোনও classname নির্ধারণ করা হয়নি।" + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "উইজেট তৈরি করতে ব্যর্থ।" + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "ফাইল '%1' খোলা যায়নি: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "'%1' ফাইল লোড করতে অক্ষম" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' একটি বৈধ QWidget নয়।" + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "উইজেট-এর নাম সরাবরাহ করা প্রয়োজন।" + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "খারাপ স্লট হ্যাণ্ডলার: Object %1 Identifier %2 Method %3 Signature: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "%2 থেকে '%1' স্লট কল করাকালীন exception:%3:%4" diff --git a/po/bn_IN/kjsembed5.po b/po/bn_IN/kjsembed5.po new file mode 100644 index 0000000..04bbfd2 --- /dev/null +++ b/po/bn_IN/kjsembed5.po @@ -0,0 +1,248 @@ +# translation of kdelibs4.po to Bengali INDIA +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Runa Bhattacharjee , 2007. +# Runa Bhattacharjee , 2008, 2009. +# Runa Bhattacharjee , 2008. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2009-12-28 14:35+0530\n" +"Last-Translator: Runa Bhattacharjee \n" +"Language-Team: Bengali INDIA \n" +"Language: bn_IN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: KBabel 1.11.4\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "include '%1' পংক্তি %2 প্রক্রিয়াকরণের সময় সমস্যা: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "include দ্বারা %1 নয় শুধুমাত্র ১-টি আর্গুমেন্ট গ্রহণ করা হয়।" + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "ফাইল %1 পাওয়া যায়নি।" + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "library দ্বারা %1 নয় শুধুমাত্র ১-টি আর্গুমেন্ট গ্রহণ করা হয়।" + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "সর্তকবার্তা" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "নিশ্চিত করুন" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "ইভেন্ট হ্যান্ডলার সঠিক নয়: অবজেক্ট %1 আইডেন্টিফায়ার %2 মেথড %3 স্বাক্ষর: %4" + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "%2:%3:%4 থেকে '%1' ফাংশান কল করতে এক্সেপশন উৎপন্ন হয়েছে" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "ফাইল '%1' খুলতে ব্যর্থ" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "অস্থায়ী ফাইল নির্মাণ করতে সমস্য।" + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 ফাংশান নয় এবং এটি কল (call) করা সম্ভব নয়।" + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 কোনো অবজেক্টের ধরন নয়" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Action দ্বারা ২-টি আর্গুমেন্ট গ্রহণ করা হয়।" + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup দ্বারা ২-টি আর্গুমেন্ট গ্রহণ করা হয়।" + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "বৈধ ঊর্ধ্বতন মান উল্লেখ করা আবশ্যক।" + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "ফাইল '%1' পড়তে ব্যর্থ" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "ফাইল '%1' পড়তে ব্যর্থ" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "ফাইলের নাম উল্লেখ করা আবশ্যক।" + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' বৈধ QLayout নয়।" + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "বিন্যাসের নাম উল্লেখ করা আবশ্যক।" + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "ভুল ধরনের অবজেক্ট।" + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "প্রথম আর্গুমেন্ট QObject হওয়া আবশ্যক।" + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "ভুল সংখ্যক আর্গুমেন্ট" + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "" +msgstr[1] "" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "" +msgstr[1] "" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "'%1' মেথড অনুপস্থিত।" + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "'%1' মেথডকে করা কল বিফল, %2: %3 আর্গুমেন্ট প্রাপ্ত করতে ব্যর্থ।" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "'%1'-কে করা কল বিফল হয়েছে।" + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "মান গঠন করতে ব্যর্থ" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "পর্যাপ্ত আর্গুমেন্ট উপস্থিত নেই।" + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Action নির্মাণ করতে ব্যর্থ।" + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "ActionGroup নির্মাণ করতে ব্যর্থ।" + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "ক্লাসের নাম উল্লিখিত হয়নি।" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "বিন্যাস নির্মাণ করতে ব্যর্থ।" + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "ক্লাসের নাম উল্লিখিত হয়নি।" + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "উইজেট নির্মাণ করতে ব্যর্থ।" + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "ফাইল '%1' খুলতে ব্যর্থ: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "ফাইল '%1' লোড করতে ব্যর্থ" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' বৈধ QWidget নয়।" + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "উইজেটের নাম উল্লেখ করা আবশ্যক।" + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "স্লট হ্যান্ডলার সঠিক নয়: অবজেক্ট %1 আইডেন্টিফায়ার %2 মেথড %3 স্বাক্ষর: %4" + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "'%1' স্লটটি %2:%3:%4 থেকে কল করতে এক্সেপশন উৎপন্ন হয়েছে" diff --git a/po/br/kjsembed5.po b/po/br/kjsembed5.po new file mode 100644 index 0000000..52ecb5d --- /dev/null +++ b/po/br/kjsembed5.po @@ -0,0 +1,252 @@ +# KDE breton translation +# Copyright (C) 1998-2001 Free Software Foundation, Inc. +# Jañ-Mai Drapier , 1998 +# Thierry Vignaud , 2001-2005 +# $Id$ +# +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4-1.1\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2007-10-15 22:19+0200\n" +"Last-Translator: Jañ-Mai Drapier \n" +"Language-Team: Brezhoneg \n" +"Language: br\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "" + +#: kjsembed/builtins.cpp:120 +#, fuzzy, kde-format +msgid "File %1 not found." +msgstr "N'eo ket bet kavet ar c'hiz %1\n" + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "" + +#: kjsembed/builtins.cpp:137 +#, fuzzy, kde-format +#| msgid "Alt" +msgid "Alert" +msgstr "Alt" + +#: kjsembed/builtins.cpp:147 +#, fuzzy, kde-format +#| msgid "Configure" +msgid "Confirm" +msgstr "Kefluniañ" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "N'hellan ket digeriñ ar restr '%1'" + +#: kjsembed/fileio.cpp:106 +#, fuzzy, kde-format +msgid "Could not create temporary file." +msgstr "Ne m'eus ket gallet krouiñ ar restr nevez." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "" + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "" + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "" + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "" + +#: kjsembed/qformbuilder_binding.cpp:56 +#, fuzzy, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Ur fazi zo bet o kargañ ar mollad." + +#: kjsembed/qformbuilder_binding.cpp:64 +#, fuzzy, kde-format +msgid "Could not read file '%1'" +msgstr "Ne m'eus ket gallet kavout ar servij '%1'." + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "" + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "" + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "" + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "" + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "" + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "" + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "" +msgstr[1] "" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "" +msgstr[1] "" + +#: kjsembed/qobject_binding.cpp:411 +#, fuzzy, kde-format +#| msgctxt "concatenation of dates and time" +#| msgid "%1 %2" +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1 %2" + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "" + +#: kjsembed/qobject_binding.cpp:660 +#, fuzzy, kde-format +msgid "No such method '%1'." +msgstr "N'eus meuziadad '%1' ebet." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "" + +#: kjsembed/qobject_binding.cpp:726 +#, fuzzy, kde-format +msgid "Call to '%1' failed." +msgstr "Staliañ a zo sac'het." + +#: kjsembed/qobject_binding.cpp:792 +#, fuzzy, kde-format +msgid "Could not construct value" +msgstr "Ne m'eus ket gallet kargañ ar restr." + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "" + +#: kjsembed/quiloader_binding.cpp:67 +#, fuzzy, kde-format +msgid "Failed to create Action." +msgstr "N'hellan ket krouiñ ar restr da ezkargañ." + +#: kjsembed/quiloader_binding.cpp:81 +#, fuzzy, kde-format +msgid "Failed to create ActionGroup." +msgstr "N'hellan ket krouiñ ar restr da ezkargañ." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "" + +#: kjsembed/quiloader_binding.cpp:97 +#, fuzzy, kde-format +msgid "Failed to create Layout." +msgstr "N'hellan ket krouiñ ar restr da ezkargañ." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "" + +#: kjsembed/quiloader_binding.cpp:114 +#, fuzzy, kde-format +msgid "Failed to create Widget." +msgstr "N'hellan ket krouiñ ar restr da ezkargañ." + +#: kjsembed/quiloader_binding.cpp:128 +#, fuzzy, kde-format +msgid "Could not open file '%1': %2" +msgstr "" +"Ne m'eus ket gallet digeriñ al levraoueg « %1 ».\n" +"%2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "N'hellan ket kargañ ar restr '%1'" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "" + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "" + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "" diff --git a/po/bs/kjsembed5.po b/po/bs/kjsembed5.po new file mode 100644 index 0000000..56712fd --- /dev/null +++ b/po/bs/kjsembed5.po @@ -0,0 +1,260 @@ +# translation of kdelibs4.po to bosanski +# Marko Rosic , 2003. +# Toplica Tanaskovic , 2003, 2004, 2005. +# Chusslove Illich , 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010. +# Dalibor Djuric , 2009, 2010. +# Dalibor Djuric , 2010. +# KDE 4 , 2011. +# Bosnian translation of kdelibs4 +# Initially converted from translation of kdelibs4.po by +# Samir Ribić +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2013-12-21 17:26+0000\n" +"Last-Translator: Ademovic Saudin \n" +"Language-Team: bosanski \n" +"Language: bs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Launchpad (build 16872)\n" +"X-Launchpad-Export-Date: 2013-12-22 05:52+0000\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Greška pri obradi uključivanja %1 red %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "uključivanje uzima samo jedan argument, ne %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Datoteka %1 nije nađena." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "biblioteka uzima samo jedan argument, ne %1." + +# >> @title:window +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Pozor" + +# >> @title:window +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Potvrda" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "Loš rukovalac događajem: objekat %1 identifikator %2 metod %3 tip: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Izuzetak zove funkciju %1 iz %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Ne mogu da otvorim datoteku %1" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Ne mogu da stvorim privremenu datoteku." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 nije funkcija i ne može se pozvati." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 nije objektnog tipa" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Radnja uzima dva argumenta." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "Grupa radnji uzima dva argumenta." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Mora se navesti ispravan roditelj." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Greška pri čitanju datoteke %1" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Ne mogu da čitam datoteku %1." + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Mora se zadati ime datoteke." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "„%1“ nije ispravan QLayout." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Mora se navesti ime rasporeda." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Pogrešan tip objekta." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Prvi argument mora biti QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Neispravan broj argumenata." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Slot je tražio %1 argument" +msgstr[1] "Slot je tražio %1 argumenta" +msgstr[2] "Slot je tražio %1 argumenata" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "a dostupan je samo %1" +msgstr[1] "a dostupna su samo %1" +msgstr[2] "a dostupno je samo %1" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Neuspjeh pretapanja tipa vrijednosti iz %2 u %1 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Ne postoji metod %1." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "Poziv metoda %1 nije uspio, ne može se dobaviti argument %2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Poziv %1 nije uspio." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Vrijednost se ne može konstruisati" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Nedovoljno argumenata." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Neuspjeh stvaranja radnje." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Neuspjeh stvaranja grupe radnji." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Nije navedeno ime klase" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Neuspjeh stvaranja rasporeda." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Nije navedeno ime klase." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Neuspjeh stvaranja grafičke kontrole." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Ne mogu da otvorim datoteku %1: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Neuspjeh učitavanja datoteke %1" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "%1 nije ispravan QWidget." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Mora se zadati ime grafičke kontrole." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "Loš rukovalac slota: objekat %1 identifikator %2 metod %3 potpis: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Izuzetak zove slot %1 iz %2:%3:%4" diff --git a/po/ca/docs/kjscmd5/man-kjscmd5.1.docbook b/po/ca/docs/kjscmd5/man-kjscmd5.1.docbook new file mode 100644 index 0000000..036a3b0 --- /dev/null +++ b/po/ca/docs/kjscmd5/man-kjscmd5.1.docbook @@ -0,0 +1,176 @@ + + +]> + + + + +Manual d'usuari del kjscmd5 + + + +Harri Porten
    porten@kde.org
    +
    +
    + +31 de juliol de 2015 +Frameworks 5.13 +Frameworks del KDE + +
    + + +kjscmd5 +1 + + + +kjscmd5 +Intèrpret de KJSEmbed dels &frameworks; + + + +Sinopsi + +kjscmd5 --help -e --exec -i -interactive fitxer + + + +Descripció + +El kjscmd5 és una eina per a llançar scripts de KJSEmbed des de la línia d'ordres. Executarà els scripts continguts anomenats al fitxer utilitzant KJSEmbed. No s'accepta (stdin) com a fitxer. + + + +Opcions de l'aplicació + + + +, + +Executa l'script al fitxer sense compatibilitat amb la &IGU;. + + + + +, + +Inicia l'intèrpret interactiu kjs. + + + + + + + + +Ús +La manera més habitual per a executar el kjscmd5 és com +kjscmd5 fitxer + + Si no s'utilitza el paràmetre fitxer, executa un script de prova predeterminat que mesura la velocitat d'inici de kjscmd5. + + + +Vegeu també +kjs5(1) + + + +Errors +Si us plau, empreu el Seguidor d'errors del &kde; (escriviu-hi en anglès) per a informar dels errors. + + +
    + + + diff --git a/po/ca/kjsembed5.po b/po/ca/kjsembed5.po new file mode 100644 index 0000000..ef45dbe --- /dev/null +++ b/po/ca/kjsembed5.po @@ -0,0 +1,258 @@ +# Translation of kjsembed5.po to Catalan +# Copyright (C) 1998-2020 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# Sebastià Pla i Sanz , 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007. +# Antoni Bella Pérez , 2003, 2006, 2011, 2012, 2013, 2014. +# Albert Astals Cid , 2004, 2005, 2007. +# Josep M. Ferrer , 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2020. +# Robert Millan , 2009. +# Orestes Mas , 2010. +msgid "" +msgstr "" +"Project-Id-Version: kjsembed\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2020-12-09 19:20+0100\n" +"Last-Translator: Josep M. Ferrer \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "S'ha trobat un error en processar la inclusió «%1» línia %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "La inclusió només pren 1 argument, no %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "No s'ha trobat el fitxer %1." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "La biblioteca només pren 1 argument, no %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Alerta" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Confirmeu" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" +"Gestor d'esdeveniments incorrecte: Objecte %1 Identificador %2 Mètode %3 " +"Tipus: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Excepció en cridar la funció «%1» des de %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "No s'ha pogut obrir el fitxer «%1»" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "No s'ha pogut crear un fitxer temporal." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 no és una funció i no es pot cridar." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 no és un tipus d'objecte" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "L'acció pren 2 arguments." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "El grup d'accions pren 2 arguments." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "cal subministrar un superior vàlid." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "S'ha produït un error en llegir el fitxer «%1»" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "No s'ha pogut llegir el fitxer «%1»" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Cal subministrar un nom de fitxer." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "El «%1» no és un QLayout vàlid." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Cal subministrar un nom de disposició." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Tipus d'objecte incorrecte." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "El primer argument ha de ser un QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Nombre incorrecte d'arguments." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "L'«slot» ha sol·licitat %1 argument" +msgstr[1] "L'«slot» ha sol·licitat %1 arguments" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "però només hi ha %1 disponible" +msgstr[1] "però només hi ha %1 disponibles" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Ha fallat en convertir el valor %1 des del tipus %2 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "No existeix el mètode «%1»." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "" +"Ha fallat la crida el mètode «%1», no s'ha pogut obtenir l'argument %2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "La crida a «%1» ha fallat." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "No s'ha pogut construir el valor" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "No hi ha prou arguments." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Ha fallat en crear l'acció." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Ha fallat en crear el grup d'accions." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "No s'ha especificat el nom de la classe" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Ha fallat en crear la disposició." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "No s'ha especificat el nom de la classe." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Ha fallat en crear el giny." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "No s'ha pogut obrir el fitxer «%1»: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Ha fallat en carregar el fitxer «%1»" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "«%1» no és un QWidget vàlid." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Cal subministrar un nom de giny." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Gestor de ranures incorrecte: Objecte %1 Identificador %2 Mètode %3 " +"Signatura: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Excepció en cridar la ranura «%1» des de %2:%3:%4" diff --git a/po/ca@valencia/kjsembed5.po b/po/ca@valencia/kjsembed5.po new file mode 100644 index 0000000..8b06ff5 --- /dev/null +++ b/po/ca@valencia/kjsembed5.po @@ -0,0 +1,260 @@ +# Translation of kjsembed5.po to Catalan (Valencian) +# Copyright (C) 1998-2019 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# Sebastià Pla i Sanz , 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007. +# Antoni Bella Pérez , 2003, 2006, 2011, 2012, 2013, 2014. +# Albert Astals Cid , 2004, 2005, 2007. +# Josep M. Ferrer , 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014. +# Robert Millan , 2009. +# Orestes Mas , 2010. +# Empar Montoro Martín , 2019. +msgid "" +msgstr "" +"Project-Id-Version: kjsembed\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2019-06-18 11:39+0200\n" +"Last-Translator: Empar Montoro Martín \n" +"Language-Team: Catalan \n" +"Language: ca@valencia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" +"X-Generator: Poedit 2.0.6\n" +"X-Project-Style: kde\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "S'ha trobat un error en processar la inclusió «%1» línia %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "La inclusió només pren 1 argument, no %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "No s'ha trobat el fitxer %1." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "La biblioteca només pren 1 argument, no %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Alerta" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Confirmeu" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" +"Gestor d'esdeveniments incorrecte: Objecte %1 Identificador %2 Mètode %3 " +"Tipus: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Excepció en cridar la funció «%1» des de %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "No s'ha pogut obrir el fitxer «%1»" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "No s'ha pogut crear un fitxer temporal." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 no és una funció i no es pot cridar." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 no és un tipus d'objecte" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "L'acció pren 2 arguments." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "El grup d'accions pren 2 arguments." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Cal subministrar un superior vàlid." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "S'ha produït un error en llegir el fitxer «%1»" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "No s'ha pogut llegir el fitxer «%1»" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Cal subministrar un nom de fitxer." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr " «%1» no és un QLayout vàlid." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Cal subministrar un nom de disposició." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Tipus d'objecte incorrecte." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "El primer argument ha de ser un QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Nombre incorrecte d'arguments." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "L«slot» ha sol·licitat %1 argument" +msgstr[1] "L'«slot» ha sol·licitat %1 arguments" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "però només n'hi ha %1 disponible" +msgstr[1] "però només n'hi ha %1 disponibles" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "No s'ha pogut convertir el valor %1 des del tipus %2 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "No existeix el mètode «%1»." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "" +"Ha fallat la crida al mètode «%1», no s'ha pogut obtindre l'argument %2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "La crida a «%1» ha fallat." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "No s'ha pogut construir el valor" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "No hi ha prou arguments." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "No s'ha pogut crear l'acció." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "No s'ha pogut crear el grup d'accions." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "No s'ha especificat el nom de la classe" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "No s'ha pogut crear la disposició." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "No s'ha especificat el nom de la classe." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "No s'ha pogut crear el giny («widget»)." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "No s'ha pogut obrir el fitxer «%1»: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Ha fallat en carregar el fitxer «%1»" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "«%1» no és un QWidget vàlid." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Cal subministrar un nom de giny (\"widget\")." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Gestor de ranures («slot») incorrecte: Objecte %1 Identificador %2 Mètode %3 " +"Signatura: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Excepció en cridar la ranura («slot») «%1» des de %2:%3:%4" diff --git a/po/crh/kjsembed5.po b/po/crh/kjsembed5.po new file mode 100644 index 0000000..c35021f --- /dev/null +++ b/po/crh/kjsembed5.po @@ -0,0 +1,249 @@ +# translation of kdelibs4.po to Qırımtatarca (Qırım Türkçesi) +# Copyright (C) 2008 This_file_is_part_of_KDE +# This file is distributed under the same license as the kdelibs package. +# +# Reşat SABIQ , 2008, 2009. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2009-02-12 23:29-0600\n" +"Last-Translator: Reşat SABIQ \n" +"Language-Team: Qırımtatarca (Qırım Türkçesi)\n" +"Language: crh\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: KBabel 1.11.4\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "'%1' kirsetmesini işlegende hata yaşandı; satır %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "kirsetme tek 1 delil ala, %1 degil." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "%1 dosyesi tapılamadı." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "kitaphane tek 1 delilni ala, %1 degil." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "İhtar Et" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Teyit Et" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "Fena vaqia qollayıcısı: Nesne %1 Kimlik %2 Usul %3 Tür: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "'%1' funktsiyasını %2:%3:%4 qonumından çağıruvda istisna" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "'%1' dosyesi açılamadı" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Muvaqqat dosye icat etilamadı." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 bir funktsiya degildir ve çağırılamaz." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 Nesne (Object) türünden degildir" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Amel 2 delil alır." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "AmelZümresi 2 delil alır." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Keçerli bir üst-tür temin etilmeli." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Dosye oqulğanda hata yaşandı '%1'" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Dosye oqulamadı '%1'" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Dosye ismi temin etilmeli." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' keçerli bir QLayout degil." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Bir serim ismi temin etilmeli." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Yañlış nesne türü." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "İlk delil bir QObject olmalı." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Yañlış delil sayısı." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "" +msgstr[1] "" + +#: kjsembed/qobject_binding.cpp:410 +#, fuzzy, kde-format +#| msgid "There is no matching item available.\n" +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "Eşleşken unsur mevcut degil.\n" +msgstr[1] "Eşleşken unsur mevcut degil.\n" + +#: kjsembed/qobject_binding.cpp:411 +#, fuzzy, kde-format +#| msgctxt "concatenation of dates and time" +#| msgid "%1 %2" +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1 %2" + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "'%1' kibi usul yoqtır." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "'%1' usulına çağıruv oñmadı, %2 delili alınamadı: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "'%1' çağıruvı oñmadı." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Qıymet inşa etilamadı" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Delil sayısı yetersiz." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Amel icat etilamadı." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "AmelZümresi icat etilamadı." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Sınıf ismi belirtilmegen" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Serim icat etilamadı." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Sınıf ismi belirtilmegen." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Pencereçikni icat etüv oñmadı." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "'%1' dosyesi açılamadı: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "'%1' dosyesiniñ yüklenüvi oñmadı" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' keçerli bir QWidget degil." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Pencereçik ismi temin etilmeli." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "Fena közenek qollayıcısı: Nesne %1 Kimlik %2 Usul %3 İmza: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "%2:%3:%4 qonumından '%1' çağıruvda istisna" diff --git a/po/cs/kjsembed5.po b/po/cs/kjsembed5.po new file mode 100644 index 0000000..0d4ebbf --- /dev/null +++ b/po/cs/kjsembed5.po @@ -0,0 +1,252 @@ +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Lukáš Tinkl , 2010, 2011, 2012. +# Vít Pelčák , 2011, 2012, 2013, 2014, 2015. +# Tomáš Chvátal , 2012, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2014-02-07 09:29+0100\n" +"Last-Translator: Vít Pelčák \n" +"Language-Team: American English \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"X-Generator: Lokalize 1.5\n" +"X-Language: cs_CZ\n" +"X-Source-Language: en_US\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Během zpracování include '%1'se vyskytla chyba na řádce %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "include přijímá pouze 1 argument, ne %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Soubor %1 nenalezen." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "knihovna přijímá pouze 1 argument, ne %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Upozornění" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Potvrdit" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "Špatná obsluha události: Objekt %1 Identifikátor %2 Metoda %3 Typ: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Výjimka volá funkci '%1' z %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Není možné otevřít soubor '%1'" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Nelze vytvořit dočasný soubor." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 není funkce a nemůže být volán." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 není objektový typ" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Činnost vyžaduje 2 argumenty." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "Skupina akcí očekává dva argumenty." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Musíte zadat platného rodiče." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Nastala chyba při čtení souboru '%1'" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Nelze přečíst soubor '%1'" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Musíte zadat název souboru." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' není platný QLayout." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Musíte zadat název rozvržení." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Chybný typ objektu." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "První argument musí být QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Neplatný počet argumentů." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Slot si vyžádal %1 argument" +msgstr[1] "Slot si vyžádal %1 argumenty" +msgstr[2] "Slot si vyžádal %1 argumentů" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "ale pouze %1 je dostupný" +msgstr[1] "ale pouze %1 jsou dostupné" +msgstr[2] "ale pouze %1 je dostupných" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Chyba přetypování hodnoty na %1 z %2 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Taková metoda '%1' neexistuje." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "Volání metody '%1' selhalo, nebyl zadán argument %2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Volání '%1' selhalo." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Nelze vytvořit hodnotu" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Nedostatek argumentů." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Selhalo vytvoření činnosti." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Selhalo vytvoření skupiny činností." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Nezadán název třídy" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Selhalo vytvoření rozvržení." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Nebyl zadán název třídy." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Vytvoření widgetu selhalo." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Nelze otevřít soubor '%1': %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Selhalo načtení souboru '%1'" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' není platný QWidget." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Musíte zadat název widgetu." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Špatná obsluha slotu: Objekt %1 Identifikátor %2 Metoda %3 Signatura: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Výjimka při volání slotu '%1' z %2:%3:%4" diff --git a/po/csb/kjsembed5.po b/po/csb/kjsembed5.po new file mode 100644 index 0000000..d9e4ed9 --- /dev/null +++ b/po/csb/kjsembed5.po @@ -0,0 +1,253 @@ +# translation of kdelibs4.po to Kaszëbsczi +# +# Michôł Òstrowsczi , 2006, 2007, 2008, 2009. +# Mark Kwidzińsczi , 2006, 2007, 2008, 2009. +# Mark Kwidzińśczi , 2009. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2009-12-04 22:09+0100\n" +"Last-Translator: Mark Kwidzińśczi \n" +"Language-Team: Kaszëbsczi \n" +"Language: csb\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2)\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Przë przetwarzaniô include %1, réżka %2 pòkôza sã fela: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "include wëmôgô blós jeden argùment. nié %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Lopk %1 nie òstôł nalazłi." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "bibloteka wëmôgô blós jeden argùment. nié %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Alarm" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Pòcwierdzë " + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "Lëchô òbsłëga dzejaniów: Òbiekt %1 Identifikatora %2 Metoda %3 Ôrt %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Wëwòłanié wëjimkù '%1' fùnkcji z %2: %3: %4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Ni mòże òtemknąc lopka '%1'" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Ni mòże ùsôdzëc timczasnégò lopka." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 nie je fùnkcëją ë ni mòże òstac òdwòłóné" + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 nie je ôrtã òbiekta." + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Action wëmôgô 2 argùmentë." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup wëmôgô 2 parameterë." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Mùszisz ùprzistãpnic wôżny 'parent'" + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Przë czëtaniô lopka '%1' pòkôza sã fela" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Ni mòże przeczëtac lopkù '%1'" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Nót je dotëgòwac miono lopka." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' nie je pòprôwnëm ùkłôdã" + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Je nót pòdac ùkłôd." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Lëchi ôrt òbiektu." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Pierszim argùmentã mùszi bëc QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Zmiłkòwô lëczba argùmentów." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: kjsembed/qobject_binding.cpp:410 +#, fuzzy, kde-format +#| msgid "There is no matching item available.\n" +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "Felënk pasownëch elementów.\n" +msgstr[1] "Felënk pasownëch elementów.\n" +msgstr[2] "Felënk pasownëch elementów.\n" + +#: kjsembed/qobject_binding.cpp:411 +#, fuzzy, kde-format +#| msgctxt "concatenation of dates and time" +#| msgid "%1 %2" +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1 %2" + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Fela cësniãcô do %1 wôrtnotë z Ôrtu %2 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Felëje pòłóżenié menu '%1'." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "Wëwòłanié metodë '%1' nie darzëło sã, ni mòże pòbrac argùmenta %2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Felëje sparłączenié z %1." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Ni mòże zbùdowac wôrtnotë" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Felëją argùmentë." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Ni mòże ùsôdzec Akcji." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Ni mòże ùsôdzëc GrëpëAkcji." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Felëje miono klasë" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Nie mòże ùsôdzëc Ùkładu." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Felëje miono klasë." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Ni mòże ùsôdzëc lopka Widżetu." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Ni mòże òtemknąc lopka '%1': %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Ni jidze wladowac lopka '%1'" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "%1 nie je pòprôwnëm QWidget" + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Mùszisz pòdac miono Widżeta." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Lëchô òbsłëgô slota: Òbiekt :%1 Identifikatora :%2 Metoda %3 Signatura: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Wëjimczi przë òdwòłaniu %1 z %2:%3:%4" diff --git a/po/cy/kjsembed5.po b/po/cy/kjsembed5.po new file mode 100644 index 0000000..1791b2b --- /dev/null +++ b/po/cy/kjsembed5.po @@ -0,0 +1,267 @@ +# Cyfieithiad o kdelibs4.po i Cymraeg +# translation of kdelibs4.po to Cymraeg +# Translation of kdelibs4.po to Cymraeg +# Translation of clearfuzzytest.po to Cymraeg +# translation of clearfuzzytest.po to Cymraeg +# translation of clearfuzzy.po to Cymraeg +# KDE yn Gymraeg. +# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. +# www.kyfieithu.co.uk , 2003. +# Kgyfieithu , 2003. +# KGyfieithu , 2003. +# KD at KGyfieithu , 2003, 2004. +# Kyfieithu , 2004. +# Kevin Donnelly , 2005. +# +# +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2005-01-28 17:54+0000\n" +"Last-Translator: Kevin Donnelly \n" +"Language-Team: Cymraeg\n" +"Language: cy\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.9\n" +"\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "" + +#: kjsembed/builtins.cpp:120 +#, fuzzy, kde-format +msgid "File %1 not found." +msgstr "Methu darganfod yr ardull %1\n" + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "" + +#: kjsembed/builtins.cpp:137 +#, fuzzy, kde-format +#| msgid "Alt" +msgid "Alert" +msgstr "Arall (Alt)" + +#: kjsembed/builtins.cpp:147 +#, fuzzy, kde-format +#| msgid "Configure" +msgid "Confirm" +msgstr "Ffurfweddu" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "" + +#: kjsembed/fileio.cpp:69 +#, fuzzy, kde-format +msgid "Could not open file '%1'" +msgstr "" +"Methu agor rhaglengell '%1'.\n" +"%2" + +#: kjsembed/fileio.cpp:106 +#, fuzzy, kde-format +msgid "Could not create temporary file." +msgstr "Methu creu'r ffeil newydd." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "" + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, fuzzy, kde-format +msgid "%1 is not an Object type" +msgstr "Nid yw'r sail yn wrthrych" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "" + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "" + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "" + +#: kjsembed/qformbuilder_binding.cpp:56 +#, fuzzy, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Gwall wrth lwytho'r modiwl." + +#: kjsembed/qformbuilder_binding.cpp:64 +#, fuzzy, kde-format +msgid "Could not read file '%1'" +msgstr "Methu canfod gwasanaeth '%1'." + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "" + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "" + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "" + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "" + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "" + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "" + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "" +msgstr[1] "" + +#: kjsembed/qobject_binding.cpp:410 +#, fuzzy, kde-format +#| msgid "There is no resource available!" +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "Nid oes adnodd ar gael.!" +msgstr[1] "Nid oes adnodd ar gael.!" + +#: kjsembed/qobject_binding.cpp:411 +#, fuzzy, kde-format +#| msgctxt "concatenation of dates and time" +#| msgid "%1 %2" +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1 %2" + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "" + +#: kjsembed/qobject_binding.cpp:660 +#, fuzzy, kde-format +msgid "No such method '%1'." +msgstr "Dim eitem dewislen '%1'." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "" + +#: kjsembed/qobject_binding.cpp:726 +#, fuzzy, kde-format +msgid "Call to '%1' failed." +msgstr "Methodd yr arsefydlu." + +#: kjsembed/qobject_binding.cpp:792 +#, fuzzy, kde-format +msgid "Could not construct value" +msgstr "Methu llwytho'r ffeil." + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "" + +#: kjsembed/quiloader_binding.cpp:67 +#, fuzzy, kde-format +msgid "Failed to create Action." +msgstr "Ffeil i ddarllen cyfarwyddiadau diweddaru oddiwrtho." + +#: kjsembed/quiloader_binding.cpp:81 +#, fuzzy, kde-format +msgid "Failed to create ActionGroup." +msgstr "Ffeil i ddarllen cyfarwyddiadau diweddaru oddiwrtho." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "" + +#: kjsembed/quiloader_binding.cpp:97 +#, fuzzy, kde-format +msgid "Failed to create Layout." +msgstr "Wedi methu creu ffeil i lanlwytho." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "" + +#: kjsembed/quiloader_binding.cpp:114 +#, fuzzy, kde-format +msgid "Failed to create Widget." +msgstr "Wedi methu creu ffeil i lanlwytho." + +#: kjsembed/quiloader_binding.cpp:128 +#, fuzzy, kde-format +msgid "Could not open file '%1': %2" +msgstr "" +"Methu agor rhaglengell '%1'.\n" +"%2" + +#: kjsembed/quiloader_binding.cpp:136 +#, fuzzy, kde-format +msgid "Failed to load file '%1'" +msgstr "Methu llwytho adnodd '%1'" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "" + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "" + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "" diff --git a/po/da/kjsembed5.po b/po/da/kjsembed5.po new file mode 100644 index 0000000..1438755 --- /dev/null +++ b/po/da/kjsembed5.po @@ -0,0 +1,249 @@ +# translation of kdelibs4.po to +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Martin Schlander , 2008, 2009, 2010, 2011, 2012, 2013. +# Keld Simonsen , 2010. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2013-11-06 19:33+0100\n" +"Last-Translator: Martin Schlander \n" +"Language-Team: Danish \n" +"Language: da\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.5\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Fejl opstod under behandling af inkluderingsfilen \"%1\", linje %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "inkluderingsfil accepterer kun 1 argument, ikke %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Filen %1 blev ikke fundet." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "bibliotek accepterer kun 1 argument, ikke %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Alarm" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Bekræft" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" +"Dårlig hændelseshåndtering: Objekt %1 Identificering %2 Metode %3 Type: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Undtagelse ved kald af \"%1\"-funktion fra %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Kunne ikke åbne filen \"%1\"" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Kunne ikke oprette midlertidig fil." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 er ikke en funktion og kan ikke kaldes." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 er ikke en objekttype" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Handling accepterer 2 arg." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup accepterer 2 arg." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Gyldig forælder skal angives." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Der opstod en fejl ved læsning af filen \"%1\"" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Kunne ikke læse filen \"%1\"" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Filnavn skal angives." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "\"%1\" er ikke et gyldigt QLayout." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Skal angive et layout-navn." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Forkert objekttype." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Første argument skal være et QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Ukorrekt antal af argumenter." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Slotten bad om %1 argument" +msgstr[1] "Slotten bad om %1 argumenter" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "men der er kun %1 tilgængelig" +msgstr[1] "men der er kun %1 tilgængelige" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Fejl under kast til %1 værdi fra typen %2 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Ingen sådan metode \"%1\"." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "Kald af metoden \"%1\" fejlede, kan ikke hente argument %2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Kald af \"%1\" fejlede." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Kunne ikke konstruere værdi" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Ikke nok argumenter." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Kunne ikke oprette handling." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Kunne ikke oprette ActionGroup." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Intet klassenavn angivet" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Kunne ikke oprette layout." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Intet klassenavn angivet." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Kunne ikke oprette kontrol." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Kunne ikke åbne filen \"%1\": %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Kunne ikke indlæse filen \"%1\"" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "\"%1\" er ikke en gyldig QWidget." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Kontrolnavn skal angives." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Dårlig slot-håndtering: Objekt %1 Identificering %2 Metode %3 Signatur: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Undtagelse ved kald af \"%1\"-slot fra %2:%3:%4" diff --git a/po/de/docs/kjscmd5/man-kjscmd5.1.docbook b/po/de/docs/kjscmd5/man-kjscmd5.1.docbook new file mode 100644 index 0000000..d40e541 --- /dev/null +++ b/po/de/docs/kjscmd5/man-kjscmd5.1.docbook @@ -0,0 +1,176 @@ + + +]> + + + + +kjscmd5-Benutzerhandbuch + + + +Harri Porten
    porten@kde.org
    +
    +
    + +2015-07-31 +Frameworks 5.13 +KDE Frameworks + +
    + + +kjscmd5 +1 + + + +kjscmd5 +&frameworks;-KJSEmbed-Interpreter + + + +Übersicht + +kjscmd5 --help -e --exec -i -interactive file + + + +Beschreibung + +kjscmd5 ist ein Dienstprogramm zum Laden von KJSEmbed-Skripten von der Befehlszeile aus. Es wird das Skript in der angegebenen Datei file mit KJSEmbed ausführen. Die Standard-Eingabe (stdin) kann nicht als Skriptquelle anstelle von file verwendet werden. + + + +Anwendungsoptionen + + + +, + +Führt das Skript in der Datei file ohne Unterstützung für eine grafische Oberfläche aus. + + + + +, + +Startet einen interaktiven kjs-Interpreter. + + + + + + + + +Benutzung +Der meist genutzte Aufruf von kjscmd5 ist ganz einfach: kjscmd5 file. Falls der Parameter file weggelassen wird, wird ein vorgefertigtes Testskript ausgeführt, welches die Startgeschwindigkeit von kjscmd5 misst. + + + +Siehe auch +kjs5(1) + + + +Fehler +Bitte berichten Sie Fehler im Fehlerverfolgungssystem von &kde;. + + +
    + + + diff --git a/po/de/kjsembed5.po b/po/de/kjsembed5.po new file mode 100644 index 0000000..5ffad53 --- /dev/null +++ b/po/de/kjsembed5.po @@ -0,0 +1,256 @@ +# Thomas Diehl , 2002, 2003, 2004, 2005. +# Stefan Winter , 2004. +# Thomas Fischer , 2004. +# Stephan Johach , 2004, 2005, 2006, 2007. +# Georg Schuster , 2005. +# Thomas Reitelbach , 2005, 2006, 2007, 2008, 2009. +# Burkhard Lück , 2006, 2007, 2009, 2010, 2011, 2012, 2013, 2014. +# Frederik Schwarzer , 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2016. +# Johannes Obermayr , 2010. +# Panagiotis Papadopoulos , 2010. +# Rolf Eike Beer , 2012. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2016-02-14 16:16+0100\n" +"Last-Translator: Frederik Schwarzer \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "" +"Beim Verarbeiten von include „%1“ Zeile %2 ist ein Fehler aufgetreten: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "include erfordert nur 1 Parameter, nicht %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Die Datei %1 kann nicht gefunden werden." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "die Bibliothek benötigt nur einen Parameter, nicht %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Warnung" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Bestätigen" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" +"Fehlerhafter Ereignis-Handler: Objekt %1 Bezeichner %2 Methode %3 Typ: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Ausnahme beim Aufruf von Funktion „%1“ von %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Die Datei „%1“ kann nicht geöffnet werden" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Die temporäre Datei kann nicht angelegt werden." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 ist keine Funktion und kann nicht aufgerufen werden." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 ist kein Objekt-Type" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Action erfordert 2 Parameter." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup erfordert 2 Parameter." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Sie müssen einen gültigen Parent bereitstellen." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Beim Lesen der Datei „%1“ ist ein Fehler aufgetreten" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Die Datei „%1“ kann nicht gelesen werden" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Sie müssen einen Dateinamen angeben." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "„%1“ ist kein gültiges QLayout." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Sie müssen einen Namen für das Layout angeben." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Falscher Objekt-Typ" + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Der erste Parameter muss ein QObject sein." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Falsche Anzahl Argumente." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Der Slot erfordert %1 Argument" +msgstr[1] "Der Slot erfordert %1 Argumente" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "aber es ist nur %1 verfügbar." +msgstr[1] "aber es sind nur %1 verfügbar." + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Fehler bei der Umwandlung von Typ %2 (%3) nach %1" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Es gibt keine Methode „%1“." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "" +"Der Aufruf von Methode „%1“ ist fehlgeschlagen. Parameter %2 ist nicht " +"verfügbar: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Der Aufruf von „%1“ ist fehlgeschlagen." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Der Wert kann nicht angelegt werden" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Es fehlen Parameter." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Die Action kann nicht angelegt werden." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Die ActionGroup kann nicht angelegt werden." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Kein Klassen-Name angegeben" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Das Layout kann nicht angelegt werden." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Kein Klassen-Name angegeben." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Das Widget kann nicht erzeugt werden." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Datei „%1“ kann nicht geöffnet werden: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Die Datei „%1“ kann nicht geladen werden" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "„%1“ ist kein gültiges QWidget" + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Sie müssen einen Widget-Namen angeben." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Fehlerhafter Slot-Handler: Objekt %1 Bezeichner %2 Methode %3 Signatur: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Ausnahme beim Aufruf von Slot „%1“ von %2:%3:%4" diff --git a/po/el/kjsembed5.po b/po/el/kjsembed5.po new file mode 100644 index 0000000..d0de70a --- /dev/null +++ b/po/el/kjsembed5.po @@ -0,0 +1,262 @@ +# translation of kdelibs4.po to Greek +# translation of kdelibs4.po to +# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# Last MAJOR revision (whole file) (29-03-2003 - Stergios Dramis). +# +# Dimitris Kamenopoulos , 2000-2002. +# Stergios Dramis , 2002-2004. +# Κώστας Μπουκουβάλας , 2005. +# Spiros Georgaras , 2005, 2006, 2007, 2008. +# Toussis Manolis , 2006, 2007, 2008, 2009. +# Spiros Georgaras , 2007, 2008. +# Σπύρος Γεωργαράς , 2008. +# Petros , 2009. +# Petros Vidalis , 2010, 2011. +# Dimitrios Glentadakis , 2010, 2011, 2012, 2013, 2014. +# nikos, 2011. +# Stelios , 2012, 2013. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2014-01-04 09:52+0100\n" +"Last-Translator: Dimitrios Glentadakis \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Βρέθηκε σφάλμα κατά την επεξεργασία της ενσωμάτωσης '%1' γραμμή %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "Η ενσωμάτωση δέχεται 1 όρισμα, όχι %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Το αρχείο %1 δε βρέθηκε." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "Η βιβλιοθήκη δέχεται 1 όρισμα, όχι %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Συναγερμός" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Επιβεβαίωση" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" +"Λάθος χειριστής γεγονότος: αντικείμενο %1 αναγνωριστικό %2 μέθοδος %3 τύπος: " +"%4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Εξαίρεση κατά την κλήση της συνάρτησης '%1' από %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Δεν ήταν δυνατό το άνοιγμα του αρχείου '%1'" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Δεν ήταν δυνατή η δημιουργία προσωρινού αρχείου." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "Το %1 δεν αποτελεί μια συνάρτηση και δεν μπορεί να κληθεί." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "Το %1 δεν είναι τύπος αντικειμένου" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Η ενέργεια δέχεται 2 παραμέτρους." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "Η ομάδα ενεργειών δέχεται 2 παραμέτρους." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Πρέπει να δοθεί ένας έγκυρος γονέας." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Υπήρξε ένα σφάλμα κατά την ανάγνωση του αρχείου '%1'" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Αδυναμία ανάγνωσης του αρχείου '%1'" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Πρέπει να δοθεί ένα όνομα αρχείου." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "το '%1' δεν είναι ένα έγκυρο QLayout." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Πρέπει να δίνεται ένα όνομα διάταξης." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Λάθος τύπος αντικειμένου." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Το πρώτο όρισμα πρέπει να είναι ένα QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Λανθασμένος αριθμός ορισμάτων." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Η υποδοχή που ζητήθηκε για %1 όρισμα" +msgstr[1] "Η υποδοχή που ζητήθηκε για %1 ορίσματα" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "αλλά υπάρχει μόνο %1 διαθέσιμη" +msgstr[1] "αλλά υπάρχουν μόνο %1 διαθέσιμη" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Αποτυχία θέσης στην τιμή %1 από τύπο %2 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Δεν υπάρχει μέθοδος '%1'." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "Αποτυχία κλήσης της μεθόδου '%1', αδυναμία λήψης του ορίσματος %2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Αποτυχία κλήση '%1'." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Αδυναμία κατασκευής τιμής" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Μη επαρκείς ορίσματα." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Αποτυχία δημιουργίας ενέργειας." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Αποτυχία δημιουργίας ομάδας ενεργειών." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Δεν καθορίστηκε όνομα κλάσης" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Αποτυχία δημιουργίας διάταξης." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Δεν καθορίστηκε όνομα κλάσης." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Αποτυχία δημιουργίας γραφικού συστατικού." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Δεν ήταν δυνατό το άνοιγμα του αρχείου '%1': %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Αποτυχία φόρτωσης του αρχείου '%1'" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "Το '%1' δεν είναι ένα έγκυρο QWidget." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Πρέπει να δοθεί ένα όνομα γραφικού συστατικού." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Λάθος χειριστής υποδοχής: αντικείμενο %1 αναγνωριστικό %2 μέθοδος %3 " +"υπογραφή: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Εξαίρεση κατά την κλήση της υποδοχής '%1' από %2:%3:%4" diff --git a/po/en_GB/kjsembed5.po b/po/en_GB/kjsembed5.po new file mode 100644 index 0000000..853da14 --- /dev/null +++ b/po/en_GB/kjsembed5.po @@ -0,0 +1,245 @@ +# translation of kdelibs4.po to British English +# Malcolm Hunter , 2002,2003,2004, 2005, 2006, 2007, 2008, 2009. +# Jonathan Riddell , 2003. +# Andrew Coles , 2004, 2005, 2009, 2010. +# Steve Allewell , 2014. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2010-12-14 12:18+0000\n" +"Last-Translator: Andrew Coles \n" +"Language-Team: British English \n" +"Language: en_GB\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Error encountered while processing include '%1' line %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "include only takes 1 argument, not %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "File %1 not found." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "library only takes 1 argument, not %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Alert" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Confirm" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Exception calling '%1' function from %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Could not open file '%1'" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Could not create temporary file." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 is not a function and cannot be called." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 is not an Object type" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Action takes 2 args." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup takes 2 args." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Must supply a valid parent." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "There was an error reading the file '%1'" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Could not read file '%1'" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Must supply a filename." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' is not a valid QLayout." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Must supply a layout name." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Wrong object type." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "First argument must be a QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Incorrect number of arguments." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "The slot asked for %1 argument" +msgstr[1] "The slot asked for %1 arguments" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "but there is only %1 available" +msgstr[1] "but there are only %1 available" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Failure to cast to %1 value from Type %2 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "No such method '%1'." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "Call to method '%1' failed, unable to get argument %2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Call to '%1' failed." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Could not construct value" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Not enough arguments." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Failed to create Action." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Failed to create ActionGroup." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "No classname specified" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Failed to create Layout." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "No classname specified." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Failed to create Widget." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Could not open file '%1': %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Failed to load file '%1'" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' is not a valid QWidget." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Must supply a widget name." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Exception calling '%1' slot from %2:%3:%4" diff --git a/po/eo/kjsembed5.po b/po/eo/kjsembed5.po new file mode 100644 index 0000000..31ff8b8 --- /dev/null +++ b/po/eo/kjsembed5.po @@ -0,0 +1,256 @@ +# translation of kdelibs4.po to Esperanto +# Esperantaj mesaĝoj por "kdelibs" +# Copyright (C) 1998,2002, 2003, 2004, 2005, 2007, 2008 Free Software Foundation, Inc. +# +# Minuskloj: ĉ ĝ ĵ ĥ ŝ ŭ Majuskloj: Ĉ Ĝ Ĵ Ĥ Ŝ Ŭ +# +# Wolfram Diestel , 1998. +# Heiko Evermann , 2002, 2003. +# Matthias Peick , 2004, 2005. +# Oliver Kellogg ,2007. +# Cindy McKee , 2007, 2008. +# Axel Rousseau , 2009. +# Michael Moroni , 2012. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2012-05-22 12:30+0200\n" +"Last-Translator: Michael Moroni \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Vidis eraron dum procezado de anigu '%1' linio %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "anigu nur prenas 1 argumenton, ne %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Dosiero %1 ne troviĝis." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "biblioteko nur prenas 1 argumenton, ne %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Averto" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Konfirmi" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "Malbona eventotraktilo: Objekto %1 Identigilo %2 Metodo %3 Tipo: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Escepto dum voko de '%1' funkcio el %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Ne eblis malfermi dosieron '%1'" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Ne eblis krei labordosieron." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 ne estas funkcio, do ne povas esti vokita." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 ne estas objektotipo" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Ago prenas 2 argumentojn." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "AgoGrupo prenas 2 argumentojn." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Devas doni validan patron." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Eraro okazis dum legado de la dosiero '%1'" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Ne eblis legi dosieron '%1'" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Devas doni dosiernomon." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' ne estas valida QLayout." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Devas doni aranĝan nomon." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Malĝusta objekta tipo." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Unua argumento devas esti QObjekto." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Malĝusta nombro de argumentoj." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "" +msgstr[1] "" + +#: kjsembed/qobject_binding.cpp:410 +#, fuzzy, kde-format +#| msgid "There is no matching item available.\n" +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "Ne ekzistas kongrua ero.\n" +msgstr[1] "Ne ekzistas kongrua ero.\n" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Malsukcesis sendi al %1 valoron de tipo %2 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Neniu metodo '%1'." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "Voko al metodo '%1' malsukcesis, ne povas ricevi argumenton %2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Voko al '%1' fiaskis." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Ne eblis konstrui valoron" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Ne sufiĉe de argumentoj." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Ne eblis krei agon." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Ne eblis krei AgoGrupon." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Ne difinis klasonomon" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Ne eblis krei aranĝon." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Ne difinis klasonomon." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Ne eblis krei fenestraĵon." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Ne eblis malfermi dosieron '%1': %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Ne eblis ŝargi dosieron '%1'" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' ne estas valida QWidget." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Devas doni nomon por la fenestraĵo." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Malbona fakotraktilo: Objekto %1 Identigilo %2 Metodo %3 Subskribo: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Escepto dum voko de '%1' fako el %2:%3:%4" diff --git a/po/es/docs/kjscmd5/man-kjscmd5.1.docbook b/po/es/docs/kjscmd5/man-kjscmd5.1.docbook new file mode 100644 index 0000000..ecf4d29 --- /dev/null +++ b/po/es/docs/kjscmd5/man-kjscmd5.1.docbook @@ -0,0 +1,176 @@ + + +]> + + + + +Manual del usuario de kjscmd5 + + + +Harri Porten
    porten@kde.org
    +
    +
    + +2015-07-31 +Frameworks 5.13 +KDE Frameworks + +
    + + +kjscmd5 +1 + + + +kjscmd5 +Intérprete de KJSEmbed de &frameworks; + + + +Resumen + +kjscmd5 --help -e --exec -i -interactive archivo + + + +Descripción + +kjscmd5 es una herramienta para lanzar scripts de KJSEmbed desde la línea de ordenes. Ejecutará los scripts contenidos en el file especificado utilizando KJSEmbed. No se permite (stdin) como file. + + + +Opciones de la aplicación + + + +, + +ejecuta un guion en file sin usar la interfaz gráfica de usuario. + + + + +, + +inicia el interprete interactivo de kjs. + + + + + + + + +Utilización +El modo más habitual para ejecutar kjscmd5 es sencillamente +kjscmd5 file + + Si no se usa el parámetro file, ejecuta un script de prueba predeterminado que mide la velocidad de inicio de kjscmd5. + + + +Vea también +kjs5(1) + + + +Fallos +Use la herramienta de seguimiento de fallos de &kde; para informar de fallos. + + +
    + + + diff --git a/po/es/kjsembed5.po b/po/es/kjsembed5.po new file mode 100644 index 0000000..fd1b82b --- /dev/null +++ b/po/es/kjsembed5.po @@ -0,0 +1,260 @@ +# translation of kdelibs4.po to Spanish +# Translation of kdelibs4 to Spanish +# Copyright (C) 2000-2007 +# +# Pablo de Vicente , 2000-2002,2003, 2004. +# Pablo de Vicente , 2003. +# Pablo de Vicente , 2004, 2005. +# Eloy Cuadra , 2005, 2007, 2008, 2009, 2010, 2011, 2012, 2013. +# Pablo de Vicente , 2005, 2006, 2007. +# Enrique Matias Sanchez (aka Quique) , 2007. +# Jaime Robles , 2007. +# Javier Viñal , 2013. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2013-10-19 20:45+0200\n" +"Last-Translator: Eloy Cuadra \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"First-Translator: Boris Wesslowski \n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "" +"Se ha producido un error mientras se procesaba include «%1» línea %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "include solo tiene 1 argumento, no %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "No se encontró el archivo %1." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "la biblioteca solamente tiene 1 argumento, no %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Alertar" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Confirmar" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" +"Manejador de eventos no válido: Objeto %1 Identificador %2 Método %3 Tipo: " +"%4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Excepción al llamar a la función «%1» desde %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "No fue posible abrir el archivo «%1»" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "No fue posible crear el archivo temporal." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 no es una función y no se la puede llamar." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 no es de tipo objeto" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Action requiere 2 argumentos." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup requiere 2 argumentos." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Debe proporcionar un objeto padre válido." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Se produjo un error al leer el archivo «%1»" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "No fue posible leer el archivo «%1»" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Debe proporcionar un nombre de archivo." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "«%1» no es una QLayout válida." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Debe proporcionar un nombre de disposición." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Tipo de objeto incorrecto." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "El primer argumento debe ser un QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Número incorrecto de argumentos." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "El slot pidió %1 argumento" +msgstr[1] "El slot pidió %1 argumentos" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "pero solo hay %1 disponible" +msgstr[1] "pero solo hay %1 disponibles" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "No fue posible convertir a %1 un valor de tipo %2 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "No existe ese método «%1»." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "" +"La llamada al método «%1» ha fallado, no se puede obtener el argumento %2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "La llamada a «%1» falló." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "No fue posible construir el valor" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "No hay suficientes argumentos." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "La creación de la «Action» ha fallado." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "La creación de la «ActionGroup» ha fallado." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "No se ha indicado ningún nombre de clase" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "La creación del «Layout» ha fallado." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "No se ha indicado ningún nombre de clase." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "La creación del elemento gráfico ha fallado." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "No fue posible abrir el archivo «%1»: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "La carga del archivo «%1» ha fallado" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "«%1» no es un QWidget válido." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Debe proporcionar un nombre de elemento gráfico." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Manejador de «slots» no válido: Objeto %1 Identificador %2 Método %3 Firma: " +"%4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Excepción al llamar al slot «%1» desde %2:%3:%4" diff --git a/po/et/kjsembed5.po b/po/et/kjsembed5.po new file mode 100644 index 0000000..6810ed6 --- /dev/null +++ b/po/et/kjsembed5.po @@ -0,0 +1,251 @@ +# translation of kdelibs4.po to Estonian +# Copyright (C) 1999-2004, 2005, 2006, 2009 Free Software Foundation, Inc. +# +# Hasso Tepper , 1999-2004, 2005, 2006. +# Marek Laane , 2003-2009. +# Peeter Russak , 2005. +# Marek Laane , 2009, 2010, 2011, 2012, 2014. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2014-03-02 04:37+0200\n" +"Last-Translator: Marek Laane \n" +"Language-Team: Estonian \n" +"Language: et\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Nähti viga päise '%1' rea %2 töötlemisel: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "päis nõuab ainult 1 argumenti, mitte %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Faili %1 ei leitud." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "teek nõuab ainult 1 agrumenti, mitte %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Hoiatus" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Kinnitus" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" +"Halb sündmuse käitleja: objekt %1 identifikaator %2 meetod %3 tüüp: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Erind '%1' funktsiooni väljakutsumisel %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Faili '%1' avamine nurjus" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Ajutise faili loomine nurjus." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 ei ole funktsioon ja seda ei saa välja kutsuda." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 ei ole objekti tüüp" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Action nõuab 2 argumenti." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup nõuab 2 argumenti." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Tuleb anda korrektne eellane." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Faili '%1' lugemisel tekkis viga" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Faili '%1' lugemine nurjus" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Tuleb anda failinimi." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' ei ole korrektne QLayout." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Tuleb anda paigutuse nimi." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Vale objekti tüüp." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Esimene argument peab olema QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Vigane argumentide arv." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Pesa soovis %1 argumenti" +msgstr[1] "Pesa soovis %1 argumenti" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "aga ainult %1 on saadaval" +msgstr[1] "aga ainult %1 on saadaval" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "%1 väärtuse määramine tüübiga %2 (%3) nurjus" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Meetodit '%1' ei ole olemas." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "" +"Meetodi '%1' väljakutsumine nurjus, ei suudetud hankida argumenti %2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "'%1' väljakutsumine nurjus." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Väärtuse konstrueerumine nurjus" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Argumente napib." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Action'i loomine nurjus." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "ActionGroup'i loomine nurjus." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Klassinime pole määratud" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Layout'i loomine nurjus." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Klassinime pole määratud." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Widget'i loomine nurjus." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Faili '%1' avamine nurjus: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Faili '%1' laadimine nurjus" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' ei ole korrektne QWidget." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Tuleb anda vidina nimi." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Halb pesa käitleja: objekt %1 identifikaator %2 meetod %3 signatuur: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Erind '%1' pesa väljakutsumisel %2:%3:%4" diff --git a/po/eu/kjsembed5.po b/po/eu/kjsembed5.po new file mode 100644 index 0000000..7020438 --- /dev/null +++ b/po/eu/kjsembed5.po @@ -0,0 +1,255 @@ +# translation of kdelibs4.po to Euskara/Basque (eu) +# KDE: EUSKERA TRANSLATION +# Copyright (C) 1999,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011, Free Software Foundation, Inc. +# +# Marcos , 2002,2003, 2004, 2005. +# Ion Gaztañaga , 2005. +# marcos , 2006, 2007, 2008, 2009, 2010. +# Iñaki Larrañaga Murgoitio , 2009. +# Iñigo Salvador Azurmendi , 2010, 2011, 2012, 2013, 2014. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2014-03-02 19:49+0100\n" +"Last-Translator: Iñigo Salvador Azurmendi \n" +"Language-Team: Basque \n" +"Language: eu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Erroreak aurkitu dira '%1' include-a prozesatzean, %2 lerroa: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "include-ak argumentu 1 bakarrik hartzen du, ez %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Ez da %1 fitxategia aurkitu." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "liburutegiak argumentu 1 bakarrik hartzen du, ez %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Kontuz" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Berretsi" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" +"Gertaeren okerreko kudeatzailea: %1 objektua, %2 identifikatzailea, %3 " +"metodoa, %4 mota." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Salbuespena '%1' funtzioari hemendik deitzean: %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Ezin izan da '%1' fitxategia ireki" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Ezin izan da aldi bateko fitxategi sortu." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 ez da funtzio bat eta ezin da deitu." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 ez da objektu bat" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Ekintzak 2 argumentu behar ditu." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup 2 argumentu behar ditu." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Baliozko guraso bat eman behar da." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Errorea gertatu da '%1' fitxategia irakurtzean." + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Ezin da '%1' fitxategia irakurri." + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Fitxategi-izena sartu behar duzu." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' ez da QLayout balioduna." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Diseniuaren izena eman behar da." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Objektu mota okerra" + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Aurreneko argumentua QObject bat izan behar du." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Baliogabeko argumentu kopurua." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "«slot»ak argumentu %1 eskatu du" +msgstr[1] "«slot»ak %1 argumentu eskatu ditu" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "baino soilik %1 dago eskuragarri" +msgstr[1] "baino soilik %1 daude eskuragarri" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Huts egin du %1 balioa %2 motatik bihurtzean (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "'%1' metodorik ez dago." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "" +"Huts egin du '%1' metodora deitzean. Ezin du %2 argumentua eskuratu: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "'%1'-ri deiak huts egin du." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Ezin sortu balioa" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Ez dago argumentu nahikorik." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Errorea ekintza sortzean." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Errorea ActionGroup sortzean." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Ez da klase-izenik zehaztu" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Errorea diseinua sortzean." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Ez da klase-izenik zehaztu." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Errorea Widget sortzean." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Ezin izan da '%1' fitxategia ireki: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Errorea '%1' fitxategia kargatzean" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' ez da trepeta balioduna." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Trepetaren izena eman behar da." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Erretenaren okerreko kudeatzailea: %1 objektua, %2 identifikatzailea, %3 " +"metodoa, %4 sinadura." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Salbuespena '%1' erretenari hemendik deitzean: %2:%3:%4" diff --git a/po/fa/kjsembed5.po b/po/fa/kjsembed5.po new file mode 100644 index 0000000..6490d13 --- /dev/null +++ b/po/fa/kjsembed5.po @@ -0,0 +1,249 @@ +# translation of kdelibs4.po to Persian +# Nazanin Kazemi , 2006, 2007. +# Mahdi Foladgar , 2006. +# Nasim Daniarzadeh , 2006, 2007. +# Tahereh Dadkhahfar , 2006. +# MaryamSadat Razavi , 2007. +# Nooshin Asiaie , 2007. +# Mohamad Reza Mirdamadi , 2009, 2010, 2011, 2012. +# Mohi Mirdamadi , 2014. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2014-07-11 15:12+0430\n" +"Last-Translator: Mohi Mirdamadi \n" +"Language-Team: Farsi (Persian) \n" +"Language: fa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "در هنگام پردازشی که شامل «%1» خط %2: %3 است خطایی رخ داد" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "include فقط ۱ نشانوند می‌گیرد، نه %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "پرونده %1 یافت نشد." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "کتابخانه فقط ۱ نشانوند می‌گیرد، نه %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "اخطار" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "تصدیق" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "گرداننده رویداد بد: شیء %1 شناسه %2 روش %3 نوع %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "فراخوانی استثنای تابع »%1« از %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "پرونده »%1« را نتوانست باز کند." + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "نتوانست پرونده موقت را ایجاد کند." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 تابع نیست و نمی‌تواند فراخوانی شود." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1، یک نوع شیء نیست" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "کنش، ۲ نشانوند می‌گیرد." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "گروه کنش، ۲ نشانوند می‌گیرد." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "باید پدر معتبری فراهم شود." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "یک خطای خواندن پرونده »%1« وجود داشت." + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "نتوانست پرونده »%1« را بخواند" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "باید نام پرونده‌ای فراهم شود." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "»%1« QLayout معتبری نیست." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "باید نام طرح‌بندی فراهم شود." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "نوع شیء نادرست." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "اولین نشانوند باید QObject باشد." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "تعداد نادرست نشاوندها." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "اما فقط %1 در دسترس است" + +# %1 %2 +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1، %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "ناموفق در از نوع %2 به قالب %1 در آوردن (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "چنین روش »%1« وجود ندارد." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "خرابی در فراخوانی »%1«، قادر به گرفتن نشانوند %2 نیست: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "خرابی در فراخوانی »%1«." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "نتوانست مقدار را ایجاد کند" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "نشانوند کافی نیست." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "خرابی در ایجاد کنش." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "خرابی در ایجاد ActionGroup." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "نام رده مشخص نشد" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "خرابی در ایجاد طرح‌بندی." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "نام رده مشخص نشد." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "خرابی در ایجاد عنصر." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "نتوانست پرونده »%1« باز کند: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "خرابی در بارگذاری پرونده »%1«" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "»%1« QWidget معتبری نیست." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "باید نام عنصری فراهم شود." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "گرداننده بد شکاف: شیء %1 شناسه %2 روش %3 امضا: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "فراخوانی استثنای شکاف »%1« از %2:%3:%4" diff --git a/po/fi/kjsembed5.po b/po/fi/kjsembed5.po new file mode 100644 index 0000000..ecb479a --- /dev/null +++ b/po/fi/kjsembed5.po @@ -0,0 +1,267 @@ +# Finnish messages for kdelibs4. +# Copyright © 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 This_file_is_part_of_KDE +# This file is distributed under the same license as the kdelibs package. +# Kim Enkovaara , 2002,2003, 2005, 2006, 2007. +# Tapio Kautto , 2003, 2004. +# Mikko Ikola , 2003. +# Teemu Rytilahti , 2003, 2008. +# Mikko Ikola , 2003. +# Teemu Rytilahti , 2003, 2004, 2008. +# Niklas Laxström , 2006, 2007. +# Joonas Niilola , 2006. +# Mikko Piippo , 2007. +# Teemu Rytilahti , 2008. +# Tommi Nieminen , 2009, 2010, 2011. +# Jorma Karvonen , 2010. +# Lasse Liehu , 2006, 2010, 2011, 2012, 2013, 2014, 2015. +# +# KDE Finnish translation sprint participants: +# Author: Artnay +# Author: Jl +# Author: Lliehu +# Author: Niklas Laxström +# Author: Suhviksi +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2014-03-24 21:09+0200\n" +"Last-Translator: Lasse Liehu \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 1.5\n" +"X-POT-Import-Date: 2013-01-13 20:43:21+0000\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Tapahtui virhe käsitellessä include-komentoa '%1' rivillä %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "include ottaa vain yhden parametrin, ja %1 annettiin." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Tiedostoa %1 ei löytynyt." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "kirjasto ottaa vain yhden argumentin, ei %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Hälytä" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Vahvista" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" +"Väärä tapahtumakäsittelijä: Objekti %1 Tunnistin %2 Metodi %3 Tyyppi: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Poikkeus kutsuu '%1'-funktiota kohteesta %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Tiedoston %1 avaaminen epäonnistui" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Väliaikaistiedoston luominen epäonnistui." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 ei ole funktio ja sitä ei voida kutsua." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 ei ole objektityyppi" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Action tarvitsee kaksi parametriä." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup tarvitsee kaksi parametriä." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Täytyy tarjota kelvollinen ylätaso." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Luettaessa tiedostoa \"%1\" tapahtui virhe" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Tiedostoa \"%1\" ei voitu lukea" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Tiedostonimi on annettava." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "”%1” ei ole kelvollinen QLayout." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Täytyy tarjota ulkoasunimi." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Väärä objektityyppi." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Ensimmäisen parametrin täytyy olla QObject-tyyppinen." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Väärä määrä parametrejä." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Väli kysyi %1 argumentin" +msgstr[1] "Väli kysyi %1 argumenttia" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "mutta tarjolla on vain %1" +msgstr[1] "mutta tarjolla on vain %1" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Virhe tyyppimuunnoksessa %1-arvoon tyypistä %2 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Tuntematon metodi ”%1”." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "Metodin \"%1\" kutsu epäonnistui, ei saatu parametriä %2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Funktion \"%1\" kutsu epäonnistui." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Ei voitu luoda arvoa" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Ei tarpeeksi parametreja." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Action-elementin luonti epäonnistui." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "ActionGroup-elementin luonti epäonnistui." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Luokkanimeä ei ole määriteltynä" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Layout-elementin luonti epäonnistui." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Luokkanimeä ei ole määriteltynä." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Vimpainen luonti epäonnistui." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Tiedoston %1 avaaminen epäonnistui: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Tiedoston %1 lataaminen epäonnistui" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "\"%1\" ei ole kelvollinen QWidget." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Sovelman nimi on annettava." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Väärä välikäsittelijä: Objekti %1 Tunniste %2 Metodi %3 Allekirjoitus: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Poikkeus kutsuu '%1'-väliä kohteesta %2:%3:%4" diff --git a/po/fr/docs/kjscmd5/man-kjscmd5.1.docbook b/po/fr/docs/kjscmd5/man-kjscmd5.1.docbook new file mode 100644 index 0000000..3961982 --- /dev/null +++ b/po/fr/docs/kjscmd5/man-kjscmd5.1.docbook @@ -0,0 +1,176 @@ + + +]> + + + + +Manuel utilisateur de « kjscmd5 » + + + +Harri Porten
    porten@kde.org
    +
    +
    + +31-07-2015 +Environnement de développement 5.13 +Environnement de développement pour KDE + +
    + + +kjscmd5 +1 + + + +kjscmd5 +Interpréteur « KJSEmbed » de l'environnement de développement &frameworks; + + + +Synopsis + +kjscmd5 --help -e --exec -i -interactive file + + + +Description + +kjscmd5 est un outil permettant de lancer des scripts « KJSEmbed » depuis la ligne de commandes. Il exécutera les scripts contenus dans le fichier nommé en utilisant « KJSEmbed ». Il n'accepte pas - (stdin) comme fichier. + + + +Options de l'Application + + + +, + +exécuter le script contenu dans le fichier sans prise en charge d'interface graphique. + + + + +, + +lance l'interpréteur interactif kjs. + + + + + + + + +Utilisation +La façon la plus fréquente de lancer kjscmd5 est simplement de lancer le fichierkjscmd5 + Si aucun paramètre fichier n'est saisi, il exécute le script de test prédéfini permettant de mesurer la vitesse de démarrage dekjscmd5. + + + +Voir Aussi +kjs5(1) + + + +Bogues +Veuillez utiliser le traqueur de bogues pour les signaler. + + +
    + + + diff --git a/po/fr/kjsembed5.po b/po/fr/kjsembed5.po new file mode 100644 index 0000000..87dabf7 --- /dev/null +++ b/po/fr/kjsembed5.po @@ -0,0 +1,268 @@ +# translation of kdelibs4.po to Français +# translation of kdelibs4.po to +# Matthieu Robin , 2002,2003, 2004. +# Robert Jacolin , 2003,2004. +# Gilles Caulier , 2003. +# Gérard Delafond , 2003, 2004. +# Matthieu Robin , 2004, 2005, 2006. +# Cedric Pasteur , 2004. +# Nicolas Ternisien , 2004, 2005, 2006, 2007, 2008. +# Matthieu Robin , 2005. +# Éric Bischoff , 2005. +# Sébastien Renard , 2006, 2007, 2008. +# Anne-Marie Mahfouf , 2007, 2008, 2012. +# Ludovic Grossard , 2008. +# Mickael Sibelle , 2008. +# Nicolas Lécureuil , 2010. +# Joëlle Cornavin , 2007, 2008, 2009, 2010, 2011, 2012, 2013. +# Sebastien Renard , 2013, 2014. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2013-11-01 15:56+0100\n" +"Last-Translator: Sebastien Renard \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 1.5\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "" +"Erreur survenue lors du traitement de l'inclusion « %1 », ligne %2 : %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "L'inclusion ne prend que 1 argument, non %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Il est impossible de trouver le fichier %1." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "la bibliothèque ne prend que 1 argument, non %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Alerter" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Confirmer" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" +"Gestionnaire d'évènements erroné : objet %1 identifiant %2 méthode %3 type : " +"%4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Exception lors de l'appel « %1 » à la fonction depuis %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Il est impossible d'ouvrir le fichier « %1 »" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Il est impossible de créer le fichier temporaire." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 n'est pas une fonction et il est impossible de l'appeler." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 n'est pas un type d'objet" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "L'action prend 2 arguments." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup prend 2 arguments." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Doit fournir un parent valable." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Une erreur s'est produite lors de la lecture du fichier « %1 »" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Il est impossible de lire le fichier « %1 »" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Doit fournir un nom de fichier." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "« %1 » n'est pas un QLayout valable." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Doit fournir un nom de disposition." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Type d'objet incorrect." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Le premier argument doit être un QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Nombre incorrect d'arguments." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Le slot a demandé %1 argument" +msgstr[1] "Le slot a demandé %1 arguments" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "mais il y a seulement %1 disponible" +msgstr[1] "mais il y a seulement %1 disponibles" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Il est impossible de transtyper en valeur %1 depuis le type %2 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Aucune méthode « %1 » d'un tel type." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "" +"L'appel à la méthode « %1 » a échoué, impossible d'obtenir l'argument %2 : %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "L'appel à « %1 » a échoué." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Il est impossible de construire la valeur" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Pas assez d'arguments." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Il est impossible de créer l'action." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Il est impossible de créer ActionGroup." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Aucun nom de classe spécifié" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Il est impossible de créer Layout." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Aucun nom de classe spécifié." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Il est impossible de créer le composant graphique." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Il est impossible d'ouvrir le fichier « %1 » : %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Il est impossible de charger le fichier « %1 »" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "« %1 » n'est pas un QWidget valable." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Doit fournir un nom de composant graphique (widget)." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Gestionnaire d'emplacement erroné : objet %1 identifiant %2 méthode %3 " +"signature : %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Exception lors de l'appel à l'emplacement « %1 » depuis %2:%3:%4" diff --git a/po/fy/kjsembed5.po b/po/fy/kjsembed5.po new file mode 100644 index 0000000..95d1a1a --- /dev/null +++ b/po/fy/kjsembed5.po @@ -0,0 +1,258 @@ +# translation of kdelibs4.po to Nederlands +# translation of kdelibs4.po to +# KTranslator Generated File +# Fryske oersetting fan kdelibs. +# Copyright (C) 2000,2001,2002,2003 KDE e.v.. +# let op! het bestand bevat ter hoogte van string 2470 +# een gesplitste zinnen die mbv. %1 of %2 weer worden samengevoegd!! +# Bauke Nicolai , 2002. +# KDE-oersetgroep Frysk , 2000, 2001, 2002,2003. +# Rinse de Vries , 2004, 2005, 2006, 2007. +# Berend ytsma , 2004. +# Rinse de Vries , 2006, 2008. +# Berend Ytsma , 2008. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2010-07-22 09:48+0100\n" +"Last-Translator: Berend Ytsma \n" +"Language-Team: nl \n" +"Language: fy\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KAider 0.1\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Flater ûntdutsen by it ferwurkjen fan include '%1' rigel %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "include nimt mar 1 argumint, net %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Triem %1 waard net fûn." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "biblioteek nimt mar 1 argumint, net %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Warskôging" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Befêstigje" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" +"Ferwurker foar barren is net goed: Objekt %1 Namme %2 Metoade %3 Type: %4" + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Utsûndering by oanroppe fan funksje '%1' fan %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Koe triem '%1' net iepenje" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Koe gjin tiidlike triem oanmeitsje." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 is gjin funksje en kin net oanroppen wurde." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 is net in objekttype" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Aksje nimt twa arguminten." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "Aksjegroep nimt 2 arguminten." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Jo moate in jildige âlder oanleverje." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Der wie in flater by it laden fan triem '%1'" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Koe triem '%1' net lêze." + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Jo moatte in triemnamme oanleverje." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' is net in jildich QLayout." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Jo moate in opmaak namme oanleverje." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Ferkearde objekttype." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "It earste argumint moat in QObject wêze." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Unjust oantal fan arguminten." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "" +msgstr[1] "" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "mar der is allinne %1 beskikber" +msgstr[1] "mar der binne allinne %1 beskikber" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Casten nei wearde %1 fan type %2 (%3) is mislearre" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Der is net in '%1' metoade." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "" +"Oanroppe fan metoade '%1' is mislearre, kin argumint %2 net ûntfange: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Oanrop nei '%1' mislearre." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Koe de wearde net opbouwe" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Net genôch arguminten." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Koe de aksje net meitsje." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Koe de aksjegroep net meitsje." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Gjin classname oantsjutte." + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Koe de opmaak net meitsje." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Gjin classname oantsjutte." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Koe de Widget net meitsje." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Koe triem '%1' net iepenje: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "It mislearre om triem '%1' te laden" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' is net in jildich QWidget." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Jo moate in widgetnamme oanleverje." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Ferwurker fan slot is net goed: objekt %1 namme %2 metoade %3 hântekening: " +"%4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Utsûndering by oanroppen fan slot '%1' fan %2:%3:%4" diff --git a/po/ga/kjsembed5.po b/po/ga/kjsembed5.po new file mode 100644 index 0000000..4ed0ab2 --- /dev/null +++ b/po/ga/kjsembed5.po @@ -0,0 +1,254 @@ +# translation of kdelibs4.po to Irish +# Translation of kdelibs4.po to Irish +# Copyright (C) 1999,2003,2004 Free Software Foundation, Inc. +# Sean V. Kelley , 1999 +# Séamus Ó Ciardhuáin , 2003,2004 +# Kevin Scannell , 2004-2009 +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2004-12-14 09:11-0600\n" +"Last-Translator: Kevin Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.9.1\n" +"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n < 11 ? " +"3 : 4\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Tharla earráid agus ceanntásc '%1' á phróiseáil ar líne %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "ní ghlacann an ceanntásc ach argóint amháin, nach é %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Comhad %1 gan aimsiú." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "ní ghlacann an leabharlann gach argóint amháin, nach é %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Foláireamh" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Dearbhaigh" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "Drochláimhseálaí teagmhas: Réad %1 Aitheantóir %2 Modh %3 Cineál: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Tharla eisceacht agus feidhm '%1' á glaoch ó %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Níorbh fhéidir comhad '%1' a oscailt" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Níorbh fhéidir comhad sealadach a chruthú." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "Ní feidhm é %1 agus ní féidir é a ghlaoch." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "Ní cineál Réada é %1" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Glacann an Gníomh dhá argóint." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "Glacann an Grúpa Gníomhartha dhá argóint." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Máthair bhailí de dhíth." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Tharla earráid agus comhad '%1' á léamh" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Níorbh fhéidir comhad '%1' a léamh" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Ainm comhaid de dhíth." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "Ní QLayout bailí é '%1'." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Caithfidh tú ainm a chur ar an leagan amach." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Cineál mícheart réada." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Caithfidh an chéad argóint bheith ina QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Líon mícheart na n-argóintí." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Bhí an sliotán ag iarraidh %1 argóint" +msgstr[1] "Bhí an sliotán ag iarraidh %1 argóint" +msgstr[2] "Bhí an sliotán ag iarraidh %1 argóint" +msgstr[3] "Bhí an sliotán ag iarraidh %1 n-argóint" +msgstr[4] "Bhí an sliotán ag iarraidh %1 argóint" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "ach níl ach %1 cheann ar fáil" +msgstr[1] "ach níl ach %1 cheann ar fáil" +msgstr[2] "ach níl ach %1 cinn ar fáil" +msgstr[3] "ach níl ach %1 gcinn ar fáil" +msgstr[4] "ach níl ach %1 ceann ar fáil" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Níorbh fhéidir teilgean ó Chineál %2 (%3) go luach %1" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Níl a leithéid de mhodh '%1'." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "Theip ar ghlao ar mhodh '%1'; ní féidir argóint %2 a fháil: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Theip ar ghlao '%1'." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Níorbh fhéidir luach a chruthú" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Easpa argóintí." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Theip ar Ghníomh a chruthú." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Theip ar Ghrúpa Gníomhartha a chruthú." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Níor sonraíodh ainm aicme" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Theip ar Leagan Amach a chruthú." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Níor sonraíodh ainm aicme." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Theip ar Ghiuirléid a chruthú." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Níorbh fhéidir comhad '%1' a oscailt: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Níorbh fhéidir comhad '%1' a luchtú" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "Ní QWidget bailí é '%1'." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Caithfidh tú ainm giuirléide a thabhairt." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "Drochláimhseálaí sliotáin: Réad %1 Aitheantóir %2 Modh %3 Síniú: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Tharla eisceacht agus sliotán '%1' á ghlaoch ó %2:%3:%4" diff --git a/po/gd/kjsembed5.po b/po/gd/kjsembed5.po new file mode 100644 index 0000000..00807f8 --- /dev/null +++ b/po/gd/kjsembed5.po @@ -0,0 +1,256 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# GunChleoc , 2015. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2015-11-04 15:13+0000\n" +"Last-Translator: Michael Bauer \n" +"Language-Team: Fòram na Gàidhlig\n" +"Language: gd\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : " +"(n > 2 && n < 20) ? 2 : 3;\n" +"X-Generator: Poedit 1.8.4\n" +"X-Project-Style: kde\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Thachair mearachd le pròiseasadh include \"%1\" loidhne %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "cha ghabh an include ach ri 1 argamaid seach %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Cha deach am faidhle %1 a lorg." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "cha ghabh an leabharlann ach ri 1 argamaid seach %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Caismeachd" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Dearbhaich" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" +"Droch-làimhsichear thachartasan: Object %1 Identifier %2 Method %3 Type: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Eisgeachd a' gairm an fhoincsein \"%1\" o %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Cha b' urrainn dhuinn am faidhle \"%1\" fhosgladh" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Cha deach leinn faidhle sealach a chruthachadh." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "Chan eil %1 'na fhoincsean is cha ghabh a ghairm." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "Chan eil %1 na seòrsa Object." + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Gabhaidh an Action ri 2 argamaid." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "Gabhaidh an ActionGroup ri 2 argamaid." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Feumar pàrant dligheach a shònrachadh." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Bha mearachd ann a' leughadh an fhaidhle \"%1\"." + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Cha b' urrainn dhuinn am faidhle \"%1\" a leughadh" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Feumar ainm-faidhle a shònrachadh." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "Chan eil \"%1\" 'na QLayout dligheach." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Feumar ainm co-dhealbhachd a shònrachadh." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Seòrsa oibseict cearr." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Feumaidh a' chiad argamaid a bhith 'na QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Àireamh chearr de dh'argamaidean." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Dh'iarr an slot %1 argamaid" +msgstr[1] "Dh'iarr an slot %1 argamaid" +msgstr[2] "Dh'iarr an slot %1 argamaidean" +msgstr[3] "Dh'iarr an slot %1 argamaid" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "ach chan eil ach %1 ri fhaighinn" +msgstr[1] "ach chan eil ach %1 ri am faighinn" +msgstr[2] "ach chan eil ach %1 ri am faighinn" +msgstr[3] "ach chan eil ach %1 ri am faighinn" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Cha deach leinn cast a dhèanamh gun luach %1 on Type %2 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Chan eil am modh \"%1\" ann." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "" +"Dh'fhàillig le gairm a' mhodh \"%1\", cha deach leinn an argamaid %2 " +"fhaighinn: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Cha deach leinn \"%1\" a ghairm." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Cha b' urrainn dhuinn an luach a thogail" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Chan eil argamaidean gu leòr ann." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Cha deach leinn Action a chruthachadh." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Cha deach leinn ActionGroup a chruthachadh." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Cha deach ainm clas a shònrachadh" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Cha deach leinn Layout a chruthachadh." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Cha deach ainm clas a shònrachadh." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Cha deach leinn Widget a chruthachadh." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Cha b' urrainn dhuinn am faidhle \"%1\" fhosgladh: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Cha deach leinn am faidhle \"%1\" a luchdadh" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "Chan eil \"%1\" 'na QWidget dligheach." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Feumar ainm widget a shònrachadh." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Droch-làimhsichear shlotaichean: Object %1 Identifier %2 Method %3 " +"Signature: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Eisgeachd a' gairm an slot \"%1\" o %2:%3:%4" diff --git a/po/gl/kjsembed5.po b/po/gl/kjsembed5.po new file mode 100644 index 0000000..526b1d3 --- /dev/null +++ b/po/gl/kjsembed5.po @@ -0,0 +1,256 @@ +# translation of kdelibs4.po to galician +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# mvillarino , 2007, 2008, 2009. +# Marce Villarino , 2008, 2009. +# marce villarino , 2009. +# marce villarino , 2009. +# Marce Villarino , 2009, 2010, 2011, 2012. +# Xosé , 2010. +# Marce Villarino , 2011, 2012, 2013, 2014. +# Adrián Chaves Fernández (Gallaecio) , 2017. +# Adrián Chaves (Gallaecio) , 2017. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2017-10-17 19:46+0100\n" +"Last-Translator: Adrián Chaves (Gallaecio) \n" +"Language-Team: Galician \n" +"Language: gl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Atopouse un erro ao procesar a inclusión «%1» na liña %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "«include» só ten 1 argumento, non %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Non se atopou o ficheiro %1." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "a biblioteca só ten un argumento, non %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Alerta" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Confirmar" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" +"Xestor de eventos incorrecto: Obxecto %1 Identificador %2 Método %3 Tipo: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Houbo unha excepción ao chamar a función «%1» desde %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Non se puido abrir o ficheiro «%1»" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Non se puido crear o ficheiro temporal." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 non é unha función e non se pode chamar." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 non é un tipo de Obxecto" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "A acción toma 2 argumentos." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "O grupo de accións toma 2 argumentos." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Debe fornecer un antergo correcto." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Produciuse un erro ao ler o ficheiro «%1»" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Non se puido ler o ficheiro «%1»" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Debe indicar un nome de ficheiro." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "«%1» non é un QLayout correcto." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Debe fornecer o nome dunha disposición." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Tipo de obxecto errado." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "O primeiro argumento debe ser un QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "O número de argumentos é incorrecto." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "A rañura pediu %1 argumento" +msgstr[1] "A rañura pediu %1 argumentos" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "pero só hai %1 dispoñíbel" +msgstr[1] "pero só hai %1 dispoñíbeis" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Fallo de promoción a valor %1 desde o Tipo %2 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Non existe o método «%1»." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "Fallou a chamada ao método «%1»; non se pode obter o argumento %2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Fallou a chamada a «%1»." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Non se puido construír o valor" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Non hai argumentos de abondo." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Non se puido crear a Acción." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Non se puido crear o Grupo de accións." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Non se indicou o nome da clase" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Non se puido crear a Disposición." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Non se indicou o nome da clase." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Non se puido crear o Trebello." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Non se puido abrir o ficheiro «%1»: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Non se puido cargar o ficheiro «%1»" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "«%1» non é un QWidget correcto." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Debe indicar un nome de trebello." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Xestor de rañuras incorrecto: Obxecto %1 Identificador %2 Método %3 " +"Sinatura: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Excepción ao chamar á rañura «%1» desde %2:%3:%4" diff --git a/po/gu/kjsembed5.po b/po/gu/kjsembed5.po new file mode 100644 index 0000000..2f1ac6d --- /dev/null +++ b/po/gu/kjsembed5.po @@ -0,0 +1,249 @@ +# translation of kdelibs4.po to Gujarati +# Copyright (C) 2008 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Kartik Mistry , 2008. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2009-11-22 00:01+0530\n" +"Last-Translator: Kartik Mistry \n" +"Language-Team: Gujarati \n" +"Language: gu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"X-Generator: KBabel 1.11.4\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "સમાવેશ '%1' કરતી વખતે લીટી %2: %3 પર ક્ષતિ જોવામાં આવી" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "include ફક્ત ૧ જ વિકલ્પ લે છે, નહી કે %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "ફાઇલ %1 મળી નહી." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "લાઇબ્રેરી ફક્ત ૧ વિકલ્પ લે છે, નહી કે %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "ચેતવણી" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "ખાતરી" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "ખરાબ વસ્તુ સંભાળનાર: વસ્તુ %1 ઓળખનાર %2 પધ્ધતિ %3 પ્રકાર: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "અપવાદ %2:%3:%4 માંથી '%1' વિધેયને બોલાવે છે" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "ફાઇલ '%1' ખોલી શકાતી નથી" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "ટેમ્પરરી ફાઇલ બનાવી શકાતી નથી." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 એ વિધેય નથી અને બોલાવી શકાતું નથી." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 વસ્તુ પ્રકાર નથી" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "ક્રિયા ૨ વિકલ્પો લે છે." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup ૨ વિકલ્પો લે છે." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "યોગ્ય ઉપરી આપવો જ પડશે." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "ફાઈલ '%1' ને વાંચતી વખતે ક્ષતિ આવી" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "ફાઈલ '%1' વાંચી શકાતી નથી" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "ફાઇલનામ આપવું જ પડશે." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' યોગ્ય QLayout નથી." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "દેખાવ નામ આપવું જ પડશે." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "ખોટો વસ્તુ પ્રકાર." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "પ્રથમ વિકલ્પ QObject જ હોવો જોઇએ." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "ખોટી સંખ્યાનાં વિકલ્પો." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "" +msgstr[1] "" + +#: kjsembed/qobject_binding.cpp:410 +#, fuzzy, kde-format +#| msgid "There is no matching item available.\n" +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "કોઈ મળતી વસ્તુ ઉપલબ્ધ નથી.\n" +msgstr[1] "કોઈ મળતી વસ્તુ ઉપલબ્ધ નથી.\n" + +#: kjsembed/qobject_binding.cpp:411 +#, fuzzy, kde-format +#| msgctxt "concatenation of dates and time" +#| msgid "%1 %2" +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1 %2" + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "પ્રકાર %2 (%3) માંથી %1 કિંમત ફેરવવામાં નિષ્ફળતા" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "આવી કોઇ રીત '%1' નથી." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "રીત '%1' બોલાવવામાં નિષ્ફળ, વિકલ્પ %2: %3 મેળવવામાં અસક્ષમ" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "'%1' ને બોલાવવામાં નિષ્ફળ." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "કિંમત બનાવી શકાઇ નહી" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "પૂરતાં વિકલ્પો નથી." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "ક્રિયા બનાવવામાં નિષ્ફળ." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "ક્રિયાસમૂહ બનાવવામાં નિષ્ફળ." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "કોઇ વર્ગનામ સ્પષ્ટ કરેલ નથી" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "દેખાવ બનાવવામાં નિષ્ફળ." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "કોઇ વર્ગનામ સ્પષ્ટ કરેલ નથી." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "વિજેટ બનાવવામાં નિષ્ફળ." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "ફાઇલ '%1' ખોલી શકાતી નથી: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "ફાઈલ '%1' લાવવામાં નિષ્ફળતા" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' એ યોગ્ય QWidget નથી." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "વિજેટ નામ આપવું જ પડશે." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "ખરાબ જગ્યા સંભાળનાર: વસ્તુ %1 ઓળખનાર %2 પધ્ધતિ %3 સહી: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "અપવાદ %2:%3:%4 માંથી '%1' જગ્યાને બોલાવે છે" diff --git a/po/ha/kjsembed5.po b/po/ha/kjsembed5.po new file mode 100644 index 0000000..cc2ef6a --- /dev/null +++ b/po/ha/kjsembed5.po @@ -0,0 +1,246 @@ +# Hausa translation for kdelibs strings. +# Copyright 2009 Adriaan de Groot, Mustapha Abubakar, Ibrahim Dasuna +# This file is distributed under the same license as the kdelibs package. +# +# Adriaan de Groot , 2009. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2009-03-17 11:22+0100\n" +"Last-Translator: Adriaan de Groot \n" +"Language-Team: Hausa \n" +"Language: ha\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 0.2\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "" + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "" + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "" + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "" + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "" + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "" + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "" + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "" + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "" + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "" + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "" + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "" + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "" + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "" + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "" +msgstr[1] "" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "" +msgstr[1] "" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "" + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "" + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "" + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "" + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "" + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "" + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "" + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "" + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "" + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "" + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "" + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "" diff --git a/po/he/kjsembed5.po b/po/he/kjsembed5.po new file mode 100644 index 0000000..17f39ff --- /dev/null +++ b/po/he/kjsembed5.po @@ -0,0 +1,260 @@ +# translation of kdelibs4.po to hebrew +# Translation of kdelibs4.po to Hebrew +# translation of kdelibs4.po to +# KDE Hebrew Localization Project +# +# In addition to the copyright owners of the program +# which this translation accompanies, this translation is +# Copyright (C) 1998 Erez Nir +# Copyright (C) 1999-2003 Meni Livne +# +# This translation is subject to the same Open Source +# license as the program which it accompanies. +# +# Diego Iastrubni , 2003. +# Diego Iastrubni , 2003, 2004. +# Diego Iastrubni , 2005, 2006, 2007, 2008, 2009, 2012, 2014. +# Meni Livne , 2007. +# tahmar1900 , 2008, 2009. +# Elkana Bardugo , 2017. #zanata +msgid "" +msgstr "" +"Project-Id-Version: kjsembed5\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2017-05-16 06:50-0400\n" +"Last-Translator: Copied by Zanata \n" +"Language-Team: Hebrew \n" +"Language: he\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Zanata 3.9.6\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "אירעה שגיאה במהלך הפענוח של קובץ המוכל \"%1\" בשורה %2:‏ %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "פקודת כלילה מקבלת ארגומנט אחד בלבד, לא %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "הקובץ %1 לא נמצא" + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "הספרייה מקבלת ארגומנט אחד בלבד, לא %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "אזהרה" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "אישור" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "הליך טיפול לא תקין באירועים: אובייקט %1, מזהה %2, שירות %3, טיפוס: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "אירעה חריגה בעת קריאה לפונקציה \"%1\" מ־%2: %3: %4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "אין אפשרות לפתוח את הקובץ \"%1\"" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "אין אפשרות ליצור קובץ זמני." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 אינה פונקציה ולכן לא ניתן לקרוא לה." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 אינו טיפוס אובייקט" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "פעולה מקבלת 2 ארגומנטים." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "קבוצת פעולות מקבלת 2 ארגומנטים." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "יש לספק אב תקף." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "אירעה שגיאה בעת קריאת הקובץ \"%1\"" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "אין אפשרות לקרוא את הקובץ \"%1\"" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "יש לספק שם קובץ." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "\"%1\" אינו QLayout תקף." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "יש לספק שם סידור." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "טיפוס אובייקט שגוי." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "הארגומנט הראשון חייב להיות מסוג QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "מספר ארגומנטים שגוי." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "החריץ מבקש %1 ארגומנט" +msgstr[1] "החריץ מבקש %1 ארגומנטים" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "אולם רק %1 זמין" +msgstr[1] "אולם רק %1 זמינים" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "המרת טיפוס הערך %1 מהטיפוס %2 נכשלה (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "אין כזאת מתודה \"%1\"" + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "הקריאה לשירות \"%1\" נכשלה, אין אפשרות לקבל את הארגומנט %2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "הקריאה ל־\"%1\" נכשלה." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "אין אפשרות לבנות ערך" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "אין מספיק ארגומנטים." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "יצירת הפעולה נכשלה." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "יצירת קבוצת הפעולות נכשלה." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "לא צויין שם מחלקה" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "יצירת הסידור נכשלה." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "לא צויין שם מחלקה." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "יצירת ה־Wodget נכשלה." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "אין אפשרות לפתוח את הקובץ \"%1\": %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "טעינת הקובץ \"%1\" נכשלה" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "\"%1\" אינו QWidget תקף." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "יש לספק שם Widget." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "הליך טיפול לא תקין בחריצים: אובייקט %1, מזהה %2, שירות %3, חתימה: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "אירעה חריגה בעת קריאה לחריץ \"%1\" מ־%2: %3: %4" diff --git a/po/hi/kjsembed5.po b/po/hi/kjsembed5.po new file mode 100644 index 0000000..e9e2e8d --- /dev/null +++ b/po/hi/kjsembed5.po @@ -0,0 +1,249 @@ +# translation of kdelibs4.po to Hindi +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Ravishankar Shrivastava , 2007. +# Ravishankar Shrivastava , 2008. +# G Karunakar , 2009, 2010, 2012. +# Raghavendra Kamath , 2021. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2021-06-29 17:48+0530\n" +"Last-Translator: Raghavendra Kamath \n" +"Language-Team: kde-hindi\n" +"Language: hi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"X-Generator: Lokalize 21.04.2\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "इनक्लूड '%1' पंक्ति %2 को प्रोसेस करने के दौरान त्रुटि: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "इनक्लूड में सिर्फ 1 आर्गुमेंट होगा न कि %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "फ़ाइल \"%1\" नहीं मिला." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "लाइब्रेरी में सिर्फ 1 आर्गुमेंट होगा न कि %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "सतर्क" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "पुष्टि करें" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "खराब इवेंट हैंडलर: ऑब्जैक्ट %1 आइडेंटिफ़ॉयर %2 विधि %3 क़िस्म: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "एक्सेप्शन '%1' फंक्शन को यहां से काल कर रहा है %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "फ़ाइल '%1' खोल नहीं सकते" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "अस्थायी फ़ाइल बना नहीं पाया." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 फंक्शन नहीं है और काल नहीं किया जा सकता." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 ऑब्जेक्ट टाइप नहीं है" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "क्रिया 2 आर्गुमेंट स्वीकारता है." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "क्रिया-समूह 2 आर्गुमेंट स्वीकारता है." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "वैध पेरेन्ट प्रदान करना आवश्यक है." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "फ़ाइल '%1' को पढ़ने में त्रुटि हुई." + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "फ़ाइल '%1' को पढ़ नहीं सका" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "आपको एक फ़ाइलनाम देना होगा." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' वैध क्यू-लेआउट नहीं है." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "आपको एक खाका नाम देना होगा." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "गलत ऑब्जेक्ट क़िस्म." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "पहला आर्गुमेंट क्यूऑब्जैक्ट होना चाहिए." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "आर्गुमेंट के लिए गलत संख्या." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "स्लॉट ने %1 आर्गुमेंट के लिए कहा" +msgstr[1] "स्लॉट ने %1 आर्गुमेंटों के लिए कहा" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "पर केवल %1 ही उपलब्ध है" +msgstr[1] "पर केवल %1 उपलब्ध हैं" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "%1 मूल्य %2 में से कास्ट करने में असफल (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "ऐसी कोई विधि '%1' नहीं है." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "काल विधि '%1' असफल आर्गुमेंट %2 प्राप्त करने में असफल: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "'%1' को काल असफल." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "मूल्य बना नहीं सका" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "पर्याप्त आर्गुमेंट नहीं हैं." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "क्रिया बनाने में असफल." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "क्रिया-समूह बनाने में असफल." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "कोई क्लासनाम उल्लेखित नहीं है" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "खाका बनाने में असफल." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "कोई क्लासनाम उल्लेखित नहीं है." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "विजेट बनाने में असफल." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "फ़ाइल '%1' खोल नहीं सका: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "फ़ाइल '%1' लोड करने में असफल" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' वैध क्यूविजेट नहीं है." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "एक विजेट नाम देना होगा." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "खराब स्लॉट हैंडलर: ऑब्जैक्ट %1 आइडेंटिफ़ॉयर %2 विधि %3 हस्ताक्षर: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "एक्सेप्शन '%1' स्लॉट को यहां से काल कर रहा है %2:%3:%4" diff --git a/po/hne/kjsembed5.po b/po/hne/kjsembed5.po new file mode 100644 index 0000000..a7e53fc --- /dev/null +++ b/po/hne/kjsembed5.po @@ -0,0 +1,250 @@ +# translation of kdelibs4.po to Hindi +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Ravishankar Shrivastava , 2007. +# Ravishankar Shrivastava , 2008, 2009. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2009-02-10 20:44+0530\n" +"Last-Translator: Ravishankar Shrivastava \n" +"Language-Team: Hindi \n" +"Language: hne\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"X-Generator: Lokalize 0.2\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "इनक्लूड '%1' लकीर %2 ल प्रोसेस करे के समय गलती: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "इनक्लूड मं सिरिफ 1 आर्गुमेंट होही नइ कि %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "फाइल \"%1\" नइ मिलिस." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "लाइब्रेरी मं सिरिफ 1 आर्गुमेंट होही नइ कि %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "चेतावनी" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "पक्का करव" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "खराब इवेंट हेंडलर: ओब्जैक्ट %1 आइडेंटिफायर %2 विधि %3 किसिम: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "एक्सेप्सन '%1' फंक्सन ल इहां से काल करत हे %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "फाइल '%1' खोल नइ सकहू" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "अस्थायी फाइल बना नइ सकिस." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 फंक्सन नइ हे अउ काल नइ कर सकिस." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 आब्जेक्ट टाइप नइ हे" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "काम 2 आर्गुमेंट स्वीकारथे." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "काम-समूह 2 आर्गुमेंट स्वीकारथे." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "वैध पेरेन्ट प्रदान करना जरूरी हे." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "फाइल '%1' ल पढ़े मं गलती होइस." + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "फाइल '%1' ल पढ़ नइ सकिस" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "आप मन ल एक फाइलनाम देना होही." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' वैध क्यू-लेआउट नइ हे." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "आप मन ल एक खाका नाम देना होही." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "गलत आब्जेक्ट किसिम." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "पहला आर्गुमेंट क्यूओब्जैक्ट होना चाही." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "आर्गुमेंट बर गलत संख्या." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "" +msgstr[1] "" + +#: kjsembed/qobject_binding.cpp:410 +#, fuzzy, kde-format +#| msgid "There is no matching item available.\n" +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "वहाँ कोनो मिलत जुलत चीज नइ मिलत हे.\n" +msgstr[1] "वहाँ कोनो मिलत जुलत चीज नइ मिलत हे.\n" + +#: kjsembed/qobject_binding.cpp:411 +#, fuzzy, kde-format +#| msgctxt "concatenation of dates and time" +#| msgid "%1 %2" +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1 %2" + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "%1 मूल्य %2 मं से कास्ट करे मं फेल (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "अइसन कोनो विधि '%1' नइ हे." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "काल विधि '%1' फेल आर्गुमेंट %2 प्राप्त करे मं फेल: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "'%1' ल काल फेल." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "मूल्य बना नइ सकिस" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "बहुत आर्गुमेंट नइ हे." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "काम बनाए मं फेल." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "काम-समूह बनाए मं फेल." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "कोई क्लासनाम निरधारित नइ हे" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "खाका बनाए मं फेल." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "कोई क्लासनाम निरधारित नइ हे." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "विजेट बनाए मं फेल." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "फाइल '%1' खोल नइ सकिस: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "फाइल '%1' लोड करे मं फेल" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' वैध क्यूविजेट नइ हे." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "एक विजेट नाम देना होही." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "खराब स्लाट हेंडलर: ओब्जैक्ट %1 आइडेंटिफायर %2 विधि %3 दसखत: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "एक्सेप्सन '%1' स्लाट ल इहां से काल करत हे %2:%3:%4" diff --git a/po/hr/kjsembed5.po b/po/hr/kjsembed5.po new file mode 100644 index 0000000..7e9f0f8 --- /dev/null +++ b/po/hr/kjsembed5.po @@ -0,0 +1,260 @@ +# Translation of kdelibs4 to Croatian +# +# Renato Pavicic , 2006. +# Zarko Pintar , 2009. +# Marko Dimjasevic , 2009, 2010, 2011. +# Andrej Dundović , 2009, 2010. +# DoDo , 2009. +# Andrej Dundovic , 2009, 2010, 2011. +# Marko Dimjašević , 2011. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2011-07-22 16:08+0200\n" +"Last-Translator: Marko Dimjašević \n" +"Language-Team: Croatian \n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Lokalize 1.2\n" +"X-Poedit-Language: Croatian\n" +"X-Poedit-Country: CROATIA\n" +"X-Poedit-Bookmarks: 1601,-1,-1,-1,-1,-1,-1,-1,-1,-1\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Došlo je do greške prilikom obrade priključka '%1' na liniji %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "uključak treba samo 1 argument, a ne %1" + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Datoteka %1 nije pronađena." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "biblioteka treba samo 1 argument, a ne %1" + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Uzbuna" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Prihvati" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "Loš hvatač događaja: Objekt %1 Identifikator %2 Metoda %3 Tip: %4" + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Iznimka pri pozivu funkcije '%1' iz %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Nije moguće otvoriti datoteku '%1'" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Nije moguće stvoriti privremenu datoteku." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 nije funkcija te ne može biti pozvana." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 nije Object tip" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Radnja zahtjeva 2 argumenta." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup uzima 2 argumenta." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Navedite ispravnog roditelja." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Dogodila se pogreška prilikom čitanja datoteke '%1'" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Nije moguće pročitati datoteku '%1'" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Navedite naziv datoteke." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' nije valjani QLayout." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Navedite naziv prikaza." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Krivi tip objekta." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Prvi argument mora biti QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Pogrešan broj argumenata." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Priključnica traži %1 argument" +msgstr[1] "Priključnica traži %1 argumenta" +msgstr[2] "Priključnica traži %1 argumenata" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "ali samo je %1 dostupan" +msgstr[1] "ali samo su %1 dostupna" +msgstr[2] "ali samo je %1 dostupnih" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Nemoguće je pretvoriti u %1 vrijednost tipa %2 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Nema takve metode '%1'." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "Pozivanje metode '%1' nije uspjelo, nije moguće dobiti argument %2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Poziv od '%1' nije uspio." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Nije moguće konstruirati vrijednost" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Nema dovoljno argumenata." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Nije moguće stvoriti Akciju." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Nije moguće stvoriti AkcijskuGrupu." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Nije dodijeljen naziv klase" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Neuspjelo stvaranje izgleda." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "No classname specified." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Nije uspjelo stvaranje widgeta." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Nije moguće otvoriti datoteku ''%1': %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Neuspjelo učitavanje datoteke '%1'" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' nije valjani QWidget." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Navedite naziv widgeta." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Loš držač priključnice: Objekt %1 Identifikator %2 Metoda %3 Potpis: %4" + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Iznimka pri pozivu priključnice '%1' iz %2:%3:%4" diff --git a/po/hsb/kjsembed5.po b/po/hsb/kjsembed5.po new file mode 100644 index 0000000..51a1eeb --- /dev/null +++ b/po/hsb/kjsembed5.po @@ -0,0 +1,256 @@ +# translation of kdelibs4.po to Upper Sorbian +# translation of kdelibs4.po to +# Copyright (C) 2003,2004, 2005, 2007 Free Software Foundation, Inc. +# Eduard Werner , 2003. +# Prof. Dr. Eduard Werner , 2003,2004. +# Eduard Werner , 2005. +# Eduard Werner/Edward Wornar , 2007, 2008. +# Bianka Šwejdźic , 2007, 2008. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2008-12-19 22:49+0100\n" +"Last-Translator: Eduard Werner \n" +"Language-Team: en_US \n" +"Language: hsb\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3;\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Zmylk při procesowanju include '%1' na lince %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "include bjerje jenož jedyn argument, nic %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Njejsym dataju '%1' namakał." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "library bjerje jenož jedyn argument, nic %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Kedźbu" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Wobkrućić" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "Hubjeny event handler: objekt %1, wariabla %2, metoda %3, typ %4" + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Exception woła funkciju '%1' z %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Njemóžach dataju '%1' wočinić." + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Njemóžach temporarnu dataju stworić." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 njeje funkcije a njehodźi so zwołać" + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 njeje objektowy typ" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Action bjerje dwaj argumentaj." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup bjerje dwaj argumentaj." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Dyrbiće walidny parent podać." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Zmylk při čitanju dataje '%1'" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Njemóžach dataju '%1' čitać" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Mjeno dataje dyrbi so podać" + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' njeje walidny QLayout." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Dyrbiće mjeno layouta zapodać." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Wopačny typ objekta." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Prěni argument dyrbi być QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Njekorektna ličba argumentow." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: kjsembed/qobject_binding.cpp:410 +#, fuzzy, kde-format +#| msgid "There is no matching item available.\n" +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "Žadyn wotpowědowacy element.\n" +msgstr[1] "Žadyn wotpowědowacy element.\n" +msgstr[2] "Žadyn wotpowědowacy element.\n" +msgstr[3] "Žadyn wotpowědowacy element.\n" + +#: kjsembed/qobject_binding.cpp:411 +#, fuzzy, kde-format +#| msgctxt "concatenation of dates and time" +#| msgid "%1 %2" +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1%2" + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Njemóžu hódnotu typa %1 z typa %2 stworić (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Žana tajka metoda: '%1'." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "Njemóžach metodu '%1' zwołać, njejsym argument %2 dóstał: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Njemóžach '%1' zwołać." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Njemóžach hódnotu stworić." + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Přemało argumentow." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Njemóžach akciju wutworić" + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Njemóžach ActionGroup wutworić" + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Žane mjeno klasy podate." + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Njemóžu layout stworić." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Žane mjeno klasy podate." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Njemóžu widget stworić." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Njemóžach dataju '%1' wočinić: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Njemóžu dataju '%1' začitać" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' njeje walidny QWidget." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Mjeno widgeta dyrbi so podać." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "Hubjeny slot handler: objekt %1, wariabla %2, metoda %3, signatura %4" + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Exception woła slot '%1' z %2:%3:%4" diff --git a/po/hu/kjsembed5.po b/po/hu/kjsembed5.po new file mode 100644 index 0000000..d9ccc60 --- /dev/null +++ b/po/hu/kjsembed5.po @@ -0,0 +1,246 @@ +# Kiszel Kristóf , 2010. +# Kristóf Kiszel , 2010, 2011, 2012. +# Balázs Úr , 2012, 2013. +msgid "" +msgstr "" +"Project-Id-Version: KDE 4.4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2013-10-23 11:23+0200\n" +"Last-Translator: Balázs Úr \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 1.5\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Hiba történt a(z) „%1” include fájl %2 sorában: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "az include fájl csak 1 argumentumot vár, nem %1 darabot." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Nem található egy fájl: %1" + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "a programkönyvtár 1 argumentumot vár, nem %1 darabot." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Figyelmeztetés" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Megerősítés" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" +"Hibás eseménykezelő: objektum: %1, azonosító: %2, függvény: %3, típus: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Kivétel történt a(z) „%1” függvény meghívásakor (innen: %2:%3:%4)" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Nem sikerült megnyitni egy fájlt: „%1”" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Nem sikerült létrehozni egy ideiglenes fájlt." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 nem függvény, ezért nem hívható meg." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 nem objektumtípus" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "A művelet 2 argumentumot vár." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "A műveletcsoport 2 argumentumot vár." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Meg kell adni egy érvényes szülőt." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Hiba történt a(z) „%1” fájl olvasása közben" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Nem sikerült olvasni: „%1”" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Meg kell adni egy fájlnevet." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "„%1” nem egy érvényes QLayout." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Meg kell adni egy elrendezésnevet." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Hibás objektumtípus." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Az első argumentumnak QObject típusúnak kell lennie." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Érvénytelen számú argumentum." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "A szignálfogadó %1 argumentumot kért" +msgstr[1] "A szignálfogadó %1 argumentumot kért" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "de csak %1 elérhető" +msgstr[1] "de csak %1 elérhető" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Nem sikerült a(z) %2 típust %1 értékre alakítani (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Nincs ilyen eljárás: „%1”." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "„%1” meghívása nem sikerült, a(z) %2 argumentum nem érhető el: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "„%1” meghívása nem sikerült." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Nem sikerült létrehozni az értéket" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Nincs elég argumentum." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Nem sikerült létrehozni a műveletet." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Nem sikerült létrehozni a műveletcsoportot." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Nincs megadva osztálynév" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Nem sikerült létrehozni az elrendezést." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Nincs megadva osztálynév." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Nem sikerült létrehozni a grafikus elemet." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Nem sikerült megnyitni a(z) „%1” fájlt: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Nem sikerült betölteni egy fájlt: „%1”" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "„%1” nem egy érvényes QWidget." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Meg kell adni a grafikus elem nevét." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Hibás szignálkezelő: objektum: %1, azonosító: %2, függvény: %3, aláírás: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Kivétel történt a(z) „%1” szignálkezelő meghívásakor (innen: %2:%3:%4)" diff --git a/po/hy/kjsembed5.po b/po/hy/kjsembed5.po new file mode 100644 index 0000000..afe6c69 --- /dev/null +++ b/po/hy/kjsembed5.po @@ -0,0 +1,256 @@ +# KDE - kdelibs/kdelibs4.po Armenian translation. +# Copyright (C) 2005, KDE Armenian translation team. +# +# Davit Nikoghosyan , 2013 +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2013-01-31 01:08+0400\n" +"Last-Translator: Davit \n" +"Language-Team: Armenian Language: hy\n" +"Language: hy\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.4\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Սխալ include «%1» կատարման ժամանակ %2 տողում: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "include պահանջում է միայն մեկ պարամետր, ոչ թե %1։" + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "%1 նիշքը հայտնաբերված չէ։" + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "բառարանը պահանջում է մեկ արգումենտ, ոչ թե %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Տագնափ" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Հաստատում" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" +"Իրադարձությունների սխալ մշակող`%1 օբյեկտ , %2 իդենտիֆիկատոր, %3 մեթոդ, %4 " +"տիպ." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Առաջացավ բացառություն %2:%3:%4-ից «%1» ֆունկցիայի կանչման ժամանակ" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Հնարավոր չէ բացել նիշքը «%1»" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Չստացվեց ստեղծել ժամանակավոր նիշք" + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 ֆունկցիա չի հանդիսանում և չի կարող կանչվել" + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 Չի համարվում օբյեկը" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Գործողությունը պահանջում է երկու արգումենտ" + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup-ը պահանջում է երկու արգումենտ" + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Անհրաժեշտ է նշել ճիշտ ծնողական օբյեկտը" + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Ընթերցման սխալ «%1» նիշքից" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Չստացվեց բացել «%1» նիշքը" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Անհրաժեշտ է նշել նիշքի անունը" + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "«%1» չի հանդիսանում QLayout-ի ճիշտ օբյեկտ" + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Անհրաժեշտ է նշել նախագծի անվանումը։" + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Օբյեկտի սխալ անուն։" + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Առաջին արգումենտը պետք է լինի QObject-ի օբյեկտ" + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Փաստարկների սխալ քանակություն։" + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Ապարատը պահանջում է %1 փաստարկ" +msgstr[1] "Ապարատը պահանջում է %1 փաստարկ" +msgstr[2] "Ապարատը պահանջում է %1 փաստարկ" +msgstr[3] "Ապարատը պահանջում է %1 փաստարկ" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "կա միայն %1 փաստարկ" +msgstr[1] "կա միայն %1 փաստարկ" +msgstr[2] "կա միայն %1 փաստարկ" +msgstr[3] "կա միայն %1 փաստարկ" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Հնարավոր չէ ձևափոխել %2 տեսակը %1 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Չկա մեթոդ «%1»." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "Մեթոդի կանչման սխալ «%1»: հնարավոր չէ ստանալ փաստարկ %2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Կանչի սխալ «%1»." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Հնարավոր չէ թողարկել արժեքների գծագրիչը" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Անբավարար փաստարկներ։" + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Հնարավոր չէ ստեղծել Action." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Հնարավոր չէ ստեղծել ActionGroup." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Նշված չէ օբյեկտի անունը" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Հնարավոր չէ ստեղծել Layout." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Նշված չէ օբյեկտի անունը։" + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Հնարավոր չէ ստեղծել Widget." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Հնարավոր չէ բացել նիշք «%1»: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Նիշքի բացման սխալ «%1»" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "«%1» -ը չի հանդիսանում QWidget-ի ճիշտ օբյեկտ." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Անհրաժեշտ է նշել վիդջետի անունը։" + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Սլոտի սխալ մշակող։ օբյեկտ %1, նույնացուցիչ %2, մեթոդ %3, ստորագրություն %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Սլոտի կանչման ժամանակ առաջացել է բացառություն «%1» / %2:%3:%4" diff --git a/po/ia/kjsembed5.po b/po/ia/kjsembed5.po new file mode 100644 index 0000000..a2c69aa --- /dev/null +++ b/po/ia/kjsembed5.po @@ -0,0 +1,248 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# g.sora , 2010, 2011, 2012, 2013, 2021. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2021-08-05 21:45+0200\n" +"Last-Translator: giovanni \n" +"Language-Team: Interlingua \n" +"Language: ia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 21.04.3\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Il incontrava un error durante que processava include '%1' linea %2:%3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "include solmente vole 1 argumento, non %1" + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "File %1 non trovate." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "Le libreria solmente vole 1 argumento, non %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Alerta" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Confirma" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "Gerente de mal evento: Objecto %1 Identificator %2 methodo %3 Typo %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Exception appellante le function '%1' ex %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Non pote aperir le file '%1'" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Inhabile a aperir file temporari." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 non es un function e non pote esser clamate." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 non es un typo Objecto" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Action vole 2 args." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup vole 2 args." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Tu debe fornir un valide parente." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Il habeva un error in le lectura del file '%1'" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Il non pote leger le file '%1'" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Tu debe fornir un nomine de file." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' non es un valide QLayout." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Tu debe fornir un nomine de disposition." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Objecto de typo errate." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Le prime argumento debe esser un QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Numero incorrecte de argumentos." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Le slot demandava %1 argumento" +msgstr[1] "Le slot demandava %1 argumentos" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "ma solmente %1 esseva disponibile" +msgstr[1] "ma solmente %1 esseva disponibile" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1,%2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Il falleva a mutar le %1 valor ab typo %2 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Non existe le methodo '%1'." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "" +"Il falleva le appello al methodo '%1', il non poteva obtener le argumento %2:" +"%3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Il falleva le appello a '%1'." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Il non pote construer le valor" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "il non ha satis argumentos." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Il falleva a crear Action" + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Il falleva a crear ActionGroup" + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Il non ha specificate classname (nomine de classe)" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Il Falleva a crear Layout (disposition)" + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Classname (Nomine de Classe) non specificate." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Il falleva a crear Widget (Objecto Graphic de Fenestra)." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Il non pote aperir le file '%1': %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Il falleva a cargar le file '%1'" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' non es un valide QWidget." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Tu debe fornir un nomine de widget." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Mal gerente de slot: Objecto %1 Identificator %2 Methodo %3 Signatura: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Appello de exception pro le slot '%1' ex %2:%3:%4 " diff --git a/po/id/kjsembed5.po b/po/id/kjsembed5.po new file mode 100644 index 0000000..82af26f --- /dev/null +++ b/po/id/kjsembed5.po @@ -0,0 +1,250 @@ +# Indonesian translations for kdelibs4 package. +# Copyright (C) 2010 This_file_is_part_of_KDE +# This file is distributed under the same license as the kdelibs4 package. +# Andhika Padmawan , 2010-2014. +# Wantoyo , 2018, 2019, 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2019-02-24 08:03+0700\n" +"Last-Translator: wantoyo \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 19.12.1\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Error terjadi ketika memproses penyertaan '%1' baris %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "penyertaan hanya mengambil 1 argumen, bukan %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "File %1 tidak ditemukan." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "pustaka hanya mengambil 1 argumen, bukan %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Peringatan" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Konfirmasi" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" +"Penanganan even buruk: Objek %1 Pengidentifikasi %2 Metode %3 Tipe: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Panggilan pengecualian fungsi '%1' dari %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Tak dapat membuka file '%1'" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Tak dapat membuat file temporer." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 bukan fungsi dan tidak dapat dipanggil." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 bukan tipe Object" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Aksi mengambil 2 argumen." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "GrupAksi mengambil 2 argumen." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Harus memberikan induk yang valid." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Terjadi error ketika membaca file '%1'" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Tak dapat membaca file '%1'" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Harus memberikan nama file." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' bukan QLayout yang valid." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Harus memberikan nama tata letak." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Tipe objek salah." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Argumen pertama harus sebuah QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Nomor atau argumen tidak benar." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Slot yang diminta untuk %1 argumen" +msgstr[1] "Slot yang diminta untuk %1 argumen" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "tetapi hanyalah %1 yang tersedia" +msgstr[1] "tetapi hanya ada %1 yang tersedia" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Gagal menjelaskan ke %1 nilai dari Tipe %2 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Tak ada metode seperti '%1'." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "Memanggil ke metode '%1' gagal, tak bisa mendapatkan argumen %2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Panggilan terhadap '%1' gagal." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Tak dapat membangun nilai" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Tidak cukup argumen." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Gagal membuat Aksi." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Gagal membuat GrupAksi." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Tak ada nama kelas yang ditentukan." + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Gagal membuat Tata Letak." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Tak ada nama kelas yang ditentukan." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Gagal membuat Widget." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Tak dapat membuka file '%1': %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Gagal memuat file '%1'" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' bukan QWidget yang valid." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Harus memberikan nama widget." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Penanganan rongga buruk: Objek %1 Pengidentifikasi %2 Metode %3 Tandan " +"Tangan: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Panggilan pengecualian slot '%1' dari %2:%3:%4" diff --git a/po/is/kjsembed5.po b/po/is/kjsembed5.po new file mode 100644 index 0000000..f4542c3 --- /dev/null +++ b/po/is/kjsembed5.po @@ -0,0 +1,256 @@ +# translation of kdelibs4.po to Icelandic +# íslensk þýðing á kdelibs4.po +# Copyright (C) 1998,2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. +# +# Logi Ragnarsson , 1998-2003. +# Richard Allen , 1998-2004. +# Pjetur G. Hjaltason , 2003. +# Arnar Leósson , 2003, 2005. +# Sveinn í Felli , 2007, 2008, 2009, 2010, 2011, 2012, 2013. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2013-05-13 22:40+0000\n" +"Last-Translator: Sveinn í Felli \n" +"Language-Team: Icelandic \n" +"Language: is\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.2\n" +"Plural-Forms: Plural-Forms: nplurals=2; plural=n != 1;\n" +"\n" +"\n" +"\n" +"\n" +"\n" +"\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Villa kom upp við þáttun 'include' '%1' línu %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "include tekur aðeins 1 viðfang, ekki %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Skráin %1 fannst ekki." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "aðgerðasafnið tekur aðeins 1 viðfang, ekki %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Aðvörun" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Staðfesta" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "Ógildur tilvikssýslari: Object %1 Identifier %2 Method %3 Type: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Undantekning við kall á fallið '%1' frá %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Gat ekki opnað skrána '%1'" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Ekki tókst að búa til tímabundna skrá." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 er ekki aðgerðafall og er ekki hægt að kalla í." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 er ekki Object gerð" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Action tekur 2 viðföng." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup tekur 2 viðföng." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Verður að gefa upp gilt foreldri." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Það kom upp villa við lestur skráarinnar '%1'" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Gat ekki lesið skrána '%1'" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Verður að gefa upp skráarheiti." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' er ekki gilt QLayout." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Þú verður að gefa heiti." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Röng gerð hlutar." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Fyrsta viðfangið verður að vera QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Rangur fjöldi viðfanga." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Í hólfið (slot) á að fara %1 viðfang" +msgstr[1] "Í hólfið (slot) eiga að fara %1 viðföng" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "en það er bara %1 tiltækur" +msgstr[1] "en það eru bara %1 tiltækir" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Mistókst að varpa í %1 gildið úr Type %2 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Engin slík aðferð '%1'." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "Mistókst að kalla á aðferð '%1', get ekki nálgast viðfangið %2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Kall á '%1' mistókst." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Gat ekki reiknað gildi" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Ekki næg viðföng." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Gat ekki búið til Action." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Gat ekki búið til ActionGroup." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Ekkert klasaheiti gefið" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Get ekki búið til útlit." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Ekkert klasaheiti gefið." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Get ekki búið til græju." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Gat ekki opnað skrána '%1': %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Gat ekki lesið skrána '%1'" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' er ekki gilt QWidget." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Verður að gefa upp græjuheiti." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "Ógildur slot handler: Object %1 Identifier %2 Method %3 Signature: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Villa við að nota '%1' slot frá %2:%3:%4" diff --git a/po/it/docs/kjscmd5/man-kjscmd5.1.docbook b/po/it/docs/kjscmd5/man-kjscmd5.1.docbook new file mode 100644 index 0000000..226f0ee --- /dev/null +++ b/po/it/docs/kjscmd5/man-kjscmd5.1.docbook @@ -0,0 +1,176 @@ + + +]> + + + + +Manuale dell'utente di kjscmd5 + + + +Harri Porten
    porten@kde.org
    +
    +
    + +2015-07-31 +Frameworks 5.13 +KDE Frameworks + +
    + + +kjscmd5 +1 + + + +kjscmd5 +Interprete KJSEmbed di &frameworks; + + + +Sintassi + +kjscmd5 --help -e --exec -i -interactive file + + + +Descrizione + +kjscmd5 è uno strumento per avviare script KJSEmbed dalla riga di comando. Eseguirà gli script contenuti nel file indicato usando KJSEmbed. Non accetta - (stdin) come file. + + + +Opzioni dell'applicazione + + + +, + +esegui il file di script senza supporto per &GUI;. + + + + +, + +avvia l'interprete interattivo kjs. + + + + + + + + +Uso +Il modo più comune di eseguire kjscmd è semplicemente come +kjscmd file + +Se non si usa nessun parametro file, esegue uno script di prova predefinito che misura la velocità di avviamento di kjscmd5. + + + +Vedi anche +kjs5(1) + + + +Errori +Usa il sito di gestione dei bug di &kde; per segnalarli. + + +
    + + + diff --git a/po/it/kjsembed5.po b/po/it/kjsembed5.po new file mode 100644 index 0000000..775d32e --- /dev/null +++ b/po/it/kjsembed5.po @@ -0,0 +1,259 @@ +# translation of kdelibs4.po to Italian +# Andrea Rizzi , 2003, 2004, 2005. +# Federico Cozzi , 2004. +# Federico Zenith , 2004, 2008, 2009, 2010, 2011. +# Andrea Rizzi , 2004. +# Nicola Ruggero , 2005, 2006. +# Nicola Ruggero , 2006, 2007, 2010. +# Luciano Montanaro , 2007. +# Dario Panico , 2008. +# Pino Toscano , 2008. +# Federico Zenith , 2008, 2012, 2013, 2014, 2015. +# Innocenzo Ventre , 2012. +# Vincenzo Reale , 2014. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2013-11-24 11:23+0100\n" +"Last-Translator: Federico Zenith \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 1.5\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "" +"Rilevato errore nell'elaborazione dell'inclusione «%1» alla riga %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "include richiede un solo argomento non %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "File %1 non trovato." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "library richiede un solo argomento, non %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Avviso" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Conferma" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" +"Cattivo gestore di evento: Object %1 Identificatore %2 Metodo %3 Tipo: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Eccezione nella chiamata alla funzione «%1» da %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Impossibile aprire il file «%1»" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Impossibile creare il file temporaneo." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 non è una funzione e non può essere chiamato." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 non è di tipo Object" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Action richiede 2 argomenti." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup richiede 2 argomenti." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Devi fornire un genitore valido." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Si è verificato un errore nella lettura del file «%1»" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Lettura del file «%1» non riuscita" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Devi fornire un nome per il file." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "«%1» non è un QLayout valido." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Devi fornire il nome del layout." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Tipo di oggetto sbagliato." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Il primo argomento dev'essere un QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Numero di argomenti sbagliato." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Lo slot ha richiesto %1 argomento" +msgstr[1] "Lo slot ha richiesto %1 argomenti" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "ma ce n'è uno solo disponibile" +msgstr[1] "ma ce ne sono solo %1 disponibili" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Il cast ad un valore %1 dal tipo %2 (%3) non è riuscito" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Non c'è un metodo «%1»." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "" +"La chiamata al metodo «%1» non è riuscita, impossibile ottenere l'argomento " +"%2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Chiamata a «%1» non riuscita." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Impossibile costruire un valore" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Non ci sono abbastanza argomenti." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Creazione Action non riuscita." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Creazione ActionGroup non riuscita." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Nessun none di classe specificato" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Creazione Layout non riuscita." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Nessun nome di classe specificato." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Impossibile creare l'elemento." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Impossibile aprire il file «%1»: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Impossibile caricare il file «%1»" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "«%1» non è un QWidget valido." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Devi fornire il nome di un elemento." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Cattivo gestore di slot: Object %1 Identificatore %2 Metodo %3 Tipo: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Eccezione nella chiamata allo slot «%1» da %2:%3:%4" diff --git a/po/ja/kjsembed5.po b/po/ja/kjsembed5.po new file mode 100644 index 0000000..6a00d46 --- /dev/null +++ b/po/ja/kjsembed5.po @@ -0,0 +1,256 @@ +# Translation of kdelibs4 into Japanese. +# This file is distributed under the same license as the kdelibs package. +# Taiki Komoda , 2002, 2004, 2006, 2010. +# Noboru Sinohara , 2004. +# Toyohiro Asukai , 2004. +# Kurose Shushi , 2004. +# AWASHIRO Ikuya , 2004. +# Shinichi Tsunoda , 2005. +# Yukiko Bando , 2006, 2007, 2008, 2009, 2010. +# Fumiaki Okushi , 2006, 2007, 2008, 2010, 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2011-08-27 14:05-0700\n" +"Last-Translator: Fumiaki Okushi \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Generator: Lokalize 1.1\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "インクルード ‘%1’ の %2 行目を処理中にエラー: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "インクルードの引数は 1 つだけです。%1 ではありません。" + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "ファイル ‘%1’ が見つかりません。" + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "ライブラリの引数は 1 つだけです。%1 ではありません。" + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "注意" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "確認" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" +"不正なイベントハンドラ: オブジェクト %1 識別子 %2 メソッド %3 タイプ: %4" + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "%2:%3:%4 からの関数 %1 の呼び出しで例外" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "ファイル ‘%1’ を開けませんでした" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "一時ファイルを作成できませんでした。" + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 は関数ではないため呼び出せません。" + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 はオブジェクトタイプではありません" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "アクションは 2 つの引数を取ります。" + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "アクショングループは 2 つの引数を取ります。" + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "有効な親を指定してください。" + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "ファイル ‘%1’ の読み込みでエラーがありました" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "ファイル ‘%1’ を読み込めませんでした" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "ファイル名を指定してください。" + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "“%1” は有効な QLayout ではありません。" + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "レイアウト名を指定してください。" + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "不正なオブジェクトタイプです。" + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "最初の引数は QObject でなければなりません。" + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "引数の数が間違っています。" + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "スロットは %1 個の引数を求めていますが" +msgstr[1] "スロットは %1 個の引数を求めていますが" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "%1 個しかありません" +msgstr[1] "%1 個しかありません" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1、%2" + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "%1 というメソッドはありません。" + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "" +"メソッド %1 へのコールが失敗しました。引数 %2 を取得できませんでした: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "%1 へのコールが失敗しました。" + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "値をコンストラクトできませんでした" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "引数が足りません。" + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "アクションの作成に失敗しました。" + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "アクショングループの作成に失敗しました。" + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "クラス名が指定されていません" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "レイアウトの作成に失敗しました。" + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "クラス名が指定されていません。" + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "ウィジェットの作成に失敗しました。" + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "ファイル ‘%1’ を開けませんでした: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "ファイル ‘%1’ の読み込みに失敗しました" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "%1 は有効な QWidget ではありません。" + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "ウィジェット名を指定してください。" + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "不正なスロットハンドラ: オブジェクト %1 識別子 %2 メソッド %3 署名: %4" + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "%2:%3:%4 からのスロット %1 の呼び出しで例外" diff --git a/po/ka/kjsembed5.po b/po/ka/kjsembed5.po new file mode 100644 index 0000000..9171a20 --- /dev/null +++ b/po/ka/kjsembed5.po @@ -0,0 +1,251 @@ +# KDE3 - Georgian translation of kdelibs4.po +# Gia Shervashidze , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2009-12-17 02:11+0400\n" +"Last-Translator: George Machitidze \n" +"Language-Team: Georgian \n" +"Language: ka\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.9\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "" + +#: kjsembed/builtins.cpp:120 +#, fuzzy, kde-format +msgid "File %1 not found." +msgstr "%1 სტილი ვერ მოიძებნა\n" + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "" + +#: kjsembed/builtins.cpp:137 +#, fuzzy, kde-format +#| msgid "Alt" +msgid "Alert" +msgstr "Alt" + +#: kjsembed/builtins.cpp:147 +#, fuzzy, kde-format +#| msgid "Configure" +msgid "Confirm" +msgstr "გამართვა" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "" + +#: kjsembed/fileio.cpp:69 +#, fuzzy, kde-format +msgid "Could not open file '%1'" +msgstr "" +"'%1' ბიბლიოთეკის გახსნა ვერ ხერხდება.\n" +"%2" + +#: kjsembed/fileio.cpp:106 +#, fuzzy, kde-format +msgid "Could not create temporary file." +msgstr "არ ხერხდება ახალი ფაილის შექმნა." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "" + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, fuzzy, kde-format +msgid "%1 is not an Object type" +msgstr "ბაზა ობიექტი არაა" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "" + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "" + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "" + +#: kjsembed/qformbuilder_binding.cpp:56 +#, fuzzy, kde-format +msgid "There was an error reading the file '%1'" +msgstr "მოდულის ჩატვირთვის შეცდომა." + +#: kjsembed/qformbuilder_binding.cpp:64 +#, fuzzy, kde-format +msgid "Could not read file '%1'" +msgstr "ვერ ვპოულობ '%1' სერვისს." + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "" + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "" + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "" + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "" + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "" + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "" + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "" + +#: kjsembed/qobject_binding.cpp:410 +#, fuzzy, kde-format +#| msgid "There is no matching item available.\n" +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "თანმხვედრი ელემენტები არაა.\n" + +#: kjsembed/qobject_binding.cpp:411 +#, fuzzy, kde-format +#| msgctxt "concatenation of dates and time" +#| msgid "%1 %2" +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2" + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "" + +#: kjsembed/qobject_binding.cpp:660 +#, fuzzy, kde-format +msgid "No such method '%1'." +msgstr "არაა მენიუს ელემენტი '%1'." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "" + +#: kjsembed/qobject_binding.cpp:726 +#, fuzzy, kde-format +msgid "Call to '%1' failed." +msgstr "ჩადგმა არ შედგა." + +#: kjsembed/qobject_binding.cpp:792 +#, fuzzy, kde-format +msgid "Could not construct value" +msgstr "შეუძლებელია ფაილის ჩატვირთვა." + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "" + +#: kjsembed/quiloader_binding.cpp:67 +#, fuzzy, kde-format +msgid "Failed to create Action." +msgstr "განახლების ინსტრუქციის წაკითხვის შეცდომა მისამართიდან" + +#: kjsembed/quiloader_binding.cpp:81 +#, fuzzy, kde-format +msgid "Failed to create ActionGroup." +msgstr "განახლების ინსტრუქციის წაკითხვის შეცდომა მისამართიდან" + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "" + +#: kjsembed/quiloader_binding.cpp:97 +#, fuzzy, kde-format +msgid "Failed to create Layout." +msgstr "ასატვირთი ფაილის შექმნა ვერ ხერხდება." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "" + +#: kjsembed/quiloader_binding.cpp:114 +#, fuzzy, kde-format +msgid "Failed to create Widget." +msgstr "ასატვირთი ფაილის შექმნა ვერ ხერხდება." + +#: kjsembed/quiloader_binding.cpp:128 +#, fuzzy, kde-format +msgid "Could not open file '%1': %2" +msgstr "" +"'%1' ბიბლიოთეკის გახსნა ვერ ხერხდება.\n" +"%2" + +#: kjsembed/quiloader_binding.cpp:136 +#, fuzzy, kde-format +msgid "Failed to load file '%1'" +msgstr "ვერ ვახერხებ '%1' რესურსის ჩატვირთვა" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "" + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "" + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "" diff --git a/po/kk/kjsembed5.po b/po/kk/kjsembed5.po new file mode 100644 index 0000000..0da6980 --- /dev/null +++ b/po/kk/kjsembed5.po @@ -0,0 +1,251 @@ +# translation of kdelibs4.po to Karakh +# +# Sairan Kikkarin , 2005, 2006, 2007, 2008, 2009. +# Sairan Kikkarin , 2010, 2011, 2012. +# Sairan Kikkarin , 2010, 2013. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2013-11-08 01:24+0600\n" +"Last-Translator: Sairan Kikkarin \n" +"Language-Team: Kazakh \n" +"Language: kk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.2\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"\n" +"\n" +"\n" +"\n" +"\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "'%1' ендіру кезінде %2-жолында қате байқалды: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "кірістірмесі 1 аргументін керек етеді, %1 - дұрыс емес." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "%1 файлы табылмады." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "Жиын 1 аргументі керек етеді, %1 - дұрыс емес." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Дабыл" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Құптау" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" +"Жарамсыз оқиға өңдеушісі: нысан %1 идентификаторы %2 әдісі %3 түрі: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "%2:%3:%4 дегеннен '%1' функциясын шақырғанда ерекше жағдай орын алды" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "'%1' файлы ашылмады" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Уақытша файл құрылмады." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 деген функция емес, оны шақыруға болмайды." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 дегеннің түрі Object емес" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Әрекет 2 аргументті керек етеді." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup 2 аргументті керек етеді." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Дұрыс аталығын келтіру керек." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "'%1' файлын оқу кезде бір қате орын алды" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "'%1' файлы оқылмады" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Файлдың атауын келтіру керек." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' деген дұрыс QLayout емес." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Орналысуның атауын келтіру керек." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Нысан түрі дұрыс емес." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Бірінші аргументі QObject болу керек." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Аргумент саны келіспейді." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Слотқа %1 аргумент керек" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "бірақ оған %1 аргумент тапсырылған" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "%2 (%3) түрінен %1 дегенге мәнін беру жаңылысы" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "'%1' деген әдісі жоқ." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "'%1' әдісін шақыру жаңылысы, %2 аргументін алуы болмады: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "'%1' дегенді шақыру жаңылысы." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Мәні құрылмады" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Аргументтер жетіспейді." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Әрекетті құру жаңылысы." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Әрекет тобын құру жаңылысы." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Кластың атауы келтірілмеген" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Орналысу жаңылысы." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Кластың атауы келтірілмеген." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Интерфейс бөлшегін құру жаңылысы." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "'%1' файлы ашылмады: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "'%1' файлын жүктеу жаңылысы" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' дұрыс QWidget емес." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Интерфейс бөлшегінің атауын келтіру керек." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Жарамсыз слот өңдеушісі: нысан %1 идентификаторы %2 әдісі %3 қолтаңбасы: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "%2:%3:%4 дегеннен '%1' слотын шақығанда ерекше жағдай орын алды" diff --git a/po/km/kjsembed5.po b/po/km/kjsembed5.po new file mode 100644 index 0000000..46672bf --- /dev/null +++ b/po/km/kjsembed5.po @@ -0,0 +1,246 @@ +# translation of kdelibs4.po to Khmer +# Khoem Sokhem , 2008, 2009, 2010, 2011, 2012. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2012-06-27 10:04+0700\n" +"Last-Translator: Khoem Sokhem \n" +"Language-Team: Khmer\n" +"Language: km\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: KBabel 1.11.4\n" +"X-Language: km-KH\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "បាន​ឃើញ​កំហុស​ ខណៈ​ដែល​ដំណើរការ​រួមបញ្ចូល '%1' បន្ទាត់ %2 ៖ %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "រួមបញ្ចូល​​យក​តែ​អាគុយម៉ង់ ១ មិនមែន %1 ទេ ។" + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "រក​មិន​ឃើញ %1" + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "បណ្ណាល័យ​យកតែ​អាគុយម៉ង់ ១ មិនមែន %1 ទេ ។" + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "ផ្លាស់ប្ដូរ" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "អះអាង" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" +"កម្មវិធី​ដោះស្រាយ​ព្រឹត្តិការណ៍​មិន​ត្រឹមត្រូវ ៖ វត្ថុ %1 កម្មវិធី​កំណត់​អត្តសញ្ញាណ %2 វិធីសាស្ត្រ %3 " +"ប្រភេទ ៖ %4 ។" + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "លើកលែងតែ​កា​ហៅ​មុខងារ '%1' ពី %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "មិន​អាច​បើក​ឯកសារ '%1' បាន​ឡើយ" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "មិនអាច​បង្កើត​ឯកសារ​បណ្ដោះអាសន្ន​បានទេ ។" + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 គឺ​មិនមែន​ជា​អនុគមន៍​ទេ ហើយ​មិនអាច​ហៅ​បានឡើយ ។" + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 មិនមែន​ជា​ប្រភេទ​វត្ថុ​ទេ" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "អំពើ​យក​អាគុយម៉ង់ ២ ។" + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ក្រុម​អំពើ​យក​អាគុយម៉ង់ ២ ។" + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "ត្រូវតែ​ផ្ដល់​មេ​ត្រឹមត្រូវ ។" + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "មាន​កំហុស​ក្នុងការ​អាន​ឯកសារ '%1'" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "មិនអាច​អាន​ឯកសារ '%1' បានឡើយ" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "ត្រូវតែ​ផ្ដល់​ឈ្មោះ​ឯកសារ ។" + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' គឺ​មិនមែន​ជា QLayout ត្រឹមត្រូវ​ទេ ។" + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "ត្រូវ​តែ​ផ្ដល់​ឈ្មោះ​ប្លង់ ។" + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "ប្រភេទ​វត្ថុ​មិនត្រឹមត្រូវ ។" + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "អាគុយម៉ង់​ទីមួយ​ត្រូវតែ​ជា QObject ។" + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "លេខ​មិន​ត្រឹមត្រូវ​របស់​អាគុយម៉ង់ ។" + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "រន្ធដែលបាន​ស្នើ​សម្រាប់​អាគុយម៉ង់ %1" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "ប៉ុន្តែ​មាន​តែ​ %1 អាច​ប្រើ​បាន" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "បរាជ័យ​ក្នុងការ​ផ្សព្វផ្សាយ​ទៅ​តម្លៃ %1 ពី​ប្រភេទ %2 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "គ្មាន​វិធីសាស្ដ្រ '%1' ដូចនោះ​ទេ ។" + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "បរាជ័យ​ក្នុងការ​ហៅ​ទៅ​វិធីសាស្ដ្រ '%1' ដូច្នេះ​មិនអាច​យក​អាគុយម៉ង់ %2 ៖ %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "បរាជ័យ​ក្នុង​ការ​ហៅ​ទៅ '%1' ។" + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "មិនអាច​បង្កើត​តម្លៃ​បានទេ" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "មាន​អាគុយម៉ង​មិនត្រឹមត្រូវ ។" + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "បរាជ័យ​ក្នុងការ​បង្កើត​អំពើ ។" + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "បរាជ័យ​ក្នុង​ការ​បង្កើតក្រុម​អំពើ ។" + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "គ្មាន​ឈ្មោះ​ថ្នាក់​ដែល​បាន​បញ្ជាក់​ទេ" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "បរាជ័យ​ក្នុង​ការ​បង្កើត​ប្លង់ ។" + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "គ្មាន​ឈ្មោះ​ថ្នាក់​ដែលបាន​បញ្ជាក់​ទេ ។" + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "បរាជ័យ​ក្នុង​ការ​បង្កើត​ធាតុក្រាហ្វិក ។" + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "មិនអាច​បើក​ឯកសារ '%1' បានឡើយ ៖ %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "បរាជ័យ​ក្នុងការ​ផ្ទុក​​ឯកសារ '%1'" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' មិនមែន​ជា QWidget ត្រឹមត្រូវ​ឡើយ ។" + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "ត្រូវតែ​ផ្ដល់​ឈ្មោះ​ធាតុក្រាហ្វិក ។" + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"កម្មវិធី​ដោះស្រាយ​រន្ធ​មិនត្រឹមត្រូវ ៖ វត្ថុ %1 កម្មវិធី​​កំណត់​អត្តសញ្ញាណ %2 វិធីសាស្ដ្រ %3 ហត្ថលេខា ៖ " +"%4 ។" + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "លើកលែងតែ​ការ​ហៅ​រន្ធ '%1' ពី %2:%3:%4" diff --git a/po/kn/kjsembed5.po b/po/kn/kjsembed5.po new file mode 100644 index 0000000..6b6b49a --- /dev/null +++ b/po/kn/kjsembed5.po @@ -0,0 +1,254 @@ +# translation of kdelibs4.po to Kannada +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Umesh Rudrapatna , 2007. +# Umesh Rudrapatna , 2007, 2008, 2009. +# Shankar Prasad , 2008, 2010. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2010-06-24 18:32+0530\n" +"Last-Translator: Shankar Prasad \n" +"Language-Team: kn_IN \n" +"Language: kn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"\n" +"X-Generator: Lokalize 1.0\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "ಸಂಸ್ಕರಣೆಯಲ್ಲಿ ಕಂಡುಬಂದ ತಪ್ಪುಗಳು '%1' ಸಾಲು %2: %3 ಅನ್ನು ಒಳಗೊಂಡಿವೆ" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "ಕೇವಲ ೧ ಚರಪರಿಮಾಣವನ್ನು (ಆರ್ಗ್ಯೂಮೆಂಟ್) ಸೇರಿಸು, %1 ನ್ನಲ್ಲ." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "ಕಡತ %1 ಕಂಡುಬರಲಿಲ್ಲ." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "ಭಂಡಾರ ಕೇವಲ ೧ ಚರಪರಿಮಾಣವನ್ನು (ಆರ್ಗ್ಯೂಮೆಂಟ್) ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ, %1 ಅಲ್ಲ." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "ಎಚ್ಚರಿಕೆ" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "ಖಚಿತಪಡಿಸು" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "ಕೆಟ್ಟ ಘಟನಾ (ಈವೆಂಟ್) ನಿಭಾರಕ: ವಸ್ತು %1 ಗುರುತು %2 ವಿಧಾನ %3 ಬಗೆ: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "" +"%2:%3:%4 ನಿಂದ '%1' ಪ್ರಿತಿಫಲನಕ್ರಮವಿಧಿಗೆ (ಫಂಕ್ಷನ್) ಕರೆನೀಡಿದಾಗ ತೊಡಕು (ಎಕ್ಸೆಪ್ಷನ್) " +"ಕಂಡುಬಂದಿತು" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "ಕಡತ '%1' ಅನ್ನು ತೆರೆಯಲಾಗಲಿಲ್ಲ" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "ತಾತ್ಕಾಲಿಕ ಕಡತವನ್ನು ಸೃಷ್ಟಿಸಲಾಗಲಿಲ್ಲ." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 ಒಂದು ಪ್ರತಿಫಲನಕ್ರಮವಿಧಿಯಲ್ಲ (ಫನ್ಕ್ಷನ್), ಹಾಗಾಗಿ ಕರೆನೀಡಲಾಗುವುದಿಲ್ಲ." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 ಒಂದು ವಸ್ತು ಬಗೆಯಲ್ಲ" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "ಕ್ರಿಯೆಯು ೨ ಚರಪರಿಮಾಣಗಳನ್ನು (args) ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ಕ್ರಿಯಾಸಮೂಹ (ಆಕ್ಷನ್ ಗ್ರೂಪ್) ೨ ಚರಪರಿಮಾಣಗಳನ್ನು (args) ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "ಮಾನ್ಯ ಪೂರ್ವಜನನ್ನು (ಪೇರೆಂಟ್) ಕಡ್ಡಾಯವಾಗಿ ನೀಡಬೇಕು." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "'%1' ಕಡತವನ್ನು ಓದುವುದರಲ್ಲಿ ದೋಷ ಕಂಡುಬಂದಿತು" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "'%1' ಕಡತವನ್ನು ಓದಲಾಗಲಿಲ್ಲ" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "ಕಡತನಾಮವನ್ನು ಕಡ್ಡಾಯವಾಗಿ ನೀಡಬೇಕು." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' ಒಂದು ಮಾನ್ಯವಾದ Qವಿನ್ಯಾಸವಲ್ಲ." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "ವಿನ್ಯಾಸದ ಹೆಸರೊಂದನ್ನು ನೀಡಬೇಕು." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "ತಪ್ಪು ವಸ್ತು ಬಗೆ." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "ಮೊದಲ ಚರಪರಿಮಾಣ (ಆರ್ಗ್ಯೂಮೆಂಟ್) ಒಂದು Qವಸ್ತು ಆಗಿರಬೇಕು." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "ತಪ್ಪು ಸಂಖ್ಯೆಯ ಚರಪರಿಮಾಣಗಳು (ಆರ್ಗ್ಯೂಮೆಂಟ್)." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "" +msgstr[1] "" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "ಆದರೆ ಕೇವಲ ಒಂದೆ ಒಂದು %1 ಮಾತ್ರ ಲಭ್ಯವಿದೆ" +msgstr[1] "ಆದರೆ ಕೇವಲ %1 ಮಾತ್ರ ಲಭ್ಯವಿವೆ" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "%2 (%3) ಬಗೆಯಿಂದ %1 ಮೌಲ್ಯಕ್ಕೆ ರೂಪುಕೊಡವುದರಲ್ಲಿ ವೈಫಲ್ಯ" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "'%1' ಎಂಬ ವಿಧಾನವಿಲ್ಲ." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "" +"'%1' ವಿಧಾನಕ್ಕೆೆ ಕರೆನೀಡುವಿಕೆ ವಿಫಲವಾಯಿತ, %2: %3 ಚರಪರಿಮಾಣಗಳನ್ನು (ಆರ್ಗ್ಯೂಮೆಂಟ್) " +"ಪಡೆಯಲಾಗಲಿಲ್ಲ." + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "'%1' ಗೆ ಕರೆನೀಡುವಿಕೆ ವಿಫಲವಾಯಿತು." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "ಮೌಲ್ಯವನ್ನು ನಿರ್ಮಿಸಲಾಗಲಿಲ್ಲ" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "ಅಗತ್ಯವಾದಷ್ಟು ಚರಪರಿಮಾಣಗಳಿಲ್ಲ (ಆರ್ಗ್ಯೂಮೆಂಟ್)." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "ಕ್ರಿಯೆಯನ್ನು ಸೃಷ್ಟಿಸುವುದು ವಿಫಲವಾಯಿತು." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "ಕ್ರಿಯಾಸಮೂಹ (ಆಕ್ಷನ್ ಗ್ರೂಪ್) ಸೃಷ್ಟಿಸುವುದು ವಿಫಲವಾಯಿತು." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "ವರ್ಗನಾಮ (ಕ್ಲಾಸ್ ನೇಮ್) ನಿರ್ದಿಷ್ಟಗೊಂಡಿಲ್ಲ" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "ವಿನ್ಯಾಸವನ್ನು ಸೃಷ್ಟಿಸುವುದು ವಿಫಲವಾಯಿತು." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "ವರ್ಗನಾಮ (ಕ್ಲಾಸ್ ನೇಮ್) ನಿರ್ದಿಷ್ಟಗೊಂಡಿಲ್ಲ." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "ನಿಯಂತ್ರಣಾ ಸಂಪರ್ಕತಟವನ್ನು (ವಿಡ್ಗೆಟ್) ಸೃಷ್ಟಿಸುವುದು ವಿಫಲವಾಯಿತು." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "'%1' ಕಡತವನ್ನು ತೆರೆಯಲಾಗಲಿಲ್ಲ: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "'%1' ಕಡತವನ್ನು ಲೋಡ್‌ ಮಾಡುವುದು ವಿಫಲವಾಯಿತು" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' ಒಂದು ಮಾನ್ಯ ನಿಯಂತ್ರಣಾ ಸಂಪರ್ಕತಟವಲ್ಲ (ವಿಡ್ಗೆಟ್)." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "ನಿಯಂತ್ರಣಾ ಸಂಪರ್ಕತಟದ (ವಿಡ್ಗೆಟ್) ಹೆಸರನ್ನು ಪೂರೈಸಬೇಕು." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "ಕೆಟ್ಟ ಸೀಳುಗಾಲುವೆಗೆ (ಸ್ಲಾಟ್) ನಿಭಾರಕ: ವಸ್ತು %1 ಗುರುತು %2 ವಿಧಾನ %3 ರುಜು: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "" +"%2:%3:%4 ನಿಂದ '%1' ಸೀಳುಗಾಲುವೆಗೆ (ಸ್ಲಾಟ್) ಕರೆನೀಡಿದಾಗ ತೊಡಕು (ಎಕ್ಸೆಪ್ಷನ್) ಕಂಡುಬಂದಿತು" diff --git a/po/ko/kjsembed5.po b/po/ko/kjsembed5.po new file mode 100644 index 0000000..c667c62 --- /dev/null +++ b/po/ko/kjsembed5.po @@ -0,0 +1,244 @@ +# Korean messages for kdelibs. +# Copyright (C) Free Software Foundation, Inc. +# Cho Sung Jae , 2007. +# Shinjo Park , 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2020-04-04 11:49+0200\n" +"Last-Translator: Shinjo Park \n" +"Language-Team: Korean \n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 19.04.3\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "포함된 파일 '%1'의 %2 줄을 처리하는 중 오류 발생: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "include는 인자 %1개가 아니라 인자 한 개만 받아들입니다." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "파일 %1(을)를 찾을 수 없습니다." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "라이브러리는 인자 %1개가 아니라 인자 한 개만 받아들입니다." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "알림" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "확인" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "잘못된 이벤트 핸들러: 개체 %1 식별자 %2 메서드 %3 형식: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "%2:%3:%4에서 '%1' 함수를 호출하는 중 예외 발생" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "파일 '%1'(을)를 열 수 없습니다." + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "임시 파일을 만들 수 없습니다." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1(은)는 함수가 아니므로 호출될 수 없습니다." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1(은)는 개체 형식이 아닙니다" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "동작은 인자 두 개를 받아들입니다." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "동작그룹은 인자 두 개를 받아들입니다." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "올바른 부모를 지정해야 합니다." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "파일 '%1'(을)를 읽는 중 오류가 발생했습니다" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "파일 '%1'(을)를 읽을 수 없습니다" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "파일 이름을 지정해야 합니다." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1'(은)는 올바른 QLayout이 아닙니다." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "레이아웃 이름을 지정해야 합니다." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "잘못된 개체 형식입니다." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "첫 번째 인자는 QObject여야 합니다." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "인자 개수가 잘못되었습니다." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "슬롯에는 인자가 %1개 필요합니다" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "하지만 %1개만 사용할 수 있습니다" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "%2 형식의 값을 %1 형식으로 변환할 수 없습니다 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "메서드 '%1'(이)가 없습니다." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "인자 %2(을)를 가져올 수 없어서 메서드 '%1'의 호출이 실패했습니다: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "'%1' 호출이 실패했습니다." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "값을 구성할 수 없습니다" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "인자가 충분하지 않습니다." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "동작을 만들 수 없습니다." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "동작그룹을 만들 수 없습니다." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "클래스 이름 지정되지 않음" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "레이아웃을 만들 수 없습니다." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "클래스 이름이 지정되지 않았습니다." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "위젯을 만드는 데 실패했습니다." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "파일 '%1'(을)를 불러올 수 없습니다: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "파일 '%1'(을)를 여는 데 실패했습니다." + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1'(은)는 올바른 QWidget이 아닙니다." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "위젯 이름을 입력해야 합니다." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "잘못된 슬롯 핸들러: 개체 %1 식별자 %2 메서드 %3 서명: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "%2:%3:%4에서 '%1' 슬롯을 호출하는 중 예외 발생" diff --git a/po/ku/kjsembed5.po b/po/ku/kjsembed5.po new file mode 100644 index 0000000..37ac220 --- /dev/null +++ b/po/ku/kjsembed5.po @@ -0,0 +1,254 @@ +# translation of kdelibs4.po to Kurdish +# Kurdish translation for kdelibs +# Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 +# This file is distributed under the same license as the kdelibs package. +# FIRST AUTHOR , 2006. +# Erdal Ronahi , 2006, 2008. +# Erdal Ronahi , 2007, 2008, 2009. +# Amed Çeko Jiyan , 2008. +# Erdal Ronahî , 2010. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2010-08-13 15:45+0200\n" +"Last-Translator: Erdal Ronahî \n" +"Language-Team: Kurdish Team http://pckurd.net\n" +"Language: ku\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Virtaal 0.6.1\n" +"X-Launchpad-Export-Date: 2007-11-26 09:44+0000\n" +"X-Poedit-Language: Kurdish\n" +"X-Poedit-Country: Kurdistan\n" +"X-Poedit-SourceCharset: utf-8\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "include tenê argunamekê distîne, ne %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Pelê %1 nehate dîtin." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "library tenê argunamekê distîne, ne %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Şiyarî" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Piştrastkirin" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "Xebatkera bûyerên nebaş: Hêman %1 Nasker %2 Metod %3 Cure: %4" + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Vekirina pelê '%1' biserneket" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Pelê demdemî nayê çêkirin." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 ne fonksiyonek e û nayê gazîkirin." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 ne cureyekî bireseran e" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Çalakî 2 argûmanan distîne." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "KomaÇalakiyan 2 argûmanan distîne." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Divê çavkanî bê diyarkirin." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Dema pelê '%1' hat xwendin çewtiyek derket holê" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Xwendina pelê '%1' biserneket." + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Divê navê pelî bê diyarkirin." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' ne QLayout'eke derbasdar e." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Divê navê bicîbûnekê bê diyarkirin." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Cureyê hêmanan çêewt e." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Divê argûmenta yekemîn QObject be." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Hejmara çewt a argûmetan." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "" +msgstr[1] "" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "lê li vir tenê %1 heye" +msgstr[1] "lê li vir tenê %1 henin" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Şewaza '%1' tune." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "Gazîkirina metoda '%1' têkçû, nekarî hevoksaziya %2 bîne: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Gazîkirina '%1 'ê bi ser neket." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Nirx nehat serastkirin" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Argûmanên heyî têrê nakin." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Afirandina çalakiyê biserneket." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Afirandina koma çalakiyan biserneket." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Navê sinifê nehatiye diyarkirin" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Afirandina Mizanpajê biserneket." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Navê sinifê nehatiye diyarkirin." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Afirandina Widget biserneket." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Vekirina pelê '%1' biserneket: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Barkirina pelê '%1' biserneket" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' ne QWidget'eke derbasdar e." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Divê navê parçeyekê bê diyarkirin." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "" diff --git a/po/lb/kjsembed5.po b/po/lb/kjsembed5.po new file mode 100644 index 0000000..6a9ff11 --- /dev/null +++ b/po/lb/kjsembed5.po @@ -0,0 +1,253 @@ +# translation of kdelibs4.po to Luxembourgish +# kevin claude everard , 2005. +# Michel Ludwig , 2005, 2006. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2006-06-22 16:29+0200\n" +"Last-Translator: Michel Ludwig \n" +"Language-Team: Luxembourgish \n" +"Language: lb\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.2\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "" + +#: kjsembed/builtins.cpp:120 +#, fuzzy, kde-format +msgid "File %1 not found." +msgstr "De Stil %1 ass net fonnt ginn\n" + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "" + +#: kjsembed/builtins.cpp:137 +#, fuzzy, kde-format +#| msgid "Alt" +msgid "Alert" +msgstr "Alt" + +#: kjsembed/builtins.cpp:147 +#, fuzzy, kde-format +#| msgid "Configure" +msgid "Confirm" +msgstr "Configuréieren" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "" + +#: kjsembed/fileio.cpp:69 +#, fuzzy, kde-format +msgid "Could not open file '%1'" +msgstr "" +"Konnt d'Bibliothéik '%1' net opmaachen.\n" +"%2" + +#: kjsembed/fileio.cpp:106 +#, fuzzy, kde-format +msgid "Could not create temporary file." +msgstr "Konnt déi nei Datei net erstellen." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "" + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, fuzzy, kde-format +msgid "%1 is not an Object type" +msgstr "Basis ass keen Objekt" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "" + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "" + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "" + +#: kjsembed/qformbuilder_binding.cpp:56 +#, fuzzy, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Et ass e Feeler beim Luede vum Modul opgetrueden." + +#: kjsembed/qformbuilder_binding.cpp:64 +#, fuzzy, kde-format +msgid "Could not read file '%1'" +msgstr "Konnt de Service '%1' net fannen." + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "" + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "" + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "" + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "" + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "" + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "" + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "" +msgstr[1] "" + +#: kjsembed/qobject_binding.cpp:410 +#, fuzzy, kde-format +#| msgid "There is no resource available!" +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "Et ass keng Ressource do!" +msgstr[1] "Et ass keng Ressource do!" + +#: kjsembed/qobject_binding.cpp:411 +#, fuzzy, kde-format +#| msgctxt "concatenation of dates and time" +#| msgid "%1 %2" +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1 %2" + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "" + +#: kjsembed/qobject_binding.cpp:660 +#, fuzzy, kde-format +msgid "No such method '%1'." +msgstr "D'Entrée '%1' ass net am Menü." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "" + +#: kjsembed/qobject_binding.cpp:726 +#, fuzzy, kde-format +msgid "Call to '%1' failed." +msgstr "Installatioun net gaang." + +#: kjsembed/qobject_binding.cpp:792 +#, fuzzy, kde-format +msgid "Could not construct value" +msgstr "Konnt d'Datei net opmaachen." + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "" + +#: kjsembed/quiloader_binding.cpp:67 +#, fuzzy, kde-format +msgid "Failed to create Action." +msgstr "Datei mat Instruktioune fir d'Aktualiséierung" + +#: kjsembed/quiloader_binding.cpp:81 +#, fuzzy, kde-format +msgid "Failed to create ActionGroup." +msgstr "Datei mat Instruktioune fir d'Aktualiséierung" + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "" + +#: kjsembed/quiloader_binding.cpp:97 +#, fuzzy, kde-format +msgid "Failed to create Layout." +msgstr "D'Datei fir eropzeluede konnt net erstallt ginn." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "" + +#: kjsembed/quiloader_binding.cpp:114 +#, fuzzy, kde-format +msgid "Failed to create Widget." +msgstr "D'Datei fir eropzeluede konnt net erstallt ginn." + +#: kjsembed/quiloader_binding.cpp:128 +#, fuzzy, kde-format +msgid "Could not open file '%1': %2" +msgstr "" +"Konnt d'Bibliothéik '%1' net opmaachen.\n" +"%2" + +#: kjsembed/quiloader_binding.cpp:136 +#, fuzzy, kde-format +msgid "Failed to load file '%1'" +msgstr "Konnt d'Quell '%1' net lueden" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "" + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "" + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "" diff --git a/po/lt/kjsembed5.po b/po/lt/kjsembed5.po new file mode 100644 index 0000000..69c7ca0 --- /dev/null +++ b/po/lt/kjsembed5.po @@ -0,0 +1,258 @@ +# translation of kdelibs4.po to Lithuanian +# Ričardas Čepas , 2002-2004. +# Donatas Glodenis , 2004-2009. +# Gintautas Miselis , 2008. +# Andrius Štikonas , 2009. +# Tomas Straupis , 2011. +# Remigijus Jarmalavičius , 2011. +# Liudas Ališauskas , 2011, 2012, 2013, 2014. +# Liudas Alisauskas , 2013. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2019-11-23 00:59+0200\n" +"Last-Translator: Liudas Ališauskas \n" +"Language-Team: Lithuanian \n" +"Language: lt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n%10>=2 && (n%100<10 || n" +"%100>=20) ? 1 : n%10==0 || (n%100>10 && n%100<20) ? 2 : 3);\n" +"X-Generator: Poedit 2.2.4\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Klaida apdorojant įtraukimą \"%1\", eilutė %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "įtraukimui reikia tik 1 argumento, o ne %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Failas %1 nerastas." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "bibliotekai reikia tik vieno argumento, o ne %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Įspėjimas" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Patvirtinti" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" +"Bloga įvykių doroklė: Objektas %1 Identifikatorius %2 Metodas %3 Tipas: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Išimtis iškviečiant \"%1\" funkciją iš %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Nepavyko atverti failo „%1“" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Nepavyko sukurti laikinojo failo." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 nėra funkcija ir negali būti iškviesta." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 nėra objekto tipas" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Veiksmui reikia 2 argumentų." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "Veiksmų grupei reikia 2 argumentų." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Privaloma pateikti teisingą viršesnį elementą." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Įvyko klaida skaitant failą „%1“" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Nepavyko perskaityti failo „%1“" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Privaloma pateikti failo pavadinimą." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "„%1“ nėra teisingas QLayout." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Privaloma pateikti išdėstymo pavadinimą." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Neteisingas objekto tipas." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Pirmasis parametras privalo būti QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Neteisingas argumentų skaičius." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Lizdas paprašė %1 argumento" +msgstr[1] "Lizdas paprašė %1 argumentų" +msgstr[2] "Lizdas paprašė %1 argumentų" +msgstr[3] "Lizdas paprašė %1 argumento" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "tačiau yra prieinamas tik %1" +msgstr[1] "tačiau yra prieinami tik %1" +msgstr[2] "tačiau yra prieinama tik %1" +msgstr[3] "tačiau yra prieinamas tik %1" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Nepavyko perduoti %1 reikšmę iš tipo %2 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Nėra tokio metodo „%1“." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "" +"Iškvieta į metodą \"%1\" patyrė nesėkmę, nepavyko gauti argumento %2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Iškvieta į \"%1\" patyrė nesėkmę." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Nepavyksta sukonstruoti reikšmės" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Trūksta argumentų." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Nepavyko sukurti veiksmo." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Nepavyko sukurti veiksmų grupės." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Nenurodytas klasės pavadinimas" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Nepavyko sukurti išdėstymo." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Nenurodytas klasės pavadinimas." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Nepavyko sukurti valdiklio." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Nepavyko atverti failo „%1“: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Nepavyko įkelti failo „%1“" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "„%1“ yra teisingas QWidget." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Privaloma pateikti valdiklio pavadinimą." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Bloga lizdo doroklė: Objektas %1 Identifikatorius %2 Metodas %3 Parašas: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Išimtis iškviečiant \"%1\" lizdą iš %2:%3:%4" diff --git a/po/lv/kjsembed5.po b/po/lv/kjsembed5.po new file mode 100644 index 0000000..e929b48 --- /dev/null +++ b/po/lv/kjsembed5.po @@ -0,0 +1,260 @@ +# translation of kdelibs4.po to Latvian +# kdelibs.po tulkojums uz Latviešu valodu +# Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. +# +# Maris Nartiss , 2005. +# Maris Nartiss , 2006, 2007, 2008, 2009, 2010, 2011. +# Linux localization project , 2007. +# Viesturs Zarins , 2007, 2008, 2010. +# Viesturs Zariņš , 2009. +# Einars Sprugis , 2009. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2011-07-06 12:57+0300\n" +"Last-Translator: Maris Nartiss \n" +"Language-Team: Latvian\n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" +"X-Launchpad-Export-Date: 2007-11-22 17:44+0000\n" +"X-Generator: KBabel 1.11.4\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Kļūda apstrādājot include '%1' rindiņā %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "include pieņem tikai 1 argumenu, nevis %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Stils %1 nav atrasts." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "library pieņem tikai 1 argumentu, nevis %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Trauksme" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Apstiprināt" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" +"Nederīgs notikuma apstrādātājs: Objekts %1 Identifikators %2 Methode %3 " +"Tips: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Izņēmumsituācija izsaucot funkciju '%1' no %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Neizdevās atvērt failu '%1'" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Neizdevās izveidot pagaidu failu." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 nav funkcija un to nevar izsaukt." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 nav objekta tips" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Action nepieciešami 2 argumenti." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup nepieciešami 2 argumenti." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Jānorāda derīgs vecāks." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Gadījās kļūda, nolasot failu '%1'" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Nevar nolasīt failu '%1'" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Jānorāda faila nosaukums." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' nav derīgs QLayout." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Jānorāda izvietojuma nosaukums." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Nepareizs objekta tips." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Pirmajam argumentam jābūt QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Nepareizs argumentu skaits." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Slots gribēja %1 argumentu" +msgstr[1] "Slots gribēja %1 argumentus" +msgstr[2] "Slots gribēja %1 argumentus" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] ", bet pieejams ir tikai %1" +msgstr[1] ", bet pieejami ir tikai %1" +msgstr[2] ",bet pieejami ir tikai %1" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Nevar pārveidot %1 vērtību no tipa %2 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Nav tādas metodes '%1'." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "" +"Metodes '%1' izsaukšana beidzās neveiksmīgi, nevar iegūt argumentu %2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Izsaukums '%1' neveiksmīgs." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Nevar izveidot vērtību" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Nepietiek argumentu." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Neizdevās izveidot Action." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Neizdevās izveidot ActionGroup." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Nav norādīts klases nosaukums" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Neizdevās izveidot izvietojumu." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Nav norādīts klases nosaukums." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Neizdevās izveidot logdaļu." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Neizdevās atvērt failu '%1': %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Neizdevās ielādēt failu '%1'" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' nav derīga logdaļa." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Jānorāda logdaļas nosaukums." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Nederīgs slota apstrādātājs: Objekts %1 Identifikators %2 Methode %3 " +"Signatūra: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Izņēmumsituācija izsaucot slotu '%1' no %2:%3:%4" diff --git a/po/mai/kjsembed5.po b/po/mai/kjsembed5.po new file mode 100644 index 0000000..031458d --- /dev/null +++ b/po/mai/kjsembed5.po @@ -0,0 +1,249 @@ +# translation of kdelibs4.po to Hindi +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Sangeeta Kumari , 2008. +# Rajesh Ranjan , 2010. +# Rajesh Ranjan , 2010. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2010-09-24 15:44+0530\n" +"Last-Translator: Rajesh Ranjan \n" +"Language-Team: Hindi \n" +"Language: mai\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"X-Generator: KBabel 1.11.4\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "इनक्लूड '%1' पंक्ति %2 केँ प्रोसेस करब केर दौरान त्रुटि: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "इनक्लूड मे केवल 1 आर्गुमेंट हएताह नहि जे %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "फाइल \"%1\" नहि भेटल." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "लाइब्रेरी मे केवल 1 आर्गुमेंट हएताह नहि जे %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "चेतावनी" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "संपुष्ट करू" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "खराब इवेंट हैंडलर: ऑब्जैक्ट %1 आइडेंटिफ़ॉयर %2 विधि %3 प्रकार: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "एक्सेप्शन '%1' फंक्शन केँ एतए सँ काल कए रहल अछि %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "फाइल '%1' खोलि नहि सकल" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "अस्थायी फाइल बनाए नहि सकल." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 फंक्शन नहि अछि आओर काल नहि कएल जाए सकैत." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 ऑब्जेक्ट टाइप नहि अछि" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "काज 2 आर्गुमेंट स्वीकारता अछि." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "काज-समूह 2 आर्गुमेंट स्वीकारता अछि." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "वैध पेरेन्ट प्रदान कएनाइ आवश्यक अछि." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "फाइल '%1' केँ पढ़बा मे त्रुटि भेल." + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "फाइल '%1' केँ पढ़ि नहि सकल" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "अहाँकेँ एकटा फाइलनाम देनाइ अछि." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' वैध क्यू-लेआउट नहि अछि." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "अहाँकेँ एकटा खाका नाम देना हएताह." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "गलत ऑब्जेक्ट प्रकार." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "पहला आर्गुमेंट क्यूऑब्जैक्ट होनाइ चाही." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "आर्गुमेंट क' लेल गलत संख्या." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "" +msgstr[1] "" + +#: kjsembed/qobject_binding.cpp:410 +#, fuzzy, kde-format +#| msgid "There is no matching item available.\n" +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "ओतए कोनो मेल खाइबला वस्तुसभ मोजुद नहि छी.\n" +msgstr[1] "ओतए कोनो मेल खाइबला वस्तुसभ मोजुद नहि छी.\n" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "%1 मूल्य %2 मे सँ कास्ट करब मे असफल (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "एहन कोनो विधि '%1' नहि अछि." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "काल विधि '%1' असफल आर्गुमेंट %2 प्राप्त करब मे असफल: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "'%1' केँ काल असफल." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "मूल्य बनाए नहि सकल" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "पर्याप्त आर्गुमेंट नहि छी." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "काज बनाबै मे असफल." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "काज-समूह बनाबै मे असफल." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "कोनो क्लासनाम उल्लेखित नहि अछि" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "खाका बनाबै मे असफल." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "कोनो क्लासनाम उल्लेखित नहि अछि." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "विजेट बनाबै मे असफल." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "फाइल '%1' खोलि नहि सकल: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "फाइल '%1' लोड करब मे असफल" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' वैध क्यूविजेट नहि अछि." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "एक विजेट नाम देना हएताह." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "खराब स्लॉट हैंडलर: ऑब्जैक्ट %1 आइडेंटिफ़ॉयर %2 विधि %3 हस्ताक्षर: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "एक्सेप्शन '%1' स्लॉट केँ एतए सँ काल कए रहल अछि %2:%3:%4" diff --git a/po/mk/kjsembed5.po b/po/mk/kjsembed5.po new file mode 100644 index 0000000..ef15107 --- /dev/null +++ b/po/mk/kjsembed5.po @@ -0,0 +1,260 @@ +# translation of kdelibs4.po to Macedonian +# +# Copyright (C) 2000,2002,2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. +# Dimitar Indovski +# Damjan Janevski +# Dragan Sekulovski +# +# Maratonec , 2002. +# Dragan Bocevski , 2002. +# Danko Ilik , 2002,2003. +# Bozidar Proevski , 2002,2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010. +# Danko Ilik , 2003. +# Darko Nikolovski , 2003. +# Ivan Dimitrov , 2003. +# Magdica Shambevska , 2004. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2010-01-27 10:39+0100\n" +"Last-Translator: Bozidar Proevski \n" +"Language-Team: Macedonian \n" +"Language: mk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: Plural-Forms: nplurals=3; plural=n%10==1 ? 0 : n%10==2 ? 1 : " +"2;\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Имаше грешка при обработката на include „'%1“, на ред %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "За include е потребен само еден аргумент, не %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Датотеката %1 не е пронајдена." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "на библиотеката ѝ треба само еден аргумент, а не %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Внимание" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Потврда" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "Ракувач со лоши настани: објект %1 идентификатор %2 метода %3 тип: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Исклучок при повикување на функцијата „%1“ од %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Не можев да ја отворам датотеката „%1“" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Не можев да креирам привремена датотека." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 не е функција и не може да биде повикана." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 не е од тип објект" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "За дејството се потребни два аргументи." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "За „ГрупазаДејство“ се потребни 2 аргументи." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Мора да се наведе валиден родител." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Имаше грешка при читањето на датотеката „%1“" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Не можам да ја прочитам датотеката „%1“" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Мора да се зададе име на датотека." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "„%1“ не е валиден QLayout." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Мора да се наведе име на распоред." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Погрешен тип на објект." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Првиот аргумент мора да биде QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Неправилен број на аргументи." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Не можев да претворам во вредност %1 од типот %2 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Нема таков метод „%1“." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "" +"Повикот до методот „%1“ не успеа, не можам да го земам аргументот %2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Повикот до „%1“ не успеа." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Не можам да конструирам вредност" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Нема доволно аргументи." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Не успеав да креирам Дејство." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Не успеав да креирам „ГрупазаДејства“." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Не е наведено име на класа" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Не успеав да креирам „Распоред“." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Не е наведено име на класа." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Не успеав да креирам „ГрафичкаКонтрола“." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Не можев да ја отворам датотеката „%1“: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Не успеав да ја вчитам датотеката „%1“" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "„%1“ не е валиден QWidget." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Мора да се наведе име на графичка контрола." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Исклучок при повикување на слотот „%1“ од %2:%3:%4" diff --git a/po/ml/kjsembed5.po b/po/ml/kjsembed5.po new file mode 100644 index 0000000..f9bc2ff --- /dev/null +++ b/po/ml/kjsembed5.po @@ -0,0 +1,250 @@ +# translation of kdelibs4.po to +# Malayalam translation of kdelibs4. +# Copyright (C) 2007-2010 This_file_is_part_of_KDE +# This file is distributed under the same license as the kdelibs package. +# Anoop | അനൂപ് Panavalappil | പനവളപ്പില്‍ , 2008. +# ANI PETER|അനി പീറ്റര്‍ , 2008. +# Maxin B. John , 2007. +# Manu S Madhav | മനു എസ് മാധവ് , 2008. +# Praveen Arimbrathodiyil , 2007, 2008, 2009, 2010. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2010-12-29 15:32+0530\n" +"Last-Translator: \n" +"Language-Team: SMC \n" +"Language: ml\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "include '%1' നടത്തിക്കൊണ്ടിരിയ്ക്കുമ്പോള്‍ വരി %2 ല്‍ തെറ്റു് സംഭവിച്ചു: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "include 1 ആര്‍ഗ്യുമെന്റേ എടുക്കുകയുള്ളൂ, %1 അല്ല." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "%1 ഫയല്‍ ലഭ്യമായില്ല." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "ലൈബ്രറി 1 ആര്‍ഗ്യുമെന്റ് മാത്രമെടുക്കുന്നു, %1 അല്ല." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "മുന്നറിയിപ്പു്" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "ഉറപ്പാക്കുക" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "ചീത്ത ഇവന്റ് ഹാന്‍ഡ്ലര്‍: ഒബ്ജക്റ്റ് %1 ഐഡന്റിഫെയര്‍ %2 രീതി %3 കയ്യൊപ്പു് : %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "%2 വില്‍ നിന്നും '%1' ഫങ്ഷന്‍ വിളിയ്ക്കുന്നതില്‍ എക്സെപ്ഷന്‍:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "'%1' ഫയല്‍ ഉണ്ടാക്കുവാനായില്ല" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "താല്‍ക്കാലിക ഫയല്‍ ഉണ്ടാക്കുവാന്‍ സാധ്യമായില്ല." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 ഒരു ഫംഗ്ഷനല്ല, അതിനാല്‍ വിളിക്കുവാന്‍ സാധ്യമല്ല." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 ഒബ്ജക്ട് തരമല്ല" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "പ്രവര്‍ത്തി 2 ആര്‍ഗ്യുമെന്റുകളെടുക്കുന്നു." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup 2 ആര്‍ഗ്യുമെന്റുകളെടുക്കുന്നു." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "സാധുവായ പാരന്റ് നല്‍കിയിരിയ്ക്കണം." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "'%1' ഫയല്‍ ലഭ്യമാക്കുന്നതില്‍ പിശകു്" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "'%1' ഫയല്‍ ലഭ്യമായില്ല" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "ഒരു ഫയല്‍നാമം നിര്‍ബന്ധമായും നല്‍കണം." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' തെറ്റായ QLayout ആണു്." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "മാതൃകയ്ക്കു ഒരു നാമം നല്‍കണം." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "തെറ്റായ ഒബ്ജക്ട് തരം." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "ആദ്യത്തെ ആര്‍ഗ്യുമെന്റ് ഒരു QObject ആയിരിക്കണം." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "ആര്‍ഗ്യുമെന്റുകളുടെ എണ്ണം തെറ്റാണു്." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "" +msgstr[1] "" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "%1 മാത്രമേ ലഭ്യമുള്ളൂ" +msgstr[1] "%1 മാത്രമേ ലഭ്യമുള്ളൂ" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "'%1' പോലൊരു മാര്‍ഗ്ഗമില്ല." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "" +"'%1' എന്ന രീതിയിലേയ്ക്കുള്ള വിളി പരാജയപ്പെട്ടു, %2 ആര്‍ഗ്യുമെന്റ് കിട്ടാന്‍ സാധിച്ചില്ല: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "'%1'-ലേക്കുള്ള വിളി പരാജയപ്പെട്ടു." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "മൂല്യം ഉണ്ടാക്കാന്‍ സാധിച്ചില്ല" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "മതിയായ ആര്‍ഗ്യുമെന്റുകള്‍ ലഭ്യമല്ല." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "നടപടി സൃഷ്ടിക്കുന്നതില്‍ പരാജയം." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "നടപടിക്കൂട്ടം സൃഷ്ടിക്കുന്നതില്‍ പരാജയം." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "ക്ലാസ്സ് നാമം വ്യക്തമാക്കിയിട്ടില്ല" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "മാതൃകയുണ്ടാക്കുന്നതില്‍ പരാജയം." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "ക്ലാസ്സ് നാമം വ്യക്തമാക്കിയിട്ടില്ല." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "വിഡ്ജെറ്റ് ഉണ്ടാക്കുവാനായില്ല." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "'%1' ഫയല്‍ തുറക്കുവാനായില്ല: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "'%1' ഫയല്‍ ലഭ്യമാക്കുവാനായില്ല" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' സാധുതയുള്ള QWidget അല്ല." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "ഒരു വിഡ്ജറ്റ് നാമം നല്‍കേണ്ടതാണു്." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "ചീത്ത സ്ലോട്ട് ഹാന്‍ഡ്ലര്‍: ഒബ്ജക്റ്റ് %1 ഐഡന്റിഫെയര്‍ %2 രീതി %3 കയ്യൊപ്പു് : %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "%2 വില്‍ നിന്നും '%1' സ്ലോട്ട് വിളിയ്ക്കുന്നതില്‍ എക്സെപ്ഷന്‍:%3:%4" diff --git a/po/mr/kjsembed5.po b/po/mr/kjsembed5.po new file mode 100644 index 0000000..7a22e34 --- /dev/null +++ b/po/mr/kjsembed5.po @@ -0,0 +1,247 @@ +# translation of kdelibs4.po to marathi +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Sandeep Shedmake , 2008, 2009. +# Chetan Khona , 2012, 2013. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2013-03-29 16:14+0530\n" +"Last-Translator: Chetan Khona \n" +"Language-Team: Marathi \n" +"Language: mr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"X-Generator: Lokalize 1.5\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "'%1' हे इनक्लूड प्रक्रीया करताना %2: %3 या ओळीवर त्रुटी आढळली" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "इनक्लूड फक्त 1 आर्गुमेंट स्वीकारते, %1 स्वीकारत नाही." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "फाईल %1 आढळला नाही." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "लायब्ररी फक्त 1 बाब स्वीकारतो, %1 स्वीकारत नाही." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "सतर्कता" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "खात्री" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "खराब इवेंट हैंडलर : ऑब्जैक्ट %1 आइडेंटिफ़ॉयर %2 पध्दत %3 प्रकार : %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "%2:%3:%4 या पासुन '%1' बोलविताना अपवाद आढळला" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "फाईल '%1' उघडू शकत नाही" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "तात्पूरती फाईल बनवू शकत नाही." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 फंक्शन नाही व त्यास म्हटले जाऊ शकत नाही." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 ऑब्जेक्ट प्रकार नाही" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "क्रिया 2 बाबी स्वीकारते." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "क्रियासमूह 2 बाबी स्वीकारते." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "वैध पालक देणे गरजेचे आहे." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "फाईल '%1' वाचतेवेळी त्रुटी आढळली" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "फाईल '%1' वाचू शकत नाही" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "फाईलनाव दाखल केले पाहिजे." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' वैध QLayout नाही." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "रचना नाव पुरविले पाहिजे." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "चुकीचे ऑब्जेक्ट प्रकार." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "प्रथम बाब QObject असायला हवी." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "बाबींची चुकीची संख्या." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "स्लॉटने %1 ही बाब मागितली" +msgstr[1] "स्लॉटने %1 या बाबी मागितल्या" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "पण केवळ %1 उपलब्ध आहे" +msgstr[1] "पण केवळ %1 उपलब्ध आहेत" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "%2 (%3) पासून मूल्य %1 कास्ट करणे अपयशी" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "'%1' नुरूप कार्यपध्दती नाही." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "पध्दती '%1' करिता कॉल अपयशी, आर्गुमेंट %2 प्राप्त करण्यास अपयशी: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "'%1' ला कॉल अपयशी." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "मूल्य बनवू शकत नाही" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "पुरेशे बाब नाही." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "क्रिया बनविण्यास अपयशी." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "क्रिया-समूह बनविण्यास अपयशी." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "कोणतेही वर्ग नाव उल्लेखित नाही" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "मांडणी बनविण्यास असफल." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "कोणतेही वर्ग नाव उल्लेखित नाही." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "विजेट बनविण्यास अपयशी." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "फाईल '%1' उघडू शकत नाही: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "फाईल '%1' दाखल करण्यास अपयशी" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' वैध QWidget नाही." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "विजेट नाव दाखल केले पाहिजे." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "खराब स्लॉट हैंडलर : ऑब्जैक्ट %1 आइडेंटिफ़ॉयर %2 पध्दत %3 हस्ताक्षर : %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "%2:%3:%4 या पासुन '%1' बोलविताना अपवाद आढळला" diff --git a/po/ms/kjsembed5.po b/po/ms/kjsembed5.po new file mode 100644 index 0000000..ce19fcf --- /dev/null +++ b/po/ms/kjsembed5.po @@ -0,0 +1,250 @@ +# kdelibs4 Bahasa Melayu (Malay) (ms) +# Hasbullah bin Pit , 2003. +# Muhammad Najmi Ahmad Zabidi , 2003. +# Mohd Nasir bin Che Embee , 2003. +# Muhammad Najmi bin Ahmad Zabidi , 2006. +# Sharuzzaman Ahmat Raslan , 2006, 2007, 2008, 2009, 2010. +# Sharuzzaman Ahmat Raslan , 2010, 2011. +# Copyright (C) 2008, 2009 K Desktop Environment +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2011-07-16 00:57+0800\n" +"Last-Translator: Sharuzzaman Ahmat Raslan \n" +"Language-Team: Malay \n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=1;\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, fuzzy, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Ralat 3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "" + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Fail %1 tidak ditemui." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "" + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Waspada" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Sah" + +#: kjsembed/eventproxy.cpp:110 +#, fuzzy, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "Bad Objek Kaedah Jenis." + +#: kjsembed/eventproxy.cpp:133 +#, fuzzy, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Tidak dapat membuka fail '%1'" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Tidak dapat mencipta fail sementara." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, fuzzy, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "a dan." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 adalah bukan jenis Objek" + +#: kjsembed/qaction_binding.cpp:56 +#, fuzzy, kde-format +msgid "Action takes 2 args." +msgstr "Aksi." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "" + +#: kjsembed/qaction_binding.cpp:83 +#, fuzzy, kde-format +msgid "Must supply a valid parent." +msgstr "a." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Terdapat ralat semasa membaca fail '%1'" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Tidak dapat membaca fail '%1'" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, fuzzy, kde-format +msgid "Must supply a filename." +msgstr "a." + +#: kjsembed/qlayout_binding.cpp:86 +#, fuzzy, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "a." + +#: kjsembed/qlayout_binding.cpp:92 +#, fuzzy, kde-format +msgid "Must supply a layout name." +msgstr "a nama." + +#: kjsembed/qobject_binding.cpp:140 +#, fuzzy, kde-format +msgid "Wrong object type." +msgstr "Salah jenis." + +#: kjsembed/qobject_binding.cpp:147 +#, fuzzy, kde-format +msgid "First argument must be a QObject." +msgstr "Pertama a." + +#: kjsembed/qobject_binding.cpp:181 +#, fuzzy, kde-format +msgid "Incorrect number of arguments." +msgstr "nombor bagi." + +#: kjsembed/qobject_binding.cpp:409 +#, fuzzy, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "slot for" +msgstr[1] "slot for" + +#: kjsembed/qobject_binding.cpp:410 +#, fuzzy, kde-format +#| msgid "There is no matching item available.\n" +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "Tiada padanan ditemui.\n" +msgstr[1] "Tiada padanan ditemui.\n" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, fuzzy, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Kegagalan ke ke Jenis" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Tiada kaedah sebegitu '%1'." + +#: kjsembed/qobject_binding.cpp:689 +#, fuzzy, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "Panggil ke ke 3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Panggilan ke '%1' gagal." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Tidak dapat membina nilai" + +#: kjsembed/quiloader_binding.cpp:48 +#, fuzzy, kde-format +msgid "Not enough arguments." +msgstr "Tidak." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Gagal untuk mencipta Tindakan." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Gagal untuk mencipta KumpulanTindakan." + +#: kjsembed/quiloader_binding.cpp:89 +#, fuzzy, kde-format +msgid "No classname specified" +msgstr "Tidak" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Gagal untuk mencipta Susunatur." + +#: kjsembed/quiloader_binding.cpp:106 +#, fuzzy, kde-format +msgid "No classname specified." +msgstr "Tidak." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Gagal untuk mencipta Widget." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Tidak dapat membuka fail '%1': %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Gagal untuk memuatkan fail '%1'" + +#: kjsembed/qwidget_binding.cpp:161 +#, fuzzy, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "a." + +#: kjsembed/qwidget_binding.cpp:170 +#, fuzzy, kde-format +msgid "Must supply a widget name." +msgstr "a nama." + +#: kjsembed/slotproxy.cpp:117 +#, fuzzy, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "Bad Objek Kaedah Tandatangan." + +#: kjsembed/slotproxy.cpp:140 +#, fuzzy, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "4" diff --git a/po/nb/kjsembed5.po b/po/nb/kjsembed5.po new file mode 100644 index 0000000..2fd630b --- /dev/null +++ b/po/nb/kjsembed5.po @@ -0,0 +1,253 @@ +# Translation of kjsembed5 to Norwegian Bokmål +# +# Knut Yrvin , 2002, 2003, 2004, 2005. +# Bjørn Steensrud , 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014. +# Eskild Hustvedt , 2004, 2005. +# Gaute Hvoslef Kvalnes , 2004, 2005. +# Axel Bojer , 2005, 2006. +# Nils Kristian Tomren , 2005, 2007. +# Øyvind A. Holm , 2009. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2014-02-23 21:13+0100\n" +"Last-Translator: Bjørn Steensrud \n" +"Language-Team: Norwegian Bokmål \n" +"Language: nb\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Feil sett ved behandling av include «%1» linje %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "include tar bare ett argument, ikke %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Fant ikke fila %1." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "library tar bare ett argument, ikke %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Varsel" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Bekreft" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "Feil eventbehandler: Objekt %1 Identifikator %2 Metode %3 Type: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Exception ved kall til funksjon «%1» fra %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Klarte ikke åpne fila «%1»" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Klarte ikke å lage den midlertidige fila." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 er ikke en funksjon og kan ikke kalles." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 er ikke en Objekt-type" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Action trenger 2 argumenter." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup trenger 2 argumenter." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Må oppgi en gyldig overgruppe." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Det oppsto en feil ved lesing av fila «%1»" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Kunne ikke lese fila «%1»" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Må angi et filnavn." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "«%1» er ikke en gyldig QLayout." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Må oppgi et utformingsnavn." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Feil objekttype." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Første argument må være et QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Feil antall argumenter." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Spalten ba om %1 argument" +msgstr[1] "Spalten ba om %1 argumenter" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "men det er bare %1 tilgjengelig" +msgstr[1] "men det er bare %1 tilgjengelige" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Klarte ikke caste til %1-verdi fra type %2 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Ingen metode «%1»." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "Kall til metode «%1» mislyktes, klarte ikke hente argument %2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Kall til «%1» mislyktes." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Kunne ikke konstruere verdi" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Ikke nok argumenter." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Klarte ikke å lage Action." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Klarte ikke å lage ActionGroup." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Intet klassenavn er angitt" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Klarte ikke lage Layout." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Inger klassenavn er angitt." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Klarte ikke lage Widget." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Kunne ikke åpne fila «%1»: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Kan ikke laste fila «%1»" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' er ikke en gyldig QWidget." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Må oppgi et skjermelementnavn." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "Feil slotbehandler: Objekt %1 Identifikator %2 Metode %3 Signatur: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Exception ved kall til slot «%1» fra %2:%3:%4" diff --git a/po/nds/kjsembed5.po b/po/nds/kjsembed5.po new file mode 100644 index 0000000..f5524b4 --- /dev/null +++ b/po/nds/kjsembed5.po @@ -0,0 +1,248 @@ +# Translation of kdelibs4.po to Low Saxon +# Heiko Evermann , 2004. +# Heiko Evermann , 2004, 2005. +# Volker Jockheck , 2004. +# Sönke Dibbern , 2004, 2005, 2006, 2007, 2008, 2009, 2014. +# Manfred Wiese , 2008, 2009, 2010, 2011, 2012. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2014-05-11 00:55+0200\n" +"Last-Translator: Sönke Dibbern \n" +"Language-Team: Low Saxon \n" +"Language: nds\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "" +"Bi't Verarbeiden vun de Insluten „%1“ geev dat bi Reeg %2 en Fehler: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "„include“ bruukt bloots 1 Argument, nich %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "De Datei „%1“ lett sik nich finnen." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "„library“ bruukt bloots 1 Argument, nich %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Wohrschau" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Beglöven" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "Leeg Begeefnishanteren: Objekt %1, Beteker %2, Metood %3, Typ: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Utnahm bi Oproop vun Funkschoon „%1“ vun %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "De Datei „%1“ lett sik nich opmaken" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Temporeerdatei lett sik nich opstellen" + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "„%1“ is keen Funkschoon un lett sik nich opropen." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 is keen Objekttyp" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "„Action“ bruukt 2 Argumenten." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "„ActionGroup“ bruukt 2 Argumenten." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Du muttst en överornt Element angeven, dat gellt." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Bi't Lesen vun de Datei „%1“ geev dat en Fehler." + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "De Datei „%1“ lett sik nich lesen." + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Du muttst en Dateinaam angeven." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "„%1“ is as QLayout leeg." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Du muttst en Naam för dat Utsehn angeven." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Leeg Objekttyp." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Dat eerste Argument mutt en QObject wesen." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Leeg Tall vun Argumenten." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "De Slot bruukt %1 Argument" +msgstr[1] "De Slot bruukt %1 Argumenten" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "man dor is bloots %1 verföögbor" +msgstr[1] "man dor sünd bloots %1 verföögbor" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Ümwanneln na %1-Weert ut den Typ %2 (%3) fehlslaan" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Dat gifft keen Metood „%1“." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "Oproop vun Metood „%1“ fehlslaan, Argument %2 lett sik nich finnen: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Oproop vun „%1“ fehlslaan." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Weert lett sik nich opstellen" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Nich noog Argumenten" + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Akschoon lett sik nich opstellen" + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Akschoonkoppel lett sik nich opstellen" + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Keen Klassnaam angeven" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Utsehn lett sik nich opstellen" + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Keen Klassnaam angeven" + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Element lett sik nich opstellen" + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "De Datei „%1“ lett sik nich opmaken: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "De Datei „%1“ lett sik nich laden" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "„%1“ is as QWidget leeg." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Du muttst en Elementnaam angeven" + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "Leeg Slothanteren: Objekt %1, Beteker %2, Metood %3, Signatuur: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Utnahm bi Oproop vun Slot „%1“ vun %2:%3:%4" diff --git a/po/ne/kjsembed5.po b/po/ne/kjsembed5.po new file mode 100644 index 0000000..211c31c --- /dev/null +++ b/po/ne/kjsembed5.po @@ -0,0 +1,256 @@ +# translation of kdelibs4.po to Nepali +# Mahesh Subedi , 2006, 2007. +# Shiva Prasad Pokharel , 2006, 2007. +# shyam krishna ball , 2006. +# shyam krishna bal , 2006, 2007. +# Shiva Pokharel , 2007. +# Nabin Gautam , 2007. +# Shiva Prasad Pokharel , 2007. +# Shyam Krishna Bal , 2007. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2007-11-05 15:41+0545\n" +"Last-Translator: Shyam Krishna Bal \n" +"Language-Team: Nepali \n" +"Language: ne\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n !=1\n" +"X-Generator: KBabel 1.11.4\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, fuzzy, kde-format +#| msgid "Error seen while processing include '%1' line %2: %3" +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "'%1' लाइन %2: %3 समावेश प्रक्रिया गर्दा त्रुटि देखियो" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "समावेश गर्दा १ तर्क मात्र लिन्छ, %1 लिदैँन ।" + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "%1 फाइल फेला परेन ।" + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "लाइब्रेरीले १ तर्क मात्र लिन्छ, %1 लिदैँन ।" + +#: kjsembed/builtins.cpp:137 +#, fuzzy, kde-format +#| msgid "Alt" +msgid "Alert" +msgstr "Alt" + +#: kjsembed/builtins.cpp:147 +#, fuzzy, kde-format +#| msgid "Configure" +msgid "Confirm" +msgstr "कन्फिगर गर्नुहोस्" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "गलत घटना ह्यान्डलर: वस्तु %1 पहिचायक %2 विधि %3 प्रकार: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "%2:%3:%4 बाट अपवाद कल '%1' प्रकार्य" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "'%1' फाइल खोल्न सकेन" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "अस्थायी फाइल सिर्जना गर्न सकेन ।" + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 प्रकार्य होइन र कल गर्न सकिँदैन ।" + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 एउटा वस्तु प्रकार होइन" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "कार्य समूहले 2 args लिन्छ ।" + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "कार्य समूहले 2 args लिन्छ ।" + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "वैध प्रमूल दिनु्नुपर्छ ।" + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "फाइल '%1' पढ्दा त्रुटि थियो ।" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "फाइल '%1' पढ्न सकेन ।" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "फाइल नाम दिनुपर्दछ ।" + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' वैध QLayout होइन ।" + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "सजावट नाम दिनुपर्दछ ।" + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "गलत वस्तु प्रकार ।" + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "पहिलो तर्क QObject हुनुपर्दछ ।" + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "तर्कको गलत सङ्ख्या ।" + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "" +msgstr[1] "" + +#: kjsembed/qobject_binding.cpp:410 +#, fuzzy, kde-format +#| msgid "There is no matching item available.\n" +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "त्यहाँ मिल्दो वस्तु उपलब्ध छैन ।\n" +msgstr[1] "त्यहाँ मिल्दो वस्तु उपलब्ध छैन ।\n" + +#: kjsembed/qobject_binding.cpp:411 +#, fuzzy, kde-format +#| msgctxt "concatenation of dates and time" +#| msgid "%1 %2" +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1 %2" + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "%2 (%3) प्रकारबाट मान %1 लाई हटाउन असफल" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "'%1' जस्तो विधि छैन ।" + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "विधि '%1' लाई कल गर्न असफल, तर्क %2: %3 प्राप्त गर्न अक्षम" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "'%1' लाई कल गर्न असफल ।" + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "मान रचना गर्न सकेन ।" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "पर्याप्त तर्क छैन ।" + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "कार्य सिर्जना गर्न असफल ।" + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "कार्य समूह सिर्जना गर्न असफल ।" + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "वर्ग नाम निर्दिष्ट गरिएको छैन" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "सजावट सिर्जना गर्न असफल ।" + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "वर्ग नाम निर्दिष्ट गरिएको छैन ।" + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "विजेट सिर्जना गर्न असफल ।" + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "'%1': %2 फाइल खोल्न सकेन" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "'%1' फाइल लोड गर्न असफल" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' वैध QWidget होइन ।" + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "विजेट नाम दिनुपर्छ ।" + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "गलत स्लट ह्यान्डलर: वस्तु %1 पहिचायक %2 विधि %3 हस्ताक्षर: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "%2:%3:%4 बाट अपवाद कल '%1' स्लट" diff --git a/po/nl/docs/kjscmd5/man-kjscmd5.1.docbook b/po/nl/docs/kjscmd5/man-kjscmd5.1.docbook new file mode 100644 index 0000000..a0f968b --- /dev/null +++ b/po/nl/docs/kjscmd5/man-kjscmd5.1.docbook @@ -0,0 +1,176 @@ + + +]> + + + + +Gebruikershandleiding van kjscmd5 + + + +Harri Porten
    porten@kde.org
    +
    +
    + +2015-07-31 +Frameworks 5.13 +KDE Frameworks + +
    + + +kjscmd5 +1 + + + +kjscmd5 +&frameworks; KJSEmbed interpreter + + + +Samenvatting + +kjscmd5 --help -e --exec -i -interactive bestand + + + +Beschrijving + +kjscmd5 is een hulpmiddel voor het uitvoeren van KJSEmbed-scripts vanaf de commandoregel. Het draait de scripts in het genoemde bestand met gebruik van KJSEmbed. Het accepteert geen - (stdin) als een bestand. + + + +Programmaopties + + + +, + +Voer het script in bestand uit zonder &GUI;-ondersteuning. + + + + +, + +start de interactieve kjs-interpretator. + + + + + + + + +Gebruik +De meest gebruikelijke manier om kjscmd5 uit te voeren is eenvoudig als +kjscmd5 bestand + + Als er geen parameterbestand wordt gebruikt, dan voert het een voorgedefinieerd testscript uit dat de startsnelheid van kjscmd5 meet. + + + +Zie ook +kjs5(1) + + + +Fouten/bugs +Gebruik De volger van bugs van &kde; om ze te rapporteren. + + +
    + + + diff --git a/po/nl/kjsembed5.po b/po/nl/kjsembed5.po new file mode 100644 index 0000000..55f1273 --- /dev/null +++ b/po/nl/kjsembed5.po @@ -0,0 +1,262 @@ +# translation of kdelibs4.po to Dutch +# Copyright (C) 2000,2001,2002,2003, 2004 KDE e.v.. +# KTranslator Generated File +# Nederlandse vertaling van kdelibs. +# KDE-vertaalgroep Nederlands , 2000, 2001, 2002. +# Rinse de Vries ,2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009. +# Wilbert Berendsen , 2003, 2004. +# Bram Schoenmakers , 2004, 2005, 2006, 2007. +# Tom Albers , 2004. +# Sander Koning , 2005. +# Tijmen Baarda , 2005. +# Freek de Kruijf , 2008, 2009. +# Kristof Bal , 2008, 2009. +# Freek de Kruijf , 2009, 2010. +# Freek de Kruijf , 2010, 2011, 2012. +# Freek de Kruijf , 2010, 2011, 2013. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2013-12-25 22:35+0100\n" +"Last-Translator: Freek de Kruijf \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Files: kfarch.cpp kfdird.cpp kfind.cpp kfindtop.cpp kfoptions.cpp kfsave.cpp " +"kftabdlg.cpp kftypes.cpp kfwin.cpp main.cpp mkfdird.cpp mkfind.cpp\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Fout opgemerkt bij het verwerken van include '%1' regel %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "include neemt maar 1 argument, niet %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Bestand %1 niet gevonden." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "bibliotheek neemt maar 1 argument, niet %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Waarschuwing" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Bevestigen" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" +"Verwerker voor gebeurtenissen is niet goed: Object %1 Naam %2 Methode %3 " +"Type: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Uitzondering bij aanroepen van functie '%1' van %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Kon bestand '%1' niet openen" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Kon tijdelijk bestand niet aanmaken." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 is geen functie en kan niet worden aangeroepen." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr " is geen objecttype %1" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Actie neemt 2 argumenten." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "Aktiegroep neemt 2 argumenten." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Geef een geldige ouder op." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Er deed zich een fout voor tijdens het lezen van het bestand '%1'" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Kon bestand '%1' niet lezen" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Geef een bestandsnaam op." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' is geen geldige QLayout." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Geef een layout-naam op." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Onjuist objecttype." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Eerste argument dient een QObject te zijn." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Onjuist aantal argumenten." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Het slot vroeg om %1 argument" +msgstr[1] "Het slot vroeg om %1 argumenten" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "maar er is alleen %1 item beschikbaar" +msgstr[1] "maar er zijn alleen %1 items beschikbaar" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Casten naar waarde %1 van type %2 (%3) is mislukt" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Methode bestaat niet: '%1'." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "" +"Aanroepen van methode '%1' is mislukt, kon argument %2 niet ontvangen: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Aanroepen van '%1' is mislukt." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Kon waarde niet construeren" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Onvoldoende argumenten." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Kon actie niet aanmaken." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Kon actiegroep niet aanmaken." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Geen klassenaam opgegeven" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Kon indeling niet aanmaken." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Geen klassenaam opgegeven." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Kon widget niet aanmaken." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Kon bestand '%1' niet openen: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Laden van bestand '%1' is mislukt" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' is geen geldige QWidget." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Geef een widgetnaam op." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "Onjuiste slot-handler: object %1 naam %2 methode %3 signatuur: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Uitzondering bij aanroepen van slot '%1' van %2:%3:%4" diff --git a/po/nn/kjsembed5.po b/po/nn/kjsembed5.po new file mode 100644 index 0000000..99428c1 --- /dev/null +++ b/po/nn/kjsembed5.po @@ -0,0 +1,251 @@ +# Translation of kjsembed5 to Norwegian Nynorsk +# +# Gaute Hvoslef Kvalnes , 2003, 2004, 2005, 2006. +# Håvard Korsvoll , 2003, 2005. +# Karl Ove Hufthammer , 2004, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014. +# Eirik U. Birkeland , 2008, 2009, 2010. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2013-05-12 14:38+0200\n" +"Last-Translator: Karl Ove Hufthammer \n" +"Language-Team: Norwegian Nynorsk \n" +"Language: nn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Feil oppdaga ved handsaming av include «%1» linje %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "include tek berre eitt argument, ikkje %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Fann ikkje fila %1." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "library tek berre eitt argument, ikkje %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Alarm" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Stadfest" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "Feil hendingshandsamar: Objekt %1 Identifikator %2 Metode %3 Type: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Unntak ved kall til funksjon «%1» frå %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Klarte ikkje opna fila «%1»" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Klarte ikkje laga mellombels fil." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 er ikkje ein funksjon, og kan ikkje kallast." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 er ikkje ein objekttype" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Action tek 2 argument." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup tek 2 argument." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Du må oppgje ei gyldig overgruppe." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Det oppstod ein feil ved lesing av fila «%1»" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Klarte ikkje lesa fila «%1»." + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Du må oppgje eit filnamn." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "«%1» er ikkje ein gyldig QLayout." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Du må oppgje eit utformingsnamn." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Feil objekttype." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Det første argumentet må vera eit QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Ugyldig tal på argument." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Slotten bad om %1 argument" +msgstr[1] "Slotten bad om %1 argument" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "men det finst berre %1 tilgjengeleg" +msgstr[1] "men det finst berre %1 tilgjengeleg" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Klarte ikkje casta til %1-verdi frå type %2 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Metoden «%1» finst ikkje." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "Kall til metode «%1» var mislukka. Klarte ikkje henta argument %2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Feil ved kall til «%1»." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Klarte ikkje laga verdi" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Ikkje nok argument." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Klarte ikkje oppretta handling." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Klarte ikkje laga ActionGroup." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Klassenamn er ikkje oppgjeve" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Klarte ikkje laga utforming." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Klassenamn er ikkje oppgjeve." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Klarte ikkje laga skjermelement." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Klarte ikkje opna fila «%1»: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Klarte ikkje lasta inn fila «%1»" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "«%1» er ikkje ein gyldig QWidget." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Du må oppgje eit skjermelementnamn." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Feil slotthandsamar: Objekt %1 Identifikator %2 Metode %3 Signatur: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Unntak ved kall til slott «%1» frå %2:%3:%4" diff --git a/po/oc/kjsembed5.po b/po/oc/kjsembed5.po new file mode 100644 index 0000000..44c4edd --- /dev/null +++ b/po/oc/kjsembed5.po @@ -0,0 +1,251 @@ +# translation of kdelibs4.po to Occitan +# Copyright (C) 2008 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Yannig Marchegay (Kokoyaya) , 2007, 2008. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2008-08-06 00:07+0200\n" +"Last-Translator: \n" +"Language-Team: Occitan \n" +"Language: oc\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: KBabel 1.11.4\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "" + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "" + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "" + +#: kjsembed/builtins.cpp:137 +#, fuzzy, kde-format +#| msgctxt "keyboard-key-name" +#| msgid "Alt" +msgid "Alert" +msgstr "Alt" + +#: kjsembed/builtins.cpp:147 +#, fuzzy, kde-format +#| msgid "Configure" +msgid "Confirm" +msgstr "Configurar" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "" + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "" + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "" + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "" + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "" + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "" + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "" + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "" + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "" + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "" + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "" + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "" +msgstr[1] "" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "" +msgstr[1] "" + +#: kjsembed/qobject_binding.cpp:411 +#, fuzzy, kde-format +#| msgctxt "concatenation of dates and time" +#| msgid "%1 %2" +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1 %2" + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "" + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "" + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "" + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "" + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "" + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "" + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "" + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "" + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "" + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "" + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "" diff --git a/po/or/kjsembed5.po b/po/or/kjsembed5.po new file mode 100644 index 0000000..bbd86f7 --- /dev/null +++ b/po/or/kjsembed5.po @@ -0,0 +1,254 @@ +# translation of kdelibs4.po to Oriya +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Manoj Kumar Giri , 2008. +# Manoj Kumar Giri , 2008, 2009. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2009-01-02 17:37+0530\n" +"Last-Translator: Manoj Kumar Giri \n" +"Language-Team: Oriya \n" +"Language: or\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"\n" +"\n" +"\n" +"\n" +"X-Generator: KBabel 1.11.4\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "ଅନ୍ତର୍ଭୁକ୍ତ '%1' ଲାଇନ %2: %3 କାର୍ଯ୍ୟକାରୀ କରିବା ସମୟରେ ତ୍ରୁଟି ଘଟିଲା" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "ଅନ୍ତର୍ଭୁକ୍ତ କେବଳ ନିଏ ୧ ସ୍ୱତନ୍ତ୍ରଚର, %1 ନୁହଁ।" + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "ଫାଇଲ %1 ମିଳୁନାହିଁ।" + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "ଲାଇବ୍ରେରୀ କେବଳ ନିଏ ୧ ସ୍ୱତନ୍ତ୍ରଚର, %1 ନୁହଁ।" + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "ଚେତାବନୀ" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "ନିଶ୍ଚିତ କରନ୍ତୁ" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "ଖରାପ ଅବଧି ନିୟନ୍ତ୍ରକ: ବସ୍ତୁ %1 ପରିଚୟକ %2 ପ୍ରଣାଳୀ %3 ପ୍ରକାର: %4।" + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "%2:%3:%4 ମଧ୍ଯରୁ '%1' ଫଳନକୁ ଡାକିବାରେ ବ୍ୟତିକ୍ରମ" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "ଫାଇଲ '%1' ଖୋଲି ହେଲାନାହିଁ" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "ଅସ୍ଥାୟୀ ଫାଇଲ ନିର୍ମାଣ କରିହେଲା ନାହିଁ।" + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 ଟି ଗୋଟିଏ ଫଳନ ନୁହଁ ଏବଂ ଏହାକୁ ଡକାଯାଇପାରିବନାହିଁ।" + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 ଟି ଗୋଟିଏ ବସ୍ତୁ ପ୍ରକାର ନୁହଁ" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "କାର୍ଯ୍ୟଟି ୨ଟି ସ୍ୱତନ୍ତ୍ରଚର ଗ୍ରହଣକରେ।" + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "କାର୍ଯ୍ୟସମୁହଟି ୨ଟି ସ୍ୱତନ୍ତ୍ରଚର ଗ୍ରହଣକରେ।" + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "ଗୋଟିଏ ବୈଧ ଉତ୍ପାଦକ ଯୋଗାଇବା ଆବଶ୍ୟକ।" + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "ଫାଇଲ '%1'କୁ ପଢିବା ସମୟରେ ତ୍ରୁଟି" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "ଫାଇଲ '%1'କୁ ପଢିପାରୁନାହିଁ" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "ଗୋଟିଏ ଫାଇଲନାମ ନିଶ୍ଚିତ ରୂପେ ପ୍ରଦାନ କରିବା ଉଚିତ।" + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' ଟି ଗୋଟିଏ ବୈଧ Qବିନ୍ଯାସ ନୁହଁ।" + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "ଗୋଟିଏ ବିନ୍ୟାସନାମ ନିଶ୍ଚିତ ରୂପେ ପ୍ରଦାନ କରିବା ଉଚିତ।" + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "ଭୁଲ ବସ୍ତୁ ପ୍ରକାର।" + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "ପ୍ରଥମ ସ୍ୱତନ୍ତ୍ରଚରଟି ନିଶ୍ଚିତ ରୂପେ ଗୋଟିଏ Qବସ୍ତୁ।" + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "ଭୁଲ ସଂଖ୍ୟକ ସ୍ୱତନ୍ତ୍ରଚର।" + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "" +msgstr[1] "" + +#: kjsembed/qobject_binding.cpp:410 +#, fuzzy, kde-format +#| msgid "There is no matching item available.\n" +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "ସେଠାରେ କୌଣସି ମେଳଖାଉଥିବା ବସ୍ତୁ ଉପଲବ୍ଧ ନାହିଁ।\n" +msgstr[1] "ସେଠାରେ କୌଣସି ମେଳଖାଉଥିବା ବସ୍ତୁ ଉପଲବ୍ଧ ନାହିଁ।\n" + +#: kjsembed/qobject_binding.cpp:411 +#, fuzzy, kde-format +#| msgctxt "concatenation of dates and time" +#| msgid "%1 %2" +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1 %2" + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "ପ୍ରକାର %2 (%3) ରୁ %1ର ମୂଲ୍ୟ ନିର୍ଣ୍ଣୟ କରିବାରେ ବିଫଳ" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "'%1' ପରି କୌଣସି ପଦ୍ଧତି ନାହିଁ।" + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "ପ୍ରଣାଳୀ '%1' କୁ ଡାକିବାରେ ବିଫଳ, ସ୍ୱତନ୍ତ୍ରଚର %2: %3 କୁ ପାଇବାରେ ଅସମର୍ଥ" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "'%1' କୁ ଡାକିବାରେ ବିଫଳ।" + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "ମୂଲ୍ୟନିର୍ଦ୍ଧାରଣ କରିହେଲା ନାହିଁ" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "ଯଥେଷ୍ଟ ସ୍ୱତନ୍ତ୍ରଚର ନାହିଁ।" + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "କାର୍ଯ୍ୟ ନିର୍ମାଣ କରିବାରେ ବିଫଳ ହେଲା।" + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "କାର୍ଯ୍ୟସମୁହ ୟାସ ନିର୍ମାଣ କରିବାରେ ବିଫଳ ହେଲା।" + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "କୌଣସି ଶ୍ରେଣୀନାମ ଉଲ୍ଲେଖିତ ନାହିଁ।" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "ବିନ୍ୟାସ ନିର୍ମାଣ କରିବାରେ ବିଫଳ ହେଲା।" + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "କୌଣସି ଶ୍ରେଣୀନାମ ଉଲ୍ଲେଖିତ ନାହିଁ।" + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Widget ନିର୍ମାଣ କରିବାରେ ବିଫଳ ହେଲା।" + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "ଫାଇଲ '%1': %2 ଖୋଲି ହେଲାନାହିଁ" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "ଫାଇଲ '%1'କୁ ଆରହୋଣ କରିବାରେ ବିଫଳ ହେଲା" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' ଗୋଟିଏ ବୈଧ QWidget ନୁହଁ।" + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "ଗୋଟିଏ widget ନାମ ନିଶ୍ଚିତ ରୂପେ ପ୍ରଦାନ କରିବା ଉଚିତ।" + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "ଖରାପ ଅବଧି ନିୟନ୍ତ୍ରକ: ବସ୍ତୁ %1 ପରିଚୟକ %2 ପ୍ରଣାଳୀ %3 ପରିଚାୟକ: %4।" + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "%2:%3:%4 ଅବଧି ମଧ୍ଯରୁ '%1' କୁ ଡାକିବାରେ ବ୍ୟତିକ୍ରମ" diff --git a/po/pa/kjsembed5.po b/po/pa/kjsembed5.po new file mode 100644 index 0000000..917d62d --- /dev/null +++ b/po/pa/kjsembed5.po @@ -0,0 +1,252 @@ +# translation of kdelibs4.po to Punjabi +# Punjabi translation of kdelibs. +# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation, Inc. +# +# Amanpreet Singh Alam , 2004. +# Amanpreet Singh Alam , 2004. +# A S Alam , 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012. +# ASB , 2007. +# Amanpreet Singh Alam , 2008. +# Amanpreet Singh , 2008. +# Amanpreet Singh Alam , 2008, 2009, 2013, 2014. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2014-03-16 23:21-0500\n" +"Last-Translator: A S Alam \n" +"Language-Team: Punjabi/Panjabi \n" +"Language: pa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "include '%1' ਲਾਈਨ %2: %3 ਉੱਤੇ ਪਰੋਸੈਂਸਿੰਗ ਦੌਰਾਨ ਗਲਤੀ ਮਿਲੀ" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "include 1 ਆਰਗੂਮੈਂਟ ਲੈਂਦਾ ਹੈ ਨਾ ਕਿ %1" + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "ਫਾਈਲ %1 ਨਹੀਂ ਲੱਭੀ ਹੈ।" + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "ਲਾਇਬਰੇਰੀ 1 ਆਰਗੂਮੈਂਟ ਹੀ ਲੈ ਸਕਦੀ ਹੈ, %1 ਨਹੀਂ।" + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "ਚੇਤਾਵਨੀ" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "ਪੁਸ਼ਟੀ" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "ਗਲਤ ਘਟਨਾ ਹੈਂਡਲਰ: ਆਬਜੈਕਟ %1 ਪਛਾਣਕਰਤਾ %2 ਢੰਗ %3 ਕਿਸਮ: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "%2:%3:%4 ਤੋਂ ਅਪਵਾਦ ਕਾਲਿੰਗ '%1' ਫੰਕਸ਼ਨ" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "ਫਾਈਲ '%1' ਖੋਲ੍ਹੀ ਨਹੀਂ ਜਾ ਸਕੀ" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "ਆਰਜ਼ੀ ਫਾਈਲ ਨਹੀਂ ਬਣਾਈ ਜਾ ਸਕੀ" + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 ਇੱਕ ਫੰਕਸ਼ਨ ਨਹੀਂ ਹੈ ਅਤੇ ਕਾਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ।" + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 ਇੱਕ ਆਬਜੈਕਟ ਕਿਸਮ ਨਹੀਂ ਹੈ" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "ਐਕਸ਼ਨ ਲਈ 2 ਆਰਗੂਮੈਂਟ ਲੱਗਦੇ ਹਨ।" + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup 2 ਆਰਗੂਮੈਂਟ ਲੈਂਦਾ ਹੈ।" + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "ਇੱਕ ਵੈਧ ਪੇਰੈੱਟ ਦੇਣਾ ਲਾਜ਼ਮੀ ਹੈ।" + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "ਫਾਈਲ '%1' ਪੜ੍ਹਨ ਦੌਰਾਨ ਗਲਤੀ ਹੈ" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "ਫਾਈਲ '%1' ਪੜ੍ਹੀ ਨਹੀਂ ਜਾ ਸਕੀ" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "ਇੱਕ ਫਾਈਲ ਨਾਂ ਦੇਣਾ ਪਵੇਗਾ।" + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' ਇੱਕ ਵੈਧ QLayout ਨਹੀਂ ਹੈ।" + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "ਇੱਕ ਲੇਆਉਟ ਨਾਂ ਦੇਣਾ ਪਵੇਗਾ।" + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "ਗਲਤ ਆਬਜੈਕਟ ਕਿਸਮ ਹੈ।" + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "ਪਹਿਲਾਂ ਆਰਗੂਮੈਂਟ QObject ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।" + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "ਆਰਗੂਮੈਂਟਾਂ ਦੀ ਗਲਤ ਗਿਣਤੀ ਹੈ।" + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "ਸਲਾਟ ਨੇ %1 ਆਰਗੂਮੈਂਟ ਲਈ ਪੁੱਛਿਆ" +msgstr[1] "ਸਲਾਟ ਨੇ %1 ਆਰਗੂਮੈਂਟਾਂ ਲਈ ਪੁੱਛਿਆ" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "ਪਰ ਸਿਰਫ਼ %1 ਉਪਲੱਬਧ ਹੈ" +msgstr[1] "ਪਰ ਕੇਵਲ %1 ਉਪਲੱਬਧ ਹਨ" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2" + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "%1 ਮੁੱਲ ਲਈ ਕਿਸਮ %2 (%3) ਤੋਂ ਕਾਸਟ ਲਈ ਫੇਲ੍ਹ" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "'%1' ਵਰਗਾ ਢੰਗ ਨਹੀਂ ਹੈ।" + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "ਢੰਗ '%1' ਲਈ ਕਾਲ ਫੇਲ੍ਹ ਹੋਈ, ਆਰਗੂਮੈਂਟ %2:%3 ਲੈਣ ਲਈ ਅਸਮਰੱਥ" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "'%1' ਲਈ ਕਾਲ ਫੇਲ੍ਹ ਹੋਈ।" + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "ਮੁੱਲ ਬਣਾਇਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "ਲੋੜੀਦੇ ਆਰਗੂਮੈਂਟ ਨਹੀਂ।" + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "ਐਕਸ਼ਨ ਬਣਾਉਣ ਲਈ ਫੇਲ੍ਹ ਹੈ।" + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "ActionGroup ਬਣਾਉਣ ਲਈ ਫੇਲ੍ਹ ਹੈ।" + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "ਕੋਈ ਕਲਾਸ-ਨਾਂ ਨਹੀਂ ਦਿੱਤਾ" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "ਲੇਆਉਟ ਬਣਾਉਣ ਲਈ ਫੇਲ੍ਹ ਹੈ।" + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "ਕੋਈ ਕਲਾਸ-ਨਾਂ ਨਹੀਂ ਦਿੱਤਾ।" + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "ਵਿਦਜੈੱਟ ਬਣਾਉਣ ਲਈ ਫੇਲ੍ਹ ਹੈ।" + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "ਫਾਈਲ '%1' ਖੋਲ੍ਹੀ ਨਹੀਂ ਜਾ ਸਕੀ: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "ਫਾਈਲ '%1' ਲੋਡ ਕਰਨ ਲਈ ਫੇਲ੍ਹ" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' ਇੱਕ ਵੈਧ QWidget ਨਹੀਂ ਹੈ।" + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "ਇੱਕ ਵਿਦਜੈੱਟ ਨਾਂ ਦੇਣਾ ਪਵੇਗਾ।" + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "ਗਲਤ ਸਲਾਟ ਹੈਂਡਲਰ: ਆਬਜੈਕਟ %1 ਐਡੇੱਟੀਫਾਇਰ %2 ਢੰਗ %3 ਦਸਤਖਤ: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "ਅਪਵਾਦ ਕਾਲਿੰਗ '%1' ਸਲਾਟ %2:%3:%4 ਤੋਂ" diff --git a/po/pl/kjsembed5.po b/po/pl/kjsembed5.po new file mode 100644 index 0000000..29ac237 --- /dev/null +++ b/po/pl/kjsembed5.po @@ -0,0 +1,344 @@ +# translation of kdelibs4.po to Polish +# translation of kdelibs4.po to +# Version: $Revision: 685926 $ +# Ostatnie poprawki przed 2.0 Jacek Stolarczyk +# Jacek Stolarczyk , 2001. +# Piotr Roszatycki , 1997-2000. +# Artur Górniak , 2000. +# Michał Rudolf , 2002. +# Michal Rudolf , 2002,2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010. +# Krzysztof Lichota , 2005, 2006. +# Marta Rybczyńska , 2007, 2008, 2009, 2010, 2011, 2012, 2013. +# Michal Rudolf , 2010. +# Artur Chłond , 2010. +# Łukasz Wojniłowicz , 2011, 2012, 2013, 2014. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2014-03-23 06:53+0100\n" +"Last-Translator: Łukasz Wojniłowicz \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +">\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Błąd podczas przetwarzania pliku nagłówkowego '%1 w wierszu %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "include wymaga 1 parametru, nie %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Plik %1 nie został znaleziony." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "library wymaga 1 parametru, nie %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Alarm" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Potwierdź" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" +"Nieprawidłowa funkcja obsługi zdarzenia: Obiekt %1 Identyfikator %2 Metoda " +"%3 Typ %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Wyjątek wywołujący funkcję '%1' z %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Nie można otworzyć pliku '%1'" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Nie można utworzyć pliku tymczasowego." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 nie jest funkcją i nie może być wywołane." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 nie jest obiektem" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Action wymaga 2 parametrów." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup wymaga 2 parametrów." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Trzeba podać poprawnego rodzica." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Podczas wczytywania pliku '%1' wystąpił błąd" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Nie można odczytać pliku '%1'" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Trzeba podać nazwę pliku." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' nie jest poprawnym układem." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Trzeba podać układ." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Błędny typ obiektu." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Pierwszym parametrem musi być QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Niepoprawna liczba parametrów." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Pozycja wymaga %1 parametru" +msgstr[1] "Pozycja wymaga %1 parametrów" +msgstr[2] "Pozycja wymaga %1 parametrów" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "ale dostępny jest tylko %1" +msgstr[1] "ale dostępne są tylko %1" +msgstr[2] "ale dostępnych jest tylko %1" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Błąd rzutowania na typ %1 z typu %2 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Brak metody '%1'." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "Wywołanie metody '%1' nieudane, nie można pobrać parametru %2:%3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Wywołanie '%1' nie udało się." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Nie można utworzyć wartości" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Brak wystarczającej liczby parametrów." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Nie udało się utworzyć Action." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Nie udało się utworzyć ActionGroup." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Nie podano nazwy klasy" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Nie można utworzyć Layout." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Nie podano nazwy klasy." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Nie można utworzyć widgetu." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Nie można otworzyć pliku '%1': %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Nie można wczytać pliku '%1'" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' nie jest poprawnym QWidget." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Trzeba podać nazwę widgeta." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "Błędna obsługa slota: Obiekt %1 Identyfikator %2 Metoda %3 Podpis: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Wyjątek wywołujący slot '%1' z %2:%3:%4" diff --git a/po/ps/kjsembed5.po b/po/ps/kjsembed5.po new file mode 100644 index 0000000..5a8d29d --- /dev/null +++ b/po/ps/kjsembed5.po @@ -0,0 +1,253 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the Kde package. +# Zabeeh Khan , 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2008-08-16 16:01-0800\n" +"Last-Translator: Zabeeh Khan \n" +"Language-Team: Pashto \n" +"Language: ps\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-Language: Pashto, Pushto\n" +"X-Poedit-Country: AFGHANISTAN\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr ".%1 ننويستل يوازې ۱ ارزښتمنۍ اخلي، نه" + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr ".دوتنه ونه موندل شوه %1" + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr ".%1 کتابتون يوازې ۱ ارزښتمنۍ اخلي، نه" + +#: kjsembed/builtins.cpp:137 +#, fuzzy, kde-format +#| msgctxt "keyboard-key-name" +#| msgid "Alt" +msgid "Alert" +msgstr "الټ" + +#: kjsembed/builtins.cpp:147 +#, fuzzy, kde-format +#| msgid "Configure" +msgid "Confirm" +msgstr "سازول" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "دوتنه نه شي پرانيستلی '%1'" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr ".لنډمهاله دوتنه نه شي جوړولی" + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "کومه کړنه نه ده او اړيکنيو ورسره نه شي کېدی. %1" + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "يو څيز ډول نه دی %1" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "چار ۲ ارزښتمنۍ اخلي." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "چارډله ۲ ارزښتمنۍ اخلي." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr ".سم پلرين ورکول اړين دی" + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "دوتنې په لوستلو کې کومه ستونزه رامنځته شوه '%1' د" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "دوتنه نه شي لوستلی '%1'" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr ".دوتنه نوم ورکول اړين دي" + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr ".سمه ک.هډوانه نه ده '%1'" + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr ".د هډوانې نوم ورکول اړين دي" + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr ".ناسم څيز ډول" + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "ښايي چې لومړۍ ارزښتمنۍ يو ک.څيز وي." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr ".د ارزښتمنېو ناسم شمېر" + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "" +msgstr[1] "" + +#: kjsembed/qobject_binding.cpp:410 +#, fuzzy, kde-format +#| msgid "There is no matching item available.\n" +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "کوم ساری توکی شتون نه لري.\n" +msgstr[1] "کوم ساری توکی شتون نه لري.\n" + +#: kjsembed/qobject_binding.cpp:411 +#, fuzzy, kde-format +#| msgctxt "concatenation of dates and time" +#| msgid "%1 %2" +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1 %2" + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr ".'%1' داسې لېله نشته" + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr ".سره اړيکنيو پاتې راغی '%1'" + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "ارزښت نه شي جوړولی" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr ".بشپړې ارزښمنۍ نشته" + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr ".چار جوړولو کې پاتې راغی" + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "د چارډلې په جوړولو کې پاتې راغی." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "پاړکی نوم نه دی ورکړل شوی" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr ".د هډوانې په جوړولو کې پاتې راغی" + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr ".پاړکی نوم نه دی ورکړل شوی" + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "د کارووني په جوړولو کې پاتې راغی." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "%2 :دوتنه نه شي پرانيستلی '%1'" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "دوتنې لېښلو کې پاتې راغی '%1'" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "سم ک.کاروونی نه دی. '%1'" + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "د کارووني نوم ورکول اړين دي." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "" diff --git a/po/pt/docs/kjscmd5/man-kjscmd5.1.docbook b/po/pt/docs/kjscmd5/man-kjscmd5.1.docbook new file mode 100644 index 0000000..a1554e6 --- /dev/null +++ b/po/pt/docs/kjscmd5/man-kjscmd5.1.docbook @@ -0,0 +1,176 @@ + + +]> + + + + +Manual do Utilizador do kjscmd5 + + + +Harri Porten
    porten@kde.org
    +
    +
    + +2015-07-31 +Plataformas 5.13 +Plataformas do KDE + +
    + + +kjscmd5 +1 + + + +kjscmd5 +Interpretador KJSEmbed das Plataformas + + + +Sintaxe + +kjscmd5 --help -e --exec -i -interactive ficheiro + + + +Descrição + +O kjscmd5 é uma ferramenta para invocar os programas do KJSEmbed a partir da linha de comandos. Irá executar os programas indicados no parâmetro ficheiro, usando o KJSEmbed. Este comando não aceita o '-' (stdin) como ficheiro. + + + +Opções da Aplicação + + + +, + +executar o programa no ficheiro sem o suporte gráfico. + + + + +, + +iniciar o interpretador interactivo kjs. + + + + + + + + +Utilização +A forma mais comum de invocar o kjscmd5 é tão simples como +kjscmd5 ficheiro + + Se não for usado o ficheiro, ele executa um programa de testes predefinido que mede a velocidade de arranque do kjscmd5. + + + +Veja Também +kjs5(1) + + + +Problemas +Existem provavelmente diversos erros. Use o sistema de gestão de erros do KDE para os comunicar. + + +
    + + + diff --git a/po/pt/kjsembed5.po b/po/pt/kjsembed5.po new file mode 100644 index 0000000..5beb719 --- /dev/null +++ b/po/pt/kjsembed5.po @@ -0,0 +1,340 @@ +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2013-10-15 10:38+0100\n" +"Last-Translator: José Nuno Pires \n" +"Language-Team: pt \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POFile-IgnoreConsistency: &Discard\n" +"X-POFile-IgnoreConsistency: Enter\n" +"X-POFile-IgnoreConsistency: Author\n" +"X-POFile-IgnoreConsistency: Open &File\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-POFile-Allow: 2\n" +"X-POFile-IgnoreConsistency: Far\n" +"X-POFile-SpellExtra: Hspell Koenig KHTML Thaana Telugu KScript Sycoca\n" +"X-POFile-SpellExtra: artsmessage KDEInit SOCKS kcmkresources\n" +"X-POFile-SpellExtra: ChavePrivadaFalhou KIOTest Han Thaani Jumaada Hangul\n" +"X-POFile-SpellExtra: Cherokee Meh KSpell chaveSessao TestWritevCard\n" +"X-POFile-SpellExtra: Thulatha Javascript Tagbanwa End Tagalog LTR Oriya\n" +"X-POFile-IgnoreConsistency: H:\n" +"X-POFile-IgnoreConsistency: Untrusted\n" +"X-POFile-IgnoreConsistency: Export\n" +"X-POFile-SpellExtra: Hiragana Backspace Print PgUp Ins\n" +"X-POFile-SpellExtra: ModificadoresEspaço Yi Lao Return gpg Caps Lock kab\n" +"X-POFile-SpellExtra: aRts tags Buhid Insert Gurmukhi Malayalam Scroll\n" +"X-POFile-SpellExtra: Delete Ogham PgDn Kannada Tab Home Katakana SysReq\n" +"X-POFile-SpellExtra: KConvertTest Khmer OutraOpção Bopomofo\n" +"X-POFile-SpellExtra: MarcasCombinatórias Enter UmaOpção Devanagari\n" +"X-POFile-SpellExtra: Hanunoo Sinhala JanelaAutoExemplo Lars Ian help\n" +"X-POFile-IgnoreConsistency: Try Different\n" +"X-POFile-IgnoreConsistency: Delete\n" +"X-POFile-IgnoreConsistency: Comment\n" +"X-POFile-IgnoreConsistency: &Restore\n" +"X-POFile-IgnoreConsistency: Reset\n" +"X-POFile-IgnoreConsistency: 0.1\n" +"X-POFile-IgnoreConsistency: Forward\n" +"X-POFile-SpellExtra: Kanbun CTRL Klash Syloti JS Jan TETest QObject\n" +"X-POFile-SpellExtra: Sebastian Geiser Far kdeinit Weis Mordad Yau Hausmann\n" +"X-POFile-SpellExtra: execprefix autostart Dirk Nov Elul shanbe Farvardin\n" +"X-POFile-SpellExtra: KApplication bin tagcloudtest displayname IFrame yo\n" +"X-POFile-SpellExtra: Aza Adar Sáb dah XIM Sha Sonnet testregression Jamo\n" +"X-POFile-SpellExtra: Shawwal Bah KConf IPA Hijri Sab Testkhtml Jeroen\n" +"X-POFile-SpellExtra: QWidget dumps KJSEmbed Arb qttest stderr Kho ban Kha\n" +"X-POFile-SpellExtra: PathLengthExceeded Tai shn Ago KrossTest Ithnain\n" +"X-POFile-SpellExtra: klauncher tempfile Aban frame ThreadWeaver Kun yeyo\n" +"X-POFile-SpellExtra: Buginese Lue Kislev Khamees home Jumma XDG Khordad\n" +"X-POFile-SpellExtra: Zemberek KAboutData Wijnhout Sivan Saami Method Qua\n" +"X-POFile-SpellExtra: Molkentin PTY Koivisto onthespot Ord Shvat Jom\n" +"X-POFile-SpellExtra: KMultiPart Ahad CJK Aspell Tifinagh NoCARoot Tishrey\n" +"X-POFile-SpellExtra: Up KDXSView ModRunner subtexto aifamily Panj path\n" +"X-POFile-SpellExtra: NumLock keramik GHNS TestRegressionGui Yek Iyar Ahd\n" +"X-POFile-SpellExtra: khtmltests Torben QApplication overthespot caption\n" +"X-POFile-SpellExtra: khtml desktop Ispell QWS create Faure Object Limbu\n" +"X-POFile-SpellExtra: KLauncher Sauer Hijjah Myanmar NEC BCC Fev Kelly\n" +"X-POFile-SpellExtra: Jumee Stephan TestRegression Knoll frames HOME Jum\n" +"X-POFile-SpellExtra: DISPLAY KNewStuff Awal Rajab pt plastik InvalidHost\n" +"X-POFile-SpellExtra: kdemain STDOUT Jun Jul Kulow Yaum pa Chahar widgets\n" +"X-POFile-SpellExtra: man KUnitTest pm KDEPIM TAB Waldo CL CC Balinês\n" +"X-POFile-SpellExtra: Nagri Kangxi QLayout qtplugininstance regression\n" +"X-POFile-SpellExtra: multipart Jalali Phags Set servname nograb\n" +"X-POFile-SpellExtra: International Frame CGIs Stylesheet Library Sex Seg\n" +"X-POFile-SpellExtra: KDontChangeTheHostName SO toner Yijing Peter Out\n" +"X-POFile-SpellExtra: InvalidCA Le Khmeres Tevet Ordibehesht Anton am al\n" +"X-POFile-SpellExtra: Tir Tuebingen Esf Abr ini KLocale KiB WMNET Dingbats\n" +"X-POFile-SpellExtra: InvalidPurpose kdehelp id Glagolitic factory Esfand\n" +"X-POFile-SpellExtra: Nisan kjs ErrorReadingRoot MiB Copta Shanbe Xvfb\n" +"X-POFile-SpellExtra: client Mai Bastian document config TiB Jones AC\n" +"X-POFile-SpellExtra: KBuildSycoca Bahman offthespot Mueller Tang ye Thu\n" +"X-POFile-SpellExtra: Sabt NKo aisocktype mixed Carriage Thl aiflags\n" +"X-POFile-SpellExtra: Muharram Reinhart Kontact Cantonês Page icon\n" +"X-POFile-SpellExtra: makekdewidgets ManyColor Heshvan Kross Ith bind Antti\n" +"X-POFile-SpellExtra: DXS Tamuz Shahrivar sessionId sh KJSCmd Av KLibLoader\n" +"X-POFile-SpellExtra: Mehr GiB Arbi dograb AssinaturaFalhou prefix\n" +"X-POFile-SpellExtra: Hexagramas ize AutoAssinado NãoConfiável Qi Down\n" +"X-POFile-SpellExtra: directory Índicas ise Oxygen info shared share usr\n" +"X-POFile-IgnoreConsistency: Separate Folders\n" +"X-POFile-SpellExtra: XDGDATADIRS KTTS Control PrtScr Hyper Sys Win Screen\n" +"X-POFile-SpellExtra: Req Break AltGr ReadOnly SHM EOF Re abc ABC QPL Kate\n" +"X-POFile-SpellExtra: Serif Sans KFormula URIs raster opengl favicons Solid\n" +"X-POFile-SpellExtra: Harald Fernengel KTTSD baseline Resource writeall\n" +"X-POFile-SpellExtra: Trüg YiB PiB YB ZB EB PB EiB ZiB GB TB KIdleTest\n" +"X-POFile-SpellExtra: Freddi KIdleTime Cha Āshwin Budhavãra Suk Paush\n" +"X-POFile-SpellExtra: Shrāvana Somavãra Phālgun Raviãra Phā Māg\n" +"X-POFile-SpellExtra: Bhādrapad Chaitra Māgh Sukravãra Āshādha\n" +"X-POFile-SpellExtra: Agrahayana Bud Shr Guruvãra Mañ Gur Vaishākh Jya\n" +"X-POFile-SpellExtra: Kārtik Agr Jyaishtha Kār Āsh Bhā Rav milisegundo\n" +"X-POFile-SpellExtra: Āsw Mañgalvã Sanivãra Mayek Ol Saurashtra\n" +"X-POFile-SpellExtra: Sundanês Viet Lisu Kayah Chiki Lepcha Meetei Cham\n" +"X-POFile-SpellExtra: Rejang Tham Bamum Pshoment Pas Ptiou Neh Genbot Hamus\n" +"X-POFile-SpellExtra: Pag Paope Pesnau Pes Hed Magabit Ehu Tahsas Yak Mag\n" +"X-POFile-SpellExtra: Tob Pef Kou Pam Pao Tequemt Paremhotep Psh nabot\n" +"X-POFile-SpellExtra: Hathor Pso Kiahk Hat Meo Psa Sene Psabbaton Miy\n" +"X-POFile-SpellExtra: Pashons Mes LarguraxAltura Kia Qedame Ham Gen Hedar\n" +"X-POFile-SpellExtra: Parmoute Teq Mesore Nehase Kouji Yakatit Maksegno\n" +"X-POFile-SpellExtra: Paone Sen Meshir Pagumen Thoout Hamle Epe Mak\n" +"X-POFile-SpellExtra: Tkyriakē Ehud Tho Qed Pti Psoou Segno Tah Rob\n" +"X-POFile-SpellExtra: Miyazya Meskerem Tobe Peftoou Epep Tky pastabase Fã\n" +"X-POFile-SpellExtra: KVTML USD Colaborativos Hunspell Jovie AM PM mails\n" +"X-POFile-SpellExtra: mbuttonGroup Blog blog np cp nc UTC Mandaico Batak\n" +"X-POFile-SpellExtra: DQTDECLARATIVEDEBUG QML slot pedro mantê Pocinhas\n" +"X-POFile-SpellExtra: Reconstrói ii Del iii querê\n" +"X-POFile-IgnoreConsistency: Update\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Ocorreu um erro ao processar a inclusão '%1' na linha %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "a inclusão só recebe 1 argumento, não %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "O ficheiro %1 não foi encontrado." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "a biblioteca só recebe 1 argumento, não %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Alerta" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Confirmação" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" +"Tratamento de eventos inválido: Objecto %1 Identificador %2 Método %3 Tipo: " +"%4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Ocorreu uma excepção ao invocar a função '%1' em %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Não foi possível aceder ao ficheiro '%1'" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Não foi possível criar o ficheiro temporário." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "O %1 não é uma função e não pode ser invocado." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "O %1 não é um tipo Object" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "A acção recebe 2 argumentos." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "O grupo de acções recebe 2 argumentos." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Deverá indicar um item-pai válido." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Ocorreu um erro ao ler o ficheiro '%1'" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Não foi possível ler o ficheiro '%1'" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "É necessário indicar um nome de ficheiro." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "O '%1' não é um QLayout válido." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Tem de indicar um nome de disposição." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "O tipo do objecto é inválido." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "O primeiro argumento deverá ser um QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "O número de argumentos está incorrecto." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "O 'slot' pediu %1 argumento" +msgstr[1] "O 'slot' pediu %1 argumentos" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "mas só existe %1 disponível" +msgstr[1] "mas só existem %1 disponíveis" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Não foi possível converter para %1 o valor do tipo %2 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Não existe o método '%1'." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "" +"A invocação do método '%1' falhou, por não ser possível obter o argumento " +"%2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "A invocação de '%1' falhou." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Não foi possível construir o valor" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Os argumentos são insuficientes." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Não foi possível criar uma acção." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Não foi possível criar um grupo de acções." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Não indicou um nome da classe" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Não foi possível criar uma disposição." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Não foi indicado um nome de classe." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Não foi possível criar um item gráfico." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Não foi possível aceder ao ficheiro '%1': %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Não foi possível carregar o ficheiro '%1'" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "O '%1' não é um QWidget válido." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Deverá indicar um nome de item gráfico." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Tratamento do 'slot' inválido: Objecto: %1 Identificador %2 Método %3 " +"Assinatura: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Ocorreu uma excepção ao invocar o 'slot' '%1' em %2:%3:%4" diff --git a/po/pt_BR/docs/kjscmd5/man-kjscmd5.1.docbook b/po/pt_BR/docs/kjscmd5/man-kjscmd5.1.docbook new file mode 100644 index 0000000..aa3ff3f --- /dev/null +++ b/po/pt_BR/docs/kjscmd5/man-kjscmd5.1.docbook @@ -0,0 +1,176 @@ + + +]> + + + + +Manual do Usuário do kjscmd5 + + + +Harri Porten
    porten@kde.org
    +
    +
    + +31/07/2015 +Frameworks 5.13 +KDE Frameworks + +
    + + +kjscmd5 +1 + + + +kjscmd5 +Interpretador Frameworks KJSEmbed + + + +Sintaxe + +kjscmd5 --help -e --exec -i -interactive arquivo + + + +Descrição + +O kjscmd5 é uma ferramenta para invocar os programas do KJSEmbed a partir da linha de comando. Ele executará os programas indicados no parâmetro arquivo, usando o KJSEmbed. Esse comando não aceita o '-' (stdin) como arquivo. + + + +Opções do aplicativo + + + +, + +executar o programa no arquivo sem o suporte gráfico. + + + + +, + +iniciar o interpretador interativo kjs. + + + + + + + + +Utilização +A forma mais comum de invocar o kjscmd5 é tão simples como +kjscmd5 arquivo + + Se não for usado o arquivo, ele executa um programa de testes pré-definido que mede a velocidade de inicialização do kjscmd5. + + + +Veja também +kjs5(1) + + + +Problemas +Use o sistema de gerenciamento de erros do KDE para relatar erros. + + +
    + + + diff --git a/po/pt_BR/kjsembed5.po b/po/pt_BR/kjsembed5.po new file mode 100644 index 0000000..648cba0 --- /dev/null +++ b/po/pt_BR/kjsembed5.po @@ -0,0 +1,262 @@ +# Translation of kjsembed5.po to Brazilian Portuguese +# Copyright (C) 2002-2014 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Lisiane Sztoltz , 2002, 2003, 2004. +# Lisiane Sztoltz Teixeira , 2003, 2004, 2005. +# Henrique Pinto , 2003. +# Marcus Gama , 2006. +# Diniz Bortolotto , 2007, 2008. +# André Marcelo Alvarenga , 2008, 2009, 2010, 2011, 2012, 2013, 2014. +# Luiz Fernando Ranghetti , 2008, 2009, 2010, 2012. +# Fernando Boaglio , 2009. +# Doutor Zero , 2007, 2009. +# Marcus Vinícius de Andrade Gama , 2010, 2012. +# Aracele Torres , 2010. +msgid "" +msgstr "" +"Project-Id-Version: kjsembed5\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2014-06-28 19:44-0300\n" +"Last-Translator: André Marcelo Alvarenga \n" +"Language-Team: Brazilian Portuguese \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 1.5\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Um erro foi encontrado ao processar a inclusão %1 na linha %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "A inclusão só recebe 1 argumento, não %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Arquivo %1 não encontrado." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "A biblioteca só recebe 1 argumento, não %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Alerta" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Confirmar" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" +"Manipulador de eventos inválidos: Objeto %1 Identificador %2 Método %3 Tipo: " +"%4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Exceção ao chamar a função '%1' a partir de %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Não foi possível abrir o arquivo '%1'" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Não foi possível criar o arquivo temporário." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 não é uma função é não pode ser chamada." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 não é um tipo Object" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Action recebe 2 argumentos." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup recebe 2 argumentos." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "É preciso fornecer um pai válido." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Houve um erro ao ler o arquivo '%1'" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Não foi possível ler o arquivo '%1'" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "É preciso fornecer um nome de arquivo." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' não é um QLayout válido." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "É preciso fornecer um nome de layout." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Tipo errado de objeto." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "O primeiro argumento deve ser um QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Número incorreto de argumentos." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "O slot pediu %1 argumento" +msgstr[1] "O slot pediu %1 argumentos" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "mas somente existe %1 disponível" +msgstr[1] "mas somente existem %1 disponíveis" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Falha ao moldar o valor %1 do Tipo %2 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Não existe o método '%1'." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "" +"A chamada para o método '%1' falhou; não foi possível obter o argumento %2: " +"%3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "A chamada para o método '%1' falhou." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Não foi possível construir o valor" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Argumentos insuficientes." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Falha ao criar Action." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Falha ao criar ActionGroup." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Nenhum classname especificado" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Falha ao criar o layout." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Nenhum classname especificado." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Falha ao criar o widget." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Não foi possível abrir o arquivo '%1': %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Falha ao carregar o arquivo '%1'" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' não é um QWidget válido." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "É preciso fornecer um nome de widget." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Manipulador de slots inválidos: Objeto %1 Identificador %2 Método %3 " +"Assinatura: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Exceção ao chamar o slot '%1' a partir de %2:%3:%4" diff --git a/po/ro/kjsembed5.po b/po/ro/kjsembed5.po new file mode 100644 index 0000000..cd84870 --- /dev/null +++ b/po/ro/kjsembed5.po @@ -0,0 +1,254 @@ +# Traducerea kdelibs4.po în Română +# Laurenţiu Buzdugan , 2008, 2009. +# Sergiu Bivol , 2008, 2009, 2010. +# Sergiu Bivol , 2010, 2012, 2013, 2014. +# Cristian Oneț , 2010, 2011, 2012, 2013. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2014-03-26 19:20+0200\n" +"Last-Translator: Sergiu Bivol \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " +"20)) ? 1 : 2;\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "" +"S-a întâmpinat o eroare în timpul procesării fișierului inclus '%1' linia " +"%2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "„include” ia doar 1 argument, nu %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Fișierul %1 nu a fost găsit." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "biblioteca ia doar 1 argument, nu %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Alertă" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Confirmă" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" +"Tratare invalidă a evenimentului: Obiect %1 Identificator %2 Metodă %3 " +"Semnătură: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Excepție la apelul funcției „%1” din %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Nu pot deschide fișierul „%1”" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Nu pot crea fișierul temporar." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 nu este o funcție și nu poate fi apelat." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 nu este un tip de obiect" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Acțiunea necesită 2 argumente." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup ia 2 argumente." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Trebuie furnizat un părinte valid." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "A apărut o eroare la citirea fișierului „%1”" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Nu s-a putut citi fișierul „%1”" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Trebuie furnizată o denumire de fișier." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "„%1” nu este un QLayout valid." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Trebuie furnnizată o denumire de aranjament." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Tip de obiect greșit." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Primul argument trebuie să fie un QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Număr de argumente greșit." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Soclul a cerut %1 argument" +msgstr[1] "Soclul a cerut %1 argumente" +msgstr[2] "Soclul a cerut %1 de argumente" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "dar este disponibil numai %1" +msgstr[1] "dar sunt disponibile numai %1" +msgstr[2] "dar sunt disponibile numai %1" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1 %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Eroare la transformarea unei valori %1 din tipul %2 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Nu există metoda „%1”." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "Apelul la metoda „%1” a eșuat, imposibil de obținut argumentul %2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Apelul la „%1” a eșuat." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Nu se poate construi valoarea" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Argumente insuficiente." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Eșec la crearea acțiunii." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Eșec la crearea ActionGroup." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Nicio denumire de clasă specificată" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Eșec la crearea aranjamentului." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Nicio denumire de clasă specificată." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Eșec la crearea Controlului." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Nu s-a putut deschide fișierul „%1”: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Eșec la încărcarea fișierului „%1”" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "„%1” nu este un QWidget valid." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Trebuie furnizată denumirea controlului." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Tratare invalidă a slotului: Obiect %1 Identificator %2 Metodă %3 Semnătură: " +"%4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Excepție la apelul soclului „%1” din %2:%3:%4" diff --git a/po/ru/docs/kjscmd5/man-kjscmd5.1.docbook b/po/ru/docs/kjscmd5/man-kjscmd5.1.docbook new file mode 100644 index 0000000..0df4c25 --- /dev/null +++ b/po/ru/docs/kjscmd5/man-kjscmd5.1.docbook @@ -0,0 +1,293 @@ + + +]> + + + + +Руководство пользователя &kde; + + + +Harri Porten
    porten@kde.org
    +
    +
    + +16 октября 2008 г. +0.01.01 + +
    + + +kjscmd5 +1 + + + +kjscmd5 +Интерпретатор &kde; KJSEmbed + + + +Обзор + +kjscmd5 --help -e --exec -i -interactive -n -no-kde файл + + + +Описание + +kjscmd5 — это инструмент для запуска сценариев KJSEmbed из командной строки. Он запускает сценарии из файла с именем файл, используя KJSEmbed. Не допускается передача «-» для указания стандартного ввода (stdin) в качестве параметра file. + + + + +Параметры приложения + + + +, + +Запустить сценарий из файла файл без поддержки графического интерфейса. + + + + +, + +Запустить интерактивный интерпретатор kjs. + + + + +, + +Запустить без поддержки &kde; KApplication. + + + + + + + + + +Использование +Обычный способ запуска kjscmd5: +kjscmd5 файл + + Если параметр файл не указан, то запускается тестовый сценарий, измеряющий скорость запуска kjscmd5. + + + +Смотрите также +kjs5(1) + + + +Ошибки +KDE Frameworks может содержать ошибки. Сообщайте о них разработчикам на bugs.kde.org. + + +
    + + + diff --git a/po/ru/kjsembed5.po b/po/ru/kjsembed5.po new file mode 100644 index 0000000..bf771f1 --- /dev/null +++ b/po/ru/kjsembed5.po @@ -0,0 +1,268 @@ +# KDE - kdelibs/kdelibs4.po Russian translation. +# Copyright (C) 2005, KDE Russian translation team. +# +# Denis Perchine , 2000. +# Gregory Mokhin , 2000, 2004, 2005. +# Albert R. Valiev , 2002, 2008. +# Leonid Kanter , 2002-2004, 2005, 2008. +# Andrey Cherepanov , 2005-2007, 2008, 2009, 2011. +# Nick Shaforostoff , 2004, 2006, 2007, 2008, 2009. +# Nick Shaforostoff , 2009. +# Alexander Potashev , 2009, 2010, 2011, 2014. +# Yury G. Kudryashov , 2011. +# Yuri Efremov , 2012. +# Inga Barinova , 2012. +# Julia Dronova , 2012. +# Alexander Lakhin , 2013. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2014-02-05 03:50+0400\n" +"Last-Translator: Alexander Potashev \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Ошибка при выполнении include «%1» на строке %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "директива include требует один аргумент, а не %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Файл %1 не найден." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "библиотека требует один аргумент, а не %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Тревога" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Подтверждение" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" +"Неверный обработчик событий: объект %1, идентификатор %2, метод %3, тип %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Возникло исключение при вызове функции «%1» из %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Не удалось открыть файл «%1»" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Не удалось создать временный файл." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 не является функцией и не может быть вызвано." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 не является объектом" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Действие требует 2 аргумента." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup требует 2 аргумента." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Необходимо указать правильный родительский объект." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Ошибка чтения из файла «%1»" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Не удалось открыть файл «%1»" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Необходимо указать имя файла." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "«%1» не является правильным объектом QLayout." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Необходимо указать имя компоновки." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Неверное имя объекта." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Первый аргумент должен быть объектом QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Неверное количество аргументов." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Слот требует %1 аргумент" +msgstr[1] "Слот требует %1 аргумента" +msgstr[2] "Слот требует %1 аргументов" +msgstr[3] "Слот требует %1 аргумент" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "но есть только %1 аргумент" +msgstr[1] "но есть только %1 аргумента" +msgstr[2] "но есть только %1 аргументов" +msgstr[3] "но есть только %1 аргумент" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Не удалось преобразовать значение от типа %2 к типу %1 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Нет метода «%1»." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "Ошибка вызова метода «%1»: не удалось получить аргумент %2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Ошибка вызова «%1»." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Не удалось запустить конструктор значения" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Недостаточно аргументов." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Не удалось создать Action." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Не удалось создать ActionGroup." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Не указано имя класса" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Не удалось создать Layout." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Имя класса не указано." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Не удалось создать Widget." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Не удалось открыть файл «%1»: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Ошибка открытия файла «%1»" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "«%1» не является правильным объектом QWidget." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Необходимо указать имя виджета." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Неверный обработчик слота: объект %1, идентификатор %2, метод %3, сигнатура " +"%4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Возникло исключение при вызове слота «%1» из %2:%3:%4" diff --git a/po/se/kjsembed5.po b/po/se/kjsembed5.po new file mode 100644 index 0000000..9515ace --- /dev/null +++ b/po/se/kjsembed5.po @@ -0,0 +1,251 @@ +# Translation of kjsembed5 to Northern Sami +# +# Børre Gaup , 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2012-05-30 23:19+0200\n" +"Last-Translator: Børre Gaup \n" +"Language-Team: Northern Sami \n" +"Language: se\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Šattai meattáhus go gieđahalai include «%1» linnjá %2:%3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "include dohkkeha dušše ovtta argumeantta, iige %1" + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Fiila %1 ii gávdnon." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "bibliotehka dohkkeha dušše ovtta argumeantta, iige %1" + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Várrehus" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Nanne" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" +"Boastto eventhandler: Objeakta %1 Identifikáhtor %2 Metoda %3 Šládja: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Spiehkastat dáhpáhuvai go gohččui «%1»-funkšuvnna %2:%3:%4:s" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Ii sáhttán rahpat fiilla «%1»" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Ii sáhttán ráhkadit gaskaboddosaš fiilla." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 ii leat funkšuvdna, ja danne ii mana dan gohččot." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 ii leat objeaktašládja" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Action gáibida 2 argumeantta." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup gáibida 2 argumeantta." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Ferte leat gustojeaddji váhnen." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Šattai meattáhus logadettiin fiilla «%1»" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Ii sáhttán lohkat fiillat «%1»" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Ferte meroštit fiilanama." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "«%1» lea gustohis QLayout." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Ferte meroštit fárdanama." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Boasttu objeaktašládja." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Vuosttaš argumeanta ferte leat QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Menddo unnán dahje ollu argumeanttat." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Slot dáhtui%1 argumeantta" +msgstr[1] "Slot dáhtui%1 argumeantta" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "muhto leat dušše %1 olámuttus" +msgstr[1] "muhto leat dušše %1 olámuttus" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1 %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Ii sáhttán konverteret %1-árvvu %2-šlájas (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Metoda «%1» ii gávdno." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "" +"Šattai meattáhus go gohččui «%1»-metoda, ii sáhttán viežžat argumeantta %2:%3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Ii sáhttán «%1» gohččot." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Ii sáhttán ráhkadit árvvu" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Eai leat doarvái argumeanttat." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Ii sáhttán ráhkadit doaimma." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Ii sáhttán ráhkadit doaimmajoavkku." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Classname ii leat meroštuvvon" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Ii sáhttán ráhkadit ráhkadusa." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Classname ii leat meroštuvvon." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Ii sáhttán ráhkadat áđa." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Ii sáhttán rahpat fiilla «%1»: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Ii sáhttán viežžat fiilla «%1»" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "«%1» ii leat gustojeaddji QWidget." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Fertet addit áhtanama." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Boastto slot-gieđahalli: Objeakta%1 Identifikáhtor %2 Metoda %3 " +"Dovddaldat: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "" diff --git a/po/si/kjsembed5.po b/po/si/kjsembed5.po new file mode 100644 index 0000000..1902c31 --- /dev/null +++ b/po/si/kjsembed5.po @@ -0,0 +1,247 @@ +# This file is distributed under the same license as the PACKAGE package. +# +# Danishka Navin , 2008, 2009, 2010, 2011. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2011-07-25 07:45+0530\n" +"Last-Translator: Danishka Navin \n" +"Language-Team: Sinhala \n" +"Language: si\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +" \n" +" \n" +"X-Generator: Lokalize 1.2\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "include '%1' පේළිය %2 සැකසීමේදී දෝෂයක් මතු විය: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "include ලබා ගන්නේ එක් තර්කයක් පමණි, %1ක් නොවේ." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "%1 ගොනුව හමුවූයේ නැත." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "පුස්තකාලය ලබා ගන්නේ තර්ක 1ක් පමණි, %1ක් නොවේ." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "සංඥාව" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "තහවුරු කරනවා" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "නරක වැඩසටහන් හසුරුවනය: වස්තුව %1 හඳුන්වනය %2 ආකාරය %3 අත්සන: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "%2:%3:%4 සිට '%1' ක්‍රියාව ඇමතීමේදී අපවාදය" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "'%1' ගොනුව විවෘත කළ නොහැක" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "තාවකාලීක ගොනුව නිර්මාණය කළ නොහැකි විය." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 ක්‍රියාවක් නොවන අතර ඇමතීමට නොහැක." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 වස්තු ආකාරයක් නොවේ" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "ක්‍රියාව තර්ක 2ක් ලබා ගනී." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ක්‍රියා සමූහය තර්ක 2ක් ලබා ගනී." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "වලංගු දෙමව්පියන් සැපයිය යුතුය." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "'%1' ගොනුව කියවිමේදි දෝෂයකි" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "'%1' ගොනුව කියවිය නොහැකි විය" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "ගොනුනාමයක් ලබා දිය යුතුම වේ." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' නිවරද්‍ය QLayout නොවේ." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "ආකෘති නාමයක් ලබා දිය යුතුම වේ." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "වැරදි වස්තු ආකාරයක්." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "පළමු තර්කය QObject එකක් විය යුතුය." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "තර්ක ගණන වැරදිය." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "" +msgstr[1] "" + +#: kjsembed/qobject_binding.cpp:410 +#, fuzzy, kde-format +#| msgid "There is no matching item available.\n" +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "ගැළපෙන ප්‍රයෝජනයටගත හැකි අයිතමයක් නොමැත.\n" +msgstr[1] "ගැළපෙන ප්‍රයෝජනයටගත හැකි අයිතමයක් නොමැත.\n" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "%2 (%3) වර්ගයෙන් %1 අගයට යොමු කිරීමට අසමත් විය" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "'%1' ආකාරයක් නොමැත." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "'%1' ක්‍රමයට ඇමතීම අසාර්ථක විය, %2: %3 තර්කය ලබා ගැනීමට නොහැකි විය." + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "'%1' ට ඇමතීම අසමත් විය." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "අගයක් ගොඩනැගිය නොහැක" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "ප්‍රමාණවත් තරම් තර්ක නැත." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "ක්‍රීයාව නිර්මාණය අසමත් විය." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "ක්‍රීයාසමූහය නිර්මාණය අසමත් විය." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "පංතිනාමයක් දක්වා නැත" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "ආකෘතියක් නිර්මාණය අසමත් විය." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "පංතිනාමයක් දක්වා නැත." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "මෙවලම නිර්මාණය අසමත් විය." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "'%1' ගොනුව විවෘත කළ නොහැකි විය: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "'%1' ගොනුව පූරණය අසමත් විය" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' සාවද්‍ය QWidget නොවේ." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "මෙවලම් නාමයක් ලබා දිය යුතුම වේ." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "නරක කට්ට හසුරුවනය: වස්තුව %1 හඳුන්වනය %2 ආකාරය %3 අත්සන: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "%2:%3:%4 සිට '%1' කට්ටය ඇමතීමේදී අපවාදය" diff --git a/po/sk/kjsembed5.po b/po/sk/kjsembed5.po new file mode 100644 index 0000000..cad3750 --- /dev/null +++ b/po/sk/kjsembed5.po @@ -0,0 +1,252 @@ +# translation of kdelibs4.po to Slovak +# Stanislav Visnovsky , 2002. +# Stanislav Visnovsky , 2003, 2004, 2005. +# Richard Fric , 2006, 2007, 2010. +# Michal Gaspar , 2006. +# Jakub , 2009. +# Michal Sulek , 2009, 2010, 2011. +# Richard Frič , 2011. +# Roman Paholík , 2012, 2013. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2013-10-15 18:51+0200\n" +"Last-Translator: Roman Paholík \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Nastala chyba pri spracovaní include '%1' na riadku %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "include vyžaduje 1 argument, nie %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Súbor %1 nebol nájdený." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "knižnica vyžaduje 1 argument, nie %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Varovanie" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Potvrdiť" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "Zlá obsluha udalosti: Objekt %1 Identifikátor %2 Metóda %3 Typ: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Volanie výnimky funkcie '%1' z %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Nepodarilo sa otvoriť súbor '%1'" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Nepodarilo sa vytvoriť dočasný súbor." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 nie je funkcia a preto nemôže byť volaná." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 nie je typ objektu" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Akcia vyžaduje 2 argumenty." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup požaduje 2 args." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Musíte zadať platného rodiča." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Nastala chyba pri čítaní súboru '%1'" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Nepodarilo sa prečítať súbor '%1'" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Musíte zadať názov súboru." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' nie je platný QLayout." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Musíte zadať názov rozloženia." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Chybný typ objektu." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Prvý argument musí byť QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Nesprávny počet argumentov." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Slot si vyžiadal %1 argument" +msgstr[1] "Slot si vyžiadal %1 argumenty" +msgstr[2] "Slot si vyžiadal %1 argumentov" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "ale je iba %1 dostupný" +msgstr[1] "ale sú iba %1 dostupné" +msgstr[2] "ale je iba %1 dostupných" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Chyba pri obsadení hodnoty %1 z typu %2 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Neexistujúca metóda '%1'." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "Volanie metódy %1 zlyhalo, nepodarilo sa získať argument %2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Volanie '%1' zlyhalo." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Nepodarilo sa vytvoriť hodnotu" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Nedostatok argumentov." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Zlyhalo vytvorenie akcie." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Zlyhalo vytvorenie ActionGroup." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Názov triedy nie je zadaný" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Zlyhalo vytvorenie rozloženia." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Názov triedy nie je zadaný." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Zlyhalo vytvorenie prvku." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Nepodarilo sa otvoriť súbor '%1': %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Zlyhalo načítanie súboru '%1'" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' nie je platný QWidget." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Musíte zadať názov prvku." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "Zlá obsluha slotu: Objekt %1 Identifikátor %2 Metóda %3 Podpis: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Volanie výnimky slotu '%1' z %2:%3:%4" diff --git a/po/sl/kjsembed5.po b/po/sl/kjsembed5.po new file mode 100644 index 0000000..fd733b4 --- /dev/null +++ b/po/sl/kjsembed5.po @@ -0,0 +1,262 @@ +# translation of kdelibs4.po to Slovenian +# Translation of kdelibs4.po to Slovenian +# KDELIBS translation to Slovenian language +# $Id: kdelibs4.po 685926 2007-07-10 04:25:11Z scripty $ +# $Source$ +# +# Copyright (C) 2002,2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +# Roman Maurer , 2002. +# Gregor Rakar , 2002,2003. +# Gregor Rakar , 2003, 2004, 2005. +# Andrej Vernekar , 2005, 2007, 2008, 2009, 2010. +# Jure Repinc , 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013. +# Andrej Vernekar , 2008, 2011, 2012. +# Andrej Mernik , 2012, 2013. +# Matjaž Jeran , 2020. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2020-02-22 06:38+0100\n" +"Last-Translator: Matjaž Jeran \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Translator: Andrej Mernik \n" +"X-Generator: Poedit 2.3\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Napaka med obdelovanjem vključitve '%1' v vrstici %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "vključitev sprejme samo en argument in ne %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Datoteka %1 ni bila najdena." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "knjižnica sprejme le en argument, ne %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Opozorilo" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Potrdi" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "Slab ročnik dogodka. Predmet %1, določilo %2, metoda %3, vrsta %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Izjema ob klicu funkcije '%1' iz %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Ni bilo mogoče odpreti datoteke '%1'" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Ni bilo mogoče ustvariti začasne datoteke." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 ni funkcija in je ni mogoče klicati." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 ni vrste Object" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Dejanje potrebuje 2 argumenta." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "Skupina dejanj potrebuje 2 argumenta." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Vnesti morate veljavnega nadrejenega." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Prišlo je do napake med branjem datoteke '%1'." + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Ni bilo mogoče prebrati datoteke '%1'" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Podati morate ime datoteke." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' ni veljaven QLayout." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Podati morate ime razporeda." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Napačna vrsta predmeta." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Prvi argument mora biti QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Nepravilno število argumentov." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Reža je zahtevala %1 argument" +msgstr[1] "Reža je zahtevala %1 argumenta" +msgstr[2] "Reža je zahtevala %1 argumente" +msgstr[3] "Reža je zahtevala %1 argumentov" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "a na voljo je samo %1" +msgstr[1] "a na voljo sta samo %1" +msgstr[2] "a na voljo so samo %1" +msgstr[3] "a na voljo je samo %1" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Neuspeh pretvorbe vrednosti iz vrste %2 (%3) v %1" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Ni metode '%1'." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "Klic metode '%1' ni uspel, ni mogoče pridobiti argumenta %2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Klic do '%1' ni uspel." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Ni mogoče sestaviti vrednosti" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Ni dovolj argumentov." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Ni bilo mogoče ustvariti dejanja." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Ni bilo mogoče ustvariti skupine dejanj." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Ime razreda ni navedeno" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Ni bilo mogoče ustvariti razporeda." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Ime razreda ni navedeno." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Ni bilo mogoče ustvariti gradnika." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Ni bilo mogoče odpreti datoteke »%1«: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Nalaganje datoteke »%1« ni uspelo" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "»%1« ni veljaven QWidget." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Podati morate ime gradnika." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "Slab ročnik reže: predmet %1, določilo %2, metoda %3, podpis %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Izjema ob klicu reže '%1' iz %2:%3:%4" diff --git a/po/sq/kjsembed5.po b/po/sq/kjsembed5.po new file mode 100644 index 0000000..b64dcad --- /dev/null +++ b/po/sq/kjsembed5.po @@ -0,0 +1,266 @@ +# Agron Selimaj , 2012. +msgid "" +msgstr "" +"Project-Id-Version: kde4libs\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2012-01-19 00:20-0500\n" +"Last-Translator: Agron Selimaj \n" +"Language-Team: Albanian \n" +"Language: sq\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Launchpad-Export-Date: 2010-11-24 03:19+0000\n" +"X-Generator: Lokalize 1.2\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "" + +#: kjsembed/builtins.cpp:120 +#, fuzzy, kde-format +#| msgid "The module %1 could not be found." +msgid "File %1 not found." +msgstr "Moduli %1 nuk mund të gjendet." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "" + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Njoftim" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Konfirmo" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "" + +#: kjsembed/fileio.cpp:69 +#, fuzzy, kde-format +#| msgid "" +#| "Could not open library '%1'.\n" +#| "%2" +msgid "Could not open file '%1'" +msgstr "" +"Nuk mund të hapim librarinë '%1'.\n" +"%2" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "" + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "" + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "" + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "" + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "" + +#: kjsembed/qformbuilder_binding.cpp:56 +#, fuzzy, kde-format +#| msgid "There was an error loading the module." +msgid "There was an error reading the file '%1'" +msgstr "Pati një gabim në ngarkimin e modulit." + +#: kjsembed/qformbuilder_binding.cpp:64 +#, fuzzy, kde-format +#| msgid "Could not find service '%1'." +msgid "Could not read file '%1'" +msgstr "Nuk mund të gjejmë shërbimin '%1'." + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "" + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "" + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "" + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "" + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "" + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "" + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "" +msgstr[1] "" + +#: kjsembed/qobject_binding.cpp:410 +#, fuzzy, kde-format +#| msgid "There is no matching item available.\n" +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "Nuk ka asnjë temë të disponueshme që përputhet.\n" +msgstr[1] "Nuk ka asnjë temë të disponueshme që përputhet.\n" + +#: kjsembed/qobject_binding.cpp:411 +#, fuzzy, kde-format +#| msgctxt "concatenation of date/time and time zone" +#| msgid "%1 %2" +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1 %2" + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "" + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "" + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "" + +#: kjsembed/quiloader_binding.cpp:67 +#, fuzzy, kde-format +#| msgid "File to read update instructions from" +msgid "Failed to create Action." +msgstr "Skedari nga i cili duhen lexuar udhëzimet e përditësimit" + +#: kjsembed/quiloader_binding.cpp:81 +#, fuzzy, kde-format +#| msgid "File to read update instructions from" +msgid "Failed to create ActionGroup." +msgstr "Skedari nga i cili duhen lexuar udhëzimet e përditësimit" + +#: kjsembed/quiloader_binding.cpp:89 +#, fuzzy, kde-format +#| msgctxt "@item license" +#| msgid "Not specified" +msgid "No classname specified" +msgstr "I papërcaktuar" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "" + +#: kjsembed/quiloader_binding.cpp:106 +#, fuzzy, kde-format +#| msgctxt "@item license" +#| msgid "Not specified" +msgid "No classname specified." +msgstr "I papërcaktuar" + +#: kjsembed/quiloader_binding.cpp:114 +#, fuzzy, kde-format +#| msgid "Fit to Page &Width" +msgid "Failed to create Widget." +msgstr "Përshtate me Faqen dhe &Gjerësinë" + +#: kjsembed/quiloader_binding.cpp:128 +#, fuzzy, kde-format +#| msgid "" +#| "Could not open library '%1'.\n" +#| "%2" +msgid "Could not open file '%1': %2" +msgstr "" +"Nuk mund të hapim librarinë '%1'.\n" +"%2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "" + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "" + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "" diff --git a/po/sr/kjsembed5.po b/po/sr/kjsembed5.po new file mode 100644 index 0000000..da5a44a --- /dev/null +++ b/po/sr/kjsembed5.po @@ -0,0 +1,256 @@ +# Translation of kjsembed5.po into Serbian. +# Marko Rosic , 2003. +# Toplica Tanaskovic , 2003, 2004, 2005. +# Chusslove Illich , 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2017. +# Dalibor Djuric , 2009, 2010, 2011. +msgid "" +msgstr "" +"Project-Id-Version: kjsembed5\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2019-05-20 02:57+0200\n" +"PO-Revision-Date: 2017-09-28 17:58+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" +"X-Wrapping: fine\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Грешка при обради укључивања ‘%1’ ред %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "укључивање узима само један аргумент, не %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Фајл ‘%1’ није нађен." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "библиотека узима само један аргумент, не %1." + +# >> @title:window +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Позор" + +# >> @title:window +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Потврда" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "Лош руковалац догађајем: објекат %1 идентификатор %2 метод %3 тип: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Изузетак зове функцију „%1“ из %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Не могу да отворим фајл ‘%1’" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Не могу да направим привремени фајл." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "„%1“ није функција и не може се позвати." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:789 +#, kde-format +msgid "%1 is not an Object type" +msgstr "„%1“ није објектног типа" + +#: kjsembed/qaction_binding.cpp:57 +#, kde-format +msgid "Action takes 2 args." +msgstr "Радња узима два аргумента." + +#: kjsembed/qaction_binding.cpp:79 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "Група радњи узима два аргумента." + +#: kjsembed/qaction_binding.cpp:84 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Мора се навести исправан родитељ." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Грешка при читању фајла ‘%1’" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Не могу да читам фајл ‘%1’." + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:124 +#, kde-format +msgid "Must supply a filename." +msgstr "Мора се задати име фајла." + +#: kjsembed/qlayout_binding.cpp:87 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "„%1“ није исправан „QLayout“." + +#: kjsembed/qlayout_binding.cpp:93 +#, kde-format +msgid "Must supply a layout name." +msgstr "Мора се навести име распореда." + +#: kjsembed/qobject_binding.cpp:141 +#, kde-format +msgid "Wrong object type." +msgstr "Погрешан тип објекта." + +#: kjsembed/qobject_binding.cpp:148 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Први аргумент мора бити „QObject“." + +#: kjsembed/qobject_binding.cpp:182 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Неисправан број аргумената." + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Слот је тражио %1 аргумент" +msgstr[1] "Слот је тражио %1 аргумента" +msgstr[2] "Слот је тражио %1 аргумената" +msgstr[3] "Слот је тражио %1 аргумент" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "а доступан је само %1" +msgstr[1] "а доступна су само %1" +msgstr[2] "а доступно је само %1" +msgstr[3] "а доступан је само %1" + +#: kjsembed/qobject_binding.cpp:412 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:629 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Неуспех претапања типа вредности из %2 у %1 (%3)" + +#: kjsembed/qobject_binding.cpp:661 +#, kde-format +msgid "No such method '%1'." +msgstr "Не постоји метод „%1“." + +#: kjsembed/qobject_binding.cpp:690 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "Позив метода „%1“ није успео, не може се добавити аргумент %2: %3" + +#: kjsembed/qobject_binding.cpp:727 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Позив „%1“ није успео." + +#: kjsembed/qobject_binding.cpp:793 +#, kde-format +msgid "Could not construct value" +msgstr "Вредност се не може конструисати" + +#: kjsembed/quiloader_binding.cpp:49 +#, kde-format +msgid "Not enough arguments." +msgstr "Недовољно аргумената." + +#: kjsembed/quiloader_binding.cpp:68 +#, kde-format +msgid "Failed to create Action." +msgstr "Неуспех стварања радње." + +#: kjsembed/quiloader_binding.cpp:82 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Неуспех стварања групе радњи." + +#: kjsembed/quiloader_binding.cpp:90 +#, kde-format +msgid "No classname specified" +msgstr "Није наведено име класе" + +#: kjsembed/quiloader_binding.cpp:98 +#, kde-format +msgid "Failed to create Layout." +msgstr "Неуспех стварања распореда." + +#: kjsembed/quiloader_binding.cpp:107 +#, kde-format +msgid "No classname specified." +msgstr "Није наведено име класе." + +#: kjsembed/quiloader_binding.cpp:115 +#, kde-format +msgid "Failed to create Widget." +msgstr "Неуспех стварања виџета." + +#: kjsembed/quiloader_binding.cpp:129 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Не могу да отворим фајл ‘%1’: %2" + +#: kjsembed/quiloader_binding.cpp:137 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Неуспех учитавања фајла ‘%1’" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "„%1“ није исправан „QWidget“." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Мора се задати име виџета." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "Лош руковалац слота: објекат %1 идентификатор %2 метод %3 потпис: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Изузетак зове слот „%1“ из %2:%3:%4" diff --git a/po/sr@ijekavian/kjsembed5.po b/po/sr@ijekavian/kjsembed5.po new file mode 100644 index 0000000..ad1cec6 --- /dev/null +++ b/po/sr@ijekavian/kjsembed5.po @@ -0,0 +1,255 @@ +# Translation of kjsembed5.po into Serbian. +# Marko Rosic , 2003. +# Toplica Tanaskovic , 2003, 2004, 2005. +# Chusslove Illich , 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2017. +# Dalibor Djuric , 2009, 2010, 2011. +msgid "" +msgstr "" +"Project-Id-Version: kjsembed5\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2019-05-20 02:57+0200\n" +"PO-Revision-Date: 2017-09-28 17:58+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Грешка при обради укључивања ‘%1’ ред %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "укључивање узима само један аргумент, не %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Фајл ‘%1’ није нађен." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "библиотека узима само један аргумент, не %1." + +# >> @title:window +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Позор" + +# >> @title:window +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Потврда" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "Лош руковалац догађајем: објекат %1 идентификатор %2 метод %3 тип: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Изузетак зове функцију „%1“ из %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Не могу да отворим фајл ‘%1’" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Не могу да направим привремени фајл." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "„%1“ није функција и не може се позвати." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:789 +#, kde-format +msgid "%1 is not an Object type" +msgstr "„%1“ није објектног типа" + +#: kjsembed/qaction_binding.cpp:57 +#, kde-format +msgid "Action takes 2 args." +msgstr "Радња узима два аргумента." + +#: kjsembed/qaction_binding.cpp:79 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "Група радњи узима два аргумента." + +#: kjsembed/qaction_binding.cpp:84 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Мора се навести исправан родитељ." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Грешка при читању фајла ‘%1’" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Не могу да читам фајл ‘%1’." + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:124 +#, kde-format +msgid "Must supply a filename." +msgstr "Мора се задати име фајла." + +#: kjsembed/qlayout_binding.cpp:87 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "„%1“ није исправан „QLayout“." + +#: kjsembed/qlayout_binding.cpp:93 +#, kde-format +msgid "Must supply a layout name." +msgstr "Мора се навести име распореда." + +#: kjsembed/qobject_binding.cpp:141 +#, kde-format +msgid "Wrong object type." +msgstr "Погрешан тип објекта." + +#: kjsembed/qobject_binding.cpp:148 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Први аргумент мора бити „QObject“." + +#: kjsembed/qobject_binding.cpp:182 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Неисправан број аргумената." + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Слот је тражио %1 аргумент" +msgstr[1] "Слот је тражио %1 аргумента" +msgstr[2] "Слот је тражио %1 аргумената" +msgstr[3] "Слот је тражио %1 аргумент" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "а доступан је само %1" +msgstr[1] "а доступна су само %1" +msgstr[2] "а доступно је само %1" +msgstr[3] "а доступан је само %1" + +#: kjsembed/qobject_binding.cpp:412 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:629 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Неуспјех претапања типа вриједности из %2 у %1 (%3)" + +#: kjsembed/qobject_binding.cpp:661 +#, kde-format +msgid "No such method '%1'." +msgstr "Не постоји метод „%1“." + +#: kjsembed/qobject_binding.cpp:690 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "Позив метода „%1“ није успио, не може се добавити аргумент %2: %3" + +#: kjsembed/qobject_binding.cpp:727 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Позив „%1“ није успио." + +#: kjsembed/qobject_binding.cpp:793 +#, kde-format +msgid "Could not construct value" +msgstr "Вриједност се не може конструисати" + +#: kjsembed/quiloader_binding.cpp:49 +#, kde-format +msgid "Not enough arguments." +msgstr "Недовољно аргумената." + +#: kjsembed/quiloader_binding.cpp:68 +#, kde-format +msgid "Failed to create Action." +msgstr "Неуспјех стварања радње." + +#: kjsembed/quiloader_binding.cpp:82 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Неуспјех стварања групе радњи." + +#: kjsembed/quiloader_binding.cpp:90 +#, kde-format +msgid "No classname specified" +msgstr "Није наведено име класе" + +#: kjsembed/quiloader_binding.cpp:98 +#, kde-format +msgid "Failed to create Layout." +msgstr "Неуспјех стварања распореда." + +#: kjsembed/quiloader_binding.cpp:107 +#, kde-format +msgid "No classname specified." +msgstr "Није наведено име класе." + +#: kjsembed/quiloader_binding.cpp:115 +#, kde-format +msgid "Failed to create Widget." +msgstr "Неуспјех стварања виџета." + +#: kjsembed/quiloader_binding.cpp:129 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Не могу да отворим фајл ‘%1’: %2" + +#: kjsembed/quiloader_binding.cpp:137 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Неуспјех учитавања фајла ‘%1’" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "„%1“ није исправан „QWidget“." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Мора се задати име виџета." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "Лош руковалац слота: објекат %1 идентификатор %2 метод %3 потпис: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Изузетак зове слот „%1“ из %2:%3:%4" diff --git a/po/sr@ijekavianlatin/kjsembed5.po b/po/sr@ijekavianlatin/kjsembed5.po new file mode 100644 index 0000000..461cc16 --- /dev/null +++ b/po/sr@ijekavianlatin/kjsembed5.po @@ -0,0 +1,255 @@ +# Translation of kjsembed5.po into Serbian. +# Marko Rosic , 2003. +# Toplica Tanaskovic , 2003, 2004, 2005. +# Chusslove Illich , 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2017. +# Dalibor Djuric , 2009, 2010, 2011. +msgid "" +msgstr "" +"Project-Id-Version: kjsembed5\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2019-05-20 02:57+0200\n" +"PO-Revision-Date: 2017-09-28 17:58+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@ijekavianlatin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Greška pri obradi uključivanja ‘%1’ red %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "uključivanje uzima samo jedan argument, ne %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Fajl ‘%1’ nije nađen." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "biblioteka uzima samo jedan argument, ne %1." + +# >> @title:window +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Pozor" + +# >> @title:window +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Potvrda" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "Loš rukovalac događajem: objekat %1 identifikator %2 metod %3 tip: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Izuzetak zove funkciju „%1“ iz %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Ne mogu da otvorim fajl ‘%1’" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Ne mogu da napravim privremeni fajl." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "„%1“ nije funkcija i ne može se pozvati." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:789 +#, kde-format +msgid "%1 is not an Object type" +msgstr "„%1“ nije objektnog tipa" + +#: kjsembed/qaction_binding.cpp:57 +#, kde-format +msgid "Action takes 2 args." +msgstr "Radnja uzima dva argumenta." + +#: kjsembed/qaction_binding.cpp:79 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "Grupa radnji uzima dva argumenta." + +#: kjsembed/qaction_binding.cpp:84 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Mora se navesti ispravan roditelj." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Greška pri čitanju fajla ‘%1’" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Ne mogu da čitam fajl ‘%1’." + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:124 +#, kde-format +msgid "Must supply a filename." +msgstr "Mora se zadati ime fajla." + +#: kjsembed/qlayout_binding.cpp:87 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "„%1“ nije ispravan „QLayout“." + +#: kjsembed/qlayout_binding.cpp:93 +#, kde-format +msgid "Must supply a layout name." +msgstr "Mora se navesti ime rasporeda." + +#: kjsembed/qobject_binding.cpp:141 +#, kde-format +msgid "Wrong object type." +msgstr "Pogrešan tip objekta." + +#: kjsembed/qobject_binding.cpp:148 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Prvi argument mora biti „QObject“." + +#: kjsembed/qobject_binding.cpp:182 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Neispravan broj argumenata." + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Slot je tražio %1 argument" +msgstr[1] "Slot je tražio %1 argumenta" +msgstr[2] "Slot je tražio %1 argumenata" +msgstr[3] "Slot je tražio %1 argument" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "a dostupan je samo %1" +msgstr[1] "a dostupna su samo %1" +msgstr[2] "a dostupno je samo %1" +msgstr[3] "a dostupan je samo %1" + +#: kjsembed/qobject_binding.cpp:412 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:629 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Neuspjeh pretapanja tipa vrijednosti iz %2 u %1 (%3)" + +#: kjsembed/qobject_binding.cpp:661 +#, kde-format +msgid "No such method '%1'." +msgstr "Ne postoji metod „%1“." + +#: kjsembed/qobject_binding.cpp:690 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "Poziv metoda „%1“ nije uspio, ne može se dobaviti argument %2: %3" + +#: kjsembed/qobject_binding.cpp:727 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Poziv „%1“ nije uspio." + +#: kjsembed/qobject_binding.cpp:793 +#, kde-format +msgid "Could not construct value" +msgstr "Vrijednost se ne može konstruisati" + +#: kjsembed/quiloader_binding.cpp:49 +#, kde-format +msgid "Not enough arguments." +msgstr "Nedovoljno argumenata." + +#: kjsembed/quiloader_binding.cpp:68 +#, kde-format +msgid "Failed to create Action." +msgstr "Neuspjeh stvaranja radnje." + +#: kjsembed/quiloader_binding.cpp:82 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Neuspjeh stvaranja grupe radnji." + +#: kjsembed/quiloader_binding.cpp:90 +#, kde-format +msgid "No classname specified" +msgstr "Nije navedeno ime klase" + +#: kjsembed/quiloader_binding.cpp:98 +#, kde-format +msgid "Failed to create Layout." +msgstr "Neuspjeh stvaranja rasporeda." + +#: kjsembed/quiloader_binding.cpp:107 +#, kde-format +msgid "No classname specified." +msgstr "Nije navedeno ime klase." + +#: kjsembed/quiloader_binding.cpp:115 +#, kde-format +msgid "Failed to create Widget." +msgstr "Neuspjeh stvaranja vidžeta." + +#: kjsembed/quiloader_binding.cpp:129 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Ne mogu da otvorim fajl ‘%1’: %2" + +#: kjsembed/quiloader_binding.cpp:137 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Neuspjeh učitavanja fajla ‘%1’" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "„%1“ nije ispravan „QWidget“." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Mora se zadati ime vidžeta." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "Loš rukovalac slota: objekat %1 identifikator %2 metod %3 potpis: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Izuzetak zove slot „%1“ iz %2:%3:%4" diff --git a/po/sr@latin/kjsembed5.po b/po/sr@latin/kjsembed5.po new file mode 100644 index 0000000..adc2da7 --- /dev/null +++ b/po/sr@latin/kjsembed5.po @@ -0,0 +1,255 @@ +# Translation of kjsembed5.po into Serbian. +# Marko Rosic , 2003. +# Toplica Tanaskovic , 2003, 2004, 2005. +# Chusslove Illich , 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2017. +# Dalibor Djuric , 2009, 2010, 2011. +msgid "" +msgstr "" +"Project-Id-Version: kjsembed5\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2019-05-20 02:57+0200\n" +"PO-Revision-Date: 2017-09-28 17:58+0200\n" +"Last-Translator: Chusslove Illich \n" +"Language-Team: Serbian \n" +"Language: sr@latin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" +"X-Environment: kde\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Greška pri obradi uključivanja ‘%1’ red %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "uključivanje uzima samo jedan argument, ne %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Fajl ‘%1’ nije nađen." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "biblioteka uzima samo jedan argument, ne %1." + +# >> @title:window +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Pozor" + +# >> @title:window +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Potvrda" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "Loš rukovalac događajem: objekat %1 identifikator %2 metod %3 tip: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Izuzetak zove funkciju „%1“ iz %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Ne mogu da otvorim fajl ‘%1’" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Ne mogu da napravim privremeni fajl." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "„%1“ nije funkcija i ne može se pozvati." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:789 +#, kde-format +msgid "%1 is not an Object type" +msgstr "„%1“ nije objektnog tipa" + +#: kjsembed/qaction_binding.cpp:57 +#, kde-format +msgid "Action takes 2 args." +msgstr "Radnja uzima dva argumenta." + +#: kjsembed/qaction_binding.cpp:79 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "Grupa radnji uzima dva argumenta." + +#: kjsembed/qaction_binding.cpp:84 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Mora se navesti ispravan roditelj." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Greška pri čitanju fajla ‘%1’" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Ne mogu da čitam fajl ‘%1’." + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:124 +#, kde-format +msgid "Must supply a filename." +msgstr "Mora se zadati ime fajla." + +#: kjsembed/qlayout_binding.cpp:87 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "„%1“ nije ispravan „QLayout“." + +#: kjsembed/qlayout_binding.cpp:93 +#, kde-format +msgid "Must supply a layout name." +msgstr "Mora se navesti ime rasporeda." + +#: kjsembed/qobject_binding.cpp:141 +#, kde-format +msgid "Wrong object type." +msgstr "Pogrešan tip objekta." + +#: kjsembed/qobject_binding.cpp:148 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Prvi argument mora biti „QObject“." + +#: kjsembed/qobject_binding.cpp:182 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Neispravan broj argumenata." + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Slot je tražio %1 argument" +msgstr[1] "Slot je tražio %1 argumenta" +msgstr[2] "Slot je tražio %1 argumenata" +msgstr[3] "Slot je tražio %1 argument" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "a dostupan je samo %1" +msgstr[1] "a dostupna su samo %1" +msgstr[2] "a dostupno je samo %1" +msgstr[3] "a dostupan je samo %1" + +#: kjsembed/qobject_binding.cpp:412 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:629 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Neuspeh pretapanja tipa vrednosti iz %2 u %1 (%3)" + +#: kjsembed/qobject_binding.cpp:661 +#, kde-format +msgid "No such method '%1'." +msgstr "Ne postoji metod „%1“." + +#: kjsembed/qobject_binding.cpp:690 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "Poziv metoda „%1“ nije uspeo, ne može se dobaviti argument %2: %3" + +#: kjsembed/qobject_binding.cpp:727 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Poziv „%1“ nije uspeo." + +#: kjsembed/qobject_binding.cpp:793 +#, kde-format +msgid "Could not construct value" +msgstr "Vrednost se ne može konstruisati" + +#: kjsembed/quiloader_binding.cpp:49 +#, kde-format +msgid "Not enough arguments." +msgstr "Nedovoljno argumenata." + +#: kjsembed/quiloader_binding.cpp:68 +#, kde-format +msgid "Failed to create Action." +msgstr "Neuspeh stvaranja radnje." + +#: kjsembed/quiloader_binding.cpp:82 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Neuspeh stvaranja grupe radnji." + +#: kjsembed/quiloader_binding.cpp:90 +#, kde-format +msgid "No classname specified" +msgstr "Nije navedeno ime klase" + +#: kjsembed/quiloader_binding.cpp:98 +#, kde-format +msgid "Failed to create Layout." +msgstr "Neuspeh stvaranja rasporeda." + +#: kjsembed/quiloader_binding.cpp:107 +#, kde-format +msgid "No classname specified." +msgstr "Nije navedeno ime klase." + +#: kjsembed/quiloader_binding.cpp:115 +#, kde-format +msgid "Failed to create Widget." +msgstr "Neuspeh stvaranja vidžeta." + +#: kjsembed/quiloader_binding.cpp:129 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Ne mogu da otvorim fajl ‘%1’: %2" + +#: kjsembed/quiloader_binding.cpp:137 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Neuspeh učitavanja fajla ‘%1’" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "„%1“ nije ispravan „QWidget“." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Mora se zadati ime vidžeta." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "Loš rukovalac slota: objekat %1 identifikator %2 metod %3 potpis: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Izuzetak zove slot „%1“ iz %2:%3:%4" diff --git a/po/sv/docs/kjscmd5/man-kjscmd5.1.docbook b/po/sv/docs/kjscmd5/man-kjscmd5.1.docbook new file mode 100644 index 0000000..a124302 --- /dev/null +++ b/po/sv/docs/kjscmd5/man-kjscmd5.1.docbook @@ -0,0 +1,176 @@ + + +]> + + + + +kjscmd5 användarhandbok + + + +Harri Porten
    porten@kde.org
    +
    +
    + +2015-07-31 +Ramverk 5.13 +KDE Ramverk + +
    + + +kjscmd5 +1 + + + +kjscmd5 +Ramverk Kjsembed-tolk + + + +Översikt + +kjscmd5 --help -e --exec -i -interactive fil + + + +Beskrivning + +kjscmd5 är ett verktyg för att starta Kjsembed-skript från kommandoraden. Det kör skripten som finns i den namngivna filen fil genom att använda Kjsembed. Det accepterar inte - (standardinmatningen) som fil. + + + +Programväljare + + + +, + +kör skript i fil utan stöd för grafiskt användargränssnitt. + + + + +, + +starta interaktiv kjs-tolk. + + + + + + + + +Användning +Det vanligaste sättet att köra kjscmd5 är helt enkelt som +kjscmd5 fil + + Om inte någon parameter fil anges, kör det ett fördefinierat testskript som mäter starthastigheten hos kjscmd5. + + + +Se också +kjs5(1) + + + +Fel +Använd &kde;:s felspårningssystem för att rapportera fel. + + +
    + + + diff --git a/po/sv/kjsembed5.po b/po/sv/kjsembed5.po new file mode 100644 index 0000000..e6b97dc --- /dev/null +++ b/po/sv/kjsembed5.po @@ -0,0 +1,255 @@ +# translation of kdelibs4.po to Swedish +# Översättning kdelibs4.po till Svenska +# +# Copyright (C) 1997,2002,2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +# Magnus Reftel , 1997. +# Anders Widell , 1998-2000. +# Per Lindström , 2000. +# Mattias Newzella , 2000, 2001, 2002,2003, 2004, 2005. +# Stefan Asserhäll , 2002. +# Stefan Asserhäll , 2004, 2005, 2006, 2007, 2008, 2009, 2010. +# Stefan Asserhall , 2010, 2011, 2012, 2013. +# Arve Eriksson <031299870@telia.com>, 2011. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2013-10-15 17:51+0200\n" +"Last-Translator: Stefan Asserhäll \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Fel upptäckt vid behandling av include '%1', rad %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "include har bara 1 argument, inte %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Filen %1 hittades inte." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "library har bara 1 argument, inte %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Varning" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Bekräfta" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" +"Felaktig händelsehantering: Objekt %1 Identifierare %2 Metod %3 Typ: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Undantag vid anrop av funktion '%1' från %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Kunde inte öppna filen '%1'" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Kunde inte skapa tillfällig fil." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 är inte en funktion och kan inte anropas." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 är inte en objekttyp" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Action har 2 argument." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup har 2 argument." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Måste ange ett giltig överliggande objekt." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Det uppstod ett fel när filen '%1' skulle läsas" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Kunde inte läsa filen '%1'" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Måste ange ett filnamn." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' är inte en giltig QLayout." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Måste ange ett layoutnamn." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Fel objekttyp." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Första argumentet måste vara ett QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Felaktigt antal argument." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Denna slot begärde %1 argument" +msgstr[1] "Denna slot begärde %1 argument" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "men det finns bara %1 tillgängligt" +msgstr[1] "men det finns bara %1 tillgängliga" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Typkonvertering misslyckades för värdet %1 och typen %2 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Ingen sådan metod '%1'." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "Anrop till metoden '%1' misslyckades. Kunde inte hämta argument %2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Anrop till '%1' misslyckades." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Kunde inte skapa värde" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Inte tillräckligt med argument." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Misslyckades skapa åtgärd." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Misslyckades skapa åtgärdsgrupp." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Inget klassnamn angivet." + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Misslyckades skapa layout." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Inget klassnamn angivet." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Misslyckades skapa grafisk komponent." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Kunde inte öppna filen '%1': %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Misslyckades ladda filen '%1'" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' är inte en giltig QWidget." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Måste ange namnet på en grafisk komponent." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Felaktig slot-hantering: Objekt %1 Identifierare %2 Metod %3 Signatur: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Undantag vid anrop av slot '%1' från %2:%3:%4" diff --git a/po/ta/kjsembed5.po b/po/ta/kjsembed5.po new file mode 100644 index 0000000..5af8a4e --- /dev/null +++ b/po/ta/kjsembed5.po @@ -0,0 +1,247 @@ +# translation of kdelibs4.po to தமிழ் +# Copyright (C) 2000,2002, 2004, 2007, 2008 Free Software Foundation, Inc. +# +# Sivakumar Shanmugasundaram , 2000. +# Thuraiappah Vaseeharan , 2000-2001. +# ம. ஸ்ரீ ராமதாஸ் | Sri Ramadoss M , 2007-2012 +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2012-03-25 21:39+0530\n" +"Last-Translator: Sri Ramadoss M \n" +"Language-Team: Tamil \n" +"Language: ta\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.2\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "include '%1' வரி %2: %3 ஆக்குகையில் பிழை நேரிட்டது" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "include 1 துப்பு மாத்திரமே ஏற்கும், %1 அல்ல." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "கோப்பு %1 கிடைக்கப் பெறவில்லை." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "நிரலகம் 1 துப்பு மாத்திரமே ஏற்கும், %1 அல்ல." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "எச்சரி" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "உறுதிசெய்" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "நிகழ்வு கையாள்வது சரியில்லை: பொருள் %1 இனங்காட்டி %2 முறை %3 வகை: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "%2:%3:%4 தனிலிருந்து '%1' செயற்பாட்டினை அழைக்கையில் விலக்கு" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "'%1' கோப்பினைத் திறக்க இயலவில்லை" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "தற்காலிகக் கோப்பினை உருவாக்க முடியவில்லை." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 ஒரு செயற்பாடு அல்ல அங்ஙனம் ஆகவும் ஆகாது." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 ஒரு பொருள் வகையல்ல" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "செயல் 2 துப்புகளை ஏற்கிறது." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "செயற்குழு 2 துப்புகளை ஏற்கிறது." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "செல்லத்தக்க பேரன்டைத் தர வேண்டும்." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "'%1' கோப்பினை வாசிப்பதில் பிழை ஏற்பட்டது" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "'%1' கோப்பினை வாசிக்க இயலவில்லை" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "கோப்பிற்கு பெயரொன்று இடவேண்டும்" + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' செல்லத்தக்க க்யூ வரையறையல்ல." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "வரையறையொன்றின் பெயரைத் தரவேண்டும்." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "தவறான பொருள் வகை." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "முதலாவது துப்பு QObject ஆக இருக்க வேண்டும்." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "துப்புகளின் எண்ணிக்கையில் தவறு." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "இடமானது %1 துப்பினைக் கோரியது." +msgstr[1] "%1 துப்புகளை இடம் கேட்டது" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "ஆயினும் %1 மட்டுமே கிடைக்கிறது" +msgstr[1] "ஆயினும் %1 மட்டுமே கிடைக்கின்றன" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1 %2" + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "வகை %2 (%3) லிருந்து %1 மதிப்புக்கு மாற்ற இயலவில்லை" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "'%1' எனும் முறையெதுவுமில்லை." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "முறை '%1' க்கான அழைப்பு பலனளிக்கவில்லை, %2: %3 துப்புகளைப் பெற இயலவில்லை" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "'%1' க்கான அழைப்பு பலனளிக்கவில்லை." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "மதிப்பினை ஆக்க இயலவில்லை" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "தேவையானத் துப்புகள் இல்லை." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "செயலை உருவாக்க இயலவில்லை." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "செயற்குழுவை உருவாக்க இயலவில்லை." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "வகுப்புபெயரெதுவும் கொடுக்கப்படவில்லை" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "வரையறையை உருவாக்க இயலவில்லை." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "வகுப்புபெயரெதுவும் குறிப்பிடப்படவில்லை." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "சாளரக் கருவியினை உருவாக்க இயலவில்லை." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "'%1': %2 கோப்பினை திறக்க இயலவில்லை" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "'%1' கோப்பினை ஏற்ற இயலவில்லை" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' உகந்தொரு க்யூசாளரக்கருவியல்ல." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "சாளரக்கருவின் பெயரொன்றை இடவேண்டும்." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "தவறான இடக் கையாள்கை: பொருள் %1 இனங்காட்டி %2 முறை %3 ஒப்பம்: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "%2:%3:%4 தனிலிருந்து '%1' இடத்தினை அழைக்கையில் விலக்கு" diff --git a/po/te/kjsembed5.po b/po/te/kjsembed5.po new file mode 100644 index 0000000..f641cba --- /dev/null +++ b/po/te/kjsembed5.po @@ -0,0 +1,258 @@ +# translation of kdelibs4.po to Telugu +# +# +# Purushottam Boyanapalli , 2005. +# విజయ్ కిరణ్ కముజు , 2007. +# pavithran , 2007. +# Krishna Babu K , 2008, 2009. +# sreekalyanbapatla , 2013. +# GVS.Giri , 2013. +# Bhuvan Krishna ,2013. +# Naveen Kandimalla ,2013. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2013-11-04 23:55+0630\n" +"Last-Translator: Bhuvan Krishna \n" +"Language-Team: Telugu \n" +"Language: te\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "లోపం ఏర్పడింది, అయితే సంవిధానం కలిసి, '%1' లైను %2:%3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "1 వాదనను మాత్రమే కలిసి తీసుకుంటుంది, కాదు%1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "%1 దస్త్రం కనపడలేదు" + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "గ్రంధాలయం మాత్రమే 1 వాదనను తీసుకుంటుంది, కాదు%1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "హెచ్చరిక" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "నిర్ధారించు" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "చెడు ఘటన నిర్వహణ: తాత్పర్య %1 గుర్తించేది %2 విధానం %3 పద్ధతి: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "'%1' ప్రమేయంను %2:%3:%4 నుండి కాల్‌ చేయుటలో ఎక్సెప్షన్" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "'%1' దస్త్రాన్ని తెరువలేకపోయాను" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "తాత్కాలిక దస్త్రాన్ని సృష్టించలేను." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 పరిక్రియ కాదు మరియ పిలవలేము." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 ఆబ్జక్టు రకము కాదు" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "చర్య 2 వాదనల తీసుకుంటుంది." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "చర్య గుంపు 2 వాదనల తీసుకుంటుంది." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "ఒక వర్తించు మూల తప్పక సరఫరాచేయలి" + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "'%1' దస్త్రం చదువుటలొ దొషం వచ్చింది" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "'%1' దస్త్రాన్ని చదువలేను." + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "తప్పక ఫైలుపేరును అందివ్వాలి." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' సరైన Qకూర్పు కాదు." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "తప్పక కూర్పు పేరును అందివ్వాలి." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "సరికాని ఆబ్జక్టు రకము." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "మొదటి ఆర్గుమెంటు తప్పక Qఆబ్జక్టు అయివుండాలి." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "సరికాని అర్గుమెంట్ల సంఖ్య." + +#: kjsembed/qobject_binding.cpp:409 +#, fuzzy, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "%1 క్రమానుగత సంకేతం నుండి స్లాట్ అగాండి" +msgstr[1] "%1 క్రమానుగత సంకేతలు నుండి స్లాట్ అగాండి" +msgstr[2] "%1 క్రమానుగత సంకేతలు నుండి స్లాట్ అగాండి" +msgstr[3] "%1 క్రమానుగత సంకేతలు నుండి స్లాట్ అగాండి" +msgstr[4] "%1 క్రమానుగత సంకేతలు నుండి స్లాట్ అగాండి" + +#: kjsembed/qobject_binding.cpp:410 +#, fuzzy, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "కాని %1 మాత్రమే అంధుబాటులో ఉంది" +msgstr[1] "కాని %1 మాత్రమే అంధుబాటులో ఉణాయో" +msgstr[2] "కాని %1 మాత్రమే అంధుబాటులో ఉణాయో" +msgstr[3] "కాని %1 మాత్రమే అంధుబాటులో ఉణాయో" +msgstr[4] "కాని %1 మాత్రమే అంధుబాటులో ఉణాయో" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1,%2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "%2 (%3)విలువ రకం నుండి %1లొ వెల విఫలమైంది" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "ఇటువంటి పద్ధతి లేదు '%1'" + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "వాదన సాద్యం కాదు %3:%2 పద్దతి పిలవడంలొ '%1' విఫలమైంది," + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "'%1' కొరకు కాల్ విఫలము." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "విలువ ను తయరు చెయలెకపొయాను." + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "చాలినంత వాదనలు లేదు." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "చర్యను సృష్టించుటకు విఫలమైంది." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "చర్యాసమూహంను సృష్టించుటకు విఫలమైంది." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "ఏ క్లాస్‌పేరు తెలుపబడిలేదు" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "కూర్పు సృష్టించుటకు విఫలమైంది." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "ఏ క్లాస్‌పేరు తెలుపబడిలేదు." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "విడ్జట్ సృష్టించుటకు విఫలమైంది." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "'%1' దస్త్రాన్ని ని తెరువలేకపోయాను: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "%1' దస్త్రాన్ని ఎక్కించలేకపొయాను" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "%1 ఇది చేల్లుబాటు కన్ని Q విడ్జెట్ " + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "ఒక విడ్జెట్ పేరు తప్పకుండ సరఫరాచేయు " + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "తాత్పర్య %1 గుర్తింపుచిహ్నం %2 పద్దతి %3 సంతకం: %4 చెడు స్లాట్ నిర్వహణ:" + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "%1 స్లాట్ నుండి %2:%3%4 పిలువుటలొ మినహాయింపు " diff --git a/po/tg/kjsembed5.po b/po/tg/kjsembed5.po new file mode 100644 index 0000000..577bc74 --- /dev/null +++ b/po/tg/kjsembed5.po @@ -0,0 +1,251 @@ +# translation of kdelibs4.po to Tajik Language +# Copyright (C) 2004, 2002, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# 2004, 2005, 2006, 2007 infoDev, a World Bank organization. +# 2004, 2005, 2006, 2007 Khujand Computer Technologies, Inc. +# 2004, 2005, 2006, 2007 Youth Opportunities, NGO, 2005. +# Roger Kovacs , 2003. +# Thomas Diehl , 2003. +# Victor Ibragimov , 2003, 2004, 2005, 2006, 2007, 2008, 2019. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2019-08-17 10:04+0500\n" +"Last-Translator: Victor Ibragimov \n" +"Language-Team: English \n" +"Language: tg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 19.04.3\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Ҳангоми коргузории раванди '%1' дар хати %2 хато рӯй дод: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "Иловакунӣ танҳо 1 нишонро дар бар мегирад, на %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Файли %1 ёфт нашуд." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "Китобхона танҳо 1 нишонро дар бар мегирад, на %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Огоҳӣ" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Тасдиқ кардан" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" +"Дастгузори рӯйдоди ғалатдор: Мавод %1 Муайянкунанда %2 Усул %3 Навъ: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Дархосткунии истиснои вазифаи '%1' аз %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Файли '%1' кушода намешавад" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Файли муваққатӣ эҷод карда нашуд." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 вазифа намебошад ва дархост карда намешавад." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 навъи мавод намебошад" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Амал 2 нишонро дар бар мегирад." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "Гурӯҳи амал 2 нишонро дар бар мегирад." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Бояд волиди дурустро таъмин намояд." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Ҳангоми хондани файли '%1' хато рӯй дод" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Файли '%1' хонда намешавад" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Бояд номи файлро таъмин намояд." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' тарҳбандии дурусти QLayout намебошад." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Бояд номи тарҳбандиро таъмин намояд." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Навъи мавод нодуруст аст." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Нишони якум бояд QObject бошад." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Рақами нишонҳо нодуруст аст." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Такягоҳ %1 нишонро дархост кард" +msgstr[1] "Такягоҳ %1 нишонро дархост кард" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "Аммо танҳо %1 дастрас аст" +msgstr[1] "Аммо танҳо %1 дастрасанд" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Андохтан ба қимати %1 аз навъи %2 қатъ шуд(%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Усули '%1' вуҷуд надорад." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "Дархости усули '%1' қатъ шуд, нишони %2 ба даст оварда нашуд: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Дархости '%1' қатъ шуд." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Қимат сохта намешавад" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Шумораи нишонҳо кифоя нест." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Эҷодкунии амал қатъ шуд." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Эҷодкунии гурӯҳи амал қатъ шуд." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Ягон номи синф муайян карда нашуд" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Эҷодкунии тарҳбандӣ қатъ шуд." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Ягон номи синф муайян карда нашуд." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Эҷодкунии виҷет қатъ шуд." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Файли '%1' кушода намешавад: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Боркунии файли '%1' қатъ шуд" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' виҷети QWidget-и нодуруст мебошад." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Бояд номи виҷетро таъмин намояд." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Дастгузори такягоҳи ғалатдор: Мавод %1 Муайянкунанда %2 Усул %3 Имзо: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Дархосткунии истиснои вазифаи '%1' аз такягоҳи %2:%3:%4" diff --git a/po/th/kjsembed5.po b/po/th/kjsembed5.po new file mode 100644 index 0000000..a322246 --- /dev/null +++ b/po/th/kjsembed5.po @@ -0,0 +1,247 @@ +# translation of kdelibs4.po to Thai +# Copyright (C) 2003,2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# +# Thanomsub Noppaburana , 2003,2004, 2005. +# Thanomsub Noppaburana , 2005, 2008, 2010. +# Sahachart Anukulkitch , 2006, 2007. +# Narachai Sakorn , 2008. +# Phuwanat Sakornsakolpat , 2010. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2010-12-31 22:47+0700\n" +"Last-Translator: Phuwanat Sakornsakolpat \n" +"Language-Team: Thai \n" +"Language: th\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "พบข้อผิดพลาดขณะกำลังประมวลผล '%1' บรรทัด %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "รวมได้รับอาร์กิวเมนต์เพียง 1 ตัว ไม่ใช่ %1 ตัว" + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "ไม่พบแฟ้ม %1" + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "ไลบรารีใช้อาร์กิวเมนต์ 1 ตัวเท่านั้น ไม่ใช่ %1" + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "แจ้งเตือน" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "ยืนยัน" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "ตัวรับมือเหตุการณ์ไม่ดี: ออบเจ็กต์ %1 ตัวระบุ %2 เมธอด %3 ชนิด: %4" + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "ข้อยกเว้นการเรียกฟังก์ชั่น '%1' จาก %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "ไม่สามารถเปิดแฟ้ม '%1' ได้" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "ไม่สามารถสร้างแฟ้มชั่วคราวได้" + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 ไม่ใช่ฟังก์ชั่นและไม่สามารถเรียกใช้ได้" + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 ไม่ใช่ชนิดออบเจ็กต์" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "การกระทำใช้อาร์กิวเมนต์ 2 ตัว" + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "กลุ่มการกระทำใช้อาร์กิวเมนต์ 2 ตัว" + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "ต้องให้ค่าตัวแม่ที่ใช้ได้" + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "มีข้อผิดพลาดในการอ่านแฟ้ม '%1'" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "ไม่สามารถอ่านแฟ้ม '%1' ได้" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "ต้องใส่ชื่อแฟ้มด้วย" + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' ไม่ใช่ QLayout ที่ถูกต้อง" + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "ต้องให้ชื่อเลย์เอาต์" + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "ชนิดออบเจ็กต์ผิดชนิด" + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "อาร์กิวเมนต์แรกต้องเป็น QObject" + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "จำนวนของอาร์กิวเมนต์ไม่ถูกต้อง" + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "สล็อทรัองขออาร์กิวเมนต์ %1 อาร์กิวเมนต์" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "แต่มีเพียง %1 เท่านั้นที่เลือกใช้ได้" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2" + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "ล้มเหลวในการแปลงค่า %1 จากชนิด %2 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "ไม่มีเมธอด '%1'" + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "การเรียกไปที่เมธอด '%1' ล้มเหลว ไม่สามารถรับเอาอาร์กิวเมนต์ %2 ได้: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "การเรียกไปที่ '%1' ล้มเหลว" + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "ไม่สามารถสร้างค่าได้" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "มีอาร์กิวเมนต์ไม่พอ" + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "การสร้างการกระทำล้มเหลว" + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "การสร้างกลุ่มการกระทำ (ActionGroup) ล้มเหลว" + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "ไม่มีการระบุชื่อคลาส" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "การสร้างการจัดวางล้มเหลว" + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "ไม่มีการระบุชื่อคลาส" + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "การสร้างวิดเจ็ตล้มเหลว" + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "ไม่สามารถเปิดแฟ้ม '%1' ได้: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "การโหลดแฟ้ม '%1' ล้มเหลว" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' ไม่ใช่ QWidget ที่ถูกต้อง" + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "จำเป็นต้องให้ชื่อของวิตเจ็ต" + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "ตัวรับสล็อตใช้ไม่ได้: Object %1 Identifier %2 Method %3 Signature: %4" + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "ส่วนดักจับข้อผิดพลาดกำลังเรียกสล็อต '%1' จาก %2:%3:%4" diff --git a/po/tr/kjsembed5.po b/po/tr/kjsembed5.po new file mode 100644 index 0000000..1c79d6e --- /dev/null +++ b/po/tr/kjsembed5.po @@ -0,0 +1,260 @@ +# translation of kdelibs4.po to Turkish +# translation of kdelibs4.po to +# Kdelibs Turkish translation file +# Copyright (C) 2000,2003, 2004, 2005, 2007, 2008 Free Software Foundation, Inc. +# +# Ömer Fadıl USTA ,1999-2002. +# Görkem Çetin , 2002,2003, 2004. +# Tuncay YENİAY ,2002. +# Ayşe Genç , 2005. +# Görkem Çetin , 2005. +# Görkem Çetin , 2005. +# Bekir SONAT , 2005. +# Serdar Soytetir , 2007. +# Serdar Soytetir , 2007, 2008, 2009, 2011. +# H. İbrahim Güngör , 2010, 2011. +# Ozan Çağlayan , 2010, 2011. +# Serdar SOYTETİR , 2010, 2012. +# Volkan Gezer , 2013, 2014, 2017. +# Kaan Ozdincer , 2014. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2017-06-13 16:53+0100\n" +"Last-Translator: Volkan Gezer \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 2.0\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "İçerilen '%1' dosyasının %2 satırı işlenirken bir hata oluştu: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "include sadece 1 argüman alır, %1 değil." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "%1 dosyası bulunamadı." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "kitaplık 1 argüman alır, %1 değil." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Uyar" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Doğrula" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "Kötü olay yakalayıcı: Nesne %1 Tanımlayıcı %2 Yöntem %3 Tür: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "'%1' fonksiyonu %2:%3:%4 tarafından çağrılırken istisna oluştu." + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "'%1' dosyası açılamadı" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Geçici dosya oluşturulamadı." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 bir fonksiyon değil, çağrılamaz." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 bir nesne türü değil" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Eylem 2 argüman alır." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "EylemGrubu 2 argüman alır." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Kaynak belirtilmelidir." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "'%1' dosyası okunurken bir hata oluştu" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "'%1' dosyası okunamadı" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Bir dosya adı belirtilmelidir." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' geçerli bir QLayout değil." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Bir düzen adı belirtilmelidir." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Yanlış nesne türü." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "İlk argüman bir QObject olmalıdır." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Hatalı argüman sayısı." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Slot %1 argüman istedi." +msgstr[1] "Slot %1 argüman istedi." + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "ancak sadece %1 adet mevcut." +msgstr[1] "ancak sadece %1 adet mevcut." + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "%2 Tipinden (%3) %1 değerine cast edilemedi." + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "'%1' adında bir yöntem yok." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "'%1' yöntemi başarısız oldu, argüman alınamadı %2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "'%1' çağrısı başarısız oldu." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Değer düzenlenemedi" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Yeterli argüman yok." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Eylem oluşturulamadı." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "EylemGrubu oluşturulamadı." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Sınıf adı belirtilmemiş" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Düzen oluşturulamadı." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Sınıf adı belirtilmemiş." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Gereç oluşturulamadı." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "'%1' dosyası açılamadı: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "'%1' dosyası yüklenemedi" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' geçerli bir QWidget değil." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Bir gereç adı belirtilmeli." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "Yanlış slot karşılayıcısı: Nesne %1 Tanımlayıcı %2 Metod %3 İmza: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "%2:%3:%4 tarafından '%1' slotu çağrılırken istisna oluştu" diff --git a/po/tt/kjsembed5.po b/po/tt/kjsembed5.po new file mode 100644 index 0000000..d08d095 --- /dev/null +++ b/po/tt/kjsembed5.po @@ -0,0 +1,248 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Ainur Shakirov , 2011. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2011-11-26 15:12+0400\n" +"Last-Translator: Ainur Shakirov \n" +"Language-Team: Tatar <>\n" +"Language: tt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.2\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Ошибка при выполнении include «%1» на строке %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "директива include требует один аргумент, а не %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "%1 файлы табылмады." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "библиотека требует один аргумент, а не %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Тревога" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Раслау" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" +"Неверный обработчик событий: объект %1, идентификатор %2, метод %3, тип %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Возникло исключение при вызове функции «%1» из %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Не удалось открыть файл «%1»" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Не удалось создать временный файл." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 не является функцией и не может быть вызвано." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 не является объектом" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Действие требует 2 аргумента." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup требует 2 аргумента." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Необходимо указать правильный родительский объект." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Ошибка чтения из файла «%1»" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Не удалось открыть файл «%1»" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Необходимо указать имя файла." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "«%1» не является правильным объектом QLayout." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Необходимо указать имя компоновки." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Неверное имя объекта." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Первый аргумент должен быть объектом QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Неверное количество аргументов." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Слот требует %1 аргумент" +msgstr[1] "Слот требует %1 аргумента" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "но есть только %1 аргумент" +msgstr[1] "но есть только %1 аргумента" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Не удалось преобразовать значение от типа %2 к типу %1 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Нет метода «%1»." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "Ошибка вызова метода «%1»: не удалось получить аргумент %2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Ошибка вызова «%1»." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Не удалось запустить конструктор значения" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Недостаточно аргументов." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Не удалось создать Action." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Не удалось создать ActionGroup." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Не указано имя класса" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Не удалось создать Layout." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Имя класса не указано." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Не удалось создать Widget." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Не удалось открыть файл «%1»: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Ошибка открытия файла «%1»" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "«%1» не является правильным объектом QWidget." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Необходимо указать имя виджета." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Неверный обработчик слота: объект %1, идентификатор %2, метод %3, сигнатура " +"%4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Возникло исключение при вызове слота «%1» из %2:%3:%4" diff --git a/po/ug/kjsembed5.po b/po/ug/kjsembed5.po new file mode 100644 index 0000000..0b3b3b9 --- /dev/null +++ b/po/ug/kjsembed5.po @@ -0,0 +1,245 @@ +# Uyghur translation for kdelibs4. +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Sahran , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2013-09-08 07:05+0900\n" +"Last-Translator: Gheyret Kenji \n" +"Language-Team: Uyghur Computer Science Association \n" +"Language: ug\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Poedit 1.5.5\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "'%1' نىڭ %2 قۇرىنى بىر تەرەپ قىلىشتا خاتالىق كۆرۈلدى: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "include نىڭ پارامېتىرى پەقەت 1 لا. %1 ئەمەس." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "ھۆججەت %1 تېپىلمىدى." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "ئامبارنىڭ پارامېتىرى پەقەت 1 لا. %1 ئەمەس." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "ئاگاھلاندۇرۇش" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "جەزملە" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "ھادىسە تۇتقۇچ خاتا: Object %1 Identifier %2 فۇنكسىيە %3 تىپ: %4" + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "%2:%3:%4 دىكى فۇنكسىيە '%1' نى چاقىرغاندا مۇستەسنا يۈز بەردى." + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "ھۆججەت «%1» نى ئاچالمايدۇ" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "ۋاقىتلىق ھۆججەت قۇرالمىدى." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "«%1» فۇنكسىيە ئەمەس، شۇڭا چاقىرغىلى بولمىدى." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "'%1' نەڭ تىپى ئەمەس" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "ھەرىكەت ئىككى پارامېتىردا ئىشلەيدۇ." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ھەرىكەت گۇرۇپپىسى ئىككى پارامېتىردا ئىشلەيدۇ." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "ئىناۋەتلىك ئاتا كۆرسىتىلىشى كېرەك." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "ھۆججەت '%1' نى ئوقۇشتا خاتالىق كۆرۈلدى." + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "ھۆججەت '%1' ئوقۇغىلى بولمىدى" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "ھۆججەت ئاتى بېرىلىشى كېرەك." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "«%1» ئىناۋەتلىك QLayout ئەمەس." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "جايلاشتۇرۇش ئاتى بېرىلىشى كېرەك." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "خاتا نەڭ تىپى." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "تۇنجى پارامېتىر چوقۇم QObject بولمىسا بولمايدۇ." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "پارامېتىرنىڭ سانى توغرا ئەمەس." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "slot %1 دانە پارامېتىر تەلەپ قىلىۋاتىدۇ" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "بىراق %1 دانە پارامېتىر بار" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1، %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "%2 (%3) تىپنى %1 قىممەتكە ئايلاندۇرۇش مەغلۇپ بولدى" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "بۇنداق '%1' ئۇسۇل يوق" + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "" +"'%1' ئۇسۇل چاقىرىش مەغلۇپ بولدى. پارامېتىر %2 نىڭغا ئېرىشكىلى بولمىدى: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "'%1' چاقىرىش مەغلۇپ بولدى." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "قىممەت شەكىللەندۈرەلمىدى" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "پارامېتىر يېتىشمىدى." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "مەشغۇلات ھاسىل قىلىش مەغلۇپ بولدى." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "ActionGroup ھاسىل قىلىش مەغلۇپ بولدى." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "تىپ ئاتى بېكىتىلمىگەن" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "جايلاشتۇرۇش ھاسىل قىلىش مەغلۇپ بولدى." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "تىپ ئاتى بېكىتىلمىگەن." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Widget ھاسىل قىلىش مەغلۇپ بولدى." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "ھۆججەت «%1» نى ئاچقىلى بولمىدى: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "ھۆججەت '%1' نى ئوقۇش مەغلۇپ بولدى." + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' ئىناۋەتلىك QWidget ئەمەس." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "widget ئاتى بېرىلىشى كېرەك." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "ئوقۇر تۇتقۇچ خاتا: نەڭ %1 بەلگە %2 ئۇسۇل %3 ئىمزا: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "%2 دىن '%1' ئوقۇرنى چاقىرغاندا مۇستەسنا كۆرۈلدى: %3:%4" diff --git a/po/uk/docs/kjscmd5/man-kjscmd5.1.docbook b/po/uk/docs/kjscmd5/man-kjscmd5.1.docbook new file mode 100644 index 0000000..2396c0f --- /dev/null +++ b/po/uk/docs/kjscmd5/man-kjscmd5.1.docbook @@ -0,0 +1,176 @@ + + +]> + + + + +Інструкція користувача kjscmd5 + + + +Harri Porten
    porten@kde.org
    +
    +
    + +31 липня 2015 року +Frameworks 5.13 +KDE Frameworks + +
    + + +kjscmd5 +1 + + + +kjscmd5 +Інтерпретатор KJSEmbed Frameworks + + + +Короткий опис + +kjscmd5 --help -e --exec -i -interactive файл + + + +Опис + +kjscmd5 — інструмент для запуску скриптів KJSEmbed з командного рядка. Ця програма виконує скрипти, що містяться у вказаному файлі файл за допомогою KJSEmbed. Програма не може використовувати стандартне джерело введення (stdin) як файл. + + + +Параметри програми + + + +, + +виконати скрипт у файлі файл без підтримки графічного інтерфейсу. + + + + +, + +запустити інтерактивний інтерпретатор kjs. + + + + + + + + +Використання +Типовим способом запуску kjscmd5 є команда +kjscmd5 файл + + Якщо не буде вказано параметра файл, програма виконає наперед заданий тестовий скрипт, який вимірює швидкість запуску kjscmd5. + + + +Прочитайте також +kjs5(1) + + + +Вади +Для сповіщення про вади скористайтеся адресою системою стеження за вадами &kde;. + + +
    + + + diff --git a/po/uk/kjsembed5.po b/po/uk/kjsembed5.po new file mode 100644 index 0000000..c696b52 --- /dev/null +++ b/po/uk/kjsembed5.po @@ -0,0 +1,258 @@ +# Translation of kjsembed5.po to Ukrainian +# Copyright (C) 2018 This_file_is_part_of_KDE +# This file is distributed under the license LGPL version 2.1 or +# version 3 or later versions approved by the membership of KDE e.V. +# +# Eugene Onischenko , 2002, 2003, 2004, 2005, 2006. +# Andriy Rysin , 2002, 2003, 2006, 2007. +# Ivan Petrouchtchak , 2005, 2006, 2007, 2008. +# Yuri Chornoivan , 2008, 2009, 2010, 2011, 2012, 2013. +msgid "" +msgstr "" +"Project-Id-Version: kjsembed5\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2013-10-15 07:58+0300\n" +"Last-Translator: Yuri Chornoivan \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Під час обробки включення «%1» в рядку %2 сталася помилка: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "include приймає тільки 1 аргумент, а не %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Файл %1 не знайдено." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "бібліотека потребує тільки один аргумент, а не %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Попередження" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Підтвердити" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" +"Неправильний обробник події: Об’єкт %1 Ідентифікатор %2 Метод %3 Тип: %4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Виняток при виклику функції «%1» з %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Не вдалося відкрити файл «%1»" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Не вдалося створити тимчасовий файл." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 не являється функцією і її не можна викликати." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 не є тип Object" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Дія потребує 2 аргументи." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup потребує 2 аргументи." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Мусить надати чинний батьківський." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Під час читання файла «%1» сталася помилка" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Не вдалося прочитати файл «%1»" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Потрібно вказати назву файла." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "«%1» не є чинним QLayout." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Має містити назву формату." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Неправильний тип об’єкта." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Перший аргумент мусить бути QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Неправильна кількість аргументів." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Слотові потрібен %1 параметр" +msgstr[1] "Слотові потрібен %1 параметри" +msgstr[2] "Слотові потрібен %1 параметрів" +msgstr[3] "Слотові потрібен %1 параметр" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "але вказано лише %1" +msgstr[1] "але вказано лише %1" +msgstr[2] "але вказано лише %1" +msgstr[3] "але вказано лише %1" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Неможливо привести до %1 значення типу %2 (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Немає методу «%1»." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "Виклик «%1» зазнав невдачі; неможливо отримати аргументи %2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Виклик «%1» зазнав невдачі." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Неможливо створити значення" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Не досить аргументів." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Не вдалося створити дію." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Не вдалося створити ActionGroup." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Не вказано назву класу" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Не вдалося створити розкладку." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Не вказана назва класу." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Не вдалося створити віджет." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Не вдалося відкрити файл «%1»: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Не вдалося завантажити файл «%1»" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "«%1» не є чинним QWidget." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Потрібно надати назву віджета." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Неправильний обробник слоту: Об’єкт %1 Ідентифікатор %2 Метод %3 Сигнатура: " +"%4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Виняток при виклику слоту «%1» з %2:%3:%4" diff --git a/po/uz/kjsembed5.po b/po/uz/kjsembed5.po new file mode 100644 index 0000000..f0f338d --- /dev/null +++ b/po/uz/kjsembed5.po @@ -0,0 +1,252 @@ +# translation of kdelibs4.po to Uzbek +# Mashrab Kuvatov , 2003, 2004, 2005, 2006, 2008. +# translation of kdelibs4.po to +# Copyright (C) 2003, 2004, 2005, 2006, 2008 Free Software Foundation, Inc. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2008-05-30 17:29+0200\n" +"Last-Translator: Mashrab Kuvatov \n" +"Language-Team: Uzbek \n" +"Language: uz\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "" + +#: kjsembed/builtins.cpp:120 +#, fuzzy, kde-format +msgid "File %1 not found." +msgstr "Uslub %1 topilmadi.\n" + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "" + +#: kjsembed/builtins.cpp:137 +#, fuzzy, kde-format +#| msgid "Alt" +msgid "Alert" +msgstr "Alt" + +#: kjsembed/builtins.cpp:147 +#, fuzzy, kde-format +#| msgid "Configure" +msgid "Confirm" +msgstr "Moslash" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "" + +#: kjsembed/fileio.cpp:69 +#, fuzzy, kde-format +msgid "Could not open file '%1'" +msgstr "" +"Kutubxonani (%1) ochib boʻlmadi.\n" +"%2" + +#: kjsembed/fileio.cpp:106 +#, fuzzy, kde-format +msgid "Could not create temporary file." +msgstr "Yangi faylni yaratib boʻlmadi." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "" + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, fuzzy, kde-format +msgid "%1 is not an Object type" +msgstr "Asos obʼekt emas" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "" + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "" + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "" + +#: kjsembed/qformbuilder_binding.cpp:56 +#, fuzzy, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Modulni yuklashda xato roʻy berdi." + +#: kjsembed/qformbuilder_binding.cpp:64 +#, fuzzy, kde-format +msgid "Could not read file '%1'" +msgstr "Xizmat (%1) topilmadi." + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "" + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "" + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "" + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "" + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "" + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "" + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "" + +#: kjsembed/qobject_binding.cpp:410 +#, fuzzy, kde-format +#| msgid "There is no matching item available.\n" +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "Mos keladigan element mavjud emas.\n" + +#: kjsembed/qobject_binding.cpp:411 +#, fuzzy, kde-format +#| msgctxt "concatenation of dates and time" +#| msgid "%1 %2" +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1 %2" + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "" + +#: kjsembed/qobject_binding.cpp:660 +#, fuzzy, kde-format +msgid "No such method '%1'." +msgstr "Menyuning bandi (%1) mavjud emas." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "" + +#: kjsembed/qobject_binding.cpp:726 +#, fuzzy, kde-format +msgid "Call to '%1' failed." +msgstr "Oʻrnatish muvaffaqiyatsiz tugadi." + +#: kjsembed/qobject_binding.cpp:792 +#, fuzzy, kde-format +msgid "Could not construct value" +msgstr "Faylni yuklab boʻlmadi." + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "" + +#: kjsembed/quiloader_binding.cpp:67 +#, fuzzy, kde-format +msgid "Failed to create Action." +msgstr "Yangilash koʻrsatmalaridan iborat fayl" + +#: kjsembed/quiloader_binding.cpp:81 +#, fuzzy, kde-format +msgid "Failed to create ActionGroup." +msgstr "Yangilash koʻrsatmalaridan iborat fayl" + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "" + +#: kjsembed/quiloader_binding.cpp:97 +#, fuzzy, kde-format +msgid "Failed to create Layout." +msgstr "Yozib qoʻyish uchun faylni yaratib boʻlmadi." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "" + +#: kjsembed/quiloader_binding.cpp:114 +#, fuzzy, kde-format +msgid "Failed to create Widget." +msgstr "Yozib qoʻyish uchun faylni yaratib boʻlmadi." + +#: kjsembed/quiloader_binding.cpp:128 +#, fuzzy, kde-format +msgid "Could not open file '%1': %2" +msgstr "" +"Kutubxonani (%1) ochib boʻlmadi.\n" +"%2" + +#: kjsembed/quiloader_binding.cpp:136 +#, fuzzy, kde-format +msgid "Failed to load file '%1'" +msgstr "Manbani (%1) yuklab boʻlmadi." + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "" + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "" + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "" diff --git a/po/uz@cyrillic/kjsembed5.po b/po/uz@cyrillic/kjsembed5.po new file mode 100644 index 0000000..e693d5d --- /dev/null +++ b/po/uz@cyrillic/kjsembed5.po @@ -0,0 +1,252 @@ +# translation of kdelibs4.po to Uzbek +# translation of kdelibs4.po to +# Copyright (C) 2003, 2004, 2005, 2006, 2008 Free Software Foundation, Inc. +# Mashrab Kuvatov , 2003, 2004, 2005, 2006, 2008, 2009. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2009-10-17 00:34+0200\n" +"Last-Translator: Mashrab Kuvatov \n" +"Language-Team: Uzbek \n" +"Language: uz@cyrillic\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "" + +#: kjsembed/builtins.cpp:120 +#, fuzzy, kde-format +msgid "File %1 not found." +msgstr "Услуб %1 топилмади.\n" + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "" + +#: kjsembed/builtins.cpp:137 +#, fuzzy, kde-format +#| msgid "Alt" +msgid "Alert" +msgstr "Alt" + +#: kjsembed/builtins.cpp:147 +#, fuzzy, kde-format +#| msgid "Configure" +msgid "Confirm" +msgstr "Мослаш" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "" + +#: kjsembed/fileio.cpp:69 +#, fuzzy, kde-format +msgid "Could not open file '%1'" +msgstr "" +"Кутубхонани (%1) очиб бўлмади.\n" +"%2" + +#: kjsembed/fileio.cpp:106 +#, fuzzy, kde-format +msgid "Could not create temporary file." +msgstr "Янги файлни яратиб бўлмади." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "" + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, fuzzy, kde-format +msgid "%1 is not an Object type" +msgstr "Асос объект эмас" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "" + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "" + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "" + +#: kjsembed/qformbuilder_binding.cpp:56 +#, fuzzy, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Модулни юклашда хато рўй берди." + +#: kjsembed/qformbuilder_binding.cpp:64 +#, fuzzy, kde-format +msgid "Could not read file '%1'" +msgstr "Хизмат (%1) топилмади." + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "" + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "" + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "" + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "" + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "" + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "" + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "" + +#: kjsembed/qobject_binding.cpp:410 +#, fuzzy, kde-format +#| msgid "There is no matching item available.\n" +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "Мос келадиган элемент мавжуд эмас.\n" + +#: kjsembed/qobject_binding.cpp:411 +#, fuzzy, kde-format +#| msgctxt "concatenation of dates and time" +#| msgid "%1 %2" +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1 %2" + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "" + +#: kjsembed/qobject_binding.cpp:660 +#, fuzzy, kde-format +msgid "No such method '%1'." +msgstr "Менюнинг банди (%1) мавжуд эмас." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "" + +#: kjsembed/qobject_binding.cpp:726 +#, fuzzy, kde-format +msgid "Call to '%1' failed." +msgstr "Ўрнатиш муваффақиятсиз тугади." + +#: kjsembed/qobject_binding.cpp:792 +#, fuzzy, kde-format +msgid "Could not construct value" +msgstr "Файлни юклаб бўлмади." + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "" + +#: kjsembed/quiloader_binding.cpp:67 +#, fuzzy, kde-format +msgid "Failed to create Action." +msgstr "Янгилаш кўрсатмаларидан иборат файл" + +#: kjsembed/quiloader_binding.cpp:81 +#, fuzzy, kde-format +msgid "Failed to create ActionGroup." +msgstr "Янгилаш кўрсатмаларидан иборат файл" + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "" + +#: kjsembed/quiloader_binding.cpp:97 +#, fuzzy, kde-format +msgid "Failed to create Layout." +msgstr "Ёзиб қўйиш учун файлни яратиб бўлмади." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "" + +#: kjsembed/quiloader_binding.cpp:114 +#, fuzzy, kde-format +msgid "Failed to create Widget." +msgstr "Ёзиб қўйиш учун файлни яратиб бўлмади." + +#: kjsembed/quiloader_binding.cpp:128 +#, fuzzy, kde-format +msgid "Could not open file '%1': %2" +msgstr "" +"Кутубхонани (%1) очиб бўлмади.\n" +"%2" + +#: kjsembed/quiloader_binding.cpp:136 +#, fuzzy, kde-format +msgid "Failed to load file '%1'" +msgstr "Манбани (%1) юклаб бўлмади." + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "" + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "" + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "" diff --git a/po/vi/kjsembed5.po b/po/vi/kjsembed5.po new file mode 100644 index 0000000..f5b6560 --- /dev/null +++ b/po/vi/kjsembed5.po @@ -0,0 +1,249 @@ +# Vietnamese translation for kdelibs. +# Copyright © 2007 KDE i18n Project for Vietnamese. +# +# Clytie Siddall , 2006-2007. +# Hoàng Đức Hiếu , 2008, 2011. +# Lê Hoàng Phương , 2011, 2012. +# Phu Hung Nguyen , 2020, 2021. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2021-08-02 10:19+0200\n" +"Last-Translator: Phu Hung Nguyen \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Lokalize 20.12.2\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Gặp lỗi trong khi xử lí hàm include '%1' dòng %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "hàm include chỉ nhận 1 đối số, không phải %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Không tìm thấy tệp %1." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "hàm library chỉ nhận 1 đối số, không phải %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Cảnh báo" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Xác nhận" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" +"Trình xử lí sự kiện xấu: Đối tượng %1 Mã định danh %2 Phương thức %3 Kiểu: " +"%4." + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Ngoại lệ khi gọi hàm '%1' từ %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Không mở được tệp '%1'" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Không tạo được tệp tạm." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 không phải là hàm và không thể gọi được." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 không phải là một kiểu Đối tượng" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Action nhận vào 2 đối số." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup nhận vào 2 đối số." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Phải đưa ra một mục cha hợp lệ." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Có một lỗi khi đọc tệp '%1'" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Không đọc được tệp '%1'" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Phải đưa ra một tên tệp." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "'%1' không phải là một QLayout hợp lệ." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Phải đưa ra một tên bố cục." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Kiểu đối tượng sai." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Đối số đầu tiên phải là một QObject." + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Số đối số không đúng." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "Slot yêu cầu %1 tham số" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "nhưng chỉ sẵn có %1" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "Đổi sang giá trị %1 từ kiểu %2 thất bại (%3)" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Không có phương thức nào là '%1'." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "Gọi phương thức '%1' thất bại, không thể lấy được đối số %2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Gọi '%1' thất bại." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Không tạo dựng được giá trị" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Không đủ đối số." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Tạo Action thất bại." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Tạo ActionGroup thất bại." + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Chưa chỉ rõ tên lớp" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Tạo Layout thất bại." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Chưa chỉ rõ tên lớp." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Tạo Widget thất bại." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Không mở được tệp '%1': %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Tải tệp '%1' thất bại" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "'%1' không phải là một QWidget hợp lệ." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Phải đưa ra một tên phụ kiện." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Trình xử lí slot xấu: Đối tượng %1 Mã định danh %2 Phương thức %3 Chữ kí: %4." + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Ngoại lệ khi gọi slot '%1' từ %2:%3:%4" diff --git a/po/wa/kjsembed5.po b/po/wa/kjsembed5.po new file mode 100644 index 0000000..015b8a8 --- /dev/null +++ b/po/wa/kjsembed5.po @@ -0,0 +1,255 @@ +# translation of kdelibs4.po to Walloon +# Ratournaedje e walon des messaedjes di KDE. +# +# Lorint Hendschel , 2002. +# Pablo Saratxaga , 2002-2004, 2007. +# Jean Cayron , 2007, 2008, 2009, 2010, 2011. +# Jean Cayron , 2007. +# Jean Cayron , 2011, 2012. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2012-07-04 17:33+0200\n" +"Last-Translator: Jean Cayron \n" +"Language-Team: Walloon \n" +"Language: wa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.2\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Poedit-Language: Walloon\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "Ene aroke s a passé tins l' enondaedje des royes include «%1» %2: %3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "include ni prind k' on seu årgumint, nén %1." + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "Fitchî %1 nén trové." + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "li livreye n' prind k' on seu årgumint, nén %1." + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "Abranle" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "Racertiner" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" +"Mwais apougneu d' evenmint: Objet %1 Idintifieu %2 Manire %3 Sinateure: %4" + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "Foû-rîle tot houcant l' fonccion «%1» di %2:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "Dji n' sai drovi l' fitchî «%1»." + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "Dji n' a savou ahiver on fitchî moumintané." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 n' est nén ene fonccion eyet n' pout nén esse houkeye." + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 n' est nén ene sôre d' objet" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Action prind 2 årgumints." + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup prind 2 årgumints." + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "Vos dvoz dner on parint ki va." + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Åk n' a nén stî come dji léjheu l' fitchî «%1»" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "Dji n' sai lére li fitchî «%1»" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "Vos dvoz dner on no d' fitchî." + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "«%1» n' est nén on QLayout ki vA." + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "Vos dvoz dner on no d' layout." + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "Mwaijhe sôre d' objet." + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "Li prumî årgumint doet esse on QObject" + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "Nombe oudonbén årgumints ki n' vont nén." + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "" +msgstr[1] "" + +#: kjsembed/qobject_binding.cpp:410 +#, fuzzy, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "Rén d' trové.\n" +msgstr[1] "Rén d' trové.\n" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "Pont d' téle manire «%1»." + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "" +"Houcaedje del manire «%1» a fwait berwete, nén possibe d' aveur l' årgumint " +"%2: %3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "Aroke dins l' houcaedje di «%1»." + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "Dji n' a savou costrure li valixhance" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "Pont d' årgumints assez." + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "Dji n' sai ahiver Action." + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "Dji n' sai ahiver ActionGroup" + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "Nou no d' classe di specifyî." + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "Dji n' sai ahiver Layout." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "Nou no d' classe di specifyî." + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "Dji n' sai ahiver Widget." + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "Dji n' sai drovi l' fitchî «%1»: %2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "Dji n' sai tcherdjî l' fitchî «%1»" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "«%1» n' est nén on QWidget ki va." + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "Vos dvoz dner on no d' ahesse." + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" +"Mwais apougneu d' prijhe (slot): Objet %1 Idintifieu %2 Manire %3 Sinateure: " +"%4" + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "Foû-rîle tot houcant l' prijhe (slot) «%1» di %2:%3:%4" diff --git a/po/xh/kjsembed5.po b/po/xh/kjsembed5.po new file mode 100644 index 0000000..be23e1e --- /dev/null +++ b/po/xh/kjsembed5.po @@ -0,0 +1,259 @@ +# translation of kdelibs4.po to +# translation of kdelibs4.po to +# translation of kdelibs4.po to +# translation of kdelibs4.po to Xhosa +# K Desktop Environment - kdelibs +# Copyright (C) 2001 translate.org.za +# Antoinette Dekeni , 2001. +# Lwandle Mgidlana , 2002 +# Thelma Lungcuzo , 2002 +# +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2002-12-13 17:20SAST\n" +"Last-Translator: Lwandle Mgidlana \n" +"Language-Team: Xhosa \n" +"Language: xh\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0beta2\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "" + +#: kjsembed/builtins.cpp:120 +#, fuzzy, kde-format +msgid "File %1 not found." +msgstr "Uhlobo lwe %1 alufumanekanga\n" + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "" + +#: kjsembed/builtins.cpp:137 +#, fuzzy, kde-format +#| msgid "Alt" +msgid "Alert" +msgstr "Alt" + +#: kjsembed/builtins.cpp:147 +#, fuzzy, kde-format +#| msgid "Configure" +msgid "Confirm" +msgstr "Qwalasela" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "" + +#: kjsembed/fileio.cpp:69 +#, fuzzy, kde-format +msgid "Could not open file '%1'" +msgstr "" +"Ayinaku dlopen ilayibrari '%1'.\n" +"%2" + +#: kjsembed/fileio.cpp:106 +#, fuzzy, kde-format +msgid "Could not create temporary file." +msgstr "Ayinakuyenza ifayile entsha." + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "" + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, fuzzy, kde-format +msgid "%1 is not an Object type" +msgstr "Isiseko asiyonto" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "" + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "" + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "" + +#: kjsembed/qformbuilder_binding.cpp:56 +#, fuzzy, kde-format +msgid "There was an error reading the file '%1'" +msgstr "Inokuba kukhona impazamo kwicala lomncedisi." + +#: kjsembed/qformbuilder_binding.cpp:64 +#, fuzzy, kde-format +msgid "Could not read file '%1'" +msgstr "Ayinakuyifumana inkonzo '%1'" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "" + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "" + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "" + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "" + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "" + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "" + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "" +msgstr[1] "" + +#: kjsembed/qobject_binding.cpp:410 +#, fuzzy, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "Akukho nto yothelekiso ekhoyo.\n" +msgstr[1] "Akukho nto yothelekiso ekhoyo.\n" + +#: kjsembed/qobject_binding.cpp:411 +#, fuzzy, kde-format +#| msgctxt "concatenation of dates and time" +#| msgid "%1 %2" +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1 %2" + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "" + +#: kjsembed/qobject_binding.cpp:660 +#, fuzzy, kde-format +msgid "No such method '%1'." +msgstr "Vula '%1'?" + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "" + +#: kjsembed/qobject_binding.cpp:726 +#, fuzzy, kde-format +msgid "Call to '%1' failed." +msgstr "Ufakelo Lwesilawulo" + +#: kjsembed/qobject_binding.cpp:792 +#, fuzzy, kde-format +msgid "Could not construct value" +msgstr "Ayinakuyilayisha ifayile." + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "" + +#: kjsembed/quiloader_binding.cpp:67 +#, fuzzy, kde-format +msgid "Failed to create Action." +msgstr "Ifayile yokufunda imiyalelo esele igqityiwe ukusuka ku" + +#: kjsembed/quiloader_binding.cpp:81 +#, fuzzy, kde-format +msgid "Failed to create ActionGroup." +msgstr "Ifayile yokufunda imiyalelo esele igqityiwe ukusuka ku" + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "" + +#: kjsembed/quiloader_binding.cpp:97 +#, fuzzy, kde-format +msgid "Failed to create Layout." +msgstr "Ayikwazi ukwenza ifayile %1." + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "" + +#: kjsembed/quiloader_binding.cpp:114 +#, fuzzy, kde-format +msgid "Failed to create Widget." +msgstr "Ayikwazi ukwenza ifayile %1." + +#: kjsembed/quiloader_binding.cpp:128 +#, fuzzy, kde-format +msgid "Could not open file '%1': %2" +msgstr "" +"Ayinaku dlopen ilayibrari '%1'.\n" +"%2" + +#: kjsembed/quiloader_binding.cpp:136 +#, fuzzy, kde-format +msgid "Failed to load file '%1'" +msgstr "Ayikwazi ukulayisha icebo '%1'" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "" + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "" + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "" diff --git a/po/zh_CN/kjsembed5.po b/po/zh_CN/kjsembed5.po new file mode 100644 index 0000000..e7b5294 --- /dev/null +++ b/po/zh_CN/kjsembed5.po @@ -0,0 +1,255 @@ +# translation of kdelibs4.po to Chinese Simplified +# Copyright (C) 2007 Free Software Foundation, Inc. +# +# Lie Ex 2007-2011. +# Wang Jian , 1998. +# Sarah Smith , 2002. +# Xiong Jiang , 2002,2003,2004. +# Funda Wang , 2002,2003,2004. +# Liang Qi , 2007. +# Feng Chao , 2010, 2012, 2014. +# Ni Hui , 2010, 2011, 2012. +# Weng Xuetian , 2011, 2012, 2013. +msgid "" +msgstr "" +"Project-Id-Version: kdeorg\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2022-02-26 05:16\n" +"Last-Translator: \n" +"Language-Team: Chinese Simplified\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Crowdin-Project: kdeorg\n" +"X-Crowdin-Project-ID: 269464\n" +"X-Crowdin-Language: zh-CN\n" +"X-Crowdin-File: /kf5-trunk/messages/kjsembed/kjsembed5.pot\n" +"X-Crowdin-File-ID: 5572\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "处理包含“%1”的第 %2 行时发生错误:%3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "包含只使用了 1 个参数,而不是 %1 个。" + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "没有找到文件 %1。" + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "库只使用了 1 个参数,而不是 %1 个。" + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "警告" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "确认" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "错误的事件处理器:对象 %1 标识 %2 方法 %3 类型:%4。" + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "从 %2 调用“%1”函数发生例外:%3:%4" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "无法打开文件“%1”" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "无法创建临时文件。" + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 不是一个函数,无法被调用。" + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 不是对象类型" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "操作 (Action) 使用两个参数。" + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "操作组 (ActionGroup) 使用两个参数。" + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "必须提供一个有效的父对象。" + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "读取文件“%1”时出错。" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "不能读取文件“%1”。" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "必须提供文件名。" + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "“%1”不是一个有效的 QLayout。" + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "必须提供一个布局名称。" + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "错误的对象名称。" + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "第一个参数必须是 QObject。" + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "参数数量错误。" + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "此槽需要 %1 个参数" + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "但是只提供了 %1 个" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1,%2" + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "从类型 %2 (%3)转换为 %1 值失败" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "无此方法“%1”。" + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "调用方法“%1”失败,不能得到参数 %2:%3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "调用“%1”失败。" + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "无法构造值。" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "参数数量不足。" + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "创建操作失败。" + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "创建操作组失败。" + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "没有指定类名。" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "创建布局失败。" + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "未指定类名。" + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "创建窗口部件失败。" + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "无法打开文件“%1”:%2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "无法加载文件“%1”" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "“%1”不是有效的 QWidget。" + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "必须提供一个窗口部件名称。" + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "错误的槽处理器:对象 %1 标识 %2 方法 %3 签名:%4。" + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "从 %2 调用“%1”槽发生例外:%3:%4" diff --git a/po/zh_HK/kjsembed5.po b/po/zh_HK/kjsembed5.po new file mode 100644 index 0000000..a6230a6 --- /dev/null +++ b/po/zh_HK/kjsembed5.po @@ -0,0 +1,270 @@ +# translation of kdelibs4.po to Chinese (Hong Kong) +# Chinese (traditional) translation for kdeutils +# Copyright (C) 2001, 02, 04, 05 Free Software Foundation, Inc. +# +# Eric Cheng , unknown. +# +# with reference from zh_CN translation (as of 2002-11-08): +# Chih-Wei Huang , 2001. +# Kenduest Lee , 2001. +# Jouston Huang (Huang, Jiun-Jeng) , 2002. +# Kenduest Lee , 2002. +# Wang Jian , 2002. +# Anthony Fok , 2002. +# Yuan-Chen Cheng , 2002. +# Wang Jian , 1998. +# Funda Wang , 2002. +# Sarah Smith , 2002. +# Xiong Jiang , 2002. +# Chia-Lin, Kao , 2004. +# Stanley Wong , 2005. +# Abel Cheung , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2006-01-04 13:32+0800\n" +"Last-Translator: Abel Cheung \n" +"Language-Team: Chinese (Hong Kong) \n" +"Language: zh_HK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "" + +#: kjsembed/builtins.cpp:120 +#, fuzzy, kde-format +msgid "File %1 not found." +msgstr "沒有找到 %1 風格\n" + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "" + +#: kjsembed/builtins.cpp:137 +#, fuzzy, kde-format +#| msgid "Alt" +msgid "Alert" +msgstr "Alt" + +#: kjsembed/builtins.cpp:147 +#, fuzzy, kde-format +#| msgid "Configure" +msgid "Confirm" +msgstr "設定" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "" + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "" + +#: kjsembed/fileio.cpp:69 +#, fuzzy, kde-format +msgid "Could not open file '%1'" +msgstr "" +"無法開啟程式庫‘%1’。\n" +"%2" + +#: kjsembed/fileio.cpp:106 +#, fuzzy, kde-format +msgid "Could not create temporary file." +msgstr "無法建立新的檔案。" + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "" + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, fuzzy, kde-format +msgid "%1 is not an Object type" +msgstr "Base 並不是一個物件" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "" + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "" + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "" + +#: kjsembed/qformbuilder_binding.cpp:56 +#, fuzzy, kde-format +msgid "There was an error reading the file '%1'" +msgstr "載入組時發生錯誤。" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, fuzzy, kde-format +msgid "Could not read file '%1'" +msgstr "找不到服務程式‘%1’。" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "" + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "" + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "" + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "" + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "" + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "" + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "" + +#: kjsembed/qobject_binding.cpp:410 +#, fuzzy, kde-format +#| msgid "There is no resource available!" +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "沒有可用的資源!" + +#: kjsembed/qobject_binding.cpp:411 +#, fuzzy, kde-format +#| msgctxt "concatenation of dates and time" +#| msgid "%1 %2" +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1 %2" + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "" + +#: kjsembed/qobject_binding.cpp:660 +#, fuzzy, kde-format +msgid "No such method '%1'." +msgstr "沒有此選單項目 '%1'。" + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "" + +#: kjsembed/qobject_binding.cpp:726 +#, fuzzy, kde-format +msgid "Call to '%1' failed." +msgstr "安裝失敗。" + +#: kjsembed/qobject_binding.cpp:792 +#, fuzzy, kde-format +msgid "Could not construct value" +msgstr "無法載入這份文件。" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "" + +#: kjsembed/quiloader_binding.cpp:67 +#, fuzzy, kde-format +msgid "Failed to create Action." +msgstr "要讀入更新說明指令的檔案" + +#: kjsembed/quiloader_binding.cpp:81 +#, fuzzy, kde-format +msgid "Failed to create ActionGroup." +msgstr "要讀入更新說明指令的檔案" + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "" + +#: kjsembed/quiloader_binding.cpp:97 +#, fuzzy, kde-format +msgid "Failed to create Layout." +msgstr "無法建立檔案來上傳。" + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "" + +#: kjsembed/quiloader_binding.cpp:114 +#, fuzzy, kde-format +msgid "Failed to create Widget." +msgstr "無法建立檔案來上傳。" + +#: kjsembed/quiloader_binding.cpp:128 +#, fuzzy, kde-format +msgid "Could not open file '%1': %2" +msgstr "" +"無法開啟程式庫‘%1’。\n" +"%2" + +#: kjsembed/quiloader_binding.cpp:136 +#, fuzzy, kde-format +msgid "Failed to load file '%1'" +msgstr "無法讀入資源 '%1'" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "" + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "" + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "" + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "" diff --git a/po/zh_TW/kjsembed5.po b/po/zh_TW/kjsembed5.po new file mode 100644 index 0000000..72a9044 --- /dev/null +++ b/po/zh_TW/kjsembed5.po @@ -0,0 +1,252 @@ +# translation of kdelibs4.po to Chinese Traditional +# Copyright (C) 2001, 2002, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# Eric Cheng , unknown. +# This file referenced zh_CN translations at 2002. +# Chih-Wei Huang , 2001. +# Kenduest Lee , 2001, 2002. +# Jouston Huang (Huang, Jiun-Jeng) , 2002. +# Chia-Lin, Kao , 2004. +# Yuan-Chen Cheng , 2002. +# Goodhorse , 2008. +# Frank Weng (a.k.a. Franklin) , 2006-2009, 2010. +# Franklin Weng , 2010, 2011, 2012. +# Franklin Weng , 2010, 2011, 2012, 2013. +msgid "" +msgstr "" +"Project-Id-Version: kdelibs4\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-10-24 02:12+0200\n" +"PO-Revision-Date: 2013-10-21 14:08+0800\n" +"Last-Translator: Franklin Weng \n" +"Language-Team: Chinese Traditional \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: kjsembed/builtins.cpp:83 kjsembed/builtins.cpp:117 +#, kde-format +msgid "Error encountered while processing include '%1' line %2: %3" +msgstr "處理引入檔 %1 時發生錯誤。行 %2:%3" + +#: kjsembed/builtins.cpp:87 +#, kde-format +msgid "include only takes 1 argument, not %1." +msgstr "引入(include)只能有一個參數,而非 %1。" + +#: kjsembed/builtins.cpp:120 +#, kde-format +msgid "File %1 not found." +msgstr "檔案 %1 找不到。" + +#: kjsembed/builtins.cpp:125 +#, kde-format +msgid "library only takes 1 argument, not %1." +msgstr "函式庫只要一個參數,而非 %1。" + +#: kjsembed/builtins.cpp:137 +#, kde-format +msgid "Alert" +msgstr "警示" + +#: kjsembed/builtins.cpp:147 +#, kde-format +msgid "Confirm" +msgstr "確認" + +#: kjsembed/eventproxy.cpp:110 +#, kde-format +msgid "Bad event handler: Object %1 Identifier %2 Method %3 Type: %4." +msgstr "事件處理器錯誤:物件 %1 識別碼 %2 方法 %3 型態 %4" + +#: kjsembed/eventproxy.cpp:133 +#, kde-format +msgid "Exception calling '%1' function from %2:%3:%4" +msgstr "從 %2:%3:%4 呼叫函式 %1 時發生例外" + +#: kjsembed/fileio.cpp:69 +#, kde-format +msgid "Could not open file '%1'" +msgstr "無法開啟檔案 %1" + +#: kjsembed/fileio.cpp:106 +#, kde-format +msgid "Could not create temporary file." +msgstr "無法建立暫存檔。" + +#: kjsembed/kjsembed.cpp:275 kjsembed/kjsembed.cpp:298 +#, kde-format +msgid "%1 is not a function and cannot be called." +msgstr "%1 不是函式,無法被呼叫。" + +#: kjsembed/object_binding.h:214 kjsembed/qobject_binding.cpp:788 +#, kde-format +msgid "%1 is not an Object type" +msgstr "%1 不是一個物件型態。" + +#: kjsembed/qaction_binding.cpp:56 +#, kde-format +msgid "Action takes 2 args." +msgstr "Action 需要兩個參數。" + +#: kjsembed/qaction_binding.cpp:78 +#, kde-format +msgid "ActionGroup takes 2 args." +msgstr "ActionGroup 需要兩個參數。" + +#: kjsembed/qaction_binding.cpp:83 +#, kde-format +msgid "Must supply a valid parent." +msgstr "必須提供一個合法的父物件。" + +#: kjsembed/qformbuilder_binding.cpp:56 +#, kde-format +msgid "There was an error reading the file '%1'" +msgstr "讀取檔案 %1 時發生錯誤" + +#: kjsembed/qformbuilder_binding.cpp:64 +#, kde-format +msgid "Could not read file '%1'" +msgstr "無法讀取檔案 %1" + +#: kjsembed/qformbuilder_binding.cpp:67 kjsembed/quiloader_binding.cpp:123 +#, kde-format +msgid "Must supply a filename." +msgstr "必須提供一個檔案名稱。" + +#: kjsembed/qlayout_binding.cpp:86 +#, kde-format +msgid "'%1' is not a valid QLayout." +msgstr "%1 不是合法的 QLayout。" + +#: kjsembed/qlayout_binding.cpp:92 +#, kde-format +msgid "Must supply a layout name." +msgstr "必須提供佈局名稱。" + +#: kjsembed/qobject_binding.cpp:140 +#, kde-format +msgid "Wrong object type." +msgstr "錯誤的物件型態。" + +#: kjsembed/qobject_binding.cpp:147 +#, kde-format +msgid "First argument must be a QObject." +msgstr "第一個參數必須是 QObject 物件。" + +#: kjsembed/qobject_binding.cpp:181 +#, kde-format +msgid "Incorrect number of arguments." +msgstr "參數數目不正確。" + +#: kjsembed/qobject_binding.cpp:409 +#, kde-format +msgid "The slot asked for %1 argument" +msgid_plural "The slot asked for %1 arguments" +msgstr[0] "這個槽需要 %1 個參數," + +#: kjsembed/qobject_binding.cpp:410 +#, kde-format +msgid "but there is only %1 available" +msgid_plural "but there are only %1 available" +msgstr[0] "但是只取得 %1 個。" + +#: kjsembed/qobject_binding.cpp:411 +#, kde-format +msgctxt "" +"%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar " +"available'" +msgid "%1, %2." +msgstr "%1, %2." + +#: kjsembed/qobject_binding.cpp:628 +#, kde-format +msgid "Failure to cast to %1 value from Type %2 (%3)" +msgstr "從型態 %2(%3)轉換到數值 %1 失敗。" + +#: kjsembed/qobject_binding.cpp:660 +#, kde-format +msgid "No such method '%1'." +msgstr "找不到方法 %1。" + +#: kjsembed/qobject_binding.cpp:689 +#, kde-format +msgid "Call to method '%1' failed, unable to get argument %2: %3" +msgstr "呼叫方法 %1 失敗,無法取得參數 %2:%3" + +#: kjsembed/qobject_binding.cpp:726 +#, kde-format +msgid "Call to '%1' failed." +msgstr "呼叫 %1 失敗。" + +#: kjsembed/qobject_binding.cpp:792 +#, kde-format +msgid "Could not construct value" +msgstr "無法建構值" + +#: kjsembed/quiloader_binding.cpp:48 +#, kde-format +msgid "Not enough arguments." +msgstr "參數不足。" + +#: kjsembed/quiloader_binding.cpp:67 +#, kde-format +msgid "Failed to create Action." +msgstr "建立 Action 時失敗。" + +#: kjsembed/quiloader_binding.cpp:81 +#, kde-format +msgid "Failed to create ActionGroup." +msgstr "建立 ActionGroup 時失敗。" + +#: kjsembed/quiloader_binding.cpp:89 +#, kde-format +msgid "No classname specified" +msgstr "沒有指定類別名稱" + +#: kjsembed/quiloader_binding.cpp:97 +#, kde-format +msgid "Failed to create Layout." +msgstr "建立佈局時失敗。" + +#: kjsembed/quiloader_binding.cpp:106 +#, kde-format +msgid "No classname specified." +msgstr "沒有指定類別名稱。" + +#: kjsembed/quiloader_binding.cpp:114 +#, kde-format +msgid "Failed to create Widget." +msgstr "建立 Widget 元件時失敗。" + +#: kjsembed/quiloader_binding.cpp:128 +#, kde-format +msgid "Could not open file '%1': %2" +msgstr "無法開啟檔案 %1:%2" + +#: kjsembed/quiloader_binding.cpp:136 +#, kde-format +msgid "Failed to load file '%1'" +msgstr "載入檔案 %1 失敗" + +#: kjsembed/qwidget_binding.cpp:161 +#, kde-format +msgid "'%1' is not a valid QWidget." +msgstr "%1 不是合法的 QWidget 物件。" + +#: kjsembed/qwidget_binding.cpp:170 +#, kde-format +msgid "Must supply a widget name." +msgstr "必須提供一個元件名稱。" + +#: kjsembed/slotproxy.cpp:117 +#, kde-format +msgid "Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4." +msgstr "信號槽處理器錯誤:物件 %1 識別碼 %2 方法 %3 簽章:%4" + +#: kjsembed/slotproxy.cpp:140 +#, kde-format +msgid "Exception calling '%1' slot from %2:%3:%4" +msgstr "從 %2:%3:%4 呼叫信號槽 %1 時發生例外" diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 0000000..30a1a6d --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,2 @@ +add_subdirectory( kjsembed ) +add_subdirectory( kjscmd ) diff --git a/src/Messages.sh b/src/Messages.sh new file mode 100755 index 0000000..e24c12d --- /dev/null +++ b/src/Messages.sh @@ -0,0 +1,18 @@ +#!/bin/sh + +# Invoke the extractrc script on all .ui, .rc, and .kcfg files in the sources. +# The results are stored in a pseudo .cpp file to be picked up by xgettext. +lst=`find . -name \*.rc -o -name \*.ui -o -name \*.kcfg` +if [ -n "$lst" ] ; then + $EXTRACTRC $lst >> rc.cpp +fi + +# If your framework contains tips-of-the-day, call preparetips as well. +if [ -f "data/tips" ] ; then + ( cd data && $PREPARETIPS > ../tips.cpp ) +fi + +# Extract strings from all source files. +# If your framework depends on KI18n, use $XGETTEXT. If it uses Qt translation +# system, use $EXTRACT_TR_STRINGS. +$XGETTEXT `find . -name \*.cpp -o -name \*.h -o -name \*.qml` -o $podir/kjsembed5.pot diff --git a/src/kjscmd/CMakeLists.txt b/src/kjscmd/CMakeLists.txt new file mode 100644 index 0000000..3272269 --- /dev/null +++ b/src/kjscmd/CMakeLists.txt @@ -0,0 +1,16 @@ +project(kjsembed-kjscmd) + +# This is a developer tool, not intended for normal user installs +add_executable(kjscmd5) + +target_sources(kjscmd5 PRIVATE + kjscmd.cpp + kjscmd.qrc +) + +target_link_libraries(kjscmd5 + Qt5::Widgets # QApplication::lastWindowClosed + KF5::JsEmbed +) + +install(TARGETS kjscmd5 ${KF5_INSTALL_TARGETS_DEFAULT_ARGS}) diff --git a/src/kjscmd/console.js b/src/kjscmd/console.js new file mode 100644 index 0000000..dd4752c --- /dev/null +++ b/src/kjscmd/console.js @@ -0,0 +1,22 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 KJSEmbed Authors + See included AUTHORS file. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +var test = "test"; +println(test); diff --git a/src/kjscmd/kjscmd.cpp b/src/kjscmd/kjscmd.cpp new file mode 100644 index 0000000..9bdfc41 --- /dev/null +++ b/src/kjscmd/kjscmd.cpp @@ -0,0 +1,139 @@ +/* This file is part of the KDE libraries + Copyright (C) 2004, 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2004, 2005, 2006 Matt Broadstone + Copyright (C) 2004, 2005, 2006 Richard J. Moore + Copyright (C) 2004, 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#include +#include +#include + +#include +#include + +#include +#include + +#include + +using namespace KJSEmbed; + +void printUsage(QString appName) +{ + (*KJSEmbed::conerr()) << "Usage: " << appName << " [options] [file]" << Qt::endl + << "Options:" << Qt::endl + << " -e, --exec execute script without gui support." << Qt::endl + << " -i, --interactive start interactive kjs interpreter." << Qt::endl + << Qt::endl; +} + +int main(int argc, char **argv) +{ + QTime time; + time.start(); + +#ifdef _WIN32 +# ifdef CONSOLEIO + RedirectIOToConsole(); +# endif +#endif + + // Handle arguments + QString appName = argv[0]; + QStringList args; + for (int i = 1; i < argc; i++) { + args << argv[i]; + } + + QString script; + KJS::List scriptArgs; + bool gui = true; + + if (argc > 1) { + while (!args.isEmpty()) { + QString arg = args.takeFirst(); + if (arg.contains('-')) { + if ((arg == "--version") || (arg == "-v")) { + printf("Qt: %s\n", qVersion()); + return 0; + } + if ((arg == "--exec") || (arg == "-e")) { + gui = false; + } else if ((arg == "--interactive") || (arg == "-i")) { + (*KJSEmbed::conout()) << "Interactive"; + } else { + printUsage(appName); + return 0; + } + } else { + if (!script.isEmpty()) { + scriptArgs.append(KJS::jsString(arg)); + } else { + script = arg; + } + } + } + } else { + printUsage(appName); + return 0; + } + + // Setup QApplication + QCoreApplication *app; + + if (gui) { + app = new QApplication(argc, argv); + QObject::connect(app, SIGNAL(lastWindowClosed()), app, SLOT(quit())); + } else { + qDebug("no GUI"); + app = new QCoreApplication(argc, argv); + } + qDebug(" New %s %dms", app->metaObject()->className(), time.elapsed()); + + app->setApplicationName(appName); + + // Setup Interpreter + time.restart(); + Engine kernel; + qDebug(" New engine %dms", time.elapsed()); + time.restart(); + + KJS::Interpreter *js = kernel.interpreter(); + js->setShouldPrintExceptions(true); + KJS::ExecState *exec = js->globalExec(); + + // Publish bindings + KJS::JSObject *appObject = kernel.addObject(app, "Application"); + KJS::JSObject *argObject = js->builtinArray()->construct(exec, scriptArgs); + appObject->put(exec, "args", argObject); + Engine::ExitStatus result = Engine::Failure; + + if (!script.isEmpty()) { + result = kernel.runFile(toUString(script)); + } else { // exec shell + result = kernel.runFile(":/console.js"); + } + + if (result != Engine::Success) { + KJS::Completion jsres = kernel.completion(); + (*KJSEmbed::conerr()) << toQString(jsres.value()->toString(exec)) << Qt::endl; + } + return (int)result; +} + diff --git a/src/kjscmd/kjscmd.qrc b/src/kjscmd/kjscmd.qrc new file mode 100644 index 0000000..3df0a56 --- /dev/null +++ b/src/kjscmd/kjscmd.qrc @@ -0,0 +1,5 @@ + + + console.js + + diff --git a/src/kjsembed/CMakeLists.txt b/src/kjsembed/CMakeLists.txt new file mode 100644 index 0000000..9bee76f --- /dev/null +++ b/src/kjsembed/CMakeLists.txt @@ -0,0 +1,83 @@ +add_library(KF5JsEmbed) +add_library(KF5::JsEmbed ALIAS KF5JsEmbed) + +target_sources(KF5JsEmbed PRIVATE + kjseglobal.cpp + binding_support.cpp + static_binding.cpp + variant_binding.cpp + object_binding.cpp + builtins.cpp + fileio.cpp + jseventmapper.cpp + eventproxy.cpp + slotproxy.cpp + jseventutils.cpp + qobject_binding.cpp + kjsembed.cpp + value_binding.cpp + iosupport.cpp + qwidget_binding.cpp + qaction_binding.cpp + qlayout_binding.cpp + qpainter_binding.cpp + settings.cpp + svg_binding.cpp + filedialog_binding.cpp + application.cpp + color.cpp dom.cpp font.cpp image.cpp pen.cpp + pixmap.cpp point.cpp rect.cpp size.cpp url.cpp + brush.cpp + QBrush_bind.cpp + quiloader_binding.cpp +) + +generate_export_header(KF5JsEmbed BASE_NAME KJsEmbed) +target_include_directories(KF5JsEmbed PUBLIC "$") +target_include_directories(KF5JsEmbed INTERFACE "$" + "$") +ecm_generate_headers(KJsEmbed_CamelCase_HEADERS + HEADER_NAMES + KJsEmbed + + PREFIX KJsEmbed + REQUIRED_HEADERS KJsEmbed_HEADERS +) + +target_link_libraries(KF5JsEmbed + PUBLIC KF5::I18n KF5::JS + PRIVATE + #all these are required for its respective bindings + Qt5::Widgets + Qt5::UiTools + Qt5::Xml + Qt5::Svg +) + +set_target_properties(KF5JsEmbed PROPERTIES VERSION "${KJSEMBED_VERSION}" + SOVERSION "${KJSEMBED_SOVERSION}" + EXPORT_NAME JsEmbed +) + +install(TARGETS KF5JsEmbed EXPORT KF5JsEmbedTargets ${KF5_INSTALL_TARGETS_DEFAULT_ARGS}) + +install(FILES + ${CMAKE_CURRENT_BINARY_DIR}/kjsembed_export.h + ${KJsEmbed_HEADERS} + + pointer.h + kjseglobal.h + static_binding.h + binding_support.h + variant_binding.h + + DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/KJsEmbed/kjsembed COMPONENT Devel) + +install(FILES ${KJsEmbed_CamelCase_HEADERS} DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/KJsEmbed/KJsEmbed COMPONENT Devel) + + + + +include(ECMGeneratePriFile) +ecm_generate_pri_file(BASE_NAME KJsEmbed LIB_NAME KF5JsEmbed DEPS "KI18n KJS" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF5}/KJsEmbed) +install(FILES ${PRI_FILENAME} DESTINATION ${ECM_MKSPECS_INSTALL_DIR}) diff --git a/src/kjsembed/QBrush_bind.cpp b/src/kjsembed/QBrush_bind.cpp new file mode 100644 index 0000000..58eb18c --- /dev/null +++ b/src/kjsembed/QBrush_bind.cpp @@ -0,0 +1,294 @@ +#include "QBrush_bind.h" +#include +#include +#include + +using namespace KJSEmbed; + +// Temp - for building +class QColorBinding +{ +public: static const KJS::ClassInfo info; +}; +class QPixmapBinding +{ +public: static const KJS::ClassInfo info; +}; +class QGradientBinding +{ +public: static const KJS::ClassInfo info; +}; + +const KJS::ClassInfo QColorBinding::info = { "QColor", &VariantBinding::info, nullptr, nullptr }; +const KJS::ClassInfo QPixmapBinding::info = { "QPixmap", &VariantBinding::info, nullptr, nullptr }; +const KJS::ClassInfo QGradientBinding::info = { "QGradient", &ObjectBinding::info, nullptr, nullptr }; + +const KJS::ClassInfo QBrushBinding::info = { "QBrush", &VariantBinding::info, nullptr, nullptr }; +QBrushBinding::QBrushBinding(KJS::ExecState *exec, const QBrush &value) + : VariantBinding(exec, value) +{ + StaticBinding::publish(exec, this, QBrushData::methods()); + StaticBinding::publish(exec, this, VariantFactory::methods()); +} + +namespace QBrushNS +{ +// style +KJS::JSValue *style(KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args) +{ + Q_UNUSED(args); + KJS::JSValue *result = KJS::jsNull(); + KJSEmbed::VariantBinding *imp = KJSEmbed::extractBindingImp(exec, self); + if (!imp) { + return KJS::throwError(exec, KJS::GeneralError, "No implementation? Huh?"); + } + + QBrush value = imp->value(); + if (args.size() == 0) { + Qt::BrushStyle tmp = value.style(); + result = KJS::jsNumber(tmp); + imp->setValue(QVariant::fromValue(value)); + return result; + } + + return KJS::throwError(exec, KJS::SyntaxError, "Syntax error in parameter list for QBrush.style"); +} + +// setStyle +KJS::JSValue *setStyle(KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args) +{ + Q_UNUSED(args); + KJS::JSValue *result = KJS::jsNull(); + KJSEmbed::VariantBinding *imp = KJSEmbed::extractBindingImp(exec, self); + if (!imp) { + return KJS::throwError(exec, KJS::GeneralError, "No implementation? Huh?"); + } + + QBrush value = imp->value(); + if (args.size() == 1) { + KJS::JSValue *value0 = args[0]; + KJS::JSObject *object0 = value0->toObject(exec); + if (object0 && object0->isNumber()) { + Qt::BrushStyle arg0 = KJSEmbed::extractInteger(exec, args, 0); + value.setStyle(arg0); + imp->setValue(QVariant::fromValue(value)); + return result; + } + } + + return KJS::throwError(exec, KJS::SyntaxError, "Syntax error in parameter list for QBrush.setStyle"); +} + +// texture +KJS::JSValue *texture(KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args) +{ + Q_UNUSED(args); + KJS::JSValue *result = KJS::jsNull(); + KJSEmbed::VariantBinding *imp = KJSEmbed::extractBindingImp(exec, self); + if (!imp) { + return KJS::throwError(exec, KJS::GeneralError, "No implementation? Huh?"); + } + + QBrush value = imp->value(); + if (args.size() == 0) { + QPixmap tmp = value.texture(); + result = KJSEmbed::createVariant(exec, "QPixmap", tmp); + imp->setValue(QVariant::fromValue(value)); + return result; + } + + return KJS::throwError(exec, KJS::SyntaxError, "Syntax error in parameter list for QBrush.texture"); +} + +// setTexture +KJS::JSValue *setTexture(KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args) +{ + Q_UNUSED(args); + KJS::JSValue *result = KJS::jsNull(); + KJSEmbed::VariantBinding *imp = KJSEmbed::extractBindingImp(exec, self); + if (!imp) { + return KJS::throwError(exec, KJS::GeneralError, "No implementation? Huh?"); + } + + QBrush value = imp->value(); + if (args.size() == 1) { + KJS::JSValue *value0 = args[0]; + KJS::JSObject *object0 = value0->toObject(exec); + if (object0 && object0->inherits(&QPixmapBinding::info)) { + QPixmap pixmap = KJSEmbed::extractVariant(exec, args, 0); + value.setTexture(pixmap); + imp->setValue(QVariant::fromValue(value)); + return result; + } + } + + return KJS::throwError(exec, KJS::SyntaxError, "Syntax error in parameter list for QBrush.setTexture"); +} + +// color +KJS::JSValue *color(KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args) +{ + Q_UNUSED(args); + KJS::JSValue *result = KJS::jsNull(); + KJSEmbed::VariantBinding *imp = KJSEmbed::extractBindingImp(exec, self); + if (!imp) { + return KJS::throwError(exec, KJS::GeneralError, "No implementation? Huh?"); + } + + QBrush value = imp->value(); + if (args.size() == 0) { + const QColor &tmp = value.color(); + result = KJSEmbed::createVariant(exec, "QColor", tmp); + imp->setValue(QVariant::fromValue(value)); + return result; + } + + return KJS::throwError(exec, KJS::SyntaxError, "Syntax error in parameter list for QBrush.color"); +} + +// setColor +KJS::JSValue *setColor(KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args) +{ + Q_UNUSED(args); + KJS::JSValue *result = KJS::jsNull(); + KJSEmbed::VariantBinding *imp = KJSEmbed::extractBindingImp(exec, self); + if (!imp) { + return KJS::throwError(exec, KJS::GeneralError, "No implementation? Huh?"); + } + + QBrush value = imp->value(); + if (args.size() == 1) { + KJS::JSValue *value0 = args[0]; + KJS::JSObject *object0 = value0->toObject(exec); + if (object0 && object0->inherits(&QColorBinding::info)) { + QColor color = KJSEmbed::extractVariant(exec, args, 0); + value.setColor(color); + imp->setValue(QVariant::fromValue(value)); + return result; + } + if (object0 && object0->isNumber()) { + Qt::GlobalColor color = KJSEmbed::extractInteger(exec, args, 0); + value.setColor(color); + imp->setValue(QVariant::fromValue(value)); + return result; + } + } + + return KJS::throwError(exec, KJS::SyntaxError, "Syntax error in parameter list for QBrush.setColor"); +} + +// gradient +KJS::JSValue *gradient(KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args) +{ + Q_UNUSED(args); + KJS::JSValue *result = KJS::jsNull(); + KJSEmbed::VariantBinding *imp = KJSEmbed::extractBindingImp(exec, self); + if (!imp) { + return KJS::throwError(exec, KJS::GeneralError, "No implementation? Huh?"); + } + + QBrush value = imp->value(); + if (args.size() == 0) { + const QGradient *tmp = value.gradient(); + result = KJSEmbed::createValue(exec, "const QGradient *", tmp); + imp->setValue(QVariant::fromValue(value)); + return result; + } + + return KJS::throwError(exec, KJS::SyntaxError, "Syntax error in parameter list for QBrush.gradient"); +} + +// isOpaque +KJS::JSValue *isOpaque(KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args) +{ + Q_UNUSED(args); + KJS::JSValue *result = KJS::jsNull(); + KJSEmbed::VariantBinding *imp = KJSEmbed::extractBindingImp(exec, self); + if (!imp) { + return KJS::throwError(exec, KJS::GeneralError, "No implementation? Huh?"); + } + + QBrush value = imp->value(); + if (args.size() == 0) { + bool tmp = value.isOpaque(); + result = KJSEmbed::createVariant(exec, "bool", tmp); + imp->setValue(QVariant::fromValue(value)); + return result; + } + + return KJS::throwError(exec, KJS::SyntaxError, "Syntax error in parameter list for QBrush.isOpaque"); +} + +} + +const Enumerator KJSEmbed::QBrushData::p_enums[] = {{nullptr, 0 }}; + +NO_STATICS(KJSEmbed::QBrushData) +const Constructor KJSEmbed::QBrushData::p_constructor = +{"QBrush", 0, KJS::DontDelete | KJS::ReadOnly, nullptr, &QBrushData::ctorMethod, p_statics, p_enums, KJSEmbed::QBrushData::p_methods }; +KJS::JSObject *KJSEmbed::QBrushData::ctorMethod(KJS::ExecState *exec, const KJS::List &args) +{ + if (args.size() == 0) { + return new KJSEmbed::QBrushBinding(exec, QBrush()); + } + if (args.size() == 1) { + KJS::JSValue *value0 = args[0]; + KJS::JSObject *object0 = value0->toObject(exec); + if (object0 && object0->isNumber()) { + Qt::BrushStyle bs = KJSEmbed::extractInteger(exec, args, 0); + return new KJSEmbed::QBrushBinding(exec, QBrush(bs)); + } + if (object0 && object0->inherits(&QPixmapBinding::info)) { + QPixmap pixmap = KJSEmbed::extractVariant(exec, args, 0); + return new KJSEmbed::QBrushBinding(exec, QBrush(pixmap)); + } + if (object0 && object0->inherits(&QBrushBinding::info)) { + QBrush brush = KJSEmbed::extractVariant(exec, args, 0); + return new KJSEmbed::QBrushBinding(exec, QBrush(brush)); + } + if (object0 && object0->inherits(&QGradientBinding::info)) { + QGradient gradient = KJSEmbed::extractValue(exec, args, 0); + return new KJSEmbed::QBrushBinding(exec, QBrush(gradient)); + } + } + if (args.size() == 2) { + KJS::JSValue *value0 = args[0]; + KJS::JSObject *object0 = value0->toObject(exec); + KJS::JSValue *value1 = args[1]; + KJS::JSObject *object1 = value1->toObject(exec); + if (object0 && object0->inherits(&QColorBinding::info) && ((object1 && object1->isNumber()) || !object1)) { + QColor color = KJSEmbed::extractVariant(exec, args, 0); + Qt::BrushStyle bs = KJSEmbed::extractInteger(exec, args, 1, Qt::SolidPattern); + return new KJSEmbed::QBrushBinding(exec, QBrush(color, bs)); + } + if (object0 && object0->isNumber() && ((object1 && object1->isNumber()) || !object1)) { + Qt::GlobalColor color = KJSEmbed::extractInteger(exec, args, 0); + Qt::BrushStyle bs = KJSEmbed::extractInteger(exec, args, 1, Qt::SolidPattern); + return new KJSEmbed::QBrushBinding(exec, QBrush(color, bs)); + } + if (object0 && object0->inherits(&QColorBinding::info) && object1 && object1->inherits(&QPixmapBinding::info)) { + QColor color = KJSEmbed::extractVariant(exec, args, 0); + QPixmap pixmap = KJSEmbed::extractVariant(exec, args, 1); + return new KJSEmbed::QBrushBinding(exec, QBrush(color, pixmap)); + } + if (object0 && object0->isNumber() && object1 && object1->inherits(&QPixmapBinding::info)) { + Qt::GlobalColor color = KJSEmbed::extractInteger(exec, args, 0); + QPixmap pixmap = KJSEmbed::extractVariant(exec, args, 1); + return new KJSEmbed::QBrushBinding(exec, QBrush(color, pixmap)); + } + } + return KJS::throwError(exec, KJS::SyntaxError, "Syntax error in parameter list for QBrush"); +} + +const Method KJSEmbed::QBrushData::p_methods[] = { + { "style", 0, KJS::DontDelete | KJS::ReadOnly, &QBrushNS::style }, + { "setStyle", 1, KJS::DontDelete | KJS::ReadOnly, &QBrushNS::setStyle }, + { "texture", 0, KJS::DontDelete | KJS::ReadOnly, &QBrushNS::texture }, + { "setTexture", 1, KJS::DontDelete | KJS::ReadOnly, &QBrushNS::setTexture }, + { "color", 0, KJS::DontDelete | KJS::ReadOnly, &QBrushNS::color }, + { "setColor", 1, KJS::DontDelete | KJS::ReadOnly, &QBrushNS::setColor }, + { "gradient", 0, KJS::DontDelete | KJS::ReadOnly, &QBrushNS::gradient }, + { "isOpaque", 0, KJS::DontDelete | KJS::ReadOnly, &QBrushNS::isOpaque }, + {nullptr, 0, 0, nullptr } +}; + diff --git a/src/kjsembed/QBrush_bind.h b/src/kjsembed/QBrush_bind.h new file mode 100644 index 0000000..977c7f9 --- /dev/null +++ b/src/kjsembed/QBrush_bind.h @@ -0,0 +1,53 @@ +#ifndef QBRUSH_BIND_H +#define QBRUSH_BIND_H + +#include +#include + +class QBrush; + +namespace KJSEmbed +{ +class QBrushBinding : public VariantBinding +{ +public: + QBrushBinding(KJS::ExecState *exec, const QBrush &value); + static const KJS::ClassInfo info; + const KJS::ClassInfo *classInfo() const override + { + return &info; + } +}; + +class QBrushData +{ +public: + static const KJSEmbed::Method p_methods[]; + static const KJSEmbed::Method p_statics[]; + static const KJSEmbed::Enumerator p_enums[]; + static const KJSEmbed::Constructor p_constructor; + static KJS::JSObject *ctorMethod(KJS::ExecState *exec, const KJS::List &args); + static const KJSEmbed::Enumerator *enums() + { + return p_enums; + } + static const KJSEmbed::Method *methods() + { + return p_methods; + } + static const KJSEmbed::Method *statics() + { + return p_statics; + } + static const KJSEmbed::Constructor *constructor() + { + return &p_constructor; + } + static const KJS::JSObject *construct(KJS::ExecState *exec, const KJS::List &args) + { + return (*p_constructor.construct)(exec, args); + } +}; +} + +#endif // QBRUSH_BIND_H diff --git a/src/kjsembed/application.cpp b/src/kjsembed/application.cpp new file mode 100644 index 0000000..ca7c578 --- /dev/null +++ b/src/kjsembed/application.cpp @@ -0,0 +1,76 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ +#include "application.h" + +#include +#include +using namespace KJSEmbed; + +namespace CoreApplicationNS +{ +START_STATIC_OBJECT_METHOD(callExit) +int exitCode = KJSEmbed::extractInt(exec, args, 0); +QCoreApplication::exit(exitCode); +END_STATIC_OBJECT_METHOD +} + +START_STATIC_METHOD_LUT(CoreApplicationBinding) +{"exit", 0, KJS::DontDelete | KJS::ReadOnly, &CoreApplicationNS::callExit +} +END_METHOD_LUT + +NO_ENUMS(CoreApplicationBinding) +NO_METHODS(CoreApplicationBinding) + +KJSO_START_BINDING_CTOR(CoreApplicationBinding, QCoreApplication, QObjectBinding) +setOwnership(CPPOwned); +KJSO_END_BINDING_CTOR +KJSO_QOBJECT_BIND(CoreApplicationBinding, QCoreApplication) + +KJSO_START_CTOR(CoreApplicationBinding, QCoreApplication, 0) +return new KJSEmbed::CoreApplicationBinding(exec, QCoreApplication::instance()); +KJSO_END_CTOR + +namespace ApplicationNS +{ +START_STATIC_OBJECT_METHOD(callBeep) +QApplication::beep(); +END_STATIC_OBJECT_METHOD +} + +START_STATIC_METHOD_LUT(ApplicationBinding) +{"beep", 0, KJS::DontDelete | KJS::ReadOnly, &ApplicationNS::callBeep +} +END_METHOD_LUT + +NO_ENUMS(ApplicationBinding) +NO_METHODS(ApplicationBinding) + +KJSO_START_BINDING_CTOR(ApplicationBinding, QApplication, CoreApplicationBinding) +setOwnership(CPPOwned); +KJSO_END_BINDING_CTOR +KJSO_QOBJECT_BIND(ApplicationBinding, QApplication) + +KJSO_START_CTOR(ApplicationBinding, QApplication, 0) +return new KJSEmbed::ApplicationBinding(exec, ::qobject_cast(QCoreApplication::instance())); +KJSO_END_CTOR + diff --git a/src/kjsembed/application.h b/src/kjsembed/application.h new file mode 100644 index 0000000..87e9d4c --- /dev/null +++ b/src/kjsembed/application.h @@ -0,0 +1,40 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef APPLICATION_H +#define APPLICATION_H + +#include +#include +#include "qobject_binding.h" +#include "static_binding.h" + +namespace KJSEmbed +{ +/** @internal Implements the binding for QCoreApplication. */ +KJSO_BINDING(CoreApplicationBinding, QCoreApplication, QObjectBinding) + +/** @internal Implements the binding for QApplication. */ +KJSO_BINDING(ApplicationBinding, QApplication, CoreApplicationBinding) +} +#endif + diff --git a/src/kjsembed/binding_support.cpp b/src/kjsembed/binding_support.cpp new file mode 100644 index 0000000..dcfed11 --- /dev/null +++ b/src/kjsembed/binding_support.cpp @@ -0,0 +1,228 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ +#include "binding_support.h" +#include + +using namespace KJSEmbed; + +ProxyBinding::ProxyBinding(KJS::ExecState *exec) + : KJS::JSObject(exec->lexicalInterpreter()->builtinObjectPrototype()) +{ + +} + +QString KJSEmbed::extractQString(KJS::ExecState *exec, const KJS::List &args, int idx, const QString defaultValue) +{ + if (args.size() > idx) { + return extractQString(exec, args[idx]); + } + return defaultValue; +} + +QString KJSEmbed::extractQString(KJS::ExecState *exec, KJS::JSValue *value, const QString defaultValue) +{ + if (!value) { + return defaultValue; + } + return toQString(value->toString(exec)); +} + +QByteArray KJSEmbed::extractQByteArray(KJS::ExecState *exec, const KJS::List &args, int idx, const QByteArray &defaultValue) +{ + if (args.size() > idx) { + return extractQByteArray(exec, args[idx]); + } + return defaultValue; +} + +QByteArray KJSEmbed::extractQByteArray(KJS::ExecState *exec, KJS::JSValue *value, const QByteArray &defaultValue) +{ + if (!value) { + return defaultValue; + } + return toQString(value->toString(exec)).toLatin1(); +} + +KJS::JSValue *KJSEmbed::createQByteArray(KJS::ExecState *exec, const QByteArray &value) +{ + Q_UNUSED(exec); + return KJS::jsString(value.data()); +} + +int KJSEmbed::extractInt(KJS::ExecState *exec, const KJS::List &args, int idx, int defaultValue) +{ + if (args.size() > idx) { + return extractInt(exec, args[idx]); + } + return defaultValue; +} + +int KJSEmbed::extractInt(KJS::ExecState *exec, KJS::JSValue *value, int defaultValue) +{ + if (!value) { + return defaultValue; + } + return int(value->toInteger(exec)); +} + +KJS::JSValue *KJSEmbed::createQString(KJS::ExecState *exec, const QString &value) +{ + Q_UNUSED(exec); + return KJS::jsString(toUString(value)); +} + +KJS::JSValue *KJSEmbed::createInt(KJS::ExecState *exec, int value) +{ + Q_UNUSED(exec); + return KJS::jsNumber(value); +} + +double KJSEmbed::extractDouble(KJS::ExecState *exec, const KJS::List &args, int idx, double defaultValue) +{ + if (args.size() > idx) { + return extractDouble(exec, args[idx]); + } + return defaultValue; +} + +double KJSEmbed::extractDouble(KJS::ExecState *exec, KJS::JSValue *value, double defaultValue) +{ + if (!value) { + return defaultValue; + } + return (double) value->toNumber(exec); +} + +KJS::JSValue *KJSEmbed::createDouble(KJS::ExecState *exec, double value) +{ + Q_UNUSED(exec); + return KJS::jsNumber(value); +} + +float KJSEmbed::extractFloat(KJS::ExecState *exec, const KJS::List &args, int idx, float defaultValue) +{ + if (args.size() > idx) { + return extractFloat(exec, args[idx]); + } + return defaultValue; +} + +float KJSEmbed::extractFloat(KJS::ExecState *exec, KJS::JSValue *value, float defaultValue) +{ + if (!value) { + return defaultValue; + } + return (float) value->toNumber(exec); +} + +KJS::JSValue *KJSEmbed::createFloat(KJS::ExecState *exec, float value) +{ + Q_UNUSED(exec); + return KJS::jsNumber(value); +} + +bool KJSEmbed::extractBool(KJS::ExecState *exec, const KJS::List &args, int idx, bool defaultValue) +{ + if (args.size() > idx) { + return extractBool(exec, args[idx]); + } + return defaultValue; +} + +bool KJSEmbed::extractBool(KJS::ExecState *exec, KJS::JSValue *value, bool defaultValue) +{ + if (!value) { + return defaultValue; + } + return value->toBoolean(exec); +} + +KJS::JSValue *KJSEmbed::createBool(KJS::ExecState *exec, bool value) +{ + Q_UNUSED(exec); + return KJS::jsBoolean(value); +} + +QDateTime KJSEmbed::extractQDateTime(KJS::ExecState * /* exec */, const KJS::List & /* args */, int /* idx */, const QDateTime & /* defaultValue */) +{ + return QDateTime(); +} + +QDateTime KJSEmbed::extractQDateTime(KJS::ExecState * /* exec */, KJS::JSValue * /* value */, const QDateTime & /* defaultValue */) +{ + return QDateTime(); +} + +KJS::JSValue *KJSEmbed::createQDateTime(KJS::ExecState * /* exec */, const QDateTime & /* value */) +{ +// return new KJS::JSValue(); + return nullptr; +} + +QDate KJSEmbed::extractQDate(KJS::ExecState * /* exec */, const KJS::List & /* args */, int /* idx */, const QDate & /* defaultValue */) +{ + return QDate(); +} + +QDate KJSEmbed::extractQDate(KJS::ExecState * /*exec*/, KJS::JSValue * /*value*/, const QDate & /*defaultValue*/) +{ + return QDate(); +} + +KJS::JSValue *KJSEmbed::createQDate(KJS::ExecState * /*exec*/, const QDate & /*value*/) +{ +// return new KJS::JSValue(); + return nullptr; +} + +QTime KJSEmbed::extractQTime(KJS::ExecState * /*exec*/, const KJS::List & /*args*/, int /*idx*/, const QTime & /*defaultValue*/) +{ + return QTime(); +} + +QTime KJSEmbed::extractQTime(KJS::ExecState * /*exec*/, KJS::JSValue * /*value*/, const QTime &/*defaultValue*/) +{ + return QTime(); +} + +KJS::JSValue *KJSEmbed::createQTime(KJS::ExecState * /*exec*/, const QTime &/*value*/) +{ +// return new KJS::JSValue(); + return nullptr; +} + +QStringList KJSEmbed::extractQStringList(KJS::ExecState * /*exec*/, const KJS::List &/*args*/, int /*idx*/, const QStringList &/*defaultValue*/) +{ + return QStringList(); +} + +QStringList KJSEmbed::extractQStringList(KJS::ExecState * /*exec*/, KJS::JSValue * /*value*/, const QStringList &/*defaultValue*/) +{ + return QStringList(); +} + +KJS::JSValue *KJSEmbed::createQStringList(KJS::ExecState * /*exec*/, const QStringList &/*value*/) +{ +// return new KJS::JSValue(); + return nullptr; +} + diff --git a/src/kjsembed/binding_support.h b/src/kjsembed/binding_support.h new file mode 100644 index 0000000..cf1db01 --- /dev/null +++ b/src/kjsembed/binding_support.h @@ -0,0 +1,641 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef BINDING_SUPPORT_H +#define BINDING_SUPPORT_H + +#include +#include + +#include +#include +#include + +#define KJS_BINDING( NAME ) \ + class NAME \ + { \ + public: \ + static const KJSEmbed::Method p_methods[]; \ + static const KJSEmbed::Method p_statics[]; \ + static const KJSEmbed::Enumerator p_enums[]; \ + static const KJSEmbed::Constructor p_constructor; \ + static KJS::JSObject *ctorMethod( KJS::ExecState *exec, const KJS::List &args );\ + static const KJSEmbed::Enumerator *enums() { return p_enums;} \ + static const KJSEmbed::Method *methods() { return p_methods;} \ + static const KJSEmbed::Method *statics() { return p_statics;} \ + static const KJSEmbed::Constructor *constructor() { return &p_constructor;} \ + static const KJS::JSObject *construct(KJS::ExecState *exec, const KJS::List &args)\ + { return (*p_constructor.construct)(exec,args); } \ + }; + +#define KJSO_BINDING( NAME, TYPE, BASENAME ) \ + class KJSEMBED_EXPORT NAME : public BASENAME \ + { \ + public: \ + NAME(KJS::ExecState *exec, TYPE * obj); \ + static const KJSEmbed::Method p_methods[]; \ + static const KJSEmbed::Method p_statics[]; \ + static const KJSEmbed::Enumerator p_enums[]; \ + static const KJSEmbed::Constructor p_constructor; \ + static KJS::JSObject *bindMethod( KJS::ExecState *exec, PointerBase& ptrObj );\ + static KJS::JSObject *ctorMethod( KJS::ExecState *exec, const KJS::List &args );\ + static const KJSEmbed::Enumerator *enums() { return p_enums;} \ + static const KJSEmbed::Method *methods() { return p_methods;} \ + static const KJSEmbed::Method *statics() { return p_statics;} \ + static const KJSEmbed::Constructor *constructor() { return &p_constructor;} \ + }; + +#define KJSO_BINDING_NOEXP( NAME, TYPE, BASENAME ) \ + class NAME : public BASENAME \ + { \ + public: \ + NAME(KJS::ExecState *exec, TYPE * obj); \ + static const KJSEmbed::Method p_methods[]; \ + static const KJSEmbed::Method p_statics[]; \ + static const KJSEmbed::Enumerator p_enums[]; \ + static const KJSEmbed::Constructor p_constructor; \ + static KJS::JSObject *bindMethod( KJS::ExecState *exec, PointerBase& ptrObj );\ + static KJS::JSObject *ctorMethod( KJS::ExecState *exec, const KJS::List &args );\ + static const KJSEmbed::Enumerator *enums() { return p_enums;} \ + static const KJSEmbed::Method *methods() { return p_methods;} \ + static const KJSEmbed::Method *statics() { return p_statics;} \ + static const KJSEmbed::Constructor *constructor() { return &p_constructor;} \ + }; + +#define KJSO_VALUE_BINDING( NAME, TYPE, BASENAME ) \ + class KJSEMBED_EXPORT NAME : public BASENAME \ + { \ + public: \ + NAME(KJS::ExecState *exec, const TYPE & val ); \ + NAME(KJS::ExecState *exec, const char *typeName ); \ + static const KJSEmbed::Method p_methods[]; \ + static const KJSEmbed::Method p_statics[]; \ + static const KJSEmbed::Enumerator p_enums[]; \ + static const KJSEmbed::Constructor p_constructor; \ + static KJS::JSObject *bindMethod( KJS::ExecState *exec, PointerBase& ptrObj );\ + static KJS::JSObject *ctorMethod( KJS::ExecState *exec, const KJS::List &args );\ + static const KJSEmbed::Enumerator *enums() { return p_enums;} \ + static const KJSEmbed::Method *methods() { return p_methods;} \ + static const KJSEmbed::Method *statics() { return p_statics;} \ + static const KJSEmbed::Constructor *constructor() { return &p_constructor;} \ + }; + +#define KJSO_START_BINDING_CTOR( NAME, TYPE, BASENAME ) \ + NAME::NAME(KJS::ExecState *exec, TYPE * obj) \ + : BASENAME( exec, obj ) \ + { \ + StaticBinding::publish( exec, this, NAME::methods() ); + +#define KJSO_END_BINDING_CTOR \ + } + +#define KJSO_SIMPLE_BINDING_CTOR( NAME, TYPE, BASENAME ) \ + NAME::NAME(KJS::ExecState *exec, TYPE * obj) \ + : BASENAME( exec, obj ) \ + { \ + StaticBinding::publish( exec, this, NAME::methods() ); \ + } + +#define KJSV_SIMPLE_BINDING_CTOR( NAME, JSNAME, TYPE, BASENAME ) \ + NAME::NAME(KJS::ExecState *exec, const TYPE & value) \ + : BASENAME( exec, #JSNAME , value ) \ + { \ + StaticBinding::publish( exec, this, NAME::methods() ); \ + } + +#define START_METHOD_LUT( TYPE ) \ + const Method TYPE::p_methods[] = \ + { + +#define START_STATIC_METHOD_LUT( TYPE ) \ + const Method TYPE::p_statics[] = \ + { + +#define END_METHOD_LUT \ + ,{nullptr, 0, 0, nullptr }\ + }; + +#define START_ENUM_LUT( TYPE) \ + const Enumerator TYPE::p_enums[] =\ + { + +#define END_ENUM_LUT \ + ,{nullptr, 0 }\ + }; + +#define NO_ENUMS( TYPE ) \ + const Enumerator TYPE::p_enums[] = {{nullptr, 0 }}; + +#define NO_METHODS( TYPE )\ + const Method TYPE::p_methods[] = { {nullptr, 0, 0, nullptr } }; + +#define NO_STATICS( TYPE )\ + const Method TYPE::p_statics[] = { {nullptr, 0, 0, nullptr } }; + +#define START_CTOR( TYPE, JSNAME, ARGS )\ + const Constructor TYPE::p_constructor = \ + { \ + #JSNAME, ARGS, KJS::DontDelete|KJS::ReadOnly, nullptr, &TYPE::ctorMethod, p_statics, p_enums, p_methods };\ + KJS::JSObject *TYPE::ctorMethod( KJS::ExecState *exec, const KJS::List &args )\ + {\ + Q_UNUSED(exec);\ + Q_UNUSED(args); + +#define END_CTOR \ + } + +#define KJSO_START_CTOR( TYPE, JSNAME, ARGS )\ + const Constructor TYPE::p_constructor = \ + { \ + #JSNAME, ARGS, KJS::DontDelete|KJS::ReadOnly, &TYPE::bindMethod, &TYPE::ctorMethod, p_statics, p_enums, p_methods };\ + KJS::JSObject *TYPE::ctorMethod( KJS::ExecState *exec, const KJS::List &args )\ + {\ + Q_UNUSED(exec);\ + Q_UNUSED(args); + +#define KJSO_END_CTOR \ + } + +#define KJSO_START_BIND( NAME, TYPE )\ + KJS::JSObject *NAME::bindMethod( KJS::ExecState *exec, PointerBase& ptrObj )\ + {\ + Q_UNUSED(exec);\ + Q_UNUSED(ptrObj); \ + +#define KJSO_END_BIND \ + } + +#define KJSO_QOBJECT_START_BIND( NAME, TYPE )\ + KJS::JSObject *NAME::bindMethod( KJS::ExecState *exec, PointerBase& ptrObj )\ + {\ + Q_UNUSED(exec);\ + QObject* qobj = pointer_cast(&ptrObj); \ + if (! qobj ) \ + return nullptr; \ + TYPE* object = qobject_cast(qobj); \ + if (! object ) \ + return nullptr; \ + +#define KJSO_QOBJECT_END_BIND \ + } + +#define KJSO_QOBJECT_BIND( NAME, TYPE )\ + KJS::JSObject *NAME::bindMethod( KJS::ExecState *exec, PointerBase& ptrObj )\ + {\ + Q_UNUSED(exec);\ + QObject* qobj = pointer_cast(&ptrObj); \ + if (! qobj ) \ + return nullptr; \ + TYPE* object = qobject_cast(qobj); \ + if (! object ) \ + return nullptr; \ + return new NAME(exec, object); \ + } + +#define KJSO_VALUE_START_BIND( NAME, TYPE )\ + KJS::JSObject *NAME::bindMethod( KJS::ExecState *exec, PointerBase& ptrObj )\ + {\ + Q_UNUSED(exec);\ + TYPE* object = pointer_cast(&ptrObj); \ + if (! object ) \ + return nullptr; \ + +#define KJSO_VALUE_END_BIND \ + } + +#define KJSO_VALUE_BIND( NAME, TYPE )\ + KJS::JSObject *NAME::bindMethod( KJS::ExecState *exec, PointerBase& ptrObj )\ + {\ + Q_UNUSED(exec);\ + TYPE* object = pointer_cast(&ptrObj); \ + if (! object ) \ + return nullptr; \ + return new NAME(exec, *object); \ + } + +namespace KJS +{ +inline JSObject *throwError(ExecState *e, ErrorType t, const QString &m) +{ + return throwError(e, t, KJSEmbed::toUString(m)); +} +} + +namespace KJSEmbed +{ +class KJSEMBED_EXPORT ProxyBinding : public KJS::JSObject +{ +public: + ProxyBinding(KJS::ExecState *exec); + ~ProxyBinding() override {} + + bool implementsCall() const override + { + return true; + } + bool implementsConstruct() const override + { + return true; + } +}; + +/** +* This will extract a binding implementation from a KJS::JSValue +* @code +* KJSEmbed ObjectBindingImp *imp = extractBindingImp(exec,val); +* if( imp ) +* qDebug("it worked"); +* else +* qDebug("it failed"); +* @endcode +*/ +template +T *extractBindingImp(KJS::ExecState *exec, KJS::JSValue *val) +{ + return dynamic_cast(val->toObject(exec)); +} + +/** +* This is just a helper function similar to the one above, only it takes a KJS::JSObject +*/ +template +T *extractBindingImp(KJS::JSObject *obj) +{ + return dynamic_cast(obj); +} + +/** +* Method callback signature. +* @param exec The execution state. +* @param object The current object that the method is working on (equivalent of "this") +* @param args A KJS::List of KJS::JSValue objects that represents the arguments that where +* passed in from the javascript function signature. +*/ +typedef KJS::JSValue *(*callMethod)(KJS::ExecState *, KJS::JSObject *, const KJS::List &); + +/** +* Method structure +*/ +struct KJSEMBED_EXPORT Method { + /** + * Method name as will appear in javascript + */ + const char *name; + /** + * Number of arguments. + */ + const int argc; + /** + * Flags for the member properties + */ + const int flags; + /** + * The callback for the method. + */ + const callMethod call; +}; + +/** +* Enumerator structure +*/ +struct KJSEMBED_EXPORT Enumerator { + /** + * Method name as will appear in javascript + */ + const char *name; + /** + * Integer value. + */ + const unsigned int value; +}; + +/** +* Bind signature +* @param exec the execution context +* @param ptr A PointerBase that points to a Pointer object that contains +* a pointer to the object to provide a javascript binding for. +*/ +typedef KJS::JSObject *(*callBind)(KJS::ExecState *, PointerBase &); + +/** +* Constructor signature +* @param exec the execution context +* @param args A KJS::List of KJS::JSValue objects that represents the arguments that where +* passed in from the javascript function signature. +*/ +typedef KJS::JSObject *(*callConstructor)(KJS::ExecState *, const KJS::List &); + +struct KJSEMBED_EXPORT Constructor { + /** + * The constructor name as it will appear in Javascript. This will be the objects + * name as far as Javascript is concerned. + */ + const char *name; + /** + * Number of arguments. + */ + const int argc; + /** + * Flags for the member properties + */ + const int flags; + /** + * The callback for the constructor. + */ + const callBind bind; + /** + * The callback for the constructor. + */ + const callConstructor construct; + /** + * Static methods on the object. + */ + const Method *staticMethods; + /** + * Enumerators for the object + */ + const Enumerator *enumerators; + /** + * Member methods for the object + */ + const Method *methods; +}; + +/** +* Extracts a QString from an argument list. If the argument is not present, or is not convertable to a string +* the defaultValue is returned. +*/ +QString KJSEMBED_EXPORT extractQString(KJS::ExecState *exec, const KJS::List &args, int idx, const QString defaultValue = QString()); + +/** +* Extract a QString from a value. If the value cannot convert to a string the defaultValue is returned. +*/ +QString KJSEMBED_EXPORT extractQString(KJS::ExecState *exec, KJS::JSValue *value, const QString defaultValue = QString()); + +/** +* Create a new KJS::JSValue with the value of the QString +*/ +KJS::JSValue *createQString(KJS::ExecState *exec, const QString &value); + +/** +* Extracts a QByteArray from an argument list. If the argument is not present, or is not convertable to a string +* the defaultValue is returned. +*/ +QByteArray KJSEMBED_EXPORT extractQByteArray(KJS::ExecState *exec, const KJS::List &args, int idx, const QByteArray &defaultValue = QByteArray()); + +/** +* Extract a QString from a value. If the value cannot convert to a string the defaultValue is returned. +*/ +QByteArray KJSEMBED_EXPORT extractQByteArray(KJS::ExecState *exec, KJS::JSValue *value, const QByteArray &defaultValue = QByteArray()); + +/** +* Create a new KJS::JSValue with the value of the QString +*/ +KJS::JSValue *createQByteArray(KJS::ExecState *exec, const QByteArray &value); + +template +inline T KJSEMBED_EXPORT extractString(KJS::ExecState *exec, KJS::JSValue *value, T defaultValue = T()) +{ + if (!value || !value->isString()) { + return defaultValue; + } + + return (T)(value->toString(exec).ascii()); +} + +template +inline T KJSEMBED_EXPORT extractString(KJS::ExecState *exec, const KJS::List &args, int idx, T defaultValue = T()) +{ + if (args.size() >= idx) { + return extractString(exec, args[idx], defaultValue); + } else { + return defaultValue; + } +} + +/** + * Extract a number from a value. If the value cannot convert to an integer or is not present defaultValue is returned + */ +template +inline T KJSEMBED_EXPORT extractNumber(KJS::ExecState *exec, KJS::JSValue *value, T defaultValue = T(0)) +{ + if (!value || !value->isNumber()) { + return defaultValue; + } + + return static_cast(value->toNumber(exec)); +} + +/** + * Extracts a number from an arguments list. If the argument is not present, or is not convertable to a number + * the defaultValue is returned. + */ +template +inline T KJSEMBED_EXPORT extractNumber(KJS::ExecState *exec, const KJS::List &args, int idx, T defaultValue = T(0)) +{ + if (args.size() >= idx) { + return extractNumber(exec, args[idx], defaultValue); + } else { + return defaultValue; + } +} + +/** + * Extract an integer from a value. If the value cannot convert to an integer or is not present defaultValue is returned + */ +template +inline T KJSEMBED_EXPORT extractInteger(KJS::ExecState *exec, KJS::JSValue *value, T defaultValue) +{ + if (!value || !value->isNumber()) { + return defaultValue; + } + +// deal with MSVC annoyances +#if COMPILER(MSVC) || __GNUC__ == 3 + return static_cast(static_cast(value->toInteger(exec))); +#else + return static_cast(value->toInteger(exec)); +#endif +} + +// extractInteger specialization +template<> +inline qint32 KJSEMBED_EXPORT extractInteger(KJS::ExecState *exec, KJS::JSValue *value, qint32 defaultValue) +{ + if (!value || !value->isNumber()) { + return defaultValue; + } + + return static_cast(value->toInt32(exec)); +} + +// extractInteger specialization +template<> +inline quint32 KJSEMBED_EXPORT extractInteger(KJS::ExecState *exec, KJS::JSValue *value, quint32 defaultValue) +{ + if (!value || !value->isNumber()) { + return defaultValue; + } + + return static_cast(value->toUInt32(exec)); +} + +// extractInteger specialization +template<> +inline quint16 KJSEMBED_EXPORT extractInteger(KJS::ExecState *exec, KJS::JSValue *value, quint16 defaultValue) +{ + if (!value || !value->isNumber()) { + return defaultValue; + } + + return static_cast(value->toUInt16(exec)); +} + +/** + * Extracts an integer from an arguments list. If the argument is not present, or is not convertable to a number + * the defaultValue is returned. + */ +template +inline T KJSEMBED_EXPORT extractInteger(KJS::ExecState *exec, const KJS::List &args, int idx, T defaultValue = T(0)) +{ + if (args.size() >= idx) { + return extractInteger(exec, args[idx], defaultValue); + } else { + return defaultValue; + } +} + +/** +* Extracts an integer from an argument list. If the argument is not present, or is not convertable to an integer +* the defaultValue is returned. +*/ +int KJSEMBED_EXPORT extractInt(KJS::ExecState *exec, const KJS::List &args, int idx, int defaultValue = 0); +/** +* Extract an integer from a value. If the value cannot convert to an integer the defaultValue is returned. +*/ +int KJSEMBED_EXPORT extractInt(KJS::ExecState *exec, KJS::JSValue *value, int defaultValue = 0); +/** +* Create a new KJS::JSValue with the value of the integer. +*/ +KJS::JSValue *createInt(KJS::ExecState *exec, int value); + +/** +* Extracts a double from an argument list. If the argument is not present, or is not convertable to a double +* the defaultValue is returned. +*/ +double KJSEMBED_EXPORT extractDouble(KJS::ExecState *exec, const KJS::List &args, int idx, double defaultValue = 0); +/** +* Extract a double from a value. If the value cannot convert to a double the defaultValue is returned. +*/ +double KJSEMBED_EXPORT extractDouble(KJS::ExecState *exec, KJS::JSValue *value, double defaultValue = 0); +/** +* Create a new KJS::JSValue with the value of the double. +*/ +KJS::JSValue *createDouble(KJS::ExecState *exec, double value); + +/** +* Extracts a float from an argument list. If the argument is not present, or is not convertable to a float +* the defaultValue is returned. +*/ +float KJSEMBED_EXPORT extractFloat(KJS::ExecState *exec, const KJS::List &args, int idx, float defaultValue = 0); +/** +* Extract a float from a value. If the value cannot convert to a float the defaultValue is returned. +*/ +float KJSEMBED_EXPORT extractFloat(KJS::ExecState *exec, KJS::JSValue *value, float defaultValue = 0); +/** +* Create a new KJS::JSValue with the value of the float. +*/ +KJS::JSValue *createFloat(KJS::ExecState *exec, float value); + +/** +* Extracts a bool from an argument list. If the argument is not present, or is not convertable to a bool +* the defaultValue is returned. +*/ +bool KJSEMBED_EXPORT extractBool(KJS::ExecState *exec, const KJS::List &args, int idx, bool defaultValue = false); +/** +* Extract a bool from a value. If the value cannot convert to a bool the defaultValue is returned. +*/ +bool extractBool(KJS::ExecState *exec, KJS::JSValue *value, bool defaultValue = false); +/** +* Create a new KJS::JSValue with the value of the bool. +*/ +KJS::JSValue *createBool(KJS::ExecState *exec, bool value); + +/** +* Extracts a QDateTime from an argument list. If the argument is not present, or is not convertable to a QDateTime +* the defaultValue is returned. +*/ +QDateTime KJSEMBED_EXPORT extractQDateTime(KJS::ExecState *exec, const KJS::List &args, int idx, const QDateTime &defaultValue = QDateTime()); +/** +* Extract a bool from a value. If the value cannot convert to a QDateTime the defaultValue is returned. +*/ +QDateTime KJSEMBED_EXPORT extractQDateTime(KJS::ExecState *exec, KJS::JSValue *value, const QDateTime &defaultValue = QDateTime()); +/** +* Create a new KJS::JSValue with the value of the QDateTime. +*/ +KJS::JSValue *createQDateTime(KJS::ExecState *exec, const QDateTime &value); + +/** +* Extracts a QDate from an argument list. If the argument is not present, or is not convertable to a QDate +* the defaultValue is returned. +*/ +QDate KJSEMBED_EXPORT extractQDate(KJS::ExecState *exec, const KJS::List &args, int idx, const QDate &defaultValue = QDate()); +/** +* Extract a QDate from a value. If the value cannot convert to a QDate the defaultValue is returned. +*/ +QDate KJSEMBED_EXPORT extractQDate(KJS::ExecState *exec, KJS::JSValue *value, const QDate &defaultValue = QDate()); +/** +* Create a new KJS::JSValue with the value of the QDate. +*/ +KJS::JSValue *createQDate(KJS::ExecState *exec, const QDate &value); + +/** +* Extracts a QTime from an argument list. If the argument is not present, or is not convertable to a QTime +* the defaultValue is returned. +*/ +QTime KJSEMBED_EXPORT extractQTime(KJS::ExecState *exec, const KJS::List &args, int idx, const QTime &defaultValue = QTime()); +/** +* Extract a QTime from a value. If the value cannot convert to a QTime the defaultValue is returned. +*/ +QTime KJSEMBED_EXPORT extractQTime(KJS::ExecState *exec, KJS::JSValue *value, const QTime &defaultValue = QTime()); +/** +* Create a new KJS::JSValue with the value of the QTime. +*/ +KJS::JSValue *createQTime(KJS::ExecState *exec, const QTime &value); + +/** +* Extracts a QStringList from an argument list. If the argument is not present, or is not convertable to a QStringList +* the defaultValue is returned. +*/ +QStringList KJSEMBED_EXPORT extractQStringList(KJS::ExecState *exec, const KJS::List &args, int idx, const QStringList &defaultValue = QStringList()); +/** +* Extract a QStringList from a value. If the value cannot convert to a QStringList the defaultValue is returned. +*/ +QStringList KJSEMBED_EXPORT extractQStringList(KJS::ExecState *exec, KJS::JSValue *value, const QStringList &defaultValue = QStringList()); +/** +* Create a new KJS::JSValue with the value of the QStringList. +*/ +KJS::JSValue *createQStringList(KJS::ExecState *exec, const QStringList &value); + +} + +#endif diff --git a/src/kjsembed/brush.cpp b/src/kjsembed/brush.cpp new file mode 100644 index 0000000..c988279 --- /dev/null +++ b/src/kjsembed/brush.cpp @@ -0,0 +1,158 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ +#include "brush.h" + +#include +#include +#include +#include + +#include "pixmap.h" +#include "color.h" +#include "util.h" + +using namespace KJSEmbed; + +const KJS::ClassInfo BrushBinding::info = { "QBrush", &VariantBinding::info, nullptr, nullptr }; +BrushBinding::BrushBinding(KJS::ExecState *exec, const QBrush &value) + : VariantBinding(exec, value) +{ + StaticBinding::publish(exec, this, Brush::methods()); + StaticBinding::publish(exec, this, VariantFactory::methods()); +} + +namespace BrushNS +{ + +START_VARIANT_METHOD(callcolor, QBrush) +QColor cppValue = value.color(); +result = KJSEmbed::createVariant(exec, "QColor", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callgradient, QBrush) +const QGradient *cppValue = value.gradient(); +result = KJSEmbed::createObject(exec, "QGradient", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callisOpaque, QBrush) +bool cppValue = value.isOpaque(); +result = KJS::jsBoolean(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetColor, QBrush) +QColor arg0 = KJSEmbed::extractVariant(exec, args, 0); +value.setColor(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetStyle, QBrush) +Qt::BrushStyle arg0 = (Qt::BrushStyle)KJSEmbed::extractInt(exec, args, 0); +value.setStyle(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetTexture, QBrush) +QPixmap arg0 = KJSEmbed::extractVariant(exec, args, 0); +value.setTexture(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callstyle, QBrush) +Qt::BrushStyle cppValue = value.style(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(calltexture, QBrush) +QPixmap cppValue = value.texture(); +result = KJSEmbed::createVariant(exec, "QPixmap", cppValue); +END_VARIANT_METHOD + +} + +START_METHOD_LUT(Brush) +{"color", 0, KJS::DontDelete | KJS::ReadOnly, &BrushNS::callcolor}, +{"gradient", 0, KJS::DontDelete | KJS::ReadOnly, &BrushNS::callgradient}, +{"isOpaque", 0, KJS::DontDelete | KJS::ReadOnly, &BrushNS::callisOpaque}, +{"setColor", 1, KJS::DontDelete | KJS::ReadOnly, &BrushNS::callsetColor}, +{"setStyle", 1, KJS::DontDelete | KJS::ReadOnly, &BrushNS::callsetStyle}, +{"setTexture", 1, KJS::DontDelete | KJS::ReadOnly, &BrushNS::callsetTexture}, +{"style", 0, KJS::DontDelete | KJS::ReadOnly, &BrushNS::callstyle}, +{"texture", 0, KJS::DontDelete | KJS::ReadOnly, &BrushNS::calltexture} +END_METHOD_LUT + +NO_ENUMS(Brush) +NO_STATICS(Brush) + +START_CTOR(Brush, QBrush, 0) +if (args.size() == 0) +{ + return new KJSEmbed::BrushBinding(exec, QBrush()); +} else if (args.size() == 1) +{ + KJS::JSValue *value0 = args[0]; + KJS::JSObject *obj0 = value0->toObject(exec); + if (obj0) { + if (obj0->inherits(&PixmapBinding::info)) { + QPixmap arg0 = KJSEmbed::extractVariant(exec, args, 0); + return new KJSEmbed::BrushBinding(exec, QBrush(arg0)); + } + if (obj0->inherits(&BrushBinding::info)) { + QBrush arg0 = KJSEmbed::extractVariant(exec, args, 0); + return new KJSEmbed::BrushBinding(exec, QBrush(arg0)); + } +// if(obj0->inherits(&GradientBinding::info)) +// { +// QGradient arg0 = KJSEmbed::extractVariant(exec, args, 0); +// return new KJSEmbed::BrushBinding(exec, QBrush(arg0)); +// } + } else if (isBasic(value0)) { + Qt::BrushStyle arg0 = (Qt::BrushStyle)KJSEmbed::extractInt(exec, args, 0); + return new KJSEmbed::BrushBinding(exec, QBrush(arg0)); + } +} else if (args.size() == 2) +{ + KJS::JSValue *value0 = args[0]; + KJS::JSValue *value1 = args[1]; + KJS::JSObject *obj0 = value0->toObject(exec); + KJS::JSObject *obj1 = value1->toObject(exec); + + if (obj0 && obj1 && obj0->inherits(&ColorBinding::info) && obj1->inherits(&PixmapBinding::info)) { + QColor arg0 = KJSEmbed::extractVariant(exec, args, 0); + QPixmap arg1 = KJSEmbed::extractVariant(exec, args, 1); + return new KJSEmbed::BrushBinding(exec, QBrush(arg0, arg1)); + } + if (obj1 && isBasic(value0) && obj1->inherits(&PixmapBinding::info)) { + Qt::GlobalColor arg0 = (Qt::GlobalColor)KJSEmbed::extractInt(exec, args, 0); + QPixmap arg1 = KJSEmbed::extractVariant(exec, args, 1); + return new KJSEmbed::BrushBinding(exec, QBrush(arg0, arg1)); + } + if (obj0 && obj0->inherits(&ColorBinding::info) && isBasic(value1)) { + QColor arg0 = KJSEmbed::extractVariant(exec, args, 0); + Qt::BrushStyle arg1 = (Qt::BrushStyle)KJSEmbed::extractInt(exec, args, 1); + return new KJSEmbed::BrushBinding(exec, QBrush(arg0, arg1)); + } + if (isBasic(value0) && isBasic(value1)) { + Qt::GlobalColor arg0 = (Qt::GlobalColor)KJSEmbed::extractInt(exec, args, 0); + Qt::BrushStyle arg1 = (Qt::BrushStyle)KJSEmbed::extractInt(exec, args, 1); + return new KJSEmbed::BrushBinding(exec, QBrush(arg0, arg1)); + } +} +return new KJSEmbed::BrushBinding(exec, QBrush()); + +END_CTOR diff --git a/src/kjsembed/brush.h b/src/kjsembed/brush.h new file mode 100644 index 0000000..6911772 --- /dev/null +++ b/src/kjsembed/brush.h @@ -0,0 +1,48 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef BRUSH_H +#define BRUSH_H + +#include "variant_binding.h" +#include "object_binding.h" +#include "static_binding.h" + +class QBrush; + +namespace KJSEmbed +{ +/** @internal Implements the binding for QBrush. */ +class BrushBinding : public VariantBinding +{ +public: + BrushBinding(KJS::ExecState *exec, const QBrush &value); + const KJS::ClassInfo *classInfo() const override + { + return &info; + } + static const KJS::ClassInfo info; +}; + +KJS_BINDING(Brush) +} +#endif diff --git a/src/kjsembed/builtins.cpp b/src/kjsembed/builtins.cpp new file mode 100644 index 0000000..9ff725b --- /dev/null +++ b/src/kjsembed/builtins.cpp @@ -0,0 +1,200 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#include "builtins.h" + +#include +#include +#include +#include +#include +#include +#include + +#include "variant_binding.h" +#include "object_binding.h" +#include "static_binding.h" +#include "kjsembed.h" + +using namespace KJSEmbed; + +KJS::JSValue *callExec(KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args) +{ + Q_UNUSED(exec); + Q_UNUSED(self); + Q_UNUSED(args); + return KJS::jsBoolean(QCoreApplication::exec()); +} + +KJS::JSValue *callDump(KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args) +{ + Q_UNUSED(self); + if (args.size() == 1) { + KJS::JSObject *object = args[0]->toObject(exec); + Q_UNUSED(object); + } + return KJS::jsNull(); +} + +KJS::JSValue *callInclude(KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args) +{ + Q_UNUSED(self); + if (args.size() == 1) { + KJS::UString filename = args[0]->toString(exec); + qDebug() << "include: " << toQString(filename); + + KJS::Completion c = Engine::runFile(exec->dynamicInterpreter(), filename); + + if (c.complType() == KJS::Normal) { + return KJS::jsNull(); + } + + if (c.complType() == KJS::ReturnValue) { + if (c.isValueCompletion()) { + return c.value(); + } + + return KJS::jsNull(); + } + + if (c.complType() == KJS::Throw) { + QString message = toQString(c.value()->toString(exec)); + int line = c.value()->toObject(exec)->get(exec, "line")->toUInt32(exec); + return throwError(exec, KJS::EvalError, + toUString(i18n("Error encountered while processing include '%1' line %2: %3", toQString(filename), line, message))); + } + } else { + return throwError(exec, KJS::URIError, + toUString(i18n("include only takes 1 argument, not %1.", args.size()))); + } + + return KJS::jsNull(); +} + +KJS::JSValue *callLibrary(KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args) +{ + Q_UNUSED(self); + if (args.size() == 1) { + KJS::UString filename = args[0]->toString(exec); + QString qualifiedFilename = QStandardPaths::locate(QStandardPaths::GenericDataLocation, "scripts/" + toQString(filename)); + if (!qualifiedFilename.isEmpty()) { + KJS::Completion c = Engine::runFile(exec->dynamicInterpreter(), toUString(qualifiedFilename)); + if (c.complType() == KJS::Normal) { + return KJS::jsNull(); + } + + if (c.complType() == KJS::ReturnValue) { + if (c.isValueCompletion()) { + return c.value(); + } + + return KJS::jsNull(); + } + + if (c.complType() == KJS::Throw) { + QString message = toQString(c.value()->toString(exec)); + int line = c.value()->toObject(exec)->get(exec, "line")->toUInt32(exec); + return throwError(exec, KJS::EvalError, + toUString(i18n("Error encountered while processing include '%1' line %2: %3", toQString(filename), line, message))); + } + } else { + QString msg = i18n("File %1 not found.", toQString(filename)); + return throwError(exec, KJS::URIError, toUString(msg)); + } + } else { + return throwError(exec, KJS::URIError, + toUString(i18n("library only takes 1 argument, not %1.", args.size()))); + } + + return KJS::jsNull(); +} + +KJS::JSValue *callAlert(KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args) +{ + Q_UNUSED(self) + if (args.size() == 1) { + (*KJSEmbed::conerr()) << "callAlert"; + QString message = toQString(args[0]->toString(exec)); + QMessageBox::warning(nullptr, i18n("Alert"), message, QMessageBox::Ok, QMessageBox::NoButton); + } + return KJS::jsNull(); +} + +KJS::JSValue *callConfirm(KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args) +{ + Q_UNUSED(self) + if (args.size() == 1) { + QString message = toQString(args[0]->toString(exec)); + int result = QMessageBox::question(nullptr, i18n("Confirm"), message, QMessageBox::Yes, QMessageBox::No); + if (result == QMessageBox::Yes) { + return KJS::jsBoolean(true); + } + } + return KJS::jsBoolean(false); +} + +KJS::JSValue *callIsVariantType(KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args) +{ + Q_UNUSED(self) + if (args.size() == 1) { + QString thetypename = toQString(args[0]->toString(exec)); + return KJS::jsBoolean(QMetaType::type(thetypename.toLatin1().data())); + } + return KJS::jsBoolean(false); +} + +KJS::JSValue *callIsVariant(KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args) +{ + Q_UNUSED(self) + if (args.size() == 1) { + KJS::JSObject *obj = args[0]->toObject(exec); + if (obj->inherits(&VariantBinding::info)) { + return KJS::jsBoolean(true); + } + } + return KJS::jsBoolean(false); +} + +KJS::JSValue *callIsObject(KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args) +{ + Q_UNUSED(self) + if (args.size() == 1) { + KJS::JSObject *obj = args[0]->toObject(exec); + if (obj->inherits(&ObjectBinding::info)) { + return KJS::jsBoolean(true); + } + } + return KJS::jsBoolean(false); +} + +const Method BuiltinsFactory::BuiltinMethods[] = { + {"exec", 0, KJS::DontDelete | KJS::ReadOnly, &callExec}, + {"dump", 1, KJS::DontDelete | KJS::ReadOnly, &callDump}, + {"include", 1, KJS::DontDelete | KJS::ReadOnly, &callInclude}, + {"library", 1, KJS::DontDelete | KJS::ReadOnly, &callLibrary}, + {"alert", 1, KJS::DontDelete | KJS::ReadOnly, &callAlert}, + {"confirm", 1, KJS::DontDelete | KJS::ReadOnly, &callConfirm}, + {"isVariantType", 1, KJS::DontDelete | KJS::ReadOnly, &callIsVariantType}, + {"isVariant", 1, KJS::DontDelete | KJS::ReadOnly, &callIsVariant}, + {"isObject", 1, KJS::DontDelete | KJS::ReadOnly, &callIsObject}, + {nullptr, 0, 0, nullptr } +}; diff --git a/src/kjsembed/builtins.h b/src/kjsembed/builtins.h new file mode 100644 index 0000000..0bf0c97 --- /dev/null +++ b/src/kjsembed/builtins.h @@ -0,0 +1,44 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef KJSEMBED_BUILTINS_H +#define KJSEMBED_BUILTINS_H + +#include +#include + +namespace KJSEmbed +{ +struct Method; +class BuiltinsFactory +{ +public: + static const Method BuiltinMethods[]; + static const Method *methods() + { + return BuiltinMethods; + } +}; + +// KJS_BINDING( FormBuilder, FormBuilderMethods, FormBuilderConstructor ) +} +#endif diff --git a/src/kjsembed/color.cpp b/src/kjsembed/color.cpp new file mode 100644 index 0000000..d76e5b9 --- /dev/null +++ b/src/kjsembed/color.cpp @@ -0,0 +1,190 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ +#include "color.h" + +#include +#include + +using namespace KJSEmbed; + +const KJS::ClassInfo ColorBinding::info = { "QColor", &VariantBinding::info, nullptr, nullptr }; +ColorBinding::ColorBinding(KJS::ExecState *exec, const QColor &value) + : VariantBinding(exec, value) +{ + StaticBinding::publish(exec, this, Color::methods()); + StaticBinding::publish(exec, this, VariantFactory::methods()); +} + +START_VARIANT_METHOD(callSetAlpha, QColor) +value.setAlpha(KJSEmbed::extractInt(exec, args, 0)); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callSetBlue, QColor) +value.setBlue(KJSEmbed::extractInt(exec, args, 0)); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callSetGreen, QColor) +value.setGreen(KJSEmbed::extractInt(exec, args, 0)); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callSetRed, QColor) +value.setRed(KJSEmbed::extractInt(exec, args, 0)); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callSetRgb, QColor) +value.setRgb(KJSEmbed::extractInt(exec, args, 0), + KJSEmbed::extractInt(exec, args, 1), + KJSEmbed::extractInt(exec, args, 2), + KJSEmbed::extractInt(exec, args, 3, 255)); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callSetCmyk, QColor) +value.setCmyk(KJSEmbed::extractInt(exec, args, 0), + KJSEmbed::extractInt(exec, args, 1), + KJSEmbed::extractInt(exec, args, 2), + KJSEmbed::extractInt(exec, args, 3), + KJSEmbed::extractInt(exec, args, 4, 255)); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callSetHsv, QColor) +value.setHsv(KJSEmbed::extractInt(exec, args, 0), + KJSEmbed::extractInt(exec, args, 1), + KJSEmbed::extractInt(exec, args, 2), + KJSEmbed::extractInt(exec, args, 3, 255)); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callSetNamedColor, QColor) +value.setNamedColor(KJSEmbed::extractQString(exec, args, 0)); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callAlpha, QColor) +value.setAlpha(KJSEmbed::extractInt(exec, args, 0)); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callBlue, QColor) +result = KJSEmbed::createInt(exec, value.blue()); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callCyan, QColor) +result = KJSEmbed::createInt(exec, value.cyan()); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callGreen, QColor) +result = KJSEmbed::createInt(exec, value.green()); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callHue, QColor) +result = KJSEmbed::createInt(exec, value.hue()); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callMagenta, QColor) +result = KJSEmbed::createInt(exec, value.magenta()); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callRed, QColor) +result = KJSEmbed::createInt(exec, value.red()); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callYellow, QColor) +result = KJSEmbed::createInt(exec, value.yellow()); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callSaturation, QColor) +result = KJSEmbed::createInt(exec, value.saturation()); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callDark, QColor) +QColor darkColor = value.darker(KJSEmbed::extractInt(exec, args, 0, 200)); +result = KJSEmbed::createVariant(exec, "QColor", darkColor); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callLight, QColor) +QColor darkColor = value.lighter(KJSEmbed::extractInt(exec, args, 0, 200)); +result = KJSEmbed::createVariant(exec, "QColor", darkColor); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callConvertTo, QColor) +QColor otherColor = value.convertTo((QColor::Spec)KJSEmbed::extractInt(exec, args, 0)); +result = KJSEmbed::createVariant(exec, "QColor", otherColor); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callSpec, QColor) +result = KJS::jsNumber(value.spec()); +END_VARIANT_METHOD + +START_METHOD_LUT(Color) +{"setAlpha", 1, KJS::DontDelete | KJS::ReadOnly, &callSetAlpha}, +{"setBlue", 1, KJS::DontDelete | KJS::ReadOnly, &callSetBlue}, +{"setGreen", 1, KJS::DontDelete | KJS::ReadOnly, &callSetGreen}, +{"setRed", 1, KJS::DontDelete | KJS::ReadOnly, &callSetRed}, +{"setRgb", 4, KJS::DontDelete | KJS::ReadOnly, &callSetRgb}, +{"setCmyk", 5, KJS::DontDelete | KJS::ReadOnly, &callSetCmyk}, +{"setHsv", 4, KJS::DontDelete | KJS::ReadOnly, &callSetHsv}, +{"setNamedColor", 1, KJS::DontDelete | KJS::ReadOnly, &callSetNamedColor}, +{"alpha", 0, KJS::DontDelete | KJS::ReadOnly, &callAlpha}, +{"blue", 0, KJS::DontDelete | KJS::ReadOnly, &callBlue}, +{"cyan", 0, KJS::DontDelete | KJS::ReadOnly, &callCyan}, +{"green", 0, KJS::DontDelete | KJS::ReadOnly, &callGreen}, +{"hue", 0, KJS::DontDelete | KJS::ReadOnly, &callHue}, +{"magenta", 0, KJS::DontDelete | KJS::ReadOnly, &callMagenta}, +{"red", 0, KJS::DontDelete | KJS::ReadOnly, &callRed}, +{"saturation", 0, KJS::DontDelete | KJS::ReadOnly, &callSaturation}, +{"yellow", 0, KJS::DontDelete | KJS::ReadOnly, &callYellow}, +{"light", 1, KJS::DontDelete | KJS::ReadOnly, &callLight}, +{"dark", 1, KJS::DontDelete | KJS::ReadOnly, &callDark}, +{"convertTo", 1, KJS::DontDelete | KJS::ReadOnly, &callConvertTo}, +{"spec", 0, KJS::DontDelete | KJS::ReadOnly, &callSpec} +END_METHOD_LUT + +START_ENUM_LUT(Color) +{"Rgb", QColor::Rgb}, +{"Hsv", QColor::Hsv}, +{"Cmyk", QColor::Cmyk}, +{"Invalid", QColor::Invalid} +END_ENUM_LUT + +NO_STATICS(Color) + +START_CTOR(Color, QColor, 0) +if (args.size() == 1) +{ + return new KJSEmbed::ColorBinding(exec, QColor(KJSEmbed::extractQString(exec, args, 0))); +} else if (args.size() >= 3) +{ + return new KJSEmbed::ColorBinding(exec, + QColor(KJSEmbed::extractInt(exec, args, 0), + KJSEmbed::extractInt(exec, args, 1), + KJSEmbed::extractInt(exec, args, 2))); +} + +if (args.size() == 4) +{ + return new KJSEmbed::ColorBinding(exec, + QColor(KJSEmbed::extractInt(exec, args, 0), + KJSEmbed::extractInt(exec, args, 1), + KJSEmbed::extractInt(exec, args, 2), + KJSEmbed::extractInt(exec, args, 3))); +} + +return new KJSEmbed::ColorBinding(exec, QColor()); +END_CTOR + diff --git a/src/kjsembed/color.h b/src/kjsembed/color.h new file mode 100644 index 0000000..f30ef9b --- /dev/null +++ b/src/kjsembed/color.h @@ -0,0 +1,77 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef COLOR_H +#define COLOR_H + +#include "variant_binding.h" +#include "static_binding.h" + +class QColor; + +namespace KJSEmbed +{ +/** @internal Implements the binding for QColor. */ +class ColorBinding : public VariantBinding +{ +public: + ColorBinding(KJS::ExecState *exec, const QColor &value); + const KJS::ClassInfo *classInfo() const override + { + return &info; + } + static const KJS::ClassInfo info; +}; + +/** +* Constructors: +* Color( name ) +* Color( r, g, b) +* Color( r, g, b, a) +* +* Methods: +* setAlpha() +* setBlue() +* setCyan() +* setGreen() +* setRbg(r, g, b, a=255) +* setCmyk(c, m, y, k, a=255) +* setHsv(h, s, v, a=255) +* setNamedColor( name ) +* alpha() +* blue() +* cyan() +* green() +* hue() +* magenta() +* red() +* yello() +* saturation() +* light( factor ) +* dark( factor ) +* spec() +* convertTo(spec) +*/ +KJS_BINDING(Color) + +} +#endif diff --git a/src/kjsembed/dom.cpp b/src/kjsembed/dom.cpp new file mode 100644 index 0000000..370c33d --- /dev/null +++ b/src/kjsembed/dom.cpp @@ -0,0 +1,868 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ +#include "dom.h" + +#include +#include + +using namespace KJSEmbed; + +const KJS::ClassInfo DomNodeBinding::info = { "QDomNode", &ValueBinding::info, nullptr, nullptr }; +DomNodeBinding::DomNodeBinding(KJS::ExecState *exec, const QDomNode &value) + : ValueBinding(exec, "QDomNode", value) +{ + StaticBinding::publish(exec, this, DomNode::methods()); +} + +namespace DomNodeNS +{ +START_VALUE_METHOD(nodeType, QDomNode) +result = KJS::jsNumber((int)value.nodeType()); +END_VALUE_METHOD + +START_VALUE_METHOD(nodeName, QDomNode) +result = KJS::jsString(value.nodeName()); +END_VALUE_METHOD + +START_VALUE_METHOD(nodeValue, QDomNode) +result = KJS::jsString(value.nodeValue()); +END_VALUE_METHOD + +START_VALUE_METHOD(appendChild, QDomNode) +QDomNode newNode = KJSEmbed::extractValue(exec, args, 0); +QDomNode node = value.appendChild(newNode); +result = KJSEmbed::createValue(exec, "QDomNode", node); +END_VALUE_METHOD + +START_VALUE_METHOD(attributes, QDomNode) +QDomNamedNodeMap map = value.attributes(); +result = KJSEmbed::createValue(exec, "QDomNamedNodeMap", map); +END_VALUE_METHOD + +START_VALUE_METHOD(childNodes, QDomNode) +QDomNodeList nodes = value.childNodes(); +result = KJSEmbed::createValue(exec, "QDomNodeList", nodes); +END_VALUE_METHOD + +START_VALUE_METHOD(clear, QDomNode) +value.clear(); +END_VALUE_METHOD + +START_VALUE_METHOD(cloneNode, QDomNode) +bool deep = KJSEmbed::extractBool(exec, args, 0, true); +QDomNode node = value.cloneNode(deep); +result = KJSEmbed::createValue(exec, "QDomNode", node); +END_VALUE_METHOD + +START_VALUE_METHOD(firstChild, QDomNode) +QDomNode node = value.firstChild(); +result = KJSEmbed::createValue(exec, "QDomNode", node); +END_VALUE_METHOD + +START_VALUE_METHOD(firstChildElement, QDomNode) +QString name = KJSEmbed::extractQString(exec, args, 0); +QDomElement node = value.firstChildElement(name); +result = KJSEmbed::createValue(exec, "QDomElement", node); +END_VALUE_METHOD + +START_VALUE_METHOD(hasAttributes, QDomNode) +result = KJS::jsBoolean(value.hasAttributes()); +END_VALUE_METHOD + +START_VALUE_METHOD(hasChildNodes, QDomNode) +result = KJS::jsBoolean(value.hasChildNodes()); +END_VALUE_METHOD + +START_VALUE_METHOD(insertBefore, QDomNode) +QDomNode first = KJSEmbed::extractValue(exec, args, 0); +QDomNode second = KJSEmbed::extractValue(exec, args, 1); +QDomNode node = value.insertBefore(first, second); +result = KJSEmbed::createValue(exec, "QDomNode", node); +END_VALUE_METHOD + +START_VALUE_METHOD(insertAfter, QDomNode) +QDomNode first = KJSEmbed::extractValue(exec, args, 0); +QDomNode second = KJSEmbed::extractValue(exec, args, 1); +QDomNode node = value.insertAfter(first, second); +result = KJSEmbed::createValue(exec, "QDomNode", node); +END_VALUE_METHOD + +START_VALUE_METHOD(isAttr, QDomNode) +result = KJS::jsBoolean(value.isAttr()); +END_VALUE_METHOD + +START_VALUE_METHOD(isCDATASection, QDomNode) +result = KJS::jsBoolean(value.isCDATASection()); +END_VALUE_METHOD + +START_VALUE_METHOD(isCharacterData, QDomNode) +result = KJS::jsBoolean(value.isCharacterData()); +END_VALUE_METHOD + +START_VALUE_METHOD(isComment, QDomNode) +result = KJS::jsBoolean(value.isComment()); +END_VALUE_METHOD + +START_VALUE_METHOD(isDocument, QDomNode) +result = KJS::jsBoolean(value.isDocument()); +END_VALUE_METHOD + +START_VALUE_METHOD(isDocumentFragment, QDomNode) +result = KJS::jsBoolean(value.isDocumentFragment()); +END_VALUE_METHOD + +START_VALUE_METHOD(isDocumentType, QDomNode) +result = KJS::jsBoolean(value.isDocumentType()); +END_VALUE_METHOD + +START_VALUE_METHOD(isElement, QDomNode) +result = KJS::jsBoolean(value.isElement()); +END_VALUE_METHOD + +START_VALUE_METHOD(isEntity, QDomNode) +result = KJS::jsBoolean(value.isEntity()); +END_VALUE_METHOD + +START_VALUE_METHOD(isEntityReference, QDomNode) +result = KJS::jsBoolean(value.isEntityReference()); +END_VALUE_METHOD + +START_VALUE_METHOD(isNotation, QDomNode) +result = KJS::jsBoolean(value.isNotation()); +END_VALUE_METHOD + +START_VALUE_METHOD(isNull, QDomNode) +result = KJS::jsBoolean(value.isNull()); +END_VALUE_METHOD + +START_VALUE_METHOD(isProcessingInstruction, QDomNode) +result = KJS::jsBoolean(value.isProcessingInstruction()); +END_VALUE_METHOD + +START_VALUE_METHOD(isSupported, QDomNode) +QString arg0 = KJSEmbed::extractQString(exec, args, 0); +QString arg1 = KJSEmbed::extractQString(exec, args, 1); +result = KJS::jsBoolean(value.isSupported(arg0, arg1)); +END_VALUE_METHOD + +START_VALUE_METHOD(isText, QDomNode) +result = KJS::jsBoolean(value.isText()); +END_VALUE_METHOD + +START_VALUE_METHOD(lastChild, QDomNode) +QDomNode node = value.lastChild(); +result = KJSEmbed::createValue(exec, "QDomNode", node); +END_VALUE_METHOD + +START_VALUE_METHOD(lastChildElement, QDomNode) +QString arg0 = KJSEmbed::extractQString(exec, args, 0); +QDomElement node = value.lastChildElement(arg0); +result = KJSEmbed::createValue(exec, "QDomElement", node); +END_VALUE_METHOD + +START_VALUE_METHOD(localName, QDomNode) +result = KJS::jsString(value.localName()); +END_VALUE_METHOD + +START_VALUE_METHOD(namedItem, QDomNode) +QString arg0 = KJSEmbed::extractQString(exec, args, 0); +QDomNode node = value.namedItem(arg0); +result = KJSEmbed::createValue(exec, "QDomNode", node); +END_VALUE_METHOD + +START_VALUE_METHOD(namespaceURI, QDomNode) +result = KJS::jsString(value.namespaceURI()); +END_VALUE_METHOD + +START_VALUE_METHOD(nextSibling, QDomNode) +QDomNode node = value.nextSibling(); +result = KJSEmbed::createValue(exec, "QDomNode", node); +END_VALUE_METHOD + +START_VALUE_METHOD(nextSiblingElement, QDomNode) +QString arg0 = KJSEmbed::extractQString(exec, args, 0); +QDomElement node = value.nextSiblingElement(arg0); +result = KJSEmbed::createValue(exec, "QDomElement", node); +END_VALUE_METHOD + +START_VALUE_METHOD(normalize, QDomNode) +value.normalize(); +END_VALUE_METHOD + +START_VALUE_METHOD(ownerDocument, QDomNode) +QDomDocument doc = value.ownerDocument(); +result = KJSEmbed::createValue(exec, "QDomDocument", doc); +END_VALUE_METHOD + +START_VALUE_METHOD(parentNode, QDomNode) +QDomNode parent = value.parentNode(); +result = KJSEmbed::createValue(exec, "QDomNode", parent); +END_VALUE_METHOD + +START_VALUE_METHOD(prefix, QDomNode) +result = KJS::jsString(value.prefix()); +END_VALUE_METHOD + +START_VALUE_METHOD(previousSibling, QDomNode) +QDomNode node = value.previousSibling(); +result = KJSEmbed::createValue(exec, "QDomNode", node); +END_VALUE_METHOD + +START_VALUE_METHOD(previousSiblingElement, QDomNode) +QString arg0 = KJSEmbed::extractQString(exec, args, 0); +QDomNode node = value.previousSiblingElement(arg0); +result = KJSEmbed::createValue(exec, "QDomNode", node); +END_VALUE_METHOD + +START_VALUE_METHOD(removeChild, QDomNode) +QDomNode arg0 = KJSEmbed::extractValue(exec, args, 0); +QDomNode node = value.removeChild(arg0); +result = KJSEmbed::createValue(exec, "QDomNode", node); +END_VALUE_METHOD + +START_VALUE_METHOD(replaceChild, QDomNode) +QDomNode arg0 = KJSEmbed::extractValue(exec, args, 0); +QDomNode arg1 = KJSEmbed::extractValue(exec, args, 1); +QDomNode node = value.replaceChild(arg0, arg1); +result = KJSEmbed::createValue(exec, "QDomNode", node); +END_VALUE_METHOD + +START_VALUE_METHOD(setPrefix, QDomNode) +QString arg0 = KJSEmbed::extractQString(exec, args, 0); +value.setPrefix(arg0); +END_VALUE_METHOD + +START_VALUE_METHOD(setNodeValue, QDomNode) +QString arg0 = KJSEmbed::extractQString(exec, args, 0); +value.setNodeValue(arg0); +END_VALUE_METHOD + +START_VALUE_METHOD(toAttr, QDomNode) +QDomAttr attr = value.toAttr(); +result = KJSEmbed::createValue(exec, "QDomAttr", attr); +END_VALUE_METHOD + +START_VALUE_METHOD(toElement, QDomNode) +QDomElement elem = value.toElement(); +result = KJSEmbed::createValue(exec, "QDomElement", elem); +END_VALUE_METHOD +} + +START_METHOD_LUT(DomNode) +{"appendChild", 1, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::appendChild}, +{"attributes", 0, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::attributes}, +{"childNodes", 0, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::childNodes}, +{"clear", 0, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::clear}, +{"cloneNode", 0, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::cloneNode}, +{"firstChild", 0, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::firstChild}, +{"firstChildElement", 1, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::firstChildElement}, +{"hasAttributes", 0, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::hasAttributes}, +{"hasChildNodes", 0, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::hasChildNodes}, +{"insertBefore", 2, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::insertBefore}, +{"insertAfter", 2, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::insertAfter}, +{"isAttr", 0, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::isAttr}, +{"isCDATASection", 0, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::isCDATASection}, +{"isCharacterData", 0, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::isCharacterData}, +{"isComment", 0, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::isComment}, +{"isDocument", 0, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::isDocument}, +{"isDocumentFragment", 0, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::isDocumentFragment}, +{"isDocumentType", 0, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::isDocumentType}, +{"isElement", 0, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::isElement}, +{"isEntity", 0, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::isEntity}, +{"isEntityReference", 0, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::isEntityReference}, +{"isNotation", 0, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::isNotation}, +{"isNull", 0, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::isNull}, +{"isProcessingInstruction", 0, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::isProcessingInstruction}, +{"isSupported", 2, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::isSupported}, +{"isText", 0, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::isText}, +{"lastChild", 0, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::lastChild}, +{"lastChildElement", 1, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::lastChildElement}, +{"localName", 0, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::localName}, +{"namedItem", 1, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::namedItem}, +{"namespaceURI", 0, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::namespaceURI}, +{"nextSibling", 0, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::nextSibling}, +{"nextSiblingElement", 1, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::nextSiblingElement}, +{"nodeType", 0, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::nodeType}, +{"nodeName", 0, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::nodeName}, +{"nodeValue", 0, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::nodeValue}, +{"normalize", 0, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::normalize}, +{"ownerDocument", 0, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::ownerDocument}, +{"parentNode", 0, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::parentNode}, +{"prefix", 0, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::prefix}, +{"previousSibling", 0, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::previousSibling}, +{"previousSiblingElement", 1, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::previousSiblingElement}, +{"removeChild", 1, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::removeChild}, +{"replaceChild", 2, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::replaceChild}, +{"setPrefix", 1, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::setPrefix}, +{"setNodeValue", 2, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::setNodeValue}, +{"toAttr", 0, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::toAttr}, +{"toElement", 0, KJS::DontDelete | KJS::ReadOnly, &DomNodeNS::toElement} +END_METHOD_LUT + +START_ENUM_LUT(DomNode) +{"ElementNode", QDomNode::ElementNode}, +{"AttributeNode", QDomNode::AttributeNode}, +{"TextNode", QDomNode::TextNode}, +{"CDATASectionNode", QDomNode::CDATASectionNode}, +{"EntityReferenceNode", QDomNode::EntityReferenceNode}, +{"EntityNode", QDomNode::EntityNode}, +{"ProcessingInstructionNode", QDomNode::ProcessingInstructionNode}, +{"CommentNode", QDomNode::CommentNode}, +{"DocumentNode", QDomNode::DocumentNode}, +{"DocumentTypeNode", QDomNode::DocumentTypeNode}, +{"DocumentFragmentNode", QDomNode::DocumentFragmentNode}, +{"NotationNode", QDomNode::NotationNode}, +{"BaseNode", QDomNode::BaseNode}, +{"CharacterDataNode", QDomNode::CharacterDataNode} +END_ENUM_LUT + +NO_STATICS(DomNode) + +START_CTOR(DomNode, QDomNode, 0) +return new KJSEmbed::DomNodeBinding(exec, QDomNode()); +END_CTOR + +const KJS::ClassInfo DomDocumentBinding::info = { "QDomDocument", &ValueBinding::info, nullptr, nullptr }; +DomDocumentBinding::DomDocumentBinding(KJS::ExecState *exec, const QDomDocument &value) + : ValueBinding(exec, "QDomDocument", value) +{ + StaticBinding::publish(exec, this, DomNode::methods()); + StaticBinding::publish(exec, this, DomDocument::methods()); +} + +namespace DomDocumentNS +{ +QString parserErrorTemplate = "XML Parse error '%1' at %2,%3"; + +START_VALUE_METHOD(setContent, QDomDocument) +QString xml = KJSEmbed::extractQString(exec, args, 0); +QString message; +int row = 0; +int col = 0; +bool success = value.setContent(xml, &message, &row, &col); +result = KJS::jsBoolean(success); +if (!success) +{ + KJS::throwError(exec, KJS::SyntaxError, parserErrorTemplate.arg(message).arg(row).arg(col)); +} +END_VALUE_METHOD + +START_VALUE_METHOD(toString, QDomDocument) +int indent = KJSEmbed::extractInt(exec, args, 0, 1); +result = KJS::jsString(value.toString(indent)); +END_VALUE_METHOD + +START_VALUE_METHOD(documentElement, QDomDocument) +QDomElement elem = value.documentElement(); +result = KJSEmbed::createValue(exec, "QDomElement", elem); +END_VALUE_METHOD + +START_VALUE_METHOD(elementById, QDomDocument) +QString id = KJSEmbed::extractQString(exec, args, 0); +QDomElement elem = value.elementById(id); +result = KJSEmbed::createValue(exec, "QDomElement", elem); +END_VALUE_METHOD + +START_VALUE_METHOD(createAttribute, QDomDocument) +QString name = KJSEmbed::extractQString(exec, args, 0); +QDomAttr attr = value.createAttribute(name); +result = KJSEmbed::createValue(exec, "QDomAttr", attr); +END_VALUE_METHOD + +START_VALUE_METHOD(createAttributeNS, QDomDocument) +QString nsURI = KJSEmbed::extractQString(exec, args, 0); +QString qName = KJSEmbed::extractQString(exec, args, 1); +QDomAttr attr = value.createAttributeNS(nsURI, qName); +result = KJSEmbed::createValue(exec, "QDomAttr", attr); +END_VALUE_METHOD + +START_VALUE_METHOD(createCDATASection, QDomDocument) +QString cdatatxt = KJSEmbed::extractQString(exec, args, 0); +QDomCDATASection cdata = value.createCDATASection(cdatatxt); +result = KJSEmbed::createValue(exec, "QDomCDATASection", cdata); +END_VALUE_METHOD + +START_VALUE_METHOD(createComment, QDomDocument) +QString commenttxt = KJSEmbed::extractQString(exec, args, 0); +QDomComment comment = value.createComment(commenttxt); +result = KJSEmbed::createValue(exec, "QDomComment", comment); +END_VALUE_METHOD + +START_VALUE_METHOD(createDocumentFragment, QDomDocument) +QDomDocumentFragment fragment = value.createDocumentFragment(); +result = KJSEmbed::createValue(exec, "QDomDocumentFragment", fragment); +END_VALUE_METHOD + +START_VALUE_METHOD(createElement, QDomDocument) +QString tagName = KJSEmbed::extractQString(exec, args, 0); +QDomElement elem = value.createElement(tagName); +result = KJSEmbed::createValue(exec, "QDomElement", elem); +END_VALUE_METHOD + +START_VALUE_METHOD(createElementNS, QDomDocument) +QString nsURI = KJSEmbed::extractQString(exec, args, 0); +QString qName = KJSEmbed::extractQString(exec, args, 1); +QDomElement elem = value.createElementNS(nsURI, qName); +result = KJSEmbed::createValue(exec, "QDomElement", elem); +END_VALUE_METHOD + +START_VALUE_METHOD(createEntityReference, QDomDocument) +QString name = KJSEmbed::extractQString(exec, args, 0); +QDomEntityReference ref = value.createEntityReference(name); +result = KJSEmbed::createValue(exec, "QDomEntityReference", ref); +END_VALUE_METHOD + +START_VALUE_METHOD(createProcessingInstruction, QDomDocument) +QString target = KJSEmbed::extractQString(exec, args, 0); +QString data = KJSEmbed::extractQString(exec, args, 1); +QDomProcessingInstruction inst = value.createProcessingInstruction(target, data); +result = KJSEmbed::createValue(exec, "QDomProcessingInstruction", inst); +END_VALUE_METHOD + +START_VALUE_METHOD(createTextNode, QDomDocument) +QString texttext = KJSEmbed::extractQString(exec, args, 0); +QDomText text = value.createTextNode(texttext); +result = KJSEmbed::createValue(exec, "QDomText", text); +END_VALUE_METHOD + +START_VALUE_METHOD(importNode, QDomDocument) +QDomNode import = KJSEmbed::extractValue(exec, args, 0); +bool deep = KJSEmbed::extractBool(exec, args, 1); +QDomNode node = value.importNode(import, deep); +result = KJSEmbed::createValue(exec, "QDomNode", node); +END_VALUE_METHOD + +} + +START_METHOD_LUT(DomDocument) +{"setContent", 1, KJS::DontDelete | KJS::ReadOnly, &DomDocumentNS::setContent}, +{"toString", 0, KJS::DontDelete | KJS::ReadOnly, &DomDocumentNS::toString}, +{"documentElement", 0, KJS::DontDelete | KJS::ReadOnly, &DomDocumentNS::documentElement}, +{"elementById", 1, KJS::DontDelete | KJS::ReadOnly, &DomDocumentNS::elementById}, +{"createAttribute", 1, KJS::DontDelete | KJS::ReadOnly, &DomDocumentNS::createAttribute }, +{"createAttributeNS", 2, KJS::DontDelete | KJS::ReadOnly, &DomDocumentNS::createAttributeNS }, +{"createCDATASection", 0, KJS::DontDelete | KJS::ReadOnly, &DomDocumentNS::createCDATASection}, +{"createComment", 0, KJS::DontDelete | KJS::ReadOnly, &DomDocumentNS::createComment}, +{"createDocumentFragment", 0, KJS::DontDelete | KJS::ReadOnly, &DomDocumentNS::createDocumentFragment}, +{"createElement", 1, KJS::DontDelete | KJS::ReadOnly, &DomDocumentNS::createElement}, +{"createElementNS", 2, KJS::DontDelete | KJS::ReadOnly, &DomDocumentNS::createElementNS}, +{"createEntityReference", 1, KJS::DontDelete | KJS::ReadOnly, &DomDocumentNS::createEntityReference}, +{"createProcessingInstruction", 2, KJS::DontDelete | KJS::ReadOnly, &DomDocumentNS::createProcessingInstruction}, +{"createTextNode", 1, KJS::DontDelete | KJS::ReadOnly, &DomDocumentNS::createTextNode}, +{"importNode", 2, KJS::DontDelete | KJS::ReadOnly, &DomDocumentNS::importNode} +END_METHOD_LUT + +NO_ENUMS(DomDocument) +NO_STATICS(DomDocument) + +START_CTOR(DomDocument, QDomDocument, 1) +QString name = KJSEmbed::extractQString(exec, args, 0); +return new KJSEmbed::DomDocumentBinding(exec, QDomDocument(name)); +END_CTOR + +const KJS::ClassInfo DomElementBinding::info = { "QDomElement", &ValueBinding::info, nullptr, nullptr }; +DomElementBinding::DomElementBinding(KJS::ExecState *exec, const QDomElement &value) + : ValueBinding(exec, "QDomElement", value) +{ + StaticBinding::publish(exec, this, DomNode::methods()); + StaticBinding::publish(exec, this, DomElement::methods()); +} + +namespace DomElementNS +{ +START_VALUE_METHOD(toString, QDomElement) +result = KJS::jsString(value.text()); +END_VALUE_METHOD + +START_VALUE_METHOD(tagName, QDomElement) +result = KJS::jsString(value.tagName()); +END_VALUE_METHOD + +START_VALUE_METHOD(setTagName, QDomElement) +QString tag = KJSEmbed::extractQString(exec, args, 0); +value.setTagName(tag); +END_VALUE_METHOD + +START_VALUE_METHOD(attribute, QDomElement) +QString tag = KJSEmbed::extractQString(exec, args, 0); +QString defaultValue = KJSEmbed::extractQString(exec, args, 1, QString()); +result = KJS::jsString(value.attribute(tag, defaultValue)); +END_VALUE_METHOD + +START_VALUE_METHOD(setAttribute, QDomElement) +QString tag = KJSEmbed::extractQString(exec, args, 0); +QString newValue = KJSEmbed::extractQString(exec, args, 1); +value.setAttribute(tag, newValue); +END_VALUE_METHOD + +START_VALUE_METHOD(hasAttribute, QDomElement) +QString attr = KJSEmbed::extractQString(exec, args, 0); +result = KJS::jsBoolean(value.hasAttribute(attr)); +END_VALUE_METHOD + +START_VALUE_METHOD(removeAttribute, QDomElement) +QString attr = KJSEmbed::extractQString(exec, args, 0); +value.removeAttribute(attr); +END_VALUE_METHOD + +START_VALUE_METHOD(setAttributeNS, QDomElement) +QString ns = KJSEmbed::extractQString(exec, args, 0); +QString attr = KJSEmbed::extractQString(exec, args, 1); +QString val = KJSEmbed::extractQString(exec, args, 3); +value.setAttributeNS(ns, attr, val); +END_VALUE_METHOD + +START_VALUE_METHOD(attributeNS, QDomElement) +QString nsURI = KJSEmbed::extractQString(exec, args, 0); +QString localName = KJSEmbed::extractQString(exec, args, 1); +QString defValue = KJSEmbed::extractQString(exec, args, 1, QString()); +result = KJS::jsString(value.attributeNS(nsURI, localName, defValue)); +END_VALUE_METHOD + +START_VALUE_METHOD(hasAttributeNS, QDomElement) +QString ns = KJSEmbed::extractQString(exec, args, 0); +QString attr = KJSEmbed::extractQString(exec, args, 1); +result = KJS::jsBoolean(value.hasAttributeNS(ns, attr)); +END_VALUE_METHOD + +START_VALUE_METHOD(removeAttributeNS, QDomElement) +QString ns = KJSEmbed::extractQString(exec, args, 0); +QString attr = KJSEmbed::extractQString(exec, args, 1); +value.removeAttributeNS(ns, attr); +END_VALUE_METHOD + +START_VALUE_METHOD(elementsByTagName, QDomElement) +QString name = KJSEmbed::extractQString(exec, args, 0); +QDomNodeList nodes = value.elementsByTagName(name); +result = KJSEmbed::createValue(exec, "QDomNodeList", nodes); +END_VALUE_METHOD + +START_VALUE_METHOD(elementsByTagNameNS, QDomElement) +QString ns = KJSEmbed::extractQString(exec, args, 0); +QString name = KJSEmbed::extractQString(exec, args, 1); +QDomNodeList nodes = value.elementsByTagNameNS(ns, name); +result = KJSEmbed::createValue(exec, "QDomNodeList", nodes); +END_VALUE_METHOD + +START_VALUE_METHOD(attributeNode, QDomElement) +QString name = KJSEmbed::extractQString(exec, args, 0); +QDomAttr attr = value.attributeNode(name); +result = KJSEmbed::createValue(exec, "QDomAttr", attr); +END_VALUE_METHOD + +START_VALUE_METHOD(attributeNodeNS, QDomElement) +QString ns = KJSEmbed::extractQString(exec, args, 0); +QString name = KJSEmbed::extractQString(exec, args, 1); +QDomAttr attr = value.attributeNodeNS(ns, name); +result = KJSEmbed::createValue(exec, "QDomAttr", attr); +END_VALUE_METHOD + +START_VALUE_METHOD(removeAttributeNode, QDomElement) +QDomAttr attr = KJSEmbed::extractValue(exec, args, 0); +QDomAttr newAttr = value.removeAttributeNode(attr); +result = KJSEmbed::createValue(exec, "QDomAttr", newAttr); +END_VALUE_METHOD + +START_VALUE_METHOD(setAttributeNode, QDomElement) +QDomAttr attr = KJSEmbed::extractValue(exec, args, 0); +QDomAttr newAttr = value.setAttributeNode(attr); +result = KJSEmbed::createValue(exec, "QDomAttr", newAttr); +END_VALUE_METHOD + +START_VALUE_METHOD(setAttributeNodeNS, QDomElement) +QDomAttr attr = KJSEmbed::extractValue(exec, args, 0); +QDomAttr newAttr = value.setAttributeNodeNS(attr); +result = KJSEmbed::createValue(exec, "QDomAttr", newAttr); +END_VALUE_METHOD +} + +NO_ENUMS(DomElement) +NO_STATICS(DomElement) + +START_METHOD_LUT(DomElement) +{"toString", 0, KJS::DontDelete | KJS::ReadOnly, &DomElementNS::toString}, +{"text", 0, KJS::DontDelete | KJS::ReadOnly, &DomElementNS::toString}, +{"tagName", 0, KJS::DontDelete | KJS::ReadOnly, &DomElementNS::tagName}, +{"setTagName", 1, KJS::DontDelete | KJS::ReadOnly, &DomElementNS::setTagName}, +{"setAttribute", 2, KJS::DontDelete | KJS::ReadOnly, &DomElementNS::setAttribute}, +{"attribute", 2, KJS::DontDelete | KJS::ReadOnly, &DomElementNS::attribute}, +{"hasAttribute", 1, KJS::DontDelete | KJS::ReadOnly, &DomElementNS::hasAttribute}, +{"removeAttribute", 1, KJS::DontDelete | KJS::ReadOnly, &DomElementNS::removeAttribute}, +{"setAttributeNS", 3, KJS::DontDelete | KJS::ReadOnly, &DomElementNS::setAttributeNS}, +{"attributeNS", 3, KJS::DontDelete | KJS::ReadOnly, &DomElementNS::attributeNS}, +{"hasAttributeNS", 2, KJS::DontDelete | KJS::ReadOnly, &DomElementNS::hasAttributeNS}, +{"removeAttributeNS", 2, KJS::DontDelete | KJS::ReadOnly, &DomElementNS::removeAttributeNS}, +{"elementsByTagName", 1, KJS::DontDelete | KJS::ReadOnly, &DomElementNS::elementsByTagName}, +{"elementsByTagNameNS", 2, KJS::DontDelete | KJS::ReadOnly, &DomElementNS::elementsByTagNameNS}, +{"attributeNode", 1, KJS::DontDelete | KJS::ReadOnly, &DomElementNS::attributeNode}, +{"attributeNodeNS", 2, KJS::DontDelete | KJS::ReadOnly, &DomElementNS::attributeNodeNS}, +{"removeAttributeNode", 1, KJS::DontDelete | KJS::ReadOnly, &DomElementNS::removeAttributeNode}, +{"setAttributeNode", 1, KJS::DontDelete | KJS::ReadOnly, &DomElementNS::setAttributeNode}, +{"setAttributeNodeNS", 1, KJS::DontDelete | KJS::ReadOnly, &DomElementNS::setAttributeNodeNS} +END_METHOD_LUT + +START_CTOR(DomElement, QDomElement, 0) +return new KJSEmbed::DomElementBinding(exec, QDomElement()); +END_CTOR + +const KJS::ClassInfo DomAttrBinding::info = { "QDomAttr", &ValueBinding::info, nullptr, nullptr }; +DomAttrBinding::DomAttrBinding(KJS::ExecState *exec, const QDomAttr &value) + : ValueBinding(exec, "QDomAttr", value) +{ + StaticBinding::publish(exec, this, DomNode::methods()); + StaticBinding::publish(exec, this, DomAttr::methods()); +} + +namespace AttrElementNS +{ +START_VALUE_METHOD(name, QDomAttr) +result = KJS::jsString(value.value()); +END_VALUE_METHOD + +START_VALUE_METHOD(specified, QDomAttr) +result = KJS::jsBoolean(value.specified()); +END_VALUE_METHOD + +START_VALUE_METHOD(ownerElement, QDomAttr) +QDomElement owner = value.ownerElement(); +result = KJSEmbed::createValue(exec, "QDomElement", owner); +END_VALUE_METHOD + +START_VALUE_METHOD(value, QDomAttr) +result = KJS::jsString(value.value()); +END_VALUE_METHOD + +START_VALUE_METHOD(setValue, QDomAttr) +QString newValue = KJSEmbed::extractQString(exec, args, 0); +value.setValue(newValue); +END_VALUE_METHOD + +} + +NO_ENUMS(DomAttr) +NO_STATICS(DomAttr) + +START_METHOD_LUT(DomAttr) +{"name", 0, KJS::DontDelete | KJS::ReadOnly, &AttrElementNS::name}, +{"specified", 0, KJS::DontDelete | KJS::ReadOnly, &AttrElementNS::specified}, +{"ownerElement", 0, KJS::DontDelete | KJS::ReadOnly, &AttrElementNS::ownerElement}, +{"value", 0, KJS::DontDelete | KJS::ReadOnly, &AttrElementNS::value}, +{"setValue", 1, KJS::DontDelete | KJS::ReadOnly, &AttrElementNS::setValue} +END_METHOD_LUT + +START_CTOR(DomAttr, QDomAttr, 0) +return new KJSEmbed::DomAttrBinding(exec, QDomAttr()); +END_CTOR + +const KJS::ClassInfo DomNodeListBinding::info = { "QDomNodeList", &ValueBinding::info, nullptr, nullptr }; +DomNodeListBinding::DomNodeListBinding(KJS::ExecState *exec, const QDomNodeList &value) + : ValueBinding(exec, "QDomNodeList", value) +{ + StaticBinding::publish(exec, this, DomNodeList::methods()); +} + +namespace NodeListNS +{ +START_VALUE_METHOD(count, QDomNodeList) +result = KJS::jsNumber(value.count()); +END_VALUE_METHOD + +START_VALUE_METHOD(length, QDomNodeList) +result = KJS::jsNumber(value.length()); +END_VALUE_METHOD + +START_VALUE_METHOD(item, QDomNodeList) +int idx = KJSEmbed::extractInt(exec, args, 0); +QDomNode node = value.item(idx); +result = KJSEmbed::createValue(exec, "QDomNode", node); +END_VALUE_METHOD + +} + +NO_ENUMS(DomNodeList) +NO_STATICS(DomNodeList) + +START_METHOD_LUT(DomNodeList) +{"count", 0, KJS::DontDelete | KJS::ReadOnly, &NodeListNS::count}, +{"length", 0, KJS::DontDelete | KJS::ReadOnly, &NodeListNS::length}, +{"item", 1, KJS::DontDelete | KJS::ReadOnly, &NodeListNS::item} +END_METHOD_LUT + +START_CTOR(DomNodeList, QDomNodeList, 0) +return new KJSEmbed::DomNodeListBinding(exec, QDomNodeList()); +END_CTOR + +const KJS::ClassInfo DomDocumentTypeBinding::info = { "QDomDocumentType", &ValueBinding::info, nullptr, nullptr }; +DomDocumentTypeBinding::DomDocumentTypeBinding(KJS::ExecState *exec, const QDomDocumentType &value) + : ValueBinding(exec, "QDomDocumentType", value) +{ + StaticBinding::publish(exec, this, DomNode::methods()); + StaticBinding::publish(exec, this, DomDocumentType::methods()); +} + +namespace DomDocumentTypeNS +{ +START_VALUE_METHOD(internalSubset, QDomDocumentType) +result = KJS::jsString(value.internalSubset()); +END_VALUE_METHOD + +START_VALUE_METHOD(name, QDomDocumentType) +result = KJS::jsString(value.name()); +END_VALUE_METHOD + +START_VALUE_METHOD(publicId, QDomDocumentType) +result = KJS::jsString(value.publicId()); +END_VALUE_METHOD + +START_VALUE_METHOD(systemId, QDomDocumentType) +result = KJS::jsString(value.systemId()); +END_VALUE_METHOD + +START_VALUE_METHOD(entities, QDomDocumentType) +result = KJSEmbed::createValue(exec, "QDomNamedNodeMap", value.entities()); +END_VALUE_METHOD + +START_VALUE_METHOD(notations, QDomDocumentType) +result = KJSEmbed::createValue(exec, "QDomNamedNodeMap", value.notations()); +END_VALUE_METHOD +} + +NO_ENUMS(DomDocumentType) +NO_STATICS(DomDocumentType) + +START_METHOD_LUT(DomDocumentType) +{"entities", 0, KJS::DontDelete | KJS::ReadOnly, &DomDocumentTypeNS::entities}, +{"notations", 0, KJS::DontDelete | KJS::ReadOnly, &DomDocumentTypeNS::notations}, +{"internalSubset", 0, KJS::DontDelete | KJS::ReadOnly, &DomDocumentTypeNS::internalSubset}, +{"name", 0, KJS::DontDelete | KJS::ReadOnly, &DomDocumentTypeNS::name}, +{"publicId", 0, KJS::DontDelete | KJS::ReadOnly, &DomDocumentTypeNS::publicId}, +{"systemId", 0, KJS::DontDelete | KJS::ReadOnly, &DomDocumentTypeNS::systemId} +END_METHOD_LUT + +START_CTOR(DomDocumentType, QDomDocumentType, 0) +return new KJSEmbed::DomDocumentTypeBinding(exec, QDomDocumentType()); +END_CTOR + +const KJS::ClassInfo DomNamedNodeMapBinding::info = { "QDomNamedNodeMap", &ValueBinding::info, nullptr, nullptr }; +DomNamedNodeMapBinding::DomNamedNodeMapBinding(KJS::ExecState *exec, const QDomNamedNodeMap &value) + : ValueBinding(exec, "QDomNamedNodeMap", value) +{ + StaticBinding::publish(exec, this, DomNamedNodeMap::methods()); +} + +namespace NamedNodeMapNS +{ +START_VALUE_METHOD(contains, QDomNamedNodeMap) +QString name = KJSEmbed::extractQString(exec, args, 0); +result = KJS::jsBoolean(value.contains(name)); +END_VALUE_METHOD + +START_VALUE_METHOD(count, QDomNamedNodeMap) +result = KJS::jsNumber(value.count()); +END_VALUE_METHOD + +START_VALUE_METHOD(item, QDomNamedNodeMap) +int idx = KJSEmbed::extractInt(exec, args, 0); +QDomNode node = value.item(idx); +result = KJSEmbed::createValue(exec, "QDomNode", node); +END_VALUE_METHOD + +START_VALUE_METHOD(length, QDomNamedNodeMap) +result = KJS::jsNumber(value.length()); +END_VALUE_METHOD + +START_VALUE_METHOD(namedItem, QDomNamedNodeMap) +QString name = KJSEmbed::extractQString(exec, args, 0); +QDomNode node = value.namedItem(name); +result = KJSEmbed::createValue(exec, "QDomNode", node); +END_VALUE_METHOD + +START_VALUE_METHOD(namedItemNS, QDomNamedNodeMap) +QString nsuri = KJSEmbed::extractQString(exec, args, 0); +QString localName = KJSEmbed::extractQString(exec, args, 1); +QDomNode node = value.namedItemNS(nsuri, localName); +result = KJSEmbed::createValue(exec, "QDomNode", node); +END_VALUE_METHOD + +START_VALUE_METHOD(removeNamedItem, QDomNamedNodeMap) +QString name = KJSEmbed::extractQString(exec, args, 0); +QDomNode node = value.removeNamedItem(name); +result = KJSEmbed::createValue(exec, "QDomNode", node); +END_VALUE_METHOD + +START_VALUE_METHOD(removeNamedItemNS, QDomNamedNodeMap) +QString nsuri = KJSEmbed::extractQString(exec, args, 0); +QString localName = KJSEmbed::extractQString(exec, args, 1); +QDomNode node = value.removeNamedItemNS(nsuri, localName); +result = KJSEmbed::createValue(exec, "QDomNode", node); +END_VALUE_METHOD + +START_VALUE_METHOD(setNamedItem, QDomNamedNodeMap) +QDomNode newNode = KJSEmbed::extractValue(exec, args, 0); +QDomNode node = value.setNamedItem(newNode); +result = KJSEmbed::createValue(exec, "QDomNode", node); +END_VALUE_METHOD + +START_VALUE_METHOD(setNamedItemNS, QDomNamedNodeMap) +QDomNode newNode = KJSEmbed::extractValue(exec, args, 0); +QDomNode node = value.setNamedItemNS(newNode); +result = KJSEmbed::createValue(exec, "QDomNode", node); +END_VALUE_METHOD + +} + +NO_ENUMS(DomNamedNodeMap) +NO_STATICS(DomNamedNodeMap) + +START_METHOD_LUT(DomNamedNodeMap) +{"contains", 0, KJS::DontDelete | KJS::ReadOnly, &NamedNodeMapNS::contains}, +{"count", 0, KJS::DontDelete | KJS::ReadOnly, &NamedNodeMapNS::count}, +{"item", 1, KJS::DontDelete | KJS::ReadOnly, &NamedNodeMapNS::item}, +{"length", 0, KJS::DontDelete | KJS::ReadOnly, &NamedNodeMapNS::length}, +{"namedItem", 1, KJS::DontDelete | KJS::ReadOnly, &NamedNodeMapNS::namedItem}, +{"namedItemNS", 2, KJS::DontDelete | KJS::ReadOnly, &NamedNodeMapNS::namedItemNS}, +{"removeNamedItem", 1, KJS::DontDelete | KJS::ReadOnly, &NamedNodeMapNS::removeNamedItem}, +{"removeNamedItemNS", 2, KJS::DontDelete | KJS::ReadOnly, &NamedNodeMapNS::removeNamedItemNS}, +{"setNamedItem", 1, KJS::DontDelete | KJS::ReadOnly, &NamedNodeMapNS::setNamedItem}, +{"setNamedItemNS", 1, KJS::DontDelete | KJS::ReadOnly, &NamedNodeMapNS::setNamedItemNS} +END_METHOD_LUT + +START_CTOR(DomNamedNodeMap, QDomNamedNodeMap, 0) +return new KJSEmbed::DomNamedNodeMapBinding(exec, QDomNamedNodeMap()); +END_CTOR + +const KJS::ClassInfo DomTextBinding::info = { "QDomText", &ValueBinding::info, nullptr, nullptr }; +DomTextBinding::DomTextBinding(KJS::ExecState *exec, const QDomText &value) + : ValueBinding(exec, "QDomText", value) +{ + StaticBinding::publish(exec, this, DomNode::methods()); + StaticBinding::publish(exec, this, DomText::methods()); +} + +NO_ENUMS(DomText) +NO_STATICS(DomText) +NO_METHODS(DomText) + +START_CTOR(DomText, QDomText, 0) +return new KJSEmbed::DomTextBinding(exec, QDomText()); +END_CTOR + diff --git a/src/kjsembed/dom.h b/src/kjsembed/dom.h new file mode 100644 index 0000000..db7d536 --- /dev/null +++ b/src/kjsembed/dom.h @@ -0,0 +1,146 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef DOM_H +#define DOM_H + +class QDomNode; +class QDomDocument; +class QDomElement; +class QDomAttr; +class QDomDocumentType; +class QDomNodeList; +class QDomNamedNodeMap; +class QDomText; + +#include "value_binding.h" +#include "static_binding.h" + +namespace KJSEmbed +{ +class DomNodeBinding : public ValueBinding +{ +public: + DomNodeBinding(KJS::ExecState *exec, const QDomNode &value); +private: + const KJS::ClassInfo *classInfo() const override + { + return &info; + } + static const KJS::ClassInfo info; +}; + +class DomDocumentBinding : public ValueBinding +{ +public: + DomDocumentBinding(KJS::ExecState *exec, const QDomDocument &value); +private: + const KJS::ClassInfo *classInfo() const override + { + return &info; + } + static const KJS::ClassInfo info; +}; + +class DomElementBinding : public ValueBinding +{ +public: + DomElementBinding(KJS::ExecState *exec, const QDomElement &value); +private: + const KJS::ClassInfo *classInfo() const override + { + return &info; + } + static const KJS::ClassInfo info; +}; + +class DomAttrBinding : public ValueBinding +{ +public: + DomAttrBinding(KJS::ExecState *exec, const QDomAttr &value); +private: + const KJS::ClassInfo *classInfo() const override + { + return &info; + } + static const KJS::ClassInfo info; +}; + +class DomDocumentTypeBinding : public ValueBinding +{ +public: + DomDocumentTypeBinding(KJS::ExecState *exec, const QDomDocumentType &value); +private: + const KJS::ClassInfo *classInfo() const override + { + return &info; + } + static const KJS::ClassInfo info; +}; + +class DomNodeListBinding : public ValueBinding +{ +public: + DomNodeListBinding(KJS::ExecState *exec, const QDomNodeList &value); +private: + const KJS::ClassInfo *classInfo() const override + { + return &info; + } + static const KJS::ClassInfo info; +}; + +class DomNamedNodeMapBinding : public ValueBinding +{ +public: + DomNamedNodeMapBinding(KJS::ExecState *exec, const QDomNamedNodeMap &value); +private: + const KJS::ClassInfo *classInfo() const override + { + return &info; + } + static const KJS::ClassInfo info; +}; + +class DomTextBinding : public ValueBinding +{ +public: + DomTextBinding(KJS::ExecState *exec, const QDomText &value); +private: + const KJS::ClassInfo *classInfo() const override + { + return &info; + } + static const KJS::ClassInfo info; +}; + +KJS_BINDING(DomNode) +KJS_BINDING(DomDocument) // Done +KJS_BINDING(DomElement) // Done +KJS_BINDING(DomAttr) // Done +KJS_BINDING(DomDocumentType) // Done +KJS_BINDING(DomNodeList) // Done +KJS_BINDING(DomNamedNodeMap) +KJS_BINDING(DomText) + +} +#endif diff --git a/src/kjsembed/eventproxy.cpp b/src/kjsembed/eventproxy.cpp new file mode 100644 index 0000000..1fd635f --- /dev/null +++ b/src/kjsembed/eventproxy.cpp @@ -0,0 +1,143 @@ +/* This file is part of the KDE libraries + Copyright (C) 2003,2004,2005,2006 Ian Reinhart Geiser + Copyright (C) 2003,2004,2005,2006 Matt Broadstone + Copyright (C) 2003,2004,2005,2006 Richard J. Moore + Copyright (C) 2003,2004,2005,2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ +#include "eventproxy.h" + +#include + +#include "qobject_binding.h" +#include + +#include "kjseglobal.h" +#include "jseventmapper.h" +#include "jseventutils.h" + +using namespace KJSEmbed; + +EventProxy::EventProxy(QObjectBinding *watch, KJS::Interpreter *interpreter) : + QObject(watch->object()), m_watch(watch), m_interpreter(interpreter) +{ + m_refcount = 0l; +} + +EventProxy::~EventProxy() +{ +} + +bool EventProxy::isFiltered(QEvent::Type t) const +{ + if (m_eventMask.size() <= t) { + return false; + } + return m_eventMask.testBit(t); +} + +void EventProxy::addFilter(QEvent::Type t) +{ + if (t == QEvent::None) { + return; + } + if (!m_refcount) { + m_watch->object()->installEventFilter(this); + } + + if (m_eventMask.size() <= t) { + m_eventMask.resize(t + 1); + } + + if (!m_eventMask.testBit(t)) { + m_refcount++; + m_eventMask.setBit(t); + } +} + +void EventProxy::removeFilter(QEvent::Type t) +{ + if (t == QEvent::None) { + return; + } + if (m_eventMask.size() <= t) { + return; + } + m_eventMask.clearBit(t); + m_refcount--; + if (!m_refcount) { + m_watch->object()->removeEventFilter(this); + deleteLater(); + } +} + +bool EventProxy::eventFilter(QObject * /*watched*/, QEvent *e) +{ + if (isFiltered(e->type())) { + return !callHandler(e); + } + return false; +} + +bool EventProxy::callHandler(QEvent *e) +{ +// Be careful enabling this as if there are a lot of events then the event loop times +// out and the app crashes with 'Alarm Clock'. +// qDebug("JSObjectEventProxy::callHandler() event type %d" , e->type() ); + + KJS::ExecState *exec = m_interpreter->globalExec(); + KJS::Identifier id = JSEventMapper::mapper()->findEventHandler(e->type()); + + KJS::JSObject *jsobj(m_watch); + KJS::JSObject *fun = jsobj->get(exec, id)->toObject(exec); + + KJS::JSValue *retValue; + if (!fun->implementsCall()) { + QString msg = i18n("Bad event handler: Object %1 Identifier %2 Method %3 Type: %4.", + jsobj->className().ascii(), + id.ascii(), + fun->className().ascii(), + e->type()); + retValue = throwError(exec, KJS::TypeError, msg); + } else { + // Process args + KJS::List args; + args.append(JSEventUtils::event(exec, e)); + + // Call handler + retValue = fun->call(exec, jsobj, args); + } + + if (exec->hadException()) { + if (m_interpreter->shouldPrintExceptions()) { + KJS::JSLock lock; + KJS::JSObject *exceptObj = retValue->toObject(exec); + QString message = toQString(exceptObj->toString(exec)); + QString sourceURL = toQString(exceptObj->get(exec, "sourceURL")->toString(exec)); + int sourceId = exceptObj->get(exec, "sourceId")->toUInt32(exec); + int line = exceptObj->get(exec, "line")->toUInt32(exec); + (*KJSEmbed::conerr()) << i18n("Exception calling '%1' function from %2:%3:%4", id.ascii(), !sourceURL.isEmpty() ? sourceURL : QString::number(sourceId), line, message) << Qt::endl; + } + + // clear it so it doesn't stop other things + exec->clearException(); + return false; + } + + return true; +} + diff --git a/src/kjsembed/eventproxy.h b/src/kjsembed/eventproxy.h new file mode 100644 index 0000000..dca30b5 --- /dev/null +++ b/src/kjsembed/eventproxy.h @@ -0,0 +1,75 @@ +/* This file is part of the KDE libraries + Copyright (C) 2003,2004,2005,2006 Ian Reinhart Geiser + Copyright (C) 2003,2004,2005,2006 Matt Broadstone + Copyright (C) 2003,2004,2005,2006 Richard J. Moore + Copyright (C) 2003,2004,2005,2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef EVENTPROXY_H +#define EVENTPROXY_H +#include +#include +#include + +#include + +namespace KJS +{ +class Interpreter; +} + +namespace KJSEmbed +{ +class QObjectBinding; +/** +* Filters events for a QObject and forwards them to a JS handler. +* @author Richard Moore, rich@kde.org +*/ +class EventProxy : public QObject +{ +public: + EventProxy(QObjectBinding *watch, KJS::Interpreter *interpreter); + ~EventProxy() override; + + /** Returns true iff we forward the event type to JS. */ + bool isFiltered(QEvent::Type t) const; + + /** Adds an event type to those we forward to JS. */ + void addFilter(QEvent::Type t); + + /** + * Removes an event type from those we forward to JS. If there are no + * event types left to forward then we self-destruct. + */ + void removeFilter(QEvent::Type t); + + /** Reimplemented to forward events to JS. */ + bool eventFilter(QObject *watched, QEvent *e) override; + +protected: + bool callHandler(QEvent *e); + +private: + QObjectBinding *m_watch; + KJS::Interpreter *m_interpreter; + QBitArray m_eventMask; + uint m_refcount; +}; +} + +#endif diff --git a/src/kjsembed/filedialog_binding.cpp b/src/kjsembed/filedialog_binding.cpp new file mode 100644 index 0000000..00c6105 --- /dev/null +++ b/src/kjsembed/filedialog_binding.cpp @@ -0,0 +1,87 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ +#include "filedialog_binding.h" + +#include +#include +#include + +#include + +#include "static_binding.h" + +using namespace KJSEmbed; + +KJS::JSValue *callGetExistingDirectory(KJS::ExecState *exec, KJS::JSObject * /*self*/, const KJS::List &args) +{ + QWidget *parent = KJSEmbed::extractObject(exec, args, 0, nullptr); + QString caption = KJSEmbed::extractVariant(exec, args, 1, QString()); + QString dir = KJSEmbed::extractVariant(exec, args, 2, QString()); + QFileDialog::Options options = (QFileDialog::Options)KJSEmbed::extractVariant(exec, args, 3, QFileDialog::ShowDirsOnly); + + return KJS::jsString(QFileDialog::getExistingDirectory(parent, caption, dir, options)); +} + +KJS::JSValue *callGetOpenFileName(KJS::ExecState *exec, KJS::JSObject * /*self*/, const KJS::List &args) +{ + QWidget *parent = KJSEmbed::extractObject(exec, args, 0, nullptr); + QString caption = KJSEmbed::extractVariant(exec, args, 1, ""); + QString dir = KJSEmbed::extractVariant(exec, args, 2, ""); + QString filter = KJSEmbed::extractVariant(exec, args, 3, ""); +// QString *selectedFilter = KJSEmbed::extractVariant(exec, args, 4, 0); + QFileDialog::Options options = (QFileDialog::Options)KJSEmbed::extractVariant(exec, args, 4, 0); + + return KJS::jsString(QFileDialog::getOpenFileName(parent, caption, dir, filter, nullptr, options)); +} + +KJS::JSValue *callGetOpenFileNames(KJS::ExecState *exec, KJS::JSObject * /*self*/, const KJS::List &args) +{ + QWidget *parent = KJSEmbed::extractObject(exec, args, 0, nullptr); + QString caption = KJSEmbed::extractVariant(exec, args, 1, QString()); + QString dir = KJSEmbed::extractVariant(exec, args, 2, QString()); + QString filter = KJSEmbed::extractVariant(exec, args, 3, QString()); +// QString *selectedFilter = KJSEmbed::extractVariant(exec, args, 4, 0); + QFileDialog::Options options = (QFileDialog::Options)KJSEmbed::extractVariant(exec, args, 4, 0); + + QStringList fileNames = QFileDialog::getOpenFileNames(parent, caption, dir, filter, nullptr, options); + + return convertToValue(exec, fileNames); +} + +KJS::JSValue *callGetSaveFileName(KJS::ExecState *exec, KJS::JSObject * /*self*/, const KJS::List &args) +{ + QWidget *parent = KJSEmbed::extractObject(exec, args, 0, nullptr); + QString caption = KJSEmbed::extractVariant(exec, args, 1, QString()); + QString dir = KJSEmbed::extractVariant(exec, args, 2, QString()); + QString filter = KJSEmbed::extractVariant(exec, args, 3, QString()); +// QString *selectedFilter = KJSEmbed::extractVariant(exec, args, 4, 0); + QFileDialog::Options options = (QFileDialog::Options)KJSEmbed::extractVariant(exec, args, 4, 0); + + return KJS::jsString(QFileDialog::getSaveFileName(parent, caption, dir, filter, nullptr, options)); +} +const Method FileDialog::FileDialogMethods[] = { + {"getExistingDirectory", 1, KJS::DontDelete | KJS::ReadOnly, &callGetExistingDirectory }, + {"getOpenFileName", 1, KJS::DontDelete | KJS::ReadOnly, &callGetOpenFileName }, + {"getOpenFileNames", 1, KJS::DontDelete | KJS::ReadOnly, &callGetOpenFileNames }, + {"getSaveFileName", 0, KJS::DontDelete | KJS::ReadOnly, &callGetSaveFileName }, + {nullptr, 0, 0, nullptr } +}; diff --git a/src/kjsembed/filedialog_binding.h b/src/kjsembed/filedialog_binding.h new file mode 100644 index 0000000..3a638e0 --- /dev/null +++ b/src/kjsembed/filedialog_binding.h @@ -0,0 +1,42 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef FILEDIALOG_H +#define FILEDIALOG_H + +#include "object_binding.h" + +namespace KJSEmbed +{ +struct Method; + +class FileDialog +{ +public: + static const Method FileDialogMethods[]; + static const Method *methods() + { + return FileDialogMethods; + } +}; +} +#endif diff --git a/src/kjsembed/fileio.cpp b/src/kjsembed/fileio.cpp new file mode 100644 index 0000000..3348db5 --- /dev/null +++ b/src/kjsembed/fileio.cpp @@ -0,0 +1,137 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ +#include "fileio.h" +#include +#include "kjseglobal.h" +#include +#include + +using namespace KJSEmbed; + +FileIOBinding::FileIOBinding(KJS::ExecState *exec, QFile *value) + : ObjectBinding(exec, "File", value) +{ + StaticBinding::publish(exec, this, FileIO::methods()); + StaticBinding::publish(exec, this, ObjectFactory::methods()); + StaticBinding::publish(exec, this, VariantFactory::methods()); +} + +START_OBJECT_METHOD(callFileOpen, QFile) +result = KJS::jsBoolean(object->open((QIODevice::OpenModeFlag) KJSEmbed::extractInt(exec, args, 0))); +END_OBJECT_METHOD + +START_OBJECT_METHOD(callFileClose, QFile) +object->close(); +END_OBJECT_METHOD + +START_OBJECT_METHOD(callFileReadLine, QFile) +result = KJS::jsString(object->readLine().data()); +END_OBJECT_METHOD + +START_OBJECT_METHOD(callFileReadAll, QFile) +result = KJS::jsString(object->readAll().data()); +END_OBJECT_METHOD + +START_OBJECT_METHOD(callFileWriteLine, QFile) +result = KJS::jsNumber((long int)object->write(KJSEmbed::extractQByteArray(exec, args, 0) + '\n')); +END_OBJECT_METHOD + +START_OBJECT_METHOD(callFileAtEnd, QFile) +result = KJS::jsBoolean(object->atEnd()); +END_OBJECT_METHOD + +START_STATIC_OBJECT_METHOD(callOpenFile) +QFile *file = new QFile(KJSEmbed::extractQString(exec, args, 0)); +if (file->open((QIODevice::OpenModeFlag) KJSEmbed::extractInt(exec, args, 0))) +{ + return new KJSEmbed::FileIOBinding(exec, file); +} +delete file; +KJS::throwError(exec, KJS::TypeError, i18n("Could not open file '%1'", KJSEmbed::extractQString(exec, args, 0))); +return KJS::jsNull(); +END_STATIC_OBJECT_METHOD + +START_STATIC_OBJECT_METHOD(callRemoveFile) +return KJS::jsBoolean(QFile::remove(KJSEmbed::extractQString(exec, args, 0))); +END_STATIC_OBJECT_METHOD + +START_STATIC_OBJECT_METHOD(callCopyFile) +return KJS::jsBoolean(QFile::copy(KJSEmbed::extractQString(exec, args, 0), KJSEmbed::extractQString(exec, args, 0))); +END_STATIC_OBJECT_METHOD + +START_STATIC_OBJECT_METHOD(callMoveFile) +if (QFile::copy(KJSEmbed::extractQString(exec, args, 0), KJSEmbed::extractQString(exec, args, 0))) +{ + return KJS::jsBoolean(QFile::remove(KJSEmbed::extractQString(exec, args, 0))); +} +return KJS::jsBoolean(false); +END_STATIC_OBJECT_METHOD + +START_STATIC_OBJECT_METHOD(callLinkFile) +return KJS::jsBoolean(QFile::link(KJSEmbed::extractQString(exec, args, 0), KJSEmbed::extractQString(exec, args, 0))); +END_STATIC_OBJECT_METHOD + +START_STATIC_OBJECT_METHOD(callExistsFile) +return KJS::jsBoolean(QFile::exists(KJSEmbed::extractQString(exec, args, 0))); +END_STATIC_OBJECT_METHOD + +START_STATIC_OBJECT_METHOD(callTempFile) +QTemporaryFile *file = new QTemporaryFile(KJSEmbed::extractQString(exec, args, 0)); +file->setAutoRemove(KJSEmbed::extractBool(exec, args, 1)); + +if (file->open()) +{ + return new KJSEmbed::FileIOBinding(exec, file); +} +delete file; +KJS::throwError(exec, KJS::GeneralError, i18n("Could not create temporary file.")); +END_STATIC_OBJECT_METHOD + +START_STATIC_METHOD_LUT(FileIO) +{"openfile", 2, KJS::DontDelete | KJS::ReadOnly, &callOpenFile }, +{"remove", 1, KJS::DontDelete | KJS::ReadOnly, &callRemoveFile }, +{"copy", 2, KJS::DontDelete | KJS::ReadOnly, &callCopyFile }, +{"move", 2, KJS::DontDelete | KJS::ReadOnly, &callMoveFile }, +{"link", 2, KJS::DontDelete | KJS::ReadOnly, &callLinkFile }, +{"exists", 2, KJS::DontDelete | KJS::ReadOnly, &callExistsFile }, +{"tempfile", 2, KJS::DontDelete | KJS::ReadOnly, &callTempFile } +END_METHOD_LUT + +START_ENUM_LUT(FileIO) +{"ReadOnly", QIODevice::ReadOnly }, +{"WriteOnly", QIODevice::WriteOnly }, +{"ReadWrite", QIODevice::ReadWrite } +END_ENUM_LUT + +START_METHOD_LUT(FileIO) +{"open", 1, KJS::DontDelete | KJS::ReadOnly, &callFileOpen }, +{"close", 0, KJS::DontDelete | KJS::ReadOnly, &callFileClose }, +{"readln", 0, KJS::DontDelete | KJS::ReadOnly, &callFileReadLine }, +{"readAll", 0, KJS::DontDelete | KJS::ReadOnly, &callFileReadAll }, +{"writeln", 1, KJS::DontDelete | KJS::ReadOnly, &callFileWriteLine }, +{"atEnd", 0, KJS::DontDelete | KJS::ReadOnly, &callFileAtEnd } +END_METHOD_LUT + +START_CTOR(FileIO, File, 1) +return new KJSEmbed::FileIOBinding(exec, new QFile(KJSEmbed::extractQString(exec, args, 0))); +END_CTOR + diff --git a/src/kjsembed/fileio.h b/src/kjsembed/fileio.h new file mode 100644 index 0000000..bbcada1 --- /dev/null +++ b/src/kjsembed/fileio.h @@ -0,0 +1,44 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef FILEIO_H +#define FILEIO_H + +#include "object_binding.h" +#include "static_binding.h" + +class QFile; + +namespace KJSEmbed +{ +/** @internal Implementation of an IO API for scripts. */ +class FileIOBinding : public ObjectBinding +{ +public: + FileIOBinding(KJS::ExecState *exec, QFile *value); +}; + +KJS_BINDING(FileIO) +} + +#endif + diff --git a/src/kjsembed/font.cpp b/src/kjsembed/font.cpp new file mode 100644 index 0000000..3877006 --- /dev/null +++ b/src/kjsembed/font.cpp @@ -0,0 +1,350 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ +#include "font.h" + +#include +#include +#include +using namespace KJSEmbed; + +const KJS::ClassInfo FontBinding::info = { "QFont", &VariantBinding::info, nullptr, nullptr }; +FontBinding::FontBinding(KJS::ExecState *exec, const QFont &value) + : VariantBinding(exec, value) +{ + StaticBinding::publish(exec, this, Font::methods()); + StaticBinding::publish(exec, this, VariantFactory::methods()); +} + +namespace FontNS +{ + +START_VARIANT_METHOD(callbold, QFont) +bool cppValue = value.bold(); +result = KJS::jsBoolean(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callexactMatch, QFont) +bool cppValue = value.exactMatch(); +result = KJS::jsBoolean(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callfamily, QFont) +QString cppValue = value.family(); +result = KJS::jsString(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callfixedPitch, QFont) +bool cppValue = value.fixedPitch(); +result = KJS::jsBoolean(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callfromString, QFont) +QString arg0 = KJSEmbed::extractQString(exec, args, 0); +bool cppValue = value.fromString(arg0); +result = KJS::jsBoolean(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callinsertSubstitution, QFont) +QString arg0 = KJSEmbed::extractQString(exec, args, 0); +QString arg1 = KJSEmbed::extractQString(exec, args, 1); +value.insertSubstitution(arg0, arg1); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callinsertSubstitutions, QFont) +QString arg0 = KJSEmbed::extractQString(exec, args, 0); +QStringList arg1 = KJSEmbed::extractQStringList(exec, args, 1); +value.insertSubstitutions(arg0, arg1); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callisCopyOf, QFont) +QFont arg0 = KJSEmbed::extractVariant(exec, args, 0); +bool cppValue = value.isCopyOf(arg0); +result = KJS::jsBoolean(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callitalic, QFont) +bool cppValue = value.italic(); +result = KJS::jsBoolean(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callkerning, QFont) +bool cppValue = value.kerning(); +result = KJS::jsBoolean(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callkey, QFont) +QString cppValue = value.key(); +result = KJS::jsString(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(calllastResortFamily, QFont) +QString cppValue = value.lastResortFamily(); +result = KJS::jsString(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(calllastResortFont, QFont) +QString cppValue = value.lastResortFont(); +result = KJS::jsString(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(calloverline, QFont) +bool cppValue = value.overline(); +result = KJS::jsBoolean(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callpixelSize, QFont) +int cppValue = value.pixelSize(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callpointSize, QFont) +int cppValue = value.pointSize(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callrawMode, QFont) +bool cppValue = value.rawMode(); +result = KJS::jsBoolean(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callrawName, QFont) +QString cppValue = value.rawName(); +result = KJS::jsString(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callremoveSubstitution, QFont) +QString arg0 = KJSEmbed::extractQString(exec, args, 0); +value.removeSubstitution(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callresolve, QFont) +QFont arg0 = KJSEmbed::extractVariant(exec, args, 0); +QFont cppValue = value.resolve(arg0); +result = KJSEmbed::createVariant(exec, "QFont", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetBold, QFont) +bool arg0 = KJSEmbed::extractBool(exec, args, 0); +value.setBold(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetFamily, QFont) +QString arg0 = KJSEmbed::extractQString(exec, args, 0); +value.setFamily(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetFixedPitch, QFont) +bool arg0 = KJSEmbed::extractBool(exec, args, 0); +value.setFixedPitch(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetItalic, QFont) +bool arg0 = KJSEmbed::extractBool(exec, args, 0); +value.setItalic(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetKerning, QFont) +bool arg0 = KJSEmbed::extractBool(exec, args, 0); +value.setKerning(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetOverline, QFont) +bool arg0 = KJSEmbed::extractBool(exec, args, 0); +value.setOverline(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetPixelSize, QFont) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +value.setPixelSize(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetPointSize, QFont) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +value.setPointSize(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetRawMode, QFont) +bool arg0 = KJSEmbed::extractBool(exec, args, 0); +value.setRawMode(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetRawName, QFont) +QString arg0 = KJSEmbed::extractQString(exec, args, 0); +value.setRawName(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetStretch, QFont) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +value.setStretch(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetStrikeOut, QFont) +bool arg0 = KJSEmbed::extractBool(exec, args, 0); +value.setStrikeOut(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetStyle, QFont) +QFont::Style arg0 = (QFont::Style) KJSEmbed::extractInt(exec, args, 0); +value.setStyle(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetStyleHint, QFont) +QFont::StyleHint arg0 = (QFont::StyleHint) KJSEmbed::extractInt(exec, args, 0); +QFont::StyleStrategy arg1 = (QFont::StyleStrategy) KJSEmbed::extractInt(exec, args, 1); +value.setStyleHint(arg0, arg1); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetStyleStrategy, QFont) +QFont::StyleStrategy arg0 = (QFont::StyleStrategy) KJSEmbed::extractInt(exec, args, 0); +value.setStyleStrategy(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetUnderline, QFont) +bool arg0 = KJSEmbed::extractBool(exec, args, 0); +value.setUnderline(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetWeight, QFont) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +value.setWeight(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callstretch, QFont) +int cppValue = value.stretch(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callstrikeOut, QFont) +bool cppValue = value.strikeOut(); +result = KJS::jsBoolean(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callstyle, QFont) +QFont::Style cppValue = value.style(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callstyleHint, QFont) +QFont::StyleHint cppValue = value.styleHint(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callstyleStrategy, QFont) +QFont::StyleStrategy cppValue = value.styleStrategy(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsubstitute, QFont) +QString arg0 = KJSEmbed::extractQString(exec, args, 0); +QString cppValue = value.substitute(arg0); +result = KJS::jsString(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsubstitutes, QFont) +QString arg0 = KJSEmbed::extractQString(exec, args, 0); +QStringList cppValue = value.substitutes(arg0); +result = KJSEmbed::createQStringList(exec, cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsubstitutions, QFont) +QStringList cppValue = value.substitutions(); +result = KJSEmbed::createQStringList(exec, cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(calltoString, QFont) +QString cppValue = value.toString(); +result = KJS::jsString(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callunderline, QFont) +bool cppValue = value.underline(); +result = KJS::jsBoolean(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callweight, QFont) +int cppValue = value.weight(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD +} + +START_METHOD_LUT(Font) +{"bold", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callbold}, +{"exactMatch", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callexactMatch}, +{"family", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callfamily}, +{"fixedPitch", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callfixedPitch}, +{"fromString", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callfromString}, +{"insertSubstitution", 1, KJS::DontDelete | KJS::ReadOnly, &FontNS::callinsertSubstitution}, +{"insertSubstitutions", 1, KJS::DontDelete | KJS::ReadOnly, &FontNS::callinsertSubstitutions}, +{"isCopyOf", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callisCopyOf}, +{"italic", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callitalic}, +{"kerning", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callkerning}, +{"key", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callkey}, +{"lastResortFamily", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::calllastResortFamily}, +{"lastResortFont", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::calllastResortFont}, +{"overline", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::calloverline}, +{"pixelSize", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callpixelSize}, +{"pointSize", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callpointSize}, +{"rawMode", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callrawMode}, +{"rawName", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callrawName}, +{"removeSubstitution", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callremoveSubstitution}, +{"resolve", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callresolve}, +{"setBold", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callsetBold}, +{"setFamily", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callsetFamily}, +{"setFixedPitch", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callsetFixedPitch}, +{"setItalic", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callsetItalic}, +{"setKerning", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callsetKerning}, +{"setOverline", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callsetOverline}, +{"setPixelSize", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callsetPixelSize}, +{"setPointSize", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callsetPointSize}, +{"setRawMode", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callsetRawMode}, +{"setRawName", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callsetRawName}, +{"setStretch", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callsetStretch}, +{"setStrikeOut", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callsetStrikeOut}, +{"setStyle", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callsetStyle}, +{"setStyleHint", 1, KJS::DontDelete | KJS::ReadOnly, &FontNS::callsetStyleHint}, +{"setStyleStrategy", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callsetStyleStrategy}, +{"setUnderline", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callsetUnderline}, +{"setWeight", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callsetWeight}, +{"stretch", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callstretch}, +{"strikeOut", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callstrikeOut}, +{"style", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callstyle}, +{"styleHint", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callstyleHint}, +{"styleStrategy", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callstyleStrategy}, +{"substitute", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callsubstitute}, +{"substitutes", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callsubstitutes}, +{"substitutions", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callsubstitutions}, +{"toString", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::calltoString}, +{"underline", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callunderline}, +{"weight", 0, KJS::DontDelete | KJS::ReadOnly, &FontNS::callweight} +END_METHOD_LUT + +NO_ENUMS(Font) +NO_STATICS(Font) + +START_CTOR(Font, QFont, 0) +if (args.size() == 0) +{ + return new KJSEmbed::FontBinding(exec, QFont()); +} +return new KJSEmbed::FontBinding(exec, QFont()); +END_CTOR + diff --git a/src/kjsembed/font.h b/src/kjsembed/font.h new file mode 100644 index 0000000..62f7f83 --- /dev/null +++ b/src/kjsembed/font.h @@ -0,0 +1,53 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef FONT_H +#define FONT_H + +#include "variant_binding.h" +#include "static_binding.h" + +class QFont; + +namespace KJSEmbed +{ +/** @internal Implements the binding for QFont. */ +class FontBinding : public VariantBinding +{ +public: + FontBinding(KJS::ExecState *exec, const QFont &value); + const KJS::ClassInfo *classInfo() const override + { + return &info; + } + static const KJS::ClassInfo info; +}; + +/** +* Constructors: +* +* Methods: +*/ +KJS_BINDING(Font) +} +#endif + diff --git a/src/kjsembed/image.cpp b/src/kjsembed/image.cpp new file mode 100644 index 0000000..bb87363 --- /dev/null +++ b/src/kjsembed/image.cpp @@ -0,0 +1,345 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ +#include "image.h" +#include "object_binding.h" + +#include +#include +#include +#include + +using namespace KJSEmbed; + +const KJS::ClassInfo ImageBinding::info = { "QImage", &VariantBinding::info, nullptr, nullptr }; +ImageBinding::ImageBinding(KJS::ExecState *exec, const QImage &value) + : VariantBinding(exec, value) +{ + StaticBinding::publish(exec, this, VariantFactory::methods()); + StaticBinding::publish(exec, this, Image::methods()); +} + +namespace ImageNS +{ +START_VARIANT_METHOD(callallGray, QImage) +bool cppValue = value.allGray(); +result = KJS::jsBoolean(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callalphaChannel, QImage) +QImage cppValue = value.alphaChannel(); +result = KJSEmbed::createVariant(exec, "QImage", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callcopy, QImage) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +int arg1 = KJSEmbed::extractInt(exec, args, 1); +int arg2 = KJSEmbed::extractInt(exec, args, 2); +int arg3 = KJSEmbed::extractInt(exec, args, 3); +QImage cppValue = value.copy(arg0, arg1, arg2, arg3); +result = KJSEmbed::createVariant(exec, "QImage", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callcreateAlphaMask, QImage) +Qt::ImageConversionFlags arg0 = (Qt::ImageConversionFlags)KJSEmbed::extractInt(exec, args, 0); +QImage cppValue = value.createAlphaMask(arg0); +result = KJSEmbed::createVariant(exec, "QImage", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callcreateHeuristicMask, QImage) +bool arg0 = KJSEmbed::extractBool(exec, args, 0); +QImage cppValue = value.createHeuristicMask(arg0); +result = KJSEmbed::createVariant(exec, "QImage", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(calldepth, QImage) +int cppValue = value.depth(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(calldevType, QImage) +int cppValue = value.devType(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(calldotsPerMeterX, QImage) +int cppValue = value.dotsPerMeterX(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(calldotsPerMeterY, QImage) +int cppValue = value.dotsPerMeterY(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callfill, QImage) +uint arg0 = KJSEmbed::extractVariant(exec, args, 0); +value.fill(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callhasAlphaChannel, QImage) +bool cppValue = value.hasAlphaChannel(); +result = KJS::jsBoolean(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callheight, QImage) +int cppValue = value.height(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callinvertPixels, QImage) +QImage::InvertMode arg0 = (QImage::InvertMode)KJSEmbed::extractInt(exec, args, 0); +value.invertPixels(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callisGrayscale, QImage) +bool cppValue = value.isGrayscale(); +result = KJS::jsBoolean(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callisNull, QImage) +bool cppValue = value.isNull(); +result = KJS::jsBoolean(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callload, QImage) +QString arg0 = KJSEmbed::extractQString(exec, args, 0); +QByteArray arg1 = KJSEmbed::extractQString(exec, args, 1).toLatin1(); +bool cppValue = value.load(arg0, arg1); +result = KJS::jsBoolean(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callmirrored, QImage) +bool arg0 = KJSEmbed::extractBool(exec, args, 0); +bool arg1 = KJSEmbed::extractBool(exec, args, 1); +QImage cppValue = value.mirrored(arg0, arg1); +result = KJSEmbed::createVariant(exec, "QImage", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callnumBytes, QImage) +int cppValue = value.byteCount(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callnumColors, QImage) +int cppValue = value.colorCount(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(calloffset, QImage) +QPoint cppValue = value.offset(); +result = KJSEmbed::createVariant(exec, "QPoint", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callpixel, QImage) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +int arg1 = KJSEmbed::extractInt(exec, args, 1); +QRgb cppValue = value.pixel(arg0, arg1); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callpixelIndex, QImage) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +int arg1 = KJSEmbed::extractInt(exec, args, 1); +int cppValue = value.pixelIndex(arg0, arg1); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callrect, QImage) +QRect cppValue = value.rect(); +result = KJSEmbed::createVariant(exec, "QRect", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callrgbSwapped, QImage) +QImage cppValue = value.rgbSwapped(); +result = KJSEmbed::createVariant(exec, "QImage", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsave, QImage) +QString arg0 = KJSEmbed::extractQString(exec, args, 0); +QByteArray arg1 = KJSEmbed::extractQString(exec, args, 1).toLatin1(); +int arg2 = KJSEmbed::extractInt(exec, args, 2); +bool cppValue = value.save(arg0, arg1, arg2); +result = KJS::jsBoolean(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callscaled, QImage) +if (args.size() == 3) +{ + QSize arg0 = KJSEmbed::extractVariant(exec, args, 0); + Qt::AspectRatioMode arg1 = (Qt::AspectRatioMode)KJSEmbed::extractInt(exec, args, 1); + Qt::TransformationMode arg2 = (Qt::TransformationMode)KJSEmbed::extractInt(exec, args, 2); + QImage cppValue = value.scaled(arg0, arg1, arg2); + result = KJSEmbed::createVariant(exec, "QImage", cppValue); +} else if (args.size() == 4) +{ + int arg0 = KJSEmbed::extractInt(exec, args, 0); + int arg1 = KJSEmbed::extractInt(exec, args, 1); + Qt::AspectRatioMode arg2 = (Qt::AspectRatioMode)KJSEmbed::extractInt(exec, args, 2); + Qt::TransformationMode arg3 = (Qt::TransformationMode)KJSEmbed::extractInt(exec, args, 3); + QImage cppValue = value.scaled(arg0, arg1, arg2, arg3); + result = KJSEmbed::createVariant(exec, "QImage", cppValue); +} +END_VARIANT_METHOD + +START_VARIANT_METHOD(callscaledToHeight, QImage) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +Qt::TransformationMode arg1 = (Qt::TransformationMode)KJSEmbed::extractInt(exec, args, 1); +QImage cppValue = value.scaledToHeight(arg0, arg1); +result = KJSEmbed::createVariant(exec, "QImage", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callscaledToWidth, QImage) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +Qt::TransformationMode arg1 = (Qt::TransformationMode)KJSEmbed::extractInt(exec, args, 1); +QImage cppValue = value.scaledToWidth(arg0, arg1); +result = KJSEmbed::createVariant(exec, "QImage", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callserialNumber, QImage) +int cppValue = value.serialNumber(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetAlphaChannel, QImage) +QImage arg0 = KJSEmbed::extractVariant(exec, args, 0); +value.setAlphaChannel(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetColor, QImage) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +QRgb arg1 = (QRgb)KJSEmbed::extractInt(exec, args, 1); +value.setColor(arg0, arg1); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetDotsPerMeterX, QImage) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +value.setDotsPerMeterX(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetDotsPerMeterY, QImage) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +value.setDotsPerMeterY(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetNumColors, QImage) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +value.setColorCount(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetOffset, QImage) +QPoint arg0 = KJSEmbed::extractVariant(exec, args, 0); +value.setOffset(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetPixel, QImage) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +int arg1 = KJSEmbed::extractInt(exec, args, 1); +uint arg2 = KJSEmbed::extractVariant(exec, args, 2); +value.setPixel(arg0, arg1, arg2); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsize, QImage) +QSize cppValue = value.size(); +result = KJSEmbed::createVariant(exec, "QSize", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callvalid, QImage) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +int arg1 = KJSEmbed::extractInt(exec, args, 1); +bool cppValue = value.valid(arg0, arg1); +result = KJS::jsBoolean(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callwidth, QImage) +int cppValue = value.width(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +} + +START_METHOD_LUT(Image) +{"allGray", 0, KJS::DontDelete | KJS::ReadOnly, &ImageNS::callallGray}, +{"alphaChannel", 0, KJS::DontDelete | KJS::ReadOnly, &ImageNS::callalphaChannel}, +{"copy", 4, KJS::DontDelete | KJS::ReadOnly, &ImageNS::callcopy}, +{"createAlphaMask", 0, KJS::DontDelete | KJS::ReadOnly, &ImageNS::callcreateAlphaMask}, +{"createHeuristicMask", 0, KJS::DontDelete | KJS::ReadOnly, &ImageNS::callcreateHeuristicMask}, +{"depth", 0, KJS::DontDelete | KJS::ReadOnly, &ImageNS::calldepth}, +{"dotsPerMeterX", 0, KJS::DontDelete | KJS::ReadOnly, &ImageNS::calldotsPerMeterX}, +{"dotsPerMeterY", 0, KJS::DontDelete | KJS::ReadOnly, &ImageNS::calldotsPerMeterY}, +{"fill", 0, KJS::DontDelete | KJS::ReadOnly, &ImageNS::callfill}, +{"hasAlphaChannel", 0, KJS::DontDelete | KJS::ReadOnly, &ImageNS::callhasAlphaChannel}, +{"height", 0, KJS::DontDelete | KJS::ReadOnly, &ImageNS::callheight}, +{"invertPixels", 0, KJS::DontDelete | KJS::ReadOnly, &ImageNS::callinvertPixels}, +{"isGrayscale", 0, KJS::DontDelete | KJS::ReadOnly, &ImageNS::callisGrayscale}, +{"isNull", 0, KJS::DontDelete | KJS::ReadOnly, &ImageNS::callisNull}, +{"load", 1, KJS::DontDelete | KJS::ReadOnly, &ImageNS::callload}, +{"mirrored", 1, KJS::DontDelete | KJS::ReadOnly, &ImageNS::callmirrored}, +{"numBytes", 0, KJS::DontDelete | KJS::ReadOnly, &ImageNS::callnumBytes}, +{"numColors", 0, KJS::DontDelete | KJS::ReadOnly, &ImageNS::callnumColors}, +{"offset", 0, KJS::DontDelete | KJS::ReadOnly, &ImageNS::calloffset}, +{"pixel", 1, KJS::DontDelete | KJS::ReadOnly, &ImageNS::callpixel}, +{"pixelIndex", 1, KJS::DontDelete | KJS::ReadOnly, &ImageNS::callpixelIndex}, +{"rect", 0, KJS::DontDelete | KJS::ReadOnly, &ImageNS::callrect}, +{"rgbSwapped", 0, KJS::DontDelete | KJS::ReadOnly, &ImageNS::callrgbSwapped}, +{"save", 2, KJS::DontDelete | KJS::ReadOnly, &ImageNS::callsave}, +{"scaled", 3, KJS::DontDelete | KJS::ReadOnly, &ImageNS::callscaled}, +{"scaledToHeight", 1, KJS::DontDelete | KJS::ReadOnly, &ImageNS::callscaledToHeight}, +{"scaledToWidth", 1, KJS::DontDelete | KJS::ReadOnly, &ImageNS::callscaledToWidth}, +{"serialNumber", 0, KJS::DontDelete | KJS::ReadOnly, &ImageNS::callserialNumber}, +{"setAlphaChannel", 0, KJS::DontDelete | KJS::ReadOnly, &ImageNS::callsetAlphaChannel}, +{"setColor", 1, KJS::DontDelete | KJS::ReadOnly, &ImageNS::callsetColor}, +{"setDotsPerMeterX", 0, KJS::DontDelete | KJS::ReadOnly, &ImageNS::callsetDotsPerMeterX}, +{"setDotsPerMeterY", 0, KJS::DontDelete | KJS::ReadOnly, &ImageNS::callsetDotsPerMeterY}, +{"setNumColors", 0, KJS::DontDelete | KJS::ReadOnly, &ImageNS::callsetNumColors}, +{"setOffset", 0, KJS::DontDelete | KJS::ReadOnly, &ImageNS::callsetOffset}, +{"setPixel", 2, KJS::DontDelete | KJS::ReadOnly, &ImageNS::callsetPixel}, +{"size", 0, KJS::DontDelete | KJS::ReadOnly, &ImageNS::callsize}, +{"valid", 1, KJS::DontDelete | KJS::ReadOnly, &ImageNS::callvalid}, +{"width", 0, KJS::DontDelete | KJS::ReadOnly, &ImageNS::callwidth} +END_METHOD_LUT + +NO_ENUMS(Image) +NO_STATICS(Image) + +START_CTOR(Image, QImage, 0) +if (args.size() == 0) +{ + return new KJSEmbed::ImageBinding(exec, QImage()); +} +if (args.size() == 1) +{ + return new KJSEmbed::ImageBinding(exec, QImage(KJSEmbed::extractQString(exec, args, 0))); +} else if (args.size() == 2) +{ + return new KJSEmbed::ImageBinding(exec, + QImage(KJSEmbed::extractVariant(exec, args, 0), + (QImage::Format)KJSEmbed::extractInt(exec, args, 1))); +} else if (args.size() == 3) +{ + return new KJSEmbed::ImageBinding(exec, + QImage(KJSEmbed::extractInt(exec, args, 0), + KJSEmbed::extractInt(exec, args, 1), + (QImage::Format)KJSEmbed::extractInt(exec, args, 2))); +} +return new KJSEmbed::ImageBinding(exec, QImage()); +END_CTOR + diff --git a/src/kjsembed/image.h b/src/kjsembed/image.h new file mode 100644 index 0000000..550a732 --- /dev/null +++ b/src/kjsembed/image.h @@ -0,0 +1,53 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef IMAGE_H +#define IMAGE_H + +#include "variant_binding.h" +#include "static_binding.h" + +class QImage; + +namespace KJSEmbed +{ +/** @internal Implements the bniding for QImage. */ +class ImageBinding : public VariantBinding +{ +public: + ImageBinding(KJS::ExecState *exec, const QImage &value); + const KJS::ClassInfo *classInfo() const override + { + return &info; + } + static const KJS::ClassInfo info; +}; + +/** +* Constructors: +* +* Methods: +*/ +KJS_BINDING(Image) +} +#endif + diff --git a/src/kjsembed/iosupport.cpp b/src/kjsembed/iosupport.cpp new file mode 100644 index 0000000..ce928af --- /dev/null +++ b/src/kjsembed/iosupport.cpp @@ -0,0 +1,92 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ +#include "iosupport.h" +#include "static_binding.h" +#include "kjseglobal.h" + +#include +#include +#include + +#include +#include + +using namespace KJSEmbed; + +KJS::JSValue *callPrint(KJS::ExecState *exec, KJS::JSObject * /*self*/, const KJS::List &args) +{ + (*KJSEmbed::conout()) << toQString(args[0]->toString(exec)); + return KJS::jsNull(); +} + +KJS::JSValue *callPrintLn(KJS::ExecState *exec, KJS::JSObject * /*self*/, const KJS::List &args) +{ + (*KJSEmbed::conout()) << toQString(args[0]->toString(exec)) << Qt::endl; + return KJS::jsNull(); +} + +KJS::JSValue *callDebug(KJS::ExecState *exec, KJS::JSObject * /*self*/, const KJS::List &args) +{ + //(*KJSEmbed::conerr()) << "Debug: " << toQString(args[0]->toString(exec)) << Qt::endl; + qDebug() << "Debug: " << toQString(args[0]->toString(exec)); + return KJS::jsNull(); +} + +KJS::JSValue *callReadLine(KJS::ExecState *exec, KJS::JSObject * /*self*/, const KJS::List &args) +{ + Q_UNUSED(exec); + Q_UNUSED(args); + QString line = conin()->readLine(); + return KJS::jsString(line); +} + +KJS::JSValue *callSystem(KJS::ExecState *exec, KJS::JSObject * /*self*/, const KJS::List &args) +{ + QStringList processArgs = toQString(args[0]->toString(exec)).split(' '); + QString app = processArgs[0]; + processArgs.pop_front(); + + const QString executable = QStandardPaths::findExecutable(app); + if (executable.isEmpty()) { + return KJS::throwError(exec, KJS::GeneralError, "Could not find appliction."); + } + + QProcess systemProcess; + systemProcess.start(executable, processArgs); + if (!systemProcess.waitForStarted()) { + return KJS::throwError(exec, KJS::GeneralError, "Application could not start."); + } + if (!systemProcess.waitForFinished()) { + return KJS::throwError(exec, KJS::GeneralError, "Application crashed."); + } + return KJS::jsString(systemProcess.readAll().data()); +} + +const Method IoFactory::IoMethods[] = { + {"debug", 1, KJS::DontDelete | KJS::ReadOnly, &callDebug }, + {"print", 1, KJS::DontDelete | KJS::ReadOnly, &callPrint }, + {"println", 1, KJS::DontDelete | KJS::ReadOnly, &callPrintLn }, + {"readln", 0, KJS::DontDelete | KJS::ReadOnly, &callReadLine }, + {"system", 1, KJS::DontDelete | KJS::ReadOnly, &callSystem }, + {nullptr, 0, 0, nullptr } +}; + diff --git a/src/kjsembed/iosupport.h b/src/kjsembed/iosupport.h new file mode 100644 index 0000000..3d44908 --- /dev/null +++ b/src/kjsembed/iosupport.h @@ -0,0 +1,42 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef IOSUPPORT_H +#define IOSUPPORT_H + +#include "object_binding.h" + +namespace KJSEmbed +{ +struct Method; +class IoFactory +{ +public: + static const Method IoMethods[]; + static const Method *methods() + { + return IoMethods; + } +}; +} +#endif + diff --git a/src/kjsembed/jseventmapper.cpp b/src/kjsembed/jseventmapper.cpp new file mode 100644 index 0000000..23f0ab8 --- /dev/null +++ b/src/kjsembed/jseventmapper.cpp @@ -0,0 +1,297 @@ +/* This file is part of the KDE libraries + Copyright (C) 2001,2002,2003,2004,2005,2006 Ian Reinhart Geiser + Copyright (C) 2001,2002,2003,2004,2005,2006 Matt Broadstone + Copyright (C) 2001,2002,2003,2004,2005,2006 Richard J. Moore + Copyright (C) 2001,2002,2003,2004,2005,2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ +#include "jseventmapper.h" + +#include "kjseglobal.h" + +namespace KJSEmbed +{ + +JSEventMapper *JSEventMapper::m_inst = nullptr; + +/** Used internally for the event handler table. */ +struct EventType { + EventType(KJS::Identifier _id, QEvent::Type _type) : + id(_id), type(_type) + { + ; + } + + const KJS::Identifier id; + const QEvent::Type type; +}; +/* +Qt4 events as of Qt 4.0 + None = 0, // invalid event + Timer = 1, // timer event + MouseButtonPress = 2, // mouse button pressed + MouseButtonRelease = 3, // mouse button released + MouseButtonDblClick = 4, // mouse button double click + MouseMove = 5, // mouse move + KeyPress = 6, // key pressed + KeyRelease = 7, // key released + FocusIn = 8, // keyboard focus received + FocusOut = 9, // keyboard focus lost + Enter = 10, // mouse enters widget + Leave = 11, // mouse leaves widget + Paint = 12, // paint widget + Move = 13, // move widget + Resize = 14, // resize widget + Create = 15, // after widget creation + Destroy = 16, // during widget destruction + Show = 17, // widget is shown + Hide = 18, // widget is hidden + Close = 19, // request to close widget + Quit = 20, // request to quit application + ParentChange = 21, // widget has been reparented + ParentAboutToChange = 131, // sent just before the parent change is done + ThreadChange = 22, // object has changed threads + WindowActivate = 24, // window was activated + WindowDeactivate = 25, // window was deactivated + ShowToParent = 26, // widget is shown to parent + HideToParent = 27, // widget is hidden to parent + Wheel = 31, // wheel event + WindowTitleChange = 33, // window title changed + WindowIconChange = 34, // icon changed + ApplicationWindowIconChange = 35, // application icon changed + ApplicationFontChange = 36, // application font changed + ApplicationLayoutDirectionChange = 37, // application layout direction changed + ApplicationPaletteChange = 38, // application palette changed + PaletteChange = 39, // widget palette changed + Clipboard = 40, // internal clipboard event + Speech = 42, // reserved for speech input + MetaCall = 43, // meta call event + SockAct = 50, // socket activation + WinEventAct = 123, // win event activation + DeferredDelete = 52, // deferred delete event + DragEnter = 60, // drag moves into widget + DragMove = 61, // drag moves in widget + DragLeave = 62, // drag leaves or is canceled + Drop = 63, // actual drop + DragResponse = 64, // drag accepted/rejected + ChildAdded = 68, // new child widget + ChildPolished = 69, // polished child widget + ChildRemoved = 71, // deleted child widget + ShowWindowRequest = 73, // widget's window should be mapped + PolishRequest = 74, // widget should be polished + Polish = 75, // widget is polished + LayoutRequest = 76, // widget should be relayouted + UpdateRequest = 77, // widget should be repainted + EmbeddingControl = 79, // ActiveX embedding + ActivateControl = 80, // ActiveX activation + DeactivateControl = 81, // ActiveX deactivation + ContextMenu = 82, // context popup menu + InputMethod = 83, // input method + AccessibilityPrepare = 86, // accessibility information is requested + TabletMove = 87, // Wacom tablet event + LocaleChange = 88, // the system locale changed + LanguageChange = 89, // the application language changed + LayoutDirectionChange = 90, // the layout direction changed + Style = 91, // internal style event + TabletPress = 92, // tablet press + TabletRelease = 93, // tablet release + OkRequest = 94, // CE (Ok) button pressed + HelpRequest = 95, // CE (?) button pressed + IconDrag = 96, // proxy icon dragged + FontChange = 97, // font has changed + EnabledChange = 98, // enabled state has changed + ActivationChange = 99, // window activation has changed + StyleChange = 100, // style has changed + IconTextChange = 101, // icon text has changed + ModifiedChange = 102, // modified state has changed + MouseTrackingChange = 109, // mouse tracking state has changed + WindowBlocked = 103, // window is about to be blocked modally + WindowUnblocked = 104, // windows modal blocking has ended + WindowStateChange = 105, + ToolTip = 110, + WhatsThis = 111, + StatusTip = 112, + ActionChanged = 113, + ActionAdded = 114, + ActionRemoved = 115, + FileOpen = 116, // file open request + Shortcut = 117, // shortcut triggered + ShortcutOverride = 51, // shortcut override request + WhatsThisClicked = 118, + ToolBarChange = 120, // toolbar visibility toggled + ApplicationActivated = 121, // application has been changed to active + ApplicationDeactivated = 122, // application has been changed to inactive + QueryWhatsThis = 123, // query what's this widget help + EnterWhatsThisMode = 124, + LeaveWhatsThisMode = 125, + ZOrderChange = 126, // child widget has had its z-order changed + HoverEnter = 127, // mouse cursor enters a hover widget + HoverLeave = 128, // mouse cursor leaves a hover widget + HoverMove = 129, // mouse cursor move inside a hover widget + AccessibilityHelp = 119, // accessibility help text request + AccessibilityDescription = 130 +*/ +static EventType events[] = { + EventType(KJS::Identifier("onTimerEvent"), QEvent::Timer), + EventType(KJS::Identifier("onMouseButtonPressEvent"), QEvent::MouseButtonPress), + EventType(KJS::Identifier("onMouseButtonReleaseEvent"), QEvent::MouseButtonRelease), + EventType(KJS::Identifier("onMouseButtonDblClickEvent"), QEvent::MouseButtonDblClick), + EventType(KJS::Identifier("onMouseMoveEvent"), QEvent::MouseMove), + EventType(KJS::Identifier("onKeyPressEvent"), QEvent::KeyPress), + EventType(KJS::Identifier("onKeyReleaseEvent"), QEvent::KeyRelease), + EventType(KJS::Identifier("onFocusInEvent"), QEvent::FocusIn), + EventType(KJS::Identifier("onFocusOutEvent"), QEvent::FocusOut), + EventType(KJS::Identifier("onEnterEvent"), QEvent::Enter), + EventType(KJS::Identifier("onLeaveEvent"), QEvent::Leave), + EventType(KJS::Identifier("onPaintEvent"), QEvent::Paint), + EventType(KJS::Identifier("onMoveEvent"), QEvent::Move), + EventType(KJS::Identifier("onResizeEvent"), QEvent::Resize), + EventType(KJS::Identifier("onCreateEvent"), QEvent::Create), + EventType(KJS::Identifier("onDestroyEvent"), QEvent::Destroy), + EventType(KJS::Identifier("onShowEvent"), QEvent::Show), + EventType(KJS::Identifier("onHideEvent"), QEvent::Hide), + EventType(KJS::Identifier("onCloseEvent"), QEvent::Close), + EventType(KJS::Identifier("onQuitEvent"), QEvent::Quit), + EventType(KJS::Identifier("onParentChangeEvent"), QEvent::ParentChange), + EventType(KJS::Identifier("onParentAboutToChangeEvent"), QEvent::ParentAboutToChange), + EventType(KJS::Identifier("onThreadChangeEvent"), QEvent::ThreadChange), + EventType(KJS::Identifier("onWindowActivateEvent"), QEvent::WindowActivate), + EventType(KJS::Identifier("onWindowDeactivateEvent"), QEvent::WindowDeactivate), + EventType(KJS::Identifier("onShowToParentEvent"), QEvent::ShowToParent), + EventType(KJS::Identifier("onHideToParentEvent"), QEvent::HideToParent), + EventType(KJS::Identifier("onWheelEvent"), QEvent::Wheel), + EventType(KJS::Identifier("onWindowTitleChangeEvent"), QEvent::WindowTitleChange), + EventType(KJS::Identifier("onWindowIconChangeEvent"), QEvent::WindowIconChange), + EventType(KJS::Identifier("onApplicationWindowIconChangeEvent"), QEvent::ApplicationWindowIconChange), + EventType(KJS::Identifier("onApplicationFontChangeEvent"), QEvent::ApplicationFontChange), + EventType(KJS::Identifier("onApplicationLayoutDirectionChangeEvent"), QEvent::ApplicationLayoutDirectionChange), + EventType(KJS::Identifier("onApplicationPaletteChangeEvent"), QEvent::ApplicationPaletteChange), + EventType(KJS::Identifier("onPaletteChangeEvent"), QEvent::PaletteChange), + EventType(KJS::Identifier("onClipboardEvent"), QEvent::Clipboard), + EventType(KJS::Identifier("onSpeechEvent"), QEvent::Speech), + EventType(KJS::Identifier("onMetaCallEvent"), QEvent::MetaCall), + EventType(KJS::Identifier("onSockActEvent"), QEvent::SockAct), + EventType(KJS::Identifier("onWinEventActEvent"), QEvent::WinEventAct), + EventType(KJS::Identifier("onDeferredDeleteEvent"), QEvent::DeferredDelete), + EventType(KJS::Identifier("onDragEnterEvent"), QEvent::DragEnter), + EventType(KJS::Identifier("onDragMoveEvent"), QEvent::DragMove), + EventType(KJS::Identifier("onDragLeaveEvent"), QEvent::DragLeave), + EventType(KJS::Identifier("onDropEvent"), QEvent::Drop), + EventType(KJS::Identifier("onDragResponseEvent"), QEvent::DragResponse), + EventType(KJS::Identifier("onChildAddedEvent"), QEvent::ChildAdded), + EventType(KJS::Identifier("onChildPolishedEvent"), QEvent::ChildRemoved), + EventType(KJS::Identifier("onShowWindowRequestEvent"), QEvent::ShowWindowRequest), + EventType(KJS::Identifier("onPolishRequestEvent"), QEvent::PolishRequest), + EventType(KJS::Identifier("onPolishEvent"), QEvent::Polish), + EventType(KJS::Identifier("onLayoutRequestEvent"), QEvent::LayoutRequest), + EventType(KJS::Identifier("onUpdateRequestEvent"), QEvent::UpdateRequest), + EventType(KJS::Identifier("onEmbeddingControlEvent"), QEvent::EmbeddingControl), + EventType(KJS::Identifier("onActivateControlEvent"), QEvent::ActivateControl), + EventType(KJS::Identifier("onDeactivateControlEvent"), QEvent::DeactivateControl), + EventType(KJS::Identifier("onContextMenuEvent"), QEvent::ContextMenu), + EventType(KJS::Identifier("onInputMethodEvent"), QEvent::InputMethod), + EventType(KJS::Identifier("onTabletMoveEvent"), QEvent::TabletMove), + EventType(KJS::Identifier("onLocaleChangeEvent"), QEvent::LocaleChange), + EventType(KJS::Identifier("onLanguageChangeEvent"), QEvent::LanguageChange), + EventType(KJS::Identifier("onLayoutDirectionChangeEvent"), QEvent::LayoutDirectionChange), + EventType(KJS::Identifier("onStyleEvent"), QEvent::Style), + EventType(KJS::Identifier("onTabletPressEvent"), QEvent::TabletPress), + EventType(KJS::Identifier("onTabletReleaseEvent"), QEvent::TabletRelease), + EventType(KJS::Identifier("onOkRequestEvent"), QEvent::OkRequest), + EventType(KJS::Identifier("onHelpRequestEvent"), QEvent::HelpRequest), + EventType(KJS::Identifier("onIconDragEvent"), QEvent::IconDrag), + EventType(KJS::Identifier("onFontChangeEvent"), QEvent::FontChange), + EventType(KJS::Identifier("onEnabledChangeEvent"), QEvent::EnabledChange), + EventType(KJS::Identifier("onActivationChangeEvent"), QEvent::ActivationChange), + EventType(KJS::Identifier("onStyleChangeEvent"), QEvent::StyleChange), + EventType(KJS::Identifier("onIconTextChangeEvent"), QEvent::IconTextChange), + EventType(KJS::Identifier("onModifiedChangeEvent"), QEvent::ModifiedChange), + EventType(KJS::Identifier("onMouseTrackingChangeEvent"), QEvent::MouseTrackingChange), + EventType(KJS::Identifier("onWindowBlockedEvent"), QEvent::WindowBlocked), + EventType(KJS::Identifier("onWindowUnblockedEvent"), QEvent::WindowUnblocked), + EventType(KJS::Identifier("onWindowStateChangeEvent"), QEvent::WindowStateChange), + EventType(KJS::Identifier("onToolTipEvent"), QEvent::ToolTip), + EventType(KJS::Identifier("onWhatsThisEvent"), QEvent::WhatsThis), + EventType(KJS::Identifier("onStatusTipEvent"), QEvent::StatusTip), + EventType(KJS::Identifier("onActionChangedEvent"), QEvent::ActionChanged), + EventType(KJS::Identifier("onActionAddedEvent"), QEvent::ActionAdded), + EventType(KJS::Identifier("onActionRemovedEvent"), QEvent::ActionRemoved), + EventType(KJS::Identifier("onFileOpenEvent"), QEvent::FileOpen), + EventType(KJS::Identifier("onShortcutEvent"), QEvent::Shortcut), + EventType(KJS::Identifier("onShortcutOverrideEvent"), QEvent::ShortcutOverride), + EventType(KJS::Identifier("onWhatsThisClickedEvent"), QEvent::WhatsThisClicked), + EventType(KJS::Identifier("onToolBarChangeEvent"), QEvent::ToolBarChange), + EventType(KJS::Identifier("onApplicationActivatedEvent"), QEvent::ApplicationActivated), + EventType(KJS::Identifier("onApplicationDeactivatedEvent"), QEvent::ApplicationDeactivated), + EventType(KJS::Identifier("onQueryWhatsThisEvent"), QEvent::QueryWhatsThis), + EventType(KJS::Identifier("onEnterWhatsThisModeEvent"), QEvent::EnterWhatsThisMode), + EventType(KJS::Identifier("onLeaveWhatsThisModeEvent"), QEvent::LeaveWhatsThisMode), + EventType(KJS::Identifier("onZOrderChangeEvent"), QEvent::ZOrderChange), + EventType(KJS::Identifier("onHoverEnterEvent"), QEvent::HoverEnter), + EventType(KJS::Identifier("onHoverLeaveEvent"), QEvent::HoverLeave), + EventType(KJS::Identifier("onHoverMoveEvent"), QEvent::HoverMove), + EventType(KJS::Identifier(), QEvent::None) +}; + +JSEventMapper::JSEventMapper() +{ + int i = 0; + do { + addEvent(events[i].id, events[i].type); + i++; + } while (events[i].type != QEvent::None); +} + +JSEventMapper::~JSEventMapper() +{ +} + +void JSEventMapper::addEvent(const KJS::Identifier &name, QEvent::Type t) +{ + m_handlerToEvent[ toQString(name) ] = t; + m_eventToHandler[ t ] = name; +} + +QEvent::Type JSEventMapper::findEventType(const KJS::Identifier &name) const +{ + return m_handlerToEvent[ toQString(name) ]; +} + +bool JSEventMapper::isEventHandler(const KJS::Identifier &name) const +{ + return m_handlerToEvent.contains(toQString(name)); +} + +KJS::Identifier JSEventMapper::findEventHandler(QEvent::Type t) const +{ + return m_eventToHandler[t]; +} + +JSEventMapper *JSEventMapper::mapper() +{ + if (m_inst) { + return m_inst; + } + m_inst = new JSEventMapper(); + return m_inst; +} + +} // namespace KJSEmbed + +// Local Variables: +// End: + diff --git a/src/kjsembed/jseventmapper.h b/src/kjsembed/jseventmapper.h new file mode 100644 index 0000000..c707f9f --- /dev/null +++ b/src/kjsembed/jseventmapper.h @@ -0,0 +1,84 @@ +/* This file is part of the KDE libraries + Copyright (C) 2001,2002,2003,2004,2005,2006 Ian Reinhart Geiser + Copyright (C) 2001,2002,2003,2004,2005,2006 Matt Broadstone + Copyright (C) 2001,2002,2003,2004,2005,2006 Richard J. Moore + Copyright (C) 2001,2002,2003,2004,2005,2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef JSEVENTMAPPER_H +#define JSEVENTMAPPER_H + +#include +#include + +#include + +namespace KJSEmbed +{ + +/** +* Maintains a map between the types of QEvent and the names of their event +* handlers. This class handles all of the built in Qt events. To add your own custom events you can simply +* call mapper()->addEvent(KJS::Identifier("onMyCustomEvent"), QEvent::User + 1). Then in your javascript +* you can just do the following: +* @code +* var myQObject = new QObjectBinding(this); +* myQObject.onMyCustomEvent = function () { //do stuff ;} +* @endcode +* +* In cases where you need to handle properties on your custom event, you will need to provide a binding to +* that event and KJSEmbed will create an instance of it for you as the argument in your event handler. +* @author Richard Moore, rich@kde.org +* @author Ian Reinhart Geiser, geiseri@kde.org +*/ +class JSEventMapper +{ +public: + virtual ~JSEventMapper(); + + /** + * Adds an event to the map. The event handler has the specified name, and + * the event has the specified type. + */ + void addEvent(const KJS::Identifier &name, QEvent::Type t); + + /** Returns true iff the specified name is the identifier for an event handler. */ + bool isEventHandler(const KJS::Identifier &name) const; + + /** Returns the type of the events handled by the specified handler. */ + QEvent::Type findEventType(const KJS::Identifier &name) const; + + /** Returns the name of the handler method for the specified event type. */ + KJS::Identifier findEventHandler(QEvent::Type t) const; + + /** + * Return the global event mapper. + */ + static JSEventMapper *mapper(); + +private: + JSEventMapper(); + static JSEventMapper *m_inst; + QHash m_handlerToEvent; + QHash m_eventToHandler; +}; + +} // namespace KJSEmbed + +#endif // JSEVENTMAPPER_H + diff --git a/src/kjsembed/jseventutils.cpp b/src/kjsembed/jseventutils.cpp new file mode 100644 index 0000000..5314ecc --- /dev/null +++ b/src/kjsembed/jseventutils.cpp @@ -0,0 +1,313 @@ +/* This file is part of the KDE libraries + Copyright (C) 2003,2004,2005, 2006 Ian Reinhart Geiser + Copyright (C) 2003,2004,2005, 2006 Matt Broadstone + Copyright (C) 2003,2004,2005, 2006 Richard J. Moore + Copyright (C) 2003,2004,2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#include "jseventutils.h" +#include "qobject_binding.h" + +namespace KJSEmbed +{ + +namespace JSEventUtils +{ +KJS::JSObject *event(KJS::ExecState *exec, const QEvent *ev) +{ + switch (ev->type()) { + case QEvent::Resize: + return convertEvent(exec, (QResizeEvent *)ev); + break; + case QEvent::Timer: + return convertEvent(exec, (QTimerEvent *)ev); + break; + case QEvent::MouseButtonPress: + case QEvent::MouseButtonRelease: + case QEvent::MouseButtonDblClick: + case QEvent::MouseMove: + case QEvent::Enter: + case QEvent::Leave: + return convertEvent(exec, (QMouseEvent *)ev); + break; + case QEvent::KeyPress: + case QEvent::KeyRelease: + return convertEvent(exec, (QKeyEvent *)ev); + break; + case QEvent::FocusIn: + case QEvent::FocusOut: + return convertEvent(exec, (QFocusEvent *)ev); + break; + case QEvent::Paint: + return convertEvent(exec, (QPaintEvent *)ev); + break; + case QEvent::Move: + return convertEvent(exec, (QMoveEvent *)ev); + break; + case QEvent::Create: + case QEvent::Destroy: + case QEvent::Show: + case QEvent::Hide: + case QEvent::Close: + return convertEvent(exec, (QCloseEvent *)ev); + break; + case QEvent::Quit: + case QEvent::ParentChange: + case QEvent::ParentAboutToChange: + case QEvent::ThreadChange: + case QEvent::WindowActivate: + case QEvent::WindowDeactivate: + case QEvent::ShowToParent: + case QEvent::HideToParent: + case QEvent::Wheel: + case QEvent::WindowTitleChange: + case QEvent::WindowIconChange: + case QEvent::ApplicationWindowIconChange: + case QEvent::ApplicationFontChange: + case QEvent::ApplicationLayoutDirectionChange: + case QEvent::ApplicationPaletteChange: + case QEvent::PaletteChange: + case QEvent::Clipboard: + case QEvent::Speech: + case QEvent::MetaCall: + case QEvent::SockAct: + //case QEvent::WinEventAct: conflicts with QEvent::QueryWhatsThis + case QEvent::DeferredDelete: + case QEvent::DragEnter: + case QEvent::DragMove: + case QEvent::DragLeave: + case QEvent::Drop: + case QEvent::DragResponse: + case QEvent::ChildAdded: + case QEvent::ChildPolished: + case QEvent::ChildRemoved: + case QEvent::ShowWindowRequest: + case QEvent::PolishRequest: + case QEvent::Polish: + case QEvent::LayoutRequest: + case QEvent::UpdateRequest: + case QEvent::EmbeddingControl: + case QEvent::ActivateControl: + case QEvent::DeactivateControl: + case QEvent::ContextMenu: + case QEvent::InputMethod: + case QEvent::TabletMove: + case QEvent::LocaleChange: + case QEvent::LanguageChange: + case QEvent::LayoutDirectionChange: + case QEvent::Style: + case QEvent::TabletPress: + case QEvent::TabletRelease: + case QEvent::OkRequest: + case QEvent::HelpRequest: + case QEvent::IconDrag: + case QEvent::FontChange: + case QEvent::EnabledChange: + case QEvent::ActivationChange: + case QEvent::StyleChange: + case QEvent::IconTextChange: + case QEvent::ModifiedChange: + case QEvent::MouseTrackingChange: + case QEvent::WindowBlocked: + case QEvent::WindowUnblocked: + case QEvent::WindowStateChange: + case QEvent::ToolTip: + case QEvent::WhatsThis: + case QEvent::StatusTip: + case QEvent::ActionChanged: + case QEvent::ActionAdded: + case QEvent::ActionRemoved: + case QEvent::FileOpen: + case QEvent::Shortcut: + case QEvent::ShortcutOverride: + case QEvent::WhatsThisClicked: + case QEvent::ToolBarChange: + case QEvent::ApplicationActivated: + case QEvent::ApplicationDeactivated: + case QEvent::QueryWhatsThis: + case QEvent::EnterWhatsThisMode: + case QEvent::LeaveWhatsThisMode: + case QEvent::ZOrderChange: + case QEvent::HoverEnter: + case QEvent::HoverLeave: + case QEvent::HoverMove: + default: + return convertEvent(exec, ev); + break; + } +} + +KJS::JSObject *convertEvent(KJS::ExecState *exec, const QEvent *ev) +{ + ObjectBinding *evnt = new ObjectBinding(exec, "QEvent", ev); + evnt->put(exec, "type", KJS::jsNumber((int) ev->type())); + evnt->put(exec, "spontaneous", KJS::jsBoolean(ev->spontaneous())); + evnt->put(exec, "isAccepted", KJS::jsBoolean(ev->isAccepted())); + return evnt; +} + +KJS::JSObject *convertEvent(KJS::ExecState *exec, const QInputEvent *ev) +{ + KJS::JSObject *iev = convertEvent(exec, (QEvent *)ev); + iev->put(exec, "modifiers", KJS::jsNumber(ev->modifiers())); + return iev; +} + +KJS::JSObject *convertEvent(KJS::ExecState *exec, const QMouseEvent *ev) +{ + KJS::JSObject *mev = convertEvent(exec, (QInputEvent *)ev); + + mev->put(exec, "pos", convertToValue(exec, ev->pos())); + mev->put(exec, "x", KJS::jsNumber(ev->x())); + mev->put(exec, "y", KJS::jsNumber(ev->y())); + + mev->put(exec, "globalPos", convertToValue(exec, ev->globalPos())); + mev->put(exec, "globalX", KJS::jsNumber(ev->globalX())); + mev->put(exec, "globalY", KJS::jsNumber(ev->globalY())); + + mev->put(exec, "button", KJS::jsNumber(ev->button())); + mev->put(exec, "buttons", KJS::jsNumber(ev->buttons())); + + return mev; +} + +KJS::JSObject *convertEvent(KJS::ExecState *exec, const QPaintEvent *ev) +{ + KJS::JSObject *pev = convertEvent(exec, (QEvent *)ev); + + pev->put(exec, "rect", convertToValue(exec, ev->rect())); +// pev->put( exec, "region", convertToValue( exec, ev->region() ) ); + return pev; +} + +KJS::JSObject *convertEvent(KJS::ExecState *exec, const QKeyEvent *ev) +{ + KJS::JSObject *kev = convertEvent(exec, (QInputEvent *)ev); + + kev->put(exec, "key", KJS::jsNumber(ev->key())); + kev->put(exec, "text", KJS::jsString(ev->text())); + kev->put(exec, "isAutoRepeat", KJS::jsBoolean(ev->isAutoRepeat())); + kev->put(exec, "count", KJS::jsNumber(ev->count())); + return kev; +} + +KJS::JSObject *convertEvent(KJS::ExecState *exec, const QInputMethodEvent *ev) +{ + KJS::JSObject *qev = convertEvent(exec, (QEvent *)ev); + + qev->put(exec, "commitString", KJS::jsString(ev->commitString())); + qev->put(exec, "preeditString", KJS::jsString(ev->preeditString())); + qev->put(exec, "replacementLength", KJS::jsNumber(ev->replacementLength())); + qev->put(exec, "replacementStart", KJS::jsNumber(ev->replacementStart())); + return qev; +} + +KJS::JSObject *convertEvent(KJS::ExecState *exec, const QResizeEvent *ev) +{ + KJS::JSObject *rev = convertEvent(exec, (QEvent *)ev); + + rev->put(exec, "size", convertToValue(exec, ev->size())); + rev->put(exec, "oldSize", convertToValue(exec, ev->oldSize())); + return rev; +} + +KJS::JSObject *convertEvent(KJS::ExecState *exec, const QCloseEvent *ev) +{ + KJS::JSObject *cev = convertEvent(exec, (QEvent *)ev); + + cev->put(exec, "isAccepted", KJS::jsBoolean(ev->isAccepted())); + return cev; +} + +KJS::JSObject *convertEvent(KJS::ExecState *exec, const QMoveEvent *ev) +{ + KJS::JSObject *mev = convertEvent(exec, (QEvent *)ev); + + mev->put(exec, "pos", convertToValue(exec, ev->pos())); + mev->put(exec, "oldPos", convertToValue(exec, ev->oldPos())); + return mev; +} + +KJS::JSObject *convertEvent(KJS::ExecState *exec, const QWheelEvent *ev) +{ + KJS::JSObject *wev = convertEvent(exec, (QInputEvent *)ev); + + wev->put(exec, "delta", KJS::jsNumber(ev->delta())); + wev->put(exec, "pos", convertToValue(exec, ev->pos())); + wev->put(exec, "globalPos", convertToValue(exec, ev->globalPos())); + wev->put(exec, "x", KJS::jsNumber(ev->x())); + wev->put(exec, "y", KJS::jsNumber(ev->y())); + wev->put(exec, "globalX", KJS::jsNumber(ev->globalX())); + wev->put(exec, "globalY", KJS::jsNumber(ev->globalY())); + wev->put(exec, "orientation", KJS::jsNumber(ev->orientation())); + wev->put(exec, "buttons", KJS::jsNumber(ev->buttons())); + + return wev; +} + +KJS::JSObject *convertEvent(KJS::ExecState *exec, const QDropEvent *ev) +{ + KJS::JSObject *dev = convertEvent(exec, (QEvent *)ev); + dev->put(exec, "pos", convertToValue(exec, ev->pos())); + dev->put(exec, "source", new QObjectBinding(exec, (QObject *)ev->source())); + dev->put(exec, "dropAction", KJS::jsNumber((int)(ev->dropAction()))); + dev->put(exec, "keyboardModifiers", KJS::jsNumber((int)(ev->keyboardModifiers()))); + dev->put(exec, "possibleActions", KJS::jsNumber((int)(ev->possibleActions()))); + dev->put(exec, "proposedAction", KJS::jsNumber((int)(ev->proposedAction()))); + return dev; +} + +KJS::JSObject *convertEvent(KJS::ExecState *exec, const QDragMoveEvent *ev) +{ + KJS::JSObject *mev = convertEvent(exec, (QDropEvent *)ev); + mev->put(exec, "answerRect", convertToValue(exec, ev->answerRect())); + return mev; +} + +KJS::JSObject *convertEvent(KJS::ExecState *exec, const QTimerEvent *ev) +{ + KJS::JSObject *dev = convertEvent(exec, (QEvent *)ev); + dev->put(exec, "timerId", KJS::jsNumber(ev->timerId())); + return dev; +} + +KJS::JSObject *convertEvent(KJS::ExecState *exec, const QContextMenuEvent *ev) +{ + KJS::JSObject *cxev = convertEvent(exec, (QInputEvent *)ev); + cxev->put(exec, "x", KJS::jsNumber(ev->x())); + cxev->put(exec, "y", KJS::jsNumber(ev->y())); + cxev->put(exec, "globalX", KJS::jsNumber(ev->globalX())); + cxev->put(exec, "globalY", KJS::jsNumber(ev->globalY())); + cxev->put(exec, "pos", convertToValue(exec, ev->pos())); + cxev->put(exec, "globalPos", convertToValue(exec, ev->globalPos())); + cxev->put(exec, "reason", KJS::jsNumber((int)ev->reason())); + return cxev; +} + +KJS::JSObject *convertEvent(KJS::ExecState *exec, const QFocusEvent *ev) +{ + KJS::JSObject *dev = convertEvent(exec, (QEvent *)ev); + dev->put(exec, "gotFocus", KJS::jsBoolean(ev->gotFocus())); + dev->put(exec, "lostFocus", KJS::jsBoolean(ev->lostFocus())); + //Gold star trolltech! + dev->put(exec, "reason", KJS::jsNumber((int) const_cast(ev)->reason())); + return dev; +} +}// namespace JSEventUtils +}// namespace KJSEmbed + diff --git a/src/kjsembed/jseventutils.h b/src/kjsembed/jseventutils.h new file mode 100644 index 0000000..e26231f --- /dev/null +++ b/src/kjsembed/jseventutils.h @@ -0,0 +1,60 @@ +/* This file is part of the KDE libraries + Copyright (C) 2003,2004,2005,2006 Ian Reinhart Geiser + Copyright (C) 2003,2004,2005,2006 Matt Broadstone + Copyright (C) 2003,2004,2005,2006 Richard J. Moore + Copyright (C) 2003,2004,2005,2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef KJSEMBED_JSEVENTUTILS_H +#define KJSEMBED_JSEVENTUTILS_H + +#include +#include + +#include + +namespace KJSEmbed +{ + +/** +* Utility class that contains the methods for converting event types to JS. +*/ +namespace JSEventUtils +{ +KJS::JSObject *event(KJS::ExecState *exec, const QEvent *ev); +KJS::JSObject *convertEvent(KJS::ExecState *exec, const QEvent *ev); +KJS::JSObject *convertEvent(KJS::ExecState *exec, const QInputEvent *ev); +KJS::JSObject *convertEvent(KJS::ExecState *exec, const QMouseEvent *ev); +KJS::JSObject *convertEvent(KJS::ExecState *exec, const QPaintEvent *ev); +KJS::JSObject *convertEvent(KJS::ExecState *exec, const QKeyEvent *ev); +KJS::JSObject *convertEvent(KJS::ExecState *exec, const QInputMethodEvent *ev); +KJS::JSObject *convertEvent(KJS::ExecState *exec, const QResizeEvent *ev); +KJS::JSObject *convertEvent(KJS::ExecState *exec, const QCloseEvent *ev); +KJS::JSObject *convertEvent(KJS::ExecState *exec, const QMoveEvent *ev); +KJS::JSObject *convertEvent(KJS::ExecState *exec, const QWheelEvent *ev); +KJS::JSObject *convertEvent(KJS::ExecState *exec, const QDropEvent *ev); +KJS::JSObject *convertEvent(KJS::ExecState *exec, const QDragMoveEvent *ev); +KJS::JSObject *convertEvent(KJS::ExecState *exec, const QTimerEvent *ev); +KJS::JSObject *convertEvent(KJS::ExecState *exec, const QContextMenuEvent *ev); +KJS::JSObject *convertEvent(KJS::ExecState *exec, const QFocusEvent *ev); +} + +} // KJSEmbed + +#endif // KJSEMBED_JSEVENTUTILS_H + diff --git a/src/kjsembed/kjseglobal.cpp b/src/kjsembed/kjseglobal.cpp new file mode 100644 index 0000000..e0dbdb1 --- /dev/null +++ b/src/kjsembed/kjseglobal.cpp @@ -0,0 +1,152 @@ +/* This file is part of the KDE libraries + Copyright (C) 2004, 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2004, 2005, 2006 Matt Broadstone + Copyright (C) 2004, 2005, 2006 Richard J. Moore + Copyright (C) 2004, 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#include "kjseglobal.h" + +#ifdef QT_ONLY +# include +# include +#endif + +#if defined(_WIN32) || defined(_WIN64) +# include +# include +# include +# include +# include +# include +#endif + +static QTextStream *kjsembed_err = nullptr; +static QTextStream *kjsembed_in = nullptr; +static QTextStream *kjsembed_out = nullptr; + +#if defined(_WIN32) || defined(_WIN64) +static QFile win32_stdin; +static QFile win32_stdout; +static QFile win32_stderr; + +static const WORD MAX_CONSOLE_LINES = 500; + +void RedirectIOToConsole() +{ + int hConHandle; + intptr_t lStdHandle; + CONSOLE_SCREEN_BUFFER_INFO coninfo; + AllocConsole(); + GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &coninfo); + coninfo.dwSize.Y = MAX_CONSOLE_LINES; + SetConsoleScreenBufferSize(GetStdHandle(STD_OUTPUT_HANDLE), coninfo.dwSize); + + lStdHandle = (intptr_t)GetStdHandle(STD_INPUT_HANDLE); + hConHandle = _open_osfhandle(lStdHandle, _O_TEXT); + win32_stdin.open(hConHandle, QIODevice::ReadOnly); + + lStdHandle = (intptr_t)GetStdHandle(STD_OUTPUT_HANDLE); + hConHandle = _open_osfhandle(lStdHandle, _O_TEXT); + win32_stdout.open(hConHandle, QIODevice::WriteOnly); + + lStdHandle = (intptr_t)GetStdHandle(STD_ERROR_HANDLE); + hConHandle = _open_osfhandle(lStdHandle, _O_TEXT); + win32_stderr.open(hConHandle, QIODevice::WriteOnly); + + std::ios::sync_with_stdio(); + +} + +#endif + +QTextStream &consoleOut() +{ + return *KJSEmbed::conout(); +} + +QTextStream &consoleError() +{ + return *KJSEmbed::conerr(); +} + +QTextStream &consoleIn() +{ + return *KJSEmbed::conin(); +} + +#ifdef QT_ONLY +QTextStream &kdDebug(int area) +{ +#ifndef QT_DEBUG + return consoleError() << "DEBUG: (" << area << ") "; +#else + return consoleOut(); +#endif + +} + +QTextStream &kdWarning(int area) +{ + return consoleOut() << "WARNING: (" << area << ") "; +} + +QString i18n(const char *string) +{ + return QCoreApplication::translate("KJSEmbed", string, "qjsembed string"); +} + +#endif + +QTextStream *KJSEmbed::conin() +{ + if (!kjsembed_in) { +#ifdef _WIN32 + kjsembed_in = new QTextStream(&win32_stdin); +#else + kjsembed_in = new QTextStream(stdin, QIODevice::ReadOnly); +#endif + } + return kjsembed_in; +} + +QTextStream *KJSEmbed::conout() +{ + if (!kjsembed_out) { +#ifdef _WIN32 + kjsembed_out = new QTextStream(&win32_stdout); +#else + kjsembed_out = new QTextStream(stdout, QIODevice::WriteOnly); +#endif + } + return kjsembed_out; + +} + +QTextStream *KJSEmbed::conerr() +{ + if (!kjsembed_err) { +#ifdef _WIN32 + kjsembed_err = new QTextStream(&win32_stderr); +#else + kjsembed_err = new QTextStream(stderr, QIODevice::WriteOnly); +#endif + } + return kjsembed_err; +} + diff --git a/src/kjsembed/kjseglobal.h b/src/kjsembed/kjseglobal.h new file mode 100644 index 0000000..c694f64 --- /dev/null +++ b/src/kjsembed/kjseglobal.h @@ -0,0 +1,128 @@ +/* This file is part of the KDE libraries + Copyright (C) 2004,2005,2006 Ian Reinhart Geiser + Copyright (C) 2004,2005,2006 Matt Broadstone + Copyright (C) 2004,2005,2006 Richard J. Moore + Copyright (C) 2004,2005,2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef KJSEGLOBAL_H +#define KJSEGLOBAL_H + +#include +#include + +#if !defined(Q_OS_WIN) +#include +#include + +namespace KJSEmbed +{ +KJSEMBED_EXPORT void RedirectIOToConsole(); +} + +#endif + +#include +namespace KJSEmbed +{ +KJSEMBED_EXPORT QTextStream *conin(); +KJSEMBED_EXPORT QTextStream *conout(); +KJSEMBED_EXPORT QTextStream *conerr(); +} + +#include +#include +#include + +namespace KJSEmbed +{ +inline QString toQString(const KJS::UString &u) +{ + return QString((QChar *)u.data(), u.size()); +} +inline QString toQString(const KJS::Identifier &i) +{ + return QString((QChar *)i.data(), i.size()); +} +inline KJS::UString toUString(const QString &qs) +{ + return KJS::UString((KJS::UChar *)qs.data(), qs.size()); +} +} + +namespace KJS +{ +inline KJS::JSCell *jsString(const QString &s) +{ + return jsString(KJSEmbed::toUString(s)); +} +} + +#ifndef QT_ONLY + +/* + * These are the normal definitions used when KDE is available. + */ + +#include +#include + +#else // QT_ONLY + +/* + * These are the custom definitions used when we only have Qt. + */ + +KJSEMBED_EXPORT QTextStream &kdDebug(int area = 0); +KJSEMBED_EXPORT QTextStream &kdWarning(int area = 0); + +#ifndef NO_I18N +KJSEMBED_EXPORT QString i18n(const char *string); +#else +#define i18n(x) QString(x) +#endif // NO_I18N + +inline KJSEMBED_EXPORT QString i18n(const QString &string, const QString &comment) +{ + return i18n(string.toUtf8().data(), comment.toUtf8().data()); +} +template +inline QString i18n(const char *text, const A1 &a1) +{ + return i18n(text).arg(a1); +} +template +inline QString i18n(const char *text, const A1 &a1, const A2 &a2) +{ + return i18n(text).arg(a1).arg(a2); +} +template +inline QString i18n(const char *text, const A1 &a1, const A2 &a2, const A3 &a3) +{ + return i18n(text).arg(a1).arg(a2).arg(a3); +} +template +inline QString i18n(const char *text, const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4) +{ + return i18n(text).arg(a1).arg(a2).arg(a3).arg(a4); +} + +#endif // QT_ONLY + +#endif // KJSEGLOBAL_H + diff --git a/src/kjsembed/kjsembed.cpp b/src/kjsembed/kjsembed.cpp new file mode 100644 index 0000000..dfb5ff8 --- /dev/null +++ b/src/kjsembed/kjsembed.cpp @@ -0,0 +1,312 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ +#include "kjsembed.h" +#include "binding_support.h" + +#include "qobject_binding.h" +#include "variant_binding.h" +#include "static_binding.h" + +#include "iosupport.h" +#include "quiloader_binding.h" +#ifdef KJSEMBED_FORMBUILDER_BINDING +#include "qformbuilder_binding.h" +#endif +#include "qpainter_binding.h" +#include "qwidget_binding.h" +#include "qaction_binding.h" +#include "qlayout_binding.h" +#include "svg_binding.h" +#include "filedialog_binding.h" +#include "settings.h" +#include "fileio.h" +#include "color.h" +#include "rect.h" +#include "size.h" +#include "point.h" +#include "image.h" +#include "pixmap.h" +#include "brush.h" +#include "pen.h" +#include "font.h" +#include "dom.h" +#include "url.h" +#include "application.h" + +#include "builtins.h" + +#include +#include + +#include +#include +#include + +#include + +/** +* Implement QString-KJS::UString conversion methods. These methods are declared +* by KJS, but libkjs doesn't actually contain their implementations. +* because we link against khtml , those functions are already implemented there. +* +*/ +namespace KJS +{ +#ifndef QTONLY_WEBKIT +UString::UString(const QString &d) +{ + uint len = d.length(); + UChar *dat = static_cast(fastMalloc(sizeof(UChar) * len)); + memcpy(dat, d.unicode(), len * sizeof(UChar)); + m_rep = UString::Rep::create(dat, len); +} + +QString UString::qstring() const +{ + return QString((QChar *) data(), size()); +} + +QString Identifier::qstring() const +{ + return QString((QChar *) data(), size()); +} +#endif +} + +namespace KJSEmbed +{ + +class EnginePrivate +{ +public: + EnginePrivate() + { + m_interpreter = new KJS::Interpreter(); + m_interpreter->initGlobalObject(); + m_interpreter->ref(); + } + ~EnginePrivate() + { + m_interpreter->deref(); + } + KJS::Interpreter *m_interpreter; + KJS::Completion m_currentResult; + bool m_bindingsEnabled; +}; + +void setup(KJS::ExecState *exec, KJS::JSObject *parent) +{ + StaticBinding::publish(exec, parent, IoFactory::methods()); // Global methods + StaticBinding::publish(exec, parent, FileDialog::methods()); // Global methods + StaticBinding::publish(exec, parent, BuiltinsFactory::methods()); // Global methods + StaticConstructor::add(exec, parent, FileIO::constructor()); // Ctor + StaticConstructor::add(exec, parent, DomNode::constructor()); // Ctor + StaticConstructor::add(exec, parent, DomDocument::constructor()); // Ctor + StaticConstructor::add(exec, parent, DomElement::constructor()); // Ctor + StaticConstructor::add(exec, parent, DomAttr::constructor()); // Ctor + StaticConstructor::add(exec, parent, DomDocumentType::constructor()); // Ctor + StaticConstructor::add(exec, parent, DomNodeList::constructor()); // Ctor + StaticConstructor::add(exec, parent, DomNamedNodeMap::constructor()); // Ctor + StaticConstructor::add(exec, parent, DomText::constructor()); // Ctor + StaticConstructor::add(exec, parent, Url::constructor()); // Ctor + StaticConstructor::add(exec, parent, SettingsBinding::constructor()); // Ctor + StaticConstructor::add(exec, parent, CoreApplicationBinding::constructor()); + StaticConstructor::add(exec, parent, Point::constructor()); // Ctor + StaticConstructor::add(exec, parent, Size::constructor()); // Ctor + StaticConstructor::add(exec, parent, Rect::constructor()); // Ctor + StaticConstructor::add(exec, parent, Color::constructor()); // Ctor + + // check if this is a GUI application + QApplication *app = ::qobject_cast(QCoreApplication::instance()); + if (app) { + //qDebug("Loading GUI Bindings"); + +#ifdef KJSEMBED_FORMBUILDER_BINDING + StaticConstructor::add(exec, parent, FormBuilder::constructor()); // Ctor +#endif + StaticConstructor::add(exec, parent, UiLoaderBinding::constructor()); // Ctor + StaticConstructor::add(exec, parent, QWidgetBinding::constructor()); // Ctor + StaticConstructor::add(exec, parent, Layout::constructor()); // Ctor + StaticConstructor::add(exec, parent, Action::constructor()); // Ctor + StaticConstructor::add(exec, parent, ActionGroup::constructor()); // Ctor + StaticConstructor::add(exec, parent, Font::constructor()); // Ctor + StaticConstructor::add(exec, parent, Pen::constructor()); // Ctor + StaticConstructor::add(exec, parent, Brush::constructor()); // Ctor + StaticConstructor::add(exec, parent, Image::constructor()); // Ctor + StaticConstructor::add(exec, parent, Pixmap::constructor()); // Ctor + StaticConstructor::add(exec, parent, Painter::constructor()); // Ctor + StaticConstructor::add(exec, parent, SvgRenderer::constructor()); // Ctor + StaticConstructor::add(exec, parent, SvgWidget::constructor()); // Ctor + StaticConstructor::add(exec, parent, ApplicationBinding::constructor()); + } +} + +Engine::Engine(bool enableBindings) +{ + dptr = new EnginePrivate(); + if (enableBindings) { + setup(dptr->m_interpreter->globalExec(), dptr->m_interpreter->globalObject()); + } + dptr->m_bindingsEnabled = enableBindings; +} + +Engine::~Engine() +{ + delete dptr; +} + +bool Engine::isBindingsEnabled() const +{ + return dptr->m_bindingsEnabled; +} + +KJS::JSObject *Engine::addObject(QObject *obj, KJS::JSObject *parent, const KJS::UString &name) const +{ + KJS::ExecState *exec = dptr->m_interpreter->globalExec(); + KJS::JSObject *returnObject = KJSEmbed::createQObject(exec, obj, KJSEmbed::ObjectBinding::CPPOwned); + KJS::Identifier jsName(!name.isEmpty() ? name : toUString(obj->objectName())); + + parent->putDirect(jsName, returnObject, KJS::DontDelete | KJS::ReadOnly); + return returnObject; +} + +KJS::JSObject *Engine::addObject(QObject *obj, const KJS::UString &name) const +{ + return addObject(obj, dptr->m_interpreter->globalObject(), name); +} + +KJS::Completion Engine::completion() const +{ + return dptr->m_currentResult; +} + +KJS::Interpreter *Engine::interpreter() const +{ + return dptr->m_interpreter; +} + +KJS::Completion Engine::runFile(KJS::Interpreter *interpreter, const KJS::UString &fileName) +{ +// qDebug() << "runFile: " << toQString(fileName); + KJS::UString code; + QFile file(toQString(fileName)); + if (file.open(QFile::ReadOnly)) { + QTextStream ts(&file); + + QString line; + while (!ts.atEnd()) { + line = ts.readLine(); + if (line[0] != '#') { + code += toUString(line + '\n'); + } + } + file.close(); + } else { + code = "println('Could not open file.');"; + qWarning() << "Could not open file " << toQString(fileName); + } + +// qDebug() << "Loaded code: " << toQString(code); + + return interpreter->evaluate(fileName, 0, code, nullptr); +} + +Engine::ExitStatus Engine::runFile(const KJS::UString &fileName) +{ + dptr->m_currentResult = runFile(dptr->m_interpreter, fileName); + + if (dptr->m_currentResult.complType() == KJS::Normal) { + return Engine::Success; + } else if (dptr->m_currentResult.complType() == KJS::ReturnValue) { + return Engine::Success; + } else { + return Engine::Failure; + } +} + +Engine::ExitStatus Engine::execute(const KJS::UString &code) +{ + dptr->m_currentResult = dptr->m_interpreter->evaluate(KJS::UString(""), 0, code, nullptr); + if (dptr->m_currentResult.complType() == KJS::Normal) { + return Engine::Success; + } else if (dptr->m_currentResult.complType() == KJS::ReturnValue) { + return Engine::Success; + } else { + return Engine::Failure; + } +} + +KJS::JSObject *Engine::construct(const KJS::UString &className, const KJS::List &args) const +{ + KJS::JSObject *global = dptr->m_interpreter->globalObject(); + KJS::ExecState *exec = dptr->m_interpreter->globalExec(); + return StaticConstructor::construct(exec, global, className, args); +} + +KJS::JSValue *Engine::callMethod(const KJS::UString &methodName, const KJS::List &args) +{ + KJS::JSObject *global = dptr->m_interpreter->globalObject(); + KJS::ExecState *exec = dptr->m_interpreter->globalExec(); + + KJS::Identifier id = KJS::Identifier(KJS::UString(methodName)); + KJS::JSObject *fun = global->get(exec, id)->toObject(exec); + KJS::JSValue *retValue; + + if (!fun->implementsCall()) { + QString msg = i18n("%1 is not a function and cannot be called.", toQString(methodName)); + return throwError(exec, KJS::TypeError, msg); + } + + retValue = fun->call(exec, global, args); + + if (exec->hadException()) { + return exec->exception(); + } + + return retValue; +} + +KJS::JSValue *Engine::callMethod(KJS::JSObject *parent, + const KJS::UString &methodName, const KJS::List &args) +{ + KJS::ExecState *exec = dptr->m_interpreter->globalExec(); + + KJS::Identifier id = KJS::Identifier(methodName); + KJS::JSObject *fun = parent->get(exec, id)->toObject(exec); + KJS::JSValue *retValue; + + if (!fun->implementsCall()) { + QString msg = i18n("%1 is not a function and cannot be called.", toQString(methodName)); + return throwError(exec, KJS::TypeError, msg); + } + + retValue = fun->call(exec, parent, args); + + if (exec->hadException()) { + return exec->exception(); + } + + return retValue; +} + +} // namespace KJS + diff --git a/src/kjsembed/kjsembed.h b/src/kjsembed/kjsembed.h new file mode 100644 index 0000000..3b4c44d --- /dev/null +++ b/src/kjsembed/kjsembed.h @@ -0,0 +1,144 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef KJSEMBED_H +#define KJSEMBED_H + +class QObject; + +#include +#include + +namespace KJS +{ +class Interpreter; +class Object; +class Completion; +} + +namespace KJSEmbed +{ + +/** + * The main interface for running embedded Javascript. + * + * \code + * KJSEmbed::Engine *engine = new KJSEmbed::Engine(); + * KJS::Interpreter *interpreter = engine->interpreter(); + * interpreter->setShouldPrintExceptions(true); + * KJS::ExecState *exec = interpreter->globalExec(); + * KJS::UString code("print(\"Hello World\")"); + * KJSEmbed::Engine::ExitStatus exitstatus = engine->execute(code); + * KJS::Completion completion = engine->completion(); + * if(exitstatus != KJSEmbed::Engine::Success) { + * KJS::JSValue* value = completion.value(); + * qDebug() << value->toString(exec).qstring(); + * } + * \endcode + */ +class KJSEMBED_EXPORT Engine +{ +public: + /** + * Status codes for script execution. Note that you can access the completion + * object itself with completion() for more detail. + */ + enum ExitStatus { Success = 0, Failure = 1 }; + + /** + * Constructs an embedded JS engine. + * + * @param enableBindings If true then the bindings will be added to the interpreter + * created. Otherwise a plain interpreter with nothing beyond the JS built in functions + * and objects is created. This allows users who want to run untrusted scripts to choose + * exactly which bindings they offer. + */ + Engine(bool enableBindings = true); + /** Clean up. */ + virtual ~Engine(); + + /** Returns true if the Engine was created with the bindings enabled. */ + bool isBindingsEnabled() const; + + /** + * Execute the file with the specified name using the current interpreter. + * @param file Filename to execute. + */ + ExitStatus runFile(const KJS::UString &file); + + /** + * Execute the file with the specified name using the specified interpreter. + * @param interpreter Interpreter to use. + * @param file Filename to execute. + */ + static KJS::Completion runFile(KJS::Interpreter *interpreter, const KJS::UString &file); + + /** + * Execute a code string using the current interpreter. + * @param code The script code to execute. + */ + ExitStatus execute(const KJS::UString &code); + + /** + * Returns the Completion object for the last script executed. + */ + KJS::Completion completion() const; + + /** + * Returns the current interpreter. + */ + KJS::Interpreter *interpreter() const; + + /** + * publishes a QObject to the global context of the javascript interpereter. + */ + KJS::JSObject *addObject(QObject *obj, const KJS::UString &name = KJS::UString()) const; + + /** + * publishes a QObject to a parent object. + */ + KJS::JSObject *addObject(QObject *obj, KJS::JSObject *parent, const KJS::UString &name = KJS::UString()) const; + + /** + * Create a new instance of an object that the Javascript engine knows about. If the object + * doesn't exist a KJS::jsNull() is returned and an exception thrown. + */ + KJS::JSObject *construct(const KJS::UString &className, const KJS::List &args = KJS::List()) const; + + /** + * Execute a method at the global scope of the javascript interpreter. + */ + KJS::JSValue *callMethod(const KJS::UString &methodName, const KJS::List &args = KJS::List()); + + /** + * Execute a method on an object. + */ + KJS::JSValue *callMethod(KJS::JSObject *parent, const KJS::UString &methodName, const KJS::List &args = KJS::List()); + +private: + class EnginePrivate *dptr; +}; + +} + +#endif + diff --git a/src/kjsembed/object_binding.cpp b/src/kjsembed/object_binding.cpp new file mode 100644 index 0000000..fbad76e --- /dev/null +++ b/src/kjsembed/object_binding.cpp @@ -0,0 +1,106 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#include "object_binding.h" + +#include +#include + + +using namespace KJSEmbed; + +const KJS::ClassInfo ObjectBinding::info = { "ObjectBinding", nullptr, nullptr, nullptr }; + +ObjectBinding::~ObjectBinding() +{ + if (m_owner == JSOwned) { + m_value->cleanup(); + } + + delete m_value; +} + +const char *ObjectBinding::typeName() const +{ + return m_name; +} + +KJS::UString ObjectBinding::toString(KJS::ExecState * /*exec*/) const +{ + return KJS::UString(typeName()); +} + +KJS::UString ObjectBinding::className() const +{ + return KJS::UString(typeName()); +} + +KJS::JSType ObjectBinding::type() const +{ + return KJS::ObjectType; +} + +ObjectBinding::Ownership ObjectBinding::ownership() const +{ + return m_owner; +} + +void ObjectBinding::setOwnership(ObjectBinding::Ownership owner) +{ + m_owner = owner; +} + +KJS::JSValue *callPointerName(KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &/*args*/) +{ + KJSEmbed::ObjectBinding *imp = KJSEmbed::extractBindingImp(exec, self); + if (imp) { + return KJS::jsString(imp->typeName()); + } + return KJS::jsNull(); +} + +KJS::JSValue *callPointerCast(KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &/*args*/) +{ + KJSEmbed::ObjectBinding *imp = KJSEmbed::extractBindingImp(exec, self); + if (imp) { + return KJS::jsBoolean(false); + } + return KJS::jsNull(); +} + +KJS::JSValue *callPointerToString(KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &/*args*/) +{ + KJSEmbed::ObjectBinding *imp = KJSEmbed::extractBindingImp(exec, self); + if (imp) { + qDebug("Object to string"); + return KJS::jsString(imp->typeName()); + } + return KJS::jsNull(); +} + +const Method ObjectFactory::ObjectMethods[] = { + {"type", 0, KJS::DontDelete | KJS::ReadOnly, &callPointerName }, + {"cast", 1, KJS::DontDelete | KJS::ReadOnly, &callPointerCast }, + {"toString", 0, KJS::DontDelete | KJS::ReadOnly, &callPointerToString }, + {nullptr, 0, 0, nullptr } +}; + diff --git a/src/kjsembed/object_binding.h b/src/kjsembed/object_binding.h new file mode 100644 index 0000000..c3c5839 --- /dev/null +++ b/src/kjsembed/object_binding.h @@ -0,0 +1,260 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef OBJECT_BINDING_H +#define OBJECT_BINDING_H + +#include "static_binding.h" +#include "variant_binding.h" +#include "pointer.h" +#include "kjseglobal.h" + +/** +* A simple pointer style method. +* This will extract the pointer, cast it to the native type and place it in "value". +* Any data that should be returned from this method should be placed into "result"; +* +*/ +#define START_OBJECT_METHOD( METHODNAME, TYPE) \ + KJS::JSValue *METHODNAME( KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args ) \ + { \ + Q_UNUSED(exec);\ + Q_UNUSED(self);\ + Q_UNUSED(args);\ + KJS::JSValue *result = KJS::jsNull(); \ + KJSEmbed::ObjectBinding *imp = KJSEmbed::extractBindingImp(exec, self ); \ + if( imp ) \ + { \ + TYPE *object = imp->object(); \ + if( object ) \ + { + +/** +* End a variant method started by START_OBJECT_METHOD +*/ +#define END_OBJECT_METHOD \ + } \ + else \ + KJS::throwError(exec, KJS::ReferenceError, QString("O: The internal object died."));\ + } \ + else \ + KJS::throwError(exec, KJS::GeneralError, QString("Object cast failed."));\ + return result; \ + } + +#define START_STATIC_OBJECT_METHOD( METHODNAME ) \ + KJS::JSValue *METHODNAME( KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args ) \ + {\ + Q_UNUSED(exec);\ + Q_UNUSED(self);\ + Q_UNUSED(args);\ + KJS::JSValue *result = KJS::jsNull(); \ + +#define END_STATIC_OBJECT_METHOD \ + return result; \ + } + +namespace KJSEmbed +{ +class KJSEMBED_EXPORT ObjectFactory +{ +public: + static const Method ObjectMethods[]; + static const Method *methods() + { + return ObjectMethods; + } +}; + +class KJSEMBED_EXPORT ObjectBinding : public ProxyBinding +{ +public: + enum Ownership { CPPOwned, QObjOwned, JSOwned }; + static const KJS::ClassInfo info; + +private: + const char *m_name; + mutable PointerBase *m_value; + Ownership m_owner; + +public: + template + ObjectBinding(KJS::ExecState *exec, const char *typeName, T *ptr) + : ProxyBinding(exec), + m_name(typeName) + { + StaticBinding::publish(exec, this, ObjectFactory::methods()); + + m_owner = CPPOwned; + m_value = new Pointer(ptr); + } + + ~ObjectBinding() override; + + const char *typeName() const; + + /** + * \return the internal object as a pointer of type T + */ + template + T *object() const + { + if (m_value) { + return pointer_cast(m_value); + } else { + return nullptr; + } + } + + void *voidStar() const + { + return m_value->voidStar(); + } + + template + void setObject(T *ptr) + { + if (m_owner == JSOwned) { + //qDebug("object cleans up"); + m_value->cleanup(); + } + delete m_value; + m_value = new Pointer(ptr); + } + + KJS::UString toString(KJS::ExecState *exec) const override; + KJS::UString className() const override; + KJS::JSType type() const override; + + Ownership ownership() const; + void setOwnership(Ownership owner); + +}; + +/** +* Extracts a pointer based type from an ObjectBinding object. Care should be taken that this method +* is not used with KJSEmbed::ObjectBinding objects because the cast will fail. +*/ +template< typename T> +T *extractObject(KJS::ExecState *exec, KJS::JSValue *arg, T *defaultValue) +{ + if (!arg) { + return defaultValue; + } else { + T *returnValue = nullptr; + KJSEmbed::ObjectBinding *imp = KJSEmbed::extractBindingImp(exec, arg); + if (imp) { + // GCC 3.3 has problems calling template functions in another class from a template class. + // returnValue = imp->object(); + + returnValue = (T *)imp->voidStar(); + } + if (returnValue) { + return returnValue; + } else { + return defaultValue; + } + } +} + +/** +* Extracts a pointer from a KJS::List of KJS::JSValues. If the argument is out of range the default value +* is returned. +*/ +template< typename T> +T *extractObject(KJS::ExecState *exec, const KJS::List &args, int idx, T *defaultValue = nullptr) +{ + if (args.size() > idx) { + return extractObject(exec, args[idx], defaultValue); + } else { + return defaultValue; + } +} + +/** +* Can create any known KJSEmbed::ObjectBinding object and set the value. +* On failure a KJS::jsNull will be returned and the exception set. +*/ +template< typename T> +KJS::JSValue *createObject(KJS::ExecState *exec, const KJS::UString &className, const T *value, KJSEmbed::ObjectBinding::Ownership owner = KJSEmbed::ObjectBinding::JSOwned) +{ + if (nullptr == value) { + return KJS::jsNull(); + } + + KJS::JSObject *parent = exec->dynamicInterpreter()->globalObject(); + KJS::JSObject *returnValue = StaticConstructor::construct(exec, parent, className); + if (returnValue) { + // If it is a value type setValue + KJSEmbed::ObjectBinding *imp = extractBindingImp(exec, returnValue); + if (imp) { + imp->setOwnership(KJSEmbed::ObjectBinding::JSOwned); + imp->setObject(value); + imp->setOwnership(owner); + } else { + throwError(exec, KJS::TypeError, i18n("%1 is not an Object type", className.ascii())); + return KJS::jsNull(); + } + } else { + throwError(exec, KJS::GeneralError, "Could not construct value"); + //throwError(exec, "Could not construct value" ); + return KJS::jsNull(); + } + + return returnValue; +} + +template< typename T > +T extractParameter(KJS::ExecState *exec, KJS::JSValue *arg, const T &defaultValue) +{ + if (!arg) { + return defaultValue; + } else { + switch (arg->type()) { + case KJS::NumberType: + return extractInt(exec, arg, defaultValue); + break; + case KJS::BooleanType: + return extractBool(exec, arg, 0); + break; + case KJS::UnspecifiedType: + case KJS::UndefinedType: + case KJS::NullType: + case KJS::GetterSetterType: + case KJS::StringType: + return defaultValue; + break; + } + + KJS::JSObject *object = arg->toObject(exec); + if (object->inherits(&VariantBinding::info)) { + return extractVariant(exec, arg, defaultValue); + } else if (object->inherits(&ObjectBinding::info)) { + return extractObject(exec, arg, defaultValue); + } else { + return defaultValue; + } + } +} +} +#endif + diff --git a/src/kjsembed/pen.cpp b/src/kjsembed/pen.cpp new file mode 100644 index 0000000..2215519 --- /dev/null +++ b/src/kjsembed/pen.cpp @@ -0,0 +1,148 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ +#include "pen.h" + +#include +#include +#include +#include + +using namespace KJSEmbed; + +const KJS::ClassInfo PenBinding::info = { "QPen", &VariantBinding::info, nullptr, nullptr }; +PenBinding::PenBinding(KJS::ExecState *exec, const QPen &value) + : VariantBinding(exec, value) +{ + StaticBinding::publish(exec, this, Pen::methods()); + StaticBinding::publish(exec, this, VariantFactory::methods()); +} + +namespace PenNS +{ + +START_VARIANT_METHOD(callbrush, QPen) +QBrush cppValue = value.brush(); +result = KJSEmbed::createVariant(exec, "QBrush", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callcapStyle, QPen) +Qt::PenCapStyle cppValue = value.capStyle(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callcolor, QPen) +QColor cppValue = value.color(); +result = KJSEmbed::createVariant(exec, "QColor", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callisSolid, QPen) +bool cppValue = value.isSolid(); +result = KJS::jsBoolean(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(calljoinStyle, QPen) +Qt::PenJoinStyle cppValue = value.joinStyle(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetBrush, QPen) +QBrush arg0 = KJSEmbed::extractVariant(exec, args, 0); +value.setBrush(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetCapStyle, QPen) +Qt::PenCapStyle arg0 = (Qt::PenCapStyle)KJSEmbed::extractInt(exec, args, 0); +value.setCapStyle(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetColor, QPen) +QColor arg0 = KJSEmbed::extractVariant(exec, args, 0); +value.setColor(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetJoinStyle, QPen) +Qt::PenJoinStyle arg0 = (Qt::PenJoinStyle)KJSEmbed::extractInt(exec, args, 0); +value.setJoinStyle(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetStyle, QPen) +Qt::PenStyle arg0 = (Qt::PenStyle)KJSEmbed::extractInt(exec, args, 0); +value.setStyle(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetWidth, QPen) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +value.setWidth(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callstyle, QPen) +Qt::PenStyle cppValue = value.style(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callwidth, QPen) +int cppValue = value.width(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +} + +START_METHOD_LUT(Pen) +{"brush", 0, KJS::DontDelete | KJS::ReadOnly, &PenNS::callbrush}, +{"capStyle", 0, KJS::DontDelete | KJS::ReadOnly, &PenNS::callcapStyle}, +{"color", 0, KJS::DontDelete | KJS::ReadOnly, &PenNS::callcolor}, +{"isSolid", 0, KJS::DontDelete | KJS::ReadOnly, &PenNS::callisSolid}, +{"joinStyle", 0, KJS::DontDelete | KJS::ReadOnly, &PenNS::calljoinStyle}, +{"setBrush", 1, KJS::DontDelete | KJS::ReadOnly, &PenNS::callsetBrush}, +{"setCapStyle", 1, KJS::DontDelete | KJS::ReadOnly, &PenNS::callsetCapStyle}, +{"setColor", 1, KJS::DontDelete | KJS::ReadOnly, &PenNS::callsetColor}, +{"setJoinStyle", 1, KJS::DontDelete | KJS::ReadOnly, &PenNS::callsetJoinStyle}, +{"setStyle", 1, KJS::DontDelete | KJS::ReadOnly, &PenNS::callsetStyle}, +{"setWidth", 1, KJS::DontDelete | KJS::ReadOnly, &PenNS::callsetWidth}, +{"style", 0, KJS::DontDelete | KJS::ReadOnly, &PenNS::callstyle}, +{"width", 0, KJS::DontDelete | KJS::ReadOnly, &PenNS::callwidth} +END_METHOD_LUT + +NO_ENUMS(Pen) +NO_STATICS(Pen) + +START_CTOR(Pen, QPen, 0) +if (args.size() == 1) +{ + return new KJSEmbed::PenBinding(exec, + QPen(KJSEmbed::extractVariant(exec, args, 0) + )); +} else if (args.size() >= 2) +{ + return new KJSEmbed::PenBinding(exec, + QPen(KJSEmbed::extractVariant(exec, args, 0), + KJSEmbed::extractInt(exec, args, 1), + (Qt::PenStyle)KJSEmbed::extractInt(exec, args, 2, Qt::SolidLine), + (Qt::PenCapStyle)KJSEmbed::extractInt(exec, args, 3, Qt::SquareCap), + (Qt::PenJoinStyle)KJSEmbed::extractInt(exec, args, 4, Qt::BevelJoin) + )); + +} + +return new KJSEmbed::PenBinding(exec, QPen()); +END_CTOR + diff --git a/src/kjsembed/pen.h b/src/kjsembed/pen.h new file mode 100644 index 0000000..7ff3dca --- /dev/null +++ b/src/kjsembed/pen.h @@ -0,0 +1,50 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef PEN_H +#define PEN_H + +#include "variant_binding.h" +#include "static_binding.h" + +class QPen; + +namespace KJSEmbed +{ +/** @internal Implements the binding for QPen. */ +class PenBinding : public VariantBinding +{ +public: + PenBinding(KJS::ExecState *exec, const QPen &value); + +private: + const KJS::ClassInfo *classInfo() const override + { + return &info; + } + static const KJS::ClassInfo info; +}; + +KJS_BINDING(Pen) +} +#endif + diff --git a/src/kjsembed/pixmap.cpp b/src/kjsembed/pixmap.cpp new file mode 100644 index 0000000..9a09f92 --- /dev/null +++ b/src/kjsembed/pixmap.cpp @@ -0,0 +1,308 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ +#include "pixmap.h" + +#include +#include +#include +#include + +#include +#include + +using namespace KJSEmbed; + +const KJS::ClassInfo PixmapBinding::info = { "QPixmap", &VariantBinding::info, nullptr, nullptr }; +PixmapBinding::PixmapBinding(KJS::ExecState *exec, const QPixmap &value) + : VariantBinding(exec, value) +{ + StaticBinding::publish(exec, this, Pixmap::methods()); + StaticBinding::publish(exec, this, VariantFactory::methods()); +} + +namespace PixmapNS +{ +START_VARIANT_METHOD(callalphaChannel, QPixmap) +QPixmap cppValue = value.alphaChannel(); +result = KJSEmbed::createVariant(exec, "QPixmap", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callcopy, QPixmap) +if (args.size() == 1) +{ + QRect arg0 = KJSEmbed::extractVariant(exec, args, 0); + QPixmap cppValue = value.copy(arg0); + result = KJSEmbed::createVariant(exec, "QPixmap", cppValue); +} else if (args.size() == 4) +{ + int arg0 = KJSEmbed::extractInt(exec, args, 0); + int arg1 = KJSEmbed::extractInt(exec, args, 1); + int arg2 = KJSEmbed::extractInt(exec, args, 2); + int arg3 = KJSEmbed::extractInt(exec, args, 3); + QPixmap cppValue = value.copy(arg0, arg1, arg2, arg3); + result = KJSEmbed::createVariant(exec, "QPixmap", cppValue); +} +END_VARIANT_METHOD + +START_VARIANT_METHOD(callcreateHeuristicMask, QPixmap) +bool arg0 = KJSEmbed::extractBool(exec, args, 0); +QBitmap cppValue = value.createHeuristicMask(arg0); +result = KJSEmbed::createVariant(exec, "QBitmap", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callcreateMaskFromColor, QPixmap) +QColor arg0 = KJSEmbed::extractVariant(exec, args, 0); +QBitmap cppValue = value.createMaskFromColor(arg0); +result = KJSEmbed::createVariant(exec, "QBitmap", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(calldefaultDepth, QPixmap) +int cppValue = value.defaultDepth(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(calldepth, QPixmap) +int cppValue = value.depth(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callfill, QPixmap) +if (args.size() == 3) +{ + QWidget *arg0 = KJSEmbed::extractObject(exec, args, 0); + int arg1 = KJSEmbed::extractInt(exec, args, 1); + int arg2 = KJSEmbed::extractInt(exec, args, 2); + value.fill(arg0, arg1, arg2); +} else if (args.size() == 1) +{ + QColor arg0 = KJSEmbed::extractVariant(exec, args, 0); + value.fill(arg0); +} else if (args.size() == 2) +{ + QWidget *arg0 = KJSEmbed::extractObject(exec, args, 0); + QPoint arg1 = KJSEmbed::extractVariant(exec, args, 1); + value.fill(arg0, arg1); +} +END_VARIANT_METHOD + +START_VARIANT_METHOD(callfromImage, QPixmap) +QImage arg0 = KJSEmbed::extractVariant(exec, args, 0); +Qt::ImageConversionFlags arg1 = (Qt::ImageConversionFlags)KJSEmbed::extractInt(exec, args, 1); +QPixmap cppValue = QPixmap::fromImage(arg0, arg1); +result = KJSEmbed::createVariant(exec, "QPixmap", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callgrabWidget, QPixmap) +if (args.size() == 2) +{ + QWidget *arg0 = KJSEmbed::extractObject(exec, args, 0); + QRect arg1 = KJSEmbed::extractVariant(exec, args, 1); + QPixmap cppValue = value.grabWidget(arg0, arg1); + result = KJSEmbed::createVariant(exec, "QPixmap", cppValue); +} else if (args.size() == 5) +{ + QWidget *arg0 = KJSEmbed::extractObject(exec, args, 0); + int arg1 = KJSEmbed::extractInt(exec, args, 1); + int arg2 = KJSEmbed::extractInt(exec, args, 2); + int arg3 = KJSEmbed::extractInt(exec, args, 3); + int arg4 = KJSEmbed::extractInt(exec, args, 4); + QPixmap cppValue = value.grabWidget(arg0, arg1, arg2, arg3, arg4); + result = KJSEmbed::createVariant(exec, "QPixmap", cppValue); +} +END_VARIANT_METHOD + +START_VARIANT_METHOD(callhasAlpha, QPixmap) +bool cppValue = value.hasAlpha(); +result = KJS::jsBoolean(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callhasAlphaChannel, QPixmap) +bool cppValue = value.hasAlphaChannel(); +result = KJS::jsBoolean(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callheight, QPixmap) +int cppValue = value.height(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callisNull, QPixmap) +bool cppValue = value.isNull(); +result = KJS::jsBoolean(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callisQBitmap, QPixmap) +bool cppValue = value.isQBitmap(); +result = KJS::jsBoolean(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callload, QPixmap) +QString arg0 = KJSEmbed::extractQString(exec, args, 0); +QByteArray arg1 = KJSEmbed::extractQString(exec, args, 1).toLatin1(); +Qt::ImageConversionFlags arg2 = (Qt::ImageConversionFlags) KJSEmbed::extractInt(exec, args, 2); +bool cppValue = value.load(arg0, arg1, arg2); +result = KJS::jsBoolean(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callmask, QPixmap) +QBitmap cppValue = value.mask(); +result = KJSEmbed::createVariant(exec, "QBitmap", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callrect, QPixmap) +QRect cppValue = value.rect(); +result = KJSEmbed::createVariant(exec, "QRect", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsave, QPixmap) +QString arg0 = KJSEmbed::extractQString(exec, args, 0); +QByteArray arg1 = KJSEmbed::extractQString(exec, args, 1).toLatin1(); +int arg2 = KJSEmbed::extractInt(exec, args, 2, -1); +bool cppValue = value.save(arg0, arg1, arg2); +result = KJS::jsBoolean(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callscaled, QPixmap) +if (args.size() == 3) +{ + QSize arg0 = KJSEmbed::extractVariant(exec, args, 0); + Qt::AspectRatioMode arg1 = (Qt::AspectRatioMode) KJSEmbed::extractInt(exec, args, 1); + Qt::TransformationMode arg2 = (Qt::TransformationMode) KJSEmbed::extractInt(exec, args, 3); + QPixmap cppValue = value.scaled(arg0, arg1, arg2); + result = KJSEmbed::createVariant(exec, "QPixmap", cppValue); +} else if (args.size() == 4) +{ + int arg0 = KJSEmbed::extractInt(exec, args, 0); + int arg1 = KJSEmbed::extractInt(exec, args, 1); + Qt::AspectRatioMode arg2 = (Qt::AspectRatioMode) KJSEmbed::extractInt(exec, args, 2); + Qt::TransformationMode arg3 = (Qt::TransformationMode) KJSEmbed::extractInt(exec, args, 3); + QPixmap cppValue = value.scaled(arg0, arg1, arg2, arg3); + result = KJSEmbed::createVariant(exec, "QPixmap", cppValue); +} +END_VARIANT_METHOD + +START_VARIANT_METHOD(callscaledToHeight, QPixmap) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +Qt::TransformationMode arg1 = (Qt::TransformationMode) KJSEmbed::extractInt(exec, args, 1); +QPixmap cppValue = value.scaledToHeight(arg0, arg1); +result = KJSEmbed::createVariant(exec, "QPixmap", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callscaledToWidth, QPixmap) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +Qt::TransformationMode arg1 = (Qt::TransformationMode) KJSEmbed::extractInt(exec, args, 1); +QPixmap cppValue = value.scaledToWidth(arg0, arg1); +result = KJSEmbed::createVariant(exec, "QPixmap", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callserialNumber, QPixmap) +int cppValue = value.serialNumber(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetAlphaChannel, QPixmap) +QPixmap arg0 = KJSEmbed::extractVariant(exec, args, 0); +value.setAlphaChannel(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetMask, QPixmap) +QBitmap arg0 = KJSEmbed::extractVariant(exec, args, 0); +value.setMask(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsize, QPixmap) +QSize cppValue = value.size(); +result = KJSEmbed::createVariant(exec, "QSize", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(calltoImage, QPixmap) +QImage cppValue = value.toImage(); +result = KJSEmbed::createVariant(exec, "QImage", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callwidth, QPixmap) +int cppValue = value.width(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +} + +START_METHOD_LUT(Pixmap) +{"alphaChannel", 0, KJS::DontDelete | KJS::ReadOnly, &PixmapNS::callalphaChannel}, +{"copy", 3, KJS::DontDelete | KJS::ReadOnly, &PixmapNS::callcopy}, +{"createHeuristicMask", 0, KJS::DontDelete | KJS::ReadOnly, &PixmapNS::callcreateHeuristicMask}, +{"createMaskFromColor", 0, KJS::DontDelete | KJS::ReadOnly, &PixmapNS::callcreateMaskFromColor}, +{"defaultDepth", 0, KJS::DontDelete | KJS::ReadOnly, &PixmapNS::calldefaultDepth}, +{"depth", 0, KJS::DontDelete | KJS::ReadOnly, &PixmapNS::calldepth}, +{"fill", 2, KJS::DontDelete | KJS::ReadOnly, &PixmapNS::callfill}, +{"fromImage", 1, KJS::DontDelete | KJS::ReadOnly, &PixmapNS::callfromImage}, +{"grabWidget", 4, KJS::DontDelete | KJS::ReadOnly, &PixmapNS::callgrabWidget}, +{"hasAlpha", 0, KJS::DontDelete | KJS::ReadOnly, &PixmapNS::callhasAlpha}, +{"hasAlphaChannel", 0, KJS::DontDelete | KJS::ReadOnly, &PixmapNS::callhasAlphaChannel}, +{"height", 0, KJS::DontDelete | KJS::ReadOnly, &PixmapNS::callheight}, +{"isNull", 0, KJS::DontDelete | KJS::ReadOnly, &PixmapNS::callisNull}, +{"isQBitmap", 0, KJS::DontDelete | KJS::ReadOnly, &PixmapNS::callisQBitmap}, +{"load", 2, KJS::DontDelete | KJS::ReadOnly, &PixmapNS::callload}, +{"mask", 0, KJS::DontDelete | KJS::ReadOnly, &PixmapNS::callmask}, +{"rect", 0, KJS::DontDelete | KJS::ReadOnly, &PixmapNS::callrect}, +{"save", 2, KJS::DontDelete | KJS::ReadOnly, &PixmapNS::callsave}, +{"scaled", 3, KJS::DontDelete | KJS::ReadOnly, &PixmapNS::callscaled}, +{"scaledToHeight", 1, KJS::DontDelete | KJS::ReadOnly, &PixmapNS::callscaledToHeight}, +{"scaledToWidth", 1, KJS::DontDelete | KJS::ReadOnly, &PixmapNS::callscaledToWidth}, +{"serialNumber", 0, KJS::DontDelete | KJS::ReadOnly, &PixmapNS::callserialNumber}, +{"setAlphaChannel", 0, KJS::DontDelete | KJS::ReadOnly, &PixmapNS::callsetAlphaChannel}, +{"setMask", 0, KJS::DontDelete | KJS::ReadOnly, &PixmapNS::callsetMask}, +{"size", 0, KJS::DontDelete | KJS::ReadOnly, &PixmapNS::callsize}, +{"toImage", 0, KJS::DontDelete | KJS::ReadOnly, &PixmapNS::calltoImage}, +{"width", 0, KJS::DontDelete | KJS::ReadOnly, &PixmapNS::callwidth} +END_METHOD_LUT + +NO_STATICS(Pixmap) +NO_ENUMS(Pixmap) +START_CTOR(Pixmap, QPixmap, 0) +if (args.size() == 0) +{ + return new KJSEmbed::PixmapBinding(exec, QPixmap()); +} else if (args.size() == 1) +{ + return new KJSEmbed::PixmapBinding(exec, + QPixmap(KJSEmbed::extractQString(exec, args, 0))); +} else if (args.size() == 2) +{ + return new KJSEmbed::PixmapBinding(exec, + QPixmap(KJSEmbed::extractInt(exec, args, 0), + KJSEmbed::extractInt(exec, args, 1) + )); +} else if (args.size() == 3) +{ + QString tmp = toQString(args[2]->toObject(exec)->className()); + qDebug() << tmp; + + return new KJSEmbed::PixmapBinding(exec, + QPixmap(KJSEmbed::extractQString(exec, args, 0), + KJSEmbed::extractVariant(exec, args, 1).constData(), + (Qt::ImageConversionFlags)KJSEmbed::extractInt(exec, args, 2) + )); +} +return new KJSEmbed::PixmapBinding(exec, QPixmap()); +END_CTOR + diff --git a/src/kjsembed/pixmap.h b/src/kjsembed/pixmap.h new file mode 100644 index 0000000..1954e83 --- /dev/null +++ b/src/kjsembed/pixmap.h @@ -0,0 +1,53 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef PIXMAP_H +#define PIXMAP_H + +#include +#include + +class QPixmap; + +namespace KJSEmbed +{ +/** @internal Implements the binding for QPixmap. */ +class PixmapBinding : public VariantBinding +{ +public: + PixmapBinding(KJS::ExecState *exec, const QPixmap &value); + const KJS::ClassInfo *classInfo() const override + { + return &info; + } + static const KJS::ClassInfo info; +}; + +/** +* Constructors: +* +* Methods: +*/ +KJS_BINDING(Pixmap) + +} +#endif diff --git a/src/kjsembed/point.cpp b/src/kjsembed/point.cpp new file mode 100644 index 0000000..4ab6c09 --- /dev/null +++ b/src/kjsembed/point.cpp @@ -0,0 +1,107 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ +#include "point.h" + +#include +#include + +using namespace KJSEmbed; + +const KJS::ClassInfo PointBinding::info = { "QPoint", &VariantBinding::info, nullptr, nullptr }; +PointBinding::PointBinding(KJS::ExecState *exec, const QPoint &value) + : VariantBinding(exec, value) +{ + StaticBinding::publish(exec, this, Point::methods()); + StaticBinding::publish(exec, this, VariantFactory::methods()); +} + +namespace PointNS +{ + +START_VARIANT_METHOD(callisNull, QPoint) +bool cppValue = value.isNull(); +result = KJS::jsBoolean(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callmanhattanLength, QPoint) +int cppValue = value.manhattanLength(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callrx, QPoint) +int cppValue = value.rx(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callry, QPoint) +int cppValue = value.ry(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetX, QPoint) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +value.setX(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetY, QPoint) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +value.setY(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callx, QPoint) +int cppValue = value.x(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(cally, QPoint) +int cppValue = value.y(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +} + +START_METHOD_LUT(Point) +{"isNull", 0, KJS::DontDelete | KJS::ReadOnly, &PointNS::callisNull}, +{"manhattanLength", 0, KJS::DontDelete | KJS::ReadOnly, &PointNS::callmanhattanLength}, +{"rx", 0, KJS::DontDelete | KJS::ReadOnly, &PointNS::callrx}, +{"ry", 0, KJS::DontDelete | KJS::ReadOnly, &PointNS::callry}, +{"setX", 0, KJS::DontDelete | KJS::ReadOnly, &PointNS::callsetX}, +{"setY", 0, KJS::DontDelete | KJS::ReadOnly, &PointNS::callsetY}, +{"x", 0, KJS::DontDelete | KJS::ReadOnly, &PointNS::callx}, +{"y", 0, KJS::DontDelete | KJS::ReadOnly, &PointNS::cally} +END_METHOD_LUT + +NO_ENUMS(Point) +NO_STATICS(Point) + +START_CTOR(Point, QPoint, 0) +if (args.size() == 2) +{ + return new KJSEmbed::PointBinding(exec, + QPoint(KJSEmbed::extractInt(exec, args, 0), + KJSEmbed::extractInt(exec, args, 1) + )); +} + +return new KJSEmbed::PointBinding(exec, QPoint()); +END_CTOR + diff --git a/src/kjsembed/point.h b/src/kjsembed/point.h new file mode 100644 index 0000000..159125d --- /dev/null +++ b/src/kjsembed/point.h @@ -0,0 +1,49 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef POINT_H +#define POINT_H + +#include +#include + +class QPoint; + +namespace KJSEmbed +{ +/** @internal Implements the binding for QPoint. */ +class PointBinding : public VariantBinding +{ +public: + PointBinding(KJS::ExecState *exec, const QPoint &value); + const KJS::ClassInfo *classInfo() const override + { + return &info; + } + static const KJS::ClassInfo info; +}; + +KJS_BINDING(Point) + +} +#endif + diff --git a/src/kjsembed/pointer.h b/src/kjsembed/pointer.h new file mode 100644 index 0000000..c151ed3 --- /dev/null +++ b/src/kjsembed/pointer.h @@ -0,0 +1,148 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef POINTER_H +#define POINTER_H + +#include +#include +#include + +namespace KJSEmbed +{ + +struct PointerBase { +public: + virtual ~PointerBase() + { + ; + } + virtual void cleanup() = 0; + virtual const std::type_info &type() const = 0; + virtual void *voidStar() = 0; +}; + +template +struct Pointer : public PointerBase { +public: + Pointer(ValueType *value) : ptr(value) + { +// qDebug("new pointer %s %0x", typeid(ValueType).name(), value); + } + ~Pointer() override + { + + } + void cleanup() override + { +// qDebug("delete pointer %s %0x", typeid(ValueType).name(), ptr ); + delete ptr; + ptr = nullptr; + } + const std::type_info &type() const override + { + return typeid(ValueType); + } + + void *voidStar() override + { + return (void *)ptr; + } + + ValueType *ptr; +}; + +template +struct Value : public PointerBase { +public: + Value(ValueType val) : value(val) + { + //qDebug("new value %s", typeid(ValueType).name()); + } + ~Value() override + { + //qDebug("delete value"); + } + + void cleanup() override + { + + } + + const std::type_info &type() const override + { + return typeid(ValueType); + } + + void *voidStar() override + { + return (void *)&value; + } + + ValueType value; +}; + +struct NullPtr : public PointerBase { + NullPtr() : ptr(nullptr) + { + ; + } + ~NullPtr() override + { + ; + } + void cleanup() override + { + ; + } + + const std::type_info &type() const override + { + return typeid(NullPtr); + } + + void *voidStar() override + { + return &ptr; + } + + void *ptr; + +}; + +template +ValueType *pointer_cast(PointerBase *pointer) +{ +// qDebug("pointers %s %s", typeid(ValueType).name(), pointer->type().name() ); + if (typeid(ValueType) != pointer->type()) { + return nullptr; + } + Pointer *upcast = static_cast< Pointer *>(pointer); + return upcast->ptr; +} + +} + +Q_DECLARE_METATYPE(KJSEmbed::PointerBase *) + +#endif + diff --git a/src/kjsembed/qaction_binding.cpp b/src/kjsembed/qaction_binding.cpp new file mode 100644 index 0000000..7226aa0 --- /dev/null +++ b/src/kjsembed/qaction_binding.cpp @@ -0,0 +1,86 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ +#include "qaction_binding.h" +#include "static_binding.h" +#include "kjseglobal.h" + +#include +#include + +#include + +namespace KJSEmbed +{ +QUiLoader *uiLoader(); +} + +using namespace KJSEmbed; + +NO_METHODS(Action) +NO_ENUMS(Action) +NO_STATICS(Action) + +KJSO_SIMPLE_BINDING_CTOR(Action, QAction, QObjectBinding) +KJSO_QOBJECT_BIND(Action, QAction) + +KJSO_START_CTOR(Action, QAction, 0) +QObject *parent = KJSEmbed::extractObject(exec, args, 0, nullptr); +QString actionName = KJSEmbed::extractQString(exec, args, 1); + +QAction *action = uiLoader()->createAction(parent, actionName); +if (action) +{ + KJS::JSObject *actionObject = new Action(exec, action); + return actionObject; +} else +{ + return KJS::throwError(exec, KJS::GeneralError, i18n("Action takes 2 args.")); +} +KJSO_END_CTOR + +NO_METHODS(ActionGroup) +NO_ENUMS(ActionGroup) +NO_STATICS(ActionGroup) + +KJSO_SIMPLE_BINDING_CTOR(ActionGroup, QActionGroup, QObjectBinding) +KJSO_QOBJECT_BIND(ActionGroup, QActionGroup) + +KJSO_START_CTOR(ActionGroup, QActionGroup, 0) +if (args.size() == 2) +{ + QObject *parent = KJSEmbed::extractObject(exec, args, 0, nullptr); + QString actionName = KJSEmbed::extractQString(exec, args, 1); + + QActionGroup *action = uiLoader()->createActionGroup(parent, actionName); + if (action) { + KJS::JSObject *actionObject = new ActionGroup(exec, action); + return actionObject; + } else { + return KJS::throwError(exec, KJS::GeneralError, i18n("ActionGroup takes 2 args.")); + // return KJSEmbed::throwError(exec, i18n("ActionGroup takes 2 args.")); + } +} +// Trow error incorrect args +return KJS::throwError(exec, KJS::GeneralError, i18n("Must supply a valid parent.")); +// return KJSEmbed::throwError(exec, i18n("Must supply a valid parent.")); +END_CTOR + diff --git a/src/kjsembed/qaction_binding.h b/src/kjsembed/qaction_binding.h new file mode 100644 index 0000000..fcc1bd3 --- /dev/null +++ b/src/kjsembed/qaction_binding.h @@ -0,0 +1,38 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef QACTION_BINDING_H +#define QACTION_BINDING_H + +#include +#include +//#include + +#include "qobject_binding.h" //krazy:exclude=includes (not a Qt header) + +namespace KJSEmbed +{ +KJSO_BINDING(Action, QAction, QObjectBinding) +KJSO_BINDING(ActionGroup, QActionGroup, QObjectBinding) +} +#endif + diff --git a/src/kjsembed/qformbuilder_binding.cpp b/src/kjsembed/qformbuilder_binding.cpp new file mode 100644 index 0000000..95d5e86 --- /dev/null +++ b/src/kjsembed/qformbuilder_binding.cpp @@ -0,0 +1,69 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ +#include "qformbuilder_binding.h" + +#include +#include +#include +#include + +#include + +#include "static_binding.h" +#include "qwidget_binding.h" +#include "kjseglobal.h" + +using namespace KJSEmbed; +NO_METHODS(FormBuilder) +NO_ENUMS(FormBuilder) +NO_STATICS(FormBuilder) + +START_CTOR(FormBuilder, Form, 2) +if (args.size() > 0) +{ + QFormBuilder *formBuilder = new QFormBuilder(); + QWidget *parentWidget = 0; + KJSEmbed::QObjectBinding *parentImp = KJSEmbed::extractBindingImp(exec, args[1]); + if (parentImp) { + parentWidget = parentImp->object(); + } + QString fileName = toQString(args[0]->toString(exec)); + QFile uiFile(fileName); + if (uiFile.open(QIODevice::ReadOnly | QIODevice::Text)) { + QWidget *returnWidget = formBuilder->load(&uiFile, parentWidget); + uiFile.close(); + if (returnWidget == 0) { + delete formBuilder; + return KJS::throwError(exec, KJS::GeneralError, i18n("There was an error reading the file '%1'", + fileName)); + } + KJS::JSObject *form = new QWidgetBinding(exec, returnWidget); + delete formBuilder; + return form; + } + delete formBuilder; + return KJS::throwError(exec, KJS::GeneralError, i18n("Could not read file '%1'", + fileName)); +} +return KJS::throwError(exec, KJS::GeneralError, i18n("Must supply a filename.")); +END_CTOR + diff --git a/src/kjsembed/qformbuilder_binding.h b/src/kjsembed/qformbuilder_binding.h new file mode 100644 index 0000000..91112ef --- /dev/null +++ b/src/kjsembed/qformbuilder_binding.h @@ -0,0 +1,33 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef QFORMBUILDER_BINDING_H +#define QFORMBUILDER_BINDING_H + +#include "qobject_binding.h" + +namespace KJSEmbed +{ +KJS_BINDING(FormBuilder) +} +#endif + diff --git a/src/kjsembed/qlayout_binding.cpp b/src/kjsembed/qlayout_binding.cpp new file mode 100644 index 0000000..5132887 --- /dev/null +++ b/src/kjsembed/qlayout_binding.cpp @@ -0,0 +1,95 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ +#include "qlayout_binding.h" +#include "static_binding.h" +#include "kjseglobal.h" + +#include +#include + +#include +#include +#include + +namespace KJSEmbed +{ +QUiLoader *uiLoader(); +} + +using namespace KJSEmbed; + +namespace LayoutNS +{ +START_QOBJECT_METHOD(addWidget, QLayout) +QWidget *w = KJSEmbed::extractObject(exec, args, 0, nullptr); +object->addWidget(w); +END_QOBJECT_METHOD +START_QOBJECT_METHOD(removeWidget, QLayout) +QWidget *w = KJSEmbed::extractObject(exec, args, 0, nullptr); +object->removeWidget(w); +END_QOBJECT_METHOD +START_QOBJECT_METHOD(parentWidget, QLayout) +QWidget *w = object->parentWidget(); +result = KJSEmbed::createQObject(exec, w); +END_QOBJECT_METHOD + +} + +START_METHOD_LUT(Layout) +{"addWidget", 1, KJS::DontDelete | KJS::ReadOnly, &LayoutNS::addWidget}, +{"removeWidget", 1, KJS::DontDelete | KJS::ReadOnly, &LayoutNS::removeWidget}, +{"parentWidget", 0, KJS::DontDelete | KJS::ReadOnly, &LayoutNS::parentWidget} +END_METHOD_LUT + +NO_ENUMS(Layout) +NO_STATICS(Layout) + +KJSO_SIMPLE_BINDING_CTOR(Layout, QLayout, QObjectBinding) +KJSO_QOBJECT_BIND(Layout, QLayout) + +KJSO_START_CTOR(Layout, QLayout, 0) +// qDebug("Layout::CTOR(): args.size()=%d", args.size()); + +if (args.size() > 0) +{ + QString layoutName = toQString(args[0]->toString(exec)); + QObject *parentObject = nullptr; + KJSEmbed::QObjectBinding *parentImp = KJSEmbed::extractBindingImp(exec, args[1]); + if (parentImp) { + parentObject = parentImp->object(); + } + + QLayout *layout = uiLoader()->createLayout(layoutName, parentObject, "QLayout"); + if (layout) { + KJS::JSObject *layoutObject = new Layout(exec, layout);//KJSEmbed::createQObject(exec, layout); + return layoutObject; + } + return KJS::throwError(exec, KJS::GeneralError, i18n("'%1' is not a valid QLayout.", + layoutName)); + // return KJSEmbed::throwError(exec, i18n("'%1' is not a valid QLayout.").arg(layoutName)); +} + +// should Trow error incorrect args +return KJS::throwError(exec, KJS::GeneralError, i18n("Must supply a layout name.")); +// return KJSEmbed::throwError(exec, i18n("Must supply a layout name.")); +KJSO_END_CTOR + diff --git a/src/kjsembed/qlayout_binding.h b/src/kjsembed/qlayout_binding.h new file mode 100644 index 0000000..0b68ae8 --- /dev/null +++ b/src/kjsembed/qlayout_binding.h @@ -0,0 +1,35 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef QLAYOUT_BINDING_H +#define QLAYOUT_BINDING_H + +#include + +#include "qobject_binding.h" //krazy:exclude=includes (not a Qt header) + +namespace KJSEmbed +{ +KJSO_BINDING(Layout, QLayout, QObjectBinding) +} +#endif + diff --git a/src/kjsembed/qobject_binding.cpp b/src/kjsembed/qobject_binding.cpp new file mode 100644 index 0000000..dd61ef1 --- /dev/null +++ b/src/kjsembed/qobject_binding.cpp @@ -0,0 +1,865 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + Copyright (C) 2007, 2008 Sebastian Sauer + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ +#include "qobject_binding.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "slotproxy.h" +#include "eventproxy.h" +#include "jseventmapper.h" +#include "pointer.h" +#include "variant_binding.h" + +#include +#include + +//#define CREATEQOBJ_DIAG + +using namespace KJSEmbed; + +QByteArray createSignal(const QByteArray &sig) +{ + return '2' + sig; +} + +QByteArray createSlot(const QByteArray &slt) +{ + return '1' + slt; +} + +bool validSlot(const QMetaMethod &method, QObjectBinding::AccessFlags accessflags) +{ + switch (method.access()) { + case QMetaMethod::Private: { + if (!(accessflags & QObjectBinding::PrivateSlots)) { + return false; + } + } break; + case QMetaMethod::Protected: { + if (!(accessflags & QObjectBinding::ProtectedSlots)) { + return false; + } + } break; + case QMetaMethod::Public: { + if (!(accessflags & QObjectBinding::PublicSlots)) { + return false; + } + } break; + } + if (method.attributes() & QMetaMethod::Scriptable) { + if (!(accessflags & QObjectBinding::ScriptableSlots)) { + return false; + } + } else { + if (!(accessflags & QObjectBinding::NonScriptableSlots)) { + return false; + } + } + return true; +} + +bool validSignal(const QMetaMethod &method, QObjectBinding::AccessFlags accessflags) +{ + switch (method.access()) { + case QMetaMethod::Private: { + if (!(accessflags & QObjectBinding::PrivateSignals)) { + return false; + } + } break; + case QMetaMethod::Protected: { + if (!(accessflags & QObjectBinding::ProtectedSignals)) { + return false; + } + } break; + case QMetaMethod::Public: { + if (!(accessflags & QObjectBinding::PublicSignals)) { + return false; + } + } break; + } + if (method.attributes() & QMetaMethod::Scriptable) { + if (!(accessflags & QObjectBinding::ScriptableSignals)) { + return false; + } + } else { + if (!(accessflags & QObjectBinding::NonScriptableSignals)) { + return false; + } + } + return true; +} + +bool validProperty(const QMetaProperty &property, QObjectBinding::AccessFlags accessflags) +{ + if (property.isScriptable()) { + if (!(accessflags & QObjectBinding::ScriptableProperties)) { + return false; + } + } else { + if (!(accessflags & QObjectBinding::NonScriptableProperties)) { + return false; + } + } + return true; +} + +KJS::JSValue *callConnect(KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args) +{ + KJSEmbed::QObjectBinding *imp = KJSEmbed::extractBindingImp(exec, self); + if (!imp) { // No implementation, so we need to use the first argument as we are a global static invocation. + imp = KJSEmbed::extractBindingImp(exec, args[0]); + } + if (!imp) { + return KJS::throwError(exec, KJS::GeneralError, i18n("Wrong object type.")); + } + //return KJSEmbed::throwError(exec, i18n("Wrong object type.")); + + if (args.size() > 2) { + KJSEmbed::QObjectBinding *senderImp = KJSEmbed::extractBindingImp(exec, args[0]); + if (!senderImp) { + return KJS::throwError(exec, KJS::GeneralError, i18n("First argument must be a QObject.")); + //return KJSEmbed::throwError(exec, i18n("First argument must be a QObject")); + } + QObject *receiver = nullptr; + QObject *sender = senderImp->object(); + QByteArray signal = createSignal(args[1]->toString(exec).ascii()); + QByteArray slot; + KJSEmbed::QObjectBinding *receiverImp = nullptr; + if (args.size() >= 4) { + slot = createSlot(args[3]->toString(exec).ascii()); + receiverImp = KJSEmbed::extractBindingImp(exec, args[2]); + if (!receiverImp) { + receiver = new SlotProxy(args[2]->toObject(exec), exec->dynamicInterpreter(), sender, args[3]->toString(exec).ascii()); + } else { + receiver = receiverImp->object(); + } + } else { + receiverImp = imp; + receiver = imp->object(); + slot = createSlot(args[2]->toString(exec).ascii()); + } + + const QMetaObject *senderMetaObject = sender->metaObject(); + QMetaMethod senderMetaMethod = senderMetaObject->method(senderMetaObject->indexOfSignal(signal.constData())); + + const QMetaObject *receiverMetaObject = receiver->metaObject(); + QMetaMethod receiverMetaMethod = receiverMetaObject->method(receiverMetaObject->indexOfSlot(slot.constData())); + + if (validSignal(senderMetaMethod, senderImp->access()) && (!receiverImp || validSlot(receiverMetaMethod, receiverImp->access()))) { + return KJS::jsBoolean(QObject::connect(sender, signal.constData(), receiver, slot.constData())); + } + + return KJS::jsBoolean(false); + } + return KJS::throwError(exec, KJS::GeneralError, i18n("Incorrect number of arguments.")); + //return KJSEmbed::throwError(exec, i18n("Incorrect number of arguments.")); +} + +QByteArray extractMemberName(const QMetaMethod &member) +{ + QString sig = member.methodSignature(); + return sig.left(sig.indexOf('(')).toLatin1(); +} + +void QObjectBinding::publishQObject(KJS::ExecState *exec, KJS::JSObject *target, QObject *object) +{ + KJSEmbed::QObjectBinding *imp = KJSEmbed::extractBindingImp(exec, target); + Q_ASSERT(imp); + + // Add the children the QObject has. + if (imp->access() & QObjectBinding::ChildObjects) { + //TODO uh, this one is dirty cause it may eat a lot of time to publish things that may not + //got accessed anyway. Better solution would be to provide access to them on demand only. That + //would also allow to manipulate the QObject-tree at runtime what is currently not possible. + QObjectList children = object->children(); + QObjectList::Iterator child = children.begin(); + for (; child != children.end(); ++child) { + QString objectName = (*child)->objectName(); + if (!objectName.isEmpty()) { + KJS::JSObject *childObject = KJSEmbed::createQObject(exec, *child); + KJSEmbed::QObjectBinding *childImp = KJSEmbed::extractBindingImp(exec, childObject); + if (childImp) { + childImp->setAccess(imp->access()); // inherit access from parent + target->put(exec, KJS::Identifier(toUString(objectName)), childObject); + } + } + } + } + + // Add slots of the current object. + const QMetaObject *metaObject = object->metaObject(); + int methods = metaObject->methodCount(); + for (int idx = 0; idx < methods; ++idx) { + QMetaMethod member = metaObject->method(idx); + if (validSlot(member, imp->access())) { + target->put(exec, KJS::Identifier(extractMemberName(member).constData()), + new SlotBinding(exec, member), KJS::DontDelete | KJS::ReadOnly | KJS::Function); + } + } + + // Add enums as read only uints. + int enums = metaObject->enumeratorCount(); + for (int idx = 0; idx < enums; ++idx) { + QMetaEnum enumerator = metaObject->enumerator(idx); + int keys = enumerator.keyCount(); + for (int key = 0; key < keys; ++key) { + target->put(exec, KJS::Identifier(enumerator.key(key)), + KJS::jsNumber(enumerator.value(key)), KJS::DontDelete | KJS::ReadOnly); + } + } +} + +QObjectBinding::QObjectBinding(KJS::ExecState *exec, QObject *object) + : ObjectBinding(exec, object->metaObject()->className(), object) + , m_evproxy(nullptr) + , m_access(AllSlots | AllSignals | AllProperties | AllObjects) +{ + if (object->parent() != nullptr) { + setOwnership(ObjectBinding::QObjOwned); + } else { + setOwnership(ObjectBinding::JSOwned); + } + + m_cleanupHandler = new QObjectCleanupHandler(); + watchObject(object); + + StaticBinding::publish(exec, this, QObjectFactory::methods()); + QObjectBinding::publishQObject(exec, this, object); + + // Make "connect" a global static method. + exec->dynamicInterpreter()->globalObject()->put(exec, "connect", new StaticBinding(exec, &QObjectFactory::methods()[0])); +} + +QObjectBinding::~QObjectBinding() +{ + if (m_cleanupHandler->isEmpty()) { + setOwnership(ObjectBinding::QObjOwned); + } else if (object()->parent() != nullptr) { + setOwnership(ObjectBinding::QObjOwned); + m_cleanupHandler->remove(object()); + } else if (ownership() != ObjectBinding::JSOwned) { + m_cleanupHandler->remove(object()); + } else { + m_cleanupHandler->remove(object()); + } + + delete m_cleanupHandler; +} + +void QObjectBinding::watchObject(QObject *object) +{ + m_cleanupHandler->add(object); +} + +bool QObjectBinding::getOwnPropertySlot(KJS::ExecState *exec, const KJS::Identifier &propertyName, KJS::PropertySlot &slot) +{ + // qDebug() << "getOwnPropertySlot called"; + QObject *obj = object(); + const QMetaObject *meta = obj->metaObject(); + int propIndex = meta->indexOfProperty(propertyName.ascii()); + if (propIndex != -1) { + if (! validProperty(meta->property(propIndex), m_access)) { + return false; + } + // qDebug() << "getOwnPropertySlot found the property " << propertyName.ascii(); + slot.setCustom(this, propertyGetter); + return true; + } + return ObjectBinding::getOwnPropertySlot(exec, propertyName, slot); +} + +KJS::JSValue *QObjectBinding::propertyGetter(KJS::ExecState *exec, KJS::JSObject *, + const KJS::Identifier &propertyName, const KJS::PropertySlot &slot) +{ + // qDebug() << "Getter was called"; + QObjectBinding *self = static_cast(slot.slotBase()); + QObject *obj = self->object(); + + QVariant val = obj->property(propertyName.ascii()); + if (val.isValid()) { + return convertToValue(exec, val); + } + qDebug() << QString("propertyGetter called but no property, name was '%1'").arg(propertyName.ascii()); + return nullptr; // ERROR +} + +QObjectBinding::AccessFlags QObjectBinding::access() const +{ + return m_access; +} + +void QObjectBinding::setAccess(QObjectBinding::AccessFlags access) +{ + m_access = access; +} + +void QObjectBinding::put(KJS::ExecState *exec, const KJS::Identifier &propertyName, KJS::JSValue *value, int attr) +{ + QObject *obj = object(); + if (obj && !m_cleanupHandler->isEmpty()) { + // Properties + const QMetaObject *meta = obj->metaObject(); + + if (int propIndex = meta->indexOfProperty(propertyName.ascii()) != -1) { + QMetaProperty prop = meta->property(propIndex); + if (! validProperty(prop, m_access)) { + return; + } + + bool propSet = false; + QVariant val = convertToVariant(exec, value); + if (prop.isEnumType()) { + propSet = obj->setProperty(propertyName.ascii(), val.toUInt()); + } else if (val.isValid() /*&& meta->property(propIndex).isWritable() <- wtf?*/) { + propSet = obj->setProperty(propertyName.ascii(), val); + } + /* + if( !propSet ) + { + KJSEmbed::throwError(exec, + i18n("Setting property %1 failed: property invalid, read-only or does not exist").arg(propertyName.ascii())); + } + */ + + } + + if (JSEventMapper::mapper()->isEventHandler(propertyName)) { + if (!m_evproxy) { + m_evproxy = new KJSEmbed::EventProxy(this, exec->dynamicInterpreter()); + } + if (value) { + m_evproxy->addFilter(JSEventMapper::mapper()->findEventType(propertyName)); + } else { + m_evproxy->removeFilter(JSEventMapper::mapper()->findEventType(propertyName)); + } + } + } + //qDebug() << "Forward put"; + // Set a property value + ObjectBinding::put(exec, propertyName, value, attr); +} + +bool QObjectBinding::canPut(KJS::ExecState *exec, const KJS::Identifier &propertyName) const +{ + QObject *obj = object(); + if (obj && !m_cleanupHandler->isEmpty()) { + // Properties + const QMetaObject *meta = obj->metaObject(); + if (int propIndex = meta->indexOfProperty(propertyName.ascii()) != -1) { + QMetaProperty prop = meta->property(propIndex); + return validProperty(prop, m_access) && prop.isWritable(); + } + } + return ObjectBinding::canPut(exec, propertyName); +} + +KJS::UString QObjectBinding::className() const +{ + return toUString(typeName()); +} + +KJS::UString QObjectBinding::toString(KJS::ExecState *exec) const +{ + Q_UNUSED(exec); + QString s("%1 (%2)"); + s = s.arg(object()->objectName()); + s = s.arg(typeName()); + return toUString(s); +} + +PointerBase *getArg(KJS::ExecState *exec, const QList &types, const KJS::List &args, int idx, QString &errorText) +{ + //qDebug("Index %d, args size %d, types size %d", idx, args.size(), types.size() ); + + if (types.size() == 0 && idx == 0) { + return new NullPtr(); + } + if (args.size() <= idx) { + return new NullPtr(); + } + + if (types.size() <= idx) { + const QString firstPart = i18np("The slot asked for %1 argument", "The slot asked for %1 arguments", idx); + const QString secondPart = i18np("but there is only %1 available", "but there are only %1 available", types.size()); + errorText = i18nc("%1 is 'the slot asked for foo arguments', %2 is 'but there are only bar available'", "%1, %2."); + + return nullptr; + } + + QVariant::Type varianttype = QVariant::nameToType(types[idx].constData()); + //qDebug( QString("type=%1 argtype=%2 variantType=%3 (%4)").arg(types[idx].constData()).arg(args[idx]->type()).arg(varianttype).arg(QVariant::typeToName(varianttype)).toLatin1() ); + switch (varianttype) { + case QVariant::Int: + if (args[idx]->type() == KJS::NumberType) { + return new Value(int(args[idx]->toInteger(exec))); + } + break; + case QVariant::UInt: + if (args[idx]->type() == KJS::NumberType) { + return new Value(uint(args[idx]->toInteger(exec))); + } + break; + case QVariant::LongLong: + if (args[idx]->type() == KJS::NumberType) { + return new Value(qlonglong(args[idx]->toInteger(exec))); + } + break; + case QVariant::ULongLong: + if (args[idx]->type() == KJS::NumberType) { + return new Value(qulonglong(args[idx]->toInteger(exec))); + } + break; + case QVariant::Double: + if (args[idx]->type() == KJS::NumberType) { + return new Value(args[idx]->toNumber(exec)); + } + //if ( types[idx] == "float" ) return new Value( args[idx]->toNumber(exec) ); + //if ( types[idx] == "qreal" ) return new Value( args[idx]->toNumber(exec) ); + break; + case QVariant::Bool: + if (args[idx]->type() == KJS::BooleanType) { + return new Value(args[idx]->toBoolean(exec)); + } + break; + case QVariant::ByteArray: + if (args[idx]->type() == KJS::StringType) { + return new Value(toQString(args[idx]->toString(exec)).toUtf8()); + } + break; + case QVariant::String: + if (args[idx]->type() == KJS::StringType) { + return new Value(toQString(args[idx]->toString(exec))); + } + break; + case QVariant::StringList: + if (args[idx]->type() == KJS::ObjectType) { + return new Value(convertArrayToStringList(exec, args[idx])); + } + break; + case QVariant::Size: + if (VariantBinding *valImp = KJSEmbed::extractBindingImp(exec, args[idx])) { + return new Value(valImp->variant().value()); + } + break; + case QVariant::SizeF: + if (VariantBinding *valImp = KJSEmbed::extractBindingImp(exec, args[idx])) { + return new Value(valImp->variant().value()); + } + break; + case QVariant::Point: + if (VariantBinding *valImp = KJSEmbed::extractBindingImp(exec, args[idx])) { + return new Value(valImp->variant().value()); + } + break; + case QVariant::PointF: + if (VariantBinding *valImp = KJSEmbed::extractBindingImp(exec, args[idx])) { + return new Value(valImp->variant().value()); + } + break; + case QVariant::Rect: + if (VariantBinding *valImp = KJSEmbed::extractBindingImp(exec, args[idx])) { + return new Value(valImp->variant().value()); + } + break; + case QVariant::RectF: + if (VariantBinding *valImp = KJSEmbed::extractBindingImp(exec, args[idx])) { + return new Value(valImp->variant().value()); + } + break; + case QVariant::Color: + if (args[idx]->type() == KJS::StringType) { + return new Value(QColor(toQString(args[idx]->toString(exec)))); + } + if (VariantBinding *valImp = KJSEmbed::extractBindingImp(exec, args[idx])) { + return new Value(valImp->variant().value()); + } + break; + case QVariant::Url: + if (args[idx]->type() == KJS::StringType) { + return new Value(QUrl(toQString(args[idx]->toString(exec)))); + } + if (VariantBinding *valImp = KJSEmbed::extractBindingImp(exec, args[idx])) { + return new Value(valImp->variant().value()); + } + break; + case QVariant::List: + if (args[idx]->type() == KJS::ObjectType) { + return new Value(convertArrayToList(exec, args[idx])); + } + break; + case QVariant::Map: + if (args[idx]->type() == KJS::ObjectType) { + return new Value(convertArrayToMap(exec, args[idx])); + } + break; + case QVariant::UserType: // fall through + default: + if (args[idx]->type() == KJS::NullType) { + return new NullPtr(); + } + if (args[idx]->type() == KJS::StringType) { + if (strcmp(types[idx].constData(), "KUrl") == 0) { //downcast to QUrl + return new Value(QUrl(toQString(args[idx]->toString(exec)))); + } + } + if (args[idx]->type() == KJS::ObjectType) { + if (QObjectBinding *objImp = KJSEmbed::extractBindingImp(exec, args[idx])) { + //qDebug("\tQObjectBinding"); + if (QObject *qObj = objImp->qobject()) { + return new Value(qObj); + } + } else if (ObjectBinding *objImp = KJSEmbed::extractBindingImp(exec, args[idx])) { + //qDebug("\tObjectBinding"); + return new Value(objImp->voidStar()); + } + if (VariantBinding *valImp = KJSEmbed::extractBindingImp(exec, args[idx])) { + //qDebug() << "\tVariantBinding typeName=" << valImp->variant().typeName() << "type=" << valImp->variant().type() << "userType=" << valImp->variant().userType() << " variant=" << valImp->variant(); + QVariant var = valImp->variant(); + + // if the variant is the appropriate type, return its data + if ((var.type() == varianttype) || + ((var.type() == QVariant::UserType) && + (types[idx].constData() == var.typeName()))) { + return new Value(valImp->variant().data()); + } else if ((var.type() != QVariant::UserType) && + var.canConvert(varianttype)) { + // is convertible type, so convert it, and return if successful + if (var.convert(varianttype)) { + return new Value(valImp->variant().data()); + } + } else if ((var.type() == QVariant::UserType) && + var.canConvert()) { + QObject *qObj = var.value(); + if (!qObj) { + qObj = reinterpret_cast(var.value()); + } + if (qObj) { + QByteArray typeName = types[idx].constData(); + typeName.replace("*", ""); //krazy:exclude=doublequote_chars + if (qObj->inherits(typeName.constData())) { + return new Value(qObj); + } + } + } + } + } + + QVariant v = KJSEmbed::extractVariant(exec, args[idx]); + if (! v.isNull()) { + return new Value(v); + } + + break; + } + + qDebug("Cast failure %s value Type %d", types[idx].constData(), args[idx]->type()); + // construct a meaningful exception message + QString jsType; + KJS::JSObject *jsObj = args[idx]->getObject(); + if (jsObj) { + const KJS::ClassInfo *ci = jsObj->classInfo(); + if (ci && ci->className) { + jsType = ci->className; + } + if (jsType.isEmpty()) { + jsType = toQString(jsObj->className()); + } + } + + if (jsType.isEmpty()) { + switch (args[idx]->type()) { + case KJS::UnspecifiedType: + jsType = "jsUnspecified"; + break; + case KJS::NumberType: + jsType = "jsNumber"; + break; + case KJS::BooleanType: + jsType = "jsBoolean"; + break; + case KJS::UndefinedType: + jsType = "jsUndefined"; + break; + case KJS::NullType: + jsType = "jsNull"; + break; + case KJS::StringType: + jsType = "jsString"; + break; + case KJS::ObjectType: + jsType = "jsObject"; + break; + case KJS::GetterSetterType: + jsType = "jsGetterSetter"; + break; + default: + jsType = QString::number(args[idx]->type()); + break; + } + } + + errorText = i18n("Failure to cast to %1 value from Type %2 (%3)", + types[idx].constData(), jsType, toQString(args[idx]->toString(exec))); + + return nullptr; +} + +KJS::JSValue *SlotBinding::callAsFunction(KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args) +{ + QObjectBinding *imp = extractBindingImp(exec, self); + if (imp == nullptr) { + return KJS::jsNull(); + } + + PointerBase *qtArgs[10]; + void *param[11]; + + QObject *object = imp->object(); + int count = object->metaObject()->methodCount(); + QMetaMethod metaMember; + int offset = 0; + bool success = false; + for (; offset < count; ++offset) { + metaMember = object->metaObject()->method(offset); + if (extractMemberName(metaMember) == m_memberName) { + if (metaMember.parameterTypes().size() == args.size() && validSlot(metaMember, imp->access())) { + success = true; + break; + } + } + } + + if (!success) { + return KJS::throwError(exec, KJS::GeneralError, i18n("No such method '%1'.", m_memberName.constData())); + //return KJSEmbed::throwError(exec, i18n("Call to '%1' failed.").arg(m_memberName.constData())); + } + + QList types = metaMember.parameterTypes(); + + QVariant::Type returnTypeId = QVariant::nameToType(metaMember.typeName()); + int tp = QMetaType::type(metaMember.typeName()); + PointerBase *qtRet = new Value(nullptr); + + bool returnIsMetaType = ( + returnTypeId == QVariant::UserType || + returnTypeId == QVariant::Size || returnTypeId == QVariant::SizeF || + returnTypeId == QVariant::Point || returnTypeId == QVariant::PointF || + returnTypeId == QVariant::Rect || returnTypeId == QVariant::RectF || + returnTypeId == QVariant::Color + ); + QVariant returnValue = returnIsMetaType ? QVariant(tp, (void *)nullptr) : QVariant(returnTypeId); + QGenericReturnArgument returnArgument(metaMember.typeName(), &returnValue); + param[0] = returnIsMetaType ? qtRet->voidStar() : returnArgument.data(); + + QString errorText; + for (int idx = 0; idx < 10; ++idx) { + qtArgs[idx] = getArg(exec, types, args, idx, errorText); + if (!qtArgs[idx]) { + for (int i = 0; i < idx; ++i) { + delete qtArgs[i]; + } + delete qtRet; + return KJS::throwError(exec, KJS::GeneralError, i18n("Call to method '%1' failed, unable to get argument %2: %3", m_memberName.constData(), idx, errorText)); + } + param[idx + 1] = qtArgs[idx]->voidStar(); + } + + success = object->qt_metacall(QMetaObject::InvokeMetaMethod, offset, param) < 0; + + KJS::JSValue *jsReturnValue = nullptr; + if (success) { + switch (returnTypeId) { + case QVariant::Invalid: // fall through + case QVariant::UserType: { + if (QMetaType::typeFlags(tp) & QMetaType::PointerToQObject) { + const QVariant v(tp, param[0]); + QObject *obj = v.value< QObject * >(); + if (obj) { + jsReturnValue = KJSEmbed::createQObject(exec, obj, KJSEmbed::ObjectBinding::CPPOwned); + } + } + } break; + default: + if (returnIsMetaType) { + returnValue = QVariant(tp, param[0]); + } + break; + } + if (! jsReturnValue) { + jsReturnValue = KJSEmbed::convertToValue(exec, returnValue); + } + } + + for (int idx = 0; idx < 10; ++idx) { + delete qtArgs[idx]; + } + delete qtRet; + + if (!success) { + return KJS::throwError(exec, KJS::GeneralError, i18n("Call to '%1' failed.", m_memberName.constData())); + } + + return jsReturnValue; +} + +SlotBinding::SlotBinding(KJS::ExecState *exec, const QMetaMethod &member) + : KJS::InternalFunctionImp(static_cast(exec->lexicalInterpreter()->builtinFunctionPrototype()), + KJS::Identifier(toUString(extractMemberName(member)))) +{ + m_memberName = extractMemberName(member); + int count = member.parameterNames().count(); + putDirect(exec->propertyNames().length, count, LengthFlags); +} + +KJS::JSObject *KJSEmbed::createQObject(KJS::ExecState *exec, QObject *value, KJSEmbed::ObjectBinding::Ownership owner) +{ + if (nullptr == value) { + return new KJS::JSObject(); + } + + const QMetaObject *meta = value->metaObject(); + KJS::JSObject *parent = exec->dynamicInterpreter()->globalObject(); + KJS::JSObject *returnValue; + int pos; + QString clazz; + do { + clazz = meta->className(); + +#ifdef CREATEQOBJ_DIAG + qDebug() << "clazz=" << clazz; +#endif + // strip off namespace since they aren't included + if ((pos = clazz.lastIndexOf("::")) != -1) { + clazz.remove(0, pos + 2); + } +#ifdef CREATEQOBJ_DIAG + qDebug() << "cleaned clazz=" << clazz; +#endif + if (parent->hasProperty(exec, KJS::Identifier(toUString(clazz)))) { +#ifdef CREATEQOBJ_DIAG + qDebug() << "createQObject(): clazz=" << clazz << " value=" << value; +#endif + Pointer pov(value); + returnValue = StaticConstructor::bind(exec, clazz, pov); + if (returnValue) { + return returnValue; + } + +#ifdef CREATEQOBJ_DIAG + qDebug("\tresort to construct() method."); +#endif + returnValue = StaticConstructor::construct(exec, parent, toUString(clazz)); + if (returnValue) { + // If it is a value type setValue + KJSEmbed::QObjectBinding *imp = extractBindingImp(exec, returnValue); + if (imp) { + imp->setObject(value); + imp->watchObject(value); + imp->setOwnership(owner); + KJSEmbed::QObjectBinding::publishQObject(exec, returnValue, value); + } else { + KJS::throwError(exec, KJS::TypeError, i18n("%1 is not an Object type", clazz)); + return new KJS::JSObject(); + } + } else { + KJS::throwError(exec, KJS::TypeError, i18n("Could not construct value")); + return new KJS::JSObject(); + } + return returnValue; + } else { +#ifdef CREATEQOBJ_DIAG + qDebug("%s not a bound type, move up the chain", meta->className()); +#endif + meta = meta->superClass(); + } + + } while (meta); + + KJSEmbed::QObjectBinding *imp = new KJSEmbed::QObjectBinding(exec, value); + imp->setOwnership(owner); + + return imp; +} + +START_QOBJECT_METHOD(callParent, QObject) +//TODO it would be better, if each QObjectBinding remembers it's parent rather then +//creating a new instance each time. That wouldn't only be more logical, but also +//does prevent losing of additional information like e.g. the access-level. +if (imp->access() & QObjectBinding::GetParentObject) +{ + QObject *parent = imp->object()->parent(); + KJS::JSObject *parentObject = KJSEmbed::createQObject(exec, parent); + KJSEmbed::QObjectBinding *parentImp = KJSEmbed::extractBindingImp(exec, parentObject); + if (parentImp) { + parentImp->setAccess(imp->access()); // inherit access from child since we don't know the access-level of the parent here :-( + } + result = parentObject; +} +END_QOBJECT_METHOD +START_QOBJECT_METHOD(callIsWidgetType, QObject) +result = KJS::jsBoolean(object->isWidgetType()); +END_QOBJECT_METHOD +START_QOBJECT_METHOD(callInherits, QObject) +QByteArray className = KJSEmbed::extractQString(exec, args, 0).toLatin1(); +result = KJS::jsBoolean(object->inherits(className.constData())); +END_QOBJECT_METHOD +START_QOBJECT_METHOD(callSetParent, QObject) +if (imp->access() & QObjectBinding::SetParentObject) +{ + QObject *parent = KJSEmbed::extractObject(exec, args, 0, nullptr); + object->setParent(parent); +} +END_QOBJECT_METHOD +START_QOBJECT_METHOD(callFindChild, QObject) +if (imp->access() & QObjectBinding::ChildObjects) +{ + QString childName = KJSEmbed::extractQString(exec, args, 0); + QObject *child = object->findChild(childName); + KJS::JSObject *childObject = KJSEmbed::createQObject(exec, child); + KJSEmbed::QObjectBinding *childImp = KJSEmbed::extractBindingImp(exec, childObject); + if (childImp) { + childImp->setAccess(imp->access()); // inherit access from parent + } + result = childObject; +} +END_QOBJECT_METHOD + +START_METHOD_LUT(QObjectFactory) +{"connect", 4, KJS::DontDelete | KJS::ReadOnly, &callConnect }, +{"parent", 0, KJS::DontDelete | KJS::ReadOnly, &callParent }, +{"inherits", 1, KJS::DontDelete | KJS::ReadOnly, &callInherits }, +{"isWidgetType", 0, KJS::DontDelete | KJS::ReadOnly, &callIsWidgetType }, +{"setParent", 1, KJS::DontDelete | KJS::ReadOnly, &callSetParent }, +{"findChild", 1, KJS::DontDelete | KJS::ReadOnly, &callFindChild } +END_METHOD_LUT + +NO_ENUMS(QObjectFactory) +NO_STATICS(QObjectFactory) + diff --git a/src/kjsembed/qobject_binding.h b/src/kjsembed/qobject_binding.h new file mode 100644 index 0000000..b340396 --- /dev/null +++ b/src/kjsembed/qobject_binding.h @@ -0,0 +1,242 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + Copyright (C) 2007, 2008 Sebastian Sauer + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef QOBJECT_BINDING_H +#define QOBJECT_BINDING_H + +#include +#include + +#include + +#include "binding_support.h" +#include "object_binding.h" + +/** +* A simple pointer style method. +* This will extract the pointer, cast it to the native type and place it in "value". +* Any data that should be returned from this method should be placed into "result"; +* +*/ +#define START_QOBJECT_METHOD( METHODNAME, TYPE) \ + KJS::JSValue *METHODNAME( KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args ) \ + { \ + Q_UNUSED( args ); \ + KJS::JSValue *result = KJS::jsNull(); \ + KJSEmbed::QObjectBinding *imp = KJSEmbed::extractBindingImp(exec, self ); \ + if( imp ) \ + { \ + TYPE *object = imp->qobject(); \ + if( object ) \ + { + +/** +* End a variant method started by START_QOBJECT_METHOD +*/ +#define END_QOBJECT_METHOD \ + } \ + else \ + KJS::throwError(exec, KJS::ReferenceError, QString("QO: The internal object died %1:%2.").arg(__FILE__).arg(__LINE__));\ + } \ + else \ + KJS::throwError(exec, KJS::ReferenceError, QString("QObject died."));\ + return result; \ + } + +class QObject; +class QMetaMethod; + +namespace KJSEmbed +{ + +KJS_BINDING(QObjectFactory) + +class EventProxy; + +class KJSEMBED_EXPORT QObjectBinding : public ObjectBinding +{ +public: + + QObjectBinding(KJS::ExecState *exec, QObject *object); + ~QObjectBinding() override; + + static void publishQObject(KJS::ExecState *exec, KJS::JSObject *target, QObject *object); + + /** + * Enumeration of access-flags that could be OR-combined to define + * what parts of the QObject should be published. + * Default is AllSlots|AllSignals|AllProperties|AllObjects what + * means that everything got published, even e.g. private slots. + */ + enum Access { + None = 0x00, ///< Don't publish anything. + + ScriptableSlots = 0x01, ///< Publish slots that have Q_SCRIPTABLE defined. + NonScriptableSlots = 0x02, ///< Publish slots that don't have Q_SCRIPTABLE defined. + PrivateSlots = 0x04, ///< Publish private slots. + ProtectedSlots = 0x08, ///< Publish protected slots. + PublicSlots = 0x10, ///< Publish public slots. + AllSlots = ScriptableSlots | NonScriptableSlots | PrivateSlots | ProtectedSlots | PublicSlots, + + ScriptableSignals = 0x100, ///< Publish signals that have Q_SCRIPTABLE defined. + NonScriptableSignals = 0x200, ///< Publish signals that don't have Q_SCRIPTABLE defined. + PrivateSignals = 0x400, ///< Publish private signals. + ProtectedSignals = 0x800, ///< Publish protected signals. + PublicSignals = 0x1000, ///< Publish public signals. + AllSignals = ScriptableSignals | NonScriptableSignals | PrivateSignals | ProtectedSignals | PublicSignals, + + ScriptableProperties = 0x10000, ///< Publish properties that have Q_SCRIPTABLE defined. + NonScriptableProperties = 0x20000, ///< Publish properties that don't have Q_SCRIPTABLE defined. + AllProperties = ScriptableProperties | NonScriptableProperties, + + GetParentObject = 0x100000, ///< Provide access to the parent QObject the QObject has. + SetParentObject = 0x200000, ///< Be able to set the parent QObject the QObject has. + ChildObjects = 0x400000, ///< Provide access to the child QObject's the QObject has. + AllObjects = GetParentObject | SetParentObject | ChildObjects + }; + + Q_DECLARE_FLAGS(AccessFlags, Access) + + /** + * \return the defined \a Access flags. + */ + AccessFlags access() const; + + /** + * Set the defined \a Access flags to \p access . + */ + void setAccess(AccessFlags access); + + /** + * Set the value \p value of the property \p propertyName . + */ + void put(KJS::ExecState *exec, const KJS::Identifier &propertyName, KJS::JSValue *value, + int attr = KJS::None) override; + using JSObject::put; + + /** + * \return true if the property \p propertyName can be changed else false is returned. + */ + bool canPut(KJS::ExecState *exec, const KJS::Identifier &propertyName) const override; + + /** + * Called to ask if we have a callback for the named property. + * We return the callback in the property slot. + */ + bool getOwnPropertySlot(KJS::ExecState *exec, const KJS::Identifier &propertyName, + KJS::PropertySlot &slot) override; + using JSObject::getOwnPropertySlot; + + /** + * Callback used to get properties. + */ + static KJS::JSValue *propertyGetter(KJS::ExecState *exec, KJS::JSObject *, const KJS::Identifier &name, const KJS::PropertySlot &); + + /** + * \return a string-representation of the QObject. For example for a QWidget-instance that + * has the QObject::objectName "mywidget" the string "mywidget (QWidget)" is returned. + */ + KJS::UString toString(KJS::ExecState *exec) const override; + + /** + * \return the QObject's classname. For example for a QWidget-instance the string "QWidget" + * is returned. + */ + KJS::UString className() const override; + + /** + * Add the QObject \p object to the internal QObjectCleanupHandler to watch the + * lifetime of the QObject to know when the QObject got deleted. + */ + void watchObject(QObject *object); + + /** + * \return the internal object as a pointer to type T to the + * internal object that is derived from QObject. + */ + template + T *qobject() const + { + QObject *object = QObjectBinding::object(); + if (object) { + return qobject_cast(object); + } else { + return nullptr; + } + } + +private: + EventProxy *m_evproxy; + QObjectCleanupHandler *m_cleanupHandler; + AccessFlags m_access; +}; + +Q_DECLARE_OPERATORS_FOR_FLAGS(QObjectBinding::AccessFlags) + +class KJSEMBED_EXPORT SlotBinding : public KJS::InternalFunctionImp +{ +public: + SlotBinding(KJS::ExecState *exec, const QMetaMethod &memberName); + KJS::JSValue *callAsFunction(KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args) override; + bool implementsCall() const override + { + return true; + } + bool implementsConstruct() const override + { + return false; + } + +protected: + QByteArray m_memberName; +}; + +/** +* Returns a binding object for the specified QObject. This method walks +* up the meta objects in order to find the most specific binding it can. +* There should always be some kind of binding possible even if it is just +* the QObject binding. +* +* \param exec Represents the current state of script execution. +* \param value The QObject or from it inherited instance we should return +* a binding object for. +* \param owner Defines who's the owner of the QObject. This could be; +* \li CPPOwned what means, that the QObject's lifetime is handled +* within C++ code. So, we just provide access to it and don't +* take any future actions. +* \li QObjOwned means that the QObject got deleted if the parent QObject +* is destroyed. If the QObject has no parent QObject, it behaves like +* JSOwned. +* \li JSOwned means, that the returned KJS::JSObject takes care of +* deleting the QObject. This means, that the QObject got deleted +* as soon as the KJS::JSObject got destroyed what happens if the +* KJS::JSObject is not needed / in use any longer. +* \return the binding object instance that wraps the QObject instance or +* a JSObject with a prototype of jsNull (that is, the ECMAScript "null" value, +* not a null object pointer) if we failed to provide any binding for it. +*/ +KJSEMBED_EXPORT KJS::JSObject *createQObject(KJS::ExecState *exec, QObject *value, KJSEmbed::ObjectBinding::Ownership owner = KJSEmbed::ObjectBinding::JSOwned); + +} +#endif + diff --git a/src/kjsembed/qpainter_binding.cpp b/src/kjsembed/qpainter_binding.cpp new file mode 100644 index 0000000..dce964f --- /dev/null +++ b/src/kjsembed/qpainter_binding.cpp @@ -0,0 +1,493 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ +#include "qpainter_binding.h" +#include "object_binding.h" +#include "static_binding.h" +#include "kjseglobal.h" + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +using namespace KJSEmbed; + +QPaintDevice *extractPaintDevice(KJS::ExecState *exec, KJS::JSValue *arg) +{ + QPaintDevice *device = nullptr; + + ObjectBinding *imp = extractBindingImp(exec, arg); + if (imp) { +#ifdef __GNUC__ +#warning There be dragons here... +#endif + /** + * Because of something odd with multiple inheritance and qobject cast + * we need to first cast it to a QObject, then cast it to a QWidget. + * All other paint devices in Qt that are objects are single inheritance + * so dynamic_cast will work properly. + */ + QObject *qobject = imp->object(); + if (qobject) { + device = qobject_cast(qobject); + } else { + device = imp->object(); + } + + if (device) { + qDebug("Height = %d Width = %d", device->height(), device->width()); + } + } else { + VariantBinding *valueImp = extractBindingImp(exec, arg); + if (valueImp && (valueImp->variant().type() == QVariant::Pixmap || + valueImp->variant().type() == QVariant::Image)) { + device = static_cast(valueImp->pointer()); + } + } + return device; +} + +START_OBJECT_METHOD(callPainterBegin, QPainter) +result = KJS::jsBoolean(false); +QPaintDevice *device = extractPaintDevice(exec, args[0]); +if (device) +{ + result = KJS::jsBoolean(object->begin(device)); +} else +{ + result = KJS::jsBoolean(false); +} +END_OBJECT_METHOD + +START_OBJECT_METHOD(callPainterEnd, QPainter) +result = KJS::jsBoolean(object->end()); +END_OBJECT_METHOD + +START_OBJECT_METHOD(callbackground, QPainter) +QBrush cppValue = object->background(); +result = KJSEmbed::createVariant(exec, "QBrush", cppValue); +END_OBJECT_METHOD + +START_OBJECT_METHOD(callbackgroundMode, QPainter) +Qt::BGMode cppValue = object->backgroundMode(); +result = KJS::jsNumber(cppValue); +END_OBJECT_METHOD + +START_OBJECT_METHOD(callboundingRect, QPainter) +if (args.size() == 3) +{ + QRect arg0 = KJSEmbed::extractVariant(exec, args, 0); + int arg1 = KJSEmbed::extractInt(exec, args, 1); + QString arg2 = KJSEmbed::extractQString(exec, args, 2); + QRect cppValue = object->boundingRect(arg0, arg1, arg2); + result = KJSEmbed::createVariant(exec, "QRect", cppValue); +} else if (args.size() == 6) +{ + int arg0 = KJSEmbed::extractInt(exec, args, 0); + int arg1 = KJSEmbed::extractInt(exec, args, 1); + int arg2 = KJSEmbed::extractInt(exec, args, 2); + int arg3 = KJSEmbed::extractInt(exec, args, 3); + int arg4 = KJSEmbed::extractInt(exec, args, 4); + QString arg5 = KJSEmbed::extractQString(exec, args, 5); + QRect cppValue = object->boundingRect(arg0, arg1, arg2, arg3, arg4, arg5); + result = KJSEmbed::createVariant(exec, "QRect", cppValue); +} +END_OBJECT_METHOD + +START_OBJECT_METHOD(callbrush, QPainter) +QBrush cppValue = object->brush(); +result = KJSEmbed::createVariant(exec, "QBrush", cppValue); +END_OBJECT_METHOD + +START_OBJECT_METHOD(callbrushOrigin, QPainter) +QPoint cppValue = object->brushOrigin(); +result = KJSEmbed::createVariant(exec, "QPoint", cppValue); +END_OBJECT_METHOD + +START_OBJECT_METHOD(calldrawArc, QPainter) +if (args.size() == 3) +{ + QRect arg0 = KJSEmbed::extractVariant(exec, args, 0); + int arg1 = KJSEmbed::extractInt(exec, args, 1); + int arg2 = KJSEmbed::extractInt(exec, args, 2); + object->drawArc(arg0, arg1, arg2); +} else if (args.size() == 6) +{ + int arg0 = KJSEmbed::extractInt(exec, args, 0); + int arg1 = KJSEmbed::extractInt(exec, args, 1); + int arg2 = KJSEmbed::extractInt(exec, args, 2); + int arg3 = KJSEmbed::extractInt(exec, args, 3); + int arg4 = KJSEmbed::extractInt(exec, args, 4); + int arg5 = KJSEmbed::extractInt(exec, args, 5); + object->drawArc(arg0, arg1, arg2, arg3, arg4, arg5); +} +END_OBJECT_METHOD + +START_OBJECT_METHOD(calldrawChord, QPainter) +if (args.size() == 3) +{ + QRect arg0 = KJSEmbed::extractVariant(exec, args, 0); + int arg1 = KJSEmbed::extractInt(exec, args, 1); + int arg2 = KJSEmbed::extractInt(exec, args, 2); + object->drawChord(arg0, arg1, arg2); +} else if (args.size() == 6) +{ + int arg0 = KJSEmbed::extractInt(exec, args, 0); + int arg1 = KJSEmbed::extractInt(exec, args, 1); + int arg2 = KJSEmbed::extractInt(exec, args, 2); + int arg3 = KJSEmbed::extractInt(exec, args, 3); + int arg4 = KJSEmbed::extractInt(exec, args, 4); + int arg5 = KJSEmbed::extractInt(exec, args, 5); + object->drawChord(arg0, arg1, arg2, arg3, arg4, arg5); +} +END_OBJECT_METHOD + +START_OBJECT_METHOD(calldrawConvexPolygon, QPainter) +QPolygon arg0 = KJSEmbed::extractVariant(exec, args, 0); +object->drawConvexPolygon(arg0); +END_OBJECT_METHOD + +START_OBJECT_METHOD(calldrawEllipse, QPainter) +if (args.size() == 4) +{ + int arg0 = KJSEmbed::extractInt(exec, args, 0); + int arg1 = KJSEmbed::extractInt(exec, args, 1); + int arg2 = KJSEmbed::extractInt(exec, args, 2); + int arg3 = KJSEmbed::extractInt(exec, args, 3); + object->drawEllipse(arg0, arg1, arg2, arg3); +} else if (args.size() == 1) +{ + QRect arg0 = KJSEmbed::extractVariant(exec, args, 0); + object->drawEllipse(arg0); +} +END_OBJECT_METHOD + +START_OBJECT_METHOD(calldrawImage, QPainter) +if (args.size() == 2) +{ + QPoint arg0 = KJSEmbed::extractVariant(exec, args, 0); + QImage arg1 = KJSEmbed::extractVariant(exec, args, 1); + object->drawImage(arg0, arg1); +} else if (args.size() == 4) +{ + QPoint arg0 = KJSEmbed::extractVariant(exec, args, 0); + QImage arg1 = KJSEmbed::extractVariant(exec, args, 1); + QRect arg2 = KJSEmbed::extractVariant(exec, args, 2); + Qt::ImageConversionFlags arg3 = (Qt::ImageConversionFlags)KJSEmbed::extractInt(exec, args, 3); + object->drawImage(arg0, arg1, arg2, arg3); +} else if (args.size() == 8) +{ + int arg0 = KJSEmbed::extractInt(exec, args, 0); + int arg1 = KJSEmbed::extractInt(exec, args, 1); + QImage arg2 = KJSEmbed::extractVariant(exec, args, 2); + int arg3 = KJSEmbed::extractInt(exec, args, 3); + int arg4 = KJSEmbed::extractInt(exec, args, 4); + int arg5 = KJSEmbed::extractInt(exec, args, 5); + int arg6 = KJSEmbed::extractInt(exec, args, 6); + Qt::ImageConversionFlags arg7 = (Qt::ImageConversionFlags)KJSEmbed::extractInt(exec, args, 7); + object->drawImage(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); +} +END_OBJECT_METHOD + +START_OBJECT_METHOD(calldrawLine, QPainter) +if (args.size() == 1) +{ + QLine arg0 = KJSEmbed::extractVariant(exec, args, 0); + object->drawLine(arg0); +} else if (args.size() == 2) +{ + QPoint arg0 = KJSEmbed::extractVariant(exec, args, 0); + QPoint arg1 = KJSEmbed::extractVariant(exec, args, 1); + object->drawLine(arg0, arg1); +} else if (args.size() == 4) +{ + int arg0 = KJSEmbed::extractInt(exec, args, 0); + int arg1 = KJSEmbed::extractInt(exec, args, 1); + int arg2 = KJSEmbed::extractInt(exec, args, 2); + int arg3 = KJSEmbed::extractInt(exec, args, 3); + object->drawLine(arg0, arg1, arg2, arg3); +} +END_OBJECT_METHOD + +START_OBJECT_METHOD(calldrawPie, QPainter) +if (args.size() == 3) +{ + QRect arg0 = KJSEmbed::extractVariant(exec, args, 0); + int arg1 = KJSEmbed::extractInt(exec, args, 1); + int arg2 = KJSEmbed::extractInt(exec, args, 2); + object->drawPie(arg0, arg1, arg2); +} else if (args.size() == 6) +{ + int arg0 = KJSEmbed::extractInt(exec, args, 0); + int arg1 = KJSEmbed::extractInt(exec, args, 1); + int arg2 = KJSEmbed::extractInt(exec, args, 2); + int arg3 = KJSEmbed::extractInt(exec, args, 3); + int arg4 = KJSEmbed::extractInt(exec, args, 4); + int arg5 = KJSEmbed::extractInt(exec, args, 5); + object->drawPie(arg0, arg1, arg2, arg3, arg4, arg5); +} +END_OBJECT_METHOD + +START_OBJECT_METHOD(calldrawPixmap, QPainter) +if (args.size() == 2) +{ + QPoint arg0 = KJSEmbed::extractVariant(exec, args, 0); + QPixmap arg1 = KJSEmbed::extractVariant(exec, args, 1); + object->drawPixmap(arg0, arg1); +} else if (args.size() == 3) +{ + QPoint arg0 = KJSEmbed::extractVariant(exec, args, 0); + QPixmap arg1 = KJSEmbed::extractVariant(exec, args, 1); + QRect arg2 = KJSEmbed::extractVariant(exec, args, 2); + object->drawPixmap(arg0, arg1, arg2); +} +END_OBJECT_METHOD + +START_OBJECT_METHOD(calldrawPoint, QPainter) +if (args.size() == 1) +{ + QPoint arg0 = KJSEmbed::extractVariant(exec, args, 0); + object->drawPoint(arg0); +} else if (args.size() == 2) +{ + int arg0 = KJSEmbed::extractInt(exec, args, 0); + int arg1 = KJSEmbed::extractInt(exec, args, 1); + object->drawPoint(arg0, arg1); +} +END_OBJECT_METHOD + +START_OBJECT_METHOD(calldrawPoints, QPainter) +QPolygon arg0 = KJSEmbed::extractVariant(exec, args, 0); +object->drawPoints(arg0); +END_OBJECT_METHOD + +START_OBJECT_METHOD(calldrawPolygon, QPainter) +QPolygon arg0 = KJSEmbed::extractVariant(exec, args, 0); +Qt::FillRule arg1 = (Qt::FillRule)KJSEmbed::extractInt(exec, args, 1, Qt::OddEvenFill); +object->drawPolygon(arg0, arg1); +END_OBJECT_METHOD + +START_OBJECT_METHOD(calldrawPolyline, QPainter) +QPolygon arg0 = KJSEmbed::extractVariant(exec, args, 0); +object->drawPolyline(arg0); +END_OBJECT_METHOD + +START_OBJECT_METHOD(calldrawRect, QPainter) +if (args.size() == 1) +{ + QRect arg0 = KJSEmbed::extractVariant(exec, args, 0); + object->drawRect(arg0); +} else if (args.size() == 4) +{ + int arg0 = KJSEmbed::extractInt(exec, args, 0); + int arg1 = KJSEmbed::extractInt(exec, args, 1); + int arg2 = KJSEmbed::extractInt(exec, args, 2); + int arg3 = KJSEmbed::extractInt(exec, args, 3); + object->drawRect(arg0, arg1, arg2, arg3); +} +END_OBJECT_METHOD + +START_OBJECT_METHOD(calldrawRoundRect, QPainter) +if (args.size() == 2) +{ + QRect arg0 = KJSEmbed::extractVariant(exec, args, 0); + int arg1 = KJSEmbed::extractInt(exec, args, 1); + int arg2 = KJSEmbed::extractInt(exec, args, 2); + object->drawRoundRect(arg0, arg1, arg2); +} else if (args.size() == 6) +{ + int arg0 = KJSEmbed::extractInt(exec, args, 0); + int arg1 = KJSEmbed::extractInt(exec, args, 1); + int arg2 = KJSEmbed::extractInt(exec, args, 2); + int arg3 = KJSEmbed::extractInt(exec, args, 3); + int arg4 = KJSEmbed::extractInt(exec, args, 4); + int arg5 = KJSEmbed::extractInt(exec, args, 5); + object->drawRoundRect(arg0, arg1, arg2, arg3, arg4, arg5); +} +END_OBJECT_METHOD + +START_OBJECT_METHOD(calldrawText, QPainter) +if (args.size() == 2) +{ + QPoint arg0 = KJSEmbed::extractVariant(exec, args, 0); + QString arg1 = KJSEmbed::extractQString(exec, args, 1); + object->drawText(arg0, arg1); +} else if (args.size() == 3) +{ + QRect arg0 = KJSEmbed::extractVariant(exec, args, 0); + int arg1 = KJSEmbed::extractInt(exec, args, 1); + QString arg2 = KJSEmbed::extractQString(exec, args, 2); + QRect *arg3 = nullptr; + object->drawText(arg0, arg1, arg2, arg3); +} else if (args.size() == 6) +{ + int arg0 = KJSEmbed::extractInt(exec, args, 0); + int arg1 = KJSEmbed::extractInt(exec, args, 1); + int arg2 = KJSEmbed::extractInt(exec, args, 2); + int arg3 = KJSEmbed::extractInt(exec, args, 3); + int arg4 = KJSEmbed::extractInt(exec, args, 4); + QString arg5 = KJSEmbed::extractQString(exec, args, 5); + QRect *arg6 = nullptr; + object->drawText(arg0, arg1, arg2, arg3, arg4, arg5, arg6); +} +END_OBJECT_METHOD + +START_OBJECT_METHOD(calltranslate, QPainter) +if (args.size() == 2) +{ + int arg0 = KJSEmbed::extractInt(exec, args, 0); + int arg1 = KJSEmbed::extractInt(exec, args, 1); + object->translate(arg0, arg1); +} else if (args.size() == 1) +{ + QPoint arg0 = KJSEmbed::extractVariant(exec, args, 0); + object->translate(arg0); +} +END_OBJECT_METHOD + +START_OBJECT_METHOD(calldrawTiledPixmap, QPainter) +if (args.size() == 3) +{ + QRect arg0 = KJSEmbed::extractVariant(exec, args, 0); + QPixmap arg1 = KJSEmbed::extractVariant(exec, args, 1); + QPoint arg2 = KJSEmbed::extractVariant(exec, args, 2); + object->drawTiledPixmap(arg0, arg1, arg2); +} else if (args.size() == 7) +{ + int arg0 = KJSEmbed::extractInt(exec, args, 0); + int arg1 = KJSEmbed::extractInt(exec, args, 1); + int arg2 = KJSEmbed::extractInt(exec, args, 2); + int arg3 = KJSEmbed::extractInt(exec, args, 3); + QPixmap arg4 = KJSEmbed::extractVariant(exec, args, 4); + int arg5 = KJSEmbed::extractInt(exec, args, 5); + int arg6 = KJSEmbed::extractInt(exec, args, 6); + object->drawTiledPixmap(arg0, arg1, arg2, arg3, arg4, arg5, arg6); +} +END_OBJECT_METHOD + +START_OBJECT_METHOD(calleraseRect, QPainter) +if (args.size() == 4) +{ + int arg0 = KJSEmbed::extractInt(exec, args, 0); + int arg1 = KJSEmbed::extractInt(exec, args, 1); + int arg2 = KJSEmbed::extractInt(exec, args, 2); + int arg3 = KJSEmbed::extractInt(exec, args, 3); + object->eraseRect(arg0, arg1, arg2, arg3); +} else if (args.size() == 1) +{ + QRect arg0 = KJSEmbed::extractVariant(exec, args, 0); + object->eraseRect(arg0); +} +END_OBJECT_METHOD + +START_METHOD_LUT(Painter) +{"begin", 1, KJS::DontDelete | KJS::ReadOnly, &callPainterBegin }, +{"end", 0, KJS::DontDelete | KJS::ReadOnly, &callPainterEnd }, +{"background", 0, KJS::DontDelete | KJS::ReadOnly, &callbackground}, +{"backgroundMode", 0, KJS::DontDelete | KJS::ReadOnly, &callbackgroundMode}, +{"boundingRect", 6, KJS::DontDelete | KJS::ReadOnly, &callboundingRect}, +{"brush", 0, KJS::DontDelete | KJS::ReadOnly, &callbrush}, +{"brushOrigin", 0, KJS::DontDelete | KJS::ReadOnly, &callbrushOrigin}, +{"drawArc", 6, KJS::DontDelete | KJS::ReadOnly, &calldrawArc}, +{"drawChord", 6, KJS::DontDelete | KJS::ReadOnly, &calldrawChord}, +{"drawConvexPolygon", 1, KJS::DontDelete | KJS::ReadOnly, &calldrawConvexPolygon}, +{"drawEllipse", 3, KJS::DontDelete | KJS::ReadOnly, &calldrawEllipse}, +{"drawImage", 7, KJS::DontDelete | KJS::ReadOnly, &calldrawImage}, +{"drawLine", 3, KJS::DontDelete | KJS::ReadOnly, &calldrawLine}, +//{drawLines", 1, KJS::DontDelete|KJS::ReadOnly, &calldrawLines}, +//{"drawPath", 0, KJS::DontDelete|KJS::ReadOnly, &calldrawPath}, +//{"drawPicture", 2, KJS::DontDelete|KJS::ReadOnly, &calldrawPicture}, +{"drawPie", 6, KJS::DontDelete | KJS::ReadOnly, &calldrawPie}, +{"drawPixmap", 8, KJS::DontDelete | KJS::ReadOnly, &calldrawPixmap}, +{"drawPoint", 2, KJS::DontDelete | KJS::ReadOnly, &calldrawPoint}, +{"drawPoints", 1, KJS::DontDelete | KJS::ReadOnly, &calldrawPoints}, +{"drawPolygon", 2, KJS::DontDelete | KJS::ReadOnly, &calldrawPolygon}, +{"drawPolyline", 1, KJS::DontDelete | KJS::ReadOnly, &calldrawPolyline}, +{"drawRect", 4, KJS::DontDelete | KJS::ReadOnly, &calldrawRect}, +//{"drawRects", 0, KJS::DontDelete|KJS::ReadOnly, &calldrawRects}, +{"drawRoundRect", 5, KJS::DontDelete | KJS::ReadOnly, &calldrawRoundRect}, +{"drawText", 7, KJS::DontDelete | KJS::ReadOnly, &calldrawText}, +{"drawTiledPixmap", 3, KJS::DontDelete | KJS::ReadOnly, &calldrawTiledPixmap}, +{"eraseRect", 1, KJS::DontDelete | KJS::ReadOnly, &calleraseRect}, +//{"fillPath", 1, KJS::DontDelete|KJS::ReadOnly, &callfillPath}, +//{"fillRect", 4, KJS::DontDelete|KJS::ReadOnly, &callfillRect}, +//{"font", 0, KJS::DontDelete|KJS::ReadOnly, &callfont}, +//{"hasClipping", 0, KJS::DontDelete|KJS::ReadOnly, &callhasClipping}, +//{"isActive", 0, KJS::DontDelete|KJS::ReadOnly, &callisActive}, +//{"pen", 0, KJS::DontDelete|KJS::ReadOnly, &callpen}, +//{"renderHints", 0, KJS::DontDelete|KJS::ReadOnly, &callrenderHints}, +//{"restore", 0, KJS::DontDelete|KJS::ReadOnly, &callrestore}, +//{"rotate", 0, KJS::DontDelete|KJS::ReadOnly, &callrotate}, +//{"save", 0, KJS::DontDelete|KJS::ReadOnly, &callsave}, +//{"scale", 1, KJS::DontDelete|KJS::ReadOnly, &callscale}, +//{"setBackground", 0, KJS::DontDelete|KJS::ReadOnly, &callsetBackground}, +//{"setBackgroundColor", 0, KJS::DontDelete|KJS::ReadOnly, &callsetBackgroundColor}, +//{"setBackgroundMode", 0, KJS::DontDelete|KJS::ReadOnly, &callsetBackgroundMode}, +//{"setBrush", 0, KJS::DontDelete|KJS::ReadOnly, &callsetBrush}, +//{"setBrushOrigin", 1, KJS::DontDelete|KJS::ReadOnly, &callsetBrushOrigin}, +//{"setClipPath", 1, KJS::DontDelete|KJS::ReadOnly, &callsetClipPath}, +//{"setClipRect", 4, KJS::DontDelete|KJS::ReadOnly, &callsetClipRect}, +//{"setClipRegion", 1, KJS::DontDelete|KJS::ReadOnly, &callsetClipRegion}, +//{"setClipping", 0, KJS::DontDelete|KJS::ReadOnly, &callsetClipping}, +//{"setFont", 1, KJS::DontDelete|KJS::ReadOnly, &callsetFont}, +//{"setPen", 1, KJS::DontDelete|KJS::ReadOnly, &callsetPen}, +//{"setRenderHint", 1, KJS::DontDelete|KJS::ReadOnly, &callsetRenderHint}, +//{"shear", 2, KJS::DontDelete|KJS::ReadOnly, &callshear}, +//{"strokePath", 1, KJS::DontDelete|KJS::ReadOnly, &callstrokePath}, +{"translate", 1, KJS::DontDelete | KJS::ReadOnly, &calltranslate} +END_METHOD_LUT + +NO_ENUMS(Painter) +NO_STATICS(Painter) + +START_CTOR(Painter, QPainter, 0) +KJS::JSObject *object; + +if (args.size() == 1) +{ + QPaintDevice *device = extractPaintDevice(exec, args[0]); + if (device) { + object = new KJSEmbed::ObjectBinding(exec, "Painter", new QPainter(device)); + } else { + KJS::throwError(exec, KJS::EvalError, QString("Cannot paint to object %1").arg(toQString(args[0]->toString(exec)))); + return nullptr; + } +} else +{ + object = new KJSEmbed::ObjectBinding(exec, "Painter", new QPainter()); +} + +StaticBinding::publish(exec, object, ObjectFactory::methods()); +StaticBinding::publish(exec, object, Painter::methods()); +return object; +END_CTOR + diff --git a/src/kjsembed/qpainter_binding.h b/src/kjsembed/qpainter_binding.h new file mode 100644 index 0000000..766b851 --- /dev/null +++ b/src/kjsembed/qpainter_binding.h @@ -0,0 +1,33 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef QPAINTER_BINDING_H +#define QPAINTER_BINDING_H + +#include "qobject_binding.h" //krazy:exclude=includes (not a Qt header) + +namespace KJSEmbed +{ +KJS_BINDING(Painter) +} +#endif + diff --git a/src/kjsembed/quiloader_binding.cpp b/src/kjsembed/quiloader_binding.cpp new file mode 100644 index 0000000..d715845 --- /dev/null +++ b/src/kjsembed/quiloader_binding.cpp @@ -0,0 +1,164 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ +#include "quiloader_binding.h" + +#include +#include +#include + +#include "qwidget_binding.h" +#include "qaction_binding.h" +#include "qlayout_binding.h" +#include "static_binding.h" +#include "kjseglobal.h" + +using namespace KJSEmbed; + +KJSO_SIMPLE_BINDING_CTOR(UiLoaderBinding, QUiLoader, QObjectBinding) +KJSO_QOBJECT_BIND(UiLoaderBinding, QUiLoader) + +KJSO_START_CTOR(UiLoaderBinding, QUiLoader, 1) +{ + QUiLoader *uiLoader = nullptr; + if (args.size() == 0) { + uiLoader = new QUiLoader(); + } else if (args.size() == 1) { + QObject *arg0 = KJSEmbed::extractObject(exec, args, 0, nullptr); + uiLoader = new QUiLoader(arg0); + } else { + return KJS::throwError(exec, KJS::GeneralError, i18n("Not enough arguments.")); + } + + KJS::JSObject *uiLoaderBinding = new UiLoaderBinding(exec, uiLoader); +// qDebug() << "UiLoaderBinding::CTOR() args.size()=" << args.size() << " uiLoader=" << uiLoader << " uiLoaderBinding=" << uiLoaderBinding; + return uiLoaderBinding; +} +KJSO_END_CTOR + +namespace UiLoaderNS +{ +START_QOBJECT_METHOD(createAction, QUiLoader) +{ + QObject *parent = KJSEmbed::extractObject(exec, args, 0, nullptr); + QString actionName = KJSEmbed::extractQString(exec, args, 1); + QAction *action = object->createAction(parent, actionName); + if (action) { + return KJSEmbed::createQObject(exec, action); + } else { + return KJS::throwError(exec, KJS::GeneralError, i18n("Failed to create Action.")); + } +} +END_QOBJECT_METHOD + +START_QOBJECT_METHOD(createActionGroup, QUiLoader) +QObject *parent = KJSEmbed::extractObject(exec, args, 0, nullptr); +QString actionName = KJSEmbed::extractQString(exec, args, 1); +QActionGroup *actionGroup = object->createActionGroup(parent, actionName); +if (actionGroup) +{ + return KJSEmbed::createQObject(exec, actionGroup); +} else +{ + return KJS::throwError(exec, KJS::GeneralError, i18n("Failed to create ActionGroup.")); +} +END_QOBJECT_METHOD + +START_QOBJECT_METHOD(createLayout, QUiLoader) +{ + QString className = KJSEmbed::extractQString(exec, args, 0); + if (className.isEmpty()) { + return KJS::throwError(exec, KJS::SyntaxError, i18n("No classname specified")); + } + QObject *parent = KJSEmbed::extractObject(exec, args, 1, nullptr); + QString name = KJSEmbed::extractQString(exec, args, 2); + QLayout *layout = object->createLayout(className, parent, name); + if (layout) { + return KJSEmbed::createQObject(exec, layout); + } else { + return KJS::throwError(exec, KJS::GeneralError, i18n("Failed to create Layout.")); + } +} +END_QOBJECT_METHOD + +START_QOBJECT_METHOD(createWidget, QUiLoader) +{ + QString className = KJSEmbed::extractQString(exec, args, 0); + if (className.isEmpty()) { + return KJS::throwError(exec, KJS::SyntaxError, i18n("No classname specified.")); + } + QWidget *parent = KJSEmbed::extractObject(exec, args, 1, nullptr); + QString name = KJSEmbed::extractQString(exec, args, 2); + QWidget *widget = object->createWidget(className, parent, name); + if (widget) { + return KJSEmbed::createQObject(exec, widget); + } else { + return KJS::throwError(exec, KJS::GeneralError, i18n("Failed to create Widget.")); + } +} +END_QOBJECT_METHOD + +START_QOBJECT_METHOD(load, QUiLoader) +{ + QString fileName = KJSEmbed::extractQString(exec, args, 0); + if (fileName.isEmpty()) { + return KJS::throwError(exec, KJS::SyntaxError, i18n("Must supply a filename.")); + } + + QFile uiFile(fileName); + if (! uiFile.open(QIODevice::ReadOnly | QIODevice::Text)) { + return KJS::throwError(exec, KJS::GeneralError, i18n("Could not open file '%1': %2", fileName, uiFile.errorString())); + } + + QWidget *parent = KJSEmbed::extractObject(exec, args, 1, nullptr); + + QWidget *widget = object->load(&uiFile, parent); + uiFile.close(); + if (! widget) { + return KJS::throwError(exec, KJS::GeneralError, i18n("Failed to load file '%1'", fileName)); + } + + KJS::JSObject *result = KJSEmbed::createQObject(exec, widget); +// qDebug() << "UiLoaderBinding::load(): fileName=" << fileName << "widget " << widget << " result=" << result << "(" << result->toString(exec).ascii() << ")"; + return result; +} +END_QOBJECT_METHOD + +START_QOBJECT_METHOD(pluginPaths, QUiLoader) +// qDebug() << "UiLoader::pluginPaths(): " << object->pluginPaths(); +result = KJSEmbed::convertToValue(exec, QVariant(object->pluginPaths())); +END_QOBJECT_METHOD + +} + +START_METHOD_LUT(UiLoaderBinding) +{"createAction", 0, KJS::DontDelete | KJS::ReadOnly, &UiLoaderNS::createAction}, +{"createActionGroup", 0, KJS::DontDelete | KJS::ReadOnly, &UiLoaderNS::createActionGroup}, +{"createLayout", 1, KJS::DontDelete | KJS::ReadOnly, &UiLoaderNS::createLayout}, +{"createWidget", 1, KJS::DontDelete | KJS::ReadOnly, &UiLoaderNS::createWidget}, +{"load", 1, KJS::DontDelete | KJS::ReadOnly, &UiLoaderNS::load}, +{"load", 2, KJS::DontDelete | KJS::ReadOnly, &UiLoaderNS::load}, +{"pluginPaths", 0, KJS::DontDelete | KJS::ReadOnly, &UiLoaderNS::pluginPaths} +END_METHOD_LUT + +NO_ENUMS(UiLoaderBinding) +NO_STATICS(UiLoaderBinding) + diff --git a/src/kjsembed/quiloader_binding.h b/src/kjsembed/quiloader_binding.h new file mode 100644 index 0000000..dbbe759 --- /dev/null +++ b/src/kjsembed/quiloader_binding.h @@ -0,0 +1,35 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef QUILOADER_BINDING_H +#define QUILOADER_BINDING_H + +#include "qobject_binding.h" //krazy:exclude=includes (not a Qt header) +#include + +namespace KJSEmbed +{ +KJSO_BINDING(UiLoaderBinding, QUiLoader, QObjectBinding) +} + +#endif + diff --git a/src/kjsembed/qwidget_binding.cpp b/src/kjsembed/qwidget_binding.cpp new file mode 100644 index 0000000..6ad034e --- /dev/null +++ b/src/kjsembed/qwidget_binding.cpp @@ -0,0 +1,172 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ +#include "qwidget_binding.h" +#include "static_binding.h" +#include "qpainter_binding.h" +#include "kjseglobal.h" + +#include +#include + +#include +#include +#include +#include + +#include + +namespace KJSEmbed +{ +static QUiLoader *gUiLoader = nullptr; + +QUiLoader *uiLoader() +{ + if (gUiLoader == nullptr) { + gUiLoader = new QUiLoader(); + } + return gUiLoader; +} +} + +using namespace KJSEmbed; + +namespace WidgetNS +{ + +START_QOBJECT_METHOD(adjustSize, QWidget) +object->adjustSize(); +END_QOBJECT_METHOD +START_QOBJECT_METHOD(grabMouse, QWidget) +object->grabMouse(); +END_QOBJECT_METHOD +START_QOBJECT_METHOD(grabKeyboard, QWidget) +object->grabKeyboard(); +END_QOBJECT_METHOD +START_QOBJECT_METHOD(releaseMouse, QWidget) +object->releaseMouse(); +END_QOBJECT_METHOD +START_QOBJECT_METHOD(releaseKeyboard, QWidget) +object->releaseKeyboard(); +END_QOBJECT_METHOD +START_QOBJECT_METHOD(childAt, QWidget) +QPoint pt = KJSEmbed::extractVariant(exec, args, 0); +int x, y; +QWidget *child = nullptr; +if (pt.isNull()) +{ + x = KJSEmbed::extractVariant(exec, args, 0); + y = KJSEmbed::extractVariant(exec, args, 1); + child = object->childAt(x, y); +} else +{ + child = object->childAt(pt); +} +result = new QWidgetBinding(exec, child); +END_QOBJECT_METHOD +START_QOBJECT_METHOD(focusWidget, QWidget) +result = KJSEmbed::createQObject(exec, object->focusWidget()); +END_QOBJECT_METHOD +START_QOBJECT_METHOD(heightForWidth, QWidget) +// qDebug() << "heightForWidth() object=" << object << " imp=" << imp; +int width = KJSEmbed::extractInt(exec, args, 0); +result = KJS::jsNumber(object->heightForWidth(width)); +END_QOBJECT_METHOD +START_QOBJECT_METHOD(mapFrom, QWidget) +QWidget *w = KJSEmbed::extractObject(exec, args, 0, nullptr); +QPoint pt = KJSEmbed::extractVariant(exec, args, 1); +result = KJSEmbed::createVariant(exec, "QPoint", object->mapFrom(w, pt)); +END_QOBJECT_METHOD +START_QOBJECT_METHOD(mapFromGlobal, QWidget) +QPoint pt = KJSEmbed::extractVariant(exec, args, 0); +result = KJSEmbed::createVariant(exec, "QPoint", object->mapFromGlobal(pt)); +END_QOBJECT_METHOD +START_QOBJECT_METHOD(mapFromParent, QWidget) +QPoint pt = KJSEmbed::extractVariant(exec, args, 0); +result = KJSEmbed::createVariant(exec, "QPoint", object->mapFromParent(pt)); +END_QOBJECT_METHOD +START_QOBJECT_METHOD(mapTo, QWidget) +QWidget *w = KJSEmbed::extractObject(exec, args, 0, nullptr); +QPoint pt = KJSEmbed::extractVariant(exec, args, 1); +result = KJSEmbed::createVariant(exec, "QPoint", object->mapTo(w, pt)); +END_QOBJECT_METHOD +START_QOBJECT_METHOD(mapToParent, QWidget) +QPoint pt = KJSEmbed::extractVariant(exec, args, 0); +result = KJSEmbed::createVariant(exec, "QPoint", object->mapToParent(pt)); +END_QOBJECT_METHOD +START_QOBJECT_METHOD(mapToGlobal, QWidget) +QPoint pt = KJSEmbed::extractVariant(exec, args, 0); +result = KJSEmbed::createVariant(exec, "QPoint", object->mapToGlobal(pt)); +END_QOBJECT_METHOD + +} + +START_METHOD_LUT(QWidgetBinding) +{"adjustSize", 0, KJS::DontDelete | KJS::ReadOnly, &WidgetNS::adjustSize}, +{"grabMouse", 0, KJS::DontDelete | KJS::ReadOnly, &WidgetNS::grabMouse}, +{"grabKeyboard", 0, KJS::DontDelete | KJS::ReadOnly, &WidgetNS::grabKeyboard}, +{"releaseMouse", 0, KJS::DontDelete | KJS::ReadOnly, &WidgetNS::releaseMouse}, +{"releaseKeyboard", 0, KJS::DontDelete | KJS::ReadOnly, &WidgetNS::releaseKeyboard}, +{"childAt", 1, KJS::DontDelete | KJS::ReadOnly, &WidgetNS::childAt}, +{"focusWidget", 0, KJS::DontDelete | KJS::ReadOnly, &WidgetNS::focusWidget}, +{"heightForWidth", 1, KJS::DontDelete | KJS::ReadOnly, &WidgetNS::heightForWidth}, +{"mapFrom", 2, KJS::DontDelete | KJS::ReadOnly, &WidgetNS::mapFrom}, +{"mapFromGlobal", 1, KJS::DontDelete | KJS::ReadOnly, &WidgetNS::mapFromGlobal}, +{"mapFromParent", 1, KJS::DontDelete | KJS::ReadOnly, &WidgetNS::mapFromParent}, +{"mapTo", 2, KJS::DontDelete | KJS::ReadOnly, &WidgetNS::mapTo}, +{"mapToParent", 1, KJS::DontDelete | KJS::ReadOnly, &WidgetNS::mapToParent}, +{"mapToGlobal", 1, KJS::DontDelete | KJS::ReadOnly, &WidgetNS::mapToGlobal} +END_METHOD_LUT + +NO_ENUMS(QWidgetBinding) +NO_STATICS(QWidgetBinding) + +KJSO_SIMPLE_BINDING_CTOR(QWidgetBinding, QWidget, QObjectBinding) +KJSO_QOBJECT_BIND(QWidgetBinding, QWidget) + +KJSO_START_CTOR(QWidgetBinding, QWidget, 0) +//qDebug() << "QWidgetBinding::CTOR args.size()=" << args.size(); +if (args.size() > 0) +{ + QString widgetName = toQString(args[0]->toString(exec)); + QWidget *parentWidget = nullptr; + KJSEmbed::QObjectBinding *parentImp = KJSEmbed::extractBindingImp(exec, args[1]); + if (parentImp) { + parentWidget = parentImp->object(); + } + + QWidget *widget = uiLoader()->createWidget(widgetName, parentWidget, "QWidget"); + if (widget) { + return new QWidgetBinding(exec, widget); + } + + return KJS::throwError(exec, KJS::TypeError, toUString(i18n("'%1' is not a valid QWidget.", widgetName))); +} else +{ + QWidget *widget = new QWidget(); + if (widget) { + return new QWidgetBinding(exec, widget); + } +} + +return KJS::throwError(exec, KJS::GeneralError, toUString(i18n("Must supply a widget name."))); +END_CTOR + diff --git a/src/kjsembed/qwidget_binding.h b/src/kjsembed/qwidget_binding.h new file mode 100644 index 0000000..aa9be34 --- /dev/null +++ b/src/kjsembed/qwidget_binding.h @@ -0,0 +1,35 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef QWIDGET_BINDING_H +#define QWIDGET_BINDING_H + +#include + +#include "qobject_binding.h" //krazy:exclude=includes (not a Qt header) + +namespace KJSEmbed +{ +KJSO_BINDING(QWidgetBinding, QWidget, QObjectBinding) +} +#endif + diff --git a/src/kjsembed/rect.cpp b/src/kjsembed/rect.cpp new file mode 100644 index 0000000..4e265e0 --- /dev/null +++ b/src/kjsembed/rect.cpp @@ -0,0 +1,438 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ +#include "rect.h" + +#include +#include +#include +#include + +using namespace KJSEmbed; + +RectBinding::RectBinding(KJS::ExecState *exec, const QRect &value) + : VariantBinding(exec, value) +{ + StaticBinding::publish(exec, this, Rect::methods()); + StaticBinding::publish(exec, this, VariantFactory::methods()); +} + +namespace RectNS +{ + +START_VARIANT_METHOD(calladjust, QRect) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +int arg1 = KJSEmbed::extractInt(exec, args, 1); +int arg2 = KJSEmbed::extractInt(exec, args, 2); +int arg3 = KJSEmbed::extractInt(exec, args, 3); +value.adjust(arg0, arg1, arg2, arg3); +END_VARIANT_METHOD + +START_VARIANT_METHOD(calladjusted, QRect) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +int arg1 = KJSEmbed::extractInt(exec, args, 1); +int arg2 = KJSEmbed::extractInt(exec, args, 2); +int arg3 = KJSEmbed::extractInt(exec, args, 3); +QRect cppValue = value.adjusted(arg0, arg1, arg2, arg3); +result = KJSEmbed::createVariant(exec, "QRect", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callbottom, QRect) +int cppValue = value.bottom(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callbottomLeft, QRect) +QPoint cppValue = value.bottomLeft(); +result = KJSEmbed::createVariant(exec, "QPoint", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callbottomRight, QRect) +QPoint cppValue = value.bottomRight(); +result = KJSEmbed::createVariant(exec, "QPoint", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callcenter, QRect) +QPoint cppValue = value.center(); +result = KJSEmbed::createVariant(exec, "QPoint", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callcontains, QRect) +// 1 +if (args.size() == 2 /* && !KJSEmbed::extractVariant(exec,args, 0).isNull() */) +{ + QPoint arg0 = KJSEmbed::extractVariant(exec, args, 0); + bool arg1 = KJSEmbed::extractBool(exec, args, 1); + bool cppValue = value.contains(arg0, arg1); + result = KJS::jsBoolean(cppValue); +} +//2 +else if (args.size() == 3) +{ + int arg0 = KJSEmbed::extractInt(exec, args, 0); + int arg1 = KJSEmbed::extractInt(exec, args, 1); + bool arg2 = KJSEmbed::extractBool(exec, args, 2); + bool cppValue = value.contains(arg0, arg1, arg2); + result = KJS::jsBoolean(cppValue); +} +// 3 +else +{ + int arg0 = KJSEmbed::extractInt(exec, args, 0); + int arg1 = KJSEmbed::extractInt(exec, args, 1); + bool cppValue = value.contains(arg0, arg1); + result = KJS::jsBoolean(cppValue); +} +END_VARIANT_METHOD + +START_VARIANT_METHOD(callheight, QRect) +int cppValue = value.height(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callintersect, QRect) +QRect arg0 = KJSEmbed::extractVariant(exec, args, 0); +QRect cppValue = value.intersected(arg0); +result = KJSEmbed::createVariant(exec, "QRect", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callintersects, QRect) +QRect arg0 = KJSEmbed::extractVariant(exec, args, 0); +bool cppValue = value.intersects(arg0); +result = KJS::jsBoolean(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callisEmpty, QRect) +bool cppValue = value.isEmpty(); +result = KJS::jsBoolean(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callisNull, QRect) +bool cppValue = value.isNull(); +result = KJS::jsBoolean(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callisValid, QRect) +bool cppValue = value.isValid(); +result = KJS::jsBoolean(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callleft, QRect) +int cppValue = value.left(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callmoveBottom, QRect) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +value.moveBottom(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callmoveBottomLeft, QRect) +QPoint arg0 = KJSEmbed::extractVariant(exec, args, 0); +value.moveBottomLeft(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callmoveBottomRight, QRect) +QPoint arg0 = KJSEmbed::extractVariant(exec, args, 0); +value.moveBottomRight(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callmoveCenter, QRect) +QPoint arg0 = KJSEmbed::extractVariant(exec, args, 0); +value.moveCenter(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callmoveLeft, QRect) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +value.moveLeft(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callmoveRight, QRect) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +value.moveRight(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callmoveTo, QRect) +if (args.size() == 1) +{ + QPoint arg0 = KJSEmbed::extractVariant(exec, args, 0); + value.moveTo(arg0); +} else +{ + int arg0 = KJSEmbed::extractInt(exec, args, 0); + int arg1 = KJSEmbed::extractInt(exec, args, 1); + value.moveTo(arg0, arg1); +} +END_VARIANT_METHOD + +START_VARIANT_METHOD(callmoveTop, QRect) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +value.moveTop(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callmoveTopLeft, QRect) +QPoint arg0 = KJSEmbed::extractVariant(exec, args, 0); +value.moveTopLeft(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callmoveTopRight, QRect) +QPoint arg0 = KJSEmbed::extractVariant(exec, args, 0); +value.moveTopRight(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callnormalized, QRect) +QRect cppValue = value.normalized(); +result = KJSEmbed::createVariant(exec, "QRect", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callright, QRect) +int cppValue = value.right(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetBottom, QRect) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +value.setBottom(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetBottomLeft, QRect) +QPoint arg0 = KJSEmbed::extractVariant(exec, args, 0); +value.setBottomLeft(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetBottomRight, QRect) +QPoint arg0 = KJSEmbed::extractVariant(exec, args, 0); +value.setBottomRight(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetCoords, QRect) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +int arg1 = KJSEmbed::extractInt(exec, args, 1); +int arg2 = KJSEmbed::extractInt(exec, args, 2); +int arg3 = KJSEmbed::extractInt(exec, args, 3); +value.setCoords(arg0, arg1, arg2, arg3); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetHeight, QRect) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +value.setHeight(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetLeft, QRect) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +value.setLeft(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetRect, QRect) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +int arg1 = KJSEmbed::extractInt(exec, args, 1); +int arg2 = KJSEmbed::extractInt(exec, args, 2); +int arg3 = KJSEmbed::extractInt(exec, args, 3); +value.setRect(arg0, arg1, arg2, arg3); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetRight, QRect) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +value.setRight(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetSize, QRect) +QSize arg0 = KJSEmbed::extractVariant(exec, args, 0); +value.setSize(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetTop, QRect) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +value.setTop(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetTopLeft, QRect) +QPoint arg0 = KJSEmbed::extractVariant(exec, args, 0); +value.setTopLeft(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetTopRight, QRect) +QPoint arg0 = KJSEmbed::extractVariant(exec, args, 0); +value.setTopRight(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetWidth, QRect) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +value.setWidth(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetX, QRect) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +value.setX(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetY, QRect) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +value.setY(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsize, QRect) +QSize cppValue = value.size(); +result = KJSEmbed::createVariant(exec, "QSize", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(calltop, QRect) +int cppValue = value.top(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(calltopLeft, QRect) +QPoint cppValue = value.topLeft(); +result = KJSEmbed::createVariant(exec, "QPoint", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(calltopRight, QRect) +QPoint cppValue = value.topRight(); +result = KJSEmbed::createVariant(exec, "QPoint", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(calltranslate, QRect) +if (args.size() == 1) +{ + QPoint arg0 = KJSEmbed::extractVariant(exec, args, 0); + value.translate(arg0); +} else +{ + int arg0 = KJSEmbed::extractInt(exec, args, 0); + int arg1 = KJSEmbed::extractInt(exec, args, 1); + value.translate(arg0, arg1); +} +END_VARIANT_METHOD + +START_VARIANT_METHOD(calltranslated, QRect) +if (args.size() == 1) +{ + QPoint arg0 = KJSEmbed::extractVariant(exec, args, 0); + QRect cppValue = value.translated(arg0); + result = KJSEmbed::createVariant(exec, "QRect", cppValue); +} else +{ + int arg0 = KJSEmbed::extractInt(exec, args, 0); + int arg1 = KJSEmbed::extractInt(exec, args, 1); + QRect cppValue = value.translated(arg0, arg1); + result = KJSEmbed::createVariant(exec, "QRect", cppValue); +} +END_VARIANT_METHOD + +START_VARIANT_METHOD(callunite, QRect) +QRect arg0 = KJSEmbed::extractVariant(exec, args, 0); +QRect cppValue = value.united(arg0); +result = KJSEmbed::createVariant(exec, "QRect", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callwidth, QRect) +int cppValue = value.width(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callx, QRect) +int cppValue = value.x(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(cally, QRect) +int cppValue = value.y(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD +} + +START_METHOD_LUT(Rect) +{"adjust", 3, KJS::DontDelete | KJS::ReadOnly, &RectNS::calladjust}, +{"adjusted", 3, KJS::DontDelete | KJS::ReadOnly, &RectNS::calladjusted}, +{"bottom", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callbottom}, +{"bottomLeft", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callbottomLeft}, +{"bottomRight", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callbottomRight}, +{"center", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callcenter}, +{"contains", 2, KJS::DontDelete | KJS::ReadOnly, &RectNS::callcontains}, +{"height", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callheight}, +{"intersect", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callintersect}, +{"intersects", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callintersects}, +{"isEmpty", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callisEmpty}, +{"isNull", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callisNull}, +{"isValid", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callisValid}, +{"left", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callleft}, +{"moveBottom", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callmoveBottom}, +{"moveBottomLeft", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callmoveBottomLeft}, +{"moveBottomRight", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callmoveBottomRight}, +{"moveCenter", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callmoveCenter}, +{"moveLeft", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callmoveLeft}, +{"moveRight", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callmoveRight}, +{"moveTo", 1, KJS::DontDelete | KJS::ReadOnly, &RectNS::callmoveTo}, +{"moveTop", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callmoveTop}, +{"moveTopLeft", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callmoveTopLeft}, +{"moveTopRight", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callmoveTopRight}, +{"normalized", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callnormalized}, +{"right", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callright}, +{"setBottom", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callsetBottom}, +{"setBottomLeft", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callsetBottomLeft}, +{"setBottomRight", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callsetBottomRight}, +{"setCoords", 3, KJS::DontDelete | KJS::ReadOnly, &RectNS::callsetCoords}, +{"setHeight", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callsetHeight}, +{"setLeft", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callsetLeft}, +{"setRect", 3, KJS::DontDelete | KJS::ReadOnly, &RectNS::callsetRect}, +{"setRight", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callsetRight}, +{"setSize", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callsetSize}, +{"setTop", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callsetTop}, +{"setTopLeft", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callsetTopLeft}, +{"setTopRight", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callsetTopRight}, +{"setWidth", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callsetWidth}, +{"setX", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callsetX}, +{"setY", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callsetY}, +{"size", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callsize}, +{"top", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::calltop}, +{"topLeft", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::calltopLeft}, +{"topRight", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::calltopRight}, +{"translate", 1, KJS::DontDelete | KJS::ReadOnly, &RectNS::calltranslate}, +{"translated", 1, KJS::DontDelete | KJS::ReadOnly, &RectNS::calltranslated}, +{"unite", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callunite}, +{"width", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callwidth}, +{"x", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::callx}, +{"y", 0, KJS::DontDelete | KJS::ReadOnly, &RectNS::cally} +END_METHOD_LUT + +NO_ENUMS(Rect) +NO_STATICS(Rect) + +START_CTOR(Rect, QRect, 0) +if (args.size() == 2) +{ + /* + return KJSEmbed::RectBinding( exec, + QRect( KJSEmbed::extractQString(exec,args,0 ) ) ); + */ +} else if (args.size() == 4) +{ + return new KJSEmbed::RectBinding(exec, + QRect(KJSEmbed::extractInt(exec, args, 0), + KJSEmbed::extractInt(exec, args, 1), + KJSEmbed::extractInt(exec, args, 2), + KJSEmbed::extractInt(exec, args, 3) + )); +} + +return new KJSEmbed::RectBinding(exec, QRect()); +END_CTOR + diff --git a/src/kjsembed/rect.h b/src/kjsembed/rect.h new file mode 100644 index 0000000..6192f66 --- /dev/null +++ b/src/kjsembed/rect.h @@ -0,0 +1,48 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef RECT_H +#define RECT_H + +#include +#include + +class QRect; + +namespace KJSEmbed +{ +/** @internal Implements the binding for QRect. */ +class RectBinding : public VariantBinding +{ +public: + RectBinding(KJS::ExecState *exec, const QRect &value); +}; + +/** +* Constructors: +* +* Methods: +*/ +KJS_BINDING(Rect) +} +#endif + diff --git a/src/kjsembed/settings.cpp b/src/kjsembed/settings.cpp new file mode 100644 index 0000000..49fae92 --- /dev/null +++ b/src/kjsembed/settings.cpp @@ -0,0 +1,122 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ +#include "settings.h" +#include +#include "kjseglobal.h" + +using namespace KJSEmbed; + +START_QOBJECT_METHOD(callAllKeys, QSettings) +QStringList keys = object->allKeys(); +result = KJSEmbed::convertToValue(exec, keys); +END_QOBJECT_METHOD + +START_QOBJECT_METHOD(callSetValue, QSettings) +QString key = KJSEmbed::extractQString(exec, args, 0); +QVariant value = KJSEmbed::convertToVariant(exec, args[1]); +object->setValue(key, value); +END_QOBJECT_METHOD + +START_QOBJECT_METHOD(callValue, QSettings) +QVariant value; +QString key = KJSEmbed::extractQString(exec, args, 0); +if (args.size() == 2) +{ + value = KJSEmbed::convertToVariant(exec, args[1]); +} +value = object->value(key, value); +result = KJSEmbed::convertToValue(exec, value); +END_QOBJECT_METHOD + +START_QOBJECT_METHOD(callClear, QSettings) +object->clear(); +END_QOBJECT_METHOD + +START_QOBJECT_METHOD(callSync, QSettings) +object->sync(); +END_QOBJECT_METHOD + +START_QOBJECT_METHOD(callRemove, QSettings) +QString key = KJSEmbed::extractQString(exec, args, 0); +object->remove(key); +END_QOBJECT_METHOD + +START_STATIC_OBJECT_METHOD(callSetPath) +// QSettings::Format format = (QSettings::Format) KJSEmbed::extractVariant(exec, args, 0); +// QSettings::Scope scope = (QSettings::Scope) KJSEmbed::extractVariant(exec, args, 1); +QString path = KJSEmbed::extractQString(exec, args, 2); +//QSettings::setSystemIniPath(format,scope,path); +return KJS::jsNull(); +END_STATIC_OBJECT_METHOD + +START_METHOD_LUT(SettingsBinding) +{"allKeys", 0, KJS::DontDelete | KJS::ReadOnly, &callAllKeys }, +{"setValue", 2, KJS::DontDelete | KJS::ReadOnly, &callSetValue }, +{"value", 1, KJS::DontDelete | KJS::ReadOnly, &callValue }, +{"clear", 0, KJS::DontDelete | KJS::ReadOnly, &callClear }, +{"sync", 0, KJS::DontDelete | KJS::ReadOnly, &callSync }, +{"remove", 1, KJS::DontDelete | KJS::ReadOnly, &callRemove } +END_METHOD_LUT + +START_ENUM_LUT(SettingsBinding) +{"NativeFormat", QSettings::NativeFormat}, +{"IniFormat", QSettings::IniFormat}, +//{"InvalidFormat", QSettings::InvalidFormat}, +{"UserScope", QSettings::UserScope}, +{"SystemScope", QSettings::SystemScope} +END_ENUM_LUT + +START_STATIC_METHOD_LUT(SettingsBinding) +{"setPath", 3, KJS::DontDelete | KJS::ReadOnly, &callSetPath +} +END_METHOD_LUT + +KJSO_SIMPLE_BINDING_CTOR(SettingsBinding, QSettings, QObjectBinding) +KJSO_QOBJECT_BIND(SettingsBinding, QSettings) + +KJSO_START_CTOR(SettingsBinding, QSettings, 1) +QSettings *settings = nullptr; +if (args.size() == 1) +{ + QObject *parent = KJSEmbed::extractObject(exec, args, 0); + settings = new QSettings(parent); +} else if (args.size() == 3) +{ + QString fileName = KJSEmbed::extractQString(exec, args, 0); + QSettings::Format format = (QSettings::Format) KJSEmbed::extractVariant(exec, args, 1); + QObject *parent = KJSEmbed::extractObject(exec, args, 2); + settings = new QSettings(fileName, format, parent); +} else if (args.size() == 4) +{ + QSettings::Scope scope = (QSettings::Scope) KJSEmbed::extractVariant(exec, args, 0); + QString organization = KJSEmbed::extractQString(exec, args, 1); + QString application = KJSEmbed::extractQString(exec, args, 2); + QObject *parent = KJSEmbed::extractObject(exec, args, 3); + settings = new QSettings(scope, organization, application, parent); +} else +{ + settings = new QSettings(); +} + +return new SettingsBinding(exec, settings); +KJSO_END_CTOR + diff --git a/src/kjsembed/settings.h b/src/kjsembed/settings.h new file mode 100644 index 0000000..9ac76d1 --- /dev/null +++ b/src/kjsembed/settings.h @@ -0,0 +1,37 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef SETTINGS_H +#define SETTINGS_H + +#include "qobject_binding.h" //krazy:exclude=includes (not a Qt header) +#include "static_binding.h" + +class QSettings; + +namespace KJSEmbed +{ +KJSO_BINDING(SettingsBinding, QSettings, QObjectBinding) +} + +#endif + diff --git a/src/kjsembed/size.cpp b/src/kjsembed/size.cpp new file mode 100644 index 0000000..899cce9 --- /dev/null +++ b/src/kjsembed/size.cpp @@ -0,0 +1,150 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ +#include "size.h" + +#include +#include + +using namespace KJSEmbed; + +const KJS::ClassInfo SizeBinding::info = { "QSize", &VariantBinding::info, nullptr, nullptr }; +SizeBinding::SizeBinding(KJS::ExecState *exec, const QSize &value) + : VariantBinding(exec, value) +{ + StaticBinding::publish(exec, this, Size::methods()); + StaticBinding::publish(exec, this, VariantFactory::methods()); +} + +namespace SizeNS +{ + +START_VARIANT_METHOD(callboundedTo, QSize) +QSize arg0 = KJSEmbed::extractVariant(exec, args, 0); +QSize cppValue = value.boundedTo(arg0); +result = KJSEmbed::createVariant(exec, "QSize", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callexpandedTo, QSize) +QSize arg0 = KJSEmbed::extractVariant(exec, args, 0); +QSize cppValue = value.expandedTo(arg0); +result = KJSEmbed::createVariant(exec, "QSize", cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callheight, QSize) +int cppValue = value.height(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callisEmpty, QSize) +bool cppValue = value.isEmpty(); +result = KJS::jsBoolean(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callisNull, QSize) +bool cppValue = value.isNull(); +result = KJS::jsBoolean(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callisValid, QSize) +bool cppValue = value.isValid(); +result = KJS::jsBoolean(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callrheight, QSize) +int cppValue = value.rheight(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callrwidth, QSize) +int cppValue = value.rwidth(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callscale, QSize) +if (args.size() == 2) +{ + QSize arg0 = KJSEmbed::extractVariant(exec, args, 0); + Qt::AspectRatioMode arg1 = (Qt::AspectRatioMode)KJSEmbed::extractInt(exec, args, 1); + value.scale(arg0, arg1); +} else if (args.size() == 3) +{ + int arg0 = KJSEmbed::extractInt(exec, args, 0); + int arg1 = KJSEmbed::extractInt(exec, args, 1); + Qt::AspectRatioMode arg2 = (Qt::AspectRatioMode)KJSEmbed::extractInt(exec, args, 2); + value.scale(arg0, arg1, arg2); +} +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetHeight, QSize) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +value.setHeight(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callsetWidth, QSize) +int arg0 = KJSEmbed::extractInt(exec, args, 0); +value.setWidth(arg0); +END_VARIANT_METHOD + +START_VARIANT_METHOD(calltranspose, QSize) +value.transpose(); +END_VARIANT_METHOD + +START_VARIANT_METHOD(callwidth, QSize) +int cppValue = value.width(); +result = KJS::jsNumber(cppValue); +END_VARIANT_METHOD + +} + +START_METHOD_LUT(Size) +{"boundedTo", 0, KJS::DontDelete | KJS::ReadOnly, &SizeNS::callboundedTo}, +{"expandedTo", 0, KJS::DontDelete | KJS::ReadOnly, &SizeNS::callexpandedTo}, +{"height", 0, KJS::DontDelete | KJS::ReadOnly, &SizeNS::callheight}, +{"isEmpty", 0, KJS::DontDelete | KJS::ReadOnly, &SizeNS::callisEmpty}, +{"isNull", 0, KJS::DontDelete | KJS::ReadOnly, &SizeNS::callisNull}, +{"isValid", 0, KJS::DontDelete | KJS::ReadOnly, &SizeNS::callisValid}, +{"rheight", 0, KJS::DontDelete | KJS::ReadOnly, &SizeNS::callrheight}, +{"rwidth", 0, KJS::DontDelete | KJS::ReadOnly, &SizeNS::callrwidth}, +{"scale", 2, KJS::DontDelete | KJS::ReadOnly, &SizeNS::callscale}, +{"setHeight", 0, KJS::DontDelete | KJS::ReadOnly, &SizeNS::callsetHeight}, +{"setWidth", 0, KJS::DontDelete | KJS::ReadOnly, &SizeNS::callsetWidth}, +{"transpose", 0, KJS::DontDelete | KJS::ReadOnly, &SizeNS::calltranspose}, +{"width", 0, KJS::DontDelete | KJS::ReadOnly, &SizeNS::callwidth} +END_METHOD_LUT + +NO_ENUMS(Size) +NO_STATICS(Size) + +START_CTOR(Size, QSize, 0) +if (args.size() == 0) +{ + return new KJSEmbed::SizeBinding(exec, QSize()); +} else if (args.size() == 2) +{ + return new KJSEmbed::SizeBinding(exec, + QSize(KJSEmbed::extractInt(exec, args, 0), + KJSEmbed::extractInt(exec, args, 1) + )); +} +return new KJSEmbed::SizeBinding(exec, QSize()); +END_CTOR + diff --git a/src/kjsembed/size.h b/src/kjsembed/size.h new file mode 100644 index 0000000..da71f91 --- /dev/null +++ b/src/kjsembed/size.h @@ -0,0 +1,48 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ +#ifndef SIZE_H +#define SIZE_H + +#include +#include + +class QSize; + +namespace KJSEmbed +{ +/** @internal Implements the binding for QSize. */ +class SizeBinding : public VariantBinding +{ +public: + SizeBinding(KJS::ExecState *exec, const QSize &value); + const KJS::ClassInfo *classInfo() const override + { + return &info; + } + static const KJS::ClassInfo info; +}; + +KJS_BINDING(Size) + +} +#endif + diff --git a/src/kjsembed/slotproxy.cpp b/src/kjsembed/slotproxy.cpp new file mode 100644 index 0000000..2f5e9c4 --- /dev/null +++ b/src/kjsembed/slotproxy.cpp @@ -0,0 +1,297 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ +#include "slotproxy.h" + +#include +#include +#include +#include + +#include + +#include "variant_binding.h" +#include "qobject_binding.h" + +//#define DEBUG_SLOTPROXY 1 + +using namespace KJSEmbed; + +SlotProxy::SlotProxy(KJS::JSObject *obj, KJS::Interpreter *interpreter, QObject *parent, const QByteArray &signature) + : QObject(parent), m_interpreter(interpreter), m_object(obj) +{ + m_signature = QMetaObject::normalizedSignature(signature.constData()); + uint signatureSize = m_signature.size() + 1; + + // content: + m_data[0] = 1; // revision + m_data[1] = 0; // classname + m_data[2] = 0; // classinfo + m_data[3] = 0; // classinfo + m_data[4] = 1; // methods + m_data[5] = 10; // methods + m_data[6] = 0; // properties + m_data[7] = 0; // properties + m_data[8] = 0; // enums/sets + m_data[9] = 0; // enums/sets + // Q_SLOTS: + m_data[10] = 10; //signature start + m_data[11] = 10 + signatureSize; //parameters start + m_data[12] = 10 + signatureSize; //type start + m_data[13] = 10 + signatureSize; //tag start + m_data[14] = 0x0a;//flags + m_data[15] = 0; // eod + + m_stringData = QByteArray("SlotProxy\0", 10); + m_stringData += m_signature; + m_stringData += QByteArray("\0\0", 2); + + staticMetaObject.d.superdata = &QObject::staticMetaObject; + staticMetaObject.d.stringdata = m_stringData.data_ptr(); + staticMetaObject.d.data = m_data; + staticMetaObject.d.extradata = nullptr; +#ifdef DEBUG_SLOTPROXY + qDebug() << "SlotProxy() obj=" << this << " m_signature=" << m_signature; +#endif +} + +SlotProxy::~SlotProxy() +{ +#ifdef DEBUG_SLOTPROXY + qDebug() << "??????SlotProxy::~SlotProxy() obj=" << this << " m_signature=" << m_signature; +#endif +} + +const QMetaObject *SlotProxy::metaObject() const +{ + return &staticMetaObject; +} + +void *SlotProxy::qt_metacast(const char *_clname) +{ + if (!_clname) { + return nullptr; + } + if (!strcmp(_clname, m_stringData.constData())) { + return static_cast(const_cast(this)); + } + return QObject::qt_metacast(_clname); +} + +KJS::JSValue *SlotProxy::callMethod(const QByteArray &methodName, void **_a) +{ +#ifdef DEBUG_SLOTPROXY + qDebug() << "SlotProxy::callMethod(" << methodName << ",_a) obj=" << this; +#endif + KJS::ExecState *exec = m_interpreter->globalExec(); + exec->clearException(); + + // Crash + // KJS::Interpreter::globalExec()->context().thisValue() + KJS::List args = convertArguments(exec, _a); + KJS::Identifier id = KJS::Identifier(KJS::UString(methodName.data())); + KJS::JSObject *fun = m_object->get(exec, id)->toObject(exec); + KJS::JSValue *retValue; + if (!fun->implementsCall()) { +#ifdef DEBUG_SLOTPROXY + qDebug() << "SlotProxy::callMethod got bad handler"; +#endif + QString msg = i18n("Bad slot handler: Object %1 Identifier %2 Method %3 Signature: %4.", + m_object->className().ascii(), + id.ascii(), + methodName.data(), + QString(m_signature)); + + retValue = throwError(exec, KJS::TypeError, msg); + } else { + retValue = fun->call(exec, m_object, args); + } + + if (exec->hadException()) { +#ifdef DEBUG_SLOTPROXY + qDebug() << "SlotProxy::callMethod had exception"; +#endif + if (m_interpreter->shouldPrintExceptions()) { + KJS::JSLock lock; + KJS::JSObject *exceptObj = exec->exception()->toObject(exec);//retValue->toObject(exec); + QString message = toQString(exceptObj->toString(exec)); + QString sourceURL = toQString(exceptObj->get(exec, "sourceURL")->toString(exec)); + int sourceId = exceptObj->get(exec, "sourceId")->toUInt32(exec); + // would include the line number, but it's always last line of file + int line = exceptObj->get(exec, "line")->toUInt32(exec); + (*KJSEmbed::conerr()) << i18n("Exception calling '%1' slot from %2:%3:%4", QString(methodName), !sourceURL.isEmpty() ? sourceURL : QString::number(sourceId), line, message) << Qt::endl; + } + + // clear it so it doesn't stop other things + exec->clearException(); + + return KJS::jsNull(); + } else { + if (retValue->type() == 1 || retValue->type() == 0) { + return KJS::jsNull(); + } + } + return retValue; +} + +KJS::List SlotProxy::convertArguments(KJS::ExecState *exec, void **_a) +{ + KJS::List args; + int offset = metaObject()->indexOfMethod(m_signature.constData()); + QMetaMethod method = metaObject()->method(offset); + QList params = method.parameterTypes(); + int idx = 1; +#ifdef DEBUG_SLOTPROXY + qDebug() << "SlotProxy::convertArguments(): obj=" << this << " m_signature=" << m_signature << " offset=" << offset << " params=" << params; +#endif + foreach (const QByteArray ¶m, params) { +#ifdef DEBUG_SLOTPROXY + int type = QMetaType::type(param.constData()); + qDebug("\tGot a %d - %s - _a[%d] = %p", type, param.data(), idx, _a[idx]); + qDebug("\t QMetaType::type()=%d", QMetaType::type(QByteArray("Pinya::") + param.constData())); +#endif + int tp = QVariant::nameToType(param.constData()); + switch (tp) { + case QVariant::Int: + args.append(KJS::jsNumber(*(int *)_a[idx])); + break; + case QVariant::UInt: + args.append(KJS::jsNumber(*(uint *)_a[idx])); + break; + case QVariant::LongLong: + args.append(KJS::jsNumber(*(qlonglong *)_a[idx])); + break; + case QVariant::ULongLong: + args.append(KJS::jsNumber(*(qulonglong *)_a[idx])); + break; + case QVariant::Double: + args.append(KJS::jsNumber(*(double *)_a[idx])); + break; + case QVariant::Bool: + args.append(KJS::jsBoolean(*(bool *)_a[idx])); + break; + case QVariant::String: + args.append(KJS::jsString((*reinterpret_cast(_a[idx])))); + break; + case QVariant::UserType: { + KJS::JSObject *returnValue; + KJS::JSObject *parent = exec->dynamicInterpreter()->globalObject(); + QByteArray typeName = param.constData(); + bool isPtr = typeName.contains("*"); + if (isPtr) { + typeName.replace("*", ""); //krazy:exclude=doublequote_chars + } +#ifdef DEBUG_SLOTPROXY + qDebug() << "\tQVariant::UserType: typeName=" << typeName << " param=" << param.constData() << " isPtr" << isPtr; +#endif + if (parent->hasProperty(exec, KJS::Identifier(toUString(typeName)))) { + QObject *qObj; + if (isPtr && + ((qObj = *reinterpret_cast(_a[idx])) != nullptr)) { +#ifdef DEBUG_SLOTPROXY + qDebug() << "qObj=" << qObj; +#endif + Pointer pov(*reinterpret_cast(_a[idx])); + returnValue = StaticConstructor::bind(exec, typeName, pov); + if (returnValue) { + args.append(returnValue); + break; + } else { +#ifdef DEBUG_SLOTPROXY + qDebug("\t\tNo binding retrieved"); +#endif + returnValue = StaticConstructor::construct(exec, parent, toUString(typeName)); + if (returnValue) { + if (QObjectBinding *objImp = KJSEmbed::extractBindingImp(exec, returnValue)) { +#ifdef DEBUG_SLOTPROXY + qDebug() << "\t\t\tFound QObjectBinding"; +#endif + objImp->setOwnership(KJSEmbed::ObjectBinding::JSOwned); + objImp->setObject(qObj); + if (qObj->parent() != nullptr) { + objImp->setOwnership(KJSEmbed::ObjectBinding::QObjOwned); + } else { + objImp->setOwnership(KJSEmbed::ObjectBinding::CPPOwned); + } + args.append(returnValue); + break; + } + } + } + } + } else { +#ifdef DEBUG_SLOTPROXY + qDebug("\t\tNo binding registered"); +#endif + KJS::JSObject *returnValue = nullptr; + const int metaTypeId = QMetaType::type(param.constData()); + if (QMetaType::typeFlags(metaTypeId) & QMetaType::PointerToQObject) { + QObject *obj = (*reinterpret_cast< QObject*(*)>(_a[idx])); + returnValue = KJSEmbed::createQObject(exec, obj, KJSEmbed::ObjectBinding::QObjOwned); + } + if (returnValue) { + args.append(returnValue); + break; + } + } + } + case QVariant::StringList: + case QVariant::List: + case QVariant::Map: + default: + //qDebug("\t\tconverting to variant"); + QVariant variant(tp, _a[idx]); + args.append(KJSEmbed::convertToValue(exec, variant)); + break; + } + ++idx; + } + + return args; +} + +int SlotProxy::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ +#ifdef DEBUG_SLOTPROXY + qDebug("SlotProxy::qt_metacall(_c=%d, _id=%d, _a=%p _a[0]=%p _a[1]=%p) obj=", _c, _id, _a, _a[0], _a[1], this); +#endif + _id = QObject::qt_metacall(_c, _id, _a); + if (_id < 0) { + return _id; + } + if (_c == QMetaObject::InvokeMetaMethod) { + switch (_id) { + case 0: { + // invoke js method here + QByteArray method = m_signature.left(m_signature.indexOf('(')); + KJS::JSValue *result = callMethod(method, _a); + m_tmpResult = convertToVariant(m_interpreter->globalExec(), result); +#ifdef DEBUG_SLOTPROXY + qDebug() << "SlotProxy::qt_metacall result=" << m_tmpResult.toString(); +#endif + _a[0] = &(m_tmpResult); + } break; + } + _id -= 1; + } + return _id; +} + diff --git a/src/kjsembed/slotproxy.h b/src/kjsembed/slotproxy.h new file mode 100644 index 0000000..41a91de --- /dev/null +++ b/src/kjsembed/slotproxy.h @@ -0,0 +1,65 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef SLOTPROXY_H +#define SLOTPROXY_H + +#include +#include +#include +#include +#include "kjsembed.h" + +namespace KJS +{ +class Interpreter; +class Value; +class List; +class ExecState; +} + +namespace KJSEmbed +{ +class KJSEMBED_EXPORT SlotProxy : public QObject +{ +public: + SlotProxy(KJS::JSObject *obj, KJS::Interpreter *interpreter, QObject *parent, const QByteArray &signature); + ~SlotProxy() override; + //Meta object stuff + QMetaObject staticMetaObject; + const QMetaObject *metaObject() const override; + void *qt_metacast(const char *_clname) override; + int qt_metacall(QMetaObject::Call _c, int _id, void **_a) override; + +private: + KJS::JSValue *callMethod(const QByteArray &methodName, void **_a); + KJS::List convertArguments(KJS::ExecState *exec, void **_a); + QByteArray m_signature; + uint m_data[16]; + QByteArray m_stringData; + KJS::Interpreter *m_interpreter; + KJS::JSObject *m_object; + QVariant m_tmpResult; +}; +} +#endif + diff --git a/src/kjsembed/static_binding.cpp b/src/kjsembed/static_binding.cpp new file mode 100644 index 0000000..8c8b864 --- /dev/null +++ b/src/kjsembed/static_binding.cpp @@ -0,0 +1,148 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ +#include "static_binding.h" +#include +#include +#include + +namespace KJSEmbed +{ +static QHash g_ctorHash; +} + +using namespace KJSEmbed; + +StaticBinding::StaticBinding(KJS::ExecState *exec, const Method *method) + : KJS::InternalFunctionImp(static_cast(exec->lexicalInterpreter()->builtinFunctionPrototype()), + method->name), + m_method(method) +{ + putDirect(exec->propertyNames().length, m_method->argc, LengthFlags); +} + +KJS::JSValue *StaticBinding::callAsFunction(KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args) +{ + if (m_method->call == nullptr) { + //throwError(exec, "Bad method id"); // NOTE: fix + KJS::throwError(exec, KJS::GeneralError, "Bad method id"); + return KJS::jsNull(); + } + + KJS::JSValue *retValue = (*m_method->call)(exec, self, args); + + if (exec->hadException()) { + return KJS::jsNull(); + } + return retValue; + +} + +void StaticBinding::publish(KJS::ExecState *exec, KJS::JSObject *object, const Method *methods) +{ + int idx = 0; + while (methods[idx].name != nullptr) { + object->put(exec, methods[idx].name, new StaticBinding(exec, &methods[idx]), methods[idx].flags); + idx++; + } +} + +StaticConstructor::StaticConstructor(KJS::ExecState *exec, const Constructor *constructor) + : KJS::InternalFunctionImp(static_cast(exec->lexicalInterpreter()->builtinFunctionPrototype()), + constructor->name), + m_constructor(constructor) +{ + putDirect(exec->propertyNames().length, m_constructor->argc, LengthFlags); + m_default = KJS::jsNull(); +} + +KJS::JSObject *StaticConstructor::construct(KJS::ExecState *exec, const KJS::List &args) +{ + return (*m_constructor->construct)(exec, args); +} + +void StaticConstructor::setDefaultValue(KJS::JSValue *value) +{ + m_default = value; +} + +KJS::JSValue *StaticConstructor::defaultValue(KJS::ExecState *exec, KJS::JSType hint) const +{ + Q_UNUSED(exec); + Q_UNUSED(hint); + return m_default; +} + +KJS::JSObject *StaticConstructor::add(KJS::ExecState *exec, KJS::JSObject *object, const Constructor *constructor) +{ + KJS::JSObject *obj = new StaticConstructor(exec, constructor); + object->put(exec, constructor->name, obj); + if (constructor->staticMethods) { + StaticBinding::publish(exec, obj, constructor->staticMethods); + } + /* crashes for some reason */ + if (constructor->enumerators) { + int idx = 0; + while (constructor->enumerators[idx].name != nullptr) { + obj->put(exec, constructor->enumerators[idx].name, + KJS::jsNumber(constructor->enumerators[idx].value), KJS::DontDelete | KJS::ReadOnly); + idx++; + } + } + // publish methods + KJSEmbed::g_ctorHash[constructor->name] = constructor; + return obj; +} + +const Method *StaticConstructor::methods(const KJS::UString &className) +{ + return KJSEmbed::g_ctorHash[toQString(className)]->methods; +} + +const Constructor *StaticConstructor::constructor(const KJS::UString &className) +{ + return KJSEmbed::g_ctorHash[toQString(className)]; +} + +KJS::JSObject *StaticConstructor::bind(KJS::ExecState *exec, const QString &className, PointerBase &objPtr) +{ + KJSEmbed::callBind mybind = KJSEmbed::g_ctorHash[className]->bind; +// qDebug() << "StaticConstructor::bind() className=" << className << " mybind=" << mybind; + if (mybind) { + return (*mybind)(exec, objPtr); + } + + return nullptr; +} + +KJS::JSObject *StaticConstructor::construct(KJS::ExecState *exec, KJS::JSObject *parent, const KJS::UString &className, const KJS::List &args) +{ +// qDebug("StaticConstructor::construct('%s')", className.ascii() ); + if (parent->hasProperty(exec, className.ascii())) { + KJS::JSObject *ctor = parent->get(exec, className.ascii())->toObject(exec); + if (ctor) { + return ctor->construct(exec, args); + } + } + qDebug("cannot create '%s'", className.ascii()); + return KJS::throwError(exec, KJS::TypeError, toUString(QString("Cannot create %1 objects from javascript.").arg(toQString(className)))); +} + diff --git a/src/kjsembed/static_binding.h b/src/kjsembed/static_binding.h new file mode 100644 index 0000000..238ef98 --- /dev/null +++ b/src/kjsembed/static_binding.h @@ -0,0 +1,140 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef STATIC_BINDING_H +#define STATIC_BINDING_H +#include + +#include + +#include "binding_support.h" + +#define LengthFlags KJS::DontDelete|KJS::ReadOnly|KJS::DontEnum + +namespace KJSEmbed +{ +/** +* A binding method that is used in VariantBinding and ObjectBinding +*/ +class KJSEMBED_EXPORT StaticBinding : public KJS::InternalFunctionImp +{ +public: + /** + * Create a new method. + */ + StaticBinding(KJS::ExecState *exec, const Method *method); + /** + * Executes the callback for this method. + */ + KJS::JSValue *callAsFunction(KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args) override; + bool implementsConstruct() const override + { + return false; + } + + /** + * Publishes an array of Methods to an object. You should only ever need this method + * to add methods to a binding. + * @param object the object to add the methods to + * @param methods an array of Method objects. + */ + static void publish(KJS::ExecState *exec, KJS::JSObject *object, const Method *methods); + +protected: + const Method *m_method; +}; + +/** +* A special method that will create other objects. If you want to have your binding to be able to create +* instances of itself it must have at least one of these objects published at the global scope. +*/ +class KJSEMBED_EXPORT StaticConstructor : public KJS::InternalFunctionImp +{ +public: + /** + * Create a new constructor + */ + StaticConstructor(KJS::ExecState *exec, const Constructor *constructor); + + /** + * Add static methods to the object. + * @code + * KJS::JSObject *ctor = StaticConstructor::add( exec, parent, TestPointer::constructor() ); // Ctor + * ctor.addStaticMethods( exec, TestPointer::staticMethods() ); + * @endcode + */ + void addStaticMethods(KJS::ExecState *exec, const Method *methods); + + bool implementsConstruct() const override + { + return true; + } + /** + * Calls the callback that will in turn create a new instance of this object with + * the arguments passed in with args. + */ + KJS::JSObject *construct(KJS::ExecState *exec, const KJS::List &args) override; + using KJS::JSObject::construct; + + KJS::JSValue *callAsFunction(KJS::ExecState *exec, KJS::JSObject * /*self*/, const KJS::List &args) override + { + return construct(exec, args); + } + + void setDefaultValue(KJS::JSValue *value); + KJS::JSValue *defaultValue(KJS::ExecState *exec, KJS::JSType hint) const override; + + /** + * Add the constructor to an object. This is usually the global scope. + */ + static KJS::JSObject *add(KJS::ExecState *exec, KJS::JSObject *object, const Constructor *constructor); + /** + * This method is used to construct a KJS value from C++ + * @code + * KJS::List args; + * args.append("test"); + * KJS::Value myType = KJSEmbed::construct(exec, "MyType", args); + * @endcode + * is equivalent to the following javascript + * @code + * var myType = new MyType("test"); + * @endcode + */ + static KJS::JSObject *construct(KJS::ExecState *exec, KJS::JSObject *parent, + const KJS::UString &className, const KJS::List &args = KJS::List()); + + static KJS::JSObject *bind(KJS::ExecState *exec, const QString &className, PointerBase &objPtr); + static const Method *methods(const KJS::UString &className); + static const Constructor *constructor(const KJS::UString &className); + +protected: + const Constructor *m_constructor; + +private: + KJS::JSValue *m_default; + +}; + +} + +#endif + diff --git a/src/kjsembed/svg_binding.cpp b/src/kjsembed/svg_binding.cpp new file mode 100644 index 0000000..3b4722b --- /dev/null +++ b/src/kjsembed/svg_binding.cpp @@ -0,0 +1,122 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ +#include "svg_binding.h" + +#include + +#include + +#include "static_binding.h" +#include "kjseglobal.h" + +using namespace KJSEmbed; + +namespace SvgRendererNS +{ +START_QOBJECT_METHOD(animationDuration, QSvgRenderer) +result = KJS::jsNumber(object->animationDuration()); +END_QOBJECT_METHOD + +START_QOBJECT_METHOD(defaultSize, QSvgRenderer) +result = KJSEmbed::createVariant(exec, "QSize", object->defaultSize()); +END_QOBJECT_METHOD + +START_QOBJECT_METHOD(isValid, QSvgRenderer) +result = KJS::jsBoolean(object->isValid()); +END_QOBJECT_METHOD + +START_QOBJECT_METHOD(animated, QSvgRenderer) +result = KJS::jsBoolean(object->animated()); +END_QOBJECT_METHOD +} + +START_METHOD_LUT(SvgRenderer) +{"animationDuration", 0, KJS::DontDelete | KJS::ReadOnly, &SvgRendererNS::animationDuration}, +{"defaultSize", 0, KJS::DontDelete | KJS::ReadOnly, &SvgRendererNS::defaultSize}, +{"isValid", 0, KJS::DontDelete | KJS::ReadOnly, &SvgRendererNS::isValid}, +{"animated", 0, KJS::DontDelete | KJS::ReadOnly, &SvgRendererNS::animated} +END_METHOD_LUT + +NO_ENUMS(SvgRenderer) +NO_STATICS(SvgRenderer) + +KJSO_SIMPLE_BINDING_CTOR(SvgRenderer, QSvgRenderer, QObjectBinding) +KJSO_QOBJECT_BIND(SvgRenderer, QSvgRenderer) + +KJSO_START_CTOR(SvgRenderer, QSvgRenderer, 0) +QSvgRenderer *renderer = nullptr; +if (args.size() == 1) +{ + QObject *arg0 = KJSEmbed::extractObject(exec, args, 0, nullptr); + renderer = new QSvgRenderer(arg0); +} else if (args.size() == 2) +{ + QString arg0 = KJSEmbed::extractVariant(exec, args, 0); + QObject *arg1 = KJSEmbed::extractObject(exec, args, 1, nullptr); + renderer = new QSvgRenderer(arg0, arg1); +} else +{ + renderer = new QSvgRenderer(); +} + +KJS::JSObject *rendererObject = new SvgRenderer(exec, renderer); +return rendererObject; +KJSO_END_CTOR + +namespace SvgWidgetNS +{ +START_QOBJECT_METHOD(renderer, QSvgWidget) +result = KJSEmbed::createQObject(exec, object->renderer(), ObjectBinding::QObjOwned); +END_QOBJECT_METHOD +} + +START_METHOD_LUT(SvgWidget) +{"renderer", 0, KJS::DontDelete | KJS::ReadOnly, &SvgWidgetNS::renderer +} +END_METHOD_LUT + +NO_ENUMS(SvgWidget) +NO_STATICS(SvgWidget) + +KJSO_SIMPLE_BINDING_CTOR(SvgWidget, QSvgWidget, QWidgetBinding) +KJSO_QOBJECT_BIND(SvgWidget, QSvgWidget) + +KJSO_START_CTOR(SvgWidget, QSvgWidget, 0) +QSvgWidget *widget = nullptr; +if (args.size() == 1) +{ + QWidget *arg0 = KJSEmbed::extractObject(exec, args, 0, nullptr); + widget = new QSvgWidget(arg0); +} else if (args.size() == 2) +{ + QString arg0 = KJSEmbed::extractVariant(exec, args, 0); + QWidget *arg1 = KJSEmbed::extractObject(exec, args, 1, nullptr); + widget = new QSvgWidget(arg0, arg1); +} else +{ + widget = new QSvgWidget(); +} + +KJS::JSObject *rendererObject = new SvgWidget(exec, widget); +return rendererObject; +KJSO_END_CTOR + diff --git a/src/kjsembed/svg_binding.h b/src/kjsembed/svg_binding.h new file mode 100644 index 0000000..3cf759f --- /dev/null +++ b/src/kjsembed/svg_binding.h @@ -0,0 +1,37 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef QSVG_BINDING_H +#define QSVG_BINDING_H + +#include +#include +#include "qwidget_binding.h" //krazy:exclude=includes (not a Qt header) +#include "qobject_binding.h" //krazy:exclude=includes (not a Qt header) + +namespace KJSEmbed +{ +KJSO_BINDING(SvgRenderer, QSvgRenderer, QObjectBinding) +KJSO_BINDING(SvgWidget, QSvgWidget, QWidgetBinding) +} +#endif + diff --git a/src/kjsembed/test/QByteArray_bind.cpp b/src/kjsembed/test/QByteArray_bind.cpp new file mode 100644 index 0000000..99ddb20 --- /dev/null +++ b/src/kjsembed/test/QByteArray_bind.cpp @@ -0,0 +1,37 @@ +#include "QByteArray_bind.h" +#include +#include +#include + +using namespace KJSEmbed; + +const KJS::ClassInfo QByteArrayBinding::info = { "QByteArray", 0, 0, 0 }; +QByteArrayBinding::QByteArrayBinding(KJS::ExecState *exec, const QByteArray &value) + : VariantBinding(exec, value) +{ + StaticBinding::publish(exec, this, QByteArrayData::methods()); + StaticBinding::publish(exec, this, VariantFactory::methods()); +} + +namespace QByteArrayNS +{ +} + +const Enumerator KJSEmbed::QByteArrayData::p_enums[] = {{0, 0 }}; + +NO_STATICS(KJSEmbed::QByteArrayData) +const Constructor KJSEmbed::QByteArrayData::p_constructor = +{"QByteArray", 0, KJS::DontDelete | KJS::ReadOnly, &QByteArrayData::ctorMethod, p_statics, p_enums, KJSEmbed::QByteArrayData::p_methods }; +KJS::JSObject *KJSEmbed::QByteArrayData::ctorMethod(KJS::ExecState *exec, const KJS::List &args) +{ + if (args.size() == 0) { + return new KJSEmbed::QByteArrayBinding(exec, QByteArray()); + } + + return KJS::throwError(exec, KJS::SyntaxError, "Syntax error in parameter list for QByteArray"); +} + +const Method KJSEmbed::QByteArrayData::p_methods[] = { + {0, 0, 0, 0 } +}; + diff --git a/src/kjsembed/test/QByteArray_bind.h b/src/kjsembed/test/QByteArray_bind.h new file mode 100644 index 0000000..c0e648c --- /dev/null +++ b/src/kjsembed/test/QByteArray_bind.h @@ -0,0 +1,54 @@ +#ifndef BIND_ByteArray_H +#define BIND_ByteArray_H + +#include +#include + +class QByteArray; + +namespace KJSEmbed +{ +class QByteArrayBinding : public VariantBinding +{ +public: + QByteArrayBinding(KJS::ExecState *exec, const QByteArray &value); + static const KJS::ClassInfo info; + virtual const KJS::ClassInfo *classInfo() const + { + return &info; + } +}; + +class QByteArrayData +{ +public: + static const KJSEmbed::Method p_methods[]; + static const KJSEmbed::Method p_statics[]; + static const KJSEmbed::Enumerator p_enums[]; + static const KJSEmbed::Constructor p_constructor; + static KJS::JSObject *ctorMethod(KJS::ExecState *exec, const KJS::List &args); + static const KJSEmbed::Enumerator *enums() + { + return p_enums; + } + static const KJSEmbed::Method *methods() + { + return p_methods; + } + static const KJSEmbed::Method *statics() + { + return p_statics; + } + static const KJSEmbed::Constructor *constructor() + { + return &p_constructor; + } + static const KJS::JSObject *construct(KJS::ExecState *exec, const KJS::List &args) + { + return (*p_constructor.construct)(exec, args); + } +}; + +} +#endif // BIND_QByteArray_H + diff --git a/src/kjsembed/url.cpp b/src/kjsembed/url.cpp new file mode 100644 index 0000000..b8b7e79 --- /dev/null +++ b/src/kjsembed/url.cpp @@ -0,0 +1,79 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ +#include "url.h" + +#include +#include + +using namespace KJSEmbed; + +const KJS::ClassInfo UrlBinding::info = { "QUrl", &VariantBinding::info, nullptr, nullptr }; +UrlBinding::UrlBinding(KJS::ExecState *exec, const QUrl &value) + : VariantBinding(exec, value) +{ + StaticBinding::publish(exec, this, VariantFactory::methods()); + StaticBinding::publish(exec, this, Url::methods()); +} + +namespace UrlNS +{ + +START_VARIANT_METHOD(callisValid, QUrl) +bool cppValue = value.isValid(); +result = KJS::jsBoolean(cppValue); +END_VARIANT_METHOD + +START_VARIANT_METHOD(toString, QUrl) +QUrl::FormattingOptions opts = (QUrl::FormattingOptions)KJSEmbed::extractInt(exec, args, 0, QUrl::None); +result = KJS::jsString(value.toString(opts)); +END_VARIANT_METHOD +} + +START_METHOD_LUT(Url) +{"toString", 0, KJS::DontDelete | KJS::ReadOnly, &UrlNS::toString}, +{"isValid", 0, KJS::DontDelete | KJS::ReadOnly, &UrlNS::callisValid} +END_METHOD_LUT + +START_ENUM_LUT(Url) +{"None", QUrl::None}, +{"RemoveScheme", QUrl::RemoveScheme}, +{"RemovePassword", QUrl::RemovePassword}, +{"RemoveUserInfo", QUrl::RemoveUserInfo}, +{"RemovePort", QUrl::RemovePort}, +{"RemoveAuthority", QUrl::RemoveAuthority}, +{"RemovePath", QUrl::RemovePath}, +{"RemoveQuery", QUrl::RemoveQuery}, +{"RemoveFragment", QUrl::RemoveFragment}, +{"StripTrailingSlash", QUrl::StripTrailingSlash} +END_ENUM_LUT + +NO_STATICS(Url) + +START_CTOR(Url, QUrl, 0) +if (args.size() == 1) +{ + return new KJSEmbed::UrlBinding(exec, QUrl(KJSEmbed::extractQString(exec, args, 0))); +} + +return new KJSEmbed::UrlBinding(exec, QUrl()); +END_CTOR + diff --git a/src/kjsembed/url.h b/src/kjsembed/url.h new file mode 100644 index 0000000..73d1e07 --- /dev/null +++ b/src/kjsembed/url.h @@ -0,0 +1,49 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef URL_H +#define URL_H + +#include +#include + +class QUrl; + +namespace KJSEmbed +{ +/** @internal Implements the binding for QUrl. */ +class UrlBinding : public VariantBinding +{ +public: + UrlBinding(KJS::ExecState *exec, const QUrl &value); + const KJS::ClassInfo *classInfo() const override + { + return &info; + } + static const KJS::ClassInfo info; +}; + +KJS_BINDING(Url) + +} +#endif + diff --git a/src/kjsembed/util.h b/src/kjsembed/util.h new file mode 100644 index 0000000..34b91c6 --- /dev/null +++ b/src/kjsembed/util.h @@ -0,0 +1,76 @@ +#ifndef UTIL_H +#define UTIL_H + +namespace KJSEmbed +{ +bool isBasic(KJS::JSValue *value) +{ + switch (value->type()) { + case KJS::NumberType: + case KJS::BooleanType: + case KJS::StringType: + return true; + break; + default: + return false; + + } +} + +bool isVariant(KJS::JSObject *object) +{ + return object->inherits(&VariantBinding::info); +} + +/*bool isValue(KJS::JSObject *object) +{ + return object->inherits(&ValueBinding::info); +}*/ + +bool isObject(KJS::JSObject *object) +{ + return object->inherits(&ObjectBinding::info); +} + +/* +So this might be how the val checking would go: + JSValue *arg = args[0]; + if (isBasic(arg)) + { + switch (arg->type()) + { + case KJS::Number: + extractInt...; + break; + case KJS::String: + extractString...; + break; + case KJS::Boolean: + extractBool...; + break; + default: hmmm + } + } + else + { + JSObject *object = arg->toObject(exec); + if (isValue(object)) + { + extractValue... + } + else if (isObject(object)) + { + extractObject... + } + else + { + hmmm + } + } + +*/ + +} + +#endif + diff --git a/src/kjsembed/value_binding.cpp b/src/kjsembed/value_binding.cpp new file mode 100644 index 0000000..b5029f4 --- /dev/null +++ b/src/kjsembed/value_binding.cpp @@ -0,0 +1,68 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ +#include "value_binding.h" + +using namespace KJSEmbed; + +const KJS::ClassInfo ValueBinding::info = { "ValueBinding", nullptr, nullptr, nullptr }; + +KJS::JSValue *callValueType(KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args) +{ + Q_UNUSED(args); + KJSEmbed::ValueBinding *imp = KJSEmbed::extractBindingImp(exec, self); + if (imp) { + return KJS::jsString(imp->className().ascii()); + } + return KJS::jsNull(); +} + +const Method ValueFactory::ValueMethods[] = { + {"type", 0, KJS::DontDelete | KJS::ReadOnly, &callValueType }, + //{"cast", 1, KJS::DontDelete|KJS::ReadOnly, &callPointerCast }, + //{"toString", 0, KJS::DontDelete|KJS::ReadOnly, &callPointerToString }, + {nullptr, 0, 0, nullptr } +}; + +const Method *ValueFactory::methods() +{ + return ValueMethods; +} + +ValueBinding::ValueBinding(KJS::ExecState *exec, const char *typeName) + : ProxyBinding(exec), + m_value(nullptr), + m_name(typeName) +{ + StaticBinding::publish(exec, this, ValueFactory::methods()); +} + +ValueBinding::~ValueBinding() +{ + delete m_value; +} + +KJS::UString ValueBinding::toString(KJS::ExecState *exec) const +{ + Q_UNUSED(exec); + return m_value->type().name(); +} + diff --git a/src/kjsembed/value_binding.h b/src/kjsembed/value_binding.h new file mode 100644 index 0000000..3f2a65e --- /dev/null +++ b/src/kjsembed/value_binding.h @@ -0,0 +1,223 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef VALUE_BINDING_H +#define VALUE_BINDING_H + +#include +#include + +#include "static_binding.h" +#include "pointer.h" + +/** +* A simple variant style method. +* This will extract the value, cast it to the native type and place it in "value". +* Any data that should be returned from this method should be placed into "result"; +* +*/ +#define START_VALUE_METHOD( METHODNAME, TYPE) \ + KJS::JSValue *METHODNAME( KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args ) \ + { \ + Q_UNUSED(exec);\ + Q_UNUSED(self);\ + Q_UNUSED(args);\ + KJS::JSValue *result = KJS::jsNull(); \ + KJSEmbed::ValueBinding *imp = KJSEmbed::extractBindingImp(exec, self ); \ + if( imp ) \ + { \ + TYPE value = imp->value(); +/** +* End a variant method started by START_VALUE_METHOD +*/ +#define END_VALUE_METHOD \ + imp->setValue(value); \ + } \ + else { \ + KJS::throwError(exec, KJS::GeneralError, "Problem in ValueBinding here");\ + }\ + return result; \ + } + +#define KJSO_VALUE_SIMPLE_BINDING_CTOR( NAME, JSNAME, TYPE, BASENAME ) \ + NAME::NAME(KJS::ExecState *exec, const char* typeName ) \ + : BASENAME( exec, typeName ) \ + { \ + StaticBinding::publish( exec, this, NAME::methods() ); \ + } \ + NAME::NAME(KJS::ExecState *exec, const TYPE & value) \ + : BASENAME( exec, #JSNAME , value ) \ + { \ + StaticBinding::publish( exec, this, NAME::methods() ); \ + } + +#define KJSO_VALUE_DERIVED_BINDING_CTOR( NAME, JSNAME, TYPE, BASENAME ) \ + NAME::NAME(KJS::ExecState *exec, const char* typeName ) \ + : BASENAME( exec, typeName ) \ + { \ + StaticBinding::publish( exec, this, NAME::methods() ); \ + } \ + NAME::NAME(KJS::ExecState *exec, const TYPE & value) \ + : BASENAME( exec, #JSNAME ) \ + { \ + setValue(value); \ + StaticBinding::publish( exec, this, NAME::methods() ); \ + } + +namespace KJSEmbed +{ +/** + * The Bindings for the KJSEmbed::ValueBinding + */ +class ValueFactory +{ +public: + static const Method ValueMethods[]; + static const Method *methods(); +}; + +/** + * Value binding implementation. + */ +class ValueBinding : public ProxyBinding +{ +public: + template + ValueBinding(KJS::ExecState *exec, const char *typeName, T val) + : ProxyBinding(exec), + m_name(typeName) + { + m_value = new Value(val); + StaticBinding::publish(exec, this, ValueFactory::methods()); + } + ValueBinding(KJS::ExecState *exec, const char *typeName); + ~ValueBinding() override; + + KJS::UString toString(KJS::ExecState *exec) const override; + KJS::UString className() const override + { + return m_name; + } + + /** + * Returns the stored value. + */ + template< typename T> + T value() const + { + const T *ptr = reinterpret_cast(m_value->voidStar()); + if (ptr) { + return *ptr; + } else { + return T(); + } + } + + /** + * Set the internal value. + */ + template< typename T> + void setValue(const T &val) + { + delete m_value; + m_value = new Value(val); + } + + template< typename T> + static T castValue(ValueBinding *imp) + { + const T *ptr = reinterpret_cast(imp->m_value->voidStar()); + if (ptr) { + return *ptr; + } else { + return T(); + } + } + static const KJS::ClassInfo info; + +private: + const KJS::ClassInfo *classInfo() const override + { + return &info; + } + + PointerBase *m_value; + const char *m_name; + +}; + +/** +* Extracts a pointer based type from an ObjectBinding object. Care should be taken that this method +* is not used with KJSEmbed::ObjectBinding objects because the cast will fail. +*/ +template< typename T> +T extractValue(KJS::ExecState *exec, KJS::JSValue *arg, const T &defaultValue) +{ + if (arg) { + KJSEmbed::ValueBinding *imp = + KJSEmbed::extractBindingImp(exec, arg); + if (imp) { + return ValueBinding::castValue(imp); + } + } + return defaultValue; +} + +/** +* Extracts a pointer from a KJS::List of KJS::Values. If the argument is out of range the default value +* is returned. +*/ +template< typename T> +T extractValue(KJS::ExecState *exec, const KJS::List &args, int idx, const T &defaultValue = T()) +{ + if (args.size() > idx) { + return extractValue(exec, args[idx], defaultValue); + } else { + return defaultValue; + } +} + +template< typename T> +KJS::JSValue *createValue(KJS::ExecState *exec, const KJS::UString &className, const T &value) +{ + KJS::JSObject *parent = exec->dynamicInterpreter()->globalObject(); + KJS::JSObject *returnValue = StaticConstructor::construct(exec, parent, className); + if (returnValue) { + // If it is a value type setValue + KJSEmbed::ValueBinding *imp = + extractBindingImp(exec, returnValue); + if (imp) { + imp->setValue(value); + } else { + KJS::throwError(exec, KJS::TypeError, toUString(QString("Created failed to cast to %1 failed").arg(toQString(className)))); + return KJS::jsNull(); + } + } else { + KJS::throwError(exec, KJS::TypeError, toUString(QString("Could not construct a %1").arg(toQString(className)))); + return KJS::jsNull(); + } + return returnValue; +} +} + +#endif + diff --git a/src/kjsembed/variant_binding.cpp b/src/kjsembed/variant_binding.cpp new file mode 100644 index 0000000..a711c15 --- /dev/null +++ b/src/kjsembed/variant_binding.cpp @@ -0,0 +1,432 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + Copyright (C) 2007, 2008 Sebastian Sauer + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#include "variant_binding.h" + +#include + +#include +#include + +#include +#include +#include +#include +#include + +#include "kjseglobal.h" +#include "qobject_binding.h" + +//#define KJSEMBED_VARIANT_DEBUG + +using namespace KJSEmbed; + +const KJS::ClassInfo VariantBinding::info = { "VariantBinding", nullptr, nullptr, nullptr }; + +VariantBinding::VariantBinding(KJS::ExecState *exec, const QVariant &value) + : ProxyBinding(exec), m_value(value) +{ + StaticBinding::publish(exec, this, VariantFactory::methods()); +} + +void *VariantBinding::pointer() +{ + return m_value.data(); +} + +KJS::UString VariantBinding::toString(KJS::ExecState *) const +{ + return toUString(m_value.toString()); +} + +KJS::UString VariantBinding::className() const +{ + return m_value.typeName(); +} + +QVariant VariantBinding::variant() const +{ + return m_value; +} + +void VariantBinding::setValue(const QVariant &val) +{ + m_value = val; +} + +QGenericArgument VariantBinding::arg(const char *type) const +{ + const void *p = m_value.constData(); + //qDebug("Ptr %0x", p ); + //qDebug() << p; + return QGenericArgument(type, p); +} + +KJS::JSValue *callName(KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args) +{ + Q_UNUSED(args); + KJSEmbed::VariantBinding *imp = KJSEmbed::extractBindingImp(exec, self); + return imp ? KJS::jsString(imp->variant().typeName()) : KJS::jsNull(); +} + +KJS::JSValue *callCast(KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args) +{ + KJSEmbed::VariantBinding *imp = KJSEmbed::extractBindingImp(exec, self); + if (imp) { + QVariant val = imp->variant(); + QVariant::Type type = QVariant::nameToType(args[0]->toString(exec).ascii()); + KJS::JSValue *returnValue = KJS::jsBoolean(val.convert(type)); + imp->setValue(val); + return returnValue; + } + return KJS::jsNull(); +} + +KJS::JSValue *callToString(KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args) +{ + Q_UNUSED(args); + KJSEmbed::VariantBinding *imp = KJSEmbed::extractBindingImp(exec, self); + if (imp) { + //qDebug("Call value to string"); + QVariant val = imp->variant(); + QString stringVal = val.toString(); + if (!stringVal.isEmpty()) { + return KJS::jsString(val.toString()); + } + return KJS::jsString(val.typeName()); + } + return KJS::jsNull(); +} + +const Method VariantFactory::VariantMethods[] = { + {"cast", 1, KJS::DontDelete | KJS::ReadOnly | KJS::DontEnum, &callCast }, + {"toString", 0, KJS::DontDelete | KJS::ReadOnly | KJS::DontEnum, &callToString }, + {nullptr, 0, 0, nullptr } +}; + +enum JavaScriptArrayType { None, List, Map }; + +JavaScriptArrayType checkArray(KJS::ExecState *exec, KJS::JSValue *val) +{ + KJS::JSObject *obj = val->toObject(exec); + if (toQString(obj->className()) == "Array") { + if (!obj->hasProperty(exec, KJS::Identifier("length"))) { + return Map; + } + KJS::JSValue *jslen = obj->get(exec, KJS::Identifier("length")); + const int len = jslen->toNumber(exec); + if (len > 0) { + QByteArray buff; + buff.setNum(len - 1); + if (!obj->hasProperty(exec, KJS::Identifier(buff.data()))) { + return Map; + } + } + return List; + } else { + return None; + } +} + +QMap KJSEmbed::convertArrayToMap(KJS::ExecState *exec, KJS::JSValue *value) +{ + QMap returnMap; + KJS::JSObject *obj = value->toObject(exec); + KJS::PropertyNameArray lst; + obj->getPropertyNames(exec, lst); + KJS::PropertyNameArrayIterator idx = lst.begin(); + for (; idx != lst.end(); idx++) { + KJS::Identifier id = *idx; + KJS::JSValue *val = obj->get(exec, id); + returnMap[toQString(id)] = convertToVariant(exec, val); + } + return returnMap; +} + +QList KJSEmbed::convertArrayToList(KJS::ExecState *exec, KJS::JSValue *value) +{ + QList returnList; + /* + KJS::JSObject *obj = value->toObject( exec ); + if ( toQString(obj->className() == "Array" ) + { + int length = int(obj->get( exec, KJS::Identifier( "length" ) )->toInteger( exec ) ); + for ( int index = 0; index < length; ++index ) + { + QByteArray buff; + buff.setNum(index); + KJS::JSValue *val = obj->get(exec, KJS::Identifier( buff.data() ) ); + if( val ) + returnList += convertToVariant(exec, val ); + else + returnList += QVariant(); + } + } + */ + KJS::ArrayInstance *arrayImp = extractBindingImp(exec, value); + if (arrayImp) { + const unsigned numItems = arrayImp->getLength(); + for (unsigned i = 0; i < numItems; ++i) { + returnList.append(convertToVariant(exec, arrayImp->getItem(i))); + } + } + return returnList; +} + +QStringList KJSEmbed::convertArrayToStringList(KJS::ExecState *exec, KJS::JSValue *value) +{ + QStringList returnList; + /* + KJS::JSObject *obj = value->toObject( exec ); + if ( toQString(obj->className()) == "Array" ) + { + int length = int( obj->get( exec, KJS::Identifier( "length" ) )->toInteger( exec ) ); + for ( int index = 0; index < length; ++index ) + { + QByteArray buff; + buff.setNum(index); + KJS::JSValue *val = obj->get(exec, KJS::Identifier( buff.data() ) ); + if( val ) + returnList += convertToVariant(exec, val ).value(); + else + returnList += QString(); + } + } + */ + KJS::ArrayInstance *arrayImp = extractBindingImp(exec, value); + if (arrayImp) { + const unsigned numItems = arrayImp->getLength(); + for (unsigned i = 0; i < numItems; ++i) { + returnList.append(convertToVariant(exec, arrayImp->getItem(i)).toString()); + } + } + return returnList; +} + +QDateTime convertDateToDateTime(KJS::ExecState *exec, KJS::JSValue *value) +{ + KJS::List args; + QDateTime returnDateTime; + KJS::JSObject *obj = value->toObject(exec); + if (toQString(obj->className()) == "Date") { + int seconds = int(obj->get(exec, KJS::Identifier("getSeconds"))->toObject(exec)->call(exec, obj, args)->toInteger(exec)); + int minutes = int(obj->get(exec, KJS::Identifier("getMinutes"))->toObject(exec)->call(exec, obj, args)->toInteger(exec)); + int hours = int(obj->get(exec, KJS::Identifier("getHours"))->toObject(exec)->call(exec, obj, args)->toInteger(exec)); + int month = int(obj->get(exec, KJS::Identifier("getMonth"))->toObject(exec)->call(exec, obj, args)->toInteger(exec)); + int day = int(obj->get(exec, KJS::Identifier("getDate"))->toObject(exec)->call(exec, obj, args)->toInteger(exec)); + int year = int(obj->get(exec, KJS::Identifier("getFullYear"))->toObject(exec)->call(exec, obj, args)->toInteger(exec)); + returnDateTime.setDate(QDate(year, month + 1, day)); + returnDateTime.setTime(QTime(hours, minutes, seconds)); + } else { + // Throw error + } + + return returnDateTime; +} + +QVariant KJSEmbed::convertToVariant(KJS::ExecState *exec, KJS::JSValue *value) +{ +#ifdef KJSEMBED_VARIANT_DEBUG + qDebug() << "KJSEmbed::convertToVariant"; +#endif + + QVariant returnValue; + switch (value->type()) { + case KJS::UndefinedType: + case KJS::NullType: + break; + case KJS::StringType: + returnValue = toQString(value->toString(exec)); + break; + case KJS::NumberType: + returnValue = value->toNumber(exec); + break; + case KJS::BooleanType: + returnValue = value->toBoolean(exec); + break; + case KJS::ObjectType: { + KJS::JSObject *obj = value->toObject(exec); + //qDebug() << "Object type: " << toQString(obj->className()); + if (toQString(obj->className()) == "Array") { + if (checkArray(exec, value) == List) { + returnValue = convertArrayToList(exec, value); + } else { + returnValue = convertArrayToMap(exec, value); + } + } else if (toQString(obj->className()) == "Date") { + returnValue = convertDateToDateTime(exec, value); + } else { + returnValue = extractVariant(exec, value); + } + //if( returnValue.isNull() ) returnValue = toQString(value->toString(exec)); + } break; + default: + returnValue = extractVariant(exec, value); + //if( returnValue.isNull() ) returnValue = toQString(value->toString(exec)); + break; + } + return returnValue; +} + +KJS::JSValue *KJSEmbed::convertToValue(KJS::ExecState *exec, const QVariant &value) +{ +#ifdef KJSEMBED_VARIANT_DEBUG + qDebug() << "KJSEmbed::convertToValue typeid=" << value.type() << "typename=" << value.typeName() << "toString=" << value.toString(); +#endif + + KJS::JSValue *returnValue; + switch (value.type()) { + case QVariant::Invalid: + returnValue = KJS::jsNull(); + break; + case QVariant::Int: + returnValue = KJS::jsNumber(value.value()); + break; + case QVariant::UInt: + returnValue = KJS::jsNumber(value.value()); + break; + case QVariant::LongLong: + returnValue = KJS::jsNumber(value.value()); + break; + case QVariant::ULongLong: + returnValue = KJS::jsNumber(value.value()); + break; + case QVariant::Double: + returnValue = KJS::jsNumber(value.value()); + break; + case QVariant::Bool: + returnValue = KJS::jsBoolean(value.value()); + break; + case QVariant::ByteArray: + returnValue = KJS::jsString(QString(value.value())); + break; + case QVariant::String: + returnValue = KJS::jsString(value.value()); + break; + case QVariant::StringList: { + KJS::List items; + QStringList lst = value.value(); + QStringList::Iterator idx = lst.begin(); + for (; idx != lst.end(); ++idx) { + items.append(KJS::jsString((*idx))); + } + returnValue = exec->lexicalInterpreter()->builtinArray()->construct(exec, items); + break; + } + case QVariant::Date: // fall through + case QVariant::DateTime: // fall through + case QVariant::Time: { + QDateTime dt = QDateTime::currentDateTime(); + if (value.type() == QVariant::Date) { + dt.setDate(value.toDate()); + } else if (value.type() == QVariant::Time) { + dt.setTime(value.toTime()); + } else { + dt = value.toDateTime(); + } + + KJS::List items; + items.append(KJS::jsNumber(dt.date().year())); + items.append(KJS::jsNumber(dt.date().month() - 1)); + items.append(KJS::jsNumber(dt.date().day())); + items.append(KJS::jsNumber(dt.time().hour())); + items.append(KJS::jsNumber(dt.time().minute())); + items.append(KJS::jsNumber(dt.time().second())); + items.append(KJS::jsNumber(dt.time().msec())); + returnValue = exec->lexicalInterpreter()->builtinDate()->construct(exec, items); + break; + } + case QVariant::List: { + KJS::List items; + QList lst = value.toList(); + foreach (const QVariant &item, lst) { + items.append(convertToValue(exec, item)); + } + returnValue = exec->lexicalInterpreter()->builtinArray()->construct(exec, items); + break; + } + case QVariant::Map: { + QMap map = value.toMap(); + QMap::Iterator idx = map.begin(); + KJS::JSObject *obj = exec->lexicalInterpreter()->builtinObject()->construct(exec, KJS::List()); + for (; idx != map.end(); ++idx) { + obj->put(exec, KJS::Identifier(toUString(idx.key())), convertToValue(exec, idx.value())); + } + returnValue = obj; + break; + } + default: { + if (value.canConvert< QWidget * >()) { + QWidget *widget = qvariant_cast< QWidget * >(value); + returnValue = widget ? createQObject(exec, widget, KJSEmbed::ObjectBinding::CPPOwned) : KJS::jsNull(); + } else if (value.canConvert< QObject * >()) { + QObject *object = qvariant_cast< QObject * >(value); + returnValue = object ? createQObject(exec, object, KJSEmbed::ObjectBinding::CPPOwned) : KJS::jsNull(); + } else { + returnValue = createVariant(exec, value.typeName(), value); + if (returnValue->isNull()) { + returnValue = KJS::jsString(value.value()); + } + } + break; + } + } + return returnValue; +} + +QVariant KJSEmbed::extractVariant(KJS::ExecState *exec, KJS::JSValue *value) +{ +#ifdef KJSEMBED_VARIANT_DEBUG + qDebug() << "KJSEmbed::extractVariant"; +#endif + + KJSEmbed::VariantBinding *imp = KJSEmbed::extractBindingImp(exec, value); + if (imp) { + return imp->variant(); + } + if (value->type() == KJS::StringType) { + return QVariant(toQString(value->toString(exec))); + } + if (value->type() == KJS::NumberType) { + return QVariant(value->toNumber(exec)); + } + if (value->type() == KJS::BooleanType) { + return QVariant(value->toBoolean(exec)); + } + + KJS::JSObject *obj = value->toObject(exec); + if (obj) { + if (QObjectBinding *objImp = KJSEmbed::extractBindingImp(exec, value)) { + QVariant v; + if (QObject *qobj = objImp->qobject()) { + v.setValue(qobj); + } + return v; + } + if (toQString(obj->className()) == "Array") { + return convertArrayToList(exec, value); + } + } + return QVariant(); +} + diff --git a/src/kjsembed/variant_binding.h b/src/kjsembed/variant_binding.h new file mode 100644 index 0000000..d7ec3fb --- /dev/null +++ b/src/kjsembed/variant_binding.h @@ -0,0 +1,255 @@ +/* This file is part of the KDE libraries + Copyright (C) 2005, 2006 Ian Reinhart Geiser + Copyright (C) 2005, 2006 Matt Broadstone + Copyright (C) 2005, 2006 Richard J. Moore + Copyright (C) 2005, 2006 Erik L. Bunce + Copyright (C) 2007, 2008 Sebastian Sauer + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef VARIANT_BINDING_H +#define VARIANT_BINDING_H + +#include + +#include +#include + +#include "static_binding.h" + +/** +* A simple variant style method. +* This will extract the QVariant, cast it to the native type and place it in "value". +* Any data that should be returned from this method should be placed into "result"; +* +*/ +#define START_VARIANT_METHOD( METHODNAME, TYPE) \ + KJS::JSValue *METHODNAME( KJS::ExecState *exec, KJS::JSObject *self, const KJS::List &args ) \ + { \ + Q_UNUSED(exec);\ + Q_UNUSED(self);\ + Q_UNUSED(args);\ + KJS::JSValue *result = KJS::jsNull(); \ + KJSEmbed::VariantBinding *imp = KJSEmbed::extractBindingImp(exec, self ); \ + if( imp ) \ + { \ + TYPE value = imp->value(); +/** +* End a variant method started by START_VARIANT_METHOD +*/ +#define END_VARIANT_METHOD \ + imp->setValue(QVariant::fromValue(value)); \ + } \ + else \ + {\ + KJS::throwError(exec, KJS::GeneralError, "We have a problem baby");\ + }\ + return result; \ + } + +#define KJSO_VARIANT_SIMPLE_BINDING_CTOR( NAME, JSNAME, TYPE, BASENAME ) \ + NAME::NAME(KJS::ExecState *exec, const char* typeName ) \ + : BASENAME( exec, typeName ) \ + { \ + StaticBinding::publish( exec, this, NAME::methods() ); \ + } \ + NAME::NAME(KJS::ExecState *exec, const TYPE & value) \ + : BASENAME( exec, QVariant::fromValue(value)) \ + { \ + StaticBinding::publish( exec, this, NAME::methods() ); \ + } + +namespace KJSEmbed +{ +/** +* QVariant based binding. This class wraps the implementation. +* You should never have to use this class directly instead use KJSEmbed::createVariant. +*/ + +/** +* QVariant bindinging implementation. +*/ +class KJSEMBED_EXPORT VariantBinding : public ProxyBinding +{ +public: + /** + * Create a new binding implementation with a QVariant to wrap + */ + VariantBinding(KJS::ExecState *exec, const QVariant &value); + ~VariantBinding() override {} + + void *pointer(); + + KJS::UString toString(KJS::ExecState *) const override; + KJS::UString className() const override; + + /** + * Return the wrapped QVariant + */ + QVariant variant() const; + + /** + * Extract the actual value from the wrapper. This method wraps QVariant::value, so it will support + * some aspects of casting. If the cast fails a default value of T will be returned. + */ + template + T value() const + { + return m_value.value(); + } + /** + * Set the internal value of the QVariant. + */ + void setValue(const QVariant &val); + + /** + * Constructs a QGenericArgument that is used with QMetaObject::invokeMember + */ + QGenericArgument arg(const char *type) const; + + static const KJS::ClassInfo info; + +private: + const KJS::ClassInfo *classInfo() const override + { + return &info; + } + QVariant m_value; + +}; + +/** +* Extracts a QVariant from a KJS::JSValue if the conversion fails a QVariant::Null is returned. +*/ +QVariant KJSEMBED_EXPORT extractVariant(KJS::ExecState *exec, KJS::JSValue *value); + +/** +* Extracts a value based type from a VariantBinding object. This method calls @ref extractVariant so if +* the conversions fails then the default value will be returned. Care should be taken that this method +* is not used with KJSEmbed::ObjectBinding objects because the cast will fail. +*/ +template< typename T> +T extractVariant(KJS::ExecState *exec, KJS::JSValue *arg, const T &defaultValue) +{ + if (!arg) { + return defaultValue; + } else { + QVariant variant = extractVariant(exec, arg); + if (!variant.isNull()) { + if (variant.canConvert()) { + return variant.value(); + } else { + throwError(exec, KJS::TypeError, "Cast failed"); + return defaultValue; + } + } else { + return defaultValue; + } + } +} + +/** +* Extracts a value from a KJS::List of KJS::JSValues. If the argument is out of range the default value +* is returned. +*/ +template< typename T> +T extractVariant(KJS::ExecState *exec, const KJS::List &args, int idx, const T &defaultValue = T()) +{ + if (args.size() >= idx) { + return extractVariant(exec, args[idx], defaultValue); + } else { + return defaultValue; + } +} + +/** +* Can create any known KJSEmbed::VariantBinding object and set the value. +* On failure a KJS::jsNull will be returned and the exception set. Only values +* that are supported by QVariant will work. +*/ +template< typename T> +KJS::JSValue *createVariant(KJS::ExecState *exec, const KJS::UString &className, const T &value) +{ + KJS::JSObject *parent; + parent = exec->dynamicInterpreter()->globalObject(); + KJS::JSObject *returnValue = StaticConstructor::construct(exec, parent, className); + if (returnValue) { + // If it is a value type setValue + KJSEmbed::VariantBinding *imp = extractBindingImp(exec, returnValue); + if (imp) { + imp->setValue(QVariant::fromValue(value)); + } else { + throwError(exec, KJS::TypeError, toUString(QString("Created failed to cast to %1 failed").arg(toQString(className)))); + return KJS::jsNull(); + } + } else { + throwError(exec, KJS::TypeError, toUString(QString("Could not construct a %1").arg(toQString(className)))); + return KJS::jsNull(); + } + return returnValue; +} + +/** +* Convert a KJS::JSValue that contains an associative array into a QMap. If you call +* this on a normal Javascript object you will get each property as the key and its +* data as the value. A normal array will give you a QMap with each key being the +* index. +*/ +QMap KJSEMBED_EXPORT convertArrayToMap(KJS::ExecState *exec, KJS::JSValue *value); + +/** +* Convert a KJS::JSValue into a QList. If the list contains only strings, or objects that can be +* converted to strings you can call to @ref convertArrayToStringList. If you call this on an +* associative array or a javascript object the list will return empty. Unless there happens to be +* a property with a numeric index present, then all bets are off. +*/ +QList KJSEMBED_EXPORT convertArrayToList(KJS::ExecState *exec, KJS::JSValue *value); + +/** +* Convert a KJS::JSValue into a QStringList. @see convertArrayToList. +*/ +QStringList KJSEMBED_EXPORT convertArrayToStringList(KJS::ExecState *exec, KJS::JSValue *value); + +/** +* Convert a KJS::JSValue into a QVariant object +*/ +QVariant KJSEMBED_EXPORT convertToVariant(KJS::ExecState *exec, KJS::JSValue *value); + +/** +* Convert a QVariant to a KJS::JSValue. If the type is a known type the bindings will be added. +* If the type is supported by QVariant, but is not supported by KJSEmbed then it will just be wrapped. +* This wrapped value can be used just like normal value bindings, save for the lack of methods available to the object. +*/ +KJSEMBED_EXPORT KJS::JSValue *convertToValue(KJS::ExecState *exec, const QVariant &value); + +/** +* The Bindings for the KJSEmbed::VariantBinding +*/ +struct Method; +class KJSEMBED_EXPORT VariantFactory +{ +public: + static const Method VariantMethods[]; + static const Method *methods() + { + return VariantMethods; + } +}; + +} +#endif +