Page 83 of 97

Posted: Sat May 28, 2011 10:15 am
by Andrey_A_A
Может мозгами не дорос, но не понял работу ScriptNoMutex ...
У меня задача простая (и она раньше работала!) :
1.Я запускаю скрипт
2.Для необходимой информации или действия вызываю другой скрипт
3.Жду завершения 2-го пункта
4.Продолжается работа основного скрипта
Если я что-то не понял, покажите пожалуйста пример. как запустить из скрипта другой скрипт, подождать когда он завершится, и продолжить... В справке Scripts-Rus.txt написано

Code: Select all

Call("Scripts::Main", 2, "SCRIPT", "ARGUMENTS")
  То же, что и предыдущий, но ожидать завершение скрипта.
Или что-то не так...

Posted: Sat May 28, 2011 10:51 am
by Instructor
Andrey_A_A
С версии 8.9 следующий код должен работать без "подвисаний":

Code: Select all

WScript.Echo("1");
AkelPad.ScriptNoMutex();
AkelPad.Call("Scripts::Main", 2, "SearchReplace.js")
AkelPad.Call("Scripts::Main", 2, "LinesFilter.js")
WScript.Echo("2");
Т.е. все вам нужно сделать это добавить строку "AkelPad.ScriptNoMutex();" иначе будет зацикливание.

