Hallo allemaal,
Ik heb een website (naam:x) waar mensen zich als publisher kunnen aanmelden om ( onder andere via Facebook ) advertenties van adverteerders te promoten.
Voor elke, door een publisher doorgestuurde bezoeker naar de website van de adverteerder, en daar een aankoop doet, ontvangt de publisher een vergoeding.
Mijn probleem:
Wanneer een publisher een Facebook advertentie selecteert en deze deelt op haar of zijn Facebook pagina, wordt er bij het bericht, in het Engels vermeld van:
... shared an object on (naam:x)
Dit krijg ik maar niet aangepast naar:
... heeft een bericht gedeeld van (naam:x)
of nog beter....
... heeft een bericht gedeeld van (naam:adverteerder)
Het programma van de website (naam:x) maakt gebruik van Smarty templates.
Ik ben geen programmeur, maar volgens het bedrijf waar ik het programma van heb gekocht, is er maar 1 template bestand welke deze deel functie uitvoert.
Ik heb hieronder het code deel wat ( volgens het bedrijf ) de functie uitvoert, weergegeven.
Om in ieder geval de taal naar Nederlands te krijgen, heb ik geprobeerd d.m.v. de volgende wijzigingen.
Toegevoegd in de header.tpl ( zodat alle pagina's deze info bevat )
1 - <html lang="nl"> ( geplaatst voor de <head> en na <doctype...>
2 - <meta property="og:locale" content="nl_NL"/> ( geplaatst tussen de <head> en </head> )
Gewijzigd in het .tpl bestand welke verantwoordelijk is voor de "delen op Facebook" functie.
1 - ( toegevoegd: "og:locale": "nl_NL" aan onderstaande code deel )
-------------------------------------------------------------------------------Code:object: { "fb:app_id": "{/literal}{$facebook_app_id}{literal}", "og:locale": "nl_NL", "og:type": "object", "og:url": link, "og:title": message, "og:image": source }
2 - ( aangepast:naarCode:js.src = "//connect.facebook.net/en_US/sdk.js";in onderstaande code deel )Code:js.src = "https://connect.facebook.net/nl_NL/sdk.js";
-------------------------------------------------------------------------------Code:js = d.createElement(s); js.id = id; js.src = "https://connect.facebook.net/nl_NL/sdk.js"; fjs.parentNode.insertBefore(js, fjs);
Totaal overzicht van de huidige code:
Code:<script> window.fbAsyncInit = function () { FB.init({appId: '{/literal}{$facebook_app_id}{literal}', xfbml: true, version: 'v2.9'}); }; (function (d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) { return; } js = d.createElement(s); js.id = id; js.src = "https://connect.facebook.net/nl_NL/sdk.js"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); function share_on_facebook(message, link, source) { /* check login status*/ FB.login(function (response) { if (response.authResponse) { post_to_wall(message, link, source); } else { alert(response.error.message); } }, {scope: 'public_profile', auth_type: 'rerequest'}); } function post_to_wall(message, link, source) { /*if client is using v2.9, use below code*/ FB.ui({ display: 'iframe', method: 'share', action_type: 'og.likes', action_properties: JSON.stringify({ object: { "fb:app_id": "{/literal}{$facebook_app_id}{literal}", "og:locale": "nl_NL", "og:type": "object", "og:url": link, "og:title": message, "og:image": source } }) }, function (response) { console.log(response); if (response && !response.error) { alert("{/literal}{$announcements_published}{literal}"); } else { alert(response.error.message); } }); } </script>
En de code in dezelfde .tpl van de bijbehorende Facebook delen button is:
Code:<a href="#" onclick="share_on_facebook('{$announcement_link_results[nr].facebook_message|escape:'htmlall'}', '{$announcement_link_results[nr].facebook_link}', '{$announcement_link_results[nr].facebook_picture}'); return false;" style="margin: 0 12px;"><img src="{$base_url}/images/fb_share_button.png" /></a>
Wat zie ik hier over het hoofd of doe ik verkeerd, omdat de melding "..has shared an object on..." maar in het Engels blijft verschijnen.
Alle hulp is welkom.
- Verkeerde taal Facebook delen
-
29-03-2019, 11:40 #1
- Berichten
- 8
- Lid sinds
- 8 Jaar
Verkeerde taal Facebook delen
-
In de schijnwerper
-
29-03-2019, 16:21 #2
- Berichten
- 2.692
- Lid sinds
- 15 Jaar
Re: Verkeerde taal Facebook delen
Even heel simpel gedacht, dan heb je die code niet eens nodig en/of hoef je geen grote wijzigingen toe te voegen:
Verberg het (sub-)element (display:none;) waar deze engelse text in staat en plaats nieuwe content (Nederlandse zin) middels css ::before of ::after (https://www.w3schools.com/cssref/pr_gen_content.asp). Je kunt dan evt met JS en PHP de variabelen nog invoegen (naam/adverteerder).
-
29-03-2019, 16:53 #3
- Berichten
- 8
- Lid sinds
- 8 Jaar
Re: Verkeerde taal Facebook delen
Hallo Arjen Zijlstra,
Hartelijk dank voor je reactie.
Voor zover ik je begrijp is dit helaas geen mogelijkheid.
Het bericht is namelijk reeds geplaatst door de publisher en staat op zijn tijdlijn in Facebook.
De stappen die de publisher doet zijn:
1 - publisher logt in op mijn website
2 - publisher selecteert een Facebook advertentie campagne
3 - publisher klik op de "delen op Facebook" knop.
4 - publisher bevestigt het plaatsen van de advertentie op zijn Facebook.
5 - advertentie is geplaatst en wordt weergegeven op de Facebook pagina van de publisher.
De text "...has shared an object on..." wordt dus weergegeven op de Facebook pagina van de publisher.
Hier kan ik na het plaatsten niets meer aan veranderen.
Ergens tussen stap 1 tot stap 4 gaat hier iets mis qua de taal instellingen die worden gebruikt.
-
29-03-2019, 17:43 #4
- Berichten
- 2.692
- Lid sinds
- 15 Jaar
Re: Verkeerde taal Facebook delen
Ah ja, dat had ik niet goed begrepen; het wordt dus op fb gerendered.
Lijkt mij dat dat afhankelijk is van je eigen instellingen; heb je zelf (of het account waarmee je het constateert) wel Nederlands als taal op FB? Normaliter zou dat nl o.b.v. je persoonlijke instellingen gerendered worden
-
30-03-2019, 09:20 #5
- Berichten
- 8
- Lid sinds
- 8 Jaar
Re: Verkeerde taal Facebook delen
Mijn eigen (persoonlijke) zijn volledig ingesteld op Nederlands.
Ook wanneer ik zelf iets deel, of via een app van een derde partij, staat alles keurig in het Nederlands.
Ik kan dan ook niets anders bedenken dat het door de code ( zie totaal overzicht code ) komt.
Maar de vraag is dus..., wat?
-
30-03-2019, 09:42 #6
- Berichten
- 2.692
- Lid sinds
- 15 Jaar
Re: Verkeerde taal Facebook delen
Code:(function(d){ var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;} js = d.createElement('script'); js.id = id; js.async = true; js.src = "https://connect.facebook.net/nl_NL/all.js"; d.getElementsByTagName('head')[0].appendChild(js); }(document));
Bron: https://developers.facebook.com/docs...ation/#plugins
-
30-03-2019, 16:05 #7
- Berichten
- 8
- Lid sinds
- 8 Jaar
Re: Verkeerde taal Facebook delen
Geprobeerd, maar helaas geen verandering.
Hij blijft weer geven "...has shared an object on...".
-
30-03-2019, 16:52 #8
- Berichten
- 2.692
- Lid sinds
- 15 Jaar
Re: Verkeerde taal Facebook delen
Dan weet ik het ook ff niet
-
01-04-2019, 17:57 #9
- Berichten
- 8
- Lid sinds
- 8 Jaar
Re: Verkeerde taal Facebook delen
Toch heel erg bedankt voor je inzet Arjen :-)
Mocht er nog iemand anders zijn met een suggestie, dan hoor ik het graag.
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic