Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions apps/mobile/app/_layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import Constants from 'expo-constants';
import { useFonts } from 'expo-font';
import { SplashScreen, Stack, useNavigationContainerRef } from 'expo-router';
import { useMakePlural } from 'i18n-js';
import { de, en, es, fr, ja, pt, ru, zh } from 'make-plural';
import { de, en, es, fr, ja, pt, ro, ru, zh } from 'make-plural';
import { ReactElement, useEffect } from 'react';
import { GestureHandlerRootView } from 'react-native-gesture-handler';
import { KeyboardProvider } from 'react-native-keyboard-controller';
Expand Down Expand Up @@ -113,9 +113,17 @@ const translations = {
...require('i18n/mobile/profile/ja.json'),
...require('i18n/mobile/folder/ja.json'),
},
[LanguageCode.ROMANIAN]: {
...require('i18n/mobile/app/ro.json'),
...require('i18n/mobile/shared/ro.json'),
...require('i18n/mobile/auth/ro.json'),
...require('i18n/mobile/chat/ro.json'),
...require('i18n/mobile/profile/ro.json'),
...require('i18n/mobile/folder/ro.json'),
},
};

Object.entries({ en, ru, es, pt, fr, de, zh, ja }).forEach(([locale, pluralizer]) => {
Object.entries({ en, ru, es, pt, fr, de, zh, ja, ro }).forEach(([locale, pluralizer]) => {
i18n.pluralization.register(locale, useMakePlural({ pluralizer }));
});

Expand Down
98 changes: 98 additions & 0 deletions i18n/mobile/app/ro.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
{
"APP": {
"CHAT_LIST_SCREEN": {
"TEXT_CHATS": "Conversații"
},
"SETTINGS_SCREEN": {
"TEXT_SETTINGS": "Profil și setări",
"TEXT_SECTION_GENERAL": "General",
"TEXT_SECTION_PROFILE": "Profil",
"TEXT_SECTION_FEEDBACK": "Feedback",
"TEXT_SECTION_CHATS": "Conversații",
"TEXT_DEFAULT_MODEL": "Model implicit",
"TEXT_DEFAULT_SYSTEM_PROMPT": "Prompt de sistem implicit",
"TEXT_LANGUAGE": "Limbă",
"TEXT_NOT_SET": "Nesetat",
"TEXT_LOAD_ERROR": "Încărcare eșuată",
"TEXT_PROFILE_NAME": "Nume profil",
"TEXT_AVATAR": "Avatar",
"TEXT_CHANGE_PASSWORD": "Schimbă parola",
"TEXT_LOGOUT": "Deconectare",
"TEXT_REPORT_A_BUG": "Raportează o eroare",
"TEXT_RATE_APP": "Evaluează aplicația",
"TEXT_ARCHIVED_CHATS": "Conversații arhivate",
"TEXT_EXPORT_ALL_CHATS": "Exportă toate conversațiile",
"TEXT_ARCHIVE_ALL": "Arhivează tot",
"TEXT_ARCHIVE_ALL_CHATS_TITLE": "Arhivează toate conversațiile",
"TEXT_ARCHIVE_ALL_CHATS_MESSAGE": "Sigur dorești să arhivezi toate conversațiile? Această acțiune nu poate fi anulată.",
"TEXT_DELETE_ALL": "Șterge tot",
"TEXT_DELETE_ALL_CHATS_TITLE": "Șterge toate conversațiile",
"TEXT_DELETE_ALL_CHATS_MESSAGE": "Sigur dorești să ștergi toate conversațiile? Această acțiune nu poate fi anulată.",
"TEXT_ALWAYS_ON_WEB_SEARCH": "Căutare web permanentă",
"TEXT_HAPTIC_FEEDBACK": "Feedback haptic",
"TEXT_ENABLE_MESSAGE_QUEUE": "Activează coada de mesaje",
"TEXT_CHAT_BUBBLE_UI": "Mesaje sub formă de baloane",
"TEXT_TEMPORARY_CHAT_BY_DEFAULT": "Conversație temporară implicit",
"TEXT_RENDER_MARKDOWN_IN_USER_MESSAGE": "Afișează Markdown în mesajele utilizatorului",
"TEXT_MARKDOWN_RENDERER": "Motor de randare Markdown",
"TEXT_MARKDOWN_RENDERER_DEFAULT": "Implicit",
"TEXT_MARKDOWN_RENDERER_NITRO": "Experimental",
"TEXT_APP_VERSION": "Open MobileUI versiunea {{version}}",
"TEXT_APP_AUTHOR": "de Ronas IT",
"PROFILE_AVATAR_SHEET": {
"TEXT_TITLE": "Avatar profil",
"BUTTON_UPLOAD_PROFILE_IMAGE": "Încarcă imagine de profil",
"BUTTON_RESTORE_DEFAULT_AVATAR": "Restabilește avatarul implicit",
"TEXT_IMAGE_TOO_LARGE": "Această imagine este prea mare. Te rugăm să alegi una mai mică",
"TEXT_UPLOAD_FAILED": "Nu s-a putut procesa imaginea. Te rugăm să încerci alta"
},
"PROFILE_NAME_SHEET": {
"TEXT_TITLE": "Nume profil",
"TEXT_PROFILE_NAME": "Nume profil"
},
"CHANGE_PASSWORD_SHEET": {
"TEXT_TITLE": "Schimbă parola",
"TEXT_CURRENT_PASSWORD": "Parola actuală",
"TEXT_ENTER_CURRENT_PASSWORD": "Introdu parola actuală",
"TEXT_NEW_PASSWORD": "Parolă nouă",
"TEXT_ENTER_NEW_PASSWORD": "Introdu parola nouă",
"TEXT_CONFIRM_NEW_PASSWORD": "Confirmă parola nouă",
"TEXT_ENTER_CONFIRM_NEW_PASSWORD": "Repetă parola nouă",
"TEXT_PASSWORD_CHANGED": "Parola a fost schimbată"
},
"DEFAULT_MODEL_SHEET": {
"TEXT_TITLE": "Model implicit",
"TEXT_SEARCH_MODEL": "Caută model",
"TEXT_NO_MODELS": "Nu există modele."
},
"DEFAULT_SYSTEM_PROMPT_SHEET": {
"TEXT_TITLE": "Prompt de sistem implicit",
"TEXT_LABEL": "Prompt de sistem implicit"
},
"CONTACT_SUPPORT_SHEET": {
"TEXT_REPORT_BUG": "Raportează o eroare",
"TEXT_YOUR_EMAIL": "Adresa ta de email",
"TEXT_YOUR_MESSAGE": "Mesajul tău",
"TEXT_MESSAGE_SENT": "Îți mulțumim pentru feedback! Mesajul tău a fost trimis cu succes",
"BUTTON_ATTACH_SCREENSHOTS_OR_VIDEO": "Atașează capturi de ecran sau un videoclip",
"TEXT_ATTACHMENTS_LIMIT_REACHED": "Poți atașa până la {{count}} fișiere"
},
"LANGUAGE_SHEET": {
"TEXT_TITLE": "Limbă"
},
"MARKDOWN_RENDERER_SHEET": {
"TEXT_TITLE": "Motor de randare Markdown"
},
"TEXT_DELETE_ACCOUNT": "Șterge contul",
"TEXT_DELETE_ACCOUNT_TITLE": "Sigur dorești să îți ștergi contul?",
"TEXT_DELETE_ACCOUNT_MESSAGE": "Această acțiune va duce la pierderea definitivă a datelor dacă nu ne contactezi în următoarele 30 de zile.",
"BUTTON_DELETE_ACCOUNT": "Da, șterge contul meu",
"BUTTON_DONT_DELETE": "Nu șterge",
"TEXT_ACCOUNT_DELETION_REQUEST": "Cererea ta de ștergere a contului a fost trimisă.",
"TEXT_LOGOUT_TITLE": "Te deconectezi?",
"TEXT_LOGOUT_MESSAGE": "Sigur dorești să te deconectezi?",
"BUTTON_LOGOUT": "Deconectare",
"BUTTON_CANCEL": "Anulează"
}
}
}
25 changes: 25 additions & 0 deletions i18n/mobile/auth/ro.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"AUTH": {
"SIGN_IN": {
"TEXT_TITLE_EXTERNAL": "Conectare",
"TEXT_YOU_LOGGED_IN": "Ești conectat acum.",
"EMAIL_FORM": {
"TEXT_EMAIL_ADDRESS": "Adresă de email",
"TEXT_PASSWORD": "Parolă",
"TEXT_API_URL": "URL API",
"TEXT_ENTER_YOUR_PASSWORD": "Introdu parola",
"BUTTON_SIGN_IN": "Conectare"
},
"GOOGLE_FORM": {
"BUTTON_CONTINUE_WITH_GOOGLE": "Continuă cu Google"
},
"OIDC_FORM": {
"BUTTON_CONTINUE_WITH": "Continuă cu {{provider}}"
},
"OAUTH_WEB_VIEW_MODAL": {
"BUTTON_CLOSE": "Închide",
"TEXT_THIS_SIGN_IN_METHOD_IS_UNAVAILABLE": "Această metodă de conectare nu este disponibilă. Te rugăm să folosești o altă opțiune pentru a continua."
}
}
}
}
195 changes: 195 additions & 0 deletions i18n/mobile/chat/ro.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,195 @@
{
"CHAT": {
"CHAT_SCREEN": {
"TEXT_LOADING": "Se încarcă...",
"TEXT_SELECT_A_MODEL": "Selectează un model",
"TEXT_TEMPORARY_CHAT": "Conversație temporară"
},
"CHAT": {
"TEXT_INPUT_PLACEHOLDER": "Trimite un mesaj",
"TEXT_READ_ONLY": "Doar citire",
"TEXT_MODEL_NOT_SELECTED": "Niciun model selectat",
"TEXT_MESSAGE_QUEUED": "Mesaj adăugat în coadă"
},
"CHAT_MENU_LIST": {
"PINNED_CHAT_LIST": {
"TEXT_PINNED": "Fixate"
},
"TEXT_SHARED_WITH_ME": "Partajate cu mine",
"TEXT_MY_FOLDERS": "Folderele mele",
"TEXT_NEW_CHAT": "Conversație nouă",
"TEXT_SEARCH": "Căutare",
"TEXT_THERE_ARE_NO_CHATS": "Nu există conversații"
},
"SEARCH_CHATS_LIST": {
"TEXT_THERE_ARE_NO_CHATS": "Nu există conversații"
},
"FORM_CHAT_INPUT": {
"TEXT_MODEL_NOT_SELECTED": "Niciun model selectat",
"ATTACHMENTS_ACTIONS_POPUP": {
"TEXT_CAPTURE": "Fotografiază",
"TEXT_CHOOSE_FROM_GALLERY": "Alege din galerie",
"TEXT_UPLOAD_FILES": "Încarcă fișiere",
"TEXT_YOU_CANNOT_UPLOAD_EMPTY_FILE": "Nu poți încărca un fișier gol."
},
"TOOL_PERMISSIONS_POPUP": {
"TEXT_FULL_ACCESS": "Acces complet",
"TEXT_ASK_FOR_APPROVAL": "Cere aprobare"
},
"TOOLS_POPUP": {
"TEXT_TITLE": "Instrumente",
"TEXT_NO_TOOLS_AVAILABLE": "Niciun instrument disponibil",
"TEXT_SIGN_IN_REQUIRED": "{{name}} — conectează-te pe web"
}
},
"SHARE_CHAT_MODAL": {
"TEXT_SHARE_CHAT": "Partajează conversația",
"TEXT_DESCRIPTION_NOT_SHARED": "Mesajele trimise după crearea linkului nu vor fi partajate. Utilizatorii cu acest URL vor putea vedea conversația partajată.",
"TEXT_DESCRIPTION_SHARED_1": "Ai partajat această conversație",
"TEXT_BEFORE_LINK": "acum",
"TEXT_DESCRIPTION_SHARED_2": "Apasă aici pentru a",
"TEXT_DELETE_LINK": "șterge acest link",
"TEXT_DESCRIPTION_SHARED_3": "și a crea un nou link partajat.",
"BUTTON_COPY_LINK": "Copiază linkul",
"BUTTON_UPDATE_AND_COPY_LINK": "Actualizează și copiază linkul",
"TEXT_LINK_COPIED": "Link copiat în clipboard"
},
"CREATE_CHAT": {
"TEXT_NEW_CHAT": "Conversație nouă",
"TEXT_PLACEHOLDER": "Cu ce te pot ajuta astăzi?",
"TEXT_MODEL_NOT_SELECTED": "Niciun model selectat",
"TEXT_SELECT_A_MODEL": "Selectează un model",
"SEARCH_MODEL_VIEW": {
"TEXT_SELECT_A_MODEL": "Selectează un model",
"TEXT_SEARCH_MODEL": "Caută model"
},
"SEARCH_FOLDER_VIEW": {
"TEXT_SEARCH_FOLDER": "Caută folder",
"TEXT_NO_FOLDER": "Fără folder",
"TEXT_CREATE_NEW_FOLDER": "Creează folder nou"
},
"SUGGESTIONS_LIST": {
"TEXT_SUGGESTED": "Sugestii",
"TEXT_SUGGESTION_TITLE_1": "Ajută-mă să învăț",
"TEXT_SUGGESTION_SUBTITLE_1": "vocabular pentru un examen de admitere la facultate",
"TEXT_SUGGESTION_CONTENT_1": "Ajută-mă să învăț vocabular: scrie-mi o propoziție cu spațiu liber, iar eu voi încerca să aleg varianta corectă.",
"TEXT_SUGGESTION_TITLE_2": "Dă-mi idei",
"TEXT_SUGGESTION_SUBTITLE_2": "despre ce pot face cu desenele copiilor mei",
"TEXT_SUGGESTION_CONTENT_2": "Care sunt 5 idei creative pentru ce aș putea face cu desenele copiilor mei? Nu vreau să le arunc, dar ocupă mult spațiu.",
"TEXT_SUGGESTION_TITLE_3": "Spune-mi un fapt interesant",
"TEXT_SUGGESTION_SUBTITLE_3": "despre Imperiul Roman",
"TEXT_SUGGESTION_CONTENT_3": "Spune-mi un fapt interesant, ales la întâmplare, despre Imperiul Roman",
"TEXT_SUGGESTION_TITLE_4": "Arată-mi un fragment de cod",
"TEXT_SUGGESTION_SUBTITLE_4": "pentru un antet lipicios (sticky header) al unui site",
"TEXT_SUGGESTION_CONTENT_4": "Arată-mi un fragment de cod pentru un antet lipicios al unui site, în CSS și JavaScript.",
"TEXT_SUGGESTION_TITLE_5": "Explică tranzacționarea cu opțiuni",
"TEXT_SUGGESTION_SUBTITLE_5": "dacă sunt familiarizat cu cumpărarea și vânzarea de acțiuni",
"TEXT_SUGGESTION_CONTENT_5": "Explică tranzacționarea cu opțiuni în termeni simpli, presupunând că sunt familiarizat cu cumpărarea și vânzarea de acțiuni.",
"TEXT_SUGGESTION_TITLE_6": "Depășește procrastinarea",
"TEXT_SUGGESTION_SUBTITLE_6": "dă-mi câteva sfaturi",
"TEXT_SUGGESTION_CONTENT_6": "Poți să mă întrebi mai întâi în ce situații procrastinez cel mai mult și apoi să îmi dai câteva sugestii pentru a depăși asta?"
}
},
"ATTACHED_FILE_ITEM": {
"TEXT_FILE": "Fișier",
"TEXT_DOCUMENT": "Document",
"TEXT_COLLECTION": "Colecție",
"FILE_INFO_MODAL": {
"TEXT_FORMATTING_DISCLAIMER": "Formatarea poate diferi față de sursa originală.",
"TEXT_NO_PREVIEW_AVAILABLE": "Previzualizare indisponibilă",
"TEXT_EXTRACTED_LINES": {
"one": "{{count}} linie extrasă",
"few": "{{count}} linii extrase",
"other": "{{count}} de linii extrase"
}
}
},
"SOURCE_CITATION_MODAL": {
"TEXT_CITATION": "Citat",
"TEXT_SOURCE": "Sursă",
"TEXT_RELEVANCE": "Relevanță",
"TEXT_CONTENT": "Conținut",
"TEXT_NO_PREVIEW_AVAILABLE": "Previzualizare indisponibilă"
},
"ARCHIVED_CHATS_LIST": {
"TEXT_ARCHIVED_CHATS": "Conversații arhivate",
"TEXT_NO_CHATS": "Nu există conversații arhivate.",
"CHAT_ITEM": {
"TEXT_DELETE_CHAT": "Ștergi conversația?",
"TEXT_THIS_WILL_DELETE": "Aceasta va șterge {{name}}",
"TEXT_RESTORE": "Restaurează",
"TEXT_EXPORT": "Exportă",
"TEXT_DELETE": "Șterge",
"TEXT_KEEP": "Păstrează"
},
"ARCHIVED_CHATS_ACTIONS_SHEET": {
"TEXT_UNARCHIVE_CHATS": "Dezarhivezi toate conversațiile?",
"TEXT_ARE_YOU_SURE": "Sigur dorești să dezarhivezi toate conversațiile arhivate?",
"BUTTON_RESTORE_ALL_CHATS": "Restaurează toate conversațiile",
"BUTTON_EXPORT_ALL_CHATS": "Exportă toate conversațiile"
}
},
"USER_MESSAGE_ACTIONS": {
"TEXT_EDIT": "Editează",
"TEXT_COPY": "Copiază"
},
"AI_MESSAGE_ACTIONS": {
"TEXT_EDIT": "Editează",
"TEXT_COPY": "Copiază",
"TEXT_CONTINUE_RESPONSE": "Continuă răspunsul",
"TEXT_REGENERATE": "Regenerează",
"REGENERATE_MESSAGE_ACTION_SHEET": {
"TEXT_SUGGEST_A_CHANGE": "Sugerează o modificare",
"TEXT_TRY_AGAIN": "Încearcă din nou",
"TEXT_ADD_DETAILS": "Adaugă detalii",
"TEXT_MORE_CONCISE": "Mai concis"
}
},
"EDIT_MESSAGE_INPUT": {
"TEXT_EDIT_MESSAGE": "Editează mesajul",
"BUTTON_SAVE": "Salvează",
"BUTTON_SAVE_AS_COPY": "Salvează ca o copie",
"BUTTON_SEND": "Trimite",
"BUTTON_CANCEL": "Anulează"
},
"SUGGEST_CHANGE_INPUT": {
"TEXT_SUGGEST_A_CHANGE": "Sugerează o modificare",
"BUTTON_CANCEL": "Anulează"
},
"ARCHIVED_CHATS_FILTERS_SHEET": {
"USE_SEARCH_FILTERS": {
"TEXT_MOST_RECENT": "Cele mai recente",
"TEXT_OLDEST": "Cele mai vechi",
"TEXT_A-Z": "A-Z",
"TEXT_Z-A": "Z-A"
}
},
"VOICE_MODE_MODAL": {
"TEXT_LISTENING": "Ascult...",
"TEXT_THINKING": "Mă gândesc...",
"TEXT_TALKING": "Vorbesc..."
},
"MESSAGE_FOLLOW_UPS": {
"TEXT_FOLLOW_UP": "Continuare"
},
"AI_MESSAGE": {
"TOOL_OUTPUT_SHEET": {
"TEXT_VIEW_RESULT_PREFIX": "Vezi rezultatul de la",
"TEXT_INPUT": "Intrare",
"TEXT_OUTPUT": "Ieșire"
},
"TOOL_APPROVAL_CARD": {
"TEXT_ALLOW_PREFIX": "Permite",
"BUTTON_ALLOW": "Permite",
"BUTTON_DENY": "Refuză"
},
"ASK_USER_CARD": {
"TEXT_OTHER": "Altul",
"TEXT_OTHER_PLACEHOLDER": "Scrie răspunsul tău",
"BUTTON_NEXT": "Următorul",
"BUTTON_SUBMIT": "Trimite",
"BUTTON_DENY": "Omite"
}
}
}
}
Loading
Loading