PageRenderTime 26ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/sugarcrm/SugarOS-Full-4.5.1d/translate_m.php

http://twpug.googlecode.com/
PHP | 207 lines | 190 code | 9 blank | 8 comment | 36 complexity | 249c5f668dd1b4b030c776b521757906 MD5 | raw file
Possible License(s): AGPL-1.0
  1. <?php
  2. // Configuration area start
  3. // Please config the following settings before translation besides Traditional Chinese :)
  4. // Notice :
  5. // 1. Give rights to web server for writing all language files if you are not use M$ OS
  6. // ex. /language/ and /modules/*/language/
  7. // 2. Please put this script to the root path of your vtigerCRM installation
  8. define('sugarEntry', 'test');
  9. class sugarEntry
  10. {
  11. function sugarEntry()
  12. {
  13. return 1;
  14. }
  15. }
  16. $bk = chr(10); // The sign of line break
  17. $qo = ' '; // The sign for quote
  18. $lang = 'zh-tw'; // Your language code in ISO-XXX
  19. $encode = 'UTF-8'; // The encode you want to use
  20. // Configuration area end
  21. ?>
  22. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="<?php echo $lang; ?>">
  23. <head>
  24. <meta http-equiv="Content-Type" content="text/html; charset=<?php echo $encode; ?>" />
  25. <style type="text/css">
  26. body{
  27. font-size: 10pt;
  28. }
  29. input{
  30. height: 17pt;
  31. border: 1px solid black;
  32. background-color: #A5A5A5;
  33. color: #FFFFFF;
  34. }
  35. div{
  36. line-height: 20pt;
  37. }
  38. </style>
  39. </head>
  40. <body>
  41. <form method="get">
  42. Modules :<select name="kfolder">
  43. <?php
  44. $dir = "modules";
  45. if ($dh = opendir($dir)) {
  46. while (($folder = readdir($dh)) !== false) {
  47. if(is_dir($dir.'/'.$folder)&&$folder!='..'&&$folder!='.'&&file_exists($dir.'/'.$folder.'/language/en_us.lang.php')) {
  48. echo '<option';
  49. if($folder == $_GET['kfolder'])
  50. echo ' selected';
  51. echo '>'.$folder.'</option>';
  52. }
  53. }
  54. closedir($dh);
  55. }
  56. ?>
  57. </select><input type="submit"></form>
  58. <br>
  59. <?php
  60. if($_GET['kfolder']){
  61. echo '<form method="post">';
  62. if($_POST['go']){
  63. $string = '';
  64. @unlink('modules/'.$_GET['kfolder'].'/language/'.$lang.'.lang.php_old');
  65. @copy('modules/'.$_GET['kfolder'].'/language/'.$lang.'.lang.php', 'modules/'.$_GET['kfolder'].'/language/'.$lang.'.lang.php_old');
  66. $fd = fopen('modules/'.$_GET['kfolder'].'/language/'.$lang.'.lang.php', 'w');
  67. fwrite($fd, '<?php'.$bk);
  68. fwrite($fd, 'if(!defined(\'sugarEntry\') || !sugarEntry) die(\'Not A Valid Entry Point\');'.$bk);
  69. fwrite($fd, '$mod_strings = array ('.$bk);
  70. //$string .= 'app_list_strings = array ('.$bk;
  71. foreach($_POST['mod_strings'] as $key1 => $arr){
  72. if(is_array($arr)){
  73. $string .= $qo.'\''.$key1.'\' =>'.$bk.$qo.'array ('.$bk;
  74. foreach($arr as $key2 => $string1){
  75. $string .= $qo.$qo.'\''.$key2.'\' => \''.$string1.'\','.$bk;
  76. }
  77. $string .= $qo.'),'.$bk;
  78. } else {
  79. $string .= $qo.'\''.$key1.'\' => \''.$arr.'\','.$bk;
  80. }
  81. }
  82. fwrite($fd, $string);
  83. $string = '';
  84. if(sizeof($_POST['mod_list_strings']) > 0){
  85. fwrite($fd, $bk.');'.$bk.'$mod_list_strings = array ('.$bk);
  86. foreach($_POST['mod_list_strings'] as $key1 => $arr){
  87. if(is_array($arr)){
  88. $string .= $qo.'\''.$key1.'\' =>'.$bk.$qo.'array ('.$bk;
  89. foreach($arr as $key2 => $string1){
  90. $string .= $qo.$qo.'\''.$key2.'\' => \''.$string1.'\','.$bk;
  91. }
  92. $string .= $qo.'),'.$bk;
  93. } else {
  94. $string .= $qo.'\''.$key1.'\' => \''.$arr.'\','.$bk;
  95. }
  96. }
  97. fwrite($fd, $string);
  98. }
  99. fwrite($fd, $bk.');'.$bk.'?>');
  100. }
  101. include 'modules/'.$_GET['kfolder'].'/language/en_us.lang.php';
  102. $en_mod_strings = $mod_strings;
  103. $en_mod_strings2 = $en_mod_strings;
  104. $en_mod_list_strings = $mod_list_strings;
  105. $en_mod_list_strings2 = $en_mod_list_strings;
  106. if(file_exists('modules/'.$_GET['kfolder'].'/language/'.$lang.'.lang.php'))
  107. include 'modules/'.$_GET['kfolder'].'/language/'.$lang.'.lang.php';
  108. $result1 = array_merge($en_mod_strings, $mod_strings);
  109. $result2 = array_merge($en_mod_list_strings, $mod_list_strings);
  110. foreach($en_mod_strings AS $key => $arr) {
  111. if(array_key_exists($key, $result1)) {
  112. if(is_array($arr)) {
  113. foreach($arr as $key2 => $string){
  114. if(!array_key_exists($key2, $result1[$key])) {
  115. $result1[$key][$key2] = $en_mod_strings[$key][$key2];
  116. }
  117. }
  118. }
  119. } else {
  120. $result1[$key] = $en_mod_strings[$key];
  121. }
  122. }
  123. foreach($en_mod_list_strings AS $key => $arr) {
  124. if(array_key_exists($key, $result2)) {
  125. if(is_array($arr)) {
  126. foreach($arr as $key2 => $string){
  127. if(!array_key_exists($key2, $result2[$key])) {
  128. $result2[$key][$key2] = $en_mod_list_strings[$key][$key2];
  129. }
  130. }
  131. }
  132. } else {
  133. $result2[$key] = $en_mod_list_strings[$key];
  134. }
  135. }
  136. $cidx = 0;
  137. function div_color($idx){
  138. if($idx % 2 == 0) return '#C0C0C0';
  139. else return '#848484';
  140. }
  141. foreach($result1 as $key => $arr){
  142. if(array_key_exists($key, $en_mod_strings))
  143. {
  144. if(is_array($arr)){
  145. foreach($arr as $key2 => $string){
  146. if(array_key_exists($key2, $en_mod_strings[$key])) {
  147. $string = htmlentities($string, ENT_QUOTES, $encode);
  148. echo '<div style="background-color:'.div_color($cidx).'">&nbsp;&nbsp;<input type="text" name="mod_strings['.$key.']['.$key2.']" value="'.$string.'" size="80">';
  149. echo $en_mod_strings2[$key][$key2];
  150. echo '</div>';
  151. $cidx++;
  152. }
  153. }
  154. } else {
  155. $arr = htmlentities($arr, ENT_QUOTES, $encode);
  156. echo '<div style="background-color:'.div_color($cidx).'">&nbsp;&nbsp;<input type="text" name="mod_strings['.$key.']" value="'.$arr.'" size="80">';
  157. echo $en_mod_strings2[$key];
  158. echo '</div>';
  159. $cidx++;
  160. }
  161. }
  162. }
  163. if($result2){
  164. foreach($result2 as $key => $arr){
  165. if(array_key_exists($key, $en_mod_list_strings))
  166. {
  167. if(is_array($arr)){
  168. foreach($arr as $key2 => $string){
  169. if(array_key_exists($key2, $en_mod_list_strings[$key])) {
  170. $string = htmlentities($string, ENT_QUOTES, $encode);
  171. echo '<div style="background-color:'.div_color($cidx).'">&nbsp;&nbsp;<input type="text" name="mod_list_strings['.$key.']['.$key2.']" value="'.$string.'" size="80">';
  172. echo $en_mod_list_strings2[$key][$key2];
  173. echo '</div>';
  174. }
  175. }
  176. } else {
  177. $arr = htmlentities($arr, ENT_QUOTES, $encode);
  178. echo '<div style="background-color:'.div_color($cidx).'">&nbsp;&nbsp;<input type="text" name="mod_list_strings['.$key.']" value="'.$arr.'" size="80"><br>';
  179. echo $en_mod_list_strings2[$key];
  180. echo '</div>';
  181. }
  182. }
  183. }
  184. }
  185. echo '<input type="submit" name="go" value="go">';
  186. echo '</form>';
  187. } else if($_GET['mfile'])
  188. {
  189. if($_POST['mgo'])
  190. {
  191. }
  192. echo '<form method="post">';
  193. echo '<input type="submit" name="mgo" value="go">';
  194. echo '</form>';
  195. }
  196. ?>
  197. </body>
  198. </html>