Skip to content

Commit ed42bbc

Browse files
authored
Merge pull request #114 from vfilon/feature/russian-i18n
feat(i18n): Add Russian language support to UI and documentation
2 parents 0c017bf + 9102d8e commit ed42bbc

6 files changed

Lines changed: 1678 additions & 4 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ OpenTranscribe is a powerful, containerized web application for transcribing and
140140
### 📱 **Enhanced User Experience**
141141
- **Progressive Web App**: Installable app experience with offline capabilities
142142
- **Responsive Design**: Optimized for desktop, tablet, and mobile devices
143-
- **UI Internationalization**: Interface available in 7 languages (English, Spanish, French, German, Portuguese, Chinese, Japanese)
143+
- **UI Internationalization**: Interface available in 8 languages (English, Spanish, French, German, Portuguese, Chinese, Japanese, Russian)
144144
- **Interactive Waveform Player**: Click-to-seek audio visualization with precise timing
145145
- **Floating Upload Manager**: Draggable upload interface with real-time progress
146146
- **Smart Modal System**: Consistent modal design with improved accessibility

docs-site/docs/faq.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ Configure language settings in: **Settings → Transcription → Language Settin
129129
- Portuguese (Portugu\u00eas)
130130
- Chinese (\u4e2d\u6587)
131131
- Japanese (\u65e5\u672c\u8a9e)
132+
- Russian (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)
132133

133134
Change the UI language in: **Settings → Language**
134135

frontend/README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ A modern Svelte-based frontend for the OpenTranscribe AI-powered transcription a
5454
- **Responsive Design** - Works seamlessly across desktop and mobile
5555
- **Real-time Updates** - WebSocket integration for live transcription progress
5656
- **Dark/Light Mode** - Automatic theme switching with user preference
57-
- **Internationalization (i18n)** - UI available in 7 languages (English, Spanish, French, German, Portuguese, Chinese, Japanese)
57+
- **Internationalization (i18n)** - UI available in 7 languages (English, Spanish, French, German, Portuguese, Chinese, Japanese, Russian)
5858
- **Advanced Upload System** - Floating, draggable upload manager with concurrent processing
5959
- **Upload Progress Tracking** - Real-time progress with estimated time remaining
6060
- **Intelligent Upload Management** - Queue control, retry logic, and duplicate detection
@@ -262,7 +262,8 @@ export const SUPPORTED_LANGUAGES = [
262262
{ code: 'de', name: 'German', nativeName: 'Deutsch' },
263263
{ code: 'pt', name: 'Portuguese', nativeName: 'Português' },
264264
{ code: 'zh', name: 'Chinese', nativeName: '中文' },
265-
{ code: 'ja', name: 'Japanese', nativeName: '日本語' }
265+
{ code: 'ja', name: 'Japanese', nativeName: '日本語' },
266+
{ code: "ru", name: 'Russian', nativeName: 'Русский' },
266267
];
267268
export const t = derived(locale, ...); // Translation function
268269
```
@@ -271,7 +272,7 @@ export const t = derived(locale, ...); // Translation function
271272

272273
### Overview
273274

274-
OpenTranscribe frontend supports 7 languages with a simple, efficient i18n system.
275+
OpenTranscribe frontend supports 8 languages with a simple, efficient i18n system.
275276

276277
### Supported Languages
277278

@@ -282,6 +283,7 @@ OpenTranscribe frontend supports 7 languages with a simple, efficient i18n syste
282283
- **Portuguese** (pt) - Português
283284
- **Chinese** (zh) - 中文
284285
- **Japanese** (ja) - 日本語
286+
- **Russian** (ru) - Русский
285287

286288
### Usage in Components
287289

frontend/src/lib/i18n/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import de from "./locales/de.json";
99
import pt from "./locales/pt.json";
1010
import zh from "./locales/zh.json";
1111
import ja from "./locales/ja.json";
12+
import ru from "./locales/ru.json";
1213

1314
const resources = {
1415
en: { translation: en },
@@ -18,6 +19,7 @@ const resources = {
1819
pt: { translation: pt },
1920
zh: { translation: zh },
2021
ja: { translation: ja },
22+
ru: { translation: ru },
2123
};
2224

2325
export async function initI18n(

frontend/src/lib/i18n/languages.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ export const SUPPORTED_LANGUAGES: Language[] = [
1313
{ code: "pt", name: "Portuguese", nativeName: "Português", direction: "ltr" },
1414
{ code: "zh", name: "Chinese", nativeName: "中文", direction: "ltr" },
1515
{ code: "ja", name: "Japanese", nativeName: "日本語", direction: "ltr" },
16+
{ code: "ru", name: "Russian", nativeName: "Русский", direction: "ltr" },
1617
];
1718

1819
export const DEFAULT_LANGUAGE = "en";

0 commit comments

Comments
 (0)