From 8cc0fa73051b338674453ca0410c7ab5194a68d2 Mon Sep 17 00:00:00 2001 From: AmanRajSinghMourya Date: Sat, 5 Jul 2025 02:08:08 +0530 Subject: [PATCH 1/8] Fix 1st memory of 1st memory block and last memory of last memory block by `reseting animation` and `poping to home screen` respectively --- .../photos/lib/ui/home/memories/full_screen_memory.dart | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/mobile/apps/photos/lib/ui/home/memories/full_screen_memory.dart b/mobile/apps/photos/lib/ui/home/memories/full_screen_memory.dart index 0fa74931a8..305b065f56 100644 --- a/mobile/apps/photos/lib/ui/home/memories/full_screen_memory.dart +++ b/mobile/apps/photos/lib/ui/home/memories/full_screen_memory.dart @@ -260,6 +260,8 @@ class _FullScreenMemoryState extends State { _onPageChange(inheritedData, currentIndex + 1); } else if (widget.onNextMemory != null) { widget.onNextMemory!(); + } else { + Navigator.of(context).pop(); } } @@ -271,6 +273,10 @@ class _FullScreenMemoryState extends State { _onPageChange(inheritedData, currentIndex - 1); } else if (widget.onPreviousMemory != null) { widget.onPreviousMemory!(); + } else { + hasFinalFileLoaded = true; + _onPageChange(inheritedData, currentIndex); + _toggleAnimation(pause: false); } } From 85fb8619808bc607934e7a6173d9dedc4c983515 Mon Sep 17 00:00:00 2001 From: Crowdin Bot Date: Mon, 7 Jul 2025 01:05:31 +0000 Subject: [PATCH 2/8] New Crowdin translations by GitHub Action --- .../metadata/android/hu/full_description.txt | 4 +- .../metadata/android/hu/short_description.txt | 2 +- .../fastlane/metadata/android/hu/title.txt | 2 +- .../metadata/android/vi/full_description.txt | 32 +- .../fastlane/metadata/android/vi/title.txt | 2 +- .../metadata/android/zh/full_description.txt | 10 +- .../fastlane/metadata/ios/hu/description.txt | 46 +- .../fastlane/metadata/ios/hu/keywords.txt | 2 +- .../photos/fastlane/metadata/ios/hu/name.txt | 2 +- .../fastlane/metadata/ios/hu/subtitle.txt | 2 +- .../fastlane/metadata/ios/vi/description.txt | 26 +- .../fastlane/metadata/ios/zh/description.txt | 24 +- .../playstore/hu/short_description.txt | 2 +- .../fastlane/metadata/playstore/hu/title.txt | 2 +- .../playstore/vi/full_description.txt | 34 +- .../playstore/vi/short_description.txt | 2 +- mobile/apps/photos/lib/l10n/intl_ar.arb | 65 +- mobile/apps/photos/lib/l10n/intl_be.arb | 3 +- mobile/apps/photos/lib/l10n/intl_bg.arb | 3 +- mobile/apps/photos/lib/l10n/intl_ca.arb | 3 +- mobile/apps/photos/lib/l10n/intl_cs.arb | 10 +- mobile/apps/photos/lib/l10n/intl_da.arb | 3 +- mobile/apps/photos/lib/l10n/intl_de.arb | 45 +- mobile/apps/photos/lib/l10n/intl_el.arb | 3 +- mobile/apps/photos/lib/l10n/intl_es.arb | 16 +- mobile/apps/photos/lib/l10n/intl_et.arb | 3 +- mobile/apps/photos/lib/l10n/intl_eu.arb | 3 +- mobile/apps/photos/lib/l10n/intl_fa.arb | 3 +- mobile/apps/photos/lib/l10n/intl_fr.arb | 57 +- mobile/apps/photos/lib/l10n/intl_gu.arb | 3 +- mobile/apps/photos/lib/l10n/intl_he.arb | 9 +- mobile/apps/photos/lib/l10n/intl_hi.arb | 3 +- mobile/apps/photos/lib/l10n/intl_hu.arb | 532 +++++++++- mobile/apps/photos/lib/l10n/intl_id.arb | 4 +- mobile/apps/photos/lib/l10n/intl_it.arb | 35 +- mobile/apps/photos/lib/l10n/intl_ja.arb | 22 +- mobile/apps/photos/lib/l10n/intl_km.arb | 3 +- mobile/apps/photos/lib/l10n/intl_ko.arb | 3 +- mobile/apps/photos/lib/l10n/intl_ku.arb | 3 +- mobile/apps/photos/lib/l10n/intl_lt.arb | 15 +- mobile/apps/photos/lib/l10n/intl_lv.arb | 3 +- mobile/apps/photos/lib/l10n/intl_ml.arb | 3 +- mobile/apps/photos/lib/l10n/intl_nl.arb | 26 +- mobile/apps/photos/lib/l10n/intl_no.arb | 15 +- mobile/apps/photos/lib/l10n/intl_or.arb | 3 +- mobile/apps/photos/lib/l10n/intl_pl.arb | 14 +- mobile/apps/photos/lib/l10n/intl_pt_BR.arb | 49 +- mobile/apps/photos/lib/l10n/intl_pt_PT.arb | 137 +-- mobile/apps/photos/lib/l10n/intl_ro.arb | 16 +- mobile/apps/photos/lib/l10n/intl_ru.arb | 69 +- mobile/apps/photos/lib/l10n/intl_sl.arb | 3 +- mobile/apps/photos/lib/l10n/intl_sr.arb | 10 +- mobile/apps/photos/lib/l10n/intl_sv.arb | 16 +- mobile/apps/photos/lib/l10n/intl_ta.arb | 3 +- mobile/apps/photos/lib/l10n/intl_te.arb | 3 +- mobile/apps/photos/lib/l10n/intl_th.arb | 3 +- mobile/apps/photos/lib/l10n/intl_ti.arb | 3 +- mobile/apps/photos/lib/l10n/intl_tr.arb | 10 +- mobile/apps/photos/lib/l10n/intl_uk.arb | 8 +- mobile/apps/photos/lib/l10n/intl_vi.arb | 923 +++++++++++------- mobile/apps/photos/lib/l10n/intl_zh.arb | 80 +- 61 files changed, 1673 insertions(+), 767 deletions(-) diff --git a/mobile/apps/photos/fastlane/metadata/android/hu/full_description.txt b/mobile/apps/photos/fastlane/metadata/android/hu/full_description.txt index 9ba4fe3143..27397233fc 100644 --- a/mobile/apps/photos/fastlane/metadata/android/hu/full_description.txt +++ b/mobile/apps/photos/fastlane/metadata/android/hu/full_description.txt @@ -1,6 +1,6 @@ -ente is a simple app to backup and share your photos and videos. +Az ente egy egyszerű alkalmazás a fényképek és videók biztonsági mentéséhez és megosztásához. -If you've been looking for a privacy-friendly alternative to Google Photos, you've come to the right place. With ente, they are stored end-to-end encrypted (e2ee). This means that only you can view them. +Ha a Google Fotók adatvédelmet biztosító alternatíváját keresed, jó helyen jársz. Az enter használatával végponttól végpontig titkosítva (e2ee) tárolódnak. This means that only you can view them. We have open-source apps across Android, iOS, web and desktop, and your photos will seamlessly sync between all of them in an end-to-end encrypted (e2ee) manner. diff --git a/mobile/apps/photos/fastlane/metadata/android/hu/short_description.txt b/mobile/apps/photos/fastlane/metadata/android/hu/short_description.txt index 7a5fe973db..f380665dc5 100644 --- a/mobile/apps/photos/fastlane/metadata/android/hu/short_description.txt +++ b/mobile/apps/photos/fastlane/metadata/android/hu/short_description.txt @@ -1 +1 @@ -ente is an end-to-end encrypted photo storage app \ No newline at end of file +Az ente egy végponttól végpontig titkosított fotótároló alkalmazás \ No newline at end of file diff --git a/mobile/apps/photos/fastlane/metadata/android/hu/title.txt b/mobile/apps/photos/fastlane/metadata/android/hu/title.txt index 3a4fed48fe..22362aca61 100644 --- a/mobile/apps/photos/fastlane/metadata/android/hu/title.txt +++ b/mobile/apps/photos/fastlane/metadata/android/hu/title.txt @@ -1 +1 @@ -ente - encrypted photo storage \ No newline at end of file +enter - titkosított fotótárhely \ No newline at end of file diff --git a/mobile/apps/photos/fastlane/metadata/android/vi/full_description.txt b/mobile/apps/photos/fastlane/metadata/android/vi/full_description.txt index 568df67ec5..55a58b0490 100644 --- a/mobile/apps/photos/fastlane/metadata/android/vi/full_description.txt +++ b/mobile/apps/photos/fastlane/metadata/android/vi/full_description.txt @@ -1,36 +1,36 @@ -ente là một ứng dụng đơn giản để tsao lưu và chia sẻ ảnh và video của bạn. +ente là một ứng dụng đơn giản để sao lưu và chia sẻ ảnh/video của bạn. -Nếu bạn đang tìm kiếm một giải pháp thân thiện thay thế Google Photos, bạn đã đến đúng nơi. Với Ente, chúng được lưu trữ mã hóa đầu cuối (e2ee). Điều này có nghĩa là chỉ bạn mới có thể xem chúng. +Nếu bạn đang tìm kiếm một giải pháp thân thiện thay thế Google Photos, bạn đã đến đúng nơi. Ở Ente, chúng tôi lưu trữ mã hóa đầu cuối (e2ee). Điều này nghĩa là chỉ bạn mới có thể xem. -Chúng tôi có ứng dụng mã nguồn mở trên Android, iOS, web và desktop, và ảnh của bạn sẽ đồng bộ hóa liền mạch giữa tất cả các thiết bị của bạn theo cách mã hóa đầu cuối (e2ee). +Chúng tôi có ứng dụng Android, iOS, web và Desktop mã nguồn mở. Ảnh của bạn sẽ được đồng bộ liền mạch giữa tất cả thiết bị theo phương thức mã hóa đầu cuối (e2ee). ente cũng giúp bạn dễ dàng chia sẻ album của mình với những người thân yêu, kể cả khi họ không dùng ente. Bạn có thể chia sẻ các liên kết có thể xem công khai, nơi họ có thể xem album của bạn và cộng tác bằng cách thêm ảnh vào đó, ngay cả khi không có tài khoản hoặc ứng dụng. -Dữ liệu mã hóa của bạn được lưu trữ ở 3 địa điểm khác nhau, bao gồm một hầm trú ẩn ở Paris. Chúng tôi coi trọng sự trường tồn và làm cho việc đảm bảo rằng những kỷ niệm của bạn sống lâu hơn bạn trở nên dễ dàng. +Dữ liệu mã hóa của bạn được lưu trữ ở 3 địa điểm khác nhau, bao gồm một hầm trú ẩn hạt nhân ở Paris. Chúng tôi coi trọng sự trường tồn và giúp việc đảm bảo rằng những kỷ niệm của bạn sống lâu hơn bạn trở nên dễ dàng. Chúng tôi ở đây để tạo ra ứng dụng ảnh an toàn nhất từ trước đến nay, hãy tham gia hành trình của chúng tôi! TÍNH NĂNG - Sao lưu chất lượng gốc, vì mỗi pixel đều quan trọng -- Kế hoạch gia đình, để bạn có thể chia sẻ dung lượng lưu trữ với gia đình -- Album hợp tác, để bạn có thể tập hợp ảnh sau một chuyến đi +- Gói gia đình, để bạn có thể chia sẻ dung lượng lưu trữ với gia đình +- Album cộng tác, để bạn có thể gom ảnh sau một chuyến đi - Thư mục chia sẻ, trong trường hợp bạn muốn đối tác của mình thưởng thức những bức ảnh "Camera" của bạn -- Liên kết album, có thể được bảo vệ bằng mật khẩu -- Khả năng giải phóng không gian, bằng cách xóa các tệp đã được sao lưu an toàn -- Người hỗ trợ, vì bạn xứng đáng -- Mô tả, để bạn có thể chú thích kỷ niệm của mình và tìm chúng dễ dàng -- Trình chỉnh sửa hình ảnh, để thêm những nét hoàn thiện -- Yêu thích, ẩn và sống lại những kỷ niệm của bạn, vì chúng rất quý giá -- Nhập một lần nhấp từ Google, Apple, ổ cứng của bạn và nhiều hơn nữa +- Liên kết album, có thể bảo vệ bằng mật khẩu và đặt thời hạn +- Khả năng giải phóng dung lượng, bằng cách xóa các tệp đã được sao lưu an toàn +- Người thật hỗ trợ, vì bạn xứng đáng +- Mô tả, để bạn có thể chú thích kỷ niệm của mình và dễ dàng tìm chúng +- Trình chỉnh sửa ảnh, để thêm những nét hoàn thiện +- Thích, ẩn và khôi phục những kỷ niệm của bạn, vì chúng rất quý giá +- Một click nhập ngay từ Google, Apple, ổ cứng của bạn và nhiều hơn nữa - Chủ đề tối, vì ảnh của bạn trông đẹp trong đó - 2FA, 3FA, xác thực sinh trắc học -- và còn nhiều hơn thế nữa! +- và còn NHIỀU nữa! QUYỀN ente yêu cầu một số quyền nhất định để phục vụ mục đích của nhà cung cấp lưu trữ ảnh, có thể xem tại đây: https://github.com/ente-io/ente/blob/f-droid/mobile/android/permissions.md GIÁ CẢ -Chúng tôi không cung cấp các gói miễn phí mãi mãi, vì điều quan trọng với chúng tôi là chúng tôi phải duy trì tính bền vững và chịu được thử thách của thời gian. Thay vào đó, chúng tôi cung cấp các gói giá cả phải chăng mà bạn có thể tự do chia sẻ với gia đình của mình. Bạn có thể tìm thêm thông tin tại ente.io. +Chúng tôi không cung cấp vĩnh viễn các gói miễn phí, vì điều quan trọng với chúng tôi là chúng tôi phải duy trì tính bền vững và chịu được thử thách của thời gian. Thay vào đó, chúng tôi cung cấp các gói giá cả phải chăng mà bạn có thể tự do chia sẻ với gia đình của mình. Bạn có thể xem thêm thông tin tại ente.io. HỖ TRỢ -Chúng tôi tự hào cung cấp người hỗ trợ. Nếu bạn là khách hàng trả phí của chúng tôi, bạn có thể liên hệ với team@ente.io và sẽ nhận được phản hồi từ đội ngũ của chúng tôi trong vòng 24 giờ. +Chúng tôi tự hào cung cấp hỗ trợ người thật. Nếu bạn là khách hàng trả phí của chúng tôi, bạn có thể liên hệ với team@ente.io và đội ngũ của chúng tôi sẽ phản hồi trong vòng 24 giờ. diff --git a/mobile/apps/photos/fastlane/metadata/android/vi/title.txt b/mobile/apps/photos/fastlane/metadata/android/vi/title.txt index 53527ff5ce..0b3f54f4f8 100644 --- a/mobile/apps/photos/fastlane/metadata/android/vi/title.txt +++ b/mobile/apps/photos/fastlane/metadata/android/vi/title.txt @@ -1 +1 @@ -ente - lưu trữ ảnh được mã hóa \ No newline at end of file +ente - lưu trữ ảnh mã hóa \ No newline at end of file diff --git a/mobile/apps/photos/fastlane/metadata/android/zh/full_description.txt b/mobile/apps/photos/fastlane/metadata/android/zh/full_description.txt index 2fffa8a0c7..77b2323da4 100644 --- a/mobile/apps/photos/fastlane/metadata/android/zh/full_description.txt +++ b/mobile/apps/photos/fastlane/metadata/android/zh/full_description.txt @@ -16,13 +16,13 @@ ente也使分享相册给自己的爱人、亲人变得轻而易举,即使他 - 协作相册,您可以在旅行后将照片汇集在一起。 - 共享文件夹,如果您想让您的伙伴享受您的每一次快门 - 可以用密码保护相册链接 -- 能够通过移除已经安全备份的文件释放空间 +- 一键释放空间,删除已安全备份的文件 - 实人支持与协助,因为你值得这一切。 - 添加描述,这样您可以描述您的回忆并在未来轻松地找到它们 -- 图像编辑器,完成收尾工作 +- 内置图片编辑器,快速微调 - 收藏、隐藏和恢复您的回忆,因为它们是宝贵的 - 一键从谷歌、苹果、您的硬盘或更多的介质导入 -- 黑暗主题,因为您的照片在其中看着不错 +- 深色主题,照片在暗色背景下更出彩 - 2FA,3FA,生物识别认证 - 还有更多特色待你发现! @@ -30,7 +30,7 @@ ente也使分享相册给自己的爱人、亲人变得轻而易举,即使他 ente需要特定权限以执行作为图像存储提供商的职责,相关内容可以在此链接查阅:https://github.com/ente-io/ente/blob/f-droid/mobile/android/permissions.md 价格 -我们不会提供永久免费计划,因为我们必须保持可持续性,经受住时间的考验。 相反,我们向您提供了价格实惠、可自由分享的订阅计划。 您可以在 ente.io 找到更多信息。 相反,我们向您提供了价格实惠、可自由分享的订阅计划。 您可以在 ente.io 找到更多信息。 相反,我们向您提供了价格实惠、可自由分享的订阅计划。 您可以在 ente.io 找到更多信息。 +我们没有“永久免费”方案,因为可持续运营对我们至关重要。 我们提供价格实惠、可与家人共享的付费方案。 您可以在 ente.io 找到更多信息。 支持 -我们对提供真人支持感到自豪。 我们对提供真人支持感到自豪。 如果您是我们的付费客户,您可以联系 team@ente.io 并在24小时内收到来自我们团队的回复。 +我们对提供真人支持感到自豪。 如果您是我们的付费客户,您可以联系 team@ente.io 并在24小时内收到来自我们团队的回复。 diff --git a/mobile/apps/photos/fastlane/metadata/ios/hu/description.txt b/mobile/apps/photos/fastlane/metadata/ios/hu/description.txt index a98a74300a..6bf7512c17 100644 --- a/mobile/apps/photos/fastlane/metadata/ios/hu/description.txt +++ b/mobile/apps/photos/fastlane/metadata/ios/hu/description.txt @@ -1,33 +1,33 @@ -Ente is a simple app to automatically backup and organize your photos and videos. +Az Ente egy egyszerű alkalmazás, amellyel automatikusan mentheti és rendszerezheti fényképeit és videóit. -If you've been looking for a privacy-friendly alternative to preserve your memories, you've come to the right place. With Ente, they are stored end-to-end encrypted (e2ee). This means that only you can view them. +Ha adatvédelmet nem igénylő alternatívát keresel emlékeid megőrzésére, jó helyen jársz. Az Ente esetében ezek végponttól végpontig titkosítva (e2ee) tárolódnak. Ez azt jelenti hogy csak te tudod megtekinteni őket. -We have apps across all platforms, and your photos will seamlessly sync between all your devices in an end-to-end encrypted (e2ee) manner. +Minden platformon vannak alkalmazásaink, és a fotóid zökkenőmentesen szinkronizálódnak az összes eszközöd között, végponttól végpontig titkosított (e2ee) módon. -Ente also makes it simple to share your albums with your loved ones. You can either share them directly with other Ente users, end-to-end encrypted; or with publicly viewable links. +Az Ente segítségével egyszerűen megoszthatod albumaidat szeretteiddel. Megoszthatod őket közvetlenül más Ente felhasználókkal, végponttól végpontig titkosítva; vagy nyilvánosan látható linkeken keresztül. -Your encrypted data is stored across multiple locations, including a fall-out shelter in Paris. We take posterity seriously and make it easy to ensure that your memories outlive you. +A titkosított adatait több helyszínen tároljuk, beleértve egy párizsi óvóhelyet is. Komolyan vesszük az örökséget, és megkönnyítjük annak biztosítását, hogy emlékei túléljék Önt. -We are here to make the safest photos app ever, come join our journey! +Azért vagyunk itt, hogy a legbiztonságosabb fotóalkalmazást hozzuk létre, csatlakozz hozzánk! -FEATURES -- Original quality backups, because every pixel is important -- Family plans, so you can share storage with your family -- Shared folders, in case you want your partner to enjoy your "Camera" clicks -- Album links, that can be protected with a password and set to expire -- Ability to free up space, by removing files that have been safely backed up -- Image editor, to add finishing touches -- Favorite, hide and relive your memories, for they are precious -- One-click import from all major storage providers -- Dark theme, because your photos look good in it -- 2FA, 3FA, biometric auth -- and a LOT more! +TULAJDONSÁGOK +- Eredeti minőségű biztonsági mentések, mert minden pixel számít +- Családi csomagok, így megoszthatod a tárhelyet a családoddal +- Megosztott mappák, arra az esetre, ha azt szeretnéd, hogy partnered is élvezze a "Kamera" kattintásaid +- Albumlinkek, amelyek jelszóval védhetők és lejárati idő is beállítható +- Lehetőség a tárhely felszabadítására a biztonságosan mentett fájlok eltávolításával +- Képszerkesztő, a végső simítások hozzáadásához +- Kedvenc, rejtsd el és éld át újra emlékeidet, mert értékesek +- Importálás egy kattintással az összes nagyobb tárhelyszolgáltatótól +- Sötét téma, mert a fotóid jól mutatnak benne +- 2FA, 3FA, biometrikus hitelesítés +- és még sok minden más! -PRICING -We don't offer forever free plans, because it is important to us that we remain sustainable and withstand the test of time. Instead we offer affordable plans that you can freely share with your family. You can find more information at ente.io. +ÁRAZÁS +Nem kínálunk örökké ingyenes csomagokat, mert fontos számunkra, hogy fenntarthatóak maradjunk és kiálljuk az idő próbáját. Ehelyett megfizethető csomagokat kínálunk, amelyeket szabadon megoszthat családjával. További információt az ente.io oldalon találhat. -SUPPORT -We take pride in offering human support. If you are our paid customer, you can reach out to team@ente.io and expect a response from our team within 24 hours. +TÁMOGATÁS +Büszkék vagyunk arra, hogy emberi támogatást nyújthatunk. Ha fizetős ügyfelünk vagy, írj a team@ente.io címre, és csapatunk 24 órán belül válaszol. -TERMS +FELTÉTELEK https://ente.io/terms diff --git a/mobile/apps/photos/fastlane/metadata/ios/hu/keywords.txt b/mobile/apps/photos/fastlane/metadata/ios/hu/keywords.txt index e1462baf51..60e332fa8a 100644 --- a/mobile/apps/photos/fastlane/metadata/ios/hu/keywords.txt +++ b/mobile/apps/photos/fastlane/metadata/ios/hu/keywords.txt @@ -1 +1 @@ -photos,photography,family,privacy,cloud,backup,videos,photo,encryption,storage,album,alternative +fotók,fényképészet,család,adatvédelem,felhő,biztonsági mentés,videó,fénykép,titkosítás,tárhely,album,alternatív diff --git a/mobile/apps/photos/fastlane/metadata/ios/hu/name.txt b/mobile/apps/photos/fastlane/metadata/ios/hu/name.txt index 3a991c4abc..2289447f82 100644 --- a/mobile/apps/photos/fastlane/metadata/ios/hu/name.txt +++ b/mobile/apps/photos/fastlane/metadata/ios/hu/name.txt @@ -1 +1 @@ -Ente Photos +Ente Fotók diff --git a/mobile/apps/photos/fastlane/metadata/ios/hu/subtitle.txt b/mobile/apps/photos/fastlane/metadata/ios/hu/subtitle.txt index 958a35f1c9..7cb1214a3d 100644 --- a/mobile/apps/photos/fastlane/metadata/ios/hu/subtitle.txt +++ b/mobile/apps/photos/fastlane/metadata/ios/hu/subtitle.txt @@ -1 +1 @@ -Encrypted photo storage +Titkosított fotó tárhely diff --git a/mobile/apps/photos/fastlane/metadata/ios/vi/description.txt b/mobile/apps/photos/fastlane/metadata/ios/vi/description.txt index 982b6ba608..38d80ff195 100644 --- a/mobile/apps/photos/fastlane/metadata/ios/vi/description.txt +++ b/mobile/apps/photos/fastlane/metadata/ios/vi/description.txt @@ -1,33 +1,33 @@ -Ente là một ứng dụng đơn giản để tự động sao lưu và tổ chức ảnh và video của bạn. +Ente là một ứng dụng đơn giản để sao lưu và sắp xếp ảnh/video của bạn. -Nếu bạn đang tìm kiếm một giải pháp thân thiện với quyền riêng tư để lưu giữ những kỷ niệm của mình, bạn đã đến đúng nơi. Với Ente, chúng được lưu trữ mã hóa đầu cuối (e2ee). Điều này có nghĩa là chỉ bạn mới có thể xem chúng. +Nếu bạn đang tìm kiếm một giải pháp bảo mật-thân thiện để lưu giữ những kỷ niệm của mình, bạn đã tìm đúng. Ở Ente, chúng tôi lưu trữ mã hóa đầu cuối (e2ee). Điều này nghĩa là chỉ bạn mới có thể xem. -Chúng tôi có ứng dụng trên Android, iOS, web và Desktop, và ảnh của bạn sẽ đồng bộ hóa liền mạch giữa tất cả các thiết bị của bạn theo cách mã hóa đầu cuối (e2ee). +Chúng tôi có ứng dụng Android, iOS, web và Desktop mã nguồn mở. Ảnh của bạn sẽ được đồng bộ liền mạch giữa tất cả thiết bị theo phương thức mã hóa đầu cuối (e2ee). Ente cũng giúp bạn dễ dàng chia sẻ album của mình với những người thân yêu. Bạn có thể chia sẻ chúng trực tiếp với những người dùng Ente khác, mã hóa đầu cuối; hoặc với các liên kết có thể xem công khai. -Dữ liệu mã hóa của bạn được lưu trữ ở nhiều địa điểm khác nhau, bao gồm một hầm trú ẩn ở Paris. Chúng tôi coi trọng sự trường tồn và làm cho việc đảm bảo rằng những kỷ niệm của bạn sống lâu hơn bạn trở nên dễ dàng. +Dữ liệu mã hóa của bạn được lưu trữ ở nhiều địa điểm khác nhau, bao gồm một hầm trú ẩn hạt nhân ở Paris. Chúng tôi coi trọng sự trường tồn và giúp việc đảm bảo rằng những kỷ niệm của bạn sống lâu hơn bạn trở nên dễ dàng. Chúng tôi ở đây để tạo ra ứng dụng ảnh an toàn nhất từ trước đến nay, hãy tham gia hành trình của chúng tôi! TÍNH NĂNG - Sao lưu chất lượng gốc, vì mỗi pixel đều quan trọng -- Kế hoạch gia đình, để bạn có thể chia sẻ dung lượng lưu trữ với gia đình +- Gói gia đình, để bạn có thể chia sẻ dung lượng lưu trữ với gia đình - Thư mục chia sẻ, trong trường hợp bạn muốn đối tác của mình thưởng thức những bức ảnh "Camera" của bạn -- Liên kết album, có thể được bảo vệ bằng mật khẩu và đặt thời gian hết hạn -- Khả năng giải phóng không gian, bằng cách xóa các tệp đã được sao lưu an toàn -- Trình chỉnh sửa hình ảnh, để thêm những nét hoàn thiện -- Yêu thích, ẩn và sống lại những kỷ niệm của bạn, vì chúng rất quý giá -- Nhập bằng một cú nhấp chuột từ tất cả các nhà cung cấp lưu trữ chính +- Liên kết album, có thể bảo vệ bằng mật khẩu và đặt thời hạn +- Khả năng giải phóng dung lượng, bằng cách xóa các tệp đã được sao lưu an toàn +- Trình chỉnh sửa ảnh, để thêm những nét hoàn thiện +- Thích, ẩn và khôi phục những kỷ niệm của bạn, vì chúng rất quý giá +- Một click nhập ngay từ tất cả các nhà cung cấp lưu trữ lớn - Chủ đề tối, vì ảnh của bạn trông đẹp trong đó - 2FA, 3FA, xác thực sinh trắc học -- và còn nhiều hơn thế nữa! +- và còn NHIỀU nữa! GIÁ CẢ -Chúng tôi không cung cấp các gói miễn phí mãi mãi, vì điều quan trọng với chúng tôi là chúng tôi phải duy trì tính bền vững và chịu được thử thách của thời gian. Thay vào đó, chúng tôi cung cấp các gói giá cả phải chăng mà bạn có thể tự do chia sẻ với gia đình của mình. Bạn có thể tìm thêm thông tin tại ente.io. +Chúng tôi không cung cấp vĩnh viễn các gói miễn phí, vì điều quan trọng với chúng tôi là chúng tôi phải duy trì tính bền vững và chịu được thử thách của thời gian. Thay vào đó, chúng tôi cung cấp các gói giá cả phải chăng mà bạn có thể tự do chia sẻ với gia đình mình. Bạn có thể xem thêm thông tin tại ente.io. HỖ TRỢ -Chúng tôi tự hào cung cấp người hỗ trợ. Nếu bạn là khách hàng trả phí của chúng tôi, bạn có thể liên hệ với team@ente.io và sẽ nhận được phản hồi từ đội ngũ của chúng tôi trong vòng 24 giờ. +Chúng tôi tự hào cung cấp hỗ trợ người thật. Nếu bạn là khách hàng trả phí của chúng tôi, bạn có thể liên hệ với team@ente.io và đội ngũ của chúng tôi sẽ phản hồi trong vòng 24 giờ. ĐIỀU KHOẢN https://ente.io/terms diff --git a/mobile/apps/photos/fastlane/metadata/ios/zh/description.txt b/mobile/apps/photos/fastlane/metadata/ios/zh/description.txt index e4596462e1..c60754de4b 100644 --- a/mobile/apps/photos/fastlane/metadata/ios/zh/description.txt +++ b/mobile/apps/photos/fastlane/metadata/ios/zh/description.txt @@ -1,33 +1,33 @@ Ente 是一个简单的应用,可以自动备份和整理您的照片和视频。 -如果您一直在寻找保护隐私的替代方案来保存您的记忆,那么您来对地方了。 使用 Ente,它们以端到端加密 (e2ee) 的方式存储。 这意味着只有您可以查看它们。 +如果你正在寻找兼顾隐私的备份方案来保存回忆,Ente 正合你意。 使用 Ente,它们以端到端加密 (e2ee) 的方式存储。 这意味着只有您可以查看它们。 我们拥有跨所有平台的应用程序,您的照片将以端到端加密 (e2ee) 方式在所有设备之间无缝同步。 -Ente 也使得与您的亲人分享您的相册变得简单。 您可以直接与其他Ente 用户共享,端到端加密,或公开链接共享。 您可以直接与其他Ente 用户共享,端到端加密,或公开链接共享。 您可以直接与其他Ente 用户共享,端到端加密,或公开链接共享。 您可以直接与其他Ente 用户共享,端到端加密,或公开链接共享。 +Ente 也使得与亲人分享相册变得简单。 您可以直接端到端加密地分享给其他 Ente 用户,或为相册和相片生成公开可见的分享链接。 -您的加密数据存储在多个地点,包括巴黎的一个空洞。 我们认真对待子孙后代,并确保您回忆比您长寿。 +您的加密数据分布存储在多个地点,包括巴黎的一座防空掩体。 我们认真对待“长久保存”,希望让你的回忆比你更长寿。 -我们来这里是为了使最安全的照片应用成为新的应用程序,来加入我们的旅程! +我们的目标是做出史上最安全的照片应用,欢迎开启你的 Ente 使用之旅! 特色 - 原始质量备份,因为每个像素都是重要的 - 家庭计划,您可以与家人共享存储 -- 共享文件夹,如果您想让您的伙伴享受您的“摄像头”点击 +- 共享相册,让伴侣实时欣赏「相机」下的每一次快门 - 相册链接,可以用密码保护并设置为过期 -- 能够通过移除已经安全备份的文件释放空间 -- 图像编辑器,添加收尾工作 +- 一键释放空间,删除已安全备份的文件 +- 内置图片编辑器,快速微调 - 收藏、隐藏和恢复您的内存,因为它们是宝贵的 -- 从所有主要存储供应商导入单击文件 -- 黑暗主题,因为您的照片看起来很好 +- 一键从Google Photos、iCloud、本地硬盘等来源导入照片和视频 +- 深色主题,照片在暗色背景下更出彩 - 2FA,3FA,生物鉴别认证 -- 还有更多的LOT! +还有更多精彩功能! 价格 -我们不会永远提供免费计划,因为我们必须保持可持续性,经受住时间的考验。 相反,我们提供您可以自由分享的负担得起的计划。 您可以在 ente.io找到更多信息。 相反,我们提供您可以自由分享的负担得起的计划。 您可以在 ente.io找到更多信息。 相反,我们提供您可以自由分享的负担得起的计划。 您可以在 ente.io找到更多信息。 +我们没有“永久免费”方案,因为可持续运营对我们至关重要。 我们提供价格实惠、可与家人共享的付费方案。 您可以在 ente.io找到更多信息。 支持 -我们对提供人的支持感到自豪。 我们对提供人的支持感到自豪。 如果您是我们的付费客户,您可以联系Team@ente.io并期待我们的团队在24小时内做出回应。 +我们对真人客服感到自豪。 付费用户如有疑问,请发送邮件至 team@ente.io ,我们将在 24 小时内回复。 条款 https://ente.io/terms diff --git a/mobile/apps/photos/fastlane/metadata/playstore/hu/short_description.txt b/mobile/apps/photos/fastlane/metadata/playstore/hu/short_description.txt index 6c00229894..fa8e3ac8fe 100644 --- a/mobile/apps/photos/fastlane/metadata/playstore/hu/short_description.txt +++ b/mobile/apps/photos/fastlane/metadata/playstore/hu/short_description.txt @@ -1 +1 @@ -Encrypted photo storage - backup, organize and share your photos and videos \ No newline at end of file +Titkosított fotótárolás – készítsen biztonsági másolatot fényképeiről és videóiról, rendszerezze és ossza meg azokat \ No newline at end of file diff --git a/mobile/apps/photos/fastlane/metadata/playstore/hu/title.txt b/mobile/apps/photos/fastlane/metadata/playstore/hu/title.txt index 97fdef3be7..200e2e3a72 100644 --- a/mobile/apps/photos/fastlane/metadata/playstore/hu/title.txt +++ b/mobile/apps/photos/fastlane/metadata/playstore/hu/title.txt @@ -1 +1 @@ -Ente Photos \ No newline at end of file +Ente Fotók \ No newline at end of file diff --git a/mobile/apps/photos/fastlane/metadata/playstore/vi/full_description.txt b/mobile/apps/photos/fastlane/metadata/playstore/vi/full_description.txt index b064eed60c..002d798ec1 100644 --- a/mobile/apps/photos/fastlane/metadata/playstore/vi/full_description.txt +++ b/mobile/apps/photos/fastlane/metadata/playstore/vi/full_description.txt @@ -1,30 +1,30 @@ -Ente là một ứng dụng đơn giản để tự động sao lưu và tổ chức ảnh và video của bạn. +Ente là một ứng dụng đơn giản để tự động sao lưu và sắp xếp ảnh/video của bạn. -Nếu bạn đang tìm kiếm một giải pháp thân thiện với quyền riêng tư để lưu giữ những kỷ niệm của mình, bạn đã đến đúng nơi. Với Ente, chúng được lưu trữ mã hóa đầu cuối (e2ee). Điều này có nghĩa là chỉ bạn mới có thể xem chúng. +Nếu bạn đang tìm kiếm một giải pháp bảo mật-thân thiện để lưu giữ những kỷ niệm của mình, bạn đã tìm đúng. Ở Ente, chúng tôi lưu trữ mã hóa đầu cuối (e2ee). Điều này nghĩa là chỉ bạn mới có thể xem. -Chúng tôi có ứng dụng trên Android, iOS, web và Desktop, và ảnh của bạn sẽ đồng bộ hóa liền mạch giữa tất cả các thiết bị của bạn theo cách mã hóa đầu cuối (e2ee). +Chúng tôi có ứng dụng Android, iOS, web và Desktop. Ảnh của bạn sẽ được đồng bộ liền mạch giữa tất cả thiết bị theo phương thức mã hóa đầu cuối (e2ee). Ente cũng giúp bạn dễ dàng chia sẻ album của mình với những người thân yêu. Bạn có thể chia sẻ chúng trực tiếp với những người dùng Ente khác, mã hóa đầu cuối; hoặc với các liên kết có thể xem công khai. -Dữ liệu mã hóa của bạn được lưu trữ ở nhiều địa điểm khác nhau, bao gồm một hầm trú ẩn ở Paris. Chúng tôi coi trọng sự trường tồn và làm cho việc đảm bảo rằng những kỷ niệm của bạn sống lâu hơn bạn trở nên dễ dàng. +Dữ liệu mã hóa của bạn được lưu trữ ở nhiều địa điểm khác nhau, bao gồm một hầm trú ẩn hạt nhân ở Paris. Chúng tôi coi trọng sự trường tồn và giúp việc đảm bảo rằng những kỷ niệm của bạn sống lâu hơn bạn trở nên dễ dàng. Chúng tôi ở đây để tạo ra ứng dụng ảnh an toàn nhất từ trước đến nay, hãy tham gia hành trình của chúng tôi! ✨ TÍNH NĂNG -- Sao lưu chất lượng gốc, vì mỗi pixel đều quan trọng -- Kế hoạch gia đình, để bạn có thể chia sẻ dung lượng lưu trữ với gia đình -- Thư mục chia sẻ, trong trường hợp bạn muốn đối tác của mình thưởng thức những bức ảnh "Camera" của bạn -- Liên kết album, có thể được bảo vệ bằng mật khẩu và đặt thời gian hết hạn -- Khả năng giải phóng không gian, bằng cách xóa các tệp đã được sao lưu an toàn -- Trình chỉnh sửa hình ảnh, để thêm những nét hoàn thiện -- Yêu thích, ẩn và sống lại những kỷ niệm của bạn, vì chúng rất quý giá -- Nhập một lần nhấp từ Google, Apple, ổ cứng của bạn và nhiều hơn nữa -- Chủ đề tối, vì ảnh của bạn trông đẹp trong đó -- 2FA, 3FA, xác thực sinh trắc học -- và còn nhiều hơn thế nữa! +- Sao lưu chất lượng gốc, vì mỗi pixel đều quan trọng +- Gói gia đình, để bạn có thể chia sẻ dung lượng lưu trữ với gia đình +- Thư mục chia sẻ, trong trường hợp bạn muốn đối tác của mình thưởng thức những bức ảnh "Camera" của bạn +- Liên kết album, có thể bảo vệ bằng mật khẩu và đặt thời hạn +- Khả năng giải phóng dung lượng, bằng cách xóa các tệp đã được sao lưu an toàn +- Trình chỉnh sửa ảnh, để thêm những nét hoàn thiện +- Thích, ẩn và khôi phục những kỷ niệm của bạn, vì chúng rất quý giá +- Một click nhập ngay từ Google, Apple, ổ cứng của bạn và nhiều hơn nữa +- Chủ đề tối, vì ảnh của bạn trông đẹp trong đó +- 2FA, 3FA, xác thực sinh trắc học +- và còn NHIỀU nữa! 💲 GIÁ CẢ -Chúng tôi không cung cấp các gói miễn phí mãi mãi, vì điều quan trọng với chúng tôi là chúng tôi phải duy trì tính bền vững và chịu được thử thách của thời gian. Thay vào đó, chúng tôi cung cấp các gói giá cả phải chăng mà bạn có thể tự do chia sẻ với gia đình của mình. Bạn có thể tìm thêm thông tin tại ente.io. +Chúng tôi không cung cấp vĩnh viễn các gói miễn phí, vì điều quan trọng với chúng tôi là chúng tôi phải duy trì tính bền vững và chịu được thử thách của thời gian. Thay vào đó, chúng tôi cung cấp các gói giá cả phải chăng mà bạn có thể tự do chia sẻ với gia đình mình. Bạn có thể xem thêm thông tin tại ente.io. 🙋 HỖ TRỢ -Chúng tôi tự hào cung cấp người hỗ trợ. Nếu bạn là khách hàng trả phí của chúng tôi, bạn có thể liên hệ với team@ente.io và sẽ nhận được phản hồi từ đội ngũ của chúng tôi trong vòng 24 giờ. \ No newline at end of file +Chúng tôi tự hào cung cấp hỗ trợ người thật. Nếu bạn là khách hàng trả phí của chúng tôi, bạn có thể liên hệ với team@ente.io và đội ngũ của chúng tôi sẽ phản hồi trong vòng 24 giờ. \ No newline at end of file diff --git a/mobile/apps/photos/fastlane/metadata/playstore/vi/short_description.txt b/mobile/apps/photos/fastlane/metadata/playstore/vi/short_description.txt index 6e996b9b99..d3a73f31b1 100644 --- a/mobile/apps/photos/fastlane/metadata/playstore/vi/short_description.txt +++ b/mobile/apps/photos/fastlane/metadata/playstore/vi/short_description.txt @@ -1 +1 @@ -Lưu trữ ảnh mã hóa - sao lưu, tổ chức và chia sẻ ảnh và video của bạn \ No newline at end of file +Lưu trữ ảnh mã hóa - sao lưu, sắp xếp và chia sẻ ảnh/video của bạn \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_ar.arb b/mobile/apps/photos/lib/l10n/intl_ar.arb index c7db982d1e..a1d7713752 100644 --- a/mobile/apps/photos/lib/l10n/intl_ar.arb +++ b/mobile/apps/photos/lib/l10n/intl_ar.arb @@ -181,7 +181,7 @@ "addedAs": "تمت الإضافة كـ", "changePermissions": "تغيير الإذن؟", "yesConvertToViewer": "نعم، التحويل إلى مشاهد", - "cannotAddMorePhotosAfterBecomingViewer": "لن يتمكن {user} من إضافة المزيد من الصور إلى هذا الألبوم.\n\nسيظل بإمكانه إزالة الصور الحالية التي أضافها.", + "cannotAddMorePhotosAfterBecomingViewer": "لن يتمكن {user} من إضافة المزيد من الصور إلى هذا الألبوم\n\nسيظل بإمكانه إزالة الصور الحالية التي أضافها", "allowAddingPhotos": "السماح بإضافة الصور", "@allowAddingPhotos": { "description": "Switch button to enable uploading photos to a public link" @@ -372,7 +372,7 @@ "deleteFromBoth": "الحذف من كليهما", "newAlbum": "ألبوم جديد", "albums": "الألبومات", - "memoryCount": "{count, plural, =0 {لا توجد ذكريات} one {ذكرى واحدة} two {ذكريتان} other {{formattedCount} ذكرى}}", + "memoryCount": "{count, plural, =0 {لا توجد ذكريات} one {ذكرى واحدة} two {ذكريتان} few {{formattedCount} ذكريات} many {{formattedCount} ذكرى} other {{formattedCount} ذكرى}}", "@memoryCount": { "description": "The text to display the number of memories", "type": "text", @@ -460,7 +460,7 @@ "skip": "تخط", "updatingFolderSelection": "جارٍ تحديث تحديد المجلد...", "itemCount": "{count, plural, one {{count} عُنْصُر} other {{count} عَنَاصِر}}", - "deleteItemCount": "{count, plural, =1 {حذف عنصر واحد} two {حذف عنصرين} other {حذف {count} عنصرًا}}", + "deleteItemCount": "{count, plural, =1 {حذف عنصر واحد} two {حذف عنصرين} few {حذف {count} عناصر} many {حذف {count} عنصرًا} other {حذف {count} عنصرًا}}", "duplicateItemsGroup": "{count} ملفات، {formattedSize} لكل منها", "@duplicateItemsGroup": { "description": "Display the number of duplicate files and their size", @@ -477,7 +477,7 @@ } }, "showMemories": "عرض الذكريات", - "yearsAgo": "{count, plural, one {قبل سنة} two {قبل سنتين} other {قبل {count} سنة}}", + "yearsAgo": "{count, plural, one {قبل سنة} two {قبل سنتين} few {قبل {count} سنوات} many {قبل {count} سنة} other {قبل {count} سنة}}", "backupSettings": "إعدادات النسخ الاحتياطي", "backupStatus": "حالة النسخ الاحتياطي", "backupStatusDescription": "ستظهر العناصر التي تم نسخها احتياطيًا هنا", @@ -543,7 +543,7 @@ }, "remindToEmptyEnteTrash": "تذكر أيضًا إفراغ \"سلة المهملات\" لاستعادة المساحة المحررة.", "sparkleSuccess": "✨ نجاح", - "duplicateFileCountWithStorageSaved": "لقد قمت بتنظيف {count, plural, one {ملف مكرر واحد} two {ملفين مكررين} other {{count} ملفًا مكررًا}}، مما وفر {storageSaved}!", + "duplicateFileCountWithStorageSaved": "لقد قمت بتنظيف {count, plural, one {ملف مكرر واحد} two {ملفين مكررين} few {{count} ملفات مكررة} many {{count} ملفًا مكررًا} other {{count} ملفًا مكررًا}}، مما وفر {storageSaved}!", "@duplicateFileCountWithStorageSaved": { "description": "The text to display when the user has successfully cleaned up duplicate files", "type": "text", @@ -794,11 +794,11 @@ "share": "مشاركة", "unhideToAlbum": "إظهار في الألبوم", "restoreToAlbum": "استعادة إلى الألبوم", - "moveItem": "{count, plural, =1 {نقل عنصر} two {نقل عنصرين} other {نقل {count} عنصرًا}}", + "moveItem": "{count, plural, =1 {نقل عنصر} two {نقل عنصرين} few {نقل {count} عناصر} many {نقل {count} عنصرًا} other {نقل {count} عنصرًا}}", "@moveItem": { "description": "Page title while moving one or more items to an album" }, - "addItem": "{count, plural, =1 {إضافة عنصر} two {إضافة عنصرين} other {إضافة {count} عنصرًا}}", + "addItem": "{count, plural, =1 {إضافة عنصر} two {إضافة عنصرين} few {إضافة {count} عناصر} many {إضافة {count} عنصرًا} other {إضافة {count} عنصرًا}}", "@addItem": { "description": "Page title while adding one or more items to album" }, @@ -826,7 +826,7 @@ "referFriendsAnd2xYourPlan": "أحِل الأصدقاء وضاعف خطتك مرتين", "shareAlbumHint": "افتح ألبومًا وانقر على زر المشاركة في الزاوية اليمنى العليا للمشاركة.", "itemsShowTheNumberOfDaysRemainingBeforePermanentDeletion": "تعرض العناصر عدد الأيام المتبقية قبل الحذف الدائم.", - "trashDaysLeft": "{count, plural, =0 {قريبًا} =1 {يوم واحد} two {يومان} other {{count} يومًا}}", + "trashDaysLeft": "{count, plural, =0 {قريبًا} =1 {يوم واحد} two {يومان} few {{count} أيام} many {{count} يومًا} other {{count} يومًا}}", "@trashDaysLeft": { "description": "Text to indicate number of days remaining before permanent deletion", "placeholders": { @@ -899,8 +899,8 @@ "authToViewYourMemories": "يرجى المصادقة لعرض ذكرياتك.", "unlock": "فتح", "freeUpSpace": "تحرير المساحة", - "freeUpSpaceSaving": "{count, plural, =1 {يمكن حذفه من الجهاز لتحرير {formattedSize}} two {يمكن حذفهما من الجهاز لتحرير {formattedSize}} other {يمكن حذفها من الجهاز لتحرير {formattedSize}}}", - "filesBackedUpInAlbum": "{count, plural, one {ملف واحد} two {ملفان} other {{formattedNumber} ملفًا}} في هذا الألبوم تم نسخه احتياطيًا بأمان", + "freeUpSpaceSaving": "{count, plural, =1 {يمكن حذفه من الجهاز لتحرير {formattedSize}} two {يمكن حذفهما من الجهاز لتحرير {formattedSize}} few {يمكن حذفها من الجهاز لتحرير {formattedSize}} many {يمكن حذفها من الجهاز لتحرير {formattedSize}} other {يمكن حذفها من الجهاز لتحرير {formattedSize}}}", + "filesBackedUpInAlbum": "{count, plural, one {ملف واحد} two {ملفان} few {{formattedNumber} ملفات} many {{formattedNumber} ملفًا} other {{formattedNumber} ملفًا}} في هذا الألبوم تم نسخه احتياطيًا بأمان", "@filesBackedUpInAlbum": { "description": "Text to tell user how many files have been backed up in the album", "placeholders": { @@ -915,7 +915,7 @@ } } }, - "filesBackedUpFromDevice": "{count, plural, one {ملف واحد} two {ملفان} other {{formattedNumber} ملفًا}} على هذا الجهاز تم نسخه احتياطيًا بأمان", + "filesBackedUpFromDevice": "{count, plural, one {ملف واحد} two {ملفان} few {{formattedNumber} ملفات} many {{formattedNumber} ملفًا} other {{formattedNumber} ملفًا}} على هذا الجهاز تم نسخه احتياطيًا بأمان", "@filesBackedUpFromDevice": { "description": "Text to tell user how many files have been backed up from this device", "placeholders": { @@ -1217,7 +1217,7 @@ "searchHint4": "الموقع", "searchHint5": "قريبًا: الوجوه والبحث السحري ✨", "addYourPhotosNow": "أضف صورك الآن", - "searchResultCount": "{count, plural, other{{count} النتائج التي تم العثور عليها}}", + "searchResultCount": "{count, plural, one{{count} النتائج التي تم العثور عليها} other{{count} النتائج التي تم العثور عليها}}", "@searchResultCount": { "description": "Text to tell user how many results were found for their search query", "placeholders": { @@ -1269,8 +1269,8 @@ "description": "Subtitle to indicate that the user can find people quickly by name" }, "findPeopleByName": "البحث عن الأشخاص بسرعة بالاسم", - "addViewers": "{count, plural, =0 {إضافة مشاهد} =1 {إضافة مشاهد} two {إضافة مشاهدين} other {إضافة {count} مشاهدًا}}", - "addCollaborators": "{count, plural, =0 {إضافة متعاون} =1 {إضافة متعاون} two {إضافة متعاونين} other {إضافة {count} متعاونًا}}", + "addViewers": "{count, plural, =0 {إضافة مشاهد} =1 {إضافة مشاهد} two {إضافة مشاهدين} few {إضافة {count} مشاهدين} many {إضافة {count} مشاهدًا} other {إضافة {count} مشاهدًا}}", + "addCollaborators": "{count, plural, =0 {إضافة متعاون} =1 {إضافة متعاون} two {إضافة متعاونين} few {إضافة {count} متعاونين} many {إضافة {count} متعاونًا} other {إضافة {count} متعاونًا}}", "longPressAnEmailToVerifyEndToEndEncryption": "اضغط مطولاً على بريد إلكتروني للتحقق من التشفير من طرف إلى طرف.", "developerSettingsWarning": "هل أنت متأكد من رغبتك في تعديل إعدادات المطور؟", "developerSettings": "إعدادات المطور", @@ -1309,7 +1309,6 @@ "faceRecognition": "التعرف على الوجوه", "foundFaces": "الوجوه التي تم العثور عليها", "clusteringProgress": "تقدم التجميع", - "indexingIsPaused": "الفهرسة متوقفة مؤقتًا. سيتم استئنافها تلقائيًا عندما يكون الجهاز جاهزًا.", "trim": "قص", "crop": "اقتصاص", "rotate": "تدوير", @@ -1404,7 +1403,7 @@ "enableMachineLearningBanner": "قم بتمكين تعلم الآلة للبحث السحري والتعرف على الوجوه.", "searchDiscoverEmptySection": "سيتم عرض الصور هنا بمجرد اكتمال المعالجة والمزامنة.", "searchPersonsEmptySection": "سيتم عرض الأشخاص هنا بمجرد اكتمال المعالجة والمزامنة.", - "viewersSuccessfullyAdded": "{count, plural, =0 {تمت إضافة 0 مشاهدين} =1 {تمت إضافة مشاهد واحد} two {تمت إضافة مشاهدين} other {تمت إضافة {count} مشاهدًا}}", + "viewersSuccessfullyAdded": "{count, plural, =0 {تمت إضافة 0 مشاهدين} =1 {تمت إضافة مشاهد واحد} two {تمت إضافة مشاهدين} few {تمت إضافة {count} مشاهدين} many {تمت إضافة {count} مشاهدًا} other {تمت إضافة {count} مشاهدًا}}", "@viewersSuccessfullyAdded": { "placeholders": { "count": { @@ -1414,7 +1413,7 @@ }, "description": "Number of viewers that were successfully added to an album." }, - "collaboratorsSuccessfullyAdded": "{count, plural, =0 {تمت إضافة 0 متعاونين} =1 {تمت إضافة متعاون واحد} two {تمت إضافة متعاونين} other {تمت إضافة {count} متعاونًا}}", + "collaboratorsSuccessfullyAdded": "{count, plural, =0 {تمت إضافة 0 متعاونين} =1 {تمت إضافة متعاون واحد} two {تمت إضافة متعاونين} few {تمت إضافة {count} متعاونين} many {تمت إضافة {count} متعاونًا} other {تمت إضافة {count} متعاونًا}}", "@collaboratorsSuccessfullyAdded": { "placeholders": { "count": { @@ -1489,7 +1488,7 @@ }, "currentlyRunning": "قيد التشغيل حاليًا", "ignored": "تم التجاهل", - "photosCount": "{count, plural, =0 {لا توجد صور} =1 {صورة واحدة} two {صورتان} other {{count} صورة}}", + "photosCount": "{count, plural, =0 {لا توجد صور} =1 {صورة واحدة} two {صورتان} few {{count} صور} many {{count} صورة} other {{count} صورة}}", "@photosCount": { "placeholders": { "count": { @@ -1687,7 +1686,7 @@ "moveSelectedPhotosToOneDate": "نقل الصور المحددة إلى تاريخ واحد", "shiftDatesAndTime": "تغيير التواريخ والوقت", "photosKeepRelativeTimeDifference": "تحتفظ الصور بالفرق الزمني النسبي", - "photocountPhotos": "{count, plural, =0 {لا توجد صور} =1 {صورة واحدة} two {صورتان} other {{count} صورة}}", + "photocountPhotos": "{count, plural, =0 {لا توجد صور} =1 {صورة واحدة} two {صورتان} few {{count} صور} many {{count} صورة} other {{count} صورة}}", "@photocountPhotos": { "placeholders": { "count": { @@ -1701,7 +1700,7 @@ "selectedItemsWillBeRemovedFromThisPerson": "سيتم إزالة العناصر المحددة من هذا الشخص، ولكن لن يتم حذفها من مكتبتك.", "throughTheYears": "{dateFormat} عبر السنين", "thisWeekThroughTheYears": "هذا الأسبوع عبر السنين", - "thisWeekXYearsAgo": "{count, plural, =1 {هذا الأسبوع، قبل سنة} two {هذا الأسبوع، قبل سنتين} other {هذا الأسبوع، قبل {count} سنة}}", + "thisWeekXYearsAgo": "{count, plural, =1 {هذا الأسبوع، قبل سنة} two {هذا الأسبوع، قبل سنتين} few {هذا الأسبوع، قبل {count} سنوات} many {هذا الأسبوع، قبل {count} سنة} other {هذا الأسبوع، قبل {count} سنة}}", "youAndThem": "أنت و {name}", "admiringThem": "الإعجاب بـ {name}", "embracingThem": "معانقة {name}", @@ -1731,15 +1730,37 @@ "food": "متعة الطهي", "pets": "رفاق فروي", "curatedMemories": "ذكريات منسقة", + "widgets": "عناصر واجهة", "memories": "ذكريات", + "peopleWidgetDesc": "حدد الأشخاص الذين ترغب في ظهورهم على شاشتك الرئيسية.", + "albumsWidgetDesc": "حدد الألبومات التي تريد ظهورها على شاشتك الرئيسية.", + "memoriesWidgetDesc": "اختر نوع الذكريات التي ترغب في رؤيتها على شاشتك الرئيسية.", "deleteMultipleAlbumDialog": "هل تريد أيضًا حذف الصور (والمقاطع) الموجودة في هذه الألبومات {count} من كافة الألبومات الأخرى التي تشترك فيها؟", "addParticipants": "إضافة مشاركين", "selectedAlbums": "{count} تم تحديد", "actionNotSupportedOnFavouritesAlbum": "الإجراء غير مدعوم في ألبوم المفضلة", "onThisDay": "في هذا اليوم", "newPhotosEmoji": " جديد 📸", + "clickToInstallOurBestVersionYet": "انقر لتثبيت أفضل إصدار لنا حتى الآن", + "onThisDayNotificationExplanation": "تلقي تذكيرات حول ذكريات مثل اليوم في السنوات السابقة.", + "addPeopleWidgetPrompt": "أضف عنصر واجهة الأشخاص إلى شاشتك الرئيسية ثم عد إلى هنا لتخصيصه.", + "receiveRemindersOnBirthdays": "استلم تذكيرات عندما يحين عيد ميلاد أحدهم. النقر على الإشعار سينقلك إلى صور الشخص المحتفل بعيد ميلاده.", "happyBirthday": "عيد ميلاد سعيد! 🥳", - "happyBirthdayToPerson": "عيد ميلاد سعيد إلى {name}! 🎉", "birthdays": "أعياد الميلاد", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉" + "wishThemAHappyBirthday": "أتمنى لـ{name} عيد ميلاد سعيد! 🎉", + "areYouSureRemoveThisFaceFromPerson": "هل أنت متأكد من رغبتك في إزالة هذا الوجه من هذا الشخص؟", + "otherDetectedFaces": "وجوه أخرى تم اكتشافها", + "areThey": "هل هم ", + "questionmark": "؟", + "saveAsAnotherPerson": "حفظ كشخص آخر", + "showLessFaces": "إظهار وجوه أقل", + "showMoreFaces": "إظهار المزيد من الوجوه", + "ignore": "تجاهل", + "merge": "دمج", + "reset": "إعادة تعيين", + "thePersonGroupsWillNotBeDisplayed": "لن تظهر مجموعات الأشخاص في قسم الأشخاص بعد الآن. ستظل الصور دون تغيير.", + "thePersonWillNotBeDisplayed": "لن يتم عرض هذا الشخص في قسم الأشخاص بعد الآن. الصور ستبقى كما هي دون تغيير.", + "areYouSureYouWantToMergeThem": "هل أنت متأكد من رغبتك في دمجهم؟", + "allUnnamedGroupsWillBeMergedIntoTheSelectedPerson": "سيتم دمج جميع المجموعات غير المسماة مع الشخص المحدد. يمكن التراجع عن هذا الإجراء لاحقًا من خلال نظرة عامة على سجل الاقتراحات التابع لهذا الشخص.", + "yesIgnore": "نعم، تجاهل" } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_be.arb b/mobile/apps/photos/lib/l10n/intl_be.arb index 0971a36afe..3415966b69 100644 --- a/mobile/apps/photos/lib/l10n/intl_be.arb +++ b/mobile/apps/photos/lib/l10n/intl_be.arb @@ -210,6 +210,5 @@ "darkTheme": "Цёмная", "systemTheme": "Сістэма", "freeTrial": "Бясплатная пробная версія", - "faqs": "Частыя пытанні", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉" + "faqs": "Частыя пытанні" } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_bg.arb b/mobile/apps/photos/lib/l10n/intl_bg.arb index bfa658ba0d..c8494661c6 100644 --- a/mobile/apps/photos/lib/l10n/intl_bg.arb +++ b/mobile/apps/photos/lib/l10n/intl_bg.arb @@ -1,4 +1,3 @@ { - "@@locale ": "en", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉" + "@@locale ": "en" } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_ca.arb b/mobile/apps/photos/lib/l10n/intl_ca.arb index bfa658ba0d..c8494661c6 100644 --- a/mobile/apps/photos/lib/l10n/intl_ca.arb +++ b/mobile/apps/photos/lib/l10n/intl_ca.arb @@ -1,4 +1,3 @@ { - "@@locale ": "en", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉" + "@@locale ": "en" } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_cs.arb b/mobile/apps/photos/lib/l10n/intl_cs.arb index a63d72a280..fa046acab2 100644 --- a/mobile/apps/photos/lib/l10n/intl_cs.arb +++ b/mobile/apps/photos/lib/l10n/intl_cs.arb @@ -436,13 +436,5 @@ "previous": "Předchozí", "newRange": "Nový rozsah", "youAndThem": "Vy a {name}", - "selfiesWithThem": "Selfie s {name}", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉", - "showMoreFaces": "Show more faces", - "showLessFaces": "Show less faces", - "otherDetectedFaces": "Other detected faces", - "areYouSureRemoveThisFaceFromPerson": "Are you sure you want to remove this face from this person?", - "areThey": "Are they ", - "questionmark": "?", - "saveAsAnotherPerson": "Save as another person" + "selfiesWithThem": "Selfie s {name}" } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_da.arb b/mobile/apps/photos/lib/l10n/intl_da.arb index eb92d5168d..dfd9dee37f 100644 --- a/mobile/apps/photos/lib/l10n/intl_da.arb +++ b/mobile/apps/photos/lib/l10n/intl_da.arb @@ -322,6 +322,5 @@ "longPressAnEmailToVerifyEndToEndEncryption": "Langt tryk på en e-mail for at bekræfte slutningen af krypteringen.", "developerSettingsWarning": "Er du sikker på, at du vil ændre udviklerindstillingerne?", "next": "Næste", - "enterPin": "Indtast PIN", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉" + "enterPin": "Indtast PIN" } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_de.arb b/mobile/apps/photos/lib/l10n/intl_de.arb index 3f012a2e6e..d824c9fa4d 100644 --- a/mobile/apps/photos/lib/l10n/intl_de.arb +++ b/mobile/apps/photos/lib/l10n/intl_de.arb @@ -1309,7 +1309,6 @@ "faceRecognition": "Gesichtserkennung", "foundFaces": "Gesichter gefunden", "clusteringProgress": "Fortschritt beim Clustering", - "indexingIsPaused": "Die Indizierung ist unterbrochen. Sie wird automatisch fortgesetzt, wenn das Gerät bereit ist.", "trim": "Schneiden", "crop": "Zuschneiden", "rotate": "Drehen", @@ -1755,19 +1754,39 @@ "birthdayNotifications": "Geburtstagsbenachrichtigungen", "receiveRemindersOnBirthdays": "Erhalte Erinnerungen, wenn jemand Geburtstag hat. Ein Klick auf die Benachrichtigung bringt dich zu den Fotos der Person, die Geburtstag hat.", "happyBirthday": "Herzlichen Glückwunsch zum Geburtstag! 🥳", - "happyBirthdayToPerson": "Alles Gutes zum Geburtstag an {name}! 🎉", "birthdays": "Geburtstage", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉", - "cLTitle1": "Upload großer Videodateien", - "cLDesc1": "Nach der Video-Streaming-Beta und der Arbeit an fortsetzbaren Uploads und Downloads haben wir das Datei-Upload-Limit auf 10 GB erhöht. Dies ist jetzt sowohl in Desktop- als auch in mobilen Apps verfügbar.", - "cLTitle2": "Hintergrund-Upload", - "cLDesc2": "Hintergrund-Uploads werden jetzt auch auf iOS unterstützt, zusätzlich zu Android-Geräten. Du musst die App nicht öffnen, um deine neuesten Fotos und Videos zu sichern.", - "cLTitle3": "Autoplay-Erinnerungen", - "cLDesc3": "Wir haben erhebliche Verbesserungen an unserer Erinnerungserfahrung vorgenommen, einschließlich Autoplay, Wischen zur nächsten Erinnerung und vieles mehr.", + "wishThemAHappyBirthday": "Wünsche {name} alles Gute zum Geburtstag! 🎉", + "areYouSureRemoveThisFaceFromPerson": "Bist du sicher, dass du dieses Gesicht von dieser Person entfernen möchtest?", + "otherDetectedFaces": "Andere erkannte Gesichter", + "areThey": "Ist das ", + "questionmark": "?", + "saveAsAnotherPerson": "Als andere Person speichern", + "showLessFaces": "Weniger Gesichter zeigen", + "showMoreFaces": "Mehr Gesichter zeigen", + "ignore": "Ignorieren", + "merge": "Zusammenführen", + "reset": "Zurücksetzen", + "areYouSureYouWantToIgnoreThisPerson": "Bist du sicher, dass du diese Person ignorieren willst?", + "areYouSureYouWantToIgnoreThesePersons": "Bist du sicher, dass du diese Personen ignorieren willst?", + "thePersonGroupsWillNotBeDisplayed": "Diese Personengruppen werden im Personen-Abschnitt nicht mehr angezeigt. Die Fotos bleiben unverändert.", + "thePersonWillNotBeDisplayed": "Diese Person wird im Personen-Abschnitt nicht mehr angezeigt. Die Fotos bleiben unverändert.", + "areYouSureYouWantToMergeThem": "Bist du sicher, dass du sie zusammenführen willst?", + "allUnnamedGroupsWillBeMergedIntoTheSelectedPerson": "Alle unbenannten Gruppen werden zur ausgewählten Person zusammengeführt. Dies kann im Verlauf der Vorschläge für diese Person rückgängig gemacht werden.", + "yesIgnore": "Ja, ignorieren", + "same": "Gleich", + "different": "Verschieden", + "sameperson": "Dieselbe Person?", + "cLTitle1": "Lade große Videodateien hoch", + "cLDesc1": "Zusammen mit der Beta-Version des Video-Streamings und der Arbeit an wiederaufnehmbarem Hoch- und Herunterladen haben wir jetzt das Limit für das Hochladen von Dateien auf 10 GB erhöht. Dies ist ab sofort sowohl in den Desktop- als auch Mobil-Apps verfügbar.", + "cLTitle2": "Hochladen im Hintergrund", + "cLDesc2": "Das Hochladen im Hintergrund wird jetzt auch unter iOS unterstützt, zusätzlich zu Android-Geräten. Es ist nicht mehr notwendig, die App zu öffnen, um die letzten Fotos und Videos zu sichern.", + "cLTitle3": "Automatische Wiedergabe von Erinnerungen", + "cLDesc3": "Wir haben deutliche Verbesserungen an der Darstellung von Erinnerungen vorgenommen, u.a. automatische Wiedergabe, Wischen zur nächsten Erinnerung und vieles mehr.", "cLTitle4": "Verbesserte Gesichtserkennung", - "cLDesc4": "Zusammen mit vielen internen Verbesserungen ist es jetzt viel einfacher, alle erkannten Gesichter zu sehen, Feedback zu ähnlichen Gesichtern zu geben und Gesichter zu einem einzelnen Foto hinzuzufügen/zu entfernen.", + "cLDesc4": "Zusammen mit einer Reihe von Verbesserungen unter der Haube ist es jetzt viel einfacher, alle erkannten Gesichter zu sehen, Feedback zu ähnlichen Gesichtern geben und Gesichter für ein einzelnes Foto hinzuzufügen oder zu entfernen.", "cLTitle5": "Geburtstags-Benachrichtigungen", - "cLDesc5": "Du erhältst jetzt eine optionale Benachrichtigung für alle Geburtstage, die du auf Ente gespeichert hast, zusammen mit einer Sammlung ihrer besten Fotos.", - "cLTitle6": "Fortsetzbare Uploads und Downloads", - "cLDesc6": "Kein Warten mehr darauf, dass Uploads/Downloads abgeschlossen werden, bevor du die App schließen kannst. Alle Uploads und Downloads können jetzt mitten im Vorgang pausiert und von dort fortgesetzt werden, wo du aufgehört hast." + "cLDesc5": "Du erhältst jetzt eine Opt-Out-Benachrichtigung für alle Geburtstage, die du bei Ente gespeichert hast, zusammen mit einer Sammlung der besten Fotos.", + "cLTitle6": "Wiederaufnehmbares Hoch- und Herunterladen", + "cLDesc6": "Kein Warten mehr auf das Hoch- oder Herunterladen, bevor du die App schließen kannst. Alle Übertragungen können jetzt mittendrin pausiert und fortgesetzt werden, wo du aufgehört hast.", + "indexingPausedStatusDescription": "Die Indizierung ist pausiert. Sie wird automatisch fortgesetzt, wenn das Gerät bereit ist. Das Gerät wird als bereit angesehen, wenn sich der Akkustand, die Akkugesundheit und der thermische Zustand in einem gesunden Bereich befinden." } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_el.arb b/mobile/apps/photos/lib/l10n/intl_el.arb index 5cdbdb9968..ce8b1a1a54 100644 --- a/mobile/apps/photos/lib/l10n/intl_el.arb +++ b/mobile/apps/photos/lib/l10n/intl_el.arb @@ -1,5 +1,4 @@ { "@@locale ": "en", - "enterYourEmailAddress": "Εισάγετε την διεύθυνση ηλ. ταχυδρομείου σας", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉" + "enterYourEmailAddress": "Εισάγετε την διεύθυνση ηλ. ταχυδρομείου σας" } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_es.arb b/mobile/apps/photos/lib/l10n/intl_es.arb index a3d910ac85..eb8bd29db7 100644 --- a/mobile/apps/photos/lib/l10n/intl_es.arb +++ b/mobile/apps/photos/lib/l10n/intl_es.arb @@ -1304,7 +1304,6 @@ "faceRecognition": "Reconocimiento facial", "foundFaces": "Caras encontradas", "clusteringProgress": "Proceso de agrupación", - "indexingIsPaused": "La indexación está pausada. Se reanudará automáticamente cuando el dispositivo esté listo.", "trim": "Ajustar duración", "crop": "Ajustar encuadre", "rotate": "Girar", @@ -1724,18 +1723,5 @@ "onTheRoad": "De nuevo en la carretera", "food": "Delicia culinaria", "pets": "Compañeros peludos", - "curatedMemories": "Memorias revisadas", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉", - "cLTitle1": "Subida de archivos de video grandes", - "cLDesc1": "Tras el lanzamiento de la versión beta de transmisión de video y el trabajo en subidas y descargas reanudables, ahora hemos aumentado el límite de subida de archivos a 10GB. Esto ya está disponible tanto en aplicaciones de escritorio como móviles.", - "cLTitle2": "Subida en segundo plano", - "cLDesc2": "Las subidas en segundo plano ahora también son compatibles con iOS, además de dispositivos Android. No necesitas abrir la aplicación para hacer una copia de seguridad de tus fotos y videos más recientes.", - "cLTitle3": "Reproducción automática de recuerdos", - "cLDesc3": "Hemos hecho mejoras significativas en nuestra experiencia de recuerdos, incluyendo reproducción automática, deslizar al siguiente recuerdo y mucho más.", - "cLTitle4": "Reconocimiento facial mejorado", - "cLDesc4": "Junto con un montón de mejoras internas, ahora es mucho más fácil ver todas las caras detectadas, proporcionar comentarios sobre caras similares y agregar/eliminar caras de una sola foto.", - "cLTitle5": "Notificaciones de cumpleaños", - "cLDesc5": "Ahora recibirás una notificación opcional para todos los cumpleaños que hayas guardado en Ente, junto con una colección de sus mejores fotos.", - "cLTitle6": "Subidas y descargas reanudables", - "cLDesc6": "No más esperas para que se completen las subidas/descargas antes de poder cerrar la aplicación. Todas las subidas y descargas ahora tienen la capacidad de pausarse a mitad de camino y reanudarse desde donde lo dejaste." + "curatedMemories": "Memorias revisadas" } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_et.arb b/mobile/apps/photos/lib/l10n/intl_et.arb index 6c5cdfdbd9..dfe1fba1a4 100644 --- a/mobile/apps/photos/lib/l10n/intl_et.arb +++ b/mobile/apps/photos/lib/l10n/intl_et.arb @@ -218,6 +218,5 @@ "storageBreakupYou": "Sina", "@storageBreakupYou": { "description": "Label to indicate how much storage you are using when you are part of a family plan" - }, - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉" + } } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_eu.arb b/mobile/apps/photos/lib/l10n/intl_eu.arb index 7666621081..b08aaee4ef 100644 --- a/mobile/apps/photos/lib/l10n/intl_eu.arb +++ b/mobile/apps/photos/lib/l10n/intl_eu.arb @@ -458,6 +458,5 @@ "iOSLockOut": "Autentifikazio biometrikoa deuseztatuta dago. Mesedez, blokeatu eta desblokeatu zure pantaila indarrean jartzeko.", "@iOSLockOut": { "description": "Message advising the user to re-enable biometrics on their device. It shows in a dialog on iOS side." - }, - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉" + } } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_fa.arb b/mobile/apps/photos/lib/l10n/intl_fa.arb index 083c8b449b..edabff8132 100644 --- a/mobile/apps/photos/lib/l10n/intl_fa.arb +++ b/mobile/apps/photos/lib/l10n/intl_fa.arb @@ -307,6 +307,5 @@ "developerSettings": "تنظیمات توسعه‌دهنده", "search": "جستجو", "whatsNew": "تغییرات جدید", - "reviewSuggestions": "مرور پیشنهادها", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉" + "reviewSuggestions": "مرور پیشنهادها" } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_fr.arb b/mobile/apps/photos/lib/l10n/intl_fr.arb index 0eba0c5291..038c831969 100644 --- a/mobile/apps/photos/lib/l10n/intl_fr.arb +++ b/mobile/apps/photos/lib/l10n/intl_fr.arb @@ -899,7 +899,7 @@ "authToViewYourMemories": "Authentifiez-vous pour voir vos souvenirs", "unlock": "Déverrouiller", "freeUpSpace": "Libérer de l'espace", - "freeUpSpaceSaving": "{count, plural, =1 {Il peut être supprimé de l'appareil pour libérer {formattedSize}} other {Ils peuvent être supprimés de l'appareil pour libérer {formattedSize}}}", + "freeUpSpaceSaving": "{count, plural, one {}=1 {Il peut être supprimé de l'appareil pour libérer {formattedSize}} other {Ils peuvent être supprimés de l'appareil pour libérer {formattedSize}}}", "filesBackedUpInAlbum": "{count, plural, one {1 fichier dans cet album a été sauvegardé en toute sécurité} other {{formattedNumber} fichiers dans cet album ont été sauvegardés en toute sécurité}}", "@filesBackedUpInAlbum": { "description": "Text to tell user how many files have been backed up in the album", @@ -933,7 +933,7 @@ "@freeUpSpaceSaving": { "description": "Text to tell user how much space they can free up by deleting items from the device" }, - "freeUpAccessPostDelete": "Vous pouvez toujours {count, plural, =1 {l'} other {les}} accéder sur Ente tant que vous avez un abonnement actif", + "freeUpAccessPostDelete": "Vous pouvez toujours {count, plural, one {}=1 {l'} other {les}} accéder sur Ente tant que vous avez un abonnement actif", "@freeUpAccessPostDelete": { "placeholders": { "count": { @@ -1269,8 +1269,8 @@ "description": "Subtitle to indicate that the user can find people quickly by name" }, "findPeopleByName": "Trouver des personnes rapidement par leur nom", - "addViewers": "{count, plural, =0 {Ajouter un spectateur} =1 {Ajouter une spectateur} other {Ajouter des spectateurs}}", - "addCollaborators": "{count, plural, =0 {Ajouter un collaborateur} =1 {Ajouter un collaborateur} other {Ajouter des collaborateurs}}", + "addViewers": "{count, plural, one {}=0 {Ajouter un spectateur} =1 {Ajouter une spectateur} other {Ajouter des spectateurs}}", + "addCollaborators": "{count, plural, one {}=0 {Ajouter un collaborateur} =1 {Ajouter un collaborateur} other {Ajouter des collaborateurs}}", "longPressAnEmailToVerifyEndToEndEncryption": "Appuyez longuement sur un email pour vérifier le chiffrement de bout en bout.", "developerSettingsWarning": "Êtes-vous sûr de vouloir modifier les paramètres du développeur ?", "developerSettings": "Paramètres du développeur", @@ -1309,7 +1309,6 @@ "faceRecognition": "Reconnaissance faciale", "foundFaces": "Visages trouvés", "clusteringProgress": "Progression du regroupement", - "indexingIsPaused": "L'indexation est en pause. Elle reprendra automatiquement lorsque l'appareil sera prêt.", "trim": "Recadrer", "crop": "Rogner", "rotate": "Pivoter", @@ -1404,7 +1403,7 @@ "enableMachineLearningBanner": "Activer l'apprentissage automatique pour la reconnaissance des visages et la recherche magique", "searchDiscoverEmptySection": "Les images seront affichées ici une fois le traitement terminé", "searchPersonsEmptySection": "Les personnes seront affichées ici une fois le traitement terminé", - "viewersSuccessfullyAdded": "{count, plural, =0 {0 spectateur ajouté} =1 {Un spectateur ajouté} other {{count} spectateurs ajoutés}}", + "viewersSuccessfullyAdded": "{count, plural, one {}=0 {0 spectateur ajouté} =1 {Un spectateur ajouté} other {{count} spectateurs ajoutés}}", "@viewersSuccessfullyAdded": { "placeholders": { "count": { @@ -1755,19 +1754,39 @@ "birthdayNotifications": "Notifications d’anniversaire", "receiveRemindersOnBirthdays": "Recevoir des rappels quand c'est l'anniversaire de quelqu'un. Appuyer sur la notification vous amènera à des photos de son anniversaire.", "happyBirthday": "Joyeux anniversaire ! 🥳", - "happyBirthdayToPerson": "Joyeux anniversaire {name}! 🎉", "birthdays": "Anniversaires", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉", - "cLTitle1": "Téléchargement de fichiers vidéo volumineux", - "cLDesc1": "Suite à la version bêta du streaming vidéo et au travail sur les téléchargements reprenables, nous avons maintenant augmenté la limite de téléchargement de fichiers à 10 Go. Ceci est maintenant disponible dans les applications desktop et mobiles.", - "cLTitle2": "Téléchargement en arrière-plan", - "cLDesc2": "Les téléchargements en arrière-plan sont maintenant pris en charge sur iOS également, en plus des appareils Android. Pas besoin d'ouvrir l'application pour sauvegarder vos dernières photos et vidéos.", + "wishThemAHappyBirthday": "Souhaitez à {name} un joyeux anniversaire ! 🎉", + "areYouSureRemoveThisFaceFromPerson": "Êtes-vous sûr de vouloir retirer ce visage de cette personne ?", + "otherDetectedFaces": "Autres visages détectés", + "areThey": "Vraiment", + "questionmark": "?", + "saveAsAnotherPerson": "Enregistrer comme une autre personne", + "showLessFaces": "Afficher moins de visages", + "showMoreFaces": "Afficher plus de visages", + "ignore": "Ignorer", + "merge": "Fusionner", + "reset": "Réinitialiser", + "areYouSureYouWantToIgnoreThisPerson": "Êtes-vous sûr de vouloir ignorer cette personne ?", + "areYouSureYouWantToIgnoreThesePersons": "Êtes-vous sûr de vouloir ignorer ces personnes ?", + "thePersonGroupsWillNotBeDisplayed": "Les groupes de personnes ne seront plus affichés dans la section personnes. Les photos resteront intactes.", + "thePersonWillNotBeDisplayed": "Les groupes de personnes ne seront plus affichés dans la section personnes. Les photos resteront intactes.", + "areYouSureYouWantToMergeThem": "Êtes-vous sûr de vouloir les fusionner?", + "allUnnamedGroupsWillBeMergedIntoTheSelectedPerson": "Tous les groupes sans nom seront fusionnés dans la personne sélectionnée. Cela peut toujours être annulé à partir de l'historique des suggestions de la personne.", + "yesIgnore": "Oui, ignorer", + "same": "Identique", + "different": "Différent(e)", + "sameperson": "Même personne ?", + "cLTitle1": "Envoi de gros fichiers vidéo", + "cLDesc1": "Derrière la version beta du streaming vidéo, tout en travaillant sur la reprise des chargements et téléchargements, nous avons maintenant augmenté la limite de téléchargement de fichiers à 10 Go. Ceci est maintenant disponible dans les applications bureau et mobiles.", + "cLTitle2": "Charger en arrière-plan", + "cLDesc2": "Les chargements en arrière-plan sont maintenant pris en charge sur iOS, en plus des appareils Android. Inutile d'ouvrir l'application pour sauvegarder vos dernières photos et vidéos.", "cLTitle3": "Lecture automatique des souvenirs", - "cLDesc3": "Nous avons apporté des améliorations significatives à notre expérience de souvenirs, y compris la lecture automatique, le balayage vers le souvenir suivant et bien plus encore.", - "cLTitle4": "Reconnaissance faciale améliorée", - "cLDesc4": "Avec un tas d'améliorations internes, il est maintenant beaucoup plus facile de voir tous les visages détectés, de donner des commentaires sur les visages similaires et d'ajouter/supprimer des visages d'une seule photo.", - "cLTitle5": "Notifications d'anniversaire", - "cLDesc5": "Vous recevrez maintenant une notification optionnelle pour tous les anniversaires que vous avez sauvegardés sur Ente, ainsi qu'une collection de leurs meilleures photos.", - "cLTitle6": "Téléchargements reprenables", - "cLDesc6": "Plus besoin d'attendre que les téléchargements se terminent avant de pouvoir fermer l'application. Tous les téléchargements ont maintenant la capacité d'être mis en pause à mi-chemin et de reprendre là où vous vous êtes arrêté." + "cLDesc3": "Nous avons apporté des améliorations significatives à l'expérience des souvenirs, comme la lecture automatique, la glisse vers le souvenir suivant et bien plus encore.", + "cLTitle4": "Amélioration de la reconnaissance faciale", + "cLDesc4": "Avec un tas d'améliorations sous le capot, il est maintenant beaucoup plus facile de voir tous les visages détectés, mettre des commentaires sur des visages similaires, et ajouter/supprimer des visages depuis une seule photo.", + "cLTitle5": "Notifications d’anniversaire", + "cLDesc5": "Vous recevrez maintenant une notification de désinscription pour tous les anniversaires que vous avez enregistrés sur Ente, ainsi qu'une collection de leurs meilleures photos.", + "cLTitle6": "Reprise des chargements et téléchargements", + "cLDesc6": "Plus besoin d'attendre la fin des chargements/téléchargements avant de pouvoir fermer l'application. Tous peuvent maintenant être mis en pause en cours de route et reprendre à partir de là où ça s'est arrêté.", + "indexingPausedStatusDescription": "L'indexation est en pause. Elle reprendra automatiquement lorsque l'appareil sera prêt. Celui-ci est considéré comme prêt lorsque le niveau de batterie, sa santé et son état thermique sont dans une plage saine." } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_gu.arb b/mobile/apps/photos/lib/l10n/intl_gu.arb index bfa658ba0d..c8494661c6 100644 --- a/mobile/apps/photos/lib/l10n/intl_gu.arb +++ b/mobile/apps/photos/lib/l10n/intl_gu.arb @@ -1,4 +1,3 @@ { - "@@locale ": "en", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉" + "@@locale ": "en" } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_he.arb b/mobile/apps/photos/lib/l10n/intl_he.arb index a87335344f..c4232070a8 100644 --- a/mobile/apps/photos/lib/l10n/intl_he.arb +++ b/mobile/apps/photos/lib/l10n/intl_he.arb @@ -389,8 +389,8 @@ "selectAll": "בחר הכל", "skip": "דלג", "updatingFolderSelection": "מעדכן את בחירת התיקיות...", - "itemCount": "{count, plural, one{{count} פריט} other{{count} פריטים}}", - "deleteItemCount": "{count, plural, =1 {מחק {count} פריט} other {מחק {count} פריטים}}", + "itemCount": "{count, plural, one{{count} פריט} two {{count} פריטים} many {{count} פריטים} other{{count} פריטים}}", + "deleteItemCount": "{count, plural, =1 {מחק {count} פריט} two {מחק {count} פריטים} other {מחק {count} פריטים}}", "duplicateItemsGroup": "{count} קבצים, כל אחד {formattedSize}", "@duplicateItemsGroup": { "description": "Display the number of duplicate files and their size", @@ -407,7 +407,7 @@ } }, "showMemories": "הצג זכרונות", - "yearsAgo": "{count, plural, one{לפני {count} שנה} other{לפני {count} שנים}}", + "yearsAgo": "{count, plural, one{לפני {count} שנה} two {לפני {count} שנים} many {לפני {count} שנים} other{לפני {count} שנים}}", "backupSettings": "הגדרות גיבוי", "backupOverMobileData": "גבה על רשת סלולרית", "backupVideos": "גבה סרטונים", @@ -791,6 +791,5 @@ "addPhotos": "הוסף תמונות", "create": "צור", "viewAll": "הצג הכל", - "hiding": "מחביא...", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉" + "hiding": "מחביא..." } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_hi.arb b/mobile/apps/photos/lib/l10n/intl_hi.arb index a139c7d33a..b79d9682f2 100644 --- a/mobile/apps/photos/lib/l10n/intl_hi.arb +++ b/mobile/apps/photos/lib/l10n/intl_hi.arb @@ -48,6 +48,5 @@ "sorry": "क्षमा करें!", "noRecoveryKeyNoDecryption": "हमारे एंड-टू-एंड एन्क्रिप्शन प्रोटोकॉल की प्रकृति के कारण, आपके डेटा को आपके पासवर्ड या रिकवरी कुंजी के बिना डिक्रिप्ट नहीं किया जा सकता है", "verifyEmail": "ईमेल सत्यापित करें", - "toResetVerifyEmail": "अपना पासवर्ड रीसेट करने के लिए, कृपया पहले अपना ईमेल सत्यापित करें।", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉" + "toResetVerifyEmail": "अपना पासवर्ड रीसेट करने के लिए, कृपया पहले अपना ईमेल सत्यापित करें।" } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_hu.arb b/mobile/apps/photos/lib/l10n/intl_hu.arb index 34473f1582..a43ca0da02 100644 --- a/mobile/apps/photos/lib/l10n/intl_hu.arb +++ b/mobile/apps/photos/lib/l10n/intl_hu.arb @@ -1,7 +1,10 @@ { "@@locale ": "en", "enterYourEmailAddress": "Adja meg az e-mail címét", + "enterYourNewEmailAddress": "Add meg az új email címed", "accountWelcomeBack": "Köszöntjük ismét!", + "emailAlreadyRegistered": "Az email cím már foglalt.", + "emailNotRegistered": "Nem regisztrált email cím.", "email": "E-mail", "cancel": "Mégse", "verify": "Hitelesítés", @@ -11,5 +14,532 @@ "askDeleteReason": "Miért törli a fiókját?", "deleteAccountFeedbackPrompt": "Sajnáljuk, hogy távozik. Kérjük, ossza meg velünk visszajelzéseit, hogy segítsen nekünk a fejlődésben.", "feedback": "Visszajelzés", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉" + "kindlyHelpUsWithThisInformation": "Legyen kedves segítsen, ezzel az információval", + "confirmDeletePrompt": "Igen, szeretném véglegesen törölni ezt a felhasználót, minden adattal, az összes platformon.", + "confirmAccountDeletion": "Felhasználó Törlés Megerősítés", + "deleteAccountPermanentlyButton": "Felhasználó Végleges Törlése", + "yourAccountHasBeenDeleted": "A felhasználód törlődött", + "selectReason": "Válasszon okot", + "deleteReason1": "Hiányoznak olyan funkciók, amikre szükségem lenne", + "deleteReason2": "Az applikáció vagy egy adott funkció nem úgy működik ahogy kellene", + "deleteReason3": "Találtam egy jobb szolgáltatót", + "deleteReason4": "Nincs a listán az ok", + "sendEmail": "Email küldése", + "deleteRequestSLAText": "A kérése 72 órán belül feldolgozásra kerül.", + "deleteEmailRequest": "Kérem küldjön egy emailt a regisztrált email címéről, erre az emailcímre: account-deletion@ente.io.", + "entePhotosPerm": "Az Entének engedélyre van szüksége , hogy tárolhassa fotóit", + "ok": "Rendben", + "createAccount": "Felhasználó létrehozás", + "createNewAccount": "Új felhasználó létrehozás", + "password": "Jelszó", + "confirmPassword": "Jelszó megerősítés", + "activeSessions": "Bejelentkezések", + "oops": "Hoppá", + "somethingWentWrongPleaseTryAgain": "Valami félre sikerült, próbálja újból", + "thisWillLogYouOutOfThisDevice": "Ezzel kijelentkezik az eszközről!", + "thisWillLogYouOutOfTheFollowingDevice": "Ezzel kijelentkezik az alábbi eszközről:", + "terminateSession": "Megszakítja bejelentkezést?", + "terminate": "Megszakít", + "thisDevice": "Ez az eszköz", + "recoverButton": "Visszaállít", + "recoverySuccessful": "Sikeres visszaállítás!", + "decrypting": "Dekódolás...", + "incorrectRecoveryKeyTitle": "Hibás visszaállítási kulcs", + "incorrectRecoveryKeyBody": "A megadott visszaállítási kulcs hibás", + "forgotPassword": "Elfelejtett jelszó", + "enterYourRecoveryKey": "Adja meg visszaállítási kulcsát", + "noRecoveryKey": "Nincs visszaállítási kulcsa?", + "sorry": "Sajnálom", + "noRecoveryKeyNoDecryption": "Az általunk használt végpontok közötti titkosítás miatt, az adatait nem lehet dekódolni a jelszava, vagy visszaállítási kulcsa nélkül", + "verifyEmail": "Emailcím megerősítés", + "toResetVerifyEmail": "A Jelszó visszaállításához, kérjük először erősítse meg emailcímét.", + "checkInboxAndSpamFolder": "Kérjük, ellenőrizze beérkező leveleit (és spam mappát) az ellenőrzés befejezéséhez", + "tapToEnterCode": "Koppintson a kód beírásához", + "resendEmail": "E-mail újraküldése", + "weHaveSendEmailTo": "E-mailt küldtünk a következő címre: {email}", + "@weHaveSendEmailTo": { + "description": "Text to indicate that we have sent a mail to the user", + "placeholders": { + "email": { + "description": "The email address of the user", + "type": "String", + "example": "example@ente.io" + } + } + }, + "setPasswordTitle": "Jelszó beállítás", + "changePasswordTitle": "Jelszó megváltoztatása", + "resetPasswordTitle": "Jelszó visszaállítása", + "encryptionKeys": "Titkosító kulcsok", + "passwordWarning": "Ezt a jelszót nem tároljuk, így ha elfelejti, nem tudjuk visszafejteni adatait", + "enterPasswordToEncrypt": "Adjon meg egy jelszót, amellyel titkosíthatjuk adatait", + "enterNewPasswordToEncrypt": "Adjon meg egy új jelszót, amellyel titkosíthatjuk adatait", + "weakStrength": "Gyenge", + "strongStrength": "Erős", + "moderateStrength": "Közepes", + "passwordStrength": "Jelszó erőssége: {passwordStrengthValue}", + "@passwordStrength": { + "description": "Text to indicate the password strength", + "placeholders": { + "passwordStrengthValue": { + "description": "The strength of the password as a string", + "type": "String", + "example": "Weak or Moderate or Strong" + } + }, + "message": "Password Strength: {passwordStrengthText}" + }, + "passwordChangedSuccessfully": "Jelszó módosítása sikeres!", + "generatingEncryptionKeys": "Titkosítási kulcs generálása...", + "pleaseWait": "Kérem várjon...", + "continueLabel": "Folytatás", + "insecureDevice": "Nem biztonságos eszköz", + "sorryWeCouldNotGenerateSecureKeysOnThisDevicennplease": "Sajnáljuk, nem tudtunk biztonságos kulcsokat generálni ezen az eszközön.\n\nkérjük, regisztráljon egy másik eszközről.", + "howItWorks": "Hogyan működik", + "encryption": "Titkosítás", + "ackPasswordLostWarning": "Tudomásul veszem, hogy ha elveszítem a jelszavamat, elveszíthetem az adataimat, mivel adataim végponttól végpontig titkosítva vannak.", + "privacyPolicyTitle": "Adatvédelmi irányelvek", + "termsOfServicesTitle": "Használati feltételek", + "signUpTerms": "Elfogadom az szolgáltatási feltételeket és az adatvédelmi irányelveket", + "logInLabel": "Bejelentkezés", + "loginTerms": "A bejelentkezés gombra kattintva elfogadom az szolgáltatási feltételeket és az adatvédelmi irányelveket", + "changeEmail": "E-mail cím módosítása", + "enterYourPassword": "Adja meg a jelszavát", + "welcomeBack": "Köszöntjük ismét!", + "contactSupport": "Lépj kapcsolatba az Ügyfélszolgálattal", + "incorrectPasswordTitle": "Érvénytelen jelszó", + "pleaseTryAgain": "Kérjük, próbálja meg újra", + "recreatePasswordTitle": "Új jelszó létrehozása", + "useRecoveryKey": "Helyreállítási kulcs használata", + "recreatePasswordBody": "A jelenlegi eszköz nem elég erős a jelszavának ellenőrzéséhez, de újra tudjuk úgy generálni, hogy az minden eszközzel működjön.\n\nKérjük, jelentkezzen be helyreállítási kulcsával, és állítsa be újra jelszavát (ha szeretné, újra használhatja ugyanazt).", + "verifyPassword": "Jelszó megerősítése", + "recoveryKey": "Visszaállítási kulcs", + "recoveryKeyOnForgotPassword": "Ha elfelejti jelszavát, csak ezzel a kulccsal tudja visszaállítani adatait.", + "recoveryKeySaveDescription": "Ezt a kulcsot nem tároljuk, kérjük, őrizze meg ezt a 24 szavas kulcsot egy biztonságos helyen.", + "doThisLater": "Később", + "saveKey": "Mentés", + "recoveryKeyCopiedToClipboard": "A helyreállítási kulcs a vágólapra másolva", + "recoverAccount": "Fiók visszaállítása", + "recover": "Visszaállít", + "dropSupportEmail": "Kérjük küldjön egy e-mailt a fiók regisztrálásakor megadott címről a következőre címre: {supportEmail}", + "@dropSupportEmail": { + "placeholders": { + "supportEmail": { + "description": "The support email address", + "type": "String", + "example": "support@ente.io" + } + } + }, + "twofactorSetup": "Kétlépcsős azonosító beállítás", + "enterCode": "Kód beírása", + "scanCode": "Kód beolvasása", + "codeCopiedToClipboard": "A kód a vágólapra másolva", + "copypasteThisCodentoYourAuthenticatorApp": "Kód Másolása-Beillesztése az ön autentikátor alkalmazásába", + "tapToCopy": "érintse meg másoláshoz", + "scanThisBarcodeWithnyourAuthenticatorApp": "Olvassa le ezt a QR kódot az autentikátor alkalmazásával", + "enterThe6digitCodeFromnyourAuthenticatorApp": "Írja be a 6 számjegyű kódot a hitelesítő alkalmazásból", + "confirm": "Megerősítés", + "setupComplete": "Beállítás kész", + "saveYourRecoveryKeyIfYouHaventAlready": "Mentse el visszaállítási kulcsát, ha még nem tette", + "thisCanBeUsedToRecoverYourAccountIfYou": "Ezzel tudja visszaállítani felhasználóját ha elveszítené a kétlépcsős azonosítóját", + "twofactorAuthenticationPageTitle": "Kétlépcsős hitelesítés (2FA)", + "lostDevice": "Elveszett a készüléked?", + "verifyingRecoveryKey": "Helyreállítási kulcs ellenőrzése...", + "recoveryKeyVerified": "A helyreállítási kulcs ellenőrizve", + "recoveryKeySuccessBody": "Nagyszerű! A helyreállítási kulcs érvényes. Köszönjük az igazolást.\n\nNe felejtsen el biztonsági másolatot készíteni helyreállítási kulcsáról.", + "invalidRecoveryKey": "A megadott helyreállítási kulcs érvénytelen. Kérjük, győződjön meg róla, hogy 24 szót tartalmaz, és ellenőrizze mindegyik helyesírását.\n\nHa régebbi helyreállítási kódot adott meg, győződjön meg arról, hogy az 64 karakter hosszú, és ellenőrizze mindegyiket.", + "invalidKey": "Érvénytelen kulcs", + "tryAgain": "Próbáld újra", + "viewRecoveryKey": "Helyreállítási kulcs megtekintése", + "confirmRecoveryKey": "Helyreállítási kulcs megerősítése", + "recoveryKeyVerifyReason": "A helyreállítási kulcs az egyetlen módja annak, hogy visszaállítsa fényképeit, ha elfelejti jelszavát. A helyreállítási kulcsot a Beállítások > Fiók menüpontban találhatja meg.\n\nKérjük, írja be ide helyreállítási kulcsát annak ellenőrzéséhez, hogy megfelelően mentette-e el.", + "confirmYourRecoveryKey": "Erősítse meg helyreállítási kulcsát", + "addViewer": "Megtekintésre jogosult hozzáadása", + "addCollaborator": "Együttműködő hozzáadása", + "addANewEmail": "Új email cím hozzáadása", + "orPickAnExistingOne": "Vagy válasszon egy létezőt", + "collaboratorsCanAddPhotosAndVideosToTheSharedAlbum": "Az együttműködők hozzá adhatnak fotókat és videókat a megosztott albumban.", + "enterEmail": "Email megadása", + "albumOwner": "Tulajdonos", + "@albumOwner": { + "description": "Role of the album owner" + }, + "you": "Te", + "collaborator": "Együttműködő", + "addMore": "További hozzáadása", + "@addMore": { + "description": "Button text to add more collaborators/viewers" + }, + "viewer": "Néző", + "remove": "Eltávolítás", + "removeParticipant": "Résztvevő eltávolítása", + "@removeParticipant": { + "description": "menuSectionTitle for removing a participant" + }, + "manage": "Kezelés", + "addedAs": "Hozzáadva mint", + "changePermissions": "Engedélyek módosítása?", + "yesConvertToViewer": "Igen, alakítsa nézővé", + "cannotAddMorePhotosAfterBecomingViewer": "{user} nem tud több fotót hozzáadni ehhez az albumhoz.\n\nTovábbra is el tudja távolítani az általa hozzáadott meglévő fotókat", + "allowAddingPhotos": "Fotók hozzáadásának engedélyezése", + "@allowAddingPhotos": { + "description": "Switch button to enable uploading photos to a public link" + }, + "allowAddPhotosDescription": "Engedélyezd a linkkel rendelkező személyeknek, hogy ők is hozzáadhassanak fotókat a megosztott albumhoz.", + "passwordLock": "Kóddal történő lezárás", + "canNotOpenTitle": "Album nem nyitható meg", + "canNotOpenBody": "Sajnálom, ez az album nem nyitható meg ebben az applikációban.", + "disableDownloadWarningTitle": "Kérjük, vedd figyelembe", + "disableDownloadWarningBody": "A nézők továbbra is készíthetnek képernyőképeket, vagy menthetnek másolatot a fotóidról külső eszközök segítségével", + "allowDownloads": "Letöltések engedélyezése", + "linkDeviceLimit": "Készülékkorlát", + "noDeviceLimit": "Egyik sem", + "@noDeviceLimit": { + "description": "Text to indicate that there is limit on number of devices" + }, + "linkExpiry": "Link lejárata", + "linkExpired": "Lejárt", + "linkEnabled": "Engedélyezett", + "linkNeverExpires": "Soha", + "expiredLinkInfo": "Ez a link lejárt. Kérjük, válasszon új lejárati időt, vagy tiltsa le a link lejáratát.", + "setAPassword": "Állítson be egy jelszót", + "lockButtonLabel": "Zárolás", + "enterPassword": "Adja meg a jelszót", + "removeLink": "Hivatkozás eltávolítása", + "manageLink": "Hivatkozás kezelése", + "linkExpiresOn": "Hivatkozás lejár {expiryTime} ", + "albumUpdated": "Album módosítva", + "never": "Soha", + "custom": "Egyéni", + "@custom": { + "description": "Label for setting custom value for link expiry" + }, + "after1Hour": "Egy óra múlva", + "after1Day": "Egy nap mólva", + "after1Week": "Egy hét múlva", + "after1Month": "Egy hónap múlva", + "after1Year": "Egy év múlva", + "manageParticipants": "Kezelés", + "albumParticipantsCount": "{count, plural, =0 {Nincsenek résztvevők} =1 {1 résztvevő} other {{count} résztvevők}}", + "@albumParticipantsCount": { + "placeholders": { + "count": { + "type": "int", + "example": "5" + } + }, + "description": "Number of participants in an album, including the album owner." + }, + "collabLinkSectionDescription": "Hozzon létre egy hivatkozást, amely lehetővé teszi az emberek számára, hogy fotókat adhassanak hozzá és tekintsenek meg megosztott albumában anélkül, hogy Ente alkalmazásra vagy fiókra lenne szükségük. Kiválóan alkalmas rendezvényfotók gyűjtésére.", + "collectPhotos": "Fotók gyűjtése", + "collaborativeLink": "Együttműködési hivatkozás", + "shareWithNonenteUsers": "Megosztás nem Ente felhasználókkal", + "createPublicLink": "Nyilvános hivatkozás létrehozása", + "sendLink": "Hivatkozás küldése", + "copyLink": "Hivatkozás másolása", + "linkHasExpired": "A hivatkozás érvényességi ideje lejárt", + "publicLinkEnabled": "Nyilvános hivatkozás engedélyezve", + "shareALink": "Hivatkozás megosztása", + "sharedAlbumSectionDescription": "Hozzon létre megosztott és együttműködő albumokat más Ente-felhasználókkal, beleértve az ingyenes csomagokat használó felhasználókat is.", + "shareWithPeopleSectionTitle": "{numberOfPeople, plural, =0 {Megosztás adott személyekkel} =1 {1 személlyel megosztva} other {{numberOfPeople} személlyel megosztva}}", + "@shareWithPeopleSectionTitle": { + "placeholders": { + "numberOfPeople": { + "type": "int", + "example": "2" + } + } + }, + "thisIsYourVerificationId": "Ez az ellenőrző azonosítód", + "someoneSharingAlbumsWithYouShouldSeeTheSameId": "Valaki, aki megoszt Önnel albumokat, ugyanazt az azonosítót fogja látni az eszközén.", + "howToViewShareeVerificationID": "Kérje meg őket, hogy hosszan nyomják meg az e-mail címüket a beállítások képernyőn, és ellenőrizzék, hogy a két eszköz azonosítója megegyezik-e.", + "thisIsPersonVerificationId": "Ez {email} ellenőrző azonosítója", + "@thisIsPersonVerificationId": { + "placeholders": { + "email": { + "type": "String", + "example": "someone@ente.io" + } + } + }, + "verificationId": "Ellenőrző azonosító", + "verifyEmailID": "{email cím} ellenőrzése", + "emailNoEnteAccount": "{email} címnek nincs Ente fiókja.\n\nKüldjön nekik meghívót fotók megosztására.", + "shareMyVerificationID": "Itt az ellenőrző azonosítóm: {verificationID} az ente.io-hoz.", + "shareTextConfirmOthersVerificationID": "Szia, meg tudnád erősíteni, hogy ez az ente.io ellenőrző azonosítód? {verificationID}", + "somethingWentWrong": "Valami hiba történt", + "sendInvite": "Meghívó küldése", + "shareTextRecommendUsingEnte": "Töltsd le az Ente-t, hogy könnyen megoszthassunk eredeti minőségű fotókat és videókat\n\nhttps://ente.io", + "done": "Kész", + "applyCodeTitle": "Kód alkalmazása", + "enterCodeDescription": "Add meg a barátod által megadott kódot, hogy mindkettőtöknek ingyenes tárhelyet igényelhess", + "apply": "Alkalmaz", + "failedToApplyCode": "Nem sikerült alkalmazni a kódot", + "enterReferralCode": "Adja meg az ajánló kódot", + "codeAppliedPageTitle": "Kód alkalmazva", + "changeYourReferralCode": "Módosítsa ajánló kódját", + "change": "Módosítás", + "unavailableReferralCode": "Sajnáljuk, ez a kód nem érhető el.", + "codeChangeLimitReached": "Sajnáljuk, elérted a kódmódosítások maximális számát.", + "onlyFamilyAdminCanChangeCode": "Kérjük, vegye fel a kapcsolatot a {familyAdminEmail} e-mail címmel a kód módosításához.", + "storageInGB": "{storageAmountInGB} GB", + "claimed": "Megszerezve!", + "@claimed": { + "description": "Used to indicate storage claimed, like 10GB Claimed" + }, + "details": "Részletek", + "claimMore": "Igényelj többet!", + "theyAlsoGetXGb": "Emellett {storageAmountInGB} GB-ot kapnak", + "freeStorageOnReferralSuccess": "{storageAmountInGB} GB minden alkalommal, amikor valaki fizetős csomagra fizet elő és felhasználja a kódodat", + "shareTextReferralCode": "Add meg a következő ajánlási kódot: {referralCode}\n\nAlkalmazd a Beállítások → Általános → Ajánlások menüpontban, hogy {referralStorageInGB} GB ingyenes tárhelyet kapj, miután regisztráltál egy fizetős csomagra\n\nhttps://ente.io", + "claimFreeStorage": "Igényeljen ingyenes tárhelyet", + "inviteYourFriends": "Hívd meg a barátaidat", + "failedToFetchReferralDetails": "Nem sikerült lekérni a hivatkozási adatokat. Kérjük, próbálja meg később.", + "referralStep1": "1. Add meg ezt a kódot a barátaidnak", + "referralStep2": "2. Fizetős csomagra fizetnek elő", + "referralStep3": "3. Mindketten {storageInGB} GB* ingyenes tárhelyet kaptok", + "referralsAreCurrentlyPaused": "Az ajánlások jelenleg szünetelnek", + "youCanAtMaxDoubleYourStorage": "* Maximum megduplázhatod a tárhelyed", + "claimedStorageSoFar": "{isFamilyMember, select, true {A családod eddig {storageAmountInGb} GB tárhelyet igényelt} false {Eddig {storageAmountInGb} GB tárhelyet igényelt} other {Eddig {storageAmountInGb} GB tárhelyet igényelt!}}", + "@claimedStorageSoFar": { + "placeholders": { + "isFamilyMember": { + "type": "String", + "example": "true" + }, + "storageAmountInGb": { + "type": "int", + "example": "10" + } + } + }, + "faq": "GY. I. K.", + "help": "Segítség", + "oopsSomethingWentWrong": "Hoppá, valami hiba történt", + "peopleUsingYourCode": "Az emberek, akik a kódodat használják", + "eligible": "jogosult", + "total": "összesen", + "codeUsedByYou": "Ön által használt kód", + "freeStorageClaimed": "Ingyenes tárhely igénylése", + "freeStorageUsable": "Ingyenesen használható tárhely", + "usableReferralStorageInfo": "A felhasználható tárhelyet a jelenlegi előfizetése korlátozza. A feleslegesen igényelt tárhely automatikusan felhasználhatóvá válik, amikor frissítesz a csomagodra.", + "removeFromAlbumTitle": "Eltávolítás az albumból?", + "removeFromAlbum": "Eltávolítás az albumból", + "itemsWillBeRemovedFromAlbum": "A kiválasztott elemek eltávolításra kerülnek ebből az albumból.", + "removeShareItemsWarning": "Néhány eltávolítandó elemet mások adtak hozzá, és elveszíted a hozzáférésedet hozzájuk.", + "addingToFavorites": "Hozzáadás a kedvencekhez...", + "removingFromFavorites": "Eltávolítás a kedvencek közül...", + "sorryCouldNotAddToFavorites": "Sajnálom, nem sikerült hozzáadni a kedvencekhez!", + "sorryCouldNotRemoveFromFavorites": "Sajnálom, nem sikerült eltávolítani a kedvencek közül!", + "subscribeToEnableSharing": "A megosztás engedélyezéséhez aktív fizetős előfizetésre van szükség.", + "subscribe": "Előfizetés", + "canOnlyRemoveFilesOwnedByYou": "Csak a saját tulajdonú fájlokat távolíthatja el", + "deleteSharedAlbum": "Törli a megosztott albumot?", + "deleteAlbum": "Album törlése", + "deleteAlbumDialog": "Törli az ebben az albumban található fotókat (és videókat) az összes többi albumból is, amelynek részét képezik?", + "deleteSharedAlbumDialogBody": "Az album mindenki számára törlődik.\n\nElveszíti a hozzáférést az albumban található, mások tulajdonában lévő megosztott fotókhoz.", + "yesRemove": "Igen, eltávolítás", + "creatingLink": "Link létrehozása...", + "removeWithQuestionMark": "Eltávolítás?", + "removeParticipantBody": "{userEmail} felhasználó el lesz távolítva ebből a megosztott albumból\n\nAz általa hozzáadott összes fotó is eltávolításra kerül az albumból.", + "keepPhotos": "Fotók megőrzése", + "deletePhotos": "Fotók törlése", + "inviteToEnte": "Meghívás az Ente-re", + "removePublicLink": "Nyilvános hivatkozás eltávolítása", + "disableLinkMessage": "Ez eltávolítja a(z) „{albumName}” eléréséhez szükséges nyilvános linket.", + "sharing": "Megosztás...", + "youCannotShareWithYourself": "Nem oszthatod meg magaddal", + "archive": "Archívum", + "createAlbumActionHint": "Hosszan nyomva tartva kiválaszthatod a fotókat, majd a + jelre kattintva albumot hozhatsz létre", + "importing": "Importálás...", + "failedToLoadAlbums": "Nem sikerült betölteni az albumokat", + "hidden": "Rejtett", + "authToViewYourHiddenFiles": "Kérjük, hitelesítse magát a rejtett fájlok megtekintéséhez", + "authToViewTrashedFiles": "Kérjük, hitelesítse magát a kukába helyezett fájlok megtekintéséhez", + "trash": "Kuka", + "uncategorized": "Kategorizálatlan", + "videoSmallCase": "videó", + "photoSmallCase": "fénykép", + "singleFileDeleteHighlight": "Az összes albumból törlésre kerül.", + "singleFileInBothLocalAndRemote": "Ez a {file Type} fájltípus megtalálható mind az Enterben, mind az eszközödön.", + "singleFileInRemoteOnly": "Ez a {fileType} fájl törlődik az Ente-ből.", + "singleFileDeleteFromDevice": "Ez a {fileType} fájl törlődni fog az eszközéről.", + "deleteFromEnte": "Törlés az Ente-ből", + "yesDelete": "Igen, törlés", + "movedToTrash": "Áthelyezve a kukába", + "deleteFromDevice": "Törlés az eszközről", + "deleteFromBoth": "Törlés mindkettőből", + "newAlbum": "Új album", + "albums": "Album", + "memoryCount": "{count, plural, =0{nincsenek emlékek} one{{formattedCount} emlék} other{{formattedCount} emlékek}}", + "@memoryCount": { + "description": "The text to display the number of memories", + "type": "text", + "placeholders": { + "count": { + "example": "1", + "type": "int" + }, + "formattedCount": { + "type": "String", + "example": "11.513, 11,511" + } + } + }, + "selectedPhotos": "{count} kiválasztott", + "@selectedPhotos": { + "description": "Display the number of selected photos", + "type": "text", + "placeholders": { + "count": { + "example": "5", + "type": "int" + } + } + }, + "selectedPhotosWithYours": "{count} kiválasztott ({yourCount} a tiéd)", + "@selectedPhotosWithYours": { + "description": "Display the number of selected photos, including the number of selected photos owned by the user", + "type": "text", + "placeholders": { + "count": { + "example": "12", + "type": "int" + }, + "yourCount": { + "example": "2", + "type": "int" + } + } + }, + "advancedSettings": "Haladó", + "@advancedSettings": { + "description": "The text to display in the advanced settings section" + }, + "photoGridSize": "Rács méret beállátás", + "manageDeviceStorage": "Eszköz gyorsítótárának kezelése", + "manageDeviceStorageDesc": "Tekintse át és törölje a helyi gyorsítótárat.", + "machineLearning": "Gépi tanulás", + "mlConsent": "Gépi tanulás engedélyezése", + "mlConsentTitle": "Engedélyezi a gépi tanulást?", + "mlConsentDescription": "Ha engedélyezi a gépi tanulást, az Ente olyan információkat fog kinyerni, mint az arc geometriája, a fájlokból, beleértve azokat is, amelyeket Önnel megosztott.\n\nEz az Ön eszközén fog megtörténni, és minden generált biometrikus információ végponttól végpontig titkosítva lesz.", + "mlConsentPrivacy": "Kérjük, kattintson ide az adatvédelmi irányelveinkben található további részletekért erről a funkcióról.", + "mlConsentConfirmation": "Értem, és szeretném engedélyezni a gépi tanulást", + "magicSearch": "Varázslatos keresés", + "discover": "Felfedezés", + "@discover": { + "description": "The text to display for the discover section under which we show receipts, screenshots, sunsets, greenery, etc." + }, + "discover_identity": "Személyazonosság", + "discover_screenshots": "Képernyőképek", + "discover_receipts": "Nyugták", + "discover_notes": "Jegyzetek", + "discover_memes": "Mémek", + "discover_visiting_cards": "Névjegykártyák", + "discover_babies": "Babák", + "discover_pets": "Kisállatok", + "discover_selfies": "Szelfik", + "discover_wallpapers": "Háttérképek", + "discover_food": "Étel", + "discover_celebrations": "Ünnepségek", + "discover_sunset": "Napnyugta", + "discover_hills": "Dombok", + "discover_greenery": "Lomb", + "mlIndexingDescription": "Kérjük, vegye figyelembe, hogy a gépi tanulás nagyobb sávszélességet és akkumulátorhasználatot eredményez, amíg az összes elem indexelése meg nem történik. A gyorsabb indexelés érdekében érdemes lehet asztali alkalmazást használni, mivel minden eredmény automatikusan szinkronizálódik.", + "loadingModel": "Modellek letöltése...", + "waitingForWifi": "Várakozás a WiFi-re...", + "status": "Állapot", + "indexedItems": "Indexelt elemek", + "pendingItems": "függőben lévő elemek", + "clearIndexes": "Indexek törlése", + "selectFoldersForBackup": "Mappák kiválasztása biztonsági mentéshez", + "selectedFoldersWillBeEncryptedAndBackedUp": "A kiválasztott mappák titkosítva lesznek, és biztonsági másolat készül róluk.", + "unselectAll": "Összes kijelölés törlése", + "selectAll": "Összes kijelölése", + "skip": "Kihagyás", + "updatingFolderSelection": "Mappakijelölés frissítése...", + "itemCount": "{count, plural, one{{count} elem} other{{count} elem}}", + "deleteItemCount": "{count, plural, =1 {Elem {count} törlése} other {Elemek {count} törlése}}", + "duplicateItemsGroup": "{count} fájl, {formattedSize} mindegyik", + "@duplicateItemsGroup": { + "description": "Display the number of duplicate files and their size", + "type": "text", + "placeholders": { + "count": { + "example": "12", + "type": "int" + }, + "formattedSize": { + "example": "2.3 MB", + "type": "String" + } + } + }, + "showMemories": "Emlékek megjelenítése", + "yearsAgo": "{count, plural, one{{count} évvel ezelőtt} other{{count} évekkel ezelőtt}}", + "backupSettings": "Biztonsági mentés beállításai", + "backupStatus": "Biztonsági mentés állapota", + "backupStatusDescription": "Azok az elemek jelennek meg itt, amelyekről biztonsági másolat készült", + "backupOverMobileData": "Biztonsági mentés mobil adatkapcsolaton keresztül", + "backupVideos": "Tartalék videók", + "disableAutoLock": "Automatikus zár letiltása", + "deviceLockExplanation": "Disable the device screen lock when Ente is in the foreground and there is a backup in progress. This is normally not needed, but may help big uploads and initial imports of large libraries complete faster.", + "about": "Rólunk", + "weAreOpenSource": "Nyílt forráskódúak vagyunk!", + "privacy": "Adatvédelem", + "terms": "Feltételek", + "checkForUpdates": "Frissítések ellenőrzése", + "checkStatus": "Állapot ellenőrzése", + "checking": "Ellenőrzés...", + "youAreOnTheLatestVersion": "Ön a legújabb verziót használja", + "account": "Fiók", + "manageSubscription": "Előfizetés kezelése", + "authToChangeYourEmail": "Kérjük, hitelesítse magát az e-mail címének módosításához", + "changePassword": "Jelszó megváltoztatása", + "authToChangeYourPassword": "Kérjük, hitelesítse magát a jelszó módosításához", + "emailVerificationToggle": "E-mail cím ellenőrzése", + "authToChangeEmailVerificationSetting": "Kérjük, hitelesítse magát az e-mail-cím ellenőrzésének módosításához", + "exportYourData": "Adatok exportálása", + "logout": "Kijelentkezés", + "authToInitiateAccountDeletion": "Kérjük, hitelesítse magát a fiók törlésének megkezdéséhez", + "areYouSureYouWantToLogout": "Biztos benne, hogy kijelentkezik?", + "yesLogout": "Igen, kijelentkezés", + "aNewVersionOfEnteIsAvailable": "Megjelent az Ente új verziója.", + "update": "Frissítés", + "installManually": "Manuális telepítés", + "criticalUpdateAvailable": "Kritikus frissítés elérhető", + "updateAvailable": "Elérhető frissítés", + "ignoreUpdate": "Figyelem kívül hagyás", + "downloading": "Letöltés...", + "cannotDeleteSharedFiles": "Nem lehet törölni a megosztott fájlokat", + "theDownloadCouldNotBeCompleted": "A letöltés nem fejezhető be", + "retry": "Újrapróbálkozás", + "backedUpFolders": "Biztonsági másolatban lévő mappák", + "backup": "Biztonsági mentés", + "freeUpDeviceSpace": "Szabadítson fel tárhelyet", + "freeUpDeviceSpaceDesc": "Takarítson meg helyet az eszközén a már mentett fájlok törlésével.", + "allClear": "✨ Minden tiszta", + "noDeviceThatCanBeDeleted": "Nincsenek törölhető fájlok ezen az eszközön.", + "removeDuplicates": "Távolítsa el a duplikációkat", + "removeDuplicatesDesc": "Tekintse át és távolítsa el a pontos másolatokat tartalmazó fájlokat.", + "viewLargeFiles": "Nagy fájlok", + "viewLargeFilesDesc": "Tekintse meg a legtöbb tárhelyet foglaló fájlokat.", + "noDuplicates": "✨ Nincsenek duplikátumok", + "youveNoDuplicateFilesThatCanBeCleared": "Nincsenek törölhető duplikált fájljaid", + "success": "Sikeres", + "rateUs": "Értékeljen minket", + "remindToEmptyDeviceTrash": "A felszabadult hely igényléséhez ürítsd ki a „Nemrég törölt” részt a „Beállítások” -> „Tárhely” menüpontban.", + "youHaveSuccessfullyFreedUp": "Sikeresen felszabadítottál {storageSaved} tárhelyet!", + "@youHaveSuccessfullyFreedUp": { + "description": "The text to display when the user has successfully freed up storage", + "type": "text", + "placeholders": { + "storageSaved": { + "example": "1.2 GB", + "type": "String" + } + } + }, + "remindToEmptyEnteTrash": "Ürítsd ki a \"Kukát\" is, hogy visszaszerezd a felszabadult helyet." } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_id.arb b/mobile/apps/photos/lib/l10n/intl_id.arb index 901c3225b1..fa400f9e02 100644 --- a/mobile/apps/photos/lib/l10n/intl_id.arb +++ b/mobile/apps/photos/lib/l10n/intl_id.arb @@ -1105,12 +1105,10 @@ "pairWithPin": "Tautkan dengan PIN", "faceRecognition": "Pengenalan wajah", "foundFaces": "Wajah yang ditemukan", - "indexingIsPaused": "Proses indeks dijeda, dan akan otomatis dilanjutkan saat perangkat siap.", "trim": "Pangkas", "crop": "Potong", "rotate": "Putar", "left": "Kiri", "right": "Kanan", - "whatsNew": "Hal yang baru", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉" + "whatsNew": "Hal yang baru" } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_it.arb b/mobile/apps/photos/lib/l10n/intl_it.arb index 5665592fdb..771094c3d8 100644 --- a/mobile/apps/photos/lib/l10n/intl_it.arb +++ b/mobile/apps/photos/lib/l10n/intl_it.arb @@ -794,11 +794,11 @@ "share": "Condividi", "unhideToAlbum": "Non nascondere l'album", "restoreToAlbum": "Ripristina l'album", - "moveItem": "{count, plural, =1 {Sposta elemento} other {Sposta elementi}}", + "moveItem": "{count, plural, one {}=1 {Sposta elemento} other {Sposta elementi}}", "@moveItem": { "description": "Page title while moving one or more items to an album" }, - "addItem": "{count, plural, =1 {Aggiungi elemento} other {Aggiungi elementi}}", + "addItem": "{count, plural, one {}=1 {Aggiungi elemento} other {Aggiungi elementi}}", "@addItem": { "description": "Page title while adding one or more items to album" }, @@ -899,7 +899,7 @@ "authToViewYourMemories": "Autenticati per visualizzare le tue foto", "unlock": "Sblocca", "freeUpSpace": "Libera spazio", - "freeUpSpaceSaving": "{count, plural, =1 {Può essere cancellato per liberare {formattedSize}} other {Possono essere cancellati per liberare {formattedSize}}}", + "freeUpSpaceSaving": "{count, plural, one {}=1 {Può essere cancellato per liberare {formattedSize}} other {Possono essere cancellati per liberare {formattedSize}}}", "filesBackedUpInAlbum": "{count, plural, one {1 file} other {{formattedNumber} file}} di quest'album sono stati salvati in modo sicuro", "@filesBackedUpInAlbum": { "description": "Text to tell user how many files have been backed up in the album", @@ -1260,8 +1260,8 @@ "description": "Subtitle to indicate that the user can find people quickly by name" }, "findPeopleByName": "Trova rapidamente le persone per nome", - "addViewers": "{count, plural, =0 {Aggiungi visualizzatore} =1 {Add viewer} other {Aggiungi visualizzatori}}", - "addCollaborators": "{count, plural, =0 {Aggiungi collaboratore} =1 {Aggiungi collaboratore} other {Aggiungi collaboratori}}", + "addViewers": "{count, plural, one {}=0 {Aggiungi visualizzatore} =1 {Add viewer} other {Aggiungi visualizzatori}}", + "addCollaborators": "{count, plural, one {}=0 {Aggiungi collaboratore} =1 {Aggiungi collaboratore} other {Aggiungi collaboratori}}", "longPressAnEmailToVerifyEndToEndEncryption": "Premi a lungo un'email per verificare la crittografia end to end.", "developerSettingsWarning": "Sei sicuro di voler modificare le Impostazioni sviluppatore?", "developerSettings": "Impostazioni sviluppatore", @@ -1300,7 +1300,6 @@ "faceRecognition": "Riconoscimento facciale", "foundFaces": "Volti trovati", "clusteringProgress": "Progresso del raggruppamento", - "indexingIsPaused": "L'indicizzazione è in pausa. Riprenderà automaticamente quando il dispositivo è pronto.", "trim": "Taglia", "crop": "Ritaglia", "rotate": "Ruota", @@ -1395,7 +1394,7 @@ "enableMachineLearningBanner": "Abilita l'apprendimento automatico per la ricerca magica e il riconoscimento facciale", "searchDiscoverEmptySection": "Le immagini saranno mostrate qui una volta che l'elaborazione e la sincronizzazione saranno completate", "searchPersonsEmptySection": "Le persone saranno mostrate qui una volta che l'elaborazione e la sincronizzazione saranno completate", - "viewersSuccessfullyAdded": "{count, plural, =0 {Added 0 visualizzatori} =1 {Added 1 visualizzatore} other {Added {count} visualizzatori}}", + "viewersSuccessfullyAdded": "{count, plural, one {}=0 {Added 0 visualizzatori} =1 {Added 1 visualizzatore} other {Added {count} visualizzatori}}", "@viewersSuccessfullyAdded": { "placeholders": { "count": { @@ -1480,7 +1479,7 @@ }, "currentlyRunning": "attualmente in esecuzione", "ignored": "ignorato", - "photosCount": "{count, plural, =0 {0 foto} =1 {1 foto} other {{count} foto}}", + "photosCount": "{count, plural, one {}=0 {0 foto} =1 {1 foto} other {{count} foto}}", "@photosCount": { "placeholders": { "count": { @@ -1678,7 +1677,7 @@ "moveSelectedPhotosToOneDate": "Sposta foto selezionate in una data specifica", "shiftDatesAndTime": "Sposta date e orari", "photosKeepRelativeTimeDifference": "Le foto mantengono una differenza di tempo relativa", - "photocountPhotos": "{count, plural, =0 {Nessuna foto} =1 {1 foto} other {{count} foto}}", + "photocountPhotos": "{count, plural, one {}=0 {Nessuna foto} =1 {1 foto} other {{count} foto}}", "@photocountPhotos": { "placeholders": { "count": { @@ -1692,7 +1691,7 @@ "selectedItemsWillBeRemovedFromThisPerson": "Gli elementi selezionati verranno rimossi da questa persona, ma non eliminati dalla tua libreria.", "throughTheYears": "{dateFormat} negli anni", "thisWeekThroughTheYears": "Questa settimana negli anni", - "thisWeekXYearsAgo": "{count, plural, =1 {Questa settimana, {count} anno fa} other {Questa settimana, {count} anni fa}}", + "thisWeekXYearsAgo": "{count, plural, one {}=1 {Questa settimana, {count} anno fa} other {Questa settimana, {count} anni fa}}", "youAndThem": "Tu e {name}", "admiringThem": "Ammirando {name}", "embracingThem": "Abbracciando {name}", @@ -1746,19 +1745,5 @@ "birthdayNotifications": "Notifiche dei compleanni", "receiveRemindersOnBirthdays": "Ricevi promemoria quando è il compleanno di qualcuno. Toccare la notifica ti porterà alle foto della persona che compie gli anni.", "happyBirthday": "Buon compleanno! 🥳", - "happyBirthdayToPerson": "Buon compleanno a {name}! 🎉", - "birthdays": "Compleanni", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉", - "cLTitle1": "Caricamento di file video di grandi dimensioni", - "cLDesc1": "Dopo la versione beta dello streaming video e il lavoro sui caricamenti e download ripresi, abbiamo ora aumentato il limite di caricamento file a 10GB. Questo è ora disponibile sia nelle app desktop che mobili.", - "cLTitle2": "Caricamento in background", - "cLDesc2": "I caricamenti in background sono ora supportati anche su iOS, oltre ai dispositivi Android. Non è necessario aprire l'app per eseguire il backup delle tue foto e video più recenti.", - "cLTitle3": "Riproduzione automatica dei ricordi", - "cLDesc3": "Abbiamo apportato miglioramenti significativi alla nostra esperienza dei ricordi, inclusa la riproduzione automatica, scorrimento al ricordo successivo e molto altro.", - "cLTitle4": "Riconoscimento facciale migliorato", - "cLDesc4": "Insieme a un sacco di miglioramenti interni, ora è molto più facile vedere tutti i volti rilevati, fornire feedback sui volti simili e aggiungere/rimuovere volti da una singola foto.", - "cLTitle5": "Notifiche di compleanno", - "cLDesc5": "Ora riceverai una notifica opzionale per tutti i compleanni che hai salvato su Ente, insieme a una raccolta delle loro migliori foto.", - "cLTitle6": "Caricamenti e download ripresi", - "cLDesc6": "Non più attese per il completamento di caricamenti/download prima di poter chiudere l'app. Tutti i caricamenti e download ora hanno la capacità di essere messi in pausa a metà e ripresi da dove hai lasciato." + "birthdays": "Compleanni" } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_ja.arb b/mobile/apps/photos/lib/l10n/intl_ja.arb index 4652fe9ba2..5c7ae58646 100644 --- a/mobile/apps/photos/lib/l10n/intl_ja.arb +++ b/mobile/apps/photos/lib/l10n/intl_ja.arb @@ -461,7 +461,7 @@ } }, "showMemories": "思い出を表示", - "yearsAgo": "{count, plural, other{{count} 年前}}", + "yearsAgo": "{count, plural, one{{count} 年前} other{{count} 年前}}", "backupSettings": "バックアップ設定", "backupStatus": "バックアップの状態", "backupStatusDescription": "バックアップされたアイテムがここに表示されます", @@ -527,7 +527,7 @@ }, "remindToEmptyEnteTrash": "「ゴミ箱」も空にするとアカウントのストレージが解放されます", "sparkleSuccess": "成功✨", - "duplicateFileCountWithStorageSaved": "お掃除しました {count, plural, other{{count} 個の重複ファイル}}, ({storageSaved}が開放されます!)", + "duplicateFileCountWithStorageSaved": "お掃除しました {count, plural, one{{count} 個の重複ファイル} other{{count} 個の重複ファイル}}, ({storageSaved}が開放されます!)", "@duplicateFileCountWithStorageSaved": { "description": "The text to display when the user has successfully cleaned up duplicate files", "type": "text", @@ -1178,7 +1178,7 @@ "searchHint4": "場所", "searchHint5": "近日公開: フェイスとマジック検索 ✨", "addYourPhotosNow": "写真を今すぐ追加する", - "searchResultCount": "{count, plural, other{{count} 個の結果}}", + "searchResultCount": "{count, plural, one{{count} 個の結果} other{{count} 個の結果}}", "@searchResultCount": { "description": "Text to tell user how many results were found for their search query", "placeholders": { @@ -1266,7 +1266,6 @@ "faceRecognition": "顔認識", "foundFaces": "見つかった顔", "clusteringProgress": "クラスタリングの進行状況", - "indexingIsPaused": "インデックス作成は一時停止されています。デバイスの準備ができたら自動的に再開します。", "trim": "トリミング", "crop": "クロップ", "rotate": "回転", @@ -1666,18 +1665,5 @@ "moon": "月明かりの中", "onTheRoad": "再び道で", "food": "料理を楽しむ", - "pets": "毛むくじゃらな仲間たち", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉", - "cLTitle1": "大きな動画ファイルのアップロード", - "cLDesc1": "動画ストリーミングベータ版と再開可能なアップロード・ダウンロードの作業により、ファイルアップロード制限を10GBに増加しました。これはデスクトップとモバイルアプリの両方で利用可能です。", - "cLTitle2": "バックグラウンドアップロード", - "cLDesc2": "バックグラウンドアップロードがAndroidデバイスに加えてiOSでもサポートされるようになりました。最新の写真や動画をバックアップするためにアプリを開く必要がありません。", - "cLTitle3": "メモリーの自動再生", - "cLDesc3": "自動再生、次のメモリーへのスワイプなど、メモリー体験に大幅な改善を加えました。", - "cLTitle4": "顔認識の改善", - "cLDesc4": "多くの内部改善とともに、検出されたすべての顔を確認し、類似した顔にフィードバックを提供し、1枚の写真から顔を追加/削除することがはるかに簡単になりました。", - "cLTitle5": "誕生日通知", - "cLDesc5": "Enteに保存したすべての誕生日について、その人のベスト写真のコレクションとともに、オプトアウト通知を受け取るようになります。", - "cLTitle6": "再開可能なアップロードとダウンロード", - "cLDesc6": "アプリを閉じる前にアップロード/ダウンロードの完了を待つ必要がなくなりました。すべてのアップロードとダウンロードは途中で一時停止し、中断したところから再開できるようになりました。" + "pets": "毛むくじゃらな仲間たち" } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_km.arb b/mobile/apps/photos/lib/l10n/intl_km.arb index bfa658ba0d..c8494661c6 100644 --- a/mobile/apps/photos/lib/l10n/intl_km.arb +++ b/mobile/apps/photos/lib/l10n/intl_km.arb @@ -1,4 +1,3 @@ { - "@@locale ": "en", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉" + "@@locale ": "en" } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_ko.arb b/mobile/apps/photos/lib/l10n/intl_ko.arb index 8967926b59..06c81195f7 100644 --- a/mobile/apps/photos/lib/l10n/intl_ko.arb +++ b/mobile/apps/photos/lib/l10n/intl_ko.arb @@ -12,6 +12,5 @@ "feedback": "피드백", "confirmAccountDeletion": "계정 삭제 확인", "deleteAccountPermanentlyButton": "계정을 영구적으로 삭제", - "yourAccountHasBeenDeleted": "계정이 삭제되었습니다.", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉" + "yourAccountHasBeenDeleted": "계정이 삭제되었습니다." } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_ku.arb b/mobile/apps/photos/lib/l10n/intl_ku.arb index bfa658ba0d..c8494661c6 100644 --- a/mobile/apps/photos/lib/l10n/intl_ku.arb +++ b/mobile/apps/photos/lib/l10n/intl_ku.arb @@ -1,4 +1,3 @@ { - "@@locale ": "en", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉" + "@@locale ": "en" } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_lt.arb b/mobile/apps/photos/lib/l10n/intl_lt.arb index 24395032ba..704c8bc261 100644 --- a/mobile/apps/photos/lib/l10n/intl_lt.arb +++ b/mobile/apps/photos/lib/l10n/intl_lt.arb @@ -900,7 +900,7 @@ "unlock": "Atrakinti", "freeUpSpace": "Atlaisvinti vietos", "freeUpSpaceSaving": "{count, plural, =1 {Jį galima ištrinti iš įrenginio, kad atlaisvintų {formattedSize}} other {Jų galima ištrinti iš įrenginio, kad atlaisvintų {formattedSize}}}", - "filesBackedUpInAlbum": "{count, plural, one {{formattedNumber} failas šiame albume saugiai sukurta atsarginė kopija} other {{formattedNumber} failų šiame albume saugiai sukurta atsarginė kopija}}.", + "filesBackedUpInAlbum": "{count, plural, one {{formattedNumber} failas šiame albume saugiai sukurta atsarginė kopija} few {{formattedNumber} failai šiame albume saugiai sukurtos atsarginės kopijos} many {{formattedNumber} failo šiame albume saugiai sukurtos atsargines kopijos} other {{formattedNumber} failų šiame albume saugiai sukurta atsarginė kopija}}.", "@filesBackedUpInAlbum": { "description": "Text to tell user how many files have been backed up in the album", "placeholders": { @@ -915,7 +915,7 @@ } } }, - "filesBackedUpFromDevice": "{count, plural, one {{formattedNumber} failas šiame įrenginyje saugiai sukurta atsarginė kopija} other {{formattedNumber} failų šiame įrenginyje saugiai sukurta atsarginių kopijų}}.", + "filesBackedUpFromDevice": "{count, plural, one {{formattedNumber} failas šiame įrenginyje saugiai sukurta atsarginė kopija} few {{formattedNumber} failai šiame įrenginyje saugiai sukurtos atsarginės kopijos} many {{formattedNumber} failo šiame įrenginyje saugiai sukurtos atsargines kopijos} other {{formattedNumber} failų šiame įrenginyje saugiai sukurta atsarginių kopijų}}.", "@filesBackedUpFromDevice": { "description": "Text to tell user how many files have been backed up from this device", "placeholders": { @@ -1309,7 +1309,6 @@ "faceRecognition": "Veido atpažinimas", "foundFaces": "Rasti veidai", "clusteringProgress": "Sankaupos vykdymas", - "indexingIsPaused": "Indeksavimas pristabdytas. Jis bus automatiškai tęsiamas, kai įrenginys yra paruoštas.", "trim": "Trumpinti", "crop": "Apkirpti", "rotate": "Sukti", @@ -1404,7 +1403,7 @@ "enableMachineLearningBanner": "Įjunkite mašininį mokymąsi magiškai paieškai ir veidų atpažinimui", "searchDiscoverEmptySection": "Vaizdai bus rodomi čia, kai bus užbaigtas apdorojimas ir sinchronizavimas.", "searchPersonsEmptySection": "Asmenys bus rodomi čia, kai bus užbaigtas apdorojimas ir sinchronizavimas.", - "viewersSuccessfullyAdded": "{count, plural, =0 {Įtraukta 0 žiūrėtojų} =1 {Įtrauktas 1 žiūrėtojas} other {Įtraukta {count} žiūrėtojų}}", + "viewersSuccessfullyAdded": "{count, plural, one {Įtrauktas {count} žiūrėtojas} few {Įtraukti {count} žiūrėtojai} many {Įtraukta {count} žiūrėtojo} =0 {Įtraukta 0 žiūrėtojų} =1 {Įtrauktas 1 žiūrėtojas} other {Įtraukta {count} žiūrėtojų}}", "@viewersSuccessfullyAdded": { "placeholders": { "count": { @@ -1489,7 +1488,7 @@ }, "currentlyRunning": "šiuo metu vykdoma", "ignored": "ignoruota", - "photosCount": "{count, plural, =0 {0 nuotraukų} =1 {1 nuotrauka} other {{count} nuotraukų}}", + "photosCount": "{count, plural, one {{count} nuotrauka} few {{count} nuotraukos} many {{count} nuotraukos} =0 {0 nuotraukų} =1 {1 nuotrauka} other {{count} nuotraukų}}", "@photosCount": { "placeholders": { "count": { @@ -1752,5 +1751,9 @@ "addMemoriesWidgetPrompt": "Pridėkite prisiminimų valdiklį prie savo pradžios ekrano ir grįžkite čia, kad tinkintumėte.", "addAlbumWidgetPrompt": "Pridėkite albumo valdiklį prie savo pradžios ekrano ir grįžkite čia, kad tinkintumėte.", "addPeopleWidgetPrompt": "Pridėkite asmenų valdiklį prie savo pradžios ekrano ir grįžkite čia, kad tinkintumėte.", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉" + "birthdayNotifications": "Gimtadienio pranešimai", + "receiveRemindersOnBirthdays": "Gaukite priminimus, kai yra kažkieno gimtadienis. Paliesdami pranešimą, pateksite į gimtadienio šventės asmens nuotraukas.", + "happyBirthday": "Su gimtadieniu! 🥳", + "birthdays": "Gimtadieniai", + "wishThemAHappyBirthday": "Palinkėkite {name} su gimtadieniu! 🎉" } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_lv.arb b/mobile/apps/photos/lib/l10n/intl_lv.arb index bfa658ba0d..c8494661c6 100644 --- a/mobile/apps/photos/lib/l10n/intl_lv.arb +++ b/mobile/apps/photos/lib/l10n/intl_lv.arb @@ -1,4 +1,3 @@ { - "@@locale ": "en", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉" + "@@locale ": "en" } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_ml.arb b/mobile/apps/photos/lib/l10n/intl_ml.arb index 6850e6e11f..7cfd3a2887 100644 --- a/mobile/apps/photos/lib/l10n/intl_ml.arb +++ b/mobile/apps/photos/lib/l10n/intl_ml.arb @@ -99,6 +99,5 @@ "nothingToSeeHere": "ഇവിടൊന്നും കാണ്മാനില്ല! 👀", "calculating": "കണക്കുകൂട്ടുന്നു...", "close": "അടക്കുക", - "count": "എണ്ണം", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉" + "count": "എണ്ണം" } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_nl.arb b/mobile/apps/photos/lib/l10n/intl_nl.arb index af4e6fce7f..13af940170 100644 --- a/mobile/apps/photos/lib/l10n/intl_nl.arb +++ b/mobile/apps/photos/lib/l10n/intl_nl.arb @@ -477,7 +477,7 @@ } }, "showMemories": "Toon herinneringen", - "yearsAgo": "{count, plural, other{{count} jaar geleden}}", + "yearsAgo": "{count, plural, one{{count} jaar geleden} other{{count} jaar geleden}}", "backupSettings": "Back-up instellingen", "backupStatus": "Back-up status", "backupStatusDescription": "Items die zijn geback-upt, worden hier getoond", @@ -1309,7 +1309,6 @@ "faceRecognition": "Gezichtsherkenning", "foundFaces": "Gezichten gevonden", "clusteringProgress": "Voortgang clusteren", - "indexingIsPaused": "Indexeren is gepauzeerd. Het zal automatisch hervatten wanneer het apparaat klaar is.", "trim": "Knippen", "crop": "Bijsnijden", "rotate": "Roteren", @@ -1752,5 +1751,26 @@ "addMemoriesWidgetPrompt": "Voeg een widget toe aan je beginscherm en kom hier terug om aan te passen.", "addAlbumWidgetPrompt": "Voeg een widget toe aan je beginscherm en kom hier terug om aan te passen.", "addPeopleWidgetPrompt": "Voeg een widget toe aan je beginscherm en kom hier terug om aan te passen.", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉" + "birthdayNotifications": "Meldingen over verjaardagen", + "receiveRemindersOnBirthdays": "Ontvang herinneringen wanneer iemand jarig is. Als je op de melding drukt, krijg je foto's van de jarige.", + "happyBirthday": "Fijne verjaardag! 🥳", + "birthdays": "Verjaardagen", + "wishThemAHappyBirthday": "Wens {name} een fijne verjaardag! 🎉", + "areYouSureRemoveThisFaceFromPerson": "Weet je zeker dat je dit gezicht van deze persoon wilt verwijderen?", + "otherDetectedFaces": "Andere gedetecteerde gezichten", + "areThey": "Is dit ", + "questionmark": "?", + "saveAsAnotherPerson": "Opslaan als ander persoon", + "showLessFaces": "Minder gezichten weergeven", + "showMoreFaces": "Minder gezichten weergeven", + "ignore": "Negeren", + "merge": "Samenvoegen", + "reset": "Reset", + "areYouSureYouWantToIgnoreThisPerson": "Weet je zeker dat je deze persoon wilt negeren?", + "areYouSureYouWantToIgnoreThesePersons": "Weet je zeker dat je deze personen wilt negeren?", + "thePersonGroupsWillNotBeDisplayed": "De groepen worden niet meer getoond in de personen sectie. Foto's blijven ongemoeid.", + "thePersonWillNotBeDisplayed": "De persoon wordt niet meer getoond in de personen sectie. Foto's blijven ongemoeid.", + "areYouSureYouWantToMergeThem": "Weet je zeker dat je ze wilt samenvoegen?", + "allUnnamedGroupsWillBeMergedIntoTheSelectedPerson": "Alle naamloze groepen worden samengevoegd met de geselecteerde persoon. Dit kan nog steeds ongedaan worden gemaakt vanuit het geschiedenisoverzicht van de persoon.", + "yesIgnore": "Ja, negeer" } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_no.arb b/mobile/apps/photos/lib/l10n/intl_no.arb index 17dbdffc72..a0003c7bf4 100644 --- a/mobile/apps/photos/lib/l10n/intl_no.arb +++ b/mobile/apps/photos/lib/l10n/intl_no.arb @@ -476,7 +476,7 @@ } }, "showMemories": "Vis minner", - "yearsAgo": "{count, plural, other{{count} år siden}}", + "yearsAgo": "{count, plural, one{{count} år siden} other{{count} år siden}}", "backupSettings": "Sikkerhetskopier innstillinger", "backupStatus": "Status for sikkerhetskopi", "backupStatusDescription": "Elementer som har blitt sikkerhetskopiert vil vises her", @@ -1289,7 +1289,6 @@ "faceRecognition": "Ansiktsgjenkjenning", "foundFaces": "Fant ansikter", "clusteringProgress": "Fremdrift for klynging", - "indexingIsPaused": "Indeksering er satt på pause. Den vil automatisk fortsette når enheten er klar.", "trim": "Beskjær", "crop": "Beskjær", "rotate": "Roter", @@ -1689,15 +1688,5 @@ "moon": "I månelyset", "onTheRoad": "På veien igjen", "food": "Kulinær glede", - "pets": "Pelsvenner", - "cLIcon": "Nytt ikon", - "cLIconDesc": "Endelig er et nytt appikon, som vi tror best representerer arbeidet vårt. Vi har også lagt til en icon-switcher slik at du kan fortsette å bruke det gamle ikonet.", - "cLMemories": "Minner", - "cLMemoriesDesc": "Gjenoppdag dine spesielle øyeblikk - fremhev dine favorittpersoner, dine turer og ferier, de beste bildene dine, og mye mer. Skru på maskinlæring, merk deg selv og navngi vennene dine for best mulig opplevelse.", - "cLWidgets": "Widgeter", - "cLWidgetsDesc": "Hjemmeskjermwidgeter som er integrert med minner er nå tilgjengelige. De vil vise dine spesielle øyeblikk uten å åpne appen.", - "cLFamilyPlan": "Begrensninger for familieabonnement", - "cLFamilyPlanDesc": "Du kan nå sette grenser for hvor mye lagringsplass familiemedlemmer kan bruke.", - "cLBulkEdit": "Masseendring av datoer", - "cLBulkEditDesc": "Du kan nå velge flere bilder, og redigere dato/klokkeslett for alle med en rask handling. Forskyving av datoer støttes også." + "pets": "Pelsvenner" } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_or.arb b/mobile/apps/photos/lib/l10n/intl_or.arb index bfa658ba0d..c8494661c6 100644 --- a/mobile/apps/photos/lib/l10n/intl_or.arb +++ b/mobile/apps/photos/lib/l10n/intl_or.arb @@ -1,4 +1,3 @@ { - "@@locale ": "en", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉" + "@@locale ": "en" } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_pl.arb b/mobile/apps/photos/lib/l10n/intl_pl.arb index b2186f028b..6584c77953 100644 --- a/mobile/apps/photos/lib/l10n/intl_pl.arb +++ b/mobile/apps/photos/lib/l10n/intl_pl.arb @@ -443,8 +443,8 @@ "selectAll": "Zaznacz wszystko", "skip": "Pomiń", "updatingFolderSelection": "Aktualizowanie wyboru folderu...", - "itemCount": "{count, plural, one{{count} element} other{{count} elementu}}", - "deleteItemCount": "{count, plural, =1 {Usuń {count} element} other{Usuń {count} elementu}}", + "itemCount": "{count, plural, one{{count} element} few {{count} elementy} many {{count} elementów} other{{count} elementu}}", + "deleteItemCount": "{count, plural, =1 {Usuń {count} element} few {Usuń {count} elementy} many {Usuń {count} elementów} other{Usuń {count} elementu}}", "duplicateItemsGroup": "{count} plików, każdy po {formattedSize}", "@duplicateItemsGroup": { "description": "Display the number of duplicate files and their size", @@ -461,7 +461,7 @@ } }, "showMemories": "Pokaż wspomnienia", - "yearsAgo": "{count, plural, one{{count} rok temu} other{{count} lata temu}}", + "yearsAgo": "{count, plural, one{{count} rok temu} few {{count} lata temu} many {{count} lat temu} other{{count} lata temu}}", "backupSettings": "Ustawienia kopii zapasowej", "backupStatus": "Status kopii zapasowej", "backupStatusDescription": "Elementy, których kopia zapasowa została utworzona, zostaną wyświetlone w tym miejscu", @@ -800,7 +800,7 @@ "referFriendsAnd2xYourPlan": "Poleć znajomym i podwój swój plan", "shareAlbumHint": "Otwórz album i dotknij przycisk udostępniania w prawym górnym rogu, aby udostępnić.", "itemsShowTheNumberOfDaysRemainingBeforePermanentDeletion": "Elementy pokazują liczbę dni pozostałych przed trwałym usunięciem", - "trashDaysLeft": "{count, plural, =0 {Wkrótce} =1{1 dzień} other{{count} dni}}", + "trashDaysLeft": "{count, plural, =0 {Wkrótce} =1{1 dzień} few {{count} dni} other{{count} dni}}", "@trashDaysLeft": { "description": "Text to indicate number of days remaining before permanent deletion", "placeholders": { @@ -1177,7 +1177,7 @@ "searchHint4": "Lokalizacja", "searchHint5": "Wkrótce: Twarze i magiczne wyszukiwanie ✨", "addYourPhotosNow": "Dodaj swoje zdjęcia teraz", - "searchResultCount": "{count, plural, one{Znaleziono {count} wynik} other{Znaleziono {count} wyników}}", + "searchResultCount": "{count, plural, one{Znaleziono {count} wynik} few {Znaleziono {count} wyniki} other{Znaleziono {count} wyników}}", "@searchResultCount": { "description": "Text to tell user how many results were found for their search query", "placeholders": { @@ -1265,7 +1265,6 @@ "faceRecognition": "Rozpoznawanie twarzy", "foundFaces": "Znaleziono twarze", "clusteringProgress": "Postęp tworzenia klastrów", - "indexingIsPaused": "Wstrzymano indeksowanie. Zostanie ono automatycznie wznowione, gdy urządzenie będzie gotowe.", "trim": "Przytnij", "crop": "Kadruj", "rotate": "Obróć", @@ -1533,6 +1532,5 @@ "joinAlbumSubtextViewer": "aby dodać to do udostępnionych albumów", "join": "Dołącz", "linkEmail": "Połącz adres e-mail", - "noEnteAccountExclamation": "Brak konta Ente!", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉" + "noEnteAccountExclamation": "Brak konta Ente!" } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_pt_BR.arb b/mobile/apps/photos/lib/l10n/intl_pt_BR.arb index 8197622f41..2d8c750b9b 100644 --- a/mobile/apps/photos/lib/l10n/intl_pt_BR.arb +++ b/mobile/apps/photos/lib/l10n/intl_pt_BR.arb @@ -562,7 +562,7 @@ "referrals": "Referências", "notifications": "Notificações", "sharedPhotoNotifications": "Novas fotos compartilhadas", - "sharedPhotoNotificationsExplanation": "Receber notificações quando alguém adicionar uma foto a um álbum compartilhado que você faz parte", + "sharedPhotoNotificationsExplanation": "Receba notificações caso alguém adicione uma foto a um álbum compartilhado que você faz parte", "advanced": "Avançado", "general": "Geral", "security": "Segurança", @@ -1309,7 +1309,6 @@ "faceRecognition": "Reconhecimento facial", "foundFaces": "Rostos encontrados", "clusteringProgress": "Progresso de agrupamento", - "indexingIsPaused": "A indexação parou, ela será retomada automaticamente quando o dispositivo estiver pronto.", "trim": "Recortar", "crop": "Cortar", "rotate": "Girar", @@ -1755,19 +1754,39 @@ "birthdayNotifications": "Notificações de aniversário", "receiveRemindersOnBirthdays": "Receba notificações quando alguém fizer um aniversário. Tocar na notificação o levará às fotos do aniversariante.", "happyBirthday": "Feliz aniversário! 🥳", - "happyBirthdayToPerson": "Feliz aniversário a {name}! 🎉", "birthdays": "Aniversários", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉", - "cLTitle1": "Upload de arquivos de vídeo grandes", - "cLDesc1": "Com a versão beta de streaming de vídeo e o trabalho em uploads e downloads resumíveis, agora aumentamos o limite de upload de arquivos para 10GB. Isso já está disponível nos aplicativos desktop e móvel.", - "cLTitle2": "Upload em segundo plano", - "cLDesc2": "Os uploads em segundo plano agora também são suportados no iOS, além dos dispositivos Android. Não é necessário abrir o aplicativo para fazer backup de suas fotos e vídeos mais recentes.", - "cLTitle3": "Reprodução automática de memórias", - "cLDesc3": "Fizemos melhorias significativas em nossa experiência de memórias, incluindo reprodução automática, deslizar para a próxima memória e muito mais.", - "cLTitle4": "Reconhecimento facial aprimorado", - "cLDesc4": "Junto com várias melhorias internas, agora é muito mais fácil ver todos os rostos detectados, fornecer feedback sobre rostos similares e adicionar/remover rostos de uma única foto.", + "wishThemAHappyBirthday": "Deseje um feliz aniversário a {name}! 🎉", + "areYouSureRemoveThisFaceFromPerson": "Deseja mesmo remover o rosto desta pessoa?", + "otherDetectedFaces": "Outros rostos detectados", + "areThey": "Eles são ", + "questionmark": "?", + "saveAsAnotherPerson": "Salvar como outra pessoa", + "showLessFaces": "Exibir menos rostos", + "showMoreFaces": "Exibir mais rostos", + "ignore": "Ignorar", + "merge": "Mesclar", + "reset": "Redefinir", + "areYouSureYouWantToIgnoreThisPerson": "Você deseja mesmo ignorar esta pessoa?", + "areYouSureYouWantToIgnoreThesePersons": "Você deseja mesmo ignorar estas pessoas?", + "thePersonGroupsWillNotBeDisplayed": "Os grupos de pessoa não serão exibidos na seção de pessoa. As fotos permanecerão intactas.", + "thePersonWillNotBeDisplayed": "A pessoa não será exibida na seção de pessoas. As fotos permanecerão intactas.", + "areYouSureYouWantToMergeThem": "Você desejar mesmo mesclá-los?", + "allUnnamedGroupsWillBeMergedIntoTheSelectedPerson": "Todos os grupos sem nome serão mesclados numa pessoa selecionada. Isso ainda pode ser desfeito no histórico de sugestões da pessoa.", + "yesIgnore": "Sim, ignorar", + "same": "Igual", + "different": "Diferente", + "sameperson": "Mesma pessoa?", + "cLTitle1": "Enviando arquivos de vídeo grandes", + "cLDesc1": "De volta na transmissão de vídeo beta, e trabalhando em envios e downloads retomáveis, nós aumentamos o limite de envio de arquivos para 10 GB. Isso está disponível em ambos a versão móvel e a versão para desktop.", + "cLTitle2": "Envio de fundo", + "cLDesc2": "Envios de fundo agora são suportados no iOS também, para assemelhar-se aos dispositivos Android. Não precisa abrir o aplicativo para salvar em segurança as fotos e vídeos mais recentes.", + "cLTitle3": "Reproduzir memórias auto.", + "cLDesc3": "Fizemos melhorias significantes para a experiência de memórias, incluindo reprodução automática, deslizar para a próxima memória e mais.", + "cLTitle4": "Reconhecimento Facial Melhorado", + "cLDesc4": "Ao lado de outras melhorias, agora ficou mais fácil para detectar rostos, fornecer comentários em rostos similares, e adicionar/remover rostos de uma foto.", "cLTitle5": "Notificações de aniversário", - "cLDesc5": "Agora você receberá uma notificação opcional para todos os aniversários que salvou no Ente, junto com uma coleção de suas melhores fotos.", - "cLTitle6": "Uploads e downloads resumíveis", - "cLDesc6": "Não é mais necessário esperar que uploads/downloads sejam concluídos antes de fechar o aplicativo. Todos os uploads e downloads agora podem ser pausados no meio do caminho e retomados de onde você parou." + "cLDesc5": "Você receberá uma notificação opcional para todos os aniversários salvos no Ente, além de uma coleção de melhores fotos.", + "cLTitle6": "Envios e downloads retomáveis", + "cLDesc6": "Nada de esperar os envios/downloads terminarem para fechar o aplicativo. Todos os envios e downloads agora possuem a habilidade de ser pausado na metade do processo, e retomar de onde você parou.", + "indexingPausedStatusDescription": "A indexação foi pausada. Ela retomará automaticamente quando o dispositivo estiver pronto. O dispositivo é considerado pronto quando o nível de bateria, saúde da bateria, e estado térmico estejam num alcance saudável." } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_pt_PT.arb b/mobile/apps/photos/lib/l10n/intl_pt_PT.arb index 9ca28bf1af..a0f7ebab7a 100644 --- a/mobile/apps/photos/lib/l10n/intl_pt_PT.arb +++ b/mobile/apps/photos/lib/l10n/intl_pt_PT.arb @@ -2,59 +2,59 @@ "@@locale ": "en", "enterYourEmailAddress": "Introduza o seu e-mail", "enterYourNewEmailAddress": "Introduza o seu novo e-mail", - "accountWelcomeBack": "Bem-vindo de volta!", + "accountWelcomeBack": "Boas-vindas de volta!", "emailAlreadyRegistered": "E-mail já em utilização.", "emailNotRegistered": "E-mail não em utilização.", - "email": "Email", + "email": "E-mail", "cancel": "Cancelar", "verify": "Verificar", - "invalidEmailAddress": "Endereço de email inválido", - "enterValidEmail": "Por favor, insira um endereço de email válido.", + "invalidEmailAddress": "E-mail inválido", + "enterValidEmail": "Favor, introduz um e-mail válido.", "deleteAccount": "Eliminar conta", - "askDeleteReason": "Qual o principal motivo pelo qual está a eliminar a conta?", - "deleteAccountFeedbackPrompt": "Lamentamos a sua partida. Indique-nos a razão para podermos melhorar o serviço.", - "feedback": "Opinião", - "kindlyHelpUsWithThisInformation": "Por favor, ajude-nos com esta informação", - "confirmDeletePrompt": "Sim, pretendo apagar permanentemente esta conta e os respetivos dados em todas as aplicações.", - "confirmAccountDeletion": "Confirmar eliminação de conta", - "deleteAccountPermanentlyButton": "Excluir conta permanentemente", + "askDeleteReason": "Por que quer eliminar a sua conta?", + "deleteAccountFeedbackPrompt": "Lamentável a sua ida. Favor, partilhe o seu comentário para ajudar-nos a aprimorar.", + "feedback": "Comentário", + "kindlyHelpUsWithThisInformation": "Ajude-nos com esta informação", + "confirmDeletePrompt": "Sim, quero permanentemente eliminar esta conta com os dados.", + "confirmAccountDeletion": "Eliminar Conta", + "deleteAccountPermanentlyButton": "Eliminar Conta Permanentemente", "yourAccountHasBeenDeleted": "A sua conta foi eliminada", - "selectReason": "Selecionar motivo", - "deleteReason1": "Falta uma funcionalidade-chave de que eu necessito", - "deleteReason2": "O aplicativo ou um determinado recurso não se comportou como era suposto", - "deleteReason3": "Encontrei outro serviço de que gosto mais", - "deleteReason4": "O motivo não está na lista", - "sendEmail": "Enviar email", - "deleteRequestSLAText": "O seu pedido será processado dentro de 72 horas.", - "deleteEmailRequest": "Envie um e-mail para accountt-deletion@ente.io a partir do seu endereço de email registrado.", - "entePhotosPerm": "Ente precisa de permissão para preservar suas fotos", - "ok": "Ok", + "selectReason": "Diz a razão", + "deleteReason1": "Necessita uma funcionalidade-chave que quero", + "deleteReason2": "A aplicação ou certa funcionalidade não comporta conforme o meu desejo", + "deleteReason3": "Possuo outro serviço que acho melhor", + "deleteReason4": "A razão não está listada", + "sendEmail": "Enviar e-mail", + "deleteRequestSLAText": "O pedido será revisto dentre 72 horas.", + "deleteEmailRequest": "Favor, envie um e-mail a account-deletion@ente.io do e-mail registado.", + "entePhotosPerm": "Ente precisa da permissão para preservar as suas fotos", + "ok": "OK", "createAccount": "Criar conta", - "createNewAccount": "Criar nova conta", + "createNewAccount": "Criar conta nova", "password": "Palavra-passe", "confirmPassword": "Confirmar palavra-passe", "activeSessions": "Sessões ativas", - "oops": "Oops", - "somethingWentWrongPleaseTryAgain": "Ocorreu um erro. Tente novamente", - "thisWillLogYouOutOfThisDevice": "Irá desconectar a sua conta do seu dispositivo!", - "thisWillLogYouOutOfTheFollowingDevice": "Irá desconectar a sua conta do seguinte dispositivo:", - "terminateSession": "Terminar sessão?", - "terminate": "Terminar", - "thisDevice": "Este dispositivo", + "oops": "Ops", + "somethingWentWrongPleaseTryAgain": "Algo correu mal. Favor, tentar de novo", + "thisWillLogYouOutOfThisDevice": "Isto desconectará-vos deste aparelho!", + "thisWillLogYouOutOfTheFollowingDevice": "Isto desconectará-vos dos aparelhos a seguir:", + "terminateSession": "Desconectar?", + "terminate": "Desconectar", + "thisDevice": "Este aparelho", "recoverButton": "Recuperar", - "recoverySuccessful": "Recuperação bem sucedida!", + "recoverySuccessful": "Recuperação com êxito!", "decrypting": "A desencriptar…", "incorrectRecoveryKeyTitle": "Chave de recuperação incorreta", - "incorrectRecoveryKeyBody": "A chave de recuperação inserida está incorreta", - "forgotPassword": "Esqueceu-se da palavra-passe", - "enterYourRecoveryKey": "Insira a sua chave de recuperação", - "noRecoveryKey": "Não tem chave de recuperação?", + "incorrectRecoveryKeyBody": "A chave de recuperação introduzida está incorreta", + "forgotPassword": "Não recordo a palavra-passe", + "enterYourRecoveryKey": "Introduz a sua chave de recuperação", + "noRecoveryKey": "Sem chave de recuperação?", "sorry": "Desculpe", - "noRecoveryKeyNoDecryption": "Devido à natureza do nosso protocolo de criptografia de ponta a ponta, os seus dados não podem ser descriptografados sem a sua palavra-passe ou a sua chave de recuperação", - "verifyEmail": "Verificar email", - "toResetVerifyEmail": "Para redefinir a sua palavra-passe, verifique primeiro o seu e-mail.", - "checkInboxAndSpamFolder": "Verifique a sua caixa de entrada (e spam) para concluir a verificação", - "tapToEnterCode": "Toque para inserir código", + "noRecoveryKeyNoDecryption": "Por conta da natureza do nosso protocolo de encriptação, os seus dados não podem ser desencriptados sem a sua palavra-passe ou chave de recuperação.", + "verifyEmail": "Verificar e-mail", + "toResetVerifyEmail": "Para redefinir a palavra-passe, favor, verifique o seu e-mail.", + "checkInboxAndSpamFolder": "Revê a sua caixa de entrada (e de spam) para concluir a verificação", + "tapToEnterCode": "Tocar para introduzir código", "resendEmail": "Reenviar e-mail", "weHaveSendEmailTo": "Enviamos um e-mail para {email}", "@weHaveSendEmailTo": { @@ -242,7 +242,7 @@ "publicLinkEnabled": "Link público ativado", "shareALink": "Partilhar um link", "sharedAlbumSectionDescription": "Criar álbuns compartilhados e colaborativos com outros usuários da Ente, incluindo usuários em planos gratuitos.", - "shareWithPeopleSectionTitle": "{numberOfPeople, plural, =0 {Compartilhe com pessoas específicas} =1 {Compartilhado com 1 pessoa} other {Compartilhado com {numberOfPeople} pessoas}}", + "shareWithPeopleSectionTitle": "{numberOfPeople, plural, one {}=0 {Compartilhe com pessoas específicas} =1 {Compartilhado com 1 pessoa} other {Compartilhado com {numberOfPeople} pessoas}}", "@shareWithPeopleSectionTitle": { "placeholders": { "numberOfPeople": { @@ -696,7 +696,7 @@ "preserveMore": "Preservar mais", "grantFullAccessPrompt": "Por favor, permita o acesso a todas as fotos nas definições do aplicativo", "allowPermTitle": "Garanta acesso às fotos", - "allowPermBody": "Por favor, permita o acesso às suas fotos para que Ente possa mostrá-las e fazer backup na Fototeca.", + "allowPermBody": "Favor, permite acesso às fotos nas Definições para que Ente possa exibi-las e fazer backup na Fototeca.", "openSettings": "Abrir Definições", "selectMorePhotos": "Selecionar mais fotos", "existingUser": "Utilizador existente", @@ -899,7 +899,7 @@ "authToViewYourMemories": "Por favor, autentique-se para ver suas memórias", "unlock": "Desbloquear", "freeUpSpace": "Libertar espaço", - "freeUpSpaceSaving": "{count, plural, =1 {Pode eliminá-lo do aparelho para esvaziar {formattedSize}} other {Pode eliminá-los do aparelho para esvaziar {formattedSize}}}", + "freeUpSpaceSaving": "{count, plural, one {}=1 {Pode eliminá-lo do aparelho para esvaziar {formattedSize}} other {Pode eliminá-los do aparelho para esvaziar {formattedSize}}}", "filesBackedUpInAlbum": "{count, plural, one {1 arquivo} other {{formattedNumber} arquivos}} neste álbum teve um backup seguro", "@filesBackedUpInAlbum": { "description": "Text to tell user how many files have been backed up in the album", @@ -1309,7 +1309,6 @@ "faceRecognition": "Reconhecimento facial", "foundFaces": "Rostos encontrados", "clusteringProgress": "Progresso de agrupamento", - "indexingIsPaused": "A indexação está pausada, será retomada automaticamente quando o dispositivo estiver pronto.", "trim": "Cortar", "crop": "Recortar", "rotate": "Rodar", @@ -1469,7 +1468,7 @@ }, "info": "Info", "addFiles": "Adicionar Ficheiros", - "castAlbum": "Transfere Álbum", + "castAlbum": "Transferir Álbum", "imageNotAnalyzed": "Imagem sem análise", "noFacesFound": "Nenhum rosto foi detetado", "fileNotUploadedYet": "Ficheiro não enviado ainda", @@ -1518,7 +1517,7 @@ "@selectAllShort": { "description": "Text that appears in bottom right when you start to select multiple photos. When clicked, it selects all photos." }, - "selectCoverPhoto": "Selecione Foto para Capa", + "selectCoverPhoto": "Selecionar Foto para Capa", "newLocation": "Novo Lugar", "faceNotClusteredYet": "Rosto não aglomerado ainda, retome mais tarde", "theLinkYouAreTryingToAccessHasExpired": "A ligação que está a tentar acessar já expirou.", @@ -1532,7 +1531,7 @@ "emergencyContacts": "Contactos de Emergência", "acceptTrustInvite": "Aceite o Convite", "declineTrustInvite": "Dispense o Convite", - "removeYourselfAsTrustedContact": "Retirar convosco dos contactos de confiança", + "removeYourselfAsTrustedContact": "Retirar-vos dos contactos de confiança", "legacy": "Revivência", "legacyPageDesc": "A Revivência permite que contactos de confiança acessem a sua conta na sua inatividade.", "legacyPageDesc2": "Contactos de confiança podem restaurar a sua conta, e se não lhes impedir em 30 dias, redefine a sua palavra-passe e acesse a sua conta.", @@ -1755,19 +1754,39 @@ "birthdayNotifications": "Notificações de felicidades", "receiveRemindersOnBirthdays": "Obtém lembretes de quando é aniversário de alguém. Apertar na notificação o levará às fotos do aniversariante.", "happyBirthday": "Felicidades! 🥳", - "happyBirthdayToPerson": "Felicidades para {name}! 🎉", "birthdays": "Aniversários", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉", - "cLTitle1": "Envio de ficheiros de vídeo grandes", - "cLDesc1": "Na sequência da versão beta de transmissão de vídeo e do trabalho em envios e transferências retomáveis, agora aumentámos o limite de envio de ficheiros para 10GB. Isto está agora disponível tanto nas aplicações de computador como móveis.", - "cLTitle2": "Envio em segundo plano", - "cLDesc2": "Os envios em segundo plano agora também são suportados no iOS, além dos dispositivos Android. Não é necessário abrir a aplicação para fazer uma cópia de segurança das suas fotografias e vídeos mais recentes.", - "cLTitle3": "Reprodução automática de memórias", - "cLDesc3": "Fizemos melhorias significativas na nossa experiência de memórias, incluindo reprodução automática, deslizar para a próxima memória e muito mais.", - "cLTitle4": "Reconhecimento facial melhorado", - "cLDesc4": "Juntamente com várias melhorias internas, agora é muito mais fácil ver todas as faces detectadas, fornecer comentários sobre faces similares e adicionar/remover faces de uma única fotografia.", - "cLTitle5": "Notificações de aniversário", - "cLDesc5": "Agora receberá uma notificação opcional para todos os aniversários que guardou no Ente, juntamente com uma colecção das suas melhores fotografias.", + "wishThemAHappyBirthday": "Envie um \"Felicidades\" a {name}! 🎉", + "areYouSureRemoveThisFaceFromPerson": "Tem a certeza que queira remover o rosto desta pessoa?", + "otherDetectedFaces": "Outros rostos detetados", + "areThey": "Eles são ", + "questionmark": "?", + "saveAsAnotherPerson": "Guardar como outra pessoa", + "showLessFaces": "Mostrar menos rostos", + "showMoreFaces": "Mostrar mais rostos", + "ignore": "Ignorar", + "merge": "Fundir", + "reset": "Redefinir", + "areYouSureYouWantToIgnoreThisPerson": "Tem a certeza que quer ignorar esta pessoa?", + "areYouSureYouWantToIgnoreThesePersons": "Tem a certeza que quer ignorar estas pessoas?", + "thePersonGroupsWillNotBeDisplayed": "Os grupos de pessoa não aparecerão mais na secção de pessoas. As Fotos permanecerão intocadas.", + "thePersonWillNotBeDisplayed": "As pessoas não aparecerão mais na secção de pessoas. As fotos permanecerão intocadas.", + "areYouSureYouWantToMergeThem": "Tem a certeza que quer fundi-los?", + "allUnnamedGroupsWillBeMergedIntoTheSelectedPerson": "Todos os grupos sem título serão fundidos na pessoa selecionada. Isso pode ser desfeito no histórico geral das sugestões da pessoa.", + "yesIgnore": "Sim, ignorar", + "same": "Igual", + "different": "Diferente", + "sameperson": "A mesma pessoa?", + "cLTitle1": "A Enviar Ficheiros de Vídeo Grandes", + "cLDesc1": "De volta aos vídeos em direto (beta), e a trabalhar em envios e transferências retomáveis, nós aumentamos o limite de envio de ficheiros para 10 GB. Isto está disponível para dispositivos Móveis e para Desktop.", + "cLTitle2": "Envio de Fundo", + "cLDesc2": "Envios de fundo agora fornecerem suporte ao iOS. Para combinar com os aparelhos Android. Não precisa abrir a aplicação para fazer backup das fotos e vídeos recentes.", + "cLTitle3": "Revisão automática de memórias", + "cLDesc3": "Nós fizemos melhorias significativas para a experiência das memórias, incluindo revisão automática, arrastar até a próxima memória e muito mais.", + "cLTitle4": "Reconhecimento Facial Melhorado", + "cLDesc4": "Junto a outras mudanças, agora facilitou a maneira de ver todos os rostos detetados, fornecer comentários para rostos similares, e adicionar ou remover rostos de uma foto única.", + "cLTitle5": "Notificações de Felicidade", + "cLDesc5": "Ganhará uma notificação para todos os aniversários que salvaste no Ente, além de uma coleção das melhores fotos.", "cLTitle6": "Envios e transferências retomáveis", - "cLDesc6": "Já não é necessário esperar que os envios/transferências sejam concluídos antes de poder fechar a aplicação. Todos os envios e transferências têm agora a capacidade de serem pausados a meio e retomados de onde parou." + "cLDesc6": "Sem mais aguardar até que os envios e transferências sejam concluídos para fechar a aplicação. Todos os envios e transferências podem ser pausados a qualquer momento, e retomar onde parou.", + "indexingPausedStatusDescription": "A indexação foi interrompida. Ele será retomado se o dispositivo estiver pronto. O dispositivo é considerado pronto se o nível de bateria, saúde da bateria, e estado térmico esteja num estado saudável." } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_ro.arb b/mobile/apps/photos/lib/l10n/intl_ro.arb index 3845e966ca..fafb080c6d 100644 --- a/mobile/apps/photos/lib/l10n/intl_ro.arb +++ b/mobile/apps/photos/lib/l10n/intl_ro.arb @@ -443,7 +443,7 @@ "selectAll": "Selectare totală", "skip": "Omiteți", "updatingFolderSelection": "Se actualizează selecția dosarelor...", - "itemCount": "{count, plural, one{{count} articol} other{{count} de articole}}", + "itemCount": "{count, plural, one{{count} articol} few {{count} articole} other{{count} de articole}}", "deleteItemCount": "{count, plural, =1 {Ștergeți {count} articol} other {Ștergeți {count} de articole}}", "duplicateItemsGroup": "{count} fișiere, {formattedSize} fiecare", "@duplicateItemsGroup": { @@ -461,7 +461,7 @@ } }, "showMemories": "Afișare amintiri", - "yearsAgo": "{count, plural, one{acum {count} an} other{acum {count} de ani}}", + "yearsAgo": "{count, plural, one{acum {count} an} few {acum {count} ani} other{acum {count} de ani}}", "backupSettings": "Setări copie de rezervă", "backupStatus": "Stare copie de rezervă", "backupStatusDescription": "Articolele care au fost salvate vor apărea aici", @@ -526,7 +526,7 @@ }, "remindToEmptyEnteTrash": "De asemenea, goliți „Coșul de gunoi” pentru a revendica spațiul eliberat", "sparkleSuccess": "✨ Succes", - "duplicateFileCountWithStorageSaved": "Ați curățat {count, plural, one{{count} dublură} other{{count} de dubluri}}, economisind ({storageSaved}!)", + "duplicateFileCountWithStorageSaved": "Ați curățat {count, plural, one{{count} dublură} few {{count} dubluri} other{{count} de dubluri}}, economisind ({storageSaved}!)", "@duplicateFileCountWithStorageSaved": { "description": "The text to display when the user has successfully cleaned up duplicate files", "type": "text", @@ -873,7 +873,7 @@ "authToViewYourMemories": "Vă rugăm să vă autentificați pentru a vă vizualiza amintirile", "unlock": "Deblocare", "freeUpSpace": "Eliberați spațiu", - "filesBackedUpInAlbum": "{count, plural, one {Un fișier din acest album a fost deja salvat în siguranță} other {{formattedNumber} de fișiere din acest album au fost deja salvate în siguranță}}", + "filesBackedUpInAlbum": "{count, plural, one {Un fișier din acest album a fost deja salvat în siguranță} few {{formattedNumber} fișiere din acest album au fost deja salvate în siguranță} other {{formattedNumber} de fișiere din acest album au fost deja salvate în siguranță}}", "@filesBackedUpInAlbum": { "description": "Text to tell user how many files have been backed up in the album", "placeholders": { @@ -888,7 +888,7 @@ } } }, - "filesBackedUpFromDevice": "{count, plural, one {Un fișier de pe acest dispozitiv a fost deja salvat în siguranță} other {{formattedNumber} de fișiere de pe acest dispozitiv fost deja salvate în siguranță}}", + "filesBackedUpFromDevice": "{count, plural, one {Un fișier de pe acest dispozitiv a fost deja salvat în siguranță} few {{formattedNumber} fișiere de pe acest dispozitiv au fost deja salvate în siguranță} other {{formattedNumber} de fișiere de pe acest dispozitiv fost deja salvate în siguranță}}", "@filesBackedUpFromDevice": { "description": "Text to tell user how many files have been backed up from this device", "placeholders": { @@ -1177,7 +1177,7 @@ "searchHint4": "Locație", "searchHint5": "În curând: chipuri și căutare magică ✨", "addYourPhotosNow": "Adăugați-vă fotografiile acum", - "searchResultCount": "{count, plural, one{{count} rezultat găsit} other{{count} de rezultate găsite}}", + "searchResultCount": "{count, plural, one{{count} rezultat găsit} few {{count} rezultate găsite} other{{count} de rezultate găsite}}", "@searchResultCount": { "description": "Text to tell user how many results were found for their search query", "placeholders": { @@ -1265,7 +1265,6 @@ "faceRecognition": "Recunoaștere facială", "foundFaces": "S-au găsit fețe", "clusteringProgress": "Progres grupare", - "indexingIsPaused": "Indexarea este în pauză. Va relua automat când dispozitivul este pregătit.", "trim": "Decupare", "crop": "Decupare", "rotate": "Rotire", @@ -1522,6 +1521,5 @@ "joinAlbum": "Alăturați-vă albumului", "joinAlbumSubtext": "pentru a vedea și a adăuga fotografii", "joinAlbumSubtextViewer": "pentru a adăuga la albumele distribuite", - "join": "Alăturare", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉" + "join": "Alăturare" } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_ru.arb b/mobile/apps/photos/lib/l10n/intl_ru.arb index ab26a55420..99d7e093f3 100644 --- a/mobile/apps/photos/lib/l10n/intl_ru.arb +++ b/mobile/apps/photos/lib/l10n/intl_ru.arb @@ -1,6 +1,7 @@ { "@@locale ": "en", "enterYourEmailAddress": "Введите адрес вашей электронной почты", + "enterYourNewEmailAddress": "Введите ваш новый адрес электронной почты", "accountWelcomeBack": "С возвращением!", "emailAlreadyRegistered": "Электронная почта уже зарегистрирована.", "emailNotRegistered": "Электронная почта не зарегистрирована.", @@ -476,7 +477,7 @@ } }, "showMemories": "Показывать воспоминания", - "yearsAgo": "{count, plural, one{{count} год назад} other{{count} лет назад}}", + "yearsAgo": "{count, plural, one{{count} год назад} few{{count} года назад} other{{count} лет назад}}", "backupSettings": "Настройки резервного копирования", "backupStatus": "Статус резервного копирования", "backupStatusDescription": "Элементы, сохранённые в резервной копии, появятся здесь", @@ -721,6 +722,7 @@ "type": "text" }, "backupFailed": "Резервное копирование не удалось", + "sorryBackupFailedDesc": "К сожалению, мы не смогли сделать резервную копию этого файла сейчас, мы повторим попытку позже.", "couldNotBackUpTryLater": "Нам не удалось создать резервную копию ваших данных.\nМы повторим попытку позже.", "enteCanEncryptAndPreserveFilesOnlyIfYouGrant": "Ente может шифровать и сохранять файлы, только если вы предоставите к ним доступ", "pleaseGrantPermissions": "Пожалуйста, предоставьте разрешения", @@ -1029,6 +1031,7 @@ "didYouKnow": "Знаете ли вы?", "loadingMessage": "Загрузка ваших фото...", "loadMessage1": "Вы можете поделиться подпиской с вашей семьёй", + "loadMessage2": "На сегодняшний день мы сохранили более 200 миллионов воспоминаний", "loadMessage3": "Мы храним 3 копии ваших данных, одну из них — в бункере", "loadMessage4": "Все наши приложения имеют открытый исходный код", "loadMessage5": "Наш исходный код и криптография прошли внешний аудит", @@ -1279,6 +1282,8 @@ "createCollaborativeLink": "Создать совместную ссылку", "search": "Поиск", "enterPersonName": "Введите имя человека", + "editEmailAlreadyLinked": "Этот адрес электронной почты уже связан с {name}.", + "viewPersonToUnlink": "Посмотреть {name} для отмены привязки", "enterName": "Введите имя", "savePerson": "Сохранить человека", "editPerson": "Редактировать человека", @@ -1304,7 +1309,6 @@ "faceRecognition": "Распознавание лиц", "foundFaces": "Найденные лица", "clusteringProgress": "Прогресс кластеризации", - "indexingIsPaused": "Индексация приостановлена. Она автоматически возобновится, когда устройство будет готово.", "trim": "Сократить", "crop": "Обрезать", "rotate": "Повернуть", @@ -1658,6 +1662,7 @@ "@linkPersonCaption": { "description": "Caption for the 'Link person' title. It should be a continuation of the 'Link person' title. Just like how 'Link person' + 'for better sharing experience' forms a proper sentence in English, the combination of these two strings should also be a proper sentence in other languages." }, + "videoStreaming": "Потоковое видео", "processingVideos": "Обработка видео", "streamDetails": "Информация о потоке", "processing": "Обработка", @@ -1725,17 +1730,63 @@ "food": "Кулинарное наслаждение", "pets": "Пушистые спутники", "curatedMemories": "Отобранные воспоминания", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉", + "widgets": "Виджеты", + "memories": "Воспоминания", + "peopleWidgetDesc": "Выберите людей, которых вы хотите видеть на главном экране.", + "albumsWidgetDesc": "Выберите альбомы, которые вы хотите видеть на главном экране.", + "memoriesWidgetDesc": "Выберите, какие воспоминания вы хотите видеть на главном экране.", + "smartMemories": "Умные воспоминания", + "pastYearsMemories": "Воспоминания прошлых лет", + "deleteMultipleAlbumDialog": "Также удалить фото (и видео), находящиеся в этих {count} альбомах, из всех других альбомов, частью которых они являются?", + "addParticipants": "Добавить участников", + "selectedAlbums": "{count} выбрано", + "actionNotSupportedOnFavouritesAlbum": "Действие не поддерживается в альбоме «Избранное»", + "onThisDayMemories": "В этот день воспоминания", + "onThisDay": "В этот день", + "lookBackOnYourMemories": "Оглянитесь на ваши воспоминания 🌄", + "newPhotosEmoji": " новая 📸", + "sorryWeHadToPauseYourBackups": "Извините, нам пришлось приостановить резервное копирование", + "clickToInstallOurBestVersionYet": "Нажмите, чтобы установить нашу лучшую версию", + "onThisDayNotificationExplanation": "Получайте напоминания о воспоминаниях, связанных с этим днем в прошлые годы.", + "addMemoriesWidgetPrompt": "Добавьте виджет воспоминаний на главный экран и вернитесь сюда, чтобы настроить его.", + "addAlbumWidgetPrompt": "Добавьте виджет альбома на главный экран и вернитесь сюда, чтобы настроить его.", + "addPeopleWidgetPrompt": "Добавьте виджет людей на главный экран и вернитесь сюда, чтобы настроить его.", + "birthdayNotifications": "Уведомления о днях рождения", + "receiveRemindersOnBirthdays": "Получайте напоминания, когда у кого-то день рождения. Нажатие на уведомление перенесет вас к фотографиям именинника.", + "happyBirthday": "С днём рождения! 🥳", + "birthdays": "Дни рождения", + "wishThemAHappyBirthday": "Поздравляем {name} с днем ​​рождения! 🎉", + "areYouSureRemoveThisFaceFromPerson": "Вы уверены, что хотите удалить лицо этого человека?", + "otherDetectedFaces": "Другие найденные лица", + "areThey": "Они ", + "questionmark": "?", + "saveAsAnotherPerson": "Сохранить как другого человека", + "showLessFaces": "Показывать меньше лиц", + "showMoreFaces": "Показывать больше лиц", + "ignore": "Игнорировать", + "merge": "Объединить", + "reset": "Сбросить", + "areYouSureYouWantToIgnoreThisPerson": "Вы уверены, что хотите игнорировать этого человека?", + "areYouSureYouWantToIgnoreThesePersons": "Вы уверены, что хотите игнорировать этих людей?", + "thePersonGroupsWillNotBeDisplayed": "Группы людей больше не будут отображаться в разделе людей. Фотографии останутся нетронутыми.", + "thePersonWillNotBeDisplayed": "Человек больше не будет отображаться в разделе людей. Фотографии останутся нетронутыми.", + "areYouSureYouWantToMergeThem": "Вы уверены, что хотите их объединить?", + "allUnnamedGroupsWillBeMergedIntoTheSelectedPerson": "Все неназванные группы будут объединены в выбранного человека. Это можно отменить в обзоре истории предложений для данного человека.", + "yesIgnore": "Да, игнорировать", + "same": "Такой же", + "different": "Разные", + "sameperson": "Тот же человек?", "cLTitle1": "Загрузка больших видеофайлов", - "cLDesc1": "Вслед за бета-версией потокового видео и работой над возобновляемыми загрузками и скачиваниями, мы увеличили лимит загрузки файлов до 10ГБ. Это теперь доступно как в настольных, так и в мобильных приложениях.", + "cLDesc1": "В результате бета-тестирования потоковой передачи видео и работы над возобновляемыми загрузками и скачиваниями мы увеличили лимит загружаемых файлов до 10 ГБ. Теперь это доступно как в настольных, так и в мобильных приложениях.", "cLTitle2": "Фоновая загрузка", - "cLDesc2": "Фоновые загрузки теперь также поддерживаются на iOS, в дополнение к устройствам Android. Больше не нужно открывать приложение для резервного копирования ваших последних фото и видео.", + "cLDesc2": "Фоновая загрузка теперь поддерживается не только на устройствах Android, но и на iOS. Не нужно открывать приложение для резервного копирования последних фотографий и видео.", "cLTitle3": "Автовоспроизведение воспоминаний", - "cLDesc3": "Мы внесли значительные улучшения в наш опыт воспоминаний, включая автовоспроизведение, пролистывание к следующему воспоминанию и многое другое.", + "cLDesc3": "Мы внесли значительные улучшения в работу с воспоминаниями, включая автовоспроизведение, переход к следующему воспоминанию и многое другое.", "cLTitle4": "Улучшенное распознавание лиц", - "cLDesc4": "Наряду с множеством внутренних улучшений, теперь гораздо проще увидеть все обнаруженные лица, предоставить обратную связь о похожих лицах и добавить/удалить лица с одной фотографии.", + "cLDesc4": "Наряду с рядом внутренних улучшений теперь стало гораздо проще просматривать все обнаруженные лица, оставлять отзывы о похожих лицах, а также добавлять/удалять лица с одной фотографии.", "cLTitle5": "Уведомления о днях рождения", - "cLDesc5": "Теперь вы будете получать опциональные уведомления обо всех днях рождения, которые вы сохранили в Ente, вместе с коллекцией их лучших фотографий.", + "cLDesc5": "Теперь вы будете получать уведомления о всех днях рождениях, которые вы сохранили на Ente, а также коллекцию их лучших фотографий.", "cLTitle6": "Возобновляемые загрузки и скачивания", - "cLDesc6": "Больше не нужно ждать завершения загрузок/скачиваний перед закрытием приложения. Все загрузки и скачивания теперь могут быть приостановлены на полпути и возобновлены с того места, где вы остановились." + "cLDesc6": "Больше не нужно ждать завершения загрузки/скачивания, прежде чем закрыть приложение. Все загрузки и скачивания теперь можно приостановить и возобновить с того места, где вы остановились.", + "indexingPausedStatusDescription": "Индексирование приостановлено. Оно автоматически возобновится, когда устройство будет готово. Устройство считается готовым, когда уровень заряда батареи, её состояние и температура находятся в пределах нормы." } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_sl.arb b/mobile/apps/photos/lib/l10n/intl_sl.arb index bfa658ba0d..c8494661c6 100644 --- a/mobile/apps/photos/lib/l10n/intl_sl.arb +++ b/mobile/apps/photos/lib/l10n/intl_sl.arb @@ -1,4 +1,3 @@ { - "@@locale ": "en", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉" + "@@locale ": "en" } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_sr.arb b/mobile/apps/photos/lib/l10n/intl_sr.arb index 1a228916bb..c8494661c6 100644 --- a/mobile/apps/photos/lib/l10n/intl_sr.arb +++ b/mobile/apps/photos/lib/l10n/intl_sr.arb @@ -1,11 +1,3 @@ { - "@@locale ": "en", - "showMoreFaces": "Show more faces", - "showLessFaces": "Show less faces", - "otherDetectedFaces": "Other detected faces", - "areYouSureRemoveThisFaceFromPerson": "Are you sure you want to remove this face from this person?", - "areThey": "Are they ", - "questionmark": "?", - "saveAsAnotherPerson": "Save as another person", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉" + "@@locale ": "en" } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_sv.arb b/mobile/apps/photos/lib/l10n/intl_sv.arb index eb2db61ecc..ccc0d6f882 100644 --- a/mobile/apps/photos/lib/l10n/intl_sv.arb +++ b/mobile/apps/photos/lib/l10n/intl_sv.arb @@ -364,7 +364,7 @@ "selectAll": "Markera allt", "skip": "Hoppa över", "updatingFolderSelection": "Uppdaterar mappval...", - "itemCount": "{count, plural, other{{count} objekt}}", + "itemCount": "{count, plural, one{{count} objekt} other{{count} objekt}}", "deleteItemCount": "{count, plural, =1 {Radera {count} objekt} other {Radera {count} objekt}}", "duplicateItemsGroup": "{count} filer, {formattedSize} vardera", "@duplicateItemsGroup": { @@ -382,7 +382,7 @@ } }, "showMemories": "Visa minnen", - "yearsAgo": "{count, plural, other{{count} år sedan}}", + "yearsAgo": "{count, plural, one{{count} år sedan} other{{count} år sedan}}", "backupSettings": "Säkerhetskopieringsinställningar", "backupStatus": "Säkerhetskopieringsstatus", "about": "Om", @@ -496,7 +496,7 @@ "viewAll": "Visa alla", "inviteYourFriendsToEnte": "Bjud in dina vänner till Ente", "fileTypes": "Filtyper", - "searchResultCount": "{count, plural, other{{count} resultat hittades}}", + "searchResultCount": "{count, plural, one{{count} resultat hittades} other{{count} resultat hittades}}", "@searchResultCount": { "description": "Text to tell user how many results were found for their search query", "placeholders": { @@ -531,13 +531,5 @@ "sort": "Sortera", "newPerson": "Ny person", "addName": "Lägg till namn", - "add": "Lägg till", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉", - "showMoreFaces": "Show more faces", - "showLessFaces": "Show less faces", - "otherDetectedFaces": "Other detected faces", - "areYouSureRemoveThisFaceFromPerson": "Are you sure you want to remove this face from this person?", - "areThey": "Are they ", - "questionmark": "?", - "saveAsAnotherPerson": "Save as another person" + "add": "Lägg till" } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_ta.arb b/mobile/apps/photos/lib/l10n/intl_ta.arb index 980f0a9544..1b9d1e8190 100644 --- a/mobile/apps/photos/lib/l10n/intl_ta.arb +++ b/mobile/apps/photos/lib/l10n/intl_ta.arb @@ -19,6 +19,5 @@ "deleteAccountPermanentlyButton": "கணக்கை நிரந்தரமாக நீக்கவும்", "yourAccountHasBeenDeleted": "உங்கள் கணக்கு நீக்கப்பட்டது", "selectReason": "காரணத்தைத் தேர்ந்தெடுக்கவும்", - "deleteReason1": "எனக்கு தேவையான ஒரு முக்கிய அம்சம் இதில் இல்லை", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉" + "deleteReason1": "எனக்கு தேவையான ஒரு முக்கிய அம்சம் இதில் இல்லை" } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_te.arb b/mobile/apps/photos/lib/l10n/intl_te.arb index bfa658ba0d..c8494661c6 100644 --- a/mobile/apps/photos/lib/l10n/intl_te.arb +++ b/mobile/apps/photos/lib/l10n/intl_te.arb @@ -1,4 +1,3 @@ { - "@@locale ": "en", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉" + "@@locale ": "en" } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_th.arb b/mobile/apps/photos/lib/l10n/intl_th.arb index 499066e239..a7c4c4ccb2 100644 --- a/mobile/apps/photos/lib/l10n/intl_th.arb +++ b/mobile/apps/photos/lib/l10n/intl_th.arb @@ -287,6 +287,5 @@ "description": "Label for the map view" }, "maps": "แผนที่", - "enableMaps": "เปิดใช้งานแผนที่", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉" + "enableMaps": "เปิดใช้งานแผนที่" } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_ti.arb b/mobile/apps/photos/lib/l10n/intl_ti.arb index bfa658ba0d..c8494661c6 100644 --- a/mobile/apps/photos/lib/l10n/intl_ti.arb +++ b/mobile/apps/photos/lib/l10n/intl_ti.arb @@ -1,4 +1,3 @@ { - "@@locale ": "en", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉" + "@@locale ": "en" } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_tr.arb b/mobile/apps/photos/lib/l10n/intl_tr.arb index 353915d16e..0ee37b0f1f 100644 --- a/mobile/apps/photos/lib/l10n/intl_tr.arb +++ b/mobile/apps/photos/lib/l10n/intl_tr.arb @@ -372,7 +372,7 @@ "deleteFromBoth": "Her ikisinden de sil", "newAlbum": "Yeni albüm", "albums": "Albümler", - "memoryCount": "{count, plural, =0{hiç anı yok} other{{formattedCount} anı}}", + "memoryCount": "{count, plural, =0{hiç anı yok} one{{formattedCount} anı} other{{formattedCount} anı}}", "@memoryCount": { "description": "The text to display the number of memories", "type": "text", @@ -477,7 +477,7 @@ } }, "showMemories": "Anıları göster", - "yearsAgo": "{count, plural, other{{count} yıl önce}}", + "yearsAgo": "{count, plural, one{{count} yıl önce} other{{count} yıl önce}}", "backupSettings": "Yedekleme seçenekleri", "backupStatus": "Yedekleme durumu", "backupStatusDescription": "Eklenen öğeler burada görünecek", @@ -1217,7 +1217,7 @@ "searchHint4": "Konum", "searchHint5": "Çok yakında: Yüzler ve sihirli arama ✨", "addYourPhotosNow": "Fotoğraflarınızı şimdi ekleyin", - "searchResultCount": "{count, plural, other{{count} yıl önce}}", + "searchResultCount": "{count, plural, one{{count} yıl önce} other{{count} yıl önce}}", "@searchResultCount": { "description": "Text to tell user how many results were found for their search query", "placeholders": { @@ -1309,7 +1309,6 @@ "faceRecognition": "Yüz Tanıma", "foundFaces": "Yüzler bulundu", "clusteringProgress": "Kümeleme ilerlemesi", - "indexingIsPaused": "Dizin oluşturma duraklatıldı. Cihaz hazır olduğunda otomatik olarak devam edecektir.", "trim": "Kes", "crop": "Kırp", "rotate": "Döndür", @@ -1735,6 +1734,5 @@ "addParticipants": "Katılımcı ekle", "selectedAlbums": "{count} seçildi", "actionNotSupportedOnFavouritesAlbum": "Favoriler albümünde eylem desteklenmiyor", - "onThisDay": "Bu günde", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉" + "onThisDay": "Bu günde" } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_uk.arb b/mobile/apps/photos/lib/l10n/intl_uk.arb index 09a016b224..dede53ef0e 100644 --- a/mobile/apps/photos/lib/l10n/intl_uk.arb +++ b/mobile/apps/photos/lib/l10n/intl_uk.arb @@ -438,7 +438,7 @@ "selectAll": "Вибрати все", "skip": "Пропустити", "updatingFolderSelection": "Оновлення вибору теки...", - "itemCount": "{count, plural, one{{count} елемент} other{{count} елементів}}", + "itemCount": "{count, plural, one{{count} елемент} few {{count} елементи} many {{count} елементів} other{{count} елементів}}", "deleteItemCount": "{count, plural, =1 {Видалено {count} елемент} other {Видалено {count} елементів}}", "duplicateItemsGroup": "{count} файлів, кожен по {formattedSize}", "@duplicateItemsGroup": { @@ -1172,7 +1172,7 @@ "searchHint4": "Розташування", "searchHint5": "Незабаром: Обличчя і магічний пошук ✨", "addYourPhotosNow": "Додайте свої фотографії", - "searchResultCount": "{count, plural, one{Знайдено {count} результат} other{Знайдено {count} результати}}", + "searchResultCount": "{count, plural, one{Знайдено {count} результат} few {Знайдено {count} результати} many {Знайдено {count} результатів} other{Знайдено {count} результати}}", "@searchResultCount": { "description": "Text to tell user how many results were found for their search query", "placeholders": { @@ -1260,7 +1260,6 @@ "faceRecognition": "Розпізнавання обличчя", "foundFaces": "Знайдені обличчя", "clusteringProgress": "Прогрес кластеризації", - "indexingIsPaused": "Індексація припинена. Автоматично продовжуватиметься, коли пристрій буде готовий.", "trim": "Вирізати", "crop": "Обрізати", "rotate": "Обернути", @@ -1510,6 +1509,5 @@ }, "legacyInvite": "{email} запросив вас стати довіреною особою", "authToManageLegacy": "Авторизуйтесь, щоби керувати довіреними контактами", - "useDifferentPlayerInfo": "Виникли проблеми з відтворенням цього відео? Натисніть і утримуйте тут, щоб спробувати інший плеєр.", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉" + "useDifferentPlayerInfo": "Виникли проблеми з відтворенням цього відео? Натисніть і утримуйте тут, щоб спробувати інший плеєр." } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_vi.arb b/mobile/apps/photos/lib/l10n/intl_vi.arb index eda98f49d6..71b8c7a80f 100644 --- a/mobile/apps/photos/lib/l10n/intl_vi.arb +++ b/mobile/apps/photos/lib/l10n/intl_vi.arb @@ -1,9 +1,10 @@ { "@@locale ": "en", "enterYourEmailAddress": "Nhập địa chỉ email của bạn", + "enterYourNewEmailAddress": "Nhập địa chỉ email mới của bạn", "accountWelcomeBack": "Chào mừng bạn trở lại!", - "emailAlreadyRegistered": "Email đã được đăng kí.", - "emailNotRegistered": "Email chưa được đăng kí.", + "emailAlreadyRegistered": "Email đã được đăng ký.", + "emailNotRegistered": "Email chưa được đăng ký.", "email": "Email", "cancel": "Hủy", "verify": "Xác minh", @@ -13,16 +14,16 @@ "askDeleteReason": "Lý do chính bạn xóa tài khoản là gì?", "deleteAccountFeedbackPrompt": "Chúng tôi rất tiếc khi thấy bạn rời đi. Vui lòng chia sẻ phản hồi của bạn để giúp chúng tôi cải thiện.", "feedback": "Phản hồi", - "kindlyHelpUsWithThisInformation": "Vui lòng giúp chúng tôi với thông tin này", - "confirmDeletePrompt": "Có, tôi muốn xóa vĩnh viễn tài khoản này và dữ liệu của nó trên tất cả các ứng dụng.", + "kindlyHelpUsWithThisInformation": "Mong bạn giúp chúng tôi thông tin này", + "confirmDeletePrompt": "Có, tôi muốn xóa vĩnh viễn tài khoản này và tất cả dữ liệu của nó.", "confirmAccountDeletion": "Xác nhận xóa tài khoản", "deleteAccountPermanentlyButton": "Xóa tài khoản vĩnh viễn", "yourAccountHasBeenDeleted": "Tài khoản của bạn đã bị xóa", "selectReason": "Chọn lý do", "deleteReason1": "Nó thiếu một tính năng quan trọng mà tôi cần", - "deleteReason2": "Ứng dụng hoặc một tính năng nhất định không hoạt động như tôi nghĩ", - "deleteReason3": "Tôi đã tìm thấy một dịch vụ khác mà tôi thích hơn", - "deleteReason4": "Lý do của tôi không có trong danh sách", + "deleteReason2": "Ứng dụng hoặc một tính năng nhất định không hoạt động như tôi muốn", + "deleteReason3": "Tôi tìm thấy một dịch vụ khác mà tôi thích hơn", + "deleteReason4": "Lý do không có trong danh sách", "sendEmail": "Gửi email", "deleteRequestSLAText": "Yêu cầu của bạn sẽ được xử lý trong vòng 72 giờ.", "deleteEmailRequest": "Vui lòng gửi email đến account-deletion@ente.io từ địa chỉ email đã đăng ký của bạn.", @@ -33,27 +34,27 @@ "password": "Mật khẩu", "confirmPassword": "Xác nhận mật khẩu", "activeSessions": "Phiên hoạt động", - "oops": "Ôi", + "oops": "Ốiii!", "somethingWentWrongPleaseTryAgain": "Có gì đó không ổn, vui lòng thử lại", - "thisWillLogYouOutOfThisDevice": "Điều này sẽ đăng xuất bạn khỏi thiết bị này!", - "thisWillLogYouOutOfTheFollowingDevice": "Điều này sẽ đăng xuất bạn khỏi thiết bị sau:", + "thisWillLogYouOutOfThisDevice": "Bạn sẽ đăng xuất khỏi thiết bị này!", + "thisWillLogYouOutOfTheFollowingDevice": "Bạn cũng sẽ đăng xuất khỏi những thiết bị sau:", "terminateSession": "Kết thúc phiên? ", "terminate": "Kết thúc", "thisDevice": "Thiết bị này", "recoverButton": "Khôi phục", "recoverySuccessful": "Khôi phục thành công!", "decrypting": "Đang giải mã...", - "incorrectRecoveryKeyTitle": "Khóa khôi phục không chính xác", - "incorrectRecoveryKeyBody": "Khóa khôi phục bạn nhập không chính xác", + "incorrectRecoveryKeyTitle": "Mã khôi phục không chính xác", + "incorrectRecoveryKeyBody": "Mã khôi phục bạn nhập không chính xác", "forgotPassword": "Quên mật khẩu", - "enterYourRecoveryKey": "Nhập khóa khôi phục của bạn", - "noRecoveryKey": "Không có khóa khôi phục?", + "enterYourRecoveryKey": "Nhập mã khôi phục của bạn", + "noRecoveryKey": "Không có mã khôi phục?", "sorry": "Xin lỗi", - "noRecoveryKeyNoDecryption": "Do tính chất của giao thức mã hóa đầu cuối của chúng tôi, dữ liệu của bạn không thể được giải mã mà không có mật khẩu hoặc khóa khôi phục của bạn", + "noRecoveryKeyNoDecryption": "Do tính chất của giao thức mã hóa đầu cuối, không thể giải mã dữ liệu của bạn mà không có mật khẩu hoặc mã khôi phục", "verifyEmail": "Xác minh email", - "toResetVerifyEmail": "Để đặt lại mật khẩu của bạn, vui lòng xác minh email của bạn trước.", + "toResetVerifyEmail": "Để đặt lại mật khẩu, vui lòng xác minh email của bạn trước.", "checkInboxAndSpamFolder": "Vui lòng kiểm tra hộp thư đến (và thư rác) để hoàn tất xác minh", - "tapToEnterCode": "Chạm để nhập mã", + "tapToEnterCode": "Nhấn để nhập mã", "resendEmail": "Gửi lại email", "weHaveSendEmailTo": "Chúng tôi đã gửi một email đến {email}", "@weHaveSendEmailTo": { @@ -70,12 +71,12 @@ "changePasswordTitle": "Thay đổi mật khẩu", "resetPasswordTitle": "Đặt lại mật khẩu", "encryptionKeys": "Khóa mã hóa", - "passwordWarning": "Chúng tôi không lưu trữ mật khẩu này, vì vậy nếu bạn quên, chúng tôi không thể giải mã dữ liệu của bạn", - "enterPasswordToEncrypt": "Nhập mật khẩu mà chúng tôi có thể sử dụng để mã hóa dữ liệu của bạn", - "enterNewPasswordToEncrypt": "Nhập mật khẩu mới mà chúng tôi có thể sử dụng để mã hóa dữ liệu của bạn", + "passwordWarning": "Chúng tôi không lưu trữ mật khẩu này, nên nếu bạn quên, chúng tôi không thể giải mã dữ liệu của bạn", + "enterPasswordToEncrypt": "Vui lòng nhập một mật khẩu dùng để mã hóa dữ liệu của bạn", + "enterNewPasswordToEncrypt": "Vui lòng nhập một mật khẩu mới để mã hóa dữ liệu của bạn", "weakStrength": "Yếu", "strongStrength": "Mạnh", - "moderateStrength": "Vừa phải", + "moderateStrength": "Trung bình", "passwordStrength": "Độ mạnh mật khẩu: {passwordStrengthValue}", "@passwordStrength": { "description": "Text to indicate the password strength", @@ -89,35 +90,35 @@ "message": "Password Strength: {passwordStrengthText}" }, "passwordChangedSuccessfully": "Đã thay đổi mật khẩu thành công", - "generatingEncryptionKeys": "Đang tạo khóa mã hóa...", + "generatingEncryptionKeys": "Đang mã hóa...", "pleaseWait": "Vui lòng chờ...", "continueLabel": "Tiếp tục", "insecureDevice": "Thiết bị không an toàn", - "sorryWeCouldNotGenerateSecureKeysOnThisDevicennplease": "Xin lỗi, chúng tôi không thể tạo khóa an toàn trên thiết bị này.\n\nVui lòng đăng ký từ một thiết bị khác.", + "sorryWeCouldNotGenerateSecureKeysOnThisDevicennplease": "Rất tiếc, chúng tôi không thể tạo khóa an toàn trên thiết bị này.\n\nVui lòng đăng ký từ một thiết bị khác.", "howItWorks": "Cách hoạt động", "encryption": "Mã hóa", "ackPasswordLostWarning": "Tôi hiểu rằng nếu tôi mất mật khẩu, tôi có thể mất dữ liệu của mình vì dữ liệu của tôi được mã hóa đầu cuối.", "privacyPolicyTitle": "Chính sách bảo mật", "termsOfServicesTitle": "Điều khoản", - "signUpTerms": "Tôi đồng ý với các điều khoản dịch vụchính sách bảo mật", + "signUpTerms": "Tôi đồng ý điều khoảnchính sách bảo mật", "logInLabel": "Đăng nhập", - "loginTerms": "Bằng cách nhấp vào đăng nhập, tôi đồng ý với các điều khoản dịch vụchính sách bảo mật", - "changeEmail": "Thay đổi email", + "loginTerms": "Nhấn vào đăng nhập, tôi đồng ý điều khoảnchính sách bảo mật", + "changeEmail": "Đổi email", "enterYourPassword": "Nhập mật khẩu của bạn", "welcomeBack": "Chào mừng trở lại!", "contactSupport": "Liên hệ hỗ trợ", "incorrectPasswordTitle": "Mật khẩu không chính xác", "pleaseTryAgain": "Vui lòng thử lại", "recreatePasswordTitle": "Tạo lại mật khẩu", - "useRecoveryKey": "Sử dụng khóa khôi phục", - "recreatePasswordBody": "Thiết bị hiện tại không đủ mạnh để xác minh mật khẩu của bạn, nhưng chúng tôi có thể tạo lại theo cách hoạt động với tất cả các thiết bị.\n\nVui lòng đăng nhập bằng khóa khôi phục của bạn và tạo lại mật khẩu (bạn có thể sử dụng lại mật khẩu cũ nếu muốn).", + "useRecoveryKey": "Dùng mã khôi phục", + "recreatePasswordBody": "Thiết bị hiện tại không đủ mạnh để xác minh mật khẩu của bạn, nhưng chúng tôi có thể tạo lại để nó hoạt động với tất cả thiết bị.\n\nVui lòng đăng nhập bằng mã khôi phục và tạo lại mật khẩu (bạn có thể dùng lại mật khẩu cũ nếu muốn).", "verifyPassword": "Xác minh mật khẩu", - "recoveryKey": "Khóa khôi phục", - "recoveryKeyOnForgotPassword": "Nếu bạn quên mật khẩu, cách duy nhất để khôi phục dữ liệu của bạn là với khóa này.", - "recoveryKeySaveDescription": "Chúng tôi không lưu trữ khóa này, vui lòng lưu khóa 24 từ này ở một nơi an toàn.", - "doThisLater": "Làm điều này sau", - "saveKey": "Lưu khóa", - "recoveryKeyCopiedToClipboard": "Khóa khôi phục đã được sao chép vào clipboard", + "recoveryKey": "Mã khôi phục", + "recoveryKeyOnForgotPassword": "Nếu bạn quên mật khẩu, cách duy nhất để khôi phục dữ liệu của bạn là dùng mã này.", + "recoveryKeySaveDescription": "Chúng tôi không lưu trữ mã này, nên hãy lưu nó ở một nơi an toàn.", + "doThisLater": "Để sau", + "saveKey": "Lưu mã", + "recoveryKeyCopiedToClipboard": "Đã sao chép mã khôi phục vào bộ nhớ tạm", "recoverAccount": "Khôi phục tài khoản", "recover": "Khôi phục", "dropSupportEmail": "Vui lòng gửi email đến {supportEmail} từ địa chỉ email đã đăng ký của bạn", @@ -130,30 +131,30 @@ } } }, - "twofactorSetup": "Cài đặt hai yếu tố", + "twofactorSetup": "Cài đặt xác minh 2 bước", "enterCode": "Nhập mã", "scanCode": "Quét mã", - "codeCopiedToClipboard": "Mã đã được sao chép vào clipboard", - "copypasteThisCodentoYourAuthenticatorApp": "Sao chép-dán mã này\ntới ứng dụng xác thực của bạn", - "tapToCopy": "chạm để sao chép", - "scanThisBarcodeWithnyourAuthenticatorApp": "Quét mã vạch này bằng\ntới ứng dụng xác thực của bạn", - "enterThe6digitCodeFromnyourAuthenticatorApp": "Nhập mã 6 chữ số từ\ntới ứng dụng xác thực của bạn", + "codeCopiedToClipboard": "Mã đã được sao chép vào bộ nhớ tạm", + "copypasteThisCodentoYourAuthenticatorApp": "Chép & dán mã này\nvào ứng dụng xác thực của bạn", + "tapToCopy": "nhấn để sao chép", + "scanThisBarcodeWithnyourAuthenticatorApp": "Quét mã vạch này bằng\nứng dụng xác thực của bạn", + "enterThe6digitCodeFromnyourAuthenticatorApp": "Nhập mã 6 chữ số từ\nứng dụng xác thực của bạn", "confirm": "Xác nhận", "setupComplete": "Cài đặt hoàn tất", - "saveYourRecoveryKeyIfYouHaventAlready": "Lưu khóa khôi phục của bạn nếu bạn chưa làm", - "thisCanBeUsedToRecoverYourAccountIfYou": "Điều này có thể được sử dụng để khôi phục tài khoản của bạn nếu bạn mất yếu tố thứ hai", - "twofactorAuthenticationPageTitle": "Xác thực hai yếu tố", + "saveYourRecoveryKeyIfYouHaventAlready": "Lưu mã khôi phục của bạn nếu bạn chưa làm", + "thisCanBeUsedToRecoverYourAccountIfYou": "Chúng có thể giúp khôi phục tài khoản của bạn nếu bạn mất xác thực 2 bước", + "twofactorAuthenticationPageTitle": "Xác thực 2 bước", "lostDevice": "Mất thiết bị?", - "verifyingRecoveryKey": "Đang xác minh khóa khôi phục...", - "recoveryKeyVerified": "Khóa khôi phục đã được xác minh", - "recoveryKeySuccessBody": "Tuyệt vời! Khóa khôi phục của bạn hợp lệ. Cảm ơn bạn đã xác minh.\n\nVui lòng nhớ giữ khóa khôi phục của bạn được sao lưu an toàn.", - "invalidRecoveryKey": "Khóa khôi phục bạn nhập không hợp lệ. Vui lòng đảm bảo nó chứa 24 từ, và kiểm tra chính tả của từng từ.\n\nNếu bạn đã nhập mã khôi phục cũ, hãy đảm bảo nó dài 64 ký tự, và kiểm tra từng ký tự.", - "invalidKey": "Khóa không hợp lệ", + "verifyingRecoveryKey": "Đang xác minh mã khôi phục...", + "recoveryKeyVerified": "Mã khôi phục đã được xác minh", + "recoveryKeySuccessBody": "Tuyệt! Mã khôi phục của bạn hợp lệ. Cảm ơn đã xác minh.\n\nNhớ lưu giữ mã khôi phục của bạn ở nơi an toàn.", + "invalidRecoveryKey": "Mã khôi phục không hợp lệ. Vui lòng đảm bảo nó chứa 24 từ, và đúng chính tả từng từ.\n\nNếu bạn nhập loại mã khôi phục cũ, hãy đảm bảo nó dài 64 ký tự, và kiểm tra từng ký tự.", + "invalidKey": "Mã không hợp lệ", "tryAgain": "Thử lại", - "viewRecoveryKey": "Xem khóa khôi phục", - "confirmRecoveryKey": "Xác nhận khóa khôi phục", - "recoveryKeyVerifyReason": "Khóa khôi phục của bạn là cách duy nhất để khôi phục ảnh của bạn nếu bạn quên mật khẩu. Bạn có thể tìm thấy khóa khôi phục của mình trong Cài đặt > Tài khoản.\n\nVui lòng nhập khóa khôi phục của bạn ở đây để xác minh rằng bạn đã lưu nó đúng cách.", - "confirmYourRecoveryKey": "Xác nhận khóa khôi phục của bạn", + "viewRecoveryKey": "Xem mã khôi phục", + "confirmRecoveryKey": "Xác nhận mã khôi phục", + "recoveryKeyVerifyReason": "Mã khôi phục là cách duy nhất để khôi phục ảnh của bạn nếu bạn quên mật khẩu. Bạn có thể xem mã khôi phục của mình trong Cài đặt > Tài khoản.\n\nVui lòng nhập mã khôi phục của bạn ở đây để xác minh rằng bạn đã lưu nó đúng cách.", + "confirmYourRecoveryKey": "Xác nhận mã khôi phục của bạn", "addViewer": "Thêm người xem", "addCollaborator": "Thêm cộng tác viên", "addANewEmail": "Thêm một email mới", @@ -180,17 +181,17 @@ "addedAs": "Đã thêm như", "changePermissions": "Thay đổi quyền?", "yesConvertToViewer": "Có, chuyển thành người xem", - "cannotAddMorePhotosAfterBecomingViewer": "{user} sẽ không thể thêm ảnh mới vào album này\n\nHọ vẫn có thể xóa các ảnh đã thêm trước đó", + "cannotAddMorePhotosAfterBecomingViewer": "{user} sẽ không thể thêm ảnh vào album này\n\nHọ vẫn có thể xóa ảnh đã thêm bởi họ", "allowAddingPhotos": "Cho phép thêm ảnh", "@allowAddingPhotos": { "description": "Switch button to enable uploading photos to a public link" }, - "allowAddPhotosDescription": "Cho phép người có liên kết cũng thêm ảnh vào album chia sẻ.", + "allowAddPhotosDescription": "Cho phép người có liên kết thêm ảnh vào album chia sẻ.", "passwordLock": "Khóa bằng mật khẩu", "canNotOpenTitle": "Không thể mở album này", - "canNotOpenBody": "Xin lỗi, album này không thể mở trong ứng dụng.", + "canNotOpenBody": "Rất tiếc, album này không thể mở trong ứng dụng.", "disableDownloadWarningTitle": "Xin lưu ý", - "disableDownloadWarningBody": "Người xem vẫn có thể chụp màn hình hoặc lưu bản sao ảnh của bạn bằng các công cụ bên ngoài", + "disableDownloadWarningBody": "Người xem vẫn có thể chụp ảnh màn hình hoặc sao chép ảnh của bạn bằng các công cụ bên ngoài", "allowDownloads": "Cho phép tải xuống", "linkDeviceLimit": "Giới hạn thiết bị", "noDeviceLimit": "Không có", @@ -232,15 +233,15 @@ }, "collabLinkSectionDescription": "Tạo một liên kết để cho phép mọi người thêm và xem ảnh trong album chia sẻ của bạn mà không cần ứng dụng hoặc tài khoản Ente. Tuyệt vời để thu thập ảnh sự kiện.", "collectPhotos": "Thu thập ảnh", - "collaborativeLink": "Liên kết hợp tác", - "shareWithNonenteUsers": "Chia sẻ với người dùng không phải Ente", + "collaborativeLink": "Liên kết cộng tác", + "shareWithNonenteUsers": "Chia sẻ với người không dùng Ente", "createPublicLink": "Tạo liên kết công khai", "sendLink": "Gửi liên kết", "copyLink": "Sao chép liên kết", "linkHasExpired": "Liên kết đã hết hạn", - "publicLinkEnabled": "Liên kết công khai đã được kích hoạt", + "publicLinkEnabled": "Liên kết công khai đã được bật", "shareALink": "Chia sẻ một liên kết", - "sharedAlbumSectionDescription": "Tạo album chia sẻ và hợp tác với các người dùng Ente khác, bao gồm cả người dùng trên các gói miễn phí.", + "sharedAlbumSectionDescription": "Tạo album chia sẻ và cộng tác với người dùng Ente khác, bao gồm cả người dùng các gói miễn phí.", "shareWithPeopleSectionTitle": "{numberOfPeople, plural, =0 {Chia sẻ với những người cụ thể} =1 {Chia sẻ với 1 người} other {Chia sẻ với {numberOfPeople} người}}", "@shareWithPeopleSectionTitle": { "placeholders": { @@ -252,7 +253,7 @@ }, "thisIsYourVerificationId": "Đây là ID xác minh của bạn", "someoneSharingAlbumsWithYouShouldSeeTheSameId": "Ai đó chia sẻ album với bạn nên thấy cùng một ID trên thiết bị của họ.", - "howToViewShareeVerificationID": "Vui lòng yêu cầu họ nhấn giữ địa chỉ email của họ trên màn hình cài đặt, và xác minh rằng các ID trên cả hai thiết bị khớp nhau.", + "howToViewShareeVerificationID": "Hãy chỉ họ nhấn giữ địa chỉ email của họ trên màn hình cài đặt, và xác minh rằng ID trên cả hai thiết bị khớp nhau.", "thisIsPersonVerificationId": "Đây là ID xác minh của {email}", "@thisIsPersonVerificationId": { "placeholders": { @@ -264,7 +265,7 @@ }, "verificationId": "ID xác minh", "verifyEmailID": "Xác minh {email}", - "emailNoEnteAccount": "{email} không có tài khoản Ente.\n\nGửi cho họ một lời mời để chia sẻ ảnh.", + "emailNoEnteAccount": "{email} không có tài khoản Ente.\n\nGửi họ một lời mời để chia sẻ ảnh.", "shareMyVerificationID": "Đây là ID xác minh của tôi: {verificationID} cho ente.io.", "shareTextConfirmOthersVerificationID": "Chào, bạn có thể xác nhận rằng đây là ID xác minh ente.io của bạn: {verificationID}", "somethingWentWrong": "Có điều gì đó không đúng", @@ -272,35 +273,35 @@ "shareTextRecommendUsingEnte": "Tải Ente để chúng ta có thể dễ dàng chia sẻ ảnh và video chất lượng gốc\n\nhttps://ente.io", "done": "Xong", "applyCodeTitle": "Áp dụng mã", - "enterCodeDescription": "Nhập mã do bạn bè cung cấp để nhận lưu trữ miễn phí cho cả hai bạn", + "enterCodeDescription": "Nhập mã do bạn bè cung cấp để nhận thêm dung lượng miễn phí cho cả hai", "apply": "Áp dụng", "failedToApplyCode": "Không thể áp dụng mã", "enterReferralCode": "Nhập mã giới thiệu", "codeAppliedPageTitle": "Mã đã được áp dụng", "changeYourReferralCode": "Thay đổi mã giới thiệu của bạn", "change": "Thay đổi", - "unavailableReferralCode": "Xin lỗi, mã này không khả dụng.", - "codeChangeLimitReached": "Xin lỗi, bạn đã đạt giới hạn thay đổi mã.", + "unavailableReferralCode": "Rất tiếc, mã này không khả dụng.", + "codeChangeLimitReached": "Rất tiếc, bạn đã đạt hạn mức thay đổi mã.", "onlyFamilyAdminCanChangeCode": "Vui lòng liên hệ {familyAdminEmail} để thay đổi mã của bạn.", "storageInGB": "{storageAmountInGB} GB", - "claimed": "Đã yêu cầu", + "claimed": "Đã nhận", "@claimed": { "description": "Used to indicate storage claimed, like 10GB Claimed" }, "details": "Chi tiết", - "claimMore": "Yêu cầu thêm!", + "claimMore": "Nhận thêm!", "theyAlsoGetXGb": "Họ cũng nhận được {storageAmountInGB} GB", "freeStorageOnReferralSuccess": "{storageAmountInGB} GB mỗi khi ai đó đăng ký gói trả phí và áp dụng mã của bạn", - "shareTextReferralCode": "Mã giới thiệu Ente: {referralCode} \n\nÁp dụng nó trong Cài đặt → Chung → Giới thiệu để nhận {referralStorageInGB} GB miễn phí sau khi bạn đăng ký gói trả phí\n\nhttps://ente.io", - "claimFreeStorage": "Yêu cầu lưu trữ miễn phí", + "shareTextReferralCode": "Mã giới thiệu Ente: {referralCode} \n\nÁp dụng nó trong Cài đặt → Chung → Giới thiệu để nhận thêm {referralStorageInGB} GB miễn phí sau khi bạn đăng ký gói trả phí\n\nhttps://ente.io", + "claimFreeStorage": "Nhận thêm dung lượng miễn phí", "inviteYourFriends": "Mời bạn bè của bạn", "failedToFetchReferralDetails": "Không thể lấy thông tin giới thiệu. Vui lòng thử lại sau.", "referralStep1": "1. Đưa mã này cho bạn bè của bạn", "referralStep2": "2. Họ đăng ký gói trả phí", - "referralStep3": "3. Cả hai bạn đều nhận {storageInGB} GB* miễn phí", + "referralStep3": "3. Cả hai nhận thêm {storageInGB} GB* miễn phí", "referralsAreCurrentlyPaused": "Giới thiệu hiện đang tạm dừng", - "youCanAtMaxDoubleYourStorage": "* Bạn có thể tối đa gấp đôi lưu trữ của mình", - "claimedStorageSoFar": "{isFamilyMember, select, true {Gia đình bạn đã yêu cầu {storageAmountInGb} GB cho đến nay} false {Bạn đã yêu cầu {storageAmountInGb} GB cho đến nay} other {Bạn đã yêu cầu {storageAmountInGb} GB cho đến nay!}}", + "youCanAtMaxDoubleYourStorage": "* Bạn có thể tối đa ×2 dung lượng của mình", + "claimedStorageSoFar": "{isFamilyMember, select, true {Gia đình bạn đã nhận thêm {storageAmountInGb} GB tính đến hiện tại} false {Bạn đã nhận thêm {storageAmountInGb} GB tính đến hiện tại} other {Bạn đã nhận thêm {storageAmountInGb} GB tính đến hiện tại!}}", "@claimedStorageSoFar": { "placeholders": { "isFamilyMember": { @@ -315,62 +316,77 @@ }, "faq": "Câu hỏi thường gặp", "help": "Trợ giúp", - "oopsSomethingWentWrong": "Ôi, có điều gì đó không đúng", + "oopsSomethingWentWrong": "Ốiii!, có điều gì đó không đúng", "peopleUsingYourCode": "Người dùng mã của bạn", "eligible": "đủ điều kiện", "total": "tổng", - "codeUsedByYou": "Mã được sử dụng bởi bạn", - "freeStorageClaimed": "Lưu trữ miễn phí đã yêu cầu", - "freeStorageUsable": "Lưu trữ miễn phí có thể sử dụng", - "usableReferralStorageInfo": "Lưu trữ có thể sử dụng bị giới hạn bởi gói hiện tại của bạn. Lưu trữ đã yêu cầu vượt quá sẽ tự động trở thành có thể sử dụng khi bạn nâng cấp gói của mình.", + "codeUsedByYou": "Mã bạn đã dùng", + "freeStorageClaimed": "Dung lượng miễn phí đã nhận", + "freeStorageUsable": "Dung lượng miễn phí có thể dùng", + "usableReferralStorageInfo": "Dung lượng có thể dùng bị giới hạn bởi gói hiện tại của bạn. Dung lượng nhận thêm vượt hạn mức sẽ tự động có thể dùng khi bạn nâng cấp gói.", "removeFromAlbumTitle": "Xóa khỏi album?", "removeFromAlbum": "Xóa khỏi album", "itemsWillBeRemovedFromAlbum": "Các mục đã chọn sẽ bị xóa khỏi album này", - "removeShareItemsWarning": "Một số mục bạn đang xóa đã được thêm bởi người khác, và bạn sẽ mất quyền truy cập vào chúng", + "removeShareItemsWarning": "Vài mục mà bạn đang xóa được thêm bởi người khác, và bạn sẽ mất quyền truy cập vào chúng", "addingToFavorites": "Đang thêm vào mục yêu thích...", "removingFromFavorites": "Đang xóa khỏi mục yêu thích...", "sorryCouldNotAddToFavorites": "Xin lỗi, không thể thêm vào mục yêu thích!", "sorryCouldNotRemoveFromFavorites": "Xin lỗi, không thể xóa khỏi mục yêu thích!", - "subscribeToEnableSharing": "Bạn cần một đăng ký trả phí hoạt động để kích hoạt chia sẻ.", - "subscribe": "Đăng ký", + "subscribeToEnableSharing": "Bạn phải dùng gói trả phí mới có thể chia sẻ.", + "subscribe": "Đăng ký gói", "canOnlyRemoveFilesOwnedByYou": "Chỉ có thể xóa các tệp thuộc sở hữu của bạn", "deleteSharedAlbum": "Xóa album chia sẻ?", "deleteAlbum": "Xóa album", - "deleteAlbumDialog": "Cũng xóa các ảnh (và video) có trong album này từ tất cả các album khác mà chúng là một phần của?", - "deleteSharedAlbumDialogBody": "Album sẽ bị xóa cho tất cả mọi người\n\nBạn sẽ mất quyền truy cập vào các ảnh chia sẻ trong album này mà thuộc sở hữu của người khác", + "deleteAlbumDialog": "Xóa luôn các tấm ảnh (và video) có trong album này khỏi toàn bộ album khác cũng đang chứa chúng?", + "deleteSharedAlbumDialogBody": "Album sẽ bị xóa với tất cả mọi người\n\nBạn sẽ mất quyền truy cập vào các ảnh chia sẻ trong album này mà thuộc sở hữu của người khác", "yesRemove": "Có, xóa", "creatingLink": "Đang tạo liên kết...", "removeWithQuestionMark": "Xóa?", "removeParticipantBody": "{userEmail} sẽ bị xóa khỏi album chia sẻ này\n\nBất kỳ ảnh nào được thêm bởi họ cũng sẽ bị xóa khỏi album", "keepPhotos": "Giữ ảnh", "deletePhotos": "Xóa ảnh", - "inviteToEnte": "Mời đến Ente", + "inviteToEnte": "Mời sử dụng Ente", "removePublicLink": "Xóa liên kết công khai", - "disableLinkMessage": "Điều này sẽ xóa liên kết công khai để truy cập \"{albumName}\".", - "sharing": "Chia sẻ...", + "disableLinkMessage": "Xóa liên kết công khai dùng để truy cập \"{albumName}\".", + "sharing": "Đang chia sẻ...", "youCannotShareWithYourself": "Bạn không thể chia sẻ với chính mình", "archive": "Lưu trữ", - "createAlbumActionHint": "Nhấn giữ để chọn ảnh và nhấp + để tạo album", + "createAlbumActionHint": "Nhấn giữ để chọn ảnh và nhấn + để tạo album", "importing": "Đang nhập....", "failedToLoadAlbums": "Không thể tải album", "hidden": "Ẩn", - "authToViewYourHiddenFiles": "Vui lòng xác thực để xem các tệp ẩn của bạn", - "authToViewTrashedFiles": "Vui lòng xác thực để xem các tệp đã xóa của bạn", + "authToViewYourHiddenFiles": "Vui lòng xác thực để xem các tệp ẩn", + "authToViewTrashedFiles": "Vui lòng xác thực để xem các tệp đã xóa", "trash": "Thùng rác", "uncategorized": "Chưa phân loại", "videoSmallCase": "video", "photoSmallCase": "ảnh", - "singleFileDeleteHighlight": "Nó sẽ bị xóa khỏi tất cả các album.", + "singleFileDeleteHighlight": "Nó sẽ bị xóa khỏi tất cả album.", "singleFileInBothLocalAndRemote": "Tệp {fileType} này có trong cả Ente và thiết bị của bạn.", "singleFileInRemoteOnly": "Tệp {fileType} này sẽ bị xóa khỏi Ente.", "singleFileDeleteFromDevice": "Tệp {fileType} này sẽ bị xóa khỏi thiết bị của bạn.", "deleteFromEnte": "Xóa khỏi Ente", "yesDelete": "Có, xóa", - "movedToTrash": "Đã chuyển vào thùng rác", + "movedToTrash": "Đã cho vào thùng rác", "deleteFromDevice": "Xóa khỏi thiết bị", "deleteFromBoth": "Xóa khỏi cả hai", "newAlbum": "Album mới", "albums": "Album", + "memoryCount": "{count, plural, =0{chưa có ảnh} other{{formattedCount} ảnh}}", + "@memoryCount": { + "description": "The text to display the number of memories", + "type": "text", + "placeholders": { + "count": { + "example": "1", + "type": "int" + }, + "formattedCount": { + "type": "String", + "example": "11.513, 11,511" + } + } + }, "selectedPhotos": "{count} đã chọn", "@selectedPhotos": { "description": "Display the number of selected photos", @@ -382,7 +398,7 @@ } } }, - "selectedPhotosWithYours": "{count} đã chọn ({yourCount} của bạn)", + "selectedPhotosWithYours": "{count} đã chọn ({yourCount} là của bạn)", "@selectedPhotosWithYours": { "description": "Display the number of selected photos, including the number of selected photos owned by the user", "type": "text", @@ -403,34 +419,34 @@ }, "photoGridSize": "Kích thước lưới ảnh", "manageDeviceStorage": "Quản lý bộ nhớ đệm của thiết bị", - "manageDeviceStorageDesc": "Review and clear local cache storage.", + "manageDeviceStorageDesc": "Xem và xóa bộ nhớ đệm trên thiết bị.", "machineLearning": "Học máy", - "mlConsent": "Kích hoạt học máy", - "mlConsentTitle": "Kích hoạt học máy?", - "mlConsentDescription": "Nếu bạn kích hoạt học máy, Ente sẽ trích xuất thông tin như hình dạng khuôn mặt từ các tệp, bao gồm cả những tệp được chia sẻ với bạn.\n\nĐiều này sẽ xảy ra trên thiết bị của bạn, và bất kỳ thông tin sinh trắc học nào được tạo ra sẽ được mã hóa đầu cuối.", - "mlConsentPrivacy": "Vui lòng nhấp vào đây để biết thêm chi tiết về tính năng này trong chính sách quyền riêng tư của chúng tôi", - "mlConsentConfirmation": "Tôi hiểu và muốn kích hoạt học máy", - "magicSearch": "Tìm kiếm ma thuật", + "mlConsent": "Bật học máy", + "mlConsentTitle": "Bật học máy?", + "mlConsentDescription": "Nếu bạn bật học máy, Ente sẽ trích xuất thông tin như hình dạng khuôn mặt từ các tệp, gồm cả những tệp mà bạn được chia sẻ.\n\nViệc này sẽ diễn ra trên thiết bị của bạn, với mọi thông tin sinh trắc học tạo ra đều được mã hóa đầu cuối.", + "mlConsentPrivacy": "Vui lòng nhấn vào đây để biết thêm chi tiết về tính năng này trong chính sách quyền riêng tư của chúng tôi", + "mlConsentConfirmation": "Tôi hiểu và muốn bật học máy", + "magicSearch": "Tìm kiếm vi diệu", "discover": "Khám phá", "@discover": { "description": "The text to display for the discover section under which we show receipts, screenshots, sunsets, greenery, etc." }, - "discover_identity": "Danh tính", + "discover_identity": "Nhận dạng", "discover_screenshots": "Ảnh chụp màn hình", "discover_receipts": "Biên lai", "discover_notes": "Ghi chú", - "discover_memes": "Hình ảnh chế", - "discover_visiting_cards": "Thẻ thăm", - "discover_babies": "Trẻ em", + "discover_memes": "Meme", + "discover_visiting_cards": "Thẻ", + "discover_babies": "Em bé", "discover_pets": "Thú cưng", - "discover_selfies": "Ảnh tự sướng", + "discover_selfies": "Selfie", "discover_wallpapers": "Hình nền", "discover_food": "Thức ăn", "discover_celebrations": "Lễ kỷ niệm", "discover_sunset": "Hoàng hôn", "discover_hills": "Đồi", "discover_greenery": "Cây cối", - "mlIndexingDescription": "Xin lưu ý rằng việc học máy sẽ dẫn đến việc sử dụng băng thông và pin cao hơn cho đến khi tất cả các mục được lập chỉ mục. Hãy xem xét việc sử dụng ứng dụng máy tính để bàn để lập chỉ mục nhanh hơn, tất cả kết quả sẽ được đồng bộ hóa tự động.", + "mlIndexingDescription": "Lưu ý rằng việc học máy sẽ khiến tốn băng thông và pin nhiều hơn cho đến khi tất cả mục được lập chỉ mục. Hãy sử dụng ứng dụng máy tính để lập chỉ mục nhanh hơn. Mọi kết quả sẽ được tự động đồng bộ.", "loadingModel": "Đang tải mô hình...", "waitingForWifi": "Đang chờ WiFi...", "status": "Trạng thái", @@ -460,36 +476,36 @@ } } }, - "showMemories": "Hiển thị kỷ niệm", + "showMemories": "Xem lại kỷ niệm", "yearsAgo": "{count, plural, other{{count} năm trước}}", "backupSettings": "Cài đặt sao lưu", "backupStatus": "Trạng thái sao lưu", "backupStatusDescription": "Các mục đã được sao lưu sẽ hiển thị ở đây", - "backupOverMobileData": "Sao lưu qua dữ liệu di động", + "backupOverMobileData": "Sao lưu bằng dữ liệu di động", "backupVideos": "Sao lưu video", "disableAutoLock": "Vô hiệu hóa khóa tự động", - "deviceLockExplanation": "Vô hiệu hóa khóa màn hình thiết bị khi Ente đang ở chế độ nền và có một bản sao lưu đang diễn ra. Điều này thường không cần thiết, nhưng có thể giúp các tải lên lớn và nhập khẩu ban đầu của các thư viện lớn hoàn thành nhanh hơn.", + "deviceLockExplanation": "Vô hiệu hóa khóa màn hình thiết bị khi Ente đang ở chế độ nền và có một bản sao lưu đang diễn ra. Điều này thường không cần thiết, nhưng có thể giúp tải lên các tệp lớn và tệp nhập của các thư viện lớn xong nhanh hơn.", "about": "Giới thiệu", "weAreOpenSource": "Chúng tôi là mã nguồn mở!", - "privacy": "Quyền riêng tư", + "privacy": "Bảo mật", "terms": "Điều khoản", "checkForUpdates": "Kiểm tra cập nhật", "checkStatus": "Kiểm tra trạng thái", "checking": "Đang kiểm tra...", "youAreOnTheLatestVersion": "Bạn đang sử dụng phiên bản mới nhất", "account": "Tài khoản", - "manageSubscription": "Quản lý đăng ký", - "authToChangeYourEmail": "Vui lòng xác thực để thay đổi email của bạn", + "manageSubscription": "Quản lý gói", + "authToChangeYourEmail": "Vui lòng xác thực để đổi email", "changePassword": "Đổi mật khẩu", - "authToChangeYourPassword": "Vui lòng xác thực để thay đổi mật khẩu của bạn", + "authToChangeYourPassword": "Vui lòng xác thực để đổi mật khẩu", "emailVerificationToggle": "Xác minh email", - "authToChangeEmailVerificationSetting": "Vui lòng xác thực để thay đổi cài đặt xác minh email", + "authToChangeEmailVerificationSetting": "Vui lòng xác thực để đổi cài đặt xác minh email", "exportYourData": "Xuất dữ liệu của bạn", "logout": "Đăng xuất", "authToInitiateAccountDeletion": "Vui lòng xác thực để bắt đầu xóa tài khoản", - "areYouSureYouWantToLogout": "Bạn có chắc chắn muốn đăng xuất không?", + "areYouSureYouWantToLogout": "Bạn có chắc muốn đăng xuất không?", "yesLogout": "Có, đăng xuất", - "aNewVersionOfEnteIsAvailable": "Có phiên bản mới của Ente.", + "aNewVersionOfEnteIsAvailable": "Ente có phiên bản mới.", "update": "Cập nhật", "installManually": "Cài đặt thủ công", "criticalUpdateAvailable": "Cập nhật quan trọng có sẵn", @@ -497,22 +513,23 @@ "ignoreUpdate": "Bỏ qua", "downloading": "Đang tải xuống...", "cannotDeleteSharedFiles": "Không thể xóa các tệp đã chia sẻ", - "theDownloadCouldNotBeCompleted": "Tải xuống không thể hoàn tất", + "theDownloadCouldNotBeCompleted": "Không thể hoàn tất tải xuống", "retry": "Thử lại", "backedUpFolders": "Thư mục đã sao lưu", "backup": "Sao lưu", - "freeUpDeviceSpace": "Giải phóng không gian thiết bị", - "freeUpDeviceSpaceDesc": "Tiết kiệm không gian trên thiết bị của bạn bằng cách xóa các tệp đã được sao lưu.", - "allClear": "✨ Tất cả đã rõ", - "noDeviceThatCanBeDeleted": "Bạn không có tệp nào trên thiết bị này có thể bị xóa", + "freeUpDeviceSpace": "Giải phóng dung lượng thiết bị", + "freeUpDeviceSpaceDesc": "Tiết kiệm dung lượng thiết bị của bạn bằng cách xóa các tệp đã được sao lưu.", + "allClear": "✨ Tất cả đã xong", + "noDeviceThatCanBeDeleted": "Bạn không có tệp nào có thể xóa trên thiết bị này", "removeDuplicates": "Xóa trùng lặp", - "removeDuplicatesDesc": "Xem xét và xóa các tệp là bản sao chính xác.", + "removeDuplicatesDesc": "Xem và xóa các tệp bị trùng lặp.", "viewLargeFiles": "Tệp lớn", - "viewLargeFilesDesc": "Xem các tệp đang tiêu tốn nhiều dung lượng lưu trữ nhất.", + "viewLargeFilesDesc": "Xem các tệp đang chiếm nhiều dung lượng nhất.", "noDuplicates": "✨ Không có trùng lặp", + "youveNoDuplicateFilesThatCanBeCleared": "Bạn không có tệp nào bị trùng để xóa", "success": "Thành công", "rateUs": "Đánh giá chúng tôi", - "remindToEmptyDeviceTrash": "Cũng hãy xóa \"Đã xóa gần đây\" từ \"Cài đặt\" -> \"Lưu trữ\" để chiếm không gian đã giải phóng", + "remindToEmptyDeviceTrash": "Hãy xóa luôn \"Đã xóa gần đây\" từ \"Cài đặt\" -> \"Lưu trữ\" để lấy lại dung lượng đã giải phóng", "youHaveSuccessfullyFreedUp": "Bạn đã giải phóng thành công {storageSaved}!", "@youHaveSuccessfullyFreedUp": { "description": "The text to display when the user has successfully freed up storage", @@ -524,9 +541,9 @@ } } }, - "remindToEmptyEnteTrash": "Cũng hãy xóa \"Thùng rác\" của bạn để chiếm không gian đã giải phóng", + "remindToEmptyEnteTrash": "Hãy xóa luôn \"Thùng rác\" của bạn để lấy lại dung lượng đã giải phóng", "sparkleSuccess": "✨ Thành công", - "duplicateFileCountWithStorageSaved": "Bạn đã dọn dẹp {count, plural, other{{count} tệp trùng lặp}}, tiết kiệm ({storageSaved}!)", + "duplicateFileCountWithStorageSaved": "Bạn đã dọn dẹp {count, plural, other{{count} tệp bị trùng lặp}}, lấy lại ({storageSaved}!)", "@duplicateFileCountWithStorageSaved": { "description": "The text to display when the user has successfully cleaned up duplicate files", "type": "text", @@ -549,40 +566,40 @@ "advanced": "Nâng cao", "general": "Chung", "security": "Bảo mật", - "authToViewYourRecoveryKey": "Vui lòng xác thực để xem khóa khôi phục của bạn", - "twofactor": "Xác thực hai yếu tố", - "authToConfigureTwofactorAuthentication": "Vui lòng xác thực để cấu hình xác thực hai yếu tố", - "lockscreen": "Màn hình khóa", - "authToChangeLockscreenSetting": "Vui lòng xác thực để thay đổi cài đặt màn hình khóa", + "authToViewYourRecoveryKey": "Vui lòng xác thực để xem mã khôi phục", + "twofactor": "Xác thực 2 bước", + "authToConfigureTwofactorAuthentication": "Vui lòng xác thực để cấu hình xác thực 2 bước", + "lockscreen": "Khóa màn hình", + "authToChangeLockscreenSetting": "Vui lòng xác thực để thay đổi cài đặt khóa màn hình", "viewActiveSessions": "Xem phiên hoạt động", - "authToViewYourActiveSessions": "Vui lòng xác thực để xem các phiên hoạt động của bạn", - "disableTwofactor": "Vô hiệu hóa xác thực hai yếu tố", - "confirm2FADisable": "Bạn có chắc chắn muốn vô hiệu hóa xác thực hai yếu tố không?", + "authToViewYourActiveSessions": "Vui lòng xác thực để xem các phiên hoạt động", + "disableTwofactor": "Tắt xác thực 2 bước", + "confirm2FADisable": "Bạn có chắc muốn tắt xác thực 2 bước không?", "no": "Không", "yes": "Có", - "social": "Xã hội", + "social": "Mạng xã hội", "rateUsOnStore": "Đánh giá chúng tôi trên {storeName}", "blog": "Blog", - "merchandise": "Merchandise", + "merchandise": "Vật phẩm", "twitter": "Twitter", "mastodon": "Mastodon", "matrix": "Matrix", "discord": "Discord", "reddit": "Reddit", - "yourStorageDetailsCouldNotBeFetched": "Chi tiết lưu trữ của bạn không thể được lấy", - "reportABug": "Báo cáo lỗi", - "reportBug": "Báo cáo lỗi", - "suggestFeatures": "Gợi ý tính năng", + "yourStorageDetailsCouldNotBeFetched": "Không thể lấy chi tiết dung lượng của bạn", + "reportABug": "Báo lỗi", + "reportBug": "Báo lỗi", + "suggestFeatures": "Đề xuất tính năng", "support": "Hỗ trợ", "theme": "Chủ đề", "lightTheme": "Sáng", "darkTheme": "Tối", - "systemTheme": "Hệ thống", + "systemTheme": "Giống hệ thống", "freeTrial": "Dùng thử miễn phí", "selectYourPlan": "Chọn gói của bạn", - "enteSubscriptionPitch": "Ente lưu giữ kỷ niệm của bạn, vì vậy chúng luôn có sẵn cho bạn, ngay cả khi bạn mất thiết bị.", - "enteSubscriptionShareWithFamily": "Gia đình bạn cũng có thể được thêm vào gói của bạn.", - "currentUsageIs": "Sử dụng hiện tại là ", + "enteSubscriptionPitch": "Ente lưu giữ kỷ niệm của bạn, vì vậy chúng luôn có sẵn, ngay cả khi bạn mất thiết bị.", + "enteSubscriptionShareWithFamily": "Bạn có thể thêm gia đình vào gói của mình.", + "currentUsageIs": "Dung lượng hiện tại ", "@currentUsageIs": { "description": "This text is followed by storage usage", "examples": { @@ -591,39 +608,39 @@ "type": "text" }, "faqs": "Câu hỏi thường gặp", - "renewsOn": "Đăng ký sẽ được gia hạn vào {endDate}", - "freeTrialValidTill": "Dùng thử miễn phí có hiệu lực đến {endDate}", - "validTill": "Có hiệu lực đến {endDate}", - "addOnValidTill": "Gói bổ sung {storageAmount} của bạn có hiệu lực đến {endDate}", - "playStoreFreeTrialValidTill": "Dùng thử miễn phí có hiệu lực đến {endDate}.\nBạn có thể chọn gói trả phí sau đó.", - "subWillBeCancelledOn": "Đăng ký của bạn sẽ bị hủy vào {endDate}", - "subscription": "Đăng ký", + "renewsOn": "Gia hạn gói vào {endDate}", + "freeTrialValidTill": "Dùng thử miễn phí áp dụng đến {endDate}", + "validTill": "Áp dụng đến {endDate}", + "addOnValidTill": "Gói bổ sung {storageAmount} áp dụng đến {endDate}", + "playStoreFreeTrialValidTill": "Dùng thử miễn phí áp dụng đến {endDate}.\nBạn có thể chọn gói trả phí sau đó.", + "subWillBeCancelledOn": "Gói của bạn sẽ bị hủy vào {endDate}", + "subscription": "Gói đăng ký", "paymentDetails": "Chi tiết thanh toán", "manageFamily": "Quản lý gia đình", - "contactToManageSubscription": "Vui lòng liên hệ với chúng tôi tại support@ente.io để quản lý đăng ký {provider} của bạn.", - "renewSubscription": "Gia hạn đăng ký", - "cancelSubscription": "Hủy đăng ký", - "areYouSureYouWantToRenew": "Bạn có chắc chắn muốn gia hạn không?", + "contactToManageSubscription": "Vui lòng liên hệ với chúng tôi qua support@ente.io để quản lý gói {provider} của bạn.", + "renewSubscription": "Gia hạn gói", + "cancelSubscription": "Hủy gói", + "areYouSureYouWantToRenew": "Bạn có chắc muốn gia hạn không?", "yesRenew": "Có, Gia hạn", - "areYouSureYouWantToCancel": "Bạn có chắc chắn muốn hủy không?", + "areYouSureYouWantToCancel": "Bạn có chắc muốn hủy không?", "yesCancel": "Có, hủy", "failedToRenew": "Gia hạn không thành công", "failedToCancel": "Hủy không thành công", - "twoMonthsFreeOnYearlyPlans": "2 tháng miễn phí cho các gói hàng năm", - "monthly": "Hàng tháng", + "twoMonthsFreeOnYearlyPlans": "Nhận 2 tháng miễn phí với các gói theo năm", + "monthly": "Theo tháng", "@monthly": { "description": "The text to display for monthly plans", "type": "text" }, - "yearly": "Hàng năm", + "yearly": "Theo năm", "@yearly": { "description": "The text to display for yearly plans", "type": "text" }, "confirmPlanChange": "Xác nhận thay đổi gói", - "areYouSureYouWantToChangeYourPlan": "Bạn có chắc chắn muốn thay đổi gói của mình không?", - "youCannotDowngradeToThisPlan": "Bạn không thể hạ cấp xuống gói này", - "cancelOtherSubscription": "Vui lòng hủy đăng ký hiện tại của bạn từ {paymentProvider} trước", + "areYouSureYouWantToChangeYourPlan": "Bạn có chắc muốn thay đổi gói của mình không?", + "youCannotDowngradeToThisPlan": "Bạn không thể đổi xuống gói này", + "cancelOtherSubscription": "Vui lòng hủy gói hiện tại của bạn từ {paymentProvider} trước", "@cancelOtherSubscription": { "description": "The text to display when the user has an existing subscription from a different payment provider", "type": "text", @@ -634,24 +651,24 @@ } } }, - "optionalAsShortAsYouLike": "Tùy chọn, ngắn như bạn muốn...", + "optionalAsShortAsYouLike": "Tùy chọn, ngắn dài tùy ý...", "send": "Gửi", - "askCancelReason": "Đăng ký của bạn đã bị hủy. Bạn có muốn chia sẻ lý do không?", - "thankYouForSubscribing": "Cảm ơn bạn đã đăng ký!", - "yourPurchaseWasSuccessful": "Mua hàng của bạn đã thành công", - "yourPlanWasSuccessfullyUpgraded": "Kế hoạch của bạn đã được nâng cấp thành công", - "yourPlanWasSuccessfullyDowngraded": "Kế hoạch của bạn đã được hạ cấp thành công", - "yourSubscriptionWasUpdatedSuccessfully": "Đăng ký của bạn đã được cập nhật thành công", + "askCancelReason": "Gói của bạn đã bị hủy. Bạn có muốn chia sẻ lý do không?", + "thankYouForSubscribing": "Cảm ơn bạn đã đăng ký gói!", + "yourPurchaseWasSuccessful": "Bạn đã giao dịch thành công", + "yourPlanWasSuccessfullyUpgraded": "Gói của bạn đã được nâng cấp thành công", + "yourPlanWasSuccessfullyDowngraded": "Gói của bạn đã được hạ cấp thành công", + "yourSubscriptionWasUpdatedSuccessfully": "Gói của bạn đã được cập nhật thành công", "googlePlayId": "ID Google Play", "appleId": "ID Apple", - "playstoreSubscription": "Đăng ký PlayStore", - "appstoreSubscription": "Đăng ký AppStore", - "subAlreadyLinkedErrMessage": "ID {id} của bạn đã được liên kết với một tài khoản Ente khác.\nNếu bạn muốn sử dụng ID {id} này với tài khoản này, vui lòng liên hệ với bộ phận hỗ trợ của chúng tôi.", - "visitWebToManage": "Vui lòng truy cập web.ente.io để quản lý đăng ký của bạn", - "couldNotUpdateSubscription": "Không thể cập nhật đăng ký", - "pleaseContactSupportAndWeWillBeHappyToHelp": "Vui lòng liên hệ với support@ente.io và chúng tôi sẽ rất vui lòng giúp đỡ!", + "playstoreSubscription": "Gói PlayStore", + "appstoreSubscription": "Gói AppStore", + "subAlreadyLinkedErrMessage": "ID {id} của bạn đã được liên kết với một tài khoản Ente khác.\nNếu bạn muốn sử dụng ID {id} này với tài khoản này, vui lòng liên hệ bộ phận hỗ trợ của chúng tôi.", + "visitWebToManage": "Vui lòng truy cập web.ente.io để quản lý gói đăng ký", + "couldNotUpdateSubscription": "Không thể cập nhật gói", + "pleaseContactSupportAndWeWillBeHappyToHelp": "Vui lòng liên hệ support@ente.io và chúng tôi rất sẵn sàng giúp đỡ!", "paymentFailed": "Thanh toán thất bại", - "paymentFailedTalkToProvider": "Vui lòng nói chuyện với bộ phận hỗ trợ {providerName} nếu bạn đã bị tính phí", + "paymentFailedTalkToProvider": "Vui lòng trao đổi với bộ phận hỗ trợ {providerName} nếu bạn đã bị tính phí", "@paymentFailedTalkToProvider": { "description": "The text to display when the payment failed", "type": "text", @@ -663,15 +680,15 @@ } }, "continueOnFreeTrial": "Tiếp tục dùng thử miễn phí", - "areYouSureYouWantToExit": "Bạn có chắc chắn muốn thoát không?", + "areYouSureYouWantToExit": "Bạn có chắc muốn thoát không?", "thankYou": "Cảm ơn bạn", "failedToVerifyPaymentStatus": "Không thể xác minh trạng thái thanh toán", - "pleaseWaitForSometimeBeforeRetrying": "Vui lòng chờ một thời gian trước khi thử lại", - "paymentFailedMessage": "Rất tiếc, thanh toán của bạn đã thất bại. Vui lòng liên hệ với bộ phận hỗ trợ và chúng tôi sẽ giúp bạn!", - "youAreOnAFamilyPlan": "Bạn đang ở trên một kế hoạch gia đình!", - "contactFamilyAdmin": "Vui lòng liên hệ với {familyAdminEmail} để quản lý đăng ký của bạn", + "pleaseWaitForSometimeBeforeRetrying": "Vui lòng chờ một chút trước khi thử lại", + "paymentFailedMessage": "Rất tiếc, bạn đã thanh toán không thành công. Vui lòng liên hệ hỗ trợ và chúng tôi sẽ giúp bạn!", + "youAreOnAFamilyPlan": "Bạn đang dùng gói gia đình!", + "contactFamilyAdmin": "Vui lòng liên hệ {familyAdminEmail} để quản lý gói của bạn", "leaveFamily": "Rời khỏi gia đình", - "areYouSureThatYouWantToLeaveTheFamily": "Bạn có chắc chắn muốn rời khỏi kế hoạch gia đình không?", + "areYouSureThatYouWantToLeaveTheFamily": "Bạn có chắc muốn rời khỏi gói gia đình không?", "leave": "Rời", "rateTheApp": "Đánh giá ứng dụng", "startBackup": "Bắt đầu sao lưu", @@ -687,33 +704,34 @@ "forYourMemories": "cho những kỷ niệm của bạn", "endtoendEncryptedByDefault": "Mã hóa đầu cuối theo mặc định", "safelyStored": "Lưu trữ an toàn", - "atAFalloutShelter": "tại một nơi trú ẩn", - "designedToOutlive": "Được thiết kế để tồn tại lâu hơn", + "atAFalloutShelter": "ở hầm trú ẩn hạt nhân", + "designedToOutlive": "Được thiết kế để trường tồn", "available": "Có sẵn", "everywhere": "mọi nơi", "androidIosWebDesktop": "Android, iOS, Web, Desktop", "mobileWebDesktop": "Di động, Web, Desktop", - "newToEnte": "Mới đến Ente", + "newToEnte": "Mới dùng Ente", "pleaseLoginAgain": "Vui lòng đăng nhập lại", "autoLogoutMessage": "Do sự cố kỹ thuật, bạn đã bị đăng xuất. Chúng tôi xin lỗi vì sự bất tiện.", - "yourSubscriptionHasExpired": "Đăng ký của bạn đã hết hạn", - "storageLimitExceeded": "Vượt quá giới hạn lưu trữ", + "yourSubscriptionHasExpired": "Gói của bạn đã hết hạn", + "storageLimitExceeded": "Đã vượt hạn mức lưu trữ", "upgrade": "Nâng cấp", - "raiseTicket": "Tạo vé", + "raiseTicket": "Yêu cầu hỗ trợ", "@raiseTicket": { "description": "Button text for raising a support tickets in case of unhandled errors during backup", "type": "text" }, "backupFailed": "Sao lưu thất bại", + "sorryBackupFailedDesc": "Rất tiếc, không thể sao lưu tệp vào lúc này, chúng tôi sẽ thử lại sau.", "couldNotBackUpTryLater": "Chúng tôi không thể sao lưu dữ liệu của bạn.\nChúng tôi sẽ thử lại sau.", - "enteCanEncryptAndPreserveFilesOnlyIfYouGrant": "Ente có thể mã hóa và lưu giữ tệp chỉ nếu bạn cấp quyền truy cập cho chúng", + "enteCanEncryptAndPreserveFilesOnlyIfYouGrant": "Ente chỉ có thể mã hóa và lưu giữ tệp nếu bạn cấp quyền truy cập chúng", "pleaseGrantPermissions": "Vui lòng cấp quyền", "grantPermission": "Cấp quyền", "privateSharing": "Chia sẻ riêng tư", - "shareOnlyWithThePeopleYouWant": "Chia sẻ chỉ với những người bạn muốn", - "usePublicLinksForPeopleNotOnEnte": "Sử dụng liên kết công khai cho những người không có trên Ente", + "shareOnlyWithThePeopleYouWant": "Chỉ chia sẻ với những người bạn muốn", + "usePublicLinksForPeopleNotOnEnte": "Dùng liên kết công khai cho những người không dùng Ente", "allowPeopleToAddPhotos": "Cho phép mọi người thêm ảnh", - "shareAnAlbumNow": "Chia sẻ một album ngay bây giờ", + "shareAnAlbumNow": "Chia sẻ ngay một album", "collectEventPhotos": "Thu thập ảnh sự kiện", "sessionExpired": "Phiên đã hết hạn", "loggingOut": "Đang đăng xuất...", @@ -729,10 +747,10 @@ "onEnte": "Trên ente", "name": "Tên", "newest": "Mới nhất", - "lastUpdated": "Cập nhật lần cuối", + "lastUpdated": "Mới cập nhật", "deleteEmptyAlbums": "Xóa album trống", "deleteEmptyAlbumsWithQuestionMark": "Xóa album trống?", - "deleteAlbumsDialogBody": "Điều này sẽ xóa tất cả album trống. Điều này hữu ích khi bạn muốn giảm bớt sự lộn xộn trong danh sách album của mình.", + "deleteAlbumsDialogBody": "Tất cả album trống sẽ bị xóa. Sẽ hữu ích khi bạn muốn giảm bớt sự lộn xộn trong danh sách album của mình.", "deleteProgress": "Đang xóa {currentlyDeleting} / {totalCount}", "genericProgress": "Đang xử lý {currentlyProcessing} / {totalCount}", "@genericProgress": { @@ -753,7 +771,7 @@ "canOnlyCreateLinkForFilesOwnedByYou": "Chỉ có thể tạo liên kết cho các tệp thuộc sở hữu của bạn", "publicLinkCreated": "Liên kết công khai đã được tạo", "youCanManageYourLinksInTheShareTab": "Bạn có thể quản lý các liên kết của mình trong tab chia sẻ.", - "linkCopiedToClipboard": "Liên kết đã được sao chép vào clipboard", + "linkCopiedToClipboard": "Liên kết đã được sao chép vào bộ nhớ tạm", "restore": "Khôi phục", "@restore": { "description": "Display text for an action which triggers a restore of item from trash", @@ -761,9 +779,9 @@ }, "moveToAlbum": "Chuyển đến album", "unhide": "Hiện lại", - "unarchive": "Khôi phục", - "favorite": "Yêu thích", - "removeFromFavorite": "Xóa khỏi yêu thích", + "unarchive": "Bỏ lưu trữ", + "favorite": "Thích", + "removeFromFavorite": "Xóa khỏi mục đã thích", "shareLink": "Chia sẻ liên kết", "createCollage": "Tạo ảnh ghép", "saveCollage": "Lưu ảnh ghép", @@ -774,8 +792,16 @@ "delete": "Xóa", "hide": "Ẩn", "share": "Chia sẻ", - "unhideToAlbum": "Hiện lại vào album", + "unhideToAlbum": "Hiện lại trong album", "restoreToAlbum": "Khôi phục vào album", + "moveItem": "{count, plural, =1 {Di chuyển mục} other {Di chuyển các mục}}", + "@moveItem": { + "description": "Page title while moving one or more items to an album" + }, + "addItem": "{count, plural, =1 {Thêm mục} other {Thêm các mục}}", + "@addItem": { + "description": "Page title while adding one or more items to album" + }, "createOrSelectAlbum": "Tạo hoặc chọn album", "selectAlbum": "Chọn album", "searchByAlbumNameHint": "Tên album", @@ -783,24 +809,24 @@ "enterAlbumName": "Nhập tên album", "restoringFiles": "Đang khôi phục tệp...", "movingFilesToAlbum": "Đang di chuyển tệp vào album...", - "unhidingFilesToAlbum": "Đang hiện lại tệp vào album", + "unhidingFilesToAlbum": "Đang hiện lại tệp trong album", "canNotUploadToAlbumsOwnedByOthers": "Không thể tải lên album thuộc sở hữu của người khác", "uploadingFilesToAlbum": "Đang tải tệp lên album...", "addedSuccessfullyTo": "Đã thêm thành công vào {albumName}", "movedSuccessfullyTo": "Đã di chuyển thành công đến {albumName}", - "thisAlbumAlreadyHDACollaborativeLink": "Album này đã có một liên kết hợp tác", - "collaborativeLinkCreatedFor": "Liên kết hợp tác đã được tạo cho {albumName}", - "askYourLovedOnesToShare": "Hãy yêu cầu những người thân yêu của bạn chia sẻ", + "thisAlbumAlreadyHDACollaborativeLink": "Album này đã có một liên kết cộng tác", + "collaborativeLinkCreatedFor": "Liên kết cộng tác đã được tạo cho {albumName}", + "askYourLovedOnesToShare": "Hãy gợi ý những người thân yêu của bạn chia sẻ", "invite": "Mời", "shareYourFirstAlbum": "Chia sẻ album đầu tiên của bạn", "sharedWith": "Chia sẻ với {emailIDs}", "sharedWithMe": "Chia sẻ với tôi", "sharedByMe": "Chia sẻ bởi tôi", "doubleYourStorage": "Gấp đôi dung lượng lưu trữ của bạn", - "referFriendsAnd2xYourPlan": "Giới thiệu bạn bè và gấp đôi gói của bạn", + "referFriendsAnd2xYourPlan": "Giới thiệu bạn bè và ×2 gói của bạn", "shareAlbumHint": "Mở album và nhấn nút chia sẻ ở góc trên bên phải để chia sẻ.", - "itemsShowTheNumberOfDaysRemainingBeforePermanentDeletion": "Các mục cho biết số ngày còn lại trước khi xóa vĩnh viễn", - "trashDaysLeft": "{count, plural, =0 {Soon} =1 {1 day} other {{count} days}}", + "itemsShowTheNumberOfDaysRemainingBeforePermanentDeletion": "Các mục hiện số ngày còn lại trước khi xóa vĩnh viễn", + "trashDaysLeft": "{count, plural, =0 {Sắp tới} =1 {1 ngày} other {{count} ngày}}", "@trashDaysLeft": { "description": "Text to indicate number of days remaining before permanent deletion", "placeholders": { @@ -821,10 +847,10 @@ "sortNewestFirst": "Mới nhất trước", "sortOldestFirst": "Cũ nhất trước", "rename": "Đổi tên", - "leaveSharedAlbum": "Rời khỏi album chia sẻ?", + "leaveSharedAlbum": "Rời album được chia sẻ?", "leaveAlbum": "Rời khỏi album", "photosAddedByYouWillBeRemovedFromTheAlbum": "Ảnh bạn đã thêm sẽ bị xóa khỏi album", - "youveNoFilesInThisAlbumThatCanBeDeleted": "Bạn không có tệp nào trong album này có thể bị xóa", + "youveNoFilesInThisAlbumThatCanBeDeleted": "Bạn không có tệp nào có thể xóa trong album này", "youDontHaveAnyArchivedItems": "Bạn không có mục nào đã lưu trữ.", "ignoredFolderUploadReason": "Một số tệp trong album này bị bỏ qua khi tải lên vì chúng đã bị xóa trước đó từ Ente.", "resetIgnoredFiles": "Đặt lại các tệp bị bỏ qua", @@ -833,24 +859,24 @@ "noHiddenPhotosOrVideos": "Không có ảnh hoặc video ẩn", "toHideAPhotoOrVideo": "Để ẩn một ảnh hoặc video", "openTheItem": "• Mở mục", - "clickOnTheOverflowMenu": "• Nhấn vào menu thả xuống", + "clickOnTheOverflowMenu": "• Nhấn vào menu xổ xuống", "click": "• Nhấn", - "nothingToSeeHere": "Không có gì để xem ở đây! 👀", - "unarchiveAlbum": "Khôi phục album", + "nothingToSeeHere": "Ở đây không có gì để xem! 👀", + "unarchiveAlbum": "Bỏ lưu trữ album", "archiveAlbum": "Lưu trữ album", "calculating": "Đang tính toán...", "pleaseWaitDeletingAlbum": "Vui lòng chờ, đang xóa album", - "searchByExamples": "• Tên album (ví dụ: \"Camera\")\n• Loại tệp (ví dụ: \"Video\", \".gif\")\n• Năm và tháng (ví dụ: \"2022\", \"Tháng Một\")\n• Ngày lễ (ví dụ: \"Giáng Sinh\")\n• Mô tả ảnh (ví dụ: “#vui”)", + "searchByExamples": "• Tên album (vd: \"Camera\")\n• Loại tệp (vd: \"Video\", \".gif\")\n• Năm và tháng (vd: \"2022\", \"Tháng Một\")\n• Ngày lễ (vd: \"Giáng Sinh\")\n• Mô tả ảnh (vd: “#vui”)", "youCanTrySearchingForADifferentQuery": "Bạn có thể thử tìm kiếm một truy vấn khác.", "noResultsFound": "Không tìm thấy kết quả", "addedBy": "Được thêm bởi {emailOrName}", - "loadingExifData": "Đang tải dữ liệu EXIF...", - "viewAllExifData": "Xem tất cả dữ liệu EXIF", - "noExifData": "Không có dữ liệu EXIF", - "thisImageHasNoExifData": "Hình ảnh này không có dữ liệu exif", - "exif": "EXIF", + "loadingExifData": "Đang tải thông số Exif...", + "viewAllExifData": "Xem thông số Exif", + "noExifData": "Không có thông số Exif", + "thisImageHasNoExifData": "Ảnh này không có thông số Exif", + "exif": "Exif", "noResults": "Không có kết quả", - "weDontSupportEditingPhotosAndAlbumsThatYouDont": "Chúng tôi không hỗ trợ chỉnh sửa ảnh và album mà bạn chưa sở hữu", + "weDontSupportEditingPhotosAndAlbumsThatYouDont": "Chúng tôi chưa hỗ trợ chỉnh sửa ảnh và album không phải bạn sở hữu", "failedToFetchOriginalForEdit": "Không thể lấy bản gốc để chỉnh sửa", "close": "Đóng", "setAs": "Đặt làm", @@ -858,23 +884,23 @@ "filesSavedToGallery": "Các tệp đã được lưu vào thư viện", "fileFailedToSaveToGallery": "Không thể lưu tệp vào thư viện", "download": "Tải xuống", - "pressAndHoldToPlayVideo": "Nhấn và giữ để phát video", - "pressAndHoldToPlayVideoDetailed": "Nhấn và giữ vào hình ảnh để phát video", + "pressAndHoldToPlayVideo": "Nhấn giữ để phát video", + "pressAndHoldToPlayVideoDetailed": "Nhấn giữ ảnh để phát video", "downloadFailed": "Tải xuống thất bại", - "deduplicateFiles": "Xóa trùng lặp tệp", + "deduplicateFiles": "Xóa trùng lặp", "deselectAll": "Bỏ chọn tất cả", - "reviewDeduplicateItems": "Vui lòng xem xét và xóa các mục mà bạn cho là trùng lặp.", - "clubByCaptureTime": "Nhóm theo thời gian chụp", - "clubByFileName": "Nhóm theo tên tệp", + "reviewDeduplicateItems": "Vui lòng xem qua và xóa các mục mà bạn tin là trùng lặp.", + "clubByCaptureTime": "Xếp theo thời gian chụp", + "clubByFileName": "Xếp theo tên tệp", "count": "Số lượng", - "totalSize": "Tổng kích thước", - "longpressOnAnItemToViewInFullscreen": "Nhấn và giữ vào một mục để xem toàn màn hình", + "totalSize": "Tổng dung lượng", + "longpressOnAnItemToViewInFullscreen": "Nhấn giữ một mục để xem toàn màn hình", "decryptingVideo": "Đang giải mã video...", - "authToViewYourMemories": "Vui lòng xác thực để xem kỷ niệm của bạn", + "authToViewYourMemories": "Vui lòng xác thực để xem kỷ niệm", "unlock": "Mở khóa", - "freeUpSpace": "Giải phóng không gian", - "freeUpSpaceSaving": "{count, plural, =1 {Nó có thể được xóa khỏi thiết bị để giải phóng {formattedSize}} other {Chúng có thể được xóa khỏi thiết bị để giải phóng {formattedSize}}}", - "filesBackedUpInAlbum": "{count, plural, one {1 tệp} other {{formattedNumber} tệp}} trong album này đã được sao lưu an toàn", + "freeUpSpace": "Giải phóng dung lượng", + "freeUpSpaceSaving": "{count, plural, =1 {Có thể xóa khỏi thiết bị để giải phóng {formattedSize}} other {Có thể xóa khỏi thiết bị để giải phóng {formattedSize}}}", + "filesBackedUpInAlbum": "{count, plural, other {{formattedNumber} tệp}} trong album này đã được sao lưu an toàn", "@filesBackedUpInAlbum": { "description": "Text to tell user how many files have been backed up in the album", "placeholders": { @@ -889,7 +915,7 @@ } } }, - "filesBackedUpFromDevice": "{count, plural, one {1 tệp} other {{formattedNumber} tệp}} trên thiết bị này đã được sao lưu an toàn", + "filesBackedUpFromDevice": "{count, plural, other {{formattedNumber} tệp}} trên thiết bị này đã được sao lưu an toàn", "@filesBackedUpFromDevice": { "description": "Text to tell user how many files have been backed up from this device", "placeholders": { @@ -907,6 +933,15 @@ "@freeUpSpaceSaving": { "description": "Text to tell user how much space they can free up by deleting items from the device" }, + "freeUpAccessPostDelete": "Bạn vẫn có thể truy cập {count, plural, =1 {chúng} other {chúng}} trên Ente miễn là bạn có một gói đăng ký", + "@freeUpAccessPostDelete": { + "placeholders": { + "count": { + "example": "1", + "type": "int" + } + } + }, "freeUpAmount": "Giải phóng {sizeInMBorGB}", "thisEmailIsAlreadyInUse": "Email này đã được sử dụng", "incorrectCode": "Mã không chính xác", @@ -914,17 +949,17 @@ "verificationFailedPleaseTryAgain": "Xác minh không thành công, vui lòng thử lại", "authenticating": "Đang xác thực...", "authenticationSuccessful": "Xác thực thành công!", - "incorrectRecoveryKey": "Khóa khôi phục không chính xác", - "theRecoveryKeyYouEnteredIsIncorrect": "Khóa khôi phục bạn đã nhập không chính xác", - "twofactorAuthenticationSuccessfullyReset": "Xác thực hai yếu tố đã được đặt lại thành công", + "incorrectRecoveryKey": "Mã khôi phục không chính xác", + "theRecoveryKeyYouEnteredIsIncorrect": "Mã khôi phục bạn nhập không chính xác", + "twofactorAuthenticationSuccessfullyReset": "Xác thực 2 bước đã được đặt lại thành công", "pleaseVerifyTheCodeYouHaveEntered": "Vui lòng xác minh mã bạn đã nhập", - "pleaseContactSupportIfTheProblemPersists": "Vui lòng liên hệ với bộ phận hỗ trợ nếu vấn đề vẫn tiếp diễn", - "twofactorAuthenticationHasBeenDisabled": "Xác thực hai yếu tố đã bị vô hiệu hóa", - "sorryTheCodeYouveEnteredIsIncorrect": "Xin lỗi, mã bạn đã nhập không chính xác", + "pleaseContactSupportIfTheProblemPersists": "Vui lòng liên hệ bộ phận hỗ trợ nếu vấn đề vẫn tiếp diễn", + "twofactorAuthenticationHasBeenDisabled": "Xác thực 2 bước đã bị vô hiệu hóa", + "sorryTheCodeYouveEnteredIsIncorrect": "Rất tiếc, mã bạn nhập không chính xác", "yourVerificationCodeHasExpired": "Mã xác minh của bạn đã hết hạn", - "emailChangedTo": "Email đã được thay đổi thành {newEmail}", + "emailChangedTo": "Email đã được đổi thành {newEmail}", "verifying": "Đang xác minh...", - "disablingTwofactorAuthentication": "Đang vô hiệu hóa xác thực hai yếu tố...", + "disablingTwofactorAuthentication": "Đang vô hiệu hóa xác thực 2 bước...", "allMemoriesPreserved": "Tất cả kỷ niệm đã được lưu giữ", "loadingGallery": "Đang tải thư viện...", "syncing": "Đang đồng bộ hóa...", @@ -953,82 +988,83 @@ } }, "archiving": "Đang lưu trữ...", - "unarchiving": "Đang khôi phục...", + "unarchiving": "Đang bỏ lưu trữ...", "successfullyArchived": "Lưu trữ thành công", - "successfullyUnarchived": "Khôi phục thành công", + "successfullyUnarchived": "Bỏ lưu trữ thành công", "renameFile": "Đổi tên tệp", "enterFileName": "Nhập tên tệp", "filesDeleted": "Tệp đã bị xóa", "selectedFilesAreNotOnEnte": "Các tệp đã chọn không có trên Ente", - "thisActionCannotBeUndone": "Hành động này không thể hoàn tác", - "emptyTrash": "Làm rỗng thùng rác?", - "permDeleteWarning": "Tất cả các mục trong thùng rác sẽ bị xóa vĩnh viễn\n\nHành động này không thể hoàn tác", - "empty": "Rỗng", - "couldNotFreeUpSpace": "Không thể giải phóng không gian", + "thisActionCannotBeUndone": "Không thể hoàn tác thao tác này", + "emptyTrash": "Xóa sạch thùng rác?", + "permDeleteWarning": "Tất cả các mục trong thùng rác sẽ bị xóa vĩnh viễn\n\nKhông thể hoàn tác thao tác này", + "empty": "Xóa sạch", + "couldNotFreeUpSpace": "Không thể giải phóng dung lượng", "permanentlyDeleteFromDevice": "Xóa vĩnh viễn khỏi thiết bị?", "someOfTheFilesYouAreTryingToDeleteAre": "Một số tệp bạn đang cố gắng xóa chỉ có trên thiết bị của bạn và không thể khôi phục nếu bị xóa", - "theyWillBeDeletedFromAllAlbums": "Chúng sẽ bị xóa khỏi tất cả các album.", + "theyWillBeDeletedFromAllAlbums": "Nó sẽ bị xóa khỏi tất cả album.", "someItemsAreInBothEnteAndYourDevice": "Một số mục có trên cả Ente và thiết bị của bạn.", - "selectedItemsWillBeDeletedFromAllAlbumsAndMoved": "Các mục đã chọn sẽ bị xóa khỏi tất cả các album và chuyển vào thùng rác.", + "selectedItemsWillBeDeletedFromAllAlbumsAndMoved": "Các tệp đã chọn sẽ bị xóa khỏi tất cả album và cho vào thùng rác.", "theseItemsWillBeDeletedFromYourDevice": "Các mục này sẽ bị xóa khỏi thiết bị của bạn.", "itLooksLikeSomethingWentWrongPleaseRetryAfterSome": "Có vẻ như đã xảy ra sự cố. Vui lòng thử lại sau một thời gian. Nếu lỗi vẫn tiếp diễn, vui lòng liên hệ với đội ngũ hỗ trợ của chúng tôi.", "error": "Lỗi", "tempErrorContactSupportIfPersists": "Có vẻ như đã xảy ra sự cố. Vui lòng thử lại sau một thời gian. Nếu lỗi vẫn tiếp diễn, vui lòng liên hệ với đội ngũ hỗ trợ.", "networkHostLookUpErr": "Không thể kết nối với Ente, vui lòng kiểm tra cài đặt mạng của bạn và liên hệ với bộ phận hỗ trợ nếu lỗi vẫn tiếp diễn.", "networkConnectionRefusedErr": "Không thể kết nối với Ente, vui lòng thử lại sau một thời gian. Nếu lỗi vẫn tiếp diễn, vui lòng liên hệ với bộ phận hỗ trợ.", - "cachedData": "Dữ liệu đã lưu", + "cachedData": "Dữ liệu đã lưu trong bộ nhớ đệm", "clearCaches": "Xóa bộ nhớ cache", - "remoteImages": "Hình ảnh từ xa", - "remoteVideos": "Video từ xa", - "remoteThumbnails": "Hình thu nhỏ từ xa", + "remoteImages": "Hình ảnh bên ngoài", + "remoteVideos": "Video bên ngoài", + "remoteThumbnails": "Hình thu nhỏ bên ngoài", "pendingSync": "Đồng bộ hóa đang chờ", "localGallery": "Thư viện cục bộ", - "todaysLogs": "Nhật ký hôm nay", - "viewLogs": "Xem nhật ký", - "logsDialogBody": "Điều này sẽ gửi nhật ký để giúp chúng tôi gỡ lỗi vấn đề của bạn. Vui lòng lưu ý rằng tên tệp sẽ được bao gồm để giúp theo dõi các vấn đề với các tệp cụ thể.", - "preparingLogs": "Đang chuẩn bị nhật ký...", - "emailYourLogs": "Gửi nhật ký qua email", - "pleaseSendTheLogsTo": "Vui lòng gửi nhật ký đến \n{toEmail}", + "todaysLogs": "Log hôm nay", + "viewLogs": "Xem log", + "logsDialogBody": "Gửi file log để chúng tôi có thể phân tích lỗi mà bạn gặp. Lưu ý rằng, trong nhật ký lỗi sẽ bao gồm tên các tệp để giúp theo dõi vấn đề với từng tệp cụ thể.", + "preparingLogs": "Đang ghi log...", + "emailYourLogs": "Gửi log qua email", + "pleaseSendTheLogsTo": "Vui lòng gửi file log đến \n{toEmail}", "copyEmailAddress": "Sao chép địa chỉ email", - "exportLogs": "Xuất nhật ký", + "exportLogs": "Xuất file log", "pleaseEmailUsAt": "Vui lòng gửi email cho chúng tôi tại {toEmail}", "dismiss": "Bỏ qua", "didYouKnow": "Bạn có biết?", "loadingMessage": "Đang tải ảnh của bạn...", - "loadMessage1": "Bạn có thể chia sẻ đăng ký của mình với gia đình", - "loadMessage3": "Chúng tôi giữ 3 bản sao dữ liệu của bạn, một trong nơi trú ẩn dưới lòng đất", + "loadMessage1": "Bạn có thể chia sẻ gói của mình với gia đình", + "loadMessage2": "Chúng tôi đã lưu giữ hơn 200 triệu kỷ niệm cho đến hiện tại", + "loadMessage3": "Chúng tôi giữ 3 bản sao dữ liệu của bạn, một cái lưu ở hầm trú ẩn hạt nhân", "loadMessage4": "Tất cả các ứng dụng của chúng tôi đều là mã nguồn mở", - "loadMessage5": "Mã nguồn và mật mã của chúng tôi đã được kiểm toán bên ngoài", + "loadMessage5": "Mã nguồn và mã hóa của chúng tôi đã được kiểm nghiệm ngoại bộ", "loadMessage6": "Bạn có thể chia sẻ liên kết đến album của mình với những người thân yêu", - "loadMessage7": "Các ứng dụng di động của chúng tôi chạy ngầm để mã hóa và sao lưu bất kỳ ảnh mới nào bạn chụp", + "loadMessage7": "Các ứng dụng di động của chúng tôi chạy ngầm để mã hóa và sao lưu bất kỳ ảnh nào bạn mới chụp", "loadMessage8": "web.ente.io có một trình tải lên mượt mà", - "loadMessage9": "Chúng tôi sử dụng Xchacha20Poly1305 để mã hóa dữ liệu của bạn một cách an toàn", + "loadMessage9": "Chúng tôi sử dụng Xchacha20Poly1305 để mã hóa dữ liệu của bạn", "photoDescriptions": "Mô tả ảnh", "fileTypesAndNames": "Loại tệp và tên", "location": "Vị trí", "moments": "Khoảnh khắc", - "searchFaceEmptySection": "Người sẽ được hiển thị ở đây khi việc lập chỉ mục hoàn tất", + "searchFaceEmptySection": "Người sẽ được hiển thị ở đây khi quá trình xử lý hoàn tất", "searchDatesEmptySection": "Tìm kiếm theo ngày, tháng hoặc năm", - "searchLocationEmptySection": "Nhóm ảnh được chụp trong một bán kính nào đó của một bức ảnh", - "searchPeopleEmptySection": "Mời mọi người, và bạn sẽ thấy tất cả ảnh được chia sẻ bởi họ ở đây", + "searchLocationEmptySection": "Ảnh nhóm được chụp trong một bán kính nào đó của một bức ảnh", + "searchPeopleEmptySection": "Mời mọi người, và bạn sẽ thấy tất cả ảnh mà họ chia sẻ ở đây", "searchAlbumsEmptySection": "Album", "searchFileTypesAndNamesEmptySection": "Loại tệp và tên", - "searchCaptionEmptySection": "Thêm mô tả như \"#chuyến đi\" trong thông tin ảnh để nhanh chóng tìm thấy chúng ở đây", + "searchCaptionEmptySection": "Thêm mô tả như \"#phượt\" trong thông tin ảnh để tìm nhanh thấy chúng ở đây", "language": "Ngôn ngữ", "selectLanguage": "Chọn ngôn ngữ", "locationName": "Tên vị trí", "addLocation": "Thêm vị trí", - "groupNearbyPhotos": "Nhóm ảnh gần đó", + "groupNearbyPhotos": "Nhóm ảnh gần nhau", "kiloMeterUnit": "km", "addLocationButton": "Thêm", "radius": "Bán kính", - "locationTagFeatureDescription": "Một thẻ vị trí nhóm tất cả các ảnh được chụp trong một bán kính nào đó của một bức ảnh", - "galleryMemoryLimitInfo": "Tối đa 1000 kỷ niệm được hiển thị trong thư viện", + "locationTagFeatureDescription": "Một thẻ vị trí sẽ chia nhóm tất cả các ảnh được chụp trong một bán kính nào đó của một bức ảnh", + "galleryMemoryLimitInfo": "Mỗi thư viện chứa tối đa 1000 ảnh", "save": "Lưu", "centerPoint": "Điểm trung tâm", "pickCenterPoint": "Chọn điểm trung tâm", "useSelectedPhoto": "Sử dụng ảnh đã chọn", - "resetToDefault": "Đặt lại về mặc định", + "resetToDefault": "Đặt lại mặc định", "@resetToDefault": { "description": "Button text to reset cover photo to default" }, @@ -1038,13 +1074,13 @@ "flip": "Lật", "rotateRight": "Xoay phải", "saveCopy": "Lưu bản sao", - "light": "Ánh sáng", + "light": "Độ sáng", "color": "Màu sắc", "yesDiscardChanges": "Có, bỏ qua thay đổi", - "doYouWantToDiscardTheEditsYouHaveMade": "Bạn có muốn bỏ qua các chỉnh sửa bạn đã thực hiện không?", + "doYouWantToDiscardTheEditsYouHaveMade": "Bạn có muốn bỏ qua các chỉnh sửa đã thực hiện không?", "saving": "Đang lưu...", "editsSaved": "Chỉnh sửa đã được lưu", - "oopsCouldNotSaveEdits": "Ôi, không thể lưu chỉnh sửa", + "oopsCouldNotSaveEdits": "Ốiii, không thể lưu chỉnh sửa", "distanceInKMUnit": "km", "@distanceInKMUnit": { "description": "Unit for distance in km" @@ -1052,13 +1088,13 @@ "dayToday": "Hôm nay", "dayYesterday": "Hôm qua", "storage": "Lưu trữ", - "usedSpace": "Không gian đã sử dụng", + "usedSpace": "Dung lượng đã dùng", "storageBreakupFamily": "Gia đình", "storageBreakupYou": "Bạn", "@storageBreakupYou": { "description": "Label to indicate how much storage you are using when you are part of a family plan" }, - "storageUsageInfo": "{usedAmount} {usedStorageUnit} trong tổng số {totalAmount} {totalStorageUnit} đã sử dụng", + "storageUsageInfo": "{usedAmount} {usedStorageUnit} trên {totalAmount} {totalStorageUnit} đã sử dụng", "@storageUsageInfo": { "description": "Example: 1.2 GB of 2 GB used or 100 GB or 2TB used" }, @@ -1073,7 +1109,7 @@ }, "setRadius": "Đặt bán kính", "familyPlanPortalTitle": "Gia đình", - "familyPlanOverview": "Thêm 5 thành viên gia đình vào gói hiện tại của bạn mà không phải trả thêm phí.\n\nMỗi thành viên có không gian riêng tư của mình và không thể xem tệp của nhau trừ khi được chia sẻ.\n\nGói gia đình có sẵn cho khách hàng có đăng ký Ente trả phí.\n\nĐăng ký ngay để bắt đầu!", + "familyPlanOverview": "Thêm 5 thành viên gia đình vào gói hiện tại của bạn mà không phải trả thêm phí.\n\nMỗi thành viên có không gian riêng tư của mình và không thể xem tệp của nhau trừ khi được chia sẻ.\n\nGói gia đình có sẵn cho người dùng Ente gói trả phí.\n\nĐăng ký ngay để bắt đầu!", "androidBiometricHint": "Xác minh danh tính", "@androidBiometricHint": { "description": "Hint message advising the user how to authenticate with biometrics. It is used on Android side. Maximum 60 characters." @@ -1118,7 +1154,7 @@ "@iOSLockOut": { "description": "Message advising the user to re-enable biometrics on their device. It shows in a dialog on iOS side." }, - "iOSGoToSettingsDescription": "Xác thực sinh trắc học chưa được thiết lập trên thiết bị của bạn. Vui lòng kích hoạt Touch ID hoặc Face ID trên điện thoại của bạn.", + "iOSGoToSettingsDescription": "Xác thực sinh trắc học chưa được thiết lập trên thiết bị của bạn. Vui lòng kích hoạt Touch ID hoặc Face ID.", "@iOSGoToSettingsDescription": { "description": "Message advising the user to go to the settings and configure Biometrics for their device. It shows in a dialog on iOS side." }, @@ -1126,18 +1162,18 @@ "@iOSOkButton": { "description": "Message showed on a button that the user can click to leave the current dialog. It is used on iOS side. Maximum 30 characters." }, - "openstreetmapContributors": "Nhà đóng góp OpenStreetMap", + "openstreetmapContributors": "Người đóng góp OpenStreetMap", "hostedAtOsmFrance": "Được lưu trữ tại OSM Pháp", - "map": "Map", + "map": "Bản đồ", "@map": { "description": "Label for the map view" }, "maps": "Bản đồ", "enableMaps": "Kích hoạt Bản đồ", - "enableMapsDesc": "Điều này sẽ hiển thị ảnh của bạn trên bản đồ thế giới.\n\nBản đồ này được lưu trữ bởi Open Street Map, và vị trí chính xác của ảnh của bạn sẽ không bao giờ được chia sẻ.\n\nBạn có thể vô hiệu hóa tính năng này bất cứ lúc nào từ Cài đặt.", + "enableMapsDesc": "Ảnh của bạn sẽ hiển thị trên bản đồ thế giới.\n\nBản đồ được lưu trữ bởi OpenStreetMap, và vị trí chính xác ảnh của bạn không bao giờ được chia sẻ.\n\nBạn có thể tắt tính năng này bất cứ lúc nào từ Cài đặt.", "quickLinks": "Liên kết nhanh", "selectItemsToAdd": "Chọn mục để thêm", - "addSelected": "Thêm đã chọn", + "addSelected": "Thêm mục đã chọn", "addFromDevice": "Thêm từ thiết bị", "addPhotos": "Thêm ảnh", "noPhotosFoundHere": "Không tìm thấy ảnh ở đây", @@ -1147,39 +1183,39 @@ "pinAlbum": "Ghim album", "create": "Tạo", "viewAll": "Xem tất cả", - "nothingSharedWithYouYet": "Chưa có gì được chia sẻ với bạn", - "noAlbumsSharedByYouYet": "Chưa có album nào được chia sẻ bởi bạn", + "nothingSharedWithYouYet": "Bạn chưa được chia sẻ gì", + "noAlbumsSharedByYouYet": "Bạn chưa chia sẻ album nào", "sharedWithYou": "Được chia sẻ với bạn", "sharedByYou": "Được chia sẻ bởi bạn", - "inviteYourFriendsToEnte": "Mời bạn bè của bạn đến Ente", + "inviteYourFriendsToEnte": "Mời bạn bè dùng Ente", "failedToDownloadVideo": "Không thể tải video", "hiding": "Đang ẩn...", "unhiding": "Đang hiện...", "successfullyHid": "Đã ẩn thành công", "successfullyUnhid": "Đã hiện thành công", "crashReporting": "Báo cáo sự cố", - "resumableUploads": "Tải lên có thể tiếp tục", + "resumableUploads": "Cho phép tải lên tiếp tục", "addToHiddenAlbum": "Thêm vào album ẩn", "moveToHiddenAlbum": "Di chuyển đến album ẩn", "fileTypes": "Loại tệp", - "deleteConfirmDialogBody": "Tài khoản này được liên kết với các ứng dụng Ente khác, nếu bạn sử dụng bất kỳ. Dữ liệu bạn đã tải lên, trên tất cả các ứng dụng Ente, sẽ được lên lịch để xóa, và tài khoản của bạn sẽ bị xóa vĩnh viễn.", - "hearUsWhereTitle": "Bạn đã nghe về Ente từ đâu? (tùy chọn)", - "hearUsExplanation": "Chúng tôi không theo dõi cài đặt ứng dụng. Sẽ rất hữu ích nếu bạn cho chúng tôi biết bạn đã tìm thấy chúng ở đâu!", + "deleteConfirmDialogBody": "Tài khoản này được liên kết với các ứng dụng Ente khác, nếu bạn có dùng. Dữ liệu bạn đã tải lên, trên tất cả ứng dụng Ente, sẽ được lên lịch để xóa, và tài khoản của bạn sẽ bị xóa vĩnh viễn.", + "hearUsWhereTitle": "Bạn biết Ente từ đâu? (tùy chọn)", + "hearUsExplanation": "Chúng tôi không theo dõi cài đặt ứng dụng, nên nếu bạn bật mí bạn tìm thấy chúng tôi từ đâu sẽ rất hữu ích!", "viewAddOnButton": "Xem tiện ích mở rộng", "addOns": "Tiện ích mở rộng", "addOnPageSubtitle": "Chi tiết về tiện ích mở rộng", "yourMap": "Bản đồ của bạn", - "modifyYourQueryOrTrySearchingFor": "Chỉnh sửa truy vấn của bạn, hoặc thử tìm kiếm cho", + "modifyYourQueryOrTrySearchingFor": "Chỉnh sửa truy vấn của bạn, hoặc thử tìm kiếm", "blackFridaySale": "Giảm giá Black Friday", - "upto50OffUntil4thDec": "Giảm tới 50%, đến ngày 4 tháng 12.", + "upto50OffUntil4thDec": "Giảm tới 50%, đến ngày 4 Tháng 12.", "photos": "Ảnh", "videos": "Video", - "livePhotos": "Ảnh trực tiếp", + "livePhotos": "Ảnh Live", "searchHint1": "Tìm kiếm nhanh, trên thiết bị", - "searchHint2": "Ngày tháng, mô tả ảnh", + "searchHint2": "Ngày chụp, mô tả ảnh", "searchHint3": "Album, tên tệp và loại", "searchHint4": "Vị trí", - "searchHint5": "Sắp có: Nhận diện khuôn mặt & tìm kiếm ma thuật ✨", + "searchHint5": "Sắp ra mắt: Nhận diện khuôn mặt & tìm kiếm vi diệu ✨", "addYourPhotosNow": "Thêm ảnh của bạn ngay bây giờ", "searchResultCount": "{count, plural, other{{count} kết quả được tìm thấy}}", "@searchResultCount": { @@ -1201,25 +1237,25 @@ "contacts": "Danh bạ", "noInternetConnection": "Không có kết nối internet", "pleaseCheckYourInternetConnectionAndTryAgain": "Vui lòng kiểm tra kết nối internet của bạn và thử lại.", - "signOutFromOtherDevices": "Đăng xuất từ các thiết bị khác", - "signOutOtherBody": "Nếu bạn nghĩ rằng ai đó có thể biết mật khẩu của bạn, bạn có thể buộc tất cả các thiết bị khác đang sử dụng tài khoản của bạn đăng xuất.", - "signOutOtherDevices": "Đăng xuất các thiết bị khác", + "signOutFromOtherDevices": "Đăng xuất khỏi các thiết bị khác", + "signOutOtherBody": "Nếu bạn nghĩ rằng ai đó biết mật khẩu của bạn, hãy ép tài khoản của bạn đăng xuất khỏi tất cả thiết bị khác đang sử dụng.", + "signOutOtherDevices": "Đăng xuất khỏi các thiết bị khác", "doNotSignOut": "Không đăng xuất", "editLocation": "Chỉnh sửa vị trí", "selectALocation": "Chọn một vị trí", "selectALocationFirst": "Chọn một vị trí trước", "changeLocationOfSelectedItems": "Thay đổi vị trí của các mục đã chọn?", - "editsToLocationWillOnlyBeSeenWithinEnte": "Các chỉnh sửa cho vị trí sẽ chỉ được thấy trong Ente", + "editsToLocationWillOnlyBeSeenWithinEnte": "Các chỉnh sửa vị trí sẽ chỉ thấy được trong Ente", "cleanUncategorized": "Dọn dẹp chưa phân loại", - "cleanUncategorizedDescription": "Xóa tất cả các tệp từ chưa phân loại có mặt trong các album khác", + "cleanUncategorizedDescription": "Xóa khỏi mục Chưa phân loại với tất cả tệp đang xuất hiện trong các album khác", "waitingForVerification": "Đang chờ xác minh...", - "passkey": "Mã khóa", - "passkeyAuthTitle": "Xác minh mã khóa", - "loginWithTOTP": "Login with TOTP", + "passkey": "Khóa truy cập", + "passkeyAuthTitle": "Xác minh khóa truy cập", + "loginWithTOTP": "Đăng nhập bằng TOTP", "passKeyPendingVerification": "Xác minh vẫn đang chờ", "loginSessionExpired": "Phiên đăng nhập đã hết hạn", "loginSessionExpiredDetails": "Phiên đăng nhập của bạn đã hết hạn. Vui lòng đăng nhập lại.", - "verifyPasskey": "Xác minh mã khóa", + "verifyPasskey": "Xác minh khóa truy cập", "playOnTv": "Phát album trên TV", "pair": "Ghép nối", "deviceNotFound": "Không tìm thấy thiết bị", @@ -1232,9 +1268,11 @@ "@findThemQuickly": { "description": "Subtitle to indicate that the user can find people quickly by name" }, - "findPeopleByName": "Tìm người nhanh chóng theo tên", + "findPeopleByName": "Tìm nhanh người theo tên", + "addViewers": "{count, plural, =0 {Thêm người xem} =1 {Thêm người xem} other {Thêm người xem}}", + "addCollaborators": "{count, plural, =0 {Thêm cộng tác viên} =1 {Thêm cộng tác viên} other {Thêm cộng tác viên}}", "longPressAnEmailToVerifyEndToEndEncryption": "Nhấn giữ một email để xác minh mã hóa đầu cuối.", - "developerSettingsWarning": "Bạn có chắc chắn muốn thay đổi cài đặt Nhà phát triển không?", + "developerSettingsWarning": "Bạn có chắc muốn thay đổi cài đặt Nhà phát triển không?", "developerSettings": "Cài đặt Nhà phát triển", "serverEndpoint": "Điểm cuối máy chủ", "invalidEndpoint": "Điểm cuối không hợp lệ", @@ -1244,6 +1282,8 @@ "createCollaborativeLink": "Tạo liên kết cộng tác", "search": "Tìm kiếm", "enterPersonName": "Nhập tên người", + "editEmailAlreadyLinked": "Email này đã được liên kết với {name} trước.", + "viewPersonToUnlink": "Xem {name} để hủy liên kết", "enterName": "Nhập tên", "savePerson": "Lưu người", "editPerson": "Chỉnh sửa người", @@ -1256,12 +1296,12 @@ "manualPairDesc": "Ghép nối với PIN hoạt động với bất kỳ màn hình nào bạn muốn xem album của mình.", "connectToDevice": "Kết nối với thiết bị", "autoCastDialogBody": "Bạn sẽ thấy các thiết bị Cast có sẵn ở đây.", - "autoCastiOSPermission": "Hãy chắc chắn rằng quyền Mạng cục bộ đã được bật cho ứng dụng Ente Photos, trong Cài đặt.", + "autoCastiOSPermission": "Hãy chắc rằng quyền Mạng cục bộ đã được bật cho ứng dụng Ente Photos, trong Cài đặt.", "noDeviceFound": "Không tìm thấy thiết bị", "stopCastingTitle": "Dừng phát", "stopCastingBody": "Bạn có muốn dừng phát không?", "castIPMismatchTitle": "Không thể phát album", - "castIPMismatchBody": "Vui lòng đảm bảo bạn đang ở trên cùng một mạng với TV.", + "castIPMismatchBody": "Hãy chắc rằng bạn đang dùng chung mạng với TV.", "pairingComplete": "Ghép nối hoàn tất", "savingEdits": "Đang lưu chỉnh sửa...", "autoPair": "Ghép nối tự động", @@ -1269,16 +1309,15 @@ "faceRecognition": "Nhận diện khuôn mặt", "foundFaces": "Đã tìm thấy khuôn mặt", "clusteringProgress": "Tiến trình phân cụm", - "indexingIsPaused": "Chỉ mục đang tạm dừng. Nó sẽ tự động tiếp tục khi thiết bị sẵn sàng.", "trim": "Cắt", "crop": "Cắt xén", "rotate": "Xoay", "left": "Trái", "right": "Phải", "whatsNew": "Có gì mới", - "reviewSuggestions": "Xem xét gợi ý", + "reviewSuggestions": "Xem gợi ý", "review": "Xem lại", - "useAsCover": "Sử dụng làm bìa", + "useAsCover": "Đặt làm ảnh bìa", "notPersonLabel": "Không phải {name}?", "@notPersonLabel": { "description": "Label to indicate that the person in the photo is not the person whose name is mentioned", @@ -1292,9 +1331,9 @@ "enable": "Bật", "enabled": "Đã bật", "moreDetails": "Thêm chi tiết", - "enableMLIndexingDesc": "Ente hỗ trợ học máy trên thiết bị cho nhận diện khuôn mặt, tìm kiếm ma thuật và các tính năng tìm kiếm nâng cao khác", - "magicSearchHint": "Tìm kiếm ma thuật cho phép tìm kiếm ảnh theo nội dung của chúng, ví dụ: 'hoa', 'xe hơi đỏ', 'tài liệu nhận dạng'", - "panorama": "Toàn cảnh", + "enableMLIndexingDesc": "Ente hỗ trợ học máy trên-thiết-bị nhằm nhận diện khuôn mặt, tìm kiếm vi diệu và các tính năng tìm kiếm nâng cao khác", + "magicSearchHint": "Tìm kiếm vi diệu cho phép tìm ảnh theo nội dung của chúng, ví dụ: 'xe hơi', 'xe hơi đỏ', 'Ferrari'", + "panorama": "Panorama", "reenterPassword": "Nhập lại mật khẩu", "reenterPin": "Nhập lại PIN", "deviceLock": "Khóa thiết bị", @@ -1306,11 +1345,11 @@ "appLock": "Khóa ứng dụng", "noSystemLockFound": "Không tìm thấy khóa hệ thống", "tapToUnlock": "Nhấn để mở khóa", - "tooManyIncorrectAttempts": "Quá nhiều lần thử không chính xác", + "tooManyIncorrectAttempts": "Thử sai nhiều lần", "videoInfo": "Thông tin video", "autoLock": "Khóa tự động", - "immediately": "Ngay lập tức", - "autoLockFeatureDescription": "Thời gian sau đó ứng dụng sẽ khóa khi được đưa vào nền", + "immediately": "Lập tức", + "autoLockFeatureDescription": "Sau thời gian này, ứng dụng sẽ khóa sau khi được chạy ở chế độ nền", "hideContent": "Ẩn nội dung", "hideContentDescriptionAndroid": "Ẩn nội dung ứng dụng trong trình chuyển đổi ứng dụng và vô hiệu hóa chụp màn hình", "hideContentDescriptionIos": "Ẩn nội dung ứng dụng trong trình chuyển đổi ứng dụng", @@ -1318,7 +1357,7 @@ "noQuickLinksSelected": "Không có liên kết nhanh nào được chọn", "pleaseSelectQuickLinksToRemove": "Vui lòng chọn liên kết nhanh để xóa", "removePublicLinks": "Xóa liên kết công khai", - "thisWillRemovePublicLinksOfAllSelectedQuickLinks": "Điều này sẽ xóa liên kết công khai của tất cả các liên kết nhanh đã chọn.", + "thisWillRemovePublicLinksOfAllSelectedQuickLinks": "Liên kết công khai của tất cả các liên kết nhanh đã chọn sẽ bị xóa.", "guestView": "Chế độ khách", "guestViewEnablePreSteps": "Để bật chế độ khách, vui lòng thiết lập mã khóa thiết bị hoặc khóa màn hình trong cài đặt hệ thống của bạn.", "nameTheAlbum": "Đặt tên cho album", @@ -1326,10 +1365,10 @@ "collect": "Thu thập", "appLockDescriptions": "Chọn giữa màn hình khóa mặc định của thiết bị và màn hình khóa tùy chỉnh với PIN hoặc mật khẩu.", "toEnableAppLockPleaseSetupDevicePasscodeOrScreen": "Để bật khóa ứng dụng, vui lòng thiết lập mã khóa thiết bị hoặc khóa màn hình trong cài đặt hệ thống của bạn.", - "authToViewPasskey": "Vui lòng xác thực để xem khóa truy cập của bạn", + "authToViewPasskey": "Vui lòng xác thực để xem khóa truy cập", "loopVideoOn": "Phát video lặp lại", "loopVideoOff": "Dừng phát video lặp lại", - "localSyncErrorMessage": "Có vẻ như có điều gì đó không ổn vì đồng bộ hóa ảnh cục bộ đang mất nhiều thời gian hơn mong đợi. Vui lòng liên hệ với đội ngũ hỗ trợ của chúng tôi", + "localSyncErrorMessage": "Có vẻ như có điều gì đó không ổn vì đồng bộ hóa ảnh cục bộ đang mất nhiều thời gian hơn mong đợi. Vui lòng liên hệ đội ngũ hỗ trợ của chúng tôi", "showPerson": "Hiện người", "sort": "Sắp xếp", "mostRecent": "Mới nhất", @@ -1343,7 +1382,7 @@ "newPerson": "Người mới", "addName": "Thêm tên", "add": "Thêm", - "extraPhotosFoundFor": "Extra photos found for {text}", + "extraPhotosFoundFor": "Tìm thấy ảnh bổ sung cho {text}", "@extraPhotosFoundFor": { "placeholders": { "text": { @@ -1355,16 +1394,26 @@ "configuration": "Cấu hình", "localIndexing": "Chỉ mục cục bộ", "processed": "Đã xử lý", - "resetPerson": "Đặt lại người", - "areYouSureYouWantToResetThisPerson": "Bạn có chắc chắn muốn đặt lại người này không?", - "allPersonGroupingWillReset": "Tất cả các nhóm cho người này sẽ được đặt lại, và bạn sẽ mất tất cả các gợi ý đã được đưa ra cho người này", + "resetPerson": "Xóa", + "areYouSureYouWantToResetThisPerson": "Bạn có chắc muốn đặt lại người này không?", + "allPersonGroupingWillReset": "Tất cả nhóm của người này sẽ được đặt lại, và bạn sẽ mất tất cả các gợi ý đã được tạo ra cho người này", "yesResetPerson": "Có, đặt lại người", "onlyThem": "Chỉ họ", - "checkingModels": "Đang kiểm tra các mô hình...", - "enableMachineLearningBanner": "Bật học máy cho tìm kiếm ma thuật và nhận diện khuôn mặt", + "checkingModels": "Đang kiểm tra mô hình...", + "enableMachineLearningBanner": "Bật học máy để tìm kiếm vi diệu và nhận diện khuôn mặt", "searchDiscoverEmptySection": "Hình ảnh sẽ được hiển thị ở đây sau khi hoàn tất xử lý và đồng bộ", "searchPersonsEmptySection": "Người sẽ được hiển thị ở đây sau khi hoàn tất xử lý và đồng bộ", - "collaboratorsSuccessfullyAdded": "{count, plural, =0 {Đã thêm 0 cộng tác viên} =1 {Đã thêm 1 cộng tác viên} other {Đã thêm {count} cộng tác viên}}", + "viewersSuccessfullyAdded": "{count, plural, =0 {Chưa thêm người xem} =1 {Đã thêm 1 người xem} other {Đã thêm {count} người xem}}", + "@viewersSuccessfullyAdded": { + "placeholders": { + "count": { + "type": "int", + "example": "2" + } + }, + "description": "Number of viewers that were successfully added to an album." + }, + "collaboratorsSuccessfullyAdded": "{count, plural, =0 {Chưa có cộng tác viên} =1 {Đã thêm 1 cộng tác viên} other {Đã thêm {count} cộng tác viên}}", "@collaboratorsSuccessfullyAdded": { "placeholders": { "count": { @@ -1383,7 +1432,7 @@ "@failedToFetchActiveSessions": { "description": "In session page, warn user (in toast) that active sessions could not be fetched." }, - "failedToRefreshStripeSubscription": "Không thể làm mới đăng ký", + "failedToRefreshStripeSubscription": "Không thể làm mới gói", "failedToPlayVideo": "Không thể phát video", "uploadIsIgnoredDueToIgnorereason": "Tải lên bị bỏ qua do {ignoreReason}", "@uploadIsIgnoredDueToIgnorereason": { @@ -1394,7 +1443,7 @@ } } }, - "typeOfGallerGallerytypeIsNotSupportedForRename": "Loại thư viện {galleryType} không được hỗ trợ để đổi tên", + "typeOfGallerGallerytypeIsNotSupportedForRename": "Loại thư viện {galleryType} không được hỗ trợ đổi tên", "@typeOfGallerGallerytypeIsNotSupportedForRename": { "placeholders": { "galleryType": { @@ -1439,6 +1488,15 @@ }, "currentlyRunning": "đang chạy", "ignored": "bỏ qua", + "photosCount": "{count, plural, =0 {Chưa có ảnh} =1 {1 ảnh} other {{count} ảnh}}", + "@photosCount": { + "placeholders": { + "count": { + "type": "int", + "example": "2" + } + } + }, "file": "Tệp", "searchSectionsLengthMismatch": "Độ dài các phần không khớp: {snapshotLength} != {searchLength}", "@searchSectionsLengthMismatch": { @@ -1462,9 +1520,9 @@ "selectCoverPhoto": "Chọn ảnh bìa", "newLocation": "Vị trí mới", "faceNotClusteredYet": "Khuôn mặt chưa được phân cụm, vui lòng quay lại sau", - "theLinkYouAreTryingToAccessHasExpired": "Liên kết bạn đang cố gắng truy cập đã hết hạn.", + "theLinkYouAreTryingToAccessHasExpired": "Liên kết mà bạn truy cập đã hết hạn.", "openFile": "Mở tệp", - "backupFile": "Tệp sao lưu", + "backupFile": "Sao lưu tệp", "openAlbumInBrowser": "Mở album trong trình duyệt", "openAlbumInBrowserTitle": "Vui lòng sử dụng ứng dụng web để thêm ảnh vào album này", "allow": "Cho phép", @@ -1475,7 +1533,7 @@ "declineTrustInvite": "Từ chối lời mời", "removeYourselfAsTrustedContact": "Gỡ bỏ bạn khỏi liên hệ tin cậy", "legacy": "Thừa kế", - "legacyPageDesc": "Thừa kế cho phép các liên hệ tin cậy truy cập tài khoản của bạn khi bạn không hoạt động.", + "legacyPageDesc": "Thừa kế cho phép các liên hệ tin cậy truy cập tài khoản của bạn khi bạn qua đời.", "legacyPageDesc2": "Các liên hệ tin cậy có thể khởi động quá trình khôi phục tài khoản, và nếu không bị chặn trong vòng 30 ngày, có thể đặt lại mật khẩu và truy cập tài khoản của bạn.", "legacyAccounts": "Tài khoản thừa kế", "trustedContacts": "Liên hệ tin cậy", @@ -1499,7 +1557,7 @@ }, "cancelAccountRecovery": "Hủy khôi phục", "recoveryAccount": "Khôi phục tài khoản", - "cancelAccountRecoveryBody": "Bạn có chắc chắn muốn hủy khôi phục không?", + "cancelAccountRecoveryBody": "Bạn có chắc muốn hủy khôi phục không?", "startAccountRecoveryTitle": "Bắt đầu khôi phục", "whyAddTrustContact": "Liên hệ tin cậy có thể giúp khôi phục dữ liệu của bạn.", "recoveryReady": "Bạn có thể khôi phục tài khoản của {email} bằng cách đặt lại mật khẩu mới.", @@ -1512,7 +1570,7 @@ } }, "recoveryWarningBody": "{email} đang cố gắng khôi phục tài khoản của bạn.", - "trustedInviteBody": "Bạn đã được mời làm người liên hệ thừa kế bởi {email}.", + "trustedInviteBody": "Bạn đã được mời làm người thừa kế của {email}.", "warning": "Cảnh báo", "proceed": "Tiếp tục", "confirmAddingTrustedContact": "Bạn sắp thêm {email} làm liên hệ tin cậy. Họ sẽ có thể khôi phục tài khoản của bạn nếu bạn không hoạt động trong {numOfDays} ngày.", @@ -1529,13 +1587,206 @@ } }, "legacyInvite": "{email} đã mời bạn trở thành một liên hệ tin cậy", - "authToManageLegacy": "Vui lòng xác thực để quản lý các liên hệ tin cậy của bạn", - "useDifferentPlayerInfo": "Phát video gặp vấn đề? Ấn giữ tại đây để thử một trình phát khác.", + "authToManageLegacy": "Vui lòng xác thực để quản lý các liên hệ tin cậy", + "useDifferentPlayerInfo": "Phát video gặp vấn đề? Nhấn giữ tại đây để thử một trình phát khác.", "hideSharedItemsFromHomeGallery": "Ẩn các mục được chia sẻ khỏi thư viện chính", "gallery": "Thư viện", "joinAlbum": "Tham gia album", "joinAlbumSubtext": "để xem và thêm ảnh của bạn", - "joinAlbumSubtextViewer": "thêm vào album được chia sẻ", + "joinAlbumSubtextViewer": "để thêm vào album được chia sẻ", "join": "Tham gia", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉" + "linkEmail": "Liên kết email", + "link": "Liên kết", + "noEnteAccountExclamation": "Chưa có tài khoản Ente!", + "orPickFromYourContacts": "hoặc chọn từ danh bạ", + "emailDoesNotHaveEnteAccount": "{email} chưa có tài khoản Ente.", + "@emailDoesNotHaveEnteAccount": { + "description": "Shown when email doesn't have an Ente account", + "placeholders": { + "email": { + "type": "String" + } + } + }, + "accountOwnerPersonAppbarTitle": "{title} (Tôi)", + "@accountOwnerPersonAppbarTitle": { + "description": "Title of appbar for account owner person", + "placeholders": { + "title": { + "type": "String" + } + } + }, + "reassignMe": "Chỉ định lại \"Tôi\"", + "me": "Tôi", + "linkEmailToContactBannerCaption": "để chia sẻ nhanh hơn", + "@linkEmailToContactBannerCaption": { + "description": "Caption for the 'Link email' title. It should be a continuation of the 'Link email' title. Just like how 'Link email' + 'for faster sharing' forms a proper sentence in English, the combination of these two strings should also be a proper sentence in other languages." + }, + "selectPersonToLink": "Chọn người để liên kết", + "linkPersonToEmail": "Liên kết người với {email}", + "@linkPersonToEmail": { + "placeholders": { + "email": { + "type": "String" + } + } + }, + "linkPersonToEmailConfirmation": "Việc này sẽ liên kết {personName} với {email}", + "@linkPersonToEmailConfirmation": { + "description": "Confirmation message when linking a person to an email", + "placeholders": { + "personName": { + "type": "String" + }, + "email": { + "type": "String" + } + } + }, + "selectYourFace": "Chọn khuôn mặt bạn", + "reassigningLoading": "Đang chỉ định lại...", + "reassignedToName": "Đã chỉ định lại bạn thành {name}", + "@reassignedToName": { + "placeholders": { + "name": { + "type": "String" + } + } + }, + "saveChangesBeforeLeavingQuestion": "Lưu thay đổi trước khi rời?", + "dontSave": "Không lưu", + "thisIsMeExclamation": "Đây là tôi!", + "linkPerson": "Liên kết người", + "linkPersonCaption": "để trải nghiệm chia sẻ tốt hơn", + "@linkPersonCaption": { + "description": "Caption for the 'Link person' title. It should be a continuation of the 'Link person' title. Just like how 'Link person' + 'for better sharing experience' forms a proper sentence in English, the combination of these two strings should also be a proper sentence in other languages." + }, + "videoStreaming": "Video có thể phát", + "processingVideos": "Đang xử lý video", + "streamDetails": "Chi tiết phát", + "processing": "Đang xử lý", + "queued": "Đang chờ", + "ineligible": "Không đủ điều kiện", + "failed": "Không thành công", + "playStream": "Phát", + "playOriginal": "Phát tệp gốc", + "joinAlbumConfirmationDialogBody": "Tham gia một album sẽ khiến email của bạn hiển thị với những người tham gia khác.", + "pleaseWaitThisWillTakeAWhile": "Vui lòng chờ, có thể mất một lúc.", + "editTime": "Chỉnh sửa thời gian", + "selectTime": "Chọn thời gian", + "selectDate": "Chọn ngày", + "previous": "Trước", + "selectOneDateAndTimeForAll": "Chọn một ngày và giờ cho tất cả", + "selectStartOfRange": "Chọn phạm vi bắt đầu", + "thisWillMakeTheDateAndTimeOfAllSelected": "Thao tác này sẽ làm cho ngày và giờ của tất cả ảnh được chọn đều giống nhau.", + "allWillShiftRangeBasedOnFirst": "Đây là ảnh đầu tiên trong nhóm. Các ảnh được chọn khác sẽ tự động thay đổi dựa theo ngày mới này", + "newRange": "Phạm vi mới", + "selectOneDateAndTime": "Chọn một ngày và giờ", + "moveSelectedPhotosToOneDate": "Di chuyển ảnh đã chọn đến một ngày", + "shiftDatesAndTime": "Di chuyển ngày và giờ", + "photosKeepRelativeTimeDifference": "Ảnh giữ nguyên chênh lệch thời gian tương đối", + "photocountPhotos": "{count, plural, =0 {Chưa có ảnh} =1 {1 ảnh} other {{count} ảnh}}", + "@photocountPhotos": { + "placeholders": { + "count": { + "type": "int", + "example": "2" + } + } + }, + "appIcon": "Biểu tượng ứng dụng", + "notThisPerson": "Không phải người này?", + "selectedItemsWillBeRemovedFromThisPerson": "Các mục đã chọn sẽ bị xóa khỏi người này, nhưng không bị xóa khỏi thư viện của bạn.", + "throughTheYears": "{dateFormat} qua các năm", + "thisWeekThroughTheYears": "Tuần này qua các năm", + "thisWeekXYearsAgo": "{count, plural, =1 {Tuần này, {count} năm trước} other {Tuần này, {count} năm trước}}", + "youAndThem": "Bạn và {name}", + "admiringThem": "Ngưỡng mộ {name}", + "embracingThem": "Yêu mến {name}", + "partyWithThem": "Quẩy với {name}", + "hikingWithThem": "Leo núi với {name}", + "feastingWithThem": "Tiệc tùng với {name}", + "selfiesWithThem": "Selfie với {name}", + "posingWithThem": "Làm dáng với {name}", + "backgroundWithThem": "Ngắm cảnh với {name}", + "sportsWithThem": "Chơi thể thao với {name}", + "roadtripWithThem": "Đi bộ với {name}", + "spotlightOnYourself": "Tập trung vào bản thân bạn", + "spotlightOnThem": "Tập trung vào {name}", + "personIsAge": "{name} đã {age} tuổi!", + "personTurningAge": "{name} sắp {age} tuổi", + "lastTimeWithThem": "Lần cuối với {name}", + "tripToLocation": "Phượt ở {location}", + "tripInYear": "Phượt năm {year}", + "lastYearsTrip": "Phượt năm ngoái", + "sunrise": "Đường chân trời", + "mountains": "Đồi núi", + "greenery": "Cây cối", + "beach": "Cát và biển", + "city": "Trong thành phố", + "moon": "Ánh trăng", + "onTheRoad": "Trên đường", + "food": "Ăn chơi", + "pets": "Thú cưng", + "curatedMemories": "Ký ức lưu giữ", + "widgets": "Tiện ích", + "memories": "Kỷ niệm", + "peopleWidgetDesc": "Chọn những người bạn muốn thấy trên màn hình chính của mình.", + "albumsWidgetDesc": "Chọn những album bạn muốn thấy trên màn hình chính của mình.", + "memoriesWidgetDesc": "Chọn những loại kỷ niệm bạn muốn thấy trên màn hình chính của mình.", + "smartMemories": "Gợi nhớ kỷ niệm", + "pastYearsMemories": "Kỷ niệm năm ngoái", + "deleteMultipleAlbumDialog": "Xóa luôn các tấm ảnh (và video) có trong {count} album khỏi toàn bộ album khác cũng đang chứa chúng?", + "addParticipants": "Thêm người tham gia", + "selectedAlbums": "{count} đã chọn", + "actionNotSupportedOnFavouritesAlbum": "Hành động không áp dụng trong album Đã thích", + "onThisDayMemories": "Kỷ niệm hôm nay", + "onThisDay": "Vào ngày này", + "lookBackOnYourMemories": "Xem lại kỷ niệm của bạn 🌄", + "newPhotosEmoji": " mới 📸", + "sorryWeHadToPauseYourBackups": "Rất tiếc, chúng tôi phải dừng sao lưu cho bạn", + "clickToInstallOurBestVersionYet": "Nhấn để cài đặt phiên bản tốt nhất", + "onThisDayNotificationExplanation": "Nhắc về những kỷ niệm ngày này trong những năm trước.", + "addMemoriesWidgetPrompt": "Thêm tiện ích kỷ niệm vào màn hình chính và quay lại đây để tùy chỉnh.", + "addAlbumWidgetPrompt": "Thêm tiện ích album vào màn hình chính và quay lại đây để tùy chỉnh.", + "addPeopleWidgetPrompt": "Thêm tiện ích người vào màn hình chính và quay lại đây để tùy chỉnh.", + "birthdayNotifications": "Thông báo sinh nhật", + "receiveRemindersOnBirthdays": "Nhắc khi đến sinh nhật của ai đó. Chạm vào thông báo sẽ đưa bạn đến ảnh của người sinh nhật.", + "happyBirthday": "Chúc mừng sinh nhật! 🥳", + "birthdays": "Sinh nhật", + "wishThemAHappyBirthday": "Chúc {name} sinh nhật vui vẻ! 🎉", + "areYouSureRemoveThisFaceFromPerson": "Bạn có chắc muốn xóa khuôn mặt này khỏi người này không?", + "otherDetectedFaces": "Những khuôn mặt khác được phát hiện", + "areThey": "Họ có phải là ", + "questionmark": "?", + "saveAsAnotherPerson": "Lưu như một người khác", + "showLessFaces": "Hiện ít khuôn mặt hơn", + "showMoreFaces": "Hiện nhiều khuôn mặt hơn", + "ignore": "Bỏ qua", + "merge": "Hợp nhất", + "reset": "Đặt lại", + "areYouSureYouWantToIgnoreThisPerson": "Bạn có chắc muốn bỏ qua người này?", + "areYouSureYouWantToIgnoreThesePersons": "Bạn có chắc muốn bỏ qua những người này?", + "thePersonGroupsWillNotBeDisplayed": "Nhóm người sẽ không được hiển thị trong phần người nữa. Ảnh sẽ vẫn được giữ nguyên.", + "thePersonWillNotBeDisplayed": "Người sẽ không được hiển thị trong phần người nữa. Ảnh sẽ vẫn được giữ nguyên.", + "areYouSureYouWantToMergeThem": "Bạn có chắc muốn hợp nhất họ?", + "allUnnamedGroupsWillBeMergedIntoTheSelectedPerson": "Tất cả nhóm không có tên sẽ được hợp nhất vào người đã chọn. Điều này vẫn có thể được hoàn tác từ tổng quan lịch sử đề xuất của người đó.", + "yesIgnore": "Có, bỏ qua", + "same": "Chính xác", + "different": "Khác", + "sameperson": "Cùng một người?", + "cLTitle1": "Tải lên tệp video lớn", + "cLDesc1": "Sau bản beta phát trực tuyến video và làm việc trên các bản có thể tiếp tục tải lên và tải xuống, chúng tôi hiện đã tăng giới hạn tải lên tệp tới 10 GB. Tính năng này hiện khả dụng trên cả ứng dụng dành cho máy tính để bàn và di động.", + "cLTitle2": "Tải lên trong nền", + "cLDesc2": "Tải lên trong nền hiện đã hỗ trợ trên iOS và Android. Không cần phải mở ứng dụng để sao lưu ảnh và video mới nhất của bạn.", + "cLTitle3": "Tự động phát kỷ niệm", + "cLDesc3": "Chúng tôi đã có những cải tiến đáng kể cho trải nghiệm kỷ niệm, bao gồm phát tự động, vuốt đến kỷ niệm tiếp theo và nhiều tính năng khác.", + "cLTitle4": "Cải thiện nhận diện khuôn mặt", + "cLDesc4": "Cùng với một loạt cải tiến nội bộ, giờ đây bạn có thể dễ dàng xem tất cả khuôn mặt đã phát hiện, cung cấp phản hồi về các khuôn mặt giống nhau và thêm/xóa khuôn mặt khỏi một bức ảnh.", + "cLTitle5": "Thông báo sinh nhật", + "cLDesc5": "Bây giờ bạn sẽ nhận được thông báo tùy-chọn cho tất cả các ngày sinh nhật mà bạn đã lưu trên Ente, cùng với bộ sưu tập những bức ảnh đẹp nhất của họ.", + "cLTitle6": "Tiếp tục tải lên và tải xuống", + "cLDesc6": "Không còn phải chờ tải lên/tải xuống xong mới có thể đóng ứng dụng. Tất cả các tải lên và tải xuống hiện có thể tạm dừng giữa chừng và tiếp tục từ nơi bạn đã dừng lại.", + "indexingPausedStatusDescription": "Lập chỉ mục bị tạm dừng. Nó sẽ tự động tiếp tục khi thiết bị đã sẵn sàng. Thiết bị được coi là sẵn sàng khi mức pin, tình trạng pin và trạng thái nhiệt độ nằm trong phạm vi tốt." } \ No newline at end of file diff --git a/mobile/apps/photos/lib/l10n/intl_zh.arb b/mobile/apps/photos/lib/l10n/intl_zh.arb index 3da8ee7ff3..a8db49277e 100644 --- a/mobile/apps/photos/lib/l10n/intl_zh.arb +++ b/mobile/apps/photos/lib/l10n/intl_zh.arb @@ -1,6 +1,7 @@ { "@@locale ": "en", "enterYourEmailAddress": "请输入您的电子邮件地址", + "enterYourNewEmailAddress": "输入您的新电子邮件地址", "accountWelcomeBack": "欢迎回来!", "emailAlreadyRegistered": "此电子邮件地址已被注册。", "emailNotRegistered": "此电子邮件地址未被注册。", @@ -19,10 +20,10 @@ "deleteAccountPermanentlyButton": "永久删除账户", "yourAccountHasBeenDeleted": "您的账户已删除", "selectReason": "选择原因", - "deleteReason1": "找不到我想要的功能", - "deleteReason2": "应用或某个功能没有按我的预期运行", - "deleteReason3": "我找到了另一个我喜欢的更好的服务", - "deleteReason4": "我的原因未被列出", + "deleteReason1": "缺少我所需的关键功能", + "deleteReason2": "应用或某项功能未按预期运行", + "deleteReason3": "我发现另一个产品更好用", + "deleteReason4": "其他原因", "sendEmail": "发送电子邮件", "deleteRequestSLAText": "您的请求将在 72 小时内处理。", "deleteEmailRequest": "请从您注册的电子邮件地址发送电子邮件到 account-delettion@ente.io。", @@ -458,7 +459,7 @@ "selectAll": "全选", "skip": "跳过", "updatingFolderSelection": "正在更新文件夹选择...", - "itemCount": "{count, plural, other{{count} 个项目}}", + "itemCount": "{count, plural, one{{count} 个项目} other{{count} 个项目}}", "deleteItemCount": "{count, plural, =1 {删除 {count} 个项目} other {删除 {count} 个项目}}", "duplicateItemsGroup": "{count} 个文件,每个文件 {formattedSize}", "@duplicateItemsGroup": { @@ -476,7 +477,7 @@ } }, "showMemories": "显示回忆", - "yearsAgo": "{count, plural, other{{count} 年前}}", + "yearsAgo": "{count, plural, one{{count} 年前} other{{count} 年前}}", "backupSettings": "备份设置", "backupStatus": "备份状态", "backupStatusDescription": "已备份的项目将显示在此处", @@ -721,6 +722,7 @@ "type": "text" }, "backupFailed": "备份失败", + "sorryBackupFailedDesc": "抱歉,我们目前无法备份此文件,我们将稍后重试。", "couldNotBackUpTryLater": "我们无法备份您的数据。\n我们将稍后再试。", "enteCanEncryptAndPreserveFilesOnlyIfYouGrant": "仅当您授予文件访问权限时,Ente 才能加密和保存文件", "pleaseGrantPermissions": "请授予权限", @@ -1029,6 +1031,7 @@ "didYouKnow": "您知道吗?", "loadingMessage": "正在加载您的照片...", "loadMessage1": "您可以与家庭分享您的订阅", + "loadMessage2": "我们至今已保存超过2亿个回忆", "loadMessage3": "我们保存你的3个数据副本,其中一个在地下安全屋中", "loadMessage4": "我们所有的应用程序都是开源的", "loadMessage5": "我们的源代码和加密技术已经由外部审计", @@ -1279,6 +1282,8 @@ "createCollaborativeLink": "创建协作链接", "search": "搜索", "enterPersonName": "输入人物名称", + "editEmailAlreadyLinked": "此电子邮件已与{name}关联。", + "viewPersonToUnlink": "查看{name}以解除关联", "enterName": "输入名称", "savePerson": "保存人物", "editPerson": "编辑人物", @@ -1304,7 +1309,6 @@ "faceRecognition": "人脸识别", "foundFaces": "已找到的人脸", "clusteringProgress": "聚类进展", - "indexingIsPaused": "索引已暂停。当设备准备就绪时,它将自动恢复。", "trim": "修剪", "crop": "裁剪", "rotate": "旋转", @@ -1658,6 +1662,7 @@ "@linkPersonCaption": { "description": "Caption for the 'Link person' title. It should be a continuation of the 'Link person' title. Just like how 'Link person' + 'for better sharing experience' forms a proper sentence in English, the combination of these two strings should also be a proper sentence in other languages." }, + "videoStreaming": "可流媒体播放的视频", "processingVideos": "正在处理视频", "streamDetails": "流详情", "processing": "正在处理", @@ -1724,5 +1729,64 @@ "onTheRoad": "再次踏上旅途", "food": "美食盛宴", "pets": "毛茸茸的伙伴", - "wishThemAHappyBirthday": "Wish ${name} a happy birthday! 🎉" + "curatedMemories": "精选回忆", + "widgets": "小组件", + "memories": "回忆", + "peopleWidgetDesc": "选择您希望在主屏幕上看到的人。", + "albumsWidgetDesc": "选择您希望在主屏幕上看到的相册。", + "memoriesWidgetDesc": "选择您希望在主屏幕上看到的回忆类型。", + "smartMemories": "智能回忆", + "pastYearsMemories": "往年回忆", + "deleteMultipleAlbumDialog": "也删除这{count}个相册中的照片(和视频)从它们所在的所有其他相册中?", + "addParticipants": "添加参与者", + "selectedAlbums": "已选择 {count} 个", + "actionNotSupportedOnFavouritesAlbum": "收藏相册不支持此操作", + "onThisDayMemories": "这天的回忆", + "onThisDay": "这天", + "lookBackOnYourMemories": "回顾你的回忆🌄", + "newPhotosEmoji": " 新 📸", + "sorryWeHadToPauseYourBackups": "抱歉,我们不得不暂停您的备份", + "clickToInstallOurBestVersionYet": "点击安装我们迄今最好的版本", + "onThisDayNotificationExplanation": "接收关于往年这一天回忆的提醒。", + "addMemoriesWidgetPrompt": "将回忆小组件添加到您的主屏幕,然后返回此处进行自定义。", + "addAlbumWidgetPrompt": "将相册小组件添加到您的主屏幕,然后返回此处进行自定义。", + "addPeopleWidgetPrompt": "将人物小组件添加到您的主屏幕,然后返回此处进行自定义。", + "birthdayNotifications": "生日通知", + "receiveRemindersOnBirthdays": "接收某人生日时的提醒。点击通知将带您查看生日人物的照片。", + "happyBirthday": "生日快乐! 🥳", + "birthdays": "生日", + "wishThemAHappyBirthday": "祝 {name} 生日快乐! 🎉", + "areYouSureRemoveThisFaceFromPerson": "您确定要从此人中移除这个人脸吗?", + "otherDetectedFaces": "其他检测到的人脸", + "areThey": "他们是 ", + "questionmark": "?", + "saveAsAnotherPerson": "另存为其他人物", + "showLessFaces": "显示较少人脸", + "showMoreFaces": "显示更多人脸", + "ignore": "忽略", + "merge": "合并", + "reset": "重设", + "areYouSureYouWantToIgnoreThisPerson": "您确定要忽略此人吗?", + "areYouSureYouWantToIgnoreThesePersons": "您确定要忽略这些人吗?", + "thePersonGroupsWillNotBeDisplayed": "人物组将不再显示在人物部分。照片将保持不变。", + "thePersonWillNotBeDisplayed": "该人将不再显示在人物部分。照片将保持不变。", + "areYouSureYouWantToMergeThem": "您确定要合并他们吗?", + "allUnnamedGroupsWillBeMergedIntoTheSelectedPerson": "所有未命名组将合并到所选人物中。此操作仍可从该人物的建议历史概览中撤销。", + "yesIgnore": "是的,忽略", + "same": "相同", + "different": "不同", + "sameperson": "是同一个人?", + "cLTitle1": "正在上传大型视频文件", + "cLDesc1": "在视频流媒体测试版和可恢复上传与下载功能的基础上,我们现已将文件上传限制提高到10GB。此功能现已在桌面和移动应用程序中可用。", + "cLTitle2": "后台上传", + "cLDesc2": "现在 iOS 设备也支持后台上传,Android 设备早已支持。无需打开应用程序即可备份最新的照片和视频。", + "cLTitle3": "自动播放回忆", + "cLDesc3": "我们对回忆体验进行了重大改进,包括自动播放、滑动到下一个回忆以及更多功能。", + "cLTitle4": "改进的人脸识别", + "cLDesc4": "除了多项底层改进外,现在可以更轻松地查看所有检测到的人脸,对相似人脸提供反馈,以及从单张照片中添加/删除人脸。", + "cLTitle5": "生日通知", + "cLDesc5": "您现在将收到 Ente 上保存的所有生日的可选退出通知,同时附上他们最佳照片的合集。", + "cLTitle6": "可恢复的上传和下载", + "cLDesc6": "无需等待上传/下载完成即可关闭应用程序。所有上传和下载现在都可以中途暂停,并从中断处继续。", + "indexingPausedStatusDescription": "索引已暂停。待设备准备就绪后,索引将自动恢复。当设备的电池电量、电池健康度和温度状态处于健康范围内时,设备即被视为准备就绪。" } \ No newline at end of file From b7c11998c6303af02db152fedbba4c5992cb43da Mon Sep 17 00:00:00 2001 From: AmanRajSinghMourya Date: Mon, 7 Jul 2025 14:38:04 +0530 Subject: [PATCH 3/8] Handle edge cases for memories --- .../apps/photos/lib/ui/home/memories/full_screen_memory.dart | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mobile/apps/photos/lib/ui/home/memories/full_screen_memory.dart b/mobile/apps/photos/lib/ui/home/memories/full_screen_memory.dart index 305b065f56..29225c22e4 100644 --- a/mobile/apps/photos/lib/ui/home/memories/full_screen_memory.dart +++ b/mobile/apps/photos/lib/ui/home/memories/full_screen_memory.dart @@ -261,7 +261,8 @@ class _FullScreenMemoryState extends State { } else if (widget.onNextMemory != null) { widget.onNextMemory!(); } else { - Navigator.of(context).pop(); + hasFinalFileLoaded = true; + _toggleAnimation(pause: false); } } From 0e4162730684a30fde4bd1947185217a4a2a55ca Mon Sep 17 00:00:00 2001 From: AmanRajSinghMourya Date: Mon, 7 Jul 2025 15:12:05 +0530 Subject: [PATCH 4/8] Fix fast animation by checking AccessibilityFeatures.disableAnimations --- mobile/apps/photos/lib/ui/home/memories/full_screen_memory.dart | 1 + .../photos/lib/ui/home/memories/memory_progress_indicator.dart | 1 + 2 files changed, 2 insertions(+) diff --git a/mobile/apps/photos/lib/ui/home/memories/full_screen_memory.dart b/mobile/apps/photos/lib/ui/home/memories/full_screen_memory.dart index 29225c22e4..c51b38bdfb 100644 --- a/mobile/apps/photos/lib/ui/home/memories/full_screen_memory.dart +++ b/mobile/apps/photos/lib/ui/home/memories/full_screen_memory.dart @@ -716,6 +716,7 @@ class _MemoriesZoomWidgetState extends State duration: const Duration( seconds: 5, ), + animationBehavior: AnimationBehavior.preserve, ); final startScale = widget.zoomIn ? 1.05 : 1.15; diff --git a/mobile/apps/photos/lib/ui/home/memories/memory_progress_indicator.dart b/mobile/apps/photos/lib/ui/home/memories/memory_progress_indicator.dart index 0028215197..3cfc42253c 100644 --- a/mobile/apps/photos/lib/ui/home/memories/memory_progress_indicator.dart +++ b/mobile/apps/photos/lib/ui/home/memories/memory_progress_indicator.dart @@ -40,6 +40,7 @@ class _MemoryProgressIndicatorState extends State _animationController = AnimationController( vsync: this, duration: widget.duration, + animationBehavior: AnimationBehavior.preserve, ); _animation = From 62a798d5272c540cae20ccfc160b32758b56c472 Mon Sep 17 00:00:00 2001 From: AmanRajSinghMourya Date: Mon, 7 Jul 2025 15:41:50 +0530 Subject: [PATCH 5/8] Minor fix --- .../photos/lib/ui/home/memories/full_screen_memory.dart | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/mobile/apps/photos/lib/ui/home/memories/full_screen_memory.dart b/mobile/apps/photos/lib/ui/home/memories/full_screen_memory.dart index c51b38bdfb..65bf33a647 100644 --- a/mobile/apps/photos/lib/ui/home/memories/full_screen_memory.dart +++ b/mobile/apps/photos/lib/ui/home/memories/full_screen_memory.dart @@ -153,6 +153,7 @@ class _FullScreenMemoryState extends State { /// Used to check if any pointer is on the screen. final hasPointerOnScreenNotifier = ValueNotifier(false); bool hasFinalFileLoaded = false; + bool isAtFirstOrLastFile = false; late final StreamSubscription _detailSheetEventSubscription; @@ -219,7 +220,7 @@ class _FullScreenMemoryState extends State { _progressAnimationController?.stop(); _zoomAnimationController?.stop(); } else { - if (hasFinalFileLoaded) { + if (hasFinalFileLoaded || isAtFirstOrLastFile) { _progressAnimationController?.forward(); _zoomAnimationController?.forward(); } @@ -261,7 +262,7 @@ class _FullScreenMemoryState extends State { } else if (widget.onNextMemory != null) { widget.onNextMemory!(); } else { - hasFinalFileLoaded = true; + isAtFirstOrLastFile = true; _toggleAnimation(pause: false); } } @@ -275,7 +276,7 @@ class _FullScreenMemoryState extends State { } else if (widget.onPreviousMemory != null) { widget.onPreviousMemory!(); } else { - hasFinalFileLoaded = true; + isAtFirstOrLastFile = true; _onPageChange(inheritedData, currentIndex); _toggleAnimation(pause: false); } From c54ca8c7ae76b6bc5f60d93d4c30511201ce0e1c Mon Sep 17 00:00:00 2001 From: AmanRajSinghMourya Date: Mon, 7 Jul 2025 23:42:39 +0530 Subject: [PATCH 6/8] Minor fix --- mobile/apps/photos/lib/ui/home/memories/full_screen_memory.dart | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mobile/apps/photos/lib/ui/home/memories/full_screen_memory.dart b/mobile/apps/photos/lib/ui/home/memories/full_screen_memory.dart index 65bf33a647..47616b6e37 100644 --- a/mobile/apps/photos/lib/ui/home/memories/full_screen_memory.dart +++ b/mobile/apps/photos/lib/ui/home/memories/full_screen_memory.dart @@ -238,6 +238,7 @@ class _FullScreenMemoryState extends State { void onFinalFileLoad(int duration) { hasFinalFileLoaded = true; + isAtFirstOrLastFile = false; if (_progressAnimationController?.isAnimating == true) { _progressAnimationController!.stop(); } @@ -283,6 +284,7 @@ class _FullScreenMemoryState extends State { } void _onPageChange(FullScreenMemoryData inheritedData, int index) { + isAtFirstOrLastFile = false; unawaited( memoriesCacheService.markMemoryAsSeen( inheritedData.memories[index], From abd5704ebba41ab839e5d244ab58a4fb55a227b0 Mon Sep 17 00:00:00 2001 From: AmanRajSinghMourya Date: Wed, 9 Jul 2025 13:45:22 +0530 Subject: [PATCH 7/8] Minor fix --- mobile/apps/photos/lib/ui/home/memories/full_screen_memory.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mobile/apps/photos/lib/ui/home/memories/full_screen_memory.dart b/mobile/apps/photos/lib/ui/home/memories/full_screen_memory.dart index 47616b6e37..0486545723 100644 --- a/mobile/apps/photos/lib/ui/home/memories/full_screen_memory.dart +++ b/mobile/apps/photos/lib/ui/home/memories/full_screen_memory.dart @@ -278,7 +278,7 @@ class _FullScreenMemoryState extends State { widget.onPreviousMemory!(); } else { isAtFirstOrLastFile = true; - _onPageChange(inheritedData, currentIndex); + _resetAnimation(); _toggleAnimation(pause: false); } } From 0f101110e6614ceb8ac766e8782d5b8ea6714607 Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Fri, 11 Jul 2025 11:23:51 +0530 Subject: [PATCH 8/8] Fix throttling when multipart is disabled --- .../services/sync/remote_sync_service.dart | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/mobile/apps/photos/lib/services/sync/remote_sync_service.dart b/mobile/apps/photos/lib/services/sync/remote_sync_service.dart index 4cee087a45..d4523b27d0 100644 --- a/mobile/apps/photos/lib/services/sync/remote_sync_service.dart +++ b/mobile/apps/photos/lib/services/sync/remote_sync_service.dart @@ -153,7 +153,7 @@ class RemoteSyncService { await syncDeviceCollectionFilesForUpload(); final hasMoreFilesToBackup = (await _getFilesToBeUploaded()).isNotEmpty; _logger.info("hasMoreFilesToBackup?" + hasMoreFilesToBackup.toString()); - if (hasMoreFilesToBackup && !_shouldThrottleSync()) { + if (hasMoreFilesToBackup) { // Skipping a resync to ensure that files that were ignored in this // session are not processed now await sync(); @@ -548,7 +548,7 @@ class RemoteSyncService { return originalFiles; } final bool shouldRemoveVideos = - !_config.shouldBackupVideos() || _shouldThrottleSync(); + !_config.shouldBackupVideos() || bgWithoutResumableUpload; final ignoredIDs = await IgnoredFilesService.instance.idToIgnoreReasonMap; bool shouldSkipUploadFunc(EnteFile file) { return IgnoredFilesService.instance.shouldSkipUpload(ignoredIDs, file); @@ -606,7 +606,7 @@ class RemoteSyncService { final List futures = []; for (final file in filesToBeUploaded) { - if (_shouldThrottleSync() && + if (shouldThrottleUpload && futures.length >= kMaximumPermissibleUploadsInThrottledMode) { _logger.info("Skipping some new files as we are throttling uploads"); break; @@ -621,7 +621,7 @@ class RemoteSyncService { } for (final uploadedFileID in updatedFileIDs) { - if (_shouldThrottleSync() && + if (shouldThrottleUpload && futures.length >= kMaximumPermissibleUploadsInThrottledMode) { _logger .info("Skipping some updated files as we are throttling uploads"); @@ -935,9 +935,15 @@ class RemoteSyncService { return kEditTimeFeatureReleaseTime; } - bool _shouldThrottleSync() { - return !flagService.enableMobMultiPart || - !localSettings.userEnabledMultiplePart; + bool get shouldThrottleUpload { + return !Platform.isAndroid && !AppLifecycleService.instance.isForeground; + } + + bool get bgWithoutResumableUpload { + // if multiple part is enabled, then we are not throttling uploads in bg + return !(flagService.enableMobMultiPart && + localSettings.userEnabledMultiplePart) && + !AppLifecycleService.instance.isForeground; } // _sortByTime sort by creation time (desc).