Ahoj.
Maintainujem qtjambi/maven plugin a stojim pred rozhodnutim ci/a/alebo cim
parsovat javovske zdrojaky. V principe mi ide o extrakciu textov k prekladu (
pokial niekto pouziva qt/qtjambi, ide mi o nahradu toolu "lupdate" ).
Priklad:
public class MainClass extends SomeObject {
public void someMethod() {
String s1 = tr("string1");
String s2 = QApplication.translate("MyContext", "string2");
String s3 = QCoreApplication.translate("MyContext", "string3",
5);
//String s4 = QApplication.translate("MyContext", "string4", 5);
String s5 = QApplication.translate(
"MyContext",
"string5",
7);
/*
String s6 = tr("commented");
*/
}
class InnerClass {
void anotherMethod() {
String s6 = tr("string6");
}
}
}
Z tohoto zdrojaku potrebujem vyextrahovat parameter pre tr() a prve dva
parametre pre QApplication.translate() a QCoreApplication.translate().
Dalej v pripade tr() potrebujem vediet meno class-y ( MainClass ), pripadne aj
rodicovskej classy (MainClass.InnerClass).
Samozrejme k tomu spravne handlovat zakomentovane casti kodu a viacriadkove
statementy.
Vysledkom tohoto extraktu by bolo cosi podobne tomuto:
MainClass,string1
MyContext,string2
MyContext,string3
MyContext,string5
MainClass.InnerClass,string6
Mam niekolko moznosti:
- regexp ( primitivne, nezistim meno classy )
- nejaky vlastny tokenizer ( dlhsi cas vyvoja )
- zneuzit cosi existujuce ... ?
Ako by ste na to sli vy?
Dik
--
Dusan
... tykajte mi