[scanmem] Ru trans, fix crashes

Igor Gnatenko ignatenkobrain at fedoraproject.org
Sun Dec 8 07:25:09 UTC 2013


commit cf572bed1da89c400cffe18a2d587073d00acdf0
Author: Igor Gnatenko <i.gnatenko.brain at gmail.com>
Date:   Sun Dec 8 11:25:03 2013 +0400

    Ru trans, fix crashes
    
    Signed-off-by: Igor Gnatenko <i.gnatenko.brain at gmail.com>

 .gitignore                                       |    1 +
 0001-gui-drop-deprecated-groups.patch            |   28 --
 0001-gui-improve-pkexec.patch                    |   98 ------
 0001-po-ru-comment-in-.desktop.patch             |   25 ++
 0002-po-ru-basic-translate.patch                 |  352 ++++++++++++++++++++++
 0003-po-ru-add-ru-to-LINGUAS.patch               |   20 ++
 0004-po-ru-update-Russian-translation.patch      |  175 +++++++++++
 0005-Input-address-validation.patch              |   27 ++
 0006-Use-self.show_errors-always.patch           |   55 ++++
 0007-return-if-no-process-after-show-error.patch |   25 ++
 0008-po-gettext-.desktop.patch                   |  100 ++++++
 0009-po-update.patch                             |  104 +++++++
 0010-po-translable-policy-for-policykit.patch    |  173 +++++++++++
 0011-po-ru-translate-policy.patch                |   53 ++++
 0012-po-ru-typo-fix.patch                        |   82 +++++
 scanmem.spec                                     |   41 ++-
 sources                                          |    2 +-
 17 files changed, 1227 insertions(+), 134 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 8e6a765..1b94ed8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
 scanmem-0.07.tar.gz
 /scanmem-0.13_.tar.gz
 /scanmem-0.14-3e65b13.tar.gz
+/scanmem-0.14-0bff2a6.tar.gz
diff --git a/0001-po-ru-comment-in-.desktop.patch b/0001-po-ru-comment-in-.desktop.patch
new file mode 100644
index 0000000..7e8c557
--- /dev/null
+++ b/0001-po-ru-comment-in-.desktop.patch
@@ -0,0 +1,25 @@
+From ec28e9d91d2560738ad95c5bc5369a1f9e5ed5fc Mon Sep 17 00:00:00 2001
+From: Igor Gnatenko <i.gnatenko.brain at gmail.com>
+Date: Sat, 7 Dec 2013 17:00:18 +0400
+Subject: [PATCH 01/12] po/ru: comment in .desktop
+
+Signed-off-by: Igor Gnatenko <i.gnatenko.brain at gmail.com>
+---
+ gui/GameConqueror.desktop | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/gui/GameConqueror.desktop b/gui/GameConqueror.desktop
+index cf00f26..6c0b5ee 100644
+--- a/gui/GameConqueror.desktop
++++ b/gui/GameConqueror.desktop
+@@ -2,6 +2,7 @@
+ Name=Game Conqueror
+ Comment=A game hacking tool. A GUI front-end for scanmem.
+ Comment[ja]=ゲーム向けプロセスメモリエディタ(scanmem GUI フロントエンド)
++Comment[ru]=Инструмент для взлома игр (графический интерфейс к scanmem)
+ Exec=gameconqueror
+ Terminal=false
+ Type=Application
+-- 
+1.8.4.2
+
diff --git a/0002-po-ru-basic-translate.patch b/0002-po-ru-basic-translate.patch
new file mode 100644
index 0000000..5f99f6f
--- /dev/null
+++ b/0002-po-ru-basic-translate.patch
@@ -0,0 +1,352 @@
+From a4603d0e609277f215bc3d8eaddd10b1a1180f86 Mon Sep 17 00:00:00 2001
+From: Igor Gnatenko <i.gnatenko.brain at gmail.com>
+Date: Sat, 7 Dec 2013 17:44:04 +0400
+Subject: [PATCH 02/12] po/ru: basic translate
+
+Signed-off-by: Igor Gnatenko <i.gnatenko.brain at gmail.com>
+---
+ po/ru.po | 332 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 332 insertions(+)
+ create mode 100644 po/ru.po
+
+diff --git a/po/ru.po b/po/ru.po
+new file mode 100644
+index 0000000..ed91c5b
+--- /dev/null
++++ b/po/ru.po
+@@ -0,0 +1,332 @@
++# Russian translations for Game Conqueror.
++# Copyright (C) 2009-2013 Wang Lu <coolwanglu(a)gmail.com>
++# This file is distributed under the same license as Game Conqueror.
++# Igor Gnatenko <i.gnatenko.brain at gmail.com>, 2013.
++#
++msgid ""
++msgstr ""
++"Project-Id-Version: scanmem 0.14\n"
++"Report-Msgid-Bugs-To: \n"
++"POT-Creation-Date: 2013-11-03 01:50+0900\n"
++"PO-Revision-Date: 2013-12-07 18:03+0400\n"
++"Last-Translator: Igor Gnatenko <i.gnatenko.brain at gmail.com>\n"
++"Language-Team: Russian\n"
++"Language: ru\n"
++"MIME-Version: 1.0\n"
++"Content-Type: text/plain; charset=UTF-8\n"
++"Content-Transfer-Encoding: 8bit\n"
++"Plural-Forms: nplurals=1; plural=0;\n"
++
++#: ../gui/GameConqueror.xml.h:1
++msgid ""
++"Copyright (C) 2009-2013 WANG Lu  <coolwanglu at gmail.com>\n"
++"Copyright (C) 2010 Bryan Cain\n"
++"\n"
++"Special thanks: Zhang Zhe"
++msgstr ""
++
++#: ../gui/GameConqueror.xml.h:5
++msgid "A graphical frontend of scanmem"
++msgstr "Графический интерфейс к scanmem"
++
++#: ../gui/GameConqueror.xml.h:6
++msgid "Homepage"
++msgstr "Домашняя страница"
++
++#: ../gui/GameConqueror.xml.h:7
++msgid "Manually add an entry"
++msgstr ""
++
++#: ../gui/GameConqueror.xml.h:8
++msgid "Specify type of target data"
++msgstr ""
++
++#: ../gui/GameConqueror.xml.h:9
++msgid "Type:"
++msgstr "Тип:"
++
++#: ../gui/GameConqueror.xml.h:10
++msgid "Memory address of the value"
++msgstr ""
++
++#: ../gui/GameConqueror.xml.h:11
++msgid "Address:"
++msgstr "Адрес:"
++
++#: ../gui/GameConqueror.xml.h:12
++msgid "Give a brief description of the value"
++msgstr ""
++
++#: ../gui/GameConqueror.xml.h:13
++msgid "Description:"
++msgstr "Описание:"
++
++#: ../gui/GameConqueror.xml.h:14
++msgid "GameConqueror"
++msgstr ""
++
++#: ../gui/GameConqueror.xml.h:15
++msgid "Found: 0"
++msgstr "Найдено: 0"
++
++#: ../gui/GameConqueror.xml.h:16 ../gui/GameConqueror.py:778
++msgid "Select a process"
++msgstr "Выбрать процесс"
++
++#: ../gui/GameConqueror.xml.h:17
++msgid "Scan"
++msgstr "Сканировать"
++
++#: ../gui/GameConqueror.xml.h:18
++msgid ""
++"Syntax:\n"
++"\n"
++" For number types: \n"
++"<span font_family=\"monospace\">\n"
++" <b>N</b>         Exactly this number\n"
++" <b>?</b>         Unknown initial value\n"
++" <b>&gt; or +</b>    Increased values\n"
++" <b>&lt; or -</b>    Decreased values\n"
++" <b>=</b>         Unchanged values\n"
++" <b>!=</b>        Changed values\n"
++" <b>&gt; N</b>       Greater than N\n"
++" <b>&lt; N</b>       Less than N\n"
++" <b>+ N</b>       Increased by N\n"
++" <b>- N</b>       Decreased by N\n"
++" <b>!= N</b>       Other than N\n"
++"</span>\n"
++" where N could be a number of a simple math expression embraced by (), e.g.\n"
++" 12\n"
++" 0x34\n"
++" 5.67\n"
++" (- 8 * 9)\n"
++"\n"
++" For bytearray: use 2-byte hexadecimal notation for each byte, separated by "
++"spaces\n"
++"<span font_family=\"monospace\">\n"
++" e.g. FE DC BA 98 76 54 32 10\n"
++"</span>\n"
++" For string: enter the string directly\n"
++"\n"
++msgstr ""
++
++#: ../gui/GameConqueror.xml.h:47
++msgid "Value: <span color=\"blue\"><u>?</u></span>"
++msgstr "Значение: <span color=\"blue\"><u>?</u></span>"
++
++#: ../gui/GameConqueror.xml.h:48 ../gui/GameConqueror.py:777
++msgid "No process selected"
++msgstr "Процесс не выбран"
++
++#: ../gui/GameConqueror.xml.h:49
++msgid "Reset"
++msgstr "Сброс"
++
++#: ../gui/GameConqueror.xml.h:50
++msgid "Data Type:"
++msgstr "Тип данных:"
++
++#: ../gui/GameConqueror.xml.h:51
++msgid ""
++"<b>Basic:</b>      Fastest but may miss some values\n"
++"<b>Normal:</b>  Works for most cases\n"
++"<b>Full:</b>         Never miss values but slowest"
++msgstr ""
++"<b>Быстрый:</b>      Быстрый, но может не содержать некоторых значений\n"
++"<b>Обычный:</b>  Работает в большинстве случаев\n"
++"<b>Полный:</b>         Медленный, но содержит все значения"
++
++#: ../gui/GameConqueror.xml.h:54
++msgid "Search Scope:"
++msgstr ""
++
++#: ../gui/GameConqueror.xml.h:55
++msgid ""
++"Specify how float numbers should be rounded. Not avaiable in this version"
++msgstr ""
++
++#: ../gui/GameConqueror.xml.h:56
++msgid "Round Type:"
++msgstr ""
++
++#: ../gui/GameConqueror.xml.h:57
++msgid "Remove all entries"
++msgstr "Удалить все элементы"
++
++#: ../gui/GameConqueror.xml.h:58
++msgid "Load address list from file"
++msgstr "Загрузить список адресов из файла"
++
++#: ../gui/GameConqueror.xml.h:59
++msgid "Save address list to file"
++msgstr "Сохранить список адресов в файл"
++
++#: ../gui/GameConqueror.xml.h:60
++msgid "Memory Editor"
++msgstr "Редактор Памяти"
++
++#: ../gui/GameConqueror.xml.h:61
++msgid "Press Ctrl+F to search for a process"
++msgstr "Нажмите Ctrl+F, чтобы найти процесс"
++
++#: ../gui/GameConqueror.xml.h:62
++msgid "Process:"
++msgstr "Процесс:"
++
++#: ../gui/GameConqueror.xml.h:63
++msgid "User:"
++msgstr "Пользователь:"
++
++#: ../gui/GameConqueror.xml.h:64
++msgid "Filter"
++msgstr "Фильтр"
++
++#. init columns
++#. Address
++#: ../gui/GameConqueror.py:165 ../gui/GameConqueror.py:208
++msgid "Address"
++msgstr "Адрес"
++
++#. Value
++#: ../gui/GameConqueror.py:166 ../gui/GameConqueror.py:225
++msgid "Value"
++msgstr "Значение"
++
++#. Lock
++#: ../gui/GameConqueror.py:191
++msgid "Lock"
++msgstr "Заблокировать"
++
++#. Description
++#: ../gui/GameConqueror.py:200
++msgid "Description"
++msgstr "Описание"
++
++#. Type
++#: ../gui/GameConqueror.py:213
++msgid "Type"
++msgstr "Тип"
++
++#. second col
++#: ../gui/GameConqueror.py:251
++msgid "User"
++msgstr "Пользователь"
++
++#. third col
++#: ../gui/GameConqueror.py:256
++msgid "Process"
++msgstr "Процесс"
++
++#: ../gui/GameConqueror.py:270
++msgid "Add to cheat list"
++msgstr ""
++
++#: ../gui/GameConqueror.py:271 ../gui/GameConqueror.py:278
++msgid "Browse this address"
++msgstr ""
++
++#: ../gui/GameConqueror.py:272
++msgid "Scan for this address"
++msgstr ""
++
++#: ../gui/GameConqueror.py:279
++msgid "Copy address"
++msgstr "Копировать адрес"
++
++#: ../gui/GameConqueror.py:280
++msgid "Remove this entry"
++msgstr "Удалить этот элемент"
++
++#: ../gui/GameConqueror.py:312 ../gui/GameConqueror.py:461
++#: ../gui/GameConqueror.py:845
++msgid "Please select a process"
++msgstr ""
++
++#: ../gui/GameConqueror.py:325 ../gui/GameConqueror.py:335
++msgid "Invalid address"
++msgstr "Некорректный адрес"
++
++#: ../gui/GameConqueror.py:346
++msgid "Open.."
++msgstr "Открыть.."
++
++#: ../gui/GameConqueror.py:366
++msgid "Save.."
++msgstr "Сохранить.."
++
++#: ../gui/GameConqueror.py:476
++msgid "Please enter a valid address."
++msgstr "Пожалуйста введите корректный адрес."
++
++#: ../gui/GameConqueror.py:480 ../gui/GameConqueror.py:754
++msgid "No Description"
++msgstr "Нет Описания"
++
++#: ../gui/GameConqueror.py:689
++msgid "Unknown architecture, you may report to developers"
++msgstr ""
++
++#: ../gui/GameConqueror.py:701 ../gui/GameConqueror.py:779
++msgid ""
++"Cannot retieve memory maps of that process, maybe it has exited (crashed), "
++"or you don't have enough privilege"
++msgstr ""
++
++#. not readable
++#: ../gui/GameConqueror.py:710
++#, python-format
++msgid "Address %x is not readable"
++msgstr "Адрес %x не доступен для чтения"
++
++#: ../gui/GameConqueror.py:713
++#, python-format
++msgid "Address %x is not valid"
++msgstr "Адрес %x не корректен"
++
++#: ../gui/GameConqueror.py:722
++msgid "Cannot find a readable region"
++msgstr "Невозможно найти область для чтения"
++
++#: ../gui/GameConqueror.py:733
++msgid "Cannot read memory"
++msgstr "Невозможно прочитать память"
++
++#: ../gui/GameConqueror.py:891
++#, python-format
++msgid "Found: %d"
++msgstr "Найдено: %d"
++
++#: ../gui/GameConqueror.py:1002
++msgid ""
++"Version of scanmem mismatched, you may encounter problems. Please make sure "
++"you are using the same version of GameConqueror as scanmem."
++msgstr ""
++
++#: ../gui/misc.py:30
++msgid "No value provided"
++msgstr "Значение не предоставлено"
++
++#: ../gui/misc.py:40 ../gui/misc.py:46 ../gui/misc.py:96
++#, python-format
++msgid "Bad value: %s"
++msgstr "Плохое значение: %s"
++
++#: ../gui/misc.py:59
++#, python-format
++msgid "Command \"%s\" is not valid for the first scan"
++msgstr "Комманда \"%s\" некорректна для первого поиска"
++
++#: ../gui/misc.py:76
++#, python-format
++msgid "%s is not an integer"
++msgstr "%s не целочисленное"
++
++#: ../gui/misc.py:82
++#, python-format
++msgid "%s is too bulky for %s"
++msgstr ""
++
++#: ../gui/misc.py:122
++#, python-format
++msgid "Cannot locate item: %s"
++msgstr "Невозможно найти запись: %s"
+-- 
+1.8.4.2
+
diff --git a/0003-po-ru-add-ru-to-LINGUAS.patch b/0003-po-ru-add-ru-to-LINGUAS.patch
new file mode 100644
index 0000000..51a1948
--- /dev/null
+++ b/0003-po-ru-add-ru-to-LINGUAS.patch
@@ -0,0 +1,20 @@
+From 618a1b3454d37e9e5746e290000691d78fc999ad Mon Sep 17 00:00:00 2001
+From: Igor Gnatenko <i.gnatenko.brain at gmail.com>
+Date: Sat, 7 Dec 2013 17:44:38 +0400
+Subject: [PATCH 03/12] po/ru: add ru to LINGUAS
+
+Signed-off-by: Igor Gnatenko <i.gnatenko.brain at gmail.com>
+---
+ po/LINGUAS | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/po/LINGUAS b/po/LINGUAS
+index bef7f4a..c4436bb 100644
+--- a/po/LINGUAS
++++ b/po/LINGUAS
+@@ -1 +1,2 @@
+ ja
++ru
+-- 
+1.8.4.2
+
diff --git a/0004-po-ru-update-Russian-translation.patch b/0004-po-ru-update-Russian-translation.patch
new file mode 100644
index 0000000..7b5ada7
--- /dev/null
+++ b/0004-po-ru-update-Russian-translation.patch
@@ -0,0 +1,175 @@
+From 305072856039da9423fc6a94b79f306d3905e46b Mon Sep 17 00:00:00 2001
+From: Igor Gnatenko <i.gnatenko.brain at gmail.com>
+Date: Sun, 8 Dec 2013 02:17:19 +0400
+Subject: [PATCH 04/12] po/ru: update Russian translation
+
+Signed-off-by: Igor Gnatenko <i.gnatenko.brain at gmail.com>
+---
+ po/ru.po | 60 +++++++++++++++++++++++++++++++++++++++++++++++-------------
+ 1 file changed, 47 insertions(+), 13 deletions(-)
+
+diff --git a/po/ru.po b/po/ru.po
+index ed91c5b..5bbcaf8 100644
+--- a/po/ru.po
++++ b/po/ru.po
+@@ -8,9 +8,9 @@ msgstr ""
+ "Project-Id-Version: scanmem 0.14\n"
+ "Report-Msgid-Bugs-To: \n"
+ "POT-Creation-Date: 2013-11-03 01:50+0900\n"
+-"PO-Revision-Date: 2013-12-07 18:03+0400\n"
++"PO-Revision-Date: 2013-12-08 02:16+0400\n"
+ "Last-Translator: Igor Gnatenko <i.gnatenko.brain at gmail.com>\n"
+-"Language-Team: Russian\n"
++"Language-Team: Russian Fedora\n"
+ "Language: ru\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+@@ -35,11 +35,11 @@ msgstr "Домашняя страница"
+ 
+ #: ../gui/GameConqueror.xml.h:7
+ msgid "Manually add an entry"
+-msgstr ""
++msgstr "Добавить элемент вручную"
+ 
+ #: ../gui/GameConqueror.xml.h:8
+ msgid "Specify type of target data"
+-msgstr ""
++msgstr "Укажите тип целевых данных"
+ 
+ #: ../gui/GameConqueror.xml.h:9
+ msgid "Type:"
+@@ -47,7 +47,7 @@ msgstr "Тип:"
+ 
+ #: ../gui/GameConqueror.xml.h:10
+ msgid "Memory address of the value"
+-msgstr ""
++msgstr "Адрес значения в памяти"
+ 
+ #: ../gui/GameConqueror.xml.h:11
+ msgid "Address:"
+@@ -55,7 +55,7 @@ msgstr "Адрес:"
+ 
+ #: ../gui/GameConqueror.xml.h:12
+ msgid "Give a brief description of the value"
+-msgstr ""
++msgstr "Дайте краткое описание значения"
+ 
+ #: ../gui/GameConqueror.xml.h:13
+ msgid "Description:"
+@@ -109,6 +109,35 @@ msgid ""
+ " For string: enter the string directly\n"
+ "\n"
+ msgstr ""
++"Синтаксис:\n"
++"\n"
++" Для численных типов: \n"
++"<span font_family=\"monospace\">\n"
++" <b>N</b>         Равные N\n"
++" <b>?</b>         Неизвестное начальное значение\n"
++" <b>&gt; или +</b>    Увеличившиеся значения\n"
++" <b>&lt; или -</b>    Уменьшившиеся значения\n"
++" <b>=</b>         Не изменившиеся значения\n"
++" <b>!=</b>        Изменившиеся значения\n"
++" <b>&gt; N</b>       Больше чем N\n"
++" <b>&lt; N</b>       Меньше чем N\n"
++" <b>+ N</b>       Увеличились на N\n"
++" <b>- N</b>       Уменьшились by N\n"
++" <b>!= N</b>       Отличные от N\n"
++"</span>\n"
++" где N может быть число или простое математическое выражение, выделеннок в (), напр.\n"
++" 12\n"
++" 0x34\n"
++" 5.67\n"
++" (- 8 * 9)\n"
++"\n"
++" Для массива байтов: используйте 2-разрядный шестнадцатеричный формат для каждого байта, разделённые "
++"пробелами\n"
++"<span font_family=\"monospace\">\n"
++" напр. FE DC BA 98 76 54 32 10\n"
++"</span>\n"
++" Для строк: вводите искомую строку\n"
++"\n"
+ 
+ #: ../gui/GameConqueror.xml.h:47
+ msgid "Value: <span color=\"blue\"><u>?</u></span>"
+@@ -138,12 +167,13 @@ msgstr ""
+ 
+ #: ../gui/GameConqueror.xml.h:54
+ msgid "Search Scope:"
+-msgstr ""
++msgstr "Область Поиска:"
+ 
+ #: ../gui/GameConqueror.xml.h:55
+ msgid ""
+ "Specify how float numbers should be rounded. Not avaiable in this version"
+ msgstr ""
++"Укажите, как числа с плавающей точкой будут округляться. Недоступно в этой версии"
+ 
+ #: ../gui/GameConqueror.xml.h:56
+ msgid "Round Type:"
+@@ -219,15 +249,15 @@ msgstr "Процесс"
+ 
+ #: ../gui/GameConqueror.py:270
+ msgid "Add to cheat list"
+-msgstr ""
++msgstr "Добавить в чит-лист"
+ 
+ #: ../gui/GameConqueror.py:271 ../gui/GameConqueror.py:278
+ msgid "Browse this address"
+-msgstr ""
++msgstr "Просмотреть этот адрес"
+ 
+ #: ../gui/GameConqueror.py:272
+ msgid "Scan for this address"
+-msgstr ""
++msgstr "Искать по этому адресу"
+ 
+ #: ../gui/GameConqueror.py:279
+ msgid "Copy address"
+@@ -240,7 +270,7 @@ msgstr "Удалить этот элемент"
+ #: ../gui/GameConqueror.py:312 ../gui/GameConqueror.py:461
+ #: ../gui/GameConqueror.py:845
+ msgid "Please select a process"
+-msgstr ""
++msgstr "Пожалуйста выберите процесс"
+ 
+ #: ../gui/GameConqueror.py:325 ../gui/GameConqueror.py:335
+ msgid "Invalid address"
+@@ -264,13 +294,15 @@ msgstr "Нет Описания"
+ 
+ #: ../gui/GameConqueror.py:689
+ msgid "Unknown architecture, you may report to developers"
+-msgstr ""
++msgstr "Неизвестная архитектура, сообщите разработчикам"
+ 
+ #: ../gui/GameConqueror.py:701 ../gui/GameConqueror.py:779
+ msgid ""
+ "Cannot retieve memory maps of that process, maybe it has exited (crashed), "
+ "or you don't have enough privilege"
+ msgstr ""
++"Невозможно получить маппинги памяти для этого процесса, возможно он больше не существует "
++"или у вас не хватает прав"
+ 
+ #. not readable
+ #: ../gui/GameConqueror.py:710
+@@ -301,6 +333,8 @@ msgid ""
+ "Version of scanmem mismatched, you may encounter problems. Please make sure "
+ "you are using the same version of GameConqueror as scanmem."
+ msgstr ""
++"Используемпя версия scanmem несовместима, могут быть проблемы. Убедитесь, "
++"что вы используете одинаковые версии GameConqueror и scanmem."
+ 
+ #: ../gui/misc.py:30
+ msgid "No value provided"
+@@ -324,7 +358,7 @@ msgstr "%s не целочисленное"
+ #: ../gui/misc.py:82
+ #, python-format
+ msgid "%s is too bulky for %s"
+-msgstr ""
++msgstr "%s слишком большой для %s"
+ 
+ #: ../gui/misc.py:122
+ #, python-format
+-- 
+1.8.4.2
+
diff --git a/0005-Input-address-validation.patch b/0005-Input-address-validation.patch
new file mode 100644
index 0000000..961cc06
--- /dev/null
+++ b/0005-Input-address-validation.patch
@@ -0,0 +1,27 @@
+From 0df2d8087078b3b8cfcfaa98b7aff19369ba810e Mon Sep 17 00:00:00 2001
+From: Igor Gnatenko <i.gnatenko.brain at gmail.com>
+Date: Sun, 8 Dec 2013 02:43:48 +0400
+Subject: [PATCH 05/12] Input address validation
+
+Reference: https://bugzilla.redhat.com/show_bug.cgi?id=1039313
+
+Signed-off-by: Igor Gnatenko <i.gnatenko.brain at gmail.com>
+---
+ gui/GameConqueror.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/gui/GameConqueror.py b/gui/GameConqueror.py
+index 6707ed7..158e0c4 100644
+--- a/gui/GameConqueror.py
++++ b/gui/GameConqueror.py
+@@ -472,6 +472,7 @@ class GameConqueror():
+     def ConfirmAddCheat_Button_clicked_cb(self, button, data=None):
+         try:
+             addr = self.addcheat_address_input.get_text()
++            int(addr,16)
+         except ValueError:
+             self.show_error(_('Please enter a valid address.'))
+             return False
+-- 
+1.8.4.2
+
diff --git a/0006-Use-self.show_errors-always.patch b/0006-Use-self.show_errors-always.patch
new file mode 100644
index 0000000..d78fe1b
--- /dev/null
+++ b/0006-Use-self.show_errors-always.patch
@@ -0,0 +1,55 @@
+From 96830083aee97607a6a4c24d3fd57743ca22b509 Mon Sep 17 00:00:00 2001
+From: Igor Gnatenko <i.gnatenko.brain at gmail.com>
+Date: Sun, 8 Dec 2013 02:52:28 +0400
+Subject: [PATCH 06/12] Use self.show_errors always
+
+Traceback (most recent call last):
+  File "/usr/share/gameconqueror/GameConqueror.py", line 558, in cheatlist_popup_cb
+    self.browse_memory(int(addr,16))
+  File "/usr/share/gameconqueror/GameConqueror.py", line 705, in browse_memory
+    show_error(_('Cannot retieve memory maps of that process, maybe it has exited (crashed), or you don\'t have enough privilege'))
+NameError: global name 'show_error' is not defined
+
+Signed-off-by: Igor Gnatenko <i.gnatenko.brain at gmail.com>
+---
+ gui/GameConqueror.py | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/gui/GameConqueror.py b/gui/GameConqueror.py
+index 6707ed7..e5218d4 100644
+--- a/gui/GameConqueror.py
++++ b/gui/GameConqueror.py
+@@ -686,7 +686,7 @@ class GameConqueror():
+     def scan_for_addr(self, addr):
+         bits = self.get_pointer_width()
+         if bits is None:
+-            show_error(_('Unknown architecture, you may report to developers'))
++            self.show_error(_('Unknown architecture, you may report to developers'))
+             return
+         self.reset_scan()
+         self.value_input.set_text('%#x'%(addr,))
+@@ -698,7 +698,7 @@ class GameConqueror():
+         try:
+             self.read_maps()
+         except:
+-            show_error(_('Cannot retieve memory maps of that process, maybe it has exited (crashed), or you don\'t have enough privilege'))
++            self.show_error(_('Cannot retieve memory maps of that process, maybe it has exited (crashed), or you don\'t have enough privilege'))
+         selected_region = None
+         if addr:
+             for m in self.maps:
+@@ -707,10 +707,10 @@ class GameConqueror():
+                     break
+             if selected_region:
+                 if selected_region['flags'][0] != 'r': # not readable
+-                    show_error(_('Address %x is not readable') % (addr,))
++                    self.show_error(_('Address %x is not readable') % (addr,))
+                     return
+             else:
+-                show_error(_('Address %x is not valid') % (addr,))
++                self.show_error(_('Address %x is not valid') % (addr,))
+                 return
+         else:
+             # just select the first readable region
+-- 
+1.8.4.2
+
diff --git a/0007-return-if-no-process-after-show-error.patch b/0007-return-if-no-process-after-show-error.patch
new file mode 100644
index 0000000..f77f4b6
--- /dev/null
+++ b/0007-return-if-no-process-after-show-error.patch
@@ -0,0 +1,25 @@
+From 6b14cd6afe1ab5b58ff4cfd3ff67450cb309a99f Mon Sep 17 00:00:00 2001
+From: Igor Gnatenko <i.gnatenko.brain at gmail.com>
+Date: Sun, 8 Dec 2013 02:55:21 +0400
+Subject: [PATCH 07/12] return if no process after show error
+
+Signed-off-by: Igor Gnatenko <i.gnatenko.brain at gmail.com>
+---
+ gui/GameConqueror.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/gui/GameConqueror.py b/gui/GameConqueror.py
+index e5218d4..7c80a44 100644
+--- a/gui/GameConqueror.py
++++ b/gui/GameConqueror.py
+@@ -699,6 +699,7 @@ class GameConqueror():
+             self.read_maps()
+         except:
+             self.show_error(_('Cannot retieve memory maps of that process, maybe it has exited (crashed), or you don\'t have enough privilege'))
++            return
+         selected_region = None
+         if addr:
+             for m in self.maps:
+-- 
+1.8.4.2
+
diff --git a/0008-po-gettext-.desktop.patch b/0008-po-gettext-.desktop.patch
new file mode 100644
index 0000000..0be29c9
--- /dev/null
+++ b/0008-po-gettext-.desktop.patch
@@ -0,0 +1,100 @@
+From 8a02a0851e1f4c848657f1ff591090d9b2572d74 Mon Sep 17 00:00:00 2001
+From: Igor Gnatenko <i.gnatenko.brain at gmail.com>
+Date: Sun, 8 Dec 2013 04:26:20 +0400
+Subject: [PATCH 08/12] po: gettext .desktop
+
+Signed-off-by: Igor Gnatenko <i.gnatenko.brain at gmail.com>
+---
+ gui/GameConqueror.desktop    | 11 -----------
+ gui/GameConqueror.desktop.in |  9 +++++++++
+ gui/Makefile.am              |  4 +++-
+ po/POTFILES.in               |  1 +
+ po/ja.po                     |  4 ++++
+ po/ru.po                     |  4 ++++
+ 6 files changed, 21 insertions(+), 12 deletions(-)
+ delete mode 100644 gui/GameConqueror.desktop
+ create mode 100644 gui/GameConqueror.desktop.in
+
+diff --git a/gui/GameConqueror.desktop b/gui/GameConqueror.desktop
+deleted file mode 100644
+index 6c0b5ee..0000000
+--- a/gui/GameConqueror.desktop
++++ /dev/null
+@@ -1,11 +0,0 @@
+-[Desktop Entry]
+-Name=Game Conqueror
+-Comment=A game hacking tool. A GUI front-end for scanmem.
+-Comment[ja]=ゲーム向けプロセスメモリエディタ(scanmem GUI フロントエンド)
+-Comment[ru]=Инструмент для взлома игр (графический интерфейс к scanmem)
+-Exec=gameconqueror
+-Terminal=false
+-Type=Application
+-Icon=GameConqueror
+-Categories=Game;
+-StartupNotify=true
+diff --git a/gui/GameConqueror.desktop.in b/gui/GameConqueror.desktop.in
+new file mode 100644
+index 0000000..3ca0c14
+--- /dev/null
++++ b/gui/GameConqueror.desktop.in
+@@ -0,0 +1,9 @@
++[Desktop Entry]
++_Name=Game Conqueror
++_Comment=A game hacking tool. A GUI front-end for scanmem.
++Exec=gameconqueror
++Terminal=false
++Type=Application
++Icon=GameConqueror
++Categories=Game;
++StartupNotify=true
+diff --git a/gui/Makefile.am b/gui/Makefile.am
+index c85d793..50ef477 100644
+--- a/gui/Makefile.am
++++ b/gui/Makefile.am
+@@ -4,7 +4,9 @@ dist_bin_SCRIPTS = gameconqueror
+ dist_gameconqueror_DATA = GameConqueror.xml GameConqueror_128x128.png GameConqueror_72x72.png
+ dist_gameconqueror_DATA += backend.py consts.py misc.py hexview.py
+ dist_gameconqueror_SCRIPTS = GameConqueror.py
+-dist_desktop_DATA = GameConqueror.desktop
++dist_desktop_in_files = GameConqueror.desktop.in
++dist_desktop_DATA = $(dist_desktop_in_files:.desktop.in=.desktop)
++ at INTLTOOL_DESKTOP_RULE@
+ dist_polkit_DATA = org.freedesktop.gameconqueror.policy
+ dist_man_MANS = gameconqueror.1
+ dist_doc_DATA = README TODO COPYING
+diff --git a/po/POTFILES.in b/po/POTFILES.in
+index d291c4e..561ccd4 100644
+--- a/po/POTFILES.in
++++ b/po/POTFILES.in
+@@ -1,3 +1,4 @@
+ [type: gettext/glade]gui/GameConqueror.xml
+ gui/GameConqueror.py
+ gui/misc.py
++gui/GameConqueror.desktop.in
+diff --git a/po/ja.po b/po/ja.po
+index 9176c6f..a1db02d 100644
+--- a/po/ja.po
++++ b/po/ja.po
+@@ -365,3 +365,7 @@ msgstr "%s は %s で表現できる範囲を超えています"
+ #, python-format
+ msgid "Cannot locate item: %s"
+ msgstr "%s という項目は見つかりません"
++
++#: gui/GameConqueror.desktop.in:4
++msgid "A game hacking tool. A GUI front-end for scanmem."
++msgstr "ゲーム向けプロセスメモリエディタ(scanmem GUI フロントエンド)"
+diff --git a/po/ru.po b/po/ru.po
+index 5bbcaf8..5243c0f 100644
+--- a/po/ru.po
++++ b/po/ru.po
+@@ -364,3 +364,7 @@ msgstr "%s слишком большой для %s"
+ #, python-format
+ msgid "Cannot locate item: %s"
+ msgstr "Невозможно найти запись: %s"
++
++#: gui/GameConqueror.desktop.in:4
++msgid "A game hacking tool. A GUI front-end for scanmem."
++msgstr "Инструмент для взлома игр (графический интерфейс к scanmem)"
+-- 
+1.8.4.2
+
diff --git a/0009-po-update.patch b/0009-po-update.patch
new file mode 100644
index 0000000..ad334df
--- /dev/null
+++ b/0009-po-update.patch
@@ -0,0 +1,104 @@
+From 5ac02652a0be50535246df547786d67f008ff3c3 Mon Sep 17 00:00:00 2001
+From: Igor Gnatenko <i.gnatenko.brain at gmail.com>
+Date: Sun, 8 Dec 2013 04:46:12 +0400
+Subject: [PATCH 09/12] po: update
+
+Signed-off-by: Igor Gnatenko <i.gnatenko.brain at gmail.com>
+---
+ po/ja.po |  8 ++++++--
+ po/ru.po | 22 ++++++++++++++--------
+ 2 files changed, 20 insertions(+), 10 deletions(-)
+
+diff --git a/po/ja.po b/po/ja.po
+index a1db02d..8a66558 100644
+--- a/po/ja.po
++++ b/po/ja.po
+@@ -7,7 +7,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: scanmem 0.14\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2013-11-03 01:50+0900\n"
++"POT-Creation-Date: 2013-12-08 04:45+0400\n"
+ "PO-Revision-Date: 2013-10-30 02:13+0900\n"
+ "Last-Translator: Kuina <kuinanein(a)gmail.com>\n"
+ "Language-Team: Japanese\n"
+@@ -366,6 +366,10 @@ msgstr "%s は %s で表現できる範囲を超えています"
+ msgid "Cannot locate item: %s"
+ msgstr "%s という項目は見つかりません"
+ 
+-#: gui/GameConqueror.desktop.in:4
++#: ../gui/GameConqueror.desktop.in.h:1
++msgid "Game Conqueror"
++msgstr ""
++
++#: ../gui/GameConqueror.desktop.in.h:2
+ msgid "A game hacking tool. A GUI front-end for scanmem."
+ msgstr "ゲーム向けプロセスメモリエディタ(scanmem GUI フロントエンド)"
+diff --git a/po/ru.po b/po/ru.po
+index 5243c0f..b2d0d09 100644
+--- a/po/ru.po
++++ b/po/ru.po
+@@ -7,7 +7,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: scanmem 0.14\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2013-11-03 01:50+0900\n"
++"POT-Creation-Date: 2013-12-08 04:45+0400\n"
+ "PO-Revision-Date: 2013-12-08 02:16+0400\n"
+ "Last-Translator: Igor Gnatenko <i.gnatenko.brain at gmail.com>\n"
+ "Language-Team: Russian Fedora\n"
+@@ -125,14 +125,15 @@ msgstr ""
+ " <b>- N</b>       Уменьшились by N\n"
+ " <b>!= N</b>       Отличные от N\n"
+ "</span>\n"
+-" где N может быть число или простое математическое выражение, выделеннок в (), напр.\n"
++" где N может быть число или простое математическое выражение, выделеннок в "
++"(), напр.\n"
+ " 12\n"
+ " 0x34\n"
+ " 5.67\n"
+ " (- 8 * 9)\n"
+ "\n"
+-" Для массива байтов: используйте 2-разрядный шестнадцатеричный формат для каждого байта, разделённые "
+-"пробелами\n"
++" Для массива байтов: используйте 2-разрядный шестнадцатеричный формат для "
++"каждого байта, разделённые пробелами\n"
+ "<span font_family=\"monospace\">\n"
+ " напр. FE DC BA 98 76 54 32 10\n"
+ "</span>\n"
+@@ -173,7 +174,8 @@ msgstr "Область Поиска:"
+ msgid ""
+ "Specify how float numbers should be rounded. Not avaiable in this version"
+ msgstr ""
+-"Укажите, как числа с плавающей точкой будут округляться. Недоступно в этой версии"
++"Укажите, как числа с плавающей точкой будут округляться. Недоступно в этой "
++"версии"
+ 
+ #: ../gui/GameConqueror.xml.h:56
+ msgid "Round Type:"
+@@ -301,8 +303,8 @@ msgid ""
+ "Cannot retieve memory maps of that process, maybe it has exited (crashed), "
+ "or you don't have enough privilege"
+ msgstr ""
+-"Невозможно получить маппинги памяти для этого процесса, возможно он больше не существует "
+-"или у вас не хватает прав"
++"Невозможно получить маппинги памяти для этого процесса, возможно он больше "
++"не существует или у вас не хватает прав"
+ 
+ #. not readable
+ #: ../gui/GameConqueror.py:710
+@@ -365,6 +367,10 @@ msgstr "%s слишком большой для %s"
+ msgid "Cannot locate item: %s"
+ msgstr "Невозможно найти запись: %s"
+ 
+-#: gui/GameConqueror.desktop.in:4
++#: ../gui/GameConqueror.desktop.in.h:1
++msgid "Game Conqueror"
++msgstr ""
++
++#: ../gui/GameConqueror.desktop.in.h:2
+ msgid "A game hacking tool. A GUI front-end for scanmem."
+ msgstr "Инструмент для взлома игр (графический интерфейс к scanmem)"
+-- 
+1.8.4.2
+
diff --git a/0010-po-translable-policy-for-policykit.patch b/0010-po-translable-policy-for-policykit.patch
new file mode 100644
index 0000000..9713fb9
--- /dev/null
+++ b/0010-po-translable-policy-for-policykit.patch
@@ -0,0 +1,173 @@
+From ec76bc7f036ed21404e7ebe048cd45b5e61a37ef Mon Sep 17 00:00:00 2001
+From: Igor Gnatenko <i.gnatenko.brain at gmail.com>
+Date: Sun, 8 Dec 2013 05:00:12 +0400
+Subject: [PATCH 10/12] po: translable policy for policykit
+
+Signed-off-by: Igor Gnatenko <i.gnatenko.brain at gmail.com>
+---
+ configure.ac                                   |  2 +-
+ gui/Makefile.am                                |  6 ++++--
+ gui/org.freedesktop.gameconqueror.policy.in    | 20 --------------------
+ gui/org.freedesktop.gameconqueror.policy.in.in | 20 ++++++++++++++++++++
+ po/POTFILES.in                                 |  1 +
+ po/POTFILES.skip                               |  1 +
+ po/ja.po                                       | 10 +++++++++-
+ po/ru.po                                       | 10 +++++++++-
+ 8 files changed, 45 insertions(+), 25 deletions(-)
+ delete mode 100644 gui/org.freedesktop.gameconqueror.policy.in
+ create mode 100644 gui/org.freedesktop.gameconqueror.policy.in.in
+ create mode 100644 po/POTFILES.skip
+
+diff --git a/configure.ac b/configure.ac
+index 515b4c8..ab9f579 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -127,7 +127,7 @@ AC_ARG_ENABLE(gui, [AS_HELP_STRING([--enable-gui],
+                  gui/icons/Makefile
+                  gui/consts.py
+                  gui/gameconqueror
+-                 gui/org.freedesktop.gameconqueror.policy
++                 gui/org.freedesktop.gameconqueror.policy.in
+                  ])],
+                  [enable_gui=false]
+                  )
+diff --git a/gui/Makefile.am b/gui/Makefile.am
+index 50ef477..3e20f56 100644
+--- a/gui/Makefile.am
++++ b/gui/Makefile.am
+@@ -7,10 +7,12 @@ dist_gameconqueror_SCRIPTS = GameConqueror.py
+ dist_desktop_in_files = GameConqueror.desktop.in
+ dist_desktop_DATA = $(dist_desktop_in_files:.desktop.in=.desktop)
+ @INTLTOOL_DESKTOP_RULE@
+-dist_polkit_DATA = org.freedesktop.gameconqueror.policy
++dist_polkit_in_files = org.freedesktop.gameconqueror.policy.in
++dist_polkit_DATA = $(dist_polkit_in_files:.policy.in=.policy)
++ at INTLTOOL_POLICY_RULE@
+ dist_man_MANS = gameconqueror.1
+ dist_doc_DATA = README TODO COPYING
+-EXTRA_DIST = gameconqueror.in consts.py.in org.freedesktop.gameconqueror.policy.in
++EXTRA_DIST = gameconqueror.in consts.py.in
+ 
+ gameconquerordir=$(datadir)/gameconqueror
+ desktopdir=$(datadir)/applications
+diff --git a/gui/org.freedesktop.gameconqueror.policy.in b/gui/org.freedesktop.gameconqueror.policy.in
+deleted file mode 100644
+index 249d011..0000000
+--- a/gui/org.freedesktop.gameconqueror.policy.in
++++ /dev/null
+@@ -1,20 +0,0 @@
+-<?xml version="1.0" encoding="UTF-8"?>
+-<!DOCTYPE policyconfig PUBLIC
+-"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
+-"http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
+-<policyconfig>
+- <vendor>Scanmem</vendor>
+- <vendor_url>http://code.google.com/p/scanmem/</vendor_url>
+- <action id="org.freedesktop.gameconqueror.pkexec.run">
+-    <description>Run Game Conqueror</description>
+-    <message>Authentication is required to run Game Conqueror</message>
+-    <icon_name>GameConqueror</icon_name>
+-    <defaults>
+-     <allow_any>auth_admin_keep</allow_any>
+-     <allow_inactive>auth_admin_keep</allow_inactive>
+-     <allow_active>auth_admin_keep</allow_active>
+-    </defaults>
+-    <annotate key="org.freedesktop.policykit.exec.path">@PKGDATADIR@/GameConqueror.py</annotate>
+-    <annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
+- </action>
+-</policyconfig>
+diff --git a/gui/org.freedesktop.gameconqueror.policy.in.in b/gui/org.freedesktop.gameconqueror.policy.in.in
+new file mode 100644
+index 0000000..688a831
+--- /dev/null
++++ b/gui/org.freedesktop.gameconqueror.policy.in.in
+@@ -0,0 +1,20 @@
++<?xml version="1.0" encoding="UTF-8"?>
++<!DOCTYPE policyconfig PUBLIC
++"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
++"http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
++<policyconfig>
++ <vendor>Scanmem</vendor>
++ <vendor_url>http://code.google.com/p/scanmem/</vendor_url>
++ <action id="org.freedesktop.gameconqueror.pkexec.run">
++    <_description>Run Game Conqueror</_description>
++    <_message>Authentication is required to run Game Conqueror</_message>
++    <icon_name>GameConqueror</icon_name>
++    <defaults>
++     <allow_any>auth_admin_keep</allow_any>
++     <allow_inactive>auth_admin_keep</allow_inactive>
++     <allow_active>auth_admin_keep</allow_active>
++    </defaults>
++    <annotate key="org.freedesktop.policykit.exec.path">@PKGDATADIR@/GameConqueror.py</annotate>
++    <annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
++ </action>
++</policyconfig>
+diff --git a/po/POTFILES.in b/po/POTFILES.in
+index 561ccd4..13911d6 100644
+--- a/po/POTFILES.in
++++ b/po/POTFILES.in
+@@ -2,3 +2,4 @@
+ gui/GameConqueror.py
+ gui/misc.py
+ gui/GameConqueror.desktop.in
++gui/org.freedesktop.gameconqueror.policy.in.in
+diff --git a/po/POTFILES.skip b/po/POTFILES.skip
+new file mode 100644
+index 0000000..dc07df0
+--- /dev/null
++++ b/po/POTFILES.skip
+@@ -0,0 +1 @@
++gui/org.freedesktop.gameconqueror.policy.in
+diff --git a/po/ja.po b/po/ja.po
+index 8a66558..6549a02 100644
+--- a/po/ja.po
++++ b/po/ja.po
+@@ -7,7 +7,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: scanmem 0.14\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2013-12-08 04:45+0400\n"
++"POT-Creation-Date: 2013-12-08 05:10+0400\n"
+ "PO-Revision-Date: 2013-10-30 02:13+0900\n"
+ "Last-Translator: Kuina <kuinanein(a)gmail.com>\n"
+ "Language-Team: Japanese\n"
+@@ -373,3 +373,11 @@ msgstr ""
+ #: ../gui/GameConqueror.desktop.in.h:2
+ msgid "A game hacking tool. A GUI front-end for scanmem."
+ msgstr "ゲーム向けプロセスメモリエディタ(scanmem GUI フロントエンド)"
++
++#: ../gui/org.freedesktop.gameconqueror.policy.in.in.h:1
++msgid "Run Game Conqueror"
++msgstr ""
++
++#: ../gui/org.freedesktop.gameconqueror.policy.in.in.h:2
++msgid "Authentication is required to run Game Conqueror"
++msgstr ""
+diff --git a/po/ru.po b/po/ru.po
+index b2d0d09..16d0b89 100644
+--- a/po/ru.po
++++ b/po/ru.po
+@@ -7,7 +7,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: scanmem 0.14\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2013-12-08 04:45+0400\n"
++"POT-Creation-Date: 2013-12-08 05:10+0400\n"
+ "PO-Revision-Date: 2013-12-08 02:16+0400\n"
+ "Last-Translator: Igor Gnatenko <i.gnatenko.brain at gmail.com>\n"
+ "Language-Team: Russian Fedora\n"
+@@ -374,3 +374,11 @@ msgstr ""
+ #: ../gui/GameConqueror.desktop.in.h:2
+ msgid "A game hacking tool. A GUI front-end for scanmem."
+ msgstr "Инструмент для взлома игр (графический интерфейс к scanmem)"
++
++#: ../gui/org.freedesktop.gameconqueror.policy.in.in.h:1
++msgid "Run Game Conqueror"
++msgstr ""
++
++#: ../gui/org.freedesktop.gameconqueror.policy.in.in.h:2
++msgid "Authentication is required to run Game Conqueror"
++msgstr ""
+-- 
+1.8.4.2
+
diff --git a/0011-po-ru-translate-policy.patch b/0011-po-ru-translate-policy.patch
new file mode 100644
index 0000000..21f6a20
--- /dev/null
+++ b/0011-po-ru-translate-policy.patch
@@ -0,0 +1,53 @@
+From 6d2ca80fd46c13ad9c5e306462dcda86ff120053 Mon Sep 17 00:00:00 2001
+From: Igor Gnatenko <i.gnatenko.brain at gmail.com>
+Date: Sun, 8 Dec 2013 05:13:55 +0400
+Subject: [PATCH 11/12] po/ru: translate policy
+
+Signed-off-by: Igor Gnatenko <i.gnatenko.brain at gmail.com>
+---
+ po/ja.po | 2 +-
+ po/ru.po | 7 ++++---
+ 2 files changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/po/ja.po b/po/ja.po
+index 6549a02..34eaeeb 100644
+--- a/po/ja.po
++++ b/po/ja.po
+@@ -7,7 +7,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: scanmem 0.14\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2013-12-08 05:10+0400\n"
++"POT-Creation-Date: 2013-12-08 05:13+0400\n"
+ "PO-Revision-Date: 2013-10-30 02:13+0900\n"
+ "Last-Translator: Kuina <kuinanein(a)gmail.com>\n"
+ "Language-Team: Japanese\n"
+diff --git a/po/ru.po b/po/ru.po
+index 16d0b89..b720270 100644
+--- a/po/ru.po
++++ b/po/ru.po
+@@ -7,8 +7,8 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: scanmem 0.14\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2013-12-08 05:10+0400\n"
+-"PO-Revision-Date: 2013-12-08 02:16+0400\n"
++"POT-Creation-Date: 2013-12-08 05:13+0400\n"
++"PO-Revision-Date: 2013-12-08 05:13+0400\n"
+ "Last-Translator: Igor Gnatenko <i.gnatenko.brain at gmail.com>\n"
+ "Language-Team: Russian Fedora\n"
+ "Language: ru\n"
+@@ -377,8 +377,9 @@ msgstr "Инструмент для взлома игр (графический
+ 
+ #: ../gui/org.freedesktop.gameconqueror.policy.in.in.h:1
+ msgid "Run Game Conqueror"
+-msgstr ""
++msgstr "Запуск Game Conqueror"
+ 
+ #: ../gui/org.freedesktop.gameconqueror.policy.in.in.h:2
+ msgid "Authentication is required to run Game Conqueror"
+ msgstr ""
++"Для запуска Game Conqueror требуется подтверждение подлинности пользователя"
+-- 
+1.8.4.2
+
diff --git a/0012-po-ru-typo-fix.patch b/0012-po-ru-typo-fix.patch
new file mode 100644
index 0000000..00eb9cd
--- /dev/null
+++ b/0012-po-ru-typo-fix.patch
@@ -0,0 +1,82 @@
+From 478339801515889beb339e3b059ad2db3d6baa1c Mon Sep 17 00:00:00 2001
+From: Igor Gnatenko <i.gnatenko.brain at gmail.com>
+Date: Sun, 8 Dec 2013 05:15:01 +0400
+Subject: [PATCH 12/12] po/ru: typo fix
+
+Signed-off-by: Igor Gnatenko <i.gnatenko.brain at gmail.com>
+---
+ po/ru.po | 21 +++++++++------------
+ 1 file changed, 9 insertions(+), 12 deletions(-)
+
+diff --git a/po/ru.po b/po/ru.po
+index b720270..9557191 100644
+--- a/po/ru.po
++++ b/po/ru.po
+@@ -8,7 +8,7 @@ msgstr ""
+ "Project-Id-Version: scanmem 0.14\n"
+ "Report-Msgid-Bugs-To: \n"
+ "POT-Creation-Date: 2013-12-08 05:13+0400\n"
+-"PO-Revision-Date: 2013-12-08 05:13+0400\n"
++"PO-Revision-Date: 2013-12-08 11:19+0400\n"
+ "Last-Translator: Igor Gnatenko <i.gnatenko.brain at gmail.com>\n"
+ "Language-Team: Russian Fedora\n"
+ "Language: ru\n"
+@@ -125,15 +125,14 @@ msgstr ""
+ " <b>- N</b>       Уменьшились by N\n"
+ " <b>!= N</b>       Отличные от N\n"
+ "</span>\n"
+-" где N может быть число или простое математическое выражение, выделеннок в "
+-"(), напр.\n"
++" где N может быть число или простое математическое выражение, выделенное в (), напр.\n"
+ " 12\n"
+ " 0x34\n"
+ " 5.67\n"
+ " (- 8 * 9)\n"
+ "\n"
+-" Для массива байтов: используйте 2-разрядный шестнадцатеричный формат для "
+-"каждого байта, разделённые пробелами\n"
++" Для массива байтов: используйте 2-разрядный шестнадцатеричный формат для каждого байта, разделённые "
++"пробелами\n"
+ "<span font_family=\"monospace\">\n"
+ " напр. FE DC BA 98 76 54 32 10\n"
+ "</span>\n"
+@@ -174,8 +173,7 @@ msgstr "Область Поиска:"
+ msgid ""
+ "Specify how float numbers should be rounded. Not avaiable in this version"
+ msgstr ""
+-"Укажите, как числа с плавающей точкой будут округляться. Недоступно в этой "
+-"версии"
++"Укажите, как числа с плавающей точкой будут округляться. Недоступно в этой версии"
+ 
+ #: ../gui/GameConqueror.xml.h:56
+ msgid "Round Type:"
+@@ -303,8 +301,8 @@ msgid ""
+ "Cannot retieve memory maps of that process, maybe it has exited (crashed), "
+ "or you don't have enough privilege"
+ msgstr ""
+-"Невозможно получить маппинги памяти для этого процесса, возможно он больше "
+-"не существует или у вас не хватает прав"
++"Невозможно получить маппинги памяти для этого процесса, возможно он больше не существует "
++"или у вас не хватает прав"
+ 
+ #. not readable
+ #: ../gui/GameConqueror.py:710
+@@ -335,7 +333,7 @@ msgid ""
+ "Version of scanmem mismatched, you may encounter problems. Please make sure "
+ "you are using the same version of GameConqueror as scanmem."
+ msgstr ""
+-"Используемпя версия scanmem несовместима, могут быть проблемы. Убедитесь, "
++"Используемая версия scanmem несовместима, могут быть проблемы. Убедитесь, "
+ "что вы используете одинаковые версии GameConqueror и scanmem."
+ 
+ #: ../gui/misc.py:30
+@@ -381,5 +379,4 @@ msgstr "Запуск Game Conqueror"
+ 
+ #: ../gui/org.freedesktop.gameconqueror.policy.in.in.h:2
+ msgid "Authentication is required to run Game Conqueror"
+-msgstr ""
+-"Для запуска Game Conqueror требуется подтверждение подлинности пользователя"
++msgstr "Для запуска Game Conqueror требуется подтверждение подлинности пользователя"
+-- 
+1.8.4.2
+
diff --git a/scanmem.spec b/scanmem.spec
index e5b1ff2..0bcaf8c 100644
--- a/scanmem.spec
+++ b/scanmem.spec
@@ -1,19 +1,31 @@
-%global commit      3e65b1366c841e62d1cc7453407244dcfea910e4
+%global commit      0bff2a6fb8f9c879aa72e3b11e48e022b5bac790
 %global shortcommit %(c=%{commit}; echo ${c:0:7})
 
 Summary:  Simple interactive debugging utility
 Name:     scanmem
 Version:  0.14
-Release:  1.%{shortcommit}%{?dist}
+Release:  2.%{shortcommit}%{?dist}
 License:  GPLv2+
 #Source0:  https://scanmem.googlecode.com/files/scanmem-%{version}.tar.gz
 # 0.13 version has another filename
 #Source0:  https://scanmem.googlecode.com/files/scanmem-0.13_.tar.gz
 #Temporary use git version
 Source0:  https://github.com/coolwanglu/scanmem/archive/%{commit}/%{name}-%{version}-%{shortcommit}.tar.gz
-# https://github.com/coolwanglu/scanmem/pull/11
-Patch0:   0001-gui-improve-pkexec.patch
-Patch1:   0001-gui-drop-deprecated-groups.patch
+# https://github.com/coolwanglu/scanmem/pull/14
+# https://github.com/coolwanglu/scanmem/pull/15
+# https://github.com/coolwanglu/scanmem/pull/16
+Patch0:   0001-po-ru-comment-in-.desktop.patch
+Patch1:   0002-po-ru-basic-translate.patch
+Patch2:   0003-po-ru-add-ru-to-LINGUAS.patch
+Patch3:   0004-po-ru-update-Russian-translation.patch
+Patch4:   0005-Input-address-validation.patch
+Patch5:   0006-Use-self.show_errors-always.patch
+Patch6:   0007-return-if-no-process-after-show-error.patch
+Patch7:   0008-po-gettext-.desktop.patch
+Patch8:   0009-po-update.patch
+Patch9:   0010-po-translable-policy-for-policykit.patch
+Patch10:  0011-po-ru-translate-policy.patch
+Patch11:  0012-po-ru-typo-fix.patch
 VCS:      https://github.com/coolwanglu/scanmem.git
 URL:      https://code.google.com/p/scanmem/
 
