Révision 1256
| tmp/org.txm.translate.rcp/src/org/txm/rcp/translate/devtools/NormalizeKeys.java (revision 1256) | ||
|---|---|---|
| 60 | 60 |
System.err.println("NormalizeKeys.normalize(): warning: empty string for key: " + key);
|
| 61 | 61 |
continue; |
| 62 | 62 |
} |
| 63 |
String oldKey = key; |
|
| 64 | 63 |
String newKey = normalize(messages.get(key)); |
| 65 |
pmManager.renameKey(oldKey, newKey);
|
|
| 64 |
pmManager.renameKey(key, newKey);
|
|
| 66 | 65 |
|
| 67 | 66 |
//messages.put(normalize(messages.get(key)), messages.get(key)); |
| 68 | 67 |
|
| ... | ... | |
| 76 | 75 |
|
| 77 | 76 |
|
| 78 | 77 |
|
| 79 |
/** |
|
| 80 |
* Normalizes the keys of the specified messages map. |
|
| 81 |
* @param messages |
|
| 82 |
* @return |
|
| 83 |
*/ |
|
| 84 |
public BiHashMap<String, String> normalize(BiHashMap<String, String> messages) {
|
|
| 85 |
|
|
| 86 |
for (String key : messages.getKeys()) {
|
|
| 87 |
String value = messages.get(key); |
|
| 88 |
|
|
| 89 |
// already formatted message |
|
| 90 |
if(key.matches(preserve)) {
|
|
| 91 |
System.err.println("NormalizeKeys.normalize(): warning: skipped: " + key + "=" + value);
|
|
| 92 |
continue; |
|
| 93 |
} |
|
| 94 |
// empty message |
|
| 95 |
else if(value.length() == 0) {
|
|
| 96 |
System.err.println("NormalizeKeys.normalize(): warning: empty string for key: " + key);
|
|
| 97 |
continue; |
|
| 98 |
} |
|
| 99 |
|
|
| 100 |
messages.put(normalize(messages.get(key)), messages.get(key)); |
|
| 101 |
//messages.removeByKey(key); |
|
| 102 |
} |
|
| 103 |
|
|
| 104 |
return messages; |
|
| 105 |
} |
|
| 106 |
|
|
| 78 |
// /**
|
|
| 79 |
// * Normalizes the keys of the specified messages map.
|
|
| 80 |
// * @param messages
|
|
| 81 |
// * @return
|
|
| 82 |
// */
|
|
| 83 |
// public BiHashMap<String, String> normalize(BiHashMap<String, String> messages) {
|
|
| 84 |
// |
|
| 85 |
// for (String key : messages.getKeys()) {
|
|
| 86 |
// String value = messages.get(key);
|
|
| 87 |
// |
|
| 88 |
// // already formatted message
|
|
| 89 |
// if(key.matches(preserve)) {
|
|
| 90 |
// System.err.println("NormalizeKeys.normalize(): warning: skipped: " + key + "=" + value);
|
|
| 91 |
// continue;
|
|
| 92 |
// }
|
|
| 93 |
// // empty message
|
|
| 94 |
// else if(value.length() == 0) {
|
|
| 95 |
// System.err.println("NormalizeKeys.normalize(): warning: empty string for key: " + key);
|
|
| 96 |
// continue;
|
|
| 97 |
// }
|
|
| 98 |
// |
|
| 99 |
// messages.put(normalize(messages.get(key)), messages.get(key));
|
|
| 100 |
// //messages.removeByKey(key);
|
|
| 101 |
// }
|
|
| 102 |
// |
|
| 103 |
// return messages;
|
|
| 104 |
// }
|
|
| 105 |
// |
|
| 107 | 106 |
|
| 108 | 107 |
/** |
| 109 | 108 |
* Normalizes the specified string. |
| ... | ... | |
| 176 | 175 |
File projectFile = new File(new File(System.getProperty("user.dir")).getParentFile().getAbsolutePath() + "/org.txm.core");
|
| 177 | 176 |
File messageFile = new File(projectFile, "src/java/org/txm/core/messages/TXMCoreMessages.java"); |
| 178 | 177 |
|
| 179 |
PluginMessages pmManager = new PluginMessages(projectFile, messageFile); |
|
| 178 |
PluginMessages pmManager = new PluginMessages(projectFile, messageFile, false);
|
|
| 180 | 179 |
NormalizeKeys keysNormalizer = new NormalizeKeys(true); |
| 181 | 180 |
|
| 182 | 181 |
// tests |
| ... | ... | |
| 185 | 184 |
//pmManager.dump(pmManager.getMessagesForLang(""));
|
| 186 | 185 |
pmManager.dumpKeysReplacements(); |
| 187 | 186 |
|
| 188 |
|
|
| 187 |
System.out.println("NormalizeKeys.main(): number of replacements to do: " + pmManager.getKeyModifications().size() + ".");
|
|
| 188 |
|
|
| 189 | 189 |
System.out.println("NormalizeKeys.main(): terminated.");
|
| 190 | 190 |
|
| 191 | 191 |
// HashSet<String> strings = new HashSet<String>(); |
| tmp/org.txm.translate.rcp/src/org/txm/rcp/translate/i18n/WorkspaceMessagesManager.java (revision 1256) | ||
|---|---|---|
| 10 | 10 |
import java.util.Map; |
| 11 | 11 |
import java.util.TreeSet; |
| 12 | 12 |
|
| 13 |
import org.txm.rcp.translate.devtools.NormalizeKeys; |
|
| 13 | 14 |
import org.txm.utils.io.IOUtils; |
| 14 | 15 |
|
| 15 | 16 |
/** |
| ... | ... | |
| 95 | 96 |
System.out.println("WorkspaceMessagesManager.WorkspaceMessagesManager(): numbers of used keys: " + this.usedKeysFilesIndex.size() + ".");
|
| 96 | 97 |
System.out.println("WorkspaceMessagesManager.WorkspaceMessagesManager(): numbers of unused keys: " + PluginMessages.getUnusedKeys(this.usedKeysFilesIndex, false).size() + ".");
|
| 97 | 98 |
System.out.println("WorkspaceMessagesManager.WorkspaceMessagesManager(): done.");
|
| 99 |
|
|
| 100 |
|
|
| 101 |
|
|
| 102 |
|
|
| 103 |
// FIXME normalizer test |
|
| 104 |
// File projectFile = new File(new File(System.getProperty("user.dir")).getParentFile().getAbsolutePath() + "/org.txm.core");
|
|
| 105 |
// File messageFile = new File(projectFile, "src/java/org/txm/core/messages/TXMCoreMessages.java"); |
|
| 106 |
// |
|
| 107 |
// PluginMessages pmManager = new PluginMessages(projectFile, messageFile); |
|
| 108 |
// NormalizeKeys keysNormalizer = new NormalizeKeys(true); |
|
| 109 |
// |
|
| 110 |
// // tests |
|
| 111 |
// keysNormalizer.normalize(pmManager); |
|
| 112 |
// |
|
| 113 |
// //pmManager.dump(pmManager.getMessagesForLang(""));
|
|
| 114 |
// pmManager.dumpKeysReplacements(); |
|
| 115 |
|
|
| 116 |
|
|
| 117 |
|
|
| 98 | 118 |
} |
| 99 | 119 |
|
| 100 | 120 |
/** |
| tmp/org.txm.translate.rcp/src/org/txm/rcp/translate/i18n/PluginMessages.java (revision 1256) | ||
|---|---|---|
| 39 | 39 |
/** |
| 40 | 40 |
* Debug state. |
| 41 | 41 |
*/ |
| 42 |
public boolean debug = true;
|
|
| 42 |
protected boolean debug;
|
|
| 43 | 43 |
|
| 44 | 44 |
/** |
| 45 | 45 |
* Project root directory. |
| ... | ... | |
| 92 | 92 |
*/ |
| 93 | 93 |
BiHashMap<File, String> file2lang = new BiHashMap<File, String>(); |
| 94 | 94 |
|
| 95 |
|
|
| 96 |
|
|
| 97 |
|
|
| 95 | 98 |
/** |
| 96 | 99 |
* |
| 97 | 100 |
* @param projectDirectory |
| ... | ... | |
| 101 | 104 |
* @throws IOException |
| 102 | 105 |
*/ |
| 103 | 106 |
public PluginMessages(File projectDirectory, File javaMessageFile) throws UnsupportedEncodingException, FileNotFoundException, IOException {
|
| 107 |
this(projectDirectory, javaMessageFile, true); |
|
| 108 |
} |
|
| 109 |
|
|
| 110 |
/** |
|
| 111 |
* |
|
| 112 |
* @param projectDirectory |
|
| 113 |
* @param javaMessageFile |
|
| 114 |
* @throws UnsupportedEncodingException |
|
| 115 |
* @throws FileNotFoundException |
|
| 116 |
* @throws IOException |
|
| 117 |
*/ |
|
| 118 |
public PluginMessages(File projectDirectory, File javaMessageFile, boolean debug) throws UnsupportedEncodingException, FileNotFoundException, IOException {
|
|
| 104 | 119 |
|
| 105 | 120 |
this.javaMessageFile = javaMessageFile; |
| 106 | 121 |
this.projectDirectory = projectDirectory; |
| 107 | 122 |
this.srcFiles = new ArrayList<File>(); |
| 108 |
|
|
| 123 |
this.debug = debug; |
|
| 124 |
|
|
| 109 | 125 |
System.out.println("********************************************************************************************************************");
|
| 110 | 126 |
System.out.println("PluginMessages.PluginMessages(): project root directory = " + this.projectDirectory);
|
| 111 | 127 |
System.out.println("PluginMessages.PluginMessages(): java message file = " + this.javaMessageFile);
|
| ... | ... | |
| 188 | 204 |
if(debug) {
|
| 189 | 205 |
System.out.println("PluginMessages.createUsedKeysIndex(): looking for key " + this.getKeyFullName(key) + " in project source files...");
|
| 190 | 206 |
} |
| 207 |
else {
|
|
| 208 |
System.out.print(".");
|
|
| 209 |
} |
|
| 191 | 210 |
|
| 211 |
|
|
| 192 | 212 |
for (File file : this.srcFiles) {
|
| 193 | 213 |
ArrayList<String> lines = IOUtils.getLines(file, PluginMessages.ENCODING); |
| 194 | 214 |
|
| ... | ... | |
| 439 | 459 |
if(debug) {
|
| 440 | 460 |
System.out.println("PluginMessages.createSourceFilesList(): adding source files " + file + ".");
|
| 441 | 461 |
} |
| 462 |
else {
|
|
| 463 |
System.out.print(".");
|
|
| 464 |
} |
|
| 442 | 465 |
|
| 443 | 466 |
this.srcFiles.add(file); |
| 444 | 467 |
} |
| ... | ... | |
| 475 | 498 |
return; |
| 476 | 499 |
} |
| 477 | 500 |
|
| 501 |
// continue only if key name has changed |
|
| 502 |
if(oldName.equals(newName)) {
|
|
| 503 |
if(debug) {
|
|
| 504 |
System.out.println("PluginMessages.renameKey(): no changes, skipped key: " + oldName + " = " + newName);
|
|
| 505 |
} |
|
| 506 |
return; |
|
| 507 |
} |
|
| 508 |
|
|
| 509 |
|
|
| 478 | 510 |
messageKeys.remove(oldName); |
| 479 | 511 |
messageKeys.add(newName); |
| 480 | 512 |
|
Formats disponibles : Unified diff