diff --git a/app/Algorithms/Pyramid.cpp b/app/Algorithms/Pyramid.cpp index fb2a39f32af658a31219ba8e746bfdbfa3d9ef68..72b7e49a8f34757ceb5ea25e379739625eab73f7 100644 --- a/app/Algorithms/Pyramid.cpp +++ b/app/Algorithms/Pyramid.cpp @@ -18,6 +18,7 @@ */ #include "Pyramid.h" +#include "../Tools.h" #include <Algorithm/Filtering.h> #include <cstdio> #include <cstring> @@ -658,7 +659,7 @@ string Pyramid::entropie_p(const uint8_t *pyra,int etage_f,int nbc,int nbl) j=j+taille_c*taille_l; taille_c=taille_c/2; taille_l=taille_l/2; - sprintf(buffer, "L'entropie de l'etage %d est %1f\n",i,h); + sprintf(buffer, QString(qApp->translate("Operations","L'entropie de l'etage %d est %1f\n")).toUtf8(),i,h); returnval = returnval + buffer; } return returnval; diff --git a/app/Operations/Huffman.cpp b/app/Operations/Huffman.cpp index 95c36ca655a6ecb25294ee96bf8eb56ad8295ec2..c1109803d80506b7a9ec8335aed6eb7fcccd2c08 100644 --- a/app/Operations/Huffman.cpp +++ b/app/Operations/Huffman.cpp @@ -18,6 +18,7 @@ */ #include "Huffman.h" +#include "../Tools.h" #include <cstring> #include <cstdio> #include <cmath> @@ -94,7 +95,7 @@ string Huffman::execute( const GrayscaleImage *im ) { sprintf(buffer, "--->%2d bits Pi[%3d] = %7.5f\n",*(ilon+i),*(indicePi+i)-1,*(Pi+i)); returnval = returnval + buffer; } - sprintf(buffer, "\n debit(huffman) = %.4f\n",nbbit); + sprintf(buffer, QString(qApp->translate("Operations","\n debit(huffman) = %.4f\n")).toUtf8(),nbbit); returnval = returnval + buffer; return returnval; diff --git a/app/Operations/PyramidDialog.cpp b/app/Operations/PyramidDialog.cpp index 0c04fc26f1c5924601a5afcee002a3edb9979ef2..79f6a42f5e4a582a256913e671363e2a3b7af7a5 100644 --- a/app/Operations/PyramidDialog.cpp +++ b/app/Operations/PyramidDialog.cpp @@ -38,23 +38,23 @@ Pyramid::Filtre PyramidDialog::getFilter(std::string &to_print) const { bool notFoundError = false; switch(ui->filterBox->currentIndex()) { case 1: notFoundError = !filters.getFromName("gaussien", filter); - to_print = "Decomposition pyramidale avec filtre gaussien : \n"; + to_print = QString(qApp->translate("PyramidDialog","Decomposition pyramidale avec filtre gaussien :\n")).toStdString(); break; case 2: notFoundError = !filters.getFromName("trimodal", filter); - to_print = "Decomposition pyramidale avec filtre trimodal : \n"; + to_print = QString(qApp->translate("PyramidDialog","Decomposition pyramidale avec filtre trimodal :\n")).toStdString(); break; case 3: notFoundError = !filters.getFromName("rectangulaire", filter); - to_print = "Decomposition pyramidale avec filtre rectangulaire : \n"; + to_print = QString(qApp->translate("PyramidDialog","Decomposition pyramidale avec filtre rectangulaire :\n")).toStdString(); break; case 4: notFoundError = !filters.getFromName("qmf", filter); - to_print = "Decomposition pyramidale avec filtre qmf : \n"; + to_print = QString(qApp->translate("PyramidDialog","Decomposition pyramidale avec filtre qmf :\n")).toStdString(); break; default: notFoundError = !filters.getFromName("triangulaire", filter); - to_print = "Decomposition pyramidale avec filtre triangulaire : \n"; + to_print = QString(qApp->translate("PyramidDialog","Decomposition pyramidale avec filtre triangulaire :\n")).toStdString(); break; } if(notFoundError){ - to_print = "Filtre non trouvé. Décomposition avec filtre gaussien par défaut. \n"; + to_print = QString(qApp->translate("PyramidDialog","Filtre non trouvé. Décomposition avec filtre gaussien par défaut. \n")).toStdString(); } return filter; } diff --git a/app/Operations/PyramidOp.cpp b/app/Operations/PyramidOp.cpp index a2f0dbf193b8d6bdd8c243ed1ac761811921ee6d..79392e729b55c1b2500fc291f63b420271e7ab3e 100644 --- a/app/Operations/PyramidOp.cpp +++ b/app/Operations/PyramidOp.cpp @@ -61,33 +61,26 @@ void PyramidOp::operator()(const imagein::Image* img, const std::map<const image string e; Pyramid::Filtre filtre = dialog->getFilter(e); QString titleFilter; - QString titleType; - - if(e=="Decomposition pyramidale avec filtre gaussien : \n") titleType = QString(qApp->translate("Operations","Gaussian filter")); - else if(e=="Decomposition pyramidale avec filtre trimodal : \n") titleType = QString(qApp->translate("Operations","Trimodal filter")); - else if(e=="Decomposition pyramidale avec filtre rectangulaire : \n") titleType = QString(qApp->translate("Operations","Rectangular filter")); - else if(e=="Decomposition pyramidale avec filtre qmf : \n") titleType = QString(qApp->translate("Operations","QMF filter")); - else if(e=="Decomposition pyramidale avec filtre triangulaire : \n") titleType = QString(qApp->translate("Operations","Triangular filter")); try { if(dialog->onlyOneStep()) { if(dialog->isGaussian()) { resImg = Pyramid::n_pyram_g(image, dialog->onlyStep(), filtre); - titleFilter = QString(qApp->translate("Operations","Gaussian pyramidal decomposition")); + titleFilter = QString(qApp->translate("Operations","Gaussian")); } else { resImg = Pyramid::n_pyram_l(image, dialog->onlyStep(), filtre); - titleFilter = QString(qApp->translate("Operations","Laplacian pyramidal decomposition")); + titleFilter = QString(qApp->translate("Operations","Laplacian")); } } else { if(dialog->isGaussian()) { resImg = Pyramid::pyram_g(image, dialog->getNbStep(), filtre, s); - titleFilter = QString(qApp->translate("Operations","Gaussian pyramidal decomposition")); + titleFilter = QString(qApp->translate("Operations","Gaussian")); } else { resImg = Pyramid::pyram_l(image, dialog->getNbStep(), filtre, s); - titleFilter = QString(qApp->translate("Operations","Laplacian pyramidal decomposition")); + titleFilter = QString(qApp->translate("Operations","Laplacian")); } } } @@ -95,7 +88,9 @@ void PyramidOp::operator()(const imagein::Image* img, const std::map<const image QMessageBox::critical(NULL, "Error", QString(e)); return; } - outImage(resImg, titleFilter.toStdString() + " - " + titleType.toStdString()); + + string winTitle = e; + outImage(resImg, titleFilter.toStdString() + " - " + winTitle.erase(e.length()-3, e.length())); outText(e); outText(s); } diff --git a/app/imageinsa_en.ts b/app/imageinsa_en.ts index b637bd437e57e250e800e77553e67b4eb6d1de35..a07a6758c83c4c1cbf4fce7ee421728aa355b54f 100644 --- a/app/imageinsa_en.ts +++ b/app/imageinsa_en.ts @@ -1364,41 +1364,44 @@ Channel %d : <translation>The image width must equal the image height.</translation> </message> <message> - <location filename="Operations/PyramidOp.cpp" line="66"/> + <location filename="Operations/PyramidOp.cpp" line="69"/> + <location filename="Operations/PyramidOp.cpp" line="79"/> + <source>Gaussian</source> + <translation>Gaussian</translation> + </message> + <message> + <location filename="Operations/PyramidOp.cpp" line="73"/> + <location filename="Operations/PyramidOp.cpp" line="83"/> + <source>Laplacian</source> + <translation>Laplacian</translation> + </message> + <message> <source>Gaussian filter</source> - <translation>Gaussian filter</translation> + <translation type="vanished">Gaussian filter</translation> </message> <message> - <location filename="Operations/PyramidOp.cpp" line="67"/> <source>Trimodal filter</source> - <translation>Trimodal filter</translation> + <translation type="vanished">Trimodal filter</translation> </message> <message> - <location filename="Operations/PyramidOp.cpp" line="68"/> <source>Rectangular filter</source> - <translation>Rectangular filter</translation> + <translation type="vanished">Rectangular filter</translation> </message> <message> - <location filename="Operations/PyramidOp.cpp" line="69"/> <source>QMF filter</source> - <translation>QMF filter</translation> + <translation type="vanished">QMF filter</translation> </message> <message> - <location filename="Operations/PyramidOp.cpp" line="70"/> <source>Triangular filter</source> - <translation>Triangular filter</translation> + <translation type="vanished">Triangular filter</translation> </message> <message> - <location filename="Operations/PyramidOp.cpp" line="76"/> - <location filename="Operations/PyramidOp.cpp" line="86"/> <source>Gaussian pyramidal decomposition</source> - <translation>Gaussian pyramidal decomposition</translation> + <translation type="vanished">Gaussian pyramidal decomposition</translation> </message> <message> - <location filename="Operations/PyramidOp.cpp" line="80"/> - <location filename="Operations/PyramidOp.cpp" line="90"/> <source>Laplacian pyramidal decomposition</source> - <translation>Laplacian pyramidal decomposition</translation> + <translation type="vanished">Laplacian pyramidal decomposition</translation> </message> <message> <location filename="Operations/ClassResultOp.cpp" line="37"/> @@ -1430,6 +1433,21 @@ Channel %d : <source>DPCM Encoding</source> <translation>DPCM Encoding</translation> </message> + <message> + <location filename="Operations/Huffman.cpp" line="98"/> + <source> + debit(huffman) = %.4f +</source> + <translation> + Flow(Huffman) = %.4f</translation> + </message> + <message> + <location filename="Algorithms/Pyramid.cpp" line="662"/> + <source>L'entropie de l'etage %d est %1f +</source> + <translation>The stage %d entropy is %1f +</translation> + </message> <message> <location filename="Operations/MedianOp.cpp" line="12"/> <location filename="Operations/MedianOp.cpp" line="36"/> @@ -1606,6 +1624,48 @@ Channel %d : <source>Create only one step :</source> <translation>Create only one step :</translation> </message> + <message> + <location filename="Operations/PyramidDialog.cpp" line="41"/> + <source>Decomposition pyramidale avec filtre gaussien : +</source> + <translation>Pyramidal decomposition with gaussian filter : +</translation> + </message> + <message> + <location filename="Operations/PyramidDialog.cpp" line="44"/> + <source>Decomposition pyramidale avec filtre trimodal : +</source> + <translation>Pyramidal decomposition with trimodal filter : +</translation> + </message> + <message> + <location filename="Operations/PyramidDialog.cpp" line="47"/> + <source>Decomposition pyramidale avec filtre rectangulaire : +</source> + <translation>Pyramidal decomposition with rectangular filter : +</translation> + </message> + <message> + <location filename="Operations/PyramidDialog.cpp" line="50"/> + <source>Decomposition pyramidale avec filtre qmf : +</source> + <translation>Pyramidal decomposition with QMF filter : +</translation> + </message> + <message> + <location filename="Operations/PyramidDialog.cpp" line="53"/> + <source>Decomposition pyramidale avec filtre triangulaire : +</source> + <translation>Pyramidal decomposition with triangular filter : +</translation> + </message> + <message> + <location filename="Operations/PyramidDialog.cpp" line="57"/> + <source>Filtre non trouvé. Décomposition avec filtre gaussien par défaut. +</source> + <translation>Filter not found. Default decomposition with gaussian filter. +</translation> + </message> </context> <context> <name>QuantificationDialog</name> @@ -1642,7 +1702,7 @@ Channel %d : <message> <location filename="Operations/QuantificationDialog.cpp" line="59"/> <source>LloydMax</source> - <translation></translation> + <translation type="unfinished"></translation> </message> <message> <location filename="Operations/QuantificationDialog.cpp" line="61"/> diff --git a/app/imageinsa_fr.ts b/app/imageinsa_fr.ts index 64a4b47ab884f8f76388ce5d8f3255dde4a24daa..ae4ecc8263d02fd0485b98e8c832f3680c87284f 100644 --- a/app/imageinsa_fr.ts +++ b/app/imageinsa_fr.ts @@ -1352,41 +1352,44 @@ Canal %d : <translation>La largeur de l'image doit être égale à sa hauteur.</translation> </message> <message> - <location filename="Operations/PyramidOp.cpp" line="66"/> + <location filename="Operations/PyramidOp.cpp" line="69"/> + <location filename="Operations/PyramidOp.cpp" line="79"/> + <source>Gaussian</source> + <translation>Gaussien</translation> + </message> + <message> + <location filename="Operations/PyramidOp.cpp" line="73"/> + <location filename="Operations/PyramidOp.cpp" line="83"/> + <source>Laplacian</source> + <translation>Laplacien</translation> + </message> + <message> <source>Gaussian filter</source> - <translation>Filtre gaussien</translation> + <translation type="vanished">Filtre gaussien</translation> </message> <message> - <location filename="Operations/PyramidOp.cpp" line="67"/> <source>Trimodal filter</source> - <translation>Filtre trimodal</translation> + <translation type="vanished">Filtre trimodal</translation> </message> <message> - <location filename="Operations/PyramidOp.cpp" line="68"/> <source>Rectangular filter</source> - <translation>Filtre rectangulaire</translation> + <translation type="vanished">Filtre rectangulaire</translation> </message> <message> - <location filename="Operations/PyramidOp.cpp" line="69"/> <source>QMF filter</source> - <translation>QMF Filter</translation> + <translation type="vanished">QMF Filter</translation> </message> <message> - <location filename="Operations/PyramidOp.cpp" line="70"/> <source>Triangular filter</source> - <translation>Filtre triangulaire</translation> + <translation type="vanished">Filtre triangulaire</translation> </message> <message> - <location filename="Operations/PyramidOp.cpp" line="76"/> - <location filename="Operations/PyramidOp.cpp" line="86"/> <source>Gaussian pyramidal decomposition</source> - <translation>Décomposition pyramidale gaussienne</translation> + <translation type="vanished">Décomposition pyramidale gaussienne</translation> </message> <message> - <location filename="Operations/PyramidOp.cpp" line="80"/> - <location filename="Operations/PyramidOp.cpp" line="90"/> <source>Laplacian pyramidal decomposition</source> - <translation>Décomposition pyamidale laplacienne</translation> + <translation type="vanished">Décomposition pyamidale laplacienne</translation> </message> <message> <location filename="Operations/ClassResultOp.cpp" line="37"/> @@ -1418,6 +1421,21 @@ Canal %d : <source>DPCM Encoding</source> <translation>Encodage MICD</translation> </message> + <message> + <location filename="Operations/Huffman.cpp" line="98"/> + <source> + debit(huffman) = %.4f +</source> + <translation> + Débit(Huffman) = %.4f</translation> + </message> + <message> + <location filename="Algorithms/Pyramid.cpp" line="662"/> + <source>L'entropie de l'etage %d est %1f +</source> + <translation>L'entropie de l'étage %d est %1f +</translation> + </message> <message> <location filename="Operations/EntropyOp.cpp" line="35"/> <source>Calcul d'entropie (image standard)</source> @@ -1594,6 +1612,48 @@ Canal %d : <source>Create only one step :</source> <translation>Créer unique l'étage : </translation> </message> + <message> + <location filename="Operations/PyramidDialog.cpp" line="41"/> + <source>Decomposition pyramidale avec filtre gaussien : +</source> + <translation>Décomposition pyramidale avec filtre gaussien : +</translation> + </message> + <message> + <location filename="Operations/PyramidDialog.cpp" line="44"/> + <source>Decomposition pyramidale avec filtre trimodal : +</source> + <translation>Décomposition pyramidale avec filtre trimodal : +</translation> + </message> + <message> + <location filename="Operations/PyramidDialog.cpp" line="47"/> + <source>Decomposition pyramidale avec filtre rectangulaire : +</source> + <translation>Décomposition pyramidale avec filtre rectangulaire : +</translation> + </message> + <message> + <location filename="Operations/PyramidDialog.cpp" line="50"/> + <source>Decomposition pyramidale avec filtre qmf : +</source> + <translation>Décomposition pyramidale avec filtre QMF : +</translation> + </message> + <message> + <location filename="Operations/PyramidDialog.cpp" line="53"/> + <source>Decomposition pyramidale avec filtre triangulaire : +</source> + <translation>Décomposition pyramidale avec filtre rectangulaire : +</translation> + </message> + <message> + <location filename="Operations/PyramidDialog.cpp" line="57"/> + <source>Filtre non trouvé. Décomposition avec filtre gaussien par défaut. +</source> + <translation>Filtre non trouvé. Décomposition avec filtre gaussien par défaut. +</translation> + </message> </context> <context> <name>QuantificationDialog</name> @@ -1630,7 +1690,7 @@ Canal %d : <message> <location filename="Operations/QuantificationDialog.cpp" line="59"/> <source>LloydMax</source> - <translation></translation> + <translation type="unfinished"></translation> </message> <message> <location filename="Operations/QuantificationDialog.cpp" line="61"/>