[Winmerge-svn] SF.net SVN: winmerge: [4827] trunk/Web
Windows visual diff and merge for files and directories
Brought to you by:
christianlist,
grimmdp
From: <ge...@us...> - 2007-12-14 23:26:06
|
Revision: 4827 http://winmerge.svn.sourceforge.net/winmerge/?rev=4827&view=rev Author: gerundt Date: 2007-12-14 15:26:01 -0800 (Fri, 14 Dec 2007) Log Message: ----------- PATCH: [ 1850413 ] Web: Add "Translations" tab Modified Paths: -------------- trunk/Web/css/print.css trunk/Web/css/screen.css trunk/Web/page.inc trunk/Web/sitemap.txt Added Paths: ----------- trunk/Web/translations/ trunk/Web/translations/images/ trunk/Web/translations/images/fuzzy.png trunk/Web/translations/images/translated.png trunk/Web/translations/images/untranslated.png trunk/Web/translations/index.php trunk/Web/translations/status_branch.php trunk/Web/translations/status_trunk.php trunk/Web/translations/status_trunk.xml trunk/Web/translations/translations.inc Modified: trunk/Web/css/print.css =================================================================== --- trunk/Web/css/print.css 2007-12-13 23:49:38 UTC (rev 4826) +++ trunk/Web/css/print.css 2007-12-14 23:26:01 UTC (rev 4827) @@ -94,27 +94,38 @@ display: none; } -/* Status of translations */ -#status { - margin-bottom: 10px; +/* Inline list */ +ul.inline { + margin: 1em; + padding: 0; +} + +ul.inline li { + margin: 0; + margin-right: 1em; + padding: 0; + display: inline; + list-style: none; +} + +/* Translations Status */ +.status { border-collapse: collapse; + border: 1px solid black; } -#status th { +.status th { padding: 3px; + background: white; border: 1px solid black; } -#status td { +.status td { padding: 3px; + background: white; border: 1px solid black; } .left { text-align: left; } .center { text-align: center; } -.right { text-align: right; } - -.actively { background-color: white; } -.maintained { background-color: white; } -.unmaintained { background-color: white; } -.unknown { background-color: white; } \ No newline at end of file +.right { text-align: right; } \ No newline at end of file Modified: trunk/Web/css/screen.css =================================================================== --- trunk/Web/css/screen.css 2007-12-13 23:49:38 UTC (rev 4826) +++ trunk/Web/css/screen.css 2007-12-14 23:26:01 UTC (rev 4827) @@ -215,27 +215,38 @@ border-bottom: 1px dotted black; } -/* Status of translations */ -#status { - margin-bottom: 10px; +/* Inline list */ +ul.inline { + margin: 1em; + padding: 0; +} + +ul.inline li { + margin: 0; + margin-right: 1em; + padding: 0; + display: inline; + list-style: none; +} + +/* Translations Status */ +.status { border-collapse: collapse; + border: 1px solid #aaaaaa; } -#status th { +.status th { padding: 3px; - border: 1px solid black; + background: #f2f2f2; + border: 1px solid #aaaaaa ; } -#status td { +.status td { padding: 3px; - border: 1px solid black; + background: #f9f9f9; + border: 1px solid #aaaaaa; } .left { text-align: left; } .center { text-align: center; } -.right { text-align: right; } - -.actively { background-color: #CCFFCC; } -.maintained { background-color: #CCCCFF; } -.unmaintained { background-color: #FFCCCC; } -.unknown { background-color: #FFFFCC; } \ No newline at end of file +.right { text-align: right; } \ No newline at end of file Modified: trunk/Web/page.inc =================================================================== --- trunk/Web/page.inc 2007-12-13 23:49:38 UTC (rev 4826) +++ trunk/Web/page.inc 2007-12-14 23:26:01 UTC (rev 4827) @@ -17,6 +17,7 @@ define ('WINMERGE_2_6', '2.6'); define ('TAB_DOWNLOADS', 'downloads'); define ('TAB_SUPPORT', 'support'); + define ('TAB_TRANSLATIONS', 'translations'); include 'release.inc'; @@ -188,6 +189,12 @@ else { //if NOT "Support" ... $temp .= " <li><a href=\"/support/index.php\">Support</a></li>\n"; } + if ($this->_tab == TAB_TRANSLATIONS) { //if "Translations" ... + $temp .= " <li><a href=\"/translations/index.php\" id=\"current\">Translations</a></li>\n"; + } + else { //if NOT "Translations" ... + $temp .= " <li><a href=\"/translations/index.php\">Translations</a></li>\n"; + } $temp .= " <li><a href=\"/Wiki/\">Developer Wiki</a></li>\n"; $temp .= "</ul>\n"; /* Sub Tabs */ @@ -248,6 +255,14 @@ $temp .= " <li><a href=\"http://sourceforge.net/tracker/?group_id=13216&atid=313216\" title=\"Submit a Patch\">Patches</a></li>\n"; $temp .= "</ul>\n"; break; + case TAB_TRANSLATIONS: //if "Translations" ... + $temp .= "<ul id=\"subtabs\">\n"; + $temp .= " <li><a href=\"/translations/index.php\" title=\"Index\">Index</a></li>\n"; + $temp .= " <li><a href=\"http://winmerge.org/Wiki/Translations\" title=\"Translations Status (Branch)\">Status (Branch)</a></li>\n"; + //$temp .= " <li><a href=\"/translations/status_branch.php\" title=\"Translations Status (Branch)\">Status (Branch)</a></li>\n"; + $temp .= " <li><a href=\"/translations/status_trunk.php\" title=\"Translations Status (Trunk)\">Status (Trunk)</a></li>\n"; + $temp .= "</ul>\n"; + break; } return $temp; } Modified: trunk/Web/sitemap.txt =================================================================== --- trunk/Web/sitemap.txt 2007-12-13 23:49:38 UTC (rev 4826) +++ trunk/Web/sitemap.txt 2007-12-14 23:26:01 UTC (rev 4827) @@ -59,3 +59,6 @@ http://winmerge.org/support/index.php http://winmerge.org/support/mailing-lists.php http://winmerge.org/support/tracker-shortcuts.php +http://winmerge.org/translations/index.php +http://winmerge.org/translations/status_branch.php +http://winmerge.org/translations/status_trunk.php Added: trunk/Web/translations/images/fuzzy.png =================================================================== (Binary files differ) Property changes on: trunk/Web/translations/images/fuzzy.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/Web/translations/images/translated.png =================================================================== (Binary files differ) Property changes on: trunk/Web/translations/images/translated.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/Web/translations/images/untranslated.png =================================================================== (Binary files differ) Property changes on: trunk/Web/translations/images/untranslated.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/Web/translations/index.php =================================================================== --- trunk/Web/translations/index.php (rev 0) +++ trunk/Web/translations/index.php 2007-12-14 23:26:01 UTC (rev 4827) @@ -0,0 +1,34 @@ +<?php + include('../page.inc'); + + $page = new Page; + $page->printHead('WinMerge: Translations', TAB_TRANSLATIONS); +?> +<h2>Translations</h2> +<p>We currently have WinMerge translated into the languages listed below:</p> +<?php + $status = $page->convertXml2Array('status_trunk.xml'); + print("<ul class=\"inline\">\n"); + $translations = $status['TRANSLATIONS'][0]['TRANSLATION']; + $translations = $page->multisortArray($translations, 'LANGUAGE', SORT_ASC); + for ($i = 0; $i < count($translations); $i++) { //For all translations... + $translation = $translations[$i]; + $language_name = $translation['LANGUAGE'][0]['VALUE']; + + print(" <li>" . $language_name . "</li>\n"); + } + print("</ul>\n"); +?> +<p>To change languages, select the desired language from the <em>View->Languages</em> menu choice.</p> +<h3>Translating</h3> +<p>If you would like to update any of these translations or add another translation, then please follow <a href="http://winmerge.svn.sourceforge.net/viewvc/*checkout*/winmerge/trunk/Docs/Developers/Translations.html">these instructions</a>.</p> +<h3>Status</h3> +<p>The following two pages inform you about the translations status of the stable and developer version of WinMerge:</p> +<ul> + <li><a href="http://winmerge.org/Wiki/Translations">Stable Version (Branch)</a></li> + <!--<li><a href="status_branch.php">Stable Version (Branch)</a></li>--> + <li><a href="status_trunk.php">Developer Version (Trunk)</a></li> +</ul> +<?php + $page->printFoot(); +?> \ No newline at end of file Added: trunk/Web/translations/status_branch.php =================================================================== --- trunk/Web/translations/status_branch.php (rev 0) +++ trunk/Web/translations/status_branch.php 2007-12-14 23:26:01 UTC (rev 4827) @@ -0,0 +1,20 @@ +<?php + include('../page.inc'); + include('translations.inc'); + + $page = new Page; + $page->printHead('WinMerge: Translations Status (Branch)', TAB_TRANSLATIONS); + + $status = $page->convertXml2Array('status_branch.xml'); + print("<h2>Translations Status (Branch)</h2>\n"); + if (!empty($status)) { + printTranslationsStatus($status, 'http://winmerge.svn.sourceforge.net/viewvc/winmerge/branch/R2_6/Src/Languages/'); + printTranslationsStatusGraphLegend(); + print("<h3>Translators</h3>\n"); + printTranslationsTranslators($status); + } + else { + print("<p>The translations status is currently not available...</p>\n"); + } + $page->printFoot(); +?> \ No newline at end of file Added: trunk/Web/translations/status_trunk.php =================================================================== --- trunk/Web/translations/status_trunk.php (rev 0) +++ trunk/Web/translations/status_trunk.php 2007-12-14 23:26:01 UTC (rev 4827) @@ -0,0 +1,20 @@ +<?php + include('../page.inc'); + include('translations.inc'); + + $page = new Page; + $page->printHead('WinMerge: Translations Status (Trunk)', TAB_TRANSLATIONS); + + $status = $page->convertXml2Array('status_trunk.xml'); + print("<h2>Translations Status (Trunk)</h2>\n"); + if (!empty($status)) { + printTranslationsStatus($status, 'http://winmerge.svn.sourceforge.net/viewvc/winmerge/trunk/Src/Languages/'); + printTranslationsStatusGraphLegend(); + print("<h3>Translators</h3>\n"); + printTranslationsTranslators($status); + } + else { + print("<p>The translations status is currently not available...</p>\n"); + } + $page->printFoot(); +?> \ No newline at end of file Added: trunk/Web/translations/status_trunk.xml =================================================================== --- trunk/Web/translations/status_trunk.xml (rev 0) +++ trunk/Web/translations/status_trunk.xml 2007-12-14 23:26:01 UTC (rev 4827) @@ -0,0 +1,463 @@ +<translations> + <update>2007-12-15</update> + <translation> + <language>Brazilian</language> + <file>Brazilian.po</file> + <update></update> + <strings> + <count>1159</count> + <translated>328</translated> + <fuzzy>2</fuzzy> + <untranslated>829</untranslated> + </strings> + <translators> + <translator> + <name>Wender Firmino</name> + <mail>wender at pta.com.br</mail> + </translator> + </translators> + </translation> + <translation> + <language>Bulgarian</language> + <file>Bulgarian.po</file> + <update></update> + <strings> + <count>1159</count> + <translated>974</translated> + <fuzzy>2</fuzzy> + <untranslated>183</untranslated> + </strings> + <translators> + <translator> + <name>sld</name> + <mail>sld at mail.bg</mail> + </translator> + <translator> + <name>tigertron</name> + <mail>tigertron at dir.bg</mail> + </translator> + </translators> + </translation> + <translation> + <language>Catalan</language> + <file>Catalan.po</file> + <update></update> + <strings> + <count>1159</count> + <translated>1065</translated> + <fuzzy>2</fuzzy> + <untranslated>92</untranslated> + </strings> + <translators> + <translator> + <name>Jordi Vilar</name> + <mail>jvilar at users.sourceforge.net</mail> + </translator> + </translators> + </translation> + <translation> + <language>ChineseSimplified</language> + <file>ChineseSimplified.po</file> + <update></update> + <strings> + <count>1159</count> + <translated>1037</translated> + <fuzzy>2</fuzzy> + <untranslated>120</untranslated> + </strings> + <translators> + <translator> + <name>Liaobin</name> + <mail>liaobin at jite. net</mail> + </translator> + <translator> + <name>xmpdhml</name> + <mail>xmpdhml at users.sourceforge.net</mail> + </translator> + </translators> + </translation> + <translation> + <language>ChineseTraditional</language> + <file>ChineseTraditional.po</file> + <update>2007-11-02</update> + <strings> + <count>1159</count> + <translated>1156</translated> + <fuzzy>0</fuzzy> + <untranslated>3</untranslated> + </strings> + <translators> + <translator> + <name>Koko</name> + <mail>kokokoko at giga.net.tw</mail> + </translator> + <translator> + <name>wck3</name> + <mail>wck3171 at pchome.com.tw</mail> + </translator> + </translators> + </translation> + <translation> + <language>Croatian</language> + <file>Croatian.po</file> + <update>2007-11-19</update> + <strings> + <count>1159</count> + <translated>1156</translated> + <fuzzy>0</fuzzy> + <untranslated>3</untranslated> + </strings> + <translators> + <translator> + <name>Hasan Osmanag\xE6</name> + <mail>hasan.osmanagic at public.carnet.hr</mail> + </translator> + </translators> + </translation> + <translation> + <language>Czech</language> + <file>Czech.po</file> + <update></update> + <strings> + <count>1159</count> + <translated>875</translated> + <fuzzy>2</fuzzy> + <untranslated>282</untranslated> + </strings> + <translators> + <translator> + <name>Jiri Tax</name> + <mail>jt at taxoft.cz</mail> + </translator> + <translator> + <name>Jan Hryz</name> + <mail>janhryz at users.sourceforge.net</mail> + </translator> + </translators> + </translation> + <translation> + <language>Danish</language> + <file>Danish.po</file> + <update></update> + <strings> + <count>1159</count> + <translated>664</translated> + <fuzzy>2</fuzzy> + <untranslated>493</untranslated> + </strings> + <translators> + <translator> + <name>Christian List</name> + <mail>list1974 at hotmail.com</mail> + </translator> + </translators> + </translation> + <translation> + <language>Dutch</language> + <file>Dutch.po</file> + <update></update> + <strings> + <count>1159</count> + <translated>676</translated> + <fuzzy>0</fuzzy> + <untranslated>483</untranslated> + </strings> + <translators> + <translator> + <name>Ronald Schaap</name> + <mail>ronald at schaap.demon.nl</mail> + </translator> + <translator> + <name>Michel Coene</name> + </translator> + </translators> + </translation> + <translation> + <language>French</language> + <file>French.po</file> + <update>2007-09-21</update> + <strings> + <count>1159</count> + <translated>1154</translated> + <fuzzy>0</fuzzy> + <untranslated>5</untranslated> + </strings> + <translators> + <translator> + <name>Gil Andre</name> + <mail>gil_andre at compuserve.com</mail> + </translator> + <translator> + <name>Laurent Ganier</name> + <mail>ccganier at club-internet.fr</mail> + </translator> + <translator> + <name>Jean-F Jolin</name> + <mail>jean-f-j at users.sourceforge.net</mail> + </translator> + </translators> + </translation> + <translation> + <language>German</language> + <file>German.po</file> + <update>2007-09-06</update> + <strings> + <count>1159</count> + <translated>1061</translated> + <fuzzy>0</fuzzy> + <untranslated>98</untranslated> + </strings> + <translators> + <translator> + <name>Winfried Peter</name> + <mail>winfried.peter at omicron.at</mail> + </translator> + <translator> + <name>J\xF6rg Schneider</name> + <mail>tonda at users.sourceforge.net</mail> + </translator> + <translator> + <name>Tim Gerundt</name> + <mail>tim at gerundt.de</mail> + </translator> + </translators> + </translation> + <translation> + <language>Hungarian</language> + <file>Hungarian.po</file> + <update></update> + <strings> + <count>1159</count> + <translated>803</translated> + <fuzzy>2</fuzzy> + <untranslated>354</untranslated> + </strings> + <translators> + <translator> + <name>M\xE1rton Bal\xE1zs</name> + <mail>documan at users.sourceforge.net</mail> + </translator> + </translators> + </translation> + <translation> + <language>Italian</language> + <file>Italian.po</file> + <update>2007-09-30</update> + <strings> + <count>1159</count> + <translated>1151</translated> + <fuzzy>0</fuzzy> + <untranslated>8</untranslated> + </strings> + <translators> + <translator> + <name>Michele Merega</name> + <mail>michele.merega at ifminfomaster.com</mail> + </translator> + <translator> + <name>Andrea Decorte</name> + <mail>deco1985 at hotmail.com</mail> + </translator> + </translators> + </translation> + <translation> + <language>Japanese</language> + <file>Japanese.po</file> + <update>2007-11-11</update> + <strings> + <count>1159</count> + <translated>1156</translated> + <fuzzy>0</fuzzy> + <untranslated>3</untranslated> + </strings> + <translators> + <translator> + <name>Takashi Sawanaka</name> + <mail>sawanaka at d1.dion.ne.jp</mail> + </translator> + </translators> + </translation> + <translation> + <language>Korean</language> + <file>Korean.po</file> + <update></update> + <strings> + <count>1159</count> + <translated>902</translated> + <fuzzy>2</fuzzy> + <untranslated>255</untranslated> + </strings> + <translators> + <translator> + <name>Hwang Sukjoon</name> + <mail>bbcool at gmail.com</mail> + </translator> + <translator> + <name>Lee Jae-Hong</name> + <mail>pyrasis at users.sourceforge.net</mail> + </translator> + </translators> + </translation> + <translation> + <language>Norwegian</language> + <file>Norwegian.po</file> + <update></update> + <strings> + <count>1159</count> + <translated>590</translated> + <fuzzy>2</fuzzy> + <untranslated>567</untranslated> + </strings> + <translators> + <translator> + <name>Hans Fredrik Nordhaug</name> + <mail>hansfn at users.sourceforge.net</mail> + </translator> + </translators> + </translation> + <translation> + <language>Polish</language> + <file>Polish.po</file> + <update></update> + <strings> + <count>1159</count> + <translated>1030</translated> + <fuzzy>2</fuzzy> + <untranslated>127</untranslated> + </strings> + <translators> + <translator> + <name>Pawel Wawrzysko</name> + <mail>traduc at kki.pl</mail> + </translator> + </translators> + </translation> + <translation> + <language>Portuguese</language> + <file>Portuguese.po</file> + <update></update> + <strings> + <count>1159</count> + <translated>1015</translated> + <fuzzy>0</fuzzy> + <untranslated>144</untranslated> + </strings> + <translators> + <translator> + <name>Nelson Sim\xE3o</name> + </translator> + </translators> + </translation> + <translation> + <language>Russian</language> + <file>Russian.po</file> + <update>2007-09-23</update> + <strings> + <count>1159</count> + <translated>1149</translated> + <fuzzy>5</fuzzy> + <untranslated>5</untranslated> + </strings> + <translators> + <translator> + <name>Dmitriy S. Aleshkowskiy</name> + <mail>wwarlock at mail.ru</mail> + </translator> + <translator> + <name>geek2k</name> + <mail>geek2k at users.sourceforge.net</mail> + </translator> + </translators> + </translation> + <translation> + <language>Slovak</language> + <file>Slovak.po</file> + <update></update> + <strings> + <count>1159</count> + <translated>1033</translated> + <fuzzy>2</fuzzy> + <untranslated>124</untranslated> + </strings> + <translators> + <translator> + <name>majvan</name> + <mail>vancojur at decef.elf.stuba.sk</mail> + </translator> + <translator> + <name>Ivan Mas\xE1r</name> + <mail>helix84 at users.sourceforge.net</mail> + </translator> + </translators> + </translation> + <translation> + <language>Spanish</language> + <file>Spanish.po</file> + <update></update> + <strings> + <count>1159</count> + <translated>967</translated> + <fuzzy>4</fuzzy> + <untranslated>188</untranslated> + </strings> + <translators> + <translator> + <name>Dean Grimm</name> + <mail>grimmdp at yahoo.com</mail> + </translator> + <translator> + <name>Jes\xFAs M. Delgado 'MacK'</name> + <mail>mack_ at users.sourceforge.net</mail> + </translator> + </translators> + </translation> + <translation> + <language>Swedish</language> + <file>Swedish.po</file> + <update>2007-08-24</update> + <strings> + <count>1159</count> + <translated>1152</translated> + <fuzzy>0</fuzzy> + <untranslated>7</untranslated> + </strings> + <translators> + <translator> + <name>G\xF6ran H\xE5kansson</name> + <mail>goran.x.hakansson at telia.com</mail> + </translator> + <translator> + <name>Hans Eriksson</name> + <mail>hans.ericson at bredband.net</mail> + </translator> + </translators> + </translation> + <translation> + <language>Turkish</language> + <file>Turkish.po</file> + <update></update> + <strings> + <count>1159</count> + <translated>74</translated> + <fuzzy>0</fuzzy> + <untranslated>1085</untranslated> + </strings> + <translators> + <translator> + <name>Ozkan UNVER</name> + <mail>turquaz37915 at users.sourceforge.net</mail> + </translator> + </translators> + </translation> + <translation> + <language>English</language> + <file>English.pot</file> + <update>2007-12-15</update> + <strings> + <count>1159</count> + <translated>1159</translated> + <fuzzy>0</fuzzy> + <untranslated>0</untranslated> + </strings> + </translation> +</translations> Added: trunk/Web/translations/translations.inc =================================================================== --- trunk/Web/translations/translations.inc (rev 0) +++ trunk/Web/translations/translations.inc 2007-12-14 23:26:01 UTC (rev 4827) @@ -0,0 +1,167 @@ +<?php +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + + /** + * ... + * + * Based partially on the TortoiseSVN Drupal module: + * @link http://tortoisesvn.tigris.org/svn/tortoisesvn/trunk/contrib/drupal-modules/module/tortoisesvn.module + */ + function get_status_graph($count, $translated, $fuzzy, $untranslated) { + // Calculate width of bars + $wc = 150; + $wt = round($wc * $translated / $count); + $wf = round($wc * $fuzzy / $count); + $wu = round($wc * $untranslated / $count); + + // Make sure that each bar is at least 2px wide if its value is > 0 + if (($wt<2) && ($translated>0)) $wt=2; + if (($wf<2) && ($fuzzy>0)) $wf=2; + if (($wu<2) && ($untranslated>0)) $wu=2; + + // Make sure total width stays constant by determining the widest bar + // and subtracting the width of the shorter bars from it. + if ($wt+$wf+$wu!=$wc) { + if ($wt>=$wf && $wt>=$wu) { + $wt = $wc-$wf-$wu; + } else if ($wf>=$wt && $wf>=$wu) { + $wf = $wc-$wt-$wu; + } else { + $wu = $wc-$wt-$wf; + } + } + + // Calculate percentages + $pt = ($translated * 100) / $count; + $pf = ($fuzzy * 100) / $count; + $pu = ($untranslated * 100) / $count; + + $temp = ""; + if ($wt > 0) + $temp .= "<img src=\"images/translated.png\" alt=\"Translated\" title=\"Translated: " . round($pt, 1) . "%\" width=\"$wt\" height=\"16\">"; + if ($wf > 0) + $temp .= "<img src=\"images/fuzzy.png\" alt=\"Fuzzy\" title=\"Fuzzy: " . round($pf, 1) . "%\" width=\"$wf\" height=\"16\">"; + if ($wu > 0) + $temp .= "<img src=\"images/untranslated.png\" alt=\"Untranslated\" title=\"Untranslated: " . round($pu, 1) . "%\" width=\"$wu\" height=\"16\">"; + + return $temp; + } + + /** + * ... + */ + function printTranslationsStatus($xmlarray, $svnurl) { + global $page; + + $update = $xmlarray['TRANSLATIONS'][0]['UPDATE'][0]['VALUE']; + $temp = "<p>Status from <strong>" . $update . "</strong>:</p>\n"; + $temp .= "<table class=\"status\">\n"; + $temp .= " <tr>\n"; + $temp .= " <th class=\"left\">Language</th>\n"; + $temp .= " <th class=\"center\">Graph</th>\n"; + $temp .= " <th class=\"right\">Translated</th>\n"; + $temp .= " <th class=\"right\">Fuzzy</th>\n"; + $temp .= " <th class=\"right\">Untranslated</th>\n"; + $temp .= " <th class=\"center\">Last Update</th>\n"; + $temp .= " </tr>\n"; + $translations = $xmlarray['TRANSLATIONS'][0]['TRANSLATION']; + $translations = $page->multisortArray($translations, 'LANGUAGE', SORT_ASC); + for ($i = 0; $i < count($translations); $i++) { //For all translations... + $translation = $translations[$i]; + $language_name = $translation['LANGUAGE'][0]['VALUE']; + if ($language_name != 'English') { //If NOT English... + $file_name = $translation['FILE'][0]['VALUE']; + $translation_update = $translation['UPDATE'][0]['VALUE']; + $strings = $translation['STRINGS'][0]; + $strings_count = $strings['COUNT'][0]['VALUE']; + $strings_translated = $strings['TRANSLATED'][0]['VALUE']; + $strings_fuzzy = $strings['FUZZY'][0]['VALUE']; + $strings_untranslated = $strings['UNTRANSLATED'][0]['VALUE']; + + $temp .= " <tr>\n"; + $temp .= " <td class=\"left\"><a href=\"" . $svnurl . $file_name . "\">" . $language_name . "</a></td>\n"; + $temp .= " <td class=\"center\">" . get_status_graph($strings_count, $strings_translated, $strings_fuzzy, $strings_untranslated) . "</td>\n"; + $temp .= " <td class=\"right\">" . $strings_translated . "</td>\n"; + $temp .= " <td class=\"right\">" . $strings_fuzzy . "</td>\n"; + $temp .= " <td class=\"right\">" . $strings_untranslated . "</td>\n"; + $temp .= " <td class=\"center\">" . $translation_update . "</td>\n"; + $temp .= " </tr>\n"; + } + else { //If English... + $english = $translations[$i]; + $english_file_name = $english['FILE'][0]['VALUE']; + $english_translation_update = $english['UPDATE'][0]['VALUE']; + $english_strings_count = $english['STRINGS'][0]['COUNT'][0]['VALUE']; + } + } + $temp .= " <tr>\n"; + $temp .= " <td class=\"left\"><a href=\"" . $svnurl . $english_file_name . "\">English (Template)</a></td>\n"; + $temp .= " <td class=\"center\"></td>\n"; + $temp .= " <td colspan=\"3\" class=\"center\">Total: " . $english_strings_count . "</td>\n"; + $temp .= " <td class=\"center\">" . $english_translation_update . "</td>\n"; + $temp .= " </tr>\n"; + $temp .= "</table>\n"; + print($temp); + } + + /** + * ... + */ + function printTranslationsStatusGraphLegend() { + $temp = "<ul class=\"inline\">\n"; + $temp .= " <li><img src=\"images/translated.png\" alt=\"*\" width=\"16\" height=\"16\"> Translated</li>\n"; + $temp .= " <li><img src=\"images/fuzzy.png\" alt=\"*\" width=\"16\" height=\"16\"> Fuzzy</li>\n"; + $temp .= " <li><img src=\"images/untranslated.png\" alt=\"*\" width=\"16\" height=\"16\"> Untranslated</li>\n"; + $temp .= "</ul>\n"; + print($temp); + } + + /** + * ... + */ + function printTranslationsTranslators($xmlarray) { + global $page; + + $temp = "<table class=\"status\">\n"; + $temp .= " <tr>\n"; + $temp .= " <th class=\"left\">Language</th>\n"; + $temp .= " <th class=\"left\">Translator(s)</th>\n"; + $temp .= " </tr>\n"; + $translations = $xmlarray['TRANSLATIONS'][0]['TRANSLATION']; + $translations = $page->multisortArray($translations, 'LANGUAGE', SORT_ASC); + for ($i = 0; $i < count($translations); $i++) { //For all translations... + $translation = $translations[$i]; + $language_name = $translation['LANGUAGE'][0]['VALUE']; + if ($language_name != 'English') { //If NOT English... + $translators = $translation['TRANSLATORS'][0]['TRANSLATOR']; + + $temp .= " <tr>\n"; + $temp .= " <td class=\"left\">" . $language_name . "</td>\n"; + $temp .= " <td class=\"left\">"; + for ($j = 0; $j < count($translators); $j++) { //For all translators... + $translator = $translators[$j]; + $translator_name = $translator['NAME'][0]['VALUE']; + $translator_mail = $translator['MAIL'][0]['VALUE']; + + if ($translator_mail != '') + $temp .= "<a href=\"mailto:" . $translator_mail . "\" title=\"" . htmlentities($translator_name) . " <" . $translator_mail . ">\">" . htmlentities($translator_name) . "</a>"; + else + $temp .= $translator_name; + $temp .= "<br>"; + } + $temp .= "</td>\n"; + $temp .= " </tr>\n"; + } + } + $temp .= "</table>\n"; + print($temp); + } +?> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |