├── images
├── dice.png
└── irkick.png
├── lang
├── JumpingCube_cs.qm
├── JumpingCube_da.qm
├── JumpingCube_de.qm
├── JumpingCube_el.qm
├── JumpingCube_en.qm
├── JumpingCube_es.qm
├── JumpingCube_fi.qm
├── JumpingCube_fr.qm
├── JumpingCube_hu.qm
├── JumpingCube_it.qm
├── JumpingCube_ko.qm
├── JumpingCube_nl.qm
├── JumpingCube_pl.qm
├── JumpingCube_ru.qm
├── JumpingCube_sv.qm
├── JumpingCube_tr.qm
├── JumpingCube_ja_JP.qm
├── JumpingCube_zh_CN.qm
├── JumpingCube_lang.qrc
├── JumpingCube_da.ts
├── JumpingCube_ja_JP.ts
├── JumpingCube_zh_CN.ts
├── JumpingCube_ru.ts
├── JumpingCube_ko.ts
├── JumpingCube_pl.ts
├── JumpingCube_sv.ts
├── JumpingCube_cs.ts
├── JumpingCube_nl.ts
├── JumpingCube_fi.ts
├── JumpingCube_fr.ts
├── JumpingCube_de.ts
└── JumpingCube_tr.ts
├── JumpingCube_images.qrc
├── slavecptest.sh
├── cptest.sh
├── testit.sh
├── msgQue.h
├── msgQue.cpp
├── jumpingcubewindow.ui
├── gui
├── paintwidget.h
└── paintwidget.cpp
├── jumpingcubewindow.h
├── topjcdialog.h
├── p3ExampleRS.h
├── JumpingCubePlugin.h
├── README.md
├── JumpingCube.pro
├── RSExampleItems.h
├── RSExampleItems.cpp
├── JumpingCubePlugin.cpp
├── p3ExampleRS.cpp
├── topjcdialog.ui
├── jumpingcubewindow.cpp
└── topjcdialog.cpp
/images/dice.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chozabu/JumpingCube/master/images/dice.png
--------------------------------------------------------------------------------
/images/irkick.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chozabu/JumpingCube/master/images/irkick.png
--------------------------------------------------------------------------------
/lang/JumpingCube_cs.qm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chozabu/JumpingCube/master/lang/JumpingCube_cs.qm
--------------------------------------------------------------------------------
/lang/JumpingCube_da.qm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chozabu/JumpingCube/master/lang/JumpingCube_da.qm
--------------------------------------------------------------------------------
/lang/JumpingCube_de.qm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chozabu/JumpingCube/master/lang/JumpingCube_de.qm
--------------------------------------------------------------------------------
/lang/JumpingCube_el.qm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chozabu/JumpingCube/master/lang/JumpingCube_el.qm
--------------------------------------------------------------------------------
/lang/JumpingCube_en.qm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chozabu/JumpingCube/master/lang/JumpingCube_en.qm
--------------------------------------------------------------------------------
/lang/JumpingCube_es.qm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chozabu/JumpingCube/master/lang/JumpingCube_es.qm
--------------------------------------------------------------------------------
/lang/JumpingCube_fi.qm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chozabu/JumpingCube/master/lang/JumpingCube_fi.qm
--------------------------------------------------------------------------------
/lang/JumpingCube_fr.qm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chozabu/JumpingCube/master/lang/JumpingCube_fr.qm
--------------------------------------------------------------------------------
/lang/JumpingCube_hu.qm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chozabu/JumpingCube/master/lang/JumpingCube_hu.qm
--------------------------------------------------------------------------------
/lang/JumpingCube_it.qm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chozabu/JumpingCube/master/lang/JumpingCube_it.qm
--------------------------------------------------------------------------------
/lang/JumpingCube_ko.qm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chozabu/JumpingCube/master/lang/JumpingCube_ko.qm
--------------------------------------------------------------------------------
/lang/JumpingCube_nl.qm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chozabu/JumpingCube/master/lang/JumpingCube_nl.qm
--------------------------------------------------------------------------------
/lang/JumpingCube_pl.qm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chozabu/JumpingCube/master/lang/JumpingCube_pl.qm
--------------------------------------------------------------------------------
/lang/JumpingCube_ru.qm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chozabu/JumpingCube/master/lang/JumpingCube_ru.qm
--------------------------------------------------------------------------------
/lang/JumpingCube_sv.qm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chozabu/JumpingCube/master/lang/JumpingCube_sv.qm
--------------------------------------------------------------------------------
/lang/JumpingCube_tr.qm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chozabu/JumpingCube/master/lang/JumpingCube_tr.qm
--------------------------------------------------------------------------------
/lang/JumpingCube_ja_JP.qm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chozabu/JumpingCube/master/lang/JumpingCube_ja_JP.qm
--------------------------------------------------------------------------------
/lang/JumpingCube_zh_CN.qm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chozabu/JumpingCube/master/lang/JumpingCube_zh_CN.qm
--------------------------------------------------------------------------------
/JumpingCube_images.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | images/irkick.png
4 | images/dice.png
5 |
6 |
7 |
--------------------------------------------------------------------------------
/slavecptest.sh:
--------------------------------------------------------------------------------
1 | kdesudo -u slavetester cp lib*.so* /home/slavetester/.retroshare/extensions/
2 | kdesudo -u slavetester /home/chozabu/rsclean/trunk/retroshare-gui/src/RetroShare
3 |
4 |
--------------------------------------------------------------------------------
/cptest.sh:
--------------------------------------------------------------------------------
1 | kdesudo -u retrotester cp libJumpingCube.so* /home/retrotester/.retroshare/extensions/
2 | kdesudo -u retrotester /home/chozabu/rsclean/trunk/retroshare-gui/src/RetroShare
3 |
4 |
--------------------------------------------------------------------------------
/testit.sh:
--------------------------------------------------------------------------------
1 | make clean
2 | qmake-qt4
3 | make clean
4 | make
5 | kdesudo -u retrotester cp libJumpingCube.so* /home/retrotester/.retroshare/extensions6/
6 | kdesudo -u retrotester ../../retroshare-gui/src/RetroShare
7 |
--------------------------------------------------------------------------------
/msgQue.h:
--------------------------------------------------------------------------------
1 | #ifndef MSGQUE_H
2 | #define MSGQUE_H
3 |
4 | #include "RSExampleItems.h"
5 | //class msgQue;
6 | //extern msgQue *msgque;
7 |
8 | class msgQue
9 | {
10 | public:
11 | msgQue();
12 | virtual void storeMsg(RsExampleItem *item);
13 | virtual std::vector *getMsgList();
14 |
15 | std::vector *buffer;
16 | };
17 |
18 | #endif // MSGQUE_H
19 |
--------------------------------------------------------------------------------
/msgQue.cpp:
--------------------------------------------------------------------------------
1 | #include "msgQue.h"
2 |
3 | msgQue::msgQue()
4 | {
5 |
6 | buffer = new std::vector;
7 | }
8 |
9 |
10 | void msgQue::storeMsg(RsExampleItem * item){
11 |
12 | //should be doing a mutex lock here?
13 | buffer->push_back(*item);
14 | }
15 |
16 |
17 | //std::list
18 | std::vector *msgQue::getMsgList(){
19 | //should also be doing a mutex lock here?
20 | std::vector *oldbuffer = buffer;
21 | buffer = new std::vector;
22 | return oldbuffer;
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/lang/JumpingCube_lang.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | JumpingCube_cs.qm
4 | JumpingCube_da.qm
5 | JumpingCube_de.qm
6 | JumpingCube_el.qm
7 | JumpingCube_en.qm
8 | JumpingCube_es.qm
9 | JumpingCube_fi.qm
10 | JumpingCube_fr.qm
11 | JumpingCube_hu.qm
12 | JumpingCube_it.qm
13 | JumpingCube_ja_JP.qm
14 | JumpingCube_ko.qm
15 | JumpingCube_nl.qm
16 | JumpingCube_pl.qm
17 | JumpingCube_ru.qm
18 | JumpingCube_sv.qm
19 | JumpingCube_tr.qm
20 | JumpingCube_zh_CN.qm
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/jumpingcubewindow.ui:
--------------------------------------------------------------------------------
1 |
2 |
3 | JumpingCubeWindow
4 |
5 |
6 |
7 | 0
8 | 0
9 | 800
10 | 600
11 |
12 |
13 |
14 | MainWindow
15 |
16 |
17 |
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/gui/paintwidget.h:
--------------------------------------------------------------------------------
1 | #ifndef PAINTWIDGET_H
2 | #define PAINTWIDGET_H
3 |
4 | #include
5 | #include
6 | #include
7 | #include
8 |
9 | class TopJCDialog;
10 |
11 | class PaintWidget : public QWidget
12 | {
13 | Q_OBJECT
14 | public:
15 | explicit PaintWidget(QWidget *parent = 0);
16 | void setImage(const QImage&);
17 | QImage getImage();
18 |
19 | void fillImage(QColor color);
20 | virtual void paintAt(int x, int y);
21 |
22 | QColor color;
23 | uint8_t penWidth;
24 | TopJCDialog* tjd;
25 |
26 | signals:
27 | void haveUpdate();
28 |
29 |
30 | public slots:
31 |
32 | protected:
33 | virtual void mouseReleaseEvent(QMouseEvent * event);
34 | virtual void paintEvent(QPaintEvent *);
35 | virtual void mouseMoveEvent(QMouseEvent *);
36 |
37 | private:
38 | QImage image;
39 |
40 | };
41 |
42 | #endif // PAINTWIDGET_H
43 |
--------------------------------------------------------------------------------
/jumpingcubewindow.h:
--------------------------------------------------------------------------------
1 | #ifndef JUMPINGCUBEWINDOW_H
2 | #define JUMPINGCUBEWINDOW_H
3 |
4 | #include
5 |
6 |
7 | #include
8 |
9 |
10 | namespace Ui {
11 | class JumpingCubeWindow;
12 | }
13 |
14 | class JumpingCubeWindow : public QMainWindow
15 | {
16 | Q_OBJECT
17 |
18 | public:
19 | int currentplayer;
20 | int myid;
21 |
22 | int boardWidth;
23 | int boardHeight;
24 |
25 | int **board;
26 | int **boardOwner;
27 |
28 | bool exploding;
29 |
30 | virtual void remoteClick(int x,int y);
31 |
32 | std::string peerid;
33 | explicit JumpingCubeWindow(QWidget *parent = 0);
34 | ~JumpingCubeWindow();
35 | signals:
36 | void mClick(int x, int y);
37 | private slots:
38 | void on_timer();
39 | private:
40 | QTimer *timer;
41 | Ui::JumpingCubeWindow *ui;
42 | virtual int getNumSides(int x, int y);
43 | virtual bool checkExplosions();
44 | virtual void idClick(int x, int y, int player);
45 |
46 | protected:
47 | void paintEvent(QPaintEvent *event);
48 | void drawLines(QPainter *qp);
49 | virtual void mousePressEvent(QMouseEvent *e);
50 | };
51 |
52 | #endif // JUMPINGCUBEWINDOW_H
53 |
--------------------------------------------------------------------------------
/topjcdialog.h:
--------------------------------------------------------------------------------
1 | #ifndef TOPJCDIALOG_H
2 | #define TOPJCDIALOG_H
3 |
4 | #include
5 | #include
6 | #include
7 |
8 | #include
9 | #include
10 | #include
11 | #include "msgQue.h"
12 | #include "jumpingcubewindow.h"
13 |
14 | class p3ExampleRS;
15 |
16 | namespace Ui {
17 | class TopJCDialog;
18 | }
19 |
20 | class TopJCDialog : public MainPage
21 | {
22 | Q_OBJECT
23 |
24 | public:
25 | explicit TopJCDialog(QWidget *parent = 0);
26 | ~TopJCDialog();
27 | virtual bool addLogInfo(const std::string &info);
28 | virtual bool addPeerItem(const RsPeerId &info);
29 | p3ExampleRS *p3service;
30 | JumpingCubeWindow *jcw;
31 | msgQue * mMsgque;
32 | virtual void paintWAt(int x, int y);
33 | virtual void paintMouseMove(QMouseEvent *event);
34 |
35 | public slots:
36 | virtual void okClicked();
37 | virtual void playClicked();
38 | virtual void sendMClick(int x, int y);
39 | virtual void onBrushUIChange();
40 | private slots:
41 | void on_timer();
42 | private:
43 | Ui::TopJCDialog *ui;
44 | QTimer *timer;
45 | virtual void handleExampleItem( RsExampleItem * item );
46 |
47 | };
48 |
49 | #endif // TOPJCDIALOG_H
50 |
--------------------------------------------------------------------------------
/p3ExampleRS.h:
--------------------------------------------------------------------------------
1 |
2 |
3 | #ifndef P3ZERORESERVERRS_H
4 | #define P3ZERORESERVERRS_H
5 |
6 |
7 | #include "RSExampleItems.h"
8 |
9 | #include "retroshare/rspeers.h"
10 | #include "plugins/rspqiservice.h"
11 | #include "pqi/pqimonitor.h"
12 | //#include "topjcdialog.h"
13 |
14 | #include "msgQue.h"
15 |
16 |
17 | class TopJCDialog;
18 | class RsPluginHandler;
19 | class RsPeers;
20 |
21 | class p3ExampleRS : public RsPQIService, // the service interface calls tick()
22 | public pqiMonitor // the monitor tells us when friends changed their status
23 | {
24 | public:
25 | p3ExampleRS(RsPluginHandler *pgHandler, RsPeers* peers, msgQue *msgin);
26 |
27 | virtual int tick();
28 | virtual void statusChange(const std::list &plist);
29 | virtual void testit();
30 | virtual void msgPeer(std::string peerId, std::string msg);//, std::string message){
31 | virtual void msgPeerXY(std::string peerId, int x, int y);
32 | virtual void msgPeerXYT(std::string peerId, int x, int y, std::string msgtype);
33 | virtual void msgPeerBrush(std::string peerId, int w, int r, int g, int b, int a);
34 | msgQue * mMsgque;
35 |
36 | virtual RsServiceInfo getServiceInfo() ;
37 |
38 | private:
39 | void handleMessage( RsExampleItem *item );
40 | void handleExampleItem( RsExampleItem * item );
41 |
42 | private:
43 |
44 | RsPeers * m_peers;
45 | //TopJCDialog *tjd;
46 | };
47 |
48 | #endif // P3ZERORESERVERRS_H
49 |
--------------------------------------------------------------------------------
/JumpingCubePlugin.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include
6 | #include "msgQue.h"
7 |
8 | class p3ExampleRS;
9 |
10 | class JumpingCubePlugin: public RsPlugin
11 | {
12 | public:
13 | JumpingCubePlugin() ;
14 | virtual ~JumpingCubePlugin() {}
15 |
16 |
17 | virtual RsCacheService *rs_cache_service() const ;
18 | virtual RsPQIService * rs_pqi_service() const;
19 |
20 | //virtual uint16_t rs_service_id() const { return RS_SERVICE_TYPE_RANK ; }
21 |
22 | //other things
23 |
24 | virtual MainPage *qt_page() const ;
25 | virtual QIcon *qt_icon() const ;
26 | virtual QTranslator *qt_translator(QApplication *app, const QString& languageCode, const QString& externalDir) const;
27 |
28 | virtual void getPluginVersion(int& major, int& minor, int &build, int& svn_rev) const ;
29 | virtual void setPlugInHandler(RsPluginHandler *pgHandler);
30 |
31 | virtual std::string configurationFileName() const { return std::string() ; }
32 |
33 | virtual std::string getShortPluginDescription() const ;
34 | virtual std::string getPluginName() const;
35 | virtual void setInterfaces(RsPlugInInterfaces& interfaces);
36 | private:
37 | mutable RsPluginHandler *mPlugInHandler;
38 | mutable RsFiles* mFiles;
39 | mutable RsPeers* mPeers;
40 | mutable MainPage* mainpage ;
41 | mutable TopJCDialog* tpage;
42 | mutable QIcon* mIcon ;
43 | mutable msgQue* mMsgque;
44 |
45 | mutable p3ExampleRS * mServiceP3;
46 | };
47 |
48 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | #JumpingCube Game (and some paintchat)
2 |
3 | This is currently a simple game+paint+chat plugin for retroshare.
4 |
5 | It is not intended for practical use - mostly as a project for me to get a handle on RS.
6 |
7 | It uses some code from several other plugins, including electrons paintchat plugin.
8 |
9 | All data is sent using the "example" class - "encoded" as a string.
10 |
11 | Mouse XY positions are sent rather than image diffs.
12 |
13 | Expect mistakes, my C++ is very rusty, and im new to both QT and retroshare. I also know I dropped some ugly hacks.
14 | 
15 |
16 | ## Quick Start:
17 |
18 | If you know what you are doing, do that!
19 |
20 | ###Install
21 | ####build
22 | #qmake-qt4;make
23 | ####deploy
24 | #cp lib* ~/.retroshare/extensions/
25 | ####(Re)Start RS
26 |
27 |
28 | ###Usage
29 | RS should detect the plugin, the top left pane will show friends also running the plugin.
30 |
31 | click a friends ID to select them.
32 |
33 | type, then press the button or paint to send your friend data.
34 | press "start game" to have a game of "jumpingcube" with friend.
35 |
36 | learn the rules by playing!
37 |
38 | I first saw this game on a then new-ish acorn.
39 | A more recent implementation can be found here http://games.kde.org/game.php?game=kjumpingcube
40 |
41 |
42 |
43 | ## If you wish to test in a second instance of RetroShare
44 | ### Make a new user
45 | ```
46 | useradd retrotester
47 | ```
48 | ### Inspect then run the build and test script (KDE)
49 | ```
50 | cat testit.sh
51 | ./testit.sh
52 | ```
53 | ### Exit the new instance of retroshare when done testing
54 |
55 |
56 |
57 |
--------------------------------------------------------------------------------
/JumpingCube.pro:
--------------------------------------------------------------------------------
1 | !include("../Common/retroshare_plugin.pri"): error("Could not include file ../Common/retroshare_plugin.pri")
2 |
3 | CONFIG += qt uic qrc resources
4 |
5 | SOURCES = JumpingCubePlugin.cpp \
6 | gui/paintwidget.cpp \
7 | topjcdialog.cpp \
8 | RSExampleItems.cpp \
9 | p3ExampleRS.cpp \
10 | msgQue.cpp \
11 | jumpingcubewindow.cpp
12 | HEADERS = JumpingCubePlugin.h \
13 | gui/paintwidget.h \
14 | topjcdialog.h \
15 | p3ExampleRS.h \
16 | RSExampleItems.h \
17 | msgQue.h \
18 | jumpingcubewindow.h
19 | FORMS = \
20 | topjcdialog.ui \
21 | jumpingcubewindow.ui
22 |
23 | TARGET = JumpingCube
24 |
25 | RESOURCES = JumpingCube_images.qrc lang/JumpingCube_lang.qrc
26 |
27 | TRANSLATIONS += \
28 | lang/JumpingCube_cs.ts \
29 | lang/JumpingCube_da.ts \
30 | lang/JumpingCube_de.ts \
31 | lang/JumpingCube_el.ts \
32 | lang/JumpingCube_en.ts \
33 | lang/JumpingCube_es.ts \
34 | lang/JumpingCube_fi.ts \
35 | lang/JumpingCube_fr.ts \
36 | lang/JumpingCube_hu.ts \
37 | lang/JumpingCube_it.ts \
38 | lang/JumpingCube_ja_JP.ts \
39 | lang/JumpingCube_ko.ts \
40 | lang/JumpingCube_nl.ts \
41 | lang/JumpingCube_pl.ts \
42 | lang/JumpingCube_ru.ts \
43 | lang/JumpingCube_sv.ts \
44 | lang/JumpingCube_tr.ts \
45 | lang/JumpingCube_zh_CN.ts
46 |
47 | OTHER_FILES += \
48 | cptest.sh
49 |
--------------------------------------------------------------------------------
/RSExampleItems.h:
--------------------------------------------------------------------------------
1 | #ifndef RSEXAMPLEITEMS_H
2 | #define RSEXAMPLEITEMS_H
3 |
4 | #include "serialiser/rsserial.h"
5 | #include
6 |
7 |
8 |
9 | const uint8_t QOS_PRIORITY_RS_EXAMPLE = 3;
10 | extern const uint16_t RS_SERVICE_TYPE_EXAMPLE_PLUGIN;
11 | extern const uint32_t CONFIG_TYPE_EXAMPLE_PLUGIN;
12 |
13 |
14 | class RsExampleItem: public RsItem
15 | {
16 | public:
17 | RsExampleItem( )
18 | : RsItem( RS_PKT_VERSION_SERVICE,RS_SERVICE_TYPE_EXAMPLE_PLUGIN, EXAMPLE_ITEM )
19 | {
20 | setPriorityLevel(QOS_PRIORITY_RS_EXAMPLE);
21 | m_msg = "Hello World";
22 | }
23 | RsExampleItem(void *data, uint32_t pktsize);
24 |
25 | enum RS_PKT_SUBTYPE {
26 | EXAMPLE_ITEM = 0x01
27 | // add any number of item types here
28 | };
29 |
30 | virtual ~RsExampleItem() {};
31 | virtual void clear() {};
32 | virtual std::ostream& print(std::ostream &out, uint16_t indent = 0);
33 |
34 | virtual bool serialise(void *data,uint32_t& size);
35 | virtual uint32_t serial_size() const;
36 |
37 | const std::string & getMessage(){ return m_msg; }
38 | void setMessage(std::string msg){ m_msg = msg; }
39 | private:
40 | std::string m_msg;
41 | };
42 |
43 |
44 |
45 |
46 |
47 | class RsExampleSerialiser: public RsSerialType
48 | {
49 | public:
50 | RsExampleSerialiser()
51 | :RsSerialType(RS_PKT_VERSION_SERVICE, RS_SERVICE_TYPE_EXAMPLE_PLUGIN)
52 | {
53 | }
54 | virtual ~RsExampleSerialiser() {}
55 |
56 | virtual uint32_t size (RsItem *item)
57 | {
58 | return dynamic_cast(item)->serial_size() ;
59 | }
60 |
61 | virtual bool serialise (RsItem *item, void *data, uint32_t *size)
62 | {
63 | return dynamic_cast(item)->serialise(data,*size) ;
64 | }
65 | virtual RsItem *deserialise(void *data, uint32_t *size);
66 | };
67 |
68 | #endif // RSEXAMPLEITEMS_H
69 |
--------------------------------------------------------------------------------
/gui/paintwidget.cpp:
--------------------------------------------------------------------------------
1 | #include "paintwidget.h"
2 |
3 | #include
4 | #include
5 | #include
6 |
7 | #include
8 | #include
9 | #include
10 | PaintWidget::PaintWidget(QWidget *parent) :
11 | QWidget(parent),image(600,300,QImage::Format_RGB32),color(Qt::black),penWidth(8)
12 | {
13 | image.fill(qRgb(255, 255, 255));
14 | }
15 |
16 | void PaintWidget::setImage(const QImage &img){
17 | image=img.copy();
18 | update();
19 | }
20 |
21 | QImage PaintWidget::getImage(){
22 | return image;
23 | }
24 |
25 | void PaintWidget::fillImage(QColor color){
26 | image.fill(qRgb(255, 255, 255));
27 | update();
28 | }
29 |
30 | void PaintWidget::mouseMoveEvent(QMouseEvent *event)
31 | {
32 | QPainter p(&image);
33 | p.setPen(color);
34 | p.setBrush(color);
35 | if(penWidth==1){
36 | p.drawPoint(event->pos());
37 | }else{
38 | p.drawEllipse(event->pos(),penWidth/2,penWidth/2);
39 | }
40 | //check if u want to clear Jenster--
41 | // if (event->button() == Qt::RightButton) image.fill(qRgb(255, 255, 255));
42 |
43 | // trigger repaint of widget
44 | update();
45 | tjd->paintMouseMove(event);
46 | }
47 |
48 |
49 | void PaintWidget::paintAt(int x, int y)
50 | {
51 | QPainter p(&image);
52 | p.setPen(color);
53 | p.setBrush(color);
54 | if(penWidth==1){
55 | p.drawPoint(x,y);
56 | }else{
57 | p.drawEllipse(x,y,penWidth/2,penWidth/2);
58 | }
59 | // trigger repaint of widget
60 | update();
61 | }
62 |
63 | qint64 getImgSize(QImage image){
64 | QByteArray ba;
65 | QBuffer buffer(&ba);
66 | buffer.open(QIODevice::WriteOnly);
67 | image.save(&buffer, "PNG");
68 | return buffer.buffer().toBase64().size();
69 | }
70 |
71 | void PaintWidget::mouseReleaseEvent(QMouseEvent *event){
72 | std::cout<<"PaintWidgte::mouseReleseEvent()"<button() == Qt::RightButton) { image.fill(qRgb(255, 255, 255));update(); }
75 | //check to see if we want to send to clipboard
76 | if (event->button() == Qt::MiddleButton) {
77 | QImage img = image.scaledToWidth(image.width()*0.5);
78 | while(getImgSize(img)> 5500){
79 | img = img.scaledToWidth(img.width()*0.8);
80 | }
81 | QApplication::clipboard()->setImage(img);
82 | }
83 |
84 |
85 |
86 | emit haveUpdate();
87 | }
88 |
89 | void PaintWidget::paintEvent(QPaintEvent *event)
90 | {
91 | QPainter p(this);
92 | p.drawImage(0,0,image);
93 | }
94 |
--------------------------------------------------------------------------------
/RSExampleItems.cpp:
--------------------------------------------------------------------------------
1 | #include "RSExampleItems.h"
2 | #include "serialiser/rsbaseserial.h"
3 |
4 |
5 | #include
6 | #include
7 |
8 |
9 | const uint16_t RS_SERVICE_TYPE_EXAMPLE_PLUGIN = 0xDEAD; // gotta be unique among all plugins
10 | const uint32_t CONFIG_TYPE_EXAMPLE_PLUGIN = 0x0000BEEF;
11 |
12 | #define CURRENCY_STRLEN 3
13 | #define HOLLERITH_LEN_SPEC 4
14 |
15 | RsItem* RsExampleSerialiser::deserialise(void *data, uint32_t *pktsize)
16 | {
17 | std::cerr << "Zero Reserve: deserialise()" << std::endl;
18 |
19 | /* get the type and size */
20 | uint32_t rstype = getRsItemId(data);
21 |
22 | if ((RS_PKT_VERSION_SERVICE != getRsItemVersion(rstype)) || (RS_SERVICE_TYPE_EXAMPLE_PLUGIN != getRsItemService(rstype)))
23 | return NULL ;
24 |
25 | try{
26 | switch(getRsItemSubType(rstype))
27 | {
28 | case RsExampleItem::EXAMPLE_ITEM:
29 | return new RsExampleItem(data, *pktsize);
30 | default:
31 | return NULL;
32 | }
33 | }
34 | catch(std::exception& e){
35 | std::cerr << "RsExampleSerialiser: deserialization error: " << e.what() << std::endl;
36 | return NULL;
37 | }
38 | }
39 |
40 |
41 |
42 |
43 | //EXAMPLE ITEM
44 | std::ostream& RsExampleItem::print(std::ostream &out, uint16_t indent)
45 | {
46 | printRsItemBase(out, "RsExampleItem", indent);
47 | uint16_t int_Indent = indent + 2;
48 | printIndent(out, int_Indent);
49 |
50 | out << "Message : " << m_msg << std::endl;
51 |
52 | printIndent(out, int_Indent);
53 | printRsItemEnd(out, "RsExampleItem", indent);
54 | return out;
55 | }
56 |
57 | uint32_t RsExampleItem::serial_size() const
58 | {
59 | uint32_t s = 8; /* header */
60 | s += m_msg.length() + HOLLERITH_LEN_SPEC; // strings need the length of the string + 32 bit to specify the length (Hollerith format)
61 |
62 | return s;
63 | }
64 |
65 | bool RsExampleItem::serialise(void *data, uint32_t& pktsize)
66 | {
67 | uint32_t tlvsize = serial_size() ;
68 |
69 | if (pktsize < tlvsize)
70 | return false; /* not enough space */
71 |
72 | pktsize = tlvsize;
73 |
74 | bool ok = true;
75 |
76 | ok &= setRsItemHeader(data, tlvsize, PacketId(), tlvsize);
77 |
78 | uint32_t offset = 8; // skip header
79 |
80 | ok &= setRawString( data, tlvsize, &offset, m_msg );
81 |
82 | if (offset != tlvsize){
83 | ok = false;
84 | std::cerr << "RsExampleItem::serialise() Size Error! " << std::endl;
85 | }
86 |
87 | return ok;
88 | }
89 |
90 | RsExampleItem::RsExampleItem(void *data, uint32_t pktsize)
91 | : RsItem( RS_PKT_VERSION_SERVICE,RS_SERVICE_TYPE_EXAMPLE_PLUGIN, EXAMPLE_ITEM )
92 | {
93 | /* get the type and size */
94 | uint32_t rstype = getRsItemId(data);
95 | uint32_t rssize = getRsItemSize(data);
96 |
97 | uint32_t offset = 8;
98 |
99 |
100 | if ((RS_PKT_VERSION_SERVICE != getRsItemVersion(rstype)) || (RS_SERVICE_TYPE_EXAMPLE_PLUGIN != getRsItemService(rstype)) || (EXAMPLE_ITEM != getRsItemSubType(rstype)))
101 | throw std::runtime_error("Wrong packet type!") ;
102 |
103 | if (pktsize < rssize) /* check size */
104 | throw std::runtime_error("Not enough size!") ;
105 |
106 | bool ok = true;
107 |
108 |
109 | ok &= getRawString(data, rssize, &offset, m_msg );
110 |
111 | if (offset != rssize || !ok )
112 | throw std::runtime_error("Deserialisation error!") ;
113 | }
114 |
115 |
116 |
--------------------------------------------------------------------------------
/JumpingCubePlugin.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 | #include
5 |
6 |
7 | #include "JumpingCubePlugin.h"
8 | //#include "LinksDialog.h"
9 | #include "topjcdialog.h"
10 |
11 | #include "p3ExampleRS.h"
12 | //static void *inited = new JumpingCubePlugin();
13 |
14 | //inited->rs_cache_service();
15 |
16 | extern "C" {
17 | void *RETROSHARE_PLUGIN_provide()
18 | {
19 | static JumpingCubePlugin *p = new JumpingCubePlugin() ;
20 |
21 | return (void*)p ;
22 | }
23 |
24 | // This symbol contains the svn revision number grabbed from the executable.
25 | // It will be tested by RS to load the plugin automatically, since it is safe to load plugins
26 | // with same revision numbers, assuming that the revision numbers are up-to-date.
27 | //
28 | uint32_t RETROSHARE_PLUGIN_revision = RS_REVISION_NUMBER ;
29 |
30 | // This symbol contains the svn revision number grabbed from the executable.
31 | // It will be tested by RS to load the plugin automatically, since it is safe to load plugins
32 | // with same revision numbers, assuming that the revision numbers are up-to-date.
33 | //
34 | uint32_t RETROSHARE_PLUGIN_api = RS_PLUGIN_API_VERSION ;
35 | }
36 |
37 | #define IMAGE_LINKS ":/images/dice.png"
38 |
39 | void JumpingCubePlugin::getPluginVersion(int& major, int& minor, int &build, int& svn_rev) const
40 | {
41 | major = RS_MAJOR_VERSION ;
42 | minor = RS_MINOR_VERSION ;
43 | build = RS_BUILD_NUMBER;
44 | svn_rev = RS_REVISION_NUMBER ;
45 | }
46 |
47 | JumpingCubePlugin::JumpingCubePlugin()
48 | {
49 | //mRanking = NULL ;
50 | mMsgque = new msgQue();
51 | tpage = new TopJCDialog();
52 | tpage->mMsgque = mMsgque;
53 | mainpage = NULL ;
54 | mIcon = NULL ;
55 | mPlugInHandler = NULL;
56 | mPeers = NULL;
57 | mFiles = NULL;
58 | mServiceP3 = NULL;
59 | }
60 |
61 | void JumpingCubePlugin::setInterfaces(RsPlugInInterfaces &interfaces){
62 |
63 | mPeers = interfaces.mPeers;
64 | mFiles = interfaces.mFiles;
65 | }
66 |
67 |
68 |
69 | MainPage *JumpingCubePlugin::qt_page() const
70 | {
71 | if(mainpage == NULL)
72 | mainpage = tpage;//new TopJCDialog();//mPeers, mFiles) ;
73 | return mainpage ;
74 | }
75 |
76 | RsCacheService *JumpingCubePlugin::rs_cache_service() const
77 | {
78 | /*if(mRanking == NULL)
79 | {
80 | mRanking = new p3Ranking(mPlugInHandler) ; // , 3600 * 24 * 30 * 6); // 6 Months
81 | rsRanks = mRanking ;
82 | }
83 |
84 | return mRanking ;*/
85 | return NULL;
86 | }
87 |
88 |
89 | RsPQIService * JumpingCubePlugin::rs_pqi_service() const
90 | {
91 | if(mServiceP3 == NULL){
92 | mServiceP3 = new p3ExampleRS(mPlugInHandler, mPeers , mMsgque) ;
93 | tpage->p3service = mServiceP3;
94 | }
95 |
96 | return mServiceP3 ;
97 | }
98 |
99 | void JumpingCubePlugin::setPlugInHandler(RsPluginHandler *pgHandler){
100 | mPlugInHandler = pgHandler;
101 |
102 | }
103 |
104 | QIcon *JumpingCubePlugin::qt_icon() const
105 | {
106 | if(mIcon == NULL)
107 | {
108 | Q_INIT_RESOURCE(JumpingCube_images) ;
109 |
110 | mIcon = new QIcon(IMAGE_LINKS) ;
111 | }
112 |
113 | return mIcon;
114 | }
115 |
116 | std::string JumpingCubePlugin::getShortPluginDescription() const
117 | {
118 | return "infosoon";//QApplication::translate("JumpingCubePlugin", "This plugin provides a set of cached links, and a voting system to promote them.").toUtf8().constData();
119 | }
120 |
121 | std::string JumpingCubePlugin::getPluginName() const
122 | {
123 | return "JumpingCube";//QApplication::translate("JumpingCubePlugin", "JumpingCube").toUtf8().constData();
124 | }
125 |
126 | QTranslator* JumpingCubePlugin::qt_translator(QApplication */*app*/, const QString& languageCode, const QString& externalDir) const
127 | {
128 | if (languageCode == "en") {
129 | return NULL;
130 | }
131 |
132 | QTranslator* translator = new QTranslator();
133 |
134 | if (translator->load(externalDir + "/JumpingCube_" + languageCode + ".qm")) {
135 | return translator;
136 | } else if (translator->load(":/lang/JumpingCube_" + languageCode + ".qm")) {
137 | return translator;
138 | }
139 |
140 | delete(translator);
141 | return NULL;
142 | }
143 |
--------------------------------------------------------------------------------
/p3ExampleRS.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | This file is part of the Zero Reserve Plugin for Retroshare.
3 |
4 | Zero Reserve is free software: you can redistribute it and/or modify
5 | it under the terms of the GNU Lesser General Public License as published by
6 | the Free Software Foundation, either version 3 of the License, or
7 | (at your option) any later version.
8 |
9 | Zero Reserve is distributed in the hope that it will be useful,
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | GNU Lesser General Public License for more details.
13 |
14 | You should have received a copy of the GNU Lesser General Public License
15 | along with Zero Reserve. If not, see .
16 | */
17 |
18 | #include "p3ExampleRS.h"
19 |
20 | #include "pqi/p3linkmgr.h"
21 |
22 | #include
23 | #include
24 | #include
25 | #include
26 | #include
27 |
28 |
29 |
30 | // after getting data from 3 peers, we believe we're complete
31 | static const int INIT_THRESHOLD = 3;
32 |
33 | p3ExampleRS::p3ExampleRS(RsPluginHandler *pgHandler, RsPeers* peers, msgQue *msgin ) :
34 | RsPQIService( RS_SERVICE_TYPE_EXAMPLE_PLUGIN, CONFIG_TYPE_EXAMPLE_PLUGIN, pgHandler ),
35 |
36 | m_peers(peers)
37 | {
38 | addSerialType(new RsExampleSerialiser());
39 |
40 | //pgHandler->getLinkMgr()->addMonitor( this );
41 | mMsgque = msgin;
42 | //tjd = tjdin;
43 | //tjd->p3service = this;
44 | }
45 |
46 | void p3ExampleRS::msgPeer(std::string peerId, std::string msg){//, std::string message){
47 | RsExampleItem * item = new RsExampleItem();
48 | item->PeerId( RsPeerId(peerId) );
49 | item->setMessage(msg);
50 | //item->m_msg = "hoozah!!";
51 | sendItem( item );
52 | }
53 | void p3ExampleRS::msgPeerXY(std::string peerId, int x, int y){//, std::string message){
54 | /*RsMouseEvent * item = new RsMouseEvent();
55 | item->PeerId( peerId );
56 | item->x = x;
57 | item->y = y;
58 | sendItem( item );*/
59 | std::stringstream ss;
60 | ss << "DATA " << x << " " <PeerId( RsPeerId(peerId) );
75 | item->setMessage(msg);
76 | sendItem( item );
77 | }
78 | void p3ExampleRS::msgPeerXYT(std::string peerId, int x, int y, std::string msgtype){
79 | std::stringstream ss;
80 | ss << msgtype<< " " << x << " " <loginfo->append(info.data());
92 | std::cout << "Would send data here" << std::endl;
93 | }
94 |
95 | void p3ExampleRS::statusChange(const std::list< pqipeer > &plist)
96 | {
97 | std::cerr << "Example: Status changed:" << std::endl;
98 |
99 | for (std::list< pqipeer >::const_iterator peerIt = plist.begin(); peerIt != plist.end(); peerIt++ ){
100 | if( RS_PEER_CONNECTED & (*peerIt).actions ){
101 | RsExampleItem * item = new RsExampleItem();
102 | item->PeerId( (*peerIt).id );
103 | std::stringstream ss;
104 | ss << "INIT " << "please";
105 | //std::string msg = ss.str();
106 | item->setMessage(ss.str());
107 | sendItem( item );
108 | //tjd->addPeerItem((*peerIt).id);
109 | //tjd->addPeerItem()
110 | }
111 | }
112 | }
113 |
114 |
115 | RsServiceInfo p3ExampleRS::getServiceInfo()
116 | {
117 | const std::string TURTLE_APP_NAME = "VOIP";
118 | const uint16_t TURTLE_APP_MAJOR_VERSION = 1;
119 | const uint16_t TURTLE_APP_MINOR_VERSION = 0;
120 | const uint16_t TURTLE_MIN_MAJOR_VERSION = 1;
121 | const uint16_t TURTLE_MIN_MINOR_VERSION = 0;
122 |
123 | return RsServiceInfo(RS_SERVICE_TYPE_EXAMPLE_PLUGIN,
124 | TURTLE_APP_NAME,
125 | TURTLE_APP_MAJOR_VERSION,
126 | TURTLE_APP_MINOR_VERSION,
127 | TURTLE_MIN_MAJOR_VERSION,
128 | TURTLE_MIN_MINOR_VERSION);
129 | }
130 |
131 |
132 | int p3ExampleRS::tick()
133 | {
134 | RsItem *item = NULL;
135 | while(NULL != (item = recvItem())){
136 | switch( item->PacketSubType() )
137 | {
138 | case RsExampleItem::EXAMPLE_ITEM:
139 | handleExampleItem( dynamic_cast( item ) );
140 | break;
141 | default:
142 | std::cerr << "Example: Received Item unknown" << std::endl;
143 | }
144 | delete item;
145 | }
146 | return 0;
147 | }
148 |
149 |
150 | void p3ExampleRS::handleExampleItem( RsExampleItem * item )
151 | {
152 | std::string msg = item->getMessage();
153 | mMsgque->storeMsg(item);
154 | /*std::cerr << item->PeerId() << " said: " << msg << std::endl;
155 | //msgque
156 | std::cerr << msg.substr(0,4) << std::endl;
157 | if (msg.substr(0,4).compare("DATA")==0){
158 | //DATA mx=75 my=127
159 | // tokeniser from http://stackoverflow.com/questions/236129/how-to-split-a-string-in-c
160 | std::istringstream iss(msg);
161 | std::vector tokens;
162 | copy(std::istream_iterator(iss),
163 | std::istream_iterator(),
164 | std::back_inserter >(tokens));
165 | std::string xstr = tokens.at(1);
166 | int x = atoi(xstr.c_str());
167 | std::string ystr = tokens.at(2);
168 | int y = atoi(ystr.c_str());
169 | std::cout << "CONVERTEDNUMS: " << x << y << std::endl;
170 | //tjd->paintWAt(x,y);
171 | }else{
172 | //tjd->addLogInfo(item->PeerId());
173 | //tjd->addLogInfo(item->getMessage());
174 | }
175 | //item->RS_PKT_SUBTYPE*/
176 | }
177 |
178 |
179 |
--------------------------------------------------------------------------------
/topjcdialog.ui:
--------------------------------------------------------------------------------
1 |
2 |
3 | TopJCDialog
4 |
5 |
6 |
7 | 0
8 | 0
9 | 818
10 | 659
11 |
12 |
13 |
14 | Form
15 |
16 |
17 |
18 |
19 | 10
20 | 340
21 | 600
22 | 300
23 |
24 |
25 |
26 |
27 |
28 |
29 | 610
30 | 60
31 | 191
32 | 191
33 |
34 |
35 |
36 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
37 | <html><head><meta name="qrichtext" content="1" /><style type="text/css">
38 | p, li { white-space: pre-wrap; }
39 | </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
40 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Data dump:</p>
41 | <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html>
42 |
43 |
44 |
45 |
46 |
47 | 10
48 | 60
49 | 256
50 | 192
51 |
52 |
53 |
54 |
55 |
56 |
57 | 270
58 | 250
59 | 251
60 | 61
61 |
62 |
63 |
64 |
65 |
66 |
67 | 520
68 | 270
69 | 81
70 | 23
71 |
72 |
73 |
74 | Send
75 |
76 |
77 |
78 |
79 |
80 | 265
81 | 61
82 | 341
83 | 191
84 |
85 |
86 |
87 |
88 |
89 |
90 | 40
91 | 260
92 | 99
93 | 24
94 |
95 |
96 |
97 | Play Game
98 |
99 |
100 |
101 |
102 |
103 | 610
104 | 340
105 | 23
106 | 160
107 |
108 |
109 |
110 | 255
111 |
112 |
113 | Qt::Vertical
114 |
115 |
116 |
117 |
118 |
119 | 630
120 | 340
121 | 23
122 | 160
123 |
124 |
125 |
126 | 255
127 |
128 |
129 | Qt::Vertical
130 |
131 |
132 |
133 |
134 |
135 | 650
136 | 340
137 | 23
138 | 160
139 |
140 |
141 |
142 | 255
143 |
144 |
145 | Qt::Vertical
146 |
147 |
148 |
149 |
150 |
151 | 460
152 | 310
153 | 160
154 | 23
155 |
156 |
157 |
158 | 1
159 |
160 |
161 | 50
162 |
163 |
164 | 10
165 |
166 |
167 | Qt::Horizontal
168 |
169 |
170 |
171 |
172 |
173 | 680
174 | 340
175 | 23
176 | 160
177 |
178 |
179 |
180 | 255
181 |
182 |
183 | 200
184 |
185 |
186 | Qt::Vertical
187 |
188 |
189 |
190 |
191 |
192 | 420
193 | 320
194 | 41
195 | 16
196 |
197 |
198 |
199 | Width
200 |
201 |
202 |
203 |
204 |
205 | 620
206 | 500
207 | 71
208 | 16
209 |
210 |
211 |
212 | R G B A
213 |
214 |
215 |
216 |
217 |
218 | 610
219 | 520
220 | 120
221 | 80
222 |
223 |
224 |
225 | true
226 |
227 |
228 |
229 |
230 |
231 | PaintWidget
232 | QWidget
233 |
234 | 1
235 |
236 |
237 |
238 |
239 |
240 |
--------------------------------------------------------------------------------
/jumpingcubewindow.cpp:
--------------------------------------------------------------------------------
1 | #include "jumpingcubewindow.h"
2 | #include "ui_jumpingcubewindow.h"
3 |
4 |
5 | #include
6 | #include
7 |
8 | #include
9 | #include
10 | #include
11 | #include
12 | #include
13 |
14 |
15 | JumpingCubeWindow::JumpingCubeWindow(QWidget *parent) :
16 | QMainWindow(parent),
17 | ui(new Ui::JumpingCubeWindow)
18 | {
19 | ui->setupUi(this);
20 | //ui->gameDisplay->
21 | currentplayer = 0;
22 | boardWidth = 8;
23 | boardHeight = 8;
24 |
25 | board = new int*[boardWidth];
26 | for (int i = 0; i < boardWidth; ++i) {
27 | board[i] = new int[boardHeight];
28 | for (int j = 0; j < boardHeight; ++j) {
29 | board[i][j] = getNumSides(i,j);
30 | }
31 | }
32 |
33 |
34 | boardOwner = new int*[boardWidth];
35 | for (int i = 0; i < boardWidth; ++i) {
36 | boardOwner[i] = new int[boardHeight];
37 | for (int j = 0; j < boardHeight; ++j) {
38 | boardOwner[i][j] = -1;
39 | }
40 | }
41 |
42 |
43 | timer=new QTimer(this);
44 | connect(timer,SIGNAL(timeout()),SLOT(on_timer()));
45 | timer->start(500);
46 |
47 | exploding = false;
48 |
49 | }
50 |
51 | void JumpingCubeWindow::on_timer(){
52 | if (exploding){
53 | exploding = checkExplosions();
54 | if (exploding)update();
55 | }
56 | }
57 |
58 |
59 | void JumpingCubeWindow::paintEvent(QPaintEvent *e)
60 | {
61 | Q_UNUSED(e);
62 | QPainter qp(this);
63 | drawLines(&qp);
64 | }
65 |
66 | /*!
67 | * \brief JumpingCubeWindow::remoteClick function to send external input to the game board
68 | * \param x X as board position
69 | * \param y Y as board position
70 | */
71 | void JumpingCubeWindow::remoteClick(int x, int y)
72 | {
73 | if (exploding)return;
74 | int player = 0;
75 | if(myid==0)player=1;
76 | if (player != currentplayer)return;
77 | if (boardOwner[x][y] != -1 && player != boardOwner[x][y]) return;
78 | idClick(x,y, player);
79 |
80 | }
81 |
82 | void JumpingCubeWindow::mousePressEvent(QMouseEvent *e){
83 | if (exploding)return;
84 | int player = myid;
85 | if (player != currentplayer)return;
86 | int winWidth = this->size().rwidth();
87 | int winHeight = this->size().rheight();
88 | float cellwidth = winWidth/boardWidth;
89 | float cellheight = winHeight/boardHeight;
90 | int x = e->pos().x();
91 | int y =e->pos().y();
92 | x/=cellwidth;
93 | y/=cellheight;
94 | //TODO send packet here
95 | std::cerr << "got a mpe\n";
96 | if (boardOwner[x][y] != -1 && player != boardOwner[x][y]) return;
97 | emit mClick(x,y);
98 | idClick(x,y, player);
99 | }
100 |
101 | void JumpingCubeWindow::idClick(int x, int y, int player){
102 | boardOwner[x][y] = player;
103 | board[x][y]-=1;
104 |
105 | exploding = true;
106 | currentplayer++;
107 | if (currentplayer>1)currentplayer = 0;
108 |
109 | update();
110 | }
111 |
112 |
113 | bool JumpingCubeWindow::checkExplosions()
114 | {
115 | bool exploded = false;
116 | for (int x=0;xsetPen(pen);
151 | //qp->drawLine(20, 40, 250, 40);
152 | int winWidth = this->size().rwidth();
153 | int winHeight = this->size().rheight();
154 | float cellwidth = winWidth/boardWidth;
155 | float cellheight = winHeight/boardHeight;
156 |
157 | for (int x=0;xdrawLine(xp, 0, xp, winHeight);
160 | }
161 | for (int y=0;ydrawLine(0, yp, winWidth, yp);
164 | }
165 | for (int x=0;xsetPen(rpen);
171 | else if (boardOwner[x][y] == 1)qp->setPen(gpen);
172 | if (board[x][y] == getNumSides(x,y) and false)
173 | qp->drawRect(xp+cellwidth/2-drawRad/2, yp+cellheight/2-drawRad/2, drawRad, drawRad);
174 | else {
175 | if (board[x][y] %2 == 0)
176 | qp->drawRect( xp+cellwidth/2-drawRad/2, yp+cellheight/2-drawRad/2, drawRad, drawRad);
177 | else
178 | qp->drawEllipse(xp+cellwidth/2-drawRad/2, yp+cellheight/2-drawRad/2, drawRad, drawRad);
179 | //else
180 | // qp->drawEllipse(xp+cellwidth/2-drawRad/2, yp+cellheight/2-drawRad/2, drawRad, drawRad);
181 | }
182 | std::stringstream ss;
183 | ss << boardOwner[x][y];
184 | qp->drawText(xp,yp,ss.str().data());
185 | qp->setPen(pen);
186 | }
187 | }
188 |
189 |
190 | /*
191 |
192 | pen.setStyle(Qt::DashLine);
193 | qp->setPen(pen);
194 | qp->drawLine(20, 80, 250, 80);
195 |
196 | pen.setStyle(Qt::DashDotLine);
197 | qp->setPen(pen);
198 | qp->drawLine(20, 120, 250, 120);
199 |
200 | pen.setStyle(Qt::DotLine);
201 | qp->setPen(pen);
202 | qp->drawLine(20, 160, 250, 160);
203 |
204 | pen.setStyle(Qt::DashDotDotLine);
205 | qp->setPen(pen);
206 | qp->drawLine(20, 200, 250, 200);
207 |
208 | QVector dashes;
209 | qreal space = 4;
210 |
211 | dashes << 1 << space << 5 << space;
212 |
213 | pen.setStyle(Qt::CustomDashLine);
214 | pen.setDashPattern(dashes);
215 | qp->setPen(pen);
216 | qp->drawLine(20, 240, 250, 240);
217 | */
218 | }
219 |
220 | JumpingCubeWindow::~JumpingCubeWindow()
221 | {
222 | delete ui;
223 | }
224 |
225 | int JumpingCubeWindow::getNumSides(int x, int y)
226 | {
227 | int sides = 0;
228 | if (x!=0)sides++;
229 | if (x!=boardWidth-1)sides++;
230 | if (y!=0)sides++;
231 | if (y!=boardHeight-1)sides++;
232 | return sides;
233 | }
234 |
--------------------------------------------------------------------------------
/topjcdialog.cpp:
--------------------------------------------------------------------------------
1 | #include "topjcdialog.h"
2 | #include "ui_topjcdialog.h"
3 | #include "p3ExampleRS.h"
4 | //#include "msgQue.h"
5 |
6 |
7 | #include
8 | #include
9 | #include
10 | #include
11 | #include
12 |
13 | /** Constructor
14 | LinksDialog::LinksDialog(RsPeers *peers, RsFiles *files, QWidget *parent)
15 | : MainPage(parent), mPeers(peers), mFiles(files)
16 | {
17 |
18 | }**/
19 |
20 |
21 | TopJCDialog::TopJCDialog(QWidget *parent) :
22 | MainPage(parent),
23 | ui(new Ui::TopJCDialog)
24 | {
25 | ui->setupUi(this);
26 | ui->loginfo->append("\nasd\n");
27 | //p3ExampleRS *p3service = NULL;
28 | ui->paintWidget->tjd = this;
29 |
30 | connect(ui->okButton, SIGNAL(clicked()), this, SLOT(okClicked()));
31 | connect(ui->playGameButton, SIGNAL(clicked()), this, SLOT(playClicked()));
32 | connect(ui->rSlider, SIGNAL(sliderMoved(int)), this, SLOT(onBrushUIChange()));
33 | connect(ui->gSlider, SIGNAL(sliderMoved(int)), this, SLOT(onBrushUIChange()));
34 | connect(ui->bSlider, SIGNAL(sliderMoved(int)), this, SLOT(onBrushUIChange()));
35 | connect(ui->aSlider, SIGNAL(sliderMoved(int)), this, SLOT(onBrushUIChange()));
36 | connect(ui->wSlider, SIGNAL(sliderMoved(int)), this, SLOT(onBrushUIChange()));
37 | //connect(ui->paintWidget, SIGNAL(mouseMoveEvent()), this, SLOT(paintMouseMove()));
38 | //connect(ui->drawingArea, SIGNAL(mouseMoveEvent()), this, SLOT(paintMouseMove()));
39 |
40 | timer=new QTimer(this);
41 | connect(timer,SIGNAL(timeout()),SLOT(on_timer()));
42 | timer->start(500);
43 |
44 | jcw = NULL;
45 |
46 |
47 | }
48 |
49 | TopJCDialog::~TopJCDialog()
50 | {
51 | delete ui;
52 | }
53 |
54 | void TopJCDialog::paintWAt(int x, int y){
55 | ui->paintWidget->paintAt(x,y);
56 | }
57 |
58 |
59 | void TopJCDialog::on_timer(){
60 |
61 | std::vector *msges = mMsgque->getMsgList();
62 | std::vector msgs = *msges;
63 |
64 |
65 | for(uint y=0; y tokenize(std::string msg){
73 | std::istringstream iss(msg);
74 | std::vector tokens;
75 | copy(std::istream_iterator(iss),
76 | std::istream_iterator(),
77 | std::back_inserter >(tokens));
78 | return tokens;
79 | }
80 |
81 | void TopJCDialog::handleExampleItem( RsExampleItem * item )
82 | {
83 | std::string msg = item->getMessage();
84 | std::cerr << item->PeerId() << " said: " << msg << std::endl;
85 | //msgque
86 | std::cerr << msg.substr(0,4) << std::endl;
87 | if (msg.substr(0,4).compare("DATA")==0){
88 | //DATA mx=75 my=127
89 | // tokeniser from http://stackoverflow.com/questions/236129/how-to-split-a-string-in-c
90 | //std::istringstream iss(msg);
91 | std::cerr << "tokenising" << std::endl;
92 | std::vector tokens = tokenize(msg);
93 | /*copy(std::istream_iterator(iss),
94 | std::istream_iterator(),
95 | std::back_inserter >(tokens));*/
96 | std::string xstr = tokens.at(1);
97 | int x = atoi(xstr.c_str());
98 | std::string ystr = tokens.at(2);
99 | int y = atoi(ystr.c_str());
100 | std::cerr << "CONVERTEDNUMS: " << x << y << std::endl;
101 | paintWAt(x,y);
102 | }else if (msg.substr(0,4).compare("BRSH")==0){
103 | std::cerr << "tokenising" << std::endl;
104 | std::vector tokens = tokenize(msg);
105 | int w = atoi(tokens.at(1).c_str());
106 | int r = atoi(tokens.at(2).c_str());
107 | int g = atoi(tokens.at(3).c_str());
108 | int b = atoi(tokens.at(4).c_str());
109 | int a = atoi(tokens.at(5).c_str());
110 | ui->paintWidget->color.setRgb(r,g,b,a);
111 | ui->paintWidget->penWidth=(w);
112 |
113 | ui->wSlider->setValue(w);
114 | ui->rSlider->setValue(r);
115 | ui->gSlider->setValue(g);
116 | ui->bSlider->setValue(b);
117 | ui->aSlider->setValue(a);
118 | QPalette pal = ui->previewCol->palette();
119 | pal.setColor(ui->previewCol->backgroundRole(), ui->paintWidget->color);
120 | ui->previewCol->setPalette(pal);
121 | }else if (msg.substr(0,4).compare("INIT")==0){
122 | addPeerItem(item->PeerId());
123 | }else if (msg.substr(0,4).compare("CHAT")==0){
124 | ui->chatWindow->append(item->PeerId().toStdString().data());
125 | ui->chatWindow->append( rsPeers->getPeerName(item->PeerId()).c_str() );
126 | ui->chatWindow->append(" says:");
127 | msg = msg.erase(0,5);
128 | ui->chatWindow->append(msg.data());
129 | ui->chatWindow->append("");
130 | }else if (msg.substr(0,4).compare("JCGM")==0){
131 | JumpingCubeWindow* jc = new JumpingCubeWindow(this);
132 | jc->myid = 0;
133 | std::string peerid = item->PeerId().toStdString();
134 | jc->peerid = peerid;
135 | jc->show();
136 | jcw = jc;
137 | connect(jc, SIGNAL(mClick(int, int)), this, SLOT(sendMClick(int, int)));
138 | }else if (msg.substr(0,4).compare("JCPR")==0){
139 | std::vector tokens = tokenize(msg);
140 | std::string xstr = tokens.at(1);
141 | int x = atoi(xstr.c_str());
142 | std::string ystr = tokens.at(2);
143 | int y = atoi(ystr.c_str());
144 | std::cout << "CONVERTEDNUMS: " << x << y << std::endl;
145 | jcw->remoteClick(x,y);
146 | //emit incomingRemoteClick(2,2);
147 | }else{
148 | addLogInfo("unknown message from:");
149 | addLogInfo(item->PeerId().toStdString());
150 | addLogInfo(item->getMessage());
151 | }
152 | //item->RS_PKT_SUBTYPE
153 | }
154 |
155 |
156 | void TopJCDialog::paintMouseMove(QMouseEvent *event){
157 | std::cout << "inpaintslot" << std::endl;
158 | int x = event->x();
159 | int y = event->y();
160 | std::cout << x;
161 |
162 | if (ui->onlinePeerView->currentItem() == NULL){
163 | ui->loginfo->append("\nNothing selected, so returning \n");
164 | return;
165 | }
166 | std::string peerid = ui->onlinePeerView->currentItem()->data(Qt::UserRole).toString().toStdString();
167 | p3service->msgPeerXY(peerid, x,y);
168 | }
169 |
170 | void TopJCDialog::sendMClick(int x, int y){
171 | std::cerr << "SENDING MESSAGE FROM CLICK";
172 | std::string peerid = jcw->peerid;//#ui->onlinePeerView->currentItem()->text().toStdString();
173 | p3service->msgPeerXYT(peerid, x,y,"JCPR");
174 | }
175 |
176 | void TopJCDialog::onBrushUIChange()
177 | {
178 | std::cerr << "\nBrush Change\n\n";
179 | int w = ui->wSlider->value();
180 | int r = ui->rSlider->value();
181 | int g = ui->gSlider->value();
182 | int b = ui->bSlider->value();
183 | int a = ui->aSlider->value();
184 | ui->paintWidget->color.setRgb(r,g,b,a);
185 | ui->paintWidget->penWidth=(w);
186 |
187 | QPalette pal = ui->previewCol->palette();
188 | pal.setColor(ui->previewCol->backgroundRole(), ui->paintWidget->color);
189 | ui->previewCol->setPalette(pal);
190 |
191 | if (ui->onlinePeerView->currentItem() == NULL){
192 | ui->loginfo->append("\nNothing selected, so not sending brush \n");
193 | return;
194 | }
195 | std::string peerid = ui->onlinePeerView->currentItem()->data(Qt::UserRole).toString().toStdString();
196 | p3service->msgPeerBrush(peerid,w,r,g,b,a);
197 |
198 | }
199 |
200 | void TopJCDialog::okClicked(){
201 | std::cout << "OKClicked" <loginfo->append("\n OK Clicked! \n");
203 | ui->chatWindow->append( "you say:");
204 | ui->chatWindow->append(ui->inputText->toPlainText().toStdString().data());
205 | //p3service = p3servicein;
206 | //std::cout << "ITEM SELECTED IS: " << ui->onlinePeerView << std::endl;
207 | //ui->loginfo->append(ui->onlinePeerView->item(0)->text());
208 | if (ui->onlinePeerView->currentItem() == NULL){
209 | ui->chatWindow->append("To no-one - select a peer on the left");
210 | ui->loginfo->append("Nothing selected, so returning");
211 | ui->chatWindow->append("");
212 | return;
213 | }
214 | ui->loginfo->append(ui->onlinePeerView->currentItem()->text());
215 | //p3service->testit();
216 | std::string msg = "CHAT ";
217 | msg.append(ui->inputText->toPlainText().toStdString());
218 | ui->chatWindow->append("");
219 | std::string peerid = ui->onlinePeerView->currentItem()->data(Qt::UserRole).toString().toStdString();
220 | p3service->msgPeer(peerid, msg);
221 | }
222 |
223 |
224 | void TopJCDialog::playClicked(){
225 | std::cout << "Play Clicked" <loginfo->append("Play Clicked!");
227 | if (ui->onlinePeerView->currentItem() == NULL){
228 | ui->chatWindow->append("select a peer on the left");
229 | ui->loginfo->append("Nothing selected, so returning");
230 | ui->chatWindow->append("");
231 | return;
232 | }
233 | JumpingCubeWindow* jc = new JumpingCubeWindow(this);
234 | jc->myid = 1;
235 | std::string peerid = ui->onlinePeerView->currentItem()->data(Qt::UserRole).toString().toStdString();
236 | jc->peerid = peerid;
237 | jc->show();
238 | jcw = jc;
239 | connect(jc, SIGNAL(mClick(int, int)), this, SLOT(sendMClick(int, int)));
240 |
241 |
242 | std::string msg = "JCGM please";
243 | p3service->msgPeer(peerid, msg);
244 | }
245 |
246 |
247 | //QPushButton TopJCDialog::getOKButton(){
248 | // return ui->okButton;
249 | //std::cerr << "passing: " << info.data() << std::endl;
250 | //ui->loginfo->append(info.data());
251 | //}
252 |
253 | bool TopJCDialog::addLogInfo(const std::string &info){
254 | std::cerr << "passing: " << info.data() << std::endl;
255 | ui->loginfo->append(info.data());
256 | return true;
257 | }
258 | bool TopJCDialog::addPeerItem(const RsPeerId &info){
259 | //std::cerr << "passing: " << info.data() << std::endl;
260 | //ui->loginfo->append(info.data());
261 | QListWidgetItem *peer = new QListWidgetItem();
262 | peer->setData(Qt::UserRole, info.toStdString().data());
263 | //std::cout << "\n\n\n\n\npeername\n" << rsPeers->getPeerName(info.data()).c_str() << "\n\n\n\n\n\n";
264 | peer->setText(rsPeers->getPeerName(info).c_str());
265 | ui->onlinePeerView->addItem(peer);
266 | //ui->onlinePeerView->addItem(info.data());
267 | //if (ui->onlinePeerView->count() == 1)ui->onlinePeerView->selectAll();
268 | return true;
269 | }
270 |
271 |
272 |
--------------------------------------------------------------------------------
/lang/JumpingCube_da.ts:
--------------------------------------------------------------------------------
1 |
2 |
3 | AddLinksDialog
4 |
5 |
6 |
7 | Add Link
8 |
9 |
10 |
11 |
12 | Cancel
13 | Annuller
14 |
15 |
16 |
17 | Add a new Link
18 |
19 |
20 |
21 |
22 | Title:
23 |
24 |
25 |
26 |
27 | Url:
28 |
29 |
30 |
31 |
32 | Add Anonymous Link
33 |
34 |
35 |
36 |
37 | +2 Great!
38 |
39 |
40 |
41 |
42 | +1 Good
43 |
44 |
45 |
46 |
47 | 0 Okay
48 |
49 |
50 |
51 |
52 | -1 Sux
53 |
54 |
55 |
56 |
57 | -2 Bad Link
58 |
59 |
60 |
61 |
62 | Add Link to Cloud
63 |
64 |
65 |
66 |
67 | New Link
68 |
69 |
70 |
71 |
72 | Add Link Failure
73 |
74 |
75 |
76 |
77 | Missing Link and/or Title
78 |
79 |
80 |
81 |
82 | LinksCloudPlugin
83 |
84 |
85 | This plugin provides a set of cached links, and a voting system to promote them.
86 |
87 |
88 |
89 |
90 | LinksCloud
91 |
92 |
93 |
94 |
95 | LinksDialog
96 |
97 |
98 | Title / Comment
99 |
100 |
101 |
102 |
103 | Score
104 |
105 |
106 |
107 |
108 | Peer / Link
109 |
110 |
111 |
112 |
113 | Sort by
114 |
115 |
116 |
117 |
118 | Combo
119 |
120 |
121 |
122 |
123 | Time
124 |
125 |
126 |
127 |
128 | Ranking
129 |
130 |
131 |
132 |
133 | In last
134 |
135 |
136 |
137 |
138 | Month
139 |
140 |
141 |
142 |
143 | Week
144 |
145 |
146 |
147 |
148 | Day
149 |
150 |
151 |
152 |
153 | From
154 |
155 |
156 |
157 |
158 | All Peers
159 |
160 |
161 |
162 |
163 | Own Links
164 |
165 |
166 |
167 |
168 | Show
169 |
170 |
171 |
172 |
173 | Top 100
174 |
175 |
176 |
177 |
178 | 101-200
179 |
180 |
181 |
182 |
183 | 201-300
184 |
185 |
186 |
187 |
188 | 301-400
189 |
190 |
191 |
192 |
193 | 401-500
194 |
195 |
196 |
197 |
198 | Bottom 100
199 |
200 |
201 |
202 |
203 | Link:
204 |
205 |
206 |
207 |
208 | Add Anonymous Link
209 |
210 |
211 |
212 |
213 | Add Link/Comment
214 |
215 |
216 |
217 |
218 | Title:
219 |
220 |
221 |
222 |
223 | Score:
224 |
225 |
226 |
227 |
228 |
229 | +2 Great!
230 |
231 |
232 |
233 |
234 |
235 | +1 Good
236 |
237 |
238 |
239 |
240 |
241 | 0 Okay
242 |
243 |
244 |
245 |
246 |
247 | -1 Sux
248 |
249 |
250 |
251 |
252 |
253 | -2 Bad Link
254 |
255 |
256 |
257 |
258 | Url:
259 |
260 |
261 |
262 |
263 | Links Cloud
264 |
265 |
266 |
267 |
268 | Add new link
269 |
270 |
271 |
272 |
273 | Share Link Anonymously
274 |
275 |
276 |
277 |
278 | Vote on Link
279 |
280 |
281 |
282 |
283 | Download
284 |
285 |
286 |
287 |
288 |
289 |
290 | Add Link Failure
291 |
292 |
293 |
294 |
295 | Missing Link and/or Title
296 |
297 |
298 |
299 |
300 | Missing Link Data
301 |
302 |
303 |
304 |
305 | Missing Comment
306 |
307 |
308 |
309 |
310 | Link Title Not Changed
311 |
312 |
313 |
314 |
315 | Do you want to continue?
316 |
317 |
318 |
319 |
320 | Expand
321 |
322 |
323 |
324 |
325 | Hide
326 |
327 |
328 |
329 |
--------------------------------------------------------------------------------
/lang/JumpingCube_ja_JP.ts:
--------------------------------------------------------------------------------
1 |
2 |
3 | AddLinksDialog
4 |
5 |
6 |
7 | Add Link
8 |
9 |
10 |
11 |
12 | Cancel
13 | キャンセル
14 |
15 |
16 |
17 | Add a new Link
18 |
19 |
20 |
21 |
22 | Title:
23 |
24 |
25 |
26 |
27 | Url:
28 |
29 |
30 |
31 |
32 | Add Anonymous Link
33 |
34 |
35 |
36 |
37 | +2 Great!
38 |
39 |
40 |
41 |
42 | +1 Good
43 |
44 |
45 |
46 |
47 | 0 Okay
48 |
49 |
50 |
51 |
52 | -1 Sux
53 |
54 |
55 |
56 |
57 | -2 Bad Link
58 |
59 |
60 |
61 |
62 | Add Link to Cloud
63 |
64 |
65 |
66 |
67 | New Link
68 |
69 |
70 |
71 |
72 | Add Link Failure
73 |
74 |
75 |
76 |
77 | Missing Link and/or Title
78 |
79 |
80 |
81 |
82 | LinksCloudPlugin
83 |
84 |
85 | This plugin provides a set of cached links, and a voting system to promote them.
86 |
87 |
88 |
89 |
90 | LinksCloud
91 |
92 |
93 |
94 |
95 | LinksDialog
96 |
97 |
98 | Title / Comment
99 |
100 |
101 |
102 |
103 | Score
104 |
105 |
106 |
107 |
108 | Peer / Link
109 |
110 |
111 |
112 |
113 | Sort by
114 |
115 |
116 |
117 |
118 | Combo
119 |
120 |
121 |
122 |
123 | Time
124 |
125 |
126 |
127 |
128 | Ranking
129 |
130 |
131 |
132 |
133 | In last
134 |
135 |
136 |
137 |
138 | Month
139 |
140 |
141 |
142 |
143 | Week
144 |
145 |
146 |
147 |
148 | Day
149 |
150 |
151 |
152 |
153 | From
154 |
155 |
156 |
157 |
158 | All Peers
159 |
160 |
161 |
162 |
163 | Own Links
164 |
165 |
166 |
167 |
168 | Show
169 |
170 |
171 |
172 |
173 | Top 100
174 |
175 |
176 |
177 |
178 | 101-200
179 |
180 |
181 |
182 |
183 | 201-300
184 |
185 |
186 |
187 |
188 | 301-400
189 |
190 |
191 |
192 |
193 | 401-500
194 |
195 |
196 |
197 |
198 | Bottom 100
199 |
200 |
201 |
202 |
203 | Link:
204 |
205 |
206 |
207 |
208 | Add Anonymous Link
209 |
210 |
211 |
212 |
213 | Add Link/Comment
214 |
215 |
216 |
217 |
218 | Title:
219 |
220 |
221 |
222 |
223 | Score:
224 |
225 |
226 |
227 |
228 |
229 | +2 Great!
230 |
231 |
232 |
233 |
234 |
235 | +1 Good
236 |
237 |
238 |
239 |
240 |
241 | 0 Okay
242 |
243 |
244 |
245 |
246 |
247 | -1 Sux
248 |
249 |
250 |
251 |
252 |
253 | -2 Bad Link
254 |
255 |
256 |
257 |
258 | Url:
259 |
260 |
261 |
262 |
263 | Links Cloud
264 |
265 |
266 |
267 |
268 | Add new link
269 |
270 |
271 |
272 |
273 | Share Link Anonymously
274 |
275 |
276 |
277 |
278 | Vote on Link
279 |
280 |
281 |
282 |
283 | Download
284 | ダウンロード
285 |
286 |
287 |
288 |
289 |
290 | Add Link Failure
291 |
292 |
293 |
294 |
295 | Missing Link and/or Title
296 |
297 |
298 |
299 |
300 | Missing Link Data
301 |
302 |
303 |
304 |
305 | Missing Comment
306 |
307 |
308 |
309 |
310 | Link Title Not Changed
311 |
312 |
313 |
314 |
315 | Do you want to continue?
316 |
317 |
318 |
319 |
320 | Expand
321 | 展開
322 |
323 |
324 |
325 | Hide
326 | 非表示
327 |
328 |
329 |
--------------------------------------------------------------------------------
/lang/JumpingCube_zh_CN.ts:
--------------------------------------------------------------------------------
1 |
2 |
3 | AddLinksDialog
4 |
5 |
6 |
7 | Add Link
8 | 添加链接
9 |
10 |
11 |
12 | Cancel
13 | 取消
14 |
15 |
16 |
17 | Add a new Link
18 | 添加一个新的链接
19 |
20 |
21 |
22 | Title:
23 | 标题:
24 |
25 |
26 |
27 | Url:
28 | 网址:
29 |
30 |
31 |
32 | Add Anonymous Link
33 | 添加匿名链接
34 |
35 |
36 |
37 | +2 Great!
38 | +2 真棒!
39 |
40 |
41 |
42 | +1 Good
43 | +1 不错
44 |
45 |
46 |
47 | 0 Okay
48 | 0 还行
49 |
50 |
51 |
52 | -1 Sux
53 | -1 差
54 |
55 |
56 |
57 | -2 Bad Link
58 | -2 很差
59 |
60 |
61 |
62 | Add Link to Cloud
63 | 添加链接到云端
64 |
65 |
66 |
67 | New Link
68 | 新链接
69 |
70 |
71 |
72 | Add Link Failure
73 | 添加链接失败
74 |
75 |
76 |
77 | Missing Link and/or Title
78 | 丢失链接和(或)标题
79 |
80 |
81 |
82 | LinksCloudPlugin
83 |
84 |
85 | This plugin provides a set of cached links, and a voting system to promote them.
86 | 这个插件提供一些缓存链接,和一个给这些链接评分的投票系统。
87 |
88 |
89 |
90 | LinksCloud
91 | LinksCloud
92 |
93 |
94 |
95 | LinksDialog
96 |
97 |
98 | Title / Comment
99 | 标题/评论
100 |
101 |
102 |
103 | Score
104 | 得分
105 |
106 |
107 |
108 | Peer / Link
109 | 节点 / 链接
110 |
111 |
112 |
113 | Sort by
114 | 排序方式
115 |
116 |
117 |
118 | Combo
119 | 综合
120 |
121 |
122 |
123 | Time
124 | 时间
125 |
126 |
127 |
128 | Ranking
129 | 排行
130 |
131 |
132 |
133 | In last
134 | 前一
135 |
136 |
137 |
138 | Month
139 | 个月
140 |
141 |
142 |
143 | Week
144 | 周
145 |
146 |
147 |
148 | Day
149 | 天
150 |
151 |
152 |
153 | From
154 | 来自
155 |
156 |
157 |
158 | All Peers
159 | 所有节点
160 |
161 |
162 |
163 | Own Links
164 | 自己的链接
165 |
166 |
167 |
168 | Show
169 | 显示
170 |
171 |
172 |
173 | Top 100
174 | 前100
175 |
176 |
177 |
178 | 101-200
179 | 101-200
180 |
181 |
182 |
183 | 201-300
184 | 201-300
185 |
186 |
187 |
188 | 301-400
189 | 301-400
190 |
191 |
192 |
193 | 401-500
194 | 401-500
195 |
196 |
197 |
198 | Bottom 100
199 | 后100
200 |
201 |
202 |
203 | Link:
204 | 链接:
205 |
206 |
207 |
208 | Add Anonymous Link
209 | 添加匿名链接
210 |
211 |
212 |
213 | Add Link/Comment
214 | 添加链接/评论
215 |
216 |
217 |
218 | Title:
219 | 标题:
220 |
221 |
222 |
223 | Score:
224 | 得分:
225 |
226 |
227 |
228 |
229 | +2 Great!
230 | +2 真棒!
231 |
232 |
233 |
234 |
235 | +1 Good
236 | +1 不错
237 |
238 |
239 |
240 |
241 | 0 Okay
242 | 0 还行
243 |
244 |
245 |
246 |
247 | -1 Sux
248 | -1 烂
249 |
250 |
251 |
252 |
253 | -2 Bad Link
254 | -2 很差
255 |
256 |
257 |
258 | Url:
259 | 网址:
260 |
261 |
262 |
263 | Links Cloud
264 | Links Cloud
265 |
266 |
267 |
268 | Add new link
269 | 添加新链接
270 |
271 |
272 |
273 | Share Link Anonymously
274 | 匿名分享链接
275 |
276 |
277 |
278 | Vote on Link
279 | 为链接投票
280 |
281 |
282 |
283 | Download
284 | 下载
285 |
286 |
287 |
288 |
289 |
290 | Add Link Failure
291 | 添加链接失败
292 |
293 |
294 |
295 | Missing Link and/or Title
296 | 丢失链接和(或)标题
297 |
298 |
299 |
300 | Missing Link Data
301 | 丢失链接信息
302 |
303 |
304 |
305 | Missing Comment
306 | 丢失评论
307 |
308 |
309 |
310 | Link Title Not Changed
311 | 链接名未改变
312 |
313 |
314 |
315 | Do you want to continue?
316 | 想要继续?
317 |
318 |
319 |
320 | Expand
321 | 展开
322 |
323 |
324 |
325 | Hide
326 | 隐藏
327 |
328 |
329 |
--------------------------------------------------------------------------------
/lang/JumpingCube_ru.ts:
--------------------------------------------------------------------------------
1 |
2 |
3 | AddLinksDialog
4 |
5 |
6 |
7 | Add Link
8 |
9 |
10 |
11 |
12 | Cancel
13 | Отмена
14 |
15 |
16 |
17 | Add a new Link
18 |
19 |
20 |
21 |
22 | Title:
23 | Заголовок:
24 |
25 |
26 |
27 | Url:
28 |
29 |
30 |
31 |
32 | Add Anonymous Link
33 |
34 |
35 |
36 |
37 | +2 Great!
38 |
39 |
40 |
41 |
42 | +1 Good
43 |
44 |
45 |
46 |
47 | 0 Okay
48 |
49 |
50 |
51 |
52 | -1 Sux
53 |
54 |
55 |
56 |
57 | -2 Bad Link
58 |
59 |
60 |
61 |
62 | Add Link to Cloud
63 |
64 |
65 |
66 |
67 | New Link
68 |
69 |
70 |
71 |
72 | Add Link Failure
73 |
74 |
75 |
76 |
77 | Missing Link and/or Title
78 |
79 |
80 |
81 |
82 | LinksCloudPlugin
83 |
84 |
85 | This plugin provides a set of cached links, and a voting system to promote them.
86 |
87 |
88 |
89 |
90 | LinksCloud
91 |
92 |
93 |
94 |
95 | LinksDialog
96 |
97 |
98 | Title / Comment
99 | Название / комментарий
100 |
101 |
102 |
103 | Score
104 |
105 |
106 |
107 |
108 | Peer / Link
109 |
110 |
111 |
112 |
113 | Sort by
114 | Сортировать по
115 |
116 |
117 |
118 | Combo
119 |
120 |
121 |
122 |
123 | Time
124 |
125 |
126 |
127 |
128 | Ranking
129 |
130 |
131 |
132 |
133 | In last
134 |
135 |
136 |
137 |
138 | Month
139 |
140 |
141 |
142 |
143 | Week
144 |
145 |
146 |
147 |
148 | Day
149 |
150 |
151 |
152 |
153 | From
154 | От
155 |
156 |
157 |
158 | All Peers
159 |
160 |
161 |
162 |
163 | Own Links
164 |
165 |
166 |
167 |
168 | Show
169 | Показать
170 |
171 |
172 |
173 | Top 100
174 |
175 |
176 |
177 |
178 | 101-200
179 |
180 |
181 |
182 |
183 | 201-300
184 |
185 |
186 |
187 |
188 | 301-400
189 |
190 |
191 |
192 |
193 | 401-500
194 |
195 |
196 |
197 |
198 | Bottom 100
199 |
200 |
201 |
202 |
203 | Link:
204 |
205 |
206 |
207 |
208 | Add Anonymous Link
209 |
210 |
211 |
212 |
213 | Add Link/Comment
214 |
215 |
216 |
217 |
218 | Title:
219 | Заголовок:
220 |
221 |
222 |
223 | Score:
224 |
225 |
226 |
227 |
228 |
229 | +2 Great!
230 |
231 |
232 |
233 |
234 |
235 | +1 Good
236 |
237 |
238 |
239 |
240 |
241 | 0 Okay
242 |
243 |
244 |
245 |
246 |
247 | -1 Sux
248 |
249 |
250 |
251 |
252 |
253 | -2 Bad Link
254 |
255 |
256 |
257 |
258 | Url:
259 |
260 |
261 |
262 |
263 | Links Cloud
264 |
265 |
266 |
267 |
268 | Add new link
269 |
270 |
271 |
272 |
273 | Share Link Anonymously
274 |
275 |
276 |
277 |
278 | Vote on Link
279 |
280 |
281 |
282 |
283 | Download
284 | Скачать
285 |
286 |
287 |
288 |
289 |
290 | Add Link Failure
291 |
292 |
293 |
294 |
295 | Missing Link and/or Title
296 |
297 |
298 |
299 |
300 | Missing Link Data
301 |
302 |
303 |
304 |
305 | Missing Comment
306 |
307 |
308 |
309 |
310 | Link Title Not Changed
311 |
312 |
313 |
314 |
315 | Do you want to continue?
316 |
317 |
318 |
319 |
320 | Expand
321 | Раскрыть
322 |
323 |
324 |
325 | Hide
326 | Скрыть
327 |
328 |
329 |
--------------------------------------------------------------------------------
/lang/JumpingCube_ko.ts:
--------------------------------------------------------------------------------
1 |
2 |
3 | AddLinksDialog
4 |
5 |
6 |
7 | Add Link
8 | 링크 추가
9 |
10 |
11 |
12 | Cancel
13 | 취소
14 |
15 |
16 |
17 | Add a new Link
18 | 새 링크 추가
19 |
20 |
21 |
22 | Title:
23 | 제목:
24 |
25 |
26 |
27 | Url:
28 | 주소:
29 |
30 |
31 |
32 | Add Anonymous Link
33 | 익명 링크 추가
34 |
35 |
36 |
37 | +2 Great!
38 | +2 멋져요 :D
39 |
40 |
41 |
42 | +1 Good
43 | +1 좋아요 :)
44 |
45 |
46 |
47 | 0 Okay
48 | 0 괜찮아요 : |
49 |
50 |
51 |
52 | -1 Sux
53 | -1 어우 :S
54 |
55 |
56 |
57 | -2 Bad Link
58 | -2 후졌어요 :(
59 |
60 |
61 |
62 | Add Link to Cloud
63 | 클라우드에 링크 추가
64 |
65 |
66 |
67 | New Link
68 | 새 링크
69 |
70 |
71 |
72 | Add Link Failure
73 | 잘못된 링크 추가
74 |
75 |
76 |
77 | Missing Link and/or Title
78 | 링크 또는 제목이 빠졌습니다
79 |
80 |
81 |
82 | LinksCloudPlugin
83 |
84 |
85 | This plugin provides a set of cached links, and a voting system to promote them.
86 | 이 플러그인은 캐시에 저장한 링크 모음과, 링크를 알리기 위한 투표 시스템을 제공합니다.
87 |
88 |
89 |
90 | LinksCloud
91 | 링크클라우드
92 |
93 |
94 |
95 | LinksDialog
96 |
97 |
98 | Title / Comment
99 | 제목 / 답글
100 |
101 |
102 |
103 | Score
104 | 점수
105 |
106 |
107 |
108 | Peer / Link
109 | 피어 / 링크
110 |
111 |
112 |
113 | Sort by
114 | 정렬순
115 |
116 |
117 |
118 | Combo
119 | 조합
120 |
121 |
122 |
123 | Time
124 | 시간
125 |
126 |
127 |
128 | Ranking
129 | 순위
130 |
131 |
132 |
133 | In last
134 | 최신
135 |
136 |
137 |
138 | Month
139 | 월
140 |
141 |
142 |
143 | Week
144 | 주
145 |
146 |
147 |
148 | Day
149 | 일
150 |
151 |
152 |
153 | From
154 | 보낸이
155 |
156 |
157 |
158 | All Peers
159 | 모든 피어
160 |
161 |
162 |
163 | Own Links
164 | 소유한 링크
165 |
166 |
167 |
168 | Show
169 | 표시
170 |
171 |
172 |
173 | Top 100
174 | 상위 100
175 |
176 |
177 |
178 | 101-200
179 | 101-200
180 |
181 |
182 |
183 | 201-300
184 | 201-300
185 |
186 |
187 |
188 | 301-400
189 | 301-400
190 |
191 |
192 |
193 | 401-500
194 | 401-500
195 |
196 |
197 |
198 | Bottom 100
199 | 하위 100
200 |
201 |
202 |
203 | Link:
204 | 링크:
205 |
206 |
207 |
208 | Add Anonymous Link
209 | 익명 링크 추가
210 |
211 |
212 |
213 | Add Link/Comment
214 | 링크/답글 추가
215 |
216 |
217 |
218 | Title:
219 | 제목:
220 |
221 |
222 |
223 | Score:
224 | 점수:
225 |
226 |
227 |
228 |
229 | +2 Great!
230 | +2 멋져요 :D
231 |
232 |
233 |
234 |
235 | +1 Good
236 | +1 좋아요 :)
237 |
238 |
239 |
240 |
241 | 0 Okay
242 | 0 괜찮아요 : |
243 |
244 |
245 |
246 |
247 | -1 Sux
248 | -1 어우 :S
249 |
250 |
251 |
252 |
253 | -2 Bad Link
254 | -2 후졌어요 :(
255 |
256 |
257 |
258 | Url:
259 | 주소:
260 |
261 |
262 |
263 | Links Cloud
264 | 링크 클라우드
265 |
266 |
267 |
268 | Add new link
269 | 새 링크 추가
270 |
271 |
272 |
273 | Share Link Anonymously
274 | 익명으로 링크 공유
275 |
276 |
277 |
278 | Vote on Link
279 | 링크에 투표
280 |
281 |
282 |
283 | Download
284 | 다운로드
285 |
286 |
287 |
288 |
289 |
290 | Add Link Failure
291 | 잘못된 링크 추가
292 |
293 |
294 |
295 | Missing Link and/or Title
296 | 링크 또는 제목이 빠졌습니다
297 |
298 |
299 |
300 | Missing Link Data
301 | 링크 데이터가 빠졌습니다
302 |
303 |
304 |
305 | Missing Comment
306 | 답글이 빠졌습니다
307 |
308 |
309 |
310 | Link Title Not Changed
311 | 링크 제목이 바뀌지 않았습니다
312 |
313 |
314 |
315 | Do you want to continue?
316 | 계속하시겠습니까?
317 |
318 |
319 |
320 | Expand
321 | 확장
322 |
323 |
324 |
325 | Hide
326 | 숨김
327 |
328 |
329 |
--------------------------------------------------------------------------------
/lang/JumpingCube_pl.ts:
--------------------------------------------------------------------------------
1 |
2 |
3 | AddLinksDialog
4 |
5 |
6 |
7 | Add Link
8 | Dodaj Link
9 |
10 |
11 |
12 | Cancel
13 | Anuluj
14 |
15 |
16 |
17 | Add a new Link
18 | Dodaj nowy Link
19 |
20 |
21 |
22 | Title:
23 | Tytuł:
24 |
25 |
26 |
27 | Url:
28 | Url:
29 |
30 |
31 |
32 | Add Anonymous Link
33 | Dodaj Link Anonimowy
34 |
35 |
36 |
37 | +2 Great!
38 | +2 Świetne!
39 |
40 |
41 |
42 | +1 Good
43 | +1 Dobre
44 |
45 |
46 |
47 | 0 Okay
48 | 0 W porządku
49 |
50 |
51 |
52 | -1 Sux
53 | -1 Ssie
54 |
55 |
56 |
57 | -2 Bad Link
58 | -2 Zły Link
59 |
60 |
61 |
62 | Add Link to Cloud
63 | Dodaj Link do Chmury
64 |
65 |
66 |
67 | New Link
68 | Nowy Link
69 |
70 |
71 |
72 | Add Link Failure
73 |
74 |
75 |
76 |
77 | Missing Link and/or Title
78 | Brakujący Link i/lub Tytuł
79 |
80 |
81 |
82 | LinksCloudPlugin
83 |
84 |
85 | This plugin provides a set of cached links, and a voting system to promote them.
86 |
87 |
88 |
89 |
90 | LinksCloud
91 |
92 |
93 |
94 |
95 | LinksDialog
96 |
97 |
98 | Title / Comment
99 |
100 |
101 |
102 |
103 | Score
104 |
105 |
106 |
107 |
108 | Peer / Link
109 |
110 |
111 |
112 |
113 | Sort by
114 |
115 |
116 |
117 |
118 | Combo
119 |
120 |
121 |
122 |
123 | Time
124 | Czas
125 |
126 |
127 |
128 | Ranking
129 | Ranking
130 |
131 |
132 |
133 | In last
134 | W ostatnim
135 |
136 |
137 |
138 | Month
139 | Miesiącu
140 |
141 |
142 |
143 | Week
144 | Tygodniu
145 |
146 |
147 |
148 | Day
149 | Dniu
150 |
151 |
152 |
153 | From
154 | Od
155 |
156 |
157 |
158 | All Peers
159 |
160 |
161 |
162 |
163 | Own Links
164 | Własne Linki
165 |
166 |
167 |
168 | Show
169 | Pokaż
170 |
171 |
172 |
173 | Top 100
174 | Top 100
175 |
176 |
177 |
178 | 101-200
179 | 101-200
180 |
181 |
182 |
183 | 201-300
184 | 201-300
185 |
186 |
187 |
188 | 301-400
189 | 301-400
190 |
191 |
192 |
193 | 401-500
194 | 401-500
195 |
196 |
197 |
198 | Bottom 100
199 |
200 |
201 |
202 |
203 | Link:
204 | Link:
205 |
206 |
207 |
208 | Add Anonymous Link
209 | Dodaj Link Anonimowy
210 |
211 |
212 |
213 | Add Link/Comment
214 |
215 |
216 |
217 |
218 | Title:
219 | Tytuł:
220 |
221 |
222 |
223 | Score:
224 |
225 |
226 |
227 |
228 |
229 | +2 Great!
230 | +2 Świetne!
231 |
232 |
233 |
234 |
235 | +1 Good
236 | +1 Dobre
237 |
238 |
239 |
240 |
241 | 0 Okay
242 | 0 W porządku
243 |
244 |
245 |
246 |
247 | -1 Sux
248 | -1 Ssie
249 |
250 |
251 |
252 |
253 | -2 Bad Link
254 | -2 Zły Link
255 |
256 |
257 |
258 | Url:
259 | Url:
260 |
261 |
262 |
263 | Links Cloud
264 |
265 |
266 |
267 |
268 | Add new link
269 | Dodaj nowy link
270 |
271 |
272 |
273 | Share Link Anonymously
274 | Udostępnij Link Anonimowo
275 |
276 |
277 |
278 | Vote on Link
279 | Głosuj na Link
280 |
281 |
282 |
283 | Download
284 | Pobierz
285 |
286 |
287 |
288 |
289 |
290 | Add Link Failure
291 |
292 |
293 |
294 |
295 | Missing Link and/or Title
296 | Brakujący Link i/lub Tytuł
297 |
298 |
299 |
300 | Missing Link Data
301 |
302 |
303 |
304 |
305 | Missing Comment
306 | Brakujący Komentarz
307 |
308 |
309 |
310 | Link Title Not Changed
311 |
312 |
313 |
314 |
315 | Do you want to continue?
316 | Czy chcesz kontynuować?
317 |
318 |
319 |
320 | Expand
321 | Rozwiń
322 |
323 |
324 |
325 | Hide
326 | Ukryj
327 |
328 |
329 |
--------------------------------------------------------------------------------
/lang/JumpingCube_sv.ts:
--------------------------------------------------------------------------------
1 |
2 |
3 | AddLinksDialog
4 |
5 |
6 |
7 | Add Link
8 | Lägg till länk
9 |
10 |
11 |
12 | Cancel
13 | Avbryt
14 |
15 |
16 |
17 | Add a new Link
18 | Lägg till ny länk
19 |
20 |
21 |
22 | Title:
23 | Titel:
24 |
25 |
26 |
27 | Url:
28 | URL:
29 |
30 |
31 |
32 | Add Anonymous Link
33 | Lägg till länk anonymt
34 |
35 |
36 |
37 | +2 Great!
38 | +2 Toppen!
39 |
40 |
41 |
42 | +1 Good
43 | +1 Bra
44 |
45 |
46 |
47 | 0 Okay
48 | 0 Okay
49 |
50 |
51 |
52 | -1 Sux
53 | -1 Suger
54 |
55 |
56 |
57 | -2 Bad Link
58 | -2 Dålig länk
59 |
60 |
61 |
62 | Add Link to Cloud
63 | Lägg till länk i molnet
64 |
65 |
66 |
67 | New Link
68 | Ny länk
69 |
70 |
71 |
72 | Add Link Failure
73 | Kunde inte lägga till länk
74 |
75 |
76 |
77 | Missing Link and/or Title
78 | Länk och/eller titel saknas
79 |
80 |
81 |
82 | LinksCloudPlugin
83 |
84 |
85 | This plugin provides a set of cached links, and a voting system to promote them.
86 | Det här tilläggsprogrammet tillför en uppsättning cachade länkar, och ett poängsystem för att klassificera dem.
87 |
88 |
89 |
90 | LinksCloud
91 | LänkMoln
92 |
93 |
94 |
95 | LinksDialog
96 |
97 |
98 | Title / Comment
99 | Titel / Kommentar
100 |
101 |
102 |
103 | Score
104 | Poäng
105 |
106 |
107 |
108 | Peer / Link
109 | Användare / Länk
110 |
111 |
112 |
113 | Sort by
114 | Sortera enligt
115 |
116 |
117 |
118 | Combo
119 | Kombo
120 |
121 |
122 |
123 | Time
124 | Tid
125 |
126 |
127 |
128 | Ranking
129 | Ranking
130 |
131 |
132 |
133 | In last
134 | Sist in
135 |
136 |
137 |
138 | Month
139 | Månad
140 |
141 |
142 |
143 | Week
144 | Vecka
145 |
146 |
147 |
148 | Day
149 | Dag
150 |
151 |
152 |
153 | From
154 | Från
155 |
156 |
157 |
158 | All Peers
159 | Alla användare
160 |
161 |
162 |
163 | Own Links
164 | Egna länkar
165 |
166 |
167 |
168 | Show
169 | Visa
170 |
171 |
172 |
173 | Top 100
174 | Topp 100
175 |
176 |
177 |
178 | 101-200
179 | 101-200
180 |
181 |
182 |
183 | 201-300
184 | 201-300
185 |
186 |
187 |
188 | 301-400
189 | 301-400
190 |
191 |
192 |
193 | 401-500
194 | 401-500
195 |
196 |
197 |
198 | Bottom 100
199 | 100 från botten
200 |
201 |
202 |
203 | Link:
204 | Länk:
205 |
206 |
207 |
208 | Add Anonymous Link
209 | Lägg till länk anonymt
210 |
211 |
212 |
213 | Add Link/Comment
214 | Lägg till länk/kommentar
215 |
216 |
217 |
218 | Title:
219 | Titel:
220 |
221 |
222 |
223 | Score:
224 | Poäng:
225 |
226 |
227 |
228 |
229 | +2 Great!
230 | +2 Toppen!
231 |
232 |
233 |
234 |
235 | +1 Good
236 | +1 Bra
237 |
238 |
239 |
240 |
241 | 0 Okay
242 | 0 Okay
243 |
244 |
245 |
246 |
247 | -1 Sux
248 | -1 Suger
249 |
250 |
251 |
252 |
253 | -2 Bad Link
254 | -2 Dålig länk
255 |
256 |
257 |
258 | Url:
259 | URL:
260 |
261 |
262 |
263 | Links Cloud
264 | Länkmoln
265 |
266 |
267 |
268 | Add new link
269 | Lägg till ny länk
270 |
271 |
272 |
273 | Share Link Anonymously
274 | Dela länk anonymt
275 |
276 |
277 |
278 | Vote on Link
279 | Rösta på länk
280 |
281 |
282 |
283 | Download
284 | Ladda ner
285 |
286 |
287 |
288 |
289 |
290 | Add Link Failure
291 | Kunde inte lägga till länk
292 |
293 |
294 |
295 | Missing Link and/or Title
296 | Länk och/eller titel saknas
297 |
298 |
299 |
300 | Missing Link Data
301 | Länkdata saknas
302 |
303 |
304 |
305 | Missing Comment
306 | Kommentar saknas
307 |
308 |
309 |
310 | Link Title Not Changed
311 | Länktitel ej ändrad
312 |
313 |
314 |
315 | Do you want to continue?
316 | Vill du fortsätta?
317 |
318 |
319 |
320 | Expand
321 | Visa
322 |
323 |
324 |
325 | Hide
326 | Dölj
327 |
328 |
329 |
--------------------------------------------------------------------------------
/lang/JumpingCube_cs.ts:
--------------------------------------------------------------------------------
1 |
2 |
3 | AddLinksDialog
4 |
5 |
6 |
7 | Add Link
8 | Přidat odkaz
9 |
10 |
11 |
12 | Cancel
13 | Zrušit
14 |
15 |
16 |
17 | Add a new Link
18 | Přidat nový odkaz
19 |
20 |
21 |
22 | Title:
23 | Titulek
24 |
25 |
26 |
27 | Url:
28 | Url:
29 |
30 |
31 |
32 | Add Anonymous Link
33 | Přidat anonymní odkaz
34 |
35 |
36 |
37 | +2 Great!
38 | +2 Výborný
39 |
40 |
41 |
42 | +1 Good
43 | +1 Dobrý
44 |
45 |
46 |
47 | 0 Okay
48 | 0 OK
49 |
50 |
51 |
52 | -1 Sux
53 | -1 Špatný
54 |
55 |
56 |
57 | -2 Bad Link
58 | -2 Špatný odkaz
59 |
60 |
61 |
62 | Add Link to Cloud
63 | Přidat odkaz do Cloudu
64 |
65 |
66 |
67 | New Link
68 | Nový odkaz
69 |
70 |
71 |
72 | Add Link Failure
73 | Přidání odkazu selhalo
74 |
75 |
76 |
77 | Missing Link and/or Title
78 | Chybí odkaz nebo titulek
79 |
80 |
81 |
82 | LinksCloudPlugin
83 |
84 |
85 | This plugin provides a set of cached links, and a voting system to promote them.
86 | Tento zásuvný modul poskytuje sadu mezipaměti odkazů, a hlasovací systém na jejich podporu
87 |
88 |
89 |
90 | LinksCloud
91 | LinksCloud
92 |
93 |
94 |
95 | LinksDialog
96 |
97 |
98 | Title / Comment
99 | Titulek / Komentáře
100 |
101 |
102 |
103 | Score
104 | Skóre
105 |
106 |
107 |
108 | Peer / Link
109 | Peer / Odkaz
110 |
111 |
112 |
113 | Sort by
114 | Seřadit podle
115 |
116 |
117 |
118 | Combo
119 | Dvojité
120 |
121 |
122 |
123 | Time
124 | Čas
125 |
126 |
127 |
128 | Ranking
129 | Žebříček
130 |
131 |
132 |
133 | In last
134 | Jako poslední
135 |
136 |
137 |
138 | Month
139 | Měsíc
140 |
141 |
142 |
143 | Week
144 | Týden
145 |
146 |
147 |
148 | Day
149 | Den
150 |
151 |
152 |
153 | From
154 | Od
155 |
156 |
157 |
158 | All Peers
159 | Všechny peery
160 |
161 |
162 |
163 | Own Links
164 | Naše odkazy
165 |
166 |
167 |
168 | Show
169 | Zobrazit
170 |
171 |
172 |
173 | Top 100
174 | Top 100
175 |
176 |
177 |
178 | 101-200
179 | 101-200
180 |
181 |
182 |
183 | 201-300
184 | 201-300
185 |
186 |
187 |
188 | 301-400
189 | 301-400
190 |
191 |
192 |
193 | 401-500
194 | 401-500
195 |
196 |
197 |
198 | Bottom 100
199 | Spodní 100
200 |
201 |
202 |
203 | Link:
204 | Odkaz:
205 |
206 |
207 |
208 | Add Anonymous Link
209 | Přidat anonymní odkaz
210 |
211 |
212 |
213 | Add Link/Comment
214 | Přidat odkaz / komentář
215 |
216 |
217 |
218 | Title:
219 | Titulek:
220 |
221 |
222 |
223 | Score:
224 | Skóre:
225 |
226 |
227 |
228 |
229 | +2 Great!
230 | +2 Výborný
231 |
232 |
233 |
234 |
235 | +1 Good
236 | +1 Dobrý
237 |
238 |
239 |
240 |
241 | 0 Okay
242 | 0 OK
243 |
244 |
245 |
246 |
247 | -1 Sux
248 | -1 Špatný
249 |
250 |
251 |
252 |
253 | -2 Bad Link
254 | -2 Špatný odkaz
255 |
256 |
257 |
258 | Url:
259 | Url:
260 |
261 |
262 |
263 | Links Cloud
264 | Odkazový Cloud
265 |
266 |
267 |
268 | Add new link
269 | Přidat nový odkaz
270 |
271 |
272 |
273 | Share Link Anonymously
274 | Sdílet odkaz anonymně
275 |
276 |
277 |
278 | Vote on Link
279 | Volte na odkaze
280 |
281 |
282 |
283 | Download
284 | Stáhnout
285 |
286 |
287 |
288 |
289 |
290 | Add Link Failure
291 | Přidání odkazu selhalo
292 |
293 |
294 |
295 | Missing Link and/or Title
296 | Chybí odkaz nebo titulek
297 |
298 |
299 |
300 | Missing Link Data
301 | Chybějí odkazová data
302 |
303 |
304 |
305 | Missing Comment
306 | Chybějící komentář
307 |
308 |
309 |
310 | Link Title Not Changed
311 | Nebyl zadán titulek odkazu
312 |
313 |
314 |
315 | Do you want to continue?
316 | Chcete pokračovat?
317 |
318 |
319 |
320 | Expand
321 | Rozbalit
322 |
323 |
324 |
325 | Hide
326 | Skrýt
327 |
328 |
329 |
--------------------------------------------------------------------------------
/lang/JumpingCube_nl.ts:
--------------------------------------------------------------------------------
1 |
2 |
3 | AddLinksDialog
4 |
5 |
6 |
7 | Add Link
8 | Voeg een Link toe
9 |
10 |
11 |
12 | Cancel
13 | Annuleren
14 |
15 |
16 |
17 | Add a new Link
18 | Voeg een nieuwe Link toe
19 |
20 |
21 |
22 | Title:
23 | Titel:
24 |
25 |
26 |
27 | Url:
28 | Url:
29 |
30 |
31 |
32 | Add Anonymous Link
33 | Voeg een Anonieme Link toe
34 |
35 |
36 |
37 | +2 Great!
38 | +2 Geweldig!
39 |
40 |
41 |
42 | +1 Good
43 | +1 Goed
44 |
45 |
46 |
47 | 0 Okay
48 | 0 Oke
49 |
50 |
51 |
52 | -1 Sux
53 | -1 Slecht
54 |
55 |
56 |
57 | -2 Bad Link
58 | -2 Slechte Link
59 |
60 |
61 |
62 | Add Link to Cloud
63 | Voeg link toe aan de Cloud
64 |
65 |
66 |
67 | New Link
68 | Nieuwe Link
69 |
70 |
71 |
72 | Add Link Failure
73 | Link toevoegen mislukt
74 |
75 |
76 |
77 | Missing Link and/or Title
78 | Ontbrekende Link en/of Titel
79 |
80 |
81 |
82 | LinksCloudPlugin
83 |
84 |
85 | This plugin provides a set of cached links, and a voting system to promote them.
86 | Deze plugin geeft u een set van gecachte links en een stem systeem om die te promoten
87 |
88 |
89 |
90 | LinksCloud
91 | LinksCloud
92 |
93 |
94 |
95 | LinksDialog
96 |
97 |
98 | Title / Comment
99 | Titel / Opmerkingen
100 |
101 |
102 |
103 | Score
104 | Score
105 |
106 |
107 |
108 | Peer / Link
109 | Verbinding / Link
110 |
111 |
112 |
113 | Sort by
114 | Sorteer op
115 |
116 |
117 |
118 | Combo
119 | Combo
120 |
121 |
122 |
123 | Time
124 | Tijd
125 |
126 |
127 |
128 | Ranking
129 | Stand
130 |
131 |
132 |
133 | In last
134 | In last
135 |
136 |
137 |
138 | Month
139 | Maand
140 |
141 |
142 |
143 | Week
144 | Week
145 |
146 |
147 |
148 | Day
149 | Dag
150 |
151 |
152 |
153 | From
154 | Van
155 |
156 |
157 |
158 | All Peers
159 | Alle Verbindingen
160 |
161 |
162 |
163 | Own Links
164 | Links eigenaar
165 |
166 |
167 |
168 | Show
169 | Toon
170 |
171 |
172 |
173 | Top 100
174 | Top 100
175 |
176 |
177 |
178 | 101-200
179 | 101-200
180 |
181 |
182 |
183 | 201-300
184 | 201-300
185 |
186 |
187 |
188 | 301-400
189 | 301-400
190 |
191 |
192 |
193 | 401-500
194 | 401-500
195 |
196 |
197 |
198 | Bottom 100
199 | Onderste 100
200 |
201 |
202 |
203 | Link:
204 | Link:
205 |
206 |
207 |
208 | Add Anonymous Link
209 | Voeg een anonieme Link toe
210 |
211 |
212 |
213 | Add Link/Comment
214 | Voeg Link/Opmerking toe
215 |
216 |
217 |
218 | Title:
219 | Titel:
220 |
221 |
222 |
223 | Score:
224 | Score:
225 |
226 |
227 |
228 |
229 | +2 Great!
230 | +2 Geweldig!
231 |
232 |
233 |
234 |
235 | +1 Good
236 | +1 Goed
237 |
238 |
239 |
240 |
241 | 0 Okay
242 | 0 Oke
243 |
244 |
245 |
246 |
247 | -1 Sux
248 | -1 Slecht
249 |
250 |
251 |
252 |
253 | -2 Bad Link
254 | -2 Slechte Link
255 |
256 |
257 |
258 | Url:
259 | Url:
260 |
261 |
262 |
263 | Links Cloud
264 | Links Cloud
265 |
266 |
267 |
268 | Add new link
269 | Voeg een nieuwe Link toe
270 |
271 |
272 |
273 | Share Link Anonymously
274 | Deel Link Anoniem
275 |
276 |
277 |
278 | Vote on Link
279 | Stem op Link
280 |
281 |
282 |
283 | Download
284 | Download
285 |
286 |
287 |
288 |
289 |
290 | Add Link Failure
291 | Link toevoegen mislukt
292 |
293 |
294 |
295 | Missing Link and/or Title
296 | Ontbrekende Link en/of Titel
297 |
298 |
299 |
300 | Missing Link Data
301 | Ontbrekende Link data
302 |
303 |
304 |
305 | Missing Comment
306 | Ontbrekende Opmerkingen
307 |
308 |
309 |
310 | Link Title Not Changed
311 | Link titel niet veranderd
312 |
313 |
314 |
315 | Do you want to continue?
316 | Wilt u doorgaan?
317 |
318 |
319 |
320 | Expand
321 | Uitbreiden
322 |
323 |
324 |
325 | Hide
326 | Verberg
327 |
328 |
329 |
--------------------------------------------------------------------------------
/lang/JumpingCube_fi.ts:
--------------------------------------------------------------------------------
1 |
2 |
3 | AddLinksDialog
4 |
5 |
6 |
7 | Add Link
8 | Lisää linkki
9 |
10 |
11 |
12 | Cancel
13 | Peru
14 |
15 |
16 |
17 | Add a new Link
18 | Lisää uusi linkki
19 |
20 |
21 |
22 | Title:
23 | Otsikko:
24 |
25 |
26 |
27 | Url:
28 | Url:
29 |
30 |
31 |
32 | Add Anonymous Link
33 | Lisää nimetön linkki
34 |
35 |
36 |
37 | +2 Great!
38 | +2 Loistava!
39 |
40 |
41 |
42 | +1 Good
43 | +1 Hyvä
44 |
45 |
46 |
47 | 0 Okay
48 | 0 Kohtalainen
49 |
50 |
51 |
52 | -1 Sux
53 | -1 Huono
54 |
55 |
56 |
57 | -2 Bad Link
58 | -2 Kelvoton linkki
59 |
60 |
61 |
62 | Add Link to Cloud
63 | Lisää linkki pilveen
64 |
65 |
66 |
67 | New Link
68 | Uusi linkki
69 |
70 |
71 |
72 | Add Link Failure
73 | Vika lisättäessä linkkiä
74 |
75 |
76 |
77 | Missing Link and/or Title
78 | Puuttuva linkki ja/tai otsikko
79 |
80 |
81 |
82 | LinksCloudPlugin
83 |
84 |
85 | This plugin provides a set of cached links, and a voting system to promote them.
86 | Tämä lisäosa näyttää joukon välimuistissa olevia linkkejä sekä äänestysjärjestelmän.
87 |
88 |
89 |
90 | LinksCloud
91 | LinksCloud
92 |
93 |
94 |
95 | LinksDialog
96 |
97 |
98 | Title / Comment
99 | Otsikko / Kommentti
100 |
101 |
102 |
103 | Score
104 | Pisteet
105 |
106 |
107 |
108 | Peer / Link
109 | Vertainen / Linkki
110 |
111 |
112 |
113 | Sort by
114 | Järjestä
115 |
116 |
117 |
118 | Combo
119 | Yhdistelmä
120 |
121 |
122 |
123 | Time
124 | Aika
125 |
126 |
127 |
128 | Ranking
129 | Sijoitus
130 |
131 |
132 |
133 | In last
134 | Viime
135 |
136 |
137 |
138 | Month
139 | kuussa
140 |
141 |
142 |
143 | Week
144 | viikolla
145 |
146 |
147 |
148 | Day
149 | päivänä
150 |
151 |
152 |
153 | From
154 | Lähettäjä
155 |
156 |
157 |
158 | All Peers
159 | Kaikki vertaiset
160 |
161 |
162 |
163 | Own Links
164 | Omat linkit
165 |
166 |
167 |
168 | Show
169 | Näytä
170 |
171 |
172 |
173 | Top 100
174 | Ylimmät 100
175 |
176 |
177 |
178 | 101-200
179 | 101-200
180 |
181 |
182 |
183 | 201-300
184 | 201-300
185 |
186 |
187 |
188 | 301-400
189 | 301-400
190 |
191 |
192 |
193 | 401-500
194 | 401-500
195 |
196 |
197 |
198 | Bottom 100
199 | Alimmat 100
200 |
201 |
202 |
203 | Link:
204 | Linkki:
205 |
206 |
207 |
208 | Add Anonymous Link
209 | Lisää nimetön linkki
210 |
211 |
212 |
213 | Add Link/Comment
214 | Lisää linkki/kommentti
215 |
216 |
217 |
218 | Title:
219 | Otsikko:
220 |
221 |
222 |
223 | Score:
224 | Pisteet:
225 |
226 |
227 |
228 |
229 | +2 Great!
230 | +2 Loistava!
231 |
232 |
233 |
234 |
235 | +1 Good
236 | +1 Hyvä
237 |
238 |
239 |
240 |
241 | 0 Okay
242 | 0 Kohtalainen
243 |
244 |
245 |
246 |
247 | -1 Sux
248 | -1 Huono
249 |
250 |
251 |
252 |
253 | -2 Bad Link
254 | -2 Kelvoton linkki
255 |
256 |
257 |
258 | Url:
259 | Url:
260 |
261 |
262 |
263 | Links Cloud
264 | Links Cloud
265 |
266 |
267 |
268 | Add new link
269 | Lisää uusi linkki
270 |
271 |
272 |
273 | Share Link Anonymously
274 | Jaa linkki nimettömänä
275 |
276 |
277 |
278 | Vote on Link
279 | Äänestä linkkiä
280 |
281 |
282 |
283 | Download
284 | Lataa
285 |
286 |
287 |
288 |
289 |
290 | Add Link Failure
291 | Vika lisättäessä linkkiä
292 |
293 |
294 |
295 | Missing Link and/or Title
296 | Puuttuva linkki ja/tai otsikko
297 |
298 |
299 |
300 | Missing Link Data
301 | Linkin tiedot puuttuvat
302 |
303 |
304 |
305 | Missing Comment
306 | Kommentti puuttuu
307 |
308 |
309 |
310 | Link Title Not Changed
311 | Linkin otsikkoa ei muutettu
312 |
313 |
314 |
315 | Do you want to continue?
316 | Haluatko jatkaa?
317 |
318 |
319 |
320 | Expand
321 | Laajenna
322 |
323 |
324 |
325 | Hide
326 | Piilota
327 |
328 |
329 |
--------------------------------------------------------------------------------
/lang/JumpingCube_fr.ts:
--------------------------------------------------------------------------------
1 |
2 |
3 | AddLinksDialog
4 |
5 |
6 |
7 | Add Link
8 | Ajouter un lien
9 |
10 |
11 |
12 | Cancel
13 | Annuler
14 |
15 |
16 |
17 | Add a new Link
18 | Ajouter un nouveau lien
19 |
20 |
21 |
22 | Title:
23 | Titre :
24 |
25 |
26 |
27 | Url:
28 | Url :
29 |
30 |
31 |
32 | Add Anonymous Link
33 | Ajouter un lien anonyme
34 |
35 |
36 |
37 | +2 Great!
38 | +2 Parfait !
39 |
40 |
41 |
42 | +1 Good
43 | +1 Bien
44 |
45 |
46 |
47 | 0 Okay
48 | 0 Ok
49 |
50 |
51 |
52 | -1 Sux
53 | -1 Bof
54 |
55 |
56 |
57 | -2 Bad Link
58 | -2 Mauvais lien
59 |
60 |
61 |
62 | Add Link to Cloud
63 | Ajouter lien au nuage
64 |
65 |
66 |
67 | New Link
68 | Nouveau lien
69 |
70 |
71 |
72 | Add Link Failure
73 | Échec ajout de lien
74 |
75 |
76 |
77 | Missing Link and/or Title
78 | Lien et/ou tiitre manquant
79 |
80 |
81 |
82 | LinksCloudPlugin
83 |
84 |
85 | This plugin provides a set of cached links, and a voting system to promote them.
86 | Cette extension fournit un ensemble de liens en cache, et un système de vote pour les promouvoir.
87 |
88 |
89 |
90 | LinksCloud
91 | LinksCloud
92 |
93 |
94 |
95 | LinksDialog
96 |
97 |
98 | Title / Comment
99 | Titre / Commentaire
100 |
101 |
102 |
103 | Score
104 | Score
105 |
106 |
107 |
108 | Peer / Link
109 | Contact / Lien
110 |
111 |
112 |
113 | Sort by
114 | Trier par
115 |
116 |
117 |
118 | Combo
119 | Combiné
120 |
121 |
122 |
123 | Time
124 | Temps
125 |
126 |
127 |
128 | Ranking
129 | Classement
130 |
131 |
132 |
133 | In last
134 | Par
135 |
136 |
137 |
138 | Month
139 | Mois
140 |
141 |
142 |
143 | Week
144 | Semaine
145 |
146 |
147 |
148 | Day
149 | Jour
150 |
151 |
152 |
153 | From
154 | De
155 |
156 |
157 |
158 | All Peers
159 | Tous les contacts
160 |
161 |
162 |
163 | Own Links
164 | Propre liens
165 |
166 |
167 |
168 | Show
169 | Montrer
170 |
171 |
172 |
173 | Top 100
174 | Top 100
175 |
176 |
177 |
178 | 101-200
179 | 101-200
180 |
181 |
182 |
183 | 201-300
184 | 201-300
185 |
186 |
187 |
188 | 301-400
189 | 301-400
190 |
191 |
192 |
193 | 401-500
194 | 401-500
195 |
196 |
197 |
198 | Bottom 100
199 | 100 derniers
200 |
201 |
202 |
203 | Link:
204 | Lien :
205 |
206 |
207 |
208 | Add Anonymous Link
209 | Ajouter un lien anonyme
210 |
211 |
212 |
213 | Add Link/Comment
214 | Ajouter Lien/Commentaire
215 |
216 |
217 |
218 | Title:
219 | Titre :
220 |
221 |
222 |
223 | Score:
224 | Score :
225 |
226 |
227 |
228 |
229 | +2 Great!
230 | +2 Parfait !
231 |
232 |
233 |
234 |
235 | +1 Good
236 | +1 Bien
237 |
238 |
239 |
240 |
241 | 0 Okay
242 | 0 Ok
243 |
244 |
245 |
246 |
247 | -1 Sux
248 | -1 Bof
249 |
250 |
251 |
252 |
253 | -2 Bad Link
254 | -2 Mauvais lien
255 |
256 |
257 |
258 | Url:
259 | Url :
260 |
261 |
262 |
263 | Links Cloud
264 | Links Cloud
265 |
266 |
267 |
268 | Add new link
269 | Ajouter un nouveau lien
270 |
271 |
272 |
273 | Share Link Anonymously
274 | Partager le lien anonymement
275 |
276 |
277 |
278 | Vote on Link
279 | Vote sur le lien
280 |
281 |
282 |
283 | Download
284 | Télécharger
285 |
286 |
287 |
288 |
289 |
290 | Add Link Failure
291 | Échec de l'ajout du lien
292 |
293 |
294 |
295 | Missing Link and/or Title
296 | Lien et/ou titre manquant(s)
297 |
298 |
299 |
300 | Missing Link Data
301 | Data Link manquant
302 |
303 |
304 |
305 | Missing Comment
306 | Commentaire manquant
307 |
308 |
309 |
310 | Link Title Not Changed
311 | Le titre du lien n'a pas été changé
312 |
313 |
314 |
315 | Do you want to continue?
316 | Voulez-vous continuer ?
317 |
318 |
319 |
320 | Expand
321 | Montrer
322 |
323 |
324 |
325 | Hide
326 | Cacher
327 |
328 |
329 |
--------------------------------------------------------------------------------
/lang/JumpingCube_de.ts:
--------------------------------------------------------------------------------
1 |
2 |
3 | AddLinksDialog
4 |
5 |
6 |
7 | Add Link
8 | Link hinzufügen
9 |
10 |
11 |
12 | Cancel
13 | Abbrechen
14 |
15 |
16 |
17 | Add a new Link
18 | Neuen Link hinzufügen
19 |
20 |
21 |
22 | Title:
23 | Titel:
24 |
25 |
26 |
27 | Url:
28 | Url:
29 |
30 |
31 |
32 | Add Anonymous Link
33 | Anonym hinzufügen
34 |
35 |
36 |
37 | +2 Great!
38 | +2 Großartig!
39 |
40 |
41 |
42 | +1 Good
43 | +1 Gut
44 |
45 |
46 |
47 | 0 Okay
48 | 0 In Ordnung
49 |
50 |
51 |
52 | -1 Sux
53 | -1 Nervt
54 |
55 |
56 |
57 | -2 Bad Link
58 | -2 Schlechter Link
59 |
60 |
61 |
62 | Add Link to Cloud
63 | Link zur Wolke hinzufügen
64 |
65 |
66 |
67 | New Link
68 | Neuer Link
69 |
70 |
71 |
72 | Add Link Failure
73 | Link hinzufügen fehlgeschlagen
74 |
75 |
76 |
77 | Missing Link and/or Title
78 | Titel und/oder Url fehlt
79 |
80 |
81 |
82 | LinksCloudPlugin
83 |
84 |
85 | This plugin provides a set of cached links, and a voting system to promote them.
86 | Dieses Plug-in stellt Links und ein Wahlsystem zur Verfügung, um sie zu verbreiten.
87 |
88 |
89 |
90 | LinksCloud
91 | Verknüpfungswolke
92 |
93 |
94 |
95 | LinksDialog
96 |
97 |
98 | Title / Comment
99 | Titel / Kommentar
100 |
101 |
102 |
103 | Score
104 | Punkte
105 |
106 |
107 |
108 | Peer / Link
109 | Nachbar / Link
110 |
111 |
112 |
113 | Sort by
114 | Sortiere nach
115 |
116 |
117 |
118 | Combo
119 | Kombiniert
120 |
121 |
122 |
123 | Time
124 | Zeit
125 |
126 |
127 |
128 | Ranking
129 | Platzierung
130 |
131 |
132 |
133 | In last
134 | Im letzten
135 |
136 |
137 |
138 | Month
139 | Monat
140 |
141 |
142 |
143 | Week
144 | Woche
145 |
146 |
147 |
148 | Day
149 | Tag
150 |
151 |
152 |
153 | From
154 | Von
155 |
156 |
157 |
158 | All Peers
159 | Alle Nachbarn
160 |
161 |
162 |
163 | Own Links
164 | Eigene Links
165 |
166 |
167 |
168 | Show
169 | Zeige
170 |
171 |
172 |
173 | Top 100
174 | Top 100
175 |
176 |
177 |
178 | 101-200
179 | 101-200
180 |
181 |
182 |
183 | 201-300
184 | 201-300
185 |
186 |
187 |
188 | 301-400
189 | 301-400
190 |
191 |
192 |
193 | 401-500
194 | 401-500
195 |
196 |
197 |
198 | Bottom 100
199 | Letzten 100
200 |
201 |
202 |
203 | Link:
204 | Link:
205 |
206 |
207 |
208 | Add Anonymous Link
209 | Anonym hinzufügen
210 |
211 |
212 |
213 | Add Link/Comment
214 | Link/Kommentar hinzufügen
215 |
216 |
217 |
218 | Title:
219 | Titel:
220 |
221 |
222 |
223 | Score:
224 | Punkte:
225 |
226 |
227 |
228 |
229 | +2 Great!
230 | +2 Großartig!
231 |
232 |
233 |
234 |
235 | +1 Good
236 | +1 Gut
237 |
238 |
239 |
240 |
241 | 0 Okay
242 | 0 In Ordnung
243 |
244 |
245 |
246 |
247 | -1 Sux
248 | -1 Nervt
249 |
250 |
251 |
252 |
253 | -2 Bad Link
254 | -2 Schlechter Link
255 |
256 |
257 |
258 | Url:
259 | Url:
260 |
261 |
262 |
263 | Links Cloud
264 | Verknüpfungswolke
265 |
266 |
267 |
268 | Add new link
269 | Neuen Link hinzufügen
270 |
271 |
272 |
273 | Share Link Anonymously
274 | Link anonym verteilen
275 |
276 |
277 |
278 | Vote on Link
279 | Stimme für Link
280 |
281 |
282 |
283 | Download
284 | Herunterladen
285 |
286 |
287 |
288 |
289 |
290 | Add Link Failure
291 | Link hinzufügen fehlgeschlagen
292 |
293 |
294 |
295 | Missing Link and/or Title
296 | Fehlender Link und/oder Titel
297 |
298 |
299 |
300 | Missing Link Data
301 | Fehlende Linkdaten
302 |
303 |
304 |
305 | Missing Comment
306 | Fehlender Kommentar
307 |
308 |
309 |
310 | Link Title Not Changed
311 | Linktitel nicht geändert
312 |
313 |
314 |
315 | Do you want to continue?
316 | Willst du fortfahren?
317 |
318 |
319 |
320 | Expand
321 | Erweitern
322 |
323 |
324 |
325 | Hide
326 | Verbergen
327 |
328 |
329 |
--------------------------------------------------------------------------------
/lang/JumpingCube_tr.ts:
--------------------------------------------------------------------------------
1 |
2 |
3 | AddLinksDialog
4 |
5 |
6 |
7 | Add Link
8 | Bağlantı Ekleyin
9 |
10 |
11 |
12 | Cancel
13 | İptal
14 |
15 |
16 |
17 | Add a new Link
18 | Yeni bir bağlantı ekleyin
19 |
20 |
21 |
22 | Title:
23 | Başlık:
24 |
25 |
26 |
27 | Url:
28 | İnternet adresi:
29 |
30 |
31 |
32 | Add Anonymous Link
33 | Anonim Bağlantı Ekleyin
34 |
35 |
36 |
37 | +2 Great!
38 | +2 Harika!
39 |
40 |
41 |
42 | +1 Good
43 | +1 İyi
44 |
45 |
46 |
47 | 0 Okay
48 | 0 İdare eder
49 |
50 |
51 |
52 | -1 Sux
53 | -1 Yaramaz
54 |
55 |
56 |
57 | -2 Bad Link
58 | -2 Kötü bağlantı
59 |
60 |
61 |
62 | Add Link to Cloud
63 | Bağlantıyı Buluta Ekleyin
64 |
65 |
66 |
67 | New Link
68 | Bağlantı Ekleyin
69 |
70 |
71 |
72 | Add Link Failure
73 | Bağlantı Eklenemedi
74 |
75 |
76 |
77 | Missing Link and/or Title
78 | Eksik Bağlantı ya da Başlık
79 |
80 |
81 |
82 | LinksCloudPlugin
83 |
84 |
85 | This plugin provides a set of cached links, and a voting system to promote them.
86 | Bu uyumlu ek, ön belleğe alınmış bağlantıları görüntüler ve oylanmasını sağlar.
87 |
88 |
89 |
90 | LinksCloud
91 | BağlantıBulutu
92 |
93 |
94 |
95 | LinksDialog
96 |
97 |
98 | Title / Comment
99 | Başlık / Yorum
100 |
101 |
102 |
103 | Score
104 | Not
105 |
106 |
107 |
108 | Peer / Link
109 | Bağlantı
110 |
111 |
112 |
113 | Sort by
114 | Sıralama
115 |
116 |
117 |
118 | Combo
119 | Bir Arada
120 |
121 |
122 |
123 | Time
124 | Zaman
125 |
126 |
127 |
128 | Ranking
129 | Derece
130 |
131 |
132 |
133 | In last
134 | Son
135 |
136 |
137 |
138 | Month
139 | Ay
140 |
141 |
142 |
143 | Week
144 | Hafta
145 |
146 |
147 |
148 | Day
149 | Gün
150 |
151 |
152 |
153 | From
154 | Kimden
155 |
156 |
157 |
158 | All Peers
159 | Tüm Bağlantılar
160 |
161 |
162 |
163 | Own Links
164 | Kendi Bağlantılarınız
165 |
166 |
167 |
168 | Show
169 | Görüntüleyin
170 |
171 |
172 |
173 | Top 100
174 | Üst 100
175 |
176 |
177 |
178 | 101-200
179 | 101-200
180 |
181 |
182 |
183 | 201-300
184 | 201-300
185 |
186 |
187 |
188 | 301-400
189 | 301-400
190 |
191 |
192 |
193 | 401-500
194 | 401-500
195 |
196 |
197 |
198 | Bottom 100
199 | Alt 100
200 |
201 |
202 |
203 | Link:
204 | Bağlantı:
205 |
206 |
207 |
208 | Add Anonymous Link
209 | Anonim Bağlantı Ekleyin
210 |
211 |
212 |
213 | Add Link/Comment
214 | Bağlantı/Yorum Ekleyin
215 |
216 |
217 |
218 | Title:
219 | Başlık:
220 |
221 |
222 |
223 | Score:
224 | Not:
225 |
226 |
227 |
228 |
229 | +2 Great!
230 | +2 Harika!
231 |
232 |
233 |
234 |
235 | +1 Good
236 | +1 İyi
237 |
238 |
239 |
240 |
241 | 0 Okay
242 | 0 İdare eder
243 |
244 |
245 |
246 |
247 | -1 Sux
248 | -1 Yaramaz
249 |
250 |
251 |
252 |
253 | -2 Bad Link
254 | -2 Kötü Bağlantı
255 |
256 |
257 |
258 | Url:
259 | İnternet Adresi:
260 |
261 |
262 |
263 | Links Cloud
264 | Bağlantı Bulutu
265 |
266 |
267 |
268 | Add new link
269 | Bağlantı ekleyin
270 |
271 |
272 |
273 | Share Link Anonymously
274 | Bağlantıyı Anonim Olarak Paylaşın
275 |
276 |
277 |
278 | Vote on Link
279 | Bağlantıyı Oylayın
280 |
281 |
282 |
283 | Download
284 | İndirin
285 |
286 |
287 |
288 |
289 |
290 | Add Link Failure
291 | Bağlantı Eklenemedi
292 |
293 |
294 |
295 | Missing Link and/or Title
296 | Eksik Bağlantı ya da Başlık
297 |
298 |
299 |
300 | Missing Link Data
301 | Eksik Bağlantı Verisi
302 |
303 |
304 |
305 | Missing Comment
306 | Eksik Yorum
307 |
308 |
309 |
310 | Link Title Not Changed
311 | Bağlantı Başlığı Değişmedi
312 |
313 |
314 |
315 | Do you want to continue?
316 | Devam etmek istiyor musunuz?
317 |
318 |
319 |
320 | Expand
321 | Genişletin
322 |
323 |
324 |
325 | Hide
326 | Gizleyin
327 |
328 |
329 |
--------------------------------------------------------------------------------