123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780 |
- unit googletranslate;
- {$MODE objfpc}
- {$H+}
- interface
- uses sysutils, classes, googleservice, restbase, googlebase;
- type
-
- //Top-level schema types
- TDetectionsListResponse = Class;
- TDetectionsResourceItem = Class;
- TLanguagesListResponse = Class;
- TLanguagesResource = Class;
- TTranslationsListResponse = Class;
- TTranslationsResource = Class;
- TDetectionsListResponseArray = Array of TDetectionsListResponse;
- TDetectionsResourceItemArray = Array of TDetectionsResourceItem;
- TDetectionsResource = Array of TDetectionsResourceItem;
- TLanguagesListResponseArray = Array of TLanguagesListResponse;
- TLanguagesResourceArray = Array of TLanguagesResource;
- TTranslationsListResponseArray = Array of TTranslationsListResponse;
- TTranslationsResourceArray = Array of TTranslationsResource;
- //Anonymous types, using auto-generated names
- TDetectionsListResponseTypedetectionsArray = Array of TDetectionsResource;
- TLanguagesListResponseTypelanguagesArray = Array of TLanguagesResource;
- TTranslationsListResponseTypetranslationsArray = Array of TTranslationsResource;
-
- { --------------------------------------------------------------------
- TDetectionsListResponse
- --------------------------------------------------------------------}
-
- TDetectionsListResponse = Class(TGoogleBaseObject)
- Private
- Fdetections : TDetectionsListResponseTypedetectionsArray;
- Protected
- //Property setters
- Procedure Setdetections(AIndex : Integer; const AValue : TDetectionsListResponseTypedetectionsArray); virtual;
- //2.6.4. bug workaround
- {$IFDEF VER2_6}
- Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
- {$ENDIF VER2_6}
- Public
- Published
- Property detections : TDetectionsListResponseTypedetectionsArray Index 0 Read Fdetections Write Setdetections;
- end;
- TDetectionsListResponseClass = Class of TDetectionsListResponse;
-
- { --------------------------------------------------------------------
- TDetectionsResourceItem
- --------------------------------------------------------------------}
-
- TDetectionsResourceItem = Class(TGoogleBaseObject)
- Private
- Fconfidence : integer;
- FisReliable : boolean;
- Flanguage : String;
- Protected
- //Property setters
- Procedure Setconfidence(AIndex : Integer; const AValue : integer); virtual;
- Procedure SetisReliable(AIndex : Integer; const AValue : boolean); virtual;
- Procedure Setlanguage(AIndex : Integer; const AValue : String); virtual;
- Public
- Published
- Property confidence : integer Index 0 Read Fconfidence Write Setconfidence;
- Property isReliable : boolean Index 8 Read FisReliable Write SetisReliable;
- Property language : String Index 16 Read Flanguage Write Setlanguage;
- end;
- TDetectionsResourceItemClass = Class of TDetectionsResourceItem;
-
- { --------------------------------------------------------------------
- TLanguagesListResponse
- --------------------------------------------------------------------}
-
- TLanguagesListResponse = Class(TGoogleBaseObject)
- Private
- Flanguages : TLanguagesListResponseTypelanguagesArray;
- Protected
- //Property setters
- Procedure Setlanguages(AIndex : Integer; const AValue : TLanguagesListResponseTypelanguagesArray); virtual;
- //2.6.4. bug workaround
- {$IFDEF VER2_6}
- Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
- {$ENDIF VER2_6}
- Public
- Published
- Property languages : TLanguagesListResponseTypelanguagesArray Index 0 Read Flanguages Write Setlanguages;
- end;
- TLanguagesListResponseClass = Class of TLanguagesListResponse;
-
- { --------------------------------------------------------------------
- TLanguagesResource
- --------------------------------------------------------------------}
-
- TLanguagesResource = Class(TGoogleBaseObject)
- Private
- Flanguage : String;
- Fname : String;
- Protected
- //Property setters
- Procedure Setlanguage(AIndex : Integer; const AValue : String); virtual;
- Procedure Setname(AIndex : Integer; const AValue : String); virtual;
- Public
- Published
- Property language : String Index 0 Read Flanguage Write Setlanguage;
- Property name : String Index 8 Read Fname Write Setname;
- end;
- TLanguagesResourceClass = Class of TLanguagesResource;
-
- { --------------------------------------------------------------------
- TTranslationsListResponse
- --------------------------------------------------------------------}
-
- TTranslationsListResponse = Class(TGoogleBaseObject)
- Private
- Ftranslations : TTranslationsListResponseTypetranslationsArray;
- Protected
- //Property setters
- Procedure Settranslations(AIndex : Integer; const AValue : TTranslationsListResponseTypetranslationsArray); virtual;
- //2.6.4. bug workaround
- {$IFDEF VER2_6}
- Procedure SetArrayLength(Const AName : String; ALength : Longint); override;
- {$ENDIF VER2_6}
- Public
- Published
- Property translations : TTranslationsListResponseTypetranslationsArray Index 0 Read Ftranslations Write Settranslations;
- end;
- TTranslationsListResponseClass = Class of TTranslationsListResponse;
-
- { --------------------------------------------------------------------
- TTranslationsResource
- --------------------------------------------------------------------}
-
- TTranslationsResource = Class(TGoogleBaseObject)
- Private
- FdetectedSourceLanguage : String;
- FtranslatedText : String;
- Protected
- //Property setters
- Procedure SetdetectedSourceLanguage(AIndex : Integer; const AValue : String); virtual;
- Procedure SettranslatedText(AIndex : Integer; const AValue : String); virtual;
- Public
- Published
- Property detectedSourceLanguage : String Index 0 Read FdetectedSourceLanguage Write SetdetectedSourceLanguage;
- Property translatedText : String Index 8 Read FtranslatedText Write SettranslatedText;
- end;
- TTranslationsResourceClass = Class of TTranslationsResource;
-
- { --------------------------------------------------------------------
- TDetections_Resource
- --------------------------------------------------------------------}
-
-
- //Optional query Options for TDetections_Resource, method List
-
- TDetectionsListOptions = Record
- q : String;
- end;
-
- TDetections_Resource = Class(TGoogleResource)
- Public
- Class Function ResourceName : String; override;
- Class Function DefaultAPI : TGoogleAPIClass; override;
- Function List(AQuery : string = '') : TDetectionsListResponse;
- Function List(AQuery : TDetectionslistOptions) : TDetectionsListResponse;
- end;
-
-
- { --------------------------------------------------------------------
- TLanguages_Resource
- --------------------------------------------------------------------}
-
-
- //Optional query Options for TLanguages_Resource, method List
-
- TLanguagesListOptions = Record
- target : String;
- end;
-
- TLanguages_Resource = Class(TGoogleResource)
- Public
- Class Function ResourceName : String; override;
- Class Function DefaultAPI : TGoogleAPIClass; override;
- Function List(AQuery : string = '') : TLanguagesListResponse;
- Function List(AQuery : TLanguageslistOptions) : TLanguagesListResponse;
- end;
-
-
- { --------------------------------------------------------------------
- TTranslations_Resource
- --------------------------------------------------------------------}
-
-
- //Optional query Options for TTranslations_Resource, method List
-
- TTranslationsListOptions = Record
- cid : String;
- format : String;
- q : String;
- source : String;
- target : String;
- end;
-
- TTranslations_Resource = Class(TGoogleResource)
- Public
- Class Function ResourceName : String; override;
- Class Function DefaultAPI : TGoogleAPIClass; override;
- Function List(AQuery : string = '') : TTranslationsListResponse;
- Function List(AQuery : TTranslationslistOptions) : TTranslationsListResponse;
- end;
-
-
- { --------------------------------------------------------------------
- TTranslateAPI
- --------------------------------------------------------------------}
-
- TTranslateAPI = Class(TGoogleAPI)
- Private
- FDetectionsInstance : TDetections_Resource;
- FLanguagesInstance : TLanguages_Resource;
- FTranslationsInstance : TTranslations_Resource;
- Function GetDetectionsInstance : TDetections_Resource;virtual;
- Function GetLanguagesInstance : TLanguages_Resource;virtual;
- Function GetTranslationsInstance : TTranslations_Resource;virtual;
- Public
- //Override class functions with API info
- Class Function APIName : String; override;
- Class Function APIVersion : String; override;
- Class Function APIRevision : String; override;
- Class Function APIID : String; override;
- Class Function APITitle : String; override;
- Class Function APIDescription : String; override;
- Class Function APIOwnerDomain : String; override;
- Class Function APIOwnerName : String; override;
- Class Function APIIcon16 : String; override;
- Class Function APIIcon32 : String; override;
- Class Function APIdocumentationLink : String; override;
- Class Function APIrootUrl : string; override;
- Class Function APIbasePath : string;override;
- Class Function APIbaseURL : String;override;
- Class Function APIProtocol : string;override;
- Class Function APIservicePath : string;override;
- Class Function APIbatchPath : String;override;
- Class Function APIAuthScopes : TScopeInfoArray;override;
- Class Function APINeedsAuth : Boolean;override;
- Class Procedure RegisterAPIResources; override;
- //Add create function for resources
- Function CreateDetectionsResource(AOwner : TComponent) : TDetections_Resource;virtual;overload;
- Function CreateDetectionsResource : TDetections_Resource;virtual;overload;
- Function CreateLanguagesResource(AOwner : TComponent) : TLanguages_Resource;virtual;overload;
- Function CreateLanguagesResource : TLanguages_Resource;virtual;overload;
- Function CreateTranslationsResource(AOwner : TComponent) : TTranslations_Resource;virtual;overload;
- Function CreateTranslationsResource : TTranslations_Resource;virtual;overload;
- //Add default on-demand instances for resources
- Property DetectionsResource : TDetections_Resource Read GetDetectionsInstance;
- Property LanguagesResource : TLanguages_Resource Read GetLanguagesInstance;
- Property TranslationsResource : TTranslations_Resource Read GetTranslationsInstance;
- end;
- implementation
- { --------------------------------------------------------------------
- TDetectionsListResponse
- --------------------------------------------------------------------}
- Procedure TDetectionsListResponse.Setdetections(AIndex : Integer; const AValue : TDetectionsListResponseTypedetectionsArray);
- begin
- If (Fdetections=AValue) then exit;
- Fdetections:=AValue;
- MarkPropertyChanged(AIndex);
- end;
- //2.6.4. bug workaround
- {$IFDEF VER2_6}
- Procedure TDetectionsListResponse.SetArrayLength(Const AName : String; ALength : Longint);
- begin
- Case AName of
- 'detections' : SetLength(Fdetections,ALength);
- else
- Inherited SetArrayLength(AName,ALength);
- end;
- end;
- {$ENDIF VER2_6}
- { --------------------------------------------------------------------
- TDetectionsResourceItem
- --------------------------------------------------------------------}
- Procedure TDetectionsResourceItem.Setconfidence(AIndex : Integer; const AValue : integer);
- begin
- If (Fconfidence=AValue) then exit;
- Fconfidence:=AValue;
- MarkPropertyChanged(AIndex);
- end;
- Procedure TDetectionsResourceItem.SetisReliable(AIndex : Integer; const AValue : boolean);
- begin
- If (FisReliable=AValue) then exit;
- FisReliable:=AValue;
- MarkPropertyChanged(AIndex);
- end;
- Procedure TDetectionsResourceItem.Setlanguage(AIndex : Integer; const AValue : String);
- begin
- If (Flanguage=AValue) then exit;
- Flanguage:=AValue;
- MarkPropertyChanged(AIndex);
- end;
- { --------------------------------------------------------------------
- TLanguagesListResponse
- --------------------------------------------------------------------}
- Procedure TLanguagesListResponse.Setlanguages(AIndex : Integer; const AValue : TLanguagesListResponseTypelanguagesArray);
- begin
- If (Flanguages=AValue) then exit;
- Flanguages:=AValue;
- MarkPropertyChanged(AIndex);
- end;
- //2.6.4. bug workaround
- {$IFDEF VER2_6}
- Procedure TLanguagesListResponse.SetArrayLength(Const AName : String; ALength : Longint);
- begin
- Case AName of
- 'languages' : SetLength(Flanguages,ALength);
- else
- Inherited SetArrayLength(AName,ALength);
- end;
- end;
- {$ENDIF VER2_6}
- { --------------------------------------------------------------------
- TLanguagesResource
- --------------------------------------------------------------------}
- Procedure TLanguagesResource.Setlanguage(AIndex : Integer; const AValue : String);
- begin
- If (Flanguage=AValue) then exit;
- Flanguage:=AValue;
- MarkPropertyChanged(AIndex);
- end;
- Procedure TLanguagesResource.Setname(AIndex : Integer; const AValue : String);
- begin
- If (Fname=AValue) then exit;
- Fname:=AValue;
- MarkPropertyChanged(AIndex);
- end;
- { --------------------------------------------------------------------
- TTranslationsListResponse
- --------------------------------------------------------------------}
- Procedure TTranslationsListResponse.Settranslations(AIndex : Integer; const AValue : TTranslationsListResponseTypetranslationsArray);
- begin
- If (Ftranslations=AValue) then exit;
- Ftranslations:=AValue;
- MarkPropertyChanged(AIndex);
- end;
- //2.6.4. bug workaround
- {$IFDEF VER2_6}
- Procedure TTranslationsListResponse.SetArrayLength(Const AName : String; ALength : Longint);
- begin
- Case AName of
- 'translations' : SetLength(Ftranslations,ALength);
- else
- Inherited SetArrayLength(AName,ALength);
- end;
- end;
- {$ENDIF VER2_6}
- { --------------------------------------------------------------------
- TTranslationsResource
- --------------------------------------------------------------------}
- Procedure TTranslationsResource.SetdetectedSourceLanguage(AIndex : Integer; const AValue : String);
- begin
- If (FdetectedSourceLanguage=AValue) then exit;
- FdetectedSourceLanguage:=AValue;
- MarkPropertyChanged(AIndex);
- end;
- Procedure TTranslationsResource.SettranslatedText(AIndex : Integer; const AValue : String);
- begin
- If (FtranslatedText=AValue) then exit;
- FtranslatedText:=AValue;
- MarkPropertyChanged(AIndex);
- end;
- { --------------------------------------------------------------------
- TDetections_Resource
- --------------------------------------------------------------------}
- Class Function TDetections_Resource.ResourceName : String;
- begin
- Result:='detections';
- end;
- Class Function TDetections_Resource.DefaultAPI : TGoogleAPIClass;
- begin
- Result:=TtranslateAPI;
- end;
- Function TDetections_Resource.List(AQuery : string = '') : TDetectionsListResponse;
- Const
- _HTTPMethod = 'GET';
- _Path = 'v2/detect';
- _Methodid = 'language.detections.list';
- begin
- Result:=ServiceCall(_HTTPMethod,_Path,AQuery,Nil,TDetectionsListResponse) as TDetectionsListResponse;
- end;
- Function TDetections_Resource.List(AQuery : TDetectionslistOptions) : TDetectionsListResponse;
- Var
- _Q : String;
- begin
- _Q:='';
- AddToQuery(_Q,'q',AQuery.q);
- Result:=List(_Q);
- end;
- { --------------------------------------------------------------------
- TLanguages_Resource
- --------------------------------------------------------------------}
- Class Function TLanguages_Resource.ResourceName : String;
- begin
- Result:='languages';
- end;
- Class Function TLanguages_Resource.DefaultAPI : TGoogleAPIClass;
- begin
- Result:=TtranslateAPI;
- end;
- Function TLanguages_Resource.List(AQuery : string = '') : TLanguagesListResponse;
- Const
- _HTTPMethod = 'GET';
- _Path = 'v2/languages';
- _Methodid = 'language.languages.list';
- begin
- Result:=ServiceCall(_HTTPMethod,_Path,AQuery,Nil,TLanguagesListResponse) as TLanguagesListResponse;
- end;
- Function TLanguages_Resource.List(AQuery : TLanguageslistOptions) : TLanguagesListResponse;
- Var
- _Q : String;
- begin
- _Q:='';
- AddToQuery(_Q,'target',AQuery.target);
- Result:=List(_Q);
- end;
- { --------------------------------------------------------------------
- TTranslations_Resource
- --------------------------------------------------------------------}
- Class Function TTranslations_Resource.ResourceName : String;
- begin
- Result:='translations';
- end;
- Class Function TTranslations_Resource.DefaultAPI : TGoogleAPIClass;
- begin
- Result:=TtranslateAPI;
- end;
- Function TTranslations_Resource.List(AQuery : string = '') : TTranslationsListResponse;
- Const
- _HTTPMethod = 'GET';
- _Path = 'v2';
- _Methodid = 'language.translations.list';
- begin
- Result:=ServiceCall(_HTTPMethod,_Path,AQuery,Nil,TTranslationsListResponse) as TTranslationsListResponse;
- end;
- Function TTranslations_Resource.List(AQuery : TTranslationslistOptions) : TTranslationsListResponse;
- Var
- _Q : String;
- begin
- _Q:='';
- AddToQuery(_Q,'cid',AQuery.cid);
- AddToQuery(_Q,'format',AQuery.format);
- AddToQuery(_Q,'q',AQuery.q);
- AddToQuery(_Q,'source',AQuery.source);
- AddToQuery(_Q,'target',AQuery.target);
- Result:=List(_Q);
- end;
- { --------------------------------------------------------------------
- TTranslateAPI
- --------------------------------------------------------------------}
- Class Function TTranslateAPI.APIName : String;
- begin
- Result:='translate';
- end;
- Class Function TTranslateAPI.APIVersion : String;
- begin
- Result:='v2';
- end;
- Class Function TTranslateAPI.APIRevision : String;
- begin
- Result:='20160217';
- end;
- Class Function TTranslateAPI.APIID : String;
- begin
- Result:='translate:v2';
- end;
- Class Function TTranslateAPI.APITitle : String;
- begin
- Result:='Translate API';
- end;
- Class Function TTranslateAPI.APIDescription : String;
- begin
- Result:='Lets you translate text from one language to another';
- end;
- Class Function TTranslateAPI.APIOwnerDomain : String;
- begin
- Result:='google.com';
- end;
- Class Function TTranslateAPI.APIOwnerName : String;
- begin
- Result:='Google';
- end;
- Class Function TTranslateAPI.APIIcon16 : String;
- begin
- Result:='https://www.google.com/images/icons/product/translate-16.png';
- end;
- Class Function TTranslateAPI.APIIcon32 : String;
- begin
- Result:='https://www.google.com/images/icons/product/translate-32.png';
- end;
- Class Function TTranslateAPI.APIdocumentationLink : String;
- begin
- Result:='https://developers.google.com/translate/v2/using_rest';
- end;
- Class Function TTranslateAPI.APIrootUrl : string;
- begin
- Result:='https://www.googleapis.com/';
- end;
- Class Function TTranslateAPI.APIbasePath : string;
- begin
- Result:='/language/translate/';
- end;
- Class Function TTranslateAPI.APIbaseURL : String;
- begin
- Result:='https://www.googleapis.com/language/translate/';
- end;
- Class Function TTranslateAPI.APIProtocol : string;
- begin
- Result:='rest';
- end;
- Class Function TTranslateAPI.APIservicePath : string;
- begin
- Result:='language/translate/';
- end;
- Class Function TTranslateAPI.APIbatchPath : String;
- begin
- Result:='batch';
- end;
- Class Function TTranslateAPI.APIAuthScopes : TScopeInfoArray;
- begin
- SetLength(Result,0);
-
- end;
- Class Function TTranslateAPI.APINeedsAuth : Boolean;
- begin
- Result:=False;
- end;
- Class Procedure TTranslateAPI.RegisterAPIResources;
- begin
- TDetectionsListResponse.RegisterObject;
- TDetectionsResourceItem.RegisterObject;
- TLanguagesListResponse.RegisterObject;
- TLanguagesResource.RegisterObject;
- TTranslationsListResponse.RegisterObject;
- TTranslationsResource.RegisterObject;
- end;
- Function TTranslateAPI.GetDetectionsInstance : TDetections_Resource;
- begin
- if (FDetectionsInstance=Nil) then
- FDetectionsInstance:=CreateDetectionsResource;
- Result:=FDetectionsInstance;
- end;
- Function TTranslateAPI.CreateDetectionsResource : TDetections_Resource;
- begin
- Result:=CreateDetectionsResource(Self);
- end;
- Function TTranslateAPI.CreateDetectionsResource(AOwner : TComponent) : TDetections_Resource;
- begin
- Result:=TDetections_Resource.Create(AOwner);
- Result.API:=Self.API;
- end;
- Function TTranslateAPI.GetLanguagesInstance : TLanguages_Resource;
- begin
- if (FLanguagesInstance=Nil) then
- FLanguagesInstance:=CreateLanguagesResource;
- Result:=FLanguagesInstance;
- end;
- Function TTranslateAPI.CreateLanguagesResource : TLanguages_Resource;
- begin
- Result:=CreateLanguagesResource(Self);
- end;
- Function TTranslateAPI.CreateLanguagesResource(AOwner : TComponent) : TLanguages_Resource;
- begin
- Result:=TLanguages_Resource.Create(AOwner);
- Result.API:=Self.API;
- end;
- Function TTranslateAPI.GetTranslationsInstance : TTranslations_Resource;
- begin
- if (FTranslationsInstance=Nil) then
- FTranslationsInstance:=CreateTranslationsResource;
- Result:=FTranslationsInstance;
- end;
- Function TTranslateAPI.CreateTranslationsResource : TTranslations_Resource;
- begin
- Result:=CreateTranslationsResource(Self);
- end;
- Function TTranslateAPI.CreateTranslationsResource(AOwner : TComponent) : TTranslations_Resource;
- begin
- Result:=TTranslations_Resource.Create(AOwner);
- Result.API:=Self.API;
- end;
- initialization
- TTranslateAPI.RegisterAPI;
- end.
|