@@ -30,7 +42,7 @@ engineering, or as a "pokefinder" to cheat at video games.
 Summary:  CheatEngline-alike interface for scanmem
 Requires: %{name}%{?_isa} = %{version}-%{release}
 Requires: polkit
-Requires: pygtk2
+Requires: pygobject2
 BuildRequires: desktop-file-utils gettext
 
 %description -n gameconqueror
@@ -41,9 +53,19 @@ user-friendly and easy to use. GameConqueror is written in PyGTK.
 %setup -q -n %{name}-%{commit}
 %patch0 -p1
 %patch1 -p1
-./autogen.sh
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+%patch8 -p1
+%patch9 -p1
+%patch10 -p1
+%patch11 -p1
 
 %build
+./autogen.sh
 %configure --enable-gui
 make %{?_smp_mflags}
 
@@ -88,6 +110,11 @@ fi
 %{_datadir}/polkit-1/actions/org.freedesktop.gameconqueror.policy
 
 %changelog
+* Sun Dec 08 2013 Igor Gnatenko <i.gnatenko.brain at gmail.com> - 0.14-2.0bff2a6
+- Russian translate
+- Fix some crashes (alike RHBZ #1039313)
+- spec: some fixes
+
 * Sun Dec 01 2013 Igor Gnatenko <i.gnatenko.brain at gmail.com> - 0.14-1.3e65b13
 - Git fixes + improve pkexec
 
diff --git a/sources b/sources
index 5ce152a..9df088a 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-ae0a72c0b8c3cb616276f7ddf6a48fa4  scanmem-0.14-3e65b13.tar.gz
+ec473a64cfcb759705288db33cd67963  scanmem-0.14-0bff2a6.tar.gz


More information about the scm-commits mailing list