Эх сурвалжийг харах

internalization the-other-half-done

Nikita Krupin 3 жил өмнө
parent
commit
751d6fb7de

+ 37 - 59
Website/_locales/en.ts

@@ -53,72 +53,50 @@ export default {
     },
     help: {
         name: 'Help',
+        title: 'Troubleshooting',
+        bullet1: 'Make sure you have latest version of extension installed, ',
+        bullet11: 'right now',
+        bullet2: 'Try removing extension and installing it again, then restarting the browser (all active windows, not just one tab)',
+        bullet3: 'Make sure that this link opens: ',
+        bullet31: 'you should see plain text: ',
+        bullet4: 'If nothing of above helps - report your problem in',
+        bullet41: 'in our',
+        bullet4a: 'Tell us your Operating System, Browser Name and Browser Version',
+        bullet4b: 'Take screenshot of page with problem (i.e. youtube video page) with console open (press ',
+        bullet4b1: ') - example screenshot below.',
+        bullet4c: 'Take screenshot of extensions page of your browser with extension installed.',
+        bullet4c1: 'To see extensions put this into address bar: ',
+        firefox: 'for Firefox',
+        chrome: 'for Chrome, Edge, Brave, Opera, Vivaldi',
     },
     faq: {
         name: 'FAQ',
+        title: 'Frequently Asked Questions',
+        subtitle: 'Still have questions? Feel free to join our Discord!',
+        bullet1: 'Where does the extension get its data?',
+        bullet1text: 'A combination of archived data from before the offical YouTube dislike API shut down, and extrapolated extension user behavior.',
+        bullet2: 'Why isn\'t the dislike count updating?',
+        bullet2text: 'Right now video dislikes are cached and they aren\'t updated very frequently. It varies depending on a video\'s popularity but can take anywhere between a few hours and a few days to update.',
+        bullet3: 'How does this work?',
+        bullet3text: 'The extension collects the video ID of the video you are watching, fetches the dislike (and other fields like views, likes etc) using our API. The extension then displays the dislike count and ratio on the page. If you like or dislike a video, that is recorded and sent to the database so an accurate dislike count can be extrapolated.',
+        bullet4: 'Can I share my dislike count with you?',
+        bullet4text: 'Coming soon. We are looking into using Oauth or a different read only API with a limited scope so creators can share their dislike counts verifiability.',
+        bullet5: 'What data do you collect and how is it treated?',
+        bullet5text: 'The extension only collects data that is strictly necessary for it to function properly, such as IP address or ID of the video you\'re watching. None of your data will ever be sold to 3rd parties. If you would like to know more about how we handle security and privacy check out our <a href="https://github.com/Anarios/return-youtube-dislike/blob/main/Docs/SECURITY-FAQ.md">security FAQ</a>.',
+        bullet6: 'How does the API/Backend work?',
+        bullet6text: 'The backend is using archived data from when the youtube api was still returning the dislike count, extension users like/discount count and extrapolation. In the near future we will be allowing content creators to submit their dislike count easily and safely and we will be adding ArchiveTeam\'s archived data (4.56 billion videos) into our current database. You can also view a video on the topic.',
+        bullet7: 'Why does the dislike count show \'DISLIKES DISABLED\'?',
+        bullet7text: 'At the time of writing we aren\'t showing dislikes for videos that disabled their likes and dislikes count. The extension displays \'DISLIKES DISABLED\' for these videos. We will be showing dislikes on all videos soon, this is just a temporary workaround so people don\'t think the extension is broken (which isn\'t working well). Sometimes a recently uploaded video might show \'DISLIKES DISABLED\' even if the creator hasn\'t disabled it, this is due to how we are detecting if dislikes are disabled, it should go away in a few hours or by liking or disliking the video and refreshing the page (hopefully).',
     },
     donate: {
         name: 'Donate',
+        subtitle: 'You can support our efforts to keep the internet free with a donation!',
     },
     links: {
         name: 'Links',
+        title: 'Project Links',
+        subtitle: 'Links to the project and its developers',
+        contact: 'Contact Me',
+        translators: 'Translators',
     },
-}
-// HELP
-
-// Troubleshooting > Solución de problemas
-// Make sure you have latest version of extension installed, """ right now > Asegúrate de que tienes la última versión de la extensión instalada, """ ahora mismo
-// Try removing extension and installing it again, then restarting the browser (all active windows, not just one tab) > Prueba a eliminar la extensión e instalarla de nuevo, después reinicia el navegador (todas las ventanas activas, no solo una pestaña)
-// Make sure that this link opens: > Asegúrate de qué este link se abre:
-// you should see plain text: > deberías ver este texto:
-// If nothing of above helps - report your problem in #bugs-and-problems in our Discord > Si nada de esto funciona, reporta tú problema en #bugs-and-problems en nuestro Discord (en inglés)
-// Tell us your Operating System, Browser Name and Browser Version > Dínos tu sistema operativo, nombre del navegador y versión del navegador
-// Take screenshot of page with problem (i.e. youtube video page) with console open (press F12) - example screenshot below. > Toma una captura de pantalla de la página con el problema (cómo una página de un vídeo de YouTube) con la consola abierta (pulsa F12) - captura de pantalla de ejemplo abajo.
-// Take screenshot of extensions page of your browser with extension installed. > Toma una captura de la página de extensiones de tu navegador con la extensión instalada.
-// To see extensions put this into address bar: > Para ver las extensiones pon esto en la barra de dirección:
-// about:addons for Firefox > about:addons para Firefox
-// chrome://extensions for Chrome, Edge, Brave, Opera, Vivaldi > chrome://extensions para Chrome, Edge, Brave, Opera, Vivaldi
-
-// FAQ
-
-// Frequently Asked Questions > Preguntas frecuentes
-// Still have questions? Feel free to join our Discord! > ¿Sígues teniendo problemas? ¡Sientete libre de unirte a nuestro Discord (en inglés)!
-
-// 1 - Where does the extension get its data? > ¿De dónde saca sus datos la extensión?
-// A combination of archived data from before the offical YouTube dislike API shut down, and extrapolated extension user behavior.
-// > Una combinación de datos archivados antes de que la API oficial de dislikes de YouTube se apagará, y datos estimados basados en los usuarios.
-
-// 2- Why isn't the dislike count updating? > ¿Por qué no se actualiza el contador de dislikes?
-// Right now video dislikes are cached and they aren't updated very frequently. It varies depending on a video's popularity but can take anywhere between a few hours and a few days to update.
-// > Ahora mismo los dislikes son guardados y no se actualizan muy frecuentemente. Varia dependiendo de la popularidad de un vídeo pero puede tardar entre unas pocas horas y unos pocos días en actualizarse.
-
-// 3 - How does this work? > ¿Cómo funciona esto?
-// The extension collects the video ID of the video you are watching, fetches the dislike (and other fields like views, likes etc) using our API. The extension then displays the dislike count and ratio on the page. If you like or dislike a video, that is recorded and sent to the database so an accurate dislike count can be extrapolated.
-// > La extensión recoge el ID del vídeo qué estas viendo, carga los dislikes (y otros campos cómo las visitas, likes, etc) usando nuestra API. Entonces, la extensión muestra los dislikes y el radio en la página. Si le das like o dislike a un vídeo, eso se guarda y se envía a la base de datos para qué un contador de dislikes más acertado pueda ser creado.
-
-// 4- Can I share my dislike count with you? > ¿Puedo compartir mi contador de dislikes con vosotros?
-// Coming soon. We are looking into using Oauth or a different read only API with a limited scope so creators can share their dislike counts verifiability.
-// > Próximamente. Estamos investigando en usar Oauth o una API diferente de solo lectura con alcance limitado para que los creadores puedan compartir sus contadores de dislikes verificablemente.
-
-// 5- What data do you collect and how is it treated? > ¿Qué datos guardais y cómo son guardados?
-// The extension only collects data that is strictly necessary for it to function properly, such as IP address or ID of the video you're watching. None of your data will ever be sold to 3rd parties. If you would like to know more about how we handle security and privacy check out our """.
-// > La extensión solo guarda datos que son estrictamente necesarios para que funcione correctamente, cómo la dirección IP o el ID del vídeo que estas viendo. Tus datos nunca serán vendidos a terceros. Si te gustaría saber más sobre cómo tratamos la seguridad y la privacidad mira nuestra """.
-
-// 6 - How does the API/Backend work? > ¿Cómo funciona la API/Backend?
-// The backend is using archived data from when the youtube api was still returning the dislike count, extension users like/discount count and extrapolation. In the near future we will be allowing content creators to submit their dislike count easily and safely and we will be adding ArchiveTeam's archived data (4.56 billion videos) into our current database. You can also view a video on the topic.
-// > El backend usa datos archivados de cuando la API de YouTube seguía proporcionando el contador de dislikes, los votos de usuarios de la extensión y extrapolación. En un futuro cercano permitíremos a los creadores de contenido proporcionar su contador de dislikes de forma fácil y segura y añadíremos datos archivados de ArchiveTeam (4,56 billones de vídeos) en nuestra base de datos. También puedes ver un vídeo al respecto.
-
-// 7- Why does the dislike count show 'DISLIKES DISABLED'? > ¿Porque el contador de dislikes dice "DISLIKES DISABLED"?
-// At the time of writing we aren't showing dislikes for videos that disabled their likes and dislikes count. The extension displays 'DISLIKES DISABLED' for these videos. We will be showing dislikes on all videos soon, this is just a temporary workaround so people don't think the extension is broken (which isn't working well). Sometimes a recently uploaded video might show 'DISLIKES DISABLED' even if the creator hasn't disabled it, this is due to how we are detecting if dislikes are disabled, it should go away in a few hours or by liking or disliking the video and refreshing the page (hopefully).
-// > En el momento de escribir este artículo, no mostramos los dislikes de los vídeos que tienen desactivado el recuento de likes y dislikes. La extensión muestra "DISLIKES DISABLED" para estos vídeos. Pronto mostraremos los dislikes en todos los vídeos, pero se trata de una solución temporal para que la gente no piense que la extensión está rota (que no funciona bien). A veces, un vídeo subido recientemente puede mostrar "DISLIKES DISABLED" incluso si el creador no lo ha desactivado, esto se debe a la forma en que detectamos si los "dislikes" están desactivados, debería desaparecer en unas horas o al darle like o dislike al vídeo y actualizar la página (con suerte).
-
-// DONATE
-
-// Donate > Donar
-// You can support our efforts to keep the internet free with a donation! > ¡Puedes apoyar nuestros esfuerzos de mantener el internet libre con una donación!
-
-// LINKS
-
-// Project Links > Links del proyecto
-// Links to the project and its developers > Links al proyecto y sus desarrolladores
-// Contact Me > Contactame
+}

+ 81 - 16
Website/_locales/es.ts

@@ -4,35 +4,100 @@ import { es } from 'vuetify/src/locale'
 export default {
     ...es,
     home: {
-        name: 'Inicio',
-        title: 'Regresar los Dislikes de YouTube',
-        subtitle: 'Una extensión de navegador y una API que te muestra los dislikes en YouTube',
-        install: 'Instalar',
-        ukraine: 'Apoya a Ucrania',
-        sponsors: 'Patrocinadores',
+        name: 'Home',
+        title: 'Return YouTube Dislike',
+        subtitle: 'Browser extension and an API that shows you dislikes on Youtube',
+        install: 'Install',
+        ukraine: 'Support Ukraine',
+        sponsors: 'Sponsors',
     },
     install: {
-        name: 'Instalar',
-        title: 'Elige tu plataforma',
-        subtitle: 'Disponible para Firefox y todos los navegadores Chromium',
-        title2: 'Otras plataformas',
-        subtitle2: 'Si tu navegador aún no es compatible, usa este UserScript',
-        title3: 'Implementaciones de terceros',
-        subtitle3: 'No nos hacemos responsables, úsalas bajo tu propio riesgo',
+        name: 'Install',
+        title: 'Select Your Platform',
+        subtitle: 'Available for Firefox and all Chromium browsers',
+        title2: 'Other Platforms',
+        subtitle2: 'If your browser is not yet supported, try this UserScript',
+        title3: 'Third Party Implementations',
+        subtitle3: 'No liability on our side, use at your own risk',
     },
     api: {
         name: 'API',
+        title: 'Welcome to the official RYD docs',
+        subtitle: 'To get started, select a section from the menu.',
+        rights: {
+            title: 'Usage Rights',
+            subtitle: 'Third party use of this open API is allowed with the following restrictions:',
+            bullet1: 'Attribution: ',
+            bullet1text: 'This project should be clearly attributed with either a link to this repo or a link to returnyoutubedislike.com',
+            bullet2: 'Rate Limiting',
+            bullet2text: 'There are per client rate limits in place of 100 per minute and 10,000 per day. This will return a 429 status code indicating that your application should back off',
+        },
+        url: {
+            title: 'URL Information',
+            subtitle: 'The API is accessible over the following base URL: ',
+        },
+        endpoints: {
+            title: 'Available Endpoints',
+            subtitle: 'List of available endpoints is available here: ',
+        },
+        fetching: {
+            title: 'Basic Fetching Tutorial',
+            subtitle: 'Example to get votes of a given YouTube video ID: ',
+            title2: 'Example Request: ',
+            url: 'Request URL: ',
+            method: 'Request Method: ',
+            headers: 'Headers: ',
+            response: 'Response: ',
+            error1: 'An invalid YouTube ID will return status code 404 "Not Found"',
+            error2: 'An incorrectly formatted YouTube ID will return 400 "Bad Request"'
+        },
     },
     help: {
-        name: 'Ayuda',
+        name: 'Help',
+        title: 'Troubleshooting',
+        bullet1: 'Make sure you have latest version of extension installed, ',
+        bullet11: 'right now',
+        bullet2: 'Try removing extension and installing it again, then restarting the browser (all active windows, not just one tab)',
+        bullet3: 'Make sure that this link opens: ',
+        bullet31: 'you should see plain text: ',
+        bullet4: 'If nothing of above helps - report your problem in',
+        bullet41: 'in our',
+        bullet4a: 'Tell us your Operating System, Browser Name and Browser Version',
+        bullet4b: 'Take screenshot of page with problem (i.e. youtube video page) with console open (press ',
+        bullet4b1: ') - example screenshot below.',
+        bullet4c: 'Take screenshot of extensions page of your browser with extension installed.',
+        bullet4c1: 'To see extensions put this into address bar: ',
+        firefox: 'for Firefox',
+        chrome: 'for Chrome, Edge, Brave, Opera, Vivaldi',
     },
     faq: {
         name: 'FAQ',
+        title: 'Frequently Asked Questions',
+        subtitle: 'Still have questions? Feel free to join our Discord!',
+        bullet1: 'Where does the extension get its data?',
+        bullet1text: 'A combination of archived data from before the offical YouTube dislike API shut down, and extrapolated extension user behavior.',
+        bullet2: 'Why isn\'t the dislike count updating?',
+        bullet2text: 'Right now video dislikes are cached and they aren\'t updated very frequently. It varies depending on a video\'s popularity but can take anywhere between a few hours and a few days to update.',
+        bullet3: 'How does this work?',
+        bullet3text: 'The extension collects the video ID of the video you are watching, fetches the dislike (and other fields like views, likes etc) using our API. The extension then displays the dislike count and ratio on the page. If you like or dislike a video, that is recorded and sent to the database so an accurate dislike count can be extrapolated.',
+        bullet4: 'Can I share my dislike count with you?',
+        bullet4text: 'Coming soon. We are looking into using Oauth or a different read only API with a limited scope so creators can share their dislike counts verifiability.',
+        bullet5: 'What data do you collect and how is it treated?',
+        bullet5text: 'The extension only collects data that is strictly necessary for it to function properly, such as IP address or ID of the video you\'re watching. None of your data will ever be sold to 3rd parties. If you would like to know more about how we handle security and privacy check out our <a href="https://github.com/Anarios/return-youtube-dislike/blob/main/Docs/SECURITY-FAQ.md">security FAQ</a>.',
+        bullet6: 'How does the API/Backend work?',
+        bullet6text: 'The backend is using archived data from when the youtube api was still returning the dislike count, extension users like/discount count and extrapolation. In the near future we will be allowing content creators to submit their dislike count easily and safely and we will be adding ArchiveTeam\'s archived data (4.56 billion videos) into our current database. You can also view a video on the topic.',
+        bullet7: 'Why does the dislike count show \'DISLIKES DISABLED\'?',
+        bullet7text: 'At the time of writing we aren\'t showing dislikes for videos that disabled their likes and dislikes count. The extension displays \'DISLIKES DISABLED\' for these videos. We will be showing dislikes on all videos soon, this is just a temporary workaround so people don\'t think the extension is broken (which isn\'t working well). Sometimes a recently uploaded video might show \'DISLIKES DISABLED\' even if the creator hasn\'t disabled it, this is due to how we are detecting if dislikes are disabled, it should go away in a few hours or by liking or disliking the video and refreshing the page (hopefully).',
     },
     donate: {
-        name: 'Donar',
+        name: 'Donate',
+        subtitle: 'You can support our efforts to keep the internet free with a donation!',
     },
     links: {
-        name: 'Enlaces',
+        name: 'Links',
+        title: 'Project Links',
+        subtitle: 'Links to the project and its developers',
+        contact: 'Contact Me',
+        translators: 'Translators',
     },
 }

