Jonas Häggqvist | 31ca70b | 2010-01-31 00:44:07 +0000 | [diff] [blame] | 1 | {include file="header.tpl" title=$title rss="rss.php"} |
| 2 | |
| 3 | <h1>Rockbox translations</h1> |
| 4 | |
| 5 | <p> |
| 6 | On this page you can see the current status of the various Rockbox translations. |
| 7 | Ideally, all languages below should be at 100%. In reality though, this is not |
| 8 | the case. You can help remedy this situation by clicking on the name of a |
| 9 | language you speak and help translate Rockbox all within the comfort of your |
| 10 | webbrowser. Alternatively, you can go to <a |
Solomon Peachy | 5c91bbb | 2020-05-21 20:59:25 -0400 | [diff] [blame] | 11 | href="//www.rockbox.org/twiki/bin/view/Main/LangFiles">this page</a> in the |
Jonas Häggqvist | 31ca70b | 2010-01-31 00:44:07 +0000 | [diff] [blame] | 12 | Rockbox wiki, which will tell you how to update languages the more manual, but |
| 13 | possibly slightly safer way. |
| 14 | </p> |
Solomon Peachy | 5c91bbb | 2020-05-21 20:59:25 -0400 | [diff] [blame] | 15 | <p>You can also find some stats about <a href="//translate.rockbox.org/whichfont.php">font coverage</a>.</p> |
Solomon Peachy | a7f2dca | 2020-07-14 08:31:11 -0400 | [diff] [blame] | 16 | <p><em>Note that the Rockbox Utility is translated separately, please see the |
| 17 | <a href="//www.rockbox.org/wiki/Main/RockboxUtilityDevelopment#How_to_Translate">Rockbox Utility Development</a> page on the wiki.</em></p> |
Jonas Häggqvist | 31ca70b | 2010-01-31 00:44:07 +0000 | [diff] [blame] | 18 | |
| 19 | <h2>Current translation status</h2> |
Solomon Peachy | 0c22fb9 | 2020-08-17 14:41:01 -0400 | [diff] [blame] | 20 | <p><i>Note: This is updated at most every 15 minutes, but only if the build farm is idle.</i></p> |
Jonas Häggqvist | 31ca70b | 2010-01-31 00:44:07 +0000 | [diff] [blame] | 21 | <ul> |
| 22 | {foreach from=$summary key=k item=v} |
| 23 | <li>{$v} {$k} translations |
Solomon Peachy | aa27670 | 2021-12-15 22:46:05 -0500 | [diff] [blame] | 24 | {if $k=="good"}(>90% translated){/if} |
Jonas Häggqvist | 31ca70b | 2010-01-31 00:44:07 +0000 | [diff] [blame] | 25 | {if $k=="normal"}(>50% translated){/if} |
| 26 | {if $k=="bad"}(<50% translated){/if} |
| 27 | </li> |
| 28 | {/foreach} |
| 29 | </ul> |
| 30 | |
| 31 | <table> |
| 32 | <thead> |
| 33 | <tr> |
| 34 | <td colspan='4'>Language</td> |
| 35 | <td>Last update</td> |
| 36 | <td>Progress</td> |
Solomon Peachy | b61343c | 2020-07-27 15:59:47 -0400 | [diff] [blame] | 37 | <td>Missing phrases</td> |
Jonas Häggqvist | 31ca70b | 2010-01-31 00:44:07 +0000 | [diff] [blame] | 38 | <td>Changed description</td> |
| 39 | <td>Changed source</td> |
Solomon Peachy | b61343c | 2020-07-27 15:59:47 -0400 | [diff] [blame] | 40 | <td>Missing translation</td> |
| 41 | <td>Missing voice</td> |
| 42 | <td>Same as English</td> |
Jonas Häggqvist | 31ca70b | 2010-01-31 00:44:07 +0000 | [diff] [blame] | 43 | </tr> |
| 44 | </thead> |
| 45 | {foreach from=$langstats key=langfile item=language} |
Solomon Peachy | b8ffd03 | 2023-10-16 17:29:28 -0400 | [diff] [blame^] | 46 | {if $language.percentage == 100 && $language.source == 0} |
Jonas Häggqvist | 31ca70b | 2010-01-31 00:44:07 +0000 | [diff] [blame] | 47 | {assign var='rowclass' value='good'} |
| 48 | {elseif $language.percentage < 50} |
| 49 | {assign var='rowclass' value='poor'} |
| 50 | {else} |
| 51 | {assign var='rowclass' value=''} |
| 52 | {/if} |
Solomon Peachy | 31d608a | 2021-09-29 11:21:28 -0400 | [diff] [blame] | 53 | {if ($language.voicedup + $language.destdup) > 400} |
| 54 | {assign var='englishclass' value='poor'} |
| 55 | {elseif ($language.voicedup + $language.destdup) > 100} |
| 56 | {assign var='englishclass' value='questionable'} |
| 57 | {else} |
| 58 | {assign var='englishclass' value=''} |
| 59 | {/if} |
| 60 | |
Jonas Häggqvist | 31ca70b | 2010-01-31 00:44:07 +0000 | [diff] [blame] | 61 | <tr class="{$rowclass}"> |
| 62 | <td> |
| 63 | <img class="flagthumb" src="flags/22/{$language.flag}.png" /> |
| 64 | </td> |
| 65 | <td> |
Solomon Peachy | be29be1 | 2020-04-10 16:39:41 -0400 | [diff] [blame] | 66 | {if $langfile != 'english'} |
Jonas Häggqvist | 31ca70b | 2010-01-31 00:44:07 +0000 | [diff] [blame] | 67 | <a href='problems.php?lang={$langfile}'><img style='border: none' src='warning.gif' width='16' height='16' /></a> |
Solomon Peachy | be29be1 | 2020-04-10 16:39:41 -0400 | [diff] [blame] | 68 | {/if} |
Jonas Häggqvist | 31ca70b | 2010-01-31 00:44:07 +0000 | [diff] [blame] | 69 | </td> |
| 70 | <td> |
| 71 | {if file_exists('graphs/$langfile')} |
| 72 | <a href='graphs/{$langfile}.png'><img style='border: none' src='graph.png' width='16' height='16' /></a> |
| 73 | {/if} |
| 74 | </td> |
| 75 | <td> |
Solomon Peachy | b61343c | 2020-07-27 15:59:47 -0400 | [diff] [blame] | 76 | {if $language.percentage == 100 && $language.desc == 0 && $language.source == 0 && $language.dest == 0 && $language.voice == 0} |
Jonas Häggqvist | 31ca70b | 2010-01-31 00:44:07 +0000 | [diff] [blame] | 77 | {$language.name} |
| 78 | {else} |
| 79 | <a href='edit.php?lang={$langfile}'>{$language.name}</a> |
| 80 | {/if} |
| 81 | </td> |
| 82 | <td> |
Solomon Peachy | 18b7141 | 2020-07-08 21:11:27 -0400 | [diff] [blame] | 83 | <a href='//git.rockbox.org/cgit/rockbox.git/commit/?id={$language.last_update_rev}' title='{$language.last_update|date_format:"%c"}'> |
Jonas Häggqvist | 31ca70b | 2010-01-31 00:44:07 +0000 | [diff] [blame] | 84 | {$language.last_update|simple_timesince} |
| 85 | </a> |
| 86 | </td> |
| 87 | <td><img title='{$language.percentage|string_format:"%.2f%%"}' src='graph.php?p={$language.percentage|string_format:"%.2f"}' /></td> |
| 88 | </td> |
| 89 | <td>{$language.missing}</td> |
| 90 | <td>{$language.desc}</td> |
| 91 | <td>{$language.source}</td> |
Solomon Peachy | b61343c | 2020-07-27 15:59:47 -0400 | [diff] [blame] | 92 | <td>{$language.dest}</td> |
| 93 | <td>{$language.voice}</td> |
Solomon Peachy | 31d608a | 2021-09-29 11:21:28 -0400 | [diff] [blame] | 94 | <td class="{$englishclass}">{$language.voicedup + $language.destdup}</td> |
Jonas Häggqvist | 31ca70b | 2010-01-31 00:44:07 +0000 | [diff] [blame] | 95 | </tr> |
| 96 | {/foreach} |
| 97 | </table> |
| 98 | |
| 99 | <h2>Perform automated cleanup</h2> |
| 100 | <p>Using the form below, it's possible to perform automated cleanups of a |
| 101 | translation. Be aware though, that this might produce unwanted results in some |
| 102 | cases, so you're required to check the results rather than blindly trusting |
| 103 | them.</p> |
| 104 | |
| 105 | <form action="fixlang.php" method="GET"> |
| 106 | <table> |
| 107 | <tr> |
| 108 | <td>Language</td> |
| 109 | <td> |
| 110 | <select name="lang"> |
| 111 | {foreach from=$languages item=language key=langfile} |
| 112 | {if $langfile != 'upload'} |
| 113 | <option value='{$langfile}'>{$language.name}</option> |
| 114 | {/if} |
| 115 | {/foreach} |
| 116 | </select> |
| 117 | </td> |
| 118 | </tr> |
| 119 | <tr> |
| 120 | <td> |
| 121 | <label for='voice' title='Copy translation to voice for phrases where string and voice are the same in the English language file'>Copy voice strings</label> |
| 122 | </td> |
| 123 | <td> |
| 124 | <input type='checkbox' id='voice', name='voice' title='Copy translation to voice for phrases where string and voice are the same in the English language file' /> |
| 125 | </td> |
| 126 | </tr> |
| 127 | <tr> |
| 128 | <td> |
| 129 | <label for='empty' title='Make empty and "none" strings match the English language file'>Fix empty strings</label> |
| 130 | </td> |
| 131 | <td> |
| 132 | <input type='checkbox' id='empty', name='empty' title='Make empty and "none" strings match the English language file' /> |
| 133 | </td> |
| 134 | </tr> |
| 135 | <tr> |
| 136 | <td> |
| 137 | <label for='sort' title='Sort phrases in the same order as the English language file'>Sort in English order</label> |
| 138 | </td> |
| 139 | <td> |
| 140 | <input type='checkbox' id='sort', name='sort' title='Sort phrases in the same order as the English language file' /> |
| 141 | </td> |
| 142 | </tr> |
| 143 | <tr> |
| 144 | <td> |
| 145 | <label for='sendfile' title='Prompt to save the result on disk'>Save result as file</label> |
| 146 | </td> |
| 147 | <td> |
| 148 | <input type='checkbox' id='sendfile', name='sendfile' title='Prompt to save the result on disk' /> |
| 149 | </td> |
| 150 | </tr> |
| 151 | <tr> |
| 152 | <td align="right" colspan="2"><input type="submit" /></td> |
| 153 | </tr> |
| 154 | </table> |
| 155 | </form> |
| 156 | |
| 157 | </table> |
| 158 | |
| 159 | {include file="footer.tpl"} |