2002/css-validator/org/w3c/css/index TranslationTableGenerator.java,1.1,1.2 translations.vm,1.1,1.2

Update of /sources/public/2002/css-validator/org/w3c/css/index
In directory hutz:/tmp/cvs-serv8272/org/w3c/css/index

Modified Files:
	TranslationTableGenerator.java translations.vm 
Log Message:
sorted table with links for translation submission

Index: TranslationTableGenerator.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/index/TranslationTableGenerator.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- TranslationTableGenerator.java	26 Nov 2007 07:02:46 -0000	1.1
+++ TranslationTableGenerator.java	27 Nov 2007 01:44:28 -0000	1.2
@@ -21,6 +21,9 @@
 import org.apache.commons.lang.StringEscapeUtils;
 import java.util.HashMap;
 import java.util.Iterator;
+import java.util.Vector;
+import java.util.Collections;
+import java.util.Comparator;
 import org.w3c.css.util.ApplContext;
 import org.w3c.css.util.Messages;
 import org.w3c.css.util.Utf8Properties;
@@ -31,6 +34,14 @@
  * 
  * 
  */
+class AlphaComparator implements Comparator {
+  public int compare(Object o1, Object o2) {
+    String s1 = (String) o1;
+    String s2 = (String) o2;
+    return s1.toLowerCase().compareTo(s2.toLowerCase());
+  }
+}
+
 public class TranslationTableGenerator {
 
 	// the velocity context used to generate the index
@@ -81,10 +92,15 @@
     			languages[i] = l;
     			ApplContext ac_translated = new ApplContext(name);
     			translations.put(name,ac_translated);
-    			translations_table = translations_table + "<th scope=\"col\">"+l.get("real")+"</th>";
+    			if (!name.equals(default_lang)){
+    			    translations_table = translations_table + "<th scope=\"col\">"+l.get("real")+"</th>";
+                }
     		}
     		vc.put("languages", languages);
-            Iterator properties_iterator = ac_default.getMsg().properties.keySet().iterator();
+    		vc.put("num_languages", Messages.languages_name.size());
+    		Vector sorted_properties_keys = new Vector(ac_default.getMsg().properties.keySet());
+    		Collections.sort(sorted_properties_keys, new AlphaComparator());
+            Iterator properties_iterator = sorted_properties_keys.iterator();
     		translations_table = translations_table + "</tr>";
     		while (properties_iterator.hasNext()) {
     		    String property_name = String.valueOf(properties_iterator.next());
@@ -97,15 +113,18 @@
     			    if (language.get("name").equals(default_lang)) {
     			        vc.put(property_name, property_translated);
     			    }
-    			    if (property_translated == null) {
-        			    translations_table = translations_table + "<td class=\"table_translation_missing\">✘</td>";    			        
-    			    }
-    			    else if ( property_translated.matches(".*translation unavailable.*")){
-        			    translations_table = translations_table + "<td class=\"table_translation_missing\"><span title=\""+StringEscapeUtils.escapeHtml(property_translated)+"\">✘</span></td>";
-    			    }
     			    else {
-    			        translations_table = translations_table + "<td class=\"table_translation_ok\"><span title=\""+StringEscapeUtils.escapeHtml(property_translated)+"\">✔</span></td>";
-    			    }
+    			        URI mail_translation = new URI("mailto", "w3c-translators@w3.org?Subject=["+property_name+"] CSS Validator Translation&body=Property:\n  "+property_name+"\n\nText in English:\n  "+ac_default.getMsg().getString(property_name)+"\n\nLanguage:\n  "+language.get("name")+"\n\nTranslation:\n\n\n-- Help translate the CSS Validator:\nhttp://qa-dev.w3.org:8001/css-validator/translations.html", "");
+        			    if (property_translated == null) {
+            			    translations_table = translations_table + "<td class=\"table_translation_missing\"><a title=\"submit a missing translation\" href=\""+StringEscapeUtils.escapeHtml(mail_translation.toASCIIString())+"\">✘</a></td>\n";    			        
+        			    }
+        			    else if ( property_translated.matches(".*translation unavailable.*")){
+            			    translations_table = translations_table + "<td class=\"table_translation_missing\"><a title=\"submit a missing translation\" href=\""+StringEscapeUtils.escapeHtml(mail_translation.toASCIIString())+"\">✘</a></td>\n";
+        			    }
+        			    else {
+        			        translations_table = translations_table + "<td class=\"table_translation_ok\"><span title=\""+StringEscapeUtils.escapeHtml(property_translated)+"\">✔</span></td>\n";
+        			    }
+        			}
                 }
                 translations_table = translations_table + "</tr>";
     		}

Index: translations.vm
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/index/translations.vm,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- translations.vm	26 Nov 2007 07:02:46 -0000	1.1
+++ translations.vm	27 Nov 2007 01:44:28 -0000	1.2
@@ -1,7 +1,10 @@
 #parse("./header.vm")
 <div class="intro">
-<h2>W3C CSS Validator localization</h2><p>This table lists all the text strings used to translate the CSS validator in many languages.</p><p> Cells marked <span class='table_translation_missing'>✘</span> need a new or updated translation. Cells marked <span class='table_translation_ok'>✔</span> are translated and up-to-date.</p>
-<p>Hover above each  ✘ or ✔ to read the current translation for each string.</p>
+<h2>Translation of the W3C CSS Validator</h2>
+<p>The CSS Validation service is currently available in $num_languages languages. The table below lists all the text strings used to translate the CSS validator:</p>
+<p>Cells marked <span class='table_translation_missing'><a title="Cross Mark">✘</a></span> need a new or updated translation. Click on the relevant ✘ to submit a translation by mail.</p>
+<p>Cells marked <span class='table_translation_ok'>✔</span> are translated and up-to-date. Hover above  ✔ to read the current translation for each string.</p>
+<p>You can help fill the blanks and complete the translation in <strong>your</strong> language!</p>
 </div>
 $translations_table
 #parse("./footer.vm")

Received on Tuesday, 27 November 2007 01:44:39 UTC