mirror of
https://github.com/yacy/yacy_search_server.git
synced 2024-09-19 00:01:41 +02:00
recursive Translations.
You can now translate the Menu and other things in subfolders, too git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@508 6c8d7289-2bf4-0310-a012-ef5d649a1542
This commit is contained in:
parent
b32e7c516c
commit
ee0a9a2d9b
|
@ -100,7 +100,7 @@ public class Language_p {
|
|||
File destDir = new File(env.getRootPath(), htRootPath + "/locale/"+lang.substring(0,lang.length()-4));//cut .lng
|
||||
File translationFile = new File(langPath, lang);
|
||||
|
||||
if(translator.translateFiles(sourceDir, destDir, translationFile, "html")){
|
||||
if(translator.translateFilesRecursive(sourceDir, destDir, translationFile, "html")){
|
||||
env.setConfig("htLocaleSelection", lang.substring(0,lang.length()-4));
|
||||
try{
|
||||
BufferedWriter bw = new BufferedWriter(new PrintWriter(new FileWriter(new File(destDir, "version"))));
|
||||
|
|
|
@ -204,18 +204,21 @@ public class listManager {
|
|||
return null;
|
||||
}
|
||||
|
||||
public static Vector getDirsRecursive(File dir){
|
||||
return getDirsRecursive(dir, true);
|
||||
}
|
||||
/**
|
||||
* Returns a List of all dirs and subdirs as File Objects
|
||||
*
|
||||
* Warning: untested
|
||||
*/
|
||||
public static Vector getDirsRecursive(File dir){
|
||||
public static Vector getDirsRecursive(File dir, boolean excludeDotfiles){
|
||||
File[] dirList = dir.listFiles();
|
||||
Vector resultList = new Vector();
|
||||
Vector recursive;
|
||||
Iterator it;
|
||||
for(int i=0;i<dirList.length;i++){
|
||||
if(dirList[i].isDirectory()){
|
||||
if(dirList[i].isDirectory() && (!excludeDotfiles || !dirList[i].getName().startsWith(".")) ){
|
||||
resultList.add(dirList[i]);
|
||||
recursive = getDirsRecursive(dirList[i]);
|
||||
it=recursive.iterator();
|
||||
|
|
|
@ -57,6 +57,7 @@ import java.util.Iterator;
|
|||
import java.util.Vector;
|
||||
|
||||
import de.anomic.server.logging.serverLog;
|
||||
import de.anomic.data.listManager;
|
||||
|
||||
/**
|
||||
* Wordlist based translator
|
||||
|
@ -169,10 +170,10 @@ public class translator {
|
|||
if(translateFile(sourceFiles[i], new File(destDir, sourceFiles[i].getName()), (Hashtable)translationLists.get(sourceFiles[i].getName()))){
|
||||
serverLog.logInfo("Translator", "Translated file: "+ sourceFiles[i].getName());
|
||||
}else{
|
||||
serverLog.logError("Translator", "File error while translating file "+sourceFiles[i].getName());
|
||||
serverLog.logError("Translator", "File error while translating file "+sourceFiles[i].getPath());
|
||||
}
|
||||
}else{
|
||||
serverLog.logInfo("Translator", "No translation for file: "+sourceFiles[i].getName());
|
||||
serverLog.logInfo("Translator", "No translation for file: "+sourceFiles[i].getPath());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -180,5 +181,19 @@ public class translator {
|
|||
return true;
|
||||
}
|
||||
|
||||
public static boolean translateFilesRecursive(File sourceDir, File destDir, File translationFile, String extension){
|
||||
Vector dirList=listManager.getDirsRecursive(sourceDir);
|
||||
Iterator it=dirList.iterator();
|
||||
String sourceName=sourceDir.getPath();
|
||||
String destName=destDir.getPath();
|
||||
File dir=null;
|
||||
File dir2=null;
|
||||
while(it.hasNext()){
|
||||
dir=(File)it.next();
|
||||
dir2=new File(dir.getPath().replaceFirst(sourceName, destName));
|
||||
translateFiles(dir, dir2, translationFile, extension);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -395,7 +395,7 @@ public final class yacy {
|
|||
if(! currentRev.equals(sb.getConfig("svnRevision", "")) ){ //is this another version?!
|
||||
File sourceDir = new File(sb.getConfig("htRootPath", "htroot"));
|
||||
File destDir = new File(sourceDir, "locale/"+lang);
|
||||
if(translator.translateFiles(sourceDir, destDir, new File("DATA/LOCALE/"+lang+".lng"), "html")){ //translate it
|
||||
if(translator.translateFilesRecursive(sourceDir, destDir, new File("DATA/LOCALE/"+lang+".lng"), "html")){ //translate it
|
||||
//write the new Versionnumber
|
||||
BufferedWriter bw = new BufferedWriter(new PrintWriter(new FileWriter(new File(destDir, "version"))));
|
||||
bw.write(sb.getConfig("svnRevision", "Error getting Version"));
|
||||
|
|
Loading…
Reference in New Issue
Block a user