Results 1 to 9 of 9

Thread: Reviews m.b.v. Google API ophalen: Nederlands wordt vertaald naar Engels

  1. #1
    TDigitalTrain user Hans Brenkman's Avatar
    Join Date
    Mar 2002
    Location
    Weert
    Posts
    1,861

    Reviews m.b.v. Google API ophalen: Nederlands wordt vertaald naar Engels

    Hoi,

    Ik wil van een website de reviews m.b.v. de Google API ophalen. Dat gaat technisch prima. Als ik het request in Edge, IE en Chrome invoer krijg ik als resultaat de reviews in het Nederlands.

    Code:
    { 
      "author_name" : "Thijs", 
      "author_url" : "https://www.google.com/maps/contrib/xxx550778638996645902/reviews", 
      "language" : "nl", 
      "profile_photo_url" : "https://lh3.googleusercontent.com/a-/AVQWlK7i0Uj1y85cGmPFCX34Lg4qJO6MNp6HQ=s128-c0x00000000-cc-rp-mo", 
      "rating" : 5, 
      "relative_time_description" : "3 weken geleden", 
      "text" : "Wij zijn uitstekend geholpen door XYZ van ABC. Het advies was helder en het proces werd dankzij XYZ een stuk makkelijker en overzichtelijker.", 
      "time" : 1618823415 
    },
    M.b.v. mijn eigen applicatie en de Embarcadero REST Debugger krijg ik de tekst in het Engels terug.

    Code:
    {
      "author_name":"Thijs",
      "author_url":"https://www.google.com/maps/contrib/xxx550778638996645902/reviews",
      "language":"en-US",
      "profile_photo_url":"https://lh3.googleusercontent.com/a-/AVQWlK7i0Uj1y85cGmPFCX34Lg4qJO6MNp6HQ=s128-c0x00000000-cc-rp-mo",
      "rating":5,
      "relative_time_description":"3 weeks ago",
      "text":"XYZ of ABC has helped us very well. The advice was clear and the process became a lot easier and clearer thanks to XYZ.",
      "time":1618823415
    }
    De waarden voor de entiteiten "language" en "text" zijn dus verschillend.

    Ik kan niet achterhalen waarom ik de reviews in het Engels krijg terwijl dat via een browser in het Nederlands is. Ik wil de reviews in de oorspronkelijke taal ophalen (de meeste klanten zijn Nederlands, op heel af en toe een Engels sprekende medelander na).

    Wie weet waardoor deze vertaling plaatsvindt en hoe ik deze kan beïnvloeden?
    Testen kan niet de afwezigheid van fouten aantonen, slechts de aanwezigheid van gevonden fouten.

    Het is verdacht als een nieuw ontwikkeld programma direct lijkt te werken: waarschijnlijk neutraliseren twee ontwerpfouten elkaar.

  2. #2

  3. #3
    Heb je al gekeken naar de headersb die in beide gevallen meegestuurd worden?

    Meestal wordt er bij de browser een Accept-Language meegezonden. https://www.w3.org/Protocols/rfc2616...4.html#sec14.4

    Jouw browser staat waarschijnlijk ook op Nederlands (kun je ook testen door hem eens op Engels te zetten).

    Maar je kunt dus ook zelf proberen die Accept-Language mee te sturen met nl-nl.

    Zie bijvoorbeeld ook hier
    https://www.nldelphi.com/showthread....ccept-Language

    Als je de httpclient in Delphi gebruikt kun je ook deze property gebruiken.
    http://docwiki.embarcadero.com/Libra...AcceptLanguage

  4. #4
    TDigitalTrain user Hans Brenkman's Avatar
    Join Date
    Mar 2002
    Location
    Weert
    Posts
    1,861
    Inderdaad. Als ik Edge op Engels zet dan krijg ik het resultaat in het Engels.

    System.SysUtils.PreferredUILanguages geeft "NL-NL,NL,EN-US,EN".

    Ik gebruik de RESTClient en die heeft die property niet. Ik ga eens verder kijken of ik die toch in de header mee kan sturen...wordt vervolgd.
    Testen kan niet de afwezigheid van fouten aantonen, slechts de aanwezigheid van gevonden fouten.

    Het is verdacht als een nieuw ontwikkeld programma direct lijkt te werken: waarschijnlijk neutraliseren twee ontwerpfouten elkaar.

  5. #5

  6. #6
    Counting your refs Paul-Jan's Avatar
    Join Date
    Feb 2002
    Location
    Lage Zwaluwe
    Posts
    2,160
    Taalondersteuning in API's is verdeeld in 2 kampen:
    1) Het heeft echt invloed heeft op de content die terugkomt, dus expliciet meegeven graag
    2) Nee, taal is juist metadata, en we hebben er in HTML al de Accept-Language header voor, dus gebruik die.

    Google zit in kamp (1). Wat mij betreft terecht, want je krijgt in hun hoek vaak andere zoekresultaten terug in een taalgebonden verzoek, niet dezelfde resultaten in een andere taal.

    Om welke Google API call gaat het hier specifiek? Is dit Place Details v/d Places API?

    Dat request heeft een optionele language parameter, &language=nl meegeven zou het dan moeten doen.

    (Al kun je uit je eedere experimenten afleiden dat ze wel degelijk ook de accept-language header respecteren, dus doe vooral wat het meest makkelijk in de code te realiseren valt )
    Last edited by Paul-Jan; 12-May-21 at 10:06.

  7. #7
    TDigitalTrain user Hans Brenkman's Avatar
    Join Date
    Mar 2002
    Location
    Weert
    Posts
    1,861

    Thumbs up Opgelost

    Ik had idd een parameter geprobeerd, alleen niet de juiste waarde voor de property "Kind" gekozen. In de RESTDebugger zag ik dat je kon kiezen voor o.a. "HEADER" waarbij o.a. de keuze "Accept-Language" beschikbaar kwam. Deze gebruikt en nu krijg ik de resultaten inderdaad in het Nederlands.

    Daarna de parameter toegevoegd in mijn eigen service-applicatie met als resultaat bijna alles in het Nederlands, op de werkelijk ingevulde Engelse reviews na.

    Code:
    var
      LParameter: TRESTRequestParameter;
    begin
      ...
      LParameter := LRequest.RESTRequest.Params.AddItem;
      LParameter.Name    := 'Accept-Language';
      LParameter.Value   := 'NL-NL';
      LParameter.Kind    := pkHTTPHEADER;
      LParameter.Options := LParameter.Options - [poDoNotEncode];
      ...
    end;
    Testen kan niet de afwezigheid van fouten aantonen, slechts de aanwezigheid van gevonden fouten.

    Het is verdacht als een nieuw ontwikkeld programma direct lijkt te werken: waarschijnlijk neutraliseren twee ontwerpfouten elkaar.

  8. #8
    TDigitalTrain user Hans Brenkman's Avatar
    Join Date
    Mar 2002
    Location
    Weert
    Posts
    1,861
    Het gaat om de Google API "Place Details". Ik had de language parameter "&language=nl " geprobeerd, helaas zonder het gewenste resultaat.
    Testen kan niet de afwezigheid van fouten aantonen, slechts de aanwezigheid van gevonden fouten.

    Het is verdacht als een nieuw ontwikkeld programma direct lijkt te werken: waarschijnlijk neutraliseren twee ontwerpfouten elkaar.

  9. #9
    Counting your refs Paul-Jan's Avatar
    Join Date
    Feb 2002
    Location
    Lage Zwaluwe
    Posts
    2,160
    Mooi dat je het voor elkaar hebt gekregen, Hans!

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •