Index: src/app/[locale]/layout.tsx
===================================================================
--- src/app/[locale]/layout.tsx	(revision 50f2fb4b186356bc63dde83200e8b04fe71d2c7a)
+++ src/app/[locale]/layout.tsx	(revision 50f2fb4b186356bc63dde83200e8b04fe71d2c7a)
@@ -0,0 +1,5 @@
+import React from 'react';
+
+export default function LocaleLayout({ children }: { children: React.ReactNode }) {
+	return <>{children}</>;
+}
Index: src/app/layout.tsx
===================================================================
--- src/app/layout.tsx	(revision 298f9b3987050da08cb65ce62c3d1f8295faeff4)
+++ src/app/layout.tsx	(revision 50f2fb4b186356bc63dde83200e8b04fe71d2c7a)
@@ -1,9 +1,10 @@
-import type { Metadata } from "next";
+"use client";
 import { Geist, Geist_Mono } from "next/font/google";
 import "./globals.css";
 import '@fortawesome/fontawesome-svg-core/styles.css';
 import { config } from '@fortawesome/fontawesome-svg-core';
+import { I18nextProvider } from 'react-i18next';
+import i18n from '../i18n';
 
-// Prevent FontAwesome from adding CSS automatically
 config.autoAddCss = false;
 
@@ -18,9 +19,4 @@
 });
 
