add translate api

This commit is contained in:
gerchek 2022-01-23 14:06:16 +05:00
parent 0c760224ac
commit 210a4e5ca2
17 changed files with 103 additions and 135 deletions

View File

@ -1,8 +1,8 @@
{
"files": {
"main.css": "/static/css/main.f7b594f7.chunk.css",
"main.js": "/static/js/main.a2edd69f.chunk.js",
"main.js.map": "/static/js/main.a2edd69f.chunk.js.map",
"main.js": "/static/js/main.ec482cde.chunk.js",
"main.js.map": "/static/js/main.ec482cde.chunk.js.map",
"runtime-main.js": "/static/js/runtime-main.2cdb2292.js",
"runtime-main.js.map": "/static/js/runtime-main.2cdb2292.js.map",
"static/css/2.d555f809.chunk.css": "/static/css/2.d555f809.chunk.css",
@ -43,6 +43,6 @@
"static/css/2.d555f809.chunk.css",
"static/js/2.e5c28849.chunk.js",
"static/css/main.f7b594f7.chunk.css",
"static/js/main.a2edd69f.chunk.js"
"static/js/main.ec482cde.chunk.js"
]
}

View File

@ -1 +1 @@
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/><link href="https://fonts.googleapis.com/css2?family=Open+Sans&display=swap" rel="stylesheet"/><link rel="apple-touch-icon" href="/logo192.png"/><link rel="manifest" href="/manifest.json"/><title>Etalon</title><link href="/static/css/2.d555f809.chunk.css" rel="stylesheet"><link href="/static/css/main.f7b594f7.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(e){function t(t){for(var n,a,i=t[0],c=t[1],l=t[2],s=0,p=[];s<i.length;s++)a=i[s],Object.prototype.hasOwnProperty.call(o,a)&&o[a]&&p.push(o[a][0]),o[a]=0;for(n in c)Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n]);for(f&&f(t);p.length;)p.shift()();return u.push.apply(u,l||[]),r()}function r(){for(var e,t=0;t<u.length;t++){for(var r=u[t],n=!0,i=1;i<r.length;i++){var c=r[i];0!==o[c]&&(n=!1)}n&&(u.splice(t--,1),e=a(a.s=r[0]))}return e}var n={},o={1:0},u=[];function a(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,a),r.l=!0,r.exports}a.e=function(e){var t=[],r=o[e];if(0!==r)if(r)t.push(r[2]);else{var n=new Promise((function(t,n){r=o[e]=[t,n]}));t.push(r[2]=n);var u,i=document.createElement("script");i.charset="utf-8",i.timeout=120,a.nc&&i.setAttribute("nonce",a.nc),i.src=function(e){return a.p+"static/js/"+({}[e]||e)+"."+{3:"f448a7ff"}[e]+".chunk.js"}(e);var c=new Error;u=function(t){i.onerror=i.onload=null,clearTimeout(l);var r=o[e];if(0!==r){if(r){var n=t&&("load"===t.type?"missing":t.type),u=t&&t.target&&t.target.src;c.message="Loading chunk "+e+" failed.\n("+n+": "+u+")",c.name="ChunkLoadError",c.type=n,c.request=u,r[1](c)}o[e]=void 0}};var l=setTimeout((function(){u({type:"timeout",target:i})}),12e4);i.onerror=i.onload=u,document.head.appendChild(i)}return Promise.all(t)},a.m=e,a.c=n,a.d=function(e,t,r){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(a.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)a.d(r,n,function(t){return e[t]}.bind(null,n));return r},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="/",a.oe=function(e){throw console.error(e),e};var i=this["webpackJsonpreact-etalon"]=this["webpackJsonpreact-etalon"]||[],c=i.push.bind(i);i.push=t,i=i.slice();for(var l=0;l<i.length;l++)t(i[l]);var f=c;r()}([])</script><script src="/static/js/2.e5c28849.chunk.js"></script><script src="/static/js/main.a2edd69f.chunk.js"></script></body></html>
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/><link href="https://fonts.googleapis.com/css2?family=Open+Sans&display=swap" rel="stylesheet"/><link rel="apple-touch-icon" href="/logo192.png"/><link rel="manifest" href="/manifest.json"/><title>Etalon</title><link href="/static/css/2.d555f809.chunk.css" rel="stylesheet"><link href="/static/css/main.f7b594f7.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(e){function t(t){for(var n,a,i=t[0],c=t[1],l=t[2],s=0,p=[];s<i.length;s++)a=i[s],Object.prototype.hasOwnProperty.call(o,a)&&o[a]&&p.push(o[a][0]),o[a]=0;for(n in c)Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n]);for(f&&f(t);p.length;)p.shift()();return u.push.apply(u,l||[]),r()}function r(){for(var e,t=0;t<u.length;t++){for(var r=u[t],n=!0,i=1;i<r.length;i++){var c=r[i];0!==o[c]&&(n=!1)}n&&(u.splice(t--,1),e=a(a.s=r[0]))}return e}var n={},o={1:0},u=[];function a(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,a),r.l=!0,r.exports}a.e=function(e){var t=[],r=o[e];if(0!==r)if(r)t.push(r[2]);else{var n=new Promise((function(t,n){r=o[e]=[t,n]}));t.push(r[2]=n);var u,i=document.createElement("script");i.charset="utf-8",i.timeout=120,a.nc&&i.setAttribute("nonce",a.nc),i.src=function(e){return a.p+"static/js/"+({}[e]||e)+"."+{3:"f448a7ff"}[e]+".chunk.js"}(e);var c=new Error;u=function(t){i.onerror=i.onload=null,clearTimeout(l);var r=o[e];if(0!==r){if(r){var n=t&&("load"===t.type?"missing":t.type),u=t&&t.target&&t.target.src;c.message="Loading chunk "+e+" failed.\n("+n+": "+u+")",c.name="ChunkLoadError",c.type=n,c.request=u,r[1](c)}o[e]=void 0}};var l=setTimeout((function(){u({type:"timeout",target:i})}),12e4);i.onerror=i.onload=u,document.head.appendChild(i)}return Promise.all(t)},a.m=e,a.c=n,a.d=function(e,t,r){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(a.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)a.d(r,n,function(t){return e[t]}.bind(null,n));return r},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="/",a.oe=function(e){throw console.error(e),e};var i=this["webpackJsonpreact-etalon"]=this["webpackJsonpreact-etalon"]||[],c=i.push.bind(i);i.push=t,i=i.slice();for(var l=0;l<i.length;l++)t(i[l]);var f=c;r()}([])</script><script src="/static/js/2.e5c28849.chunk.js"></script><script src="/static/js/main.ec482cde.chunk.js"></script></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -20,7 +20,7 @@ const Sites = (props) => {
<div className="tab-header-line"></div>
</div>
<div className="depts-wrapper sites-wrapper">
<a href="https://halkbank.gov.tm/" className="dept site">
<a href="https://halkbank.gov.tm/" className="dept site" target="_blank" rel="noopener noreferrer">
<div className="dept-top">
<div className="dept-absolute">
<img src={RightArrow_2} alt="ARROW" />
@ -33,7 +33,7 @@ const Sites = (props) => {
<h4>{t("АКБ 'Халкбанк'")}</h4>
</div>
</a>
<a href="https://tdh.gov.tm/" className="dept site">
<a href="https://tdh.gov.tm/" className="dept site" target="_blank" rel="noopener noreferrer">
<div className="dept-top">
<div className="dept-absolute">
<img src={RightArrow_2} alt="ARROW" />
@ -46,7 +46,7 @@ const Sites = (props) => {
<h4>{t('Государственное информационное агентство Туркменистана')}</h4>
</div>
</a>
<a href="https://turkmentv.gov.tm/" className="dept site">
<a href="https://turkmentv.gov.tm/" className="dept site" target="_blank" rel="noopener noreferrer">
<div className="dept-top">
<div className="dept-absolute">
<img src={RightArrow_2} alt="ARROW" />
@ -59,7 +59,7 @@ const Sites = (props) => {
<h4>{t('Государственного комитета Туркменистана по телевидению,...')}</h4>
</div>
</a>
<a href="https://ashgabatairport.gov.tm/" className="dept site">
<a href="https://ashgabatairport.gov.tm/" className="dept site" target="_blank" rel="noopener noreferrer">
<div className="dept-top">
<div className="dept-absolute">
<img src={RightArrow_2} alt="ARROW" />

View File

@ -51,7 +51,9 @@
"Тарифы на проведение работ по метрологии подразделениями...":"Tariffs for execution of works on metrology...",
"Тарифы на проведение проверки или калибровки средств...":"Tariffs for carrying out of verification or...",
"Стоимость калибровки термометров сопротивления в калибровки в...":"Calibration cost of resistance thermometers in an...",
"Структура Государственного эталонного центра":"Structure of State Etalon Center"
"Структура Государственного эталонного центра":"Structure of State Etalon Center",
"Тарифы на проведение работ по метрологии подразделениями 'Туркменстандартлары'":"Tariffs"

View File

@ -21,7 +21,7 @@
"Отделы":"Отделы",
"Полезные сайты":"Полезные сайты",
"Информация":"Информация",
"Туркменистан, г. Ашхабад":"Ashgabat, Turkmenistan",
"Туркменистан, г. Ашхабад":"Туркменистан, г. Ашхабад",
"ул.1953, д.76 (Молодежная)":"ул.1953, д.76 (Молодежная),",
"Государственный реестр средств измерений":"Государственный реестр средств измерений",
"Главная государственная служба 'Туркменстандартлары'":"Главная государственная служба 'Туркменстандартлары'",
@ -36,7 +36,7 @@
"История компании Государственного эталонного центра":"История компании Государственного эталонного центра",
"В соответствии с Постановлением Президент Туркменистана от":"В соответствии с Постановлением Президент Туркменистана от",
"В соответствии с Постановлением Президент Туркменистана от":"В соответствии с Постановлением Президент Туркменистана от",
"Наш адрес":"Наш адрес",
"Контакты":"Контакты",
@ -52,7 +52,9 @@
"Тарифы на проведение работ по метрологии подразделениями...":"Тарифы на проведение работ по метрологии подразделениями...",
"Тарифы на проведение проверки или калибровки средств...":"Тарифы на проведение проверки или калибровки средств...",
"Стоимость калибровки термометров сопротивления в калибровки в...":"Стоимость калибровки термометров сопротивления в калибровки в...",
"Структура Государственного эталонного центра":"Структура Государственного эталонного центра"
"Структура Государственного эталонного центра":"Структура Государственного эталонного центра",
"Тарифы на проведение работ по метрологии подразделениями 'Туркменстандартлары'":"Тарифы на проведение работ по метрологии подразделениями 'Туркменстандартлары'"

View File

@ -51,6 +51,8 @@
"Тарифы на проведение работ по метрологии подразделениями...":"'Türkmenstandartlary' baş döwlet gullugynyň edaralary t...",
"Тарифы на проведение проверки или калибровки средств...":"Döwlet etalon merkeziniň ýokary takyklykly etalonlaryň...",
"Стоимость калибровки термометров сопротивления в калибровки в...":"Akkredirlenen çäklerinde garşylyk termometrleriň kalibr...",
"Структура Государственного эталонного центра":"Döwlet etalon merkeziniň düzüm çyzgysy"
"Структура Государственного эталонного центра":"Döwlet etalon merkeziniň düzüm çyzgysy",
"Тарифы на проведение работ по метрологии подразделениями 'Туркменстандартлары'":"'Türkmenstandartlary' baş döwlet gullugynyň edaralary tarapyndan edilýan metrologiýa hyzmatlaryň nyrhnamasy"
}

View File

@ -70,6 +70,8 @@ class CalibrateInstruments extends React.Component {
};
render() {
const { t } = this.props;
// const [pageIndex, setPageIndex] = useState(1);
@ -82,8 +84,8 @@ class CalibrateInstruments extends React.Component {
return (
<section className="calibrate-inst">
<Breadcrumb
path_1="Стоимость"
path_2="Тарифы на проведение проверки или калибровки средств измерений"
path_1={t('Стоимость')}
// path_2="Тарифы на проведение проверки или калибровки средств измерений"
link_1="/prices"
currentUrl="/prices/calibrate_instruments"
/>

View File

@ -75,6 +75,8 @@ class Etalon extends React.Component {
};
render() {
const { t } = this.props;
// const [pageIndex, setPageIndex] = useState(1);
@ -87,9 +89,9 @@ class Etalon extends React.Component {
return (
<section className="etalon">
<Breadcrumb
path_1="Государственные эталоны"
path_1={t('Государственные эталоны')}
link_1="/etalons"
path_2={this.props.match.params.slug}
// path_2={this.props.match.params.slug}
currentUrl="../etalons/1"
/>
<div className="container">

View File

@ -69,6 +69,8 @@ class Meteorology extends React.Component {
};
render() {
const { t } = this.props;
// const [pageIndex, setPageIndex] = useState(1);
@ -80,18 +82,17 @@ class Meteorology extends React.Component {
return (
<section className="plans">
<Breadcrumb
path_1="Стоимость"
path_1={t('Стоимость')}
link_1="/prices"
path_2="Тарифы на проведение работ по метрологии
подразделениями 'Туркменстандартлары'"
// path_2="Тарифы на проведение работ по метрологии
// подразделениями 'Туркменстандартлары'"
currentUrl={"/prices/meteorology"}
/>
<div className="container">
<div className="plans-inner">
<div className="tab-header">
<h4 className="tab-header-text" id="tab-header-text">
Тарифы на проведение работ по метрологии подразделениями
"Туркменстандартлары"
{t("Тарифы на проведение работ по метрологии подразделениями 'Туркменстандартлары'")}
</h4>
<div className="tab-header-line"></div>
</div>

View File

@ -73,6 +73,7 @@ class Novelty extends React.Component {
};
render() {
const { t } = this.props;
// const [pageIndex, setPageIndex] = useState(1);
@ -87,9 +88,9 @@ class Novelty extends React.Component {
return (
<section className="novelty">
<Breadcrumb
path_1="Новости"
path_1={t('Новости_1')}
link_1="/news"
path_2={this.props.match.params.slug}
// path_2={this.props.match.params.slug}
currentUrl="../news/novelty"
/>
<div className="container">

View File

@ -117,6 +117,7 @@ class Post extends React.Component {
// let elem = document.querySelector('.calibrate-thermo-table structure-employees');
// elem.innerHTML= this.state.items[0][0]['content'];
const { t } = this.props;
var {DataisLoaded, items} = this.state;
if(!DataisLoaded){
@ -128,8 +129,8 @@ class Post extends React.Component {
return (
<section className="calibrate-thermo">
<Breadcrumb
path_1="Стоимость"
path_2="Стоимость калибровки термометров сопротивления в калибровки в аккредитованной области"
path_1={t('Стоимость')}
// path_2="Стоимость калибровки термометров сопротивления в калибровки в аккредитованной области"
link_1="/prices"
currentUrl="/prices/calibrate_thermo"
/>

View File

@ -1,6 +1,8 @@
// IMPORT MODULES
import React from "react";
import { withTranslation } from 'react-i18next';
import i18n from '../i18n';
// IMPORT COMPONENTS
import Breadcrumb from "../components/Global/Breadcrumb";
@ -124,24 +126,48 @@ class Service extends React.Component {
{items.map(item=>(
<tr key={item.id}>
<td>{item.kind_of_activity}</td>
<td>Калибровка средств измерений</td>
<td>{item.id}</td>
<td>{ i18n.language === 'en' &&
JSON.parse(item['translations'][0]['attribute_data']).kind_of_activity
}
{ i18n.language === 'ru' &&
item.kind_of_activity
}
{ i18n.language === 'tm' &&
JSON.parse(item['translations'][1]['attribute_data']).kind_of_activity
}</td>
<td>
Заявка на проведение работ Техническая документация на
средство измерения Сертификат последней калибровки
средства измерения Документ об оплате
{ i18n.language === 'en' &&
JSON.parse(item['translations'][0]['attribute_data']).documents_for_employers
}
{ i18n.language === 'ru' &&
item.documents_for_employers
}
{ i18n.language === 'tm' &&
JSON.parse(item['translations'][1]['attribute_data']).documents_for_employers
}
</td>
<td>
«Порядок проведения Государственных метрологических
испытаний, государственной поверки, калибровки и поверки
стандартных образцов средств измерений» Утвержденный
приказом Главной государственной службы
«Туркменстадартлары» 1/148 от 5 ноября 2015 года
{ i18n.language === 'en' &&
JSON.parse(item['translations'][0]['attribute_data']).order
}
{ i18n.language === 'ru' &&
item.order
}
{ i18n.language === 'tm' &&
JSON.parse(item['translations'][1]['attribute_data']).order
}
</td>
<td>
Тарифы проводимых работ по метрологии подразделениями
Главной государственной службы «Туркменстадартлары»
Утвержденные 15 марта 2018 года
{ i18n.language === 'en' &&
JSON.parse(item['translations'][0]['attribute_data']).cost_of_work
}
{ i18n.language === 'ru' &&
item.cost_of_work
}
{ i18n.language === 'tm' &&
JSON.parse(item['translations'][1]['attribute_data']).cost_of_work
}
</td>
</tr>
))}
@ -151,96 +177,7 @@ class Service extends React.Component {
</div>
</div>
{/* <div className="service-bottom">
<div className="tab-header">
<h4 className="tab-header-text" id="tab-header-text">
{t('Виды заявок')}
</h4>
<div className="tab-header-line"></div>
</div>
<div className="service-cards-wrapper">
<div
className="service-card"
onClick={() => {
window.open(img_1.current.src);
}}
>
<div className="service-abs">
<div>
<img src={Print} alt="Print" />
</div>
</div>
<div className="service-card-top">
<div className="service-img-wrapper">
<img src={Img1} alt="Request1" ref={img_1} />
</div>
</div>
<div className="service-card-bottom">
<h4 className="service-card-title">Заявка на поверку</h4>
</div>
</div>
<div
className="service-card"
onClick={() => {
window.open(img_2.current.src);
}}
>
<div className="service-abs">
<div>
<img src={Print} alt="Print" />
</div>
</div>
<div className="service-card-top">
<div className="service-img-wrapper">
<img src={Img2} alt="Request2" ref={img_2} />
</div>
</div>
<div className="service-card-bottom">
<h4 className="service-card-title">Заявка на поверку</h4>
</div>
</div>
<div
className="service-card"
onClick={() => {
window.open(img_3.current.src);
}}
>
<div className="service-abs">
<div>
<img src={Print} alt="Print" />
</div>
</div>
<div className="service-card-top">
<div className="service-img-wrapper">
<img src={Img3} alt="Request3" ref={img_3} />
</div>
</div>
<div className="service-card-bottom">
<h4 className="service-card-title">Заявка на поверку</h4>
</div>
</div>
<div
className="service-card"
onClick={() => {
window.open(img_4.current.src);
}}
>
<div className="service-abs">
<div>
<img src={Print} alt="Print" />
</div>
</div>
<div className="service-card-top">
<div className="service-img-wrapper">
<img src={Img4} alt="Request4" ref={img_4} />
</div>
</div>
<div className="service-card-bottom">
<h4 className="service-card-title">Заявка на поверку</h4>
</div>
</div>
</div>
</div> */}
</div>
</div>
</section>

View File

@ -1,6 +1,8 @@
// IMPORT MODULES
import React from "react";
import { withTranslation } from 'react-i18next';
import i18n from '../i18n';
// IMPORT COMPONENTS
@ -58,7 +60,7 @@ class Structure extends React.Component {
error: res.message || null,
DataisLoaded: true,
})
console.log(res.data)
console.log(res.data)
}
})
@ -117,12 +119,28 @@ class Structure extends React.Component {
<tr key={item.id}>
<td>
<span className="name">
{item.name}
{ i18n.language === 'en' &&
JSON.parse(item['translations'][0]['attribute_data']).name
}
{ i18n.language === 'ru' &&
item.name
}
{ i18n.language === 'tm' &&
JSON.parse(item['translations'][1]['attribute_data']).name
}
</span>
</td>
<td>
<span className="position">
{item.position_held}
{ i18n.language === 'en' &&
JSON.parse(item['translations'][0]['attribute_data']).position_held
}
{ i18n.language === 'ru' &&
item.position_held
}
{ i18n.language === 'tm' &&
JSON.parse(item['translations'][1]['attribute_data']).position_held
}
</span>
</td>
<td>