+ 1 - 1
Website/pages/docs/fetching.vue

@@ -12,7 +12,7 @@
       </a>
     </div>
 
-    <h2 class="mt-4">{{ $vuetify.lang.t("$vuetify.api.fetching.title2") }}</h2>
+    <h3 class="mt-6">{{ $vuetify.lang.t("$vuetify.api.fetching.title2") }}</h3>
     <div class="ma-2">
       {{ $vuetify.lang.t("$vuetify.api.fetching.url") }}
       <a

+ 4 - 2
Website/pages/donate.vue

@@ -1,8 +1,10 @@
 <template>
   <div>
-    <h1 class="title-text">Donate</h1>
+    <h1 class="title-text">
+      {{ $vuetify.lang.t("$vuetify.donate.name") }}
+    </h1>
     <p style="color: #999; margin-top: 0.5rem; margin-bottom: 1.5rem">
-      You can support our efforts to keep the internet free with a donation!
+      {{ $vuetify.lang.t("$vuetify.donate.subtitle") }}
     </p>
     <v-btn class="mainAltButton mb-2" :href="patreonLink" target="_blank">
       <v-icon style="margin-right: 0.5em">mdi-patreon</v-icon>

+ 7 - 50
Website/pages/faq.vue

@@ -1,19 +1,21 @@
 <template>
   <div class="width-constraint">
