[Jrisk-cvs] SF.net SVN: jrisk:[548] XcodeTranslationTool/src/net/yura
Brought to you by:
yuranet
From: <yu...@us...> - 2011-10-14 12:21:09
|
Revision: 548 http://jrisk.svn.sourceforge.net/jrisk/?rev=548&view=rev Author: yuranet Date: 2011-10-14 12:21:03 +0000 (Fri, 14 Oct 2011) Log Message: ----------- android export fix Modified Paths: -------------- XcodeTranslationTool/src/net/yura/translation/plugins/xcode/XcodeTranslationTool.java XcodeTranslationTool/src/net/yura/util/AndroidExport.java Modified: XcodeTranslationTool/src/net/yura/translation/plugins/xcode/XcodeTranslationTool.java =================================================================== --- XcodeTranslationTool/src/net/yura/translation/plugins/xcode/XcodeTranslationTool.java 2011-10-13 18:11:26 UTC (rev 547) +++ XcodeTranslationTool/src/net/yura/translation/plugins/xcode/XcodeTranslationTool.java 2011-10-14 12:21:03 UTC (rev 548) @@ -217,7 +217,7 @@ } final XcodeTranslationTool tt = new XcodeTranslationTool(); - final JFrame frame = new JFrame( tt.getName()+ " "+myName+" "+myVer); + final JFrame frame = new JFrame( tt.getName()+ " "+myName+" "+myVer+" "+WEBSITE); frame.getContentPane().add(tt.getToolBar(), BorderLayout.NORTH); //frame.getContentPane().add( tt ); frame.setSize(1000, 700); Modified: XcodeTranslationTool/src/net/yura/util/AndroidExport.java =================================================================== --- XcodeTranslationTool/src/net/yura/util/AndroidExport.java 2011-10-13 18:11:26 UTC (rev 547) +++ XcodeTranslationTool/src/net/yura/util/AndroidExport.java 2011-10-14 12:21:03 UTC (rev 548) @@ -57,17 +57,7 @@ //String message = node.getMessage(comms, null, locale); String message = comms.getMessage(node, null, locale); if (message!=null) { - - // we need to conver %@ and %a to {1} - String oldMessage; - int c=0; - do { - oldMessage = message; // TODO does not support %2.2f - message = message.replaceFirst("%[A-Za-z@]", "{"+(c++)+"}"); - - } while (!message.equals(oldMessage)); - - map.put(node.getName(), message); + map.put( node.getName() , message ); } } if (node.hasChildren()) { @@ -88,7 +78,48 @@ } + static String convertKey(String message) { + + // for some crazy reason Android can not have a - in the key + int apos = message.indexOf('-'); + if (apos>=0) { + for (int c=apos;c<message.length();c++) { + char ch = message.charAt(c); + if (ch=='-') { + message = message.substring(0, c)+'_'+message.substring( c+1 ); + } + } + } + return message; + } + static String convertMessage(String message) { + + // for some crazy reason Android needs a \ before every ' + int apos = message.indexOf('\''); + if (apos>=0) { + for (int c=apos;c<message.length();c++) { + char ch = message.charAt(c); + if (ch=='\'') { + message = message.substring(0, c)+'\\'+message.substring(c); + c++; + } + } + } + + // we need to conver %@ and %a to {1} + String oldMessage; + int c=0; + do { + oldMessage = message; // TODO does not support %2.2f + message = message.replaceFirst("%[A-Za-z@]", "{"+(c++)+"}"); + + } while (!message.equals(oldMessage)); + + return message; + + } + static void export(Map map, File outFile) throws Exception { @@ -108,10 +139,11 @@ for (Iterator e = keys.iterator(); e.hasNext();) { String key = String.valueOf( e.next() ); + String message = String.valueOf( map.get(key) ); serializer.startTag(null,string); - serializer.attribute(null, name, key ); - serializer.text( String.valueOf( map.get(key) ) ); + serializer.attribute(null, name, convertKey(key) ); + serializer.text( convertMessage(message) ); serializer.endTag(null,string); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |