vertaal website per ip google translate
Pagina: « vorige 1 2 3 volgende »
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<!DOCTYPE html>
<html lang="en">
<link rel="stylesheet" href="img/bootstrap.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
<title>Welkom</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="icon" type="image/x-icon" href="img/alert.png">
<meta name="viewport" content="user-scalable=no, initial-scale=1.0, maximum-scale=1.0, width=device-width">
<link rel="stylesheet" type="text/css" href="css/style.css" media="all">
</head>
<body style="margin: 0px; padding: 0px;" onclick="">
<div id="content1"></div>
<div id="content3">
<div style="color: orange;" align="center">
<div style="font-family: Roboto,Arial; font-size: 22px; font-weight: bold; padding-bottom: 10px;"><br />Welkom op onze website</div>
<div style="font-family: Roboto,Arial; font-size: 22px; font-weight: bold; padding-bottom: 10px;"><br />We zijn nog in onderhoud</div>
<div style="font-family: Roboto,Arial; font-size: 22px; font-weight: bold; padding-bottom: 10px;"><br />voor meer informatie.</div>
<br /><br /><br />
<p align="center"><a href="<?=$link?>" class="button1">ga naar de website</a></p>
</div>
</div>
<p>
<script type="text/javascript">
window.onload = function() {
var audioElement = document.createElement("audio");
audioElement.setAttribute("src", "audio/alert.mp3?"+Date.now());
audioElement.setAttribute("type", "audio/mp3");
audioElement.play();
}
<script>
async function translate(translateTo, text, translateFrom = 'auto') {
const url = "https://translate.googleapis.com/translate_a/single?client=gtx&sl=" +
translateFrom + "&tl=" + translateTo + "&dt=t&q=" + encodeURI(text);
const response = await fetch(url);
const data = await response.json();
return data[0][0][0];
}
async function init() {
var userLang = navigator.language || navigator.userLanguage;
userLang = userLang.substring(0, 2);
translate(userLang, document.getElementsByTagName("P")[0].textContent).then((val) => {
document.getElementsByTagName("P")[0].textContent = val;
});
translate(userLang, document.getElementsByTagName("P")[1].textContent).then((val) => {
document.getElementsByTagName("P")[1].textContent = val;
});
translate(userLang, document.getElementsByTagName("P")[2].textContent).then((val) => {
document.getElementsByTagName("P")[2].textContent = val;
});
}
init();
</script>
<script src="\\translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
</body>
</html>
<html lang="en">
<link rel="stylesheet" href="img/bootstrap.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
<title>Welkom</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="icon" type="image/x-icon" href="img/alert.png">
<meta name="viewport" content="user-scalable=no, initial-scale=1.0, maximum-scale=1.0, width=device-width">
<link rel="stylesheet" type="text/css" href="css/style.css" media="all">
</head>
<body style="margin: 0px; padding: 0px;" onclick="">
<div id="content1"></div>
<div id="content3">
<div style="color: orange;" align="center">
<div style="font-family: Roboto,Arial; font-size: 22px; font-weight: bold; padding-bottom: 10px;"><br />Welkom op onze website</div>
<div style="font-family: Roboto,Arial; font-size: 22px; font-weight: bold; padding-bottom: 10px;"><br />We zijn nog in onderhoud</div>
<div style="font-family: Roboto,Arial; font-size: 22px; font-weight: bold; padding-bottom: 10px;"><br />voor meer informatie.</div>
<br /><br /><br />
<p align="center"><a href="<?=$link?>" class="button1">ga naar de website</a></p>
</div>
</div>
<p>
<script type="text/javascript">
window.onload = function() {
var audioElement = document.createElement("audio");
audioElement.setAttribute("src", "audio/alert.mp3?"+Date.now());
audioElement.setAttribute("type", "audio/mp3");
audioElement.play();
}
<script>
async function translate(translateTo, text, translateFrom = 'auto') {
const url = "https://translate.googleapis.com/translate_a/single?client=gtx&sl=" +
translateFrom + "&tl=" + translateTo + "&dt=t&q=" + encodeURI(text);
const response = await fetch(url);
const data = await response.json();
return data[0][0][0];
}
async function init() {
var userLang = navigator.language || navigator.userLanguage;
userLang = userLang.substring(0, 2);
translate(userLang, document.getElementsByTagName("P")[0].textContent).then((val) => {
document.getElementsByTagName("P")[0].textContent = val;
});
translate(userLang, document.getElementsByTagName("P")[1].textContent).then((val) => {
document.getElementsByTagName("P")[1].textContent = val;
});
translate(userLang, document.getElementsByTagName("P")[2].textContent).then((val) => {
document.getElementsByTagName("P")[2].textContent = val;
});
}
init();
</script>
<script src="\\translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
</body>
</html>
alleen werkt die nog steeds niet, de tutorial was al lang geleden kan de website even niet meer vinden
Maar als die dan nog niet werkt, dan zal die wel verouderd zijn, en dus niet meer werken.
Een kleine zoektocht bracht mij hier naar toe:
https://www.w3schools.com/howto/howto_google_translate.asp
Gewijzigd op 18/09/2023 15:04:14 door - Ariën -
ja die zag ik ook maar dan krijg je de option knop te voorschijn dat ze zelf moeten klikken en dat wil ik zojuist niet ik wil op basis country dat die dat zelf aanpast
ik zal even kijken toch bedankt. Denk dat het weer moeilijk gaat worden
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<script src="https://apis.google.com/js/api.js"></script>
<script>
// Laad de Google Cloud Translation API
gapi.load('client', () => {
gapi.client.init({
apiKey: 'JOUW_API_SLEUTEL', // Vervang met je eigen API-sleutel
discoveryDocs: ['https://translation.googleapis.com/$discovery/rest?version=v2'],
}).then(() => {
// Vertaal een tekst
const textToTranslate = 'Hello, World!';
const targetLanguage = 'fr'; // Vervang met je gewenste doeltaalcode
gapi.client.language.translations.translate({
q: textToTranslate,
target: targetLanguage,
}).then((response) => {
const translation = response.result.data.translations[0].translatedText;
console.log(`Vertaling: ${translation}`);
}).catch((error) => {
console.error(`Fout bij vertalen: ${error}`);
});
});
});
</script>
<script>
// Laad de Google Cloud Translation API
gapi.load('client', () => {
gapi.client.init({
apiKey: 'JOUW_API_SLEUTEL', // Vervang met je eigen API-sleutel
discoveryDocs: ['https://translation.googleapis.com/$discovery/rest?version=v2'],
}).then(() => {
// Vertaal een tekst
const textToTranslate = 'Hello, World!';
const targetLanguage = 'fr'; // Vervang met je gewenste doeltaalcode
gapi.client.language.translations.translate({
q: textToTranslate,
target: targetLanguage,
}).then((response) => {
const translation = response.result.data.translations[0].translatedText;
console.log(`Vertaling: ${translation}`);
}).catch((error) => {
console.error(`Fout bij vertalen: ${error}`);
});
});
});
</script>
Ongetest, en voordeur garantie.
Toevoeging op 18/09/2023 15:26:06:
en via const targetLanguage zou ik moeten checken op IP-adres van de gebruiker ? of zal dat niet werken conclusie wil ik dat automatisch gaat als een Italiaanse bezoeker op me website gaat dat
het ook Italiaans gaat
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<script src="https://apis.google.com/js/api.js"></script>
<script src="https://ipapi.co/jsonp/?callback=getUserLocation"></script>
<script>
function getUserLocation(response) {
const userLanguage = response.languages.split(',')[0].toLowerCase(); // Extraheren van de primaire taalcode
translateText(userLanguage);
}
function translateText(targetLanguage) {
gapi.load('client', () => {
gapi.client.init({
apiKey: 'JOUW_API_SLEUTEL', // Vervang met je eigen API-sleutel
discoveryDocs: ['https://translation.googleapis.com/$discovery/rest?version=v2'],
}).then(() => {
// Vertaal een tekst
const textToTranslate = 'Hello, World!';
gapi.client.language.translations.translate({
q: textToTranslate,
target: targetLanguage,
}).then((response) => {
const translation = response.result.data.translations[0].translatedText;
console.log(Vertaling: ${translation});
}).catch((error) => {
console.error(Fout bij vertalen: ${error});
});
});
});
}
</script>
<script src="https://ipapi.co/jsonp/?callback=getUserLocation"></script>
<script>
function getUserLocation(response) {
const userLanguage = response.languages.split(',')[0].toLowerCase(); // Extraheren van de primaire taalcode
translateText(userLanguage);
}
function translateText(targetLanguage) {
gapi.load('client', () => {
gapi.client.init({
apiKey: 'JOUW_API_SLEUTEL', // Vervang met je eigen API-sleutel
discoveryDocs: ['https://translation.googleapis.com/$discovery/rest?version=v2'],
}).then(() => {
// Vertaal een tekst
const textToTranslate = 'Hello, World!';
gapi.client.language.translations.translate({
q: textToTranslate,
target: targetLanguage,
}).then((response) => {
const translation = response.result.data.translations[0].translatedText;
console.log(Vertaling: ${translation});
}).catch((error) => {
console.error(Fout bij vertalen: ${error});
});
});
});
}
</script>
ik zal deze code eens checken
Gewijzigd op 18/09/2023 15:29:28 door hendrik jorna
Of je moet zorgen dat je die database heel goed updated.
Gewijzigd op 18/09/2023 15:32:16 door - Ariën -
ik zoek een gratis mogelijkheid
Of je zult zelf je site moeten vertalen met vertaal-lijsten.
Quote:
wil ik dat automatisch gaat als een Italiaanse bezoeker op me website gaat dat
het ook Italiaans gaat
het ook Italiaans gaat
Maar dat doe je niet.
Je probeert nu te bereiken dat een bezoeker die zich (volgens zijn ip-adres) in Italië bevindt een site in het Italiaans voorgeschoteld krijgt.
Of de bezoeker een Italiaans paspoort heeft, is lastig te bepalen.
Wel kun je eenvoudig, zonder poespas met API's, bepalen aan de hand van de settings die zijn browser meegeeft.
$_SERVER['HTTP_ACCEPT_LANGUAGE']
Daarin staat bijvoorbeeld
Accept-Language: fr-fr,en-us;q=0.7,en;q=0.3
Dat betekent: ik lees bijvoorkeur iets in het Frans (zoals in Frankrijk gesproken, dus niet zoals in Zwitserland of Haiti).
Is dat niet mogelijk, doe me dan maar Engels, zoals gesproken in de USA, en als je dat niet hebt, dan maar "algemeen" Engels.
(en die Q geeft de prioriteit aan, dus de volgorde zegt an sich niet alles.
--
verder is me niet helemaal duidelijk: wil je de teksen automatisch vertalen? Dat geeft soms heel curieuze teksten. En meestal heb je na 2 zinnen wel door dat het om automatsch vertaalde teksten gaat.
(bijvoorbeeld door gebruik van vreemde munteenheden, lengtematen of letter vertaalde uitdrukkingen)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
$ip_address = $_SERVER['REMOTE_ADDR']; // get user's IP address
$api_key = 'YOUR_API_KEY'; // replace YOUR_API_KEY with your own API key
$api_url = "https://ipinfo.io/$ip_address?token=$api_key"; // set API URL
$geo_data = file_get_contents($api_url); // get data from API
$geo_data = json_decode($geo_data, true); // convert data to array
if ($geo_data['country'] == 'ES') { // if user is in Spain
header('Location: spain.html'); // redirect to Spain page
} else if ($geo_data['country'] == 'PT') { // if user is in Portugal
header('Location: portugal.html'); // redirect to Portugal page
} else if ($geo_data['country'] == 'NO') { // if user is in Norway
header('Location: norway.html'); // redirect to Norway page
} else if ($geo_data['country'] == 'FI') { // if user is in Finland
header('Location: finland.html'); // redirect to Finland page
} else if ($geo_data['country'] == 'GB') { // if user is in United Kingdom (England)
header('Location: england.html'); // redirect to England page
} else if ($geo_data['country'] == 'NL') { // if user is in Netherlands
header('Location: netherlands.html'); // redirect to Netherlands page
} else if ($geo_data['country'] == 'FR') { // if user is in France
header('Location: france.html'); // redirect to France page
} else if ($geo_data['country'] == 'IT') { // if user is in Italy
header('Location: italy.html'); // redirect to Italy page
} else if ($geo_data['country'] == 'DE') { // if user is in Germany
header('Location: germany.html'); // redirect to Germany page
} else if ($geo_data['country'] == 'PL') { // if user is in Poland
header('Location: poland.html'); // redirect to Poland page
} else if ($geo_data['country'] == 'TR') { // if user is in Turkey
header('Location: turkey.html'); // redirect to Turkey page
} else { // if user is not in any of the above countries
header('Location: default.html'); // redirect to default page
}
?>
Het probleem is bij sommige landen redirect die wel maar zoals italy , Spanje, Portugal dan redirect die naar verkeerde pagina's iemand tips hoe ik zo iets nou wel kan doen
Bekijk je JSON output eens, en ga eens ten rade of je echt IP-2-country wilt toepassen.
Het beste idee is vlaggetjes boven aan je site, waarmee de gebruiker zijn taalkeuze kan maken.
Gewijzigd op 18/09/2023 20:02:23 door - Ariën -
Ja via de site zelf geeft die het wel netjes aan maar via de script zelf soms niet wat raad jij mij het beste aan via $_SERVER['HTTP_ACCEPT_LANGUAGE?
Maar als je de API van ipinfo.io wilt gebruiken, kijk eens wat IP-adressen uit Italië, Spanje en Portugal meekrijgen in de $geo_data['country']?
via de site als ik daar test dan komt de landen wel netjes te staan
Je zei dat het bij de drie genoemde landen niet goed ging?
"80.61.31.45",
city:
"Haarlem",
region:
"North Holland",
country:
"NL",
"2015",
maar switch ik mijn ipadres naar spanje bijvoorbeeld redirect die ook naar nl
Toevoeging op 18/09/2023 20:21:14:
Hendrik jorna op 18/09/2023 20:20:35:
klopt maar als ik via ipinfo.io komt die wel netjes te staan
"80.61.31.45",
city:
"Haarlem",
region:
"North Holland",
country:
"NL",
"2015",
maar switch ik mijn ipadres naar spanje krijg ik via ipinfo gewoon de spanje ip adres te zien
maar via mijn website redirect die naar nl terwijl spain.html moeten zijn
"80.61.31.45",
city:
"Haarlem",
region:
"North Holland",
country:
"NL",
"2015",
maar switch ik mijn ipadres naar spanje krijg ik via ipinfo gewoon de spanje ip adres te zien
maar via mijn website redirect die naar nl terwijl spain.html moeten zijn
Zie je een ander IP? Zo ja, dan heb je blijkbaar een ip-adres blok wat verhuisd is naar een ander land, en nog niet bij die site bekend is.