blob: c46bfd5087e112ab83516ddffc3e6d51498b1b4f [file] [log] [blame]
Jonas Häggqvist31ca70b2010-01-31 00:44:07 +00001{include file="header.tpl" title=$title rss="rss.php"}
2
3<h1>Rockbox translations</h1>
4
5<p>
6On this page you can see the current status of the various Rockbox translations.
7Ideally, all languages below should be at 100%. In reality though, this is not
8the case. You can help remedy this situation by clicking on the name of a
9language you speak and help translate Rockbox all within the comfort of your
10webbrowser. Alternatively, you can go to <a
Solomon Peachy38651192024-04-19 22:01:08 -040011href="//www.rockbox.org/wiki/LangFiles">this page</a> in the
Jonas Häggqvist31ca70b2010-01-31 00:44:07 +000012Rockbox wiki, which will tell you how to update languages the more manual, but
13possibly slightly safer way.
14</p>
Solomon Peachy5c91bbb2020-05-21 20:59:25 -040015<p>You can also find some stats about <a href="//translate.rockbox.org/whichfont.php">font coverage</a>.</p>
Solomon Peachya7f2dca2020-07-14 08:31:11 -040016<p><em>Note that the Rockbox Utility is translated separately, please see the
Solomon Peachy38651192024-04-19 22:01:08 -040017<a href="//www.rockbox.org/wiki/RockboxUtilityDevelopment#How_to_Translate">Rockbox Utility Development</a> page on the wiki.</em></p>
Jonas Häggqvist31ca70b2010-01-31 00:44:07 +000018
19<h2>Current translation status</h2>
Solomon Peachy0c22fb92020-08-17 14:41:01 -040020<p><i>Note: This is updated at most every 15 minutes, but only if the build farm is idle.</i></p>
Jonas Häggqvist31ca70b2010-01-31 00:44:07 +000021<ul>
22{foreach from=$summary key=k item=v}
23 <li>{$v} {$k} translations
Solomon Peachyaa276702021-12-15 22:46:05 -050024 {if $k=="good"}(&gt;90% translated){/if}
Jonas Häggqvist31ca70b2010-01-31 00:44:07 +000025 {if $k=="normal"}(&gt;50% translated){/if}
26 {if $k=="bad"}(&lt;50% translated){/if}
27 </li>
28{/foreach}
29</ul>
30
31<table>
32 <thead>
33 <tr>
Solomon Peachy077debb2024-05-15 12:10:11 -040034 <td colspan='3'>Language</td>
Jonas Häggqvist31ca70b2010-01-31 00:44:07 +000035 <td>Last update</td>
36 <td>Progress</td>
Solomon Peachyd6684f02024-05-16 21:57:21 -040037 <td>Phrases missing</td>
38 <td>Description changed</td>
39 <td>Source changed</td>
40 <td>Translation missing or errors</td>
41 <td>Voice missing or errors</td>
Solomon Peachyb61343c2020-07-27 15:59:47 -040042 <td>Same as English</td>
Jonas Häggqvist31ca70b2010-01-31 00:44:07 +000043 </tr>
44 </thead>
45 {foreach from=$langstats key=langfile item=language}
Solomon Peachy9ab3dde2024-05-01 10:11:53 -040046 {if $language.percentage == 100 && $language.source == 0 && $language.dest == 0 && $language.desc == 0 && $language.voice == 0}
Jonas Häggqvist31ca70b2010-01-31 00:44:07 +000047 {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 Peachy31d608a2021-09-29 11:21:28 -040053 {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äggqvist31ca70b2010-01-31 00:44:07 +000061 <tr class="{$rowclass}">
62 <td>
63 <img class="flagthumb" src="flags/22/{$language.flag}.png" />
64 </td>
65 <td>
Solomon Peachybe29be12020-04-10 16:39:41 -040066 {if $langfile != 'english'}
Jonas Häggqvist31ca70b2010-01-31 00:44:07 +000067 <a href='problems.php?lang={$langfile}'><img style='border: none' src='warning.gif' width='16' height='16' /></a>
Solomon Peachybe29be12020-04-10 16:39:41 -040068 {/if}
Jonas Häggqvist31ca70b2010-01-31 00:44:07 +000069 </td>
70 <td>
Solomon Peachy29ea9a82024-04-30 18:57:30 -040071 {if $language.percentage == 100 && $language.desc == 0 && $language.source == 0 && $language.dest == 0 && $language.voice == 0 && ($language.voicedup + $language.destdup) == 0 }
Jonas Häggqvist31ca70b2010-01-31 00:44:07 +000072 {$language.name}
73 {else}
74 <a href='edit.php?lang={$langfile}'>{$language.name}</a>
75 {/if}
76 </td>
77 <td>
Solomon Peachy18b71412020-07-08 21:11:27 -040078 <a href='//git.rockbox.org/cgit/rockbox.git/commit/?id={$language.last_update_rev}' title='{$language.last_update|date_format:"%c"}'>
Jonas Häggqvist31ca70b2010-01-31 00:44:07 +000079 {$language.last_update|simple_timesince}
80 </a>
81 </td>
82 <td><img title='{$language.percentage|string_format:"%.2f%%"}' src='graph.php?p={$language.percentage|string_format:"%.2f"}' /></td>
83 </td>
84 <td>{$language.missing}</td>
85 <td>{$language.desc}</td>
86 <td>{$language.source}</td>
Solomon Peachyb61343c2020-07-27 15:59:47 -040087 <td>{$language.dest}</td>
88 <td>{$language.voice}</td>
Solomon Peachy31d608a2021-09-29 11:21:28 -040089 <td class="{$englishclass}">{$language.voicedup + $language.destdup}</td>
Jonas Häggqvist31ca70b2010-01-31 00:44:07 +000090 </tr>
91 {/foreach}
92</table>
93
94<h2>Perform automated cleanup</h2>
95<p>Using the form below, it's possible to perform automated cleanups of a
96translation. Be aware though, that this might produce unwanted results in some
97cases, so you're required to check the results rather than blindly trusting
98them.</p>
99
100<form action="fixlang.php" method="GET">
101<table>
102 <tr>
103 <td>Language</td>
104 <td>
105 <select name="lang">
106 {foreach from=$languages item=language key=langfile}
107 {if $langfile != 'upload'}
108 <option value='{$langfile}'>{$language.name}</option>
109 {/if}
110 {/foreach}
111 </select>
112 </td>
113 </tr>
114 <tr>
115 <td>
116 <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>
117 </td>
118 <td>
119 <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' />
120 </td>
121 </tr>
122 <tr>
123 <td>
124 <label for='empty' title='Make empty and "none" strings match the English language file'>Fix empty strings</label>
125 </td>
126 <td>
127 <input type='checkbox' id='empty', name='empty' title='Make empty and "none" strings match the English language file' />
128 </td>
129 </tr>
130 <tr>
131 <td>
132 <label for='sort' title='Sort phrases in the same order as the English language file'>Sort in English order</label>
133 </td>
134 <td>
135 <input type='checkbox' id='sort', name='sort' title='Sort phrases in the same order as the English language file' />
136 </td>
137 </tr>
138 <tr>
139 <td>
140 <label for='sendfile' title='Prompt to save the result on disk'>Save result as file</label>
141 </td>
142 <td>
143 <input type='checkbox' id='sendfile', name='sendfile' title='Prompt to save the result on disk' />
144 </td>
145 </tr>
146 <tr>
147 <td align="right" colspan="2"><input type="submit" /></td>
148 </tr>
149</table>
150</form>
151
152</table>
153
154{include file="footer.tpl"}