Posted: Sat May 28, 2011 12:24 pm
by KDJ
FeyFre wrote:1. Static item sTxtLoadText is not enough wide to show translation in Ukrainian.
2. Transparency regulators(- and + at top right conner should be lowered a bit(overlapping caption, or not, but 1 think it is better when there will be 1px gap, than sensibility of overlap), and should be moved apart 2px (overlapping each other exactly 2px).
3. See below.
1. Fixed
2. I changed, check that's it.
3. Thank you for the translation into Ukrainian, uploaded.

Posted: Sat May 28, 2011 12:40 pm
by Infocatcher
Translator.js
Ctrl+Enter still insert new line break.
Please lower minimum height of window.

Posted: Sat May 28, 2011 12:53 pm
by KDJ
cnnnc
Thank you for the translation into Chinese script Translator.js. I have added to the collection of translations.
Now we have the script in five languages​​.

Posted: Sat May 28, 2011 1:06 pm
by Instructor
Infocatcher wrote:Translator.js
Ctrl+Enter still insert new line break.
KDJ
Second "AkelPad.WindowGetMessage();" should be removed as well as second "oSys.Call("user32::PostQuitMessage", 0);".

Posted: Sat May 28, 2011 2:32 pm
by KDJ
Instructor
Thanks for help.
Already corrected.
I also lowered minimum height of the window.

I still have one question.
Can I disable in ComboBox keys Ctrl+letter (for example, Ctrl+U)?

Posted: Sat May 28, 2011 3:14 pm
by Infocatcher
KDJ
Thanks!


Можно ли как-нибудь получить человекопонятное название языка?
Цель – подхватывать файл локализации в зависимости от языка пользователя.
То есть чтобы было не ...-1049.lng, а что-нибудь вроде ...-ru.lng.

Posted: Sat May 28, 2011 4:24 pm
by Instructor
KDJ
Also with window subclassing.

Infocatcher
Можно ли как-нибудь получить человекопонятное название языка?

Code: Select all

var oSys=AkelPad.SystemFunction();
var nLangID=oSys.Call("kernel32::GetUserDefaultLangID");

WScript.Echo(GetLangName(nLangID));

function GetLangName(nLangID)
{
  var lpBuffer;
  var pName="";

  if (lpBuffer=AkelPad.MemAlloc(128 * _TSIZE))
  {
    oSys.Call("kernel32::GetLocaleInfo" + _TCHAR, nLangID, 0x1001 /*LOCALE_SENGLANGUAGE*/, lpBuffer, 128);
    pName=AkelPad.MemRead(lpBuffer, _TSTR);
    AkelPad.MemFree(lpBuffer);
  }
  return pName;
}


Или 0x3 /*LOCALE_SABBREVLANGNAME*/, или 0x59 /*LOCALE_SISO639LANGNAME*/.

Posted: Sat May 28, 2011 4:56 pm
by Infocatcher
Instructor wrote:или 0x59 /*LOCALE_SISO639LANGNAME*/.
Во, отлично! Спасибо.

Posted: Sat May 28, 2011 5:41 pm
by Andrey_A_A
С версии 8.9 следующий код должен работать без "подвисаний":
Спасибо проблема ушла, наверное нужно отметить это и в описании Scripts-...txt строка 58. Использовать параметр 2 с ScriptNoMutex()

Posted: Sat May 28, 2011 6:03 pm
by Infocatcher
converter-test.js
Added support for language files.

Code: Select all

// converter.js for AkelPad - Russian interface language
// http://akelpad.sourceforge.net/forum/viewtopic.php?p=11095#p11095
strings = {
"No text selected!":
	"Отсутствует выделенный текст!",
"No text!":
	"Текст отсутствует!",
"Converter “%S” not found!":
	"Конвертер «%S» не найден!",
"Can't encode!\nError:\n%S":
	"Не удаётся закодировать!\nОшибка:\n%S",
"Can't decode!\nError:\n%S":
	"Не удаётся раскодировать!\nОшибка:\n%S",
"Nothing to convert!":
	"Нечего конвертировать!",
"Required time: %S (estimate)\nContinue?":
	"Требуется времени: %S (оценочно)\nПродолжить?",
"&HTML entities":
	"&HTML-сущности",
"&&en&tity; => symbol":
	"&&су&щность; => символ",
"s&ymbol => &&entity;":
	"с&имвол => &&сущность;",
"&&nbs&p; => space":
	"&&nbs&p; => пробел",
"s&pace => & ":
	"&пробел => & ",
"&&#c&ode; => symbol":
	"&&#к&од; => символ",
"sy&mbol => &&#code;":
	"си&мвол => &&#код;",
"he&x-code":
	"he&x-код",
"&Escape sequences":
	"&Escape-последовательности",
"Re&gular expressions special symbols":
	"Специальные символы &регулярных выражений",
"&String literals special symbols":
	"Специальные символы &строковых литералов",
"Uniform Resource Identifier (&URI)":
	"Унифицированный идентификатор ресурса (&URI)",
"Uniform Resource Identifier (U&RI), full":
	"Унифицированный идентификатор ресурса (U&RI), целиком",
"Encode as data URI":
	"Кодировать как data URI",
"Base64":
	"Base64",
"&Base64":
	"&Base64",
"Direction":
	"Направление",
"&Auto":
	"&Автоопределение",
"E&ncode":
	"Зако&дировать",
"&Decode":
	"&Раскодировать",
"Action":
	"Действие",
"&Insert":
	"&Вставить",
"&Copy":
	"&Копировать",
"Sho&w":
	"Пока&зать",
"OK":
	"ОК",
"Convert":
	"Конвертировать",
"Cancel":
	"Отмена"
};
(not needed, Russian still built-in)

Posted: Sat May 28, 2011 6:07 pm
by Fr0sT
Цель – подхватывать файл локализации в зависимости от языка пользователя
Может, лучше не системный, а настройку Акеля? Например, у меня русская винда, но Опера и Миранда английские. Плагин к Миранде на русском очень бы мешался.

Posted: Sat May 28, 2011 6:44 pm
by Infocatcher
Fr0sT
Тогда это касается почти всех скриптов с локализациями. :D
Я не против, если Instructor подскажет, как получить аналогичный код языка AkelPad'а.

Posted: Sat May 28, 2011 9:07 pm
by Fr0sT
Infocatcher
ну раз дело идет к тому, чтобы стандартизовать принцип локализации, то ради такого случая можно и добавить фишку в Акель). Или хотя бы в Скрипт-плаг