└── com.pajuelo.plasmaConfSaver ├── LICENSE ├── README.md ├── contents ├── config │ └── main.xml ├── locale │ ├── da_DK │ │ └── LC_MESSAGES │ │ │ └── plasma_applet_com.pajuelo.plasmaConfSaver.mo │ ├── de │ │ └── LC_MESSAGES │ │ │ └── plasma_applet_com.pajuelo.plasmaConfSaver.mo │ ├── es │ │ └── LC_MESSAGES │ │ │ └── plasma_applet_com.pajuelo.plasmaConfSaver.mo │ ├── fr │ │ └── LC_MESSAGES │ │ │ └── plasma_applet_com.pajuelo.plasmaConfSaver.mo │ ├── hr │ │ └── LC_MESSAGES │ │ │ └── plasma_applet_com.pajuelo.plasmaConfSaver.mo │ ├── id │ │ └── LC_MESSAGES │ │ │ └── plasma_applet_com.pajuelo.plasmaConfSaver.mo │ ├── it │ │ └── LC_MESSAGES │ │ │ └── plasma_applet_com.pajuelo.plasmaConfSaver.mo │ ├── nl_NL │ │ └── LC_MESSAGES │ │ │ └── plasma_applet_com.pajuelo.plasmaConfSaver.mo │ ├── pt │ │ └── LC_MESSAGES │ │ │ └── plasma_applet_com.pajuelo.plasmaConfSaver.mo │ ├── tr │ │ └── LC_MESSAGES │ │ │ └── plasma_applet_com.pajuelo.plasmaConfSaver.mo │ └── zh │ │ └── LC_MESSAGES │ │ └── plasma_applet_com.pajuelo.plasmaConfSaver.mo ├── scripts │ ├── load.sh │ └── save.sh └── ui │ ├── FullRepresentation.qml │ └── main.qml ├── metadata.desktop └── translate ├── ReadMe.md ├── build ├── da_DK.po ├── de.po ├── es.po ├── fr.po ├── hr.po ├── id.po ├── install ├── it.po ├── merge ├── nl_NL.po ├── plasmoidlocaletest ├── pt.po ├── template.pot ├── tr.po └── zh.po /com.pajuelo.plasmaConfSaver/LICENSE: -------------------------------------------------------------------------------- 1 | GNU GENERAL PUBLIC LICENSE 2 | Version 2, June 1991 3 | 4 | Copyright (C) 1989, 1991 Free Software Foundation, Inc., 5 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 6 | Everyone is permitted to copy and distribute verbatim copies 7 | of this license document, but changing it is not allowed. 8 | 9 | Preamble 10 | 11 | The licenses for most software are designed to take away your 12 | freedom to share and change it. By contrast, the GNU General Public 13 | License is intended to guarantee your freedom to share and change free 14 | software--to make sure the software is free for all its users. This 15 | General Public License applies to most of the Free Software 16 | Foundation's software and to any other program whose authors commit to 17 | using it. (Some other Free Software Foundation software is covered by 18 | the GNU Lesser General Public License instead.) You can apply it to 19 | your programs, too. 20 | 21 | When we speak of free software, we are referring to freedom, not 22 | price. Our General Public Licenses are designed to make sure that you 23 | have the freedom to distribute copies of free software (and charge for 24 | this service if you wish), that you receive source code or can get it 25 | if you want it, that you can change the software or use pieces of it 26 | in new free programs; and that you know you can do these things. 27 | 28 | To protect your rights, we need to make restrictions that forbid 29 | anyone to deny you these rights or to ask you to surrender the rights. 30 | These restrictions translate to certain responsibilities for you if you 31 | distribute copies of the software, or if you modify it. 32 | 33 | For example, if you distribute copies of such a program, whether 34 | gratis or for a fee, you must give the recipients all the rights that 35 | you have. You must make sure that they, too, receive or can get the 36 | source code. And you must show them these terms so they know their 37 | rights. 38 | 39 | We protect your rights with two steps: (1) copyright the software, and 40 | (2) offer you this license which gives you legal permission to copy, 41 | distribute and/or modify the software. 42 | 43 | Also, for each author's protection and ours, we want to make certain 44 | that everyone understands that there is no warranty for this free 45 | software. If the software is modified by someone else and passed on, we 46 | want its recipients to know that what they have is not the original, so 47 | that any problems introduced by others will not reflect on the original 48 | authors' reputations. 49 | 50 | Finally, any free program is threatened constantly by software 51 | patents. We wish to avoid the danger that redistributors of a free 52 | program will individually obtain patent licenses, in effect making the 53 | program proprietary. To prevent this, we have made it clear that any 54 | patent must be licensed for everyone's free use or not licensed at all. 55 | 56 | The precise terms and conditions for copying, distribution and 57 | modification follow. 58 | 59 | GNU GENERAL PUBLIC LICENSE 60 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 61 | 62 | 0. This License applies to any program or other work which contains 63 | a notice placed by the copyright holder saying it may be distributed 64 | under the terms of this General Public License. The "Program", below, 65 | refers to any such program or work, and a "work based on the Program" 66 | means either the Program or any derivative work under copyright law: 67 | that is to say, a work containing the Program or a portion of it, 68 | either verbatim or with modifications and/or translated into another 69 | language. (Hereinafter, translation is included without limitation in 70 | the term "modification".) Each licensee is addressed as "you". 71 | 72 | Activities other than copying, distribution and modification are not 73 | covered by this License; they are outside its scope. The act of 74 | running the Program is not restricted, and the output from the Program 75 | is covered only if its contents constitute a work based on the 76 | Program (independent of having been made by running the Program). 77 | Whether that is true depends on what the Program does. 78 | 79 | 1. You may copy and distribute verbatim copies of the Program's 80 | source code as you receive it, in any medium, provided that you 81 | conspicuously and appropriately publish on each copy an appropriate 82 | copyright notice and disclaimer of warranty; keep intact all the 83 | notices that refer to this License and to the absence of any warranty; 84 | and give any other recipients of the Program a copy of this License 85 | along with the Program. 86 | 87 | You may charge a fee for the physical act of transferring a copy, and 88 | you may at your option offer warranty protection in exchange for a fee. 89 | 90 | 2. You may modify your copy or copies of the Program or any portion 91 | of it, thus forming a work based on the Program, and copy and 92 | distribute such modifications or work under the terms of Section 1 93 | above, provided that you also meet all of these conditions: 94 | 95 | a) You must cause the modified files to carry prominent notices 96 | stating that you changed the files and the date of any change. 97 | 98 | b) You must cause any work that you distribute or publish, that in 99 | whole or in part contains or is derived from the Program or any 100 | part thereof, to be licensed as a whole at no charge to all third 101 | parties under the terms of this License. 102 | 103 | c) If the modified program normally reads commands interactively 104 | when run, you must cause it, when started running for such 105 | interactive use in the most ordinary way, to print or display an 106 | announcement including an appropriate copyright notice and a 107 | notice that there is no warranty (or else, saying that you provide 108 | a warranty) and that users may redistribute the program under 109 | these conditions, and telling the user how to view a copy of this 110 | License. (Exception: if the Program itself is interactive but 111 | does not normally print such an announcement, your work based on 112 | the Program is not required to print an announcement.) 113 | 114 | These requirements apply to the modified work as a whole. If 115 | identifiable sections of that work are not derived from the Program, 116 | and can be reasonably considered independent and separate works in 117 | themselves, then this License, and its terms, do not apply to those 118 | sections when you distribute them as separate works. But when you 119 | distribute the same sections as part of a whole which is a work based 120 | on the Program, the distribution of the whole must be on the terms of 121 | this License, whose permissions for other licensees extend to the 122 | entire whole, and thus to each and every part regardless of who wrote it. 123 | 124 | Thus, it is not the intent of this section to claim rights or contest 125 | your rights to work written entirely by you; rather, the intent is to 126 | exercise the right to control the distribution of derivative or 127 | collective works based on the Program. 128 | 129 | In addition, mere aggregation of another work not based on the Program 130 | with the Program (or with a work based on the Program) on a volume of 131 | a storage or distribution medium does not bring the other work under 132 | the scope of this License. 133 | 134 | 3. You may copy and distribute the Program (or a work based on it, 135 | under Section 2) in object code or executable form under the terms of 136 | Sections 1 and 2 above provided that you also do one of the following: 137 | 138 | a) Accompany it with the complete corresponding machine-readable 139 | source code, which must be distributed under the terms of Sections 140 | 1 and 2 above on a medium customarily used for software interchange; or, 141 | 142 | b) Accompany it with a written offer, valid for at least three 143 | years, to give any third party, for a charge no more than your 144 | cost of physically performing source distribution, a complete 145 | machine-readable copy of the corresponding source code, to be 146 | distributed under the terms of Sections 1 and 2 above on a medium 147 | customarily used for software interchange; or, 148 | 149 | c) Accompany it with the information you received as to the offer 150 | to distribute corresponding source code. (This alternative is 151 | allowed only for noncommercial distribution and only if you 152 | received the program in object code or executable form with such 153 | an offer, in accord with Subsection b above.) 154 | 155 | The source code for a work means the preferred form of the work for 156 | making modifications to it. For an executable work, complete source 157 | code means all the source code for all modules it contains, plus any 158 | associated interface definition files, plus the scripts used to 159 | control compilation and installation of the executable. However, as a 160 | special exception, the source code distributed need not include 161 | anything that is normally distributed (in either source or binary 162 | form) with the major components (compiler, kernel, and so on) of the 163 | operating system on which the executable runs, unless that component 164 | itself accompanies the executable. 165 | 166 | If distribution of executable or object code is made by offering 167 | access to copy from a designated place, then offering equivalent 168 | access to copy the source code from the same place counts as 169 | distribution of the source code, even though third parties are not 170 | compelled to copy the source along with the object code. 171 | 172 | 4. You may not copy, modify, sublicense, or distribute the Program 173 | except as expressly provided under this License. Any attempt 174 | otherwise to copy, modify, sublicense or distribute the Program is 175 | void, and will automatically terminate your rights under this License. 176 | However, parties who have received copies, or rights, from you under 177 | this License will not have their licenses terminated so long as such 178 | parties remain in full compliance. 179 | 180 | 5. You are not required to accept this License, since you have not 181 | signed it. However, nothing else grants you permission to modify or 182 | distribute the Program or its derivative works. These actions are 183 | prohibited by law if you do not accept this License. Therefore, by 184 | modifying or distributing the Program (or any work based on the 185 | Program), you indicate your acceptance of this License to do so, and 186 | all its terms and conditions for copying, distributing or modifying 187 | the Program or works based on it. 188 | 189 | 6. Each time you redistribute the Program (or any work based on the 190 | Program), the recipient automatically receives a license from the 191 | original licensor to copy, distribute or modify the Program subject to 192 | these terms and conditions. You may not impose any further 193 | restrictions on the recipients' exercise of the rights granted herein. 194 | You are not responsible for enforcing compliance by third parties to 195 | this License. 196 | 197 | 7. If, as a consequence of a court judgment or allegation of patent 198 | infringement or for any other reason (not limited to patent issues), 199 | conditions are imposed on you (whether by court order, agreement or 200 | otherwise) that contradict the conditions of this License, they do not 201 | excuse you from the conditions of this License. If you cannot 202 | distribute so as to satisfy simultaneously your obligations under this 203 | License and any other pertinent obligations, then as a consequence you 204 | may not distribute the Program at all. For example, if a patent 205 | license would not permit royalty-free redistribution of the Program by 206 | all those who receive copies directly or indirectly through you, then 207 | the only way you could satisfy both it and this License would be to 208 | refrain entirely from distribution of the Program. 209 | 210 | If any portion of this section is held invalid or unenforceable under 211 | any particular circumstance, the balance of the section is intended to 212 | apply and the section as a whole is intended to apply in other 213 | circumstances. 214 | 215 | It is not the purpose of this section to induce you to infringe any 216 | patents or other property right claims or to contest validity of any 217 | such claims; this section has the sole purpose of protecting the 218 | integrity of the free software distribution system, which is 219 | implemented by public license practices. Many people have made 220 | generous contributions to the wide range of software distributed 221 | through that system in reliance on consistent application of that 222 | system; it is up to the author/donor to decide if he or she is willing 223 | to distribute software through any other system and a licensee cannot 224 | impose that choice. 225 | 226 | This section is intended to make thoroughly clear what is believed to 227 | be a consequence of the rest of this License. 228 | 229 | 8. If the distribution and/or use of the Program is restricted in 230 | certain countries either by patents or by copyrighted interfaces, the 231 | original copyright holder who places the Program under this License 232 | may add an explicit geographical distribution limitation excluding 233 | those countries, so that distribution is permitted only in or among 234 | countries not thus excluded. In such case, this License incorporates 235 | the limitation as if written in the body of this License. 236 | 237 | 9. The Free Software Foundation may publish revised and/or new versions 238 | of the General Public License from time to time. Such new versions will 239 | be similar in spirit to the present version, but may differ in detail to 240 | address new problems or concerns. 241 | 242 | Each version is given a distinguishing version number. If the Program 243 | specifies a version number of this License which applies to it and "any 244 | later version", you have the option of following the terms and conditions 245 | either of that version or of any later version published by the Free 246 | Software Foundation. If the Program does not specify a version number of 247 | this License, you may choose any version ever published by the Free Software 248 | Foundation. 249 | 250 | 10. If you wish to incorporate parts of the Program into other free 251 | programs whose distribution conditions are different, write to the author 252 | to ask for permission. For software which is copyrighted by the Free 253 | Software Foundation, write to the Free Software Foundation; we sometimes 254 | make exceptions for this. Our decision will be guided by the two goals 255 | of preserving the free status of all derivatives of our free software and 256 | of promoting the sharing and reuse of software generally. 257 | 258 | NO WARRANTY 259 | 260 | 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY 261 | FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN 262 | OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES 263 | PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED 264 | OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 265 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS 266 | TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE 267 | PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, 268 | REPAIR OR CORRECTION. 269 | 270 | 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 271 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR 272 | REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, 273 | INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING 274 | OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED 275 | TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY 276 | YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER 277 | PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE 278 | POSSIBILITY OF SUCH DAMAGES. 279 | 280 | END OF TERMS AND CONDITIONS 281 | 282 | How to Apply These Terms to Your New Programs 283 | 284 | If you develop a new program, and you want it to be of the greatest 285 | possible use to the public, the best way to achieve this is to make it 286 | free software which everyone can redistribute and change under these terms. 287 | 288 | To do so, attach the following notices to the program. It is safest 289 | to attach them to the start of each source file to most effectively 290 | convey the exclusion of warranty; and each file should have at least 291 | the "copyright" line and a pointer to where the full notice is found. 292 | 293 | 294 | Copyright (C) 295 | 296 | This program is free software; you can redistribute it and/or modify 297 | it under the terms of the GNU General Public License as published by 298 | the Free Software Foundation; either version 2 of the License, or 299 | (at your option) any later version. 300 | 301 | This program is distributed in the hope that it will be useful, 302 | but WITHOUT ANY WARRANTY; without even the implied warranty of 303 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 304 | GNU General Public License for more details. 305 | 306 | You should have received a copy of the GNU General Public License along 307 | with this program; if not, write to the Free Software Foundation, Inc., 308 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 309 | 310 | Also add information on how to contact you by electronic and paper mail. 311 | 312 | If the program is interactive, make it output a short notice like this 313 | when it starts in an interactive mode: 314 | 315 | Gnomovision version 69, Copyright (C) year name of author 316 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 317 | This is free software, and you are welcome to redistribute it 318 | under certain conditions; type `show c' for details. 319 | 320 | The hypothetical commands `show w' and `show c' should show the appropriate 321 | parts of the General Public License. Of course, the commands you use may 322 | be called something other than `show w' and `show c'; they could even be 323 | mouse-clicks or menu items--whatever suits your program. 324 | 325 | You should also get your employer (if you work as a programmer) or your 326 | school, if any, to sign a "copyright disclaimer" for the program, if 327 | necessary. Here is a sample; alter the names: 328 | 329 | Yoyodyne, Inc., hereby disclaims all copyright interest in the program 330 | `Gnomovision' (which makes passes at compilers) written by James Hacker. 331 | 332 | , 1 April 1989 333 | Ty Coon, President of Vice 334 | 335 | This General Public License does not permit incorporating your program into 336 | proprietary programs. If your program is a subroutine library, you may 337 | consider it more useful to permit linking proprietary applications with the 338 | library. If this is what you want to do, use the GNU Lesser General 339 | Public License instead of this License. 340 | -------------------------------------------------------------------------------- /com.pajuelo.plasmaConfSaver/README.md: -------------------------------------------------------------------------------- 1 | PlasmaConfSaver 2 | =========== 3 | 4 | This is a plasma 5 widget that allows you to save your current desktop layout configuration and restore previous saved layouts on the fly. 5 | 6 | REQUERIMENTS: 7 | spectacle 8 | kdialog 9 | Konsole 10 | Qt.labs.platform 11 | 12 | Please, if you like the work i do, consider making a donation to support my work! Thaks you!
13 | [![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=RLHBW9ET7FLP4) 14 | 15 | -------------------------------------------------------------------------------- /com.pajuelo.plasmaConfSaver/contents/config/main.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 250 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /com.pajuelo.plasmaConfSaver/contents/locale/da_DK/LC_MESSAGES/plasma_applet_com.pajuelo.plasmaConfSaver.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paju1986/PlasmaConfSaver/6b560a14f7b7033b2c2d5f97af92012ba1850efc/com.pajuelo.plasmaConfSaver/contents/locale/da_DK/LC_MESSAGES/plasma_applet_com.pajuelo.plasmaConfSaver.mo -------------------------------------------------------------------------------- /com.pajuelo.plasmaConfSaver/contents/locale/de/LC_MESSAGES/plasma_applet_com.pajuelo.plasmaConfSaver.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paju1986/PlasmaConfSaver/6b560a14f7b7033b2c2d5f97af92012ba1850efc/com.pajuelo.plasmaConfSaver/contents/locale/de/LC_MESSAGES/plasma_applet_com.pajuelo.plasmaConfSaver.mo -------------------------------------------------------------------------------- /com.pajuelo.plasmaConfSaver/contents/locale/es/LC_MESSAGES/plasma_applet_com.pajuelo.plasmaConfSaver.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paju1986/PlasmaConfSaver/6b560a14f7b7033b2c2d5f97af92012ba1850efc/com.pajuelo.plasmaConfSaver/contents/locale/es/LC_MESSAGES/plasma_applet_com.pajuelo.plasmaConfSaver.mo -------------------------------------------------------------------------------- /com.pajuelo.plasmaConfSaver/contents/locale/fr/LC_MESSAGES/plasma_applet_com.pajuelo.plasmaConfSaver.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paju1986/PlasmaConfSaver/6b560a14f7b7033b2c2d5f97af92012ba1850efc/com.pajuelo.plasmaConfSaver/contents/locale/fr/LC_MESSAGES/plasma_applet_com.pajuelo.plasmaConfSaver.mo -------------------------------------------------------------------------------- /com.pajuelo.plasmaConfSaver/contents/locale/hr/LC_MESSAGES/plasma_applet_com.pajuelo.plasmaConfSaver.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paju1986/PlasmaConfSaver/6b560a14f7b7033b2c2d5f97af92012ba1850efc/com.pajuelo.plasmaConfSaver/contents/locale/hr/LC_MESSAGES/plasma_applet_com.pajuelo.plasmaConfSaver.mo -------------------------------------------------------------------------------- /com.pajuelo.plasmaConfSaver/contents/locale/id/LC_MESSAGES/plasma_applet_com.pajuelo.plasmaConfSaver.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paju1986/PlasmaConfSaver/6b560a14f7b7033b2c2d5f97af92012ba1850efc/com.pajuelo.plasmaConfSaver/contents/locale/id/LC_MESSAGES/plasma_applet_com.pajuelo.plasmaConfSaver.mo -------------------------------------------------------------------------------- /com.pajuelo.plasmaConfSaver/contents/locale/it/LC_MESSAGES/plasma_applet_com.pajuelo.plasmaConfSaver.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paju1986/PlasmaConfSaver/6b560a14f7b7033b2c2d5f97af92012ba1850efc/com.pajuelo.plasmaConfSaver/contents/locale/it/LC_MESSAGES/plasma_applet_com.pajuelo.plasmaConfSaver.mo -------------------------------------------------------------------------------- /com.pajuelo.plasmaConfSaver/contents/locale/nl_NL/LC_MESSAGES/plasma_applet_com.pajuelo.plasmaConfSaver.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paju1986/PlasmaConfSaver/6b560a14f7b7033b2c2d5f97af92012ba1850efc/com.pajuelo.plasmaConfSaver/contents/locale/nl_NL/LC_MESSAGES/plasma_applet_com.pajuelo.plasmaConfSaver.mo -------------------------------------------------------------------------------- /com.pajuelo.plasmaConfSaver/contents/locale/pt/LC_MESSAGES/plasma_applet_com.pajuelo.plasmaConfSaver.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paju1986/PlasmaConfSaver/6b560a14f7b7033b2c2d5f97af92012ba1850efc/com.pajuelo.plasmaConfSaver/contents/locale/pt/LC_MESSAGES/plasma_applet_com.pajuelo.plasmaConfSaver.mo -------------------------------------------------------------------------------- /com.pajuelo.plasmaConfSaver/contents/locale/tr/LC_MESSAGES/plasma_applet_com.pajuelo.plasmaConfSaver.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paju1986/PlasmaConfSaver/6b560a14f7b7033b2c2d5f97af92012ba1850efc/com.pajuelo.plasmaConfSaver/contents/locale/tr/LC_MESSAGES/plasma_applet_com.pajuelo.plasmaConfSaver.mo -------------------------------------------------------------------------------- /com.pajuelo.plasmaConfSaver/contents/locale/zh/LC_MESSAGES/plasma_applet_com.pajuelo.plasmaConfSaver.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paju1986/PlasmaConfSaver/6b560a14f7b7033b2c2d5f97af92012ba1850efc/com.pajuelo.plasmaConfSaver/contents/locale/zh/LC_MESSAGES/plasma_applet_com.pajuelo.plasmaConfSaver.mo -------------------------------------------------------------------------------- /com.pajuelo.plasmaConfSaver/contents/scripts/load.sh: -------------------------------------------------------------------------------- 1 | 2 | configPath=$1 3 | savePath=$2 4 | dataPath=$3 5 | modelData=$4 6 | 7 | if [ -d "$savePath/$modelData/icons" ]; then 8 | mv "$dataPath/icons" "$dataPath/icons.bak" 9 | cp -r "$savePath/$modelData/icons" "$dataPath" 10 | fi 11 | 12 | if [ -d "$savePath/$modelData/color-schemes" ]; then 13 | mv "$dataPath/color-schemes" "$dataPath/color-schemes.bak" 14 | cp -r "$savePath/$modelData/color-schemes" "$dataPath" 15 | fi 16 | 17 | if [ -d "$savePath/$modelData/plasma" ]; then 18 | mv "$dataPath/plasma" "$dataPath/plasma.bak" 19 | cp -r "$savePath/$modelData/plasma" "$dataPath" 20 | fi 21 | 22 | if [ -d "$savePath/$modelData/wallpapers" ]; then 23 | mv "$dataPath/wallpapers" "$dataPath/wallpapers.bak" 24 | cp -r "$savePath/$modelData/wallpapers" "$dataPath" 25 | fi 26 | 27 | if [ -d "$savePath/$modelData/kfontinst" ]; then 28 | mv "$dataPath/kfontinst" "$dataPath/kfontinst.bak" 29 | cp -r "$savePath/$modelData/kfontinst" "$dataPath" 30 | fi 31 | 32 | #backups 33 | mv "$configPath/plasma-org.kde.plasma.desktop-appletsrc" "$configPath/plasma-org.kde.plasma.desktop-appletsrc.bak" 34 | mv "$configPath/.config/plasmarc" "$configPath/.config/plasmarc.bak" 35 | mv "$configPath/.config/plasmashellrc" "$configPath/.config/plasmashellrc.bak" 36 | 37 | # plasma config files 38 | cp "$savePath/$modelData/plasma-org.kde.plasma.desktop-appletsrc" "$configPath/plasma-org.kde.plasma.desktop-appletsrc" 39 | cp "$savePath/$modelData/plasmarc" "$configPath/plasmarc" 40 | cp "$savePath/$modelData/plasmashellrc" "$configPath/plasmashellrc" 41 | cp "$savePath/$modelData/kdeglobals" "$configPath/kdeglobals" 42 | 43 | #kwin 44 | cp "$savePath/$modelData/kwinrc" "$configPath/kwinrc" 45 | cp "$savePath/$modelData/kwinrulesrc" "$configPath/kwinrulesrc" 46 | 47 | #latte-dock config files 48 | mv "$configPath/lattedockrc" "$configPath/lattedockrc.bak" 49 | mv "$configPath/latte" "$configPath/latte.bak" 50 | mv "$configPath/autostart" "$configPath/autostart.bak" 51 | mv "$configPath/Kvantum" "$configPath/Kvantum.bak" 52 | cp "$savePath/$modelData/lattedockrc" "$configPath/lattedockrc" 53 | cp -r "$savePath/$modelData/latte" "$configPath" 54 | cp -r "$savePath/$modelData/autostart" "$configPath" 55 | cp -r "$savePath/$modelData/Kvantum" "$configPath" 56 | #kvantum 57 | 58 | 59 | 60 | FILE=$savePath/$modelData/latterun 61 | 62 | #dolphin config 63 | cp "$savePath/$modelData/dolphinrc" "$configPath/dolphinrc" 64 | #config session desktop 65 | cp "$savePath/$modelData/ksmserverrc" "$configPath/ksmserverrc" 66 | #config input devices 67 | cp "$savePath/$modelData/kcminputrc" "$configPath/kcminputrc" 68 | #shortcuts 69 | cp "$savePath/$modelData/kglobalshortcutsrc" "$configPath/kglobalshortcutsrc" 70 | #klipper config 71 | cp "$savePath/$modelData/klipperrc" "$configPath/klipperrc" 72 | #konsole config 73 | cp "$savePath/$modelData/konsolerc" "$configPath/konsolerc" 74 | #kscreenlocker config 75 | cp "$savePath/$modelData/kscreenlockerrc" "$configPath/kscreenlockerrc" 76 | #krunner config 77 | cp "$savePath/$modelData/krunnerrc" "$configPath/krunnerrc" 78 | #fonts dpi config 79 | cp "$savePath/$modelData/kcmfonts" "$configPath/kcmfonts" 80 | 81 | 82 | sync 83 | if [ -f "$FILE" ]; then 84 | killall latte-dock 85 | sleep 1 && nohup latte-dock & 86 | else 87 | killall latte-dock 88 | fi 89 | 90 | 91 | qdbus org.kde.KWin /KWin reconfigure 92 | konsole -e kquitapp5 plasmashell && kstart5 plasmashell --windowclass plasmashell --window Desktop 93 | 94 | 95 | -------------------------------------------------------------------------------- /com.pajuelo.plasmaConfSaver/contents/scripts/save.sh: -------------------------------------------------------------------------------- 1 | configPath=$1 2 | configFolder=$2 3 | dataPath=$3 4 | 5 | mkdir "$configPath/plasmaConfSaver/" 6 | rm -Rf "$configFolder" 7 | mkdir "$configFolder" 8 | 9 | # screenshot 10 | spectacle -b -n -o "$configFolder/screenshot.png" 11 | #scrot "$configFolder/screenshot.png" 12 | 13 | # plasma config files 14 | cp "$configPath/plasma-org.kde.plasma.desktop-appletsrc" "$configFolder/plasma-org.kde.plasma.desktop-appletsrc" 15 | cp "$configPath/plasmarc" "$configFolder/plasmarc" 16 | cp "$configPath/plasmashellrc" "$configFolder/plasmashellrc" 17 | cp "$configPath/kdeglobals" "$configFolder/kdeglobals" 18 | 19 | #kwin 20 | cp "$configPath/kwinrc" "$configFolder/kwinrc" 21 | cp "$configPath/kwinrulesrc" "$configFolder/kwinrulesrc" 22 | 23 | #latte-dock config files 24 | cp "$configPath/lattedockrc" "$configFolder/lattedockrc" 25 | cp -r "$configPath/latte" "$configFolder/latte" 26 | 27 | #dolphin config 28 | cp "$configPath/dolphinrc" "$configFolder/dolphinrc" 29 | #config session desktop 30 | cp "$configPath/ksmserverrc" "$configFolder/ksmserverrc" 31 | #config input devices 32 | cp "$configPath/kcminputrc" "$configFolder/kcminputrc" 33 | #shortcuts 34 | cp "$configPath/kglobalshortcutsrc" "$configFolder/kglobalshortcutsrc" 35 | #klipper config 36 | cp "$configPath/klipperrc" "$configFolder/klipperrc" 37 | #konsole config 38 | cp "$configPath/konsolerc" "$configFolder/konsolerc" 39 | #kscreenlocker config 40 | cp "$configPath/kscreenlockerrc" "$configFolder/kscreenlockerrc" 41 | #krunner config 42 | cp "$configPath/krunnerrc" "$configFolder/krunnerrc" 43 | #kvantum theme 44 | cp -r "$configPath/Kvantum" "$configFolder/Kvantum" 45 | 46 | #autostart 47 | cp -r "$configPath/autostart" "$configFolder/autostart" 48 | 49 | #plasma themes and widgets 50 | cp -r "$dataPath/plasma" "$configFolder/plasma" 51 | 52 | #wallpapers 53 | cp -r "$dataPath/wallpapers" "$configFolder/wallpapers" 54 | 55 | 56 | 57 | #icons 58 | cp -r "$dataPath/icons" "$configFolder/icons" 59 | 60 | #color-schemes 61 | cp -r "$dataPath/color-schemes" "$configFolder/color-schemes" 62 | 63 | #fonts 64 | cp -r "$dataPath/kfontinst" "$configFolder/kfontinst" 65 | #fonts dpi 66 | cp "$configPath/kcmfonts" "$configFolder/kcmfonts" 67 | 68 | #if latte-dock was running when we saved then create a flag file for running it on restore 69 | if pgrep -x latte-dock > /dev/null 70 | then 71 | touch "$configFolder/latterun" 72 | fi 73 | -------------------------------------------------------------------------------- /com.pajuelo.plasmaConfSaver/contents/ui/FullRepresentation.qml: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2019 Alberto Pajuelo (paju1986@gmail.com) 3 | * 4 | * This program is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU General Public License as 6 | * published by the Free Software Foundation; either version 2 of 7 | * the License, or (at your option) any later version. 8 | * 9 | * This program 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 General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | */ 17 | import QtQuick 2.5 18 | import QtQuick.Layouts 1.1 19 | import org.kde.plasma.core 2.0 as PlasmaCore 20 | import org.kde.plasma.components 2.0 as PlasmaComponents 21 | import org.kde.plasma.extras 2.0 as PlasmaExtras 22 | import Qt.labs.platform 1.0 23 | 24 | Item { 25 | id: "parentItem" 26 | property real mediumSpacing: 1.5*units.smallSpacing 27 | property real textHeight: theme.defaultFont.pixelSize + theme.smallestFont.pixelSize + units.smallSpacing 28 | property real itemHeight: Math.max(units.iconSizes.large, textHeight) 29 | 30 | property string loadPath: null 31 | property string exportPath: null 32 | property string importPath: null 33 | property string configPath : StandardPaths.standardLocations(StandardPaths.GenericConfigLocation)[0].split("//")[1] 34 | property string dataPath : StandardPaths.standardLocations(StandardPaths.GenericDataLocation)[0].split("//")[1] 35 | property string savePath: configPath + "/plasmaConfSaver" 36 | property string modelData : null 37 | 38 | Layout.minimumWidth: widgetWidth + 100 39 | Layout.minimumHeight: (itemHeight + 2*mediumSpacing) * 10//listView.count 40 | 41 | Layout.maximumWidth: Layout.minimumWidth 42 | Layout.maximumHeight: Layout.minimumHeight 43 | 44 | Layout.preferredWidth: Layout.minimumWidth 45 | Layout.preferredHeight: Layout.minimumHeight 46 | 47 | 48 | 49 | PlasmaCore.DataSource { 50 | id: executeSource 51 | engine: "executable" 52 | connectedSources: [] 53 | onNewData: { 54 | var exitCode = data["exit code"] 55 | var exitStatus = data["exit status"] 56 | var stdout = data["stdout"] 57 | var stderr = data["stderr"] 58 | exited(sourceName, exitCode, exitStatus, stdout, stderr) 59 | disconnectSource(sourceName) // cmd finished 60 | } 61 | function exec(cmd) { 62 | if (cmd) { 63 | connectSource(cmd) 64 | } 65 | } 66 | signal exited(string cmd, int exitCode, int exitStatus, string stdout, string stderr) 67 | } 68 | 69 | PlasmaCore.DataSource { 70 | id: placesSource 71 | engine: 'filebrowser' 72 | interval: 500 73 | connectedSources: savePath 74 | } 75 | 76 | 77 | 78 | Column { 79 | id: col1 80 | anchors.fill: parent 81 | 82 | Row { 83 | id: row1 84 | height:text1.height 85 | anchors.right: col1.right 86 | anchors.left: col1.left 87 | PlasmaComponents.TextField { 88 | id: text1 89 | placeholderText: i18n("Enter customization title") 90 | text: "" 91 | width: parent.width * 0.8 92 | 93 | 94 | } 95 | PlasmaComponents.Button { 96 | id: button1 97 | text: "" 98 | height: parent.height 99 | PlasmaCore.IconItem { 100 | anchors.fill: parent 101 | source: "document-save" 102 | active: isHovered 103 | PlasmaCore.ToolTipArea { 104 | anchors.fill: parent 105 | id: tooltip 106 | mainText: i18n("Save") 107 | subText: i18n("Save your current customization") 108 | icon: "document-save" 109 | active: true 110 | } 111 | 112 | } 113 | width: parent.width * 0.1 114 | 115 | 116 | 117 | 118 | onClicked: { 119 | 120 | 121 | 122 | 123 | if(text1.text == "" || text1.text == null || text1.text == undefined) { 124 | text1.text = "default" 125 | } 126 | var plasmaConfSaverFolder = configPath + "/plasmaConfSaver/"; 127 | var configFolder = plasmaConfSaverFolder + text1.text; 128 | 129 | var saveScript = dataPath+"/plasma/plasmoids/com.pajuelo.plasmaConfSaver/contents/scripts/save.sh"; 130 | loadMask.visible = true; 131 | col1.enabled = false; 132 | 133 | executeSource.connectSource("sh "+ saveScript + " " + configPath + " " + configFolder + " " + dataPath + " ") 134 | 135 | listView.forceLayout() 136 | text1.text = "" 137 | 138 | 139 | } 140 | Connections { 141 | target: executeSource 142 | onExited : { 143 | 144 | if(cmd.indexOf("save.sh") != -1 || cmd.indexOf("rm -Rf") != -1) { 145 | listView.forceLayout(); 146 | loadMask.visible = false; 147 | col1.enabled = true; 148 | } 149 | if(cmd.indexOf("tar cvzf") != -1) { 150 | executeSource.connectSource("kdialog --getsavefilename $(pwd)/" + modelData + ".tar.gz ") 151 | } 152 | 153 | if(cmd.indexOf("kdialog --getsavefilename") != -1) { 154 | exportPath = stdout.replace("\n","") 155 | executeSource.connectSource("cp " + savePath + "/tmpExport.tar.gz " + exportPath) 156 | executeSource.connectSource("rm " + savePath + "/tmpExport.tar.gz") 157 | loadMask.visible = false; 158 | col1.enabled = true; 159 | } 160 | if(cmd.indexOf("kdialog --getopenfilename") != -1) { 161 | importPath = stdout.replace("\n","") 162 | var pathArray = importPath.split("/") 163 | 164 | 165 | var fileName = pathArray[pathArray.length - 1] 166 | 167 | var nameFolder = fileName.split(".") 168 | 169 | executeSource.connectSource("mkdir " + savePath + "/" + nameFolder[0]) 170 | 171 | executeSource.connectSource("tar xzvf " + importPath + " -C " + savePath + "/" + nameFolder[0]) 172 | 173 | 174 | 175 | } 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | } 186 | } 187 | 188 | } 189 | PlasmaComponents.Button { 190 | width: 40 191 | id: btnImport 192 | text: "" 193 | height: parent.height 194 | PlasmaCore.IconItem { 195 | anchors.fill: parent 196 | source: "document-import" 197 | active: isHovered 198 | PlasmaCore.ToolTipArea { 199 | anchors.fill: parent 200 | mainText: i18n("Import") 201 | subText: i18n("Import a customization") 202 | icon: "document-import" 203 | active: true 204 | } 205 | } 206 | onClicked:{ 207 | executeSource.connectSource("kdialog --getopenfilename $(pwd)") 208 | listView.forceLayout() 209 | } 210 | } 211 | } 212 | 213 | 214 | PlasmaExtras.ScrollArea { 215 | anchors.bottom: col1.bottom 216 | anchors.top: row1.bottom 217 | width: widgetWidth + 100 218 | 219 | ListView { 220 | id: listView 221 | anchors.fill: parent 222 | model: 223 | if(placesSource.data[savePath] != undefined) { 224 | return placesSource.data[savePath]["directories.all"] 225 | } else { 226 | return "" 227 | } 228 | 229 | 230 | highlight: PlasmaComponents.Highlight {} 231 | highlightMoveDuration: 0 232 | highlightResizeDuration: 0 233 | 234 | delegate: Item { 235 | width: parent.width 236 | // height: (mediumSpacing + btnLoad.height + mediumSpacing + btnUpdate.height + mediumSpacing + btnDelete.height + mediumSpacing + btnExport.height + mediumSpacing) 237 | height: (mediumSpacing + btnLoad.height + mediumSpacing + btnDelete.height + mediumSpacing + btnExport.height + mediumSpacing) 238 | 239 | 240 | property bool isHovered: false 241 | property bool isEjectHovered: false 242 | 243 | MouseArea { 244 | anchors.fill: parent 245 | hoverEnabled: true 246 | 247 | onEntered: { 248 | listView.currentIndex = index 249 | isHovered = true 250 | } 251 | onExited: { 252 | isHovered = false 253 | } 254 | onClicked: { 255 | //expanded = false 256 | text1.text = listView.currentIndex.text 257 | 258 | } 259 | 260 | Row { 261 | x: mediumSpacing 262 | y: mediumSpacing 263 | width: parent.width - mediumSpacing 264 | height: iitemHeight + 11*mediumSpacing 265 | spacing: mediumSpacing 266 | 267 | Column { 268 | id: columImage 269 | spacing: mediumSpacing 270 | width: parent.width - (btnLoad.width + mediumSpacing * 2 ) 271 | PlasmaComponents.Label { 272 | id: title 273 | text: model.modelData 274 | 275 | height: theme.defaultFont.pixelSize 276 | elide: Text.ElideRight 277 | } 278 | 279 | Image { 280 | id: screenshot 281 | //width: ((mediumSpacing + btnLoad.height + mediumSpacing + btnUpdate.height + mediumSpacing + btnDelete.height + mediumSpacing + btnExport.height) - textHeight) * 1.77 282 | //height: (mediumSpacing + btnLoad.height + mediumSpacing + btnUpdate.height + mediumSpacing + btnDelete.height + mediumSpacing + btnExport.height) - textHeight 283 | width: ((mediumSpacing + btnLoad.height + mediumSpacing + btnDelete.height + mediumSpacing + btnExport.height) - textHeight) * 1.77 284 | height: (mediumSpacing + btnLoad.height + mediumSpacing + btnDelete.height + mediumSpacing + btnExport.height) - textHeight 285 | fillMode: Image.Stretch 286 | source: savePath + "/" + model.modelData + "/screenshot.png" 287 | } 288 | } 289 | 290 | Column { 291 | spacing: mediumSpacing 292 | PlasmaComponents.Button { 293 | 294 | width: 40 295 | id: btnLoad 296 | text: "" 297 | height: btnImport.height 298 | PlasmaCore.IconItem { 299 | anchors.fill: parent 300 | source: "checkmark" 301 | active: isHovered 302 | PlasmaCore.ToolTipArea { 303 | anchors.fill: parent 304 | mainText: i18n("Load") 305 | subText: i18n("Load this customization") 306 | icon: "checkmark" 307 | active: true 308 | } 309 | } 310 | onClicked: { 311 | loadMask.visible = true; 312 | col1.enabled = false; 313 | 314 | var loadScript = dataPath+"/plasma/plasmoids/com.pajuelo.plasmaConfSaver/contents/scripts/load.sh"; 315 | 316 | executeSource.connectSource("cp " + loadScript + " " + savePath + "/load.sh && nohup sh "+ savePath + "/load.sh "+ configPath + " " + savePath + " " + dataPath + " " + model.modelData + " &") 317 | 318 | 319 | } 320 | 321 | 322 | } 323 | 324 | 325 | 326 | /* PlasmaComponents.Button { 327 | 328 | width: 40 329 | id: btnUpdate 330 | text: "" 331 | PlasmaCore.IconItem { 332 | anchors.fill: parent 333 | source: "checkmark" 334 | active: isHovered 335 | PlasmaCore.ToolTipArea { 336 | anchors.fill: parent 337 | mainText: i18n("Update") 338 | subText: i18n("Save this customization again") 339 | icon: "checkmark" 340 | active: true 341 | } 342 | } 343 | onClicked: { 344 | loadMask.visible = true; 345 | col1.enabled = false; 346 | 347 | var plasmaConfSaverFolder = configPath + "/plasmaConfSaver/"; 348 | var configFolder = plasmaConfSaverFolder + model.modelData; 349 | 350 | var saveScript = dataPath+"/plasma/plasmoids/com.pajuelo.plasmaConfSaver/contents/scripts/save.sh"; 351 | 352 | executeSource.connectSource("sh "+ saveScript + " " + configPath + " " + configFolder + " " + dataPath + " ") 353 | 354 | listView.forceLayout() 355 | text1.text = "" 356 | 357 | } 358 | 359 | 360 | } */ 361 | 362 | 363 | 364 | PlasmaComponents.Button { 365 | width: 40 366 | id: btnExport 367 | text: "" 368 | height: btnImport.height 369 | PlasmaCore.IconItem { 370 | anchors.fill: parent 371 | source: "document-export" 372 | active: isHovered 373 | PlasmaCore.ToolTipArea { 374 | anchors.fill: parent 375 | mainText: i18n("Export") 376 | subText: i18n("Export this customization") 377 | icon: "document-export" 378 | active: true 379 | } 380 | } 381 | onClicked:{ 382 | parentItem.modelData = model.modelData 383 | loadMask.visible = true; 384 | col1.enabled = false; 385 | executeSource.connectSource("tar cvzf " + savePath + "/tmpExport.tar.gz " + "-C "+ savePath + "/" + model.modelData + " .") 386 | 387 | 388 | listView.forceLayout() 389 | } 390 | } 391 | 392 | PlasmaComponents.Button { 393 | width: 40 394 | id: btnDelete 395 | text: "" 396 | height: btnImport.height 397 | PlasmaCore.IconItem { 398 | anchors.fill: parent 399 | source: "albumfolder-user-trash" 400 | active: isHovered 401 | PlasmaCore.ToolTipArea { 402 | anchors.fill: parent 403 | mainText: i18n("Delete") 404 | subText: i18n("Delete this customization") 405 | icon: "albumfolder-user-trash" 406 | active: true 407 | } 408 | } 409 | onClicked:{ 410 | loadMask.visible = true; 411 | col1.enabled = false; 412 | executeSource.connectSource("rm -Rf " + savePath + "/" + model.modelData) 413 | listView.forceLayout() 414 | } 415 | } 416 | 417 | } 418 | 419 | 420 | } 421 | } 422 | } 423 | } 424 | } 425 | 426 | } 427 | 428 | 429 | Rectangle { 430 | id: loadMask 431 | anchors.fill: parent 432 | color: "black" 433 | opacity: 0.8 434 | visible: false 435 | 436 | Rectangle { 437 | anchors.centerIn: parent 438 | height: 178 439 | width: 178 440 | color: "transparent" 441 | PlasmaComponents.BusyIndicator { 442 | height: 178 443 | width: 178 444 | } 445 | } 446 | 447 | } 448 | 449 | } 450 | -------------------------------------------------------------------------------- /com.pajuelo.plasmaConfSaver/contents/ui/main.qml: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2019 Alberto Pajuelo (paju1986@gmail.com) 3 | * 4 | * This program is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU General Public License as 6 | * published by the Free Software Foundation; either version 2 of 7 | * the License, or (at your option) any later version. 8 | * 9 | * This program 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 General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | */ 17 | import QtQuick 2.2 18 | import org.kde.plasma.plasmoid 2.0 19 | import org.kde.plasma.core 2.0 as PlasmaCore 20 | 21 | Item { 22 | property int widgetWidth: plasmoid.configuration.widgetWidth 23 | property string targetfolder: plasmoid.configuration.targetfolder.substr(-1) == "/" ? 24 | plasmoid.configuration.targetfolder : plasmoid.configuration.targetfolder + "/" 25 | 26 | Plasmoid.compactRepresentation: PlasmaCore.IconItem { 27 | source: 'folder-favorites' 28 | width: units.iconSizes.medium 29 | height: units.iconSizes.medium 30 | active: mouseArea.containsMouse 31 | 32 | MouseArea { 33 | id: mouseArea 34 | anchors.fill: parent 35 | onClicked: plasmoid.expanded = !plasmoid.expanded 36 | hoverEnabled: true 37 | } 38 | } 39 | 40 | Plasmoid.fullRepresentation: FullRepresentation {} 41 | 42 | Plasmoid.preferredRepresentation: Plasmoid.compactRepresentation 43 | // Plasmoid.preferredRepresentation: Plasmoid.fullRepresentation 44 | } 45 | -------------------------------------------------------------------------------- /com.pajuelo.plasmaConfSaver/metadata.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Encoding=UTF-8 3 | Name=PlasmaConfigSaver 4 | Comment=This is a plasma 5 widget that allows you to save your current desktop layout configuration and restore previous saved layouts on the fly. 5 | Type=Service 6 | X-KDE-ParentApp= 7 | X-KDE-PluginInfo-Author=Alberto Pajuelo Montes 8 | X-KDE-PluginInfo-Email=paju1986@gmail.com 9 | X-KDE-PluginInfo-License=GPL3 10 | X-KDE-PluginInfo-Name=com.pajuelo.plasmaConfSaver 11 | X-KDE-PluginInfo-Version=1.6 12 | X-KDE-PluginInfo-Website= 13 | X-KDE-ServiceTypes=Plasma/Applet 14 | X-Plasma-API=declarativeappletscript 15 | X-Plasma-MainScript=ui/main.qml 16 | X-Plasma-RemoteLocation= 17 | X-KDE-PluginInfo-Category=Application Launchers 18 | Icon=folder-favorites 19 | -------------------------------------------------------------------------------- /com.pajuelo.plasmaConfSaver/translate/ReadMe.md: -------------------------------------------------------------------------------- 1 | > Version 4 of Zren's i18n scripts. 2 | 3 | With KDE Frameworks v5.37 and above, translations are bundled with the *.plasmoid file downloaded from the store. 4 | 5 | ## Install Translations 6 | 7 | Go to `~/.local/share/plasma/plasmoids/com.github.zren.presentwindows/translate/` and run `sh ./build --restartplasma`. 8 | 9 | ## New Translations 10 | 11 | 1. Fill out [`template.pot`](template.pot) with your translations then open a [new issue](https://github.com/paju1986/PlasmaConfSaver/issues/new), name the file `spanish.txt`, attach the txt file to the issue (drag and drop). 12 | 13 | Or if you know how to make a pull request 14 | 15 | 1. Copy the `template.pot` file and name it your locale's code (Eg: `en`/`de`/`fr`) with the extension `.po`. Then fill out all the `msgstr ""`. 16 | 17 | ## Scripts 18 | 19 | * `./merge` will parse the `i18n()` calls in the `*.qml` files and write it to the `template.pot` file. Then it will merge any changes into the `*.po` language files. 20 | * `./build` will convert the `*.po` files to it's binary `*.mo` version and move it to `contents/locale/...` which will bundle the translations in the *.plasmoid without needed the user to manually install them. 21 | * `./install` will convert the `*.po` files to it's binary `*.mo` version and move it to `~/.local/share/locale/...`. 22 | * `./plasmoidlocaletest` will run `./build` then `plasmoidviewer` (part of `plasma-sdk`). 23 | 24 | ## Links 25 | 26 | * https://techbase.kde.org/Development/Tutorials/Localization/i18n_Build_Systems 27 | 28 | ## Examples 29 | 30 | * https://websvn.kde.org/trunk/l10n-kf5/fr/messages/kde-workspace/ 31 | * https://github.com/psifidotos/nowdock-plasmoid/tree/master/po 32 | * https://github.com/kotelnik/plasma-applet-redshift-control/tree/master/translations 33 | 34 | ## Status 35 | | Locale | Lines | % Done| 36 | |----------|---------|-------| 37 | | Template | 13 | | 38 | | da_DK | 11/13 | 84% | 39 | | es | 11/13 | 84% | 40 | | fr | 11/13 | 84% | 41 | | hr | 11/13 | 84% | 42 | | nl_NL | 11/13 | 84% | 43 | | pt | 11/13 | 84% | 44 | -------------------------------------------------------------------------------- /com.pajuelo.plasmaConfSaver/translate/build: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Version: 4 3 | 4 | # This script will convert the *.po files to *.mo files, rebuilding the package/contents/locale folder. 5 | # Feature discussion: https://phabricator.kde.org/D5209 6 | # Eg: contents/locale/fr_CA/LC_MESSAGES/plasma_applet_org.kde.plasma.eventcalendar.mo 7 | 8 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" 9 | plasmoidName=`kreadconfig5 --file="$DIR/../metadata.desktop" --group="Desktop Entry" --key="X-KDE-PluginInfo-Name"` 10 | website=`kreadconfig5 --file="$DIR/../metadata.desktop" --group="Desktop Entry" --key="X-KDE-PluginInfo-Website"` 11 | bugAddress="$website" 12 | packageRoot=".." # Root of translatable sources 13 | projectName="plasma_applet_${plasmoidName}" # project name 14 | 15 | #--- 16 | if [ -z "$plasmoidName" ]; then 17 | echo "[build] Error: Couldn't read plasmoidName." 18 | exit 19 | fi 20 | 21 | if [ -z "$(which msgfmt)" ]; then 22 | echo "[build] Error: msgfmt command not found. Need to install gettext" 23 | echo "[build] Running 'sudo apt install gettext'" 24 | sudo apt install gettext 25 | echo "[build] gettext installation should be finished. Going back to installing translations." 26 | fi 27 | 28 | #--- 29 | echo "[build] Compiling messages" 30 | 31 | catalogs=`find . -name '*.po'` 32 | for cat in $catalogs; do 33 | echo "$cat" 34 | catLocale=`basename ${cat%.*}` 35 | msgfmt -o "${catLocale}.mo" "$cat" 36 | 37 | installPath="$DIR/../contents/locale/${catLocale}/LC_MESSAGES/${projectName}.mo" 38 | 39 | echo "[build] Install to ${installPath}" 40 | mkdir -p "$(dirname "$installPath")" 41 | mv "${catLocale}.mo" "${installPath}" 42 | done 43 | 44 | echo "[build] Done building messages" 45 | 46 | if [ "$1" = "--restartplasma" ]; then 47 | echo "[build] Restarting plasmashell" 48 | killall plasmashell 49 | kstart5 plasmashell 50 | echo "[build] Done restarting plasmashell" 51 | else 52 | echo "[build] (re)install the plasmoid and restart plasmashell to test." 53 | fi 54 | -------------------------------------------------------------------------------- /com.pajuelo.plasmaConfSaver/translate/da_DK.po: -------------------------------------------------------------------------------- 1 | # Translation of plasmaConfSaver in Danish 2 | # Copyright (C) 2019 3 | # This file is distributed under the same license as the plasmaConfSaver package. 4 | # Magnus Larsen , 2019. 5 | # 6 | #, fuzzy 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: plasmaConfSaver \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2020-05-20 19:20+0200\n" 12 | "PO-Revision-Date: 2019-09-17 10:00+1\n" 13 | "Last-Translator: Magnus Larsen \n" 14 | "Language-Team: Magnus Larsen \n" 15 | "Language: Danish\n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=UTF-8\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | 20 | #: ../contents/ui/FullRepresentation.qml:89 21 | msgid "Enter customization title" 22 | msgstr "Indtast navn til layoutændring" 23 | 24 | #: ../contents/ui/FullRepresentation.qml:105 25 | msgid "Save" 26 | msgstr "Gem" 27 | 28 | #: ../contents/ui/FullRepresentation.qml:106 29 | msgid "Save your current customization" 30 | msgstr "Gem din nuværende layoutændring" 31 | 32 | #: ../contents/ui/FullRepresentation.qml:192 33 | msgid "Import" 34 | msgstr "Importer" 35 | 36 | #: ../contents/ui/FullRepresentation.qml:193 37 | msgid "Import a customization" 38 | msgstr "Importer en layoutændring" 39 | 40 | #: ../contents/ui/FullRepresentation.qml:291 41 | msgid "Load" 42 | msgstr "Indlæs" 43 | 44 | #: ../contents/ui/FullRepresentation.qml:292 45 | msgid "Load this customization" 46 | msgstr "Indlæs denne layoutændring" 47 | 48 | #: ../contents/ui/FullRepresentation.qml:324 49 | msgid "Update" 50 | msgstr "" 51 | 52 | #: ../contents/ui/FullRepresentation.qml:325 53 | msgid "Save this customization again" 54 | msgstr "" 55 | 56 | #: ../contents/ui/FullRepresentation.qml:358 57 | msgid "Export" 58 | msgstr "Eksporter" 59 | 60 | #: ../contents/ui/FullRepresentation.qml:359 61 | msgid "Export this customization" 62 | msgstr "Eksporter denne layoutændring" 63 | 64 | #: ../contents/ui/FullRepresentation.qml:382 65 | msgid "Delete" 66 | msgstr "Slet" 67 | 68 | #: ../contents/ui/FullRepresentation.qml:383 69 | msgid "Delete this customization" 70 | msgstr "Slet denne layoutændring" 71 | -------------------------------------------------------------------------------- /com.pajuelo.plasmaConfSaver/translate/de.po: -------------------------------------------------------------------------------- 1 | # Translation of plasmaConfSaver in German 2 | # Copyright (C) 2019 3 | # This file is distributed under the same license as the plasmaConfSaver package. 4 | # FIRST AUTHOR phil.garbowsky@philtech.dev, 2019. 5 | # 6 | #, fuzzy 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: plasmaConfSaver \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2019-05-12 20:32+0200\n" 12 | "PO-Revision-Date: 2019-10-23 10:26+0200\n" 13 | "Last-Translator: Philipp Garbowsky phil.garbowsky@philtech.dev\n" 14 | "Language-Team: German \n" 15 | "Language: \n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=CHARSET\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | 20 | #: ../contents/ui/FullRepresentation.qml:89 21 | msgid "Enter customization title" 22 | msgstr "Personalisierungsname" 23 | 24 | #: ../contents/ui/FullRepresentation.qml:105 25 | msgid "Save" 26 | msgstr "Speichern" 27 | 28 | #: ../contents/ui/FullRepresentation.qml:106 29 | msgid "Save your current customization" 30 | msgstr "Speichere diese Personalisierung" 31 | 32 | #: ../contents/ui/FullRepresentation.qml:255 33 | msgid "Import" 34 | msgstr "Importieren" 35 | 36 | #: ../contents/ui/FullRepresentation.qml:256 37 | msgid "Import a customization" 38 | msgstr "Importiere eine Personalisierung" 39 | 40 | #: ../contents/ui/FullRepresentation.qml:370 41 | msgid "Load" 42 | msgstr "Laden" 43 | 44 | #: ../contents/ui/FullRepresentation.qml:371 45 | msgid "Load this customization" 46 | msgstr "Lade diese Personalisierung" 47 | 48 | #: ../contents/ui/FullRepresentation.qml:433 49 | msgid "Export" 50 | msgstr "Exportieren" 51 | 52 | #: ../contents/ui/FullRepresentation.qml:434 53 | msgid "Export this customization" 54 | msgstr "Exportiere diese Personalisierung" 55 | 56 | #: ../contents/ui/FullRepresentation.qml:457 57 | msgid "Delete" 58 | msgstr "Löschen" 59 | 60 | #: ../contents/ui/FullRepresentation.qml:458 61 | msgid "Delete this customization" 62 | msgstr "Lösche diese Personalisierung" 63 | -------------------------------------------------------------------------------- /com.pajuelo.plasmaConfSaver/translate/es.po: -------------------------------------------------------------------------------- 1 | # Translation of plasmaConfSaver in es 2 | # Copyright (C) 2019 3 | # This file is distributed under the same license as the plasmaConfSaver package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | #, fuzzy 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: plasmaConfSaver \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2020-05-20 19:20+0200\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language-Team: LANGUAGE \n" 15 | "Language: es\n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=UTF-8\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | 20 | #: ../contents/ui/FullRepresentation.qml:89 21 | msgid "Enter customization title" 22 | msgstr "Introduzca el título de la personalización" 23 | 24 | #: ../contents/ui/FullRepresentation.qml:105 25 | msgid "Save" 26 | msgstr "Guardar" 27 | 28 | #: ../contents/ui/FullRepresentation.qml:106 29 | msgid "Save your current customization" 30 | msgstr "Guardar tu personalización de escritorio actual" 31 | 32 | #: ../contents/ui/FullRepresentation.qml:192 33 | msgid "Import" 34 | msgstr "Importar" 35 | 36 | #: ../contents/ui/FullRepresentation.qml:193 37 | msgid "Import a customization" 38 | msgstr "Importar personalización" 39 | 40 | #: ../contents/ui/FullRepresentation.qml:291 41 | msgid "Load" 42 | msgstr "Cargar" 43 | 44 | #: ../contents/ui/FullRepresentation.qml:292 45 | msgid "Load this customization" 46 | msgstr "Carga esta personalización" 47 | 48 | #: ../contents/ui/FullRepresentation.qml:324 49 | msgid "Update" 50 | msgstr "Actualizar" 51 | 52 | #: ../contents/ui/FullRepresentation.qml:325 53 | msgid "Save this customization again" 54 | msgstr "Guardar esta personalización de nuevo" 55 | 56 | #: ../contents/ui/FullRepresentation.qml:358 57 | msgid "Export" 58 | msgstr "Exportar" 59 | 60 | #: ../contents/ui/FullRepresentation.qml:359 61 | msgid "Export this customization" 62 | msgstr "Exportar personalización" 63 | 64 | #: ../contents/ui/FullRepresentation.qml:382 65 | msgid "Delete" 66 | msgstr "Borrar" 67 | 68 | #: ../contents/ui/FullRepresentation.qml:383 69 | msgid "Delete this customization" 70 | msgstr "Borra esta personalización" 71 | -------------------------------------------------------------------------------- /com.pajuelo.plasmaConfSaver/translate/fr.po: -------------------------------------------------------------------------------- 1 | # Translation of plasmaConfSaver in es 2 | # Copyright (C) 2019 3 | # This file is distributed under the same license as the plasmaConfSaver package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | #, fuzzy 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: plasmaConfSaver \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2020-05-20 19:20+0200\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: VALENTIN POHU \n" 14 | "Language-Team: FRENCH \n" 15 | "Language: \n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=CHARSET\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | 20 | #: ../contents/ui/FullRepresentation.qml:89 21 | msgid "Enter customization title" 22 | msgstr "Entrez le titre de la personnalisation" 23 | 24 | #: ../contents/ui/FullRepresentation.qml:105 25 | msgid "Save" 26 | msgstr "Sauvegarder" 27 | 28 | #: ../contents/ui/FullRepresentation.qml:106 29 | msgid "Save your current customization" 30 | msgstr "Sauvegardez votre personnalisation actuelle" 31 | 32 | #: ../contents/ui/FullRepresentation.qml:192 33 | msgid "Import" 34 | msgstr "Importer" 35 | 36 | #: ../contents/ui/FullRepresentation.qml:193 37 | msgid "Import a customization" 38 | msgstr "Importer une personnalisation" 39 | 40 | #: ../contents/ui/FullRepresentation.qml:291 41 | msgid "Load" 42 | msgstr "Charger" 43 | 44 | #: ../contents/ui/FullRepresentation.qml:292 45 | msgid "Load this customization" 46 | msgstr "Charger cette personnalisation" 47 | 48 | #: ../contents/ui/FullRepresentation.qml:324 49 | msgid "Update" 50 | msgstr "" 51 | 52 | #: ../contents/ui/FullRepresentation.qml:325 53 | msgid "Save this customization again" 54 | msgstr "" 55 | 56 | #: ../contents/ui/FullRepresentation.qml:358 57 | msgid "Export" 58 | msgstr "Exporter" 59 | 60 | #: ../contents/ui/FullRepresentation.qml:359 61 | msgid "Export this customization" 62 | msgstr "Exporter cette personnalisation" 63 | 64 | #: ../contents/ui/FullRepresentation.qml:382 65 | msgid "Delete" 66 | msgstr "Supprimer" 67 | 68 | #: ../contents/ui/FullRepresentation.qml:383 69 | msgid "Delete this customization" 70 | msgstr "Supprimer cette personnalisation" 71 | -------------------------------------------------------------------------------- /com.pajuelo.plasmaConfSaver/translate/hr.po: -------------------------------------------------------------------------------- 1 | # Translation of plasmaConfSaver in hr 2 | # Copyright (C) 2019 3 | # This file is distributed under the same license as the plasmaConfSaver package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | #, fuzzy 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: plasmaConfSaver \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2020-05-20 19:20+0200\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language-Team: LANGUAGE \n" 15 | "Language: \n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=CHARSET\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | 20 | #: ../contents/ui/FullRepresentation.qml:89 21 | msgid "Enter customization title" 22 | msgstr "Unesite naziv prilagodbe" 23 | 24 | #: ../contents/ui/FullRepresentation.qml:105 25 | msgid "Save" 26 | msgstr "Spremi" 27 | 28 | #: ../contents/ui/FullRepresentation.qml:106 29 | msgid "Save your current customization" 30 | msgstr "Spremi trenutne promjene" 31 | 32 | #: ../contents/ui/FullRepresentation.qml:192 33 | msgid "Import" 34 | msgstr "Uvezi" 35 | 36 | #: ../contents/ui/FullRepresentation.qml:193 37 | msgid "Import a customization" 38 | msgstr "Uvezi prilagodbu" 39 | 40 | #: ../contents/ui/FullRepresentation.qml:291 41 | msgid "Load" 42 | msgstr "Uitaj" 43 | 44 | #: ../contents/ui/FullRepresentation.qml:292 45 | msgid "Load this customization" 46 | msgstr "Uitaj ovu prilagodbu" 47 | 48 | #: ../contents/ui/FullRepresentation.qml:324 49 | msgid "Update" 50 | msgstr "" 51 | 52 | #: ../contents/ui/FullRepresentation.qml:325 53 | msgid "Save this customization again" 54 | msgstr "" 55 | 56 | #: ../contents/ui/FullRepresentation.qml:358 57 | msgid "Export" 58 | msgstr "Izvezi" 59 | 60 | #: ../contents/ui/FullRepresentation.qml:359 61 | msgid "Export this customization" 62 | msgstr "Izvezi ovu prilagodbu" 63 | 64 | #: ../contents/ui/FullRepresentation.qml:382 65 | msgid "Delete" 66 | msgstr "Ukloni" 67 | 68 | #: ../contents/ui/FullRepresentation.qml:383 69 | msgid "Delete this customization" 70 | msgstr "Ukloni ovu prilagodbu" 71 | -------------------------------------------------------------------------------- /com.pajuelo.plasmaConfSaver/translate/id.po: -------------------------------------------------------------------------------- 1 | # Translation of plasmaConfSaver in indonesia 2 | # Copyright (C) 2022 3 | # This file is distributed under the same license as the plasmaConfSaver package. 4 | # Adi Kurniawan , 2022. 5 | # 6 | #, fuzzy 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: plasmaConfSaver \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2022-01-31 18:41+0200\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: Adi Kurniawan \n" 14 | "Language-Team: Adi Kurniawan \n" 15 | "Language: Indonesia\n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=CHARSET\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | 20 | #: ../contents/ui/FullRepresentation.qml:89 21 | msgid "Enter customization title" 22 | msgstr "Masukan judul kustomisasi" 23 | 24 | #: ../contents/ui/FullRepresentation.qml:105 25 | msgid "Save" 26 | msgstr "Simpan" 27 | 28 | #: ../contents/ui/FullRepresentation.qml:106 29 | msgid "Save your current customization" 30 | msgstr "Simpan kustomisasi" 31 | 32 | #: ../contents/ui/FullRepresentation.qml:192 33 | msgid "Import" 34 | msgstr "Impor" 35 | 36 | #: ../contents/ui/FullRepresentation.qml:193 37 | msgid "Import a customization" 38 | msgstr "Impor kustomisasi" 39 | 40 | #: ../contents/ui/FullRepresentation.qml:291 41 | msgid "Load" 42 | msgstr "Memuat" 43 | 44 | #: ../contents/ui/FullRepresentation.qml:292 45 | msgid "Load this customization" 46 | msgstr "Memuat kustomisasi" 47 | 48 | #: ../contents/ui/FullRepresentation.qml:324 49 | msgid "Update" 50 | msgstr "Simpan kustomisasi" 51 | 52 | #: ../contents/ui/FullRepresentation.qml:325 53 | msgid "Save this customization again" 54 | msgstr "Simpan kustomisasi lagi" 55 | 56 | #: ../contents/ui/FullRepresentation.qml:358 57 | msgid "Export" 58 | msgstr "Ekspor" 59 | 60 | #: ../contents/ui/FullRepresentation.qml:359 61 | msgid "Export this customization" 62 | msgstr "Ekspor kustomisasi" 63 | 64 | #: ../contents/ui/FullRepresentation.qml:382 65 | msgid "Delete" 66 | msgstr "Hapus" 67 | 68 | #: ../contents/ui/FullRepresentation.qml:383 69 | msgid "Delete this customization" 70 | msgstr "Hapus kustomisasi" 71 | -------------------------------------------------------------------------------- /com.pajuelo.plasmaConfSaver/translate/install: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Version: 3 3 | 4 | # TODO: Call a CMakeLists.txt ... 5 | # OR just find out what env variables it looks at to determine the "/usr/share" dir. 6 | # TODO: check if run as root, and if so, install to /usr/share instead of ~/.local/share 7 | 8 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" 9 | plasmoidName=`kreadconfig5 --file="$DIR/../metadata.desktop" --group="Desktop Entry" --key="X-KDE-PluginInfo-Name"` 10 | website=`kreadconfig5 --file="$DIR/../metadata.desktop" --group="Desktop Entry" --key="X-KDE-PluginInfo-Website"` 11 | bugAddress="$website" 12 | packageRoot=".." # Root of translatable sources 13 | projectName="plasma_applet_${plasmoidName}" # project name 14 | 15 | #--- 16 | if [ -z "$plasmoidName" ]; then 17 | echo "[install] Error: Couldn't read plasmoidName." 18 | exit 19 | fi 20 | 21 | if [ -z "$(which msgfmt)" ]; then 22 | echo "[install] Error: msgfmt command not found. Need to install gettext" 23 | echo "[install] Running 'sudo apt install gettext'" 24 | sudo apt install gettext 25 | echo "[install] gettext installation should be finished. Going back to installing translations." 26 | fi 27 | 28 | #--- 29 | echo "[install] Installing messages" 30 | 31 | catalogs=`find . -name '*.po'` 32 | for cat in $catalogs; do 33 | echo "$cat" 34 | catLocale=`basename ${cat%.*}` 35 | msgfmt -o "${catLocale}.mo" "$cat" 36 | 37 | # installPath="/usr/share/locale/${catLocale}/LC_MESSAGES/${projectName}.mo" 38 | installPath="${HOME}/.local/share/locale/${catLocale}/LC_MESSAGES/${projectName}.mo" 39 | 40 | mkdir -p "$(dirname "$installPath")" 41 | 42 | echo "[install] Install to ${installPath}" 43 | 44 | # sudo mv "${catLocale}.mo" "${installPath}" 45 | # sudo chown root "${installPath}" 46 | mv "${catLocale}.mo" "${installPath}" 47 | done 48 | 49 | echo "[install] Done installing messages (will take effect after restarting plasmashell)" 50 | 51 | echo "[install] Restarting plasmashell" 52 | killall plasmashell 53 | kstart5 plasmashell 54 | echo "[install] Done restarting plasmashell" 55 | -------------------------------------------------------------------------------- /com.pajuelo.plasmaConfSaver/translate/it.po: -------------------------------------------------------------------------------- 1 | # Translation of plasmaConfSaver in LANGUAGE 2 | # Copyright (C) 2020 3 | # This file is distributed under the same license as the plasmaConfSaver package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | #, fuzzy 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: plasmaConfSaver \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2020-05-20 19:20+0200\n" 12 | "PO-Revision-Date: 2021-1O-21 18:00+0200\n" 13 | "Last-Translator: JACOPO SCHIAVON \n" 14 | "Language-Team: ITALIAN LL@li.org>\n" 15 | "Language: it\n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=UTF-8\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | 20 | #: ../contents/ui/FullRepresentation.qml:89 21 | msgid "Enter customization title" 22 | msgstr "Inserisci titolo della configurazione" 23 | 24 | #: ../contents/ui/FullRepresentation.qml:105 25 | msgid "Save" 26 | msgstr "Salva" 27 | 28 | #: ../contents/ui/FullRepresentation.qml:106 29 | msgid "Save your current customization" 30 | msgstr "Salva la tua configurazione attuale" 31 | 32 | #: ../contents/ui/FullRepresentation.qml:192 33 | msgid "Import" 34 | msgstr "Importa" 35 | 36 | #: ../contents/ui/FullRepresentation.qml:193 37 | msgid "Import a customization" 38 | msgstr "Importa una configurazione" 39 | 40 | #: ../contents/ui/FullRepresentation.qml:291 41 | msgid "Load" 42 | msgstr "Carica" 43 | 44 | #: ../contents/ui/FullRepresentation.qml:292 45 | msgid "Load this customization" 46 | msgstr "Carica questa configurazione" 47 | 48 | #: ../contents/ui/FullRepresentation.qml:324 49 | msgid "Update" 50 | msgstr "Aggiorna" 51 | 52 | #: ../contents/ui/FullRepresentation.qml:325 53 | msgid "Save this customization again" 54 | msgstr "Salva questa configurazione di nuovo" 55 | 56 | #: ../contents/ui/FullRepresentation.qml:358 57 | msgid "Export" 58 | msgstr "Esporta" 59 | 60 | #: ../contents/ui/FullRepresentation.qml:359 61 | msgid "Export this customization" 62 | msgstr "Esporta questa configurazione" 63 | 64 | #: ../contents/ui/FullRepresentation.qml:382 65 | msgid "Delete" 66 | msgstr "Cancella" 67 | 68 | #: ../contents/ui/FullRepresentation.qml:383 69 | msgid "Delete this customization" 70 | msgstr "Cancella questa configurazione" 71 | -------------------------------------------------------------------------------- /com.pajuelo.plasmaConfSaver/translate/merge: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Version: 7 3 | 4 | # https://techbase.kde.org/Development/Tutorials/Localization/i18n_Build_Systems 5 | # Based on: https://github.com/psifidotos/nowdock-plasmoid/blob/master/po/Messages.sh 6 | 7 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" 8 | plasmoidName=`kreadconfig5 --file="$DIR/../metadata.desktop" --group="Desktop Entry" --key="X-KDE-PluginInfo-Name"` 9 | widgetName="${plasmoidName##*.}" # Strip namespace 10 | website=`kreadconfig5 --file="$DIR/../metadata.desktop" --group="Desktop Entry" --key="X-KDE-PluginInfo-Website"` 11 | bugAddress="$website" 12 | packageRoot=".." # Root of translatable sources 13 | projectName="plasma_applet_${plasmoidName}" # project name 14 | 15 | #--- 16 | if [ -z "$plasmoidName" ]; then 17 | echo "[merge] Error: Couldn't read plasmoidName." 18 | exit 19 | fi 20 | 21 | if [ -z "$(which xgettext)" ]; then 22 | echo "[merge] Error: xgettext command not found. Need to install gettext" 23 | echo "[merge] Running 'sudo apt install gettext'" 24 | sudo apt install gettext 25 | echo "[merge] gettext installation should be finished. Going back to merging translations." 26 | fi 27 | 28 | #--- 29 | echo "[merge] Extracting messages" 30 | find "${packageRoot}" -name '*.cpp' -o -name '*.h' -o -name '*.c' -o -name '*.qml' | sort > "${DIR}/infiles.list" 31 | 32 | xgettext --from-code=UTF-8 -C -kde -ci18n -ki18n:1 -ki18nc:1c,2 -ki18np:1,2 -ki18ncp:1c,2,3 \ 33 | -ktr2i18n:1 -kI18N_NOOP:1 -kI18N_NOOP2:1c,2 -kN_:1 -kaliasLocale -kki18n:1 -kki18nc:1c,2 \ 34 | -kki18np:1,2 -kki18ncp:1c,2,3 --msgid-bugs-address="${bugAddress}" --files-from=infiles.list \ 35 | --width=200 --package-name="${widgetName}" --package-version="" \ 36 | -D "${packageRoot}" -D "${DIR}" -o "template.pot.new" || \ 37 | { echo "[merge] error while calling xgettext. aborting."; exit 1; } 38 | 39 | sed -i 's/# SOME DESCRIPTIVE TITLE./'"# Translation of ${widgetName} in LANGUAGE"'/' "template.pot.new" 40 | sed -i 's/# Copyright (C) YEAR THE PACKAGE'"'"'S COPYRIGHT HOLDER/'"# Copyright (C) $(date +%Y)"'/' "template.pot.new" 41 | 42 | if [ -f "template.pot" ]; then 43 | newPotDate=`grep "POT-Creation-Date:" template.pot.new | sed 's/.\{3\}$//'` 44 | oldPotDate=`grep "POT-Creation-Date:" template.pot | sed 's/.\{3\}$//'` 45 | sed -i 's/'"${newPotDate}"'/'"${oldPotDate}"'/' "template.pot.new" 46 | changes=`diff "template.pot" "template.pot.new"` 47 | if [ ! -z "$changes" ]; then 48 | # There's been changes 49 | sed -i 's/'"${oldPotDate}"'/'"${newPotDate}"'/' "template.pot.new" 50 | mv "template.pot.new" "template.pot" 51 | 52 | addedKeys=`echo "$changes" | grep "> msgid" | cut -c 9- | sort` 53 | removedKeys=`echo "$changes" | grep "< msgid" | cut -c 9- | sort` 54 | echo "" 55 | echo "Added Keys:" 56 | echo "$addedKeys" 57 | echo "" 58 | echo "Removed Keys:" 59 | echo "$removedKeys" 60 | echo "" 61 | 62 | else 63 | # No changes 64 | rm "template.pot.new" 65 | fi 66 | else 67 | # template.pot didn't already exist 68 | mv "template.pot.new" "template.pot" 69 | fi 70 | 71 | potMessageCount=`expr $(grep -c 'msgstr ""' "template.pot") - 1` 72 | echo "| Locale | Lines | % Done|" > "./Status.md" 73 | echo "|----------|---------|-------|" >> "./Status.md" 74 | entryFormat="| %-8s | %7s | %5s |" 75 | templateLine=`perl -e "printf(\"$entryFormat\", \"Template\", \"${potMessageCount}\", \"\")"` 76 | echo "$templateLine" >> "./Status.md" 77 | 78 | rm "${DIR}/infiles.list" 79 | echo "[merge] Done extracting messages" 80 | 81 | #--- 82 | echo "[merge] Merging messages" 83 | catalogs=`find . -name '*.po' | sort` 84 | for cat in $catalogs; do 85 | echo "[merge] $cat" 86 | catLocale=`basename ${cat%.*}` 87 | msgmerge \ 88 | --width=400 \ 89 | --no-fuzzy-matching \ 90 | -o "$cat.new" "$cat" "${DIR}/template.pot" 91 | sed -i 's/# SOME DESCRIPTIVE TITLE./'"# Translation of ${widgetName} in ${catLocale}"'/' "$cat.new" 92 | sed -i 's/# Translation of '"${widgetName}"' in LANGUAGE/'"# Translation of ${widgetName} in ${catLocale}"'/' "$cat.new" 93 | sed -i 's/# Copyright (C) YEAR THE PACKAGE'"'"'S COPYRIGHT HOLDER/'"# Copyright (C) $(date +%Y)"'/' "$cat.new" 94 | 95 | poEmptyMessageCount=`expr $(grep -Pzo 'msgstr ""\n\n' "$cat.new" | grep -c 'msgstr ""')` 96 | poMessagesDoneCount=`expr $potMessageCount - $poEmptyMessageCount` 97 | poCompletion=`perl -e "printf(\"%d\", $poMessagesDoneCount * 100 / $potMessageCount)"` 98 | poLine=`perl -e "printf(\"$entryFormat\", $catLocale, \"${poMessagesDoneCount}/${potMessageCount}\", \"${poCompletion}%\")"` 99 | echo "$poLine" >> "./Status.md" 100 | 101 | # mv "$cat" "$cat.old" 102 | mv "$cat.new" "$cat" 103 | done 104 | 105 | sed -i '/^|/ d' ./ReadMe.md # Remove status table from ReadMe 106 | cat ./Status.md >> ./ReadMe.md 107 | rm ./Status.md 108 | 109 | echo "[merge] Done merging messages" 110 | -------------------------------------------------------------------------------- /com.pajuelo.plasmaConfSaver/translate/nl_NL.po: -------------------------------------------------------------------------------- 1 | # Translation of plasmaConfSaver in nl_NL 2 | # Copyright (C) 2019 3 | # This file is distributed under the same license as the plasmaConfSaver package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: plasmaConfSaver\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2020-05-20 19:20+0200\n" 11 | "PO-Revision-Date: 2019-06-15 20:04+0200\n" 12 | "Last-Translator: Heimen Stoffels \n" 13 | "Language-Team: Dutch \n" 14 | "Language: nl_NL\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "X-Generator: Poedit 2.2.3\n" 19 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 20 | 21 | #: ../contents/ui/FullRepresentation.qml:89 22 | msgid "Enter customization title" 23 | msgstr "Voer een naam in voor het sjabloon" 24 | 25 | #: ../contents/ui/FullRepresentation.qml:105 26 | msgid "Save" 27 | msgstr "Opslaan" 28 | 29 | #: ../contents/ui/FullRepresentation.qml:106 30 | msgid "Save your current customization" 31 | msgstr "Sla je huidige sjabloon op" 32 | 33 | #: ../contents/ui/FullRepresentation.qml:192 34 | msgid "Import" 35 | msgstr "Importeren" 36 | 37 | #: ../contents/ui/FullRepresentation.qml:193 38 | msgid "Import a customization" 39 | msgstr "Importeer een sjabloon" 40 | 41 | #: ../contents/ui/FullRepresentation.qml:291 42 | msgid "Load" 43 | msgstr "Laden" 44 | 45 | #: ../contents/ui/FullRepresentation.qml:292 46 | msgid "Load this customization" 47 | msgstr "Laad dit sjabloon" 48 | 49 | #: ../contents/ui/FullRepresentation.qml:324 50 | msgid "Update" 51 | msgstr "" 52 | 53 | #: ../contents/ui/FullRepresentation.qml:325 54 | msgid "Save this customization again" 55 | msgstr "" 56 | 57 | #: ../contents/ui/FullRepresentation.qml:358 58 | msgid "Export" 59 | msgstr "Exporteren" 60 | 61 | #: ../contents/ui/FullRepresentation.qml:359 62 | msgid "Export this customization" 63 | msgstr "Exporteer dit sjabloon" 64 | 65 | #: ../contents/ui/FullRepresentation.qml:382 66 | msgid "Delete" 67 | msgstr "Verwijderen" 68 | 69 | #: ../contents/ui/FullRepresentation.qml:383 70 | msgid "Delete this customization" 71 | msgstr "Verwijder dit sjabloon" 72 | -------------------------------------------------------------------------------- /com.pajuelo.plasmaConfSaver/translate/plasmoidlocaletest: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Version 1 3 | # Requires plasmoidviewer v5.13.0 4 | 5 | function checkIfLangInstalled { 6 | dpkg -l ${1} >/dev/null 2>&1 || ( \ 7 | echo -e "${1} not installed.\nInstalling now before continuing.\n" \ 8 | ; sudo apt install ${1} \ 9 | ) || ( \ 10 | echo -e "\nError trying to install ${1}\nPlease run 'sudo apt install ${1}'\n" \ 11 | ; exit 1 \ 12 | ) 13 | } 14 | 15 | lang="${1}" 16 | languagePack="language-pack-$lang" 17 | 18 | 19 | if [ "$lang" == *":"* ]; then # String contains a colon so assume it's a locale code. 20 | IFS=: read -r l1 l2 <<< "${lang}" 21 | elif [ "$lang" == "bg" ]; then # Bulgarian (Bulgaria) 22 | lang="bg_BG:bg" 23 | elif [ "$lang" == "de" ]; then # German (Germany) 24 | lang="de_DE:de" 25 | elif [ "$lang" == "el" ]; then # Greek (Greece) 26 | lang="el_GR:el" 27 | elif [ "$lang" == "es" ]; then # Spanish (Mexico) 28 | lang="es_MX:es" 29 | elif [ "$lang" == "fr" ]; then # French (Canada) 30 | lang="fr_CA:fr" 31 | elif [ "$lang" == "nl" ]; then # Dutch (Netherlands) 32 | lang="nl_NL:nl" 33 | elif [ "$lang" == "pl" ]; then # Polish (Poland) 34 | lang="pl_PL:pl" 35 | elif [ "$lang" == "pt" ]; then # Portuguese (Brazil) 36 | lang="pt_BR:pt" 37 | elif [ "$lang" == "ru" ]; then # Russian (Russia) 38 | lang="ru_RU:ru" 39 | elif [ "$lang" == "uk" ]; then # Ukrainian (Ukraine) 40 | lang="uk_UA:uk" 41 | elif [ "$lang" == "zh_CN" ]; then # Chinese (China) 42 | lang="zh_CN:zh" 43 | languagePack="language-pack-zh-hans" 44 | else 45 | echo "plasmoidlocaletest doesn't recognize the language '$lang'" 46 | echo "Eg:" 47 | scriptcmd='sh ./plasmoidlocaletest' 48 | echo " $scriptcmd bg | Bulgarian (Bulgaria)" 49 | echo " $scriptcmd de | German (Germany)" 50 | echo " $scriptcmd el | Greek (Greece)" 51 | echo " $scriptcmd es | Spanish (Mexico)" 52 | echo " $scriptcmd fr | French (Canada)" 53 | echo " $scriptcmd nl | Dutch (Netherlands)" 54 | echo " $scriptcmd pl | Polish (Poland)" 55 | echo " $scriptcmd pt | Portuguese (Brazil)" 56 | echo " $scriptcmd ru | Russian (Russia)" 57 | echo " $scriptcmd uk | Ukrainian (Ukraine)" 58 | echo " $scriptcmd zh_CN | Chinese (China)" 59 | exit 1 60 | fi 61 | 62 | IFS=: read -r l1 l2 <<< "${lang}" 63 | l1="${l1}.UTF-8" 64 | 65 | # Check if language is installed 66 | checkIfLangInstalled "$languagePack" || exit 1 67 | 68 | echo "LANGUAGE=\"${lang}\"" 69 | echo "LANG=\"${l1}\"" 70 | 71 | # Build local translations for plasmoidviewer 72 | sh ./build 73 | 74 | LANGUAGE="${lang}" LANG="${l1}" QML_DISABLE_DISK_CACHE=true plasmoidviewer -a .. -l topedge -f horizontal -x 0 -y 0 75 | -------------------------------------------------------------------------------- /com.pajuelo.plasmaConfSaver/translate/pt.po: -------------------------------------------------------------------------------- 1 | # Translation of plasmaConfSaver in es 2 | # Copyright (C) 2019 3 | # This file is distributed under the same license as the plasmaConfSaver package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | #, fuzzy 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: plasmaConfSaver \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2020-05-20 19:20+0200\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language-Team: LANGUAGE \n" 15 | "Language: pt\n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=UTF-8\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | 20 | #: ../contents/ui/FullRepresentation.qml:89 21 | msgid "Enter customization title" 22 | msgstr "Introduza o titulo da customização" 23 | 24 | #: ../contents/ui/FullRepresentation.qml:105 25 | msgid "Save" 26 | msgstr "Salvar" 27 | 28 | #: ../contents/ui/FullRepresentation.qml:106 29 | msgid "Save your current customization" 30 | msgstr "Salvar atual customização" 31 | 32 | #: ../contents/ui/FullRepresentation.qml:192 33 | msgid "Import" 34 | msgstr "Importar" 35 | 36 | #: ../contents/ui/FullRepresentation.qml:193 37 | msgid "Import a customization" 38 | msgstr "Importar customização" 39 | 40 | #: ../contents/ui/FullRepresentation.qml:291 41 | msgid "Load" 42 | msgstr "Carregar" 43 | 44 | #: ../contents/ui/FullRepresentation.qml:292 45 | msgid "Load this customization" 46 | msgstr "Carregar esta customização" 47 | 48 | #: ../contents/ui/FullRepresentation.qml:324 49 | msgid "Update" 50 | msgstr "" 51 | 52 | #: ../contents/ui/FullRepresentation.qml:325 53 | msgid "Save this customization again" 54 | msgstr "" 55 | 56 | #: ../contents/ui/FullRepresentation.qml:358 57 | msgid "Export" 58 | msgstr "Exportar" 59 | 60 | #: ../contents/ui/FullRepresentation.qml:359 61 | msgid "Export this customization" 62 | msgstr "Exportar customização" 63 | 64 | #: ../contents/ui/FullRepresentation.qml:382 65 | msgid "Delete" 66 | msgstr "Apagar" 67 | 68 | #: ../contents/ui/FullRepresentation.qml:383 69 | msgid "Delete this customization" 70 | msgstr "Apagar esta customização" 71 | -------------------------------------------------------------------------------- /com.pajuelo.plasmaConfSaver/translate/template.pot: -------------------------------------------------------------------------------- 1 | # Translation of plasmaConfSaver in LANGUAGE 2 | # Copyright (C) 2020 3 | # This file is distributed under the same license as the plasmaConfSaver package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | #, fuzzy 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: plasmaConfSaver \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2020-05-20 19:20+0200\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language-Team: LANGUAGE \n" 15 | "Language: \n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=CHARSET\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | 20 | #: ../contents/ui/FullRepresentation.qml:89 21 | msgid "Enter customization title" 22 | msgstr "" 23 | 24 | #: ../contents/ui/FullRepresentation.qml:105 25 | msgid "Save" 26 | msgstr "" 27 | 28 | #: ../contents/ui/FullRepresentation.qml:106 29 | msgid "Save your current customization" 30 | msgstr "" 31 | 32 | #: ../contents/ui/FullRepresentation.qml:192 33 | msgid "Import" 34 | msgstr "" 35 | 36 | #: ../contents/ui/FullRepresentation.qml:193 37 | msgid "Import a customization" 38 | msgstr "" 39 | 40 | #: ../contents/ui/FullRepresentation.qml:291 41 | msgid "Load" 42 | msgstr "" 43 | 44 | #: ../contents/ui/FullRepresentation.qml:292 45 | msgid "Load this customization" 46 | msgstr "" 47 | 48 | #: ../contents/ui/FullRepresentation.qml:324 49 | msgid "Update" 50 | msgstr "" 51 | 52 | #: ../contents/ui/FullRepresentation.qml:325 53 | msgid "Save this customization again" 54 | msgstr "" 55 | 56 | #: ../contents/ui/FullRepresentation.qml:358 57 | msgid "Export" 58 | msgstr "" 59 | 60 | #: ../contents/ui/FullRepresentation.qml:359 61 | msgid "Export this customization" 62 | msgstr "" 63 | 64 | #: ../contents/ui/FullRepresentation.qml:382 65 | msgid "Delete" 66 | msgstr "" 67 | 68 | #: ../contents/ui/FullRepresentation.qml:383 69 | msgid "Delete this customization" 70 | msgstr "" 71 | -------------------------------------------------------------------------------- /com.pajuelo.plasmaConfSaver/translate/tr.po: -------------------------------------------------------------------------------- 1 | # Translation of plasmaConfSaver in LANGUAGE 2 | # Copyright (C) 2020 3 | # This file is distributed under the same license as the plasmaConfSaver package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | #, fuzzy 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: plasmaConfSaver \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2020-05-20 19:20+0200\n" 12 | "PO-Revision-Date: 2020-07-17 12:55+0300\n" 13 | "Last-Translator: Alef \n" 14 | "Language-Team: Turkish\n" 15 | "Language: Turkish\n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=CHARSET\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | 20 | #: ../contents/ui/FullRepresentation.qml:89 21 | msgid "Enter customization title" 22 | msgstr "Şablonlarınızda arayın..." 23 | 24 | #: ../contents/ui/FullRepresentation.qml:105 25 | msgid "Save" 26 | msgstr "Kaydet" 27 | 28 | #: ../contents/ui/FullRepresentation.qml:106 29 | msgid "Save your current customization" 30 | msgstr "Mevcut masaüstü şablonunuzu kaydedin" 31 | 32 | #: ../contents/ui/FullRepresentation.qml:192 33 | msgid "Import" 34 | msgstr "İçe Aktar" 35 | 36 | #: ../contents/ui/FullRepresentation.qml:193 37 | msgid "Import a customization" 38 | msgstr "Bir masaüstü şablonunu içe aktarın" 39 | 40 | #: ../contents/ui/FullRepresentation.qml:291 41 | msgid "Load" 42 | msgstr "Yükle" 43 | 44 | #: ../contents/ui/FullRepresentation.qml:292 45 | msgid "Load this customization" 46 | msgstr "Bu masaüstü şablonunu yükleyin" 47 | 48 | #: ../contents/ui/FullRepresentation.qml:324 49 | msgid "Update" 50 | msgstr "Güncelle" 51 | 52 | #: ../contents/ui/FullRepresentation.qml:325 53 | msgid "Save this customization again" 54 | msgstr "Bu masaüstü şablonunu yeniden kaydedin" 55 | 56 | #: ../contents/ui/FullRepresentation.qml:358 57 | msgid "Export" 58 | msgstr "Dışa Aktar" 59 | 60 | #: ../contents/ui/FullRepresentation.qml:359 61 | msgid "Export this customization" 62 | msgstr "Bu masaüstü şablonunu dışa aktarın" 63 | 64 | #: ../contents/ui/FullRepresentation.qml:382 65 | msgid "Delete" 66 | msgstr "Sil" 67 | 68 | #: ../contents/ui/FullRepresentation.qml:383 69 | msgid "Delete this customization" 70 | msgstr "Bu masaüstü şablonunu silin" 71 | -------------------------------------------------------------------------------- /com.pajuelo.plasmaConfSaver/translate/zh.po: -------------------------------------------------------------------------------- 1 | # Translation of plasmaConfSaver in LANGUAGE 2 | # Copyright (C) 2021 3 | # This file is distributed under the same license as the plasmaConfSaver package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | #, fuzzy 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: plasmaConfSaver \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2020-05-20 19:20+0200\n" 12 | "PO-Revision-Date: 2021-10-25 12:55-0700\n" 13 | "Last-Translator: LED \n" 14 | "Language-Team: Chinese\n" 15 | "Language: Chinese\n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=CHARSET\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | 20 | #: ../contents/ui/FullRepresentation.qml:89 21 | msgid "Enter customization title" 22 | msgstr "自定义配置名称" 23 | 24 | #: ../contents/ui/FullRepresentation.qml:105 25 | msgid "Save" 26 | msgstr "保存" 27 | 28 | #: ../contents/ui/FullRepresentation.qml:106 29 | msgid "Save your current customization" 30 | msgstr "保存当前自定义配置" 31 | 32 | #: ../contents/ui/FullRepresentation.qml:192 33 | msgid "Import" 34 | msgstr "导入" 35 | 36 | #: ../contents/ui/FullRepresentation.qml:193 37 | msgid "Import a customization" 38 | msgstr "导入已保存的配置" 39 | 40 | #: ../contents/ui/FullRepresentation.qml:291 41 | msgid "Load" 42 | msgstr "读取" 43 | 44 | #: ../contents/ui/FullRepresentation.qml:292 45 | msgid "Load this customization" 46 | msgstr "读取此配置" 47 | 48 | #: ../contents/ui/FullRepresentation.qml:324 49 | msgid "Update" 50 | msgstr "更新" 51 | 52 | #: ../contents/ui/FullRepresentation.qml:325 53 | msgid "Save this customization again" 54 | msgstr "再次保存此配置" 55 | 56 | #: ../contents/ui/FullRepresentation.qml:358 57 | msgid "Export" 58 | msgstr "导出" 59 | 60 | #: ../contents/ui/FullRepresentation.qml:359 61 | msgid "Export this customization" 62 | msgstr "导出此配置" 63 | 64 | #: ../contents/ui/FullRepresentation.qml:382 65 | msgid "Delete" 66 | msgstr "删除" 67 | 68 | #: ../contents/ui/FullRepresentation.qml:383 69 | msgid "Delete this customization" 70 | msgstr "删除此配置" 71 | --------------------------------------------------------------------------------