From b13914cca5f6ff8d19d85c4238bee3a71c431c67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=C5=99=C3=ADk?= Date: Sat, 11 Mar 2023 23:03:29 +0100 Subject: [PATCH] Added #355 Updated Chinese translation --- CHANGELOG.md | 3 +- .../flash/locales/AppResources_zh.properties | 7 +- .../locales/docs/pcode/AS3other_zh.properties | 3 + .../AdvancedSettingsDialog_zh.properties | 110 ++++++++ .../gui/locales/ExportDialog_zh.properties | 2 + .../locales/LoadFromMemoryFrame_zh.properties | 4 + .../flash/gui/locales/MainFrame_zh.properties | 252 +++++++++++++++++- .../gui/locales/NewFileDialog_zh.properties | 24 ++ .../gui/locales/SearchDialog_zh.properties | 8 +- .../SelectTagPositionDialog_zh.properties | 18 ++ .../locales/abc/AddClassDialog_zh.properties | 19 ++ .../abc/DeobfuscationDialog_zh.properties | 5 + .../abc/SelectDoABCDialog_zh.properties | 17 ++ 13 files changed, 459 insertions(+), 13 deletions(-) create mode 100644 src/com/jpexs/decompiler/flash/gui/locales/NewFileDialog_zh.properties create mode 100644 src/com/jpexs/decompiler/flash/gui/locales/SelectTagPositionDialog_zh.properties create mode 100644 src/com/jpexs/decompiler/flash/gui/locales/abc/SelectDoABCDialog_zh.properties diff --git a/CHANGELOG.md b/CHANGELOG.md index 0dbb46685..e19e77c0c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ All notable changes to this project will be documented in this file. - [#1888], [#1892] AS3 option to select SWF dependencies to properly resolve namespaces, types, etc. (currently in GUI only) - FileAttributes tag - SWF relative Urls flag - AS3 P-code editing class trait +- [#355] Updated Chinese translation ### Fixed - [#1981] AS3 fully qualified (colliding) types in submethods @@ -3000,6 +3001,7 @@ All notable changes to this project will be documented in this file. [alpha 7]: https://github.com/jindrapetrik/jpexs-decompiler/releases/tag/alpha7 [#1888]: https://www.free-decompiler.com/flash/issues/1888 [#1892]: https://www.free-decompiler.com/flash/issues/1892 +[#355]: https://www.free-decompiler.com/flash/issues/355 [#1981]: https://www.free-decompiler.com/flash/issues/1981 [#1982]: https://www.free-decompiler.com/flash/issues/1982 [#1986]: https://www.free-decompiler.com/flash/issues/1986 @@ -3693,7 +3695,6 @@ All notable changes to this project will be documented in this file. [#378]: https://www.free-decompiler.com/flash/issues/378 [#325]: https://www.free-decompiler.com/flash/issues/325 [#210]: https://www.free-decompiler.com/flash/issues/210 -[#355]: https://www.free-decompiler.com/flash/issues/355 [#313]: https://www.free-decompiler.com/flash/issues/313 [#330]: https://www.free-decompiler.com/flash/issues/330 [#332]: https://www.free-decompiler.com/flash/issues/332 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 36e1dd257..26100455f 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 @@ -27,7 +27,7 @@ decompilation.unsupported = \u4e0d\u53d7\u53cd\u7f16\u8bd1\u5668\u652f\u6301 decompilerMark = \u53cd\u7f16\u8bd1\u6807\u8bb0 #example: 1 hour and 2 minutes -timeFormat.and = \ +timeFormat.and = \u548c timeFormat.hour = \u65f6 timeFormat.hours = \u65f6 timeFormat.minute = \u5206 @@ -40,3 +40,8 @@ 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 +#after 16.3.1 +package.default = <\u9ed8\u8ba4\u5305> +error.swf.invalid = \u4e0d\u53ef\u7528\u7684SWF\u6587\u4ef6 +error.swf.headerTooShort = SWF\u6807\u5934\u8fc7\u77ed +error.abc.invalid = \u4e0d\u53ef\u7528\u7684ABC\u6587\u4ef6 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 index 5f07a2a35..44436508a 100644 --- 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 @@ -61,6 +61,8 @@ trait.flag.OVERRIDE = \u8986\u76d6\u7236\u9879\u7684\u7279\u5f81 trait.dispid = \u6d3e\u9063 id #slot/const/class/function trait.slotid = \u63d2\u69fd id +trait.type = \u7279\u5f81\u7c7b\u578b +trait.value = \u7279\u5f81\u9ed8\u8ba4\u503c method = \u65b9\u6cd5 method.name = \u65b9\u6cd5\u540d\u79f0 @@ -89,3 +91,4 @@ method.body.try.target = \u5982\u679c\u629b\u51fa\u6b64\u7c7b\u578b\u7684\u5f02\ 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 +method.body.trait = \u65b9\u6cd5\u4e3b\u4f53\u7279\u5f81 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 769181ef5..885e12ef0 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog_zh.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog_zh.properties @@ -516,3 +516,113 @@ config.description.displayAs3PCodeDocsPanel = \u5728AS3 P-code\u4e2d\u663e\u793a config.name.displayAs3TraitsListAndConstantsPanel = \u663e\u793aAS3\u7279\u5f81\u548c\u5e38\u91cf\u9762\u677f config.description.displayAs3TraitsListAndConstantsPanel = \u5728AS3\u7684\u6807\u7b7e\u6811\u4e0b\u663e\u793atraits\u548cconstants\u5217\u8868\u9762\u677f +#after 14.1.0 +config.name.useAsTypeIcons = \u6839\u636e\u9879\u76ee\u7c7b\u578b\u4f7f\u7528\u811a\u672c\u56fe\u6807 +config.description.useAsTypeIcons = \u5bf9\u4e0d\u540c\u7684\u811a\u672c\u7c7b\u578b\u4f7f\u7528\u4e0d\u540c\u7684\u56fe\u6807(\u7c7b/\u63a5\u53e3/\u5e27/...) +config.name.limitAs3PCodeOffsetMatching = AS3 P-code\u504f\u79fb\u5339\u914d\u9650\u5236 +config.description.limitAs3PCodeOffsetMatching = \u4e0eAS3\u811a\u672c\u504f\u79fb\u5339\u914d\u7684AS3 P-code\u6307\u4ee4\u9650\u5236 +#after 14.2.1 +config.name.showSlowRenderingWarning = \u6e32\u67d3\u8fc7\u6162\u65f6\u65e5\u5fd7\u8b66\u544a +config.description.showSlowRenderingWarning = \u5185\u90e8\u64ad\u653e\u5668\u8fc7\u6162\u65f6\u65e5\u5fd7\u8b66\u544a +#after 14.3.1 +config.name.autoCloseQuotes = \u811a\u672c\u7f16\u8f91\u4e2d\u81ea\u52a8\u5173\u95ed'' +config.description.autoCloseQuotes = \u8f93\u5165'\u65f6\u81ea\u52a8\u63d2\u5165\u7b2c\u4e8c\u4e2a +config.name.autoCloseDoubleQuotes = \u811a\u672c\u7f16\u8f91\u4e2d\u81ea\u52a8\u5173\u95ed"" +config.description.autoCloseDoubleQuotes = \u8f93\u5165"\u65f6\u81ea\u52a8\u63d2\u5165\u7b2c\u4e8c\u4e2a +config.name.autoCloseBrackets = \u811a\u672c\u7f16\u8f91\u4e2d\u81ea\u52a8\u5173\u95ed[] +config.description.autoCloseBrackets = \u8f93\u5165[\u65f6\u81ea\u52a8\u63d2\u5165] +config.name.autoCloseParenthesis = \u811a\u672c\u7f16\u8f91\u4e2d\u81ea\u52a8\u5173\u95ed() +config.description.autoCloseParenthesis = \u8f93\u5165(\u65f6\u81ea\u52a8\u63d2\u5165) +config.name.showDialogOnError = \u51fa\u9519\u65f6\u5747\u5f39\u51fa\u9519\u8bef\u5bf9\u8bdd\u6846 +config.description.showDialogOnError = \u6bcf\u4e2a\u9519\u8bef\u53d1\u751f\u65f6\u90fd\u663e\u793a\u9519\u8bef\u5bf9\u8bdd\u6846 +#after 14.4.0 +config.name.limitSameChars = \u76f8\u540c\u5b57\u7b26\u9650\u5236 +config.description.limitSameChars = P-code\u5b57\u7b26\u4e32\u4e00\u884c\u4e2d\u7684\u76f8\u540c\u5b57\u7b26\u6216\u88ab\u66ff\u6362\u4e3a\\{xx}C (repeat) escape\u524d\u6df7\u6dc6\u540d\u79f0\u7684\u6700\u5927\u503c +#after 14.5.2 +config.name.showImportScriptsInfo = \u5bfc\u5165\u811a\u672c\u524d\u663e\u793a\u4fe1\u606f +config.description.showImportScriptsInfo = \u5728\u83dc\u5355\u4e2d\u70b9\u51fb\u5bfc\u5165\u811a\u672c\u540e\uff0c\u663e\u793a\u5bfc\u5165\u811a\u672c\u7684\u6559\u7a0b +config.name.showImportTextInfo = \u5bfc\u5165\u6587\u672c\u524d\u663e\u793a\u4fe1\u606f +config.description.showImportTextInfo = \u5728\u83dc\u5355\u4e2d\u70b9\u51fb\u5bfc\u5165\u6587\u672c\u540e\uff0c\u663e\u793a\u5bfc\u5165\u6587\u672c\u7684\u6559\u7a0b +config.name.showImportSymbolClassInfo = \u5bfc\u5165\u7b26\u53f7\u7c7b\u524d\u663e\u793a\u4fe1\u606f +config.description.showImportSymbolClassInfo = \u5728\u83dc\u5355\u4e2d\u70b9\u51fb\u5bfc\u5165\u7b26\u53f7\u7c7b\u540e\uff0c\u663e\u793a\u5bfc\u5165\u7b26\u53f7\u7c7b\u7684\u6559\u7a0b +config.name.showImportXmlInfo = \u5bfc\u5165XML\u524d\u663e\u793a\u4fe1\u606f +config.description.showImportXmlInfo = \u5728\u83dc\u5355\u4e2d\u70b9\u51fb\u5bfc\u5165XML\u540e\uff0c\u663e\u793a\u5bfc\u5165XML\u7684\u6559\u7a0b +#after 15.1.1 +config.name.lastSessionTagListSelection = \u4e0a\u6b21\u4f1a\u8bdd\u6807\u7b7e\u5217\u8868\u9009\u62e9 +config.description.lastSessionTagListSelection = \u5305\u542b\u4e0a\u6b21\u4f1a\u8bdd\u5217\u8868\u9009\u62e9\u89c6\u56fe\u4e2d\u7684\u9009\u62e9 +config.name.lastView = \u4e0a\u6b21\u89c6\u56fe +config.description.lastView = \u4e0a\u6b21\u663e\u793a\u7684\u89c6\u56fe\u6a21\u5f0f +config.name.swfSpecificCustomConfigs = SWF\u7279\u5b9a\u81ea\u5b9a\u4e49\u914d\u7f6e +config.description.swfSpecificCustomConfigs = \u5305\u542b\u81ea\u5b9a\u4e49\u683c\u5f0f\u7684SWF\u7279\u5b9a\u914d\u7f6e +config.name.warningOpeningReadOnly = \u6253\u5f00\u53ea\u8bfbSWF\u65f6\u8b66\u544a +config.description.warningOpeningReadOnly = \u4ece\u53ea\u8bfb\u6e90\u6253\u5f00SWF\u65f6\u8b66\u544a +# after 16.1.0 +config.name.showImportImageInfo = \u5bfc\u5165\u56fe\u50cf\u524d\u663e\u793a\u4fe1\u606f +config.description.showImportImageInfo = \u5728\u83dc\u5355\u4e2d\u70b9\u51fb\u5bfc\u5165\u56fe\u50cf\u540e\uff0c\u663e\u793a\u5bfc\u5165\u56fe\u50cf\u7684\u6559\u7a0b +config.name.autoPlaySwfs = \u81ea\u52a8\u64ad\u653eSWF\u9884\u89c8 +config.description.autoPlaySwfs = \u9009\u62e9SWF\u8282\u70b9\u65f6\u81ea\u52a8\u64ad\u653eSWF\u9884\u89c8 +config.name.expandFirstLevelOfTreeOnLoad = SWF\u52a0\u8f7d\u65f6\u5c55\u5f00\u4e00\u7ea7\u8282\u70b9 +config.description.expandFirstLevelOfTreeOnLoad = \u6253\u5f00SWF\u65f6\u81ea\u52a8\u5c55\u5f00\u5206\u652f\u4e2d\u7684\u4e00\u7ea7\u8282\u70b9 +# after 16.2.0 +config.name.allowPlacingDefinesIntoSprites = \u5c06define\u6807\u7b7e\u653e\u5165DefineSprite +config.description.allowPlacingDefinesIntoSprites = \u5c06(moving/copying/dragging into)define\u6807\u7b7e\u653e\u5165DefineSprite +config.name.allowDragAndDropInTagListTree = \u6807\u7b7e\u5217\u8868\u62d6\u653e +config.description.allowDragAndDropInTagListTree = \u5141\u8bb8\u5728\u6807\u7b7e\u5217\u8868\u901a\u8fc7\u62d6\u653e\u79fb\u52a8/\u590d\u5236\u6807\u7b7e +config.name.allowMiterClipLinestyle = \u659c\u5207\u5939\u7ebf\u6837\u5f0f(\u6162) +config.description.allowMiterClipLinestyle = \u5141\u8bb8\u4f7f\u7528\u652f\u6301\u659c\u5207\u5939\u7ebf\u6837\u5f0f\u7684\u81ea\u5b9a\u4e49\u6e32\u67d3\u5668\uff0c\u4f46\u901f\u5ea6\u5f88\u6162 +advancedSettings.search = \u641c\u7d22: +# after 16.3.1 +config.name.animateSubsprites = \u9884\u89c8\u5b50\u52a8\u753b +config.description.animateSubsprites = \u9884\u89c8\u65f6\u95f4\u8f74\u4e2d\u7684\u5b50\u52a8\u753b +config.name.autoPlayPreviews = \u9884\u89c8\u81ea\u52a8\u64ad\u653e +config.description.autoPlayPreviews = \u81ea\u52a8\u64ad\u653e\u9884\u89c8\u52a8\u753b +config.name.maxCachedTime = \u4e34\u65f6\u7f13\u5b58\u65f6\u95f4 +config.description.maxCachedTime = \u9879\u76ee\u4e0d\u8bbf\u95ee\u540e\u4ece\u7f13\u5b58\u79fb\u9664\u7684\u6700\u5927\u65f6\u95f4.0\u4e3a\u65e0\u9650\u5236 +config.name.airLibLocation = 6) AIR\u5e93\u8def\u5f84(airglobal.swc) +config.description.airLibLocation = AIR\u5e93(airglobal.swc)\u7684\u8def\u5f84. \u5e38\u7528\u4e8eAS3\u6c47\u7f16. +config.name.showImportShapeInfo = \u5bfc\u5165\u5f62\u72b6\u524d\u663e\u793a\u4fe1\u606f +config.description.showImportShapeInfo = \u5728\u83dc\u5355\u4e2d\u70b9\u51fb\u5bfc\u5165\u5f62\u72b6\u540e\uff0c\u663e\u793a\u5bfc\u5165\u5f62\u72b6\u7684\u6559\u7a0b +config.name.pinnedItemsTagTreePaths = \u6807\u7b7e\u89c6\u56fe\u4e2d\u56fa\u5b9a\u7684\u9879\u76ee\u8def\u5f84 +config.description.pinnedItemsTagTreePaths = \u5df2\u56fa\u5b9a\u7684\u6807\u7b7e\u8282\u70b9\u7684\u8def\u5f84 +config.name.pinnedItemsTagListPaths = \u6807\u7b7e\u5217\u8868\u4e2d\u56fa\u5b9a\u7684\u9879\u76ee\u8def\u5f84 +config.description.pinnedItemsTagListPaths = \u5df2\u56fa\u5b9a\u7684\u6807\u7b7e\u8282\u70b9\u7684\u8def\u5f84 +config.name.flattenASPackages = \u5c55\u5f00ActionScript\u5305 +config.description.flattenASPackages = \u6bcf\u4e2a\u5305\u5355\u72ec\u4e00\u4e2a\u9879\u76ee\u800c\u4e0d\u662f\u5305\u5206\u652f\u7ed3\u6784 +config.name.gui.scale = UI\u7f29\u653e\u8bbe\u7f6e +config.description.gui.scale = \u56fe\u5f62\u754c\u9762\u7684\u7f29\u653e\u8bbe\u7f6e.Mac Retina\u8bbe\u7f6e\u4e3a2.0.\u9700\u8981\u5b8c\u5168\u5173\u95ed\u8f6f\u4ef6 +config.name.warning.video.vlc = VLC\u64ad\u653e\u5668\u63d0\u793a +config.description.warning.video.vlc = \u6253\u5f00\u6709DefineVideostream\u6807\u7b7e\u7684SWF\u65f6\uff0c\u663e\u793aVLC media player\u76f8\u5173\u63d0\u793a +config.name.playFrameSounds = \u64ad\u653e\u5e27\u58f0\u97f3 +config.description.playFrameSounds = \u663e\u793a\u5e27\u65f6\u64ad\u653e\u58f0\u97f3 +config.name.fixAntialiasConflation = \u5c1d\u8bd5\u4fee\u590d\u6297\u952f\u9f7f\u878d\u5408(\u5b9e\u9a8c\u6027,\u6162) +config.description.fixAntialiasConflation = \u5c1d\u8bd5\u4fee\u590d\u6297\u952f\u9f7f\u5bfc\u81f4\u7684\u76f8\u90bb\u5f62\u72b6\u4e4b\u95f4\u7684\u6297\u952f\u9f7f\u878d\u5408.\u8fd9\u5c06\u51cf\u6162\u6e32\u67d3.\u5b9e\u9a8c\u6027\u529f\u80fd. +config.name.autoPlaySounds = \u81ea\u52a8\u64ad\u653e\u58f0\u97f3 +config.description.autoPlaySounds = \u9009\u4e2d\u8282\u70b9\u65f6\u81ea\u52a8\u64ad\u653eDefineSound +config.name.deobfuscateAs12RemoveInvalidNamesAssignments = AS1/2\u53cd\u6df7\u6dc6: \u5220\u9664\u5e26\u6df7\u6dc6\u540d\u79f0\u7684\u53d8\u91cf\u58f0\u660e +config.description.deobfuscateAs12RemoveInvalidNamesAssignments = AS1/2\u53cd\u6df7\u6dc6\u65f6, \u5220\u9664\u5177\u6709\u975e\u6807\u51c6\u540d\u79f0\u7684\u53d8\u91cf\u58f0\u660e. \u8b66\u544a: \u8fd9\u53ef\u80fd\u4f1a\u635f\u574f\u4f9d\u8d56\u6df7\u6dc6\u540d\u79f0\u7684SWF +config.name.gui.splitPanePlace.dividerLocationPercent = (\u5185\u90e8)\u5206\u79bb\u5668\u4f4d\u7f6e +config.name.gui.splitPaneTransform1.dividerLocationPercent = (\u5185\u90e8)\u5206\u79bb\u5668\u8f6c\u63621\u4f4d\u7f6e +config.name.gui.splitPaneTransform2.dividerLocationPercent = (\u5185\u90e8)\u5206\u79bb\u5668\u8f6c\u63622\u4f4d\u7f6e +config.name.gui.transform.lastExpandedCards = (\u5185\u90e8)\u4e0a\u6b21\u5c55\u5f00\u7684\u8f6c\u6362\u5361 +config.name.doubleClickNodeToEdit = \u53cc\u51fb\u5f00\u59cb\u7f16\u8f91 +config.description.doubleClickNodeToEdit = \u53cc\u51fb\u8282\u70b9\u5bf9\u5176\u5f00\u59cb\u7f16\u8f91 +config.name.warningDeobfuscation = \u5207\u6362\u53cd\u6df7\u6dc6\u65f6\u8b66\u544a +config.description.warningDeobfuscation = \u5f00\u5173\u53cd\u6df7\u6dc6\u65f6\u663e\u793a\u8b66\u544a +config.name.warningRenameIdentifiers = \u5207\u6362\u81ea\u52a8\u91cd\u547d\u540d\u6807\u8bc6\u7b26\u65f6\u8b66\u544a +config.description.warningRenameIdentifiers = \u5f00\u5173\u81ea\u52a8\u91cd\u547d\u540d\u6807\u8bc6\u7b26\u65f6\u663e\u793a\u8b66\u544a +config.name.showImportMovieInfo = \u5bfc\u5165\u89c6\u9891\u524d\u663e\u793a\u4fe1\u606f +config.description.showImportMovieInfo = \u5728\u83dc\u5355\u4e2d\u70b9\u51fb\u5bfc\u5165\u89c6\u9891\u540e\uff0c\u663e\u793a\u5bfc\u5165\u89c6\u9891\u7684\u6559\u7a0b +config.name.showImportSoundInfo = \u5bfc\u5165\u58f0\u97f3\u524d\u663e\u793a\u4fe1\u606f +config.description.showImportSoundInfo = \u5728\u83dc\u5355\u4e2d\u70b9\u51fb\u5bfc\u5165\u58f0\u97f3\u540e\uff0c\u663e\u793a\u5bfc\u5165\u58f0\u97f3\u7684\u6559\u7a0b +config.name.svgRetainBounds = \u5bfc\u51faSVG\u65f6\u4fdd\u6301\u5f62\u72b6\u754c\u9650 +config.description.svgRetainBounds = \u5bfc\u51faSVG\u65f6, \u5f62\u72b6\u7684x,y\u4f4d\u7f6e\u4e0eSWF\u4e2d\u4fdd\u6301\u4e00\u81f4(\u4f8b\u5982\u6b63\u6216\u8d1f) +config.name.disableBitmapSmoothing = \u7981\u7528\u5e73\u6ed1\u4f4d\u56fe +config.description.disableBitmapSmoothing = \u663e\u793a\u65f6\u7981\u7528\u5e73\u6ed1\u4f4d\u56fe\u586b\u5145 - \u5168\u90e8\u663e\u793a\u4e3a\u975e\u5e73\u6ed1(\u50cf\u7d20).\u4e0d\u9002\u7528\u4e8e\u5bfc\u51fa\u7684\u56fe\u50cf +config.name.pinnedItemsScrollPos = \u56fa\u5b9a\u9879\u76ee\u6eda\u52a8/\u63d2\u5165\u4f4d\u7f6e +config.description.pinnedItemsScrollPos = \u56fa\u5b9a\u9879\u76ee\u7684\u6eda\u52a8/\u63d2\u5165\u4f4d\u7f6e +config.name.maxRememberedScrollposItems = \u6eda\u52a8\u4f4d\u7f6e\u6700\u5927\u8bb0\u5fc6\u6570 +config.description.maxRememberedScrollposItems = \u8bb0\u5fc6\u6eda\u52a8\u4f4d\u7f6e\u9879\u76ee\u7684\u6700\u5927\u503c +config.name.rememberScriptsScrollPos = \u8bb0\u4f4f\u811a\u672c\u6eda\u52a8/\u63d2\u5165\u4f4d\u7f6e +config.description.rememberScriptsScrollPos = \u811a\u672c\u6eda\u52a8/\u63d2\u5165\u4f4d\u7f6e\u5728\u5207\u6362\u9879\u76ee\u65f6\u4fdd\u5b58 +config.name.rememberFoldersScrollPos = \u8bb0\u4f4f\u6587\u4ef6\u5939\u6eda\u52a8\u4f4d\u7f6e +config.description.rememberFoldersScrollPos = \u6587\u4ef6\u5939\u6eda\u52a8\u4f4d\u7f6e\u5728\u5207\u6362\u9879\u76ee\u65f6\u4fdd\u5b58 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 27af01804..0369855c2 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/ExportDialog_zh.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/ExportDialog_zh.properties @@ -98,3 +98,5 @@ zoom.invalid = \u65e0\u6548\u7f29\u653e\u503c\u3002 symbolclass = \u7b26\u53f7\u7c7b\u6620\u5c04 symbolclass.csv = CSV +#after 18.0.0 +images.png_gif_jpeg_alpha = PNG/GIF/JPEG+alpha 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 6f1572fbe..d17576810 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/LoadFromMemoryFrame_zh.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/LoadFromMemoryFrame_zh.properties @@ -30,3 +30,7 @@ column.fileSize = \u6587\u4ef6\u5927\u5c0f column.pid = PID column.processName = \u8fdb\u7a0b\u540d\u79f0 column.address = \u5730\u5740 +#after 17.0.4 +hex = \u5341\u516d\u8fdb\u5236 +align = \u4ec5\u5bf9\u9f50\u5230: +align.bytes = \u5b57\u8282 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 fbd80a67e..d729e6a97 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_zh.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/MainFrame_zh.properties @@ -33,7 +33,7 @@ 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\u90e8FlashViewr +menu.settings.internalflashviewer = \u4f7f\u7528\u5185\u90e8\u64ad\u653e\u5668 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\u53f3\u952e\u83dc\u5355 @@ -89,7 +89,7 @@ message.confirm = \u786e\u8ba4 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.trait.saved = \u5df2\u6210\u529f\u4fdd\u5b58\u7279\u5f81 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 @@ -394,8 +394,8 @@ fontName.name = \u5b57\u4f53\u663e\u793a\u540d\u79f0: fontName.copyright = \u5b57\u4f53\u7248\u6743: button.preview = \u9884\u89c8 button.reset = \u91cd\u7f6e -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 +errors.info = \u65e5\u5fd7\u4e2d\u5b58\u5728INFORMATIONS\uff0c\u70b9\u51fb\u67e5\u770b\u3002 +errors.warning = \u65e5\u5fd7\u4e2d\u5b58\u5728WARNINGS\uff0c\u70b9\u51fb\u67e5\u770b\u3002 decompilationError = \u53cd\u7f16\u8bd1\u9519\u8bef @@ -702,7 +702,7 @@ message.warning.svgImportExperimental = \u5e76\u975e\u6240\u6709\u7684SVG\u529f\ 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\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.warning.hexViewNotUpToDate = \u5341\u516d\u8fdb\u5236\u89c6\u56fe\u672a\u66f4\u65b0\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 @@ -728,9 +728,9 @@ generic.editor.amf3.help = AMF3\u503c\u8bed\u6cd5:\n\ %nonscalar_samples%\ \n\ \u6ce8\u610f:\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\ + * \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\ - * \u8bcd\u5178\u6761\u76ee\u4e2d\u7684\u952e\u53ef\u4ee5\u662f\u4efb\u4f55\u7c7b\u578b\n + * \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 @@ -792,6 +792,240 @@ message.confirm.remove.nodep = \u60a8\u786e\u5b9a\u8981\u5220\u9664%item%\uff1f message.confirm.removemultiple.nodep = \u60a8\u786e\u5b9a\u8981\u5220\u9664%count%\u4e2a\u9879\u76ee\uff1f -menu.recentSearches = \u641c\u7d22\u8bb0\u5f55 +menu.recentSearches = \u5f53\u524d\u6587\u4ef6\u7684\u6700\u8fd1\u641c\u7d22 menu.recentSearches.empty = \u641c\u7d22\u8bb0\u5f55\u4e3a\u7a7a -menu.tools.otherTools.clearRecentSearches = \u6e05\u7a7a\u641c\u7d22\u8bb0\u5f55 +#after 14.1.0 +menu.tools.otherTools.clearRecentSearches = \u6e05\u7a7a\u6700\u8fd1\u641c\u7d22 +menu.recentSearches.clear = \u6e05\u7a7a\u641c\u7d22\u7ed3\u679c +message.confirm.recentSearches.clear = \u786e\u5b9a\u8981\u6e05\u7a7a\u5f53\u524d\u6587\u4ef6\u7684\u6700\u8fd1\u641c\u7d22\u5417\uff1f +message.input.gotoCharacter.title = \u53bb\u5230\u5b57\u7b26 +message.input.gotoCharacter = \u8f93\u5165\u5b57\u7b26ID +message.character.notfound = \u672a\u627e\u5230\u5b57\u7b26 %characterid% . +FileChooser.preview = \u9884\u89c8 +FileChooser.previewNotAvailable = (\u9884\u89c8\u4e0d\u53ef\u7528) +#after 14.2.1 +button.freetransform = \u81ea\u7531\u53d8\u6362 +#after 14.3.1 +error.outOfMemory.title = \u9519\u8bef - \u5185\u5b58\u6ea2\u51fa +error.outOfMemory = \u53cd\u7f16\u8bd1\u5668\u5185\u5b58\u6ea2\u51fa. \u5f53\u524d\u7684Java\u5806\u6700\u5927\u503c\u4e3a %maxheap%. +error.outOfMemory.windows = \u901a\u8fc7"ffdec.exe"\u8fd0\u884c\u65f6, \u5b83\u5c06\u88ab\u8bbe\u7f6e\u4e3a\u6700\u5927\u53ef\u7528\u503c.\n\u5982\u679c\u901a\u8fc7"ffdec.bat"\u8fd0\u884c, \u4f60\u53ef\u4ee5\u5728\u8be5\u6587\u4ef6\u4e2d\u66f4\u6539\u8be5\u503c. +error.outOfMemory.unixmac = \u4f60\u53ef\u4ee5\u901a\u8fc7\u7f16\u8f91"ffdec.sh"\u6587\u4ef6\u6765\u589e\u52a0\u6b64\u6700\u5927\u503c. +error.outOfMemory.64bit = \u4f60\u9700\u898164\u4f4d\u7cfb\u7edf\u548cJava\u6765\u4f7f\u7528\u6bd4CCA 1GB\u66f4\u591a\u7684\u5185\u5b58. +error.outOfMemory.32BitJreOn64bitOs = \u8b66\u544a: \u4f60\u6b63\u572864\u4f4d\u7cfb\u7edf\u4f7f\u752832\u4f4d\u7684Java. \u8bf7\u4f7f\u752864\u4f4d\u7684Java. +notavailable.internalviewer = \u6b64\u5bf9\u8c61\u7684\u9884\u89c8\u9700\u8981Flash ActiveX\u7ec4\u4ef6.\n \ + \u4f60\u53ef\u4ee5\u5728"\u9ad8\u7ea7\u8bbe\u7f6e/\u5176\u4ed6"\u4e2d\n \ + \u52fe\u9009"(\u5f03\u7528)\u4f7f\u7528Adobe Flash Player\u9884\u89c8" +notavailable.activex = \u7531\u4e8eFlash ActiveX\u65e0\u6cd5\u8fd0\u884c, \u6b64\u5bf9\u8c61\u7684\u9884\u89c8\u4e0d\u53ef\u7528.\n \ + \u8fd9\u662f\u6b63\u5e38\u73b0\u8c61, \u56e0\u4e3aAdobe\u57282021\u5e74\u505c\u6b62\u4e86\u652f\u6301. +notavailable.activex.disable = \u4f60\u53ef\u4ee5\u53d6\u6d88\u52fe\u9009"\u9ad8\u7ea7\u8bbe\u7f6e/\u5176\u4ed6/(\u5f03\u7528)\u4f7f\u7528Adobe Flash Player\u9884\u89c8"\n \ + \u4ee5\u4f7f\u7528\u5185\u90e8\u64ad\u653e\u5668\n \ + \u4f46\u8fd9\u4e0d\u652f\u6301\u89c6\u9891\u6807\u7b7e. +#after 14.5.2 +button.showin.flashprojector = \u5728Flash Projector\u4e2d\u663e\u793a +message.info = \u4fe1\u606f +message.info.importScripts = \u5bfc\u5165\u811a\u672c\u65f6,\u60a8\u9700\u8981\u9009\u62e9\u4e00\u4e2a\u6587\u4ef6\u5939.\r\n \ + \u6587\u4ef6\u5939\u5fc5\u987b\u5305\u542b"scripts"\u5b50\u6587\u4ef6\u5939,\u5176\u7ed3\u6784\u9700\u8981\u4e0e\u5f53\u524dSWF\u5339\u914d.\r\n \ + \u4f7f\u7ed3\u6784\u6b63\u786e\u7684\u6700\u597d\u529e\u6cd5\u662f\u5148\u5bfc\u51fa\u5f53\u524dSWF\u7684\u811a\u672c. \r\n\r\n \ + \u6ce8\u610f\u6b64\u5bfc\u5165\u4f7f\u7528\u4e0eFFDec\u4e2d\u7684\u7f16\u8f91\u5668\u76f8\u540c\u7684\u7f16\u8bd1\u5668(AS3\u5b9e\u9a8c\u6027). +message.info.importTexts = \u5bfc\u5165\u6587\u672c\u65f6,\u60a8\u9700\u8981\u9009\u62e9\u4e00\u4e2a\u6587\u4ef6\u5939.\r\n \ + \u6587\u4ef6\u5939\u5fc5\u987b\u5305\u542b"texts"\u5b50\u6587\u4ef6\u5939,\u5176\u7ed3\u6784\u9700\u8981\u4e0e\u5f53\u524dSWF\u5339\u914d.\r\n \ + \u4f7f\u7ed3\u6784\u6b63\u786e\u7684\u6700\u597d\u529e\u6cd5\u662f\u5148\u5bfc\u51fa\u5f53\u524dSWF\u7684\u6587\u672c. +message.info.importSymbolClass = \u5bfc\u5165\u7b26\u53f7\u7c7b\u65f6,\u60a8\u9700\u8981\u9009\u62e9\u4e00\u4e2a\u5305\u542b"%file%"\u6587\u4ef6\u7684\u6587\u4ef6\u5939.\r\n \ + \u4e0e\u5bfc\u51fa\u65f6\u4f7f\u7528\u7684\u6587\u4ef6\u540d\u662f\u76f8\u540c\u7684. +message.info.importXml = \u5bfc\u5165XML\u65f6,\u60a8\u9700\u8981\u4e00\u4e2a\u7279\u6b8a\u683c\u5f0f\u7684XML\u6587\u4ef6 - FFDec\u5bfc\u51fa\u7684\u683c\u5f0f.\r\n \ + \u521b\u5efa\u6b64XML\u6587\u4ef6\u7684\u6700\u597d\u529e\u6cd5\u662f\u5148\u4ece\u5f53\u524dSWF\u5bfc\u51faXML. +#after 14.6.0 +tagInfo.dependentFrames = \u4f9d\u8d56\u5e27 +#after 15.0.0 +imagePanel.depth = \u6df1\u5ea6: +work.importing_as = \u6b63\u5728\u5bfc\u5165\u811a\u672c +importing_as.finishedin = \u9884\u8ba1\u9700\u8981 %time% +work.deobfuscating_pcode = \u53cd\u6df7\u6dc6pcode +work.injecting_debuginfo = \u6ce8\u5165\u8c03\u8bd5\u4fe1\u606f +work.generating_swd = \u751f\u6210SWD\u6587\u4ef6 +#after 15.1.1 +button.replaceRefs = \u7528\u5176\u4ed6\u5b57\u7b26ID\u66ff\u6362\u53c2\u8003 +contextmenu.cloneTag = \u590d\u5236\u6807\u7b7e +contextmenu.moveTagAround = \u79fb\u52a8\u6807\u7b7e +contextmenu.addTagBefore = \u5728\u524d\u9762\u6dfb\u52a0\u6807\u7b7e +contextmenu.addTagAfter = \u5728\u540e\u9762\u6dfb\u52a0\u6807\u7b7e +menu.file.view.tagList = \u6807\u7b7e\u5217\u8868 +contextmenu.showInTagList = \u5728\u6807\u7b7e\u5217\u8868\u4e2d\u663e\u793a +message.input.addFrames.title = \u6dfb\u52a0\u5e27 +message.input.addFrames.howmany = \u9700\u8981\u6dfb\u52a0\u7684\u5e27\u6570 +contextmenu.addFramesBefore = \u5728\u524d\u9762\u6dfb\u52a0\u5e27 +contextmenu.addFramesAfter = \u5728\u540e\u9762\u6dfb\u52a0\u5e27 +contextmenu.addFrames = \u6dfb\u52a0\u5e27 +error.readonly.cannotSave = \u6587\u4ef6\u5c06\u65e0\u6cd5\u4fdd\u5b58. \u6b64SWF\u6587\u4ef6\u6e90\u4e0d\u5141\u8bb8\u4fdd\u5b58\u66f4\u6539.\r\n\ + \u8fd9\u901a\u5e38\u662f\u5728\u4e8c\u8fdb\u5236\u6a21\u5f0f\u4e0b\u52a0\u8f7d\u672a\u77e5\u6269\u5c55\u540d\u7684\u4e8c\u8fdb\u5236\u6570\u636e\u6216\u6587\u4ef6\u5f15\u8d77\u7684.\r\n\ + \u8bf7\u4f7f\u7528"\u53e6\u5b58\u4e3a"\u5bfc\u51fa\u7279\u5b9a\u7684SWF\u6587\u4ef6. +warning.readonly = \u6587\u4ef6"%file%"\u4ee5\u53ea\u8bfb\u6a21\u5f0f\u52a0\u8f7d. \r\n\ + \u82e5\u4e0d\u901a\u8fc7"\u53e6\u5b58\u4e3a",\u4f60\u6240\u505a\u7684\u4fee\u6539\u4e0d\u4f1a\u4fdd\u5b58.\r\n\ + \u8fd9\u901a\u5e38\u662f\u7531\u4e8e\u4e8c\u8fdb\u5236\u641c\u7d22\u6a21\u5f0f\u6253\u5f00\u6587\u4ef6\u5f15\u8d77\u7684,\r\n\ + \u6587\u4ef6\u53ef\u80fd\u5177\u6709\u672a\u77e5\u7684\u6269\u5c55\u540d\u5e76\u56e0\u6b64\u65e0\u6cd5\u4fdd\u5b58 +#after 16.0.0 +contextmenu.addTagInside = \u5728\u5185\u90e8\u6dfb\u52a0\u6807\u7b7e +contextmenu.cloneFrame = \u590d\u5236\u5e27 +contextmenu.clone = \u590d\u5236 +#after 16.0.4 +error.action.save.valueTooLarge = \u4ee3\u7801\u65e0\u6cd5\u4fdd\u5b58. FFDecs\u9700\u8981\u7684\u7a7a\u95f4\u8d85\u8fc7\u5b57\u8282\u6700\u5927\u9650\u5236\r\n\ + action\u6807\u7b7e\u6216ActionDefineFunction/2\u6709\u5b57\u8282\u5b58\u50a8\u9650\u5236.\r\n\ + \u4f60\u53ef\u4ee5\u5c1d\u8bd5\u7f29\u77ed\u4ee3\u7801\u5e76\u91cd\u8bd5. +contextmenu.attachTag = \u9644\u52a0\u6807\u7b7e +contextmenu.showInHexDump = \u663e\u793a\u5341\u516d\u8fdb\u5236 +menu.file.new = \u65b0\u5efa\u6587\u4ef6 +new.filename = \u672a\u547d\u540d +error.missing.characterTag.single = \u9519\u8bef: \u6b64\u6807\u7b7e\u9700\u8981\u6807\u7b7e %tag%,\u4f46\u8be5\u6807\u7b7e\u672a\u5728\u6b64\u6807\u7b7e\u4e4b\u524d\u5b9a\u4e49. \ + \u8bf7\u5b9a\u4e49\u6216\u5c06\u8be5\u6807\u7b7e\u79fb\u52a8\u5230\u6b63\u786e\u7684\u4f4d\u7f6e. +error.missing.characterTag.multi = \u9519\u8bef: \u6b64\u6807\u7b7e\u9700\u8981\u6807\u7b7e %tags%,\u4f46\u5b83\u4eec\u672a\u5728\u6b64\u6807\u7b7e\u4e4b\u524d\u5b9a\u4e49. \ + \u8bf7\u5b9a\u4e49\u6216\u5c06\u5b83\u4eec\u79fb\u52a8\u5230\u6b63\u786e\u7684\u4f4d\u7f6e. +#after 16.1.0 +contextmenu.clipboard = \u6807\u7b7e\u526a\u8d34\u677f +contextmenu.cutTag = \u526a\u5207\u81f3\u6807\u7b7e\u526a\u8d34\u677f +contextmenu.cutTagWithDependencies = \u4e0e\u4f9d\u8d56\u526a\u5207\u81f3\u6807\u7b7e\u526a\u8d34\u677f +contextmenu.paste = \u7c98\u8d34 +contextmenu.pasteBefore = \u5728\u524d\u9762\u7c98\u8d34 +contextmenu.pasteAfter = \u5728\u540e\u9762\u7c98\u8d34 +contextmenu.pasteInside = \u5728\u5185\u90e8\u7c98\u8d34 +menu.file.import.other = \u5bfc\u5165\u5176\u4ed6 +menu.file.import.image = \u5bfc\u5165\u56fe\u50cf +message.info.importImages = \u5bfc\u5165\u56fe\u50cf\u65f6,\u60a8\u9700\u8981\u9009\u62e9\u4e00\u4e2a\u6587\u4ef6\u5939.\r\n \ + \u6587\u4ef6\u5939\u5fc5\u987b\u5305\u542b"images"\u5b50\u6587\u4ef6\u5939,\u5176\u7ed3\u6784\u9700\u8981\u4e0e\u5f53\u524dSWF\u5339\u914d.\r\n \ + \u4f7f\u7ed3\u6784\u6b63\u786e\u7684\u6700\u597d\u529e\u6cd5\u662f\u5148\u5bfc\u51fa\u5f53\u524dSWF\u7684\u56fe\u50cf. +work.importing = \u6b63\u5728\u5bfc\u5165 +import.finishedin = \u9884\u8ba1\u9700\u8981 %time% +error.import = \u5bfc\u5165\u51fa\u9519 +import.image.result = \u5df2\u5bfc\u5165%count%\u4e2a\u56fe\u50cf. +clipboard.hint = \u6807\u7b7e\u526a\u8d34\u677f\u4e2d\u7684\u9879\u76ee\u6570 +clipboard.item = 1\u4e2a\u9879\u76ee +clipboard.items = %count%\u4e2a\u9879\u76ee +clipboard.clear = \u6e05\u7a7a\u526a\u8d34\u677f +#after 16.2.0 +contextmenu.moveTagWithDependencies = \u79fb\u52a8\u6807\u7b7e\u4e0e\u4f9d\u8d56\u81f3 +contextmenu.moveUp = \u79fb\u52a8\u81f3\u4e0a\u65b9 +contextmenu.moveDown = \u79fb\u52a8\u81f3\u4e0b\u65b9 +contextmenu.changeCharset = \u66f4\u6539\u5b57\u7b26\u96c6(\u5f53\u524d: %charset%) +contextmenu.more = \u66f4\u591a... +error.charset.nocharacter = \u9009\u4e2d\u7684\u5b57\u7b26\u96c6\u4e0d\u5305\u542b\u5b57\u7b26 "%char%". +#after 16.3.1 +button.show = \u663e\u793a/\u9690\u85cf\u9884\u89c8 +button.freeze = \u51bb\u7ed3(\u4e0d\u64ad\u653e\u5b50\u52a8\u753b) +library = \u5e93: +message.airpath.lib.notset = \u672a\u53d1\u73b0AirGlobal (.SWC). \u8bf7\u5728"\u9ad8\u7ea7\u8bbe\u7f6e/\u8def\u5f84(6)"\u4e2d\u914d\u7f6e\u8def\u5f84. +message.action.airglobal.title = \u9700\u8981AirGlobal\u5e93 +menu.file.import.shape = \u5bfc\u5165\u5f62\u72b6 +menu.file.import.shapeNoFill = \u5bfc\u5165\u5f62\u72b6 - \u66f4\u65b0\u8fb9\u754c +message.info.importShapes = \u5bfc\u5165\u5f62\u72b6\u65f6,\u60a8\u9700\u8981\u9009\u62e9\u4e00\u4e2a\u6587\u4ef6\u5939.\r\n \ + \u6587\u4ef6\u5939\u5fc5\u987b\u5305\u542b"shapes"\u5b50\u6587\u4ef6\u5939,\u5176\u7ed3\u6784\u9700\u8981\u4e0e\u5f53\u524dSWF\u5339\u914d.\r\n \ + \u4f7f\u7ed3\u6784\u6b63\u786e\u7684\u6700\u597d\u529e\u6cd5\u662f\u5148\u5bfc\u51fa\u5f53\u524dSWF\u7684\u5f62\u72b6. +import.shape.result = \u5df2\u5bfc\u5165%count%\u4e2a\u5f62\u72b6 +pin = \u70b9\u51fb\u56fa\u5b9a\u6b64\u9879\u76ee +unpin = \u5df2\u56fa\u5b9a - \u70b9\u51fb\u53d6\u6d88\u56fa\u5b9a +contextmenu.unpin = \u53d6\u6d88\u56fa\u5b9a +contextmenu.unpin.all = \u5168\u90e8\u53d6\u6d88\u56fa\u5b9a +contextmenu.unpin.others = \u53d6\u6d88\u56fa\u5b9a\u5176\u4ed6 +menu.tools.otherTools.clearPinnedItems = \u6e05\u7a7a\u56fa\u5b9a\u9879\u76ee +menu.settings.flattenASPackages = \u5c55\u5f00ActionScript\u5305 +work.reading.abc = \u8bfb\u53d6ABC +filter.abc = ActionScript3\u5b57\u8282\u7801\u6587\u4ef6(*.abc) +contextmenu.exportAbc = \u5bfc\u51faABC +contextmenu.pin = \u56fa\u5b9a +#after 17.0.4 +productinfo.product = \u751f\u4ea7: +productinfo.product.unknown = \u672a\u77e5 +productinfo.edition = \u7f16\u8f91: +productinfo.edition.none = \u65e0 +productinfo.version = \u7248\u672c: +productinfo.build = \u6784\u5efa: +productinfo.compileDate = \u7f16\u8bd1\u65e5\u671f: +message.video.installvlc = \u6587\u4ef6"%file%"\u5305\u542b\u89c6\u9891\u6807\u7b7e(DefineVideoStream).\r\n\ + \u8981\u5728FFDec\u4e2d\u663e\u793a\u5b83\u4eec\u9700\u8981\u5b89\u88c53.0\u4ee5\u4e0a\u7684VLC\u5a92\u4f53\u64ad\u653e\u5668.\r\n\ + \u4f46\u4e0d\u5b89\u88c5\u4f60\u4e5f\u53ef\u4ee5\u5c06\u5b83\u4eec\u5bfc\u51fa\u4e3aFLV\u683c\u5f0f. +button.mute = \u9759\u97f3 +button.transform = \u8f6c\u6362 +transform = \u8f6c\u6362 +transform.transformPoint = \u8f6c\u6362\u70b9 +transform.basic = \u57fa\u672c +transform.basic.flip.horizontally = \u6c34\u5e73\u7ffb\u8f6c +transform.basic.flip.vertically = \u5782\u76f4\u7ffb\u8f6c +transform.basic.rotate90.clockwise = \u65cb\u8f6c +90\u00b0 +transform.basic.rotate90.anticlockwise = \u65cb\u8f6c -90\u00b0 +transform.basic.rotate180 = \u65cb\u8f6c 180\u00b0 +transform.move = \u79fb\u52a8 +transform.move.horizontal = \u6c34\u5e73: +transform.move.vertical = \u5782\u76f4: +transform.move.relative = \u76f8\u5bf9\u79fb\u52a8 +transform.scale = \u7f29\u653e +transform.scale.width = \u5bbd: +transform.scale.height = \u9ad8: +transform.scale.proportionally = \u6bd4\u4f8b\u7f29\u653e +transform.rotate = \u65cb\u8f6c +transform.rotate.angle = \u89d2\u5ea6: +transform.skew = \u626d\u66f2: +transform.skew.horizontal = \u6c34\u5e73: +transform.skew.vertical = \u5782\u76f4: +transform.matrix = \u77e9\u9635 +transform.matrix.a = A +transform.matrix.b = B +transform.matrix.c = C +transform.matrix.d = D +transform.matrix.e = E +transform.matrix.f = F +transform.matrix.editCurrent = \u7f16\u8f91\u5f53\u524d\u77e9\u9635 +transform.apply = \u5e94\u7528 +transform.clear = \u6e05\u7a7a +status.editing = \u60a8\u5df2\u8fdb\u5165\u7f16\u8f91\u6a21\u5f0f. \u70b9\u51fb\u4fdd\u5b58\u6309\u94ae\u4fdd\u5b58\u66f4\u6539. \u6216\u70b9\u51fb\u53d6\u6d88\u6309\u94ae\u653e\u5f03\u66f4\u6539. \u7f16\u8f91\u4e2d\u65e0\u6cd5\u5207\u6362\u5230\u5176\u4ed6\u6807\u7b7e. +#after 18.0.0 +button.deobfuscate = \u53cd\u6df7\u6dc6 +button.deobfuscate_options = \u53cd\u6df7\u6dc6\u9009\u9879 +deobfuscate_options.simplify_expressions = \u7b80\u5316\u8868\u8fbe\u5f0f +deobfuscate_options.remove_obfuscated_declarations = \u5220\u9664\u5355\u4e2a\u5206\u914d\u7684\u6df7\u6dc6\u58f0\u660e +message.confirm.autoRenameIdentifiers = \u81ea\u52a8\u91cd\u547d\u540d\u6807\u8bc6\u7b26\u529f\u80fd\u5c06\u5728\u6253\u5f00SWF\u6587\u4ef6\u65f6\u4f5c\u4e3aAS\u4ee3\u7801\u6267\u884c\r\n\u5e76\u5c06\u6240\u6709\u975e\u6807\u51c6\u540d\u79f0\u91cd\u547d\u540d\u4e3a\u6709\u6548\u6807\u8bc6\u7b26.\r\n\u6b64\u529f\u80fd\u6709\u53ef\u80fd\u5728\u4fdd\u5b58\u65f6\u5bfc\u81f4SWF\u6587\u4ef6\u635f\u574f - \u98ce\u9669\u81ea\u8d1f. +error.deobfuscation = \u53cd\u6df7\u6dc6\u56e0\u90e8\u5206\u65b9\u6cd5\u5931\u8d25. +message.info.importShapes2 = \u5bfc\u5165\u5f62\u72b6\u65f6,\u60a8\u9700\u8981\u9009\u62e9\u4e00\u4e2a\u6587\u4ef6\u5939.\r\n \ + \u6587\u4ef6\u5939\u7ed3\u6784\u9700\u8981\u4e0e\u5f53\u524dSWF\u5339\u914d.\r\n \ + \u5982\u679c\u5b58\u5728"shapes"\u5b50\u6587\u4ef6\u5939, \u8bf7\u9009\u62e9\u5b83.\r\n \ + \u4f7f\u7ed3\u6784\u6b63\u786e\u7684\u6700\u597d\u529e\u6cd5\u662f\u5148\u5bfc\u51fa\u5f53\u524dSWF\u7684\u5f62\u72b6. +message.info.importScripts2 = \u5bfc\u5165\u811a\u672c\u65f6,\u60a8\u9700\u8981\u9009\u62e9\u4e00\u4e2a\u6587\u4ef6\u5939.\r\n \ + \u6587\u4ef6\u5939\u7ed3\u6784\u9700\u8981\u4e0e\u5f53\u524dSWF\u5339\u914d.\r\n \ + \u5982\u679c\u5b58\u5728"scripts"\u5b50\u6587\u4ef6\u5939, \u8bf7\u9009\u62e9\u5b83.\r\n \ + \u4f7f\u7ed3\u6784\u6b63\u786e\u7684\u6700\u597d\u529e\u6cd5\u662f\u5148\u5bfc\u51fa\u5f53\u524dSWF\u7684\u811a\u672c. \r\n\r\n \ + \u6ce8\u610f\u6b64\u5bfc\u5165\u4f7f\u7528\u4e0eFFDec\u4e2d\u7684\u7f16\u8f91\u5668\u76f8\u540c\u7684\u7f16\u8bd1\u5668(AS3\u5b9e\u9a8c\u6027). +message.info.importTexts2 = \u5bfc\u5165\u6587\u672c\u65f6,\u60a8\u9700\u8981\u9009\u62e9\u4e00\u4e2a\u6587\u4ef6\u5939.\r\n \ + \u6587\u4ef6\u5939\u7ed3\u6784\u9700\u8981\u4e0e\u5f53\u524dSWF\u5339\u914d.\r\n \ + \u5982\u679c\u5b58\u5728"texts"\u5b50\u6587\u4ef6\u5939, \u8bf7\u9009\u62e9\u5b83.\r\n \ + \u4f7f\u7ed3\u6784\u6b63\u786e\u7684\u6700\u597d\u529e\u6cd5\u662f\u5148\u5bfc\u51fa\u5f53\u524dSWF\u7684\u6587\u672c. +message.info.importImages2 = \u5bfc\u5165\u56fe\u50cf\u65f6,\u60a8\u9700\u8981\u9009\u62e9\u4e00\u4e2a\u6587\u4ef6\u5939.\r\n \ + \u6587\u4ef6\u5939\u7ed3\u6784\u9700\u8981\u4e0e\u5f53\u524dSWF\u5339\u914d.\r\n \ + \u5982\u679c\u5b58\u5728"images"\u5b50\u6587\u4ef6\u5939, \u8bf7\u9009\u62e9\u5b83.\r\n \ + \u4f7f\u7ed3\u6784\u6b63\u786e\u7684\u6700\u597d\u529e\u6cd5\u662f\u5148\u5bfc\u51fa\u5f53\u524dSWF\u7684\u56fe\u50cf. +transform.clipboard = \u526a\u8d34\u677f +transform.clipboard.copy = \u590d\u5236\u77e9\u9635\u81f3\u526a\u8d34\u677f +transform.clipboard.paste = \u4ece\u526a\u8d34\u677f\u7c98\u8d34\u77e9\u9635 +status.editing.autosave = \u60a8\u5df2\u8fdb\u5165\u7f16\u8f91\u6a21\u5f0f. \u70b9\u51fb\u4fdd\u5b58\u6309\u94ae\u4fdd\u5b58\u66f4\u6539. \u6216\u70b9\u51fb\u53d6\u6d88\u6309\u94ae\u653e\u5f03\u66f4\u6539. \u5982\u679c\u4f60\u5207\u6362\u5230\u5176\u4ed6\u6807\u7b7e, \u5f53\u524d\u7684\u66f4\u6539\u5c06\u4f1a\u81ea\u52a8\u4fdd\u5b58. +error.sound.rate = \u5bfc\u5165\u7684\u58f0\u97f3\u5b58\u5728\u4e0d\u652f\u6301\u7684\u91c7\u6837\u7387: %saplingRate%.\r\n\ + \u5728\u5bfc\u5165\u524d\u60a8\u5e94\u8be5\u5c06\u5176\u8f6c\u6362\u4e3a\u652f\u6301\u7684\u91c7\u6837\u7387(%supportedRates%). +filter.movies = \u652f\u6301\u7684\u89c6\u9891\u683c\u5f0f(%extensions%) +error.movie.invalid = \u89c6\u9891\u4e0d\u53ef\u7528. +menu.file.import.movie = \u5bfc\u5165\u89c6\u9891 +message.info.importMovies2 = \u5bfc\u5165\u89c6\u9891\u65f6,\u60a8\u9700\u8981\u9009\u62e9\u4e00\u4e2a\u6587\u4ef6\u5939.\r\n \ + \u6587\u4ef6\u5939\u7ed3\u6784\u9700\u8981\u4e0e\u5f53\u524dSWF\u5339\u914d.\r\n \ + \u5982\u679c\u5b58\u5728"movies"\u5b50\u6587\u4ef6\u5939, \u8bf7\u9009\u62e9\u5b83.\r\n \ + \u4f7f\u7ed3\u6784\u6b63\u786e\u7684\u6700\u597d\u529e\u6cd5\u662f\u5148\u5bfc\u51fa\u5f53\u524dSWF\u7684\u89c6\u9891. +import.movie.result = \u5df2\u5bfc\u5165%count%\u4e2a\u89c6\u9891. +menu.file.import.sound = \u5bfc\u5165\u58f0\u97f3 +message.info.importSounds2 = \u5bfc\u5165\u58f0\u97f3\u65f6,\u60a8\u9700\u8981\u9009\u62e9\u4e00\u4e2a\u6587\u4ef6\u5939.\r\n \ + \u6587\u4ef6\u5939\u7ed3\u6784\u9700\u8981\u4e0e\u5f53\u524dSWF\u5339\u914d.\r\n \ + \u5982\u679c\u5b58\u5728"sounds"\u5b50\u6587\u4ef6\u5939, \u8bf7\u9009\u62e9\u5b83.\r\n \ + \u4f7f\u7ed3\u6784\u6b63\u786e\u7684\u6700\u597d\u529e\u6cd5\u662f\u5148\u5bfc\u51fa\u5f53\u524dSWF\u7684\u58f0\u97f3. +import.sound.result = \u5df2\u5bfc\u5165%count%\u4e2a\u58f0\u97f3. +#after 18.2.1 +button.edit.points = \u7f16\u8f91\u70b9 +edit.points.x = X: +edit.points.y = Y: +button.morph.show = \u663e\u793a: +button.morph.animation = \u52a8\u753b +button.morph.start = \u5f00\u59cb +button.morph.end = \u7ed3\u675f +header.displayrect.unit.pixels = \u50cf\u7d20 +header.displayrect.unit.twips = \u7f07 diff --git a/src/com/jpexs/decompiler/flash/gui/locales/NewFileDialog_zh.properties b/src/com/jpexs/decompiler/flash/gui/locales/NewFileDialog_zh.properties new file mode 100644 index 000000000..0e5d63215 --- /dev/null +++ b/src/com/jpexs/decompiler/flash/gui/locales/NewFileDialog_zh.properties @@ -0,0 +1,24 @@ +# Copyright (C) 2022 JPEXS +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +dialog.title = \u65b0\u5efa\u6587\u4ef6 +background.color = \u80cc\u666f\u989c\u8272 +width = \u5bbd +height = \u9ad8 +unit.pixels = \u50cf\u7d20 +unit.twips = \u7f07 +canvas.size = \u753b\u5e03\u5927\u5c0f +script.type = \u811a\u672c\u7c7b\u578b +script.type.actionscript1_2 = AS 1/2 +script.type.actionscript3 = AS 3 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 6c04d7649..1f34dd357 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/SearchDialog_zh.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/SearchDialog_zh.properties @@ -16,8 +16,9 @@ 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\u6587\u5b57: -#dialog.title = \u641c\u7d22AS +label.searchtext = \u641c\u7d22\u6587\u672c: +label.replacementtext = \u66ff\u6362\u6587\u672c +#dialog.title = ActionScript search dialog.title = \u6587\u672c\u641c\u7d22 dialog.title.replace = \u6587\u672c\u66ff\u6362 @@ -29,9 +30,12 @@ checkbox.searchAS = \u5728AS\u4e2d\u641c\u7d22 checkbox.replaceInParameters = \u66ff\u6362\u53c2\u6570 checkbox.searchPCode = \u5728P-Code\u4e2d\u641c\u7d22 +#after 13.0.3 label.scope = \u8303\u56f4: scope.currentFile = \u5f53\u524dSWF scope.selection = \u9009\u4e2d(%selection%) scope.allFiles = \u6240\u6709\u6253\u5f00\u7684SWF scope.selection.items = %count%\u9879 +#after 16.3.1 +scope.currentFile.abc = \u5f53\u524dABC diff --git a/src/com/jpexs/decompiler/flash/gui/locales/SelectTagPositionDialog_zh.properties b/src/com/jpexs/decompiler/flash/gui/locales/SelectTagPositionDialog_zh.properties new file mode 100644 index 000000000..556cbba02 --- /dev/null +++ b/src/com/jpexs/decompiler/flash/gui/locales/SelectTagPositionDialog_zh.properties @@ -0,0 +1,18 @@ +# Copyright (C) 2022 JPEXS +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +dialog.title = \u9009\u62e9\u6807\u7b7e\u4f4d\u7f6e +button.ok = \u786e\u5b9a +button.cancel = \u53d6\u6d88 +timeline.end = \u65f6\u95f4\u8f74\u672b\u5c3e diff --git a/src/com/jpexs/decompiler/flash/gui/locales/abc/AddClassDialog_zh.properties b/src/com/jpexs/decompiler/flash/gui/locales/abc/AddClassDialog_zh.properties index 2da649b96..57126f60d 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/abc/AddClassDialog_zh.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/abc/AddClassDialog_zh.properties @@ -1,4 +1,23 @@ +# Copyright (C) 2021 JPEXS +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . dialog.title = \u6dfb\u52a0\u811a\u672c button.ok = \u786e\u5b9a button.cancel = \u53d6\u6d88 classname = \u5168\u9650\u5b9a\u7c7b\u540d +#after 16.3.1 +button.proceed = \u7ee7\u7eed +abc.where = \u521b\u5efa\u5b57\u8282\u4ee3\u7801\u7684\u4f4d\u7f6e +abc.where.existing = \u5df2\u5b58\u5728\u7684DoABC\u6807\u7b7e +abc.where.new = \u65b0\u5efaDoABC\u6807\u7b7e 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 da0c3ec78..c2c8a73b3 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 @@ -22,3 +22,8 @@ deobfuscation.restorecontrolflow = \u91cd\u5efa\u63a7\u5236\u6d41 button.ok = \u786e\u5b9a button.cancel = \u53d6\u6d88 +deobfuscation.scope = \u8303\u56f4 +deobfuscation.scope.method = \u5f53\u524d\u65b9\u6cd5 +deobfuscation.scope.script = \u5f53\u524d\u811a\u672c +deobfuscation.scope.swf = \u6574\u4e2aSWF +warning.modify = \u8b66\u544a: \u6b64\u64cd\u4f5c\u5c06\u66f4\u6539\u6574\u4e2aSWF\u6587\u4ef6.\r\n\u5982\u679c\u4f60\u53ea\u9700\u8981\u53cd\u6df7\u6dc6\u663e\u793a, \r\n\u8bf7\u4f7f\u7528\u8bbe\u7f6e\u754c\u9762\u4e2d\u7684"\u81ea\u52a8\u53cd\u6df7\u6dc6"\u9009\u9879\r\n\u6216\u70b9\u51fb\u811a\u672c\u7f16\u8f91\u5668\u4e0a\u65b9\u7684\u5c0f\u836f\u4e38\u56fe\u6807. diff --git a/src/com/jpexs/decompiler/flash/gui/locales/abc/SelectDoABCDialog_zh.properties b/src/com/jpexs/decompiler/flash/gui/locales/abc/SelectDoABCDialog_zh.properties new file mode 100644 index 000000000..f12c15321 --- /dev/null +++ b/src/com/jpexs/decompiler/flash/gui/locales/abc/SelectDoABCDialog_zh.properties @@ -0,0 +1,17 @@ +# Copyright (C) 2022 JPEXS +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +dialog.title = \u9009\u62e9DoABC\u6807\u7b7e +button.ok = \u786e\u5b9a +button.cancel = \u53d6\u6d88