-    <h1 class="title-text">Frequently Asked Questions</h1>
+    <h1 class="title-text">
+      {{ $vuetify.lang.t("$vuetify.faq.title") }}
+    </h1>
     <p style="color: #999; margin-top: 0.5rem; margin-bottom: 1.5rem">
-      Still have questions? Feel free to join our Discord!
+      {{ $vuetify.lang.t("$vuetify.faq.subtitle") }}
     </p>
 
     <v-expansion-panels>
-      <v-expansion-panel v-for="(item, i) in items" :key="i">
+      <v-expansion-panel v-for="i in [1, 2, 3, 4, 5, 6, 7]" :key="i">
         <v-expansion-panel-header>
-          {{ item.question }}
+          {{ $vuetify.lang.t(`$vuetify.faq.bullet${i}`) }}
         </v-expansion-panel-header>
         <v-expansion-panel-content class="text-left">
           <hr style="border-color: #444" />
           <br />
-          <span v-html="item.answer" />
+          <span v-html="$vuetify.lang.t(`$vuetify.faq.bullet${i}text`)" />
         </v-expansion-panel-content>
       </v-expansion-panel>
     </v-expansion-panels>
@@ -31,50 +33,5 @@ export default {
       ? "swoop-left"
       : "swoop-right";
   },
