Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Переклад карток товару на українську


Gariks

Recommended Posts

Вітаю.
Знаю, що тема не нова, але записи по цій темі від 21 року...
Що на зараз є актуальне, щоб перекласти картки товару на українську 25К+
Хтось на практиці використовував щось, щоб коректний переклад був.  

Надіслати
Поділитися на інших сайтах


Прозондуйте тему Lingva API (альтернативний фронтенд для Google) - недавно перекладали пару тисяч товарів, клієнт був задоволений, правда забув який з сайтів.

 

Проект тут

https://github.com/thedaviddelta/lingva-translate

 

25k якщо грамотно то за певний час можна реалізувати чергою

 

ud.

 

Надіслати
Поділитися на інших сайтах

ще за допомогою ChatGPT можна:

 

 

  • +1 1
Надіслати
Поділитися на інших сайтах

Недавно перекладам цим 70+ к товарів. Сайт з можливо трохи специфічною нішею, тому не все ідеально (все я і не перевіряв), але в цілому нормально
 

 

Надіслати
Поділитися на інших сайтах

14.06.2023 в 13:15, Gariks сказал:

Вітаю.
Знаю, що тема не нова, але записи по цій темі від 21 року...
Що на зараз є актуальне, щоб перекласти картки товару на українську 25К+
Хтось на практиці використовував щось, щоб коректний переклад був.  

 

В зависимости от сложности контента и требований

 

Надіслати
Поділитися на інших сайтах

Скрытый текст
<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0" />
   <style>
#language select,#language_vertical select,#language_content select,#version select{width:100%;height:29px;position:relative;border:1px solid #ccc;border-radius:2px;overflow:hidden;box-sizing:border-box;-moz-box-sizing:border-box;margin-bottom:20px}
#goog-gt-tt,#goog-gt-{display:none!important}
#language .skiptranslate.goog-te-gadget,#language_vertical .skiptranslate.goog-te-gadget,#language_content .skiptranslate.goog-te-gadget{display:block!important;margin-bottom:20px}
#language .skiptranslate.goog-te-gadget select,#language_vertical .skiptranslate.goog-te-gadget select,#language_content .skiptranslate.goog-te-gadget select{margin:0;cursor:pointer}
.offline #language_vertical button{display:none}
   </style>
   <script>
var BusEngine = {};

BusEngine.cookie = {
	'set': function(name, value, domain, path, day) {
		if (typeof name == 'undefined' || typeof name != 'string') {
			return false;
		}

		if (typeof value == 'undefined' || typeof value != 'string') {
			value = '';
		}

		if (typeof domain == 'object' && domain != null) {
			console.log(domain);
			if ('path' in domain) {
				path = domain.path;
			}
			if ('day' in domain) {
				day = domain.day;
			}
			if ('domain' in domain) {
				domain = domain.domain;
			}
		}

		if (typeof domain == 'undefined' || typeof domain != 'string') {
			domain = '.' + document.domain;
		}

		if (typeof path == 'undefined' || typeof path != 'string') {
			path = '/';
		}

		if (typeof day != 'undefined' && 'Date' in window) {
			var x = new window.Date();
			x.setUTCSeconds(3600 * 24 * Number(day));
			day = ' expires=' + x + ';';
		} else {
			day = '';
		}

		document.cookie = name + '=' + value + '; path=' + path + ';' + day + ' domain=' + domain;

		return true;
	},
	'get': function(name) {
		var c = document.cookie;

		if (!c || typeof name == 'undefined' || typeof name != 'string') {
			return c;
		}

		//console.log(new RegExp('(' + name + ')\\=(\\S[^\\;]+)'));
		//console.log(/(name)\=(\S[^\;]+)/);

		c = c.match(new RegExp('(' + name + ')\\=(\\S[^\\;]+)'));

		if (c && c[2]) {
			return c[2];
		} else {
			return '';
		}
	},
	'remove': function(name, value, domain, path) {
		if (typeof name == 'undefined' || typeof name != 'string') {
			return false;
		}

		var v;

		if (typeof value == 'undefined' || typeof value != 'string') {
			v = '';
		} else {
			v = value;
		}

		if (typeof domain == 'object' && domain != null) {
			if ('path' in domain) {
				path = domain.path;
			}
			if ('domain' in domain) {
				domain = domain.domain;
			}
		}

		if (typeof domain == 'undefined' || typeof domain != 'string') {
			domain = '.' + document.domain;
		}

		if (typeof path == 'undefined' || typeof path != 'string') {
			path = '/';
		}

		document.cookie = name + '=' + v + '; expires=01 Jan 0000 00:00:00 GMT';
		document.cookie = name + '=' + v + '; expires=01 Jan 0000 00:00:00 GMT; path=' + path + '; domain=';
		document.cookie = name + '=' + v + '; expires=01 Jan 0000 00:00:00 GMT; path=' + path + '; domain=' + domain;

		return true;
	},
	'has': function(name, value) {
		var c = document.cookie;

		if (!c || typeof name == 'undefined' || typeof name != 'string') {
			return false;
		}

		c = c.match(new RegExp('(' + name + ')\\=(\\S[^\\;]+)'));

		if (typeof value == 'undefined' || typeof value != 'string') {
			if (c && c[1] && c[1] == name) {
				return true;
			}
		} else {
			if (c && c[2] && c[2] == value) {
				return true;
			}
		}

		return false;
	},
	'clear': function() {
		var cookies = document.cookie.split(';');
		var i, ii = cookies.length, pos;
		for (i = 0; i < ii; ++i) {
			pos = cookies[i].indexOf('=');
			if (pos > -1) {
				BusEngine.cookie.remove(cookies[i].substr(0, pos));
			}
		}

		if (!document.cookie) {
			return true;
		} else {
			return false;
		}
	},
	'test': function() {
		// добавить
		BusEngine.cookie.set('BusEngine', 'Like');
		console.log(document.cookie);

		// получить
		console.log(BusEngine.cookie.get('BusEngine'));

		// проверить
		console.log(BusEngine.cookie.has('BusEngine'));

		// удалить
		BusEngine.cookie.remove('BusEngine');
		console.log(document.cookie);

		// проверить
		console.log(BusEngine.cookie.has('BusEngine'));
	}
};

BusEngine.loadScript = function(url, callback) {
	var s, ss;
	s = document.createElement('script');
	s.type = 'text/javascript';
	s.src = url;
	if (typeof callback !== 'undefined') {
		s.onreadystatechange = callback;
		s.onload = callback;
	}
	ss = document.head;
	if (ss) {
		ss.appendChild(s);
	}
};

