فعال کردن شبکه تبلیغاتی شما برای کار با ویژگیهای جستجوی Google مرتبط با ترجمه
جستجوی Google چندین ویژگی های مرتبط با ترجمه را ارائه می دهد که کاربران را قادر می سازد به محتوای ترجمه شده دسترسی داشته باشند. اگر یک شبکه تبلیغاتی اجرا می کنید و تبلیغات شما نیست کار کردن به درستی روی صفحات وب ترجمه شده، باید مراحل این راهنما را دنبال کنید مطمئن شوید که تبلیغات شما به درستی نمایش داده می شود یا مشخص می شود.
رویکرد ما
وقتی کاربران به محتوای ترجمه شده ارائه شده توسط Google دسترسی پیدا می کنند ترجمه از داخل نتایج جستجو، Google صفحه را از ناشر بازیابی می کند، بازنویسی می کند URL منبع، و صفحه وب را پس از کلیک کاربر بر روی نتیجه ترجمه شده ترجمه می کند.
URL مترجم گوگل را به URL اصلی تبدیل کنید
اگر شبکه تبلیغاتی را اجرا می کنید که به URL منبع ناشر متکی است، باید آن را تبدیل کنید. URL مترجم گوگل برای اطمینان از اینکه تبلیغات شما به درستی کار می کند. این مراحل را برای رمزگشایی نام میزبان ناشر دنبال کنید:
- با حذف پسوند
.translate.goog
، پیشوند دامنه را از نام میزبان استخراج کنید. - پارامتر
_x_tr_enc
را با نویسه,
(کاما) تقسیم کنید و آن را به عنوانencoding_list
ذخیره کنید. - در صورت وجود، مقدار پارامتر
_x_tr_hp
را به پیشوند دامنه اضافه کنید. - اگر
encoding_list
حاوی1
باشد و خروجی با1-
شروع شود،1-
پیشوند از خروجی مرحله 2. - اگر
encoding_list
حاوی0
باشد و خروجی با0-
شروع شود،0-
پیشوند از خروجی مرحله 3. اگر پیشوند را حذف کردید،is_idn
را رویtrue
تنظیم کنید. در غیر این صورت،is_idn
را رویfalse
تنظیم کنید. -
/\b-\b/
(regex) را با نویسه.
(نقطه) جایگزین کنید. - کاراکتر
--
(دو خط تیره) را با نویسه-
(فاصله) جایگزین کنید. - اگر
is_idn
رویtrue
تنظیم شده است، پیشوند punycodexn--
را اضافه کنید. - اختیاری: تبدیل به یونیکد.
نمونه کد جاوا اسکریپت برای رمزگشایی نام میزبان از URL مترجم گوگل
function decodeHostname(proxyUrl) {
const parsedProxyUrl = new URL(proxyUrl);
const fullHost = parsedProxyUrl.hostname;
// 1. Extract the domain prefix from the hostname, by removing the
".translate.goog" suffix
let domainPrefix = fullHost.substring(0, fullHost.indexOf('.'));
// 2. Split _x_tr_enc parameter by "," (comma), save as encodingList
const encodingList = parsedProxyUrl.searchParams.has('_x_tr_enc') ?
parsedProxyUrl.searchParams.get('_x_tr_enc').split(',') :
[];
// 3. Prepend value of _x_tr_hp parameter to the domain prefix, if it exists
if (parsedProxyUrl.searchParams.has('_x_tr_hp')) {
domainPrefix = parsedProxyUrl.searchParams.get('_x_tr_hp') + domainPrefix;
}
// 4. Remove '1-' prefix from the output of step 2 if encodingList contains
// '1' and the output begins with '1-'.
if (encodingList.includes('1') && domainPrefix.startsWith('1-')) {
domainPrefix = domainPrefix.substring(2);
}
// 5. Remove '0-' prefix from the output of step 3 if encodingList contains
// '0' and the output begins with '0-'.
// Set isIdn to true if removed, false otherwise.
let isIdn = false;
if (encodingList.includes('0') && domainPrefix.startsWith('0-')) {
isIdn = true;
domainPrefix = domainPrefix.substring(2);
}
// 6. Replace /\b-\b/ (regex) with '.' (dot) character.
// 7. Replace '--' (double hyphen) with '-' (hyphen).
let decodedSegment =
domainPrefix.replaceAll(/\b-\b/g, '.').replaceAll('--', '-');
// 8. If isIdn equals true, add the punycode prefix 'xn--'.
if (isIdn) {
decodedSegment = 'xn--' + decodedSegment;
}
return decodedSegment;
}
URL را بازسازی کنید
- با استفاده از URL صفحه اصلی، نام میزبان را با نام میزبان رمزگشایی شده جایگزین کنید.
- همه پارامترهای
_x_tr_*
را حذف کنید.
کد خود را تست کنید
با استفاده از جدول زیر می توانید تست های واحد برای کد خود ایجاد کنید. با توجه به proxyUrl
،
decodeHostname
باید با مقدار مورد انتظار مطابقت داشته باشد.
از جدول زیر فقط می توان برای آزمایش رمزگشایی نام میزبان استفاده کرد. شما باید از آن اطمینان حاصل کنید مسیر، قطعه و پارامترهای اصلی URL همانطور که هست حفظ می شوند.
proxyUrl
|
decodeHostname
|
---|---|
https:/
|
example.
|
https:/
|
foo.
|
https:/
|
foo-example.
|
https:/
|
xn--57hw060o.
|
https:/
|
en-us.
|
https:/
|
xn--en--w45as309w.
|
https:/
|
xn----16pw588q.
|
https:/
|
llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch.
|
https:/
|
www.
|
https:/
|
a-xn-xn-xn-xn-xn-------------aa-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.
|
https:/
|
xn--g5h3969ntadg44juhyah3c9aza87iiar4i410avdl8d3f1fuq3nz05dg5b.
|