-  data: () => ({
-    items: [
-      {
-        question: "Where does the extension get its data?",
-        answer:
-          "A combination of archived data from before the official YouTube dislike API shut down, and extrapolated extension user behavior.",
-      },
-      {
-        question: "Why isn't the dislike count updating?",
-        answer:
-          "Right now video dislikes are cached and they aren't updated very frequently. It varies depending on a video's popularity but can take anywhere between a few hours and a few days to update.",
-      },
-      {
-        question: "Why is the dislike count on my videos inaccurate?",
-        answer:
-          "Extrapolated data tends to get better with the increase in diversity and the quantity of voters. \nTo ensure and increase the accuracy of the extrapolated vote data for your videos, you can encourage your viewers to use this extension (or any app that submits votes to returnyoutubedislikeapi.com) ",
-      },
-      {
-        question: "How does this work?",
-        answer:
-          "The extension collects the video ID of the video you are watching, fetches the dislike (and other fields like views, likes etc) using our API. The extension then displays the dislike count and ratio on the page. If you like or dislike a video, that is recorded and sent to the database so an accurate dislike count can be extrapolated.",
-      },
-      {
-        question: "Can I share my dislike count with you?",
-
-        answer:
-          "Coming soon. We are looking into using Oauth or a different read only API with a limited scope so creators can share their dislike counts verifiability. ",
-      },
-      {
-        question: "What data do you collect and how is it treated?",
-        answer:
-          "The extension only collects data that is strictly necessary for it to function properly, such as IP address or ID of the video you're watching. None of your data will ever be sold to 3rd parties. If you would like to know more about how we handle security and privacy check out our <a href='https://github.com/Anarios/return-youtube-dislike/blob/main/Docs/SECURITY-FAQ.md'>security FAQ</a>.",
-      },
-      {
-        question: "How does the API/Backend work?",
-        answer:
-          "The backend is using archived data from when the youtube api was still returning the dislike count, extension users like/discount count and extrapolation. In the near future we will be allowing content creators to submit their dislike count easily and safely and we will be adding ArchiveTeam's archived data (4.56 billion videos) into our current database. <a href='https://www.youtube.com/watch?v=GSmmtv-0yYQ'>You can also view a video on the topic.</a>",
-      },
-      {
-        question: "Why does the dislike count show 'DISLIKES DISABLED'?",
-        answer:
-          "At the time of writing we aren't showing dislikes for videos that disabled their likes and dislikes count. The extension displays 'DISLIKES DISABLED' for these videos. We will be showing dislikes on all videos soon, this is just a temporary workaround so people don't think the extension is broken (which isn't working well). Sometimes a recently uploaded video might show 'DISLIKES DISABLED' even if the creator hasn't disabled it, this is due to how we are detecting if dislikes are disabled, it should go away in a few hours or by liking or disliking the video and refreshing the page (hopefully).",
-      },
-    ],
-  }),
 };
 </script>

+ 26 - 21
Website/pages/help.vue

@@ -1,20 +1,21 @@
 <template>
   <div class="width-constraint">
-    <h1 class="title-text pt-12">Troubleshooting</h1>
+    <h1 class="title-text pt-12">
+      {{ $vuetify.lang.t("$vuetify.help.title") }}
+    </h1>
     <ol style="line-height: 3rem; color: #aaa" class="text-left">
       <li>
-        Make sure you have latest version of extension installed,
+        {{ $vuetify.lang.t("$vuetify.help.bullet1") }}
         <code style="color: #eee">
-          <b>{{ version }}</b></code
-        >
-        right now
+          <b>{{ version }}</b>
+        </code>
+        {{ $vuetify.lang.t("$vuetify.help.bullet11") }}
       </li>
       <li>
-        Try removing extension and installing it again, then restarting the
-        browser (all active windows, not just one tab).
+        {{ $vuetify.lang.t("$vuetify.help.bullet2") }}
       </li>
       <li>
-        Make sure that this link opens:
+        {{ $vuetify.lang.t("$vuetify.help.bullet3") }}
         <a
           class="px-2 py-1"
           style="background: #222; border-radius: 0.25rem"
