From db5966f929631c10ec28365e218e67ad4486a27b Mon Sep 17 00:00:00 2001 From: David Schulz Date: Fri, 7 Dec 2012 11:22:18 +0100 Subject: [PATCH] QtBase: Remove linguist example which was already moved ... to QtTools. Change-Id: I707d8debcf35b01046b78718fd4b48c03b1fa6e2 Reviewed-by: Leena Miettinen --- doc/src/examples/trollprint.qdoc | 261 ------------------ doc/src/images/linguist-arrowpad_en.png | Bin 1429 -> 0 bytes doc/src/images/linguist-arrowpad_fr.png | Bin 1671 -> 0 bytes doc/src/images/linguist-arrowpad_nl.png | Bin 1706 -> 0 bytes doc/src/images/linguist-hellotr_en.png | Bin 3367 -> 0 bytes doc/src/images/linguist-hellotr_la.png | Bin 753 -> 0 bytes doc/src/images/linguist-trollprint_10_en.png | Bin 1951 -> 0 bytes .../images/linguist-trollprint_10_pt_bad.png | Bin 2073 -> 0 bytes .../images/linguist-trollprint_10_pt_good.png | Bin 2120 -> 0 bytes doc/src/images/linguist-trollprint_11_en.png | Bin 2019 -> 0 bytes doc/src/images/linguist-trollprint_11_pt.png | Bin 2152 -> 0 bytes 11 files changed, 261 deletions(-) delete mode 100644 doc/src/examples/trollprint.qdoc delete mode 100644 doc/src/images/linguist-arrowpad_en.png delete mode 100644 doc/src/images/linguist-arrowpad_fr.png delete mode 100644 doc/src/images/linguist-arrowpad_nl.png delete mode 100644 doc/src/images/linguist-hellotr_en.png delete mode 100644 doc/src/images/linguist-hellotr_la.png delete mode 100644 doc/src/images/linguist-trollprint_10_en.png delete mode 100644 doc/src/images/linguist-trollprint_10_pt_bad.png delete mode 100644 doc/src/images/linguist-trollprint_10_pt_good.png delete mode 100644 doc/src/images/linguist-trollprint_11_en.png delete mode 100644 doc/src/images/linguist-trollprint_11_pt.png diff --git a/doc/src/examples/trollprint.qdoc b/doc/src/examples/trollprint.qdoc deleted file mode 100644 index 5a4e84fd146..00000000000 --- a/doc/src/examples/trollprint.qdoc +++ /dev/null @@ -1,261 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:FDL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Free Documentation License Usage -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. Please review the following information to ensure -** the GNU Free Documentation License version 1.3 requirements -** will be met: http://www.gnu.org/copyleft/fdl.html. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/*! - \example linguist/trollprint - \title Troll Print Example - - Troll Print is an example application that lets the user choose - printer settings. It comes in two versions: English and - Portuguese. - - \image linguist-trollprint_10_en.png - - We've included a translation file, \c trollprint_pt.ts, which contains some - Portuguese translations for this example. - - We will consider two releases of the same application: Troll Print - 1.0 and 1.1. We will learn to reuse the translations created for one - release in a subsequent release. (In this tutorial, you need to edit - some source files. It's probably best to copy all the files to a new - temporary directory and work from there.) - - See the \l{Qt Linguist manual} for more information about - translating Qt application. - - \section1 Line by Line Walkthrough - - The \c PrintPanel class is defined in \c printpanel.h. - - \snippet examples/linguist/trollprint/printpanel.h 0 - - \c PrintPanel is a QWidget. It needs the \c Q_OBJECT macro for \c - tr() to work properly. - - The implementation file is \c printpanel.cpp. - - \snippet examples/linguist/trollprint/printpanel.cpp 0 - - Some of the code is commented out in Troll Print 1.0; you will - uncomment it later, for Troll Print 1.1. - - \snippet examples/linguist/trollprint/printpanel.cpp 1 - \snippet examples/linguist/trollprint/printpanel.cpp 2 - - Notice the two occurrences of \c tr("Enabled") and of \c - tr("Disabled") in PrintPanel. Since both "Enabled"s and "Disabled"s - appear in the same context \e {Qt Linguist} will only display one - occurrence of each and will use the same translations for the - duplicates that it doesn't display. Whilst this is a useful - timesaver, in some languages, such as Portuguese, the second - occurrence requires a separate translation. We will see how \e {Qt - Linguist} can be made to display all the occurrences for separate - translation shortly. - - The header file for \c MainWindow, \c mainwindow.h, contains no - surprises. In the implementation, \c mainwindow.cpp, we have some - user-visible source texts that must be marked for translation. - - \snippet examples/linguist/trollprint/mainwindow.cpp 0 - - We must translate the window title. - - \snippet examples/linguist/trollprint/mainwindow.cpp 1 - \snippet examples/linguist/trollprint/mainwindow.cpp 3 - - We also need to translate the actions and menus. Note that the - two argument form of \c tr() is used for the keyboard - accelerator, "Ctrl+Q", since the second argument is the only clue - the translator has to indicate what function that accelerator - will perform. - - \snippet examples/linguist/trollprint/main.cpp 0 - - The \c main() function in \c main.cpp is the same as the one in - the \l{linguist/arrowpad}{Arrow Pad} example. In particular, it - chooses a translation file based on the current locale. - - \section1 Running Troll Print 1.0 in English and in Portuguese - - We will use the translations in the \c trollprint_pt.ts file that is provided. - - Set the \c LANG environment variable to \c pt, and then run \c - trollprint. You should still see the English version. Now run \c - lrelease, e.g. \c {lrelease trollprint.pro}, and then run the - example again. Now you should see the Portuguese edition (Troll - Imprimir 1.0): - - \image linguist-trollprint_10_pt_bad.png - - Whilst the translation has appeared correctly, it is in fact wrong. In - good Portuguese, the second occurrence of "Enabled" should be - "Ativadas", not "Ativado" and the ending for the second translation of - "Disabled" must change similarly too. - - If you open \c trollprint_pt.ts using \e {Qt Linguist}, you will see that - there is just one occurrence of "Enabled" and of "Disabled" in the - translation source file, even though there are two of each in the - source code. This is because \e {Qt Linguist} tries to minimize the - translator's work by using the same translation for duplicate source - texts. In cases such as this where an identical translation is wrong, - the programmer must disambiguate the duplicate occurrences. This is - easily achieved by using the two argument form of \c tr(). - - We can easily determine which file must be changed because the - translator's "context" is in fact the class name for the class where - the texts that must be changed appears. In this case the file is \c - printpanel.cpp, where there are four lines to change. Add the - second argument "two-sided" in the appropriate \c tr() calls to the - first pair of radio buttons: - - \snippet doc/src/snippets/code/doc_src_examples_trollprint.cpp 0 - - and add the second argument "colors" in the appropriate \c tr() calls - for the second pair of radio buttons: - - \snippet doc/src/snippets/code/doc_src_examples_trollprint.cpp 1 - - Now run \c lupdate and open \c trollprint_pt.ts with \e {Qt Linguist}. You - should now see two changes. - - First, the translation source file now contains \e three "Enabled", - "Disabled" pairs. The first pair is marked "(obs.)" signifying that they - are obsolete. This is because these texts appeared in \c tr() calls that - have been replaced by new calls with two arguments. The second pair has - "two-sided" as their comment, and the third pair has "colors" as their - comment. The comments are shown in the \uicontrol {Source text and comments} - area in \e {Qt Linguist}. - - Second, the translation text "Ativado" and "Desativado" have been - automatically used as translations for the new "Enabled" and "Disabled" - texts, again to minimize the translator's work. Of course in this case - these are not correct for the second occurrence of each word, but they - provide a good starting point. - - Change the second "Ativado" into "Ativadas" and the second - "Desativado" into "Desativadas", then save and quit. Run \c lrelease - to obtain an up-to-date binary \c trollprint_pt.qm file, and run Troll Print - (or rather Troll Imprimir). - - \image linguist-trollprint_10_pt_good.png - - The second argument to \c tr() calls, called "comments" in \e {Qt - Linguist}, distinguish between identical source texts that occur in - the same context (class). They are also useful in other cases to give - clues to the translator, and in the case of Ctrl key accelerators are - the only means of conveying the function performed by the accelerator to - the translator. - - An additional way of helping the translator is to provide information on - how to navigate to the particular part of the application that contains - the source texts they must translate. This helps them see the context - in which the translation appears and also helps them to find and test - the translations. This can be achieved by using a \c TRANSLATOR comment - in the source code: - - \snippet doc/src/snippets/code/doc_src_examples_trollprint.cpp 2 - - Try adding these comments to some source files, particularly to - dialog classes, describing the navigation necessary to reach the - dialogs. You could also add them to the example files, e.g. \c - mainwindow.cpp and \c printpanel.cpp are appropriate files. Run \c - lupdate and then start \e {Qt Linguist} and load in \c trollprint_pt.ts. - You should see the comments in the \uicontrol {Source text and comments} area - as you browse through the list of source texts. - - Sometimes, particularly with large programs, it can be difficult for - the translator to find their translations and check that they're - correct. Comments that provide good navigation information can save - them time: - - \snippet doc/src/snippets/code/doc_src_examples_trollprint.cpp 3 - - \section1 Troll Print 1.1 - - We'll now prepare release 1.1 of Troll Print. Start your favorite text - editor and follow these steps: - - \list - \li Uncomment the two lines that create a QLabel with the text - "\TROLL PRINT\" in \c printpanel.cpp. - \li Word-tidying: Replace "2-sided" by "Two-sided" in \c printpanel.cpp. - \li Replace "1.0" with "1.1" everywhere it occurs in \c mainwindow.cpp. - \li Update the copyright year to 1999-2000 in \c mainwindow.cpp. - \endlist - - (Of course the version number and copyright year would be consts or - #defines in a real application.) - - Once finished, run \c lupdate, then open \c trollprint_pt.ts in \e {Qt - Linguist}. The following items are of special interest: - - \list - \li \c MainWindow - \list - \li Troll Print 1.0 - marked "(obs.)", obsolete - \li About Troll Print 1.0 - marked "(obs.)", obsolete - \li Troll Print 1.0. Copyright 1999 Software, Inc. - - marked obsolete - \li Troll Print 1.1 - automatically translated as - "Troll Imprimir 1.1" - \li About Troll Print 1.1 - automatically translated as - "Troll Imprimir 1.1" - \li Troll Print 1.1. Copyright 1999-2000 Software, - Inc. - automatically translated as "Troll Imprimir 1.1. - Copyright 1999-2000 Software, Inc." - \endlist - \li \c PrintPanel - \list - \li 2-sided - marked "(obs.)", obsolete - \li \TROLL PRINT\ - unmarked, i.e. untranslated - \li Two-sided - unmarked, i.e. untranslated. - \endlist - \endlist - - Notice that \c lupdate works hard behind the scenes to make revisions - easier, and it's pretty smart with numbers. - - Go over the translations in \c MainWindow and mark these as "done". - Translate "\TROLL PRINT\" as "\TROLL IMPRIMIR\". - When you're translating "Two-sided", press the \uicontrol {Guess Again} - button to translate "Two-sided", but change the "2" into "Dois". - - Save and quit, then run \c lrelease. The Portuguese version - should look like this: - - \image linguist-trollprint_11_pt.png - - Choose \uicontrol{Ajuda|Sobre} (\uicontrol{Help|About}) to see the about box. - - If you choose \uicontrol {Ajuda|Sobre Qt} (\uicontrol {Help|About Qt}), you'll get - an English dialog. Oops! Qt itself needs to be translated. See - \l{Internationalization with Qt} for details. - - Now set \c LANG=en to get the original English version: - - \image linguist-trollprint_11_en.png -*/ diff --git a/doc/src/images/linguist-arrowpad_en.png b/doc/src/images/linguist-arrowpad_en.png deleted file mode 100644 index 9a95eb24ff694b4c056b892b6dd78cc8edbad4d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1429 zcmV;G1#0?vONsOGs z@0`c)#>d7=X`D)FrE7wc<}#zIw;bCSI&L4+YRb16xL zbDGXVVU!^>dnrwfF-3$zX`Fka)_bPbLTROpw%(Ms=Y+1-rM~BsuGUg%oI+)#DM5RL zhJ=Kg&V-)EN@1KKICF%e)`X_c5G-pLFncjkjEtt%F;SF^uGUg*rHr!HF;$dOajiK` zjFht0QhBXfb)^6R|2b8RT6whyC~KU$-kiGUoW9;#g0-B!?_+tbV|}e-eYFrYbEU)Q zrNi%~$LFQT@1@K4Ia!=3JbPn`y^S5rcK`qbmq|oHRCr$OmSwBtKoCV!(Q$W|r|$0V zvhMEg?(X`Fw>!l!GwH`>nN45=dm$kW{o!!9REjHDB~GpY*2pkLwT4vdq1H1Qs2|uG zZRnJwslBp1_(Rzz_#wSkQ zN!&Y;oS8|zPKlXMiw2>xR&PjC2h;K(ubih=o6+hnhs)zut*)Te09svbUk`;!q|vA_ zauuzfNz|Q8&b~^CB3gy&IJIZ?Ml~u_h9j(KH5NyyWf)!v9848@P3)kkPm6c;j!UkHe%gW5B5LyP*foF&f0u5OFUl~MyL)l94c(5?cB zQCgx8W1xyJQDe+-ZmnuTL3M4J`rFIp-%&xMi zG-z25wQLo;3Se?qSyc3@hpO!=4`AF}HP0%Ys{lAx|J|;lRZ437T;l*0Du3t;;Lfq4lrC5r}oU=_}#i<>JH%43423#v--cU)|6lE z+EI$bFboFa>2q$OTjc&1TMTARDU__Y0;!ol)Xtkfgi|{v5q;mSq)L@4mHJcwf)>=- zx1ln6pveRnPI^=opbK>X`cS#sW94cE05{wNNIlEvm-;9l=jwi>N|h>As#K|uYdI=V zuZ{H8RH?kb3Q_4e0f<+5!KyB5PF1ZcK$EJDo+ect-TkU+RRdskb*s8U`PGVGoB@#VTORjO2}Ql(0LBp>YV5AsTlq%GafAm2xoDwS9XGN=Hok%CW9 zi6DXc?3+~XKm|qYV58^q1RH;&nMXFS(eibZLs?-4J zLLI+8)Swp?_&tak7e%R4yQrhBO3dCoqu2#$xrMg{_>Q}+OT<1rs jRH;&>NUI00000NkvXXu0mjf9yP%} diff --git a/doc/src/images/linguist-arrowpad_fr.png b/doc/src/images/linguist-arrowpad_fr.png deleted file mode 100644 index fc33f9fd736a2cf4c9f03a566a7f4ae770aebf4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1671 zcmV;226*|2P)WBoDe8$Qf;MDb*)-? ztz&()V}iA7j=gi1#tGp3XvDl!T_vl)C33GYl)BzhX`Gz8-YGnL zLRpm7)6S*C=cUKz5HNGb$Hq!&r71y#IbED7O^iZir9x??Ym&WdlE!P6#xX^N5G-p- zWu-AmjB}RGF-?SXn$B~c&Il-TN^zwjJcN6m#xYTpF;$FvqSkw+&U>cT0094lhJ=Kg z&N)qt2rP3_d968Bj9PK6gs#?vuHKBM){LsoT6Lu%MT8hUdyKNyIbD>Dw%(Mk)+s!M zDM5Rbw&!DctwL3ll)mR7G;^G~=bXOY7%X#~zVBm#y`01EDM^H-zUM+=lw*p$Yl5|< z%l9ETb8CjZYl^jHA%x8U00du2L_t(|UhJ1;kK8a6Me~wjW@cJsW@cuFGBYzXGt*D4 z?eS{BtETO$o7JdSiX}__a&&a#XKo?4qU9DKm(q`ca!F9G0yQ$JY^-cEI*XidmV*Vs zf|ui?zR{CD<=om@C{(h)q)eq!T|VtsUsJ0!^Lc}LdAgQeEeD%dXB1NkQ)%2>Zmy`Z zR6VP<+N|%sM4O`D6N%P9YoMdU5k4I5k@J`MfwQiBSN<)*ebe35<&nu`PkV=FhhKTU zZ$G|YEbi|9`d3KZjTtAYp$IW_&o@C0eMlOrIpeQeH>A_I=$j1&g#jCirwm!Cp#(Ox zC$@2yh%(e6 z0Nf!!+2RiUE)a$zD+_cn6=DbgbqIj)jEn(o& z`VO%`IK-GJ5H(Z;kn9kE6de)=qK?FXvO5$3*y?-e-x#7D3KE_i=+GoJ1R&Kt#F4N- z>|ajY5GH~mL<9vuB1MNNkoY|$YDn@~Zu64@myzu-%k^hOo4sdG{Bk&zewNdUggJqL zw)=bN|9j|X`*xJ#FbIWF_{?)Q)-AaIjSLmz1SAjDqVdl83&uX#kDC00EG=g4i1ru0rPsB!J8+S2n)oICUh>E8AA60TpEsP@zNvu{kKg1p+*zLhcmE znEW?BuJ1TL4pJc67%Tb2A zY*e9p5YZ|`hzbE^l3?cw<&=2=g{e>h#dwB@R-sBENQDwmIXtF9?i485e5dfyYYgPi z2SKlnJQ;L!#qNWk??;dzL4pJc5+q2FAVF)p*yGE$p!q%0(dDOr1PKy!d)SLvp!Op$ z03r{IL9Kx?P+AX4d>d5T*VH-rEzAN@m#)(;P}9CHBXvFtR9l*L+5x(2Uso0^0s;M? zwtan_uL1QxLtH`7;Ftg+ed(4R4aE}TI5+n#97U+%I03-IwsjbISpLS8%8BFc3MomlGt&v*4Zu7bIwM1PKx(NRS{wf&>YAh04JZEWax%)UVBh R=&=9*002ovPDHLkV1nY40C)fZ diff --git a/doc/src/images/linguist-arrowpad_nl.png b/doc/src/images/linguist-arrowpad_nl.png deleted file mode 100644 index f2645a81b3b526a8b270f15494e022955663e808..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1706 zcmV;b237fqP)WBoDe8$Qf;MDaivmq zty+1lV|}$_g0*Xoy>phv5G-?qqRxz}){L^=oWAEFJbO7&jB}2?7&v>Bw%(Mw=WB|+ z7%+1wMTA;{wHP#ejIP$4$L~sEoKk6}5HNEoNsLl)tuaZ2T5+XXb*&I2Yg&1=T79)K zQH*1Ktua-ULS39=hP4PJYiowJbCSInG;?c?#(S2=7$|FVlE!nI#tGp3XvDl!T_voWtiKGcT0094lhJ=Kg z&N)qt2rP3_d968Bj9PK6gs#?vuHKBM){LsoT6Lu%MT8hUdyKNyIbD>Dw%(Mk)+s!M zDM5Rbw&!DctwL3ll)mR7G;^G~=bXOY7%X#~zVBm#y`01EDM^H-zUM+=lw*p$Yl5|< z%l9ETb8CjZYl^k7rl17?00e?bL_t(|UhJ1;kK8a6Me~wjW@escW@cu_GBYzXGt*D4 z?eS_LtETO$lhvqKiX}__a&&a#XJ)0aqGnd0kTQUQ3Q16*0yXhc)l}83cXT-3ltki@ z_{+eUckHBBKEJ*mjh5~&EmtTMmrwhY*OW@tLc>r)gQjR#(ZR*FSy{2nP-Zk$m@2Ey z)z4}yR?E9D)6LW0!{Ii6o4>Qu-hQ~fSIS;u2hTctoISTV*G*SnpIai4JPn5CLa#iY zw;$gxB_}4n{#7!7_!-w<(K`;5L=aJH;2R?H$|vPd?nV(&`OYH>MXj$M5vf!U7IqA2 zK4~@D#oapDtjuu2h=}f7HJi;fb+NjbwXt!!`STB(&F0_RVsEkAyQIgY?5Td|Ip_Id z?l$L2B;5Dil83>Wnb6#e*CU>hrQ~vQdFw!YL&x=wZfa0L%yFFSMy4STGBkn=VW6CDzdG65f0%16^@_{acNQVH# z?+_mdhZqwCqJ}yEQXK*iqeH?#)R7QSZiiX{@_i5e8$+~15yDdd9h#zs0K~e77!p1Z z|1T$O2opgEB7!)Oh|wVmBzzAE8WMe$+xn!yWMwsevSg2DvN- z#0M2re2{|ghd~e^K)Uh@08-Xn?voqkp(>=ZJNgF5nGE_zAde29)=!Z8aheH| z+StBDSw=ystS3_QenWlxTm`B@P-R&;t3qy^8)wcar~xN}Ofkr!VUYi3g5+^*mvg~o z*3yGQvq;PoTp+CgsfM{+I1r$fUF`AA_n_lW7I)Frc6JPQs8(24*81PBlyK!5-N0(7Rzp(9y-0Xl>anT~>sm;e9(07*qoM6N<$g7c3L AIsgCw diff --git a/doc/src/images/linguist-hellotr_en.png b/doc/src/images/linguist-hellotr_en.png deleted file mode 100644 index 6b3d8072cde780db0219f5f0b03d727864821cf3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3367 zcmV+?4cPLDP)Xm<@edNMmaJ&Ejr90PI$)B-u3od-KTub}Nd9*9F zCNt)YC6j^r@VUcIe__QR@fLgpFbVA&+cdPC{nfssLw@6GxiiL52`Lx`EhQWldP|26 z05E;_llTbeP5u~!w4(jfUZJR|EdTw&1%AFh_KjOw+rK$-G%_v)gWVDiFTFP_%w4{5 zY3?)iEo#fw9}j=RU~wG#0AWqbT!x~IQ7FIBWUi?!pEEZTW%1gSdi%yGix)R_R^{b$ ziK$r-!eOTiy*LRenP#1e*=Ojhl=5aR%dz^})`YZ0EO*X;op}2EWdOjOnNtVMa~xlwCfyITrwsv;JV(<5LH~0suJELx)mj=xi^@O)UKCO8n%Z838D+ z000;U`^CcDMWUZLbHNrRJ8il{I?)4ROgbge$?}s11>zh4fEa{BQZ!utrCO`gd3o?2 z8z08yu<^!+E$#PYje5O-$7P2GOU4Mj?eu`(Mr)hAPTHu`>p2{DSg^#`#~T1}wdxi= zN)$@ zzb$&{*^4+mzpyCdiD{%$DxDJjBncrvP!!h~MY=}=K)PE%&%Y1^fe^w$%O4T!vufcK ziLck42Kn~GSH*!rTn_tgU46Kio&U;gKW|=Rt9t+U)%7xMkR-rXClJDW^$mdn=GK>I z`3pUo+dKDvS6wI7NM%j9_LivvKX_~Bxm_Ewnp!*mexM>QI%0s)5BnMY5cZ31Y2c9l zQNjHD!XnF&)F<6R^aI2q0rZLudIm&~_5i@4i2hA0W^&nX0D#DlF{>8FZ$3~V@fS&a z+}1pmj2i@t`L91a16r4jAnA00v0-V ztBzWY0tA5&b{WkOH4jq$@+#TxYSicq93Eo z{iub` zN~6(^lXwFF_MW^J781Vq#I-qzq2nY%jmBypGbtgq;_9{TxuERV$HtFiFc?gxTYp~# zlR?bB7y#hP)$6t_6BA+p01Olb0H6pknIV-h=Uz$pHF!xhx zJnN`OP<%w-$$#*3ze24a=k8`*LqTGI6Y%1>n@lF#kp+kwF`7*RPc{Gmf}USJFj)-$ zwhpa-5DP`n0lWkRLHkv^G0<+uLWuQACsd@!@0k8eWtC;z6SF{mVNrbCWGdZ}{CNBm zvp#AmIzA4-5SD(_8(_P$>mMq^1HHE%xOnMC1F^F`C2sQ1l~sNAz-6=VHFrdYjLFN2 z-F>|B#RUlffIG5w9+#)??Cf6ta#_s}8VO35$&3JGVE1n^`#MyJ7-_N} zFdf%EHYUn)7U+}ip!6#`bNS-6--tN|K@f}Srnm8avs@50Gz&jcCnCQwM}PeFFUykG zS|tCUZ#QlG)@F|N75N@Le>*ZHB|RxDJt+(yQU_1hh{e8!dPBQX=fmgh-?Z>@P2=A_ zFCY9?H%eK#kqS3b_!2D4x^y2BdUW(8oE{xL$&5kLDV0u*eydAPn)@P#IWC1_q7Ww2 zeMp`akU9|v1U0h8ZHFor&5ZE(@z5Gfmu@!fE4djO7J9w38VqL=U!3 zNpuIvA7#3sz|ASy2I0ck$x(PI9y>V-LP$E51P0uBs95vy4~DKT28s&!ULm0&2!dFe z5yd=C@%I-uD3t5ApEVe|+}&CJVv)$t8$!tEdp0RmE8ah0#>_k}mvo`QM88}vcXHcD ztx{4K?!!gz9T0PuZ(Nr5QeBfA(C81iY?d37ai-*OcvLcn=V{+qr%~75xRjQ;$Y?Ta z^#vb>+MrRla^zQoJ=B6(VC(xM`na)+tKgJXdy=-B0Sre0DxngbLH)A zy|Y@+CJ7A}1JA>QIBsl^?b>;cNwRqOu;tL9gS4ky5=)lkibQ^WtosS=OG{3^z3Cm= zQ!a@QKlmUcGs|)WSjk^na`M&J)?j8c?J1YUiWMvN?Ah~NUS8kw0{}1xF$|+U<&vO2 z;2_HnAx6vZvhq`urO1y#I{CY-{1jzT+9{(MwEUwQl;jT}z5nm3pejp8KOOy)@TdLa zqR~&!{WR>z54+#GJ*-fcWlqW}Q`&8@MR92PzrIy!`~Uft>;TYnKaEFQepA~I?=MRV z6Z?*howxq5)XsMsbTt*fy(m6dBou|l&Rcg#X0ZCN_Qu-ev^_E-0Kjl(%M?k>hMPJ7 zfKj?*X7Yv`S{rm#c~(?L(RW)i!$rZfKdiOr66)@L@#n1AP=E2n%(Y+rs=*#b`QbX7Yg)@I+KkZLQGG%k{$vox799Z9FB`v)+Hvi-3!gq8%pxvl zknSt^Cj70Eo6_3S*LYuUx~2xUU(Rsl{zoPGE6cNj1YZ1}pP=kAB>(^bL;a!s^6a#U zLN=4d51E!dyZy+%I$d8q=%rtMtDB!W*^k3uaQtGjmkMf&Wmc)eV_c4~;fPcVH1~@X zA$eh{;yY@ntvmd{cTqUc4xJPJ!pmu6J-h-!J$k>^rmNxTLEWOoQ^XuM?%25n|6D3z zJ%Z5>;mC-8e#(h@g|egPr@lCa4_SXF)ed!7?y5oJbd1e*jd~r!9$TB2CBa zfbD6Uurds;UvW>DxP7Qd(HT z1in$KHbQT=zA2#Rz)hGSz#iyKkk0@Bn6(ddz#S#+X>rCb5VvkG-QOCpCeS-DJ4o@) zv3;E(n}XO78f?+6?~OQh_kG+4Yt$Mcp9uiaHJ^K6=rN|XxQD&)@4Saw zbD|`o(9~DYN4>Y}nIJb?mLEMOeJ^ujp#Oxlg0lE`_pgm$lSLCfo+vzk1cSPqyQ4 z^#1&_&sM#(+F;Pr`ynm~O=suVUw@6i*RQcbwrl53de?7MgMQvWia0`x_f%v@b>>ko?uFXfKRf{1=Gx=jzbvU9SKD002ovPDHLkV1f+SdSw6r diff --git a/doc/src/images/linguist-hellotr_la.png b/doc/src/images/linguist-hellotr_la.png deleted file mode 100644 index f1ecdb07adb385aca8910fd7aeae73b96e6fb6c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 753 zcmVNUAw`5KL4*JR{}3p1DM^G7Fmo|U zgb*ZaF;SE`QH(iNlsQ?H7&LQ2Rg^+qltNvcLS>vvVVp{3oJwh>N^PZ5X{AzerBZRN zQhBXfb*)-`ty+DxT7tD>eYInTwPS|8YlgLJioF;#dvlJxbCSk$md1OQ#(SE^dz#LB zqRtpNdxVCBgr3fXrp|<>)`Y6ojH=d*uGWmQ-i)^1l(OEGy55w!=bXCUoWAFr!{?mC z@1?`%Avk*>JbNKLgr&>(YmU7n47^7G00G5GL_t(|UgemFj_NQFMQ7|#%l6)T@4ff_ z-v58kI+oeNag;%3F)QUJpbU(3bQs5x02wv{B!)~B149b-3RrM5++W@M_-YhOBa_p! z^NY)?>zmuVm7|l3tDC!rrXULl~H^5DeTXMLzNIzBZsx3ILbwz2bn|M2+q^7{7v z@%7ys$QzE4;X$h*+7Zdx?XZDXH#7|gS`4>-44-2|Ow1-(I~_@2AEgHD3{!#7j0dn# zMpTA~+7Qv1VVgh&H}4McoT3d8l_6q0Lqs$)WDHF~K+V!G7g(bhL&Q3&7{k;V@<6RE zSs)qe85+ZihoSc4fb0yrX{hhR5Hlphj2VJX29Q=MZ&*ddMiCM9Dn)mO1my2S){xyx zJKt%*N;`XLWJM%vw}W|FaC@m>;&c!&2hYQRF+dCxLBKF}xdTFX4+jW6ogt{0D|%-F zSsyTlkcom!AaQ^({5_z*A%Fyx=Cujv3aF5#M_(^2MyNPa484C+tA~I-_aR7o(HLghqOoyt%^UK8KfZZ0hTT1K_dJY(gn%MY jq|C=(Us2Eq5P|azH2&hyKnkwG00000NkvXXu0mjffEihO diff --git a/doc/src/images/linguist-trollprint_10_en.png b/doc/src/images/linguist-trollprint_10_en.png deleted file mode 100644 index e460481f96739c648d1434d1436ce8e4ac867d8c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1951 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 Ze4#nz^-3kj@+E+ThkPI0O!;@g{{jBI=bQil diff --git a/doc/src/images/linguist-trollprint_11_en.png b/doc/src/images/linguist-trollprint_11_en.png deleted file mode 100644 index f718c995c0dc9650536e4c6c20a26ca4ffa815b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2019 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 FzW}S}`X~SZ