-export const metadata: Metadata = {
-  title: "IKnow - Student Portal",
-  description: "Student portal for Ss. Cyril and Methodius University",
-};
-
 export default function RootLayout({
   children,
@@ -30,8 +26,8 @@
   return (
     <html lang="en">
-      <body
-        className={`${geistSans.variable} ${geistMono.variable} antialiased`}
-      >
-        <div className="mx-auto max-w-6xl px-4">{children}</div>
+      <body className={`${geistSans.variable} ${geistMono.variable} antialiased`}>
+        <I18nextProvider i18n={i18n}>
+          <div className="mx-auto max-w-6xl px-4">{children}</div>
+        </I18nextProvider>
       </body>
     </html>
Index: src/app/page.tsx
===================================================================
--- src/app/page.tsx	(revision 298f9b3987050da08cb65ce62c3d1f8295faeff4)
+++ src/app/page.tsx	(revision 50f2fb4b186356bc63dde83200e8b04fe71d2c7a)
@@ -12,6 +12,9 @@
 import { useState } from 'react';
 import { login } from '@/lib/auth';
+import { useTranslation } from 'react-i18next';
+import LanguageSwitcher from '@/components/LanguageSwitcher';
 
 export default function LoginPage() {
+  const { t } = useTranslation();
   const [showPassword, setShowPassword] = useState(false);
   const [isSubmitting, setIsSubmitting] = useState(false);
@@ -54,19 +57,17 @@
               <div className="w-full flex flex-col gap-4">
                 <div className="bg-yellow-100 border border-yellow-200 rounded-xl shadow-sm p-5">
-                  <div className="text-sm font-bold text-gray-900 mb-2">Login for Student</div>
+                  <div className="text-sm font-bold text-gray-900 mb-2">{t('login_student_title')}</div>
                   <div className="text-xs text-gray-800 whitespace-pre-wrap font-mono">
-                    {`"email":"boris@example.com",
-"password":"your-password-here",`}
+                    {t('login_student_example')}
                   </div>
                   <div className="mt-3 text-xs text-gray-700">
-                    may take up to 30 seconds afte long inactivity
+                    {t('login_note_slow')}
                   </div>
                 </div>
 
                 <div className="bg-yellow-100 border border-yellow-200 rounded-xl shadow-sm p-5">
-                  <div className="text-sm font-bold text-gray-900 mb-2">Login for Professor</div>
+                  <div className="text-sm font-bold text-gray-900 mb-2">{t('login_professor_title')}</div>
                   <div className="text-xs text-gray-800 whitespace-pre-wrap font-mono">
-                    {`"email":"andonov@gmail.com",
-"password":"123lol456",`}
+                    {t('login_professor_example')}
                   </div>
                 </div>
@@ -84,7 +85,7 @@
                 </div>
               </div>
-              <h1 className="text-2xl font-bold mb-2">Добредојде</h1>
+              <h1 className="text-2xl font-bold mb-2">{t('login_welcome')}</h1>
               <p className="text-blue-100 text-sm">
-                Најавете се во вашиот IKnow акаунт
+                {t('login_subtitle')}
               </p>
             </div>
@@ -92,9 +93,13 @@
             {/* Form */}
             <div className="p-8">
+              {/* Language Switcher above email field, centered */}
+              <div className="flex justify-center mb-6">
+                <LanguageSwitcher />
+              </div>
               <form onSubmit={handleSubmit} className="space-y-6">
                 {/* Email Field */}
                 <div>
                   <label htmlFor="email" className="block text-sm font-medium text-gray-700 mb-2">
-                    Внесете е-пошта
+                    {t('login_email_label')}
                   </label>
                   <div className="relative">
@@ -110,5 +115,5 @@
                       onChange={handleInputChange}
                       className="w-full pl-10 pr-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary focus:border-primary transition-colors"
-                      placeholder="Внесете е-пошта"
+                      placeholder={t('login_email_placeholder')}
                     />
                   </div>
@@ -118,5 +123,5 @@
                 <div>
                   <label htmlFor="password" className="block text-sm font-medium text-gray-700 mb-2">
-                    Лозинка
+                    {t('login_password_label')}
                   </label>
                   <div className="relative">
@@ -132,5 +137,5 @@
                       onChange={handleInputChange}
                       className="w-full pl-10 pr-12 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary focus:border-primary transition-colors"
-                      placeholder="Внесете лозинка"
+                      placeholder={t('login_password_placeholder')}
                     />
                     <button
@@ -157,5 +162,5 @@
                     />
                     <label htmlFor="remember" className="ml-2 block text-sm text-gray-700">
-                      Запомни ме
+                      {t('login_remember_me')}
                     </label>
                   </div>
@@ -164,5 +169,5 @@
                     className="text-sm text-primary hover:text-blue-700 font-medium transition-colors"
                   >
-                    Заборавена лозинка?
+                    {t('login_forgot_password')}
                   </button>
                 </div>
@@ -170,5 +175,5 @@
                 {errorMessage && (
                   <div className="rounded-lg border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-700">
-                    {errorMessage}
+                    {t(errorMessage) || errorMessage}
                   </div>
                 )}
@@ -181,5 +186,5 @@
                 >
                   <FontAwesomeIcon icon={faSignInAlt} className="h-4 w-4" />
-                  {isSubmitting ? 'Најави се...' : 'Најави се'}
+                  {isSubmitting ? t('login_button_loading') : t('login_button')}
                 </button>
               </form>
@@ -189,7 +194,7 @@
             <div className="bg-gray-50 px-8 py-4 border-t border-gray-100">
               <p className="text-center text-sm text-gray-600">
-                Немате акаунт?{' '}
+                {t('login_no_account')}{' '}
                 <button className="text-primary hover:text-blue-700 font-medium transition-colors">
-                  Контактирајте ја администрацијата
+                  {t('login_contact_admin')}
                 </button>
               </p>
@@ -202,5 +207,5 @@
                     <FontAwesomeIcon icon={faGraduationCap} className="text-primary" />
                     <span className="text-sm text-gray-600">
-                      Студентски информационен систем
+                      {t('login_footer')}
                     </span>
                   </div>
Index: src/app/professor/profile/page.tsx
===================================================================
--- src/app/professor/profile/page.tsx	(revision 298f9b3987050da08cb65ce62c3d1f8295faeff4)
+++ src/app/professor/profile/page.tsx	(revision 50f2fb4b186356bc63dde83200e8b04fe71d2c7a)
@@ -18,4 +18,5 @@
 import { getAccessToken } from "@/lib/auth";
 import { IconDefinition } from "@fortawesome/fontawesome-svg-core";
+import { useTranslation } from 'react-i18next';
 
 type PersonalInfo = {
@@ -94,15 +95,18 @@
 }
 
-const InfoRow = ({ label, value, icon }: InfoRowProps) => (
-  <div className="flex justify-between items-center py-3 border-b border-gray-100 last:border-b-0">
-    <div className="flex items-center gap-2 text-gray-600 font-medium">
-      {icon && <FontAwesomeIcon icon={icon} className="w-4 h-4" />}
-      <span>{label}:</span>
+const InfoRow = ({ label, value, icon }: InfoRowProps) => {
+  const { t } = useTranslation();
+  return (
+    <div className="flex justify-between items-center py-3 border-b border-gray-100 last:border-b-0">
+      <div className="flex items-center gap-2 text-gray-600 font-medium">
+        {icon && <FontAwesomeIcon icon={icon} className="w-4 h-4" />}
+        <span>{t(label)}:</span>
+      </div>
+      <div className="text-gray-900 font-semibold text-right max-w-xs break-words">
+        {value || t('n_a')}
+      </div>
     </div>
-    <div className="text-gray-900 font-semibold text-right max-w-xs break-words">
-      {value || "N/A"}
-    </div>
-  </div>
-);
+  );
+};
 
 interface SectionProps {
@@ -112,15 +116,18 @@
 }
 
-const Section = ({ title, icon, children }: SectionProps) => (
-  <div className="bg-white rounded-xl shadow-sm border border-gray-100 overflow-hidden">
-    <div className="bg-primary text-white px-6 py-4">
-      <div className="flex items-center gap-3">
-        <FontAwesomeIcon icon={icon} className="text-xl" />
-        <h2 className="text-xl font-bold">{title}</h2>
-      </div>
+const Section = ({ title, icon, children }: SectionProps) => {
+  const { t } = useTranslation();
+  return (
+    <div className="bg-white rounded-xl shadow-sm border border-gray-100 overflow-hidden">
+      <div className="bg-primary text-white px-6 py-4">
+        <div className="flex items-center gap-3">
+          <FontAwesomeIcon icon={icon} className="text-xl" />
+          <h2 className="text-xl font-bold">{t(title)}</h2>
+        </div>
+      </div>
+      <div className="p-6">{children}</div>
     </div>
-    <div className="p-6">{children}</div>
-  </div>
-);
+  );
+};
 
 export default function ProfessorProfilePage() {
@@ -128,4 +135,5 @@
   const [isLoading, setIsLoading] = useState(true);
   const [errorMessage, setErrorMessage] = useState<string | null>(null);
+  const { t } = useTranslation();
 
   useEffect(() => {
@@ -177,5 +185,5 @@
     return (
       <div className="min-h-screen pb-8">
-        <div className="bg-white rounded-xl shadow-sm border border-gray-100 p-6">Loading...</div>
+        <div className="bg-white rounded-xl shadow-sm border border-gray-100 p-6">{t('loading')}</div>
       </div>
     );
@@ -186,5 +194,5 @@
       <div className="min-h-screen pb-8">
         <div className="rounded-lg border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-700">
-          {errorMessage ?? "Failed to load profile."}
+          {errorMessage ?? t('failed_to_load_profile')}
         </div>
       </div>
@@ -210,5 +218,5 @@
             </h1>
             <div className="text-lg opacity-90">
-              Индекс: {personalInfo.index} | ЕМБГ: {personalInfo.embg}
+              {t('index')}: {personalInfo.index} | {t('embg')}: {personalInfo.embg}
             </div>
           </div>
@@ -219,24 +227,24 @@
       <div className="grid grid-cols-1 lg:grid-cols-2 gap-6">
         {/* Personal Information */}
-        <Section title="Лични податоци" icon={faIdCard}>
-          <InfoRow label="Име" value={personalInfo.firstName} />
-          <InfoRow label="Средно име" value={personalInfo.middleName} />
-          <InfoRow label="Презиме" value={personalInfo.lastName} />
-          <InfoRow label="Моминско презиме" value={personalInfo.maidenName} />
-          <InfoRow label="Датум на раѓање" value={personalInfo.dateOfBirth} icon={faCalendarAlt} />
+        <Section title="personal_info" icon={faIdCard}>
+          <InfoRow label="first_name" value={personalInfo.firstName} />
+          <InfoRow label="middle_name" value={personalInfo.middleName} />
+          <InfoRow label="last_name" value={personalInfo.lastName} />
+          <InfoRow label="maiden_name" value={personalInfo.maidenName} />
+          <InfoRow label="date_of_birth" value={personalInfo.dateOfBirth} icon={faCalendarAlt} />
           <InfoRow
-            label="Пол"
+            label="gender"
             value={personalInfo.gender}
-            icon={personalInfo.gender === "машки" ? faMars : faVenus}
+            icon={personalInfo.gender === t('male') ? faMars : faVenus}
           />
-          <InfoRow label="Националност" value={personalInfo.nationality} icon={faFlag} />
-          <InfoRow label="Државјанство" value={personalInfo.citizenship} />
-          <InfoRow label="Стипендија" value={personalInfo.scholarship} />
-          <InfoRow label="Тековен план" value={personalInfo.currentPlan} />
-          <InfoRow label="Бр. во матична книга" value={personalInfo.registryNumber} />
-          <InfoRow label="Група на студирање" value={personalInfo.studyGroup} />
+          <InfoRow label="nationality" value={personalInfo.nationality} icon={faFlag} />
+          <InfoRow label="citizenship" value={personalInfo.citizenship} />
+          <InfoRow label="scholarship" value={personalInfo.scholarship} />
+          <InfoRow label="current_plan" value={personalInfo.currentPlan} />
+          <InfoRow label="registry_number" value={personalInfo.registryNumber} />
+          <InfoRow label="study_group" value={personalInfo.studyGroup} />
           {personalInfo.notes && (
             <div className="mt-4 p-4 bg-blue-50 rounded-lg">
-              <div className="text-sm font-medium text-blue-800 mb-1">Забелешка:</div>
+              <div className="text-sm font-medium text-blue-800 mb-1">{t('note')}:</div>
               <div className="text-sm text-blue-700">{personalInfo.notes}</div>
             </div>
@@ -245,28 +253,28 @@
 
         {/* Birth Information */}
-        <Section title="Податоци за раѓање" icon={faMapMarkerAlt}>
-          <InfoRow label="Место на раѓање" value={birthInfo.placeOfBirth} />
-          <InfoRow label="Општина на раѓање" value={birthInfo.municipalityOfBirth} />
-          <InfoRow label="Земја" value={birthInfo.country} />
+        <Section title="birth_info" icon={faMapMarkerAlt}>
+          <InfoRow label="place_of_birth" value={birthInfo.placeOfBirth} />
+          <InfoRow label="municipality_of_birth" value={birthInfo.municipalityOfBirth} />
+          <InfoRow label="country" value={birthInfo.country} />
         </Section>
 
         {/* Contact Information */}
         <div className="lg:col-span-2">
-          <Section title="Контакт" icon={faAddressCard}>
+          <Section title="contact" icon={faAddressCard}>
             <div className="grid grid-cols-1 md:grid-cols-2 gap-6">
               <div>
-                <InfoRow label="Место на живеење" value={contact.placeOfResidence} icon={faMapMarkerAlt} />
-                <InfoRow label="Општина на живеење" value={contact.municipalityOfResidence} />
-                <InfoRow label="Држава" value={contact.country} />
-                <InfoRow label="Адреса" value={contact.address} />
-                <InfoRow label="Адреса на престој" value={contact.temporaryAddress} />
+                <InfoRow label="place_of_residence" value={contact.placeOfResidence} icon={faMapMarkerAlt} />
+                <InfoRow label="municipality_of_residence" value={contact.municipalityOfResidence} />
+                <InfoRow label="country" value={contact.country} />
+                <InfoRow label="address" value={contact.address} />
+                <InfoRow label="temporary_address" value={contact.temporaryAddress} />
               </div>
               <div>
-                <InfoRow label="Телефон" value={contact.phone} icon={faPhone} />
-                <InfoRow label="Моб. телефон" value={contact.mobilePhone} icon={faPhone} />
-                <InfoRow label="Број на пасош" value={contact.passportNumber} icon={faPassport} />
-                <InfoRow label="Датум на истекување на пасошот" value={contact.passportExpiryDate} />
-                <InfoRow label="Е-пошта" value={contact.email} icon={faEnvelope} />
-                <InfoRow label="Microsoft email" value={contact.microsoftEmail} icon={faEnvelope} />
+                <InfoRow label="phone" value={contact.phone} icon={faPhone} />
+                <InfoRow label="mobile_phone" value={contact.mobilePhone} icon={faPhone} />
+                <InfoRow label="passport_number" value={contact.passportNumber} icon={faPassport} />
+                <InfoRow label="passport_expiry_date" value={contact.passportExpiryDate} />
+                <InfoRow label="email" value={contact.email} icon={faEnvelope} />
+                <InfoRow label="microsoft_email" value={contact.microsoftEmail} icon={faEnvelope} />
               </div>
             </div>
Index: src/app/professor/students/page.tsx
===================================================================
--- src/app/professor/students/page.tsx	(revision 298f9b3987050da08cb65ce62c3d1f8295faeff4)
+++ src/app/professor/students/page.tsx	(revision 50f2fb4b186356bc63dde83200e8b04fe71d2c7a)
@@ -2,4 +2,5 @@
 
 import { useEffect, useMemo, useState } from "react";
+import { useTranslation } from 'react-i18next';
 
 type UsersBySubject = {
@@ -36,4 +37,5 @@
 
 export default function ProfessorStudentsPage() {
+  const { t } = useTranslation();
   const [subjects, setSubjects] = useState<SubjectsAndUsers[]>([]);
   const [loading, setLoading] = useState(true);
@@ -129,8 +131,9 @@
     <div className="bg-white rounded-xl shadow-sm border border-gray-200 p-6">
       <div className="flex flex-col gap-4 md:flex-row md:items-end md:justify-between">
+
         <div>
-          <h1 className="text-2xl font-semibold text-gray-900">Professor • Students</h1>
+          <h1 className="text-2xl font-semibold text-gray-900">{t('prof_students_title')}</h1>
           <p className="text-gray-700 mt-1">
-            Data comes from <span className="font-mono">/api/prof/students</span> (demo store).
+            {t('prof_students_data_note')} <span className="font-mono">/api/prof/students</span> (demo store).
           </p>
         </div>
@@ -138,5 +141,5 @@
         <div className="flex flex-col sm:flex-row gap-3">
           <div className="flex flex-col">
-            <label className="text-sm text-gray-700">Filter by subject</label>
+            <label className="text-sm text-gray-700">{t('filter_by_subject')}</label>
             <select
               className="border border-gray-300 rounded-lg px-3 py-2"
@@ -144,10 +147,10 @@
               onChange={(e) => setSubjectFilter(e.target.value)}
             >
-              <option value="all">All subjects</option>
+              <option value="all">{t('all_subjects')}</option>
               {subjects
                 .filter((s) => typeof s.Id === "number")
                 .map((s) => (
                   <option key={String(s.Id)} value={String(s.Id)}>
-                    {s.Name ?? `Subject ${s.Id}`}
+                    {s.Name ?? `${t('subject')} ${s.Id}`}
                   </option>
                 ))}
@@ -156,8 +159,8 @@
 
           <div className="flex flex-col">
-            <label className="text-sm text-gray-700">Find student by index / ID</label>
+            <label className="text-sm text-gray-700">{t('find_student_by_id')}</label>
             <input
               className="border border-gray-300 rounded-lg px-3 py-2"
-              placeholder="e.g. 20001"
+              placeholder={t('student_id_placeholder')}
               value={studentIdQuery}
               onChange={(e) => setStudentIdQuery(e.target.value)}
@@ -177,9 +180,9 @@
           <thead className="bg-gray-50">
             <tr>
-              <th className="text-left text-sm font-semibold text-gray-700 px-4 py-3 border-b">Student</th>
-              <th className="text-left text-sm font-semibold text-gray-700 px-4 py-3 border-b">ID</th>
-              <th className="text-left text-sm font-semibold text-gray-700 px-4 py-3 border-b">Subject</th>
-              <th className="text-left text-sm font-semibold text-gray-700 px-4 py-3 border-b">Grade</th>
-              <th className="text-left text-sm font-semibold text-gray-700 px-4 py-3 border-b">Actions</th>
+              <th className="text-left text-sm font-semibold text-gray-700 px-4 py-3 border-b">{t('student')}</th>
+              <th className="text-left text-sm font-semibold text-gray-700 px-4 py-3 border-b">{t('id')}</th>
+              <th className="text-left text-sm font-semibold text-gray-700 px-4 py-3 border-b">{t('subject')}</th>
+              <th className="text-left text-sm font-semibold text-gray-700 px-4 py-3 border-b">{t('grade')}</th>
+              <th className="text-left text-sm font-semibold text-gray-700 px-4 py-3 border-b">{t('actions')}</th>
             </tr>
           </thead>
@@ -188,5 +191,5 @@
               <tr>
                 <td className="px-4 py-4 text-gray-700" colSpan={5}>
-                  Loading...
+                  {t('loading')}
                 </td>
               </tr>
@@ -194,5 +197,5 @@
               <tr>
                 <td className="px-4 py-4 text-gray-700" colSpan={5}>
-                  No students found.
+                  {t('no_students_found')}
                 </td>
               </tr>
@@ -227,5 +230,5 @@
                         </select>
                         <span className="text-sm text-gray-600">
-                          Current: {r.grade > 0 ? r.grade : "—"}
+                          {t('current')}: {r.grade > 0 ? r.grade : t('none')}
                         </span>
                       </div>
@@ -245,5 +248,5 @@
                           }}
                         >
-                          Add grade
+                          {t('add_grade')}
                         </button>
 
@@ -260,5 +263,5 @@
                           }}
                         >
-                          Edit grade
+                          {t('edit_grade')}
                         </button>
 
@@ -275,5 +278,5 @@
                           }}
                         >
-                          Remove grade
+                          {t('remove_grade')}
                         </button>
                       </div>
Index: src/app/students/applications/page.tsx
===================================================================
--- src/app/students/applications/page.tsx	(revision 298f9b3987050da08cb65ce62c3d1f8295faeff4)
+++ src/app/students/applications/page.tsx	(revision 50f2fb4b186356bc63dde83200e8b04fe71d2c7a)
@@ -14,4 +14,5 @@
 } from '@fortawesome/free-solid-svg-icons';
 import { useState } from 'react';
+import { useTranslation } from 'react-i18next';
 import applicationsData from '@/data/applications.json';
 
@@ -28,7 +29,8 @@
 
 const CompletedBadge = ({ completed }: { completed: string }) => {
-  if (completed === "Да") {
-    return (
-      <span className="inline-flex items-center justify-center w-6 h-6 bg-green-100 text-green-600 rounded-full">
+  const { t } = useTranslation();
+  if (completed === t('yes', 'Да')) {
+    return (
+      <span className="inline-flex items-center justify-center w-6 h-6 bg-green-100 text-green-600 rounded-full" title={t('completed')}> 
         <FontAwesomeIcon icon={faCheckCircle} className="w-4 h-4" />
       </span>
@@ -36,5 +38,5 @@
   } else {
     return (
-      <span className="inline-flex items-center justify-center w-6 h-6 bg-red-100 text-red-600 rounded-full">
+      <span className="inline-flex items-center justify-center w-6 h-6 bg-red-100 text-red-600 rounded-full" title={t('not_completed')}>
         <FontAwesomeIcon icon={faTimesCircle} className="w-4 h-4" />
       </span>
@@ -64,7 +66,8 @@
 
 export default function ApplicationsPage() {
+  const { t } = useTranslation();
   const [selectedSession, setSelectedSession] = useState(applicationsData.currentSession.id);
   const [isDropdownOpen, setIsDropdownOpen] = useState(false);
-  
+
   const currentSessionData = applicationsData.examSessions.find(s => s.id === selectedSession) || applicationsData.currentSession;
   const { applications } = applicationsData;
@@ -79,7 +82,7 @@
           </div>
           <div>
-            <h1 className="text-3xl font-bold mb-2">Пријави</h1>
+            <h1 className="text-3xl font-bold mb-2">{t('applications_header', 'Пријави')}</h1>
             <p className="text-lg opacity-90">
-              Електронски пријави за испити
+              {t('applications_subheader', 'Електронски пријави за испити')}
             </p>
           </div>
@@ -92,7 +95,7 @@
           <h2 className="text-lg font-semibold text-gray-900 flex items-center gap-2">
             <FontAwesomeIcon icon={faCalendarAlt} className="text-primary" />
-            Избери испитна сесија:
+            {t('select_exam_session', 'Избери испитна сесија:')}
           </h2>
-          
+
           <div className="relative">
             <button
@@ -102,13 +105,13 @@
               <div className="flex items-center justify-between">
                 <span className="text-sm font-medium text-primary">
-                  {currentSessionData.name}
+                  {t(currentSessionData.id, currentSessionData.name)}
                 </span>
-                <FontAwesomeIcon 
-                  icon={faChevronDown} 
+                <FontAwesomeIcon
+                  icon={faChevronDown}
                   className={`w-4 h-4 text-gray-400 transition-transform ml-4 ${isDropdownOpen ? 'rotate-180' : ''}`}
                 />
               </div>
             </button>
-            
+
             {isDropdownOpen && (
               <div className="absolute z-10 right-0 mt-1 w-80 bg-white border border-gray-200 rounded-lg shadow-lg">
@@ -122,6 +125,6 @@
                     className="w-full px-4 py-3 text-left text-sm hover:bg-gray-50 focus:outline-none focus:bg-gray-50 first:rounded-t-lg last:rounded-b-lg"
                   >
-                    <div className="font-medium text-gray-900">{session.name}</div>
-                    <div className="text-xs text-gray-500">{session.year} - {session.semester} - {session.session}</div>
+                    <div className="font-medium text-gray-900">{t(session.id, session.name)}</div>
+                    <div className="text-xs text-gray-500">{session.year} - {t(session.semester, session.semester)} - {t(session.session, session.session)}</div>
                   </button>
                 ))}
@@ -135,7 +138,7 @@
       <div className="bg-white rounded-xl shadow-sm border border-gray-100 overflow-hidden">
         <div className="bg-primary text-white px-6 py-4">
-          <h2 className="text-xl font-bold">Пријавени испити</h2>
-        </div>
-        
+          <h2 className="text-xl font-bold">{t('registered_exams', 'Пријавени испити')}</h2>
+        </div>
+
         <div className="overflow-x-auto">
           <table className="w-full">
@@ -143,12 +146,12 @@
               <tr>
                 <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">#</th>
-                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Сериски број</th>
-                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Код</th>
-                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Предмет</th>
-                <th className="px-4 py-4 text-center text-xs font-medium text-gray-500 uppercase tracking-wider">Завршена</th>
-                <th className="px-4 py-4 text-center text-xs font-medium text-gray-500 uppercase tracking-wider">Таксени</th>
-                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Датум</th>
-                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Наставник</th>
-                <th className="px-4 py-4 text-center text-xs font-medium text-gray-500 uppercase tracking-wider">Декада</th>
+                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{t('serial_number', 'Сериски број')}</th>
+                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{t('code', 'Код')}</th>
+                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{t('subject', 'Предмет')}</th>
+                <th className="px-4 py-4 text-center text-xs font-medium text-gray-500 uppercase tracking-wider">{t('completed', 'Завршена')}</th>
+                <th className="px-4 py-4 text-center text-xs font-medium text-gray-500 uppercase tracking-wider">{t('fee', 'Таксени')}</th>
+                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{t('date', 'Датум')}</th>
+                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{t('instructor', 'Наставник')}</th>
+                <th className="px-4 py-4 text-center text-xs font-medium text-gray-500 uppercase tracking-wider">{t('decade', 'Декада')}</th>
               </tr>
             </thead>
@@ -166,5 +169,5 @@
                     <div className="flex items-center gap-2">
                       <FontAwesomeIcon icon={faFileText} className="w-4 h-4 text-primary" />
-                      {application.subject}
+                      {t(application.subject, application.subject)}
                     </div>
                   </TableCell>
@@ -179,5 +182,5 @@
                     <div className="flex items-center gap-2">
                       <FontAwesomeIcon icon={faUser} className="w-4 h-4 text-gray-400" />
-                      <span className="font-medium text-gray-900">{application.instructor}</span>
+                      <span className="font-medium text-gray-900">{t(application.instructor, application.instructor)}</span>
                     </div>
                   </TableCell>
@@ -194,7 +197,7 @@
             <FontAwesomeIcon icon={faInfoCircle} className="w-5 h-5 text-blue-600 mt-0.5 flex-shrink-0" />
             <div>
-              <h3 className="font-medium text-blue-900 mb-1">Важна забелешка</h3>
+              <h3 className="font-medium text-blue-900 mb-1">{t('important_note', 'Важна забелешка')}</h3>
               <p className="text-sm text-blue-800 leading-relaxed">
-                {applicationsData.note}
+                {t('applications_important_note_text')}
               </p>
             </div>
@@ -211,5 +214,5 @@
             </div>
             <div>
-              <h3 className="text-lg font-bold text-gray-900">Пријавени испити</h3>
+              <h3 className="text-lg font-bold text-gray-900">{t('registered_exams', 'Пријавени испити')}</h3>
               <p className="text-2xl font-bold text-blue-600">
                 {applications.length}
@@ -225,7 +228,7 @@
             </div>
             <div>
-              <h3 className="text-lg font-bold text-gray-900">Завршени</h3>
+              <h3 className="text-lg font-bold text-gray-900">{t('completed', 'Завршени')}</h3>
               <p className="text-2xl font-bold text-green-600">
-                {applications.filter(app => app.completed === "Да").length}
+                {applications.filter(app => app.completed === t('yes', 'Да')).length}
               </p>
             </div>
@@ -239,5 +242,5 @@
             </div>
             <div>
-              <h3 className="text-lg font-bold text-gray-900">Вкупна такса</h3>
+              <h3 className="text-lg font-bold text-gray-900">{t('total_fee', 'Вкупна такса')}</h3>
               <p className="text-2xl font-bold text-yellow-600">
                 {applications.reduce((sum, app) => sum + parseFloat(app.fee.replace(',', '.')), 0).toFixed(2)}
Index: src/app/students/documents/page.tsx
===================================================================
--- src/app/students/documents/page.tsx	(revision 298f9b3987050da08cb65ce62c3d1f8295faeff4)
+++ src/app/students/documents/page.tsx	(revision 50f2fb4b186356bc63dde83200e8b04fe71d2c7a)
@@ -15,4 +15,5 @@
 import { useState } from 'react';
 import documentsData from '@/data/documents.json';
+import { useTranslation } from 'react-i18next';
 
 interface TableCellProps {
@@ -28,5 +29,6 @@
 
 const StatusBadge = ({ status }: { status: string }) => {
-  if (status === "approved") {
+  const { t } = useTranslation();
+  if (status === t('approved', 'Одобрено')) {
     return (
       <span className="inline-flex items-center justify-center w-8 h-8 bg-green-100 text-green-600 rounded-full">
@@ -43,6 +45,7 @@
 
 const PriceBadge = ({ price }: { price: number }) => {
+  const { t } = useTranslation();
   if (price === 0) {
-    return <span className="font-medium text-green-600">0,00</span>;
+    return <span className="font-medium text-green-600">{t('free', '0,00')}</span>;
   }
   return <span className="font-medium text-blue-600">{price.toFixed(2)}</span>;
@@ -55,4 +58,5 @@
   const [currentPage, setCurrentPage] = useState(1);
   const [recordsPerPage, setRecordsPerPage] = useState(15);
+  const { t } = useTranslation();
 
   const selectedDocument = documentsData.documentTypes.find(d => d.id === selectedDocumentType);
@@ -73,7 +77,7 @@
           </div>
           <div>
-            <h1 className="text-3xl font-bold mb-2">Документи</h1>
+            <h1 className="text-3xl font-bold mb-2">{t('documents')}</h1>
             <p className="text-lg opacity-90">
-              Барање и преглед на документи
+              {t('documents_overview', 'Преглед на вашите документи и нивниот статус.')}
             </p>
           </div>
@@ -85,5 +89,5 @@
         <h2 className="text-lg font-semibold text-gray-900 mb-6 flex items-center gap-2">
           <FontAwesomeIcon icon={faFileText} className="text-primary" />
-          Ново барање за документ
+          {t('new_document_request', 'Ново барање за документ')}
         </h2>
         
@@ -92,5 +96,5 @@
           <div>
             <label className="block text-sm font-medium text-gray-700 mb-2">
-              Изберете документ:
+              {t('select_document', 'Избери документ')}:
             </label>
             <div className="relative">
@@ -101,5 +105,5 @@
                 <div className="flex items-center justify-between">
                   <span className="text-sm text-gray-900 truncate">
-                    {selectedDocument?.name || "Изберете документ"}
+                    {selectedDocument ? t(selectedDocument.id) : t('select_document', 'Избери документ')}
                   </span>
                   <FontAwesomeIcon 
@@ -121,7 +125,7 @@
                       className="w-full px-4 py-3 text-left text-sm hover:bg-gray-50 focus:outline-none focus:bg-gray-50 border-b border-gray-100 last:border-b-0"
                     >
-                      <div className="font-medium text-gray-900">{docType.name}</div>
+                      <div className="font-medium text-gray-900">{t(docType.id)}</div>
                       {docType.price > 0 && (
-                        <div className="text-xs text-blue-600 mt-1">Цена: {docType.price} мкд</div>
+                        <div className="text-xs text-blue-600 mt-1">{t('price', 'Цена')}: {docType.price} мкд</div>
                       )}
                     </button>
@@ -135,5 +139,5 @@
           <div>
             <label className="block text-sm font-medium text-gray-700 mb-2">
-              Коментар:
+              {t('comment', 'Коментар')}:
             </label>
             <textarea
@@ -142,5 +146,5 @@
               rows={4}
               className="w-full border border-gray-300 rounded-lg px-4 py-3 focus:outline-none focus:ring-2 focus:ring-primary focus:border-primary resize-none"
-              placeholder="Додајте коментар..."
+              placeholder={t('add_comment', 'Додај коментар')}
             />
           </div>
@@ -153,5 +157,5 @@
           >
             <FontAwesomeIcon icon={faFileText} className="w-4 h-4" />
-            Внеси
+            {t('submit', 'Поднеси')}
           </button>
         </div>
@@ -161,5 +165,5 @@
       <div className="bg-white rounded-xl shadow-sm border border-gray-100 overflow-hidden">
         <div className="bg-primary text-white px-6 py-4">
-          <h2 className="text-xl font-bold">Мои документи</h2>
+          <h2 className="text-xl font-bold">{t('my_documents', 'Мои документи')}</h2>
         </div>
         
@@ -169,13 +173,13 @@
               <tr>
                 <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">#</th>
-                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Архива</th>
-                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Датум</th>
-                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Барање</th>
-                <th className="px-4 py-4 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">Цена</th>
-                <th className="px-4 py-4 text-center text-xs font-medium text-gray-500 uppercase tracking-wider">Платено</th>
-                <th className="px-4 py-4 text-center text-xs font-medium text-gray-500 uppercase tracking-wider">Документ</th>
-                <th className="px-4 py-4 text-center text-xs font-medium text-gray-500 uppercase tracking-wider">Плати онлајн</th>
-                <th className="px-4 py-4 text-center text-xs font-medium text-gray-500 uppercase tracking-wider">Статус</th>
-                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Коментар</th>
+                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{t('archive', 'Архива')}</th>
+                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{t('date', 'Датум')}</th>
+                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{t('request', 'Барање')}</th>
+                <th className="px-4 py-4 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">{t('price', 'Цена')}</th>
+                <th className="px-4 py-4 text-center text-xs font-medium text-gray-500 uppercase tracking-wider">{t('paid', 'Платено')}</th>
+                <th className="px-4 py-4 text-center text-xs font-medium text-gray-500 uppercase tracking-wider">{t('document', 'Документ')}</th>
+                <th className="px-4 py-4 text-center text-xs font-medium text-gray-500 uppercase tracking-wider">{t('pay_online', 'Плати онлајн')}</th>
+                <th className="px-4 py-4 text-center text-xs font-medium text-gray-500 uppercase tracking-wider">{t('status', 'Статус')}</th>
+                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{t('comment', 'Коментар')}</th>
               </tr>
             </thead>
@@ -187,5 +191,5 @@
                   <TableCell className="text-gray-600">{document.date}</TableCell>
                   <TableCell className="font-medium text-gray-900 max-w-xs">
-                    {document.request}
+                    {t(document.request)}
                   </TableCell>
                   <TableCell className="text-right">
@@ -206,5 +210,5 @@
                       <FontAwesomeIcon icon={faCheckCircle} className="w-5 h-5 text-green-600" />
                     ) : (
-                      <span className="text-gray-400">—</span>
+                      <span className="text-gray-400">{t('none', '—')}</span>
                     )}
                   </TableCell>
@@ -214,5 +218,5 @@
                   <TableCell>
                     {document.comment || (
-                      <span className="text-gray-400">—</span>
+                      <span className="text-gray-400">{t('none', '—')}</span>
                     )}
                   </TableCell>
@@ -227,5 +231,5 @@
           <div className="flex items-center gap-4 text-sm text-gray-700">
             <div className="flex items-center gap-2">
-              <span>Прикажи редови:</span>
+              <span>{t('show_rows', 'Прикажи редови')}:</span>
               <select
                 value={recordsPerPage}
@@ -239,5 +243,5 @@
             </div>
             <div>
-              Страна <input
+              {t('page', 'Страница')} <input
                 type="number"
                 min="1"
@@ -246,5 +250,5 @@
                 onChange={(e) => setCurrentPage(Number(e.target.value))}
                 className="w-12 border border-gray-300 rounded px-2 py-1 text-sm text-center focus:outline-none focus:ring-1 focus:ring-primary"
-              /> од {totalPages}
+              /> {t('of', 'од')} {totalPages}
             </div>
           </div>
@@ -266,5 +270,5 @@
             </button>
             <span className="px-4 py-2 bg-primary text-white rounded text-sm font-medium">
-              Прва
+              {t('first', 'Прва')}
             </span>
             <button
@@ -283,10 +287,10 @@
             </button>
             <span className="ml-4 text-sm text-gray-700">
-              Последна
+              {t('last', 'Последна')}
             </span>
           </div>
 
           <div className="text-sm text-gray-700">
-            Вкупно: {documents.length}
+            {t('total', 'Вкупно')}: {documents.length}
           </div>
         </div>
@@ -297,5 +301,5 @@
             <FontAwesomeIcon icon={faMoneyBillWave} className="w-5 h-5 text-blue-600 mt-0.5 flex-shrink-0" />
             <p className="text-sm text-blue-800 leading-relaxed">
-              {paymentInfo}
+              {t('documents_payment_info', paymentInfo)}
             </p>
           </div>
@@ -311,5 +315,5 @@
             </div>
             <div>
-              <h3 className="text-lg font-bold text-gray-900">Вкупно документи</h3>
+              <h3 className="text-lg font-bold text-gray-900">{t('total_documents', 'Вкупно документи')}</h3>
               <p className="text-2xl font-bold text-blue-600">
                 {documents.length}
@@ -325,5 +329,5 @@
             </div>
             <div>
-              <h3 className="text-lg font-bold text-gray-900">Одобрени</h3>
+              <h3 className="text-lg font-bold text-gray-900">{t('approved', 'Одобрени')}</h3>
               <p className="text-2xl font-bold text-green-600">
                 {documents.filter(doc => doc.status === "approved").length}
@@ -339,7 +343,7 @@
             </div>
             <div>
-              <h3 className="text-lg font-bold text-gray-900">Вкупна цена</h3>
+              <h3 className="text-lg font-bold text-gray-900">{t('total_price', 'Вкупна цена')}</h3>
               <p className="text-2xl font-bold text-yellow-600">
-                {documents.reduce((sum, doc) => sum + doc.price, 0).toFixed(2)} мкд
+                {documents.reduce((sum, doc) => sum + doc.price, 0).toFixed(2)} {t('mkd', 'мкд')}
               </p>
             </div>
Index: src/app/students/profile/page.tsx
===================================================================
--- src/app/students/profile/page.tsx	(revision 298f9b3987050da08cb65ce62c3d1f8295faeff4)
+++ src/app/students/profile/page.tsx	(revision 50f2fb4b186356bc63dde83200e8b04fe71d2c7a)
@@ -20,4 +20,5 @@
 import { getAccessToken } from '@/lib/auth';
 import { IconDefinition } from '@fortawesome/fontawesome-svg-core';
+import { useTranslation } from 'react-i18next';
 
 type PersonalInfo = {
@@ -94,15 +95,18 @@
 }
 
-const InfoRow = ({ label, value, icon }: InfoRowProps) => (
-  <div className="flex justify-between items-center py-3 border-b border-gray-100 last:border-b-0">
-    <div className="flex items-center gap-2 text-gray-600 font-medium">
-      {icon && <FontAwesomeIcon icon={icon} className="w-4 h-4" />}
-      <span>{label}:</span>
+const InfoRow = ({ label, value, icon }: InfoRowProps) => {
+  const { t } = useTranslation();
+  return (
+    <div className="flex justify-between items-center py-3 border-b border-gray-100 last:border-b-0">
+      <div className="flex items-center gap-2 text-gray-600 font-medium">
+        {icon && <FontAwesomeIcon icon={icon} className="w-4 h-4" />}
+        <span>{t(label)}:</span>
+      </div>
+      <div className="text-gray-900 font-semibold text-right max-w-xs break-words">
+        {value || t('n_a')}
+      </div>
     </div>
-    <div className="text-gray-900 font-semibold text-right max-w-xs break-words">
-      {value || "N/A"}
-    </div>
-  </div>
-);
+  );
+};
 
 interface SectionProps {
@@ -112,17 +116,20 @@
 }
 
-const Section = ({ title, icon, children }: SectionProps) => (
-  <div className="bg-white rounded-xl shadow-sm border border-gray-100 overflow-hidden">
-    <div className="bg-primary text-white px-6 py-4">
-      <div className="flex items-center gap-3">
-        <FontAwesomeIcon icon={icon} className="text-xl" />
-        <h2 className="text-xl font-bold">{title}</h2>
+const Section = ({ title, icon, children }: SectionProps) => {
+  const { t } = useTranslation();
+  return (
+    <div className="bg-white rounded-xl shadow-sm border border-gray-100 overflow-hidden">
+      <div className="bg-primary text-white px-6 py-4">
+        <div className="flex items-center gap-3">
+          <FontAwesomeIcon icon={icon} className="text-xl" />
+          <h2 className="text-xl font-bold">{t(title)}</h2>
+        </div>
+      </div>
+      <div className="p-6">
+        {children}
       </div>
     </div>
-    <div className="p-6">
-      {children}
-    </div>
-  </div>
-);
+  );
+};
 
 export default function ProfilePage() {
@@ -130,4 +137,5 @@
   const [isLoading, setIsLoading] = useState(true);
   const [errorMessage, setErrorMessage] = useState<string | null>(null);
+  const { t } = useTranslation();
 
   useEffect(() => {
@@ -180,5 +188,5 @@
       <div className="min-h-screen pb-8">
         <div className="bg-white rounded-xl shadow-sm border border-gray-100 p-6">
-          Loading...
+          {t('loading')}
         </div>
       </div>
@@ -190,5 +198,5 @@
       <div className="min-h-screen pb-8">
         <div className="rounded-lg border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-700">
-          {errorMessage ?? 'Failed to load profile.'}
+          {errorMessage ?? t('failed_to_load_profile')}
         </div>
       </div>
@@ -214,5 +222,5 @@
             </h1>
             <div className="text-lg opacity-90">
-              Индекс: {personalInfo.index} | ЕМБГ: {personalInfo.embg}
+              {t('index')}: {personalInfo.index} | {t('embg')}: {personalInfo.embg}
             </div>
             <div className="text-base opacity-80 mt-1">
@@ -227,32 +235,32 @@
         
         {/* Personal Information */}
-        <Section title="Лични податоци" icon={faIdCard}>
-          <InfoRow label="Име" value={personalInfo.firstName} />
-          <InfoRow label="Средно име" value={personalInfo.middleName} />
-          <InfoRow label="Презиме" value={personalInfo.lastName} />
-          <InfoRow label="Моминско презиме" value={personalInfo.maidenName} />
+        <Section title="personal_info" icon={faIdCard}>
+          <InfoRow label="first_name" value={personalInfo.firstName} />
+          <InfoRow label="middle_name" value={personalInfo.middleName} />
+          <InfoRow label="last_name" value={personalInfo.lastName} />
+          <InfoRow label="maiden_name" value={personalInfo.maidenName} />
           <InfoRow 
-            label="Датум на раѓање" 
+            label="date_of_birth" 
             value={personalInfo.dateOfBirth} 
             icon={faCalendarAlt} 
           />
           <InfoRow 
-            label="Пол" 
+            label="gender" 
             value={personalInfo.gender} 
-            icon={personalInfo.gender === 'машки' ? faMars : faVenus} 
+            icon={personalInfo.gender === t('male') ? faMars : faVenus} 
           />
           <InfoRow 
-            label="Националност" 
+            label="nationality" 
             value={personalInfo.nationality} 
             icon={faFlag} 
           />
-          <InfoRow label="Државјанство" value={personalInfo.citizenship} />
-          <InfoRow label="Стипендија" value={personalInfo.scholarship} />
-          <InfoRow label="Тековен план" value={personalInfo.currentPlan} />
-          <InfoRow label="Бр. во матична книга" value={personalInfo.registryNumber} />
-          <InfoRow label="Група на студирање" value={personalInfo.studyGroup} />
+          <InfoRow label="citizenship" value={personalInfo.citizenship} />
+          <InfoRow label="scholarship" value={personalInfo.scholarship} />
+          <InfoRow label="current_plan" value={personalInfo.currentPlan} />
+          <InfoRow label="registry_number" value={personalInfo.registryNumber} />
+          <InfoRow label="study_group" value={personalInfo.studyGroup} />
           {personalInfo.notes && (
             <div className="mt-4 p-4 bg-blue-50 rounded-lg">
-              <div className="text-sm font-medium text-blue-800 mb-1">Забелешка:</div>
+              <div className="text-sm font-medium text-blue-800 mb-1">{t('note')}:</div>
               <div className="text-sm text-blue-700">{personalInfo.notes}</div>
             </div>
@@ -261,60 +269,60 @@
 
         {/* Birth Information */}
-        <Section title="Податоци за раѓање" icon={faMapMarkerAlt}>
-          <InfoRow label="Место на раѓање" value={birthInfo.placeOfBirth} />
-          <InfoRow label="Општина на раѓање" value={birthInfo.municipalityOfBirth} />
-          <InfoRow label="Земја" value={birthInfo.country} />
+        <Section title="birth_info" icon={faMapMarkerAlt}>
+          <InfoRow label="place_of_birth" value={birthInfo.placeOfBirth} />
+          <InfoRow label="municipality_of_birth" value={birthInfo.municipalityOfBirth} />
+          <InfoRow label="country" value={birthInfo.country} />
         </Section>
 
         {/* Previous Education */}
-        <Section title="Претходно образование" icon={faSchool}>
-          <InfoRow label="Тип" value={previousEducation.type} />
-          <InfoRow label="Професија" value={previousEducation.profession} />
-          <InfoRow label="Просек" value={previousEducation.average} />
-          <InfoRow label="Јазик" value={previousEducation.language} />
-          <InfoRow label="Земја" value={previousEducation.country} />
-          <InfoRow label="Претходен универзитет" value={previousEducation.previousUniversity} />
-          <InfoRow label="Претходен факултет" value={previousEducation.previousFaculty} />
-          <InfoRow label="Режим на претходни студии" value={previousEducation.previousStudyMode} />
+        <Section title="previous_education" icon={faSchool}>
+          <InfoRow label="type" value={previousEducation.type} />
+          <InfoRow label="profession" value={previousEducation.profession} />
+          <InfoRow label="average" value={previousEducation.average} />
+          <InfoRow label="language" value={previousEducation.language} />
+          <InfoRow label="country" value={previousEducation.country} />
+          <InfoRow label="previous_university" value={previousEducation.previousUniversity} />
+          <InfoRow label="previous_faculty" value={previousEducation.previousFaculty} />
+          <InfoRow label="previous_study_mode" value={previousEducation.previousStudyMode} />
         </Section>
 
         {/* Enrollment Information */}
-        <Section title="Податоци за упис" icon={faGraduationCap}>
-          <InfoRow label="Година на упис" value={enrollmentInfo.enrollmentYear} />
-          <InfoRow label="Статус" value={enrollmentInfo.status} />
-          <InfoRow label="Циклус" value={enrollmentInfo.cycle} />
-          <InfoRow label="Запишана програма" value={enrollmentInfo.program} />
-          <InfoRow label="Квота на прв упис" value={enrollmentInfo.quota} />
-          <InfoRow label="Бр. дипл. ср. образование" value={enrollmentInfo.secondaryEducationNumber} />
-          <InfoRow label="Кред. пр. образование" value={enrollmentInfo.previousEducationCredits} />
+        <Section title="enrollment_info" icon={faGraduationCap}>
+          <InfoRow label="enrollment_year" value={enrollmentInfo.enrollmentYear} />
+          <InfoRow label="status" value={enrollmentInfo.status} />
+          <InfoRow label="cycle" value={enrollmentInfo.cycle} />
+          <InfoRow label="program" value={enrollmentInfo.program} />
+          <InfoRow label="quota" value={enrollmentInfo.quota} />
+          <InfoRow label="secondary_education_number" value={enrollmentInfo.secondaryEducationNumber} />
+          <InfoRow label="previous_education_credits" value={enrollmentInfo.previousEducationCredits} />
         </Section>
 
         {/* Contact Information */}
         <div className="lg:col-span-2">
-          <Section title="Контакт" icon={faAddressCard}>
+          <Section title="contact" icon={faAddressCard}>
             <div className="grid grid-cols-1 md:grid-cols-2 gap-6">
               <div>
                 <InfoRow 
-                  label="Место на живеење" 
+                  label="place_of_residence" 
                   value={contact.placeOfResidence} 
                   icon={faMapMarkerAlt} 
                 />
-                <InfoRow label="Општина на живеење" value={contact.municipalityOfResidence} />
-                <InfoRow label="Држава" value={contact.country} />
-                <InfoRow label="Адреса" value={contact.address} />
-                <InfoRow label="Адреса на престој" value={contact.temporaryAddress} />
+                <InfoRow label="municipality_of_residence" value={contact.municipalityOfResidence} />
+                <InfoRow label="country" value={contact.country} />
+                <InfoRow label="address" value={contact.address} />
+                <InfoRow label="temporary_address" value={contact.temporaryAddress} />
               </div>
               <div>
-                <InfoRow label="Телефон" value={contact.phone} icon={faPhone} />
-                <InfoRow label="Моб. телефон" value={contact.mobilePhone} icon={faPhone} />
-                <InfoRow label="Број на пасош" value={contact.passportNumber} icon={faPassport} />
-                <InfoRow label="Датум на истекување на пасошот" value={contact.passportExpiryDate} />
+                <InfoRow label="phone" value={contact.phone} icon={faPhone} />
+                <InfoRow label="mobile_phone" value={contact.mobilePhone} icon={faPhone} />
+                <InfoRow label="passport_number" value={contact.passportNumber} icon={faPassport} />
+                <InfoRow label="passport_expiry_date" value={contact.passportExpiryDate} />
                 <InfoRow 
-                  label="Е-пошта" 
+                  label="email" 
                   value={contact.email} 
                   icon={faEnvelope} 
                 />
                 <InfoRow 
-                  label="Microsoft email" 
+                  label="microsoft_email" 
                   value={contact.microsoftEmail} 
                   icon={faEnvelope} 
Index: src/app/students/semesters/page.tsx
===================================================================
--- src/app/students/semesters/page.tsx	(revision 298f9b3987050da08cb65ce62c3d1f8295faeff4)
+++ src/app/students/semesters/page.tsx	(revision 50f2fb4b186356bc63dde83200e8b04fe71d2c7a)
@@ -14,4 +14,5 @@
 import { useEffect, useState } from 'react';
 import { getAccessToken } from '@/lib/auth';
+import { useTranslation } from 'react-i18next';
 
 type Semester = {
@@ -54,18 +55,17 @@
 
 const StatusBadge = ({ status }: { status: string }) => {
+  const { t } = useTranslation();
   const baseClasses = "px-2 py-1 rounded-full text-xs font-medium";
-  
-  if (status === "валиден") {
+  if (status === t('valid')) {
     return (
       <span className={`${baseClasses} bg-green-100 text-green-800 flex items-center gap-1`}>
         <FontAwesomeIcon icon={faCheckCircle} className="w-3 h-3" />
-        {status}
+        {t('valid')}
       </span>
     );
   }
-  
   return (
     <span className={`${baseClasses} bg-gray-100 text-gray-800`}>
-      {status}
+      {t(status) || status}
     </span>
   );
@@ -73,5 +73,6 @@
 
 const YesNoBadge = ({ value }: { value: string }) => {
-  if (value === "Да") {
+  const { t } = useTranslation();
+  if (value === t('yes')) {
     return (
       <span className="inline-flex items-center justify-center w-6 h-6 bg-green-100 text-green-600 rounded-full">
@@ -79,5 +80,5 @@
       </span>
     );
-  } else if (value === "Не") {
+  } else if (value === t('no')) {
     return (
       <span className="inline-flex items-center justify-center w-6 h-6 bg-red-100 text-red-600 rounded-full">
@@ -112,4 +113,5 @@
   const [isLoading, setIsLoading] = useState(true);
   const [errorMessage, setErrorMessage] = useState<string | null>(null);
+  const { t } = useTranslation();
 
   useEffect(() => {
@@ -162,5 +164,5 @@
       <div className="min-h-screen pb-8">
         <div className="bg-white rounded-xl shadow-sm border border-gray-100 p-6">
-          Loading...
+          {t('loading')}
         </div>
       </div>
@@ -187,7 +189,7 @@
           </div>
           <div>
-            <h1 className="text-3xl font-bold mb-2">Семестри</h1>
+            <h1 className="text-3xl font-bold mb-2">{t('semesters')}</h1>
             <p className="text-lg opacity-90">
-              Преглед на сите запишани семестри и нивниот статус
+              {t('semesters_overview')}
             </p>
           </div>
@@ -198,5 +200,5 @@
       <div className="bg-white rounded-xl shadow-sm border border-gray-100 overflow-hidden">
         <div className="bg-primary text-white px-6 py-4">
-          <h2 className="text-xl font-bold">Листа на семестри</h2>
+          <h2 className="text-xl font-bold">{t('semesters_list')}</h2>
         </div>
         
@@ -206,23 +208,23 @@
               <tr>
                 <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">#</th>
-                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Семестар</th>
-                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Насока</th>
-                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Квота</th>
-                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Забелешка</th>
-                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Студ.Ком.</th>
-                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Сума</th>
-                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Платено</th>
-                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">УКИМ</th>
-                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Креирано на</th>
-                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Датум промена</th>
-                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Ц.Кр</th>
-                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Тип</th>
-                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Док.</th>
-                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Док1.</th>
-                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Вериф.</th>
-                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Таксени</th>
-                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Потписи</th>
-                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Статус</th>
-                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Зав.</th>
+                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{t('semester')}</th>
+                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{t('direction')}</th>
+                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{t('quota')}</th>
+                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{t('note')}</th>
+                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{t('student_com')}</th>
+                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{t('sum')}</th>
+                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{t('paid')}</th>
+                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{t('ukim')}</th>
+                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{t('created_on')}</th>
+                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{t('date_changed')}</th>
+                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{t('credits')}</th>
+                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{t('type')}</th>
+                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{t('doc')}</th>
+                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{t('doc1')}</th>
+                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{t('verified')}</th>
+                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{t('taxes')}</th>
+                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{t('signatures')}</th>
+                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{t('status')}</th>
+                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{t('completed')}</th>
               </tr>
             </thead>
@@ -335,5 +337,5 @@
             </div>
             <div>
-              <h3 className="text-lg font-bold text-gray-900">Завршени семестри</h3>
+              <h3 className="text-lg font-bold text-gray-900">{t('completed_semesters')}</h3>
               <p className="text-2xl font-bold text-green-600">
                 {semesters.filter(s => s.completed !== "Не").length}
@@ -349,5 +351,5 @@
             </div>
             <div>
-              <h3 className="text-lg font-bold text-gray-900">Верифицирани</h3>
+              <h3 className="text-lg font-bold text-gray-900">{t('verified_semesters')}</h3>
               <p className="text-2xl font-bold text-blue-600">
                 {semesters.filter(s => s.verified === "Да").length}
@@ -363,5 +365,5 @@
             </div>
             <div>
-              <h3 className="text-lg font-bold text-gray-900">Вкупно семестри</h3>
+              <h3 className="text-lg font-bold text-gray-900">{t('total_semesters')}</h3>
               <p className="text-2xl font-bold text-primary">
                 {semesters.length}
Index: src/app/students/subjects/page.tsx
===================================================================
--- src/app/students/subjects/page.tsx	(revision 298f9b3987050da08cb65ce62c3d1f8295faeff4)
+++ src/app/students/subjects/page.tsx	(revision 50f2fb4b186356bc63dde83200e8b04fe71d2c7a)
@@ -9,4 +9,5 @@
 import { useEffect, useState } from 'react';
 import { getAccessToken } from '@/lib/auth';
+import { useTranslation } from 'react-i18next';
 
 interface Subject {
@@ -147,23 +148,22 @@
 
 const StatusBadge = ({ status }: { status: string }) => {
+  const { t } = useTranslation();
   const baseClasses = "px-3 py-1 rounded-md text-xs font-medium";
-  
-  if (status === "Зад.") {
+  if (status === t('mandatory_short')) {
     return (
       <span className={`${baseClasses} bg-blue-100 text-blue-800`}>
-        {status}
+        {t('mandatory_short')}
       </span>
     );
-  } else if (status === "Изб.") {
+  } else if (status === t('elective_short')) {
     return (
       <span className={`${baseClasses} bg-green-100 text-green-800`}>
-        {status}
+        {t('elective_short')}
       </span>
     );
   }
-  
   return (
     <span className={`${baseClasses} bg-gray-100 text-gray-800`}>
-      {status}
+      {t(status) || status}
     </span>
   );
@@ -176,4 +176,5 @@
   const [isLoading, setIsLoading] = useState(true);
   const [errorMessage, setErrorMessage] = useState<string | null>(null);
+  const { t } = useTranslation();
 
   useEffect(() => {
@@ -275,5 +276,5 @@
       <div className="min-h-screen pb-8">
         <div className="bg-white rounded-xl shadow-sm border border-gray-100 p-6">
-          Loading...
+          {t('loading')}
         </div>
       </div>
@@ -285,5 +286,5 @@
       <div className="min-h-screen pb-8">
         <div className="rounded-lg border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-700">
-          {errorMessage ?? 'Failed to load subjects.'}
+          {errorMessage ?? t('failed_to_load_subjects')}
         </div>
       </div>
@@ -308,7 +309,7 @@
           </div>
           <div>
-            <h1 className="text-3xl font-bold mb-2">Предмети</h1>
+            <h1 className="text-3xl font-bold mb-2">{t('subjects')}</h1>
             <p className="text-lg opacity-90">
-              Преглед на запишани предмети по семестри
+              {t('subjects_overview')}
             </p>
           </div>
@@ -325,8 +326,8 @@
           <div className="bg-white rounded-xl p-6 shadow-sm border border-gray-100">
             <div className="text-sm text-gray-600 mb-2">
-              Статус: <span className="text-primary font-semibold">Запишан од студент</span>
+              {t('status')}: <span className="text-primary font-semibold">{t('enrolled_by_student')}</span>
             </div>
             <div className="text-sm text-gray-600">
-              Број на тикет: <span className="font-semibold">{currentSemester.ticketNumber}</span>
+              {t('ticket_number')}: <span className="font-semibold">{currentSemester.ticketNumber}</span>
             </div>
           </div>
@@ -335,10 +336,10 @@
           <div className="bg-white rounded-xl p-6 shadow-sm border border-gray-100">
             <div className="text-sm text-gray-600 mb-2">
-              Долг од документи: <span className="font-semibold">{currentSemester.debt}</span>
+              {t('debt_from_documents')}: <span className="font-semibold">{currentSemester.debt}</span>
             </div>
             
             <div className="relative mt-4">
               <label className="block text-sm font-medium text-gray-700 mb-2">
-                Избери семестар:
+                {t('select_semester')}:
               </label>
               <div className="relative">
@@ -370,5 +371,5 @@
                       >
                         <div className="font-medium text-gray-900">{semester.name}</div>
-                        <div className="text-xs text-gray-500">Статус: {semester.status}</div>
+                        <div className="text-xs text-gray-500">{t('status')}: {semester.status}</div>
                       </button>
                     ))}
@@ -380,5 +381,5 @@
             <div className="mt-4 text-sm">
               <div className="text-primary font-medium">
-                Сериски број: {currentSemesterData.serviceNumber}
+                {t('serial_number')}: {currentSemesterData.serviceNumber}
               </div>
             </div>
@@ -389,5 +390,5 @@
             <h3 className="font-semibold text-gray-900 mb-3 flex items-center gap-2">
               <FontAwesomeIcon icon={faBook} className="w-4 h-4 text-primary" />
-              Запишани предмети
+              {t('enrolled_subjects')}
             </h3>
             <div className="text-3xl font-bold text-primary">
@@ -403,5 +404,5 @@
               <h2 className="text-xl font-bold flex items-center gap-2">
                 <FontAwesomeIcon icon={faFileInvoice} />
-                Финансиски информации
+                {t('financial_info')}
               </h2>
             </div>
@@ -413,18 +414,18 @@
                 <div className="space-y-4">
                   <div className="flex justify-between items-center py-2 border-b border-gray-100">
-                    <span className="text-gray-600">Сума:</span>
+                    <span className="text-gray-600">{t('sum')}:</span>
                     <span className="font-semibold text-primary">{currentSemester.financialInfo.sum}</span>
                   </div>
                   <div className="flex justify-between items-center py-2 border-b border-gray-100">
-                    <span className="text-gray-600">Платено:</span>
+                    <span className="text-gray-600">{t('paid')}:</span>
                     <span className="font-semibold text-green-600">{currentSemester.financialInfo.paid}</span>
                   </div>
                   <div className="flex justify-between items-center py-2 border-b border-gray-100">
-                    <span className="text-gray-600">Должи:</span>
+                    <span className="text-gray-600">{t('due')}:</span>
                     <span className="font-semibold text-red-600">{currentSemester.financialInfo.due}</span>
                   </div>
                   <div className="mt-4 p-4 bg-blue-50 rounded-lg">
-                    <div className="text-sm font-medium text-blue-800 mb-1">Материјални трошоци:</div>
-                    <div className="text-sm text-blue-700">{currentSemester.financialInfo.materialCosts}</div>
+                    <div className="text-sm font-medium text-blue-800 mb-1">{t('material_costs')}:</div>
+                    <div className="text-sm text-blue-700">{t('material_costs_info')}</div>
                   </div>
                 </div>
@@ -433,25 +434,25 @@
                 <div className="space-y-4">
                   <div className="flex justify-between items-center py-2 border-b border-gray-100">
-                    <span className="text-gray-600">Кредити:</span>
+                    <span className="text-gray-600">{t('credits')}:</span>
                     <span className="font-semibold text-primary">{currentSemester.financialInfo.credits}</span>
                   </div>
                   <div className="flex justify-between items-center py-2 border-b border-gray-100">
-                    <span className="text-gray-600">МКСА:</span>
+                    <span className="text-gray-600">{t('mksa')}:</span>
                     <span className="font-semibold">{currentSemester.financialInfo.MKSA}</span>
                   </div>
                   <div className="flex justify-between items-center py-2 border-b border-gray-100">
-                    <span className="text-gray-600">Електронско запишување:</span>
+                    <span className="text-gray-600">{t('electronic_registration')}:</span>
                     <span className="font-semibold">{currentSemester.financialInfo.electronicRegistration}</span>
                   </div>
                   <div className="flex justify-between items-center py-2 border-b border-gray-100">
-                    <span className="text-gray-600">Е-УКИМ:</span>
+                    <span className="text-gray-600">{t('eukim')}:</span>
                     <span className="font-semibold">{currentSemester.financialInfo.eUKIM}</span>
                   </div>
                   <div className="flex justify-between items-center py-2 border-b border-gray-100">
-                    <span className="text-gray-600">Банкарска провизија:</span>
+                    <span className="text-gray-600">{t('bank_provision')}:</span>
                     <span className="font-semibold">{currentSemester.financialInfo.bankProvision}</span>
                   </div>
                   <div className="flex justify-between items-center py-3 border-t-2 border-primary bg-primary bg-opacity-5 rounded-lg px-4">
-                    <span className="font-bold text-white">Тотал:</span>
+                    <span className="font-bold text-white">{t('total')}:</span>
                     <span className="font-bold text-xl text-white">{currentSemester.financialInfo.total}</span>
                   </div>
@@ -466,5 +467,5 @@
       <div className="bg-white rounded-xl shadow-sm border border-gray-100 overflow-hidden">
         <div className="bg-primary text-white px-6 py-4">
-          <h2 className="text-xl font-bold">Листа на предмети</h2>
+          <h2 className="text-xl font-bold">{t('subjects_list')}</h2>
         </div>
         
@@ -474,13 +475,13 @@
               <tr>
                 <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">#</th>
-                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Код</th>
-                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Часови</th>
-                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Кој пат</th>
-                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Предмет</th>
-                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Семестар</th>
-                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Статус</th>
-                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Потпис</th>
-                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Група</th>
-                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Професор</th>
+                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{t('code')}</th>
+                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{t('hours')}</th>
+                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{t('which_time')}</th>
+                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{t('subject')}</th>
+                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{t('semester')}</th>
+                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{t('status')}</th>
+                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{t('signature')}</th>
+                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{t('group')}</th>
+                <th className="px-4 py-4 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">{t('professor')}</th>
               </tr>
             </thead>
@@ -495,23 +496,23 @@
                     <div className="flex items-center gap-2">
                       <FontAwesomeIcon icon={faBook} className="w-4 h-4 text-primary" />
-                      {subject.name}
+                      {t(subject.name, subject.name)}
                     </div>
                   </TableCell>
-                  <TableCell className="text-center font-medium text-primary">{subject.semester}</TableCell>
+                  <TableCell className="text-center font-medium text-primary">{t(subject.semester.toString(), subject.semester.toString())}</TableCell>
                   <TableCell>
                     <StatusBadge status={subject.status} />
                   </TableCell>
                   <TableCell className="text-center">
-                    {subject.signature || (
+                    {subject.signature ? t(subject.signature, subject.signature) : (
                       <span className="text-gray-400">—</span>
                     )}
                   </TableCell>
                   <TableCell className="text-center">
-                    {subject.group || (
+                    {subject.group ? t(subject.group, subject.group) : (
                       <span className="text-gray-400">—</span>
                     )}
                   </TableCell>
                   <TableCell>
-                    {subject.professor || (
+                    {subject.professor ? t(subject.professor, subject.professor) : (
                       <span className="text-gray-400">—</span>
                     )}
Index: src/components/LanguageSwitcher.tsx
===================================================================
--- src/components/LanguageSwitcher.tsx	(revision 50f2fb4b186356bc63dde83200e8b04fe71d2c7a)
+++ src/components/LanguageSwitcher.tsx	(revision 50f2fb4b186356bc63dde83200e8b04fe71d2c7a)
@@ -0,0 +1,29 @@
+"use client";
+import { useTranslation } from 'react-i18next';
+
+export default function LanguageSwitcher() {
+  const { i18n } = useTranslation();
+
+  const changeLanguage = (lng: string) => {
+    i18n.changeLanguage(lng);
+  };
+
+  return (
+    <div className="flex gap-2 items-center">
+      <button
+        onClick={() => changeLanguage('mk')}
+        className={`px-3 py-1 rounded border-2 text-sm font-semibold transition-all duration-150 ${i18n.language === 'mk' ? 'border-blue-600 text-blue-700 bg-blue-50' : 'border-gray-300 text-gray-700 bg-white hover:border-blue-400 hover:text-blue-600'}`}
+        aria-label="Macedonian"
+      >
+        MK
+      </button>
+      <button
+        onClick={() => changeLanguage('en')}
+        className={`px-3 py-1 rounded border-2 text-sm font-semibold transition-all duration-150 ${i18n.language === 'en' ? 'border-blue-600 text-blue-700 bg-blue-50' : 'border-gray-300 text-gray-700 bg-white hover:border-blue-400 hover:text-blue-600'}`}
+        aria-label="English"
+      >
+        EN
+      </button>
+    </div>
+  );
+}
Index: src/components/exams.tsx
===================================================================
--- src/components/exams.tsx	(revision 298f9b3987050da08cb65ce62c3d1f8295faeff4)
+++ src/components/exams.tsx	(revision 50f2fb4b186356bc63dde83200e8b04fe71d2c7a)
@@ -1,4 +1,5 @@
 "use client"
 import { useEffect, useMemo, useState } from 'react';
+import { useTranslation } from 'react-i18next';
 import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
 import { faSort, faSortUp, faSortDown } from '@fortawesome/free-solid-svg-icons';
@@ -33,4 +34,5 @@
 
 const Exams = () => {
+  const { t } = useTranslation();
   const [sortField, setSortField] = useState<'grade' | 'date' | null>(null);
   const [sortOrder, setSortOrder] = useState<'asc' | 'desc' | null>(null);
@@ -185,5 +187,5 @@
     return (
       <div className="bg-white rounded-lg shadow-sm p-6">
-        Loading...
+        {t('loading', 'Loading...')}
       </div>
     );
@@ -194,5 +196,5 @@
       <div className="bg-white rounded-lg shadow-sm p-6">
         <div className="rounded-lg border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-700">
-          {errorMessage}
+          {t('failed_to_load_exams', errorMessage)}
         </div>
       </div>
@@ -208,5 +210,5 @@
           <div className="text-center">
             <div className="text-3xl font-bold text-gray-900">{stats.average}</div>
-            <div className="text-sm text-gray-500 mt-1">Просек</div>
+            <div className="text-sm text-gray-500 mt-1">{t('average', 'Просек')}</div>
           </div>
 
@@ -217,5 +219,5 @@
               <span className="text-lg text-gray-400">/{stats.credits.total}</span>
             </div>
-            <div className="text-sm text-gray-500 mt-1">Кредити</div>
+            <div className="text-sm text-gray-500 mt-1">{t('credits', 'Кредити')}</div>
           </div>
 
@@ -223,5 +225,5 @@
           <div className="text-center">
             <div className="text-3xl font-bold text-gray-900">{stats.passed}</div>
-            <div className="text-sm text-gray-500 mt-1">Положени</div>
+            <div className="text-sm text-gray-500 mt-1">{t('passed', 'Положени')}</div>
           </div>
 
@@ -229,11 +231,11 @@
           <div className="text-center">
             <div className="text-3xl font-bold text-gray-900">{stats.remaining}</div>
-            <div className="text-sm text-gray-500 mt-1">Останато</div>
+            <div className="text-sm text-gray-500 mt-1">{t('remaining', 'Останато')}</div>
           </div>
         </div>
-        
+
         {/* Progress Bar spanning entire statistics section */}
         <div className="w-full bg-gray-200 rounded-full h-2">
-          <div 
+          <div
             className="bg-blue-500 h-2 rounded-full transition-all duration-300"
             style={{ width: `${creditsPercentage}%` }}
@@ -244,6 +246,6 @@
       {/* Exams Table */}
       <div>
-        <h3 className="text-xl font-semibold text-gray-900 mb-4">Испити</h3>
-        
+        <h3 className="text-xl font-semibold text-gray-900 mb-4">{t('exams', 'Испити')}</h3>
+
         <div className="overflow-x-auto">
           <table className="min-w-full">
@@ -251,15 +253,15 @@
               <tr className="border-b border-gray-200">
                 <th className="text-left py-3 px-4 text-sm font-medium text-gray-500">#</th>
-                <th className="text-left py-3 px-4 text-sm font-medium text-gray-500">Предмет</th>
-                <th className="text-left py-3 px-4 text-sm font-medium text-gray-500">Семестар</th>
-                <th className="text-left py-3 px-4 text-sm font-medium text-gray-500">Кредити</th>
+                <th className="text-left py-3 px-4 text-sm font-medium text-gray-500">{t('subject', 'Предмет')}</th>
+                <th className="text-left py-3 px-4 text-sm font-medium text-gray-500">{t('semester', 'Семестар')}</th>
+                <th className="text-left py-3 px-4 text-sm font-medium text-gray-500">{t('credits', 'Кредити')}</th>
                 <th className="text-left py-3 px-4 text-sm font-medium text-gray-500">
-                  <button 
+                  <button
                     onClick={handleSortByDate}
                     className="flex items-center gap-2 px-2 py-1 rounded-md hover:bg-gray-100 hover:text-gray-900 transition-all duration-200 transform hover:scale-105"
                   >
-                    Датум
-                    <FontAwesomeIcon 
-                      icon={getSortIcon('date')} 
+                    {t('date', 'Датум')}
+                    <FontAwesomeIcon
+                      icon={getSortIcon('date')}
                       className={`text-xs transition-colors duration-200 ${
                         sortField === 'date' ? 'text-blue-600' : 'text-gray-400 group-hover:text-gray-600'
@@ -269,11 +271,11 @@
                 </th>
                 <th className="text-left py-3 px-4 text-sm font-medium text-gray-500">
-                  <button 
+                  <button
                     onClick={handleSortByGrade}
                     className="flex items-center gap-2 px-2 py-1 rounded-md hover:bg-gray-100 hover:text-gray-900 transition-all duration-200 transform hover:scale-105"
                   >
-                    Оценка
-                    <FontAwesomeIcon 
-                      icon={getSortIcon('grade')} 
+                    {t('grade', 'Оценка')}
+                    <FontAwesomeIcon
+                      icon={getSortIcon('grade')}
                       className={`text-xs transition-colors duration-200 ${
                         sortField === 'grade' ? 'text-blue-600' : 'text-gray-400 group-hover:text-gray-600'
Index: src/components/header.tsx
===================================================================
--- src/components/header.tsx	(revision 298f9b3987050da08cb65ce62c3d1f8295faeff4)
+++ src/components/header.tsx	(revision 50f2fb4b186356bc63dde83200e8b04fe71d2c7a)
@@ -1,14 +1,53 @@
 "use client"
+
 import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
 import { faUser } from '@fortawesome/free-solid-svg-icons';
 import Image from 'next/image';
 
+import { useEffect, useState } from 'react';
+import { getAccessToken, clearAuthTokens } from '@/lib/auth';
+import { useTranslation } from 'react-i18next';
+import LanguageSwitcher from './LanguageSwitcher';
+
 const Header = () => {
+
+  const [userName, setUserName] = useState<string>('');
+  const { t } = useTranslation();
+
+  useEffect(() => {
+    async function fetchUser() {
+      const token = getAccessToken();
+      if (!token) return;
+      try {
+        const response = await fetch('https://iknow-api.onrender.com/api/user/getUser', {
+          method: 'GET',
+          headers: { Authorization: `Bearer ${token}` },
+        });
+        if (!response.ok) return;
+        const data = await response.json();
+        // Try both student and professor shape
+        if (data?.personalInfo) {
+          const p = data.personalInfo;
+          setUserName([p.firstName, p.middleName, p.lastName].filter(Boolean).join(' '));
+        }
+      } catch {}
+    }
+    fetchUser();
+    return () => {};
+  }, []);
+
+  const handleLogout = () => {
+    clearAuthTokens();
+    if (typeof window !== 'undefined') {
+      window.location.href = '/';
+    }
+  };
+
   return (
     <header className="bg-white shadow-sm border-b border-gray-200">
       <div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
-        <div className="flex justify-between items-center py-4">
+        <div className="flex flex-col sm:flex-row sm:justify-between sm:items-center py-4 gap-4 sm:gap-0">
           {/* Left side - Logos and University Info */}
-          <div className="flex items-center gap-4">
+          <div className="flex items-center gap-2 justify-center sm:justify-start">
             {/* UKIM Logo */}
             <div className="flex-shrink-0">
@@ -21,5 +60,4 @@
               />
             </div>
-            
             {/* FINKI Logo */}
             <div className="flex-shrink-0">
@@ -32,32 +70,36 @@
               />
             </div>
-            
             {/* University Text */}
             <div className="hidden sm:block">
               <div className="text-gray-900 font-medium text-sm">
-                Универзитет „Св. КИРИЛ И МЕТОДИЈ“ - Скопје
+                {t('university')}
               </div>
               <div className="text-gray-700 text-sm">
-                Факултет за информатички науки и компјутерско инженерство
+                {t('faculty')}
               </div>
             </div>
           </div>
-
           {/* Right side - User Profile */}
-          <div className="flex items-center gap-4">
-            <div className="flex items-center gap-3">
+          <div className="flex flex-col sm:flex-row items-center gap-2 sm:gap-4 w-full sm:w-auto justify-center sm:justify-end">
+            {/* Language Switcher - now left of user info */}
+            <div className="sm:mr-2 w-full sm:w-auto flex justify-center sm:justify-end">
+              <LanguageSwitcher />
+            </div>
+            <div className="flex items-center gap-2 sm:gap-3 w-full sm:w-auto justify-center sm:justify-end">
               {/* User Avatar */}
-              <div className="flex items-center justify-center w-10 h-10 bg-gray-800 text-white rounded-full">
+              <div className="hidden sm:flex items-center justify-center w-10 h-10 bg-gray-800 text-white rounded-full">
                 <FontAwesomeIcon icon={faUser} className="text-sm" />
               </div>
-              
               {/* User Name */}
               <div className="hidden sm:block text-gray-900 font-medium">
-                Стефан Савески
+                {userName || '...'}
               </div>
-              
-              {/* Logout Button */}
-              <button className="text-blue-600 hover:text-blue-800 font-medium text-sm transition-colors duration-200">
-                Logout
+              {/* Logout Button - more stylish and full width on mobile */}
+              <button
+                className="w-full sm:w-auto ml-0 sm:ml-2 px-4 py-2 border-2 border-primary text-primary bg-white rounded-lg font-semibold flex items-center justify-center gap-2 hover:bg-blue-50 transition-all duration-200 shadow-sm"
+                onClick={handleLogout}
+              >
+                <svg xmlns='http://www.w3.org/2000/svg' className='h-4 w-4' fill='none' viewBox='0 0 24 24' stroke='currentColor'><path strokeLinecap='round' strokeLinejoin='round' strokeWidth={2} d='M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a2 2 0 01-2 2H7a2 2 0 01-2-2V7a2 2 0 012-2h4a2 2 0 012 2v1' /></svg>
+                {t('logout')}
               </button>
             </div>
Index: src/components/navbar.tsx
===================================================================
--- src/components/navbar.tsx	(revision 298f9b3987050da08cb65ce62c3d1f8295faeff4)
+++ src/components/navbar.tsx	(revision 50f2fb4b186356bc63dde83200e8b04fe71d2c7a)
@@ -10,4 +10,5 @@
 import { useState } from 'react';
 import Link from 'next/link';
+import { useTranslation } from 'react-i18next';
 
 const Navbar = () => {
@@ -18,11 +19,12 @@
   };
 
+  const { t } = useTranslation();
   const menuItems = [
-    { icon: faUser, label: 'Профил', href: '/students/profile' },
-    { icon: faBookmark, label: 'Семестри', href: '/students/semesters' },
-    { icon: faBook, label: 'Предмети', href: '/students/subjects' },
-    { icon: faPenToSquare, label: 'Пријави', href: '/students/applications' },
-    { icon: faListCheck, label: 'Положени', href: '/students/exams' },
-    { icon: faFilePdf, label: 'Документи', href: '/students/documents' }
+    { icon: faUser, label: t('profile'), href: '/students/profile' },
+    { icon: faBookmark, label: t('semesters'), href: '/students/semesters' },
+    { icon: faBook, label: t('subjects'), href: '/students/subjects' },
+    { icon: faPenToSquare, label: t('applications'), href: '/students/applications' },
+    { icon: faListCheck, label: t('exams'), href: '/students/exams' },
+    { icon: faFilePdf, label: t('documents'), href: '/students/documents' }
   ];
 
Index: src/components/professor-navbar.tsx
===================================================================
--- src/components/professor-navbar.tsx	(revision 298f9b3987050da08cb65ce62c3d1f8295faeff4)
+++ src/components/professor-navbar.tsx	(revision 50f2fb4b186356bc63dde83200e8b04fe71d2c7a)
@@ -5,4 +5,5 @@
 import Link from "next/link";
 import { useState } from "react";
+import { useTranslation } from 'react-i18next';
 
 const ProfessorNavbar = () => {
@@ -13,7 +14,8 @@
   };
 
+  const { t } = useTranslation();
   const menuItems = [
-    { icon: faUser, label: "Профил", href: "/professor/profile" },
-    { icon: faUsers, label: "Студенти", href: "/professor/students" },
+    { icon: faUser, label: t('profile'), href: "/professor/profile" },
+    { icon: faUsers, label: t('students') || 'Студенти', href: "/professor/students" },
   ];
 
Index: src/i18n.ts
===================================================================
--- src/i18n.ts	(revision 50f2fb4b186356bc63dde83200e8b04fe71d2c7a)
+++ src/i18n.ts	(revision 50f2fb4b186356bc63dde83200e8b04fe71d2c7a)
@@ -0,0 +1,23 @@
+import i18n from 'i18next';
+import { initReactI18next } from 'react-i18next';
+
+import translationEN from './locales/en/translation.json';
+import translationMK from './locales/mk/translation.json';
+
+const resources = {
+  en: { translation: translationEN },
+  mk: { translation: translationMK },
+};
+
+i18n
+  .use(initReactI18next)
+  .init({
+    resources,
+    lng: 'mk',
+    fallbackLng: 'mk',
+    interpolation: {
+      escapeValue: false,
+    },
+  });
+
+export default i18n;
Index: src/locales/en/translation.json
===================================================================
--- src/locales/en/translation.json	(revision 50f2fb4b186356bc63dde83200e8b04fe71d2c7a)
+++ src/locales/en/translation.json	(revision 50f2fb4b186356bc63dde83200e8b04fe71d2c7a)
@@ -0,0 +1,218 @@
+{
+  "prof_students_title": "Professor • Students",
+  "prof_students_data_note": "Data comes from",
+  "filter_by_subject": "Filter by subject",
+  "all_subjects": "All subjects",
+  "find_student_by_id": "Find student by index / ID",
+  "student_id_placeholder": "e.g. 20001",
+  "no_students_found": "No students found.",
+  "Забелешка": "Note",
+  "Завршени": "Completed",
+  "Останати": "Remaining",
+  "taxes": "Taxes",
+  "signatures": "Signatures",
+  "valid": "Valid",
+  "completed_semester": "Completed semesters",
+  "verified_semesters": "Verified semesters",
+  "total_semesters": "Total semesters",
+  "completed_semesters": "Completed semesters",
+  "documents_overview": "Overview of your documents and their status.",
+  "new_document_request": "New Document Request",
+  "select_document": "Select Document",
+  "price": "Price",
+  "comment": "Comment",
+  "add_comment": "Add comment",
+  "submit": "Submit",
+  "my_documents": "My Documents",
+  "archive": "Archive",
+  "request": "Request",
+  "document": "Document",
+  "pay_online": "Pay Online",
+  "none": "—",
+  "show_rows": "Show rows",
+  "page": "Page",
+  "of": "of",
+  "first": "First",
+  "last": "Last",
+  "total": "Total",
+  "documents_payment_info": "For more information about document payments, contact the administration.",
+  "total_documents": "Total Documents",
+  "approved": "Approved",
+  "total_price": "Total Price",
+  "mkd": "MKD",
+  "free": "0.00",
+  "university": "University 'St. Cyril and Methodius' - Skopje",
+  "faculty": "Faculty of Computer Science and Engineering",
+  "logout": "Logout",
+  "profile": "Profile",
+  "semesters": "Semesters",
+  "applications": "Applications",
+  "documents": "Documents",
+  "exams": "Exams",
+  "subjects": "Subjects",
+  "students": "Students",
+  "loading": "Loading...",
+  "failed_to_load_profile": "Failed to load profile.",
+  "n_a": "N/A",
+  "index": "Index",
+  "embg": "EMBG",
+  "personal_info": "Personal Information",
+  "first_name": "First Name",
+  "middle_name": "Middle Name",
+  "last_name": "Last Name",
+  "maiden_name": "Maiden Name",
+  "date_of_birth": "Date of Birth",
+  "gender": "Gender",
+  "male": "Male",
+  "female": "Female",
+  "nationality": "Nationality",
+  "citizenship": "Citizenship",
+  "scholarship": "Scholarship",
+  "current_plan": "Current Plan",
+  "registry_number": "Registry Number",
+  "study_group": "Study Group",
+  "note": "Note",
+  "birth_info": "Birth Information",
+  "place_of_birth": "Place of Birth",
+  "municipality_of_birth": "Municipality of Birth",
+  "country": "Country",
+  "previous_education": "Previous Education",
+  "type": "Type",
+  "profession": "Profession",
+  "average": "Average",
+  "language": "Language",
+  "previous_university": "Previous University",
+  "previous_faculty": "Previous Faculty",
+  "previous_study_mode": "Previous Study Mode",
+  "enrollment_info": "Enrollment Information",
+  "enrollment_year": "Enrollment Year",
+  "status": "Status",
+  "cycle": "Cycle",
+  "program": "Program",
+  "quota": "Quota",
+  "secondary_education_number": "Secondary Education Number",
+  "previous_education_credits": "Previous Education Credits",
+  "contact": "Contact",
+  "place_of_residence": "Place of Residence",
+  "municipality_of_residence": "Municipality of Residence",
+  "address": "Address",
+  "temporary_address": "Temporary Address",
+  "phone": "Phone",
+  "mobile_phone": "Mobile Phone",
+  "passport_number": "Passport Number",
+  "passport_expiry_date": "Passport Expiry Date",
+  "email": "Email",
+  "microsoft_email": "Microsoft Email",
+  "applications_header": "Applications",
+  "applications_subheader": "Electronic exam applications",
+  "select_exam_session": "Select exam session:",
+  "registered_exams": "Registered Exams",
+  "serial_number": "Serial Number",
+  "code": "Code",
+  "subject": "Subject",
+  "completed": "Completed",
+  "not_completed": "Not Completed",
+  "fee": "Fee",
+  "date": "Date",
+  "instructor": "Instructor",
+  "decade": "Decade",
+  "important_note": "Important Note",
+  "applications_important_note": "Important note regarding exam applications",
+  "yes": "Yes",
+  "no": "No",
+  "total_fee": "Total Fee",
+  "failed_to_load_exams": "Failed to load exams.",
+  "credits": "Credits",
+  "passed": "Passed",
+  "remaining": "Remaining",
+  "semester": "Semester",
+  "grade": "Grade",
+  "semesters_overview": "Overview of your enrolled semesters and their statuses.",
+  "semesters_list": "Semesters List",
+  "direction": "Direction",
+  "student_com": "Student Commission",
+  "sum": "Sum",
+  "paid": "Paid",
+  "ukim": "UKIM",
+  "created_on": "Created On",
+  "date_changed": "Date Changed",
+  "doc": "Document",
+  "doc1": "Document 1",
+  "verified": "Verified",
+  
+  "semester_enrollment_after_deadline": "Request for semester enrollment after deadline (from 2024) (1500)",
+  "certificate_issuance_various": "Request for issuance of certificates for various reasons (from 2024) (1500)",
+  "student_status_verification": "Request for suspension of studies (from 2024) (2000)",
+  "diploma_thesis_postponement": "Request for cancellation of registered diploma thesis topic (from 2024) (1000)",
+  "diploma_package": "Request for graduation package (from 2024) (6200)",
+  "exam_postponement": "Request for exam cancellation (from 2024) (2000)",
+  "regular_student_certificate": "Request for regular student certificate (paper) (100)",
+  "study_continuation_verification": "Request for continuation of studies in suspension (from 2024) (2000)",
+  "failed_subject_grade_change": "Request for elective subject change (from 2024) (1500)",
+  "passed_subject_grade_change": "Request for passed subject change (from 2024) (0)",
+  "study_program_change_same_accreditation": "Request for study program change from same accreditation (from 2024) (2000)",
+  "study_program_change_new_accreditation": "Request for study program change from newer accreditation (from 2024) (3000)",
+  "diploma_supplement": "Diploma supplement (0)",
+  "diploma_supplement_second_cycle": "Diploma supplement (second cycle) (0)",
+  "mksa": "MKSA (750)",
+  "exam_recognition": "Recognition of passed exams (0)",
+  "student_card_old": "Student card (Old) (0)",
+  "2025_summer_session2": "2025 (Summer) Second exam session",
+  "2025_summer_session1": "2025 (Summer) First exam session",
+  "2025_winter_session2": "2025 (Winter) Second exam session",
+  "2025_winter_session1": "2025 (Winter) First exam session",
+  "2024_summer_session2": "2024 (Summer) Second exam session",
+  "2024_summer_session1": "2024 (Summer) First exam session",
+  "2024_winter_session2": "2024 (Winter) Second exam session",
+  "2024_winter_session1": "2024 (Winter) First exam session",
+  "applications_important_note_text": "The serial number of the electronic application must be entered on the paper application that the student will submit physically.",
+  "login_student_title": "Login for Student",
+  "login_student_example": "\"email\":\"boris@example.com\",\n\"password\":\"your-password-here\",",
+  "login_note_slow": "May take up to 30 seconds after long inactivity.",
+  "login_professor_title": "Login for Professor",
+  "login_professor_example": "\"email\":\"andonov@gmail.com\",\n\"password\":\"123lol456\",",
+  "login_welcome": "Welcome",
+  "login_subtitle": "Sign in to your IKnow account",
+  "login_email_label": "Enter email",
+  "login_email_placeholder": "Enter email",
+  "login_password_label": "Password",
+  "login_password_placeholder": "Enter password",
+  "login_remember_me": "Remember me",
+  "login_forgot_password": "Forgot password?",
+  "login_button": "Sign in",
+  "login_button_loading": "Signing in...",
+  "login_no_account": "Don't have an account?",
+  "login_contact_admin": "Contact administration",
+  "login_footer": "Student Information System"
+  ,
+  "debt": "Debt",
+  "status": "Status"
+  ,
+  "debt_from_documents": "Debt from documents",
+  "status": "Status",
+  "subjects_overview": "Overview of your enrolled subjects and their status."
+  ,
+  "electronic_registration": "Electronic registration",
+  "eukim": "eUKIM",
+  "bank_provision": "Bank provision"
+  ,
+  "failed_to_load_subjects": "Failed to load subjects."
+  ,
+  "debt_from_documents": "Debt from documents",
+  "ticket_number": "Ticket number",
+  "serial_number": "Serial number",
+  "select_semester": "Select semester",
+  "enrolled_subjects": "Enrolled subjects",
+  "financial_info": "Financial information",
+  "material_costs": "Material costs",
+  "material_costs_info": "Material costs include all required fees for materials and resources for the subjects.",
+  "which_time": "Which time",
+  "signature": "Signature",
+  "group": "Group",
+  "professor": "Professor",
+  "subjects_list": "Subjects list",
+  "mandatory_short": "Mand.",
+  "elective_short": "Elect.",
+  "enrolled_by_student": "Enrolled by student",
+  "due": "Debt"
+}
Index: src/locales/mk/translation.json
===================================================================
--- src/locales/mk/translation.json	(revision 50f2fb4b186356bc63dde83200e8b04fe71d2c7a)
+++ src/locales/mk/translation.json	(revision 50f2fb4b186356bc63dde83200e8b04fe71d2c7a)
@@ -0,0 +1,255 @@
+{
+  "prof_students_title": "Професор • Студенти",
+  "prof_students_data_note": "Податоците се од",
+  "filter_by_subject": "Филтрирај по предмет",
+  "all_subjects": "Сите предмети",
+  "find_student_by_id": "Најди студент по индекс / ID",
+  "student_id_placeholder": "пр. 20001",
+  "no_students_found": "Не се пронајдени студенти.",
+  "student": "Студент",
+  "id": "ID",
+  "actions": "Акции",
+  "current": "Тековна",
+  "add_grade": "Додади оценка",
+  "edit_grade": "Измени оценка",
+  "remove_grade": "Избриши оценка",
+  "documents_overview": "Преглед на вашите документи и нивниот статус.",
+  "new_document_request": "Ново барање за документ",
+  "select_document": "Избери документ",
+  "price": "Цена",
+  "comment": "Коментар",
+  "subjects_overview": "Преглед на вашите запишани предмети и нивниот статус.",
+  "enrolled_by_student": "Запишан од студентот",
+  "financial_info": "Финансиски информации",
+  "electronic_registration": "Електронска регистрација",
+  "eukim": "еУКИМ",
+  "bank_provision": "Банкарска провизија",
+  "debt_from_documents": "Долг од документи",
+  "debt": "Долг",
+  "select_semester": "Избери семестар",
+  "enrolled_subjects": "Запишани предмети",
+  "subjects_list": "Листа на предмети",
+  "hours": "Часови",
+  "which_time": "Кој пат",
+  "signature": "Потпис",
+  "group": "Група",
+  "professor": "Професор",
+  "ticket_number": "Број на тикет",
+    "due": "Долг",
+    "material_costs": "Материјални трошоци",
+    "material_costs_info": "Материјалните трошоци ги вклучуваат сите задолжителни надоместоци за материјали и ресурси за предметите.",
+  "Download": "Преземи",
+  "ДА": "ДА",
+  "Не": "Не",
+  "approved": "Одобрено",
+  "Онлајн плаќањата имаат банкарска провизија за безготовинско плаќање од 1,14% од оригиналната сума (минималната провизија 3,00, максималната 300,00 мкд)": "Онлајн плаќањата имаат банкарска провизија за безготовинско плаќање од 1,14% од оригиналната сума (минималната провизија 3,00, максималната 300,00 мкд)",
+  "add_comment": "Додај коментар",
+  "submit": "Поднеси",
+  "my_documents": "Мои документи",
+  "archive": "Архива",
+  "request": "Барање",
+  "paid": "Платено",
+  "ДА": "ДА",
+  "Не": "Не",
+  "document": "Документ",
+  "Download": "Преземи",
+  "pay_online": "Плати онлајн",
+  "status": "Статус",
+  "none": "—",
+  "show_rows": "Прикажи редови",
+  "page": "Страница",
+  "of": "од",
+  "first": "Прва",
+  "last": "Последна",
+  "total": "Вкупно",
+  "documents_payment_info": "За повеќе информации за плаќање документи, обратете се во администрација.",
+  "total_documents": "Вкупно документи",
+  "approved": "Одобрени",
+  "total_price": "Вкупна цена",
+  "mkd": "мкд",
+  "free": "0,00",
+  "choose_document": "Избери документ",
+  "applications_important_note_text": "Серискиот број на електронската пријава задолжително треба да се впише на хартиената пријава која студентот ќе ја поднесе физички.",
+  "university": "Универзитет „Св. КИРИЛ И МЕТОДИЈ“ - Скопје",
+  "faculty": "Факултет за информатички науки и компјутерско инженерство",
+  "logout": "Одјави се",
+  "profile": "Профил",
+  "semesters": "Семестри",
+  "applications": "Апликации",
+  "documents": "Документи",
+  "exams": "Испити",
+  "subjects": "Предмети",
+  "students": "Студенти",
+  "loading": "Се вчитува...",
+  "failed_to_load_profile": "Не успеавме да го вчитаме профилот.",
+  "n_a": "Н/П",
+  "index": "Индекс",
+  "embg": "ЕМБГ",
+  "personal_info": "Лични податоци",
+  "first_name": "Име",
+  "middle_name": "Средно име",
+  "last_name": "Презиме",
+  "maiden_name": "Моминско презиме",
+  "date_of_birth": "Датум на раѓање",
+  "gender": "Пол",
+  "male": "машки",
+  "female": "женски",
+  "nationality": "Националност",
+  "citizenship": "Државјанство",
+  "scholarship": "Стипендија",
+  "current_plan": "Тековен план",
+  "registry_number": "Бр. во матична книга",
+  "study_group": "Група на студирање",
+  "note": "Забелешка",
+  "birth_info": "Податоци за раѓање",
+  "place_of_birth": "Место на раѓање",
+  "municipality_of_birth": "Општина на раѓање",
+  "country": "Земја",
+  "previous_education": "Претходно образование",
+  "type": "Тип",
+  "profession": "Професија",
+  "average": "Просек",
+  "language": "Јазик",
+  "previous_university": "Претходен универзитет",
+  "previous_faculty": "Претходен факултет",
+  "previous_study_mode": "Режим на претходни студии",
+  "enrollment_info": "Податоци за упис",
+  "enrollment_year": "Година на упис",
+  "status": "Статус",
+  "cycle": "Циклус",
+  "program": "Запишана програма",
+  "quota": "Квота на прв упис",
+  "secondary_education_number": "Бр. дипл. ср. образование",
+  "previous_education_credits": "Кред. пр. образование",
+  "contact": "Контакт",
+  "place_of_residence": "Место на живеење",
+  "municipality_of_residence": "Општина на живеење",
+  "address": "Адреса",
+  "temporary_address": "Адреса на престој",
+  "phone": "Телефон",
+  "mobile_phone": "Моб. телефон",
+  "passport_number": "Број на пасош",
+  "passport_expiry_date": "Датум на истекување на пасошот",
+  "email": "Е-пошта",
+  "microsoft_email": "Microsoft email",
+  "applications_header": "Пријави",
+  "applications_subheader": "Електронски пријави за испити",
+  "select_exam_session": "Избери испитна сесија:",
+  "registered_exams": "Пријавени испити",
+  "serial_number": "Сериски број",
+  "code": "Код",
+  "subject": "Предмет",
+  "completed": "Завршени",
+  "not_completed": "Незавршени",
+  "fee": "Таксени",
+  "date": "Датум",
+  "instructor": "Наставник",
+  "decade": "Декада",
+  "important_note": "Важна забелешка",
+  "yes": "Да",
+  "no": "Не",
+  "total_fee": "Вкупна такса",
+  "failed_to_load_exams": "Не успеавме да ги вчитаме испитите.",
+  "credits": "Кредити",
+  "passed": "Положени",
+  "remaining": "Останато",
+  "semester": "Семестар",
+  "grade": "Оценка",
+  "semesters_overview": "Преглед на вашите запишани семестри и нивниот статус.",
+  "semesters_list": "Листа на семестри",
+  "direction": "Насока",
+  "student_com": "Студентска комисија",
+  "sum": "Сума",
+  "paid": "Платено",
+  "ukim": "УКИМ",
+  "created_on": "Креирано на",
+  "date_changed": "Датум на промена",
+  "doc": "Документ",
+  "doc1": "Документ 1",
+  "verified": "Потврдено",
+  "taxes": "Такси",
+  "signatures": "Потписи",
+  "valid": "Валидно",
+  "completed_semester": "Завршени семестри",
+  "verified_semesters": "Потврдени семестри",
+  "total_semesters": "Вкупно семестри",
+  "completed_semesters": "Завршени семестри",
+  "2025_summer_session2": "2025 (Летна) Втора испитна сесија",
+  "2025_summer_session1": "2025 (Летна) Прва испитна сесија",
+  "2025_winter_session2": "2025 (Зимска) Втора испитна сесија",
+  "2025_winter_session1": "2025 (Зимска) Прва испитна сесија",
+  "2024_summer_session2": "2024 (Летна) Втора испитна сесија",
+  "2024_summer_session1": "2024 (Летна) Прва испитна сесија",
+  "2024_winter_session2": "2024 (Зимска) Втора испитна сесија",
+  "2024_winter_session1": "2024 (Зимска) Прва испитна сесија",
+  "select_document": "Изберете документ",
+  "administrative_regulation": "Барање за административно регулирање на ретроактивен семестар (од 2024г) ( 1000)",
+  "exam_application_satisfaction": "Барање за задочно пријавување на испит (од 2024г) ( 1000)",
+  "semester_enrollment_after_deadline": "Барање за запишување на семестар по истек на рок (од 2024г) ( 1500)",
+  "certificate_issuance_various": "Барање за издавање потврди по разни основи (од 2024г) ( 1500)",
+  "student_status_verification": "Барање за мирување на студиите (од 2024г) ( 2000)",
+  "diploma_thesis_postponement": "Барање за откажување на пријавена тема за дипломска работа (од 2024г) ( 1000)",
+  "diploma_package": "Барање за пакет за дипломирање (од 2024г) (6200)",
+  "exam_postponement": "Барање за поништување на испит (од 2024г) ( 2000)",
+  "regular_student_certificate": "Барање за потврда за редовен студент (хартиена) ( 100)",
+  "study_continuation_verification": "Барање за продолжување на студии во мирување (од 2024г) ( 2000)",
+  "failed_subject_grade_change": "Барање за промена на изборен предмет (од 2024г) ( 1500)",
+  "passed_subject_grade_change": "Барање за промена на положен предмет (од 2024г) ( 0)",
+  "study_program_change_same_accreditation": "Барање за промена на студиска програма од иста акредитација (од 2024г) ( 2000)",
+  "study_program_change_new_accreditation": "Барање за промена на студиска програма од понова акредитација (од 2024г) ( 3000)",
+  "diploma_supplement": "Додаток на диплома ( 0)",
+  "diploma_supplement_second_cycle": "Додаток на диплома (втор циклус) ( 0)",
+  "mksa": "МКСА ( 750)",
+  "exam_recognition": "Признавање на положени испити ( 0)",
+  "student_card_old": "Студентски картон (Старо) ( 0)",
+  "Уверение за положени испити ФИНКИ": "Уверение за положени испити ФИНКИ",
+  "УППИ образец": "УППИ образец",
+  "Уверение за редовен студент - ФИНКИ": "Уверение за редовен студент - ФИНКИ",
+  "Компјутерски мрежи и безбедност": "Компјутерски мрежи и безбедност",
+  "Шаблони за дизајн на кориснички интерфејси": "Шаблони за дизајн на кориснички интерфејси",
+  "Деловна пракса": "Деловна пракса",
+  "Маркетинг": "Маркетинг",
+  "Оперативни системи": "Оперативни системи",
+  "Софтверско инженерство": "Софтверско инженерство",
+  "Вештачка интелигенција": "Вештачка интелигенција",
+  "Сашо Граматиков": "Сашо Граматиков",
+  "Сузана Лошковска": "Сузана Лошковска",
+  "Александар Стојменски": "Александар Стојменски",
+  "Билјана Стојкоска": "Билјана Стојкоска",
+  "Невена Ацковска": "Невена Ацковска",
+  "Ѓорѓи Маџаров": "Ѓорѓи Маџаров",
+  "Соња Гиевска": "Соња Гиевска",
+  "2025_summer_session2": "2025 (Летна) Втора испитна сесија",
+  "2025_summer_session1": "2025 (Летна) Прва испитна сесија",
+  "2025_winter_session2": "2025 (Зимска) Втора испитна сесија",
+  "2025_winter_session1": "2025 (Зимска) Прва испитна сесија",
+  "2024_summer_session2": "2024 (Летна) Втора испитна сесија",
+  "2024_summer_session1": "2024 (Летна) Прва испитна сесија",
+  "2024_winter_session2": "2024 (Зимска) Втора испитна сесија",
+  "2024_winter_session1": "2024 (Зимска) Прва испитна сесија",
+  "applications_important_note_text": "Серискиот број на електронската пријава задолжително треба да се впише на хартиената пријава која студентот ќе ја поднесе физички.",
+  "login_student_title": "Најава за студент",
+  "login_student_example": "\"email\":\"boris@example.com\",\n\"password\":\"your-password-here\",",
+  "login_note_slow": "Може да потрае до 30 секунди по долга неактивност.",
+  "login_professor_title": "Најава за професор",
+  "login_professor_example": "\"email\":\"andonov@gmail.com\",\n\"password\":\"123lol456\",",
+  "login_welcome": "Добредојде",
+  "login_subtitle": "Најавете се во вашиот IKnow акаунт",
+  "login_email_label": "Внесете е-пошта",
+  "login_email_placeholder": "Внесете е-пошта",
+  "login_password_label": "Лозинка",
+  "login_password_placeholder": "Внесете лозинка",
+  "login_remember_me": "Запомни ме",
+  "login_forgot_password": "Заборавена лозинка?",
+  "login_button": "Најави се",
+  "login_button_loading": "Најавување...",
+  "login_no_account": "Немате акаунт?",
+  "login_contact_admin": "Контактирајте ја администрацијата",
+  "login_footer": "Студентски информационен систем"
+  ,
+  "failed_to_load_subjects": "Не успеавме да ги вчитаме предметите."
+  ,
+  "serial_number": "Сериски број",
+  "mandatory_short": "Зад.",
+  "elective_short": "Изб."
+}
