diff --git a/.gitignore b/.gitignore index 9ac98523f..6f4ef8cae 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ *.conflict~ *.identcache *.recompiled.swf +*(Selective Sync Conflict* run_test_*.swf Thumbs.db /build/ diff --git a/CHANGELOG.md b/CHANGELOG.md index 9b96e6a79..47043c7fe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,12 +7,19 @@ All notable changes to this project will be documented in this file. ### Removed - Due to Java9+ limited support of reflection, following features were removed: -- Support for detecting installed fonts - affects fonts editation +- Automatic detection of installed fonts changes (on font editation) - FFDec needs to be restarted to font changes to take effect - XML import/export - Raw editation of tags - Generic editation of tags through treeview (affects tags like FileAttributes, ExportAssets) - Support for installing java in FFDec windows installer +### Changed +- Chinese translation updated + +### Fixed +- Scaling - Distorted images/canvas on Hi-dpi monitors for Java 9 and later +- Radial gradients focal point reading/writing + ## [11.3.0] - 2020-04-25 ### Added - Possibility to open SWF files using open on Mac diff --git a/FAQ.md b/FAQ.md new file mode 100644 index 000000000..2b258075c --- /dev/null +++ b/FAQ.md @@ -0,0 +1,36 @@ +# FFDec Frequently asked questions (FAQ) + +## "Invalid SWF file, wrong signature" on opening file with .swf extension, what's that? +This message means that you are opening file which is not really the SWF. FFDec can process only valid SWF files - those which can be played in Flash player. SWF file extension is not enough - also file structure must be compliant +with SWF standard - it needs to start with FWS, CWS or ZWS bytes. If you are 100% sure there is something SWF related inside your file, then it probably needs some kind of +decryption/unpacking routine first. Go where you got the file and search for an unpacking routine (loader), maybe you find something. FFDec cannot help you with this since decryption +routine can be literally anything. + +## Can I add new scripts? Or classes? +No, this feature is not implemented, sorry. Editing is limited to existing scripts or classes. + +## Direct editation of ActionScript gives me an error, what can I do? +Direct editation of AS is experimental and in most cases not even working - it might damage your SWF file. We won't fix that, sorry. + +## Can you implement new feature for me? +No, we no longer work on the decompiler. But decompiler is opensource, you can implement feature yourself. + +## But there are bugs, you will surely fix that +No, sorry, we no longer fix any bugs. Ask somebody else. + +## Is there a documentation for FFDec library? +No, there isn't one. + +## What's that thing with § character in scripts? +A) Variable identifiers which have invalid characters in their name are displayed in the form `§name§` (for example `§s-r/rg§` ). +This allows easier direct editation. + +B) Also, there exist few special instructions/functions with prefix §§: +- `§§push(item)` - pushes item on stack +- `§§pop()` - pops from stack +- `§§dup()` - duplicates value on stack +- `§§goto(label)` - jump to address +- `§§constant(number)` - unresolved constant (unknown constantpool) + +These functions usually pop out when you try to decompile some obfuscated / unstructured code. +You can try Settings/Automatic deobfuscation option for handle some kinds of this code properly. diff --git a/README.md b/README.md index a850706cd..fc18db58f 100644 --- a/README.md +++ b/README.md @@ -130,16 +130,17 @@ The application was made in Czech republic. * **Rtsjx** - chinese translation ## Contact -### Issue Tracker -For bug reporting and/or feature requests, our own Issue tracker exists : -[https://www.free-decompiler.com/flash/issues](https://www.free-decompiler.com/flash/issues), -but as of 2018/01, our support is *very limited*. +Note that the decompiler is ABANDONED. We do not provide support of any kind. +You might look for some answers to the old issues in our issue tracker on +[https://www.free-decompiler.com/flash/issues](https://www.free-decompiler.com/flash/issues) +But it's currently read only. + +See [Frequently Asked Questions (FAQ)](FAQ.md) before you try to contact me. ### Email contact -**Please contact us via Issue Tracker (see above)** - -In case the tracker or *free-decompiler.com* domain is down, -emergency contact to JPEXS developer is `jindra.petrik@gmail.com`. +Emergency contact to JPEXS developer is `jindra.petrik@gmail.com`. +But as stated previously, the development has stopped so there's no way +for asking for new featureas and or fix bugs. ## Licenses + Acknowledgments ### Application diff --git a/TRANSLATIONS.md b/TRANSLATIONS.md index 9256edf1c..4de1d7fb6 100644 --- a/TRANSLATIONS.md +++ b/TRANSLATIONS.md @@ -26,7 +26,6 @@ If you would like to translate FFDec to your language, please follow these steps 1. Check whether your language is not already present in the development branch: [dev/TRANSLATIONS.md](https://github.com/jindrapetrik/jpexs-decompiler/blob/dev/TRANSLATIONS.md) 2. Find out your language code (See [table](http://www.loc.gov/standards/iso639-2/php/code_list.php) ) -3. Create new issue in [issue tracker](https://www.free-decompiler.com/flash/issues/) containing your new language name + code. (You should register first) 4. Download `Language pack for translators (zipped)` from latest (including nightly) version on [releases page](https://github.com/jindrapetrik/jpexs-decompiler/releases) 5. The archive contains all language files for newest version of FFDec. Each language in this pack has files with its own suffix which is standard language code. 6. Extract Language pack ZIP file @@ -34,9 +33,5 @@ If you would like to translate FFDec to your language, please follow these steps 8. Open `.properties` files with an editor. (`.properties` editor bundled with some Java IDE is better than standard text editor) 9. In order to `.properties` to work in FFDec, all nonascii characters should be replaced with unicode escapes (like `\u1234`). IDE editors like Netbeans do this automatically. If you have classic text editor, you can skip this phase, I will do it later myself. 10. Don't forget to place your name in `AboutDialog_xx.properties` file. -11. Attach translated files to that issue. -12. Goto [Issue #354] and look for new translated strings. -12. Subscribe to [Issue #354] to be notified about new strings in the future. -13. Wait for next release where your translation will be included. - -[Issue #354]: https://www.free-decompiler.com/flash/issues/354-new-translations +11. Create branch from `dev` and place .properties files to correct locations. TODO: specify what's correct location +12. Create pull request diff --git a/build.xml b/build.xml index ecb80fa4c..c63e56d08 100644 --- a/build.xml +++ b/build.xml @@ -405,6 +405,7 @@ ${max.heap.size.percent} -Djava.net.preferIPv4Stack=true -Djna.nosys=true + -Dsun.java2d.uiScale=1.0 graphics/splash2.bmp @@ -667,6 +668,7 @@ + diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFInputStream.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFInputStream.java index 1680cf7a2..a7dd20d14 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFInputStream.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFInputStream.java @@ -675,12 +675,7 @@ public class SWFInputStream implements AutoCloseable { newDumpLevel(name, "FIXED8"); int afterPoint = readEx(); int beforePoint = readSI8Internal(); - float ret; - if (beforePoint < 0) { - ret = beforePoint - ((float) afterPoint) / 256; - } else { - ret = beforePoint + ((float) afterPoint) / 256; - } + float ret = beforePoint + ((float) afterPoint) / 256; endDumpLevel(ret); return ret; } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFOutputStream.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFOutputStream.java index df8dbbec6..73e2eba6e 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFOutputStream.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFOutputStream.java @@ -312,9 +312,9 @@ public class SWFOutputStream extends OutputStream { * @throws IOException */ public void writeFIXED8(float value) throws IOException { - final int divisor = 1 << 8; - int beforePoint = (int) value; - int afterPoint = Math.abs((int) (value * divisor)) % divisor; + int valueInt = (int) (value * (1 << 8)); + int beforePoint = (int) valueInt >> 8; + int afterPoint = (int) valueInt % (1 << 8); writeUI8(afterPoint); writeSI8(beforePoint); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/FontHelper.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/FontHelper.java index efd10c7b7..3e77cb84b 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/FontHelper.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/helpers/FontHelper.java @@ -56,11 +56,10 @@ public class FontHelper { * @return Map> */ public static Map> getInstalledFonts() { - return new HashMap<>(); - /*NOT AVAILABLE SINCE JAVA9+ Map> ret = new HashMap<>(); Font[] fonts = null; + /*Refreshing list of installed fonts - reflection access NOT AVAILABLE SINCE JAVA9+ try { Object fm = getFontManager(); @@ -88,7 +87,7 @@ public class FontHelper { } catch (Throwable ex) { // ignore } - + */ if (fonts == null) { fonts = GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts(); } @@ -107,7 +106,7 @@ public class FontHelper { ret.get(fam).put(f.getFontName(Locale.ENGLISH), f); } - return ret;*/ + return ret; } public static String fontToString(Font font) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/locales/AppResources_zh.properties b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/locales/AppResources_zh.properties index c7442ac7b..b4a33d569 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/locales/AppResources_zh.properties +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/locales/AppResources_zh.properties @@ -13,6 +13,30 @@ # You should have received a copy of the GNU Lesser General Public # License along with this library. -trait.scriptinitializer = \u521d\u59cb\u5316\u811a\u672c -trait.instanceinitializer = \u521d\u59cb\u5316\u5b9e\u4f8b -trait.classinitializer = \u521d\u59cb\u5316\u7c7b +decompilationError = \u53cd\u7f16\u8bd1\u51fa\u9519 +decompilationError.timeout = \u5230\u8fbe\u8d85\u65f6\u9650\u5236 ({0}) +decompilationError.timeout.description = \u7531\u4e8e\u8d85\u65f6\u672a\u53cd\u7f16\u8bd1 +decompilationError.obfuscated = \u4ee3\u7801\u53ef\u80fd\u88ab\u52a0\u5bc6 +decompilationError.errorType = \u9519\u8bef\u7c7b\u578b +decompilationError.error.description = \u7531\u4e8e\u9519\u8bef\u672a\u53cd\u7f16\u8bd1 +decompilationError.actionCount = \u811a\u672c\u6570: +decompilationError.instructionCount = \u6307\u4ee4\u6570: + +decompilation.skipped = \u8df3\u8fc7\u53cd\u7f16\u8bd1 +decompilation.unsupported = \u4e0d\u53d7\u53cd\u7f16\u8bd1\u5668\u652f\u6301 +decompilerMark = \u53cd\u7f16\u8bd1\u6807\u8bb0 + +#example: 1 hour and 2 minutes +timeFormat.and = \u0020 +timeFormat.hour = \u65f6 +timeFormat.hours = \u65f6 +timeFormat.minute = \u5206 +timeFormat.minutes = \u5206 +timeFormat.second = \u79d2 +timeFormat.seconds = \u79d2 + +fontNotFound = \u65e0\u6cd5\u627e\u5230id\u4e3a%fontId%\u7684\u5b57\u4f53. + +trait.scriptinitializer = \u811a\u672c\u521d\u59cb\u5316\u5668 +trait.instanceinitializer = \u5b9e\u4f8b\u521d\u59cb\u5316\u5668 +trait.classinitializer = \u7c7b\u521d\u59cb\u5316\u5668 diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/locales/docs/pcode/AS3_zh.properties b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/locales/docs/pcode/AS3_zh.properties new file mode 100644 index 000000000..45b4dcc8b --- /dev/null +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/locales/docs/pcode/AS3_zh.properties @@ -0,0 +1,1462 @@ +# Copyright (C) 2010-2016 JPEXS, All rights reserved. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 3.0 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library. + +#String for whole list generation +ui.list.heading = AVM2 \u6307\u4ee4\u5217\u8868 +ui.list.pageTitle = AVM2 \u6307\u4ee4\u5217\u8868 +ui.list.documentTitle = AVM2 \u6307\u4ee4\u5217\u8868 +ui.list.pageDescription = \u6240\u6709\u5df2\u77e5\u7684 AS3 - AVM2 \u6307\u4ee4\u53ca\u5176\u64cd\u4f5c\u6570\u548c\u5806\u6808\u503c\u7684\u5217\u8868 + +#various strings in UI: +ui.unknown = ??? +ui.stack = \u5806\u6808:\u0020 +ui.stack.before = ...,\u0020 +ui.stack.before.empty = ... +ui.stack.to = \u0020\u279e\u0020 +ui.flags = \u6807\u8bb0:\u0020 +ui.description = \u63cf\u8ff0:\u0020 +ui.filter.hide = \u9690\u85cf:\u0020 +ui.filter.byname = \u6309\u540d\u79f0\u67e5\u627e:\u0020 +ui.filter.order = \u6392\u5e8f:\u0020 +ui.filter.order.code = \u4ee3\u7801 +ui.filter.order.name = \u540d\u79f0 + + +#----------------------- Flags of the instructions +instructionFlag.undocumented = Undocumented +instructionFlag.unknownStack = Unknown stack +instructionFlag.es4NumericsMinor = ES4 numerics (ABC minor 17) +instructionFlag.floatMajor = Float values (ABC major 47) +instructionFlag.unknownOperands = Unknown operands +instructionFlag.noFlashPlayer = Not in standard Flash Player +instructionFlag.deprecated = Deprecated +instructionFlag.domainMemory = Domain memory operation + +#----------------------- Operand types +operandType.multinameIndex = Multiname index +operandType.multinameIndex.description = Index into multiname constant pool +operandType.multinameIndex.name = multinameIndex +operandType.multinameIndex.uiName = multiname + +operandType.argCount = Number of arguments +operandType.argCount.description = Number of following arguments +operandType.argCount.name = argCount +operandType.argCount.uiName = uint + + +operandType.methodIndex = Method index +operandType.methodIndex.description = Index of method in the ABC +operandType.methodIndex.name = methodIndex +operandType.methodIndex.uiName = methodIndex + +operandType.stringIndex = String index +operandType.stringIndex.description = Index into string values constant pool +operandType.stringIndex.name = stringIndex +operandType.stringIndex.uiName = string + + +operandType.debugType = Debug type +operandType.debugType.description = Type of debug information. Currently only value of 1 is used. +operandType.debugType.name = debugType +operandType.debugType.uiName = debugType + + +operandType.registerIndex = Register index +operandType.registerIndex.description = Index of a local register (0-255) +operandType.registerIndex.name = registerIndex +operandType.registerIndex.uiName = uint + +operandType.linenum = Line number +operandType.linenum.description = Line number of file +operandType.linenum.name = linenum +operandType.linenum.uiName = linenum + + +#similar as registerIndex, but U30 instead of U8 +operandType.localRegIndex = Register index +operandType.localRegIndex.description = Index of a local register +operandType.localRegIndex.name = localRegIndex +operandType.localRegIndex.uiName = uint + + +operandType.slotIndex = Slot index +operandType.slotIndex.description = Index of the slot on an object +operandType.slotIndex.name = slotIndex +operandType.slotIndex.uiName = slotIndex + +operandType.scopeIndex = Scope stack index +operandType.scopeIndex.description = Index in the scope stack +operandType.scopeIndex.name = scopeIndex +operandType.scopeIndex.uiName = scopeIndex + +operandType.offset = Offset +operandType.offset.description = Offset to other location +operandType.offset.name = offset +operandType.offset.uiName = labelName + +operandType.exceptionIndex = Exception index +operandType.exceptionIndex.description = Index of exception in current method info +operandType.exceptionIndex.name = exceptionIndex +operandType.exceptionIndex.uiName = exceptionIndex + + +operandType.classIndex = Class index +operandType.classIndex.description = Index of class in ABC +operandType.classIndex.name = classIndex +operandType.classIndex.uiName = classIndex + +operandType.intIndex = Int index +operandType.intIndex.description = Index into integer values constant pool +operandType.intIndex.name = intIndex +operandType.intIndex.uiName = int + +operandType.uintIndex = UInt index +operandType.uintIndex.description = Index into unsigned integer values constant pool +operandType.uintIndex.name = uintIndex +operandType.uintIndex.uiName = uint + + +operandType.doubleIndex = Double index +operandType.doubleIndex.description = Index into double precision floating point values constant pool +operandType.doubleIndex.name = doubleIndex +operandType.doubleIndex.uiName = double + +operandType.decimalIndex = Decimal index +operandType.decimalIndex.description = Index into decimal values (128bit floating point) constant pool +operandType.decimalIndex.name = decimalIndex +operandType.decimalIndex.uiName = decimal + +operandType.caseBaseoffset = Base offset +operandType.caseBaseoffset.description = Base offset of lookupswitch triggered when no value matches +operandType.caseBaseoffset.name = offset +operandType.caseBaseoffset.uiName = labelName + +operandType.numberContext = Number context (ES4) +operandType.numberContext.description = \u4f7f\u7528 EcmaScript 4 \u6570\u503c\u65f6\u8ba1\u7b97\u7684\u4e0a\u4e0b\u6587 (ABC minorVersion 17).\nBits 0-2 type,3-5 rounding type, 6-12 precision.\nType: 0=number,1=decimal,2=double,3=int,4=uint\nRounding: 0=ceiling,1=up,2=half_up,3=half_even,4=half_down,5=down,6=floor\nPrecision:0-34 +operandType.numberContext.name = numberContext +operandType.numberContext.uiName = uint + +operandType.dispatchId = Dispatch id +operandType.dispatchId.description = Id of the method dispatch +operandType.dispatchId.name = dispatchId +operandType.dispatchId.uiName = uint + +operandType.floatIndex = Float index +operandType.floatIndex.description = Index into float values constant pool +operandType.floatIndex.name = floatIndex +operandType.floatIndex.uiName = float + +operandType.float4Index = Float4 index +operandType.float4Index.description = Index into float4 values constant pool +operandType.float4Index.name = float4Index +operandType.float4Index.uiName = float4 + +operandType.namespaceIndex = Namespace index +operandType.namespaceIndex = Index into namespace constant pool +operandType.namespaceIndex.name = namespaceIndex +operandType.namespaceIndex.uiName = namespace + + +#----------------------- Instructions + +instruction.bkpt.shortDescription = Breakpoint +instruction.bkpt.description = Breakpoint when debugging +instruction.bkpt.stackBefore = +instruction.bkpt.stackAfter = +instruction.bkpt.operands = + +instruction.nop.shortDescription = No operation +instruction.nop.description = Does nothing +instruction.nop.stackBefore = +instruction.nop.stackAfter = +instruction.nop.operands = + +instruction.throw.shortDescription = Throw exception +instruction.throw.description = Pops value off the stack and throws it +instruction.throw.stackBefore = value +instruction.throw.stackAfter = +instruction.throw.operands = + +instruction.getsuper.shortDescription = Get parent class property +instruction.getsuper.description = +instruction.getsuper.stackBefore = obj, [ns], [name] +instruction.getsuper.stackAfter = value +instruction.getsuper.operands = parentClassMultiname + +instruction.setsuper.shortDescription = Set parent class property +instruction.setsuper.description = +instruction.setsuper.stackBefore = obj, [ns], [name], value +instruction.setsuper.stackAfter = +instruction.setsuper.operands = parentClassMultiname + +instruction.dxns.shortDescription = Set default XML namespace +instruction.dxns.description = +instruction.dxns.stackBefore = +instruction.dxns.stackAfter = +instruction.dxns.operands = uriString + +instruction.dxnslate.shortDescription = Set default XML namespace at runtime +instruction.dxnslate.description = +instruction.dxnslate.stackBefore = uriValue +instruction.dxnslate.stackAfter = +instruction.dxnslate.operands = + +instruction.kill.shortDescription = Kill local register +instruction.kill.description = +instruction.kill.stackBefore = +instruction.kill.stackAfter = +instruction.kill.operands = killedRegister + +instruction.label.shortDescription = Target of a branch +instruction.label.description = Just a mark that this is target of following branch +instruction.label.stackBefore = +instruction.label.stackAfter = +instruction.label.operands = + +instruction.lf32x4.shortDescription = Load 32bit float4 +instruction.lf32x4.description = +instruction.lf32x4.stackBefore = address +instruction.lf32x4.stackAfter = float4Value +instruction.lf32x4.operands = + +instruction.sf32x4.shortDescription = Store 32bit float4 +instruction.sf32x4.description = +instruction.sf32x4.stackBefore = float4Value, address +instruction.sf32x4.stackAfter = +instruction.sf32x4.operands = + +instruction.ifnlt.shortDescription = Branch if not lower than +instruction.ifnlt.description = +instruction.ifnlt.stackBefore = value1, value2 +instruction.ifnlt.stackAfter = +instruction.ifnlt.operands = branchTarget + +instruction.ifnle.shortDescription = Branch if not lower or equal +instruction.ifnle.description = +instruction.ifnle.stackBefore = value1, value2 +instruction.ifnle.stackAfter = +instruction.ifnle.operands = branchTarget + +instruction.ifngt.shortDescription = Branch if not greater than +instruction.ifngt.description = +instruction.ifngt.stackBefore = value1, value2 +instruction.ifngt.stackAfter = +instruction.ifngt.operands = branchTarget + +instruction.ifnge.shortDescription = Branch if not greater ot equal +instruction.ifnge.description = +instruction.ifnge.stackBefore = value1, value2 +instruction.ifnge.stackAfter = +instruction.ifnge.operands = branchTarget + +instruction.jump.shortDescription = Jump to location +instruction.jump.description = +instruction.jump.stackBefore = +instruction.jump.stackAfter = +instruction.jump.operands = location + +instruction.iftrue.shortDescription = Branch if true +instruction.iftrue.description = +instruction.iftrue.stackBefore = value +instruction.iftrue.stackAfter = +instruction.iftrue.operands = branchTarget + +instruction.iffalse.shortDescription = Branch if false +instruction.iffalse.description = +instruction.iffalse.stackBefore = value +instruction.iffalse.stackAfter = +instruction.iffalse.operands = branchTarget + +instruction.ifeq.shortDescription = Branch if equal +instruction.ifeq.description = +instruction.ifeq.stackBefore = value1, value2 +instruction.ifeq.stackAfter = +instruction.ifeq.operands = branchTarget + +instruction.ifne.shortDescription = Branch if not equal +instruction.ifne.description = +instruction.ifne.stackBefore = value1, value2 +instruction.ifne.stackAfter = +instruction.ifne.operands = branchTarget + +instruction.iflt.shortDescription = Branch if lower than +instruction.iflt.description = +instruction.iflt.stackBefore = value1, value2 +instruction.iflt.stackAfter = +instruction.iflt.operands = branchTarget + +instruction.ifle.shortDescription = Branch if lower or equal +instruction.ifle.description = +instruction.ifle.stackBefore = value1, value2 +instruction.ifle.stackAfter = +instruction.ifle.operands = branchTarget + +instruction.ifgt.shortDescription = Branch if greater than +instruction.ifgt.description = +instruction.ifgt.stackBefore = value1, value2 +instruction.ifgt.stackAfter = +instruction.ifgt.operands = branchTarget + +instruction.ifge.shortDescription = Branch if greater or equal +instruction.ifge.description = +instruction.ifge.stackBefore = value1, value2 +instruction.ifge.stackAfter = +instruction.ifge.operands = branchTarget + +instruction.ifstricteq.shortDescription = Branch if strict equal +instruction.ifstricteq.description = +instruction.ifstricteq.stackBefore = value1, value2 +instruction.ifstricteq.stackAfter = +instruction.ifstricteq.operands = branchTarget + +instruction.ifstrictne.shortDescription = Branch if not strict equal +instruction.ifstrictne.description = +instruction.ifstrictne.stackBefore = value1, value2 +instruction.ifstrictne.stackAfter = +instruction.ifstrictne.operands = branchTarget + +instruction.lookupswitch.shortDescription = Branch based on index +instruction.lookupswitch.description = +instruction.lookupswitch.stackBefore = index +instruction.lookupswitch.stackAfter = +instruction.lookupswitch.operands = defaultTarget, caseCount, case0Target, case1Target, ... + +instruction.pushwith.shortDescription = Push with onto scope stack +instruction.pushwith.description = +instruction.pushwith.stackBefore = withScope +instruction.pushwith.stackAfter = +instruction.pushwith.operands = + +instruction.popscope.shortDescription = Pop from scope stack and discard value +instruction.popscope.description = +instruction.popscope.stackBefore = +instruction.popscope.stackAfter = +instruction.popscope.operands = + +instruction.nextname.shortDescription = Get name of next property +instruction.nextname.description = +instruction.nextname.stackBefore = obj, index +instruction.nextname.stackAfter = name +instruction.nextname.operands = + +instruction.hasnext.shortDescription = Check if the object has more properties +instruction.hasnext.description = +instruction.hasnext.stackBefore = obj, currentIndex +instruction.hasnext.stackAfter = nextIndex +instruction.hasnext.operands = + +instruction.pushnull.shortDescription = Push null value on stack +instruction.pushnull.description = +instruction.pushnull.stackBefore = +instruction.pushnull.stackAfter = null +instruction.pushnull.operands = + +instruction.pushundefined.shortDescription = Push undefined value on stack +instruction.pushundefined.description = +instruction.pushundefined.stackBefore = +instruction.pushundefined.stackAfter = undefined +instruction.pushundefined.operands = + +instruction.pushfloat.shortDescription = Push float value on stack +instruction.pushfloat.description = +instruction.pushfloat.stackBefore = +instruction.pushfloat.stackAfter = floatValue +instruction.pushfloat.operands = float + +instruction.nextvalue.shortDescription = Get value of next property +instruction.nextvalue.description = +instruction.nextvalue.stackBefore = obj, index +instruction.nextvalue.stackAfter = value +instruction.nextvalue.operands = + +instruction.pushbyte.shortDescription = Push byte value on stack +instruction.pushbyte.description = +instruction.pushbyte.stackBefore = +instruction.pushbyte.stackAfter = byteValue +instruction.pushbyte.operands = value + +instruction.pushshort.shortDescription = Push short value on stack +instruction.pushshort.description = +instruction.pushshort.stackBefore = +instruction.pushshort.stackAfter = shortValue +instruction.pushshort.operands = value + +instruction.pushtrue.shortDescription = Push true on stack +instruction.pushtrue.description = +instruction.pushtrue.stackBefore = +instruction.pushtrue.stackAfter = true +instruction.pushtrue.operands = + +instruction.pushfalse.shortDescription = Push false on stack +instruction.pushfalse.description = +instruction.pushfalse.stackBefore = +instruction.pushfalse.stackAfter = false +instruction.pushfalse.operands = + +instruction.pushnan.shortDescription = Push NaN value on stack +instruction.pushnan.description = +instruction.pushnan.stackBefore = +instruction.pushnan.stackAfter = NaN +instruction.pushnan.operands = + +instruction.pop.shortDescription = Pop top value from stack +instruction.pop.description = +instruction.pop.stackBefore = value +instruction.pop.stackAfter = +instruction.pop.operands = + +instruction.dup.shortDescription = Duplicate value on stack +instruction.dup.description = +instruction.dup.stackBefore = value +instruction.dup.stackAfter = value, value +instruction.dup.operands = + +instruction.swap.shortDescription = Swap two values on top of the stack +instruction.swap.description = +instruction.swap.stackBefore = value1, value2 +instruction.swap.stackAfter = value2, value1 +instruction.swap.operands = + +instruction.pushstring.shortDescription = Push string value on the stack +instruction.pushstring.description = +instruction.pushstring.stackBefore = +instruction.pushstring.stackAfter = stringValue +instruction.pushstring.operands = value + +instruction.pushint.shortDescription = Push integer value on the stack +instruction.pushint.description = +instruction.pushint.stackBefore = +instruction.pushint.stackAfter = intValue +instruction.pushint.operands = value + +instruction.pushuint.shortDescription = Push unsigned integer value on the stack +instruction.pushuint.description = +instruction.pushuint.stackBefore = +instruction.pushuint.stackAfter = uintValue +instruction.pushuint.operands = value + +instruction.pushdouble.shortDescription = Push double precision value on the stack +instruction.pushdouble.description = +instruction.pushdouble.stackBefore = +instruction.pushdouble.stackAfter = doubleValue +instruction.pushdouble.operands = value + +instruction.pushscope.shortDescription = Push object on the scope stack +instruction.pushscope.description = +instruction.pushscope.stackBefore = obj +instruction.pushscope.stackAfter = +instruction.pushscope.operands = + +instruction.pushnamespace.shortDescription = Push namespace on the stack +instruction.pushnamespace.description = +instruction.pushnamespace.stackBefore = +instruction.pushnamespace.stackAfter = namespace +instruction.pushnamespace.operands = value + +instruction.hasnext2.shortDescription = Check if the object has more properties (register based) +instruction.hasnext2.description = +instruction.hasnext2.stackBefore = +instruction.hasnext2.stackAfter = boolValue +instruction.hasnext2.operands = objectReg, indexReg + +instruction.pushdecimal.shortDescription = Push decimal value on the stack +instruction.pushdecimal.description = +instruction.pushdecimal.stackBefore = +instruction.pushdecimal.stackAfter = decimalValue +instruction.pushdecimal.operands = value + +#Undocumented: +instruction.pushdnan.shortDescription = Push decimal NaN value on the stack +instruction.pushdnan.description = +#instruction.pushdnan.stackBefore = +#instruction.pushdnan.stackAfter = +instruction.pushdnan.operands = + +instruction.li8.shortDescription = Load 8bit integer value +instruction.li8.description = +instruction.li8.stackBefore = address +instruction.li8.stackAfter = int8Value +instruction.li8.operands = + +instruction.li16.shortDescription = Load 16bit integer value +instruction.li16.description = +instruction.li16.stackBefore = address +instruction.li16.stackAfter = int16Value +instruction.li16.operands = + +instruction.li32.shortDescription = Load 32bit integer value +instruction.li32.description = +instruction.li32.stackBefore = address +instruction.li32.stackAfter = int32Value +instruction.li32.operands = + +instruction.lf32.shortDescription = Load 32bit float value +instruction.lf32.description = +instruction.lf32.stackBefore = address +instruction.lf32.stackAfter = float32Value +instruction.lf32.operands = + +instruction.lf64.shortDescription = Load 64bit float value +instruction.lf64.description = +instruction.lf64.stackBefore = address +instruction.lf64.stackAfter = float64Value +instruction.lf64.operands = + +instruction.si8.shortDescription = Store 8bit integer value +instruction.si8.description = +instruction.si8.stackBefore = value, address +instruction.si8.stackAfter = +instruction.si8.operands = + +instruction.si16.shortDescription = Store 16bit integer value +instruction.si16.description = +instruction.si16.stackBefore = value, address +instruction.si16.stackAfter = +instruction.si16.operands = + +instruction.si32.shortDescription = Store 32bit integer value +instruction.si32.description = +instruction.si32.stackBefore = value, address +instruction.si32.stackAfter = +instruction.si32.operands = + +instruction.sf32.shortDescription = Store 32bit float value +instruction.sf32.description = +instruction.sf32.stackBefore = value, address +instruction.sf32.stackAfter = +instruction.sf32.operands = + +instruction.sf64.shortDescription = Store 64bit float value +instruction.sf64.description = +instruction.sf64.stackBefore = value, address +instruction.sf64.stackAfter = +instruction.sf64.operands = + +instruction.newfunction.shortDescription = Create new Function object +instruction.newfunction.description = +instruction.newfunction.stackBefore = +instruction.newfunction.stackAfter = function +instruction.newfunction.operands = method + +instruction.call.shortDescription = Call function on the stack +instruction.call.description = +instruction.call.stackBefore = function, this, arg1, ..., argN +instruction.call.stackAfter = value +instruction.call.operands = argCount + +instruction.construct.shortDescription = Call constructor function on the stack +instruction.construct.description = +instruction.construct.stackBefore = function, arg1, ..., argN +instruction.construct.stackAfter = value +instruction.construct.operands = argCount + +instruction.callmethod.shortDescription = Call method of object by dispatch id +instruction.callmethod.description = +instruction.callmethod.stackBefore = this, arg1, ..., argN +instruction.callmethod.stackAfter = value +instruction.callmethod.operands = method, argCount + +instruction.callstatic.shortDescription = Call method by method id in ABC file +instruction.callstatic.description = +instruction.callstatic.stackBefore = this, arg1, ..., argN +instruction.callstatic.stackAfter = value +instruction.callstatic.operands = method, argCount + +instruction.callsuper.shortDescription = Call method on parent class +instruction.callsuper.description = +instruction.callsuper.stackBefore = obj, [ns], [name], arg1, ..., argN +instruction.callsuper.stackAfter = value +instruction.callsuper.operands = methodName, argCount + +instruction.callproperty.shortDescription = Call property +instruction.callproperty.description = +instruction.callproperty.stackBefore = obj, [ns], [name], arg1, ..., argN +instruction.callproperty.stackAfter = value +instruction.callproperty.operands = property, argCount + +instruction.returnvoid.shortDescription = Return from a method +instruction.returnvoid.description = +instruction.returnvoid.stackBefore = +instruction.returnvoid.stackAfter = +instruction.returnvoid.operands = + +instruction.returnvalue.shortDescription = Return value from a method +instruction.returnvalue.description = +instruction.returnvalue.stackBefore = value +instruction.returnvalue.stackAfter = +instruction.returnvalue.operands = + +instruction.constructsuper.shortDescription = Call parent constructor of an object +instruction.constructsuper.description = +instruction.constructsuper.stackBefore = obj, arg1, ..., argN +instruction.constructsuper.stackAfter = +instruction.constructsuper.operands = argCount + +instruction.constructprop.shortDescription = Construct a property of an object +instruction.constructprop.description = +instruction.constructprop.stackBefore = obj, [ns], [name], arg1, ..., argN +instruction.constructprop.stackAfter = value +instruction.constructprop.operands = property, argCount + +#Undocumented: +instruction.callsuperid.shortDescription = Call super id +instruction.callsuperid.description = +#instruction.callsuperid.stackBefore = +#instruction.callsuperid.stackAfter = +#instruction.callsuperid.operands = + +instruction.callproplex.shortDescription = Call property with null as this +instruction.callproplex.description = +instruction.callproplex.stackBefore = obj, [ns], [name], arg1, ..., argN +instruction.callproplex.stackAfter = value +instruction.callproplex.operands = property, argCount + +#Undocumented: +instruction.callinterface.shortDescription = Call interface +instruction.callinterface.description = +#instruction.callinterface.stackBefore = +#instruction.callinterface.stackAfter = +instruction.callinterface.operands = interface, argCount + + +instruction.callsupervoid.shortDescription = Call method on parent class, discard return value +instruction.callsupervoid.description = +instruction.callsupervoid.stackBefore = obj, [ns], [name], arg1, ..., argN +instruction.callsupervoid.stackAfter = +instruction.callsupervoid.operands = methodName, argCount + + +instruction.callpropvoid.shortDescription = Call property, discard return value +instruction.callpropvoid.description = +instruction.callpropvoid.stackBefore = obj, [ns], [name], arg1, ..., argN +instruction.callpropvoid.stackAfter = +instruction.callpropvoid.operands = property, argCount + +instruction.sxi1.shortDescription = Sign extend 1bit value to 32bits +instruction.sxi1.description = +instruction.sxi1.stackBefore = value +instruction.sxi1.stackAfter = valueExtended +instruction.sxi1.operands = + +instruction.sxi8.shortDescription = Sign extend 8bit value to 32bits +instruction.sxi8.description = +instruction.sxi8.stackBefore = value +instruction.sxi8.stackAfter = valueExtended +instruction.sxi8.operands = + +instruction.sxi16.shortDescription = Sign extend 16bit value to 32bits +instruction.sxi16.description = +instruction.sxi16.stackBefore = value +instruction.sxi16.stackAfter = valueExtended +instruction.sxi16.operands = + +instruction.applytype.shortDescription = Apply type parameters +instruction.applytype.description = \u5c06\u53c2\u6570\u7c7b\u578b\u5e94\u7528\u4e8e\u57fa\u672c\u7c7b\u578b. \u4f8b\u5982\uff0c\u5f53 Vector \u5728\u8fd0\u884c\u65f6\u89e3\u6790\u65f6. String \u662f\u53c2\u6570, Vector \u662f\u57fa\u7c7b. +instruction.applytype.stackBefore = baseType, typeParam1, ..., typeParamN +instruction.applytype.stackAfter = baseType +instruction.applytype.operands = typeParamCount + +instruction.pushfloat4.shortDescription = Push float4 value on the stack +instruction.pushfloat4.description = +instruction.pushfloat4.stackBefore = +instruction.pushfloat4.stackAfter = float4Value +instruction.pushfloat4.operands = float4 + +instruction.newobject.shortDescription = Creates new object +instruction.newobject.description = +instruction.newobject.stackBefore = name1, value1, name2, value2, ..., nameN, valueN +instruction.newobject.stackAfter = newObject +instruction.newobject.operands = propertyCount + +instruction.newarray.shortDescription = Creates new array +instruction.newarray.description = +instruction.newarray.stackBefore = value1, value2, ..., valueN +instruction.newarray.stackAfter = newArray +instruction.newarray.operands = valueCount + +instruction.newactivation.shortDescription = Creates new activation object +instruction.newactivation.description = +instruction.newactivation.stackBefore = +instruction.newactivation.stackAfter = newActivation +instruction.newactivation.operands = + +instruction.newclass.shortDescription = Creates new class +instruction.newclass.description = +instruction.newclass.stackBefore = baseType +instruction.newclass.stackAfter = newClass +instruction.newclass.operands = class + +instruction.getdescendants.shortDescription = Get descendants +instruction.getdescendants.description = +instruction.getdescendants.stackBefore = obj, [ns], [name] +instruction.getdescendants.stackAfter = value +instruction.getdescendants.operands = operand1 + +instruction.newcatch.shortDescription = Create new catch scope +instruction.newcatch.description = +instruction.newcatch.stackBefore = +instruction.newcatch.stackAfter = catchScope +instruction.newcatch.operands = exception + +#Undocumented: +instruction.deldescendants.shortDescription = Delete descendants +instruction.deldescendants.description = +#instruction.deldescendants.stackBefore = +#instruction.deldescendants.stackAfter = +instruction.deldescendants.operands = + +#Undocumented: +instruction.findpropglobal.shortDescription = Search property in global scope +instruction.findpropglobal.description = +instruction.findpropglobal.stackBefore = [ns], [name] +instruction.findpropglobal.stackAfter = obj +instruction.findpropglobal.operands = property + +instruction.findpropstrict.shortDescription = Search property in scope stack, error when not found +instruction.findpropstrict.description = +instruction.findpropstrict.stackBefore = [ns], [name] +instruction.findpropstrict.stackAfter = obj +instruction.findpropstrict.operands = property + +instruction.findproperty.shortDescription = Search property in scope stack, top object when not found +instruction.findproperty.description = +instruction.findproperty.stackBefore = [ns], [name] +instruction.findproperty.stackAfter = obj +instruction.findproperty.operands = property + +#Undocumented: +instruction.finddef.shortDescription = Search script level definition +instruction.finddef.description = +instruction.finddef.stackBefore = [ns], [name] +instruction.finddef.stackAfter = obj +instruction.finddef.operands = property + +instruction.getlex.shortDescription = Find and get property +instruction.getlex.description = +instruction.getlex.stackBefore = +instruction.getlex.stackAfter = obj +instruction.getlex.operands = property + +instruction.setproperty.shortDescription = Set property +instruction.setproperty.description = +instruction.setproperty.stackBefore = obj, [ns], [name], value +instruction.setproperty.stackAfter = +instruction.setproperty.operands = property + +instruction.getlocal.shortDescription = Get local register value +instruction.getlocal.description = +instruction.getlocal.stackBefore = +instruction.getlocal.stackAfter = value +instruction.getlocal.operands = localRegIndex + +instruction.setlocal.shortDescription = Set local register value +instruction.setlocal.description = +instruction.setlocal.stackBefore = value +instruction.setlocal.stackAfter = +instruction.setlocal.operands = localRegIndex + +instruction.getglobalscope.shortDescription = Get global scope +instruction.getglobalscope.description = +instruction.getglobalscope.stackBefore = +instruction.getglobalscope.stackAfter = obj +instruction.getglobalscope.operands = + +instruction.getscopeobject.shortDescription = Get scope object +instruction.getscopeobject.description = +instruction.getscopeobject.stackBefore = +instruction.getscopeobject.stackAfter = obj +instruction.getscopeobject.operands = scopeIndex + +instruction.getproperty.shortDescription = Get property +instruction.getproperty.description = +instruction.getproperty.stackBefore = obj, [ns], [name] +instruction.getproperty.stackAfter = value +instruction.getproperty.operands = property + +instruction.getouterscope.shortDescription = Get scope object on all levels +instruction.getouterscope.description = +instruction.getouterscope.stackBefore = +instruction.getouterscope.stackAfter = obj +instruction.getouterscope.operands = allLevelScopeIndex + +instruction.initproperty.shortDescription = Initialize property +instruction.initproperty.description = +instruction.initproperty.stackBefore = obj, [ns], [name], value +instruction.initproperty.stackAfter = +instruction.initproperty.operands = property + +#Undocumented: +instruction.setpropertylate.shortDescription = Set property (stack based) +instruction.setpropertylate.description = +#instruction.setpropertylate.stackBefore = +#instruction.setpropertylate.stackAfter = +#instruction.setpropertylate.operands = + +instruction.deleteproperty.shortDescription = Delete property +instruction.deleteproperty.description = +instruction.deleteproperty.stackBefore = obj, [ns], [name] +instruction.deleteproperty.stackAfter = boolResult +instruction.deleteproperty.operands = property + +#Undocumented: +instruction.deletepropertylate.shortDescription = Delete property (stack based) +instruction.deletepropertylate.description = +#instruction.deletepropertylate.stackBefore = +#instruction.deletepropertylate.stackAfter = +instruction.deletepropertylate.operands = + +instruction.getslot.shortDescription = Get value of a slot +instruction.getslot.description = +instruction.getslot.stackBefore = obj +instruction.getslot.stackAfter = value +instruction.getslot.operands = slotIndex + +instruction.setslot.shortDescription = Set value of a slot +instruction.setslot.description = +instruction.setslot.stackBefore = obj, value +instruction.setslot.stackAfter = +instruction.setslot.operands = slotIndex + +instruction.getglobalslot.shortDescription = Get value of slot on global scope +instruction.getglobalslot.description = +instruction.getglobalslot.stackBefore = +instruction.getglobalslot.stackAfter = value +instruction.getglobalslot.operands = slotIndex + +instruction.setglobalslot.shortDescription = Set value of slot on global scope +instruction.setglobalslot.description = +instruction.setglobalslot.stackBefore = value +instruction.setglobalslot.stackAfter = +instruction.setglobalslot.operands = slotIndex + +instruction.convert_s.shortDescription = Convert value to string +instruction.convert_s.description = +instruction.convert_s.stackBefore = value +instruction.convert_s.stackAfter = stringValue +instruction.convert_s.operands = + +instruction.esc_xelem.shortDescription = Escape XML element +instruction.esc_xelem.description = +instruction.esc_xelem.stackBefore = value +instruction.esc_xelem.stackAfter = stringValue +instruction.esc_xelem.operands = + +instruction.esc_xattr.shortDescription = Escape XML attribute +instruction.esc_xattr.description = +instruction.esc_xattr.stackBefore = value +instruction.esc_xattr.stackAfter = stringValue +instruction.esc_xattr.operands = + +instruction.convert_i.shortDescription = Convert value to integer +instruction.convert_i.description = +instruction.convert_i.stackBefore = value +instruction.convert_i.stackAfter = intValue +instruction.convert_i.operands = + +instruction.convert_u.shortDescription = Convert value to unsigned integer +instruction.convert_u.description = +instruction.convert_u.stackBefore = value +instruction.convert_u.stackAfter = uintValue +instruction.convert_u.operands = + +instruction.convert_d.shortDescription = Convert value to double +instruction.convert_d.description = +instruction.convert_d.stackBefore = value +instruction.convert_d.stackAfter = doubleValue +instruction.convert_d.operands = + +instruction.convert_b.shortDescription = Convert value to boolean +instruction.convert_b.description = +instruction.convert_b.stackBefore = value +instruction.convert_b.stackAfter = booleanValue +instruction.convert_b.operands = + +instruction.convert_o.shortDescription = Convert value to Object +instruction.convert_o.description = +instruction.convert_o.stackBefore = value +instruction.convert_o.stackAfter = value +instruction.convert_o.operands = + +instruction.checkfilter.shortDescription = Check that object can have filter operation applied +instruction.checkfilter.description = +instruction.checkfilter.stackBefore = value +instruction.checkfilter.stackAfter = value +instruction.checkfilter.operands = + +instruction.convert_m.shortDescription = Convert value to decimal +instruction.convert_m.description = +instruction.convert_m.stackBefore = value +instruction.convert_m.stackAfter = decimalValue +instruction.convert_m.operands = + +instruction.convert_m_p.shortDescription = Convert value to decimal with number context +instruction.convert_m_p.description = +instruction.convert_m_p.stackBefore = value +instruction.convert_m_p.stackAfter = decimalValue +instruction.convert_m_p.operands = numberContext + +instruction.convert_f.shortDescription = Convert value to float +instruction.convert_f.description = +instruction.convert_f.stackBefore = value +instruction.convert_f.stackAfter = floatValue +instruction.convert_f.operands = + +instruction.convert_f4.shortDescription = Convert value to float4 +instruction.convert_f4.description = +instruction.convert_f4.stackBefore = value +instruction.convert_f4.stackAfter = float4Value +instruction.convert_f4.operands = + +instruction.coerce.shortDescription = Coerce value to specified type +instruction.coerce.description = +instruction.coerce.stackBefore = value +instruction.coerce.stackAfter = coercedValue +instruction.coerce.operands = type + +instruction.coerce_b.shortDescription = Coerce value to boolean +instruction.coerce_b.description = +instruction.coerce_b.stackBefore = value +instruction.coerce_b.stackAfter = booleanValue +instruction.coerce_b.operands = +instruction.coerce_b.deprecated = Use convert_b instead + +instruction.coerce_a.shortDescription = Coerce value to any type +instruction.coerce_a.description = +instruction.coerce_a.stackBefore = value +instruction.coerce_a.stackAfter = value +instruction.coerce_a.operands = + +instruction.coerce_i.shortDescription = Coerce value to integer +instruction.coerce_i.description = +instruction.coerce_i.stackBefore = value +instruction.coerce_i.stackAfter = intValue +instruction.coerce_i.operands = +instruction.coerce_i.deprecated = Use convert_i instead + +instruction.coerce_d.shortDescription = Coerce value to double +instruction.coerce_d.description = +instruction.coerce_d.stackBefore = value +instruction.coerce_d.stackAfter = doubleValue +instruction.coerce_d.operands = +instruction.coerce_d.deprecated = Use convert_d instead + +instruction.coerce_s.shortDescription = Coerce value to string +instruction.coerce_s.description = +instruction.coerce_s.stackBefore = value +instruction.coerce_s.stackAfter = stringValue +instruction.coerce_s.operands = + +instruction.astype.shortDescription = Return same value or null if not specified type +instruction.astype.description = +instruction.astype.stackBefore = value +instruction.astype.stackAfter = value +instruction.astype.operands = type + +instruction.astypelate.shortDescription = Return same value or null if not specified type (stack based) +instruction.astypelate.description = +instruction.astypelate.stackBefore = value, type +instruction.astypelate.stackAfter = value +instruction.astypelate.operands = + +instruction.coerce_u.shortDescription = Coerce value to unsigned integer +instruction.coerce_u.description = +instruction.coerce_u.stackBefore = value +instruction.coerce_u.stackAfter = uintValue +instruction.coerce_u.operands = + +instruction.coerce_o.shortDescription = Coerce value to Object +instruction.coerce_o.description = +instruction.coerce_o.stackBefore = value +instruction.coerce_o.stackAfter = value +instruction.coerce_o.operands = + +instruction.negate_p.shortDescription = Negate value using number context +instruction.negate_p.description = +instruction.negate_p.stackBefore = value +instruction.negate_p.stackAfter = -value +instruction.negate_p.operands = operand1 + +instruction.negate.shortDescription = Negate value +instruction.negate.description = +instruction.negate.stackBefore = value +instruction.negate.stackAfter = -value +instruction.negate.operands = + +instruction.increment.shortDescription = Increment value +instruction.increment.description = +instruction.increment.stackBefore = value +instruction.increment.stackAfter = incrementedValue +instruction.increment.operands = + +instruction.inclocal.shortDescription = Increment local register +instruction.inclocal.description = +instruction.inclocal.stackBefore = +instruction.inclocal.stackAfter = +instruction.inclocal.operands = localRegister + +instruction.decrement.shortDescription = Decrement value +instruction.decrement.description = +instruction.decrement.stackBefore = value +instruction.decrement.stackAfter = decrementedValue +instruction.decrement.operands = + +instruction.declocal.shortDescription = Decrement local register +instruction.declocal.description = +instruction.declocal.stackBefore = +instruction.declocal.stackAfter = +instruction.declocal.operands = localRegister + +instruction.typeof.shortDescription = Get name of value type +instruction.typeof.description = +instruction.typeof.stackBefore = value +instruction.typeof.stackAfter = typeName +instruction.typeof.operands = + +instruction.not.shortDescription = Boolean negate +instruction.not.description = +instruction.not.stackBefore = value +instruction.not.stackAfter = !value +instruction.not.operands = + +instruction.bitnot.shortDescription = Bitwise negate +instruction.bitnot.description = +instruction.bitnot.stackBefore = value +instruction.bitnot.stackAfter = ~value +instruction.bitnot.operands = + +#Undocumented: +instruction.concat.shortDescription = Concat +instruction.concat.description = +#instruction.concat.stackBefore = +#instruction.concat.stackAfter = +#instruction.concat.operands = + +#Undocumented: +instruction.add_d.shortDescription = Add_d +instruction.add_d.description = +#instruction.add_d.stackBefore = +#instruction.add_d.stackAfter = +#instruction.add_d.operands = + +instruction.increment_p.shortDescription = Increment value using number context +instruction.increment_p.description = +instruction.increment_p.stackBefore = value +instruction.increment_p.stackAfter = incrementedValue +instruction.increment_p.operands = numberContext + +instruction.inclocal_p.shortDescription = Increment local register using number context +instruction.inclocal_p.description = +instruction.inclocal_p.stackBefore = +instruction.inclocal_p.stackAfter = +instruction.inclocal_p.operands = numberContext, localRegister + +instruction.decrement_p.shortDescription = Decrement value using number context +instruction.decrement_p.description = +instruction.decrement_p.stackBefore = value +instruction.decrement_p.stackAfter = decrementedValue +instruction.decrement_p.operands = numberContext + +instruction.declocal_p.shortDescription = Decrement local register using number context +instruction.declocal_p.description = +instruction.declocal_p.stackBefore = +instruction.declocal_p.stackAfter = +instruction.declocal_p.operands = numberContext, localRegister + +instruction.add.shortDescription = Add two values +instruction.add.description = +instruction.add.stackBefore = value1, value2 +instruction.add.stackAfter = value3 +instruction.add.operands = + +instruction.subtract.shortDescription = Subtract two values +instruction.subtract.description = +instruction.subtract.stackBefore = value1, value2 +instruction.subtract.stackAfter = value3 +instruction.subtract.operands = + +instruction.multiply.shortDescription = Multiply two values +instruction.multiply.description = +instruction.multiply.stackBefore = value1, value2 +instruction.multiply.stackAfter = value3 +instruction.multiply.operands = + +instruction.divide.shortDescription = Divide two values +instruction.divide.description = +instruction.divide.stackBefore = value1, value2 +instruction.divide.stackAfter = value3 +instruction.divide.operands = + +instruction.modulo.shortDescription = Modulo divide two values +instruction.modulo.description = +instruction.modulo.stackBefore = value1, value2 +instruction.modulo.stackAfter = value3 +instruction.modulo.operands = + +instruction.lshift.shortDescription = Bitwise left shift +instruction.lshift.description = +instruction.lshift.stackBefore = value1, value2 +instruction.lshift.stackAfter = value3 +instruction.lshift.operands = + +instruction.rshift.shortDescription = Bitwise right shift +instruction.rshift.description = +instruction.rshift.stackBefore = value1, value2 +instruction.rshift.stackAfter = value3 +instruction.rshift.operands = + +instruction.urshift.shortDescription = Unsigned bitwise right shift +instruction.urshift.description = +instruction.urshift.stackBefore = value1, value2 +instruction.urshift.stackAfter = value3 +instruction.urshift.operands = + +instruction.bitand.shortDescription = Bitwise and +instruction.bitand.description = +instruction.bitand.stackBefore = value1, value2 +instruction.bitand.stackAfter = value3 +instruction.bitand.operands = + +instruction.bitor.shortDescription = Bitwise or +instruction.bitor.description = +instruction.bitor.stackBefore = value1, value2 +instruction.bitor.stackAfter = value3 +instruction.bitor.operands = + +instruction.bitxor.shortDescription = Bitwise xor +instruction.bitxor.description = +instruction.bitxor.stackBefore = value1, value2 +instruction.bitxor.stackAfter = value3 +instruction.bitxor.operands = + +instruction.equals.shortDescription = Compare two values +instruction.equals.description = +instruction.equals.stackBefore = value1, value2 +instruction.equals.stackAfter = booleanResult +instruction.equals.operands = + +instruction.strictequals.shortDescription = Strict compare two values +instruction.strictequals.description = +instruction.strictequals.stackBefore = value1, value2 +instruction.strictequals.stackAfter = booleanResult +instruction.strictequals.operands = + +instruction.lessthan.shortDescription = Check that value is less than other value +instruction.lessthan.description = +instruction.lessthan.stackBefore = value1, value2 +instruction.lessthan.stackAfter = booleanResult +instruction.lessthan.operands = + +instruction.lessequals.shortDescription = Check that value is less or equal than other value +instruction.lessequals.description = +instruction.lessequals.stackBefore = value1, value2 +instruction.lessequals.stackAfter = booleanResult +instruction.lessequals.operands = booleanResult + +instruction.greaterthan.shortDescription = Check that value is greater or equal than other value +instruction.greaterthan.description = +instruction.greaterthan.stackBefore = value1, value2 +instruction.greaterthan.stackAfter = booleanResult +instruction.greaterthan.operands = + +instruction.greaterequals.shortDescription = Check that value is greater or equal than other value +instruction.greaterequals.description = +instruction.greaterequals.stackBefore = value1, value2 +instruction.greaterequals.stackAfter = booleanResult +instruction.greaterequals.operands = + +instruction.instanceof.shortDescription = Check that type exists in object prototype chain +instruction.instanceof.description = +instruction.instanceof.stackBefore = value, type +instruction.instanceof.stackAfter = booleanResult +instruction.instanceof.operands = + +instruction.istype.shortDescription = Check that object is of specified type +instruction.istype.description = +instruction.istype.stackBefore = value +instruction.istype.stackAfter = booleanResult +instruction.istype.operands = type + +instruction.istypelate.shortDescription = Check that object is of specified type (stack based) +instruction.istypelate.description = +instruction.istypelate.stackBefore = value, type +instruction.istypelate.stackAfter = booleanResult +instruction.istypelate.operands = + +instruction.in.shortDescription = Check that object has named property +instruction.in.description = +instruction.in.stackBefore = name, obj +instruction.in.stackAfter = booleanResult +instruction.in.operands = + +instruction.add_p.shortDescription = Add two values using number context +instruction.add_p.description = +instruction.add_p.stackBefore = value1, value2 +instruction.add_p.stackAfter = value3 +instruction.add_p.operands = numberContext + +instruction.subtract_p.shortDescription = Subtract two values using number context +instruction.subtract_p.description = +instruction.subtract_p.stackBefore = value1, value2 +instruction.subtract_p.stackAfter = value3 +instruction.subtract_p.operands = numberContext + +instruction.multiply_p.shortDescription = Multiply two values using number context +instruction.multiply_p.description = +instruction.multiply_p.stackBefore = value1, value2 +instruction.multiply_p.stackAfter = value3 +instruction.multiply_p.operands = numberContext + +instruction.divide_p.shortDescription = Divide two values using number context +instruction.divide_p.description = +instruction.divide_p.stackBefore = value1, value2 +instruction.divide_p.stackAfter = value3 +instruction.divide_p.operands = numberContext + +instruction.modulo_p.shortDescription = Modulo divide two values using number context +instruction.modulo_p.description = +instruction.modulo_p.stackBefore = value1, value2 +instruction.modulo_p.stackAfter = value3 +instruction.modulo_p.operands = numberContext + +instruction.increment_i.shortDescription = Increment integer value +instruction.increment_i.description = +instruction.increment_i.stackBefore = value +instruction.increment_i.stackAfter = incrementedValue +instruction.increment_i.operands = + +instruction.decrement_i.shortDescription = Decrement integer value +instruction.decrement_i.description = +instruction.decrement_i.stackBefore = value +instruction.decrement_i.stackAfter = decrementedValue +instruction.decrement_i.operands = + +instruction.inclocal_i.shortDescription = Increment local register integer value +instruction.inclocal_i.description = +instruction.inclocal_i.stackBefore = +instruction.inclocal_i.stackAfter = +instruction.inclocal_i.operands = localRegister + +instruction.declocal_i.shortDescription = Decrement local register integer value +instruction.declocal_i.description = +instruction.declocal_i.stackBefore = +instruction.declocal_i.stackAfter = +instruction.declocal_i.operands = localRegister + +instruction.negate_i.shortDescription = Negate integer value +instruction.negate_i.description = +instruction.negate_i.stackBefore = value +instruction.negate_i.stackAfter = -value +instruction.negate_i.operands = + +instruction.add_i.shortDescription = Add two integer values +instruction.add_i.description = +instruction.add_i.stackBefore = value1, value2 +instruction.add_i.stackAfter = value3 +instruction.add_i.operands = + +instruction.subtract_i.shortDescription = Subtract two integer values +instruction.subtract_i.description = +instruction.subtract_i.stackBefore = value1, value2 +instruction.subtract_i.stackAfter = value3 +instruction.subtract_i.operands = + +instruction.multiply_i.shortDescription = Multiply two integer values +instruction.multiply_i.description = +instruction.multiply_i.stackBefore = value1, value2 +instruction.multiply_i.stackAfter = value3 +instruction.multiply_i.operands = + +instruction.getlocal_0.shortDescription = Get local register 0 +instruction.getlocal_0.description = +instruction.getlocal_0.stackBefore = +instruction.getlocal_0.stackAfter = value +instruction.getlocal_0.operands = + +instruction.getlocal_1.shortDescription = Get local register 1 +instruction.getlocal_1.description = +instruction.getlocal_1.stackBefore = +instruction.getlocal_1.stackAfter = value +instruction.getlocal_1.operands = + +instruction.getlocal_2.shortDescription = Get local register 2 +instruction.getlocal_2.description = +instruction.getlocal_2.stackBefore = +instruction.getlocal_2.stackAfter = value +instruction.getlocal_2.operands = + +instruction.getlocal_3.shortDescription = Get local register 3 +instruction.getlocal_3.description = +instruction.getlocal_3.stackBefore = +instruction.getlocal_3.stackAfter = value +instruction.getlocal_3.operands = + +instruction.setlocal_0.shortDescription = Set local register 0 +instruction.setlocal_0.description = +instruction.setlocal_0.stackBefore = value +instruction.setlocal_0.stackAfter = +instruction.setlocal_0.operands = + +instruction.setlocal_1.shortDescription = Set local register 1 +instruction.setlocal_1.description = +instruction.setlocal_1.stackBefore = value +instruction.setlocal_1.stackAfter = +instruction.setlocal_1.operands = + +instruction.setlocal_2.shortDescription = Set local register 2 +instruction.setlocal_2.description = +instruction.setlocal_2.stackBefore = value +instruction.setlocal_2.stackAfter = +instruction.setlocal_2.operands = + +instruction.setlocal_3.shortDescription = Set local register 3 +instruction.setlocal_3.description = +instruction.setlocal_3.stackBefore = value +instruction.setlocal_3.stackAfter = +instruction.setlocal_3.operands = + +#Undocumented: +instruction.invalid.shortDescription = Invalid +instruction.invalid.description = +#instruction.invalid.stackBefore = +#instruction.invalid.stackAfter = +#instruction.invalid.operands = + +#Undocumented: +instruction.abs_jump.shortDescription = Absolute jump +instruction.abs_jump.description = +#instruction.abs_jump.stackBefore = +#instruction.abs_jump.stackAfter = +#instruction.abs_jump.operands = + +instruction.debug.shortDescription = Debugging info +instruction.debug.description = +instruction.debug.stackBefore = +instruction.debug.stackAfter = +instruction.debug.operands = debugType, regName, localRegister, extra + +instruction.debugline.shortDescription = Debugging line number info +instruction.debugline.description = +instruction.debugline.stackBefore = +instruction.debugline.stackAfter = +instruction.debugline.operands = lineNumber + +instruction.debugfile.shortDescription = Debugging file info +instruction.debugfile.description = +instruction.debugfile.stackBefore = +instruction.debugfile.stackAfter = +instruction.debugfile.operands = fileName + +instruction.bkptline.shortDescription = Breakpoint on line +instruction.bkptline.description = +instruction.bkptline.stackBefore = +instruction.bkptline.stackAfter = +instruction.bkptline.operands = lineNumber + +#Undocumented: +instruction.timestamp.shortDescription = Timestamp +instruction.timestamp.description = +instruction.timestamp.stackBefore = +instruction.timestamp.stackAfter = +instruction.timestamp.operands = + +#Undocumented: +instruction.verifypass.shortDescription = Verify pass +instruction.verifypass.description = +#instruction.verifypass.stackBefore = +#instruction.verifypass.stackAfter = +#instruction.verifypass.operands = + +#Undocumented: +instruction.alloc.shortDescription = Alloc +instruction.alloc.description = +#instruction.alloc.stackBefore = +#instruction.alloc.stackAfter = +#instruction.alloc.operands = + +#Undocumented: +instruction.mark.shortDescription = Mark +instruction.mark.description = +#instruction.mark.stackBefore = +#instruction.mark.stackAfter = +#instruction.mark.operands = + +#Undocumented: +instruction.wb.shortDescription = Wb +instruction.wb.description = +#instruction.wb.stackBefore = +#instruction.wb.stackAfter = +#instruction.wb.operands = + +#Undocumented: +instruction.prologue.shortDescription = Prologue +instruction.prologue.description = +#instruction.prologue.stackBefore = +#instruction.prologue.stackAfter = +#instruction.prologue.operands = + +#Undocumented: +instruction.sendenter.shortDescription = Send enter +instruction.sendenter.description = +#instruction.sendenter.stackBefore = +#instruction.sendenter.stackAfter = +#instruction.sendenter.operands = + +#Undocumented: +instruction.doubletoatom.shortDescription = Double to atom +instruction.doubletoatom.description = +#instruction.doubletoatom.stackBefore = +#instruction.doubletoatom.stackAfter = +#instruction.doubletoatom.operands = + +#Undocumented: +instruction.sweep.shortDescription = Sweep +instruction.sweep.description = +#instruction.sweep.stackBefore = +#instruction.sweep.stackAfter = +#instruction.sweep.operands = + +#Undocumented: +instruction.codegenop.shortDescription = CodeGenOp +instruction.codegenop.description = +#instruction.codegenop.stackBefore = +#instruction.codegenop.stackAfter = +#instruction.codegenop.operands = + +#Undocumented: +instruction.verifyop.shortDescription = VerifyOp +instruction.verifyop.description = +#instruction.verifyop.stackBefore = +#instruction.verifyop.stackAfter = +#instruction.verifyop.operands = + +#Undocumented: +instruction.decode.shortDescription = Decode +instruction.decode.description = +#instruction.decode.stackBefore = +#instruction.decode.stackAfter = +#instruction.decode.operands = + + +instruction.unplus.shortDescription = Unary plus - coerce to numeric +instruction.unplus.description = +instruction.unplus.stackBefore = value +instruction.unplus.stackAfter = value +instruction.unplus.operands = + +instruction.pushconstant.shortDescription = Push constant value on stack +instruction.pushconstant.description = +#instruction.pushconstant.stackBefore = +#instruction.pushconstant.stackAfter = +instruction.pushconstant.operands = value \ No newline at end of file diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/locales/docs/pcode/AS3other_zh.properties b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/locales/docs/pcode/AS3other_zh.properties new file mode 100644 index 000000000..5f07a2a35 --- /dev/null +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/locales/docs/pcode/AS3other_zh.properties @@ -0,0 +1,91 @@ +# Copyright (C) 2010-2016 JPEXS, All rights reserved. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 3.0 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library. +ui.list.heading = AVM2 p-code +ui.list.pageTitle = AVM2 p-code +ui.list.documentTitle = AVM2 p-code +ui.list.pageDescription = p-code \u8bbe\u7f6e\u5217\u8868 + + +name.QName = \u9650\u5b9a\u540d +name.QNameA = \u5c5e\u6027\u9650\u5b9a\u540d +name.RTQName = \u8fd0\u884c\u65f6\u9650\u5b9a\u540d +name.RTQNameA = \u5c5e\u6027\u7684\u8fd0\u884c\u65f6\u9650\u5b9a\u540d +name.RTQNameL = \u8fd0\u884c\u65f6\u9650\u5b9a\u540d\u5ef6\u8fdf +name.RTQNameLA = \u5c5e\u6027\u7684\u8fd0\u884c\u65f6\u9650\u5b9a\u540d\u5ef6\u8fdf +name.Multiname = \u591a\u4e2a\u547d\u540d\u7a7a\u95f4\u540d\u79f0 +name.MultinameA = \u5c5e\u6027\u7684\u591a\u4e2a\u547d\u540d\u7a7a\u95f4\u540d\u79f0 +name.MultinameL = \u591a\u4e2a\u547d\u540d\u7a7a\u95f4\u540d\u79f0\u5ef6\u8fdf +name.MultinameLA = \u5c5e\u6027\u7684\u591a\u4e2a\u547d\u540d\u7a7a\u95f4\u540d\u79f0\u5ef6\u8fdf +name.TypeName = \u7c7b\u578b\u540d\u79f0 + +namespacekind.Namespace = \u547d\u540d\u7a7a\u95f4 +namespacekind.PrivateNamespace = \u79c1\u6709\u547d\u540d\u7a7a\u95f4 +namespacekind.PackageNamespace = \u5305\u547d\u540d\u7a7a\u95f4 +namespacekind.PackageInternalNs = \u5305\u5185\u90e8\u547d\u540d\u7a7a\u95f4 +namespacekind.ProtectedNamespace = \u53d7\u4fdd\u62a4\u7684\u547d\u540d\u7a7a\u95f4 +namespacekind.ExplicitNamespace = \u663e\u5f0f\u547d\u540d\u7a7a\u95f4 +namespacekind.StaticProtectedNs = \u9759\u6001\u4fdd\u62a4\u547d\u540d\u7a7a\u95f4 + +trait = Trait +#types: +trait.method = type\u65b9\u6cd5\u7684\u7279\u5f81 +trait.slot = type\u69fd\u7684\u7279\u5f81 +trait.const = const\u7c7b\u578b\u7684\u7279\u5f81 +trait.setter = type\u8bbe\u7f6e\u5668\u7684\u7279\u5f81 +trait.getter = type\u83b7\u53d6\u5668\u7684\u7279\u5f81 +trait.class = type\u7c7b\u7684\u7279\u5f81 +trait.function = type\u51fd\u6570\u7684\u7279\u5f81 + +trait.metadata = \u5143\u6570\u636e +trait.metadata.item = \u4e00\u4e2a\u5143\u6570\u636e\u9879 +trait.metadata.end = \u5143\u6570\u636e\u7ed3\u5c3e + +trait.flag = \u7279\u5f81\u6807\u8bb0 +trait.flag.METADATA = \u9644\u52a0\u5143\u6570\u636e\u7684\u7279\u5f81 +trait.flag.FINAL = if final\u7684\u7279\u5f81 +trait.flag.OVERRIDE = \u8986\u76d6\u7236\u9879\u7684\u7279\u5f81 + +#method/getter/setter +trait.dispid = \u6d3e\u9063 id +#slot/const/class/function +trait.slotid = \u63d2\u69fd id + +method = \u65b9\u6cd5 +method.name = \u65b9\u6cd5\u540d\u79f0 +method.flag = \u65b9\u6cd5\u6807\u8bb0 +method.flag.NEED_ARGUMENTS = \u5728\u5bc4\u5b58\u5668method_info.param_count+1\u4e2d\u521b\u5efa"\u53c2\u6570"\u5bf9\u8c61 +method.flag.NEED_ACTIVATION = \u6b64\u65b9\u6cd5\u4f7f\u7528newactivation\u6307\u4ee4 +method.flag.NEED_REST = \u5728\u5bc4\u5b58\u5668method_info.param_count+1\u4e2d\u521b\u5efa\u5269\u4f59\u53c2\u6570\u6570\u7ec4 +method.flag.HAS_OPTIONAL = \u6b64\u65b9\u6cd5\u5177\u6709\u53ef\u9009\u53c2\u6570 +method.flag.IGNORE_REST = \u5ffd\u7565\u5176\u4ed6 +method.flag.EXPLICIT = \u663e\u5f0f +method.flag.SETSDXNS = \u6b64\u65b9\u6cd5\u4f7f\u7528dxns\u6216dxnslate\u6307\u4ee4 +method.flag.HAS_PARAMNAMES = \u6b64\u65b9\u6cd5\u5728method_info\u4e2d\u5177\u6709\u53c2\u6570\u540d\u79f0 +method.param = \u53c2\u6570\u7c7b\u578b +method.paramname = \u53c2\u6570\u540d\u79f0 +method.optional = \u53ef\u9009\u53c2\u6570\u7684\u9ed8\u8ba4\u503c +method.returns = \u65b9\u6cd5\u7684\u8fd4\u56de\u7c7b\u578b +method.body = \u65b9\u6cd5\u4e3b\u4f53 +method.body.maxstack = \u6267\u884c\u70b9\u7684\u6700\u5927\u5806\u6808\u69fd\u6570 +method.body.localcount = \u6700\u9ad8\u7f16\u53f7\u7684\u672c\u5730\u5bc4\u5b58\u5668\u7684\u7d22\u5f15\u503c+1 +method.body.initscopedepth = \u53ef\u8bbf\u95ee\u7684\u6700\u5c0f\u6df1\u5ea6\u8303\u56f4(\u4e0e\u6700\u5927\u6df1\u5ea6\u8303\u56f4\u6709\u5173) +method.body.maxscopedepth = \u53ef\u8bbf\u95ee\u7684\u6700\u5927\u6df1\u5ea6\u8303\u56f4 +method.body.try = \u5f02\u5e38\u5757 +method.body.try.from = \u4ece\u5df2\u6fc0\u6d3b\u5f02\u5e38\u7684\u4f4d\u7f6e\u5f00\u59cb +method.body.try.to = \u5728\u5df2\u7981\u7528\u5f02\u5e38\u7684\u4f4d\u7f6e\u540e\u7ed3\u675f +method.body.try.target = \u5982\u679c\u629b\u51fa\u6b64\u7c7b\u578b\u7684\u5f02\u5e38\uff0c\u63a7\u5236\u53f0\u5e94\u8be5\u8df3\u8f6c\u5230\u7684\u4f4d\u7f6e +method.body.try.type = \u6355\u83b7\u7684\u5f02\u5e38\u7c7b\u578b +method.body.try.name = \u5f02\u5e38\u7684\u5bf9\u8c61\u540d\u79f0 +method.body.code = \u65b9\u6cd5\u4e3b\u4f53\u4ee3\u7801 diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/FontTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/FontTag.java index 660d392a1..22d8ca46f 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/FontTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/FontTag.java @@ -303,11 +303,7 @@ public abstract class FontTag extends DrawableTag implements AloneTag { return "Arial"; } - //NOT AVAILABLE SINCE JAVA9+ - //First font - //return installedFontsByFamily.keySet().iterator().next(); - - return "Dialog"; + return installedFontsByFamily.keySet().iterator().next(); } public static String isFontFamilyInstalled(String fontFamily) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/xfl/XFLConverter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/xfl/XFLConverter.java index 7b68825c2..f0f6390c1 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/xfl/XFLConverter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/xfl/XFLConverter.java @@ -171,7 +171,6 @@ import org.xml.sax.SAXException; import org.xml.sax.SAXParseException; import org.xml.sax.XMLReader; import org.xml.sax.helpers.DefaultHandler; -import org.xml.sax.helpers.XMLReaderFactory; /** * diff --git a/libsrc/ffdec_lib/src/com/jpexs/helpers/resource/Swf2Exe.bin b/libsrc/ffdec_lib/src/com/jpexs/helpers/resource/Swf2Exe.bin index 54688ce22..94dbb3b34 100644 Binary files a/libsrc/ffdec_lib/src/com/jpexs/helpers/resource/Swf2Exe.bin and b/libsrc/ffdec_lib/src/com/jpexs/helpers/resource/Swf2Exe.bin differ diff --git a/libsrc/jsyntaxpane/jsyntaxpane/src/main/resources/META-INF/services/jsyntaxpane/defaultsyntaxkit/config_zh.properties b/libsrc/jsyntaxpane/jsyntaxpane/src/main/resources/META-INF/services/jsyntaxpane/defaultsyntaxkit/config_zh.properties index 35962b10f..f22adbb19 100644 --- a/libsrc/jsyntaxpane/jsyntaxpane/src/main/resources/META-INF/services/jsyntaxpane/defaultsyntaxkit/config_zh.properties +++ b/libsrc/jsyntaxpane/jsyntaxpane/src/main/resources/META-INF/services/jsyntaxpane/defaultsyntaxkit/config_zh.properties @@ -12,18 +12,18 @@ Action.goto-line.ToolTip = \u8df3\u8f6c\u5230\u884c\u53f7 Action.indent.MenuText = \u7f29\u8fdb Action.unindent.MenuText = \u53cd\u7f29\u8fdb Action.undo.MenuText = \u64a4\u9500 -Action.redo.MenuText = \u6062\u590d +Action.redo.MenuText = \u91cd\u505a Action.delete-lines.MenuText = \u5220\u9664\u884c -Action.dup-lines-up.MenuText = Duplicate Lines \u4ee5\u4e0a -Action.dup-lines-down.MenuText = Duplicate Lines \u4ee5\u4e0b -Action.toggle-lines.MenuText = \u5207\u6362\u884c\u53f7 -Action.show-abbs.MenuText = \u663e\u793a\u7f29\u7565 -Action.show-abbs.ToolTip = \u663e\u793a\u7f29\u7565 +Action.dup-lines-up.MenuText = \u590d\u5236\u4e0a\u4e00\u884c +Action.dup-lines-down.MenuText = \u590d\u5236\u4e0a\u4e00\u884c +Action.toggle-lines.MenuText = \u663e\u793a\u884c\u53f7 +Action.show-abbs.MenuText = \u663e\u793a\u7f29\u5199 +Action.show-abbs.ToolTip = \u663e\u793a\u7f29\u5199 Action.complete-word.MenuText = \u81ea\u52a8\u5b8c\u6210 Action.jump-to-pair.MenuText = \u8df3\u8f6c\u5230\u914d\u5bf9 -Action.toggle-comments.MenuText = \u5207\u6362\u6ce8\u91ca +Action.toggle-comments.MenuText = \u6ce8\u91ca\u4ee3\u7801 -# !!!! FFDec translators - please do not edit anything below this line !!! +# !!!! FFDec translators - \u8bf7\u52ff\u4fee\u6539\u5206\u5272\u7ebf\u4e0b\u65b9\u7684\u4efb\u4f55\u5185\u5bb9 !!! #========================================================================== Components = jsyntaxpane.components.PairsMarker, \ diff --git a/libsrc/jsyntaxpane/jsyntaxpane/src/main/resources/META-INF/services/jsyntaxpane/syntaxkits/flasm3syntaxkit/config_zh.properties b/libsrc/jsyntaxpane/jsyntaxpane/src/main/resources/META-INF/services/jsyntaxpane/syntaxkits/flasm3syntaxkit/config_zh.properties index 1a6406c04..918653225 100644 --- a/libsrc/jsyntaxpane/jsyntaxpane/src/main/resources/META-INF/services/jsyntaxpane/syntaxkits/flasm3syntaxkit/config_zh.properties +++ b/libsrc/jsyntaxpane/jsyntaxpane/src/main/resources/META-INF/services/jsyntaxpane/syntaxkits/flasm3syntaxkit/config_zh.properties @@ -1,7 +1,7 @@ -Action.combo-completion.MenuText = \u83b7\u53d6\u4e00\u4e2a\u6307\u4ee4 -Action.toggle-token-marker.MenuText = \u5207\u6362\u6807\u8bb0\u5236\u4f5c +Action.combo-completion.MenuText = \u9009\u62e9\u4e00\u4e2a\u6307\u4ee4 +Action.toggle-token-marker.MenuText = \u5207\u6362Token\u6807\u8bb0 -# !!!! FFDec translators - please do not edit anything below this line !!! +# !!!! FFDec translators - \u8bf7\u52ff\u4fee\u6539\u5206\u5272\u7ebf\u4e0b\u65b9\u7684\u4efb\u4f55\u5185\u5bb9 !!! #========================================================================== # diff --git a/libsrc/jsyntaxpane/jsyntaxpane/src/main/resources/META-INF/services/jsyntaxpane/syntaxkits/flasmsyntaxkit/config_zh.properties b/libsrc/jsyntaxpane/jsyntaxpane/src/main/resources/META-INF/services/jsyntaxpane/syntaxkits/flasmsyntaxkit/config_zh.properties index 0185f31fa..4d5a16303 100644 --- a/libsrc/jsyntaxpane/jsyntaxpane/src/main/resources/META-INF/services/jsyntaxpane/syntaxkits/flasmsyntaxkit/config_zh.properties +++ b/libsrc/jsyntaxpane/jsyntaxpane/src/main/resources/META-INF/services/jsyntaxpane/syntaxkits/flasmsyntaxkit/config_zh.properties @@ -1,6 +1,6 @@ -Action.toggle-token-marker.MenuText = \u5207\u6362\u6807\u8bb0\u5236\u4f5c +Action.toggle-token-marker.MenuText = \u5207\u6362Token\u6807\u8bb0 -# !!!! FFDec translators - please do not edit anything below this line !!! +# !!!! FFDec translators - \u8bf7\u52ff\u4fee\u6539\u5206\u5272\u7ebf\u4e0b\u65b9\u7684\u4efb\u4f55\u5185\u5bb9 !!! #========================================================================== # diff --git a/libsrc/jsyntaxpane/jsyntaxpane/src/main/resources/jsyntaxpane/Bundle_zh.properties b/libsrc/jsyntaxpane/jsyntaxpane/src/main/resources/jsyntaxpane/Bundle_zh.properties index 53f7b2506..0a46f3eb6 100644 --- a/libsrc/jsyntaxpane/jsyntaxpane/src/main/resources/jsyntaxpane/Bundle_zh.properties +++ b/libsrc/jsyntaxpane/jsyntaxpane/src/main/resources/jsyntaxpane/Bundle_zh.properties @@ -1,25 +1,25 @@ -SyntaxTester.title = JSyntaxPane \u68c0\u6d4b -SyntaxTester.lblCaretPos.text = \u63d2\u5165\u4f4d\u7f6e -SyntaxTester.lblToken.text = \u6807\u8bb0\u4e0b\u9762\u5149\u6807 +SyntaxTester.title = JSyntaxPane \u6d4b\u8bd5 +SyntaxTester.lblCaretPos.text = \u5149\u6807\u4f4d\u7f6e +SyntaxTester.lblToken.text = \u5149\u6807\u4e0b\u7684Token SyntaxTester.jEdtTest.contentType = -NO_TOKEN_AT_CURSOR = \u65e0\u6807\u8bb0\u5728\u5149\u6807\u5904 +NO_TOKEN_AT_CURSOR = \u5149\u6807\u5904\u6ca1\u6709Token HTMLPreviewFrame.title = HTML \u9884\u89c8 HTMLPreviewFrame.jEdtHtml.contentType = text/html -QuickFindDialog.jChkWrap.text = \u5305 +QuickFindDialog.jChkWrap.text = \u6362\u884c QuickFindDialog.jChkRegExp.text = \u6b63\u5219\u8868\u8fbe\u5f0f QuickFindDialog.jChkIgnoreCase.text = \u5ffd\u7565\u5927\u5c0f\u5199 QuickFindDialog.jLabel1.text = \u5feb\u901f\u67e5\u627e -QuickFindDialog.NotFound = \u672a\u627e\u5230 +QuickFindDialog.NotFound = \u67e5\u627e\u65e0\u7ed3\u679c ReplaceDialog.jChkRegex.text = \u6b63\u5219\u8868\u8fbe\u5f0f ReplaceDialog.jChkIgnoreCase.text = \u5ffd\u7565\u5927\u5c0f\u5199 ReplaceDialog.jLblReplace.text = \u66ff\u6362 ReplaceDialog.jTglHighlight.text = \u9ad8\u4eae ReplaceDialog.jBtnReplaceAll.text = \u66ff\u6362\u5168\u90e8 ReplaceDialog.jBtnPrev.text = \u4e0a\u4e00\u4e2a -ReplaceDialog.jChkWrap.toolTipText = \u6362\u5230\u4e00\u5f00\u59cb\u8fbe\u5230\u7ed3\u5c3e\u65f6 -ReplaceDialog.jChkWrap.text = \u73af\u7ed5 -ReplaceDialog.title = \u67e5\u627e\u548c\u66ff\u6362 +ReplaceDialog.jChkWrap.toolTipText = \u67e5\u627e\u5230\u5e95\u65f6\u81ea\u52a8\u8df3\u5230\u9876\u90e8 +ReplaceDialog.jChkWrap.text = \u5faa\u73af +ReplaceDialog.title = \u67e5\u627e\u5e76\u66ff\u6362 ReplaceDialog.jBtnNext.text = \u4e0b\u4e00\u4e2a ReplaceDialog.jLblFind.text = \u67e5\u627e ReplaceDialog.jBtnReplace.text = \u66ff\u6362 @@ -27,13 +27,13 @@ ShowAbbsDialog.title = \u7f29\u5199 GotoLineDialog.title = \u8f6c\u5230\u884c GotoLineDialog.jBtnOk.text = \u8f6c\u5230 -DocumentSearchData.SearchStringNotFound = \u641c\u7d22\u5b57\u7b26\u4e32 {0} \u672a\u627e\u5230 +DocumentSearchData.SearchStringNotFound = \u627e\u4e0d\u5230"{0}" DocumentSearchData.Find = \u67e5\u627e -ScriptAction.NoScriptConfigured = \u52a8\u4f5c\u5df2\u914d\u7f6e\u4e86\u811a\u672c\u51fd\u6570 -ScriptAction.ErrorInScript = \u811a\u672c\u9519\u8bef -ScriptAction.NoScriptFoundIn = \u6ca1\u6709\u811a\u672c\u4e2d\u627e\u5230: -ScriptRunnerAction.ErrorExecutingScript = \u6267\u884c\u811a\u672c\u9519\u8bef:\\n -ScriptRunnerAction.ScriptError = \u811a\u672c\u9519\u8bef -ScriptRunnerAction.ScriptEngineNotFound = \u811a\u672c\u5f15\u64ce [{0}] \u672a\u627e\u5230\u3002\u7981\u7528\u6b64\u52a8\u4f5c\u5417\uff1f -ShowAbbsAction.NoAbbsForType = \u6b64\u5185\u5bb9\u7c7b\u578b\u6ca1\u6709\u7f29\u5199\u5b58\u5728 +ScriptAction.NoScriptConfigured = \u64cd\u4f5c\u672a\u914d\u7f6e\u811a\u672c\u51fd\u6570 +ScriptAction.ErrorInScript = \u811a\u672c\u4e2d\u51fa\u73b0\u9519\u8bef +ScriptAction.NoScriptFoundIn = \u627e\u4e0d\u5230\u811a\u672c: +ScriptRunnerAction.ErrorExecutingScript = \u6267\u884c\u811a\u672c\u65f6\u51fa\u9519:\\n +ScriptRunnerAction.ScriptError = \u811a\u672c\u51fa\u9519 +ScriptRunnerAction.ScriptEngineNotFound = \u627e\u4e0d\u5230[{0}]\u811a\u672c\u5f15\u64ce.\u8981\u7981\u7528\u6b64\u52a8\u4f5c\u5417\uff1f +ShowAbbsAction.NoAbbsForType = \u6b64\u5185\u5bb9\u7c7b\u578b\u4e0d\u5b58\u5728\u7f29\u5199 diff --git a/nsis_locales/SimpChinese.nsh b/nsis_locales/SimpChinese.nsh index 97b7db342..b3693ef5b 100644 --- a/nsis_locales/SimpChinese.nsh +++ b/nsis_locales/SimpChinese.nsh @@ -1,61 +1,63 @@ !define LANG "SIMPCHINESE" ; Must be the lang name define by NSIS -!insertmacro LANG_STRING STRING_SWC_NOTFOUND "有关 Adobe 的 PlayerGlobal.SWC 网页没有找到。也许您的防火墙阻止访问或者您有使一些代理。您可以在高级设置以后设置路径SWC文件。" +!insertmacro LANG_STRING STRING_SWC_NOTFOUND "在Adobe网页上找不到PlayerGlobal.SWC,也许防火墙阻止了访问或启用了某些代理,您可以稍后在高级设置中设置SWC文件的路径。" !insertmacro LANG_STRING STRING_SAVED_TO "保存到" !insertmacro LANG_STRING STRING_EXISTS_SKIP_DOWNLOAD "已经存在,跳过下载" !insertmacro LANG_STRING STRING_STARTING_DOWNLOAD "开始下载" !insertmacro LANG_STRING STRING_DESKTOP_SHORTCUT "桌面快捷方式" !insertmacro LANG_STRING STRING_ADD_CONTEXT_MENU "添加到右键菜单" -!insertmacro LANG_STRING STRING_SECTION_APP "应用程序 GUI 和库" -!insertmacro LANG_STRING STRING_SECTION_SWC "从 Adobe 网站下载 Flash 播放器库 - 用于 ActionScript 以及其他功能" -!insertmacro LANG_STRING STRING_SECTION_CONTEXT_MENU "添加 FFDec 在 Windows 资源管理器关联 SWF 和 GPX 文件上下文菜单。" -!insertmacro LANG_STRING STRING_SECTION_SHORTCUT "在创建桌面快捷方式链接" +!insertmacro LANG_STRING STRING_SECTION_APP "应用程序GUI和库" +!insertmacro LANG_STRING STRING_SECTION_SWC "从Adobe网站下载FlashPlayer库-对于ActionScript直接编辑和其他功能很有用" +!insertmacro LANG_STRING STRING_SECTION_CONTEXT_MENU "将FFDec添加到Windows资源管理器中的SWF和GFX文件的右键菜单中。" +!insertmacro LANG_STRING STRING_SECTION_SHORTCUT "在桌面上创建快捷方式" !insertmacro LANG_STRING STRING_UNINST_USER "删除用户配置" !insertmacro LANG_STRING STRING_HELP_US "帮助我们" -!insertmacro LANG_STRING STRING_HELP_US_FREE "FFDec 反编译器是自由和开放源码项目。如果你想支持我们,你可以告诉别人我们的反编译。使用分享链接到我们的网页,谢谢。" -!insertmacro LANG_STRING STRING_HELP_US_DONATE "如果你想表达对我的工作的开发和支持,我们也接受赞赏和捐赠。" -!insertmacro LANG_STRING STRING_HELP_US_MORE "点击这里查看更多信息:" -!insertmacro LANG_STRING STRING_HELP_US_DOYOU "你知不知道你可以帮助我们?" -!insertmacro LANG_STRING STRING_HELP_US_BUTTON "帮助我们!" -!insertmacro LANG_STRING STRING_SWC "下载 PlayerGlobal.swc" -!insertmacro LANG_STRING STRING_SWC_CHECK "检查 Adobe 网站最新的 Playerglobal.swc 文件" +!insertmacro LANG_STRING STRING_HELP_US_FREE "本反编译器是完全免费并且开源的,如果想支持我们,可以向别人介绍我们的反编译器,分享我们的页面链接,谢谢。" +!insertmacro LANG_STRING STRING_HELP_US_DONATE "如果您想表达对作者投入的时间和资源的感谢,我们也接受感谢与捐赠。" +!insertmacro LANG_STRING STRING_HELP_US_MORE "单击此处以获取更多信息:" +!insertmacro LANG_STRING STRING_HELP_US_DOYOU "您知道您可以为我们提供帮助吗?" +!insertmacro LANG_STRING STRING_HELP_US_BUTTON "帮助我们!" +!insertmacro LANG_STRING STRING_SWC "下载PlayerGlobal.swc" +!insertmacro LANG_STRING STRING_SWC_CHECK "正在Adobe网站上检查最新的PlayerGlobal.swc文件" ;Flash ActiveX: -!insertmacro LANG_STRING STRING_FLASH_AX_REQUIRED_TITLE "需要 Flash Player ActiveX 控件" -!insertmacro LANG_STRING STRING_FLASH_AX_REQUIRED "该应用程序需要 Flash ActiveX 控件" -!insertmacro LANG_STRING STRING_FLASH_AX_WILLINSTALL "该应用程序需要安装 Flash ActiveX 控件。这将下载并安装作为安装的一部分。" -!insertmacro LANG_STRING STRING_FLASH_AX_ALREADYINSTALLED "Flash ActiveX 已安装" -!insertmacro LANG_STRING STRING_FLASH_AX_MISSING "结果: Flash ActiveX 缺失。" -!insertmacro LANG_STRING STRING_FLASH_AX_WILLDOWNLOAD "下载 Flash 大约" +!insertmacro LANG_STRING STRING_FLASH_AX_REQUIRED_TITLE "需要Flash Player ActiveX控件" +!insertmacro LANG_STRING STRING_FLASH_AX_REQUIRED "此应用程序需要Flash ActiveX控件" +!insertmacro LANG_STRING STRING_FLASH_AX_WILLINSTALL "此应用程序需要安装Flash ActiveX控件,将在安装过程中下载并安装。" +!insertmacro LANG_STRING STRING_FLASH_AX_ALREADYINSTALLED "已安装Flash ActiveX" +!insertmacro LANG_STRING STRING_FLASH_AX_MISSING "结果:缺少Flash ActiveX。" +!insertmacro LANG_STRING STRING_FLASH_AX_WILLDOWNLOAD "即将下载Flash" !insertmacro LANG_STRING STRING_FLASH_AX_DOWNRESULT "下载结果 = " -!insertmacro LANG_STRING STRING_FLASH_AX_CANNOTDOWNLOAD "无法下载 Flash ActiveX。您可以稍后手动下载或使用我们自己的 Flash 浏览器。" -!insertmacro LANG_STRING STRING_FLASH_AX_LAUNCHSETUP "启动 Flash 设置" -!insertmacro LANG_STRING STRING_FLASH_AX_INTERRUPTED "Flash 的设置已发生非正常中断 - 返回代码" -!insertmacro LANG_STRING STRING_FLASH_AX_SETUPOUTCOME "检查 Flash 设置结果" -!insertmacro LANG_STRING STRING_FLASH_AX_UNABLEFINDAFTER "找不到 Flash ActiveX,即使 Flash 安装成功" -!insertmacro LANG_STRING STRING_FLASH_AX_UNABLEINSTALL "无法安装 Flash ActiveX。您可以稍后手动下载或使用我们自己的 Flash 浏览器。" -!insertmacro LANG_STRING STRING_FLASH_AX_SETUPFINISHED "Flash 安装完成" +!insertmacro LANG_STRING STRING_FLASH_AX_CANNOTDOWNLOAD "无法下载Flash ActiveX,您可以稍后手动下载或使用我们自己的Flash查看器。" +!insertmacro LANG_STRING STRING_FLASH_AX_LAUNCHSETUP "启动Flash安装" +!insertmacro LANG_STRING STRING_FLASH_AX_INTERRUPTED "FLASH设置已异常中断-返回代码" +!insertmacro LANG_STRING STRING_FLASH_AX_SETUPOUTCOME "检查Flash安装的结果" +!insertmacro LANG_STRING STRING_FLASH_AX_UNABLEFINDAFTER "即使Flash安装成功,也无法找到Flash ActiveX" +!insertmacro LANG_STRING STRING_FLASH_AX_UNABLEINSTALL "无法安装Flash ActiveX,您可以稍后自行下载它或使用我们的Flash查看器。" +!insertmacro LANG_STRING STRING_FLASH_AX_SETUPFINISHED "Flash安装完成" !insertmacro LANG_STRING STRING_FLASH_AX_DETECTING "检测 Flash ActiveX" ;JRE: -!insertmacro LANG_STRING STRING_JRE_REQUIRED_TITLE "需要安装 JRE" -!insertmacro LANG_STRING STRING_JRE_REQUIRED "该应用程序需要 Java ${JRE_VERSION} 或更高" -!insertmacro LANG_STRING STRING_JRE_REQUIRED_INFO "该应用程序需要安装 Java 运行环境。这将下载并安装作为安装的一部分。" -!insertmacro LANG_STRING STRING_JRE_UPDATEREQUIRED_TITLE "JRE 需要更新" -!insertmacro LANG_STRING STRING_JRE_UPDATEREQUIRED "该应用程序需要 Java ${JRE_VERSION} 或更高" -!insertmacro LANG_STRING STRING_JRE_UPDATEREQUIRED_INFO "该应用程序需要一个较新的 Java 运行环境的版本。这将下载并安装作为安装的一部分。" -!insertmacro LANG_STRING STRING_JRE_DETECTVERSION "检测 JRE 版本" -!insertmacro LANG_STRING STRING_JRE_DETECTCOMPLETE "JRE 版本检测完成 - 结果 = " -!insertmacro LANG_STRING STRING_JRE_DETECTCOMPLETE_OLD "发现旧的 JRE" -!insertmacro LANG_STRING STRING_JRE_DETECTCOMPLETE_NO "没有找到 JRE" -!insertmacro LANG_STRING STRING_JRE_DETECTCOMPARE_1 "版本比较 " +!insertmacro LANG_STRING STRING_JRE_REQUIRED_TITLE "需要安装JRE" +!insertmacro LANG_STRING STRING_JRE_REQUIRED "此应用程序需要Java ${JRE_VERSION}或更高版本" +!insertmacro LANG_STRING STRING_JRE_REQUIRED_INFO "此应用程序需要安装Java Runtime Environment,将在安装过程中下载并安装。" +!insertmacro LANG_STRING STRING_JRE_UPDATEREQUIRED_TITLE "需要更新JRE" +!insertmacro LANG_STRING STRING_JRE_UPDATEREQUIRED "此应用程序需要Java ${JRE_VERSION}或更高版本" +!insertmacro LANG_STRING STRING_JRE_UPDATEREQUIRED_INFO "此应用程序需要Java Runtime Environment的更新版本,它将作为安装的一部分下载并安装。" +!insertmacro LANG_STRING STRING_JRE_DETECTVERSION "检测JRE版本" +!insertmacro LANG_STRING STRING_JRE_DETECTCOMPLETE "JRE版本检测完成-结果 = " +!insertmacro LANG_STRING STRING_JRE_DETECTCOMPLETE_OLD "发现旧的JRE" +!insertmacro LANG_STRING STRING_JRE_DETECTCOMPLETE_NO "没有找到JRE" +!insertmacro LANG_STRING STRING_JRE_DETECTCOMPARE_1 "比较版本 " !insertmacro LANG_STRING STRING_JRE_DETECTCOMPARE_2 " 到 " !insertmacro LANG_STRING STRING_JRE_DETECTCOMPARE_3 " 结果在 " -!insertmacro LANG_STRING STRING_JRE_WILLDOWNLOAD "大约下载 JRE " +!insertmacro LANG_STRING STRING_JRE_WILLDOWNLOAD "即将下载JRE" !insertmacro LANG_STRING STRING_JRE_DOWNRESULT "下载结果 = " -!insertmacro LANG_STRING STRING_JRE_CANNOTDOWNLOAD "无法下载 Java。您可以稍后手动下载。" -!insertmacro LANG_STRING STRING_JRE_LAUNCHSETUP "启动 JRE 设置" -!insertmacro LANG_STRING STRING_JRE_SETUPFINISHED "JRE 安装完成" -!insertmacro LANG_STRING STRING_JRE_INTERRUPTED "JRE 安装已发生非正常中断 - 返回代码 " -!insertmacro LANG_STRING STRING_JRE_SETUPOUTCOME "检查 JRE 安装结果" -!insertmacro LANG_STRING STRING_JRE_UNABLEFINDAFTER "无法找到上面的 JRE ${JRE_VERSION} 版本, 即使 JRE 安装成功" -!insertmacro LANG_STRING STRING_JRE_UNABLEINSTALL "无法安装 Java。您可以在以后手动安装。" +!insertmacro LANG_STRING STRING_JRE_CANNOTDOWNLOAD "无法下载Java,您可以稍后可以自行下载。" +!insertmacro LANG_STRING STRING_JRE_LAUNCHSETUP "启动JRE安装" +!insertmacro LANG_STRING STRING_JRE_SETUPFINISHED "JRE安装完成" +!insertmacro LANG_STRING STRING_JRE_INTERRUPTED "JRE安装已异常中断-返回码" +!insertmacro LANG_STRING STRING_JRE_SETUPOUTCOME "检查JRE安装结果" +!insertmacro LANG_STRING STRING_JRE_UNABLEFINDAFTER "即使JRE安装成功,也无法找到版本高于${JRE_VERSION}的JRE" +!insertmacro LANG_STRING STRING_JRE_UNABLEINSTALL "无法安装Java,您可以稍后自行安装。" + +;!insertmacro LANG_STRING STRING_ "" diff --git a/resources/ffdec.bat b/resources/ffdec.bat index 73c00f562..251b40c29 100644 --- a/resources/ffdec.bat +++ b/resources/ffdec.bat @@ -1,2 +1,2 @@ @echo off -java -Xmx1024m -Djna.nosys=true -jar "%~dp0\ffdec.jar" %* \ No newline at end of file +java -Xmx1024m -Djna.nosys=true -Dsun.java2d.uiScale=1.0 -jar "%~dp0\ffdec.jar" %* \ No newline at end of file diff --git a/resources/ffdec.sh b/resources/ffdec.sh index 320c19135..19d7ec543 100644 --- a/resources/ffdec.sh +++ b/resources/ffdec.sh @@ -67,7 +67,7 @@ fi popd > /dev/null -args=(-Djava.net.preferIPv4Stack=true -Xmx$MEMORY -jar $JAR_FILE "$@") +args=(-Djava.net.preferIPv4Stack=true -Dsun.java2d.uiScale=1.0 -Xmx$MEMORY -jar $JAR_FILE "$@") if [ "`uname`" = "Darwin" ]; then args=(-Xdock:name=FFDec -Xdock:icon=icon.png "${args[@]}") diff --git a/src/com/jpexs/decompiler/flash/gui/FontPanel.java b/src/com/jpexs/decompiler/flash/gui/FontPanel.java index 8541f7b2c..d43296056 100644 --- a/src/com/jpexs/decompiler/flash/gui/FontPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/FontPanel.java @@ -101,10 +101,9 @@ public class FontPanel extends JPanel { public static ComboBoxModel getFaceModel(FontFamily family) { Set faceSet = new TreeSet<>(); - /*NOT AVAILABLE SINCE JAVA 9+ for (Font f : FontTag.getInstalledFontsByFamily().get(family.familyEn).values()) { faceSet.add(new FontFace(f)); - }*/ + } return new DefaultComboBoxModel<>(new Vector<>(faceSet)); } diff --git a/src/com/jpexs/decompiler/flash/gui/locales/AboutDialog_zh.properties b/src/com/jpexs/decompiler/flash/gui/locales/AboutDialog_zh.properties index 2d279497a..1ac7285ca 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/AboutDialog_zh.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/AboutDialog_zh.properties @@ -13,12 +13,15 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -version = \u7248\u672c -by = \u5f00\u53d1\u4f5c\u8005 +version = Version: +by = By: button.ok = \u786e\u5b9a dialog.title = \u5173\u4e8e contributors = \u8d21\u732e\u8005: #In the translation, replace "english" with target language name -translation.author.label = \u4e2d\u6587\u7ffb\u8bd1: +translation.author.label = \u4e2d\u6587\u7ffb\u8bd1\uff1a #In the translation, insert your name here -translation.author = \u5927\u773c\u4ed4~\u65ed\uff08\u5b89\u5b89\uff09, \u738b\u6668\u65ed +translation.author = \u6653\u4e4b\u8f66,\u5b89\u5b89,\u738b\u6668\u65ed +developers = \u5f00\u53d1: +developers.others = \u4ee5\u53caGitHub\u4e0eGoogleCode\u7684\u5176\u4ed6\u4eba +translators = \u7ffb\u8bd1\u8005: diff --git a/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog.properties b/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog.properties index 3b72e9329..c4723ad01 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog.properties @@ -447,10 +447,32 @@ config.description.gui.fontSizeMultiplier = Font size multiplier config.name.graphVizDotLocation = 5) GraphViz Dot executable path config.description.graphVizDotLocation = Path to dot.exe (or similar for linux) of GraphViz application for displaying Graphs. -#Do not translate the Font Styles (Plain... etc.) +#Do not translate the Font Styles which is in the parenthesis:(Plain,Bold,Italic,BoldItalic) config.name.gui.sourceFont = Source font style config.description.gui.sourceFont = FontName-FontStyle(Plain,Bold,Italic,BoldItalic)-FontSize #after 11.1.0 config.name.as12DeobfuscatorExecutionLimit = AS1/2 deobfuscator execution limit -config.description.as12DeobfuscatorExecutionLimit = Maximum number of instructions processed during AS1/2 execution deobfuscation \ No newline at end of file +config.description.as12DeobfuscatorExecutionLimit = Maximum number of instructions processed during AS1/2 execution deobfuscation + +#option that ignore in 8.0.1 and other versions +config.name.showOriginalBytesInPcodeHex = (Internal) Show original bytes +config.description.showOriginalBytesInPcodeHex = show Original Bytes In Pcode Hex + +config.name.showFileOffsetInPcodeHex = (Internal) Show file offset +config.description.showFileOffsetInPcodeHex = show File Offset In Pcode Hex + +config.name._enableFlexExport = (Internal) enableFlexExport +config.description.enableFlexExport = enable Flex Export + +config.name._ignoreAdditionalFlexClasses = (Internal) ignoreAdditionalFlexClasses +config.description.ignoreAdditionalFlexClasses = ignore Additional Flex Classes + +config.name.hwAcceleratedGraphics = (Internal) hwAcceleratedGraphics +config.description.hwAcceleratedGraphics = hw Accelerated Graphics + +config.name.gui.avm2.splitPane.docs.dividerLocationPercent = (Internal) splitPanedocsdividerLocationPercent +config.description.gui.avm2.splitPane.docs.dividerLocationPercent = splitPane docs divider Location Percent + +config.name.gui.dump.splitPane.dividerLocationPercent = (Internal) dumpsplitPanedividerLocationPercent +config.description.gui.dump.splitPane.dividerLocationPercent = dump splitPane divider Location Percent \ No newline at end of file diff --git a/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog_zh.properties b/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog_zh.properties index 7dcbc63c2..a89e2c061 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog_zh.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog_zh.properties @@ -14,421 +14,465 @@ # along with this program. If not, see . advancedSettings.dialog.title = \u9ad8\u7ea7\u8bbe\u7f6e -advancedSettings.restartConfirmation = \u60a8\u5fc5\u987b\u91cd\u65b0\u542f\u52a8\u8be5\u7a0b\u5e8f\u7684\u4e00\u4e9b\u4fee\u6539\u624d\u80fd\u751f\u6548\u3002\u4f60\u60f3\u73b0\u5728\u91cd\u65b0\u542f\u52a8\u5417\uff1f +advancedSettings.restartConfirmation = \u60a8\u5fc5\u987b\u91cd\u542f\u7a0b\u5e8f\u4ee5\u4f7f\u4fee\u6539\u7684\u8bbe\u7f6e\u751f\u6548\uff0c\u8981\u7acb\u523b\u91cd\u542f\u7a0b\u5e8f\u5417\uff1f advancedSettings.columns.name = \u540d\u79f0 advancedSettings.columns.value = \u503c advancedSettings.columns.description = \u63cf\u8ff0 -default = default +default = \u9ed8\u8ba4 -config.group.name.export = \u5bfc\u5165 -config.group.description.export = \u5bfc\u5165\u914d\u7f6e +config.group.name.export = \u5bfc\u51fa +config.group.description.export = \u5bfc\u51fa\u76f8\u5173\u8bbe\u7f6e config.group.name.script = \u811a\u672c -config.group.description.script = ActionScript \u53cd\u7f16\u8bd1\u5173\u8054 +config.group.description.script = \u4ee3\u7801\u53cd\u7f16\u8bd1\u76f8\u5173 config.group.name.update = \u66f4\u65b0 -config.group.description.update = \u68c0\u67e5\u66f4\u65b0 +config.group.description.update = \u8f6f\u4ef6\u66f4\u65b0\u68c0\u67e5 -config.group.name.format = \u683c\u5f0f\u5316 -config.group.description.format = ActionScript \u4ee3\u7801\u683c\u5f0f\u5316 +config.group.name.format = \u6392\u7248 +config.group.description.format = \u4ee3\u7801\u663e\u793a\u7684\u76f8\u5173\u8bbe\u7f6e -config.group.name.limit = \u8303\u56f4 -config.group.description.limit = \u9488\u5bf9\u6df7\u6dc6\u4ee3\u7801\uff0c\u53cd\u7f16\u8bd1\u7b49\u9650\u5236\u7b49\u3002 +config.group.name.limit = \u9650\u5236 +config.group.description.limit = \u6df7\u6dc6\u4ee3\u7801\u7b49\u7684\u53cd\u7f16\u8bd1\u9650\u5236\u76f8\u5173 config.group.name.ui = \u754c\u9762 -config.group.description.ui = \u7528\u6237\u754c\u9762\u914d\u7f6e +config.group.description.ui = \u7528\u6237\u754c\u9762\u8bbe\u7f6e -config.group.name.debug = \u8c03\u8bd5 -config.group.description.debug = \u8c03\u8bd5\u8bbe\u7f6e +config.group.name.debug = Debug +config.group.description.debug = \u8c03\u8bd5\u76f8\u5173\u7684\u8bbe\u7f6e config.group.name.display = \u663e\u793a -config.group.description.display = Flash \u5bf9\u8c61\u663e\u793a\u7b49\u3002 +config.group.description.display = Flash\u7b49\u5bf9\u8c61\u663e\u793a\u76f8\u5173 config.group.name.decompilation = \u53cd\u7f16\u8bd1 config.group.description.decompilation = \u5168\u5c40\u53cd\u7f16\u8bd1\u76f8\u5173\u7684\u529f\u80fd config.group.name.other = \u5176\u5b83 -config.group.description.other = \u5176\u5b83\u672a\u5206\u7c7b\u914d\u7f6e +config.group.description.other = \u5176\u5b83\u672a\u5206\u7c7b\u7684\u8bbe\u7f6e config.name.openMultipleFiles = \u6253\u5f00\u591a\u4e2a\u6587\u4ef6 -config.description.openMultipleFiles = \u5141\u8bb8\u540c\u65f6\u5728\u4e00\u4e2a\u7a97\u53e3\u4e2d\u6253\u5f00\u591a\u4e2a\u6587\u4ef6 +config.description.openMultipleFiles = \u5141\u8bb8\u5728\u4e00\u4e2a\u7a97\u53e3\u4e2d\u540c\u65f6\u6253\u5f00\u591a\u4e2a\u6587\u4ef6 -config.name.decompile = \u663e\u793a ActionScript \u6e90 -config.description.decompile = \u60a8\u53ef\u4ee5\u7981\u7528 AS \u53cd\u7f16\u8bd1\uff0c\u90a3\u4e48\u53ea\u6709 P-\u4ee3\u7801\u663e\u793a +config.name.decompile = \u663e\u793aAS\u6e90\u4ee3\u7801 +config.description.decompile = \u60a8\u53ef\u4ee5\u7981\u7528AS\u53cd\u7f16\u8bd1\uff0c\u53ea\u663e\u793aP-code -config.name.dumpView = \u8f6c\u50a8\u67e5\u770b +config.name.dumpView = \u8f6c\u50a8\u89c6\u56fe config.description.dumpView = \u67e5\u770b\u539f\u59cb\u6570\u636e\u8f6c\u50a8 config.name.useHexColorFormat = \u5341\u516d\u8fdb\u5236\u989c\u8272\u683c\u5f0f config.description.useHexColorFormat = \u663e\u793a\u5341\u516d\u8fdb\u5236\u683c\u5f0f\u989c\u8272 -config.name.parallelSpeedUp = \u5e76\u884c\u52a0\u901f -config.description.parallelSpeedUp = \u5e76\u884c\u53ef\u4ee5\u52a0\u5feb\u7f16\u8bd1 +config.name.parallelSpeedUp = \u591a\u7ebf\u7a0b\u52a0\u901f +config.description.parallelSpeedUp = \u4ec5\u53ef\u52a0\u5feb\u53cd\u7f16\u8bd1\u901f\u5ea6\uff0c\u90e8\u5206\u5355\u7ebf\u7a0b\u529f\u80fd\u53ef\u80fd\u4f1a\u51fa\u73b0\u95ee\u9898 config.name.parallelSpeedUpThreadCount = \u7ebf\u7a0b\u6570 -config.description.parallelSpeedUpThreadCount = \u7528\u4e8e\u5e76\u884c\u52a0\u901f\u7ebf\u7a0b\u6570 +config.description.parallelSpeedUpThreadCount = \u591a\u7ebf\u7a0b\u52a0\u901f\u7684\u7ebf\u7a0b\u6570\u91cf config.name.autoDeobfuscate = \u81ea\u52a8\u53cd\u6df7\u6dc6 -config.description.autoDeobfuscate = \u6709\u5173 ActionScript \u53cd\u7f16\u8bd1\u524d\u7684\u6bcf\u4e2a\u6587\u4ef6\u6267\u884c\u53cd\u6df7\u6dc6 +config.description.autoDeobfuscate = \u5728\u53cd\u7f16\u8bd1ActionScript\u4e4b\u524d\uff0c\u5bf9\u6bcf\u4e2a\u6587\u4ef6\u8fd0\u884c\u53cd\u6df7\u6dc6 -config.name.cacheOnDisk = \u5728\u78c1\u76d8\u4e0a\u4f7f\u7528\u7f13\u5b58 -config.description.cacheOnDisk = \u7f13\u5b58\u5df2\u7ecf\u90e8\u5206\u53cd\u7f16\u8bd1\u5728\u786c\u76d8\u9a71\u52a8\u5668\u800c\u4e0d\u662f\u5185\u5b58 +config.name.cacheOnDisk = \u786c\u76d8\u7f13\u5b58 +config.description.cacheOnDisk = \u4e0d\u5360\u7528\u5185\u5b58\uff0c\u800c\u5728\u786c\u76d8\u9a71\u52a8\u5668\u4e0a\u7f13\u5b58\u5df2\u7ecf\u53cd\u7f16\u8bd1\u7684\u90e8\u5206 -config.name.internalFlashViewer = \u4f7f\u7528\u81ea\u5df1\u7684 Flash \u6d4f\u89c8\u5668 -config.description.internalFlashViewer = \u4f7f\u7528 JPEXS Flash \u6d4f\u89c8\u5668\uff0c\u800c\u4e0d\u662f\u6807\u51c6\u7684 Flash \u64ad\u653e\u5668\u7528\u4e8e Flash \u90e8\u4ef6\u663e\u793a +config.name.internalFlashViewer = \u4f7f\u7528\u5185\u90e8Flash Player +config.description.internalFlashViewer = \u4f7f\u7528JPEXS Flash Viewer\u6765\u663e\u793aFlash\u63a7\u4ef6 -config.name.gotoMainClassOnStartup = \u5728\u542f\u52a8\u65f6\u8f6c\u5230\u4e3b\u7c7b (AS3) -config.description.gotoMainClassOnStartup = \u6253\u5f00\u6587\u6863\u7c7b AS3 \u6587\u4ef6\u65f6\u5bfc\u822a\u5230 SWF \u4e0a +config.name.gotoMainClassOnStartup = \u542f\u52a8\u65f6\u8f6c\u5230\u4e3b\u7c7b (AS3) +config.description.gotoMainClassOnStartup = \u5728SWF\u6253\u5f00\u65f6\u8f6c\u5230\u5230AS3\u6587\u4ef6\u7684\u6587\u6863\u7c7b config.name.autoRenameIdentifiers = \u81ea\u52a8\u91cd\u547d\u540d\u6807\u8bc6\u7b26 -config.description.autoRenameIdentifiers = \u81ea\u52a8\u91cd\u547d\u540d SWF \u52a0\u8f7d\u65e0\u6548\u6807\u8bc6\u7b26 +config.description.autoRenameIdentifiers = \u5728SWF\u52a0\u8f7d\u65f6\u81ea\u52a8\u91cd\u547d\u540d\u65e0\u6548\u6807\u8bc6\u7b26 -config.name.offeredAssociation = \uff08\u5185\u90e8\uff09\u5173\u8054 SWF \u6587\u4ef6\u663e\u793a -config.description.offeredAssociation = \u6709\u5173\u6587\u4ef6\u5173\u8054\u5bf9\u8bdd\u6846\u5df2\u7ecf\u663e\u793a +config.name.offeredAssociation = (\u5185\u90e8)\u5173\u8054SWF\u6587\u4ef6\u663e\u793a +config.description.offeredAssociation = \u5df2\u7ecf\u663e\u793a\u6709\u5173\u6587\u4ef6\u5173\u8054\u7684\u5bf9\u8bdd\u6846 config.name.decimalAddress = \u4f7f\u7528\u5341\u8fdb\u5236\u5730\u5740 config.description.decimalAddress = \u4f7f\u7528\u5341\u8fdb\u5236\u5730\u5740\u800c\u4e0d\u662f\u5341\u516d\u8fdb\u5236 config.name.showAllAddresses = \u663e\u793a\u6240\u6709\u5730\u5740 -config.description.showAllAddresses = \u663e\u793a\u6240\u6709\u52a8\u4f5c\u6307\u4ee4\u5730\u5740 +config.description.showAllAddresses = \u663e\u793a\u6240\u6709AS\u5730\u5740 config.name.useFrameCache = \u4f7f\u7528\u5e27\u7f13\u5b58 -config.description.useFrameCache = \u518d\u6b21\u6e32\u67d3\u4e4b\u524d\u5e27\u7f13\u5b58 +config.description.useFrameCache = \u5728\u518d\u6b21\u6e32\u67d3\u4e4b\u524d\u7f13\u5b58\u5e27 config.name.useRibbonInterface = \u529f\u80fd\u533a\u754c\u9762 -config.description.useRibbonInterface = \u53d6\u6d88\u9009\u4e2d\u4f7f\u7528\u7ecf\u5178\u7684\u754c\u9762\u800c\u65e0\u9700\u5e26\u72b6\u83dc\u5355 +config.description.useRibbonInterface = \u5173\u95ed\u4ee5\u4f7f\u7528\u4e0d\u5e26\u529f\u80fd\u533a\u83dc\u5355\u7684\u7ecf\u5178\u754c\u9762 -config.name.openFolderAfterFlaExport = \u6587\u4ef6\u5bfc\u51fa\u540e\u6253\u5f00\u6587\u4ef6\u5939 -config.description.openFolderAfterFlaExport = \u5bfc\u51fa FLA \u6587\u4ef6\u540e\u663e\u793a\u8f93\u51fa\u76ee\u5f55 +config.name.openFolderAfterFlaExport = FLA\u5bfc\u51fa\u540e\u6253\u5f00\u6587\u4ef6\u5939 +config.description.openFolderAfterFlaExport = \u5bfc\u51faFLA\u6587\u4ef6\u540e\u663e\u793a\u8f93\u51fa\u76ee\u5f55 -config.name.useDetailedLogging = FFDec \u8be6\u7ec6\u65e5\u5fd7\u8bb0\u5f55 -config.description.useDetailedLogging = \u65e5\u5fd7\u8be6\u7ec6\u7684\u9519\u8bef\u4fe1\u606f\u548c\u4fe1\u606f\u7528\u4e8e FFDec \u8c03\u8bd5 +config.name.useDetailedLogging = FFDec\u8be6\u7ec6\u65e5\u5fd7\u8bb0\u5f55 +config.description.useDetailedLogging = \u8bb0\u5f55\u8be6\u7ec6\u7684\u9519\u8bef\u6d88\u606f\u548c\u4fe1\u606f\u4ee5\u8c03\u8bd5FFDec -config.name._debugMode = FFDec \u5728\u8c03\u8bd5\u6a21\u5f0f -config.description._debugMode = FFDec \u8c03\u8bd5\u6a21\u5f0f\u3002\u6253\u5f00\u8c03\u8bd5\u83dc\u5355\u3002\u6709\u4ec0\u4e48\u597d\u7684\u8c03\u8bd5\u529f\u80fd +config.name._debugMode = FFDec\u8c03\u8bd5\u6a21\u5f0f +config.description._debugMode = \u8fdb\u5165\u8c03\u8bd5FFDec\u7684\u6a21\u5f0f\uff0c\u5e76\u6253\u5f00\u8c03\u8bd5\u83dc\u5355\u3002\u8fd9\u4e0eSWF\u8c03\u8bd5\u529f\u80fd\u65e0\u5173\u3002 -config.name.resolveConstants = \u5728 1/2 P-\u4ee3\u7801\u89e3\u51b3\u5e38\u6570 -config.description.resolveConstants = \u5173\u95ed\u6b64\u529f\u80fd\uff0c\u4ee5\u663e\u793aP-\u4ee3\u7801\u7a97\u53e3'\u5e38\u91cf'\uff0c\u800c\u4e0d\u662f\u5b9e\u9645\u503c +config.name.resolveConstants = \u89e3\u6790AS1/2 p-code\u4e2d\u7684\u5e38\u91cf +config.description.resolveConstants = \u5173\u95ed\u6b64\u9009\u9879\u53ef\u5728P-code\u7a97\u53e3\u4e2d\u663e\u793a" constantxx"\u800c\u4e0d\u662f\u5b9e\u9645\u503c -config.name.sublimiter = \u4ee3\u7801\u66ff\u8865\u6781\u9650 -config.description.sublimiter = \u4ee3\u7801\u7528\u4e8e\u66ff\u8865\u6df7\u6dc6\u4ee3\u7801\u7684\u9650\u5236\u3002 +config.name.sublimiter = \u5b50\u4ee3\u7801\u9650\u5236 +config.description.sublimiter = \u6df7\u6dc6\u4ee3\u7801\u7684\u5b50\u4ee3\u7801\u9650\u5236\u3002 -config.name.exportTimeout = \u5bfc\u51fa\u8d85\u65f6\uff08\u79d2\uff09 -config.description.exportTimeout = \u5bfc\u51fa\u8fbe\u5230\u6b64\u65f6\u95f4\u540e\u53cd\u7f16\u8bd1\u5668\u5c06\u505c\u6b62 +config.name.exportTimeout = \u5bfc\u51fa\u8d85\u65f6(\u79d2) +config.description.exportTimeout = \u5230\u8fbe\u6b64\u65f6\u95f4\u540e\uff0c\u53cd\u7f16\u8bd1\u5668\u5c06\u505c\u6b62\u5bfc\u51fa -config.name.decompilationTimeoutFile = \u5355\u4e2a\u6587\u4ef6\u53cd\u7f16\u8bd1\u8d85\u65f6\uff08\u79d2\uff09 -config.description.decompilationTimeoutFile = \u5728\u4e00\u4e2a\u6587\u4ef6\u8fbe\u5230\u6b64\u65f6\u95f4\u540e\u53cd\u7f16\u8bd1\u5668\u5c06\u505c\u6b62\u52a8\u4f5c\u7f16\u8bd1 +config.name.decompilationTimeoutFile = \u5355\u6587\u4ef6\u53cd\u7f16\u8bd1\u8d85\u65f6(\u79d2) +config.description.decompilationTimeoutFile = \u8fbe\u5230\u8fd9\u4e2a\u65f6\u95f4\u540e\uff0c\u8f6f\u4ef6\u5c06\u505c\u6b62AS\u7684\u53cd\u7f16\u8bd1 -config.name.paramNamesEnable = \u5728 AS3 \u542f\u7528\u53c2\u6570\u540d\u79f0 -config.description.paramNamesEnable = \u5728\u53cd\u7f16\u8bd1\u4f7f\u7528\u7684\u53c2\u6570\u540d\u79f0\u53ef\u80fd\u4f1a\u56e0\u5b98\u65b9\u7684\u7a0b\u5e8f\u5982 Flash CS5.5 \u63d2\u5165\u9519\u8bef\u7684\u53c2\u6570\u540d\u79f0\u7d22\u5f15\u95ee\u9898 +config.name.paramNamesEnable = \u5728AS3\u542f\u7528\u53c2\u6570\u540d\u79f0 +config.description.paramNamesEnable = \u5728\u53cd\u7f16\u8bd1\u4e2d\u4f7f\u7528\u53c2\u6570\u540d\u79f0\u53ef\u80fd\u4f1a\u5bfc\u81f4\u95ee\u9898\uff0c\u56e0\u4e3aFlash CS 5.5\u7b49\u5b98\u65b9\u7a0b\u5e8f\u4f1a\u63d2\u5165\u9519\u8bef\u7684\u53c2\u6570\u540d\u79f0\u7d22\u5f15 -config.name.displayFileName = \u5728\u6807\u9898\u663e\u793a SWF \u540d\u79f0 -config.description.displayFileName = \u5728\u7a97\u53e3\u6807\u9898\u663e\u793a SWF \u6587\u4ef6/URL \u540d\u79f0\uff08\u7136\u540e\u4f60\u53ef\u4ee5\u622a\u56fe\uff09 +config.name.displayFileName = \u5728\u6807\u9898\u663e\u793aSWF\u540d\u79f0 +config.description.displayFileName = \u5728\u7a97\u53e3\u6807\u9898\u4e2d\u663e\u793aSWF\u6587\u4ef6/URL\u540d\u79f0(\u7136\u540e\u53ef\u4ee5\u8fdb\u884c\u5c4f\u5e55\u622a\u56fe) -config.name._debugCopy = FFDec \u8c03\u8bd5\u91cd\u65b0\u7f16\u8bd1 -config.description._debugCopy = \u8bd5\u56fe\u518d\u6b21\u7f16\u8bd1 SWF \u6587\u4ef6\uff0c\u4ee5\u786e\u4fdd\u5b83\u4ea7\u751f\u76f8\u540c\u7684\u4e8c\u8fdb\u5236\u4ee3\u7801\u3002\u4ec5\u7528\u4e8e FFDec \u8c03\u8bd5\uff01 +config.name._debugCopy = FFDec\u8c03\u8bd5\u91cd\u7f16\u8bd1 +config.description._debugCopy = \u5c1d\u8bd5\u5728\u6253\u5f00\u540e\u7acb\u5373\u518d\u6b21\u7f16\u8bd1SWF\u6587\u4ef6\uff0c\u4ee5\u786e\u4fdd\u5b83\u751f\u6210\u76f8\u540c\u7684\u4e8c\u8fdb\u5236\u4ee3\u7801\uff0c\u4ec5\u7528\u4e8e\u8c03\u8bd5FFDec\uff01 config.name.dumpTags = \u8f6c\u50a8\u6807\u7b7e\u5230\u63a7\u5236\u53f0 -config.description.dumpTags = \u5728\u8bfb\u53d6 SWF \u6587\u4ef6\u8f6c\u50a8\u6807\u7b7e\u5230\u63a7\u5236\u53f0 +config.description.dumpTags = \u5728\u8bfb\u53d6SWF\u6587\u4ef6\u65f6\u5c06\u6807\u7b7e\u8f6c\u50a8\u5230\u63a7\u5236\u53f0 -config.name.decompilationTimeoutSingleMethod = AS3: \u5355\u4e00\u65b9\u6cd5\u7f16\u8bd1\u8d85\u65f6\uff08\u79d2\uff09 -config.description.decompilationTimeoutSingleMethod = \u5728\u4e00\u4e2a\u65b9\u6cd5\u8fbe\u5230\u6b64\u65f6\u95f4\u540e\u53cd\u7f16\u8bd1\u5668\u5c06\u505c\u6b62\u52a8\u4f5c\u7f16\u8bd1 +config.name.decompilationTimeoutSingleMethod = AS3:\u5355\u65b9\u6cd5\u53cd\u7f16\u8bd1\u8d85\u65f6(\u79d2) +config.description.decompilationTimeoutSingleMethod = \u5728\u67d0\u4e2a\u65b9\u6cd5\u8fbe\u5230\u6b64\u65f6\u95f4\u540e\uff0c\u8f6f\u4ef6\u5c06\u505c\u6b62AS\u53cd\u7f16\u8bd1 -config.name.lastRenameType = \uff08\u5185\u90e8\uff09\u4e0a\u6b21\u91cd\u547d\u540d\u7c7b\u578b -config.description.lastRenameType = \u6700\u540e\u7684\u91cd\u547d\u540d\u6807\u8bc6\u7b26\u7c7b\u578b +config.name.lastRenameType = (\u5185\u90e8)\u4e0a\u6b21\u91cd\u547d\u540d\u7c7b\u578b +config.description.lastRenameType = \u4e0a\u6b21\u4f7f\u7528\u7684\u91cd\u547d\u540d\u6807\u8bc6\u7b26\u7c7b\u578b -config.name.lastSaveDir = \uff08\u5185\u90e8\uff09\u6700\u540e\u4fdd\u5b58\u76ee\u5f55 -config.description.lastSaveDir = \u6700\u8fd1\u4e00\u6b21\u4f7f\u7528\u7684\u4fdd\u5b58\u76ee\u5f55 +config.name.lastSaveDir = (\u5185\u90e8)\u4e0a\u6b21\u4fdd\u5b58\u76ee\u5f55 +config.description.lastSaveDir = \u4e0a\u6b21\u4f7f\u7528\u7684\u4fdd\u5b58\u76ee\u5f55 -config.name.lastOpenDir = \uff08\u5185\u90e8\uff09\u6700\u540e\u6253\u5f00\u76ee\u5f55 -config.description.lastOpenDir = \u6700\u540e\u4f7f\u7528\u7684\u6253\u5f00\u76ee\u5f55 +config.name.lastOpenDir = (\u5185\u90e8)\u4e0a\u6b21\u6253\u5f00\u76ee\u5f55 +config.description.lastOpenDir = \u4e0a\u6b21\u4f7f\u7528\u7684\u6253\u5f00\u76ee\u5f55 -config.name.lastExportDir = \uff08\u5185\u90e8\uff09\u6700\u540e\u5bfc\u51fa\u76ee\u5f55 -config.description.lastExportDir = \u6700\u8fd1\u4e00\u6b21\u4f7f\u7528\u7684\u5bfc\u51fa\u76ee\u5f55 +config.name.lastExportDir = (\u5185\u90e8)\u4e0a\u6b21\u5bfc\u51fa\u76ee\u5f55 +config.description.lastExportDir = \u4e0a\u6b21\u4f7f\u7528\u7684\u5bfc\u51fa\u76ee\u5f55 config.name.locale = \u8bed\u8a00 -config.description.locale = \u533a\u57df\u8bbe\u7f6e\u6807\u8bc6\u7b26 +config.description.locale = \u8bed\u8a00\u73af\u5883\u6807\u8bc6\u7b26 config.name.registerNameFormat = \u5bc4\u5b58\u5668\u53d8\u91cf\u683c\u5f0f -config.description.registerNameFormat = \u5c40\u90e8\u5bc4\u5b58\u5668\u53d8\u91cf\u540d\u7684\u683c\u5f0f\u3002\u4f7f\u7528 %d \u5bc4\u5b58\u5668\u53f7\u3002 +config.description.registerNameFormat = \u672c\u5730\u5bc4\u5b58\u5668\u53d8\u91cf\u540d\u79f0\u7684\u683c\u5f0f\u3002 \u4f7f\u7528%d\u4f5c\u4e3a\u5bc4\u5b58\u5668\u53f7\u3002 -config.name.maxRecentFileCount = \u6700\u5927\u6700\u8fd1\u7edf\u8ba1 -config.description.maxRecentFileCount = \u8fd1\u671f\u6700\u5927\u6587\u4ef6\u6570\u91cf +config.name.maxRecentFileCount = \u6700\u8fd1\u6587\u4ef6\u6700\u5927\u6570\u91cf +config.description.maxRecentFileCount = \u6700\u8fd1\u6587\u4ef6\u7684\u6700\u5927\u6570\u91cf -config.name.recentFiles = \uff08\u5185\u90e8\uff09\u6700\u8fd1\u7684\u6587\u4ef6 +config.name.recentFiles = (\u5185\u90e8)\u6700\u8fd1\u7684\u6587\u4ef6 config.description.recentFiles = \u6700\u8fd1\u6253\u5f00\u7684\u6587\u4ef6 -config.name.fontPairingMap = \uff08\u5185\u90e8\uff09\u5b57\u4f53\u914d\u5bf9\u5bfc\u5165 +config.name.fontPairingMap = (\u5185\u90e8)\u5b57\u4f53\u914d\u5bf9\u5bfc\u5165 config.description.fontPairingMap = \u5b57\u4f53\u914d\u5bf9\u5bfc\u5165\u65b0\u7684\u5b57\u7b26 -config.name.lastUpdatesCheckDate = \uff08\u5185\u90e8\uff09\u6700\u8fd1\u66f4\u65b0\u68c0\u67e5\u65e5\u671f -config.description.lastUpdatesCheckDate = \u4e0a\u6b21\u670d\u52a1\u5668\u4e0b\u8f7d\u66f4\u65b0\u68c0\u67e5\u7684\u65e5\u671f +config.name.lastUpdatesCheckDate = (\u5185\u90e8)\u6700\u8fd1\u66f4\u65b0\u68c0\u67e5\u65e5\u671f +config.description.lastUpdatesCheckDate = \u4e0a\u6b21\u4ece\u670d\u52a1\u5668\u68c0\u67e5\u66f4\u65b0\u7684\u65e5\u671f -config.name.gui.window.width = \uff08\u5185\u90e8\uff09\u6700\u540e\u4e00\u4e2a\u7a97\u53e3\u5bbd\u5ea6 +config.name.gui.window.width = (\u5185\u90e8)\u4e0a\u6b21\u7a97\u53e3\u5bbd\u5ea6 config.description.gui.window.width = \u6700\u540e\u4fdd\u5b58\u7684\u7a97\u53e3\u5bbd\u5ea6 -config.name.gui.window.height = \uff08\u5185\u90e8\uff09\u6700\u540e\u4e00\u4e2a\u7a97\u53e3\u7684\u9ad8\u5ea6 +config.name.gui.window.height = (\u5185\u90e8)\u4e0a\u6b21\u7a97\u53e3\u9ad8\u5ea6 config.description.gui.window.height = \u6700\u540e\u4fdd\u5b58\u7684\u7a97\u53e3\u9ad8\u5ea6 -config.name.gui.window.maximized.horizontal = \uff08\u5185\u90e8\uff09\u7a97\u53e3\u6a2a\u5411\u6700\u5927\u5316 +config.name.gui.window.maximized.horizontal = (\u5185\u90e8)\u7a97\u53e3\u6700\u5927\u5316\u5bbd\u5ea6 config.description.gui.window.maximized.horizontal = \u6700\u540e\u7a97\u53e3\u72b6\u6001 - \u6a2a\u5411\u6700\u5927\u5316 -config.name.gui.window.maximized.vertical = \uff08\u5185\u90e8\uff09\u7a97\u53e3\u6700\u5927\u5316\u9ad8\u5ea6 +config.name.gui.window.maximized.vertical = (\u5185\u90e8)\u7a97\u53e3\u6700\u5927\u5316\u9ad8\u5ea6 config.description.gui.window.maximized.vertical = \u6700\u540e\u7a97\u53e3\u72b6\u6001 - \u5782\u76f4\u6700\u5927\u5316 -config.name.gui.avm2.splitPane.dividerLocationPercent = \uff08\u5185\u90e8\uff09 AS3 \u5206\u79bb\u5668\u4f4d\u7f6e +config.name.gui.avm2.splitPane.dividerLocationPercent = (\u5185\u90e8)AS3\u5206\u79bb\u5668\u4f4d\u7f6e config.description.gui.avm2.splitPane.dividerLocationPercent = -config.name.gui.actionSplitPane.dividerLocationPercent = \uff08\u5185\u90e8\uff09 AS1/2 \u5206\u79bb\u5668\u4f4d\u7f6e +config.name.gui.actionSplitPane.dividerLocationPercent = (\u5185\u90e8)AS1/2\u5206\u79bb\u5668\u4f4d\u7f6e config.description.gui.actionSplitPane.dividerLocationPercent = -config.name.gui.previewSplitPane.dividerLocationPercent = \uff08\u5185\u90e8\uff09\u9884\u89c8\u5206\u79bb\u5668\u4f4d\u7f6e +config.name.gui.previewSplitPane.dividerLocationPercent = (\u5185\u90e8)\u9884\u89c8\u5206\u79bb\u5668\u4f4d\u7f6e config.description.gui.previewSplitPane.dividerLocationPercent = -config.name.gui.splitPane1.dividerLocationPercent = \uff08\u5185\u90e8\uff09\u5206\u79bb\u5668\u4f4d\u7f6e 1 +config.name.gui.splitPane1.dividerLocationPercent = (\u5185\u90e8)\u5206\u79bb\u5668\u4f4d\u7f6e1 config.description.gui.splitPane1.dividerLocationPercent = -config.name.gui.splitPane2.dividerLocationPercent = \uff08\u5185\u90e8\uff09\u5206\u79bb\u5668\u4f4d\u7f6e 2 +config.name.gui.splitPane2.dividerLocationPercent = (\u5185\u90e8)\u5206\u79bb\u5668\u4f4d\u7f6e2 config.description.gui.splitPane2.dividerLocationPercent = -config.name.saveAsExeScaleMode = \u4fdd\u5b58\u4e3a EXE \u7f29\u653e\u6a21\u5f0f -config.description.saveAsExeScaleMode = EXE \u5bfc\u51fa\u7f29\u653e\u6a21\u5f0f +config.name.saveAsExeScaleMode = \u53e6\u5b58\u4e3aEXE\u7684\u7f29\u653e\u6a21\u5f0f +config.description.saveAsExeScaleMode = EXE\u5bfc\u51fa\u7684\u7f29\u653e\u6a21\u5f0f -config.name.syntaxHighlightLimit = \u8bed\u6cd5\u9ad8\u4eae\u6700\u591a\u5b57\u7b26\u6570 -config.description.syntaxHighlightLimit = \u8fd0\u884c\u7684\u8bed\u6cd5\u9ad8\u4eae\u6700\u5927\u5b57\u7b26\u6570 +config.name.syntaxHighlightLimit = Syntax hilight\u6700\u5927\u5b57\u7b26 +config.description.syntaxHighlightLimit = \u8fd0\u884c\u7684Syntax hilight\u6700\u5927\u5b57\u7b26\u6570 -config.name.guiFontPreviewSampleText = \uff08\u5185\u90e8\uff09\u4e0a\u6b21\u5b57\u4f53\u9884\u89c8\u793a\u4f8b\u6587\u672c +config.name.guiFontPreviewSampleText = (\u5185\u90e8)\u4e0a\u6b21\u5b57\u4f53\u9884\u89c8\u793a\u4f8b\u6587\u672c config.description.guiFontPreviewSampleText = \u6700\u540e\u5b57\u4f53\u9884\u89c8\u793a\u4f8b\u6587\u672c\u5217\u8868\u7d22\u5f15 -config.name.gui.fontPreviewWindow.width = \uff08\u5185\u90e8\uff09\u4e0a\u6b21\u5b57\u4f53\u9884\u89c8\u7a97\u53e3\u7684\u5bbd\u5ea6 +config.name.gui.fontPreviewWindow.width = (\u5185\u90e8)\u4e0a\u6b21\u5b57\u4f53\u9884\u89c8\u7a97\u53e3\u5bbd\u5ea6 config.description.gui.fontPreviewWindow.width = -config.name.gui.fontPreviewWindow.height = \u5185\u90e8\uff09\u4e0a\u6b21\u5b57\u4f53\u9884\u89c8\u7a97\u53e3\u7684\u9ad8\u5ea6 +config.name.gui.fontPreviewWindow.height = \u5185\u90e8)\u4e0a\u6b21\u5b57\u4f53\u9884\u89c8\u7a97\u53e3\u9ad8\u5ea6 config.description.gui.fontPreviewWindow.height = -config.name.gui.fontPreviewWindow.posX = \uff08\u5185\u90e8\uff09\u4e0a\u6b21\u5b57\u4f53\u9884\u89c8\u7a97\u53e3 X +config.name.gui.fontPreviewWindow.posX = (\u5185\u90e8)\u4e0a\u6b21\u5b57\u4f53\u9884\u89c8\u7a97\u53e3X config.description.gui.fontPreviewWindow.posX = -config.name.gui.fontPreviewWindow.posY = \uff08\u5185\u90e8\uff09\u4e0a\u6b21\u5b57\u4f53\u9884\u89c8\u7a97\u53e3 Y +config.name.gui.fontPreviewWindow.posY = (\u5185\u90e8)\u4e0a\u6b21\u5b57\u4f53\u9884\u89c8\u7a97\u53e3Y config.description.gui.fontPreviewWindow.posY = -config.name.formatting.indent.size = \u5b57\u7b26\u6bcf\u7f29\u8fdb -config.description.formatting.indent.size = \u7528\u4e8e\u53f7\u7801\u7a7a\u683c\uff08\u6216\u5236\u8868\u7b26\uff09\u4e00\u4e2a\u7f29\u8fdb +config.name.formatting.indent.size = \u6bcf\u4e2a\u7f29\u8fdb\u7684\u5b57\u7b26\u6570 +config.description.formatting.indent.size = \u4e00\u4e2a\u7f29\u8fdb\u7684\u7a7a\u683c(\u6216\u5236\u8868\u7b26)\u6570 -config.name.formatting.indent.useTabs = \u7f29\u8fdb\u6807\u7b7e -config.description.formatting.indent.useTabs = \u6807\u7b7e\u7684\u4f7f\u7528\uff0c\u800c\u4e0d\u662f\u7f29\u8fdb\u7a7a\u95f4 +config.name.formatting.indent.useTabs = \u5236\u8868\u7b26\u7f29\u8fdb +config.description.formatting.indent.useTabs = \u4f7f\u7528\u5236\u8868\u7b26\u800c\u4e0d\u662f\u7a7a\u683c\u8fdb\u884c\u7f29\u8fdb config.name.beginBlockOnNewLine = \u65b0\u884c\u5927\u62ec\u53f7 -config.description.beginBlockOnNewLine = \u5728\u65b0\u884c\u4e0a\u5f00\u59cb\u5757\u4f7f\u7528\u5927\u62ec\u53f7 +config.description.beginBlockOnNewLine = \u5728\u65b0\u884c\u7684\u5757\u5f00\u59cb\u65f6\u4f7f\u7528\u5927\u62ec\u53f7 config.name.check.updates.delay = \u66f4\u65b0\u68c0\u67e5\u5ef6\u8fdf -config.description.check.updates.delay = \u5728\u5e94\u7528\u7a0b\u5e8f\u542f\u52a8\u66f4\u65b0\u81ea\u52a8\u68c0\u67e5\u4e4b\u95f4\u6700\u5c0f\u65f6\u95f4\u95f4\u9694 +config.description.check.updates.delay = \u8f6f\u4ef6\u542f\u52a8\u4e0e\u66f4\u65b0\u81ea\u52a8\u68c0\u67e5\u4e4b\u95f4\u7684\u6700\u77ed\u65f6\u95f4 -config.name.check.updates.stable = \u68c0\u67e5\u7a33\u5b9a\u7248\u672c -config.description.check.updates.stable = \u68c0\u67e5\u7a33\u5b9a\u7684\u7248\u672c\u66f4\u65b0 +config.name.check.updates.stable = \u7a33\u5b9a\u7248\u672c +config.description.check.updates.stable = \u68c0\u67e5\u7a33\u5b9a\u7248\u672c\u66f4\u65b0 -config.name.check.updates.nightly = \u68c0\u67e5\u665a\u95f4\u7248\u672c -config.description.check.updates.nightly = \u68c0\u67e5\u665a\u95f4\u7248\u672c\u66f4\u65b0 +config.name.check.updates.nightly = \u6d4b\u8bd5\u7248\u672c +config.description.check.updates.nightly = \u68c0\u67e5\u6d4b\u8bd5\u7248\u672c\u66f4\u65b0 config.name.check.updates.enabled = \u542f\u7528\u66f4\u65b0\u68c0\u67e5 config.description.check.updates.enabled = \u5728\u5e94\u7528\u7a0b\u5e8f\u542f\u52a8\u65f6\u81ea\u52a8\u68c0\u67e5\u66f4\u65b0 -config.name.export.formats = \uff08\u5185\u90e8\uff09\u5bfc\u51fa\u683c\u5f0f -config.description.export.formats = \u6700\u8fd1\u4e00\u6b21\u4f7f\u7528\u5bfc\u51fa\u683c\u5f0f +config.name.export.formats = (\u5185\u90e8)\u5bfc\u51fa\u683c\u5f0f +config.description.export.formats = \u4e0a\u6b21\u4f7f\u7528\u7684\u5bfc\u51fa\u683c\u5f0f -config.name.textExportSingleFile = \u5bfc\u51fa\u6587\u672c\u5230\u5355\u4e2a\u6587\u4ef6 -config.description.textExportSingleFile = \u5bfc\u51fa\u7684\u6587\u672c\u5230\u4e00\u4e2a\u6587\u4ef6\u800c\u4e0d\u662f\u591a\u4e2a +config.name.textExportSingleFile = \u5c06\u6587\u672c\u5bfc\u51fa\u5230\u5355\u6587\u4ef6 +config.description.textExportSingleFile = \u5c06\u6587\u672c\u5bfc\u51fa\u5230\u4e00\u4e2a\u6587\u4ef6\u800c\u4e0d\u662f\u591a\u4e2a\u6587\u4ef6 -config.name.textExportSingleFileSeparator = \u5728\u4e00\u4e2a\u6587\u4ef6\u6587\u672c\u5bfc\u51fa\u6587\u672c\u7684\u5206\u9694\u7b26 -config.description.textExportSingleFileSeparator = \u6587\u672c\u4e2d\u7684\u5355\u4e2a\u6587\u4ef6\u6587\u672c\u5bfc\u51fa\u6587\u672c\u4e4b\u95f4\u63d2\u5165 +config.name.textExportSingleFileSeparator = \u5355\u6587\u4ef6\u5bfc\u51fa\u6587\u672c\u7684\u5206\u9694\u7b26 +config.description.textExportSingleFileSeparator = \u5355\u6587\u4ef6\u6587\u672c\u5bfc\u51fa\u4e2d\u5206\u5272\u5404\u6587\u672c\u7684\u5206\u9694\u7b26 -config.name.textExportSingleFileRecordSeparator = \u5728\u4e00\u4e2a\u6587\u4ef6\u4e2d\u7684\u6587\u672c\u5bfc\u51fa\u8bb0\u5f55\u5206\u9694\u7b26 -config.description.textExportSingleFileRecordSeparator = \u6587\u672c\u4e2d\u7684\u5355\u4e2a\u6587\u4ef6\u6587\u672c\u5bfc\u51fa\u6587\u672c\u8bb0\u5f55\u4e4b\u95f4\u63d2\u5165 +config.name.textExportSingleFileRecordSeparator = \u5355\u6587\u4ef6\u5bfc\u51fa\u6587\u672c\u7684\u8bb0\u5f55\u5206\u9694\u7b26 +config.description.textExportSingleFileRecordSeparator = \u5355\u6587\u4ef6\u6587\u672c\u5bfc\u51fa\u4e2d\u63d2\u5165\u6587\u672c\u8bb0\u5f55\u4e4b\u95f4\u7684\u6587\u672c -config.name.warning.experimental.as12edit = \u5728 AS1/2 \u53ef\u76f4\u63a5\u7f16\u8f91\u8b66\u544a -config.description.warning.experimental.as12edit = \u5728 AS1/2 \u5b9e\u9a8c\u7248\u76f4\u63a5\u663e\u793a\u8b66\u544a +config.name.warning.experimental.as12edit = AS1/2\u76f4\u63a5\u7f16\u8f91\u8b66\u544a +config.description.warning.experimental.as12edit = \u5728AS1/2\u76f4\u63a5\u7f16\u8f91\u65f6\u663e\u793a\u5b9e\u9a8c\u6027\u8b66\u544a -config.name.warning.experimental.as3edit = \u5728 AS3 \u76f4\u63a5\u7f16\u8f91\u8b66\u544a -config.description.warning.experimental.as3edit = \u5728 AS3 \u5b9e\u9a8c\u7248\u672c\u76f4\u63a5\u663e\u793a\u8b66\u544a +config.name.warning.experimental.as3edit = AS3\u76f4\u63a5\u7f16\u8f91\u8b66\u544a +config.description.warning.experimental.as3edit = \u5728AS3\u76f4\u63a5\u7f16\u8f91\u65f6\u663e\u793a\u5b9e\u9a8c\u6027\u8b66\u544a -config.name.packJavaScripts = JavaScripts \u7ec4\u4ef6 -config.description.packJavaScripts = \u5728\u753b\u5e03\u5bfc\u51fa\u521b\u5efa\u7684\u811a\u672c\u6267\u884c JavaScript \u6253\u5305\u673a\u3002 +config.name.packJavaScripts = \u6253\u5305JavaScript +config.description.packJavaScripts = \u5bf9\u4f7f\u7528Canvas Export\u521b\u5efa\u7684\u811a\u672c\u8fd0\u884cJS\u6253\u5305\u5668\u3002 -config.name.textExportExportFontFace = \u5728 SVG \u5bfc\u51fa\u4f7f\u7528\u5b57\u4f53\u9762 -config.description.textExportExportFontFace = \u5728SVG\u5d4c\u5165\u5b57\u4f53\u6587\u4ef6\u4f7f\u7528\u5b57\u4f53\u9762\u800c\u4e0d\u662f\u5f62\u72b6 +config.name.textExportExportFontFace = \u5728SVG\u5bfc\u51fa\u4e2d\u4f7f\u7528font-face +config.description.textExportExportFontFace = \u4f7f\u7528font-face\u800c\u4e0d\u662f\u5f62\u72b6\u5c06\u5b57\u4f53\u6587\u4ef6\u5d4c\u5165SVG -config.name.lzmaFastBytes = LZMA\u5feb\u901f\u5b57\u8282\uff08\u6709\u6548\u503c\uff1a5-255\uff09 -config.description.lzmaFastBytes = LZMA \u7f16\u7801\u5668\u5feb\u901f\u5b57\u8282\u53c2\u6570 +config.name.lzmaFastBytes = LZMA\u5feb\u901f\u5b57\u8282(\u6709\u6548\u503c:5-255) +config.description.lzmaFastBytes = LZMA\u7f16\u7801\u5668\u7684\u5feb\u901f\u5b57\u8282\u53c2\u6570 config.name.pluginPath = \u63d2\u4ef6\u8def\u5f84 config.description.pluginPath = - -config.name.showMethodBodyId = \u663e\u793a\u65b9\u6cd5 ID -config.description.showMethodBodyId = \u663e\u793a\u65b9\u6cd5\u4e3b\u4f53\u7684\u547d\u4ee4\u884c\u5bfc\u5165 ID +config.name.showMethodBodyId = \u663e\u793a\u65b9\u6cd5\u4e3b\u4f53id +config.description.showMethodBodyId = \u663e\u793a\u7528\u4e8e\u547d\u4ee4\u884c\u5bfc\u5165\u7684\u65b9\u6cd5\u4e3b\u4f53\u7684id -config.name.export.zoom = \uff08\u5185\u90e8\uff09\u5bfc\u51fa\u7f29\u653e -config.description.export.zoom = \u6700\u8fd1\u4e00\u6b21\u4f7f\u7528\u7f29\u653e\u5bfc\u51fa +config.name.export.zoom = (\u5185\u90e8)\u5bfc\u51fa\u7f29\u653e +config.description.export.zoom = \u4e0a\u6b21\u4f7f\u7528\u7684\u5bfc\u51fa\u7f29\u653e config.name.debuggerPort = \u8c03\u8bd5\u7aef\u53e3 -config.description.debuggerPort = \u7aef\u53e3\u7528\u4e8e\u8c03\u8bd5\u63a5\u53e3 +config.description.debuggerPort = \u7528\u4e8esocket\u8c03\u8bd5\u7684\u7aef\u53e3 -config.name.displayDebuggerInfo = \uff08\u5185\u90e8\uff09\u663e\u793a\u8c03\u8bd5\u4fe1\u606f -config.description.displayDebuggerInfo = \u5207\u6362\u4e4b\u524d\u663e\u793a\u7684\u4fe1\u606f\u8c03\u8bd5 +config.name.displayDebuggerInfo = (\u5185\u90e8)\u663e\u793a\u8c03\u8bd5\u5668\u4fe1\u606f +config.description.displayDebuggerInfo = \u5728\u5207\u6362\u8c03\u8bd5\u5668\u4e4b\u524d\u663e\u793a\u6709\u5173\u8c03\u8bd5\u5668\u7684\u4fe1\u606f config.name.randomDebuggerPackage = \u4f7f\u7528\u968f\u673a\u8c03\u8bd5\u5305\u540d -config.description.randomDebuggerPackage = \u8fd9\u5c06\u4f7f\u7528\u968f\u673a\u5b57\u7b26\u4e32\u91cd\u547d\u540d\u8c03\u8bd5\u5305\uff0c\u8fd9\u4f7f\u5f97\u8c03\u8bd5\u5668\u66f4\u96be\u901a\u8fc7 ActionScript \u6765\u68c0\u6d4b\u5b58\u5728 +config.description.randomDebuggerPackage = \u8fd9\u4f1a\u5c06Debugger\u5305\u91cd\u547d\u540d\u4e3a\u968f\u673a\u5b57\u7b26\u4e32\uff0c\u8fd9\u4f7f\u5f97AS\u5f88\u96be\u68c0\u6d4b\u5230\u8c03\u8bd5\u5668\u7684\u5b58\u5728 -config.name.lastDebuggerReplaceFunction = \uff08\u5185\u90e8\uff09\u6700\u540e\u4e00\u6b21\u9009\u62e9\u7684\u8ddf\u8e2a\u7f6e\u6362 -config.description.lastDebuggerReplaceFunction = \u9009\u62e9\u8fd9\u662f\u6700\u540e\u4e00\u4e2a\u51fd\u6570\u7684\u540d\u79f0\u7528\u8c03\u8bd5\u5668\u4ee3\u66ff\u8ddf\u8e2a\u529f\u80fd +config.name.lastDebuggerReplaceFunction = (\u5185\u90e8)\u6700\u540e\u4e00\u6b21\u9009\u62e9\u7684trace\u66ff\u6362 +config.description.lastDebuggerReplaceFunction = \u5728\u7528\u8c03\u8bd5\u5668\u66ff\u6362\u8ddf\u8e2a\u529f\u80fd\u4e2d\u6700\u540e\u9009\u62e9\u7684\u51fd\u6570\u540d\u79f0 -config.name.getLocalNamesFromDebugInfo = AS3: \u4ece\u8c03\u8bd5\u4fe1\u606f\u83b7\u5f97\u672c\u5730\u5bc4\u5b58\u5668\u540d -config.description.getLocalNamesFromDebugInfo = \u5982\u679c\u8c03\u8bd5\u4fe1\u606f\u5b58\u5728\uff0c\u91cd\u547d\u540d\u4ece_loc_x_\u5230\u5b9e\u540d\u5c40\u90e8\u5bc4\u5b58\u5668\u3002\u8fd9\u53ef\u80fd\u662f\u56e0\u4e3a\u4e00\u4e9b\u6df7\u6dc6\u5668\u4f7f\u7528\u65e0\u6548\u7684\u5bc4\u5b58\u5668\u540d\u6709\u88ab\u5173\u95ed\u3002 +config.name.getLocalNamesFromDebugInfo = AS3:\u4ece\u8c03\u8bd5\u4fe1\u606f\u83b7\u53d6\u672c\u5730\u5bc4\u5b58\u5668\u540d\u79f0 +config.description.getLocalNamesFromDebugInfo = \u5982\u679c\u5b58\u5728\u8c03\u8bd5\u4fe1\u606f\uff0c\u5219\u5c06\u672c\u5730\u5bc4\u5b58\u5668\u4ece_loc_x_\u91cd\u547d\u540d\u4e3a\u771f\u5b9e\u540d\u79f0\u3002 \u7531\u4e8e\u67d0\u4e9b\u6df7\u6dc6\u5668\u5728\u90a3\u91cc\u4f7f\u7528\u4e86\u65e0\u6548\u7684\u5bc4\u5b58\u5668\u540d\u79f0\uff0c\u56e0\u6b64\u53ef\u4ee5\u5c06\u5176\u5173\u95ed\u3002 config.name.tagTreeShowEmptyFolders = \u663e\u793a\u7a7a\u6587\u4ef6\u5939 -config.description.tagTreeShowEmptyFolders = \u5728\u6807\u7b7e\u6811\u663e\u793a\u7a7a\u6587\u4ef6\u5939 +config.description.tagTreeShowEmptyFolders = \u5728\u6807\u7b7e\u6811\u4e2d\u663e\u793a\u7a7a\u6587\u4ef6\u5939 -config.name.autoLoadEmbeddedSwfs = \u81ea\u52a8\u8f7d\u5165\u5d4c\u5165\u7684 SWF \u6587\u4ef6 -config.description.autoLoadEmbeddedSwfs = \u4ece\u4e8c\u8fdb\u5236\u6570\u636e\u6807\u7b7e\u81ea\u52a8\u52a0\u8f7d\u6765\u81ea\u5b9a\u4e49\u5d4c\u5165\u7684 SWF \u6587\u4ef6 +config.name.autoLoadEmbeddedSwfs = \u81ea\u52a8\u8f7d\u5165\u5d4c\u5165\u7684SWF +config.description.autoLoadEmbeddedSwfs = \u4eceDefineBinaryData\u6807\u7b7e\u81ea\u52a8\u52a0\u8f7d\u5d4c\u5165\u5f0fSWF config.name.overrideTextExportFileName = \u8986\u76d6\u6587\u672c\u5bfc\u51fa\u6587\u4ef6\u540d -config.description.overrideTextExportFileName = \u60a8\u53ef\u4ee5\u81ea\u5b9a\u4e49\u5bfc\u51fa\u7684\u6587\u672c\u7684\u6587\u4ef6\u540d\u3002\u4f7f\u7528 {filename} \u5360\u4f4d\u7b26\u4ee5\u4f7f\u7528\u5f53\u524dSWF\u7684\u6587\u4ef6\u540d\u3002 +config.description.overrideTextExportFileName = \u60a8\u53ef\u4ee5\u81ea\u5b9a\u4e49\u5bfc\u51fa\u6587\u672c\u7684\u6587\u4ef6\u540d\u3002 \u4f7f\u7528{filename}\u5360\u4f4d\u7b26\u53ef\u4ee5\u4f7f\u7528\u5f53\u524dSWF\u6587\u4ef6\u540d\u3002 config.name.showOldTextDuringTextEditing = \u5728\u6587\u672c\u7f16\u8f91\u4e2d\u663e\u793a\u65e7\u6587\u672c config.description.showOldTextDuringTextEditing = \u5728\u9884\u89c8\u533a\u57df\u663e\u793a\u7070\u8272\u6587\u672c\u6807\u8bb0\u7684\u539f\u59cb\u6587\u672c config.group.name.import = \u5bfc\u5165 -config.group.description.import = \u5bfc\u5165\u914d\u7f6e +config.group.description.import = \u5bfc\u5165\u76f8\u5173\u8bbe\u7f6e config.name.textImportResizeTextBoundsMode = \u6587\u672c\u8fb9\u754c\u8c03\u6574\u6a21\u5f0f -config.description.textImportResizeTextBoundsMode = \u6587\u672c\u8fb9\u754c\u7684\u6587\u672c\u7f16\u8f91\u540e\u8c03\u6574\u6a21\u5f0f +config.description.textImportResizeTextBoundsMode = \u6587\u672c\u7f16\u8f91\u540e\uff0c\u6587\u672c\u8fb9\u754c\u7684\u8c03\u6574\u6a21\u5f0f\u3002 -config.name.showCloseConfirmation = \u518d\u6b21\u663e\u793a SWF \u5173\u95ed\u786e\u8ba4 -config.description.showCloseConfirmation = \u518d\u6b21\u663e\u793a\u4fee\u6539\u8fc7\u7684 SWF \u6587\u4ef6\u5173\u95ed\u786e\u8ba4 +config.name.showCloseConfirmation = \u663e\u793a\u5df2\u4fee\u6539SWF\u5173\u95ed\u786e\u8ba4 +config.description.showCloseConfirmation = \u518d\u6b21\u663e\u793a\u5df2\u4fee\u6539\u6587\u4ef6\u7684SWF\u5173\u95ed\u786e\u8ba4 -config.name.showCodeSavedMessage = \u518d\u6b21\u663e\u793a\u4ee3\u7801\u4fdd\u5b58\u7684\u4fe1\u606f -config.description.showCodeSavedMessage = \u518d\u6b21\u663e\u793a\u4ee3\u7801\u4fdd\u5b58\u7684\u4fe1\u606f +config.name.showCodeSavedMessage = \u518d\u6b21\u663e\u793a\u4ee3\u7801\u4fdd\u5b58\u4fe1\u606f +config.description.showCodeSavedMessage = \u518d\u6b21\u663e\u793a\u5df2\u4fdd\u5b58\u4ee3\u7801\u7684\u4fe1\u606f -config.name.showTraitSavedMessage = \u518d\u6b21\u663e\u793a\u4fdd\u5b58\u7684\u7279\u6027\u4fe1\u606f -config.description.showTraitSavedMessage = \u518d\u6b21\u663e\u793a\u4fdd\u5b58\u7684\u7279\u6027\u4fe1\u606f +config.name.showTraitSavedMessage = \u518d\u6b21\u663e\u793a\u7279\u5f81\u4fdd\u5b58\u4fe1\u606f +config.description.showTraitSavedMessage = \u518d\u6b21\u663e\u793a\u5df2\u4fdd\u5b58\u7684\u7279\u5f81\u4fe1\u606f -config.name.updateProxyAddress = HTTP \u4ee3\u7406\u670d\u52a1\u5668\u5730\u5740\u68c0\u67e5\u66f4\u65b0 -config.description.updateProxyAddress = HTTP \u4ee3\u7406\u670d\u52a1\u5668\u5730\u5740\u68c0\u67e5\u66f4\u65b0\u3002\u683c\u5f0f\uff1aexample.com:8080 +config.name.updateProxyAddress = \u7528\u4e8e\u68c0\u67e5\u66f4\u65b0\u7684Http\u4ee3\u7406\u5730\u5740 +config.description.updateProxyAddress = \u7528\u4e8e\u68c0\u67e5\u66f4\u65b0\u7684Http\u4ee3\u7406\u5730\u5740\u3002 \u683c\u5f0f:example.com:8080 config.name.editorMode = \u7f16\u8f91\u6a21\u5f0f -config.description.editorMode = \u8bf7\u5728\u9009\u62e9\u6587\u672c\u6216\u811a\u672c\u8282\u70b9\u6587\u672c\u533a\u57df\u81ea\u52a8\u7f16\u8f91 +config.description.editorMode = \u9009\u62e9\u6587\u672c\u6216\u811a\u672c\u65f6\uff0c\u4f7f\u6587\u672c\u533a\u57df\u53ef\u81ea\u52a8\u8fdb\u5165\u7f16\u8f91\u72b6\u6001 -config.name.autoSaveTagModifications = \u81ea\u52a8\u4fdd\u5b58\u4fee\u6539\u4ee3\u7801 -config.description.autoSaveTagModifications = \u5f53\u60a8\u5728\u6811\u4e2d\u9009\u62e9\u4e00\u4e2a\u65b0\u7684\u6807\u7b7e\u4fdd\u5b58\u66f4\u6539 +config.name.autoSaveTagModifications = \u81ea\u52a8\u4fdd\u5b58\u6807\u7b7e\u4fee\u6539 +config.description.autoSaveTagModifications = \u5728\u6807\u7b7e\u6811\u4e2d\u9009\u62e9\u65b0\u6807\u7b7e\u65f6\u4fdd\u5b58\u66f4\u6539 -config.name.saveSessionOnExit = \u9000\u51fa\u4fdd\u5b58\u4f1a\u8bdd -config.description.saveSessionOnExit = \u4fdd\u5b58\u5f53\u524d\u4f1a\u8bdd\u5e76 FFDec \u91cd\u542f\u540e\u91cd\u65b0\u6253\u5f00\u5b83\uff08\u4ec5\u9002\u7528\u4e8e\u5b9e\u65f6\u6587\u4ef6\uff09 +config.name.saveSessionOnExit = \u9000\u51fa\u65f6\u4fdd\u5b58\u4f1a\u8bdd +config.description.saveSessionOnExit = \u4fdd\u5b58\u5f53\u524d\u4f1a\u8bdd\u5e76\u5728FFDec\u91cd\u65b0\u542f\u52a8\u540e\u91cd\u65b0\u6253\u5f00\u5b83(\u4ec5\u9002\u7528\u4e8e\u5b9e\u9645\u6587\u4ef6) -config.name._showDebugMenu = \u663e\u793a FFDec \u8c03\u8bd5\u83dc\u5355 -config.description._showDebugMenu = \u529f\u80fd\u533a\u7684\u53cd\u7f16\u8bd1\u8c03\u8bd5\u663e\u793a\u8c03\u8bd5\u83dc\u5355 +config.name._showDebugMenu = \u663e\u793aFFDec\u8c03\u8bd5\u83dc\u5355 +config.description._showDebugMenu = \u5728\u529f\u80fd\u533a\u4e2d\u663e\u793a\u8c03\u8bd5\u83dc\u5355\uff0c\u7528\u4e8e\u8c03\u8bd5\u53cd\u7f16\u8bd1\u5668\u3002 -config.name.allowOnlyOneInstance = \u4ec5\u5141\u8bb8\u4e00\u4e2a FFDec \u5b9e\u4f8b\uff08\u4ec5 Windows \u64cd\u4f5c\u7cfb\u7edf\uff09 -config.description.allowOnlyOneInstance = FFDec \u53ef\u4ee5\u518d\u8fd0\u884c\u4e00\u6b21\uff0c\u6253\u5f00\u6240\u6709\u7684\u6587\u4ef6\u5c06\u88ab\u6dfb\u52a0\u5230\u4e00\u4e2a\u7a97\u53e3\u3002\u5b83\u4ec5\u9002\u7528\u4e8e Windows \u64cd\u4f5c\u7cfb\u7edf\u3002 +config.name.allowOnlyOneInstance = \u4ec5\u5141\u8bb8\u4e00\u4e2aFFDec\u5b9e\u4f8b(\u4ec5Windows) +config.description.allowOnlyOneInstance = FFDec\u53ea\u80fd\u8fd0\u884c\u4e00\u6b21\uff0c\u6240\u6709\u6253\u5f00\u7684\u6587\u4ef6\u90fd\u5c06\u6dfb\u52a0\u5230\u4e00\u4e2a\u7a97\u53e3\u4e2d\u3002 \u5b83\u4ec5\u9002\u7528\u4e8eWindows\u64cd\u4f5c\u7cfb\u7edf\u3002 -config.name.scriptExportSingleFile = \u5bfc\u51fa\u811a\u672c\u5230\u5355\u4e2a\u6587\u4ef6 -config.description.scriptExportSingleFile = \u5bfc\u51fa\u811a\u672c\u5230\u4e00\u4e2a\u6587\u4ef6\u800c\u4e0d\u662f\u591a\u4e2a +config.name.scriptExportSingleFile = \u5c06\u811a\u672c\u5bfc\u51fa\u5230\u5355\u6587\u4ef6 +config.description.scriptExportSingleFile = \u5c06\u811a\u672c\u5bfc\u51fa\u5230\u5355\u4e2a\u6587\u4ef6\u800c\u4e0d\u662f\u591a\u4e2a\u6587\u4ef6 -config.name.setFFDecVersionInExportedFont = \u5728\u5bfc\u51fa\u5b57\u4f53\u8bbe\u7f6e FFDec \u7248\u672c\u53f7 -config.description.setFFDecVersionInExportedFont = \u5f53\u6b64\u8bbe\u7f6e\u88ab\u7981\u7528\uff0cFFDec \u5c06\u4e0d\u662f\u5f53\u524d\u7684 FFDec \u7248\u672c\u53f7\u6dfb\u52a0\u5230\u5bfc\u51fa\u7684\u5b57\u4f53 +config.name.setFFDecVersionInExportedFont = \u4e3a\u5bfc\u51fa\u7684\u5b57\u4f53\u8bbe\u7f6eFFDec\u7248\u672c\u53f7 +config.description.setFFDecVersionInExportedFont = \u7981\u7528\u6b64\u8bbe\u7f6e\u540e\uff0cFFDec\u4e0d\u4f1a\u5c06\u5f53\u524d\u7684FFDec\u7248\u672c\u53f7\u6dfb\u52a0\u5230\u5bfc\u51fa\u7684\u5b57\u4f53\u4e2d\u3002 config.name.gui.skin = \u7528\u6237\u754c\u9762\u76ae\u80a4 config.description.gui.skin = \u5916\u89c2\u548c\u98ce\u683c\u76ae\u80a4 config.name.lastSessionFiles = \u4e0a\u6b21\u4f1a\u8bdd\u6587\u4ef6 -config.description.lastSessionFiles = \u5305\u542b\u4ece\u4e0a\u6b21\u4f1a\u8bdd\u6253\u5f00\u7684\u6587\u4ef6 +config.description.lastSessionFiles = \u5305\u542b\u4e0a\u4e00\u4e2a\u4f1a\u8bdd\u4e2d\u6253\u5f00\u7684\u6587\u4ef6 config.name.lastSessionSelection = \u4e0a\u6b21\u4f1a\u8bdd\u9009\u62e9 -config.description.lastSessionSelection = \u5305\u542b\u4ece\u4e0a\u6b21\u4f1a\u8bdd\u7684\u9009\u62e9 +config.description.lastSessionSelection = \u5305\u542b\u4e0a\u4e00\u4e2a\u4f1a\u8bdd\u7684\u9009\u62e9 -config.name.loopMedia = \u5faa\u73af\u58f0\u97f3\u548c\u5b50\u56fe\u5f62 -config.description.loopMedia = \u81ea\u52a8\u91cd\u65b0\u5f00\u59cb\u58f0\u97f3\u548c\u5b50\u56fe\u5f62\u7684\u64ad\u653e +config.name.loopMedia = \u5faa\u73af\u58f0\u97f3\u548c\u7cbe\u7075 +config.description.loopMedia = \u81ea\u52a8\u91cd\u65b0\u5f00\u59cb\u64ad\u653e\u58f0\u97f3\u548c\u7cbe\u7075 -config.name.gui.timeLineSplitPane.dividerLocationPercent = \uff08\u5185\u90e8\uff09\u65f6\u95f4\u8f74\u5206\u79bb\u5668\u4f4d\u7f6e +config.name.gui.timeLineSplitPane.dividerLocationPercent = (\u5185\u90e8)\u65f6\u95f4\u8f74\u62c6\u5206\u5668\u4f4d\u7f6e config.description.gui.timeLineSplitPane.dividerLocationPercent = config.name.cacheImages = \u7f13\u5b58\u56fe\u50cf config.description.cacheImages = \u7f13\u5b58\u89e3\u7801\u7684\u56fe\u50cf\u5bf9\u8c61 -config.name.swfSpecificConfigs = SWF \u7279\u5b9a\u914d\u7f6e -config.description.swfSpecificConfigs = \u5305\u542b SWF \u7279\u5b9a\u914d\u7f6e +config.name.swfSpecificConfigs = SWF\u7279\u5b9a\u914d\u7f6e +config.description.swfSpecificConfigs = \u5305\u542bSWF\u7279\u5b9a\u914d\u7f6e -config.name.exeExportMode = EXE \u5bfc\u51fa\u6a21\u5f0f -config.description.exeExportMode = EXE \u5bfc\u51fa\u6a21\u5f0f +config.name.exeExportMode = EXE\u5bfc\u51fa\u6a21\u5f0f +config.description.exeExportMode = EXE\u5bfc\u51fa\u6a21\u5f0f -config.name.ignoreCLikePackages = \u5ffd\u7565 FlashCC / Alchemy \u6216\u7c7b\u4f3c\u7684\u8f6f\u4ef6\u5305 -config.description.ignoreCLikePackages = FlashCC/Alchemy \u5305\u901a\u5e38\u4e0d\u80fd\u88ab\u6b63\u786e\u53cd\u7f16\u8bd1\u3002\u60a8\u53ef\u4ee5\u7981\u7528\u4ed6\u4eec\u52a0\u5feb\u5176\u4ed6\u8f6f\u4ef6\u5305\u7f16\u8bd1\u3002 +config.name.ignoreCLikePackages = \u5ffd\u7565FlashCC/Alchemy\u6216\u7c7b\u4f3c\u7684\u5305 +config.description.ignoreCLikePackages = \u901a\u5e38\u65e0\u6cd5\u6b63\u786e\u53cd\u7f16\u8bd1FlashCC/Alchemy\u7684\u5305\u3002 \u60a8\u53ef\u4ee5\u7981\u7528\u5b83\u4eec\u4ee5\u52a0\u5feb\u5176\u4ed6\u5305\u7684\u53cd\u7f16\u8bd1\u901f\u5ea6\u3002 config.name.overwriteExistingFiles = \u8986\u76d6\u73b0\u6709\u6587\u4ef6 -config.description.overwriteExistingFiles = \u5bfc\u51fa\u8fc7\u7a0b\u4e2d\u8986\u76d6\u73b0\u6709\u6587\u4ef6\u3002\u76ee\u524d\u4ec5\u9488\u5bf9 AS2/3 \u811a\u672c\u3002 +config.description.overwriteExistingFiles = \u5728\u5bfc\u51fa\u8fc7\u7a0b\u4e2d\u8986\u76d6\u73b0\u6709\u6587\u4ef6\u3002 \u5f53\u524d\u4ec5\u9002\u7528\u4e8eAS2/3\u811a\u672c config.name.smartNumberFormatting = \u4f7f\u7528\u667a\u80fd\u6570\u5b57\u683c\u5f0f -config.description.smartNumberFormatting = \u683c\u5f0f\u7279\u6b8a\u53f7\u7801\uff08\u4f8b\u5982\u989c\u8272\u548c\u65f6\u95f4\uff09 +config.description.smartNumberFormatting = \u683c\u5f0f\u5316\u7279\u6b8a\u6570\u5b57(\u4f8b\u5982\u989c\u8272\u548c\u65f6\u95f4) -config.name.enableScriptInitializerDisplay = \u663e\u793a\u521d\u59cb\u5316\u811a\u672c -config.description.enableScriptInitializerDisplay = \u542f\u7528\u811a\u672c\u521d\u59cb\u5316\u663e\u793a\u3002\u6b64\u8bbe\u7f6e\u53ef\u4ee5\u6709\u4e00\u4e2a\u6362\u884c\u7b26\u6dfb\u52a0\u5230\u6bcf\u4e2a\u7c7b\u6587\u4ef6\u9ad8\u4eae\u3002 +config.name.enableScriptInitializerDisplay = \u663e\u793a\u811a\u672c\u521d\u59cb\u5316\u5668 +config.description.enableScriptInitializerDisplay = \u542f\u7528\u811a\u672c\u521d\u59cb\u5316\u7a0b\u5e8f\u7684\u663e\u793a\u548c\u7f16\u8f91\u3002 \u6b64\u8bbe\u7f6e\u53ef\u4ee5\u5411\u6bcf\u4e2a\u7c7b\u6587\u4ef6\u6dfb\u52a0\u4e00\u4e2a\u6362\u884c\u7b26\u4ee5\u7a81\u51fa\u663e\u793a\u3002 -config.name.autoOpenLoadedSWFs = \u8fd0\u884c\u65f6\u6253\u5f00\u52a0\u8f7d SWF \u6587\u4ef6\uff08\u5916\u90e8\u67e5\u770b\u5668 = \u4ec5 Windows\uff09 -config.description.autoOpenLoadedSWFs = \u5728 FFDec \u5916\u90e8\u64ad\u653e\u5668\u4e2d\u64ad\u653e\u65f6\u81ea\u52a8\u6253\u5f00\u8fd0\u884c\u7684 SWF \u901a\u8fc7 AS3 \u7c7b\u52a0\u8f7d\u5668\u52a0\u8f7d\u6240\u6709 SWF\u3002\u6b64\u529f\u80fd\u4ec5\u9002\u7528\u4e8e Windows\u3002 +config.name.autoOpenLoadedSWFs = \u5728\u8fd0\u884c\u671f\u95f4\u6253\u5f00\u52a0\u8f7d\u7684SWF(\u5916\u90e8\u67e5\u770b\u5668=\u4ec5WIN) +config.description.autoOpenLoadedSWFs = \u5728FFDec\u5916\u90e8\u64ad\u653e\u5668\u4e2d\u64ad\u653e\u65f6\uff0c\u901a\u8fc7\u8fd0\u884cSWF\u81ea\u52a8\u6253\u5f00\u7531AS3\u7c7b\u52a0\u8f7d\u7a0b\u5e8f\u52a0\u8f7d\u7684\u6240\u6709SWF\u3002 \u6b64\u529f\u80fd\u4ec5Windows\u3002 config.name.lastSessionFileTitles = \u4e0a\u6b21\u4f1a\u8bdd\u6587\u4ef6\u6807\u9898 -config.description.lastSessionFileTitles = \u5305\u542b\u4ece\u4e0a\u6b21\u4f1a\u8bdd\u4e2d\u6253\u5f00\u7684\u6587\u4ef6\u6807\u9898\uff08\u4f8b\u5982\uff0c\u4ece URL \u52a0\u8f7d\u7b49\uff09 +config.description.lastSessionFileTitles = \u5305\u542b\u4e0a\u4e00\u4e2a\u4f1a\u8bdd\u4e2d\u6253\u5f00\u7684\u6587\u4ef6\u6807\u9898(\u4f8b\u5982\uff0c\u4eceURL\u7b49\u52a0\u8f7d\u65f6) config.group.name.paths = \u8def\u5f84 config.group.description.paths = \u6240\u9700\u6587\u4ef6\u4f4d\u7f6e -config.group.tip.paths = \u5728 Adobe \u7f51\u9875\u4e0a\u60a8\u53ef\u4ee5\u4e0b\u8f7d\u8fd9\u4e9b\u6587\u4ef6 -config.group.link.paths = https://www.adobe.com/support/flashplayer/debug_downloads.html -config.group.linkText.paths = [visit] +config.group.tip.paths = \u5728Adobe\u5b98\u7f51\u4e0a\u4e0b\u8f7dPlayer\u548cPlayerGlobal\u3002 Flex SDK\u53ef\u4ee5\u5728adobe devnet\u4e0a\u4e0b\u8f7d\u3002 +config.group.link.paths = https://www.adobe.com/support/flashplayer/debug_downloads.html http://www.adobe.com/devnet/flex/flex-sdk-download.html -config.name.playerLocation = 1) Flash Player \u6295\u5f71\u673a\u8def\u5f84 -config.description.playerLocation = \u72ec\u7acb\u7684 Flash Player \u53ef\u6267\u884c\u6587\u4ef6\u7684\u4f4d\u7f6e\u3002\u7528\u4e8e\u8fd0\u884c\u64cd\u4f5c\u3002 +config.name.playerLocation = 1) Flash Player\u76ee\u5f55 +config.description.playerLocation = \u72ec\u7acbFlash Player\u53ef\u6267\u884c\u6587\u4ef6\u7684\u4f4d\u7f6e\u3002 \u7528\u4e8e\u8fd0\u884c\u64cd\u4f5c\u3002 -config.name.playerDebugLocation = 2) Flash Player \u6295\u5f71\u4eea\u5185\u5bb9\u8c03\u8bd5\u8def\u5f84 -config.description.playerDebugLocation = \u72ec\u7acb\u7684\u8c03\u8bd5 Flash Player \u53ef\u6267\u884c\u6587\u4ef6\u7684\u4f4d\u7f6e\u3002\u7528\u4e8e\u8c03\u8bd5\u7684\u884c\u52a8\u3002 +config.name.playerDebugLocation = 2) Flash Player\u8c03\u8bd5\u5668\u76ee\u5f55 +config.description.playerDebugLocation = \u72ec\u7acb\u7684\u8c03\u8bd5Flash Player\u53ef\u6267\u884c\u6587\u4ef6\u7684\u4f4d\u7f6e\u3002\u7528\u4e8e\u8c03\u8bd5\u64cd\u4f5c\u3002 -config.name.playerLibLocation = 3) PlayerGlobal (.swc) \u8def\u5f84 -config.description.playerLibLocation = playerglobal.swc Flash Player \u5e93\u4f4d\u7f6e\u3002\u5b83\u4e3b\u8981\u7528\u4e8e AS3 \u7f16\u8bd1\u3002 +config.name.playerLibLocation = 3) PlayerGlobal(.swc)\u76ee\u5f55 +config.description.playerLibLocation = playerglobal.swc\u5e93\u7684\u4f4d\u7f6e\u3002 \u5b83\u4e3b\u8981\u7528\u4e8eAS3\u7f16\u8bd1\uff0c\u60a8\u53ef\u4ee5\u4eceAdobe\u5b98\u7f51\u4e0b\u8f7d\u3002 -config.name.debugHalt = \u5728\u8c03\u8bd5\u5f00\u59cb\u505c\u6b62\u6267\u884c -config.description.debugHalt = \u542f\u52a8\u8c03\u8bd5\u6682\u505c SWF\u3002 +config.name.debugHalt = \u5728\u8c03\u8bd5\u5f00\u59cb\u505c\u6b62\u64ad\u653e +config.description.debugHalt = \u5f00\u59cb\u8c03\u8bd5\u65f6\u6682\u505cSWF\u3002 -config.name.gui.avm2.splitPane.vars.dividerLocationPercent = \uff08\u5185\u90e8\uff09\u8c03\u8bd5\u83dc\u5355\u5206\u79bb\u5668\u4f4d\u7f6e +config.name.gui.avm2.splitPane.vars.dividerLocationPercent = (\u5185\u90e8)\u8c03\u8bd5\u83dc\u5355\u62c6\u5206\u5668\u4f4d\u7f6e config.description.gui.avm2.splitPane.vars.dividerLocationPercent = -tip = Tip:\u0020 +tip = \u63d0\u793a:\u0020 -config.name.gui.action.splitPane.vars.dividerLocationPercent = \uff08\u5185\u90e8\uff09AS1/2 \u8c03\u8bd5\u83dc\u5355\u5206\u79bb\u5668\u4f4d\u7f6e +config.name.gui.action.splitPane.vars.dividerLocationPercent = (\u5185\u90e8)AS1/2\u8c03\u8bd5\u83dc\u5355\u5206\u914d\u5668\u4f4d\u7f6e config.description.gui.action.splitPane.vars.dividerLocationPercent = -config.name.setMovieDelay = \u5728\u5916\u90e8\u64ad\u653e\u5668\u5ef6\u8fdf\u4e4b\u524d\u66f4\u6539 SWF -config.description.setMovieDelay = \u4e0d\u5efa\u8bae\u66f4\u6539\u4f4e\u4e8e 1000 \u6beb\u79d2\u8fd9\u4e2a\u503c +config.name.setMovieDelay = \u66f4\u6539\u5916\u90e8\u64ad\u653e\u5668\u4e2d\u7684SWF\u4e4b\u524d\u7684\u5ef6\u8fdf(\u6beb\u79d2) +config.description.setMovieDelay = \u4e0d\u5efa\u8bae\u5c06\u6b64\u503c\u66f4\u6539\u4e3a1000ms\u4ee5\u4e0b -config.name.warning.svgImport = SVG \u5bfc\u5165\u8b66\u544a +config.name.warning.svgImport = SVG\u5bfc\u5165\u8b66\u544a config.description.warning.svgImport = -config.name.shapeImport.useNonSmoothedFill = \u5f53\u4e00\u4e2a\u5f62\u72b6\u88ab\u66ff\u6362\u4e00\u4e2a\u56fe\u50cf\u4f7f\u7528\u975e\u5e73\u6ed1\u586b\u5145 +config.name.shapeImport.useNonSmoothedFill = \u5c06\u5f62\u72b6\u66ff\u6362\u4e3a\u56fe\u50cf\u65f6\uff0c\u8bf7\u4f7f\u7528\u4e0d\u5e73\u6ed1\u7684\u586b\u5145 config.description.shapeImport.useNonSmoothedFill = -config.name.internalFlashViewer.execute.as12 = AS1/2 \u5728\u81ea\u8eab\u7684 Flash \u67e5\u770b\u5668\uff08\u5b9e\u9a8c\uff09 -config.description.internalFlashViewer.execute.as12 = SWF \u64ad\u653e\u8fc7\u7a0b\u4e2d\u6267\u884c\u7684 ActionScript1/2 \u5c1d\u8bd5\u4f7f\u7528 FFDec Flash \u67e5\u770b\u5668 +config.name.internalFlashViewer.execute.as12 = \u5185\u90e8FlashViewer\u4e2d\u7684AS1/2(\u5b9e\u9a8c\u6027) +config.description.internalFlashViewer.execute.as12 = SWF\u64ad\u653e\u8fc7\u7a0b\u4e2d\u6267\u884c\u7684AS1/2\u5c1d\u8bd5\u4f7f\u7528FFDec FlashViewer -config.name.warning.hexViewNotUpToDate = \u8fbe\u4e0d\u5230\u6700\u65b0\u7684\u8b66\u544a\u663e\u793a\u5341\u516d\u8fdb\u5236\u67e5\u770b +config.name.warning.hexViewNotUpToDate = \u663e\u793a\u5341\u516d\u8fdb\u5236\u89c6\u56fe\u8fc7\u65e7\u8b66\u544a config.description.warning.hexViewNotUpToDate = -config.name.displayDupInstructions = \u663e\u793a \u00a7\u00a7dup \u8bf4\u660e -config.description.displayDupInstructions = \u5728\u4ee3\u7801\u663e\u793a \u00a7\u00a7dup \u8bf4\u660e\u3002\u5982\u679c\u6ca1\u6709\u4ed6\u4eec\uff0c\u4ee3\u7801\u53ef\u4ee5\u5f88\u5bb9\u6613\u5730\u7f16\u8bd1\uff0c\u4f46\u662f\u4e00\u4e9b\u4ee3\u7801\u53ef\u4ee5\u88ab\u6267\u884c\u4e24\u6b21\u3002 +config.name.displayDupInstructions = \u663e\u793a\u00a7\u00a7dup\u6307\u4ee4 +config.description.displayDupInstructions = \u5728\u4ee3\u7801\u4e2d\u663e\u793a\u00a7\u00a7dup\u6307\u4ee4\u3002 \u6ca1\u6709\u5b83\u4eec\uff0c\u4ee3\u7801\u53ef\u4ee5\u5f88\u5bb9\u6613\u5730\u7f16\u8bd1\uff0c\u4f46\u662f\u67d0\u4e9b\u5e26\u6709\u526f\u4f5c\u7528\u7684\u590d\u5236\u4ee3\u7801\u53ef\u4ee5\u6267\u884c\u4e24\u6b21\u3002 -config.name.useRegExprLiteral = \u7f16\u8bd1\u6b63\u5219\u8868\u8fbe\u5f0f\u4e3a /pattern/mod \u5e38\u91cf\u3002 -config.description.useRegExprLiteral = \u7f16\u8bd1\u6b63\u5219\u8868\u8fbe\u5f0f\u65f6\u4f7f\u7528 /pattern/mod \u8bed\u6cd5\u3002\u5426\u5219\u4f7f\u7528\u65b0\u7684\u6b63\u5219\u8868\u8fbe\u5f0f("pat","mod") \u3002 +config.name.useRegExprLiteral = \u5c06\u6b63\u5219\u8868\u8fbe\u5f0f\u53cd\u7f16\u8bd1\u4e3a/pattern/mod\u6587\u5b57\u3002 +config.description.useRegExprLiteral = \u53cd\u7f16\u8bd1\u6b63\u5219\u8868\u8fbe\u5f0f\u65f6\uff0c\u8bf7\u4f7f\u7528/pattern/mod\u8bed\u6cd5\u3002 \u5426\u5219\u4f7f\u7528\u65b0\u7684RegExp("pat","mod") -config.name.handleSkinPartsAutomatically = \u81ea\u52a8\u5904\u7406 [SkinPart] \u5143\u6570\u636e -config.description.handleSkinPartsAutomatically = \u7f16\u8bd1\u5e76\u76f4\u63a5\u7f16\u8f91 [SkinPart] \u81ea\u52a8\u5143\u6570\u636e\u3002\u5728\u5173\u95ed\u65f6 _skinParts \u5c5e\u6027\u53ca\u5176\u83b7\u53d6\u65b9\u6cd5\u53ef\u89c1\u5e76\u4e14\u624b\u52a8\u7f16\u8f91\u3002 +config.name.handleSkinPartsAutomatically = \u81ea\u52a8\u5904\u7406[SkinPart]\u5143\u6570\u636e +config.description.handleSkinPartsAutomatically = \u81ea\u52a8\u53cd\u7f16\u8bd1\u5e76\u76f4\u63a5\u7f16\u8f91[SkinPart]\u5143\u6570\u636e\u3002 \u7981\u7528\u65f6\uff0c_skinParts\u5c5e\u6027\u53ca\u5176getter\u65b9\u6cd5\u662f\u53ef\u89c1\u7684\uff0c\u53ef\u4ee5\u624b\u52a8\u7f16\u8f91\u3002 -config.name.simplifyExpressions = \u7b80\u5316\u8868\u8fbe\u5f0f -config.description.simplifyExpressions = \u8bc4\u4f30\u548c\u7b80\u5316\u8868\u8fbe\u5f0f\u4f7f\u4ee3\u7801\u66f4\u6613\u8bfb +config.name.simplifyExpressions = \u7b80\u5316\u8868\u8fbe +config.description.simplifyExpressions = \u8bc4\u4f30\u5e76\u7b80\u5316\u8868\u8fbe\u5f0f\uff0c\u4f7f\u4ee3\u7801\u66f4\u6613\u8bfb -config.name.resetLetterSpacingOnTextImport = \u6587\u672c\u5bfc\u5165\u91cd\u7f6e\u5b57\u6bcd\u95f4\u8ddd -config.description.resetLetterSpacingOnTextImport = \u53ef\u7528\u4e8e\u897f\u91cc\u5c14\u5b57\u4f53\uff0c\u56e0\u4e3a\u4ed6\u4eec\u66f4\u5e7f\u6cdb +config.name.resetLetterSpacingOnTextImport = \u6587\u672c\u5bfc\u5165\u65f6\u91cd\u7f6e\u5b57\u6bcd\u95f4\u8ddd +config.description.resetLetterSpacingOnTextImport = \u5bf9\u4e8e\u897f\u91cc\u5c14\u5b57\u4f53\u975e\u5e38\u6709\u6548\uff0c\u56e0\u4e3a\u5b83\u4eec\u66f4\u5bbd + +config.name.flexSdkLocation = 4) Flex SDK\u76ee\u5f55 +config.description.flexSdkLocation = Adobe Flex SDK\u7684\u4f4d\u7f6e\u3002 \u5b83\u4e3b\u8981\u7528\u4e8eAS3\u7f16\u8bd1\u3002 + +config.name.useFlexAs3Compiler = \u4f7f\u7528Flex SDK AS3\u7f16\u8bd1\u5668 +config.description.useFlexAs3Compiler = \u5728ActionScript\u76f4\u63a5\u7f16\u8f91\u7684\u540c\u65f6\u4f7f\u7528Flex SDK\u4e2d\u7684AS3\u7f16\u8bd1\u5668(\u9700\u8981\u8bbe\u7f6eFlex SDK\u76ee\u5f55) + +config.name.showSetAdvanceValuesMessage = \u518d\u6b21\u663e\u793a\u6709\u5173\u8bbe\u7f6e\u9ad8\u7ea7\u503c\u7684\u4fe1\u606f +config.description.showSetAdvanceValuesMessage = \u518d\u6b21\u663e\u793a\u6709\u5173\u8bbe\u7f6e\u9ad8\u7ea7\u503c\u7684\u4fe1\u606f + +config.name.gui.fontSizeMultiplier = \u5b57\u4f53\u5927\u5c0f\u500d\u6570 +config.description.gui.fontSizeMultiplier = \u5b57\u4f53\u5927\u5c0f\u500d\u6570 + +config.name.graphVizDotLocation = 5) GraphViz Dot\u53ef\u6267\u884c\u6587\u4ef6\u76ee\u5f55 +config.description.graphVizDotLocation = GraphViz\u5e94\u7528\u7a0b\u5e8f\u7684dot.exe(\u6216\u7c7b\u4f3c\u7684linux)\u8def\u5f84\uff0c\u7528\u4e8e\u663e\u793aGraph\u3002 + +#Do not translate the Font Styles which is in the parenthesis:(Plain,Bold,Italic,BoldItalic) +config.name.gui.sourceFont = \u6e90\u5b57\u4f53\u6837\u5f0f +config.description.gui.sourceFont = \u5b57\u4f53\u540d\u79f0-\u5b57\u4f53\u6837\u5f0f(Plain,Bold,Italic,BoldItalic)-\u5b57\u4f53\u5927\u5c0f + +#after 11.1.0 +config.name.as12DeobfuscatorExecutionLimit = AS1/2\u53bb\u6df7\u6dc6\u5668\u6267\u884c\u9650\u5236 +config.description.as12DeobfuscatorExecutionLimit = \u5728AS1/2\u6267\u884c\u53cd\u6df7\u6dc6\u8fc7\u7a0b\u4e2d\u5904\u7406\u7684\u6700\u5927\u6307\u4ee4\u6570 + +#option that ignore in 8.0.1 and other versions +config.name.showOriginalBytesInPcodeHex = (\u5185\u90e8)\u663e\u793a\u539f\u59cb\u5b57\u8282 +config.description.showOriginalBytesInPcodeHex = \u4ee5Pcode\u5341\u516d\u8fdb\u5236\u663e\u793a\u539f\u59cb\u5b57\u8282 + +config.name.showFileOffsetInPcodeHex = (\u5185\u90e8)\u663e\u793a\u6587\u4ef6\u504f\u79fb +config.description.showFileOffsetInPcodeHex = \u4ee5Pcode\u5341\u516d\u8fdb\u5236\u663e\u793a\u6587\u4ef6\u504f\u79fb + +config.name._enableFlexExport = (\u5185\u90e8)\u542f\u7528Flex\u5bfc\u51fa +config.description.enableFlexExport = \u542f\u7528Flex\u5bfc\u51fa + +config.name._ignoreAdditionalFlexClasses = (\u5185\u90e8)\u5ffd\u7565\u5176\u4ed6Flex\u7c7b +config.description.ignoreAdditionalFlexClasses = \u5ffd\u7565\u5176\u4ed6Flex\u7c7b + +config.name.hwAcceleratedGraphics = (\u5185\u90e8)\u786c\u4ef6\u56fe\u5f62\u52a0\u901f +config.description.hwAcceleratedGraphics = \u4f7f\u7528\u786c\u4ef6\u52a0\u901f\u56fe\u5f62 + +config.name.gui.avm2.splitPane.docs.dividerLocationPercent = (\u5185\u90e8)\u6587\u6863\u7a97\u683c\u5206\u9694\u4f4d\u7f6e\u767e\u5206\u6bd4 +config.description.gui.avm2.splitPane.docs.dividerLocationPercent = \u62c6\u5206\u7a97\u683c\u6587\u6863\u5206\u9694\u7ebf\u4f4d\u7f6e\u767e\u5206\u6bd4 + +config.name.gui.dump.splitPane.dividerLocationPercent = (\u5185\u90e8)\u8f6c\u50a8\u7a97\u683c\u5206\u9694\u4f4d\u7f6e\u767e\u5206\u6bd4 +config.description.gui.dump.splitPane.dividerLocationPercent = \u8f6c\u50a8\u62c6\u5206\u7a97\u683c\u5206\u9694\u7b26\u4f4d\u7f6e\u767e\u5206\u6bd4 \ No newline at end of file diff --git a/src/com/jpexs/decompiler/flash/gui/locales/ExportDialog_zh.properties b/src/com/jpexs/decompiler/flash/gui/locales/ExportDialog_zh.properties index 61aac2673..a88c5cb97 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/ExportDialog_zh.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/ExportDialog_zh.properties @@ -41,9 +41,11 @@ sounds.wav = WAV scripts = \u811a\u672c scripts.as = ActionScript scripts.pcode = P-code -scripts.pcode_hex = \u4f7f\u7528\u5341\u516d\u8fdb\u5236 P-code +scripts.pcode_hex = \u5341\u516d\u8fdb\u5236 P-code scripts.hex = \u5341\u516d\u8fdb\u5236 scripts.constants = \u5e38\u91cf +scripts.as_method_stubs = ActionScript\u65b9\u6cd5\u5b58\u6839 +scripts.pcode_graphviz = P-code GraphViz binaryData = \u4e8c\u8fdb\u5236\u6570\u636e binaryData.raw = \u539f\u59cb @@ -57,6 +59,7 @@ morphshapes = \u53d8\u5f62\u5f62\u72b6 morphshapes.gif = GIF morphshapes.svg = SVG morphshapes.canvas = HTML5 \u753b\u5e03 +morphshapes.swf = SWF frames = \u5e27 frames.png = PNG @@ -66,8 +69,9 @@ frames.svg = SVG frames.canvas = HTML5 \u753b\u5e03 frames.pdf = PDF frames.bmp = BMP +frames.swf = SWF -sprites = \u5b50\u56fe\u5f62 +sprites = \u7cbe\u7075 sprites.png = PNG sprites.gif = GIF sprites.avi = AVI @@ -75,6 +79,7 @@ sprites.svg = SVG sprites.canvas = HTML5 \u753b\u5e03 sprites.pdf = PDF sprites.bmp = BMP +sprites.swf = SWF buttons = \u6309\u94ae buttons.png = PNG @@ -85,9 +90,9 @@ fonts = \u5b57\u4f53 fonts.ttf = TTF fonts.woff = WOFF -zoom = Zoom +zoom = \u7f29\u653e zoom.percent = % zoom.invalid = \u65e0\u6548\u7f29\u653e\u503c\u3002 -symbolclass = \u7b26\u53f7 - Class \u6620\u5c04 +symbolclass = \u7b26\u53f7\u7c7b\u6620\u5c04 symbolclass.csv = CSV diff --git a/src/com/jpexs/decompiler/flash/gui/locales/FontEmbedDialog_zh.properties b/src/com/jpexs/decompiler/flash/gui/locales/FontEmbedDialog_zh.properties index 561077fe1..f4c1753a0 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/FontEmbedDialog_zh.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/FontEmbedDialog_zh.properties @@ -13,14 +13,14 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -range.description = %name% (%available% \u53ef\u7528\uff0c\u5171 %total% \u4e2a) +range.description = %name% (%total%\u4e2a\u5b57\u7b26\u4e2d\u5b58\u5728%available%\u4e2a) dialog.title = \u5b57\u4f53\u5d4c\u5165 -label.individual = \u5355\u5b57\u7b26\uff1a -button.loadfont = \u4ece\u78c1\u76d8\u8f7d\u5165\u5b57\u4f53... -filter.ttf = TrueType \u5b57\u4f53\u6587\u4ef6 (*.ttf) +label.individual = \u5355\u4e2a\u5b57\u7b26: +button.loadfont = \u4ece\u786c\u76d8\u4e2d\u8f7d\u5165\u5b57\u4f53... +filter.ttf = TrueType\u5b57\u4f53\u6587\u4ef6(*.ttf) error.invalidfontfile = \u65e0\u6548\u7684\u5b57\u4f53\u6587\u4ef6 error.cannotreadfontfile = \u65e0\u6cd5\u8bfb\u53d6\u5b57\u4f53\u6587\u4ef6 installed = \u5df2\u5b89\u88c5: -ttffile.noselection = TTF \u6587\u4ef6: +ttffile.selection = TTF\u6587\u4ef6: %fontname% (%filename%) +allcharacters = \u6240\u6709\u5b57\u7b26(%available%\u4e2a\u5b57\u7b26) diff --git a/src/com/jpexs/decompiler/flash/gui/locales/GraphDialog_zh.properties b/src/com/jpexs/decompiler/flash/gui/locales/GraphDialog_zh.properties index 8807ab58c..f7b6a97e9 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/GraphDialog_zh.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/GraphDialog_zh.properties @@ -14,3 +14,5 @@ # along with this program. If not, see . graph = \u56fe\u5f62 +graph.better.dot = \u63d0\u793a:\u5728\u9ad8\u7ea7\u8bbe\u7f6e/\u8def\u5f84(5)\u4e2d\u914d\u7f6eGraphViz Dot\u53ef\u6267\u884c\u8def\u5f84\uff0c\u4ee5\u83b7\u5f97\u66f4\u597d\u7684\u56fe\u5f62\u65b9\u5f0f\uff01 +menu.copygraph.gv = \u5c06GraphViz\u6e90\u590d\u5236\u5230ClipBoard \ No newline at end of file diff --git a/src/com/jpexs/decompiler/flash/gui/locales/LoadFromCacheFrame_zh.properties b/src/com/jpexs/decompiler/flash/gui/locales/LoadFromCacheFrame_zh.properties index a1d00289e..8c10149e9 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/LoadFromCacheFrame_zh.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/LoadFromCacheFrame_zh.properties @@ -17,5 +17,5 @@ button.open = \u6253\u5f00 button.save = \u4fdd\u5b58 button.refresh = \u5237\u65b0\u5217\u8868 dialog.title = \u641c\u7d22\u6d4f\u89c8\u5668\u7f13\u5b58 -supported.browsers = \u652f\u6301\u7684\u6d4f\u89c8\u5668\uff1a -info.closed = *\u8be5\u6d4f\u89c8\u5668\u5c06\u4f1a\u5728\u5173\u95ed\u65f6\u4fdd\u5b58\u6570\u636e\u5230\u78c1\u76d8\uff0c\u8bf7\u5148\u5173\u95ed\u6d4f\u89c8\u5668 +supported.browsers = \u652f\u6301\u7684\u6d4f\u89c8\u5668: +info.closed = *\u6b64\u6d4f\u89c8\u5668\u5728\u5e94\u7528\u7a0b\u5e8f\u9000\u51fa\u540e\u5c06\u6570\u636e\u4fdd\u5b58\u5230\u78c1\u76d8\u7f13\u5b58\u4e2d\uff0c\u56e0\u6b64\u8bf7\u5148\u5173\u95ed\u6d4f\u89c8\u5668\u3002 diff --git a/src/com/jpexs/decompiler/flash/gui/locales/LoadFromMemoryFrame_zh.properties b/src/com/jpexs/decompiler/flash/gui/locales/LoadFromMemoryFrame_zh.properties index 2aed0c094..6f1572fbe 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/LoadFromMemoryFrame_zh.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/LoadFromMemoryFrame_zh.properties @@ -17,8 +17,8 @@ dialog.title = \u5728\u5185\u5b58\u4e2d\u641c\u7d22 button.open = \u6253\u5f00 button.select = \u9009\u62e9 button.refresh = \u5237\u65b0\u5217\u8868 -noprocess = \u6ca1\u6709\u8fdb\u7a0b\u88ab\u9009\u5b9a -searching = \u641c\u7d22\u4e2d +noprocess = \u672a\u9009\u62e9\u8fdb\u7a0b +searching = \u641c\u7d22\u4e2d... swfitem = [SWF\u7248\u672c %version% \u5927\u5c0f %size%] notfound = \u627e\u4e0d\u5230SWF diff --git a/src/com/jpexs/decompiler/flash/gui/locales/LoadingDialog_zh.properties b/src/com/jpexs/decompiler/flash/gui/locales/LoadingDialog_zh.properties index 17acf94f9..e1538723b 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/LoadingDialog_zh.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/LoadingDialog_zh.properties @@ -13,4 +13,4 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -loadingpleasewait = \u8f7d\u5165\u4e2d\uff0c\u8bf7\u7a0d\u7b49... +loadingpleasewait = \u52a0\u8f7d\u4e2d,\u8bf7\u7a0d\u5019... diff --git a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_zh.properties b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_zh.properties index 811de2324..2934c890f 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_zh.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_zh.properties @@ -17,29 +17,29 @@ menu.file = \u6587\u4ef6 menu.file.open = \u6253\u5f00... menu.file.save = \u4fdd\u5b58 menu.file.saveas = \u53e6\u5b58\u4e3a... -menu.file.export.fla = \u5bfc\u51fa\u5230 FLA -menu.file.export.all = \u5bfc\u51fa\u6240\u6709 -menu.file.export.selection = \u5bfc\u51fa\u6240\u9009 +menu.file.export.fla = \u5bfc\u51fa\u5230FLA +menu.file.export.all = \u5bfc\u51fa\u6240\u6709\u63a7\u4ef6 +menu.file.export.selection = \u5bfc\u51fa\u5df2\u9009 menu.file.exit = \u9000\u51fa menu.tools = \u5de5\u5177 -menu.tools.searchas = \u5728\u6240\u6709AS\u4ee3\u7801\u4e2d\u641c\u7d22... +menu.tools.searchas = \u641c\u7d22\u6240\u6709AS\u4ee3\u7801... menu.tools.proxy = \u4ee3\u7406 menu.tools.deobfuscation = \u53cd\u6df7\u6dc6 -menu.tools.deobfuscation.pcode = P\u4ee3\u7801\u53cd\u6df7\u6dc6... +menu.tools.deobfuscation.pcode = P-code\u53cd\u6df7\u6dc6... menu.tools.deobfuscation.globalrename = \u5168\u5c40\u91cd\u547d\u540d\u6807\u8bc6\u7b26 menu.tools.deobfuscation.renameinvalid = \u91cd\u547d\u540d\u65e0\u6548\u6807\u8bc6\u7b26 menu.tools.gotoDocumentClass = \u8df3\u8f6c\u5230\u4e3b\u7c7b menu.settings = \u8bbe\u7f6e menu.settings.autodeobfuscation = \u81ea\u52a8\u53cd\u6df7\u6dc6 -menu.settings.internalflashviewer = \u4f7f\u7528\u5185\u90e8Flash\u64ad\u653e\u5668 +menu.settings.internalflashviewer = \u4f7f\u7528\u5185\u90e8FlashViewr menu.settings.parallelspeedup = \u591a\u7ebf\u7a0b\u52a0\u901f menu.settings.disabledecompilation = \u7981\u7528\u53cd\u7f16\u8bd1 (\u4ec5\u53cd\u6c47\u7f16) -menu.settings.addtocontextmenu = \u6dfb\u52a0FFDec\u5230SWF\u6587\u4ef6\u83dc\u5355 +menu.settings.addtocontextmenu = \u6dfb\u52a0FFDec\u5230SWF\u53f3\u952e\u83dc\u5355 menu.settings.language = \u66f4\u6539\u8bed\u8a00 -menu.settings.cacheOnDisk = \u4f7f\u7528\u786c\u76d8\u4f5c\u7f13\u5b58 -menu.settings.gotoMainClassOnStartup = \u52a0\u8f7d\u5b8c\u6bd5\u540e\u9ad8\u4eae\u4e3b\u7c7b +menu.settings.cacheOnDisk = \u4f7f\u7528\u786c\u76d8\u7f13\u5b58 +menu.settings.gotoMainClassOnStartup = \u542f\u52a8\u65f6\u9ad8\u4eae\u4e3b\u7c7b menu.help = \u5e2e\u52a9 menu.help.checkupdates = \u68c0\u67e5\u66f4\u65b0... @@ -54,17 +54,17 @@ button.edit = \u7f16\u8f91 button.cancel = \u53d6\u6d88 button.replace = \u66ff\u6362... -notavailonthisplatform = \u9884\u89c8\u8be5\u5bf9\u8c61\u662f\u5426\u53ef\u7528\u4e8e\u5f53\u524d\u5e73\u53f0. (\u4ec5Windows) +notavailonthisplatform = \u8be5\u5bf9\u8c61\u7684\u9884\u89c8\u5728\u8be5\u5e73\u53f0\u4e0a\u4e0d\u53ef\u7528(\u4ec5Windows) -swfpreview = SWF \u9884\u89c8 -swfpreview.internal = SWF \u9884\u89c8(\u4f7f\u7528\u5185\u7f6e\u64ad\u653e\u5668) +swfpreview = SWF\u9884\u89c8 +swfpreview.internal = SWF\u9884\u89c8(\u4f7f\u7528\u5185\u90e8\u64ad\u653e\u5668) parameters = \u53c2\u6570 rename.enternew = \u8bf7\u8f93\u5165\u65b0\u540d\u79f0: rename.finished.identifier = \u6807\u8bc6\u7b26\u5df2\u88ab\u91cd\u547d\u540d. -rename.finished.multiname = %count% \u4e2a multiname \u5df2\u88ab\u91cd\u547d\u540d. +rename.finished.multiname = \u5df2\u91cd\u547d\u540d%count%\u4e2a. node.texts = \u6587\u672c node.images = \u56fe\u50cf @@ -80,73 +80,73 @@ node.frames = \u5e27 node.scripts = \u811a\u672c message.warning = \u8b66\u544a -message.confirm.experimental = \u4e0b\u9762\u7684\u64cd\u4f5c\u53ef\u80fd\u4f1a\u635f\u574fSWF\u6587\u4ef6\uff0c\u5e76\u5c06\u5bfc\u81f4\u65e0\u6cd5\u64ad\u653e\u3002\r\n\u60a8\u5fc5\u987b\u6e05\u695a\u5730\u8ba4\u8bc6\u5230\u8fd9\u9879\u98ce\u9669\uff0c\u662f\u5426\u7ee7\u7eed\uff1f -message.confirm.parallel = \u591a\u7ebf\u7a0b\uff0c\u53ef\u4ee5\u52a0\u5feb\u52a0\u8f7d\u53ca\u53cd\u7f16\u8bd1\u901f\u5ea6\uff0c\u4f46\u4f1a\u6d88\u8017\u66f4\u591a\u7684\u5185\u5b58\u3002 +message.confirm.experimental = \u6b64\u64cd\u4f5c\u53ef\u80fd\u4f1a\u635f\u574fSWF\u6587\u4ef6\uff0c\u4ece\u800c\u5bfc\u81f4\u8be5\u6587\u4ef6\u65e0\u6cd5\u64ad\u653e\u3002\r\n\u60a8\u5c06\u4f1a\u627f\u62c5\u4e00\u5b9a\u7684\u98ce\u9669\uff0c\u786e\u5b9a\u8981\u7ee7\u7eed\u5417\uff1f +message.confirm.parallel = \u591a\u7ebf\u7a0b\u53ef\u4ee5\u52a0\u5feb\u52a0\u8f7d\u548c\u53cd\u7f16\u8bd1\u7684\u901f\u5ea6\uff0c\u4f46\u4f1a\u5360\u7528\u66f4\u591a\u5185\u5b58\u3002 message.confirm.on = \u60a8\u786e\u5b9a\u8981\u5f00\u542f\u5417\uff1f message.confirm.off = \u60a8\u786e\u5b9a\u8981\u5173\u95ed\u5417\uff1f message.confirm = \u786e\u8ba4 -message.confirm.autodeobfuscate = \u81ea\u52a8\u53cd\u6df7\u6dc6\u662f\u4e00\u79cd\u80fd\u53cd\u7f16\u8bd1\u88ab\u6df7\u6dc6\u4ee3\u7801\u7684\u529f\u80fd\u3002\r\n \u53cd\u6df7\u6dc6\u5c06\u5bfc\u81f4\u53cd\u7f16\u8bd1\u7684\u901f\u5ea6\u8f83\u6162\uff0c\u5e76\u53ef\u80fd\u4f1a\u7565\u8fc7\u51fa\u73b0\u7684\u201c\u6b7b\u4ee3\u7801\u201d\u3002\r\n \u5982\u679c\u60a8\u786e\u8ba4\u6587\u4ef6\u4e2d\u7684\u4ee3\u7801\u6ca1\u6709\u88ab\u6df7\u6dc6\uff0c\u5efa\u8bae\u60a8\u5173\u95ed\u8be5\u9009\u9879\u3002 +message.confirm.autodeobfuscate = \u81ea\u52a8\u53cd\u6df7\u6dc6\u662f\u53cd\u7f16\u8bd1\u6df7\u6dc6\u4ee3\u7801\u7684\u4e00\u79cd\u65b9\u6cd5\u3002\r\n\u53cd\u6df7\u6dc6\u4f1a\u5bfc\u81f4\u53cd\u7f16\u8bd1\u901f\u5ea6\u53d8\u6162\uff0c\u4f46\u53ef\u4ee5\u6d88\u9664\u4e00\u4e9b\u65e0\u6548\u4ee3\u7801\u3002\r\n\u5982\u679c\u672a\u6df7\u6dc6\u4ee3\u7801\uff0c\u5219\u6700\u597d\u5173\u95ed\u81ea\u52a8\u53cd\u6df7\u6dc6\u3002 message.parallel = \u591a\u7ebf\u7a0b message.trait.saved = \u5df2\u6210\u529f\u4fdd\u5b58Trait -message.constant.new.string = \u5728\u5e38\u91cf\u8868\u4e2d\u627e\u4e0d\u5230\u5b57\u7b26\u4e32 "%value%" \uff0c\u9700\u8981\u6dfb\u52a0\u5417\uff1f -message.constant.new.string.title = \u6dfb\u52a0\u5b57\u7b26\u4e32 -message.constant.new.integer = \u5728\u5e38\u91cf\u8868\u4e2d\u627e\u4e0d\u5230\u6574\u6570 "%value%" \uff0c\u9700\u8981\u6dfb\u52a0\u5417\uff1f -message.constant.new.integer.title = \u6dfb\u52a0\u6574\u6570 -message.constant.new.unsignedinteger = \u5728\u5e38\u91cf\u8868\u4e2d\u627e\u4e0d\u5230\u65e0\u7b26\u53f7\u6574\u6570 "%value%" \uff0c\u9700\u8981\u6dfb\u52a0\u5417\uff1f -message.constant.new.unsignedinteger.title = \u6dfb\u52a0\u65e0\u7b26\u53f7\u6574\u6570 -message.constant.new.double = \u5728\u5e38\u91cf\u8868\u4e2d\u627e\u4e0d\u5230\u53cc\u5b57\u8282 "%value%" \uff0c\u9700\u8981\u6dfb\u52a0\u5417\uff1f -message.constant.new.double.title = \u6dfb\u52a0\u53cc\u5b57\u8282 +message.constant.new.string = \u5e38\u91cf\u8868\u4e2d\u4e0d\u5b58\u5728String "%value%"\uff0c\u9700\u8981\u6dfb\u52a0\u5417\uff1f +message.constant.new.string.title = \u6dfb\u52a0String +message.constant.new.integer = \u5e38\u91cf\u8868\u4e2d\u4e0d\u5b58\u5728Integer "%value%"\uff0c\u9700\u8981\u6dfb\u52a0\u5417\uff1f +message.constant.new.integer.title = \u6dfb\u52a0Integer +message.constant.new.unsignedinteger = \u5e38\u91cf\u8868\u4e2d\u4e0d\u5b58\u5728Unsigned integer "%value%"\uff0c\u9700\u8981\u6dfb\u52a0\u5417\uff1f +message.constant.new.unsignedinteger.title = \u6dfb\u52a0Unsigned integer +message.constant.new.double = \u5e38\u91cf\u8868\u4e2d\u4e0d\u5b58\u5728Double "%value%"\uff0c\u9700\u8981\u6dfb\u52a0\u5417\uff1f +message.constant.new.double.title = \u6dfb\u52a0Double -work.buffering = \u7f13\u51b2 +work.buffering = \u6b63\u5728\u7f13\u51b2 work.waitingfordissasembly = \u7b49\u5f85\u53cd\u6c47\u7f16 work.gettinghilights = \u83b7\u53d6\u9ad8\u4eae work.disassembling = \u53cd\u6c47\u7f16 -work.exporting = \u5bfc\u51fa\u4e2d -work.searching = \u641c\u7d22\u4e2d +work.exporting = \u6b63\u5728\u5bfc\u51fa +work.searching = \u6b63\u5728\u641c\u7d22 work.renaming = \u91cd\u547d\u540d\u4e2d -work.exporting.fla = \u5bfc\u51fa FLA \u4e2d +work.exporting.fla = \u6b63\u5728\u5bfc\u51faFLA work.renaming.identifiers = \u91cd\u547d\u540d\u6807\u8bc6\u7b26\u4e2d -work.deobfuscating = \u53cd\u6df7\u6dc6\u4e2d -work.decompiling = \u53cd\u7f16\u8bd1\u4e2d +work.deobfuscating = \u6b63\u5728\u53cd\u6df7\u6dc6 +work.decompiling = \u6b63\u5728\u53cd\u7f16\u8bd1 work.gettingvariables = \u83b7\u53d6\u53d8\u91cf -work.reading.swf = \u8bfb\u5165 SWF \u4e2d -work.creatingwindow = \u521b\u5efa\u7a97\u4f53 -work.buildingscripttree = \u5efa\u7acb\u811a\u672c\u6811 +work.reading.swf = \u8bfb\u53d6SWF +work.creatingwindow = \u6b63\u5728\u521b\u5efa\u7a97\u53e3 +work.buildingscripttree = \u6b63\u5728\u6784\u5efa\u811a\u672c\u6811 work.deobfuscating.complete = \u53cd\u6df7\u6dc6\u5b8c\u6210 -message.search.notfound = \u6ca1\u6709\u627e\u5230\u5b57\u7b26\u4e32 "%searchtext%" . -message.search.notfound.title = \u6ca1\u6709\u627e\u5230 +message.search.notfound = \u627e\u4e0d\u5230"%searchtext%" . +message.search.notfound.title = \u65e0\u641c\u7d22\u7ed3\u679c -message.rename.notfound.multiname = \u5728\u5149\u6807\u4e0b\u65b9\u6ca1\u6709\u627e\u5230multiname -message.rename.notfound.identifier = \u5728\u5149\u6807\u4e0b\u65b9\u6ca1\u6709\u627e\u5230\u6807\u8bc6\u7b26 -message.rename.notfound.title = \u6ca1\u6709\u627e\u5230 -message.rename.renamed = \u6807\u8bc6\u7b26\u91cd\u547d\u540d\u6570\uff1a %count% +message.rename.notfound.multiname = \u5728\u5149\u6807\u4e0b\u672a\u627e\u5230multiname +message.rename.notfound.identifier = \u5728\u5149\u6807\u4e0b\u672a\u627e\u5230\u6807\u8bc6\u7b26 +message.rename.notfound.title = \u65e0\u641c\u7d22\u7ed3\u679c +message.rename.renamed = %count%\u4e2a\u6807\u8bc6\u7b26\u5df2\u91cd\u547d\u540d -filter.images = \u56fe\u7247 (%extensions%) -filter.fla = %version% \u6587\u4ef6 (*.fla) -filter.xfl = %version% \u672a\u538b\u7f29\u6587\u4ef6 (*.xfl) -filter.swf = SWF \u6587\u4ef6 (*.swf) +filter.images = \u56fe\u7247(%extensions%) +filter.fla = %version%\u6587\u6863(*.fla) +filter.xfl = %version%\u672a\u538b\u7f29\u7684\u6587\u6863(*.xfl) +filter.swf = SWF\u6587\u4ef6(*.swf) error = \u9519\u8bef -error.image.invalid = \u65e0\u6548\u56fe\u7247. +error.image.invalid = \u65e0\u6548\u7684\u56fe\u50cf\u3002 -error.text.invalid = \u65e0\u6548\u6587\u672c: %text% \u5728 %line% \u884c +error.text.invalid = \u65e0\u6548\u7684\u6587\u672c: \u7b2c%line%\u884c\u7684%text% error.file.save = \u65e0\u6cd5\u4fdd\u5b58\u6587\u4ef6 -error.file.write = \u65e0\u6cd5\u5199\u6587\u4ef6 -error.export = \u5bfc\u51fa\u65f6\u9519\u8bef +error.file.write = \u65e0\u6cd5\u5199\u5165\u6587\u4ef6 +error.export = \u5bfc\u51fa\u65f6\u51fa\u73b0\u9519\u8bef export.select.directory = \u8bf7\u9009\u62e9\u5bfc\u51fa\u76ee\u5f55 -export.finishedin = \u5bfc\u51fa\u5b8c\u6210\uff0c\u8017\u8d39\u65f6\u95f4 %time% +export.finishedin = \u5bfc\u51fa\u5b8c\u6210\uff0c\u8017\u65f6%time% update.check.title = \u786e\u8ba4\u66f4\u65b0 update.check.nonewversion = \u65e0\u53ef\u7528\u66f4\u65b0. message.helpus = \u8bf7\u8bbf\u95ee\r\n%url%\r\n\u83b7\u5f97\u76f8\u5173\u7ec6\u8282. -message.homepage = \u8bbf\u95ee\u4e3b\u9875\uff1a \r\n%url% +message.homepage = \u8bbf\u95ee\u4e3b\u9875:\r\n%url% proxy = \u4ee3\u7406 proxy.start = \u5f00\u59cb\u4ee3\u7406 @@ -154,35 +154,37 @@ proxy.stop = \u505c\u6b62\u4ee3\u7406 proxy.show = \u663e\u793a\u4ee3\u7406 exit = \u9000\u51fa -panel.disassembled = P\u4ee3\u7801\u8d44\u6e90 -panel.decompiled = AS\u8d44\u6e90 +panel.disassembled = P-code\u8d44\u6e90 +panel.decompiled = AS\u6e90\u4ee3\u7801 -search.info = \u641c\u7d22 "%text%" : +search.info = \u641c\u7d22"%text%": search.script = \u811a\u672c constants = \u5e38\u91cf -traits = Traits +traits = \u7279\u5f81 -pleasewait = \u8bf7\u7a0d\u7b49 +pleasewait = \u8bf7\u7a0d\u5019 +#DEPRECATED - see abc.detail.trait.* abc.detail.methodtrait = Method/Getter/Setter Trait abc.detail.unsupported = - +#DEPRECATED - see abc.detail.trait.* abc.detail.slotconsttrait = Slot/Const Trait abc.detail.traitname = \u540d\u79f0: abc.detail.body.params.maxstack = \u6700\u5927\u5806\u6808: -abc.detail.body.params.localregcount = \u672c\u5730\u5bc4\u5b58\u5668\u8ba1\u6570: -abc.detail.body.params.minscope = \u6700\u5c0f\u8303\u56f4\u6df1\u5ea6: -abc.detail.body.params.maxscope = \u6700\u5927\u8303\u56f4\u6df1\u5ea6: -abc.detail.body.params.autofill = \u4fdd\u5b58\u65f6\u4ee3\u7801\u81ea\u52a8\u586b\u5145 (\u5168\u5c40\u8bbe\u7f6e) -abc.detail.body.params.autofill.experimental = ...\u5b9e\u9a8c\u7684 +abc.detail.body.params.localregcount = \u672c\u5730\u5bc4\u5b58\u5668\u6570: +abc.detail.body.params.minscope = \u6700\u5c0f\u6df1\u5ea6\u8303\u56f4: +abc.detail.body.params.maxscope = \u6700\u5927\u6df1\u5ea6\u8303\u56f4: +abc.detail.body.params.autofill = \u4fdd\u5b58\u65f6\u81ea\u52a8\u5b8c\u6210\u4ee3\u7801(\u5168\u5c40\u8bbe\u7f6e) +abc.detail.body.params.autofill.experimental = ...\u5b9e\u9a8c\u6027 abc.detail.methodinfo.methodindex = \u65b9\u6cd5\u7d22\u5f15: abc.detail.methodinfo.parameters = \u53c2\u6570: abc.detail.methodinfo.returnvalue = \u8fd4\u56de\u503c\u7c7b\u578b: -error.methodinfo.params = \u65b9\u6cd5\u4fe1\u606f\u7684\u53c2\u6570\u9519\u8bef -error.methodinfo.returnvalue = \u65b9\u6cd5\u4fe1\u606f\u7684\u8fd4\u56de\u503c\u7c7b\u578b\u9519\u8bef +error.methodinfo.params = \u65b9\u6cd5\u4fe1\u606f\u53c2\u6570\u9519\u8bef +error.methodinfo.returnvalue = \u65b9\u6cd5\u4fe1\u606f\u8fd4\u56de\u503c\u7c7b\u578b\u9519\u8bef abc.detail.methodinfo = \u65b9\u6cd5\u4fe1\u606f abc.detail.body.code = \u65b9\u6cd5\u4e3b\u4f53\u4ee3\u7801 @@ -190,21 +192,21 @@ abc.detail.body.params = \u65b9\u6cd5\u4e3b\u4f53\u53c2\u6570 abc.detail.slotconst.typevalue = \u7c7b\u578b\u548c\u503c: -error.slotconst.typevalue = SlotConst\u7c7b\u578b\u503c\u9519\u8bef +error.slotconst.typevalue = \u63d2\u69fd\u5e38\u91cf\u7c7b\u578b\u503c\u9519\u8bef -message.autofill.failed = \u65e0\u6cd5\u81ea\u52a8\u83b7\u5f97\u4e3b\u4f53\u53c2\u6570\u72b6\u6001\u4ee3\u7801\u3002\r\n\u8bf7\u5173\u95ed\u81ea\u52a8\u586b\u5145\u529f\u80fd\u540e\u518d\u8bd5\u4e00\u6b21. -info.selecttrait = \u8bf7\u9009\u62e9\u7c7b\uff0c\u7136\u540e\u70b9\u51fb\u8fdb\u884cActionScript\u6e90\u7684\u7f16\u8f91. +message.autofill.failed = \u65e0\u6cd5\u81ea\u52a8\u83b7\u5f97\u4e3b\u4f53\u53c2\u6570\u72b6\u6001\u4ee3\u7801\u3002\r\n\u8bf7\u5173\u95ed\u81ea\u52a8\u5b8c\u6210\u529f\u80fd\u540e\u518d\u8bd5\u4e00\u6b21\u3002 +info.selecttrait = \u9009\u62e9\u7c7b\uff0c\u7136\u540e\u5728AS\u6e90\u4ee3\u7801\u4e2d\u5355\u51fb\u4e00\u4e2a\u7279\u5f81\u4ee5\u5bf9\u5176\u8fdb\u884c\u7f16\u8f91\u3002 button.viewgraph = \u6d4f\u89c8\u56fe\u5f62 button.viewhex = \u6d4f\u89c8\u5341\u516d\u8fdb\u5236 -action.edit.experimental = (\u5b9e\u9a8c\u7684) +action.edit.experimental = (\u5b9e\u9a8c\u6027) -message.action.saved = \u4fdd\u5b58\u4ee3\u7801\u6210\u529f +message.action.saved = \u4ee3\u7801\u6210\u529f\u4fdd\u5b58 -error.action.save = %error% \u5728 %line% \u884c +error.action.save = \u7b2c%line%\u884c\u51fa\u9519:\n%error% -message.confirm.remove = \u60a8\u786e\u5b9a\u8981\u5220\u9664 %item% \n \u4ee5\u53ca\u6240\u6709\u4f9d\u8d56\u5b83\u7684\u5bf9\u8c61\u5417\uff1f +message.confirm.remove = \u60a8\u786e\u5b9a\u8981\u5220\u9664%item%\n\u548c\u6240\u6709\u4f9d\u8d56\u5b83\u7684\u5bf9\u8c61\u5417\uff1f #after version 1.6.5u1: @@ -216,9 +218,9 @@ font.isbold = \u52a0\u7c97: font.isitalic = \u659c\u4f53: font.ascent = \u4e0a\u6807: font.descent = \u4e0b\u6807: -font.leading = Leading: -font.characters = \u5b57\u7b26\u96c6: -font.characters.add = \u6dfb\u52a0\u5b57\u7b26\u96c6: +font.leading = \u884c\u95f4\u8ddd: +font.characters = \u5b57\u7b26: +font.characters.add = \u6dfb\u52a0\u5b57\u7b26: value.unknown = ? yes = \u662f @@ -245,8 +247,8 @@ FileChooser.listViewButtonToolTipText = \u5217\u8868 FileChooser.listViewButtonAccessibleName = \u5217\u8868 FileChooser.detailsViewButtonToolTipText = \u8be6\u7ec6\u4fe1\u606f FileChooser.detailsViewButtonAccessibleName = \u8be6\u7ec6\u4fe1\u606f -FileChooser.upFolderToolTipText = \u4e0a\u7ea7\u76ee\u5f55 -FileChooser.upFolderAccessibleName = \u4e0a\u7ea7\u76ee\u5f55 +FileChooser.upFolderToolTipText = \u8fd4\u56de\u4e0a\u7ea7 +FileChooser.upFolderAccessibleName = \u8fd4\u56de\u4e0a\u7ea7 FileChooser.homeFolderToolTipText = \u4e3b\u76ee\u5f55 FileChooser.homeFolderAccessibleName = \u4e3b\u76ee\u5f55 FileChooser.fileNameHeaderText = \u540d\u79f0 @@ -257,19 +259,19 @@ FileChooser.fileAttrHeaderText = \u5c5e\u6027 FileChooser.openDialogTitleText = \u6253\u5f00 FileChooser.directoryDescriptionText = \u76ee\u5f55 FileChooser.directoryOpenButtonText = \u6253\u5f00 -FileChooser.directoryOpenButtonToolTipText = \u6253\u5f00\u9009\u5b9a\u7684\u76ee\u5f55 +FileChooser.directoryOpenButtonToolTipText = \u6253\u5f00\u6240\u9009\u76ee\u5f55 FileChooser.fileDescriptionText = \u901a\u7528\u6587\u4ef6 FileChooser.helpButtonText = \u5e2e\u52a9 FileChooser.helpButtonToolTipText = \u6587\u4ef6\u9009\u62e9\u5668\u5e2e\u52a9 FileChooser.newFolderAccessibleName = \u65b0\u5efa\u6587\u4ef6\u5939 -FileChooser.newFolderErrorText = \u5efa\u7acb\u65b0\u6587\u4ef6\u5939\u65f6\u51fa\u9519 +FileChooser.newFolderErrorText = \u65b0\u5efa\u6587\u4ef6\u5939\u65f6\u51fa\u9519 FileChooser.newFolderToolTipText = \u65b0\u5efa\u6587\u4ef6\u5939 -FileChooser.other.newFolder = \u65b0\u6587\u4ef6\u5939 -FileChooser.other.newFolder.subsequent = \u65b0\u6587\u4ef6\u5939.{0} -FileChooser.win32.newFolder = \u65b0\u6587\u4ef6\u5939 -FileChooser.win32.newFolder.subsequent = \u65b0\u6587\u4ef6\u5939 ({0}) +FileChooser.other.newFolder = \u65b0\u5efa\u6587\u4ef6\u5939 +FileChooser.other.newFolder.subsequent = \u65b0\u5efa\u6587\u4ef6\u5939.{0} +FileChooser.win32.newFolder = \u65b0\u5efa\u6587\u4ef6\u5939 +FileChooser.win32.newFolder.subsequent = \u65b0\u5efa\u6587\u4ef6\u5939({0}) FileChooser.saveButtonText = \u4fdd\u5b58 -FileChooser.saveButtonToolTipText = \u4fdd\u5b58\u9009\u5b9a\u6587\u4ef6 +FileChooser.saveButtonToolTipText = \u4fdd\u5b58\u6240\u9009\u6587\u4ef6 FileChooser.saveDialogTitleText = \u4fdd\u5b58 FileChooser.saveInLabelText = \u4fdd\u5b58\u5230: FileChooser.updateButtonText = \u5237\u65b0 @@ -280,26 +282,26 @@ FileChooser.updateButtonToolTipText = \u5237\u65b0\u76ee\u5f55\u5217\u8868 FileChooser.detailsViewActionLabel.textAndMnemonic = \u8be6\u7ec6\u4fe1\u606f FileChooser.detailsViewButtonToolTip.textAndMnemonic = \u8be6\u7ec6\u4fe1\u606f FileChooser.fileAttrHeader.textAndMnemonic = \u5c5e\u6027 -FileChooser.fileDateHeader.textAndMnemonic = Modified +FileChooser.fileDateHeader.textAndMnemonic = \u5df2\u4fee\u6539 FileChooser.fileNameHeader.textAndMnemonic = \u540d\u79f0 FileChooser.fileNameLabel.textAndMnemonic = \u6587\u4ef6\u540d: FileChooser.fileSizeHeader.textAndMnemonic = \u5927\u5c0f FileChooser.fileTypeHeader.textAndMnemonic = \u7c7b\u578b FileChooser.filesOfTypeLabel.textAndMnemonic = \u6587\u4ef6\u7c7b\u578b: -FileChooser.folderNameLabel.textAndMnemonic = \u76ee\u5f55\u540d: +FileChooser.folderNameLabel.textAndMnemonic = \u6587\u4ef6\u5939\u540d\u79f0: FileChooser.homeFolderToolTip.textAndMnemonic = \u4e3b\u76ee\u5f55 FileChooser.listViewActionLabel.textAndMnemonic = \u5217\u8868 FileChooser.listViewButtonToolTip.textAndMnemonic = \u5217\u8868 FileChooser.lookInLabel.textAndMnemonic = \u6d4f\u89c8: -FileChooser.newFolderActionLabel.textAndMnemonic = \u65b0\u6587\u4ef6\u5939 +FileChooser.newFolderActionLabel.textAndMnemonic = \u65b0\u5efa\u6587\u4ef6\u5939 FileChooser.newFolderToolTip.textAndMnemonic = \u65b0\u5efa\u6587\u4ef6\u5939 FileChooser.refreshActionLabel.textAndMnemonic = \u5237\u65b0 FileChooser.saveInLabel.textAndMnemonic = \u4fdd\u5b58\u5230: -FileChooser.upFolderToolTip.textAndMnemonic = \u4e0a\u7ea7\u76ee\u5f55 -FileChooser.viewMenuButtonAccessibleName = \u6d4f\u89c8\u83dc\u5355 -FileChooser.viewMenuButtonToolTipText = \u6d4f\u89c8\u83dc\u5355 -FileChooser.viewMenuLabel.textAndMnemonic = \u6d4f\u89c8 -FileChooser.newFolderActionLabelText = \u65b0\u6587\u4ef6\u5939 +FileChooser.upFolderToolTip.textAndMnemonic = \u8fd4\u56de\u4e0a\u7ea7 +FileChooser.viewMenuButtonAccessibleName = \u89c6\u56fe\u83dc\u5355 +FileChooser.viewMenuButtonToolTipText = \u89c6\u56fe\u83dc\u5355 +FileChooser.viewMenuLabel.textAndMnemonic = \u89c6\u56fe +FileChooser.newFolderActionLabelText = \u65b0\u5efa\u6587\u4ef6\u5939 FileChooser.listViewActionLabelText = \u5217\u8868 FileChooser.detailsViewActionLabelText = \u8be6\u7ec6\u4fe1\u606f FileChooser.refreshActionLabelText = \u5237\u65b0 @@ -308,9 +310,9 @@ FileChooser.viewMenuLabelText = \u6d4f\u89c8 FileChooser.fileSizeKiloBytes = {0} KB FileChooser.fileSizeMegaBytes = {0} MB FileChooser.fileSizeGigaBytes = {0} GB -FileChooser.folderNameLabelText = \u76ee\u5f55\u540d: +FileChooser.folderNameLabelText = \u6587\u4ef6\u5939\u540d\u79f0: -error.occured = \u53d1\u751f\u9519\u8bef : %error% +error.occured = \u53d1\u751f\u9519\u8bef: %error% button.abort = \u7ec8\u6b62 button.retry = \u91cd\u8bd5 button.ignore = \u5ffd\u7565 @@ -320,23 +322,23 @@ font.source = \u6e90\u5b57\u4f53: #after version 1.6.7: menu.export = \u5bfc\u51fa -menu.general = \u901a\u7528 +menu.general = \u5e38\u89c4 menu.language = \u8bed\u8a00 startup.welcometo = \u6b22\u8fce\u4f7f\u7528 -startup.selectopen = \u4f7f\u7528\u4e0a\u65b9\u9762\u677f\u7684\u6253\u5f00\u56fe\u6807\u6216\u8005\u62d6\u52a8SWF\u6587\u4ef6\u5230\u5f53\u524d\u7a97\u53e3\u4ee5\u5f00\u59cb\u3002 +startup.selectopen = \u5355\u51fb\u9876\u90e8\u9762\u677f\u4e0a\u7684"\u6253\u5f00"\u56fe\u6807\u6216\u5c06SWF\u6587\u4ef6\u62d6\u5230\u8be5\u7a97\u53e3\u4e2d\u4ee5\u542f\u52a8\u3002 error.font.nocharacter = \u9009\u62e9\u7684\u6e90\u5b57\u4f53\u4e0d\u5305\u542b\u5b57\u7b26 "%char%". -warning.initializers = \u9759\u6001\u5b57\u6bb5\u548c\u5e38\u91cf\u901a\u5e38\u5728\u521d\u59cb\u5316\u65f6\u88ab\u521d\u59cb\u5316\uff0c\n\u5728\u6b64\u7f16\u8f91\u901a\u5e38\u662f\u4e0d\u591f\u7684\uff01 +warning.initializers = \u9759\u6001\u5b57\u6bb5\u548c\u5e38\u91cf\u901a\u5e38\u5728\u5b9a\u4e49\u88ab\u521d\u59cb\u5316\uff0c\n\u4ec5\u5728\u6b64\u7f16\u8f91\u503c\u901a\u5e38\u662f\u4e0d\u591f\u7684\uff01 #after version 1.7.0u1: menu.tools.searchMemory = \u641c\u7d22\u5185\u5b58\u4e2d\u7684SWF -menu.file.reload = \u91cd\u8f7d -message.confirm.reload = \u8be5\u52a8\u4f5c\u5c06\u4f1a\u4e22\u5931\u6240\u6709\u672a\u4fdd\u5b58\u7684\u6539\u52a8\uff0c\u5e76\u91cd\u65b0\u52a0\u8f7d\u5f53\u524dSWF\u6587\u4ef6\u3002\n\u662f\u5426\u7ee7\u7eed\uff1f +menu.file.reload = \u91cd\u65b0\u52a0\u8f7d +message.confirm.reload = \u6b64\u64cd\u4f5c\u5c06\u53d6\u6d88\u6240\u6709\u672a\u4fdd\u5b58\u7684\u66f4\u6539\u5e76\u91cd\u65b0\u52a0\u8f7dSWF\u6587\u4ef6\u3002\n\u662f\u5426\u7ee7\u7eed\uff1f -dialog.selectbkcolor.title = \u8bf7\u9009\u62e9SWF\u663e\u793a\u7684\u80cc\u666f\u8272 +dialog.selectbkcolor.title = \u9009\u62e9SWF\u663e\u793a\u7684\u80cc\u666f\u8272 button.selectbkcolor.hint = \u9009\u62e9\u80cc\u666f\u8272 ColorChooser.okText = \u786e\u5b9a @@ -353,32 +355,32 @@ preview.play = \u64ad\u653e preview.pause = \u6682\u505c preview.stop = \u505c\u6b62 -message.confirm.removemultiple = \u60a8\u786e\u5b9a\u8981\u79fb\u9664 %count% \u4e2a\u9879\u76ee\uff0c\n\u4ee5\u53ca\u5176\u6240\u6709\u7684\u4f9d\u8d56\u5bf9\u8c61\u5417\uff1f +message.confirm.removemultiple = \u60a8\u786e\u5b9a\u8981\u5220\u9664%count%\u4e2a\u9879\u76ee\n\u548c\u6240\u6709\u4f9d\u8d56\u4e8e\u6b64\u7684\u5bf9\u8c61\u5417\uff1f menu.tools.searchCache = \u641c\u7d22\u6d4f\u89c8\u5668\u7f13\u5b58 #after version 1.7.2u2 -error.trait.exists = Trait \u6240\u7528\u7684\u540d\u79f0 \u201c%name%\u201d\u5df2\u5b58\u5728\u3002 -button.addtrait = \u6dfb\u52a0 Trait +error.trait.exists = \u540d\u79f0\u4e3a"%name%"\u7684\u7279\u5f81\u5df2\u7ecf\u5b58\u5728 +button.addtrait = \u6dfb\u52a0\u7279\u5f81 button.font.embed = \u5d4c\u5165... button.yes.all = \u5168\u662f button.no.all = \u5168\u5426 -message.font.add.exists = \u5b57\u7b26 %char% \u5df2\u5b58\u5728\u3002\n\u60a8\u662f\u5426\u8981\u66ff\u6362\uff1f +message.font.add.exists = \u5b57\u7b26"%char%"\u5df2\u5b58\u5728\u4e8e\u6b64\u5b57\u4f53\u6807\u7b7e\u3002\n\u662f\u5426\u8981\u66ff\u6362\u5b83\uff1f -filter.gfx = ScaleForm GFx \u6587\u4ef6 (*.gfx) -filter.supported = \u6240\u6709\u652f\u6301\u6587\u4ef6\u7c7b\u578b +filter.gfx = ScaleForm GFx\u6587\u4ef6(*.gfx) +filter.supported = \u6240\u6709\u652f\u6301\u7684\u6587\u4ef6\u7c7b\u578b work.canceled = \u5df2\u53d6\u6d88 -work.restoringControlFlow = \u6062\u590d\u63a7\u5236\u5668\u6d41\u7a0b +work.restoringControlFlow = \u6062\u590d\u63a7\u5236\u6d41 menu.advancedsettings.advancedsettings = \u9ad8\u7ea7\u8bbe\u7f6e menu.recentFiles = \u6700\u8fd1\u6587\u4ef6 #after version 1.7.4 -work.restoringControlFlow.complete = \u63a7\u5236\u5668\u6d41\u7a0b\u5df2\u6062\u590d -message.confirm.recentFileNotFound = \u627e\u4e0d\u5230\u6587\u4ef6\u3002\u662f\u5426\u4ece\u6700\u8fd1\u6587\u4ef6\u5217\u8868\u79fb\u9664\uff1f -contextmenu.closeSwf = \u5173\u95ed SWF +work.restoringControlFlow.complete = \u63a7\u5236\u6d41\u5df2\u8fd8\u539f +message.confirm.recentFileNotFound = \u627e\u4e0d\u5230\u6b64\u6587\u4ef6\uff0c\u8981\u4ece\u6700\u8fd1\u7684\u6587\u4ef6\u5217\u8868\u4e2d\u5220\u9664\u5b83\u5417\uff1f +contextmenu.closeSwf = \u5173\u95edSWF menu.settings.autoRenameIdentifiers = \u81ea\u52a8\u91cd\u547d\u540d\u6807\u8bc6 -menu.file.saveasexe = \u53e6\u5b58\u4e3aexe... +menu.file.saveasexe = \u53e6\u5b58\u4e3aExe... filter.exe = \u53ef\u6267\u884c\u6587\u4ef6(*.exe) #after version 1.8.0 @@ -393,23 +395,23 @@ fontName.name = \u5b57\u4f53\u663e\u793a\u540d\u79f0: fontName.copyright = \u5b57\u4f53\u7248\u6743: button.preview = \u9884\u89c8 button.reset = \u91cd\u7f6e -errors.info = \u6709\u4fe1\u606f\u65e5\u5fd7\u3002\u70b9\u51fb\u67e5\u770b\u3002 -errors.warning = \u6709\u8b66\u544a\u65e5\u5fd7\u3002\u70b9\u51fb\u67e5\u770b\u3002 +errors.info = \u65e5\u5fd7\u4e2d\u6709INFORMATIONS\uff0c\u70b9\u51fb\u67e5\u770b\u3002 +errors.warning = \u65e5\u5fd7\u4e2d\u6709\u8b66\u544a\uff0c\u70b9\u51fb\u67e5\u770b\u3002 decompilationError = \u53cd\u7f16\u8bd1\u9519\u8bef -disassemblingProgress.toString = \u5230\u5b57\u7b26\u4e32 +disassemblingProgress.toString = \u8f6c\u4e3a\u5b57\u7b26\u4e32 disassemblingProgress.reading = \u8bfb\u53d6\u4e2d -disassemblingProgress.deobfuscating = \u6df7\u6dc6 +disassemblingProgress.deobfuscating = \u53cd\u6df7\u6dc6 -contextmenu.moveTag = \u79fb\u52a8\u6807\u7b7e\u5230 +contextmenu.moveTag = \u5c06\u6807\u7b7e\u79fb\u81f3 -filter.swc = SWC\u7ec4\u4ef6\u6587\u4ef6 (*.swc) -filter.zip = ZIP\u538b\u7f29\u6587\u4ef6 (*.zip) -filter.binary = \u4e8c\u8fdb\u5236\u67e5\u627e - \u6240\u6709\u6587\u4ef6 (*.*) +filter.swc = SWC\u7ec4\u4ef6\u6587\u4ef6(*.swc) +filter.zip = ZIP\u538b\u7f29\u6587\u4ef6(*.zip) +filter.binary = \u4e8c\u8fdb\u5236\u67e5\u627e - \u6240\u6709\u6587\u4ef6(*.*) open.error = \u9519\u8bef -open.error.fileNotFound = \u672a\u627e\u5230\u6587\u4ef6 +open.error.fileNotFound = \u627e\u4e0d\u5230\u6587\u4ef6 open.error.cannotOpen = \u65e0\u6cd5\u6253\u5f00\u6587\u4ef6 node.others = \u5176\u4ed6 @@ -421,43 +423,43 @@ menu.tools.search = \u6587\u672c\u67e5\u627e menu.tools.timeline = \u65f6\u95f4\u8f74 dialog.selectcolor.title = \u9009\u62e9\u989c\u8272 -button.selectcolor.hint = \u70b9\u51fb\u9009\u62e9\u989c\u8272 +button.selectcolor.hint = \u5355\u51fb\u4ee5\u9009\u62e9\u989c\u8272 #default item name, will be used in following sentences generictag.array.item = \u9879\u76ee -generictag.array.insertbeginning = \u5728\u4e00\u5f00\u59cb\u63d2\u5165 %item% -generictag.array.insertbefore = \u63d2\u5165 %item% \u4e4b\u524d -generictag.array.remove = \u79fb\u9664 %item% -generictag.array.insertafter = \u63d2\u5165 %item% \u4e4b\u540e -generictag.array.insertend = \u5728\u7ed3\u675f\u63d2\u5165 %item% +generictag.array.insertbeginning = \u5728\u5f00\u5934\u63d2\u5165%item% +generictag.array.insertbefore = \u63d2\u5165\u5230\u6b64%item%\u4e4b\u524d +generictag.array.remove = \u79fb\u9664\u6b64%item% +generictag.array.insertafter = \u63d2\u5165\u5230\u6b64%item%\u4e4b\u540e +generictag.array.insertend = \u5728\u6700\u540e\u63d2\u5165%item% #after version 2.0.0 contextmenu.expandAll = \u5168\u90e8\u5c55\u5f00 -filter.sounds = \u652f\u6301\u7684\u58f0\u97f3\u683c\u5f0f (*.wav, *.mp3) -filter.sounds.wav = Wave\u6587\u4ef6\u683c\u5f0f (*.wav) -filter.sounds.mp3 = MP3\u538b\u7f29\u683c\u5f0f (*.mp3) +filter.sounds = \u652f\u6301\u7684\u58f0\u97f3\u683c\u5f0f(*.wav, *.mp3) +filter.sounds.wav = Wave\u6587\u4ef6\u683c\u5f0f(*.wav) +filter.sounds.mp3 = MP3\u538b\u7f29\u683c\u5f0f(*.mp3) -error.sound.invalid = \u65e0\u6548\u6587\u4ef6\u3002 +error.sound.invalid = \u65e0\u6548\u7684\u58f0\u97f3\u3002 button.prev = \u4e0a\u4e00\u9875 button.next = \u4e0b\u4e00\u9875 #after version 2.1.0 message.action.playerglobal.title = \u9700\u8981PlayerGlobal\u652f\u6301\u5e93 -message.action.playerglobal.needed = \u82e5\u8981\u76f4\u63a5\u7f16\u8f91AS3\u811a\u672c, \u9700\u8981\u4eceAdobe\u4e3b\u9875\u4e0b\u8f7d\u4e00\u4e2a"PlayerGlobal.swc"\u7684\u652f\u6301\u5e93\u3002\r\n%adobehomepage%\r\n\u70b9\u51fb\u201c\u786e\u5b9a\u201d\u8f6c\u5230\u4e0b\u8f7d\u9875\u9762\u3002 -message.action.playerglobal.place = \u4e0b\u8f7d\u652f\u6301\u5e93PlayerGlobal(.swc),\u5e76\u653e\u5165\u8be5\u6587\u4ef6\u5939\u3002\r\n%libpath%\r\n \u70b9\u51fb\u201c\u786e\u5b9a\u201d\u7ee7\u7eed\u3002 +message.action.playerglobal.needed = \u82e5\u8981\u76f4\u63a5\u7f16\u8f91AS3\u811a\u672c, \u9700\u8981\u4eceAdobe\u4e3b\u9875\u4e0b\u8f7d"PlayerGlobal.swc"\u7684\u652f\u6301\u5e93\u3002\r\n%adobehomepage%\r\n\u70b9\u51fb"\u786e\u5b9a"\u8f6c\u5230\u4e0b\u8f7d\u9875\u9762\u3002 +message.action.playerglobal.place = \u4e0b\u8f7d\u540d\u4e3aPlayerGlobal(.swc)\u7684\u5e93\uff0c\u5e76\u5c06\u5176\u653e\u7f6e\u5230\u76ee\u5f55\r\n%libpath%\r\n\u4e2d\uff0c\u70b9\u51fb"\u786e\u5b9a"\u7ee7\u7eed\u3002 -message.confirm.experimental.function = \u6b64\u529f\u80fd\u4e3a\u5b9e\u9a8c\u6027\uff01\u8fd9\u610f\u5473\u7740\u7ed3\u679c\u5e76\u4e0d\u53ef\u9760\u5e76\u4e14\u4fdd\u5b58\u4e4b\u540e\u65e0\u6cd5\u6b63\u5e38\u8fd0\u884c\u3002 +message.confirm.experimental.function = \u6b64\u529f\u80fd\u662f\u5b9e\u9a8c\u6027\u7684\uff01\u8fd9\u610f\u5473\u7740\u7ed3\u679c\u5e76\u4e0d\u53ef\u9760\u5e76\u4e14\u4fdd\u5b58\u540e\u53ef\u80fd\u65e0\u6cd5\u6b63\u5e38\u8fd0\u884c\u3002 message.confirm.donotshowagain = \u4e0d\u518d\u663e\u793a menu.import = \u5bfc\u5165 menu.file.import.text = \u5bfc\u5165\u6587\u672c import.select.directory = \u9009\u62e9\u5bfc\u5165\u76ee\u5f55 -error.text.import = \u5bfc\u5165\u6587\u672c\u9519\u8bef\u3002\u7ee7\u7eed\uff1f +error.text.import = \u6587\u672c\u5bfc\u5165\u65f6\u51fa\u9519\uff0c\u662f\u5426\u7ee7\u7eed\uff1f #after version 2.1.1 -contextmenu.removeWithDependencies = \u79fb\u9664\u4f9d\u8d56 +contextmenu.removeWithDependencies = \u5220\u9664\u5e76\u79fb\u9664\u4f9d\u8d56 abc.action.find-usages = \u67e5\u627e\u5f15\u7528 abc.action.find-declaration = \u67e5\u627e\u58f0\u660e @@ -465,31 +467,31 @@ abc.action.find-declaration = \u67e5\u627e\u58f0\u660e contextmenu.rawEdit = RAW\u7f16\u8f91 contextmenu.jumpToCharacter = \u8f6c\u5230\u5b57\u7b26 -menu.settings.dumpView = \u67e5\u770b\u8f6c\u50a8 +menu.settings.dumpView = \u8f6c\u50a8\u89c6\u56fe menu.view = \u67e5\u770b menu.file.view.resources = \u8d44\u6e90 -menu.file.view.hex = \u4e8c\u8fdb\u5236 +menu.file.view.hex = \u5341\u516d\u8fdb\u5236\u8f6c\u50a8 -node.header = \u6587\u4ef6\u5934 +node.header = \u6587\u4ef6\u5934\u4fe1\u606f -header.signature = \u6587\u4ef6\u6807\u8bc6: -header.compression = \u538b\u7f29\u6a21\u5f0f: +header.signature = \u7b7e\u540d: +header.compression = \u538b\u7f29: header.compression.lzma = LZMA header.compression.zlib = ZLIB header.compression.none = \u65e0\u538b\u7f29 header.version = SWF\u7248\u672c: header.gfx = GFX: header.filesize = \u6587\u4ef6\u5927\u5c0f -header.framerate = \u5e27\u7387: +header.framerate = \u5e27\u901f: header.framecount = \u5e27\u6570: header.displayrect = \u663e\u793a\u533a\u57df: -header.displayrect.value.twips = %xmin%,%ymin% => %xmax%,%ymax% twips -header.displayrect.value.pixels = %xmin%,%ymin% => %xmax%,%ymax% pixels +header.displayrect.value.twips = %xmin%,%ymin% => %xmax%,%ymax% \u7f07 +header.displayrect.value.pixels = %xmin%,%ymin% => %xmax%,%ymax% \u50cf\u7d20 #after version 2.1.2 -contextmenu.saveToFile = \u53e6\u5b58\u4e3a\u6587\u4ef6 -contextmenu.parseActions = \u89e3\u6790\u52a8\u4f5c +contextmenu.saveToFile = \u4fdd\u5b58\u5230\u6587\u4ef6 +contextmenu.parseActions = \u89e3\u6790actions contextmenu.parseABC = \u89e3\u6790ABC contextmenu.parseInstructions = \u89e3\u6790AVM2\u6307\u4ee4 @@ -499,32 +501,32 @@ menu.file.deobfuscation.old = \u65e7\u6837\u5f0f menu.file.deobfuscation.new = \u65b0\u6837\u5f0f #after version 2.1.4 -contextmenu.openswfinside = \u6253\u5f00 SWF \u5185\u90e8 -binarydata.swfInside = \u5b83\u770b\u8d77\u6765\u50cf\u6709\u8fd9\u4e2a\u4e8c\u8fdb\u5236\u6570\u636e\u6807\u7b7e\u5185\u7684 SWF\u3002\u70b9\u51fb\u6b64\u5904\u5c06\u5176\u52a0\u8f7d\u4e3a\u5b50\u6811\u3002 +contextmenu.openswfinside = \u6253\u5f00SWF\u5185\u90e8 +binarydata.swfInside = \u8be5\u4e8c\u8fdb\u5236\u6570\u636e\u6807\u7b7e\u5185\u4f3c\u4e4e\u6709SWF\uff0c\u5355\u51fb\u6b64\u5904\u5c06\u5176\u52a0\u8f7d\u4e3a\u5b50\u6811\u3002 #after version 3.0.0 button.zoomin.hint = \u653e\u5927 button.zoomout.hint = \u7f29\u5c0f -button.zoomfit.hint = \u7f29\u653e\u5230\u9002\u5408 -button.zoomnone.hint = \u7f29\u653e\u5230 1:1 -button.snapshot.hint = \u6355\u83b7\u5feb\u7167\u5230\u526a\u8d34\u677f +button.zoomfit.hint = \u81ea\u9002\u5e94\u7f29\u653e +button.zoomnone.hint = \u7f29\u653e\u81f31:1 +button.snapshot.hint = \u622a\u56fe\u5230\u526a\u8d34\u677f -editorTruncateWarning = \u5728\u8c03\u8bd5\u6a21\u5f0f\u4e0b\u6587\u672c\u88ab\u622a\u65ad\u5728 %chars% \u4f4d\u7f6e\u3002 +editorTruncateWarning = \u5728\u8c03\u8bd5\u6a21\u5f0f\u4e0b\uff0c\u6587\u672c\u5728"%chars%"\u5904\u88ab\u622a\u65ad\u3002 #Font name which is presented in the SWF Font tag -font.name.intag = \u5728\u6807\u7b7e\u5b57\u4f53\u540d\u79f0: +font.name.intag = \u6807\u7b7e\u4e2d\u7684\u5b57\u4f53\u540d\u79f0: menu.debugger = \u8c03\u8bd5\u5668 menu.debugger.switch = \u8c03\u8bd5\u5668 -menu.debugger.replacetrace = \u66ff\u6362\u8ddf\u8e2a\u8c03\u7528 +menu.debugger.replacetrace = \u66ff\u6362trace\u8c03\u7528 menu.debugger.showlog = \u663e\u793a\u65e5\u5fd7 -message.debugger = \u8be5 SWF \u8c03\u8bd5\u5668\u53ea\u80fd\u7528\u4e8e\u6253\u5370\u8bb0\u5f55\u6d88\u606f\u7684\u7a97\u53e3\uff0c\u6d4f\u89c8\u5668\u63a7\u5236\u53f0\u6216\u8b66\u62a5\u3002\r\n\u5b83\u4e0d\u662f\u8bbe\u8ba1\u7528\u4e8e\u529f\u80fd\uff0c\u5982\u6b65\u5165\u4ee3\u7801\uff0c\u65ad\u70b9\u7b49\u3002 +message.debugger = \u6b64SWF\u8c03\u8bd5\u5668\u53ea\u80fd\u5c06\u6d88\u606f\u6253\u5370\u5230\u65e5\u5fd7\u7a97\u53e3\uff0c\u6d4f\u89c8\u5668\u63a7\u5236\u53f0\u6216\u8b66\u62a5\u4e2d\u3002\r\n\u5b83\u4e0d\u9002\u7528\u4e8e\u6b65\u9aa4\u4ee3\u7801\uff0c\u65ad\u70b9\u7b49\u529f\u80fd\u3002 contextmenu.addTag = \u6dfb\u52a0\u6807\u7b7e -deobfuscation.comment.tryenable = \u63d0\u793a\uff1a\u5728\u8bbe\u7f6e\u60a8\u53ef\u4ee5\u5c1d\u8bd5\u542f\u7528\u201c\u81ea\u52a8\u53cd\u6df7\u6dc6\u201d -deobfuscation.comment.failed = \u53cd\u6df7\u6dc6\u88ab\u6fc0\u6d3b\uff0c\u4f46\u662f\u53cd\u7f16\u8bd1\u8fd8\u662f\u5931\u8d25\u4e86\u3002\u5982\u679c\u6587\u4ef6\u4e0d\u6df7\u4e71\uff0c\u7981\u7528\u201c\u81ea\u52a8\u53cd\u6df7\u6dc6\u201d\u6548\u679c\u4f1a\u66f4\u597d\u3002 +deobfuscation.comment.tryenable = \u63d0\u793a:\u60a8\u53ef\u4ee5\u5c1d\u8bd5\u5728"\u8bbe\u7f6e"\u4e2d\u542f\u7528"\u81ea\u52a8\u53cd\u6df7\u6dc6" +deobfuscation.comment.failed = \u5df2\u6fc0\u6d3b\u53cd\u6df7\u6dc6\u529f\u80fd\uff0c\u4f46\u53cd\u7f16\u8bd1\u4ecd\u7136\u5931\u8d25\u3002\u5982\u679c\u672a\u6df7\u6dc6\u6587\u4ef6\uff0c\u8bf7\u7981\u7528"\u81ea\u52a8\u53cd\u6df7\u6dc6"\u4ee5\u83b7\u5f97\u66f4\u597d\u7684\u7ed3\u679c\u3002 #after version 4.0.2 preview.nextframe = \u4e0b\u4e00\u5e27 @@ -532,24 +534,24 @@ preview.prevframe = \u4e0a\u4e00\u5e27 preview.gotoframe = \u8f6c\u5230\u5e27... preview.gotoframe.dialog.title = \u8f6c\u5230\u5e27 -preview.gotoframe.dialog.message = \u8f93\u5165\u5e27\u53f7 (%min% - %max%) -preview.gotoframe.dialog.frame.error = \u65e0\u6548\u7684\u5e27\u53f7\u3002\u5b83\u5fc5\u987b\u662f\u6570\u5b57 %min% \u548c %max%\u4e4b\u95f4\u3002 +preview.gotoframe.dialog.message = \u8f93\u5165\u5e27\u53f7(%min% - %max%) +preview.gotoframe.dialog.frame.error = \u65e0\u6548\u7684\u5e27\u53f7\uff0c\u5b83\u5fc5\u987b\u662f%min%-%max%\u4e4b\u95f4\u7684\u6570\u5b57\u3002 -error.text.invalid.continue = \u65e0\u6548\u6587\u672c: %text% \u5728\u884c %line%\u3002\u4f60\u60f3\u7ee7\u7eed\u5417\uff1f +error.text.invalid.continue = \u65e0\u6548\u7684\u6587\u672c: \u7b2c%line%\u884c\u4e0a\u7684%text%\uff0c\u662f\u5426\u7ee7\u7eed\uff1f #after version 4.0.5 -contextmenu.copyTag = \u590d\u5236\u6807\u7b7e\u5230 -fit = \u9002\u5408 -button.setAdvanceValues = \u8bbe\u7f6e advanc \u503c +contextmenu.copyTag = \u5c06\u6807\u7b7e\u590d\u5236\u5230 +fit = \u81ea\u9002\u5e94 +button.setAdvanceValues = \u8bbe\u7f6e\u9ad8\u7ea7\u503c menu.tools.replace = \u6587\u672c\u66ff\u6362 -message.confirm.close = \u6709\u672a\u4fdd\u5b58\u7684\u66f4\u6539\u3002\u4f60\u771f\u7684\u8981\u5173\u95ed{swfName}\u5417\uff1f -message.confirm.closeAll = \u6709\u672a\u4fdd\u5b58\u7684\u66f4\u6539\u3002\u4f60\u771f\u7684\u8981\u5173\u95ed\u6240\u6709\u7684SWF\u5417\uff1f +message.confirm.close = \u6709\u672a\u4fdd\u5b58\u7684\u66f4\u6539\uff0c\u786e\u5b9a\u8981\u5173\u95ed{swfName}\u5417\uff1f +message.confirm.closeAll = \u6709\u672a\u4fdd\u5b58\u7684\u66f4\u6539\uff0c\u786e\u5b9a\u8981\u5173\u95ed\u6240\u6709SWF\u5417\uff1f -contextmenu.exportJavaSource = \u5bfc\u51fa Java \u6e90\u4ee3\u7801 -contextmenu.exportSwfXml = \u5bfc\u51fa SWF \u4e3a XML -contextmenu.importSwfXml = \u5bfc\u5165 SWF XML +contextmenu.exportJavaSource = \u5bfc\u51faJava\u6e90\u4ee3\u7801 +contextmenu.exportSwfXml = \u5bfc\u51faSWF\u4e3aXML +contextmenu.importSwfXml = \u5bfc\u5165SWF XML filter.xml = XML @@ -563,92 +565,92 @@ text.align.justify = \u4e24\u7aef\u5bf9\u9f50 text.undo = \u64a4\u6d88\u66f4\u6539 -menu.file.import.xml = \u5bfc\u5165 SWF XML -menu.file.export.xml = \u5bfc\u51fa SWF XML +menu.file.import.xml = \u5bfc\u5165SWF XML +menu.file.export.xml = \u5bfc\u51faSWF XML #after version 4.1.1 -text.align.translatex.decrease = \u51cf\u5c11 TranslateX -text.align.translatex.increase = \u589e\u52a0 TranslateX +text.align.translatex.decrease = \u51cf\u5c11TranslateX +text.align.translatex.increase = \u589e\u52a0TranslateX selectPreviousTag = \u9009\u62e9\u4e0a\u4e00\u4e2a\u6807\u7b7e selectNextTag = \u9009\u62e9\u4e0b\u4e00\u4e2a\u6807\u7b7e -button.ignoreAll = \u5ffd\u7565\u5168\u90e8 -menu.file.import.symbolClass = \u5bfc\u5165\u7b26\u53f7-Class -text.toggleCase = \u5207\u6362\u5916\u58f3 +button.ignoreAll = \u5168\u90e8\u5ffd\u7565 +menu.file.import.symbolClass = \u5bfc\u5165\u7b26\u53f7\u7c7b +text.toggleCase = \u5207\u6362\u5927\u5c0f\u5199 #after version 5.0.2 preview.loop = \u5faa\u73af menu.file.import.script = \u5bfc\u5165\u811a\u672c -contextmenu.copyTagWithDependencies = \u4ee5\u4f9d\u8d56\u5173\u7cfb\u5230\u590d\u5236\u6807\u7b7e -button.replaceWithTag = \u4f7f\u7528\u5176\u5b83\u5b57\u7b26\u66ff\u6362\u6807\u7b7e -button.resolveConstants = \u89e3\u6790\u5e38\u6570 +contextmenu.copyTagWithDependencies = \u590d\u5236\u6807\u7b7e\u53ca\u5176\u4f9d\u8d56\u6027\u5230 +button.replaceWithTag = \u7528\u5176\u4ed6\u5b57\u7b26\u6807\u7b7e\u66ff\u6362 +button.resolveConstants = \u89e3\u6790\u5e38\u91cf #after version 5.1.0 button.viewConstants = \u67e5\u770b\u5e38\u91cf work.exported = \u5bfc\u51fa -button.replaceAlphaChannel = \u66ff\u6362 alpha \u901a\u9053... +button.replaceAlphaChannel = \u66ff\u6362\u900f\u660e\u901a\u9053... tagInfo.header.name = \u540d\u79f0 tagInfo.header.value = \u503c tagInfo.tagType = \u6807\u7b7e\u7c7b\u578b -tagInfo.characterId = \u5b57\u7b26 ID -tagInfo.offset = \u504f\u79fb +tagInfo.characterId = \u5b57\u7b26ID +tagInfo.offset = \u504f\u79fb\u91cf tagInfo.length = \u957f\u5ea6 tagInfo.bounds = \u8fb9\u754c tagInfo.width = \u5bbd\u5ea6 tagInfo.height = \u9ad8\u5ea6 -tagInfo.neededCharacters = \u9700\u8981\u7684\u5b57\u7b26 +tagInfo.neededCharacters = \u6240\u9700\u6807\u7b7e -button.viewhexpcode = \u67e5\u770b\u5341\u516d\u8fdb\u5236\u5e76\u6307\u793a +button.viewhexpcode = \u67e5\u770b\u5341\u516d\u8fdb\u5236\u4e0e\u8bf4\u660e taginfo.header = \u57fa\u672c\u6807\u7b7e\u4fe1\u606f -tagInfo.dependentCharacters = \u76f8\u5173\u5b57\u7b26 +tagInfo.dependentCharacters = \u4ece\u5c5e\u6807\u7b7e #after version 5.3.0 -header.uncompressed = \u65e0\u538b\u7f29 -header.warning.unsupportedGfxCompression = GFX \u4ec5\u652f\u6301\u975e\u538b\u7f29\u6216\u538b\u7f29\u7684 Zlib \u5185\u5bb9\u3002 -header.warning.minimumZlibVersion = ZLIB \u538b\u7f29\u9700\u8981SWF\u7b2c6\u7248\u6216\u66f4\u9ad8\u7248\u672c\u3002 -header.warning.minimumLzmaVersion = LZMA \u538b\u7f29\u9700\u8981 SWF \u7248\u672c 13 \u6216\u66f4\u9ad8\u7248\u672c\u3002 +header.uncompressed = \u672a\u538b\u7f29 +header.warning.unsupportedGfxCompression = GFX\u4ec5\u652f\u6301\u672a\u538b\u7f29\u6216Zlib\u538b\u7f29\u7684\u5185\u5bb9\u3002 +header.warning.minimumZlibVersion = Zlib\u538b\u7f29\u9700\u8981SWF\u7248\u672c6\u6216\u66f4\u9ad8\u7248\u672c\u3002 +header.warning.minimumLzmaVersion = LZMA\u538b\u7f29\u9700\u8981SWF\u7248\u672c13\u6216\u66f4\u9ad8\u7248\u672c\u3002 tagInfo.codecName = \u7f16\u89e3\u7801\u5668\u540d\u79f0 tagInfo.exportFormat = \u5bfc\u51fa\u683c\u5f0f tagInfo.samplingRate = \u91c7\u6837\u7387 tagInfo.stereo = \u7acb\u4f53\u58f0 -tagInfo.sampleCount = \u91c7\u6837\u6570\u91cf +tagInfo.sampleCount = \u6837\u672c\u6570 -filter.dmg = Mac \u53ef\u6267\u884c\u6587\u4ef6 (*.dmg) -filter.linuxExe = Linux \u53ef\u6267\u884c\u6587\u4ef6 +filter.dmg = Mac\u53ef\u6267\u884c\u6587\u4ef6(*.dmg) +filter.linuxExe = Linux\u53ef\u6267\u884c\u6587\u4ef6 -import.script.result = %count% \u811a\u672c\u5df2\u5bfc\u5165\u3002 -import.script.as12warning = \u4ec5 1/2 \u7684\u811a\u672c\u53ef\u4ee5\u5bfc\u5165\u3002 +import.script.result = \u5df2\u5bfc\u5165%count%\u4e2a\u811a\u672c\u3002 +import.script.as12warning = \u4ec5\u5bfc\u5165AS1/2\u811a\u672c\u3002 -error.constantPoolTooBig = \u5e38\u91cf\u6c60\u592a\u5927\u3002 \u7d22\u5f15=%index%, \u5927\u5c0f=%size% -error.image.alpha.invalid = \u65e0\u6548\u7684 Alpha \u901a\u9053\u6570\u636e\u3002 +error.constantPoolTooBig = \u5e38\u91cf\u6c60\u8fc7\u5927\u3002\u7d22\u5f15=%index%, \u5927\u5c0f=%size% +error.image.alpha.invalid = \u65e0\u6548\u7684\u900f\u660e\u901a\u9053\u6570\u636e\u3002 #after version 6.0.2 contextmenu.saveUncompressedToFile = \u4fdd\u5b58\u5230\u672a\u538b\u7f29\u6587\u4ef6 -menu.settings.autoOpenLoadedSWFs = \u6253\u5f00\u5df2\u8f7d\u5165 SWF \u6587\u4ef6\u65f6\u64ad\u653e +menu.settings.autoOpenLoadedSWFs = \u64ad\u653e\u65f6\u6253\u5f00\u5df2\u52a0\u8f7d\u7684SWF #after version 6.1.1 menu.file.start = \u5f00\u59cb menu.file.start.run = \u8fd0\u884c menu.file.start.stop = \u505c\u6b62 menu.file.start.debug = \u8c03\u8bd5 -menu.debugging = \u8c03\u8bd5\u4e2d +menu.debugging = \u6b63\u5728\u8c03\u8bd5 menu.debugging.debug = \u8c03\u8bd5 menu.debugging.debug.stop = \u505c\u6b62 menu.debugging.debug.pause = \u6682\u505c menu.debugging.debug.stepOver = \u5355\u6b65\u6267\u884c -menu.debugging.debug.stepInto = \u5355\u6b65\u6b65\u5165 -menu.debugging.debug.stepOut = \u5355\u6b65\u6b65\u51fa +menu.debugging.debug.stepInto = \u8fdb\u5165 +menu.debugging.debug.stepOut = \u9000\u51fa menu.debugging.debug.continue = \u7ee7\u7eed menu.debugging.debug.stack = \u5806\u6808... -menu.debugging.debug.watch = \u65b0\u5efa\u67e5\u770b... +menu.debugging.debug.watch = \u65b0\u5efa\u76d1\u89c6... -message.playerpath.notset = Flash Player \u653e\u6620\u673a\u6ca1\u6709\u627e\u5230\u3002\u8bf7\u5728\u9ad8\u7ea7\u8bbe\u7f6e/\u8def\u5f84\u914d\u7f6e\u5176\u8def\u5f84\u3002 -message.playerpath.debug.notset = Flash Player \u653e\u6620\u673a\u8c03\u8bd5\u7684\u5185\u5bb9\u6ca1\u6709\u627e\u5230\u3002\u8bf7\u5728\u9ad8\u7ea7\u8bbe\u7f6e/\u8def\u5f84\u914d\u7f6e\u5176\u8def\u5f84\u3002 -message.playerpath.lib.notset = PlayerGlobal (.SWC) \u672a\u627e\u5230\u3002\u8bf7\u5728\u5176\u8def\u5f84\u914d\u7f6e\u9ad8\u7ea7\u8bbe\u7f6e/\u8def\u5f84\u3002 +message.playerpath.notset = \u627e\u4e0d\u5230Flash Player\u64ad\u653e\u5668\uff0c\u8bf7\u5728\u9ad8\u7ea7\u8bbe\u7f6e/\u8def\u5f84(1)\u4e2d\u914d\u7f6e\u5176\u8def\u5f84\u3002 +message.playerpath.debug.notset = \u627e\u4e0d\u5230Flash Player\u8c03\u8bd5\u5668\uff0c\u8bf7\u5728"\u9ad8\u7ea7\u8bbe\u7f6e/\u8def\u5f84(2)"\u4e2d\u914d\u7f6e\u5176\u8def\u5f84\u3002 +message.playerpath.lib.notset = \u627e\u4e0d\u5230PlayerGlobal(.SWC)\uff0c\u8bf7\u5728\u9ad8\u7ea7\u8bbe\u7f6e/\u8def\u5f84(3)\u4e2d\u914d\u7f6e\u5176\u8def\u5f84\u3002 -debugpanel.header = \u8c03\u8bd5\u4e2d +debugpanel.header = \u6b63\u5728\u8c03\u8bd5 variables.header.registers = \u5bc4\u5b58\u5668 variables.header.locals = \u672c\u673a @@ -662,64 +664,64 @@ callStack.header = \u8c03\u7528\u5806\u6808 callStack.header.file = \u6587\u4ef6 callStack.header.line = \u884c -stack.header = \u5806\u53e0 +stack.header = \u5806\u6808 stack.header.item = \u9879\u76ee constantpool.header = \u5e38\u91cf\u6c60 constantpool.header.id = Id constantpool.header.value = \u503c -work.running = \u8fd0\u884c\u884c -work.debugging = \u8c03\u8bd5\u4e2d -work.debugging.instrumenting = SWF \u51c6\u5907\u8c03\u8bd5 -work.breakat = \u65ad\u70b9\u5728\u0020 -work.halted = \u8c03\u8bd5\u5f00\u59cb\uff0c\u6267\u884c\u505c\u6b62\u3002\u6dfb\u52a0\u65ad\u70b9\uff0c\u7136\u540e\u70b9\u51fb\u7ee7\u7eed\uff08F5\uff09\u6062\u590d\u8fd0\u884c\u3002 +work.running = \u6b63\u5728\u8fd0\u884c +work.debugging = \u6b63\u5728\u8c03\u8bd5 +work.debugging.instrumenting = \u6b63\u5728\u4e3aSWF\u8c03\u8bd5\u505a\u51c6\u5907 +work.breakat = \u4e2d\u65ad\u4e8e\u0020 +work.halted = \u8c03\u8bd5\u5f00\u59cb\uff0c\u6267\u884c\u505c\u6b62\u3002\u6dfb\u52a0\u65ad\u70b9\uff0c\u7136\u540e\u70b9\u51fb\u7ee7\u7eed(F5)\u6062\u590d\u8fd0\u884c\u3002 debuglog.header = \u65e5\u5fd7 debuglog.button.clear = \u6e05\u9664 #after 7.0.1 -work.debugging.wait = \u7b49\u5f85 Flash \u8c03\u8bd5\u653e\u6620\u673a\u8fde\u63a5 +work.debugging.wait = \u7b49\u5f85Flash\u8c03\u8bd5\u64ad\u653e\u5668\u8fde\u63a5 -error.debug.listen = \u65e0\u6cd5\u76d1\u542c\u7aef\u53e3 %port%\u3002\u6709\u53ef\u80fd\u662f\u53e6\u4e00\u4e2a Flash \u8c03\u8bd5\u5668\u8fd0\u884c\u3002 +error.debug.listen = \u65e0\u6cd5\u5728\u7aef\u53e3%port%\u4e0a\u4fa6\u542c\uff0c\u53ef\u80fd\u6b63\u5728\u8fd0\u884c\u5176\u4ed6Flash\u8c03\u8bd5\u5668\u3002 debug.break.reason.unknown = (\u672a\u77e5) debug.break.reason.breakpoint = (\u65ad\u70b9) -debug.break.reason.watch = (\u89c2\u770b) +debug.break.reason.watch = (\u76d1\u89c6) debug.break.reason.fault = (\u6545\u969c) debug.break.reason.stopRequest = (\u505c\u6b62\u8bf7\u6c42) debug.break.reason.step = (\u6b65\u9aa4) debug.break.reason.halt = (\u505c\u6b62) -debug.break.reason.scriptLoaded = (\u52a0\u8f7d\u811a\u672c) +debug.break.reason.scriptLoaded = (\u811a\u672c\u5df2\u52a0\u8f7d) -menu.file.start.debugpcode = \u8c03\u8bd5 P-code +menu.file.start.debugpcode = \u8c03\u8bd5P-code #after 7.1.2 button.replaceNoFill = \u66ff\u6362 - \u66f4\u65b0\u8303\u56f4... -message.warning.svgImportExperimental = \u5e76\u975e\u6240\u6709\u7684\u529f\u80fd\u652f\u6301 SVG\u3002\u8bf7\u5bfc\u5165\u540e\u68c0\u67e5\u65e5\u5fd7\u3002 +message.warning.svgImportExperimental = \u5e76\u975e\u6240\u6709\u7684SVG\u529f\u80fd\u90fd\u88ab\u652f\u6301\uff0c\u5bfc\u5165\u540e\u8bf7\u68c0\u67e5\u65e5\u5fd7\u3002 -message.imported.swf = \u8be5 SWF \u6587\u4ef6\u4f7f\u7528\u7684\u90d1\u6e90\u662f\u4ece\u5bfc\u5165 SWF \u6587\u4ef6:\n%url%\n\u4f60\u60f3\u4ece\u8be5URL\u52a0\u8f7d\u5417\uff1f -message.imported.swf.manually = \u65e0\u6cd5\u52a0\u8f7d\u5bfc\u5165\u7684 SWF\n%url%\n\u8be5\u6587\u4ef6\u6216 URL \u4e0d\u5b58\u5728\u3002\n\u4f60\u8981\u9009\u62e9\u672c\u5730\u6587\u4ef6\u5417\uff1f +message.imported.swf = \u6b64\u6587\u4ef6\u4f7f\u7528\u4e86\u5bfc\u5165SWF\u6587\u4ef6\u4e2d\u7684\u8d44\u6e90:\n%url%\n\u662f\u5426\u4ece\u8be5URL\u52a0\u8f7d\u8d44\u6e90\uff1f +message.imported.swf.manually = \u65e0\u6cd5\u52a0\u8f7d\u5bfc\u5165SWF\n%url%\n\u6587\u4ef6\u6216URL\u4e0d\u5b58\u5728\u3002\n\u662f\u5426\u8981\u9009\u62e9\u672c\u5730\u6587\u4ef6\uff1f -message.warning.hexViewNotUpToDate = \u5341\u516d\u8fdb\u5236\u67e5\u770b\u6ca1\u6709\u53ca\u65f6\u66f4\u65b0\u3002\u8bf7\u4fdd\u5b58\u5e76\u91cd\u65b0\u52a0\u8f7d\u66f4\u65b0\u5341\u516d\u8fdb\u5236\u67e5\u770b\u8be5\u6587\u4ef6\u3002 -message.font.replace.updateTexts = \u67d0\u4e9b\u5b57\u7b26\u88ab\u66ff\u6362\u3002\u662f\u5426\u8981\u66f4\u65b0\u73b0\u6709\u7684\u6587\u672c\uff1f +message.warning.hexViewNotUpToDate = \u5341\u516d\u8fdb\u5236\u89c6\u56fe\u4e0d\u662f\u6700\u65b0\u7684\uff0c\u8bf7\u4fdd\u5b58\u5e76\u91cd\u65b0\u52a0\u8f7d\u6587\u4ef6\u4ee5\u66f4\u65b0\u5341\u516d\u8fdb\u5236\u89c6\u56fe\u3002 +message.font.replace.updateTexts = \u66ff\u6362\u4e86\u67d0\u4e9b\u5b57\u7b26\uff0c\u60a8\u8981\u66f4\u65b0\u73b0\u6709\u6587\u672c\u5417\uff1f menu.settings.simplifyExpressions = \u7b80\u5316\u8868\u8fbe\u5f0f #after 8.0.1 menu.recentFiles.empty = \u6700\u8fd1\u7684\u6587\u4ef6\u5217\u8868\u4e3a\u7a7a -message.warning.outOfMemory32BitJre = \u53d1\u751f\u5185\u5b58\u9519\u8bef\u3002\u60a8\u5728 64 \u4f4d\u7cfb\u7edf\u4e0a\u8fd0\u884c 32 \u4f4d\u7684 Java\u3002\u8bf7\u4f7f\u7528 64 \u4f4d\u7684 Java\u3002 +message.warning.outOfMemory32BitJre = \u53d1\u751f\u5185\u5b58\u4e0d\u8db3\u9519\u8bef\uff0c\u60a8\u6b63\u572864\u4f4d\u7cfb\u7edf\u4e0a\u8fd0\u884c32\u4f4dJava\uff0c\u8bf7\u4f7f\u752864\u4f4dJava\u3002 -menu.file.reloadAll = \u91cd\u65b0\u52a0\u8f7d\u6240\u6709 -message.confirm.reloadAll = \u6b64\u64cd\u4f5c\u4f1a\u53d6\u6d88\u6240\u6709\u7684 SWF \u6587\u4ef6\u6240\u6709\u672a\u4fdd\u5b58\u7684\u66f4\u6539\uff0c\u5e76\u518d\u6b21\u91cd\u65b0\u52a0\u8f7d\u6574\u4e2a\u5e94\u7528\u7a0b\u5e8f\u3002\n\u4f60\u60f3\u7ee7\u7eed\u5417\uff1f -export.script.singleFilePallelModeWarning = \u5355\u4e2a\u6587\u4ef6\u7684\u811a\u672c\u8f93\u51fa\u6ca1\u6709\u4f7f\u7528\u542f\u7528\u5e76\u884c\u52a0\u901f\u652f\u6301 +menu.file.reloadAll = \u5168\u90e8\u91cd\u8f7d +message.confirm.reloadAll = \u6b64\u64cd\u4f5c\u5c06\u53d6\u6d88\u6240\u6709\u672a\u4fdd\u5b58\u7684\u66f4\u6539\uff0c\u7136\u540e\u518d\u6b21\u91cd\u65b0\u52a0\u8f7d\u6574\u4e2a\u5e94\u7528\u7a0b\u5e8f\u3002\n\u662f\u5426\u8981\u7ee7\u7eed\uff1f +export.script.singleFilePallelModeWarning = \u542f\u7528\u591a\u7ebf\u7a0b\u52a0\u901f\u65f6\u4e0d\u652f\u6301\u5355\u6587\u4ef6\u811a\u672c\u5bfc\u51fa button.showOriginalBytesInPcodeHex = \u663e\u793a\u539f\u59cb\u5b57\u8282 -button.remove = \u6e05\u9664 +button.remove = \u5220\u9664 button.showFileOffsetInPcodeHex = \u663e\u793a\u6587\u4ef6\u504f\u79fb -generic.editor.amf3.title = AMF3 \u7f16\u8f91\u5668 -generic.editor.amf3.help = AMF3 \u503c\u8bed\u6cd5:\n\ +generic.editor.amf3.title = AMF3\u7f16\u8f91\u5668 +generic.editor.amf3.help = AMF3\u503c\u8bed\u6cd5:\n\ ------------------\n\ \u6807\u91cf\u7c7b\u578b:\n\ %scalar_samples%\ @@ -727,8 +729,51 @@ generic.editor.amf3.help = AMF3 \u503c\u8bed\u6cd5:\n\ %nonscalar_samples%\ \n\ \u6ce8\u610f:\n\ - \ * Nonscalar datatypes can be referenced by previously declared "id" attributes with # syntax:\n\ + \ * \u975e\u6807\u91cf\u6570\u636e\u7c7b\u578b\u53ef\u4ee5\u7531\u5148\u524d\u4f7f\u7528#\u8bed\u6cd5\u58f0\u660e\u7684"id"\u5c5e\u6027\u5f15\u7528:\n\ %reference_sample%\n\ - \ * Keys in Dictionary entries can be any type\n -contextmenu.showInResources = \u5728\u8d44\u6e90\u663e\u793a - + \ * \u8bcd\u5178\u6761\u76ee\u4e2d\u7684\u952e\u53ef\u4ee5\u662f\u4efb\u4f55\u7c7b\u578b\n +contextmenu.showInResources = \u5728\u8d44\u6e90\u4e2d\u663e\u793a +message.flexpath.notset = \u627e\u4e0d\u5230Flex SDK\uff0c\u8bf7\u5728\u9ad8\u7ea7\u8bbe\u7f6e/\u8def\u5f84(4)\u4e2d\u914d\u7f6e\u5176\u8def\u5f84\u3002 + + +#add after panel.disassembled string +abc.detail.split = :\u0020 +abc.detail.trait = \u7279\u5f81 - %trait_type% +abc.detail.trait.method = \u65b9\u6cd5 +abc.detail.trait.getter = \u83b7\u53d6\u5668 +abc.detail.trait.setter = \u8bbe\u7f6e\u5668 +abc.detail.trait.slot = \u63d2\u69fd +abc.detail.trait.const = \u5e38\u91cf +abc.detail.trait.class = \u7c7b +abc.detail.trait.function = \u51fd\u6570 + +abc.detail.specialmethod = \u7279\u6b8a\u65b9\u6cd5 - %specialmethod_type% +abc.detail.specialmethod.scriptinitializer = \u811a\u672c\u521d\u59cb\u5316\u7a0b\u5e8f +abc.detail.specialmethod.classinitializer = \u7c7b\u521d\u59cb\u5316\u7a0b\u5e8f +abc.detail.specialmethod.instanceinitializer = \u5b9e\u4f8b\u521d\u59cb\u5316\u7a0b\u5e8f +abc.detail.innerfunction = \u5185\u90e8\u51fd\u6570 + +button.edit.script.decompiled = \u7f16\u8f91ActionScript +button.edit.script.disassembled = \u7f16\u8f91 P-code + +debug.watch.add = \u5c06\u76d1\u89c6\u6dfb\u52a0\u5230%name% +debug.watch.add.read = \u8bfb\u53d6 +debug.watch.add.write = \u5199\u5165 +debug.watch.add.readwrite = \u8bfb+\u5199- + +error.debug.watch.add = \u65e0\u6cd5\u5c06\u76d1\u89c6\u6dfb\u52a0\u5230\u6b64\u53d8\u91cf\u3002 + +variables.column.scope = \u8303\u56f4 +variables.column.flags = \u6807\u8bb0 +variables.column.trait = \u7279\u5f81 + +message.font.setadvancevalues = \u6b64\u64cd\u4f5c\u4f1a\u5c06\u6b64\u6807\u8bb0\u4e2d\u6240\u6709\u5b57\u7b26\u7684\u884c\u8ddd\u8bbe\u7f6e\u4e3a\u6240\u9009\u5b57\u4f53\u6e90\u884c\u8ddd\u3002 + +menu.tools.deobfuscation.renameColliding = \u91cd\u547d\u540d\u51b2\u7a81\u7684\u7279\u5f81/\u7c7b + +filter.iggy = Iggy\u6587\u4ef6(*.iggy) + +#after 11.1.0 +script.seemsBroken = \u8b66\u544a: \u4ee3\u7801\u53cd\u6c47\u7f16\u5305\u542b\u00a7\u00a7\u6307\u4ee4. \ + \u8fd9\u901a\u5e38\u662f\u7531\u4e8e\u6df7\u6dc6\u9020\u6210\u7684(\u8bf7\u53c2\u9605"\u8bbe\u7f6e/\u81ea\u52a8\u53cd\u6df7\u6dc6")\ + \u6216\u811a\u672c\u662f\u7531\u975e\u6807\u51c6\u7684\u7f16\u8bd1\u5668\u751f\u6210\u7684(\u5982Haxe\u7b49)\u3002 \ diff --git a/src/com/jpexs/decompiler/flash/gui/locales/NewVersionDialog_zh.properties b/src/com/jpexs/decompiler/flash/gui/locales/NewVersionDialog_zh.properties index 32d7f5b6f..3496283f8 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/NewVersionDialog_zh.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/NewVersionDialog_zh.properties @@ -15,14 +15,14 @@ version = version releasedate = \u53d1\u5e03\u65f6\u95f4: -newversionavailable = \u6709\u4e00\u4e2a\u53ef\u7528\u66f4\u65b0: -changeslog = \u66f4\u65b0\u65e5\u5fd7: +newversionavailable = \u6709\u65b0\u7248\u672c\u53ef\u7528: +changeslog = \u66f4\u6539\u65e5\u5fd7: downloadnow = \u7acb\u5373\u4e0b\u8f7d\uff1f -button.ok = \u662f +button.ok = \u786e\u5b9a button.cancel = \u53d6\u6d88 -dialog.title = \u6709\u53ef\u7528\u66f4\u65b0 +dialog.title = \u6709\u65b0\u7248\u672c\u53ef\u7528 newversion = \u65b0\u7248\u672c -newvermessage = %oldAppName% \u7684\u65b0\u7248\u672c\u5df2\u7ecf\u53d1\u5e03: %newAppName%.\r\n\u8bf7\u8bbf\u95ee %projectPage% \u8fdb\u884c\u4e0b\u8f7d. +newvermessage = %oldAppName%\u7684\u65b0\u7248\u672c\u5df2\u7ecf\u53d1\u5e03: %newAppName%.\r\n\u8bf7\u8bbf\u95ee%projectPage%\u8fdb\u884c\u4e0b\u8f7d. #change this only when the date format is wrong in the changelog #you can use any java date format string, e.g: yyyy.MM.dd -customDateFormat = default +customDateFormat = \u9ed8\u8ba4 diff --git a/src/com/jpexs/decompiler/flash/gui/locales/ReplaceCharacterDialog_zh.properties b/src/com/jpexs/decompiler/flash/gui/locales/ReplaceCharacterDialog_zh.properties index 9dc853397..eeab90e0f 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/ReplaceCharacterDialog_zh.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/ReplaceCharacterDialog_zh.properties @@ -13,8 +13,8 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -dialog.title = \u66ff\u6362\u5b57\u7b26\u6807\u8bb0 -replace.width = \u66ff\u6362\u4f7f\u7528: +dialog.title = \u66ff\u6362\u5b57\u7b26\u6807\u7b7e +replace.width = \u66ff\u6362\u4e3a: button.ok = \u786e\u5b9a button.cancel = \u53d6\u6d88 diff --git a/src/com/jpexs/decompiler/flash/gui/locales/ReplaceTraceDialog_zh.properties b/src/com/jpexs/decompiler/flash/gui/locales/ReplaceTraceDialog_zh.properties index c420bd14e..10caa9569 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/ReplaceTraceDialog_zh.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/ReplaceTraceDialog_zh.properties @@ -13,8 +13,8 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -dialog.title = \u66ff\u6362\u8ddf\u8e2a\u529f\u80fd\u8c03\u7528 +dialog.title = \u66ff\u6362trace\u51fd\u6570\u8c03\u7528 -function.debugAlert = debugAlert - Web \u6d4f\u89c8\u5668 JavaScript \u8b66\u544a -function.debugConsole = debugConsole - Web \u6d4f\u89c8\u5668 javascript console.log -function.debugSocket = debugSocket - \u5957\u63a5\u5b57\u8fde\u63a5\u53cd\u7f16\u8bd1 +function.debugAlert = debugAlert - Web\u6d4f\u89c8\u5668 JavaScript\u8b66\u544a +function.debugConsole = debugConsole - Web\u6d4f\u89c8\u5668javascript console.log +function.debugSocket = debugSocket - socket\u8fde\u63a5\u5230\u53cd\u7f16\u8bd1\u5668 diff --git a/src/com/jpexs/decompiler/flash/gui/locales/SearchDialog_zh.properties b/src/com/jpexs/decompiler/flash/gui/locales/SearchDialog_zh.properties index aa57d83ac..2c7485a9e 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/SearchDialog_zh.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/SearchDialog_zh.properties @@ -16,14 +16,15 @@ checkbox.ignorecase = \u5ffd\u7565\u5927\u5c0f\u5199 checkbox.regexp = \u6b63\u5219\u8868\u8fbe\u5f0f button.ok = \u786e\u5b9a button.cancel = \u53d6\u6d88 -label.searchtext = \u641c\u7d22\u5b57\u7b26: -#dialog.title = \u641c\u7d22ActionScript +label.searchtext = \u641c\u7d22\u6587\u5b57: +#dialog.title = \u641c\u7d22AS dialog.title = \u6587\u672c\u641c\u7d22 dialog.title.replace = \u6587\u672c\u66ff\u6362 error = \u9519\u8bef -error.invalidregexp = \u9519\u8bef\u7684\u8868\u8fbe\u5f0f +error.invalidregexp = \u65e0\u6548\u7684\u8868\u8fbe\u5f0f -checkbox.searchText = \u5728\u6587\u672c\u641c\u7d22 -checkbox.searchAS = \u5728 AS \u641c\u7d22 -checkbox.replaceInParameters = \u5728\u53c2\u6570\u66ff\u6362 +checkbox.searchText = \u5728\u6587\u672c\u4e2d\u641c\u7d22 +checkbox.searchAS = \u5728AS\u4e2d\u641c\u7d22 +checkbox.replaceInParameters = \u66ff\u6362\u53c2\u6570 +checkbox.searchPCode = \u5728P-Code\u4e2d\u641c\u7d22 diff --git a/src/com/jpexs/decompiler/flash/gui/locales/SearchResultsDialog_zh.properties b/src/com/jpexs/decompiler/flash/gui/locales/SearchResultsDialog_zh.properties index 05b167b2a..a6a0fc5a8 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/SearchResultsDialog_zh.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/SearchResultsDialog_zh.properties @@ -15,4 +15,4 @@ button.goto = \u8f6c\u5230 button.close = \u5173\u95ed -dialog.title = \u641c\u7d22\u7ed3\u679c: %text% +dialog.title = \u641c\u7d22\u7ed3\u679c:%text% diff --git a/src/com/jpexs/decompiler/flash/gui/locales/abc/DeobfuscationDialog_zh.properties b/src/com/jpexs/decompiler/flash/gui/locales/abc/DeobfuscationDialog_zh.properties index 111589aed..da0c3ec78 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/abc/DeobfuscationDialog_zh.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/abc/DeobfuscationDialog_zh.properties @@ -15,9 +15,9 @@ processallclasses = \u5904\u7406\u6240\u6709\u7c7b dialog.title = P\u4ee3\u7801\u53cd\u6df7\u6dc6 -deobfuscation.level = \u4ee3\u7801\u53cd\u6df7\u6dc6\u7a0b\u5ea6: -deobfuscation.removedeadcode = \u6e05\u9664\u6b7b\u4ee3\u7801 -deobfuscation.removetraps = \u6e05\u9664\u9677\u9631 +deobfuscation.level = \u4ee3\u7801\u53cd\u6df7\u6dc6\u7b49\u7ea7: +deobfuscation.removedeadcode = \u5220\u9664\u65e0\u6548\u4ee3\u7801 +deobfuscation.removetraps = \u6e05\u9664traps deobfuscation.restorecontrolflow = \u91cd\u5efa\u63a7\u5236\u6d41 button.ok = \u786e\u5b9a diff --git a/src/com/jpexs/decompiler/flash/gui/locales/proxy/ProxyFrame_zh.properties b/src/com/jpexs/decompiler/flash/gui/locales/proxy/ProxyFrame_zh.properties index 918260a5d..703a18f5c 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/proxy/ProxyFrame_zh.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/proxy/ProxyFrame_zh.properties @@ -20,16 +20,16 @@ open = \u6253\u5f00 clear = \u6e05\u7a7a rename = \u91cd\u547d\u540d remove = \u5220\u9664 -sniff = \u8303\u56f4: +sniff = \u55c5\u63a2 dialog.title = \u4ee3\u7406 error = \u9519\u8bef -error.port = \u9519\u8bef\u7684\u7aef\u53e3\u53f7\u3002 +error.port = \u7aef\u53e3\u53f7\u683c\u5f0f\u9519\u8bef\u3002 copy.url = \u590d\u5236\u7f51\u5740 save.as = \u53e6\u5b58\u4e3a... replace = \u66ff\u6362... error.save.as = \u65e0\u6cd5\u4fdd\u5b58\u6587\u4ef6 error.replace = \u65e0\u6cd5\u66ff\u6362\u6570\u636e -error.start.server = \u5728\u7aef\u53e3\u670d\u52a1\u5668 %port% \u65e0\u6cd5\u542f\u52a8\u3002\u8bf7\u68c0\u67e5\u7aef\u53e3\u6ca1\u6709\u88ab\u5176\u4ed6\u5e94\u7528\u7a0b\u5e8f\u3002 +error.start.server = \u65e0\u6cd5\u5728\u7aef\u53e3%port%\u4e0a\u542f\u52a8\u670d\u52a1\u5668\u3002 \u8bf7\u68c0\u67e5\u7aef\u53e3\u662f\u5426\u672a\u88ab\u5176\u4ed6\u5e94\u7528\u7a0b\u5e8f\u5360\u7528\u6216\u963b\u6b62\u3002 column.accessed = \u8bbf\u95ee column.size = \u5927\u5c0f column.url = URL