JPEXS Free Flash Decompiler Issue Tracker

If you are looking for the decompiler itself, visit https://github.com/jindrapetrik/jpexs-decompiler

NEW : We have got a new blog where we post some interesting SWF internals info.

Error: Please login first to download files from the Issue Tracker. You can register for free.
List of issuesList of issues

PreviousNext#217 Translation: Russian
Author:
Date created:
Type: other
Visibility: Everybody
Assigned to:
Labels: Translation
State: opened Help

Hey, I could help with Russian translation of the FFDec. Let me know if you wish to have such language in FFDec and ways I can help (I see no external localization files).
Hi, russian translation would be nice, but another user (pepka) already asked to do it. Maybe you can cooperate? Or a rule "who posts it first wins"? I don't know, let's ask pepka, pepka: What do you mean? Please comment, thanks.
State: new→opened
I don't put a high priority on it, thus just suggesting to finish it during this week. If you, focus, can do it faster - just go ahead. Then put it here so I can review and comment it.
focus: here is little HowTo: You can download localization files from the Download page - zipped .properties files. If you want to create new localization, just copy .properties file without "_xx" suffix (these are english) and add your language suffix (See http://www.loc.gov/standards/iso639-2/php/code_list.php for language codes) Then you can translate texts inside that file. Don't forget to place your name in AboutDialog_xx.properties file. When you are finished, attach translated files here. I will add them to next release.
Thanks, I'll make Russian translation and post it here for review.
Okay, I'm done. Not sure all strings will fit though. And I'm not sure about ABC specific strings like Trait, Slot, etc. Will be glad to know your opinion, pepka!
I think it's better to keep all the AS specific names as is - in English. The other issue is that you should use Utf-8 encoding, because now it's Windows-1251 which is only for russian versions of Windows systems. Thus people with other system localization see something like this - Ôàéë.
I see, thanks for your comments, I'll keep all specific words in English and change the encoding in near time.
Okay, here is it. Would you mind to check it again, pepka?
Hi, thank you for the translation, in new version, there will be some font related features, so if you could translate also following strings (MainFrame.properties): #since version 1.6.6: font.name = Font name: font.isbold = Is bold: font.isitalic = Is italic: font.ascent = Ascent: font.descent = Descent: font.leading = Leading: font.characters = Characters: font.characters.add = Add characters: value.unknown = ? I leave this issue opened so I can contact you whenever new strings need to be translated to Russian.
Yep, sure: font.name = Имя шрифта: font.isbold = Жирный: font.isitalic = Курсив: font.ascent = Верхний вынос: font.descent = Нижний вынос: font.leading = Интерлиньяж: font.characters = Символы: font.characters.add = Добавить символы: value.unknown = ?
And next easy one, please: yes = yes no = no
Haha, sure! yes = да no = нет
Title: Russian translation needed?→Translation: Russian
I have tried it with an app and it's still not ok due to encoding. It requires a translation into direct unicode codes. I have almost done it, so you don't have to worry. I will deliver it soon.
If you copy it to netbeans ans save it, then it will escape the unicode characters automatically...(later you can edit directly in netbeans)
I see, I should recode it instead just switching encoding (facepalm) Thanks for heads up, pepka!
Here is it. Seems ok now, but I will do more testing later.
Great, thanks for your help!
Version 1.6.6 was released. Russian translation is included. (I leave this issue opened for new strings in the future)
Focus, check please the translation. Is it ok? May be some improvements possible?
Yeah, translation looks great!) Pepka, you should add your name to the About dialog too! I see many string in FFDec are not available for translation though, like AS source and P-Code context menus, QuickFind panel, Input dialog caption and buttons (Used for globally rename identifier), Warning dialog buttons, Message caption (after rename all invalid identif.), Save dialog caption\buttons and some others... Would be nice to allow translators to get hands on all those strings too. And I see some translated strings are truncated: http://i.imgur.com/bKrYQzg.png Is it possible to extend those labels?
DownloadbKrYQzg.png (5 KiB)
Missing translation: The reason is that these text are placed in JSyntaxPane library, I am working to make these strings available too. Short labels: I will fix these aswell.
version 1.6.6u1 was released Please download new localization pack to translate new strings. These files are updated: FFDec/MainFrame.properties FFDec/ErrorLogFrame.properties jsyntaxpane/* Note: There is some additional code in .properties files for jsyntaxpane/*, please do not modify it. This is how JSyntaxPanes Syntaxkits configuration is stored.
Please download locale pack for 1.6.6u2, I have accidentally uploaded wrong zip as for 1.6.6u1 lang pack.
Okay, sure!
Oh, this stupid cyrillic chars escaping drives me crazy! It's really not comfortable to edit translation in such escaped mode - I can't see original cyrillic chars and I need to un-escape them back to be able to search something in already translated words. And I need to escape every single sentence to make it acceptable by FFDec :( *sad panda*
Here is it!
I am very sorry for the inconvenience. There exist some editors for properties files. You can use for example Netbeans which handles unicode escapes automatically. Eclipse probably has a plugin to do this too. Maybe I will create an editor in the future...
Exactly! I never thought there are editors for .properties files around and actually there are lot of them! I like this one: http://sourceforge.jp/projects/propedit Will use it from now, thanks for this suggestion!
There will be new strings in next release, (MainFrame.properties) so if you could be so kind: #after version 1.6.6u2: FileChooser.detailsViewActionLabel.textAndMnemonic = Details FileChooser.detailsViewButtonToolTip.textAndMnemonic = Details FileChooser.fileAttrHeader.textAndMnemonic = Attributes FileChooser.fileDateHeader.textAndMnemonic = Modified FileChooser.fileNameHeader.textAndMnemonic = Name FileChooser.fileNameLabel.textAndMnemonic = File name: FileChooser.fileSizeHeader.textAndMnemonic = Size FileChooser.fileTypeHeader.textAndMnemonic = Type FileChooser.filesOfTypeLabel.textAndMnemonic = Files of type: FileChooser.folderNameLabel.textAndMnemonic = Folder name: FileChooser.homeFolderToolTip.textAndMnemonic = Home FileChooser.listViewActionLabel.textAndMnemonic = List FileChooser.listViewButtonToolTip.textAndMnemonic = List FileChooser.lookInLabel.textAndMnemonic = Look in: FileChooser.newFolderActionLabel.textAndMnemonic = New Folder FileChooser.newFolderToolTip.textAndMnemonic = Create New Folder FileChooser.refreshActionLabel.textAndMnemonic = Refresh FileChooser.saveInLabel.textAndMnemonic = Save in: FileChooser.upFolderToolTip.textAndMnemonic = Up One Level FileChooser.viewMenuButtonAccessibleName = View Menu FileChooser.viewMenuButtonToolTipText = View Menu FileChooser.viewMenuLabel.textAndMnemonic = View FileChooser.newFolderActionLabelText = New Folder FileChooser.listViewActionLabelText = List FileChooser.detailsViewActionLabelText = Details FileChooser.refreshActionLabelText = Refresh FileChooser.sortMenuLabelText = Arrange Icons By FileChooser.viewMenuLabelText = View FileChooser.fileSizeKiloBytes = {0} KB FileChooser.fileSizeMegaBytes = {0} MB FileChooser.fileSizeGigaBytes = {0} GB FileChooser.folderNameLabelText = Folder name:
First string here: http://i.imgur.com/jtlWoZL.png truncates too.
DownloadjtlWoZL.png (5 KiB)
Sure! #after version 1.6.6u2: FileChooser.detailsViewActionLabel.textAndMnemonic = Таблица FileChooser.detailsViewButtonToolTip.textAndMnemonic = Таблица FileChooser.fileAttrHeader.textAndMnemonic = Атрибуты FileChooser.fileDateHeader.textAndMnemonic = Изменен FileChooser.fileNameHeader.textAndMnemonic = Имя FileChooser.fileNameLabel.textAndMnemonic = Имя файла: FileChooser.fileSizeHeader.textAndMnemonic = Размер FileChooser.fileTypeHeader.textAndMnemonic = Тип FileChooser.filesOfTypeLabel.textAndMnemonic = Файлы типа: FileChooser.folderNameLabel.textAndMnemonic = Имя папки: FileChooser.homeFolderToolTip.textAndMnemonic = Домой FileChooser.listViewActionLabel.textAndMnemonic = Список FileChooser.listViewButtonToolTip.textAndMnemonic = Список FileChooser.lookInLabel.textAndMnemonic = Искать в: FileChooser.newFolderActionLabel.textAndMnemonic = Новая папка FileChooser.newFolderToolTip.textAndMnemonic = Создать новую папку FileChooser.refreshActionLabel.textAndMnemonic = Обновить FileChooser.saveInLabel.textAndMnemonic = Сохранить в: FileChooser.upFolderToolTip.textAndMnemonic = Вверх FileChooser.viewMenuButtonAccessibleName = Меню Просмотр FileChooser.viewMenuButtonToolTipText = Меню Просмотр FileChooser.viewMenuLabel.textAndMnemonic = Просмотр FileChooser.newFolderActionLabelText = Новая папка FileChooser.listViewActionLabelText = Список FileChooser.detailsViewActionLabelText = Таблица FileChooser.refreshActionLabelText = Обновить FileChooser.sortMenuLabelText = Расположить иконки пок FileChooser.viewMenuLabelText = Просмотр FileChooser.fileSizeKiloBytes = {0} КБ FileChooser.fileSizeMegaBytes = {0} МБ FileChooser.fileSizeGigaBytes = {0} ГБ FileChooser.folderNameLabelText = Имя папки:
Thank you very much, here is next pack: error.occured = Error occured : %error% button.abort = Abort button.retry = Retry button.ignore = Ignore
error.occured = Произошла ошибка : %error% button.abort = Отменить button.retry = Повторить button.ignore = Игнорировать :D
Haha, I had a guess you're Russian one, megalol, now I see you are! xD
Thank you very much, here is next one: font.source = Source Font:
Not sure for 100% because I don't fully understand the meaning of this phrase. Maybe focus will give better translation... font.source = Исходный шрифт:
In the new version you can add characters to font, these characters are taken from existing installed font, the combobox for selecting installed font to add characters from has label "Source font:"
I can't give beter translation :(. But I think mine doesn't describes exactly what it means. Maybe will be better to provide longer description for example: (bad English) font.source = Choose the font you wish to import characters from: (Russian) font.source = Выберите шрифт откуда хотите импортировать символы:
...if I've understood it right way: the user have a list of fonts and can chose from which he wishes to export new symbols?
Hey, guys. Translation "Исходный шрифт:" is fine!
We could use a bit longer, but a bit clearer "Импортировать из шрифта:" though. Would be better to use this if it'll fit in its place.
Anyway, we always can correct translation later if something will look weird there.
I think that font.source = Импортировать из шрифта: (font.source = Import from font:) is better too.
#after version 1.6.7: menu.export = Export menu.general = General menu.language = Language startup.welcometo = Welcome to startup.selectopen = Click open icon on the top panel or drag SWF file to this window to start. error.font.nocharacter = Selected source font does not contain character "%char%".
menu.export = Экспортировать menu.general = Общие menu.language = Язык startup.welcometo = Добро пожаловать в startup.selectopen = Нажмите на значек "открыть" на верхней панели или перетащите SWF файл в это окно, чтобы начать декомпиляцию. error.font.nocharacter = Выбранный для импорта шрифт, не содержит символ "%char%".
I'd change this a bit: startup.selectopen = Click open icon on the top panel or drag SWF file to this window to start. to startup.selectopen = Нажмите значек "открыть" на верхней панели или перетащите SWF файл в это окно. And this one too: error.font.nocharacter = Selected source font does not contain character "%char%". error.font.nocharacter = Символ "%char%" отсутствует в выбранном шрифте.
Thanks, here is next one: warning.initializers = WARNING:\nStatic fields and consts are often initialized in initializers.\nEditing value here is usually not enough!
warning.initializers = ВНИМАНИЕ:\nСтатические поля и константы зачастую инициализируются в инициализаторах.\nСкорее всего, потребуется изменить их не только здесь, но и там!
in AboutDialog: contributors = Contributors:
not sure. u mean the people who donated the project? than that is: contributors = Спонсоры:
no necessarily, I want to place here (nick)names of people who contribute to source code by commiting changes, testing features, most active users on issue tracker, translators and so on.
Than I think it would be: contributors = Помощники:
or another variant like credits (thanks to) in games :) contributors = Благодарности:
I like contributors = Благодарности: version!
Type: question→other
New Strings (SelectLanguageDialog): #after version 1.7.0: # This language name translated (e. g. Čeština for Czech,...) language = English language.label = Language: dialog.title = Select language
language = Русский language.label = Язык: dialog.title = Выберите язык
Yep, agreed.
#after version 1.7.0u1: menu.tools.searchmemory = Search SWFs in memory +attached file
menu.tools.searchmemory = Искать SWF в памяти +attached file :P
Thank you very much ;-) next: In ErrorLogFrame: #after version 1.7.0u1: clear = Clear
Please subscribe to issue #354, I will post new strings there. (Place translated strings here as previously)
clear = Очистить MainFrame: menu.file.reload = Перезагрузить message.confirm.reload = Это действие отменяет все несохранённые изменения и заново загружает текущий SWF файл. Вы уверены, что желаете продолжить? MainFrame: dialog.selectcolor.title = Изменение цвета фона для области просмотра SWF button.selectcolor.hint = Изменение цвета фона ColorChooser.okText = ОК ColorChooser.cancelText = Отмена ColorChooser.resetText = Очистить ColorChooser.previewText = Предпросмотр ColorChooser.swatchesNameText = Заготовки ColorChooser.swatchesRecentText = Недавнее: ColorChooser.sampleText = Пример надписи на выбранном фоне
ColorChooser.sampleText should be "Sample Text" twice, I would like to make it same as in JColorChooser, so I think "Пример надписи Пример надписи" will be ok, if you don't mind.
Yep, it's ok for sure!
I've found a typo "Виделить" but must be "Выделить". Btw why when I press "Заменить" (Replace) it doesn't work (no changes)?
Downloadtypo.jpg (195 KiB)
megalol: Please do not Btw in this issue. This issue is about translation. Bug reports need separate issues, thanks.
@megalol Thanks for noticing typo, but I can't find it myself. Could you please take a screenshot with this typo? @jpexs Looks like context menu is not translated: http://i.imgur.com/smAACnp.png but I remember I translated something similar earlier =\
DownloadsmAACnp.png (70 KiB)
@foucs: I've attached already a screenshot with this typo - typo.jpg. And my context menu is translated (Russian). @jpexs: I'm not sure if it's a bug coz my knowledge in AS is nearby 0 so I decided to ask first.
Thanks, did't noticed it before. Yep, typo confirmed in file jsyntaxpane\bundle\Bundle_ru.properties Line ReplaceDialog.jTglHighlight.text=Виделить should be ReplaceDialog.jTglHighlight.text=Выделить
And it's a bug with context menu. I'll report it in new issue.
#after version 1.7.1: preview.play = Воспроизвести preview.pause = Пауза preview.stop = Стоп message.confirm.removemultiple = Вы уверены, что желаете удалить элементы в количестве:%count%\n и все объекты, зависящие от них?
MainFrame: menu.tools.searchcache = Поиск в кэше браузеров LoadFromMemoryFrame: #after version 1.7.1: button.save = Сохранить And attached new file.
MainFrame: #after version 1.7.2u2 error.trait.exists = Trait с именем "%name%" уже существует. button.addtrait = Добавить trait button.font.embed = Встроить... button.yes.all = Да для всех button.no.all = Нет для всех message.font.add.exists = Символ %char% уже существует в тэге шрифта.\nЖелаете ли Вы его заменить? FontEmbedDialog: range.description = %name% (%available% из %total% символов) dialog.title = Встраивание шрифтов label.individual = Индивидуальные символы: abc/NewTraitDialog: type.method = Method type.getter = Getter type.setter = Setter type.const = Const type.slot = Slot (var) checkbox.static = Static dialog.title = Новый trait error.name = Вы должны указать имя trait'а (We decided to keep AVM and AS specific words as is)
MainFrame: filter.gfx = GFx файлы ScaleForm (*.gfx) filter.supported = Все поддерживаемые типы (*.swf, *.gfx)
actionscript.pcode = P-code actionscript.pcodehex = P-code с Hex actionscript.hex = Hex
Pcode was earlier "P-код" Should i change it to "P-code"?
Yep, I think it's a specific term and shouldn't be translated (like trait, etc.). Thanks for noticing it was translated before.
Ok. Then should i also change the following tests, too? MainFrame: menu.tools.deobfuscation.pcode = Деобфускация P-кода... DeobfuscationDialog: dialog.title = Деобфускация P-кода
Yep, it would be great. It will became Деобфускация P-code Thanks.
work.canceled = Отменено work.restoringControlFlow = Восстановление порядка выполнения...
menu.advancedsettings.advancedsettings = Продвинутые настройки menu.recentFiles = Последние файлы
advancedSettings.restartConfirmation = Программа должна быть перезапущена для применения некоторых изменений. Перезапустить сейчас?
focus: pepka modified some russian texts. please check the russian resource file which is in #210 (ffdec_1.7.3u2_lang.zip, 10/27/2013, 8:51:41 pm). do you agree with the modifications?
Yep, they are fine except few strings. Here are correct values: MainFrame_ru.properties info.selecttrait = Выберите класс и кликните на trait в ActionScript для редактирования. NewTraitDialog_ru.properties dialog.title = Новый trait error.name = Вы должны указать имя trait'а
Oh, sorry! I was thinking about the use of "особенность" instead of "trait", but then rejected this idea and forgot to revert these few values:)
I'll kepp the following resource, too: menu.tools.deobfuscation.pcode = \u0414\u0435\u043e\u0431\u0444\u0443\u0441\u043a\u0430\u0446\u0438\u044f P-code... Because you (focus) told me that P-code should not be translated (check message: 10/16/2013, 12:18:08 pm)
Nightly build released, I merged all the new translations. Please check it when you have time. Thank you. Build: /www.free-decompiler.com/flash/download/ffdec_1.7.4_0ffab4c36dfd.zip Resource files: /www.free-decompiler.com/flash/download/ffdec_1.7.4_0ffab4c36dfd_lang.zip
Summary of the current translation state. The following texts/files are not translated: ru: Property not found in resource file: MainFrame, property: button.ok ru: Property not found in resource file: MainFrame, property: contextmenu.closeSwf ru: Property not found in resource file: MainFrame, property: filter.exe ru: Property not found in resource file: MainFrame, property: menu.file.saveasexe ru: Property not found in resource file: MainFrame, property: menu.settings.autoRenameIdentifiers ru: Property not found in resource file: MainFrame, property: message.confirm.recentFileNotFound ru: Property not found in resource file: MainFrame, property: work.restoringControlFlow.complete
Thanks, translated all those entries. Attached actual file.
#after version 1.8.0 font.updateTexts = Обновить надписи #after version 1.8.0u1 menu.file.close = Закрыть menu.file.closeAll = Закрыть все menu.tools.otherTools = Другое menu.tools.otherTools.clearRecentFiles = Очистить список последних файлов fontName.name = Название шрифта: fontName.copyright = Авторское право: button.preview = Предпросмотр button.reset = Сбросить errors.info = В логе есть важные сообщения. Кликните для просмотра. errors.warning = В логе есть предупреждения! Кликните для просмотра. decompilationError = Ошибка декомпиляции decompilationError.timeout = Таймаут: ({0}) decompilationError.timeout.description = Декомпиляция прервана из-за таймаута decompilationError.obfuscated = Код может быть обфусцирован decompilationError.errorType = Тип ошибки decompilationError.error.description = Декомпиляция прервана из-за ошибки #example: 1 hour and 2 minutes timeFormat.and = и timeFormat.hour = ч. timeFormat.hours = ч. timeFormat.minute = мин. timeFormat.minutes = мин. timeFormat.second = сек. timeFormat.seconds = сек. AdvancedSettingsDialog.properties advancedSettings.dialog.title = Дополнительные настройки advancedSettings.columns.name = Имя advancedSettings.columns.value = Значение advancedSettings.columns.description = Описание default = по умолчанию
#Not understood the purpose of this =( Should it be translated at all? Looks like standard method name in many programminglanguages. disassemblingProgress.toString = toString disassemblingProgress.reading = Чтение disassemblingProgress.deobfuscating = Деобфускация decompilation.skipped = Декомпиляция пропущена decompilation.unsupported = Не поддерживается декомпилятором #Not understood the purpose of this again :( Benchmark? Or watermark? Or something else? decompilerMark = decompiler mark
JPEXS? What is the purpose of this mark? It was in a generated comment in MarkItem.java about toString: it should be localized, it is a decompilation state, you can see it in the decompiled actions textarea as a comment: ;Disassembling: toString Maybe the english text should be modified, too.
Yeah, I don't understand how to translate toString since I'm not sure what exactly happens while we see it.
Ok, it is not a problem. It is not required to translate everything. Maybe later, when you use the program, and see this text you will find a good translation. In toString phase the action objects are converted to string, nothing else:)
Ah, I see now, thanks for explanation. Now I can translate it. disassemblingProgress.toString = Генерация строк Only one string left: decompilerMark = decompiler mark Still not sure how to translate it.
I've cheked the code, and MarkItem is only instanciated in 1 method, which is never called, so you don't need to translate it now.
toString is a numeric progress bar. toString : xx% appears when decompilation is runing. xx has a value between 0 to 100 %
@honfika Thanks for the investigation! @gamuti Yeah, we already discussed it earlier, thanks.
Mainframe: open.error = Ошибка open.error.fileNotFound = Файл не найден open.error.cannotOpen = Невозможно открыть файл LoadFromMemoryFrame: column.version = Версия column.fileSize = Размер column.pid = PID column.processName = Процесс
fontNotFound = Шрифт с id=%fontId% не был найден. contextmenu.moveTag = Переместить тэг filter.swc = SWC библиотеки (*.swc) filter.zip = ZIP архивы (*.zip) filter.binary = Бинарный поиск - все файлы (*.*) Fontpreviewdialog: fontPreview.dialog.title = Предпросмотр шрифта SearchDialog: checkbox.searchText = Искать в тексте checkbox.searchAS = Искать в AS
SearchDialog: dialog.title = Поиск текста Mainframe: open.error = Ошибка open.error.fileNotFound = Файл не найден open.error.cannotOpen = Невозможно открыть файл node.others = остальные #after version 1.8.1 menu.tools.search = Поиск текста
MainFrame: #after version 1.8.1u1 menu.tools.timeline = Timeline dialog.selectcolor.title = Выбор цвета button.selectcolor.hint = Кликните для выбора цвета #default item name, will be used in following sentences generictag.array.item = элемент generictag.array.insertbeginning = Вставить %item% в начало generictag.array.insertbefore = Вставить %item% перед generictag.array.remove = Удалить %item% generictag.array.insertafter = Вставить %item% после generictag.array.insertend = Вставить %item% в конец
MainFrame: #after version 2.0.0 contextmenu.expandAll = Развернуть все binaryData.truncateWarning = Байт не уместилось: %count% filter.sounds = Поддерживаемые звуковые форматы (*.wav, *.mp3) filter.sounds.wav = Wave формат (*.wav) filter.sounds.mp3 = MP3 сжатый формат (*.mp3) error.sound.invalid = Не валидный звук. button.prev = Назад button.next = Далее #after version 2.1.0 message.action.playerglobal.title = Необходима баблиотека PlayerGlobal message.action.playerglobal.needed = Для прямого редактирования ActionScript 3 необходимо скачать библиотеку "PlayerGlobal.swc" со страницы Adobe.\r\n%adobehomepage%\r\nНажмите OK, чтобы перейти к скачиванию. message.action.playerglobal.place = Скачайте библиотеку PlayerGlobal(.swc), и разместите ее в папке\r\n%libpath%\r\n Нажмите OK для продолжения. message.confirm.experimental.function = Это ЭКСПЕРИМЕНТАЛЬНАЯ функция. Это значит, что вам не следует доверять результатам и финальный swf файл может работать некорректно. message.confirm.donotshowagain = Не показывать снова menu.import = Инпорт menu.file.import.text = Импорт текста import.select.directory = Укажите папку для импорта error.text.import = Ошибка при импорте текста. Продолжить? #after version 2.1.1 contextmenu.removeWithDependencies = Удалить с зависимостями abc.action.find-usages = Найти использования abc.action.find-declaration = Найти объявление SearchResultsDialog: button.goto = Перейти к button.close = Закрыть dialog.title = Результаты поиска: %text% abc/UsageFrame: dialog.title.declaration = Объявление: Also attached translation for the AdvancedSettingsDialog.properties file.
oops, quick fix: #after version 2.1.0 message.action.playerglobal.title = Необходима баблиотека to #after version 2.1.0 message.action.playerglobal.title = Необходима библиотека
MainFrame: contextmenu.rawEdit = Редактировать байты contextmenu.jumpToCharacter = Перейти к символу menu.settings.dumpView = Просмотр образа menu.view = Вид menu.file.view.resources = Ресурсы menu.file.view.hex = Hex образ node.header = заголовок header.signature = Подпись: header.compression = Сжатие: header.compression.lzma = LZMA header.compression.zlib = ZLIB header.compression.none = Без сжатия header.version = Версия SWF: header.gfx = GFX: header.filesize = Размер файла: header.framerate = Частота кадров: header.framecount = Количество кадров: header.displayrect = Область просмотра: header.displayrect.value.twips = %xmin%,%ymin% => %xmax%,%ymax% твипов header.displayrect.value.pixels = %xmin%,%ymin% => %xmax%,%ymax% пикселей
AdvancedSettingsDialog: config.name.dumpView = Просмотр образа config.description.dumpView = Просмотр сырого образа данных config.name.dumpInfoCollecting = Сбор данных при просмотре образа config.description.dumpInfoCollecting = Вкл / Выкл сбор данных при просмотре образа ExportDialog: shapes.png = PNG shapes.canvas = Канвас HTML5 texts.svg = SVG images.png = PNG images.jpeg = JPEG movies = Видео movies.flv = FLV (Без звука) sounds.mp3_wav = MP3/WAV sounds.wav = WAV binaryData = Двоичные данные binaryData.raw = Raw morphshapes = Morphshape'ы morphshapes.gif = GIF morphshapes.svg = SVG morphshapes.canvas = Канвас HTML5 frames = Кадры frames.png = PNG frames.gif = GIF frames.avi = AVI frames.svg = SVG frames.canvas = Канвас HTML5 frames.pdf = PDF fonts = Шрифты fonts.ttf = TTF fonts.woff = WOFF
an user sent me email with this (attached file) he says correct is "значок". Is it true?
Yes, he is right.
MainFrame: #after version 2.1.2 contextmenu.saveToFile = Сохранить в файл contextmenu.parseActions = Действия парсинга contextmenu.parseABC = Парсинг ABC contextmenu.parseInstructions = Парсинг инструкций AVM2 #after version 2.1.3 menu.deobfuscation = Деобфускация AS1/2 menu.file.deobfuscation.old = Старый способ menu.file.deobfuscation.new = Новый способ #after version 2.1.4 contextmenu.openswfinside = Открыть SWF внутри этого тэга binarydata.swfInside = Похоже, что в этом binary data тэге находится SWF. Нажмите тут для его загрузки в качестве подкатегории. AdvancedSettingsDialog: config.name.useHexColorFormat = Hex формат цвета config.description.useHexColorFormat = Показывать цвета в hex формате config.name.showMethodBodyId = Показывать id тела метода (methodbody) config.description.showMethodBodyId = Показывает id methodbody для команды lineimport
ExportDialog: zoom = Масштаб zoom.percent = % zoom.invalid = Неверное значение масштаба. config.description.showMethodBodyId = Показывает id methodbody при импорте через командную строку
MainFrame: #after version 3.0.0 button.zoomin.hint = Приблизить button.zoomout.hint = Отдалить
MainFrame: button.zoomfit.hint = Вписать в окно button.zoomnone.hint = Масштаб 1:1 button.snapshot.hint = Сохранить снимок в буфер обмена
FontEmbedDialog: button.loadfont = Загрузить шрифт с диска... filter.ttf = Файлы True Type шрифтов (*.ttf) error.invalidfontfile = Неверный файл шрифта error.cannotreadfontfile = Невозможно прочитать файл шрифта installed = Установлено: ttffile.noselection = TTF файл: <выберите> ttffile.selection = TTF файл: %fontname% (%filename%) allcharacters = Все символы (%available% символы) MainFrame: #Font name which is presented in the SWF Font tag font.name.intag = Имя шрифта в тэге:
DebugLogDialog: dialog.title = Лог отладчика button.clear = Очистить button.close = Закрыть msg.header = соединение %clientid%: ReplaceTraceDialog: dialog.title = Замена вызовов функции trace function.debugAlert = debugAlert - javascript предупреждение в web-браузере function.debugConsole = debugConsole - javascript console.log в web-браузере function.debugSocket = debugSocket - сокетное соединение с декомпилятором AdvancedSettingsDialog: config.name.debuggerPort = Порт отладчика config.description.debuggerPort = Порт, используемый для отладки через сокетное соединение config.name.randomDebuggerPackage = Использовать случайное имя пакета для отладчика config.description.randomDebuggerPackage = Переименовывать пакет отладчика в случайную строку, что усложняет определение наличия отладчика из ActionScript MainFrame: menu.debugger = Отладчик menu.debugger.switch = Отладчик menu.debugger.replacetrace = Заменить вызовы trace menu.debugger.showlog = Показать лог message.debugger = Отладчик SWF можно использовать только для вывода сообщений в окно лога, консоль браузера или предупреждений.\r\nОн не предназначен для таких функций как пошаговое исполнение кода, точки прерывания и т.д.
AdvancedSettingsDialog: config.name.getLocalNamesFromDebugInfo = AS3: Получить имена локальных регистров из отладочной информации config.description.getLocalNamesFromDebugInfo = Переименовывает локальные регистры из _loc_x_ на реальные имена, если присутствует отладочная информация. Можно отключить, т.к. некоторые обфускаторы используют там неверные имена регистров.
MainFrame: contextmenu.addTag = Добавить тэг AdvancedSettingsDialog: config.name.tagTreeShowEmptyFolders = Показывать пустые папки config.description.tagTreeShowEmptyFolders = Показывать пустые папки в дереве тэгов. MainFrame: deobfuscation.comment.tryenable = Совет: Вы можете попробовать включить "Автоматическую деобфускацию" в настройках deobfuscation.comment.failed = Деобфускация включена, но декомпиляция всё равно не работает. Если файл НЕ обфусцирован, отключите "Автоматическую деобфускацию" для улучшения результатов.
proxy/ProxyFrame: copy.url = Копировать URL save.as = Сохранить как... replace = Заменить... error.save.as = Невозможно сохранить файл error.replace = Невозможно заменить данные error.start.server = Невозможно запустить сервер на порту %port%. Убедитесь, что порт не занят другим приложением. column.accessed = Доступ column.size = Размер column.url = URL
Please translate the following texts (You can skip AdvancedSettings if it is too much): ru ----------------------------- AboutDialog, property: translators=Translators: AboutDialog, property: developers.others=+ others from GitHub and Google code AboutDialog, property: developers=Developers: AdvancedSettingsDialog, property: config.description.overrideTextExportFileName=You can customite the filename of the expoted text. Use {filename} placeholder to use the filename of current SWF. AdvancedSettingsDialog, property: config.description.showCloseConfirmation=Show again SWF close confirmation for modified files. AdvancedSettingsDialog, property: config.description.showTraitSavedMessage=Show again trait saved message AdvancedSettingsDialog, property: config.group.description.import=Configuration of imports AdvancedSettingsDialog, property: config.name.textImportResizeTextBoundsMode=Text bounds resize mode AdvancedSettingsDialog, property: config.name.showCloseConfirmation=Show again SWF close confirmation AdvancedSettingsDialog, property: config.name.showCodeSavedMessage=Show again code saved message AdvancedSettingsDialog, property: config.description.lastDebuggerReplaceFunction=Function name which was last selected in replace trace function with debugger AdvancedSettingsDialog, property: config.name.showTraitSavedMessage=Show again trait saved message AdvancedSettingsDialog, property: config.name.displayDebuggerInfo=(Internal) Display debugger info AdvancedSettingsDialog, property: config.description.autoLoadEmbeddedSwfs=Automaticaly load the embedded SWFs from DefineBinaryData tags. AdvancedSettingsDialog, property: config.name.export.zoom=(Internal) Export zoom AdvancedSettingsDialog, property: config.name.showOldTextDuringTextEditing=Show old text during text editing AdvancedSettingsDialog, property: config.description.textImportResizeTextBoundsMode=Text bounds resize mode after text editing. AdvancedSettingsDialog, property: config.description.showCodeSavedMessage=Show again code saved message AdvancedSettingsDialog, property: config.name.lzmaFastBytes=LZMA fast bytes (valid values: 5-255) AdvancedSettingsDialog, property: config.description.displayDebuggerInfo=Display info about debugger before switching it AdvancedSettingsDialog, property: config.name.updateProxyAddress=Http Proxy address for checking updates AdvancedSettingsDialog, property: config.name.overrideTextExportFileName=Override text export filename AdvancedSettingsDialog, property: config.name.deobfuscationMode=Deobfuscation mode AdvancedSettingsDialog, property: config.description.export.zoom=Last used export zoom AdvancedSettingsDialog, property: config.description.updateProxyAddress=Http Proxy address for checking updates. Format: example.com:8080 AdvancedSettingsDialog, property: config.name.pluginPath=Plugin Path AdvancedSettingsDialog, property: config.description.deobfuscationMode=Run deobfuscation on every file before ActionScript decompilation AdvancedSettingsDialog, property: config.group.name.import=Import AdvancedSettingsDialog, property: config.description.showOldTextDuringTextEditing=Shows the original text of the text tag with gray color in the preview area. AdvancedSettingsDialog, property: config.name.lastDebuggerReplaceFunction=(Internal) Last selected trace replacement AdvancedSettingsDialog, property: config.description.pluginPath=- AdvancedSettingsDialog, property: config.description.lzmaFastBytes=Fast bytes parameter of the LZMA encoder AdvancedSettingsDialog, property: config.name.autoLoadEmbeddedSwfs=Auto load embedded SWFs MainFrame, property: preview.prevframe=Previous frame MainFrame, property: preview.nextframe=Next frame MainFrame, property: message.confirm.closeAll=There are unsaved changes. Do you really want to close all SWFs? MainFrame, property: filter.xml=XML MainFrame, property: preview.gotoframe.dialog.title=Goto frame MainFrame, property: message.confirm.close=There are unsaved changes. Do you really want to close {swfName}? MainFrame, property: button.setAdvanceValues=Set advance values MainFrame, property: preview.gotoframe=Goto frame... MainFrame, property: menu.tools.replace=Text Replace MainFrame, property: preview.gotoframe.dialog.frame.error=Invalid frame number. It must be number between %min% and %max%. MainFrame, property: contextmenu.importSwfXml=Import SWF XML MainFrame, property: error.text.invalid.continue=Invalid text: %text% on line %line%. Do you want to continue? MainFrame, property: fit=fit MainFrame, property: preview.gotoframe.dialog.message=Enter frame number (%min% - %max%) MainFrame, property: contextmenu.exportSwfXml=Export SWF as XML MainFrame, property: contextmenu.copyTag=Copy tag to MainFrame, property: editorTruncateWarning=Text truncated at position %chars% in debug mode. MainFrame, property: contextmenu.exportJavaSource=Export Java Source SearchDialog, property: label.replacementtext=Replacement text: SearchDialog, property: checkbox.replaceInParameters=Replace in parameters SearchDialog, property: dialog.title.replace=Text replace
ru ----------------------------- AboutDialog, property: translators=Переводчики: AboutDialog, property: developers.others=+ другие с GitHub и Google code AboutDialog, property: developers=Разработчики: MainFrame, property: preview.prevframe=Предыдущий кадр MainFrame, property: preview.nextframe=Следующий кадр MainFrame, property: message.confirm.closeAll=Есть несохранённые изменения. Вы действительно желаете закрыть все SWF? MainFrame, property: filter.xml=XML MainFrame, property: preview.gotoframe.dialog.title=Переход к кадру MainFrame, property: message.confirm.close=Есть несохранённые изменения. Вы действительно желаете закрыть {swfName}? MainFrame, property: button.setAdvanceValues=Установить значения MainFrame, property: preview.gotoframe=Перейти к кадру... MainFrame, property: menu.tools.replace=Замена текста MainFrame, property: preview.gotoframe.dialog.frame.error=Неверный номер кадра. Он должен быть в диапазоне от %min% до %max%. MainFrame, property: contextmenu.importSwfXml=Импортировать SWF XML MainFrame, property: error.text.invalid.continue=Неверный текст: %text% на строке %line%. Продолжить? MainFrame, property: fit=fit MainFrame, property: preview.gotoframe.dialog.message=Введите номер кадра (%min% - %max%) MainFrame, property: contextmenu.exportSwfXml=Экспортировать SWF как XML MainFrame, property: contextmenu.copyTag=Копировать тэг в MainFrame, property: editorTruncateWarning=В отладочном режиме текст отсекается с символа номер %chars%. MainFrame, property: contextmenu.exportJavaSource=Экспортировать исходный код Java SearchDialog, property: label.replacementtext=Текст замены: SearchDialog, property: checkbox.replaceInParameters=Заменять в параметрах SearchDialog, property: dialog.title.replace=Замена текста
MainFrame: #after version 4.1.0 contextmenu.undo = Отмена text.align.left = Выровнять по левому краю text.align.right = Выровнять по правому краю text.align.center = Выровнять по центру text.align.justify = Выровнять по ширине text.undo = Undo changes
text.undo = Отменить изменения
menu.file.import.xml = Импортировать SWF XML menu.file.export.xml = Экспортировать SWF XML #after version 4.1.1 text.align.translatex.decrease = Уменьшить TranslateX text.align.translatex.increase = Увеличить TranslateX
selectPreviousTag = Выбрать предыдущий тэг selectNextTag = Выбрать следующий тэг
button.ignoreAll = Игнорировать все
symbolclass = Класс символа symbolclass.csv = CSV menu.file.import.symbolClass = Класс символа
config.name.showDebugMenu = Показывать отладочное меню config.description.showDebugMenu = Показывать отладочное меню в верхней панели
Hey, I'd be glad to pass my translation role to other good translator hands, it's time to step out, thanks for this opportunity!
okay, no problem. Thank you very much for your great help in the past! We really appreciated that!
hello, a couple hours ago i created a new issue about this but i found that one now : ) so I'm able to help with russian localization and translate all new texts
also seen some typos and minor mistakes in currently translated texts and i'm ready to get through all the texts and fix that small things
menu.import = Импорт