mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-17 03:49:30 +02:00
wiki test: show language counters
git-svn-id: trunk@35816 -
This commit is contained in:
parent
1e0d735c2c
commit
f64b8a27d7
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -2865,6 +2865,7 @@ components/wiki/lazwiki/wiki2xhtmlconvert.pas svneol=native#text/plain
|
||||
components/wiki/lazwiki/wikiformat.pas svneol=native#text/plain
|
||||
components/wiki/lazwiki/wikihtmlindexer.pas svneol=native#text/plain
|
||||
components/wiki/lazwiki/wikiparser.pas svneol=native#text/plain
|
||||
components/wiki/lazwiki/wikistrconsts.pas svneol=native#text/plain
|
||||
components/wiki/myfphttpclient.pp svneol=native#text/plain
|
||||
components/wiki/parsewikipage.lpi svneol=native#text/plain
|
||||
components/wiki/parsewikipage.lpr svneol=native#text/plain
|
||||
|
@ -19,7 +19,7 @@
|
||||
<Description Value="Parsing wiki exports, converters for fpdoc and html."/>
|
||||
<License Value="GPL-2"/>
|
||||
<Version Major="1" Release="1"/>
|
||||
<Files Count="7">
|
||||
<Files Count="8">
|
||||
<Item1>
|
||||
<Filename Value="wiki2fpdocconvert.pas"/>
|
||||
<UnitName Value="Wiki2FPDocConvert"/>
|
||||
@ -48,6 +48,10 @@
|
||||
<Filename Value="wikihtmlindexer.pas"/>
|
||||
<UnitName Value="wikihtmlindexer"/>
|
||||
</Item7>
|
||||
<Item8>
|
||||
<Filename Value="wikistrconsts.pas"/>
|
||||
<UnitName Value="wikistrconsts"/>
|
||||
</Item8>
|
||||
</Files>
|
||||
<Type Value="RunAndDesignTime"/>
|
||||
<RequiredPkgs Count="3">
|
||||
|
@ -8,7 +8,8 @@ interface
|
||||
|
||||
uses
|
||||
Wiki2FPDocConvert, WikiFormat, Wiki2XHTMLConvert, Wiki2CHMConvert,
|
||||
WikiParser, Wiki2HTMLConvert, wikihtmlindexer, LazarusPackageIntf;
|
||||
WikiParser, Wiki2HTMLConvert, wikihtmlindexer, WikiStrConsts,
|
||||
LazarusPackageIntf;
|
||||
|
||||
implementation
|
||||
|
||||
|
40
components/wiki/lazwiki/wikistrconsts.pas
Normal file
40
components/wiki/lazwiki/wikistrconsts.pas
Normal file
@ -0,0 +1,40 @@
|
||||
unit WikiStrConsts;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils;
|
||||
|
||||
resourcestring
|
||||
rsLanguageEnglishOriginal = 'English or Original';
|
||||
rsLanguageAfrikaans = 'Afrikaans';
|
||||
rsLanguageArabic = 'Arabic';
|
||||
rsLanguageCatalan = 'Catalan';
|
||||
rsLanguageChinese = 'Chinese';
|
||||
rsLanguageCzech = 'Czech';
|
||||
rsLanguageDutch = 'Dutch';
|
||||
rsLanguageEnglish = 'English';
|
||||
rsLanguageFinnish = 'Finnish';
|
||||
rsLanguageFrench = 'French';
|
||||
rsLanguageGerman = 'German';
|
||||
rsLanguageHebrew = 'Hebrew';
|
||||
rsLanguageHungarian = 'Hungarian';
|
||||
rsLanguageIndonesian = 'Indonesian';
|
||||
rsLanguageItalian = 'Italian';
|
||||
rsLanguageJapanese = 'Japanese';
|
||||
rsLanguageLithuanian = 'Lithuanian';
|
||||
rsLanguagePolish = 'Polish';
|
||||
rsLanguagePortuguese = 'Portuguese';
|
||||
rsLanguagePortugueseBr = 'Brazilian Portuguese';
|
||||
rsLanguageRussian = 'Russian';
|
||||
rsLanguageSlovak = 'Slovak';
|
||||
rsLanguageSpanish = 'Spanish';
|
||||
rsLanguageTurkish = 'Turkish';
|
||||
rsLanguageUkrainian = 'Ukrainian';
|
||||
|
||||
implementation
|
||||
|
||||
end.
|
||||
|
@ -29,8 +29,8 @@ interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, math, LazFileUtils, LazLogger, LazDbgLog, LazUTF8,
|
||||
laz2_DOM, CodeToolsStructs, BasicCodeTools, KeywordFuncLists,
|
||||
Wiki2HTMLConvert, Wiki2XHTMLConvert, WikiFormat, WikiParser, MTProcs;
|
||||
laz2_DOM, CodeToolsStructs, BasicCodeTools, KeywordFuncLists, MTProcs,
|
||||
Wiki2HTMLConvert, Wiki2XHTMLConvert, WikiFormat, WikiParser, WikiStrConsts;
|
||||
|
||||
type
|
||||
TWikiHelp = class;
|
||||
@ -235,7 +235,7 @@ type
|
||||
|
||||
// languages
|
||||
function CollectAllLanguages(AsCaption: boolean): TStrings;
|
||||
function LangCodeToCaption(LangCode: string): string;
|
||||
function LangCodeToCaption(ID: string): string;
|
||||
function LangCaptionToCode(Caption: string): string;
|
||||
|
||||
// search
|
||||
@ -1542,14 +1542,63 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
function TWikiHelp.LangCodeToCaption(LangCode: string): string;
|
||||
function TWikiHelp.LangCodeToCaption(ID: string): string;
|
||||
begin
|
||||
Result:=LangCode;
|
||||
if ID='' then Result:='English, original'
|
||||
else if CompareText(ID,'af')=0 then Result:=rsLanguageAfrikaans
|
||||
else if CompareText(ID,'ar')=0 then Result:=rsLanguageArabic
|
||||
else if CompareText(ID,'ca')=0 then Result:=rsLanguageCatalan
|
||||
else if CompareText(ID,'cs')=0 then Result:=rsLanguageCzech
|
||||
else if CompareText(ID,'de')=0 then Result:=rsLanguageGerman
|
||||
else if CompareText(ID,'en')=0 then Result:=rsLanguageEnglish
|
||||
else if CompareText(ID,'es')=0 then Result:=rsLanguageSpanish
|
||||
else if CompareText(ID,'fi')=0 then Result:=rsLanguageFinnish
|
||||
else if CompareText(ID,'fr')=0 then Result:=rsLanguageFrench
|
||||
else if CompareText(ID,'he')=0 then Result:=rsLanguageHebrew
|
||||
else if CompareText(ID,'hu')=0 then Result:=rsLanguageHungarian
|
||||
else if CompareText(ID,'id')=0 then Result:=rsLanguageIndonesian
|
||||
else if CompareText(ID,'it')=0 then Result:=rsLanguageItalian
|
||||
else if CompareText(ID,'ja')=0 then Result:=rsLanguageJapanese
|
||||
else if CompareText(ID,'lt')=0 then Result:=rsLanguageLithuanian
|
||||
else if CompareText(ID,'nl')=0 then Result:=rsLanguageDutch
|
||||
else if CompareText(ID,'pl')=0 then Result:=rsLanguagePolish
|
||||
else if CompareText(ID,'pt')=0 then Result:=rsLanguagePortuguese
|
||||
else if CompareText(ID,'pt_BR')=0 then Result:=rsLanguagePortugueseBr
|
||||
else if CompareText(ID,'ru')=0 then Result:=rsLanguageRussian
|
||||
else if CompareText(ID,'sk')=0 then Result:=rsLanguageSlovak
|
||||
else if CompareText(ID,'tr')=0 then Result:=rsLanguageTurkish
|
||||
else if CompareText(ID,'uk')=0 then Result:=rsLanguageUkrainian
|
||||
else if CompareText(ID,'zh_CN')=0 then Result:=rsLanguageChinese
|
||||
else Result:=ID;
|
||||
end;
|
||||
|
||||
function TWikiHelp.LangCaptionToCode(Caption: string): string;
|
||||
begin
|
||||
Result:=Caption;
|
||||
Result:='';
|
||||
if Caption=rsLanguageEnglish then Result:='en'
|
||||
else if Caption=rsLanguageAfrikaans then Result:='af'
|
||||
else if Caption=rsLanguageArabic then Result:='ar'
|
||||
else if Caption=rsLanguageCatalan then Result:='ca'
|
||||
else if Caption=rsLanguageChinese then Result:='zh_CN'
|
||||
else if Caption=rsLanguageCzech then Result:='cs'
|
||||
else if Caption=rsLanguageDutch then Result:='nl'
|
||||
else if Caption=rsLanguageFinnish then Result:='fi'
|
||||
else if Caption=rsLanguageFrench then Result:='fr'
|
||||
else if Caption=rsLanguageGerman then Result:='de'
|
||||
else if Caption=rsLanguageHebrew then Result:='he'
|
||||
else if Caption=rsLanguageHungarian then Result:='hu'
|
||||
else if Caption=rsLanguageIndonesian then Result:='id'
|
||||
else if Caption=rsLanguageItalian then Result:='it'
|
||||
else if Caption=rsLanguageJapanese then Result:='ja'
|
||||
else if Caption=rsLanguageLithuanian then Result:='lt'
|
||||
else if Caption=rsLanguagePolish then Result:='pl'
|
||||
else if Caption=rsLanguagePortuguese then Result:='pt'
|
||||
else if Caption=rsLanguagePortugueseBr then Result:='pt_BR'
|
||||
else if Caption=rsLanguageRussian then Result:='ru'
|
||||
else if Caption=rsLanguageSlovak then Result:='sk'
|
||||
else if Caption=rsLanguageSpanish then Result:='es'
|
||||
else if Caption=rsLanguageTurkish then Result:='tk'
|
||||
else if Caption=rsLanguageUkrainian then Result:='uk'
|
||||
end;
|
||||
|
||||
function TWikiHelp.GetProgressCaption: string;
|
||||
|
@ -25,8 +25,8 @@ unit WikiSearchOptions;
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, WikiHelpManager, Forms, Controls, Graphics,
|
||||
Dialogs, ExtCtrls, StdCtrls, ComCtrls;
|
||||
Classes, SysUtils, FileUtil, AvgLvlTree, WikiHelpManager, WikiFormat, Forms,
|
||||
Controls, Graphics, Dialogs, ExtCtrls, StdCtrls, ComCtrls;
|
||||
|
||||
type
|
||||
|
||||
@ -69,11 +69,34 @@ end;
|
||||
|
||||
procedure TWikiSearchOptsWnd.UpdateAvailableLanguages;
|
||||
var
|
||||
Langs: TStrings;
|
||||
Langs: TStringList;
|
||||
i: Integer;
|
||||
TVNode: TTreeNode;
|
||||
LangToCount: TStringToPointerTree;
|
||||
Lang: String;
|
||||
S2PItem: PStringToPointerItem;
|
||||
begin
|
||||
Langs:=WikiHelp.CollectAllLanguages(true);
|
||||
// collect all languages and count them
|
||||
Langs:=TStringList.Create;
|
||||
if WikiHelp.LoadComplete then begin
|
||||
LangToCount:=TStringToPointerTree.Create(true);
|
||||
try
|
||||
for i:=0 to WikiHelp.Converter.Count-1 do begin
|
||||
Lang:=GetWikiPageLanguage(WikiHelp.Converter[i].WikiDocumentName);
|
||||
LangToCount[Lang]:=LangToCount[Lang]+1;
|
||||
end;
|
||||
for S2PItem in LangToCount do
|
||||
if S2PItem^.Name<>'' then
|
||||
Langs.Add(WikiHelp.LangCodeToCaption(S2PItem^.Name)+' ('+IntToStr({%H-}PtrUInt(S2PItem^.Value))+')');
|
||||
Langs.Sort;
|
||||
Langs.Insert(0,WikiHelp.LangCodeToCaption('')+' ('+IntToStr({%H-}PtrUInt(LangToCount['']))+')');
|
||||
finally
|
||||
LangToCount.Free;
|
||||
end;
|
||||
end else begin
|
||||
Langs.Add(WikiHelp.LangCodeToCaption(''));
|
||||
end;
|
||||
|
||||
LanguagesTreeView.BeginUpdate;
|
||||
try
|
||||
for i:=0 to Langs.Count-1 do begin
|
||||
|
Loading…
Reference in New Issue
Block a user