Lazarus

Other Languages => Russian => Topic started by: zoltanleo on July 09, 2020, 09:55:01 pm

Title: Wiki: переводы статей
Post by: zoltanleo on July 09, 2020, 09:55:01 pm
Комрады, давно занимаюсь (в основном для себя) переводом статей на LazWiki. Решил, что анонсы не помешают тем, кому легче воспринимать тексты на русском. По мере появления новых переводов буду выкладывать анонсы в этом треде стартовом посте. Итак:

PascalTZ (https://wiki.freepascal.org/PascalTZ/ru)
XML Tutorial (https://wiki.lazarus.freepascal.org/XML_Tutorial/ru)
RichMemo (https://wiki.freepascal.org/RichMemo/ru)
Firebird (https://wiki.freepascal.org/Firebird/ru)
CalLite (https://wiki.lazarus.freepascal.org/CalLite/ru)
BGRABitmap (https://wiki.lazarus.freepascal.org/BGRABitmap/ru)
Примеры Drag'n'Drop (https://wiki.freepascal.org/Drag_and_Drop_sample/ru)
ATTabs (https://wiki.freepascal.org/ATTabs/ru)
Clipboard (https://wiki.freepascal.org/Clipboard/ru)
CSV (https://wiki.freepascal.org/CSV/ru)
SQLite (https://wiki.lazarus.freepascal.org/SQLite/ru)
xmlconf (https://wiki.freepascal.org/xmlconf/ru)
FPC_git (https://wiki.freepascal.org/FPC_git/ru)
Перевод мануала (https://github.com/zoltanleo/translations/blob/master/JSONTool/JSON%20Tools%20for%20Pascal.md) по JSONTools (https://www.getlazarus.org/json/) от стороннего разработчика Anthony Walter (https://github.com/sysrpl)
Anchor Docking (https://wiki.freepascal.org/Anchor_Docking/ru)
LCL Drag Dock (https://wiki.freepascal.org/LCL_Drag_Dock/ru)
Build custom dock manager (https://wiki.freepascal.org/Build_custom_dock_manager/ru)
Нотариальное заверение программного обеспечения для macOS 10.14.5+ (https://wiki.lazarus.freepascal.org/Notarization_for_macOS_10.14.5%2B/ru)
leakview (https://wiki.freepascal.org/leakview/ru)
heaptrc (https://wiki.freepascal.org/heaptrc/ru)
Подписывание кода в macOS (https://wiki.lazarus.freepascal.org/Code_Signing_for_macOS/ru)
Параметры командной строки и переменные окружения (https://wiki.freepascal.org/Command_line_parameters_and_environment_variables/ru)
Установка Lazarus на macOS (https://wiki.freepascal.org/Installing_Lazarus_on_macOS/ru)
Xcode (https://wiki.freepascal.org/Xcode/ru)
Program (https://wiki.freepascal.org/Program/ru)
Function (https://wiki.freepascal.org/Function/ru)
fpWeb Tutorial (https://wiki.freepascal.org/fpWeb_Tutorial/ru)
spelling (https://wiki.freepascal.org/spelling/ru)
Qt5 Interface (https://wiki.freepascal.org/Qt5_Interface/ru)
Custom Attributes (https://wiki.freepascal.org/Custom_Attributes/ru)
Lazarus InstantSearch (https://wiki.freepascal.org/Lazarus_InstantSearch/ru)
LNet (https://wiki.freepascal.org/lNet/ru)
Locating macOS significant directories (https://wiki.freepascal.org/Locating_macOS_significant_directories/ru)
FPReport (https://wiki.freepascal.org/FPReport/ru)
Использование FPReport (https://wiki.freepascal.org/FPReport_Usage/ru)
LazPaint (https://wiki.freepascal.org/LazPaint/ru)
Визуальный конструктор отчётов FPReport (https://wiki.freepascal.org/FPReport_Designer/ru)
Документация по TAChart (https://wiki.freepascal.org/TAChart_documentation/ru)
Debugger Setup (https://wiki.freepascal.org/Debugger_Setup/ru)
Title: Re: Wiki: переводы статей
Post by: AlexTP on July 09, 2020, 10:57:41 pm
Good, thanks.
Title: Re: Wiki: переводы статей
Post by: zoltanleo on July 09, 2020, 11:25:14 pm
Коль автор появился  :D
ATTabs (https://wiki.freepascal.org/ATTabs/ru)

Алексей, а почему бы вам не сделать автоматически перевод статей для своих компонентов самому? Там текст довольно лаконичный
Title: Re: Wiki: переводы статей
Post by: zoltanleo on July 10, 2020, 10:58:51 pm
Доделал кем-то начатый перевод
Clipboard (https://wiki.freepascal.org/Clipboard/ru)
Title: Re: Wiki: переводы статей
Post by: zoltanleo on July 15, 2020, 10:54:11 pm
CSV (https://wiki.freepascal.org/CSV/ru)
Title: Re: Wiki: переводы статей
Post by: AlexTP on September 05, 2020, 04:39:21 pm
Quote
Алексей, а почему бы вам не сделать автоматически перевод статей для своих компонентов самому?
А зачем? Мне самому это не нужно. Денег тоже не платят.
Title: Re: Wiki: переводы статей
Post by: zoltanleo on September 06, 2020, 06:30:32 am
Популяризация своего продукта. Мне кажется, ваша заинтересованность здесь прямая. Но ... хозяин-барин
Title: Re: Wiki: переводы статей
Post by: AlexTP on September 06, 2020, 08:15:03 am
Да не даст это популяризации, это только для тех кто ленится все на англ.читать.
Title: Re: Wiki: переводы статей
Post by: zoltanleo on May 17, 2021, 10:27:55 am
SQLite (https://wiki.lazarus.freepascal.org/SQLite/ru)
Title: Re: Wiki: переводы статей
Post by: zoltanleo on August 04, 2021, 11:28:15 am
Сделал для себя перевод мануала https://www.getlazarus.org/json/

Может, кому пригодится
pdf: https://github.com/zoltanleo/translations/blob/master/JSONTool/export/JSON%20Tools%20for%20Pascal.pdf
md: https://github.com/zoltanleo/translations/blob/master/JSONTool/JSON%20Tools%20for%20Pascal.md
Title: Re: Wiki: переводы статей
Post by: zoltanleo on August 04, 2021, 10:30:09 pm
xmlconf (https://wiki.freepascal.org/xmlconf/ru)
Title: Re: Wiki: переводы статей
Post by: zoltanleo on August 08, 2021, 10:44:51 pm
FPC_git (https://wiki.freepascal.org/FPC_git/ru)

Посмотрите на предмет неточностей перевода. Старался близко по смыслу перевести некоторые термины
Title: Re: Wiki: переводы статей
Post by: skalogryz on August 08, 2021, 11:23:49 pm
добавлял бы их в первопост, потому что если тред вырастет никто не будет читать историю целиком.
Title: Re: Wiki: переводы статей
Post by: zoltanleo on August 08, 2021, 11:30:26 pm
добавлял бы их в первопост, потому что если тред вырастет никто не будет читать историю целиком.
Кто-то кричит, что потом по всему треду топики раскиданы. Всем не угодишь  %)

Решил так: буду выкладывать отдельными топиками "Wiki: перевод <название статьи>" и пополнять этот топик.
Title: Re: Wiki: переводы статей
Post by: AlexTP on August 08, 2021, 11:59:09 pm
Или в первый пост все копить, или в некую страницу Вики все копить. Раскидывать плохо.
Title: Re: Wiki: переводы статей
Post by: zoltanleo on August 09, 2021, 12:42:33 am
Ок, в стартовый пост буду складывать
Title: Re: Wiki: переводы статей
Post by: zoltanleo on January 01, 2022, 08:47:29 pm
Добавил в стартовый пост ссылку на новый перевод
Нотариальное заверение приложений для macOS 10.14.5+ (https://wiki.lazarus.freepascal.org/Notarization_for_macOS_10.14.5%2B/ru) 
Title: Re: Wiki: переводы статей
Post by: zoltanleo on January 02, 2022, 08:24:47 pm
Добавил в стартовый пост ссылку на новые переводы
leakview (https://wiki.freepascal.org/leakview/ru)
heaptrc (https://wiki.freepascal.org/heaptrc/ru)
Title: Re: Wiki: переводы статей
Post by: AlexTP on January 03, 2022, 12:24:20 am
Про нотаризацию - было полезно, спасибо. Правда бесплатного варианта для Мак нету, да? 100 баксов за год?
Title: Re: Wiki: переводы статей
Post by: zoltanleo on January 03, 2022, 12:59:41 am
Судя по всему, нет. Но, как я успел заметить, для нашего человека макось разрешает воркэраунд, чтобы запускать не нотаризованные приложения. Главное, грамотно исполняемый файл внутрь бандла затолкать (как это делает frcupdeluxe)  :)
Title: Re: Wiki: переводы статей
Post by: AlexTP on January 26, 2022, 12:07:14 am
Я хотел почитать https://wiki.freepascal.org/Multithreaded_Application_Tutorial на русише, но вижу что русиш-версия отстает.
Вот список пунктов в инглише и далее на русише - второй список поменьше.

Quote
1 Overview
2 Do you need multi-threading?
3 Units needed for a multi-threaded application
4 Pure FPC example
5 The TThread Class
6 Special things to take care of

    6.1 Stack checking under Windows
    6.2 GetDC function in Windows
    6.3 Multithreading in packages
    6.4 Heaptrc
    6.5 Initialization and Finalization
    6.6 Non LCL program

7 SMP Support
8 Debugging Multi-threaded Applications with Lazarus

    8.1 Debugging output
    8.2 Linux

9 Lazarus Widgetset Interfaces

    9.1 Using SendMessage/PostMessage to communicate between threads

10 Critical sections

    10.1 Sharing Variables

11 Waiting for another thread
12 Fork
13 Parallel procedures/loops
14 Distributed computing
15 External threads

==========
1 Обзор
2 Нужна ли на самом деле многопоточность?
3 Класс TThread
4 Важно знать

    4.1 Проверка стека в Windows

5 Модули, необходимые для мультипоточных приложений

    5.1 Модуль heaptrc

6 Поддержка SMP
7 Отладка многопоточных приложений в Lazarus

    7.1 Отладка вывода
    7.2 Linux

8 Widgetsets
9 Критические секции

    9.1 Общие переменные

10 Ожидание другого потока
11 Fork (порождение)
12 Параллельные процедуры/циклы
13 Распределённые вычисления
14 Внешние потоки
Title: Re: Wiki: переводы статей
Post by: zoltanleo on January 26, 2022, 12:34:18 am
Хорошо, Леш, гляну позже. Как исправлю, отпишусь
Title: Re: Wiki: переводы статей
Post by: zoltanleo on January 27, 2022, 02:13:21 am
Я хотел почитать https://wiki.freepascal.org/Multithreaded_Application_Tutorial на русише, но вижу что русиш-версия отстает.

Готово. Можешь чтить (https://wiki.freepascal.org/Multithreaded_Application_Tutorial/ru) :)
Title: Re: Wiki: переводы статей
Post by: Seenkao on January 27, 2022, 04:49:06 am
От меня спасибо! )))
Там кстати ссылка идёт на книгу Мартина Харви. А на сайте программирования (https://forum.vingrad.ru/forum/topic-60076/anchor-entry480303/0.html#st_0_view_0) лежит её перевод. Может стоит прицепить туда ссылку?
Title: Re: Wiki: переводы статей
Post by: AlexTP on February 27, 2022, 10:57:57 am
Рад что начали переводить это
https://wiki.freepascal.org/Code_Signing_for_macOS/ru

подожду и прочту.
Title: Re: Wiki: переводы статей
Post by: AlexTP on February 27, 2022, 11:15:45 am
цитата оттуда же

> или управляющим нажатием на приложение.

надо не так писать. а так: "клик с нажатой клавишой Control".


>удерживаете ли вы контрольную кнопку или щелкаете правой кнопкой мыши или нет.

удерживаете ли вы Control при клике на приложение или кликаете правой кнопкой мыши.
Title: Re: Wiki: переводы статей
Post by: zoltanleo on February 27, 2022, 01:15:20 pm
Да, спасибо. Стилистические правки потом внесу.

Поправил. Там вся фраза выглядит стилистически криво, а перевод я только начал, причем делал на ходу, перед сном. Позже возможно напишу более литературно
Title: Re: Wiki: переводы статей
Post by: zoltanleo on May 17, 2022, 02:36:11 pm
Сделал перевод "Параметры командной строки и переменные окружения" (Command line parameters and environment variables)
https://wiki.freepascal.org/Command_line_parameters_and_environment_variables/ru
Title: Re: Wiki: переводы статей
Post by: AlexTP on May 17, 2022, 02:48:39 pm
Спасибо (правда я уже основное в этом топике знаю).
Title: Re: Wiki: переводы статей
Post by: AlexTP on May 17, 2022, 02:53:40 pm
Что лично я бы хотел. Прокачать знание БД, что-нибудь из туториалов про БД если есть.
Title: Re: Wiki: переводы статей
Post by: AlexTP on May 24, 2022, 09:07:54 am
zontanleo,
нашел смежную тему. Вот тут очень полезная дока - но там страница только на половину переведенная.
Может вам это интересно.

https://ru.wikibooks.org/wiki/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D1%84%D0%BE%D1%80%D0%BC%D1%83%D0%BB%D1%8B_%D0%B2_LaTeX
Title: Re: Wiki: переводы статей
Post by: zoltanleo on May 24, 2022, 11:09:10 pm
Что лично я бы хотел. Прокачать знание БД, что-нибудь из туториалов про БД если есть.

Я перевел мануал по Firebird, добавил несколько замечаний от себя в русскоязычной версии, поскольку пользуюсь сам
https://wiki.freepascal.org/Firebird/ru
Title: Re: Wiki: переводы статей
Post by: AlexTP on May 24, 2022, 11:15:40 pm
Почитаю если когда-то возьму Firebird.
Title: Re: Wiki: переводы статей
Post by: zoltanleo on May 26, 2022, 12:06:35 am
Добавил переводы
Установка Lazarus на macOS (https://wiki.freepascal.org/Installing_Lazarus_on_macOS/ru)
и
Xcode (https://wiki.freepascal.org/Xcode/ru)
Title: Re: Wiki: переводы статей
Post by: zoltanleo on June 01, 2022, 12:28:21 am
Добавил переводы
Program (https://wiki.freepascal.org/Program/ru)
и
Function (https://wiki.freepascal.org/Function/ru)
Title: Re: Wiki: переводы статей
Post by: skalogryz on June 01, 2022, 03:36:01 am
имхо: разбивать функции и процедуры на отдельные статьи это излишний паскализм

интересно, что в статье про процедуры (https://wiki.freepascal.org/Procedure/ru) рассказывается про параметры, а в функциях (https://wiki.freepascal.org/Function/ru) нет.
Title: Re: Wiki: переводы статей
Post by: zoltanleo on June 01, 2022, 11:45:58 pm
имхо: разбивать функции и процедуры на отдельные статьи это излишний паскализм

интересно, что в статье про процедуры (https://wiki.freepascal.org/Procedure/ru) рассказывается про параметры, а в функциях (https://wiki.freepascal.org/Function/ru) нет.
"Мопед не мой" ©  :)

Я лишь только перевожу
Title: Re: Wiki: переводы статей
Post by: skalogryz on June 02, 2022, 06:58:48 am
Я лишь только перевожу
я понимю! к тебе претензий нет, ты нужное дело делаешь!

я просто в целом смотрю на категорию "Reserved Words (https://wiki.freepascal.org/Category:Reserved_words)"

но я бы делал так. Скопипастил бы весь раздел 14 (https://www.freepascal.org/docs-html/ref/refch14.html#x175-19900014) в викию, и от  этой бы копипасты бы уже плясал.
Ну в том плане, чтобы примеры завозить, или ещё какие пояснения.
Title: Re: Wiki: переводы статей
Post by: zoltanleo on June 08, 2022, 12:01:37 am
но я бы делал так. Скопипастил бы весь раздел 14 (https://www.freepascal.org/docs-html/ref/refch14.html#x175-19900014) в викию, и от  этой бы копипасты бы уже плясал.
Ну в том плане, чтобы примеры завозить, или ещё какие пояснения.

А-а-а-а... Ну дык уже есть готовые переводы :)

http://lazarus-doc.h1n.ru/ref/usingfunctionsandprocedures.html
Title: Re: Wiki: переводы статей
Post by: zoltanleo on June 08, 2022, 12:02:57 am
Добавлен перевод
fpWeb Tutorial (https://wiki.freepascal.org/fpWeb_Tutorial/ru)
Title: Re: Wiki: переводы статей
Post by: skalogryz on June 13, 2022, 09:19:09 pm
а есть желание обновить ссылки на https://wiki.freepascal.org/How_do_I_create_a_bug_report/ru? :)
они все ведут на bugs.freeepascal.org
англоязычная страница уже была обновлена.

просто последние вопросы натолкнули на эту идею:
https://forum.lazarus.freepascal.org/index.php/topic,59614.msg444535/topicseen.html#new
Title: Re: Wiki: переводы статей
Post by: zoltanleo on June 16, 2022, 12:23:26 am
ОК. Возьмусь

Upd: ссылки поправил
Title: Re: Wiki: переводы статей
Post by: zoltanleo on August 19, 2022, 10:49:01 am
Внес некоторые правки в русскую редакцию статьи про диалоговые окна
https://wiki.freepascal.org/Dialog_Examples/ru#QuestionDlg
Title: Re: Wiki: переводы статей
Post by: zoltanleo on October 04, 2022, 11:53:44 pm
Исправил перевод в статью с проверкой орфографии
spelling (https://wiki.freepascal.org/spelling/ru)
Title: Re: Wiki: переводы статей
Post by: zoltanleo on December 20, 2022, 09:27:57 pm
Добавил перевод
Qt5 Interface (https://wiki.freepascal.org/Qt5_Interface/ru)
Title: Re: Wiki: переводы статей
Post by: zoltanleo on December 30, 2022, 10:18:18 pm
Добавил перевод по пользовательским аттрибутам

Custom Attributes (https://wiki.freepascal.org/Custom_Attributes/ru)
Title: Re: Wiki: переводы статей
Post by: zoltanleo on January 01, 2023, 04:25:04 pm
Добавил перевод по быстрому поиску в исходниках
Lazarus InstantSearch (https://wiki.freepascal.org/Lazarus_InstantSearch/ru)
Title: Re: Wiki: переводы статей
Post by: zoltanleo on September 11, 2023, 06:14:37 pm
Добавил перевод статьи
LNet (https://wiki.freepascal.org/lNet/ru)
Title: Re: Wiki: переводы статей
Post by: zoltanleo on October 25, 2024, 09:22:57 pm
Добавил перевод статьи
Поиск важных каталогов macOS (https://wiki.freepascal.org/Locating_macOS_significant_directories/ru)
Title: Re: Wiki: переводы статей
Post by: zoltanleo on February 26, 2025, 01:20:41 pm
Добавил перевод статьи
FPReport (https://wiki.freepascal.org/FPReport/ru)
Title: Re: Wiki: переводы статей
Post by: zoltanleo on March 01, 2025, 08:10:15 pm
Добавил перевод статьи
Использование FPReport (https://wiki.freepascal.org/FPReport_Usage/ru)
Title: Re: Wiki: переводы статей
Post by: zoltanleo on February 22, 2026, 05:12:42 pm
Сделал при помощи AI перевод LazPaint (https://wiki.freepascal.org/LazPaint/ru) :)
Title: Re: Wiki: переводы статей
Post by: n7800 on February 22, 2026, 08:51:23 pm
Так перевод сделал ИИ или ВЫ?  :D
Title: Re: Wiki: переводы статей
Post by: zoltanleo on February 23, 2026, 12:14:24 am
Так перевод сделал ИИ или ВЫ?  :D
Rus: Естественно, я. ИИ - всего лишь экскаватор в руках землекопа.

Eng: In this case, AI is just a tool that eliminates routine operations. In the end, I was pressing keys on the keyboard and thinking with my head. So, all the laurels go to me.

 :)
Title: Re: Wiki: переводы статей
Post by: zoltanleo on March 03, 2026, 09:08:33 pm
Добавил перевод "Визуальный конструктор отчётов FPReport (https://wiki.freepascal.org/FPReport_Designer/ru)" (соавтор ИИ, претензии к нему) :)
Title: Re: Wiki: переводы статей
Post by: zoltanleo on March 30, 2026, 09:37:49 am
Доделал давно начатый перевод Документация по TAChart (https://wiki.freepascal.org/TAChart_documentation/ru). Гляньте на корректность. Половину делал сам, половину ИИ. Если есть замечания - кидайте сюда - поправлю
Title: Re: Wiki: переводы статей
Post by: Thaddy on March 30, 2026, 12:31:54 pm
Добавил перевод по пользовательским аттрибутам
Custom Attributes (https://wiki.freepascal.org/Custom_Attributes/ru)
@zoltanleo

I wrote the original complete example for the attributes entry, but I have just added a much better example.
Maybe you can adapt your translation?
I have commented it slightly better. Apart from json serialization, the fun part is the [jsonignore] attribute.
The code is:
Code: Pascal  [Select][+][-]
  1. program AttributeSerializerDemo;
  2. {$ifdef fpc}{$mode delphi}{$H+}{$endif}
  3. {$apptype console}
  4. uses
  5.   SysUtils, TypInfo, Rtti;
  6. // ---------------------------------------------------------------------------
  7. // Custom attributes
  8. // ---------------------------------------------------------------------------
  9. type
  10. {$ifndef fpc for Delphi compatibility}
  11.   TCustomAttributeArray = Tarray<TCustomAttribute>;
  12.   TStringArray = TArray<string>;
  13. const
  14.     LineEnding = {$ifdef mswindows}#13#10{$else}#10{$endif};
  15. type
  16. {$endif}
  17.  
  18.   { Maps a property to a specific JSON key name }
  19.   JsonNameAttribute = class(TCustomAttribute)
  20.   private
  21.     FName: string;
  22.   public
  23.     constructor Create(const AName: string);virtual;
  24.     property Name: string read FName;
  25.   end;
  26.  
  27.   { Marks a property to be excluded from serialization }
  28.   JsonIgnoreAttribute = class(TCustomAttribute)
  29.   constructor create;
  30.   end;
  31.  
  32. constructor JsonNameAttribute.Create(const AName: string);
  33. begin
  34.   FName := AName;
  35. end;
  36.  
  37. constructor JsonIgnoreAttribute.Create;
  38. begin
  39.   inherited create;
  40. end;
  41. // ---------------------------------------------------------------------------
  42. // A realistic model class using the attributes
  43. // ---------------------------------------------------------------------------
  44. type
  45.   [JsonName('user')]
  46.   TUserProfile = class
  47.   private
  48.     FFirstName: string;
  49.     FLastName:  string;
  50.     FEmail:     string;
  51.     FAge:       Integer;
  52.     FPassword:  string;
  53.   published
  54.     [JsonName('first_name')]
  55.     property FirstName: string  read FFirstName write FFirstName;
  56.  
  57.     [JsonName('last_name')]
  58.     property LastName:  string  read FLastName  write FLastName;
  59.  
  60.     { No attribute → property name used as-is, lowercased }
  61.     property Email:     string  read FEmail     write FEmail;
  62.  
  63.     property Age:       Integer read FAge       write FAge;
  64.  
  65.     [JsonIgnore]
  66.     property Password:  string  read FPassword  write FPassword;
  67.   end;
  68. // ---------------------------------------------------------------------------
  69. // The serializer — reads attributes via RTTI at runtime
  70. // ---------------------------------------------------------------------------
  71. type
  72.   TJsonSerializer = class
  73.   public
  74.     class function Serialize(AObject: TObject): string;
  75.   end;
  76.  
  77. class function TJsonSerializer.Serialize(AObject: TObject): string;
  78. var
  79.   Ctx      : TRttiContext;
  80.   RttiType : TRttiType;
  81.   Prop     : TRttiProperty;
  82.   Attrs    : TCustomAttributeArray;
  83.   Attr     : TCustomAttribute;
  84.   JsonKey  : string;
  85.   Skip     : Boolean;
  86.   Value    : TValue;
  87.   Parts    : TStringArray;
  88.   I        : Integer;
  89. begin
  90.   Ctx      := TRttiContext.Create;
  91.   try
  92.     RttiType := Ctx.GetType(AObject.ClassType);
  93.     Parts := Default(TStringArray);
  94.     for Prop in RttiType.GetProperties do
  95.     begin
  96.       if Prop.Visibility <> mvPublished then
  97.         Continue;
  98.       // Scan this property's attributes
  99.       JsonKey := LowerCase(Prop.Name);   // default key
  100.       Skip    := False;
  101.       Attrs   := Prop.GetAttributes;
  102.       for Attr in Attrs do
  103.       begin
  104.         if Attr is JsonIgnoreAttribute then
  105.           Skip := True
  106.         else if Attr is JsonNameAttribute then
  107.           JsonKey := JsonNameAttribute(Attr).Name;
  108.       end;
  109.       if Skip then
  110.         Continue;
  111.       Value := Prop.GetValue(AObject);
  112.       // Build a simple "key": value pair
  113.       SetLength(Parts, Length(Parts) + 1);
  114.       case Prop.PropertyType.TypeKind of
  115.         tkInteger, tkInt64:
  116.           Parts[High(Parts)] := Format('  "%s": %s', [JsonKey, Value.ToString]);
  117.       else
  118.         Parts[High(Parts)] := Format('  "%s": "%s"', [JsonKey, Value.AsString]);
  119.       end;
  120.     end;
  121.     // Assemble the JSON object
  122.     Result := '{' + LineEnding;
  123.     for I := 0 to High(Parts) do
  124.     begin
  125.       Result := Result + Parts[I];
  126.       if I < High(Parts) then
  127.         Result := Result + ',';
  128.       Result := Result + LineEnding;
  129.     end;
  130.     Result := Result + '}';
  131.   finally
  132.     Ctx.Free;
  133.   end;
  134. end;
  135. // ---------------------------------------------------------------------------
  136. // Demo
  137. // ---------------------------------------------------------------------------
  138. var
  139.   User: TUserProfile;
  140. begin
  141.   User           := TUserProfile.Create;
  142.   User.FirstName := 'Ada';
  143.   User.LastName  := 'Lovelace';
  144.   User.Email     := 'ada@babbage.io';
  145.   User.Age       := 36;
  146.   User.Password  := 's3cr3t!';   // should NOT appear in output
  147.   WriteLn(TJsonSerializer.Serialize(User));
  148.   User.Free;
  149. end.

This example is much more useful in real-world scenarios and is Delphi compatible.

Keep up the good work!
Title: Re: Wiki: переводы статей
Post by: zoltanleo on March 30, 2026, 01:15:24 pm
I wrote the original complete example for the attributes entry, but I have just added a much better example.Keep up the good work!

Hi Thaddy

Thanks for the announcement. Added change (https://wiki.freepascal.org/Custom_Attributes/ru#%D0%9F%D0%BE%D0%BB%D0%BD%D1%8B%D0%B9_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80_2)s to the article
Title: Re: Wiki: переводы статей
Post by: zoltanleo on April 05, 2026, 07:30:26 pm
Исправил давно сделанный перевод статьи Настройка отладчика (https://wiki.freepascal.org/Debugger_Setup/ru).

Замечания приветствуются
Title: Re: Wiki: переводы статей
Post by: Seenkao on April 05, 2026, 09:18:01 pm
zoltanleo, просто как рекомендации. На твоё усмотрение.

Quote
В Windows файл должен находиться в папке «mingw\bin\» в каталоге, где установлен Lazarus.
заменить на
Quote
В Windows файл должен находиться в папке «mingw\bin\» в каталоге, где установлен Lazarus (mingw должен быть предварительно установлен).

----------------------------------------------------------------------
Quote
Для отладки проекта необходимо указать IDE компилировать его особым образом, предоставляя дополнительную информацию, необходимую отладчику.
заменить на
Quote
Для отладки проекта, требуется настроить проект:
1. Нажмите в пункте "Build modes" (Режимы сборки) кнопку с троеточием (или возможно у вас там значёк показывающий настроку), откроется новое окно и там выберите "Create Debug and Release modes" (Создать режимы отладочной и конечной сборки).
2. Выберите пункт "Default" и нажмите кнопку "-" (данный режим удалится).
3. Выберите пункт "Debug", закройте окно.

Далее, вы можете выбирать между режимами Debug и Release в настройках проекта, теперь достаточно будет только нажать на кнопку за "Build modes" (Режимы сборки).

----------------------------------------------------------------------
Quote
Не следует включать «Использовать внешние отладочные символы»
заменить на
Quote
Не желательно включать «Использовать внешние отладочные символы»
(ниже идёт дополнительное указание).

----------------------------------------------------------------------
Quote
Можно использовать «Режимы сборки». Кнопка «...» открывает диалог для создания режимов «release» и «debug». В этом случае всё равно следует проверить значение «Тип отладочной информации».
возможно удалить? Если будешь менять на предложенное выше. Или переформулировать, но первое предложение всё равно можно удалить.

----------------------------------------------------------------------
Quote
Используйте оптимизацию «Уровень 0» («Уровень 1» допустим, но в некоторых случаях может вызывать проблемы)
заменить на
Quote
Желательно использовать оптимизацию «-O0» («-O1» допустим, но всё что выше уровня оптимизации «-O0» в некоторых случаях может вызывать проблемы при отладке данных)

то же самое с Link Smart, заменить на "не желательно".

Ну и вообще желательно там же пробежаться по флажкам, указывающих для чего они нужны и что их можно отключать в некоторых ситуациях (но не желательно).


А вообще тема отладки достаточно глобальная, там наверно можно увеличивать статью раза в три. )))

Благодарю за работу!
TinyPortal © 2005-2018