source: tags/1.3.0/ULanguages.pas

Last change on this file was 385, checked in by chronos, 3 years ago
  • Added: Allow to change key bindings from Settings dialog.
  • Added: Allow to reset settings in Settings dialog.
File size: 1.4 KB
Line 
1unit ULanguages;
2
3{$mode delphi}
4
5interface
6
7uses
8 Classes, SysUtils, fgl;
9
10type
11 TLanguage = class
12 ShortName: string;
13 FullName: string;
14 Author: string;
15 end;
16
17 { TLanguages }
18
19 TLanguages = class(TFPGObjectList<TLanguage>)
20 procedure AddItem(const ShortName, FullName: string);
21 procedure LoadToStrings(Strings: TStrings);
22 function Search(ShortName: string): Integer;
23 end;
24
25var
26 Languages: TLanguages;
27
28
29implementation
30
31{ TLanguages }
32
33procedure TLanguages.AddItem(const ShortName, FullName: string);
34var
35 Language: TLanguage;
36begin
37 Language := TLanguage.Create;
38 Language.ShortName := ShortName;
39 Language.FullName := FullName;
40 Add(Language);
41end;
42
43procedure TLanguages.LoadToStrings(Strings: TStrings);
44var
45 I: Integer;
46begin
47 Strings.Clear;
48 for I := 0 to Count - 1 do
49 Strings.Add(Items[I].FullName);
50end;
51
52function TLanguages.Search(ShortName: string): Integer;
53var
54 I: Integer;
55begin
56 I := 0;
57 while (I < Count) and (Items[I].ShortName <> ShortName) do Inc(I);
58 if I < Count then Result := I
59 else Result := -1;
60end;
61
62initialization
63
64Languages := TLanguages.Create;
65Languages.AddItem('', 'System');
66Languages.AddItem('cs', 'Czech');
67Languages.AddItem('de', 'German');
68Languages.AddItem('en', 'English');
69Languages.AddItem('it', 'Italian');
70Languages.AddItem('ru', 'Russian');
71Languages.AddItem('zh-Hant', 'Traditional Chinese');
72Languages.AddItem('zh-Hans', 'Simplified Chinese');
73
74finalization
75
76FreeAndNil(Languages);
77
78end.
79
Note: See TracBrowser for help on using the repository browser.