@@ -23,7 +24,8 @@
           https://returnyoutubedislikeapi.com/votes?videoId=QOFEgexls14
         </a>
         , <br />
-        you should see plain text: <br />
+        {{ $vuetify.lang.t("$vuetify.help.bullet31") }}
+        <br />
         <span style="color: #eee">
           {"id":"QOFEgexls14", "dateCreated":"2021-12-15T16:54:12.250813Z",
           "likes":2907, "dislikes":215, "rating":4.725641025641026,
@@ -31,8 +33,9 @@
         </span>
       </li>
       <li>
-        If nothing of above helps - report your problem in
-        <code>#bugs-and-problems</code> in our
+        {{ $vuetify.lang.t("$vuetify.help.bullet4") }}
+        <code>#bugs-and-problems</code>
+        {{ $vuetify.lang.t("$vuetify.help.bullet41") }}
         <v-btn
           class="mainAltButton"
           style="
@@ -50,8 +53,7 @@
         </v-btn>
         <ol type="a">
           <li>
-            Tell us your <b>Operating System</b>, <b>Browser Name</b> and
-            <b>Browser Version</b>.
+            {{ $vuetify.lang.t("$vuetify.help.bullet4a") }}
             <v-btn
               class="mainAltButton"
               style="
@@ -74,8 +76,10 @@
           </li>
 
           <li style="position: relative; width: 100%">
-            Take screenshot of page with problem (i.e. youtube video page) with
-            console open (press <code>F12</code>) - example screenshot below.
+            {{ $vuetify.lang.t("$vuetify.help.bullet4b") }}
+            <code>F12</code>
+            {{ $vuetify.lang.t("$vuetify.help.bullet4b1") }}
+
             <img
               loading="eager"
               width="100%"
@@ -86,14 +90,15 @@
           </li>
 
           <li>
-            Take screenshot of extensions page of your browser with extension
-            installed. <br />
-            To see extensions put this into address bar:
+            {{ $vuetify.lang.t("$vuetify.help.bullet4c") }}
+            <br />
+            {{ $vuetify.lang.t("$vuetify.help.bullet4c1") }}
             <br />
-            <code>about:addons</code> for Firefox
+            <code>about:addons</code>
+            {{ $vuetify.lang.t("$vuetify.help.firefox") }}
             <br />
-            <code>chrome://extensions</code> for Chrome, Edge, Brave, Opera,
-            Vivaldi
+            <code>chrome://extensions</code>
+            {{ $vuetify.lang.t("$vuetify.help.chrome") }}
           </li>
         </ol>
       </li>

+ 11 - 8
Website/pages/links.vue

@@ -1,12 +1,12 @@
 <template>
   <div class="pt-12">
-    <h1 class="title-text">Project Links</h1>
+    <h1 class="title-text">
+      {{ $vuetify.lang.t("$vuetify.links.title") }}
+    </h1>
 
-    <div style="color: #999">
-      <p style="margin-top: 0.5rem; margin-bottom: 1rem">
-        Links to the project and its developers
-      </p>
-    </div>
+    <p style="color: #9999; margin-top: 0.5rem; margin-bottom: 1rem">
+      {{ $vuetify.lang.t("$vuetify.links.subtitle") }}
+    </p>
 
     <v-btn class="mainAltButton" :href="githubLink" target="_blank">
       <v-icon style="margin-right: 0.5em">mdi-github</v-icon>
@@ -18,7 +18,9 @@
       Discord
     </v-btn>
 
-    <h1 style="margin-top: 1em">Contact Me</h1>
+    <h1 style="margin-top: 1em">
+      {{ $vuetify.lang.t("$vuetify.links.contact") }}
+    </h1>
 
     <v-btn class="mainAltButton" :href="emailLink" target="_blank">
       <v-icon style="margin-right: 0.5em">mdi-email</v-icon>
@@ -38,7 +40,8 @@
     </p>
     <!-- Translators -->
     <div style="color: #555; width: 250px">
-      Translators: <br />
+      {{ $vuetify.lang.t("$vuetify.links.translators") }}
+      <br />
       <div
         v-for="translator in translators"
         :key="translator.tag"