mirror of https://github.com/VERT-sh/VERT.git
Initialize vietnamese translation
This commit is contained in:
parent
9154213868
commit
ff6c76628e
|
|
@ -0,0 +1,325 @@
|
|||
{
|
||||
"$schema": "https://inlang.com/schema/inlang-message-format",
|
||||
"navbar": {
|
||||
"upload": "Tải lên",
|
||||
"convert": "Chuyển đổi",
|
||||
"settings": "Cài đặt",
|
||||
"about": "About",
|
||||
"toggle_theme": "Toggle theme"
|
||||
},
|
||||
"footer": {
|
||||
"copyright": "© {year} VERT.",
|
||||
"source_code": "Source code",
|
||||
"discord_server": "Server Discord",
|
||||
"privacy_policy": "Điều khoản bảo mật"
|
||||
},
|
||||
"upload": {
|
||||
"title": "Chuyển file siêu cuốn, dùng là yêu luôn.",
|
||||
"subtitle": "Mọi khâu xử lý ảnh hay tài liệu đều diễn ra ngay trên thiết bị, video thì được đẩy lên server chạy nhanh như chớp. Thoải mái đổi file không lo giới hạn dung lượng, sạch bóng quảng cáo và quan trọng là open source 100%.",
|
||||
"uploader": {
|
||||
"text": "Kéo thả hoặc nhấn để {action}",
|
||||
"convert": "chuyển đổi"
|
||||
},
|
||||
"cards": {
|
||||
"title": "VERT hỗ trợ...",
|
||||
"images": "Hình ảnh",
|
||||
"audio": "Âm thanh",
|
||||
"documents": "Tài liệu",
|
||||
"video": "Video",
|
||||
"video_server_processing": "Xử lý trên hệ thống",
|
||||
"local_supported": "Xử lý ngay trên máy",
|
||||
"status": {
|
||||
"text": "<b>Trạng thái:</b> {status}",
|
||||
"ready": "sẵn sàng",
|
||||
"not_ready": "đang chuẩn bị",
|
||||
"not_initialized": "chưa khởi động",
|
||||
"downloading": "đang tải...",
|
||||
"initializing": "đang chuẩn bị...",
|
||||
"unknown": "không xác định"
|
||||
},
|
||||
"supported_formats": "Hỗ trợ các định dạng:"
|
||||
},
|
||||
"tooltip": {
|
||||
"partial_support": "Định dạng này chỉ hỗ trợ chuyển đổi ở đầu {direction}.",
|
||||
"direction_input": "vào (từ)",
|
||||
"direction_output": "ra (sang)",
|
||||
"video_server_processing": "Theo mặc định, video sẽ được tải lên server để xử lý. Xem cách thiết lập xử lý ngay tại máy ở đây."
|
||||
}
|
||||
},
|
||||
"convert": {
|
||||
"archive_file": {
|
||||
"extract": "Giải nén file",
|
||||
"extracting": "File được giải nén: {filename}",
|
||||
"extracted": "Giải nén thành công {extract_count} tệp từ {filename}. {ignore_count} tệp bị bỏ qua.",
|
||||
"detected": "Phát hiện tệp có loại {type} trong {filename}.",
|
||||
"audio": "âm thanh",
|
||||
"video": "video",
|
||||
"doc": "tài liệu",
|
||||
"image": "hình ảnh",
|
||||
"extract_error": "Đã có lỗi trong lúc giải nén tệp {filename}: {error}"
|
||||
},
|
||||
"large_file_warning": "Do tài nguyên có hạng của trình duyệt / thiết bị, chức năng chuyển đổi từ video sang âm thanh không thực hiện được vì dung lượng tệp lớn hơn {limit}GB. Bạn nên dùng Firefox hoặc Safari cho tệp có dung lượng lớn vì những trình duyệt trên có nhiều tài nguyên hơn.",
|
||||
"external_warning": {
|
||||
"title": "Khuyến cáo từ hệ thống",
|
||||
"text": "Nếu bạn muốn chuyển đổi tệp sang định dạng video, Những tệp sau sẽ được tải lên hệ thống để chuyển đổi. Bạn đồng ý tiếp tục chứ?",
|
||||
"yes": "Có, tôi muốn tiếp tục",
|
||||
"no": "Không"
|
||||
},
|
||||
"panel": {
|
||||
"convert_all": "Chuyển tất cả",
|
||||
"download_all": "Giải nén và tải xuống",
|
||||
"remove_all": "Xóa tất cả tệp",
|
||||
"set_all_to": "Chuyển tất cả sang",
|
||||
"na": "Chưa chọn"
|
||||
},
|
||||
"dropdown": {
|
||||
"audio": "Âm thanh",
|
||||
"video": "Video",
|
||||
"doc": "Tài liệu",
|
||||
"image": "Hình ảnh",
|
||||
"placeholder": "Tìm định dạng",
|
||||
"no_formats": "Định dạng không tồn tại",
|
||||
"no_results": "Không tìm thấy định dạng"
|
||||
},
|
||||
"tooltips": {
|
||||
"unknown_file": "Loại tệp không xác định",
|
||||
"audio_file": "Tệp âm thanh",
|
||||
"video_file": "Tệp video",
|
||||
"document_file": "Tệp tài liệu",
|
||||
"image_file": "Hình ảnh",
|
||||
"convert_file": "Chuyển đổi tệp",
|
||||
"download_file": "Tải xuống"
|
||||
},
|
||||
"errors": {
|
||||
"cant_convert": "We can't convert this file.",
|
||||
"vertd_server": "what are you doing..? you're supposed to run the vertd server!",
|
||||
"vertd_generic_view": "View error details",
|
||||
"vertd_generic_body": "An error occurred whilst whilst trying convert your video. Would you like to submit this video to the developers to help fix this bug? Only your video file will be sent. No identifiers will be uploaded.",
|
||||
"vertd_generic_title": "Video conversion error",
|
||||
"vertd_generic_yes": "Submit video",
|
||||
"vertd_generic_no": "Don't submit",
|
||||
"vertd_failed_to_keep": "Failed to keep the video on the server: {error}",
|
||||
"vertd_details": "View error details",
|
||||
"vertd_details_body": "If you press submit, <b>your video will also be attached</b> alongside the error log which is always reported to us for review. The following information is the log that we automatically receive:",
|
||||
"vertd_details_footer": "This information will only be used for troubleshooting purposes and will never be shared. View our [privacy_link]privacy policy[/privacy_link] for more details.",
|
||||
"vertd_details_job_id": "<b>Job ID:</b> {jobId}",
|
||||
"vertd_details_from": "<b>From format:</b> {from}",
|
||||
"vertd_details_to": "<b>To format:</b> {to}",
|
||||
"vertd_details_error_message": "<b>Error message:</b> [view_link]View error logs[/view_link]",
|
||||
"vertd_details_close": "Close",
|
||||
"vertd_ratelimit": "Your video, '{filename}', has failed to convert a few times. To prevent server overload, further conversion attempts for this file have been temporarily blocked. Please try again later.",
|
||||
"unsupported_format": "Only image, video, audio, and document files are supported",
|
||||
"format_output_only": "This format can currently only be used as output (converted to), not as input.",
|
||||
"vertd_not_found": "Could not find the vertd instance to start video conversion. Are you sure the instance URL is set correctly?",
|
||||
"worker_downloading": "The {type} converter is currently being initialized, please wait a few moments.",
|
||||
"worker_error": "The {type} converter had an error during initialization, please try again later.",
|
||||
"worker_timeout": "The {type} converter is taking longer than expected to initialize, please wait a few more moments or refresh the page.",
|
||||
"audio": "audio",
|
||||
"doc": "document",
|
||||
"image": "image"
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"title": "Settings",
|
||||
"errors": {
|
||||
"save_failed": "Failed to save settings!"
|
||||
},
|
||||
"appearance": {
|
||||
"title": "Appearance",
|
||||
"brightness_theme": "Brightness theme",
|
||||
"brightness_description": "Want a sunny flash-bang, or a quiet lonely night?",
|
||||
"light": "Light",
|
||||
"dark": "Dark",
|
||||
"effect_settings": "Effect settings",
|
||||
"effect_description": "Would you like fancy effects, or a more static experience?",
|
||||
"enable": "Enable",
|
||||
"disable": "Disable"
|
||||
},
|
||||
"conversion": {
|
||||
"title": "Conversion",
|
||||
"advanced_settings": "Advanced settings",
|
||||
"filename_format": "File name format",
|
||||
"filename_description": "This will determine the name of the file on download, <b>not including the file extension.</b> You can put these following templates in the format, which will be replaced with the relevant information: <b>%name%</b> for the original file name, <b>%extension%</b> for the original file extension, and <b>%date%</b> for a date string of when the file was converted.",
|
||||
"placeholder": "VERT_%name%",
|
||||
"default_format": "Default conversion format",
|
||||
"default_format_enable": "Enable",
|
||||
"default_format_disable": "Disable",
|
||||
"default_format_description": "This will change the default format selected when you upload a file of this file type.",
|
||||
"default_format_image": "Images",
|
||||
"default_format_video": "Videos",
|
||||
"default_format_audio": "Audio",
|
||||
"default_format_document": "Documents",
|
||||
"metadata": "File metadata",
|
||||
"metadata_description": "This changes whether any metadata (EXIF, song info, etc.) on the original file is preserved in converted files.",
|
||||
"keep": "Keep",
|
||||
"remove": "Remove",
|
||||
"quality": "Conversion quality",
|
||||
"quality_description": "This changes the default output quality of the converted files (in its category). Higher values may result in longer conversion times and file size.",
|
||||
"quality_video": "This changes the default output quality of the converted video files. Higher values may result in longer conversion times and file size.",
|
||||
"quality_audio": "Audio (kbps)",
|
||||
"quality_images": "Image (%)",
|
||||
"rate": "Sample rate (Hz)"
|
||||
},
|
||||
"vertd": {
|
||||
"title": "Video conversion",
|
||||
"status": "status:",
|
||||
"loading": "loading...",
|
||||
"available": "available, commit id {commitId}",
|
||||
"unavailable": "unavailable (is the url right?)",
|
||||
"description": "The <code>vertd</code> project is a server wrapper for FFmpeg. This allows you to convert videos through the convenience of VERT's web interface, while still being able to harness the power of your GPU to do it as quickly as possible.",
|
||||
"hosting_info": "We host a public instance for your convenience, but it is quite easy to host your own on your PC or server if you know what you are doing. You can download the server binaries [vertd_link]here[/vertd_link] - the process of setting this up will become easier in the future, so stay tuned!",
|
||||
"instance": "Instance",
|
||||
"url_placeholder": "Example: http://localhost:24153",
|
||||
"conversion_speed": "Conversion speed",
|
||||
"speed_description": "This describes the tradeoff between speed and quality. Faster speeds will result in lower quality, but will get the job done quicker.",
|
||||
"speeds": {
|
||||
"very_slow": "Very Slow",
|
||||
"slower": "Slower",
|
||||
"slow": "Slow",
|
||||
"medium": "Medium",
|
||||
"fast": "Fast",
|
||||
"ultra_fast": "Ultra Fast"
|
||||
},
|
||||
"auto_instance": "Auto (recommended)",
|
||||
"eu_instance": "Falkenstein, Germany",
|
||||
"us_instance": "Washington, USA",
|
||||
"custom_instance": "Custom"
|
||||
},
|
||||
"privacy": {
|
||||
"title": "Privacy & data",
|
||||
"plausible_title": "Plausible analytics",
|
||||
"plausible_description": "We use [plausible_link]Plausible[/plausible_link], a privacy-focused analytics tool, to gather completely anonymous statistics. All data is anonymized and aggregated, and no identifiable information is ever sent or stored. You can view the analytics [analytics_link]here[/analytics_link] and choose to opt out below.",
|
||||
"opt_in": "Opt-in",
|
||||
"opt_out": "Opt-out",
|
||||
"cache_title": "Cache management",
|
||||
"cache_description": "We cache the converter files on your browser so you don't have to re-download them every time, improving performance and reducing data usage.",
|
||||
"refresh_cache": "Refresh cache",
|
||||
"clear_cache": "Clear cache",
|
||||
"files_cached": "{size} ({count} files)",
|
||||
"loading_cache": "Loading...",
|
||||
"total_size": "Total Size",
|
||||
"files_cached_label": "Files Cached",
|
||||
"cache_cleared": "Cache cleared successfully!",
|
||||
"cache_clear_error": "Failed to clear cache.",
|
||||
"site_data_title": "Site data management",
|
||||
"site_data_description": "Clear all site data including settings and cached files, resetting VERT to its default state and reloading the page.",
|
||||
"clear_all_data": "Clear all site data",
|
||||
"clear_all_data_confirm_title": "Clear all site data?",
|
||||
"clear_all_data_confirm": "This will reset all settings & cache, then reload the page. This action cannot be undone.",
|
||||
"clear_all_data_cancel": "Cancel",
|
||||
"all_data_cleared": "All site data cleared! Reloading page...",
|
||||
"all_data_clear_error": "Failed to clear all site data."
|
||||
},
|
||||
"language": {
|
||||
"title": "Language",
|
||||
"description": "Select your preferred language for the VERT interface."
|
||||
}
|
||||
},
|
||||
"about": {
|
||||
"title": "About",
|
||||
"why": {
|
||||
"title": "Why VERT?",
|
||||
"description": "<b>File converters have always disappointed us.</b> They're ugly, riddled with ads, and most importantly; slow. We decided to solve this problem once and for all by making an alternative that solves all those problems, and more.<br/><br/>All non-video files are converted completely on-device; this means that there's no delay between sending and receiving the files from a server, and we never get to snoop on the files you convert.<br/><br/>Video files get uploaded to our lightning-fast RTX 4000 Ada server. Your videos stay on there for an hour if you do not convert them. If you do convert the file, the video will stay on the server for an hour, or until it is downloaded. The file will then be deleted from our server."
|
||||
},
|
||||
"sponsors": {
|
||||
"title": "Sponsors",
|
||||
"description": "Want to support us? Contact a developer in the [discord_link]Discord[/discord_link] server, or send an email to",
|
||||
"email_copied": "Email copied to clipboard!"
|
||||
},
|
||||
"resources": {
|
||||
"title": "Resources",
|
||||
"discord": "Discord",
|
||||
"source": "Source",
|
||||
"email": "Email"
|
||||
},
|
||||
"donate": {
|
||||
"title": "Donate to VERT",
|
||||
"description": "With your support, we can keep maintaining and improving VERT.",
|
||||
"one_time": "One-time",
|
||||
"monthly": "Monthly",
|
||||
"custom": "Custom",
|
||||
"pay_now": "Pay now",
|
||||
"donate_amount": "Donate ${amount} USD",
|
||||
"thank_you": "Thank you for your donation!",
|
||||
"payment_failed": "Payment failed: {message}{period} You have not been charged.",
|
||||
"donation_error": "An error occurred while processing your donation. Please try again later.",
|
||||
"payment_error": "Error fetching payment details. Please try again later.",
|
||||
"donation_notice_official": "Your donations here go to the official VERT instance (vert.sh), and helps to support the development of the project.",
|
||||
"donation_notice_unofficial": "Your donations here go to the operator of this VERT instance. If you wish to support the official VERT developers, please visit [official_link]vert.sh[/official_link] instead."
|
||||
},
|
||||
"credits": {
|
||||
"title": "Credits",
|
||||
"contact_team": "If you would like to contact the development team, please use the email found on the \"Resources\" card.",
|
||||
"notable_contributors": "Notable contributors",
|
||||
"notable_description": "We'd like to thank these people for their major contributions to VERT.",
|
||||
"github_contributors": "GitHub contributors",
|
||||
"github_description": "Big thanks to all these people for helping out! [github_link]Want to help too?[/github_link]",
|
||||
"no_contributors": "Seems like no one has contributed yet... [contribute_link]be the first to contribute![/contribute_link]",
|
||||
"libraries": "Libraries",
|
||||
"libraries_description": "A big thanks to FFmpeg (audio, video), ImageMagick (images) and Pandoc (documents) for maintaining such excellent libraries for so many years. VERT relies on them to provide you with your conversions.",
|
||||
"roles": {
|
||||
"lead_developer": "Lead developer; conversion backend, UI implementation",
|
||||
"developer": "Developer; UI implementation",
|
||||
"designer": "Designer; UX, branding, marketing",
|
||||
"docker_ci": "Maintaining Docker & CI support",
|
||||
"former_cofounder": "Former co-founder & designer"
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"github_contributors": "Error fetching GitHub contributors"
|
||||
}
|
||||
},
|
||||
"workers": {
|
||||
"errors": {
|
||||
"general": "Error converting {file}: {message}",
|
||||
"cancel": "Error canceling conversion for {file}: {message}",
|
||||
"magick": "Error in Magick worker, image conversion may not work as expected.",
|
||||
"ffmpeg": "Error loading FFmpeg, some features may not work as expected.",
|
||||
"pandoc": "Error loading Pandoc worker, document conversion may not work as expected.",
|
||||
"no_audio": "No audio stream found.",
|
||||
"invalid_rate": "Invalid sample rate specified: {rate}Hz",
|
||||
"file_too_large": "This file exceeds the {limit}GB browser / device limit. Try Firefox or Safari to convert this large file, which typically have higher limits."
|
||||
}
|
||||
},
|
||||
"privacy": {
|
||||
"title": "Privacy Policy",
|
||||
"summary": {
|
||||
"title": "Summary",
|
||||
"description": "VERT's privacy policy is very simple: we do not collect or store any data on you at all. We don't use cookies or trackers, analytics are completely private, and all conversions (except videos) happen locally on your browser. Videos are deleted after being downloaded, or an hour, unless explicitly given permission by you to be stored; it will only be used for the purpose of troubleshooting. VERT self-hosts a Coolify instance for hosting the website and vertd (for video conversion), and a Plausible instance for completely anonymous and aggregated analytics. We use Stripe to process donations, which may collect some data used for fraud prevention.<br/><br/>Note this may only apply to the official VERT instance at [vert_link]vert.sh[/vert_link]; third-party instances may handle your data differently."
|
||||
},
|
||||
"conversions": {
|
||||
"title": "Conversions",
|
||||
"description": "Most conversions (images, documents, audio) happen entirely locally on your device using WebAssembly versions of the relevant tools (e.g. ImageMagick, Pandoc, FFmpeg). This means your files never leave your device and we will never have access to them.<br/><br/>Video conversions are performed on our servers because they require more processing power and cannot be done very quickly on the browser yet. Videos you convert with VERT are deleted after being downloaded, or after one hour, unless you explicitly give permission for us to store them longer purely for troubleshooting purposes."
|
||||
},
|
||||
"donations": {
|
||||
"title": "Donations",
|
||||
"description": "We use Stripe on the [about_link]about[/about_link] page to collect donations. Stripe may collect certain information about the payment and device for fraud prevention as described in [stripe_link]their documentation on advanced fraud detection[/stripe_link]. External network requests to Stripe are deferred, and are only made after you click the button to pay."
|
||||
},
|
||||
"conversion_errors": {
|
||||
"title": "Conversion Errors",
|
||||
"description": "When a video conversion fails, we may collect some anonymous data to help us diagnose the issue. This data may include:",
|
||||
"list_job_id": "The job ID, which is the anonymized file name",
|
||||
"list_format_from": "The format you converted from",
|
||||
"list_format_to": "The format you converted to",
|
||||
"list_stderr": "The FFmpeg stderr output of your job (error message)",
|
||||
"list_video": "The actual video file (if given explicit permission)",
|
||||
"footer": "This information is used solely for the purpose of diagnosing conversion issues. The actual video file will only ever be collected if you give us permission to do so, where it will only be used for troubleshooting."
|
||||
},
|
||||
"analytics": {
|
||||
"title": "Analytics",
|
||||
"description": "We self-host a Plausible instance for completely anonymous and aggregated analytics. Plausible does not use cookies and complies with all major privacy regulations (GDPR/CCPA/PECR). You can opt out of analytics in the \"Privacy & data\" section in [settings_link]settings[/settings_link] and read more about Plausible's privacy practices [plausible_link]here[/plausible_link]."
|
||||
},
|
||||
"local_storage": {
|
||||
"title": "Local Storage",
|
||||
"description": "We use your browser's local storage to save your settings, and your browser's session storage to temporarily store the GitHub contributors list for the \"About\" section to reduce repeated GitHub API requests. No personal data is stored or transmitted.<br/><br/>The WebAssembly versions of the conversion tools we use (FFmpeg, ImageMagick, Pandoc) are also stored locally on your browser when you first visit the website, so you don't need to redownload them each visit. No personal data is stored or transmitted. You may view or delete this data at any time in the \"Privacy & data\" section in [settings_link]settings[/settings_link]."
|
||||
},
|
||||
"contact": {
|
||||
"title": "Contact",
|
||||
"description": "For questions, email us at: [email_link]hello@vert.sh[/email_link]. If you are using a third-party instance of VERT, please contact the hoster of that instance instead."
|
||||
},
|
||||
"last_updated": "Last updated: 2025-10-29"
|
||||
},
|
||||
"toast": {
|
||||
"insecure_context": "You are visiting VERT in an insecure context (e.g. accessing over HTTP instead of HTTPS). Some features may not work as expected."
|
||||
}
|
||||
}
|
||||
|
|
@ -2,6 +2,7 @@
|
|||
"$schema": "https://inlang.com/schema/project-settings",
|
||||
"baseLocale": "en",
|
||||
"locales": [
|
||||
"vi",
|
||||
"en",
|
||||
"es",
|
||||
"fr",
|
||||
|
|
|
|||
|
|
@ -439,6 +439,7 @@ export const effects = writable(true);
|
|||
export const theme = writable<"light" | "dark">("light");
|
||||
export const locale = writable(getLocale());
|
||||
export const availableLocales = {
|
||||
vi: "Tieng Việt",
|
||||
en: "English",
|
||||
es: "Español",
|
||||
fr: "Français",
|
||||
|
|
|
|||
Loading…
Reference in New Issue