From f5c9ab04f8b4c1535fc59ac8127786987c11aab1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sondre=20Nj=C3=A5stad?= Date: Mon, 18 Mar 2024 12:40:09 +0100 Subject: [PATCH] Add lanuage selector, norwegian, franch and presistant language preference based on user --- src/UI/UIDesktop.js | 22 + src/globals.js | 1 + src/i18n/i18n.js | 1349 +------------------------ src/i18n/i18nChangeLanguage.js | 8 + src/i18n/no.js | 141 --- src/i18n/translations/en.js | 148 +++ src/i18n/translations/fa.js | 148 +++ src/i18n/translations/fr.js | 148 +++ src/i18n/translations/ko.js | 148 +++ src/i18n/translations/no.js | 148 +++ src/i18n/translations/translations.js | 15 + src/i18n/translations/zh.js | 148 +++ src/initgui.js | 3 +- src/static-assets.js | 2 +- 14 files changed, 948 insertions(+), 1481 deletions(-) create mode 100644 src/i18n/i18nChangeLanguage.js delete mode 100644 src/i18n/no.js create mode 100644 src/i18n/translations/en.js create mode 100644 src/i18n/translations/fa.js create mode 100644 src/i18n/translations/fr.js create mode 100644 src/i18n/translations/ko.js create mode 100644 src/i18n/translations/no.js create mode 100644 src/i18n/translations/translations.js create mode 100644 src/i18n/translations/zh.js diff --git a/src/UI/UIDesktop.js b/src/UI/UIDesktop.js index db791a29..c2ee4c97 100644 --- a/src/UI/UIDesktop.js +++ b/src/UI/UIDesktop.js @@ -34,6 +34,7 @@ import UIWindowQR from "./UIWindowQR.js" import UIWindowRefer from "./UIWindowRefer.js" import UITaskbar from "./UITaskbar.js" import new_context_menu_item from "../helpers/new_context_menu_item.js" +import ChangeLanguage from "../i18n/i18nChangeLanguage.js" async function UIDesktop(options){ let h = ''; @@ -1118,6 +1119,19 @@ $(document).on('click', '.user-options-menu-btn', async function(e){ } + // ------------------------------------------- + // Load avaialble languages + // ------------------------------------------- + const supoprtedLanguagesItems = ListSupportedLanugages().map(lang => { + return { + html: lang.name, + icon: window.locale === lang.code ? '✓' : '', + onClick: async function(){ + ChangeLanguage(lang.code); + } + } + }); + UIContextMenu({ id: 'user-options-menu', parent_element: parent_element, @@ -1152,6 +1166,14 @@ $(document).on('click', '.user-options-menu-btn', async function(e){ UIWindowChangePassword(); } }, + + //-------------------------------------------------- + // Change Language + //-------------------------------------------------- + { + html: i18n('change_language'), + items: supoprtedLanguagesItems + }, //-------------------------------------------------- // Contact Us //-------------------------------------------------- diff --git a/src/globals.js b/src/globals.js index 3c443394..34312698 100644 --- a/src/globals.js +++ b/src/globals.js @@ -96,6 +96,7 @@ try { if (window.user_preferences === null) { window.user_preferences = { show_hidden_files: false, + language: 'en', } } diff --git a/src/i18n/i18n.js b/src/i18n/i18n.js index 45909b84..9cb5af7b 100644 --- a/src/i18n/i18n.js +++ b/src/i18n/i18n.js @@ -1,4 +1,12 @@ -window.locale = 'en'; +import translations from './translations/translations.js'; + +window.ListSupportedLanugages = function () { + var result = []; + translations.keys.forEach(function (key) { + result.push(translations[key]); + }); + return result; +}; window.i18n = function (key, replacements = [], encode_html = true) { if(typeof replacements === 'boolean' && encode_html === undefined){ @@ -9,10 +17,10 @@ window.i18n = function (key, replacements = [], encode_html = true) { } // if locale is not set, default to en - if(!window.translations[window.locale]) + if(!translations[window.locale]) window.locale = 'en'; - let str = window.translations[window.locale][key]; + let str = translations[window.locale].dictionary[key]; if (!str) { str = key; @@ -47,1337 +55,4 @@ window.i18n = function (key, replacements = [], encode_html = true) { return str; } -window.translations = { - en: { - access_granted_to: "Access Granted To", - add_existing_account: "Add Existing Account", - all_fields_required: 'All fields are required.', - apply: "Apply", - ascending: 'Ascending', - background: "Background", - browse: "Browse", - cancel: 'Cancel', - center: 'Center', - change_desktop_background: 'Change desktop background…', - change_password: "Change Password", - change_username: "Change Username", - close_all_windows: "Close All Windows", - color: 'Color', - confirm_account_for_free_referral_storage_c2a: 'Create an account and confirm your email address to receive 1 GB of free storage. Your friend will get 1 GB of free storage too.', - confirm_new_password: "Confirm New Password", - contact_us: "Contact Us", - contain: 'Contain', - continue: "Continue", - copy: 'Copy', - copy_link: "Copy Link", - copying: "Copying", - cover: 'Cover', - create_account: "Create Account", - create_free_account: "Create Free Account", - create_shortcut: "Create Shortcut", - current_password: "Current Password", - cut: 'Cut', - date_modified: 'Date modified', - delete: 'Delete', - delete_permanently: "Delete Permanently", - deploy_as_app: 'Deploy as app', - descending: 'Descending', - desktop_background_fit: "Fit", - dir_published_as_website: `%strong% has been published to:`, - disassociate_dir: "Disassociate Directory", - download: 'Download', - downloading: "Downloading", - email: "Email", - email_or_username: "Email or Username", - empty_trash: 'Empty Trash', - empty_trash_confirmation: `Are you sure you want to permanently delete the items in Trash?`, - emptying_trash: 'Emptying Trash…', - feedback: "Feedback", - feedback_c2a: "Please use the form below to send us your feedback, comments, and bug reports.", - feedback_sent_confirmation: "Thank you for contacting us. If you have an email associated with your account, you will hear back from us as soon as possible.", - forgot_pass_c2a: "Forgot password?", - from: "From", - general: "General", - get_a_copy_of_on_puter: `Get a copy of '%%' on Puter.com!`, - get_copy_link: 'Get Copy Link', - hide_all_windows: "Hide All Windows", - html_document: 'HTML document', - image: 'Image', - invite_link: "Invite Link", - items_in_trash_cannot_be_renamed: `This item can't be renamed because it's in the trash. To rename this item, first drag it out of the Trash.`, - jpeg_image: 'JPEG image', - keep_in_taskbar: 'Keep in Taskbar', - log_in: "Log In", - log_out: 'Log Out', - move: 'Move', - moving: "Moving", - my_websites: "My Websites", - name: 'Name', - name_cannot_be_empty: 'Name cannot be empty.', - name_cannot_contain_double_period: "Name can not be the '..' character.", - name_cannot_contain_period: "Name can not be the '.' character.", - name_cannot_contain_slash: "Name cannot contain the '/' character.", - name_must_be_string: "Name can only be a string.", - name_too_long: `Name can not be longer than %% characters.`, - new: 'New', - new_folder: 'New folder', - new_password: "New Password", - new_username: "New Username", - no_dir_associated_with_site: 'No directory associated with this address.', - no_websites_published: "You have not published any websites yet.", - ok: 'OK', - open: "Open", - open_in_new_tab: "Open in New Tab", - open_in_new_window: "Open in New Window", - open_with: "Open With", - password: "Password", - password_changed: "Password changed.", - passwords_do_not_match: '`New Password` and `Confirm New Password` do not match.', - paste: 'Paste', - paste_into_folder: "Paste Into Folder", - pick_name_for_website: "Pick a name for your website:", - picture: "Picture", - powered_by_puter_js: `Powered by Puter.js`, - preparing: "Preparing...", - preparing_for_upload: "Preparing for upload...", - properties: "Properties", - publish: "Publish", - publish_as_website: 'Publish as website', - recent: "Recent", - recover_password: "Recover Password", - refer_friends_c2a: "Get 1 GB for every friend who creates and confirms an account on Puter. Your friend will get 1 GB too!", - refer_friends_social_media_c2a: `Get 1 GB of free storage on Puter.com!`, - refresh: 'Refresh', - release_address_confirmation: `Are you sure you want to release this address?`, - remove_from_taskbar:'Remove from Taskbar', - rename: 'Rename', - repeat: 'Repeat', - resend_confirmation_code: "Re-send Confirmation Code", - restore: "Restore", - save_account_to_get_copy_link: "Please create an account to proceed.", - save_account_to_publish: 'Please create an account to proceed.', - save_session_c2a: 'Create an account to save your current session and avoid losing your work.', - scan_qr_c2a: 'Scan the code below to log into this session from other devices', - select: "Select", - select_color: 'Select color…', - send: "Send", - send_password_recovery_email: "Send Password Recovery Email", - session_saved: "Thank you for creating an account. This session has been saved.", - set_new_password: "Set New Password", - share_to: "Share to", - show_all_windows: "Show All Windows", - show_hidden: 'Show hidden', - sign_in_with_puter: "Sign in with Puter", - sign_up: "Sign Up", - signing_in: "Signing in…", - size: 'Size', - sort_by: 'Sort by', - start: 'Start', - taking_longer_than_usual: 'Taking a little longer than usual. Please wait...', - text_document: 'Text document', - tos_fineprint: `By clicking 'Create Free Account' you agree to Puter's Terms of Service and Privacy Policy.`, - trash: 'Trash', - type: 'Type', - undo: 'Undo', - unzip: "Unzip", - upload: 'Upload', - upload_here: 'Upload here', - username: "Username", - username_changed: 'Username updated successfully.', - versions: "Versions", - yes_release_it: 'Yes, Release It', - you_have_been_referred_to_puter_by_a_friend: "You have been referred to Puter by a friend!", - zip: "Zip", - }, - // farsi - fa: { - access_granted_to: "دسترسی داده شده به", - add_existing_account: "افزودن حساب کاربری موجود", - all_fields_required: 'تمامی فیلدها الزامی هستند.', - apply: "اعمال", - ascending: 'صعودی', - background: "پس زمینه", - browse: "مرور", - cancel: 'لغو', - center: 'مرکز', - change_desktop_background: 'تغییر پس زمینه دسکتاپ…', - change_password: "تغییر رمز عبور", - change_username: "تغییر نام کاربری", - close_all_windows: "بستن همه پنجره ها", - color: 'رنگ', - confirm_account_for_free_referral_storage_c2a: 'حساب کاربری خود را ایجاد کرده و آدرس ایمیل خود را تأیید کنید تا 1 گیگابایت فضای ذخیره سازی رایگان دریافت کنید. دوست شما هم 1 گیگابایت فضای ذخیره سازی رایگان دریافت خواهد کرد.', - confirm_new_password: "تأیید رمز عبور جدید", - contact_us: "تماس با ما", - contain: 'شامل', - continue: "ادامه", - copy: 'کپی', - copy_link: "کپی لینک", - copying: "کپی", - cover: 'جلد', - create_account: "ایجاد حساب کاربری", - create_free_account: "ایجاد حساب کاربری رایگان", - create_shortcut: "ایجاد میانبر", - current_password: "رمز عبور فعلی", - cut: 'برش', - date_modified: 'تاریخ تغییر', - delete: 'حذف', - delete_permanently: "حذف دائمی", - deploy_as_app: 'نصب به عنوان برنامه', - descending: 'نزولی', - desktop_background_fit: "متناسب", - dir_published_as_website: `%strong% منتشر شده به:`, - disassociate_dir: "قطع ارتباط دایرکتوری", - download: 'دانلود', - downloading: "دانلود", - email: "ایمیل", - email_or_username: "ایمیل یا نام کاربری", - empty_trash: 'خالی کردن سطل زباله', - empty_trash_confirmation: `آیا از حذف دائمی موارد در سطل زباله مطمئن هستید؟`, - emptying_trash: 'خالی کردن سطل زباله…', - feedback: "بازخورد", - feedback_c2a: "لطفا از فرم زیر برای ارسال بازخورد، نظرات و گزارش خطا استفاده کنید.", - feedback_sent_confirmation: "با تشکر از تماس شما. اگر ایمیلی به حساب کاربری شما متصل است، در اسرع وقت پاسخ خواهیم داد.", - forgot_pass_c2a: "رمز عبور را فراموش کرده اید؟", - from: "از", - general: "عمومی", - get_a_copy_of_on_puter: `یک نسخه از '%%' را در Puter.com بگیرید!`, - get_copy_link: 'گرفتن لینک کپی', - hide_all_windows: "پنهان کردن همه پنجره ها", - html_document: 'سند HTML', - image: 'تصویر', - invite_link: "لینک دعوت", - items_in_trash_cannot_be_renamed: `این مورد نمی تواند تغییر نام دهد زیرا در سطل زباله است. برای تغییر نام این مورد، ابتدا آن را از سطل زباله بیرون بکشید.`, - jpeg_image: 'تصویر JPEG', - keep_in_taskbar: 'در نوار وظایف نگه دارید', - log_in: "ورود", - log_out: 'خروج', - move: 'انتقال', - moving: "انتقال", - my_websites: "وبسایت های من", - name: 'نام', - name_cannot_be_empty: 'نام نمی تواند خالی باشد.', - name_cannot_contain_double_period: "نام نمی تواند شامل '..' باشد.", - name_cannot_contain_period: "نام نمی تواند شامل '.' باشد.", - name_cannot_contain_slash: "نام نمی تواند شامل '/' باشد.", - name_must_be_string: "نام فقط می تواند یک رشته باشد.", - name_too_long: `نام نمی تواند بیشتر از %% کاراکتر باشد.`, - new: 'جدید', - new_folder: 'پوشه جدید', - new_password: "رمز عبور جدید", - new_username: "نام کاربری جدید", - no_dir_associated_with_site: 'هیچ دایرکتوری مرتبط با این آدرس وجود ندارد.', - no_websites_published: "هنوز هیچ وبسایتی منتشر نکرده اید.", - ok: 'خوب', - open: "باز کردن", - open_in_new_tab: "در تب جدید باز کن", - open_in_new_window: "در پنجره جدید باز کن", - open_with: "باز کردن با", - password: "رمز عبور", - password_changed: "رمز عبور تغییر یافت.", - passwords_do_not_match: '`رمز عبور جدید` و `تأیید رمز عبور جدید` مطابقت ندارند.', - paste: 'چسباندن', - paste_into_folder: "چسباندن در پوشه", - pick_name_for_website: "یک نام برای وبسایت خود انتخاب کنید:", - picture: "تصویر", - powered_by_puter_js: `پشتیبانی شده توسط Puter.js`, - preparing: "در حال آماده سازی...", - preparing_for_upload: "آماده سازی برای بارگذاری...", - properties: "ویژگی ها", - publish: "انتشار", - publish_as_website: 'انتشار به عنوان وبسایت', - recent: "اخیر", - recover_password: "بازیابی رمز عبور", - refer_friends_c2a: "برای هر دوستی که حساب کاربری Puter ایجاد و تأیید کند، 1 گیگابایت دریافت کنید. دوست شما هم 1 گیگابایت دریافت خواهد کرد!", - refer_friends_social_media_c2a: `1 گیگابایت فضای ذخیره سازی رایگان را در Puter.com بگیرید!`, - refresh: 'تازه کردن', - release_address_confirmation: `آیا مطمئن هستید که می خواهید این آدرس را آزاد کنید؟`, - remove_from_taskbar:'از نوار وظایف حذف کن', - rename: 'تغییر نام', - repeat: 'تکرار', - resend_confirmation_code: "ارسال مجدد کد تأیید", - restore: "بازیابی", - save_account_to_get_copy_link: "لطفا برای ادامه یک حساب کاربری ایجاد کنید.", - save_account_to_publish: 'لطفا برای ادامه یک حساب کاربری ایجاد کنید.', - save_session_c2a: 'برای ذخیره جلسه فعلی و جلوگیری از از دست دادن کار خود یک حساب کاربری ایجاد کنید.', - scan_qr_c2a: 'کد زیر را از دستگاه های دیگر اسکن کنید تا به این جلسه وارد شوید', - select: "انتخاب", - select_color: 'انتخاب رنگ…', - send: "ارسال", - send_password_recovery_email: "ارسال ایمیل بازیابی رمز عبور", - session_saved: "با تشکر از ایجاد حساب کاربری. این جلسه ذخیره شده است.", - set_new_password: "تنظیم رمز عبور جدید", - share_to: "اشتراک گذاری به", - show_all_windows: "نمایش همه پنجره ها", - show_hidden: 'نمایش مخفی', - sign_in_with_puter: "ورود با Puter", - sign_up: "ثبت نام", - signing_in: "ورود…", - size: 'اندازه', - sort_by: 'مرتب سازی بر اساس', - start: 'شروع', - taking_longer_than_usual: 'کمی بیشتر از معمول طول می کشد. لطفا صبر کنید...', - text_document: 'سند متنی', - tos_fineprint: `با کلیک بر روی 'ایجاد حساب کاربری رایگان' شما با شرایط خدمات و سیاست حفظ حریم خصوصی Puter موافقت می کنید.`, - trash: 'سطل زباله', - type: 'نوع', - undo: 'بازگشت', - unzip: "باز کردن فایل فشرده", - upload: 'بارگذاری', - upload_here: 'اینجا بارگذاری کنید', - username: "نام کاربری", - username_changed: 'نام کاربری با موفقیت به روز شد.', - versions: "نسخه ها", - yes_release_it: 'بله، آن را آزاد کن', - you_have_been_referred_to_puter_by_a_friend: "شما توسط یک دوست به Puter معرفی شده اید!", - zip: "فشرده سازی", - }, - // korean - ko: { - access_granted_to: "접근 권한 부여", - add_existing_account: "기존 계정 추가", - all_fields_required: '모든 필드는 필수입니다.', - apply: "적용", - ascending: '오름차순', - background: "배경", - browse: "찾아보기", - cancel: '취소', - center: '중앙', - change_desktop_background: '바탕 화면 배경 변경…', - change_password: "비밀번호 변경", - change_username: "사용자 이름 변경", - close_all_windows: "모든 창 닫기", - color: '색상', - confirm_account_for_free_referral_storage_c2a: '계정을 생성하고 이메일 주소를 확인하여 1GB의 무료 저장 공간을 받으십시오. 친구도 1GB의 무료 저장 공간을 받게 됩니다.', - confirm_new_password: "새 비밀번호 확인", - contact_us: "문의하기", - contain: '포함', - continue: "계속", - copy: '복사', - copy_link: "링크 복사", - copying: "복사 중", - cover: '표지', - create_account: "계정 생성", - create_free_account: "무료 계정 생성", - create_shortcut: "바로 가기 만들기", - current_password: "현재 비밀번호", - cut: '잘라내기', - date_modified: '수정한 날짜', - delete: '삭제', - delete_permanently: "영구 삭제", - deploy_as_app: '앱으로 배포', - descending: '내림차순', - desktop_background_fit: "맞추기", - dir_published_as_website: `%strong% 다음에 게시되었습니다:`, - disassociate_dir: "디렉토리 연결 해제", - download: '다운로드', - downloading: "다운로드 중", - email: "이메일", - email_or_username: "이메일 또는 사용자 이름", - empty_trash: '휴지통 비우기', - empty_trash_confirmation: `휴지통의 항목을 영구적으로 삭제하시겠습니까?`, - emptying_trash: '휴지통 비우는 중…', - feedback: "피드백", - feedback_c2a: "아래 양식을 사용하여 피드백, 의견 및 버그 보고를 보내십시오.", - feedback_sent_confirmation: "문의해 주셔서 감사합니다. 계정에 이메일이 연결되어 있으면 가능한 빨리 회신 드리겠습니다.", - forgot_pass_c2a: "비밀번호를 잊으셨나요?", - from: "보낸 사람", - general: "일반", - get_a_copy_of_on_puter: `Puter.com에서 '%%'의 사본을 받으세요!`, - get_copy_link: '링크 복사', - hide_all_windows: "모든 창 숨기기", - html_document: 'HTML 문서', - image: '이미지', - invite_link: "초대 링크", - items_in_trash_cannot_be_renamed: `이 항목은 휴지통에 있기 때문에 이름을 바꿀 수 없습니다. 이 항목의 이름을 바꾸려면 먼저 휴지통에서 끌어내십시오.`, - jpeg_image: 'JPEG 이미지', - keep_in_taskbar: '작업 표시줄에 유지', - log_in: "로그인", - log_out: '로그아웃', - move: '이동', - moving: "이동 중", - my_websites: "내 웹사이트", - name: '이름', - name_cannot_be_empty: '이름은 비워둘 수 없습니다.', - name_cannot_contain_double_period: "이름은 '..' 문자일 수 없습니다.", - name_cannot_contain_period: "이름은 '.' 문자일 수 없습니다.", - name_cannot_contain_slash: "이름에 '/' 문자를 포함할 수 없습니다.", - name_must_be_string: "이름은 문자열만 가능합니다.", - name_too_long: `이름은 %%자보다 길 수 없습니다.`, - new: '새로운', - new_folder: '새 폴더', - new_password: "새 비밀번호", - new_username: "새 사용자 이름", - no_dir_associated_with_site: '이 주소에 연결된 디렉토리가 없습니다.', - no_websites_published: "아직 웹사이트를 게시하지 않았습니다.", - ok: '확인', - open: "열기", - open_in_new_tab: "새 탭에서 열기", - open_in_new_window: "새 창에서 열기", - open_with: "열기 방법", - password: "비밀번호", - password_changed: "비밀번호가 변경되었습니다.", - passwords_do_not_match: '`새 비밀번호`와 `새 비밀번호 확인`이 일치하지 않습니다.', - paste: '붙여넣기', - paste_into_folder: "폴더에 붙여넣기", - pick_name_for_website: "웹사이트 이름을 선택하세요:", - picture: "사진", - powered_by_puter_js: `Powered by Puter.js`, - preparing: "준비 중...", - preparing_for_upload: "업로드 준비 중...", - properties: "속성", - publish: "게시", - publish_as_website: '웹사이트로 게시', - recent: "최근", - recover_password: "비밀번호 찾기", - refer_friends_c2a: "Puter에서 계정을 생성하고 확인한 친구마다 1GB를 받으십시오. 친구도 1GB를 받게 됩니다!", - refer_friends_social_media_c2a: `Puter.com에서 1GB의 무료 저장 공간을 받으십시오!`, - refresh: '새로 고침', - release_address_confirmation: `이 주소를 해제하시겠습니까?`, - remove_from_taskbar:'작업 표시줄에서 제거', - rename: '이름 바꾸기', - repeat: '반복', - resend_confirmation_code: "확인 코드 다시 보내기", - restore: "복원", - save_account_to_get_copy_link: "계속하려면 계정을 생성하십시오.", - save_account_to_publish: '계속하려면 계정을 생성하십시오.', - save_session_c2a: '현재 세션을 저장하고 작업을 잃지 않으려면 계정을 생성하십시오.', - scan_qr_c2a: '다른 기기에서 이 세션으로 로그인하려면 아래 코드를 스캔하십시오', - select: "선택", - select_color: '색상 선택…', - send: "보내기", - send_password_recovery_email: "비밀번호 복구 이메일 보내기", - session_saved: "계정을 생성해 주셔서 감사합니다. 이 세션이 저장되었습니다.", - set_new_password: "새 비밀번호 설정", - share_to: "공유", - show_all_windows: "모든 창 표시", - show_hidden: '숨김 항목 표시', - sign_in_with_puter: "Puter로 로그인", - sign_up: "가입", - signing_in: "로그인 중…", - size: '크기', - sort_by: '정렬 기준', - start: '시작', - taking_longer_than_usual: '보통보다 조금 더 오래 걸립니다. 잠시만 기다려 주십시오...', - text_document: '텍스트 문서', - tos_fineprint: `무료 계정 생성을 클릭하면 Puter의 서비스 약관개인정보 보호정책에 동의하는 것입니다.`, - trash: '휴지통', - type: '유형', - undo: '실행 취소', - unzip: "압축 해제", - upload: '업로드', - upload_here: '여기에 업로드', - username: "사용자 이름", - username_changed: '사용자 이름이 성공적으로 업데이트되었습니다.', - versions: "버전", - yes_release_it: '예, 해제합니다', - you_have_been_referred_to_puter_by_a_friend: "친구가 Puter로 추천했습니다!", - zip: "압축", - }, - zh: { - access_granted_to: "访问授权给", - add_existing_account: "添加现有帐户", - all_fields_required: '所有字段都是必需的。', - apply: "应用", - ascending: '升序', - background: "背景", - browse: "浏览", - cancel: '取消', - center: '中心', - change_desktop_background: '更改桌面背景…', - change_password: "更改密码", - change_username: "更改用户名", - close_all_windows: "关闭所有窗口", - color: '颜色', - confirm_account_for_free_referral_storage_c2a: '创建帐户并确认您的电子邮件地址,以获得1 GB的免费存储空间。您的朋友也将获得1 GB的免费存储空间。', - confirm_new_password: "确认新密码", - contact_us: "联系我们", - contain: '包含', - continue: "继续", - copy: '复制', - copy_link: "复制链接", - copying: "复制", - cover: '封面', - create_account: "创建帐户", - create_free_account: "创建免费帐户", - create_shortcut: "创建快捷方式", - current_password: "当前密码", - cut: '剪切', - date_modified: '修改日期', - delete: '删除', - delete_permanently: "永久删除", - deploy_as_app: '部署为应用', - descending: '降序', - desktop_background_fit: "适合", - dir_published_as_website: `%strong% 已发布到:`, - disassociate_dir: "取消关联目录", - download: '下载', - downloading: "下载", - email: "电子邮件", - email_or_username: "电子邮件或用户名", - empty_trash: '清空回收站', - empty_trash_confirmation: `您确定要永久删除回收站中的项目吗?`, - emptying_trash: '清空回收站…', - feedback: "反馈", - feedback_c2a: "请使用下面的表格向我们发送您的反馈、评论和错误报告。", - feedback_sent_confirmation: "感谢您与我们联系。如果您的帐户关联有电子邮件,我们会尽快回复您。", - forgot_pass_c2a: "忘记密码?", - from: "从", - general: "一般", - get_a_copy_of_on_puter: `在 Puter.com 上获取 '%%' 的副本!`, - get_copy_link: '获取复制链接', - hide_all_windows: "隐藏所有窗口", - html_document: 'HTML 文档', - image: '图像', - invite_link: "邀请链接", - items_in_trash_cannot_be_renamed: `此项目无法重命名,因为它在回收站中。要重命名此项目,请先将其拖出回收站。`, - jpeg_image: 'JPEG 图像', - keep_in_taskbar: '保持在任务栏', - log_in: "登录", - log_out: '登出', - move: '移动', - moving: "移动", - my_websites: "我的网站", - name: '名称', - name_cannot_be_empty: '名称不能为空。', - name_cannot_contain_double_period: "名称不能是'..'字符。", - name_cannot_contain_period: "名称不能是'.'字符。", - name_cannot_contain_slash: "名称不能包含'/'字符。", - name_must_be_string: "名称只能是字符串。", - name_too_long: `名称不能超过 %% 个字符。`, - new: '新', - new_folder: '新文件夹', - new_password: "新密码", - new_username: "新用户名", - no_dir_associated_with_site: '此地址没有关联的目录。', - no_websites_published: "您尚未发布任何网站。", - ok: '好的', - open: "打开", - open_in_new_tab: "在新标签页中打开", - open_in_new_window: "在新窗口中打开", - open_with: "打开方式", - password: "密码", - password_changed: "密码已更改。", - passwords_do_not_match: '`新密码` 和 `确认新密码` 不匹配。', - paste: '粘贴', - paste_into_folder: "粘贴到文件夹", - pick_name_for_website: "为您的网站选择一个名称:", - picture: "图片", - powered_by_puter_js: `由 Puter.js 提供支持`, - preparing: "准备中...", - preparing_for_upload: "准备上传...", - properties: "属性", - publish: "发布", - publish_as_website: '发布为网站', - recent: "最近", - recover_password: "找回密码", - refer_friends_c2a: "每个创建并确认 Puter 帐户的朋友都会为您获得 1 GB。您的朋友也将获得 1 GB!", - refer_friends_social_media_c2a: `在 Puter.com 上获取 1 GB 的免费存储空间!`, - refresh: '刷新', - release_address_confirmation: `您确定要释放此地址吗?`, - remove_from_taskbar:'从任务栏中删除', - rename: '重命名', - repeat: '重复', - resend_confirmation_code: "重新发送确认码", - restore: "还原", - save_account_to_get_copy_link: "请创建帐户以继续。", - save_account_to_publish: '请创建帐户以继续。', - save_session_c2a: '创建帐户以保存当前会话,避免丢失工作。', - scan_qr_c2a: '扫描下面的代码以从其他设备登录此会话', - select: "选择", - select_color: '选择颜色…', - send: "发送", - send_password_recovery_email: "发送密码恢复电子邮件", - session_saved: "感谢您创建帐户。此会话已保存。", - set_new_password: "设置新密码", - share_to: "分享到", - show_all_windows: "显示所有窗口", - show_hidden: '显示隐藏', - sign_in_with_puter: "使用 Puter 登录", - sign_up: "注册", - signing_in: "登录中…", - size: '大小', - sort_by: '排序方式', - start: '开始', - taking_longer_than_usual: '需要的时间比平时长一点。请稍等...', - text_document: '文本文档', - tos_fineprint: `点击“创建免费帐户”即表示您同意 Puter 的 服务条款隐私政策。`, - trash: '回收站', - type: '类型', - undo: '撤销', - unzip: "解压缩", - upload: '上传', - upload_here: '在此上传', - username: "用户名", - username_changed: '用户名已成功更新。', - versions: "版本", - yes_release_it: '是的,释放它', - you_have_been_referred_to_puter_by_a_friend: "您已经被朋友推荐到 Puter!", - zip: "压缩", - }, - bn: { - access_granted_to: "অ্যাক্সেস মঞ্জুর করা হয়েছে", - add_existing_account: "আগে থাকা একাউন্ট অ্যাড করুন", - all_fields_required: 'সমস্ত ক্ষেত্র প্রয়োজন.', - apply: "আবেদন করুন", - ascending: 'উদীয়মান', - background: "পটভূমি", - browse: "ব্রাউজ করুন", - cancel: 'বাতিল করুন', - center: 'কেন্দ্র', - change_desktop_background: 'ডেস্কটপ পটভূমি পরিবর্তন করুন...', - change_password: "পাসওয়ার্ড পরিবর্তন করুন", - change_username: "ব্যবহারকারীর নাম পরিবর্তন করুন", - close_all_windows: "সমস্ত উইন্ডোজ বন্ধ করুন", - color: 'রঙ', - confirm_account_for_free_referral_storage_c2a: 'একটি অ্যাকাউন্ট তৈরি করুন এবং 1 GB বিনামূল্যে সঞ্চয়স্থান পেতে আপনার ইমেল ঠিকানা নিশ্চিত করুন৷ আপনার বন্ধুও 1 জিবি ফ্রি স্টোরেজ পাবে।', - confirm_new_password: "নিশ্চিত কর নতুন পাসওয়ার্ড", - contact_us: "আমাদের সাথে যোগাযোগ করুন", - contain: 'ধারণ করে', - continue: "চালিয়ে যান", - copy: 'কপি', - copy_link: "লিংক কপি করুন", - copying: "কপি করা হচ্ছে", - cover: 'আবরণ', - create_account: "একাউন্ট তৈরি করুন", - create_free_account: "ফ্রি একাউন্ট তৈরি করুন", - create_shortcut: "শর্টকাট তৈরি করুন", - current_password: "বর্তমান পাসওয়ার্ড", - cut: 'কাট', - date_modified: 'তারিখ পরিবর্তন করা হয়েছে', - delete: 'মুছে ফেলা', - delete_permanently: "চিরতরে মুছে দাও", - deploy_as_app: 'অ্যাপ হিসাবে স্থাপন করুন', - descending: 'অধোগামী', - desktop_background_fit: "ফিট", - dir_published_as_website: `%strong% এতে প্রকাশিত হয়েছে:`, - disassociate_dir: "ডিসঅ্যাসোসিয়েট ডিরেক্টরি", - download: 'ডাউনলোড করুন', - downloading: "ডাউনলোড হচ্ছে", - email: "ইমেইল", - email_or_username: "ইমেল বা ব্যবহারকারীর নাম", - empty_trash: 'ট্র্যাশ খালি', - empty_trash_confirmation: `আপনি কি ট্র্যাশে থাকা আইটেমগুলিকে স্থায়ীভাবে মুছে দেওয়ার বিষয়ে নিশ্চিত?`, - emptying_trash: 'ট্র্যাশ খালি করা হচ্ছে...', - feedback: "প্রতিক্রিয়া", - feedback_c2a: "আমাদের আপনার প্রতিক্রিয়া, মন্তব্য, এবং বাগ রিপোর্ট পাঠাতে নীচের ফর্ম ব্যবহার করুন.", - feedback_sent_confirmation: "আমাদের সাথে যোগাযোগ করার জন্য আপনাকে ধন্যবাদ। আপনার অ্যাকাউন্টের সাথে যুক্ত কোনো ইমেল থাকলে, আপনি যত তাড়াতাড়ি সম্ভব আমাদের কাছ থেকে ফিরে পাবেন।", - forgot_pass_c2a: "পাসওয়ার্ড ভুলে গেছেন?", - from: "থেকে", - general: "সাধারণ", - get_a_copy_of_on_puter: `এর একটি কপি পান '%%' on Puter.com!`, - get_copy_link: 'অনুলিপি লিঙ্ক পান', - hide_all_windows: "সমস্ত উইন্ডোজ লুকান", - html_document: 'HTML নথি', - image: 'ছবি', - invite_link: "আমন্ত্রণ লিঙ্ক", - items_in_trash_cannot_be_renamed: `এই আইটেমটির নাম পরিবর্তন করা যাবে না কারণ এটি ট্র্যাশে রয়েছে৷ এই আইটেমটির নাম পরিবর্তন করতে, প্রথমে এটিকে ট্র্যাশ থেকে টেনে আনুন৷`, - jpeg_image: 'JPEG ছবি', - keep_in_taskbar: 'টাস্কবারে রাখুন', - log_in: "প্রবেশ করুন", - log_out: 'প্রস্থান', - move: 'সরান', - moving: "চলন্ত", - my_websites: "আমার ওয়েবসাইট", - name: 'নাম', - name_cannot_be_empty: 'নাম খালি রাখা যাবে না।', - name_cannot_contain_double_period: "নাম '..' অক্ষর হতে পারে না।", - name_cannot_contain_period: "নাম হতে পারে না '.' চরিত্র", - name_cannot_contain_slash: "নামে '/' অক্ষর থাকতে পারে না।", - name_must_be_string: "নাম শুধুমাত্র একটি স্ট্রিং হতে পারে.", - name_too_long: `নাম %% অক্ষরের বেশি হতে পারে না।`, - new: 'নতুন', - new_folder: 'নতুন ফোল্ডার', - new_password: "নতুন পাসওয়ার্ড", - new_username: "নতুন ব্যবহারকারীর নাম", - no_dir_associated_with_site: 'এই ঠিকানার সাথে সম্পর্কিত কোন ডিরেক্টরি নেই।', - no_websites_published: "আপনি এখনও কোনো ওয়েবসাইট প্রকাশ করেননি.", - ok: 'ঠিক আছে', - open: "খোলা", - open_in_new_tab: "নতুন ট্যাবে খুলুন", - open_in_new_window: "নতুন উইন্ডোতে খুলুন", - open_with: "সঙ্গে খোলা", - password: "পাসওয়ার্ড", - password_changed: "পাসওয়ার্ড পরিবর্তন.", - passwords_do_not_match: '`নতুন পাসওয়ার্ড` এবং `নিউ পাসওয়ার্ড নিশ্চিত করুন` মিলছে না।', - paste: 'পেস্ট করুন', - paste_into_folder: "ফোল্ডার আয়ে পেস্ট করুন", - pick_name_for_website: "আপনার ওয়েবসাইটের জন্য একটি নাম পছন্দ করুন:", - picture: "ছবি", - powered_by_puter_js: `দ্বারা চালিত Puter.js`, - preparing: "প্রস্তুত হচ্ছে...", - preparing_for_upload: "আপলোডের জন্য প্রস্তুত হচ্ছে...", - properties: "বৈশিষ্ট্য", - publish: "প্রকাশ করুন", - publish_as_website: 'ওয়েবসাইট হিসাবে প্রকাশ করুন', - recent: "সাম্প্রতিক", - recover_password: "পাসওয়ার্ড রিকভার করুন", - refer_friends_c2a: "Puter-এ অ্যাকাউন্ট তৈরি এবং নিশ্চিত করা প্রত্যেক বন্ধুর জন্য 1 GB পান। আপনার বন্ধুও পাবেন 1 জিবি!", - refer_friends_social_media_c2a: `1 GB বিনামূল্যে সঞ্চয়স্থান পান Puter.com এ!`, - refresh: 'রিফ্রেশ', - release_address_confirmation: `আপনি কি এই ঠিকানাটি প্রকাশ করার বিষয়ে নিশ্চিত?`, - remove_from_taskbar:'টাস্কবার থেকে সরান', - rename: 'নাম পরিবর্তন করুন', - repeat: 'রিপিট করুন', - resend_confirmation_code: "কনফার্মেশন কোড আবার পাঠান", - restore: "পুনরুদ্ধার করুন", - save_account_to_get_copy_link: "এগিয়ে যেতে একটি অ্যাকাউন্ট তৈরি করুন.", - save_account_to_publish: 'এগিয়ে যেতে একটি অ্যাকাউন্ট তৈরি করুন.', - save_session_c2a: 'আপনার বর্তমান সেশন সংরক্ষণ করতে এবং আপনার কাজ হারানো এড়াতে একটি অ্যাকাউন্ট তৈরি করুন।', - scan_qr_c2a: 'অন্যান্য ডিভাইস থেকে এই সেশনে লগ ইন করতে নিচের কোডটি স্ক্যান করুন', - select: "নির্বাচন করুন", - select_color: 'রঙ নির্বাচন করুন...', - send: "পাঠান", - send_password_recovery_email: "পাসওয়ার্ড পুনরুদ্ধার ইমেল পাঠান", - session_saved: "একটি অ্যাকাউন্ট তৈরি করার জন্য আপনাকে ধন্যবাদ. এই অধিবেশন সংরক্ষণ করা হয়েছে.", - set_new_password: "নতুন পাসওয়ার্ড সেট করুন", - share_to: "শেয়ার করুন", - show_all_windows: "সমস্ত উইন্ডোজ দেখান", - show_hidden: 'লুকোনো জিনিষ দেখাও', - sign_in_with_puter: "Puter দিয়ে সাইন ইন করুন", - sign_up: "নিবন্ধন করুন", - signing_in: "সাইন ইন…", - size: 'আকার', - sort_by: 'ক্রমানুসার', - start: 'শুরু করুন', - taking_longer_than_usual: 'স্বাভাবিকের চেয়ে একটু বেশি সময় নিচ্ছে। অনুগ্রহপূর্বক অপেক্ষা করুন...', - text_document: 'পাঠ্য নথি', - tos_fineprint: `'ফ্রি অ্যাকাউন্ট তৈরি করুন'-এ ক্লিক করার মাধ্যমে আপনি Puter-এর পরিষেবার শর্তাবলী এবং গোপনীয়তা নীতি।`, - trash: 'আবর্জনা', - type: 'টাইপ', - undo: 'পূর্বাবস্থায় ফেরান', - unzip: "আনজিপ করুন", - upload: 'আপলোড করুন', - upload_here: 'এখানে আপলোড করুন', - username: "ব্যবহারকারীর নাম", - username_changed: 'ব্যবহারকারীর নাম সফলভাবে আপডেট করা হয়েছে।', - versions: "সংস্করণ", - yes_release_it: 'হ্যাঁ, এটা ছেড়ে দিন', - you_have_been_referred_to_puter_by_a_friend: "আপনি একজন বন্ধু দ্বারা Puter উল্লেখ করা হয়েছে!", - zip: "জিপ", - fr: { - access_granted_to: "Accès accordé à", - add_existing_account: "Ajouter un compte existant", - all_fields_required: "Tous les champs sont obligatoires.", - apply: "Appliquer", - ascending: "Ascendant", - background: "Arrière-plan", - browse: "Parcourir", - cancel: "Annuler", - center: "Centre", - change_desktop_background: "Changer l'arrière-plan du bureau…", - change_password: "Changer le mot de passe", - change_username: "Changer le nom d'utilisateur", - close_all_windows: "Fermer toutes les fenêtres", - color: "Couleur", - confirm_account_for_free_referral_storage_c2a: "Créez un compte et confirmez votre adresse e-mail pour recevoir 1 Go de stockage gratuit. Votre ami recevra également 1 Go de stockage gratuit.", - confirm_new_password: "Confirmer le nouveau mot de passe", - contact_us: "Contactez-nous", - contain: "Contenir", - continue: "Continuer", - copy: "Copier", - copy_link: "Copier le lien", - copying: "Copie en cours", - cover: "Couverture", - create_account: "Créer un compte", - create_free_account: "Créer un compte gratuit", - create_shortcut: "Créer un raccourci", - current_password: "Mot de passe actuel", - cut: "Couper", - date_modified: "Date de modification", - delete: "Supprimer", - delete_permanently: "Supprimer définitivement", - deploy_as_app: "Déployer en tant qu'application", - descending: "Descendant", - desktop_background_fit: "Ajuster", - dir_published_as_website: `%strong% a été publié sur :`, - disassociate_dir: "Dissocier le répertoire", - download: "Télécharger", - downloading: "Téléchargement en cours", - email: "E-mail", - email_or_username: "E-mail ou nom d'utilisateur", - empty_trash: "Vider la corbeille", - empty_trash_confirmation: "Êtes-vous sûr de vouloir supprimer définitivement les éléments de la corbeille ?", - emptying_trash: "Vidage de la corbeille en cours…", - feedback: "Retour d'information", - feedback_c2a: "Veuillez utiliser le formulaire ci-dessous pour nous envoyer vos commentaires, suggestions et rapports de bogues.", - feedback_sent_confirmation: "Merci de nous avoir contactés. Si vous avez un e-mail associé à votre compte, vous recevrez une réponse de notre part dès que possible.", - forgot_pass_c2a: "Mot de passe oublié ?", - from: "De", - general: "Général", - get_a_copy_of_on_puter: `Obtenez une copie de '%%' sur Puter.com !`, - get_copy_link: "Obtenir un lien de copie", - hide_all_windows: "Masquer toutes les fenêtres", - html_document: "Document HTML", - image: "Image", - invite_link: "Lien d'invitation", - items_in_trash_cannot_be_renamed: "Cet élément ne peut pas être renommé car il se trouve dans la corbeille. Pour renommer cet élément, déplacez-le d'abord hors de la corbeille.", - jpeg_image: "Image JPEG", - keep_in_taskbar: "Garder dans la barre des tâches", - log_in: "Se connecter", - log_out: "Se déconnecter", - move: "Déplacer", - moving: "Déplacement en cours", - my_websites: "Mes sites web", - name: "Nom", - name_cannot_be_empty: "Le nom ne peut pas être vide.", - name_cannot_contain_double_period: "Le nom ne peut pas contenir deux points ('..').", - name_cannot_contain_period: "Le nom ne peut pas contenir de point ('.').", - name_cannot_contain_slash: "Le nom ne peut pas contenir de slash ('/').", - name_must_be_string: "Le nom ne peut être qu'une chaîne de caractères.", - name_too_long: "Le nom ne peut pas dépasser %% caractères.", - new: "Nouveau", - new_folder: "Nouveau dossier", - new_password: "Nouveau mot de passe", - new_username: "Nouveau nom d'utilisateur", - no_dir_associated_with_site: "Aucun répertoire associé à cette adresse.", - no_websites_published: "Vous n'avez publié aucun site web pour le moment.", - ok: "OK", - open: "Ouvrir", - open_in_new_tab: "Ouvrir dans un nouvel onglet", - open_in_new_window: "Ouvrir dans une nouvelle fenêtre", - open_with: "Ouvrir avec", - password: "Mot de passe", - password_changed: "Mot de passe modifié.", - passwords_do_not_match: "Les champs 'Nouveau mot de passe' et 'Confirmer le nouveau mot de passe' ne correspondent pas.", - paste: "Coller", - paste_into_folder: "Coller dans le dossier", - pick_name_for_website: "Choisissez un nom pour votre site web :", - picture: "Image", - powered_by_puter_js: "Propulsé par Puter.js", - preparing: "Préparation en cours...", - preparing_for_upload: "Préparation du téléchargement en cours...", - properties: "Propriétés", - publish: "Publier", - publish_as_website: "Publier en tant que site web", - recent: "Récent", - recover_password: "Récupérer le mot de passe", - refer_friends_c2a: "Obtenez 1 Go pour chaque ami qui crée et confirme un compte sur Puter. Votre ami recevra également 1 Go !", - refer_friends_social_media_c2a: "Obtenez 1 Go de stockage gratuit sur Puter.com !", - refresh: "Actualiser", - release_address_confirmation: "Êtes-vous sûr de vouloir libérer cette adresse ?", - remove_from_taskbar: "Supprimer de la barre des tâches", - rename: "Renommer", - repeat: "Répéter", - resend_confirmation_code: "Renvoyer le code de confirmation", - restore: "Restaurer", - save_account_to_get_copy_link: "Veuillez créer un compte pour continuer.", - save_account_to_publish: "Veuillez créer un compte pour continuer.", - save_session_c2a: "Créez un compte pour enregistrer votre session en cours et éviter de perdre votre travail.", - scan_qr_c2a: "Scannez le code ci-dessous pour vous connecter à cette session depuis d'autres appareils", - select: "Sélectionner", - select_color: "Sélectionner la couleur…", - send: "Envoyer", - send_password_recovery_email: "Envoyer un e-mail de récupération de mot de passe", - session_saved: "Merci d'avoir créé un compte. Cette session a été enregistrée.", - set_new_password: "Définir un nouveau mot de passe", - share_to: "Partager sur", - show_all_windows: "Afficher toutes les fenêtres", - show_hidden: "Afficher les éléments masqués", - sign_in_with_puter: "Se connecter avec Puter", - sign_up: "S'inscrire", - signing_in: "Connexion en cours...", - size: "Taille", - sort_by: "Trier par", - start: "Démarrer", - taking_longer_than_usual: "Cela prend un peu plus de temps que d'habitude. Veuillez patienter...", - text_document: "Document texte", - tos_fineprint: "En cliquant sur 'Créer un compte gratuit', vous acceptez les Conditions d'utilisation et la Politique de confidentialité de Puter.", - trash: "Corbeille", - type: "Type", - undo: "Annuler", - unzip: "Décompresser", - upload: "Téléverser", - upload_here: "Téléverser ici", - username: "Nom d'utilisateur", - username_changed: "Nom d'utilisateur mis à jour avec succès.", - versions: "Versions", - yes_release_it: "Oui, le libérer", - you_have_been_referred_to_puter_by_a_friend: "Vous avez été recommandé à Puter par un ami !", - zip: "Zip", - }, - // italian - it: { - access_granted_to: "Accesso garantito a", - add_existing_account: "Aggiungi un account esistente", - all_fields_required: 'Tutte le caselle sono richieste.', - apply: "Applica", - ascending: 'Ascendente', - background: "Sfondo", - browse: "Sfoglia", - cancel: 'Annulla', - center: 'Centra ', - change_desktop_background: 'Modifica sfondo…', - change_password: "Modifica password", - change_username: "Modifica Nome Utente", - close_all_windows: "Chiudi tutte le finestre", - color: 'Colore', - confirm_account_for_free_referral_storage_c2a: 'Crea un account e conferma la tua email per ricevere 1 GB di spazio di archiviazione gratuito. Anche il tuo amico riceverà dello spazio extra!', - confirm_new_password: "Conferma la nuova Password", - contact_us: "Contattaci", - contain: 'Contieni', - continue: "Continua", - copy: 'Copia', - copy_link: "Copia il link", - copying: "Copia in corso", - cover: 'Riempi', - create_account: "Crea Account", - create_free_account: "Crea un account gratis", - create_shortcut: "Crea Scorciatoia", - current_password: "Password corrente", - cut: 'Taglia', - date_modified: 'Data ultima modifica', - delete: 'Elimina', - delete_permanently: "Elimina permanentemente", - deploy_as_app: 'Distribuisci come Applicazione', - descending: 'Discendente', - desktop_background_fit: "Adatta", - dir_published_as_website: `%strong% è stato pubblicato su:`, - disassociate_dir: "Dissocia la Directory", - download: 'Scarica', - downloading: "Download in corso", - email: "Email", - email_or_username: "Email o Nome Utente", - empty_trash: 'Svuota Cestino', - empty_trash_confirmation: `Sei sicuro di voler svuotare il cestino?`, - emptying_trash: 'Il cestino si sta svuotando…', - feedback: "Feedback", - feedback_c2a: "Usa il form qua sotto per inviarci feedback, commenti, e segnalarci dei bug.", - feedback_sent_confirmation: "Grazie per averci contattato. Se hai un indirizzo email associato al tuo account, ti ricontatteremo il prima possibile.", - forgot_pass_c2a: "Password dimenticata?", - from: "Da", - general: "Generale", - get_a_copy_of_on_puter: `Ottieni una copia di '%%' su Puter.com!`, - get_copy_link: 'Ottieni link', - hide_all_windows: "Nascondi tutte le finestre", - html_document: 'Documento HTML', - image: 'Immagine', - invite_link: "Link d’invito", - items_in_trash_cannot_be_renamed: `Impossibile rinominare un elemento nel Cestino. Per rinominarlo, è necessario ripristinarlo.`, - jpeg_image: 'Immagine JPEG', - keep_in_taskbar: 'Blocca nella barra delle applicazioni', - log_in: "Accedi", - log_out: 'Disconnettiti', - move: 'Sposta', - moving: "Spostamento in corso", - my_websites: "I miei siti web", - name: 'Nome', - name_cannot_be_empty: 'Il nome non può essere vuoto.', - name_cannot_contain_double_period: "Il nome non può contenere '..' .", - name_cannot_contain_period: "Il nome non può contenere '.' .", - name_cannot_contain_slash: "Il nome non può contenere '/' .", - name_must_be_string: "Il nome può contenere una sola linea.", - name_too_long: `Il nome non può essere più lungo di %% caratteri.`, - new: 'Nuovo', - new_folder: 'Nuova Cartella', - new_password: "Nuova Password", - new_username: "Nuovo Nome Utente", - no_dir_associated_with_site: 'Nessuna directory è stata associata all’indirizzo.', - no_websites_published: "Non hai pubblicato nessun sito web.", - ok: 'OK', - open: "Apri", - open_in_new_tab: "Apri in una nuova scheda", - open_in_new_window: "Apri in una nuova finestra", - open_with: "Apri con", - password: "Password", - password_changed: "Password modificata.", - passwords_do_not_match: 'Le caselle `Nuova Password` and `Conferma Nuova Password` non corrispondono.', - paste: 'Incolla', - paste_into_folder: "Incolla nella cartella", - pick_name_for_website: "Scegli un nome per il tuo sito web:", - picture: "Immagine", - powered_by_puter_js: `Powered by Puter.js`, - preparing: "Preparazione in corso...", - preparing_for_upload: "Preparazione per l’upload...", - properties: "Proprietà", - publish: "Pubblica", - publish_as_website: 'Pubblica come sito web', - recent: "Recenti", - recover_password: "Ripristina la Password", - refer_friends_c2a: "Ottieni 1 GB di spazio di archiviazione per ogni amico che crea un account e conferma l’email su Puter. Anche il tuo amico riceverà dello spazio extra!", - refer_friends_social_media_c2a: `Ottieni 1GB di spazio di spazio di archiviazione gratuito su Puter.com!`, - refresh: 'Ricarica', - release_address_confirmation: `Sei sicuro di voler liberare questo indirizzo?`, - remove_from_taskbar:'Sblocca dalla barra delle applicazioni', - rename: 'Rinomina', - repeat: 'Ripeti', - resend_confirmation_code: "Invia di nuovo il codice di conferma", - restore: "Ripristina", - save_account_to_get_copy_link: "È necessario creare un account per procedere.", - save_account_to_publish: 'È necessario creare un account per procedere.', - save_session_c2a: 'Crea un account per salvare la tua sessione e non perdere i tuoi dati.', - scan_qr_c2a: 'Scansiona il codice qua sotto per utilizzare questa sessione da altri dispositivi', - select: "Seleziona", - select_color: 'Seleziona un colore…', - send: "Invia", - send_password_recovery_email: "Invia Email per il ripristino della password", - session_saved: "Grazie per aver creato un account. La sessione è stata salvata", - set_new_password: "Imposta una nuova Password", - share_to: "Condividi con", - show_all_windows: "Mostra tutte le finestre", - show_hidden: 'Mostra nascosti', - sign_in_with_puter: "Accedi con Puter", - sign_up: "Registrati", - signing_in: "Accesso in corso…", - size: 'Dimensione', - sort_by: 'Ordina per', - start: 'Start', - taking_longer_than_usual: 'Il processo in corso ci sta mettendo più del solito. Attendere prego...', - text_document: 'Documento di testo', - tos_fineprint: `Cliccando su 'Crea un account gratis' accetti i Termini di Servizio e l'Informativa sulla Privacy di Puter.`, - trash: 'Cestino', - type: 'Tipo', - undo: 'Annulla', - unzip: "Decomprimi", - upload: 'Carica', - upload_here: 'Carica qui', - username: "Nome Utente", - username_changed: 'Nome utente aggiornato con successo.', - versions: "Versioni", - yes_release_it: 'Si, rilascialo', - you_have_been_referred_to_puter_by_a_friend: "Sei stato invitato su Puter da un amico!", - zip: "Comprimi", - }, - // finnish - fi: { - access_granted_to: "Käyttöoikeus Myönnetty", - add_existing_account: "Lisää Olemassaoleva Tili", - all_fields_required: 'Kaikki kentät on täytettävä.', - - apply: "Apply", // TODO: Ambiguous meaning - // To apply(a principle) => "Sovella" or - // Apply for(a job) "Hae" or - // Apply as(an engineer) => "Hakeudu" or - // Apply an expression => "Applikoi" or - Probably the most appropriate in the context of the app - // Apply in the sense of applying something, like a tool => "Käytä" - - ascending: 'Nouseva', - background: "Tausta", - browse: "Selaa", - cancel: 'Peruuta', - center: 'Keskus', - change_desktop_background: 'Vaihda työpöydän taustakuvaa…', - change_password: "Muuta Salasana", - change_username: "Muuta Käyttäjänimeä", - close_all_windows: "Sulje Kaikki Ikkunat", - color: 'Väri', - confirm_account_for_free_referral_storage_c2a: 'Luo tili ja vahvista sähköpostiosoitteesi saadaksesi 1 Gt ilmaista tallennustilaa. Myös kaverisi saa 1 Gt ilmaista tallennustilaa.', - confirm_new_password: "Vahvista Uusi Salasana", - contact_us: "Ota Yhteyttä", - - contain: 'Contain', // TODO: Ambiguous meaning - // "inside(a house)" => "Sisällä" - probably more appropriate - // "contain within" => "Sisältää" - - continue: "Jatka", - - copy: 'Copy', // TODO: Lexical categories - // Noun "A copy of something" => 'Kopio' or - // Verb "To copy something" => 'Kopioi'? - - copy_link: "Kopioi Linkki", - copying: "Kopioidaan", - - cover: 'Cover', // TODO: Lexical categories - // Noun (shelter) => 'Suoja' or - // Noun (lid) => 'Kansi' or - // Intransitive Verb (To occlude something) => 'Peitä' or - // Transitive Verb (To cover for someone) => 'Suojaa' - - create_account: "Luo Tili", - create_free_account: "Luo Ilmainen Tili", - create_shortcut: "Luo Pikakuvake", - current_password: "Nykyinen Salasana", - cut: 'Leikkaa', - date_modified: 'Muutospäivämäärä', - delete: 'Poista', - delete_permanently: "Poista Pysyvästi", - deploy_as_app: 'Levitä sovelluksena', - descending: 'Laskeva', - desktop_background_fit: "Sovita", - dir_published_as_website: `%strong% on julkaistu osoitteessa:`, - disassociate_dir: "Erota Hakemisto", - download: 'Lataa', - downloading: "Ladataan", - email: "Sähköposti", - email_or_username: "Sähköposti tai Käyttäjänimi", - empty_trash: 'Tyhjennä Roskakori', - empty_trash_confirmation: `Oletko varma, että haluat poistaa Roskakorin kohteet pysyvästi?`, - emptying_trash: 'Tyhjennetään Roskakori…', - feedback: "Palaute", - feedback_c2a: "Käytä alla olevaa lomaketta lähettääksesi meille palautetta, kommentteja ja vikailmoituksia.", - feedback_sent_confirmation: "Kiitos yhteydenotosta. Jos sinulla on tiliisi liittyvä sähköpostiosoite, saat meiltä vastauksen mahdollisimman pian.", - forgot_pass_c2a: "Unohditko Salasanasi?", - - from: "From", // TODO: Context dependent, examples - // "from address" => "osoitteesta" or - // "from sender" => "lähettäjältä". - // In the finnish language these are usually translated as case suffixes. - // "From Person" gets the suffix "-ltä", being the combination of "Henkilö(Person) and ltä(From)" - - general: "General", // TODO: Conceptual ambiguity - // "general (about something)" => "Yleistä" or - // "military general" => "Kenraali" - - get_a_copy_of_on_puter: `Hanki '%%' -kopio Puter.com-sivustolta!`, // TODO: Very difficult ambiguity due to different case suffix for any possible word that you can substitue here. Can stay as is, but it's not exactly correct. - - get_copy_link: 'Get Copy Link', // TODO: Ambiguous meaning - // 'get a copy of a link' => 'Ota Kopio Linkkiin' or - // 'get a link to the copy' => 'Ota Linkki Kopioon' - More probable, just want to be sure - - hide_all_windows: "Piilota Kaikki Ikkunat", - html_document: 'HTML-dokumentti', - image: 'Kuva', - invite_link: "Kutsulinkki", - items_in_trash_cannot_be_renamed: `Tätä kohdetta ei voi nimetä uudelleen, koska se on roskakorissa. Jos haluat nimetä kohteen uudelleen, raahaa se ensin pois roskakorista.`, - jpeg_image: 'JPEG-kuva', - keep_in_taskbar: 'Pidä tehtäväpalkissa', - log_in: "Kirjaudu Sisään", - log_out: 'Kirjaudu Ulos', - move: 'Siirrä', - moving: "Siirretään", - my_websites: "Verkkosivustoni", - name: 'Nimi', - name_cannot_be_empty: 'Nimi ei voi olla tyhjä.', - - name_cannot_contain_double_period: "Name can not be the '..' character.", // TODO: definition says a different thing, than the string - // "Name can not be the '..' character." => "Nimi ei voi olla '..'-merkki." or - // "Name can not contain the '..' character." => "Nimi ei voi sisältää merkkiä '..'." - - name_cannot_contain_period: "Name can not be the '.' character.", // TODO: definition says a different thing, than the string - // "Name can not be the '.' character." => "Nimi ei voi olla '.'-merkki." or - // "Name can not contain the '.' character." => "Nimi ei voi sisältää merkkiä '.'." - - name_cannot_contain_slash: "Nimi ei voi sisältää merkkiä '/'.", - name_must_be_string: "Nimi voi olla vain merkkijono.", - name_too_long: `Nimi ei voi olla pidempi kuin %% merkkiä.`, - new: 'Uusi', - new_folder: 'Uusi kansio', - new_password: "Uusi Salasana", - new_username: "Uusi Käyttäjänimi", - no_dir_associated_with_site: 'Osoitteeseen ei liity mitään hakemistoa.', - no_websites_published: "Et ole vielä julkaissut yhtään verkkosivustoa.", - ok: 'OK', - open: "Avaa", - open_in_new_tab: "Avaa uudessa Välilehdessä", - open_in_new_window: "Avaa uudessa Ikkunassa", - - open_with: "Open With", // TODO: Context dependent - // "Open" => "Avaa", can be "Avaa..." in this context or - // "Open With" is often translated in the context of "Open With Application" => "Avaa Sovelluksessa" - - password: "Salasana", - password_changed: "Salasana vaihdettu.", - passwords_do_not_match: '`Uusi Salasana` ja `Vahvista Uusi Salasana` eivät täsmää.', - paste: 'Liitä', - paste_into_folder: "Liitä Kansioon", - pick_name_for_website: "Valitse nimi verkkosivustollesi:", - picture: "Kuva", - powered_by_puter_js: `Tämän Mahdollistaa Puter.js`, - preparing: "Valmistellaan...", - preparing_for_upload: "Valmistellaan latausta...", - properties: "Ominaisuudet", - publish: "Julkaise", - publish_as_website: 'Julkaise verkkosivustona', - recent: "Viimeisimmät", - recover_password: "Palauta Salasana", - refer_friends_c2a: "Saat 1 Gt tilaa jokaisesta kaverista, joka luo ja vahvistaa tilin Puterissa. Myös kaverisi saa 1 Gt tilaa!", - refer_friends_social_media_c2a: `Hanki 1 Gt ilmaista tallennustilaa Puter.comista!`, - refresh: 'Päivitä', - - release_address_confirmation: `Are you sure you want to release this address?`, // TODO: Slight ambiguity between the meaning of "release" - // "get rid of" => "Oletko varma, että haluat luovuttaa tämän osoitteen?" or - // "publish" => "Oletko varma, että haluat julkaista tämän osoitteen?" - - remove_from_taskbar:'Poista Tehtäväpalkista', - rename: 'Nimeä uudelleen', - repeat: 'Toista', - resend_confirmation_code: "Lähetä Vahvistuskoodi Uudelleen", - restore: "Palauta", - save_account_to_get_copy_link: "Luo tili jatkaaksesi.", - save_account_to_publish: 'Luo tili jatkaaksesi.', - save_session_c2a: 'Luo tili tallentaaksesi nykyisen istuntosi ja välttyäksesi työn menettämiseltä.', - scan_qr_c2a: 'Skannaa alla oleva koodi kirjautuaksesi tähän istuntoon muista laitteista', - select: "Valitse", - select_color: 'Valitse väri…', - send: "Lähetä", - send_password_recovery_email: "Lähetä Salasanan Palautussähköposti", - session_saved: "Kiitos tilin luomisesta. Tämä istunto on tallennettu.", - set_new_password: "Aseta Uusi Salasana", - - share_to: "Share to", // TODO: Grammatical ambiguity - // The base form of "Share" is "Jaa". So maybe "Jaa..." is appropriate? - // If "share to" is followed by the name of a user, it will not make any sense, as the name can be suffixed by for example "Jaa %%lle". - - show_all_windows: "Näytä Kaikki Ikkunat", - show_hidden: 'Näytä piilotettu', - sign_in_with_puter: "Kirjaudu sisään Puterilla", - sign_up: "Rekisteröidy", - signing_in: "Kirjaudutaan sisään…", - size: 'Koko', - sort_by: 'Lajittele:', - start: 'Käynnistä', - taking_longer_than_usual: 'Kestää hieman tavallista kauemmin. Odottakaa...', - text_document: 'Tekstiasiakirja', - tos_fineprint: `Klikkaamalla 'Luo ilmainen tili' hyväksyt Puterin käyttöehdot ja tietosuojakäytännön.`, - - trash: 'Trash', // TODO: Ambiguous meaning - // "Trash" is oft used to just mean "Trash bin" => 'Roskakori' or - // "Trash" by itself => 'Roska' - - type: 'Type', // TODO: Ambiguous meaning - // "Type of an object" => 'Tyyppi' or - // "Type on the keyboard" => 'Kirjoita' - - undo: 'Kumoa', - unzip: "Pura zip", - upload: 'Lataa', - upload_here: 'Lataa tähän', - username: "Käyttäjänimi", - username_changed: 'Käyttäjänimi päivitetty onnistuneesti.', - versions: "Versiot", - yes_release_it: 'Kyllä, Julkaise Se', - you_have_been_referred_to_puter_by_a_friend: "Kaverisi on kutsunut sinut Puterille!", - zip: "Zip", - }, - ro: { - access_granted_to: "Acces acordat pentru", - add_existing_account: "Adaugă cont existent", - all_fields_required: 'Toate câmpurile sunt necesare.', - apply: "Aplică", - ascending: 'Ascendent', - background: "Background", - browse: "Caută", - cancel: 'Anulează', - center: 'Center', - change_desktop_background: 'Schimbă imaginea de fundal…', - change_password: "Schimbă Parola", - change_username: "Schimbă Numele", - close_all_windows: "Inchide toate ferestrele", - color: 'Culoare', - confirm_account_for_free_referral_storage_c2a: 'Creați un cont și confirmați adresa de e-mail pentru a primi 1 GB de spațiu de stocare gratuit. Și prietenul tău va primi 1 GB de spațiu de stocare gratuit.', - confirm_new_password: "Confirmă Parola Nouă", - contact_us: "Contactează-ne", - contain: 'Contain', - continue: "Continuă", - copy: 'Copiază', - copy_link: "Copiază link", - copying: "Se copiază", - cover: 'Cover', - create_account: "Crează un cont", - create_free_account: "Crează un cont gratuit", - create_shortcut: "Crează o scurtătură", - current_password: "Parola Curentă", - cut: 'Taie', - date_modified: 'Dată modificată', - delete: 'Șterge', - delete_permanently: "Șterge Permanent", - deploy_as_app: 'Implementează ca aplicație', - descending: 'Descending', - desktop_background_fit: "Potrivește fundalul", - dir_published_as_website: `%strong% a fost publicat către:`, - disassociate_dir: "Dezasociaza folderul", - download: 'Descarcă', - downloading: "Se descarcă", - email: "Mail", - email_or_username: "Mail sau Nume de Utilizator", - empty_trash: 'Golește Coșul de gunoi', - empty_trash_confirmation: `Ești sigur că vrei să ștergi permanent conținutul Coșului de gunoi?`, - emptying_trash: 'Coșul de gunoi se golește…', - feedback: "Feedback", - feedback_c2a: "Vă rugăm să folosiți formularul de mai jos pentru a ne trimite feedback, comentarii și rapoarte de erori.", - feedback_sent_confirmation: "Mulțumim că ne-ți contactat. Dacă aveți un e-mail asociat contului dvs, veți primi un răspuns de la noi cât mai curând posibil.", - forgot_pass_c2a: "Ai uitat parola?", - from: "De la", - general: "General", - get_a_copy_of_on_puter: `Obțineți o copie a '%%' pe Puter.com!`, - get_copy_link: 'Obțineți link-ul copiei', - hide_all_windows: "Ascunde toate ferestrele", - html_document: 'Document HTML', - image: 'Imagine', - invite_link: "Link de invitație", - items_in_trash_cannot_be_renamed: `Acest articol nu poate fi redenumit deoarece este în coșul de gunoi. Pentru a redenumi acest element, mai întâi scoateți-l din Coșul de gunoi.`, - jpeg_image: 'Imagine JPEG', - keep_in_taskbar: 'Păstrează în bara de activități', - log_in: "Loghează-te", - log_out: 'Deconectează-te', - move: 'Mută', - moving: "Se mută", - my_websites: "Site-urile mele", - name: 'Nume', - name_cannot_be_empty: 'Numele nu poate fi necompletat.', - name_cannot_contain_double_period: "Numele nu poate conține ..", - name_cannot_contain_period: "Numele nu poate conține .", - name_cannot_contain_slash: "Numele nu poate contine /", - name_must_be_string: "Numele poate fi doar un șir.", - name_too_long: `Numele nu poate fi mai lung de %% caractere.`, - new: 'Nou', - new_folder: 'Folder nou', - new_password: "Parolă nouă", - new_username: "Nume de Utilizator nou", - no_dir_associated_with_site: 'Niciun director asociat cu această adresă.', - no_websites_published: "Nu ați publicat încă niciun site web.", - ok: 'OK', - open: "Deschide", - open_in_new_tab: "Deschide in alt tab", - open_in_new_window: "Deschide in fereastră nouă", - open_with: "Deschide cu", - password: "Parolă", - password_changed: "Parolă schimbată.", - passwords_do_not_match: '`Parola nouă` și `Confirmă Parola nouă` nu sunt la fel.', - paste: 'Inserează', - paste_into_folder: "Inserează in folder", - pick_name_for_website: "Alegeți un nume pentru site-ul dvs:", - picture: "Poza", - powered_by_puter_js: `Creat de Puter.js`, - preparing: "Preparare...", - preparing_for_upload: "Preparare pentru încărcare...", - properties: "Proprietăți", - publish: "Publică", - publish_as_website: 'Publică, ca site web', - recent: "Recente", - recover_password: "Recuperare Parolă", - refer_friends_c2a: "Obțineți 1 GB pentru fiecare prieten care creează și confirmă un cont pe Puter. și prietenul tău va primi 1 GB!", - refer_friends_social_media_c2a: `Obțineți 1 GB de spațiu de stocare gratuit pe Puter.com!`, - refresh: 'Reîmprospătare', - release_address_confirmation: `Sigur doriți să eliberați această adresă?`, - remove_from_taskbar:'Eliminați din bara de activități', - rename: 'Redenumește', - repeat: 'Repetă', - resend_confirmation_code: "Re-trimite cod de confirmare", - restore: "Restaurare", - save_account_to_get_copy_link: "Vă rugăm să creați un cont pentru a copia un link.", - save_account_to_publish: 'Vă rugăm să creați un cont pentru a publica.', - save_session_c2a: 'Creați un cont pentru a vă salva sesiunea curentă și pentru a evita pierderea muncii.', - scan_qr_c2a: 'Scanați codul de mai jos pentru a vă conecta la această sesiune de pe alte dispozitive', - select: "Selectează", - select_color: 'Selectează culoare…', - send: "Trimite", - send_password_recovery_email: "Trimite mail de recuperare parolă", - session_saved: "Vă mulțumim pentru crearea unui cont. Această sesiune a fost salvată.", - set_new_password: "Setează o parolă Nouă", - share_to: "Distribuie către", - show_all_windows: "Afișați toate ferestrele", - show_hidden: 'Arată ascuns', - sign_in_with_puter: "Conectați-vă cu Puter", - sign_up: "Inscrie-te", - signing_in: "Se conectează…", - size: 'Mărime', - sort_by: 'Sortează dupa', - start: 'Start', - taking_longer_than_usual: 'Durează puțin mai mult decât de obicei. Vă rugăm așteptați...', - text_document: 'Document Text', - tos_fineprint: `Făcând clic pe „Creați un cont gratuit”, sunteți de acord cu Termenii si conditiile si Politia de Confidentialitate Puter.com.`, - trash: 'Coș de gunoi', - type: 'Type', - undo: 'Undo', - unzip: "Unzip", - upload: 'Incarcă', - upload_here: 'Incarcă aici', - username: "Nume de Utilizator", - username_changed: 'Nume de Utilizator actualizat cu succes.', - versions: "Versiuni", - yes_release_it: 'Da, eliberează-l', - you_have_been_referred_to_puter_by_a_friend: "Ai fost invitat pe Puter de către un prieten!", - zip: "Zip", - } -} +export default {}; diff --git a/src/i18n/i18nChangeLanguage.js b/src/i18n/i18nChangeLanguage.js new file mode 100644 index 00000000..5f4a8dff --- /dev/null +++ b/src/i18n/i18nChangeLanguage.js @@ -0,0 +1,8 @@ +function ChangeLanguage(lang) { + window.locale = lang; + window.mutate_user_preferences({ + language : lang, + }); +} + +export default ChangeLanguage; \ No newline at end of file diff --git a/src/i18n/no.js b/src/i18n/no.js deleted file mode 100644 index 15cde026..00000000 --- a/src/i18n/no.js +++ /dev/null @@ -1,141 +0,0 @@ -const no = { - access_granted_to: "Tilgang gitt til", - add_existing_account: "Legg til eksisterende konto", - all_fields_required: "Alle felt er obligatoriske.", - apply: "Bruk", - ascending: "Stigende", - background: "Bakgrunn", - browse: "Bla gjennom", - cancel: "Avbryt", - center: "Sentrer", - change_desktop_background: "Endre skrivebordsbakgrunn…", - change_password: "Endre passord", - change_username: "Endre brukernavn", - close_all_windows: "Lukk alle vinduer", - color: "Farge", - confirm_account_for_free_referral_storage_c2a: "Opprett en konto og bekreft e-postadressen din for å motta 1 GB gratis lagringsplass. Din venn vil også få 1 GB gratis lagringsplass.", - confirm_new_password: "Bekreft nytt passord", - contact_us: "Kontakt oss", - contain: "Inneholde", - continue: "Fortsett", - copy: "Kopier", - copy_link: "Kopier lenke", - copying: "Kopierer", - cover: "Dekke", - create_account: "Opprett konto", - create_free_account: "Opprett gratis konto", - create_shortcut: "Opprett snarvei", - current_password: "Nåværende passord", - cut: "Klipp ut", - date_modified: "Endret dato", - delete: "Slett", - delete_permanently: "Slett permanent", - deploy_as_app: "Distribuer som app", - descending: "Synkende", - desktop_background_fit: "Tilpass", - dir_published_as_website: "%strong% er publisert på:", - disassociate_dir: "Fjern tilknytning fra mappe", - download: "Last ned", - downloading: "Laster ned", - email: "E-post", - email_or_username: "E-post eller brukernavn", - empty_trash: "Tøm papirkurv", - empty_trash_confirmation: "Er du sikker på at du vil slette alt i papirkurven permanent?", - emptying_trash: "Tømmer papirkurv…", - feedback: "Tilbakemelding", - feedback_c2a: "Vennligst bruk skjemaet nedenfor for å sende oss din tilbakemelding, kommentarer og feilrapporter.", - feedback_sent_confirmation: "Takk for at du kontaktet oss. Hvis du har en e-post knyttet til kontoen din, vil du høre fra oss så snart som mulig.", - forgot_pass_c2a: "Glemt passord?", - from: "Fra", - general: "Generelt", - get_a_copy_of_on_puter: "Få en kopi av '%%' på Puter.com!", - get_copy_link: "Få kopilenke", - hide_all_windows: "Skjul alle vinduer", - html_document: "HTML-dokument", - image: "Bilde", - invite_link: "Invitasjonslenke", - items_in_trash_cannot_be_renamed: "Dette elementet kan ikke omdøpes fordi det er i papirkurven. For å omdøpe dette elementet, dra det først ut av papirkurven.", - jpeg_image: "JPEG-bilde", - keep_in_taskbar: "Behold i oppgavelinjen", - log_in: "Logg inn", - log_out: "Logg ut", - move: "Flytt", - moving: "Flytter", - my_websites: "Mine nettsteder", - name: "Navn", - name_cannot_be_empty: "Navn kan ikke være tomt.", - name_cannot_contain_double_period: "Navn kan ikke inneholde '..'.", - name_cannot_contain_period: "Navn kan ikke inneholde '.'-tegnet.", - name_cannot_contain_slash: "Navn kan ikke inneholde '/'-tegnet.", - name_must_be_string: "Navn kan bare være en streng.", - name_too_long: "Navn kan ikke være lengre enn %% tegn.", - new: "Ny", - new_folder: "Ny mappe", - new_password: "Nytt passord", - new_username: "Nytt brukernavn", - no_dir_associated_with_site: "Ingen mappe er tilknyttet denne adressen.", - no_websites_published: "Du har ikke publisert noen nettsteder ennå.", - ok: "OK", - open: "Åpne", - open_in_new_tab: "Åpne i ny fane", - open_in_new_window: "Åpne i nytt vindu", - open_with: "Åpne med", - password: "Passord", - password_changed: "Passord endret.", - passwords_do_not_match: "`Nytt passord` og `Bekreft nytt passord` stemmer ikke overens.", - paste: "Lim inn", - paste_into_folder: "Lim inn i mappe", - pick_name_for_website: "Velg et navn for nettstedet ditt:", - picture: "Bilde", - powered_by_puter_js: "Drevet av Puter.js", - preparing: "Forbereder...", - preparing_for_upload: "Forbereder opplasting...", - properties: "Egenskaper", - publish: "Publiser", - publish_as_website: "Publiser som nettsted", - recent: "Nylig", - recover_password: "Gjenopprett passord", - refer_friends_c2a: "Få 1 GB for hver venn som oppretter og bekrefter en konto på Puter. Vennen din får også 1 GB.", - refer_friends_social_media_c2a: "Få 1 GB gratis lagringsplass på Puter.com!", - refresh: "Oppdater", - release_address_confirmation: "Er du sikker på at du vil frigi denne adressen?", - remove_from_taskbar: "Fjern fra oppgavelinjen", - rename: "Gi nytt navn", - repeat: "Gjenta", - resend_confirmation_code: "Send bekreftelseskoden på nytt", - restore: "Gjenopprett", - save_account_to_get_copy_link: "Vennligst opprett en konto for å fortsette.", - save_account_to_publish: "Vennligst opprett en konto for å fortsette.", - save_session_c2a: "Opprett en konto for å lagre gjeldende økt og unngå å miste arbeidet ditt.", - scan_qr_c2a: "Skann koden nedenfor for å logge inn på denne økten fra andre enheter", - select: "Velg", - select_color: "Velg farge…", - send: "Send", - send_password_recovery_email: "Send e-post for gjenoppretting av passord", - session_saved: "Takk for at du opprettet en konto. Denne økten er lagret.", - set_new_password: "Angi nytt passord", - share_to: "Del", - show_all_windows: "Vis alle vinduer", - show_hidden: "Vis skjulte", - sign_in_with_puter: "Logg inn med Puter", - sign_up: "Registrer deg", - signing_in: "Logger inn…", - size: "Størrelse", - sort_by: "Sorter etter", - start: "Start", - taking_longer_than_usual: "Dette tar litt lenger tid enn vanlig. Vennligst vent...", - text_document: "Tekstdokument", - tos_fineprint: "Ved å klikke på 'Opprett gratis konto' godtar du Puters tjenestevilkår og personvernpolicy.", - trash: "Papirkurv", - type: "Type", - undo: "Angre", - unzip: "Pakk ut", - upload: "Last opp", - upload_here: "Last opp her", - username: "Brukernavn", - username_changed: "Brukernavn oppdatert.", - versions: "Versjoner", - yes_release_it: "Ja, frigi den", - you_have_been_referred_to_puter_by_a_friend: "Du har blitt henvist til Puter av en venn!", - zip: "Zip" -}; \ No newline at end of file diff --git a/src/i18n/translations/en.js b/src/i18n/translations/en.js new file mode 100644 index 00000000..74285690 --- /dev/null +++ b/src/i18n/translations/en.js @@ -0,0 +1,148 @@ +const en = { + name: "English", + code: "en", + dictionary: { + access_granted_to: "Access Granted To", + add_existing_account: "Add Existing Account", + all_fields_required: 'All fields are required.', + apply: "Apply", + ascending: 'Ascending', + background: "Background", + browse: "Browse", + cancel: 'Cancel', + center: 'Center', + change_desktop_background: 'Change desktop background…', + change_language: "Change Language", + change_password: "Change Password", + change_username: "Change Username", + close_all_windows: "Close All Windows", + color: 'Color', + confirm_account_for_free_referral_storage_c2a: 'Create an account and confirm your email address to receive 1 GB of free storage. Your friend will get 1 GB of free storage too.', + confirm_new_password: "Confirm New Password", + contact_us: "Contact Us", + contain: 'Contain', + continue: "Continue", + copy: 'Copy', + copy_link: "Copy Link", + copying: "Copying", + cover: 'Cover', + create_account: "Create Account", + create_free_account: "Create Free Account", + create_shortcut: "Create Shortcut", + current_password: "Current Password", + cut: 'Cut', + date_modified: 'Date modified', + delete: 'Delete', + delete_permanently: "Delete Permanently", + deploy_as_app: 'Deploy as app', + descending: 'Descending', + desktop_background_fit: "Fit", + dir_published_as_website: `%strong% has been published to:`, + disassociate_dir: "Disassociate Directory", + download: 'Download', + downloading: "Downloading", + email: "Email", + email_or_username: "Email or Username", + empty_trash: 'Empty Trash', + empty_trash_confirmation: `Are you sure you want to permanently delete the items in Trash?`, + emptying_trash: 'Emptying Trash…', + feedback: "Feedback", + feedback_c2a: "Please use the form below to send us your feedback, comments, and bug reports.", + feedback_sent_confirmation: "Thank you for contacting us. If you have an email associated with your account, you will hear back from us as soon as possible.", + forgot_pass_c2a: "Forgot password?", + from: "From", + general: "General", + get_a_copy_of_on_puter: `Get a copy of '%%' on Puter.com!`, + get_copy_link: 'Get Copy Link', + hide_all_windows: "Hide All Windows", + html_document: 'HTML document', + image: 'Image', + invite_link: "Invite Link", + items_in_trash_cannot_be_renamed: `This item can't be renamed because it's in the trash. To rename this item, first drag it out of the Trash.`, + jpeg_image: 'JPEG image', + keep_in_taskbar: 'Keep in Taskbar', + log_in: "Log In", + log_out: 'Log Out', + move: 'Move', + moving: "Moving", + my_websites: "My Websites", + name: 'Name', + name_cannot_be_empty: 'Name cannot be empty.', + name_cannot_contain_double_period: "Name can not be the '..' character.", + name_cannot_contain_period: "Name can not be the '.' character.", + name_cannot_contain_slash: "Name cannot contain the '/' character.", + name_must_be_string: "Name can only be a string.", + name_too_long: `Name can not be longer than %% characters.`, + new: 'New', + new_folder: 'New folder', + new_password: "New Password", + new_username: "New Username", + no_dir_associated_with_site: 'No directory associated with this address.', + no_websites_published: "You have not published any websites yet.", + ok: 'OK', + open: "Open", + open_in_new_tab: "Open in New Tab", + open_in_new_window: "Open in New Window", + open_with: "Open With", + password: "Password", + password_changed: "Password changed.", + passwords_do_not_match: '`New Password` and `Confirm New Password` do not match.', + paste: 'Paste', + paste_into_folder: "Paste Into Folder", + pick_name_for_website: "Pick a name for your website:", + picture: "Picture", + powered_by_puter_js: `Powered by Puter.js`, + preparing: "Preparing...", + preparing_for_upload: "Preparing for upload...", + properties: "Properties", + publish: "Publish", + publish_as_website: 'Publish as website', + recent: "Recent", + recover_password: "Recover Password", + refer_friends_c2a: "Get 1 GB for every friend who creates and confirms an account on Puter. Your friend will get 1 GB too!", + refer_friends_social_media_c2a: `Get 1 GB of free storage on Puter.com!`, + refresh: 'Refresh', + release_address_confirmation: `Are you sure you want to release this address?`, + remove_from_taskbar:'Remove from Taskbar', + rename: 'Rename', + repeat: 'Repeat', + resend_confirmation_code: "Re-send Confirmation Code", + restore: "Restore", + save_account_to_get_copy_link: "Please create an account to proceed.", + save_account_to_publish: 'Please create an account to proceed.', + save_session_c2a: 'Create an account to save your current session and avoid losing your work.', + scan_qr_c2a: 'Scan the code below to log into this session from other devices', + select: "Select", + select_color: 'Select color…', + send: "Send", + send_password_recovery_email: "Send Password Recovery Email", + session_saved: "Thank you for creating an account. This session has been saved.", + set_new_password: "Set New Password", + share_to: "Share to", + show_all_windows: "Show All Windows", + show_hidden: 'Show hidden', + sign_in_with_puter: "Sign in with Puter", + sign_up: "Sign Up", + signing_in: "Signing in…", + size: 'Size', + sort_by: 'Sort by', + start: 'Start', + taking_longer_than_usual: 'Taking a little longer than usual. Please wait...', + text_document: 'Text document', + tos_fineprint: `By clicking 'Create Free Account' you agree to Puter's Terms of Service and Privacy Policy.`, + trash: 'Trash', + type: 'Type', + undo: 'Undo', + unzip: "Unzip", + upload: 'Upload', + upload_here: 'Upload here', + username: "Username", + username_changed: 'Username updated successfully.', + versions: "Versions", + yes_release_it: 'Yes, Release It', + you_have_been_referred_to_puter_by_a_friend: "You have been referred to Puter by a friend!", + zip: "Zip", + } +}; + +export default en; \ No newline at end of file diff --git a/src/i18n/translations/fa.js b/src/i18n/translations/fa.js new file mode 100644 index 00000000..8d88c785 --- /dev/null +++ b/src/i18n/translations/fa.js @@ -0,0 +1,148 @@ +const fa = { + name: "فارسی", + code: "fa", + dictionary: { + access_granted_to: "دسترسی داده شده به", + add_existing_account: "افزودن حساب کاربری موجود", + all_fields_required: 'تمامی فیلدها الزامی هستند.', + apply: "اعمال", + ascending: 'صعودی', + background: "پس زمینه", + browse: "مرور", + cancel: 'لغو', + center: 'مرکز', + change_desktop_background: 'تغییر پس زمینه دسکتاپ…', + change_language: "تغییر زبان", + change_password: "تغییر رمز عبور", + change_username: "تغییر نام کاربری", + close_all_windows: "بستن همه پنجره ها", + color: 'رنگ', + confirm_account_for_free_referral_storage_c2a: 'حساب کاربری خود را ایجاد کرده و آدرس ایمیل خود را تأیید کنید تا 1 گیگابایت فضای ذخیره سازی رایگان دریافت کنید. دوست شما هم 1 گیگابایت فضای ذخیره سازی رایگان دریافت خواهد کرد.', + confirm_new_password: "تأیید رمز عبور جدید", + contact_us: "تماس با ما", + contain: 'شامل', + continue: "ادامه", + copy: 'کپی', + copy_link: "کپی لینک", + copying: "کپی", + cover: 'جلد', + create_account: "ایجاد حساب کاربری", + create_free_account: "ایجاد حساب کاربری رایگان", + create_shortcut: "ایجاد میانبر", + current_password: "رمز عبور فعلی", + cut: 'برش', + date_modified: 'تاریخ تغییر', + delete: 'حذف', + delete_permanently: "حذف دائمی", + deploy_as_app: 'نصب به عنوان برنامه', + descending: 'نزولی', + desktop_background_fit: "متناسب", + dir_published_as_website: `%strong% منتشر شده به:`, + disassociate_dir: "قطع ارتباط دایرکتوری", + download: 'دانلود', + downloading: "دانلود", + email: "ایمیل", + email_or_username: "ایمیل یا نام کاربری", + empty_trash: 'خالی کردن سطل زباله', + empty_trash_confirmation: `آیا از حذف دائمی موارد در سطل زباله مطمئن هستید؟`, + emptying_trash: 'خالی کردن سطل زباله…', + feedback: "بازخورد", + feedback_c2a: "لطفا از فرم زیر برای ارسال بازخورد، نظرات و گزارش خطا استفاده کنید.", + feedback_sent_confirmation: "با تشکر از تماس شما. اگر ایمیلی به حساب کاربری شما متصل است، در اسرع وقت پاسخ خواهیم داد.", + forgot_pass_c2a: "رمز عبور را فراموش کرده اید؟", + from: "از", + general: "عمومی", + get_a_copy_of_on_puter: `یک نسخه از '%%' را در Puter.com بگیرید!`, + get_copy_link: 'گرفتن لینک کپی', + hide_all_windows: "پنهان کردن همه پنجره ها", + html_document: 'سند HTML', + image: 'تصویر', + invite_link: "لینک دعوت", + items_in_trash_cannot_be_renamed: `این مورد نمی تواند تغییر نام دهد زیرا در سطل زباله است. برای تغییر نام این مورد، ابتدا آن را از سطل زباله بیرون بکشید.`, + jpeg_image: 'تصویر JPEG', + keep_in_taskbar: 'در نوار وظایف نگه دارید', + log_in: "ورود", + log_out: 'خروج', + move: 'انتقال', + moving: "انتقال", + my_websites: "وبسایت های من", + name: 'نام', + name_cannot_be_empty: 'نام نمی تواند خالی باشد.', + name_cannot_contain_double_period: "نام نمی تواند شامل '..' باشد.", + name_cannot_contain_period: "نام نمی تواند شامل '.' باشد.", + name_cannot_contain_slash: "نام نمی تواند شامل '/' باشد.", + name_must_be_string: "نام فقط می تواند یک رشته باشد.", + name_too_long: `نام نمی تواند بیشتر از %% کاراکتر باشد.`, + new: 'جدید', + new_folder: 'پوشه جدید', + new_password: "رمز عبور جدید", + new_username: "نام کاربری جدید", + no_dir_associated_with_site: 'هیچ دایرکتوری مرتبط با این آدرس وجود ندارد.', + no_websites_published: "هنوز هیچ وبسایتی منتشر نکرده اید.", + ok: 'خوب', + open: "باز کردن", + open_in_new_tab: "در تب جدید باز کن", + open_in_new_window: "در پنجره جدید باز کن", + open_with: "باز کردن با", + password: "رمز عبور", + password_changed: "رمز عبور تغییر یافت.", + passwords_do_not_match: '`رمز عبور جدید` و `تأیید رمز عبور جدید` مطابقت ندارند.', + paste: 'چسباندن', + paste_into_folder: "چسباندن در پوشه", + pick_name_for_website: "یک نام برای وبسایت خود انتخاب کنید:", + picture: "تصویر", + powered_by_puter_js: `پشتیبانی شده توسط Puter.js`, + preparing: "در حال آماده سازی...", + preparing_for_upload: "آماده سازی برای بارگذاری...", + properties: "ویژگی ها", + publish: "انتشار", + publish_as_website: 'انتشار به عنوان وبسایت', + recent: "اخیر", + recover_password: "بازیابی رمز عبور", + refer_friends_c2a: "برای هر دوستی که حساب کاربری Puter ایجاد و تأیید کند، 1 گیگابایت دریافت کنید. دوست شما هم 1 گیگابایت دریافت خواهد کرد!", + refer_friends_social_media_c2a: `1 گیگابایت فضای ذخیره سازی رایگان را در Puter.com بگیرید!`, + refresh: 'تازه کردن', + release_address_confirmation: `آیا مطمئن هستید که می خواهید این آدرس را آزاد کنید؟`, + remove_from_taskbar:'از نوار وظایف حذف کن', + rename: 'تغییر نام', + repeat: 'تکرار', + resend_confirmation_code: "ارسال مجدد کد تأیید", + restore: "بازیابی", + save_account_to_get_copy_link: "لطفا برای ادامه یک حساب کاربری ایجاد کنید.", + save_account_to_publish: 'لطفا برای ادامه یک حساب کاربری ایجاد کنید.', + save_session_c2a: 'برای ذخیره جلسه فعلی و جلوگیری از از دست دادن کار خود یک حساب کاربری ایجاد کنید.', + scan_qr_c2a: 'کد زیر را از دستگاه های دیگر اسکن کنید تا به این جلسه وارد شوید', + select: "انتخاب", + select_color: 'انتخاب رنگ…', + send: "ارسال", + send_password_recovery_email: "ارسال ایمیل بازیابی رمز عبور", + session_saved: "با تشکر از ایجاد حساب کاربری. این جلسه ذخیره شده است.", + set_new_password: "تنظیم رمز عبور جدید", + share_to: "اشتراک گذاری به", + show_all_windows: "نمایش همه پنجره ها", + show_hidden: 'نمایش مخفی', + sign_in_with_puter: "ورود با Puter", + sign_up: "ثبت نام", + signing_in: "ورود…", + size: 'اندازه', + sort_by: 'مرتب سازی بر اساس', + start: 'شروع', + taking_longer_than_usual: 'کمی بیشتر از معمول طول می کشد. لطفا صبر کنید...', + text_document: 'سند متنی', + tos_fineprint: `با کلیک بر روی 'ایجاد حساب کاربری رایگان' شما با شرایط خدمات و سیاست حفظ حریم خصوصی Puter موافقت می کنید.`, + trash: 'سطل زباله', + type: 'نوع', + undo: 'بازگشت', + unzip: "باز کردن فایل فشرده", + upload: 'بارگذاری', + upload_here: 'اینجا بارگذاری کنید', + username: "نام کاربری", + username_changed: 'نام کاربری با موفقیت به روز شد.', + versions: "نسخه ها", + yes_release_it: 'بله، آن را آزاد کن', + you_have_been_referred_to_puter_by_a_friend: "شما توسط یک دوست به Puter معرفی شده اید!", + zip: "فشرده سازی", + } +}; + +export default fa; \ No newline at end of file diff --git a/src/i18n/translations/fr.js b/src/i18n/translations/fr.js new file mode 100644 index 00000000..ecf54465 --- /dev/null +++ b/src/i18n/translations/fr.js @@ -0,0 +1,148 @@ +const fr = { + name: "Français", + code: "fr", + dictionary: { + access_granted_to: "Accès accordé à", + add_existing_account: "Ajouter un compte existant", + all_fields_required: 'All fields are required.', + apply: "Appliquer", + ascending: 'Ascending', + background: "Background", + browse: "Browse", + cancel: 'Annuler', + center: 'Center', + change_desktop_background: 'Changer l’arrière-plan du bureau…', + change_language: "Changer de langue", + change_password: "Changer de mot de passe", + change_username: "Changer de nom d'ulilisateur", + close_all_windows: "Fermer toutes les fenêtres", + color: 'Couleur', + confirm_account_for_free_referral_storage_c2a: 'Créez un compte et confirmez votre adresse e-mail pour recevoir 1 Go de stockage gratuit. Votre ami bénéficiera également de 1 Go de stockage gratuit.', + confirm_new_password: "Confirmez le nouveau mot de passe", + contact_us: "Nous contacter", + contain: 'Contain', + continue: "Continuer", + copy: 'Copier', + copy_link: "Copier le lien", + copying: "Copying", + cover: 'Cover', + create_account: "Créer un compte", + create_free_account: "Créer un compte gratuit", + create_shortcut: "Créer un raccourci", + current_password: "Mot de passe actuel", + cut: 'Couper', + date_modified: 'Date de modification', + delete: 'Supprimer', + delete_permanently: "Supprimer définitivement", + deploy_as_app: 'Deployer en tant qu\'application', + descending: 'Décroissant', + desktop_background_fit: "Ajuster", + dir_published_as_website: `%strong% a été publié sur :`, + disassociate_dir: "Dissocier le répertoire", + download: 'Télécharger', + downloading: "Téléchargement en cours", + email: "Email", + email_or_username: "Email ou nom d'utilisateur", + empty_trash: 'Vider la corbeille', + empty_trash_confirmation: `Êtes-vous sûr de vouloir supprimer définitivement les éléments de la corbeille ?`, + emptying_trash: 'Vidage de la corbeille...', + feedback: "Envoyer des commentaires", + feedback_c2a: "Veuillez utiliser le formulaire ci-dessous pour nous envoyer vos retours, commentaires et rapports de bugs.", + feedback_sent_confirmation: "Merci de nous avoir contactés. Si vous avez un e-mail associé à votre compte, vous recevrez une réponse de notre part dans les plus brefs délais.", + forgot_pass_c2a: "Mot de passe oublier?", + from: "De", + general: "Général", + get_a_copy_of_on_puter: `Obtenez une copie de '%%' sur Puter.com!`, + get_copy_link: 'Obtenir le lien de copie', + hide_all_windows: "Masquer toutes les fenêtres", + html_document: 'Document HTML', + image: 'Image', + invite_link: "Lien d'invitation", + items_in_trash_cannot_be_renamed: `Cet élément ne peut pas être renommé car il se trouve dans la corbeille. Pour renommer cet élément, faites-le d'abord glisser hors de la corbeille.`, + jpeg_image: 'Image JPEG', + keep_in_taskbar: 'Garder dans la barre des tâches', + log_in: "Se connecter", + log_out: 'Déconnexion', + move: 'Déplacer', + moving: "Déplacement en cours", + my_websites: "Mes sites internet", + name: 'Nom', + name_cannot_be_empty: 'Le nom ne peut pas être vide.', + name_cannot_contain_double_period: "Le nom ne peut pas être le caractère '..'.", + name_cannot_contain_period: "Le nom ne peut pas être le caractère '.'.", + name_cannot_contain_slash: "Le nom ne peut pas contenir le caractère '/'.", + name_must_be_string: "Le nom peut uniquement être une chaîne.", + name_too_long: `Le nom ne peut pas contenir plus de %% caractères.`, + new: 'Nouveau', + new_folder: 'Nouveau dossier', + new_password: "Nouveau mot de passe", + new_username: "Nouveau nom d'utilisateur", + no_dir_associated_with_site: 'Aucun répertoire associé à cette adresse.', + no_websites_published: "Vous n'avez pas encore publié de sites internet.", + ok: 'OK', + open: "Ouvrir", + open_in_new_tab: "Ouvrir dans un nouvel onglet", + open_in_new_window: "Ouvrir dans une nouvelle fenêtre", + open_with: "Ouvrir avec", + password: "Mot de passe", + password_changed: "Mot de passe modifié.", + passwords_do_not_match: '\'Nouveau mot de passe\' et \'Confirmer le nouveau mot de passe\' ne correspondent pas.', + paste: 'Coller', + paste_into_folder: "Coller dans le dossier", + pick_name_for_website: "Choisissez un nom pour votre site Web :", + picture: "Image", + powered_by_puter_js: `Alimenté par Puter.js`, + preparing: "Préparation...", + preparing_for_upload: "Préparation du chargement...", + properties: "Propriétés", + publish: "Publier", + publish_as_website: 'Publier en tant que site internet', + recent: "Récent", + recover_password: "Récupérer le mot de passe", + refer_friends_c2a: "Obtenez 1 Go pour chaque ami qui crée et confirme un compte sur Puter. Votre ami recevra également 1 Go !", + refer_friends_social_media_c2a: `Obtenez 1 Go de stockage gratuit sur Puter.com !`, + refresh: 'Actualiser', + release_address_confirmation: `Êtes-vous sûr de vouloir libérer cette adresse ?`, + remove_from_taskbar:'Retirer de la barre des tâches', + rename: 'Renomer', + repeat: 'Répéter', + resend_confirmation_code: "Renvoyer le code de confirmation", + restore: "Restorer", + save_account_to_get_copy_link: "Veuillez créer un compte pour continuer", + save_account_to_publish: 'Veuillez créer un compte pour continuer.', + save_session_c2a: 'Créez un compte pour sauvegarder votre session en cours et éviter de perdre votre travail.', + scan_qr_c2a: 'Scannez le code ci-dessous pour vous connecter à cette session depuis d\'autres appareils', + select: "Sélectionner", + select_color: 'Sélectionner une couleur...', + send: "Envoyer", + send_password_recovery_email: "Envoyer un e-mail de récupération de mot de passe", + session_saved: "Merci d'avoir créé un compte. Cette session a été sauvegardée.", + set_new_password: "Definir un nouveau mot de passe", + share_to: "Partager à", + show_all_windows: "Afficher toutes les fenêtres", + show_hidden: 'Afficher les éléments cachés', + sign_in_with_puter: "Se connecter avec Puter", + sign_up: "S'inscrire", + signing_in: "Connexion…", + size: 'Taille', + sort_by: 'Trier par', + start: 'Démarrer', + taking_longer_than_usual: 'Cela prend un peu plus de temps que d\'habitude. Veuillez patienter...', + text_document: 'Document texte', + tos_fineprint: `En cliquant sur "Créer un compte gratuit", vous acceptez les conditions d'utilisation et la politique de confidentialité.`, + trash: 'Corbeille', + type: 'Type', + undo: 'Annuler', + unzip: "Décompresser", + upload: 'Charger', + upload_here: 'Charger ici', + username: "Nom d'utilisateur", + username_changed: 'Nom d\'utilisateur mis à jour avec succès.', + versions: "Versions", + yes_release_it: 'Oui, libérez-la', + you_have_been_referred_to_puter_by_a_friend: "Vous avez été référé à Puter par un ami !", + zip: "Compresser", + } +} + +export default fr; \ No newline at end of file diff --git a/src/i18n/translations/ko.js b/src/i18n/translations/ko.js new file mode 100644 index 00000000..9c8d487b --- /dev/null +++ b/src/i18n/translations/ko.js @@ -0,0 +1,148 @@ +const ko = { + name: "한국어", + code: "ko", + dictionary: { + access_granted_to: "접근 권한 부여", + add_existing_account: "기존 계정 추가", + all_fields_required: '모든 필드는 필수입니다.', + apply: "적용", + ascending: '오름차순', + background: "배경", + browse: "찾아보기", + cancel: '취소', + center: '중앙', + change_desktop_background: '바탕 화면 배경 변경…', + change_language: "언어 변경", + change_password: "비밀번호 변경", + change_username: "사용자 이름 변경", + close_all_windows: "모든 창 닫기", + color: '색상', + confirm_account_for_free_referral_storage_c2a: '계정을 생성하고 이메일 주소를 확인하여 1GB의 무료 저장 공간을 받으십시오. 친구도 1GB의 무료 저장 공간을 받게 됩니다.', + confirm_new_password: "새 비밀번호 확인", + contact_us: "문의하기", + contain: '포함', + continue: "계속", + copy: '복사', + copy_link: "링크 복사", + copying: "복사 중", + cover: '표지', + create_account: "계정 생성", + create_free_account: "무료 계정 생성", + create_shortcut: "바로 가기 만들기", + current_password: "현재 비밀번호", + cut: '잘라내기', + date_modified: '수정한 날짜', + delete: '삭제', + delete_permanently: "영구 삭제", + deploy_as_app: '앱으로 배포', + descending: '내림차순', + desktop_background_fit: "맞추기", + dir_published_as_website: `%strong% 다음에 게시되었습니다:`, + disassociate_dir: "디렉토리 연결 해제", + download: '다운로드', + downloading: "다운로드 중", + email: "이메일", + email_or_username: "이메일 또는 사용자 이름", + empty_trash: '휴지통 비우기', + empty_trash_confirmation: `휴지통의 항목을 영구적으로 삭제하시겠습니까?`, + emptying_trash: '휴지통 비우는 중…', + feedback: "피드백", + feedback_c2a: "아래 양식을 사용하여 피드백, 의견 및 버그 보고를 보내십시오.", + feedback_sent_confirmation: "문의해 주셔서 감사합니다. 계정에 이메일이 연결되어 있으면 가능한 빨리 회신 드리겠습니다.", + forgot_pass_c2a: "비밀번호를 잊으셨나요?", + from: "보낸 사람", + general: "일반", + get_a_copy_of_on_puter: `Puter.com에서 '%%'의 사본을 받으세요!`, + get_copy_link: '링크 복사', + hide_all_windows: "모든 창 숨기기", + html_document: 'HTML 문서', + image: '이미지', + invite_link: "초대 링크", + items_in_trash_cannot_be_renamed: `이 항목은 휴지통에 있기 때문에 이름을 바꿀 수 없습니다. 이 항목의 이름을 바꾸려면 먼저 휴지통에서 끌어내십시오.`, + jpeg_image: 'JPEG 이미지', + keep_in_taskbar: '작업 표시줄에 유지', + log_in: "로그인", + log_out: '로그아웃', + move: '이동', + moving: "이동 중", + my_websites: "내 웹사이트", + name: '이름', + name_cannot_be_empty: '이름은 비워둘 수 없습니다.', + name_cannot_contain_double_period: "이름은 '..' 문자일 수 없습니다.", + name_cannot_contain_period: "이름은 '.' 문자일 수 없습니다.", + name_cannot_contain_slash: "이름에 '/' 문자를 포함할 수 없습니다.", + name_must_be_string: "이름은 문자열만 가능합니다.", + name_too_long: `이름은 %%자보다 길 수 없습니다.`, + new: '새로운', + new_folder: '새 폴더', + new_password: "새 비밀번호", + new_username: "새 사용자 이름", + no_dir_associated_with_site: '이 주소에 연결된 디렉토리가 없습니다.', + no_websites_published: "아직 웹사이트를 게시하지 않았습니다.", + ok: '확인', + open: "열기", + open_in_new_tab: "새 탭에서 열기", + open_in_new_window: "새 창에서 열기", + open_with: "열기 방법", + password: "비밀번호", + password_changed: "비밀번호가 변경되었습니다.", + passwords_do_not_match: '`새 비밀번호`와 `새 비밀번호 확인`이 일치하지 않습니다.', + paste: '붙여넣기', + paste_into_folder: "폴더에 붙여넣기", + pick_name_for_website: "웹사이트 이름을 선택하세요:", + picture: "사진", + powered_by_puter_js: `Powered by Puter.js`, + preparing: "준비 중...", + preparing_for_upload: "업로드 준비 중...", + properties: "속성", + publish: "게시", + publish_as_website: '웹사이트로 게시', + recent: "최근", + recover_password: "비밀번호 찾기", + refer_friends_c2a: "Puter에서 계정을 생성하고 확인한 친구마다 1GB를 받으십시오. 친구도 1GB를 받게 됩니다!", + refer_friends_social_media_c2a: `Puter.com에서 1GB의 무료 저장 공간을 받으십시오!`, + refresh: '새로 고침', + release_address_confirmation: `이 주소를 해제하시겠습니까?`, + remove_from_taskbar:'작업 표시줄에서 제거', + rename: '이름 바꾸기', + repeat: '반복', + resend_confirmation_code: "확인 코드 다시 보내기", + restore: "복원", + save_account_to_get_copy_link: "계속하려면 계정을 생성하십시오.", + save_account_to_publish: '계속하려면 계정을 생성하십시오.', + save_session_c2a: '현재 세션을 저장하고 작업을 잃지 않으려면 계정을 생성하십시오.', + scan_qr_c2a: '다른 기기에서 이 세션으로 로그인하려면 아래 코드를 스캔하십시오', + select: "선택", + select_color: '색상 선택…', + send: "보내기", + send_password_recovery_email: "비밀번호 복구 이메일 보내기", + session_saved: "계정을 생성해 주셔서 감사합니다. 이 세션이 저장되었습니다.", + set_new_password: "새 비밀번호 설정", + share_to: "공유", + show_all_windows: "모든 창 표시", + show_hidden: '숨김 항목 표시', + sign_in_with_puter: "Puter로 로그인", + sign_up: "가입", + signing_in: "로그인 중…", + size: '크기', + sort_by: '정렬 기준', + start: '시작', + taking_longer_than_usual: '보통보다 조금 더 오래 걸립니다. 잠시만 기다려 주십시오...', + text_document: '텍스트 문서', + tos_fineprint: `무료 계정 생성을 클릭하면 Puter의 서비스 약관개인정보 보호정책에 동의하는 것입니다.`, + trash: '휴지통', + type: '유형', + undo: '실행 취소', + unzip: "압축 해제", + upload: '업로드', + upload_here: '여기에 업로드', + username: "사용자 이름", + username_changed: '사용자 이름이 성공적으로 업데이트되었습니다.', + versions: "버전", + yes_release_it: '예, 해제합니다', + you_have_been_referred_to_puter_by_a_friend: "친구가 Puter로 추천했습니다!", + zip: "압축", + } +}; + +export default ko; \ No newline at end of file diff --git a/src/i18n/translations/no.js b/src/i18n/translations/no.js new file mode 100644 index 00000000..85d7e03f --- /dev/null +++ b/src/i18n/translations/no.js @@ -0,0 +1,148 @@ +const no = { + name: "Norsk", + code: "no", + dictionary: { + access_granted_to: "Tilgang gitt til", + add_existing_account: "Legg til eksisterende konto", + all_fields_required: "Alle felt er obligatoriske.", + apply: "Bruk", + ascending: "Stigende", + background: "Bakgrunn", + browse: "Bla gjennom", + cancel: "Avbryt", + center: "Sentrer", + change_desktop_background: "Endre skrivebordsbakgrunn…", + change_language: "Endre språk", + change_password: "Endre passord", + change_username: "Endre brukernavn", + close_all_windows: "Lukk alle vinduer", + color: "Farge", + confirm_account_for_free_referral_storage_c2a: "Opprett en konto og bekreft e-postadressen din for å motta 1 GB gratis lagringsplass. Din venn vil også få 1 GB gratis lagringsplass.", + confirm_new_password: "Bekreft nytt passord", + contact_us: "Kontakt oss", + contain: "Inneholde", + continue: "Fortsett", + copy: "Kopier", + copy_link: "Kopier lenke", + copying: "Kopierer", + cover: "Dekke", + create_account: "Opprett konto", + create_free_account: "Opprett gratis konto", + create_shortcut: "Opprett snarvei", + current_password: "Nåværende passord", + cut: "Klipp ut", + date_modified: "Endret dato", + delete: "Slett", + delete_permanently: "Slett permanent", + deploy_as_app: "Distribuer som app", + descending: "Synkende", + desktop_background_fit: "Tilpass", + dir_published_as_website: "%strong% er publisert på:", + disassociate_dir: "Fjern tilknytning fra mappe", + download: "Last ned", + downloading: "Laster ned", + email: "E-post", + email_or_username: "E-post eller brukernavn", + empty_trash: "Tøm papirkurv", + empty_trash_confirmation: "Er du sikker på at du vil slette alt i papirkurven permanent?", + emptying_trash: "Tømmer papirkurv…", + feedback: "Tilbakemelding", + feedback_c2a: "Vennligst bruk skjemaet nedenfor for å sende oss din tilbakemelding, kommentarer og feilrapporter.", + feedback_sent_confirmation: "Takk for at du kontaktet oss. Hvis du har en e-post knyttet til kontoen din, vil du høre fra oss så snart som mulig.", + forgot_pass_c2a: "Glemt passord?", + from: "Fra", + general: "Generelt", + get_a_copy_of_on_puter: "Få en kopi av '%%' på Puter.com!", + get_copy_link: "Få kopilenke", + hide_all_windows: "Skjul alle vinduer", + html_document: "HTML-dokument", + image: "Bilde", + invite_link: "Invitasjonslenke", + items_in_trash_cannot_be_renamed: "Dette elementet kan ikke omdøpes fordi det er i papirkurven. For å omdøpe dette elementet, dra det først ut av papirkurven.", + jpeg_image: "JPEG-bilde", + keep_in_taskbar: "Behold i oppgavelinjen", + log_in: "Logg inn", + log_out: "Logg ut", + move: "Flytt", + moving: "Flytter", + my_websites: "Mine nettsteder", + name: "Navn", + name_cannot_be_empty: "Navn kan ikke være tomt.", + name_cannot_contain_double_period: "Navn kan ikke inneholde '..'.", + name_cannot_contain_period: "Navn kan ikke inneholde '.'-tegnet.", + name_cannot_contain_slash: "Navn kan ikke inneholde '/'-tegnet.", + name_must_be_string: "Navn kan bare være en streng.", + name_too_long: "Navn kan ikke være lengre enn %% tegn.", + new: "Ny", + new_folder: "Ny mappe", + new_password: "Nytt passord", + new_username: "Nytt brukernavn", + no_dir_associated_with_site: "Ingen mappe er tilknyttet denne adressen.", + no_websites_published: "Du har ikke publisert noen nettsteder ennå.", + ok: "OK", + open: "Åpne", + open_in_new_tab: "Åpne i ny fane", + open_in_new_window: "Åpne i nytt vindu", + open_with: "Åpne med", + password: "Passord", + password_changed: "Passord endret.", + passwords_do_not_match: "`Nytt passord` og `Bekreft nytt passord` stemmer ikke overens.", + paste: "Lim inn", + paste_into_folder: "Lim inn i mappe", + pick_name_for_website: "Velg et navn for nettstedet ditt:", + picture: "Bilde", + powered_by_puter_js: "Drevet av Puter.js", + preparing: "Forbereder...", + preparing_for_upload: "Forbereder opplasting...", + properties: "Egenskaper", + publish: "Publiser", + publish_as_website: "Publiser som nettsted", + recent: "Nylig", + recover_password: "Gjenopprett passord", + refer_friends_c2a: "Få 1 GB for hver venn som oppretter og bekrefter en konto på Puter. Vennen din får også 1 GB.", + refer_friends_social_media_c2a: "Få 1 GB gratis lagringsplass på Puter.com!", + refresh: "Oppdater", + release_address_confirmation: "Er du sikker på at du vil frigi denne adressen?", + remove_from_taskbar: "Fjern fra oppgavelinjen", + rename: "Gi nytt navn", + repeat: "Gjenta", + resend_confirmation_code: "Send bekreftelseskoden på nytt", + restore: "Gjenopprett", + save_account_to_get_copy_link: "Vennligst opprett en konto for å fortsette.", + save_account_to_publish: "Vennligst opprett en konto for å fortsette.", + save_session_c2a: "Opprett en konto for å lagre gjeldende økt og unngå å miste arbeidet ditt.", + scan_qr_c2a: "Skann koden nedenfor for å logge inn på denne økten fra andre enheter", + select: "Velg", + select_color: "Velg farge…", + send: "Send", + send_password_recovery_email: "Send e-post for gjenoppretting av passord", + session_saved: "Takk for at du opprettet en konto. Denne økten er lagret.", + set_new_password: "Angi nytt passord", + share_to: "Del", + show_all_windows: "Vis alle vinduer", + show_hidden: "Vis skjulte", + sign_in_with_puter: "Logg inn med Puter", + sign_up: "Registrer deg", + signing_in: "Logger inn…", + size: "Størrelse", + sort_by: "Sorter etter", + start: "Start", + taking_longer_than_usual: "Dette tar litt lenger tid enn vanlig. Vennligst vent...", + text_document: "Tekstdokument", + tos_fineprint: "Ved å klikke på 'Opprett gratis konto' godtar du Puters tjenestevilkår og personvernpolicy.", + trash: "Papirkurv", + type: "Type", + undo: "Angre", + unzip: "Pakk ut", + upload: "Last opp", + upload_here: "Last opp her", + username: "Brukernavn", + username_changed: "Brukernavn oppdatert.", + versions: "Versjoner", + yes_release_it: "Ja, frigi den", + you_have_been_referred_to_puter_by_a_friend: "Du har blitt henvist til Puter av en venn!", + zip: "Zip" + } +}; + +export default no; \ No newline at end of file diff --git a/src/i18n/translations/translations.js b/src/i18n/translations/translations.js new file mode 100644 index 00000000..1ed3aa60 --- /dev/null +++ b/src/i18n/translations/translations.js @@ -0,0 +1,15 @@ +import en from './en.js'; +import no from './no.js'; +import fa from './fa.js'; +import ko from './ko.js'; +import zh from './zh.js'; +import fr from './fr.js'; + +export default { + en: en, + no: no, + fa: fa, + ko: ko, + zh: zh, + fr: fr, +}; \ No newline at end of file diff --git a/src/i18n/translations/zh.js b/src/i18n/translations/zh.js new file mode 100644 index 00000000..76770853 --- /dev/null +++ b/src/i18n/translations/zh.js @@ -0,0 +1,148 @@ +const zh = { + name: "中文", + code: "zh", + dictionary: { + access_granted_to: "访问授权给", + add_existing_account: "添加现有帐户", + all_fields_required: '所有字段都是必需的。', + apply: "应用", + ascending: '升序', + background: "背景", + browse: "浏览", + cancel: '取消', + center: '中心', + change_desktop_background: '更改桌面背景…', + change_language: "更改语言", + change_password: "更改密码", + change_username: "更改用户名", + close_all_windows: "关闭所有窗口", + color: '颜色', + confirm_account_for_free_referral_storage_c2a: '创建帐户并确认您的电子邮件地址,以获得1 GB的免费存储空间。您的朋友也将获得1 GB的免费存储空间。', + confirm_new_password: "确认新密码", + contact_us: "联系我们", + contain: '包含', + continue: "继续", + copy: '复制', + copy_link: "复制链接", + copying: "复制", + cover: '封面', + create_account: "创建帐户", + create_free_account: "创建免费帐户", + create_shortcut: "创建快捷方式", + current_password: "当前密码", + cut: '剪切', + date_modified: '修改日期', + delete: '删除', + delete_permanently: "永久删除", + deploy_as_app: '部署为应用', + descending: '降序', + desktop_background_fit: "适合", + dir_published_as_website: `%strong% 已发布到:`, + disassociate_dir: "取消关联目录", + download: '下载', + downloading: "下载", + email: "电子邮件", + email_or_username: "电子邮件或用户名", + empty_trash: '清空回收站', + empty_trash_confirmation: `您确定要永久删除回收站中的项目吗?`, + emptying_trash: '清空回收站…', + feedback: "反馈", + feedback_c2a: "请使用下面的表格向我们发送您的反馈、评论和错误报告。", + feedback_sent_confirmation: "感谢您与我们联系。如果您的帐户关联有电子邮件,我们会尽快回复您。", + forgot_pass_c2a: "忘记密码?", + from: "从", + general: "一般", + get_a_copy_of_on_puter: `在 Puter.com 上获取 '%%' 的副本!`, + get_copy_link: '获取复制链接', + hide_all_windows: "隐藏所有窗口", + html_document: 'HTML 文档', + image: '图像', + invite_link: "邀请链接", + items_in_trash_cannot_be_renamed: `此项目无法重命名,因为它在回收站中。要重命名此项目,请先将其拖出回收站。`, + jpeg_image: 'JPEG 图像', + keep_in_taskbar: '保持在任务栏', + log_in: "登录", + log_out: '登出', + move: '移动', + moving: "移动", + my_websites: "我的网站", + name: '名称', + name_cannot_be_empty: '名称不能为空。', + name_cannot_contain_double_period: "名称不能是'..'字符。", + name_cannot_contain_period: "名称不能是'.'字符。", + name_cannot_contain_slash: "名称不能包含'/'字符。", + name_must_be_string: "名称只能是字符串。", + name_too_long: `名称不能超过 %% 个字符。`, + new: '新', + new_folder: '新文件夹', + new_password: "新密码", + new_username: "新用户名", + no_dir_associated_with_site: '此地址没有关联的目录。', + no_websites_published: "您尚未发布任何网站。", + ok: '好的', + open: "打开", + open_in_new_tab: "在新标签页中打开", + open_in_new_window: "在新窗口中打开", + open_with: "打开方式", + password: "密码", + password_changed: "密码已更改。", + passwords_do_not_match: '`新密码` 和 `确认新密码` 不匹配。', + paste: '粘贴', + paste_into_folder: "粘贴到文件夹", + pick_name_for_website: "为您的网站选择一个名称:", + picture: "图片", + powered_by_puter_js: `由 Puter.js 提供支持`, + preparing: "准备中...", + preparing_for_upload: "准备上传...", + properties: "属性", + publish: "发布", + publish_as_website: '发布为网站', + recent: "最近", + recover_password: "找回密码", + refer_friends_c2a: "每个创建并确认 Puter 帐户的朋友都会为您获得 1 GB。您的朋友也将获得 1 GB!", + refer_friends_social_media_c2a: `在 Puter.com 上获取 1 GB 的免费存储空间!`, + refresh: '刷新', + release_address_confirmation: `您确定要释放此地址吗?`, + remove_from_taskbar:'从任务栏中删除', + rename: '重命名', + repeat: '重复', + resend_confirmation_code: "重新发送确认码", + restore: "还原", + save_account_to_get_copy_link: "请创建帐户以继续。", + save_account_to_publish: '请创建帐户以继续。', + save_session_c2a: '创建帐户以保存当前会话,避免丢失工作。', + scan_qr_c2a: '扫描下面的代码以从其他设备登录此会话', + select: "选择", + select_color: '选择颜色…', + send: "发送", + send_password_recovery_email: "发送密码恢复电子邮件", + session_saved: "感谢您创建帐户。此会话已保存。", + set_new_password: "设置新密码", + share_to: "分享到", + show_all_windows: "显示所有窗口", + show_hidden: '显示隐藏', + sign_in_with_puter: "使用 Puter 登录", + sign_up: "注册", + signing_in: "登录中…", + size: '大小', + sort_by: '排序方式', + start: '开始', + taking_longer_than_usual: '需要的时间比平时长一点。请稍等...', + text_document: '文本文档', + tos_fineprint: `点击“创建免费帐户”即表示您同意 Puter 的 服务条款隐私政策。`, + trash: '回收站', + type: '类型', + undo: '撤销', + unzip: "解压缩", + upload: '上传', + upload_here: '在此上传', + username: "用户名", + username_changed: '用户名已成功更新。', + versions: "版本", + yes_release_it: '是的,释放它', + you_have_been_referred_to_puter_by_a_friend: "您已经被朋友推荐到 Puter!", + zip: "压缩", + } +}; + +export default zh; \ No newline at end of file diff --git a/src/initgui.js b/src/initgui.js index 3166b128..e66ad5b5 100644 --- a/src/initgui.js +++ b/src/initgui.js @@ -47,8 +47,7 @@ window.initgui = async function(){ puter.setAPIOrigin(api_origin); // determine locale - const userLang = navigator.language || navigator.userLanguage || 'en'; - window.locale = userLang?.split('-')[0] ?? 'en'; + window.locale = window.user_preferences.language; // Checks the type of device the user is on (phone, tablet, or desktop). // Depending on the device type, it sets a class attribute on the body tag diff --git a/src/static-assets.js b/src/static-assets.js index 481d2270..7690871a 100644 --- a/src/static-assets.js +++ b/src/static-assets.js @@ -33,7 +33,6 @@ const lib_paths =[ `/lib/iro.min.js`, `/lib/isMobile.min.js`, `/lib/jszip-3.10.1.min.js`, - `/i18n/i18n.js`, ] // Ordered list of CSS stylesheets @@ -49,6 +48,7 @@ const js_paths = [ '/helpers.js', '/IPC.js', '/globals.js', + `/i18n/i18n.js`, ] module.exports = { lib_paths, css_paths, js_paths } \ No newline at end of file