// language
BusEngine.language = {
	'setting': {
		langDefault: (document.documentElement.lang || window.navigator.language || window.navigator.userLanguage),
		//lang: (window.navigator.language || window.navigator.userLanguage),
		lang: 'uk',
		domain: document.domain
	},
	'status': false,
	'initialize': function(setting) {
		if (setting == null && BusEngine.language.status) {
			return false;
		}
		BusEngine.language.status = true;
		BusEngine.loadScript('https://translate.google.com/translate_a/element.js?cb=BusEngine.language.start');
	},
	'start': function(setting) {
		// устанавливаем настройки если есть
		if (typeof setting === 'object' && !('composedPath' in setting) && !('bubbles' in setting)) {
			for (var i in setting) {
				BusEngine.language.setting[i] = setting[i];
			}
		}

		// объявляем рабочие переменные
		var element, select, x, timertick = 0, timerId, id = "language_vertical";

		// устанавливаем выбор тега в зависимости от ширины экрана
		if ('matchMedia' in window) {
			if (window.matchMedia('(max-width: 991px)').matches) {
				id = "language_content";
			}
		} else {
			if (window.innerWidth <= 991) {
				id = "language_content";
			}
		}

		// удаляем кнопку запуска переводчика
		element = document.querySelector('#' + id + ' button');
		if (element) {
			element.parentNode.removeChild(element);
		}

		// устанавливаем язык из нашей долгой куки
		if (BusEngine.cookie.has('BusEngineLang')) {
			BusEngine.language.setting.lang = BusEngine.cookie.get('BusEngineLang');
		}

		BusEngine.cookie.set('googtrans', '/' + BusEngine.language.setting.langDefault + '/' + BusEngine.language.setting.lang, BusEngine.language.setting.domain);
		BusEngine.cookie.set('googtrans', '/' + BusEngine.language.setting.langDefault + '/' + BusEngine.language.setting.lang, '');

		// запускаем переводчик
		x = new google.translate.TranslateElement({
			pageLanguage: BusEngine.language.setting.langDefault,
			includedLanguages: 'be,en,it,kk,lv,lt,de,ru,uk,fr,cs,et',
			//layout: google.translate.TranslateElement.InlineLayout.SIMPLE,
			//autoDisplay: true
		}, id);

		// отслеживаем появление тегов переводчика
		/* window.addEventListener('DOMNodeInserted', function(e) {
			console.log(e);
		}, false); */

		// отслеживаем появление тегов переводчика универсально
		timerId = setTimeout(function tick() {
			timertick++;

			select = document.querySelector('#' + id + ' select');
			if (select) {
				// устанавливаем язык перевода в долгую куку
				select.addEventListener('change', function(e) {
					if (typeof e == 'object' && 'target' in e && 'value' in e.target && e.target.value != BusEngine.language.setting.lang) {
						BusEngine.cookie.set('BusEngineLang', e.target.value, BusEngine.language.setting.domain, null, 365);
					}
				}, false);

				// скрываем верхнее меню в зависимости от куки
				element = document.querySelector('iframe[id*=".container"]');
				if (element && !BusEngine.cookie.has('BusEngineLangHorizontal')) {
					document.body.classList.remove('languagefix');
					element.style['display'] = 'block';
					element.parentNode.style['display'] = 'block';

					var e = element.contentWindow.document.querySelector('a[id*=".close"], a[id*=".close"] img, .goog-close-link');

					if (e) {
						var s = document.createElement('a');
						s.style = e.style;
						s.style['margin'] = '0 10px';
						s.style['cursor'] = 'pointer';
						s.innerHTML = e.innerHTML;
						s.id = 'fuckgoogle';
						e.style['display'] = 'none';
						e.parentNode.appendChild(s);
						s.addEventListener('click', function(e) {
							document.body.classList.add('languagefix');
							BusEngine.cookie.set('BusEngineLangHorizontal', 'none', BusEngine.language.setting.domain, null, 365);
						});
					}
				}
			} else {
				if (timertick < 10) {
					timerId = setTimeout(tick, 200);
				}
			}
		}, 200);
	},
	'set': function (setting) {
		if (typeof setting == 'object' && setting != null) {
			if ('lang' in setting && typeof setting.lang == 'string') {
				BusEngine.language.setting.lang = setting.lang;
			}

			BusEngine.cookie.set('BusEngineLang', BusEngine.language.setting.lang, BusEngine.language.setting.domain, null, 365);

			window.location.reload();
		}
	}
};

// запускаем модули когда есть интернет
if (window.navigator.onLine) {
	// запускаем модуль переводчика когда его активировали
	if (BusEngine.cookie.has('BusEngineLang')) {
		BusEngine.language.initialize();
	}
} else {
	window.addEventListener('DOMContentLoaded', function() {
		document.body.classList.add('offline');
	});
}
   </script>
</head>
<body class="notranslate">
  <div id="language_vertical"><button type="button" onclick="BusEngine.language.initialize();" title="Активирировать переводчик" aria-label="Активирировать переводчик" style="padding:5px;margin-bottom:20px;width:100%;background-color:#000000;color:#ffffff;cursor:pointer">Activate translator</button></div>
  <div class="translate">Я программист!</div>
</body></html>

 

 

Змінено користувачем buslikdrev
Надіслати
Поділитися на інших сайтах

  • 2 months later...

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.