diff --git a/frontend/appflowy_flutter/lib/startup/tasks/app_widget.dart b/frontend/appflowy_flutter/lib/startup/tasks/app_widget.dart index a101cb2241..c4cb655a76 100644 --- a/frontend/appflowy_flutter/lib/startup/tasks/app_widget.dart +++ b/frontend/appflowy_flutter/lib/startup/tasks/app_widget.dart @@ -68,6 +68,7 @@ class InitAppWidgetTask extends LaunchTask { Locale('tr', 'TR'), Locale('uk', 'UA'), Locale('ur'), + Locale('vi', 'VN'), Locale('zh', 'CN'), Locale('zh', 'TW'), Locale('fa'), diff --git a/frontend/resources/translations/ar-SA.json b/frontend/resources/translations/ar-SA.json index ceb98e4fde..e78fc4d2c6 100644 --- a/frontend/resources/translations/ar-SA.json +++ b/frontend/resources/translations/ar-SA.json @@ -596,4 +596,4 @@ "deleteContentTitle": "هل أنت متأكد من أنك تريد حذف {pageType}؟", "deleteContentCaption": "إذا قمت بحذف {pageType} هذه ، فيمكنك استعادتها من سلة المهملات." } -} \ No newline at end of file +} diff --git a/frontend/resources/translations/ca-ES.json b/frontend/resources/translations/ca-ES.json index 1b26bf2339..c2a20ea07f 100644 --- a/frontend/resources/translations/ca-ES.json +++ b/frontend/resources/translations/ca-ES.json @@ -595,4 +595,4 @@ "deleteContentTitle": "Esteu segur que voleu suprimir {pageType}?", "deleteContentCaption": "si suprimiu aquest {pageType}, podeu restaurar-lo des de la paperera." } -} \ No newline at end of file +} diff --git a/frontend/resources/translations/de-DE.json b/frontend/resources/translations/de-DE.json index 0400cbf8ce..7f3919ad20 100644 --- a/frontend/resources/translations/de-DE.json +++ b/frontend/resources/translations/de-DE.json @@ -604,4 +604,4 @@ "deleteContentTitle": "Möchten Sie den {pageType} wirklich löschen?", "deleteContentCaption": "Wenn Sie diesen {pageType} löschen, können Sie ihn aus dem Papierkorb wiederherstellen." } -} \ No newline at end of file +} diff --git a/frontend/resources/translations/es-VE.json b/frontend/resources/translations/es-VE.json index 5620e986d1..89c34ddacb 100644 --- a/frontend/resources/translations/es-VE.json +++ b/frontend/resources/translations/es-VE.json @@ -596,4 +596,4 @@ "deleteContentTitle": "¿Está seguro de que desea eliminar {pageType}?", "deleteContentCaption": "si elimina este {pageType}, puede restaurarlo de la papelera." } -} \ No newline at end of file +} diff --git a/frontend/resources/translations/eu-ES.json b/frontend/resources/translations/eu-ES.json index 993d300625..f24aa08b04 100644 --- a/frontend/resources/translations/eu-ES.json +++ b/frontend/resources/translations/eu-ES.json @@ -601,4 +601,4 @@ "deleteContentTitle": "Ziur {pageType} ezabatu nahi duzula?", "deleteContentCaption": "{pageType} hau ezabatzen baduzu, zaborrontzitik leheneratu dezakezu." } -} \ No newline at end of file +} diff --git a/frontend/resources/translations/fa.json b/frontend/resources/translations/fa.json index 6eebfc4768..c85c66d020 100644 --- a/frontend/resources/translations/fa.json +++ b/frontend/resources/translations/fa.json @@ -674,4 +674,4 @@ "frequentlyUsed": "استفاده‌شده" } } -} \ No newline at end of file +} diff --git a/frontend/resources/translations/fr-CA.json b/frontend/resources/translations/fr-CA.json index 5b9af705e1..4306eb2c9f 100644 --- a/frontend/resources/translations/fr-CA.json +++ b/frontend/resources/translations/fr-CA.json @@ -595,4 +595,4 @@ "deleteContentTitle": "Voulez-vous vraiment supprimer le {pageType} ?", "deleteContentCaption": "si vous supprimez ce {pageType}, vous pouvez le restaurer à partir de la corbeille." } -} \ No newline at end of file +} diff --git a/frontend/resources/translations/fr-FR.json b/frontend/resources/translations/fr-FR.json index c4e717baf3..6949228189 100644 --- a/frontend/resources/translations/fr-FR.json +++ b/frontend/resources/translations/fr-FR.json @@ -596,4 +596,4 @@ "deleteContentTitle": "Voulez-vous vraiment supprimer le {pageType} ?", "deleteContentCaption": "si vous supprimez ce {pageType}, vous pouvez le restaurer à partir de la corbeille." } -} \ No newline at end of file +} diff --git a/frontend/resources/translations/hu-HU.json b/frontend/resources/translations/hu-HU.json index 6c897a5804..8bcb5362a6 100644 --- a/frontend/resources/translations/hu-HU.json +++ b/frontend/resources/translations/hu-HU.json @@ -595,4 +595,4 @@ "deleteContentTitle": "Biztosan törli a következőt: {pageType}?", "deleteContentCaption": "ha törli ezt a {pageType} oldalt, visszaállíthatja a kukából." } -} \ No newline at end of file +} diff --git a/frontend/resources/translations/it-IT.json b/frontend/resources/translations/it-IT.json index e7214164c8..633d8cf4b9 100644 --- a/frontend/resources/translations/it-IT.json +++ b/frontend/resources/translations/it-IT.json @@ -607,4 +607,4 @@ "deleteContentTitle": "Sei sicuro di voler eliminare {pageType}?", "deleteContentCaption": "se elimini questo {pageType}, puoi ripristinarlo dal cestino." } -} \ No newline at end of file +} diff --git a/frontend/resources/translations/ja-JP.json b/frontend/resources/translations/ja-JP.json index f5462b16b0..992efa3f7d 100644 --- a/frontend/resources/translations/ja-JP.json +++ b/frontend/resources/translations/ja-JP.json @@ -596,4 +596,4 @@ "deleteContentTitle": "{pageType} を削除してもよろしいですか?", "deleteContentCaption": "この {pageType} を削除しても、ゴミ箱から復元できます。" } -} \ No newline at end of file +} diff --git a/frontend/resources/translations/ko-KR.json b/frontend/resources/translations/ko-KR.json index 0d62c5de40..115c432570 100644 --- a/frontend/resources/translations/ko-KR.json +++ b/frontend/resources/translations/ko-KR.json @@ -598,4 +598,4 @@ "deleteContentTitle": "{pageType}을(를) 삭제하시겠습니까?", "deleteContentCaption": "이 {pageType}을(를) 삭제하면 휴지통에서 복원할 수 있습니다." } -} \ No newline at end of file +} diff --git a/frontend/resources/translations/pl-PL.json b/frontend/resources/translations/pl-PL.json index 426c1287ac..18fd336cef 100644 --- a/frontend/resources/translations/pl-PL.json +++ b/frontend/resources/translations/pl-PL.json @@ -737,4 +737,4 @@ "frequentlyUsed": "Często używany" } } -} \ No newline at end of file +} diff --git a/frontend/resources/translations/pt-BR.json b/frontend/resources/translations/pt-BR.json index facd2ea5b5..792768aa0d 100644 --- a/frontend/resources/translations/pt-BR.json +++ b/frontend/resources/translations/pt-BR.json @@ -711,4 +711,4 @@ "frequentlyUsed": "Usado frequentemente" } } -} \ No newline at end of file +} diff --git a/frontend/resources/translations/pt-PT.json b/frontend/resources/translations/pt-PT.json index b16308069f..208e35f974 100644 --- a/frontend/resources/translations/pt-PT.json +++ b/frontend/resources/translations/pt-PT.json @@ -708,4 +708,4 @@ "frequentlyUsed": "Usado frequentemente" } } -} \ No newline at end of file +} diff --git a/frontend/resources/translations/ru-RU.json b/frontend/resources/translations/ru-RU.json index c306cbd87a..4290afc4e0 100644 --- a/frontend/resources/translations/ru-RU.json +++ b/frontend/resources/translations/ru-RU.json @@ -596,4 +596,4 @@ "deleteContentTitle": "Вы уверены, что хотите удалить {pageType}?", "deleteContentCaption": "если вы удалите этот {pageType}, вы сможете восстановить его из корзины." } -} \ No newline at end of file +} diff --git a/frontend/resources/translations/sv.json b/frontend/resources/translations/sv.json index bb7cfb10f7..1e25ecdfae 100644 --- a/frontend/resources/translations/sv.json +++ b/frontend/resources/translations/sv.json @@ -596,4 +596,4 @@ "deleteContentTitle": "Är du säker på att du vill ta bort {pageType}?", "deleteContentCaption": "om du tar bort denna {pageType} kan du återställa den från papperskorgen." } -} \ No newline at end of file +} diff --git a/frontend/resources/translations/tr-TR.json b/frontend/resources/translations/tr-TR.json index a6b5e83105..e211a9faa3 100644 --- a/frontend/resources/translations/tr-TR.json +++ b/frontend/resources/translations/tr-TR.json @@ -595,4 +595,4 @@ "deleteContentTitle": "{pageType}'ı silmek istediğinizden emin misiniz?", "deleteContentCaption": "bu {pageType}'ı silerseniz çöp kutusundan geri yükleyebilirsiniz." } -} \ No newline at end of file +} diff --git a/frontend/resources/translations/vi-VN.json b/frontend/resources/translations/vi-VN.json new file mode 100644 index 0000000000..56414c9e84 --- /dev/null +++ b/frontend/resources/translations/vi-VN.json @@ -0,0 +1,185 @@ +{ + "blockActions": { + "dragTooltip": "Kéo để di chuyển" + }, + "disclosureAction": { + "copyLink": "Sao chép đường dẫn" + }, + "settings": { + "menu": { + "logout": "Đăng xuất", + "logoutPrompt": "Bạn chắc chắn muốn đăng xuất?", + "syncSetting": "Đồng bộ cài đặt", + "enableSync": "Bật tính năng đồng bộ", + "enableEncrypt": "Mã hoá dữ liệu", + "historicalUserList": "Lịch sử đăng nhập", + "openHistoricalUser": "Ấn để mở tài khoản ẩn danh" + }, + "appearance": { + "resetSetting": "Đặt lại cài đặt", + "textDirection": { + "label": "Hướng kí tự mặc định", + "ltr": "Trái sang phải", + "rtl": "Phải sang trái" + }, + "dateFormat": { + "label": "Định dạng ngày" + }, + "timeFormat": { + "label": "Định dạng giờ", + "twentyFourHour": "Hai mươi bốn tiếng" + } + }, + "user": { + "email": "Email", + "tooltipSelectIcon": "Chọn biểu tượng", + "clickToLogout": "Nhấn để đăng xuất" + }, + "shortcuts": { + "shortcutsLabel": "Phím tắt" + } + }, + "document": { + "title": { + "placeholder": "Trống" + }, + "imageBlock": { + "placeholder": "Ấn để thêm ảnh", + "upload": { + "label": "Tải lên", + "placeholder": "Ấn để tải lên ảnh" + }, + "url": { + "label": "Đường dẫn đến ảnh", + "placeholder": "Nhập đường dẫn đến ảnh" + }, + "error": { + "invalidImage": "Ảnh không hợp lệ" + } + }, + "codeBlock": { + "language": { + "label": "Ngôn ngữ", + "placeholder": "Chọn ngôn ngữ" + } + }, + "toolbar": { + "resetToDefaultFont": "Chỉnh về mặc định" + } + }, + "board": { + "column": { + "create_new_card": "Mới" + }, + "menuName": "Bảng" + }, + "calendar": { + "menuName": "Lịch", + "defaultNewCalendarTitle": "Trống", + "navigation": { + "today": "Hôm nay", + "previousMonth": "Tháng trước", + "nextMonth": "Tháng sau" + }, + "settings": { + "showWeekNumbers": "Hiện thứ tự của tuần", + "showWeekends": "Hiện cuối tuần", + "firstDayOfWeek": "Ngày bắt đầu trong tuần", + "noDateTitle": "Không có ngày", + "clickToAdd": "Ấn để thêm lịch" + } + }, + "errorDialog": { + "title": "Lỗi của AppFlowy", + "howToFixFallback": "Chúng tôi xin lỗi vì sự cố này! Vui lòng mở sự cố trên GitHub để báo lỗi.", + "github": "Xem trên GitHub" + }, + "search": { + "label": "Tìm kiếm" + }, + "message": { + "copy": { + "success": "Đã sao chép!", + "fail": "Không thể sao chép" + } + }, + "unSupportBlock": "Phiên bản hiện tại không hỗ trợ Block này.", + "views": { + "deleteContentTitle": "Bạn chắc chắn muốn xoá {pageType}?", + "deleteContentCaption": "Nếu bạn xoá {pageType}, bạn có thể phục hồi từ thùng rác." + }, + "colors": { + "custom": "Tuỳ chỉnh", + "default": "Mặc định", + "red": "Đỏ", + "orange": "Cam", + "yellow": "Vàng", + "green": "Xanh lá cây", + "blue": "Xanh dương", + "purple": "Tím", + "pink": "Hồng", + "brown": "Nâu", + "gray": "Xám" + }, + "emoji": { + "search": "Tìm kiếm biểu tượng", + "noEmojiFound": "Không tìm thấy biểu tượng", + "filter": "Bộ lọc", + "random": "Ngẫu nhiên", + "remove": "Loại bỏ biểu tượng", + "categories": { + "people": "Con người và cơ thể", + "animals": "Động vật và thiên nhiên", + "food": "Đồ ăn và thức uống", + "activities": "Hoạt động", + "places": "Du lịch và địa điểm", + "objects": "Vật thể", + "symbols": "Biểu tượng", + "flags": "Cờ", + "nature": "Thiên nhiên", + "frequentlyUsed": "Thường dùng" + } + }, + "inlineActions": { + "noResults": "Không có kết quả", + "date": "Ngày", + "reminder": { + "groupTitle": "Lời nhắc", + "shortKeyword": "nhắc nhở" + } + }, + "relativeDates": { + "yesterday": "Hôm qua", + "today": "Hôm nay", + "tomorrow": "Ngày mai", + "oneWeek": "1 tuần" + }, + "notificationHub": { + "title": "Thông báo", + "empty": "Không có gì ở đây!" + }, + "reminderNotification": { + "title": "Lời nhắc", + "tooltipDelete": "Xoá" + }, + "findAndReplace": { + "find": "Tìm kiếm", + "previousMatch": "Kết quả phía trước", + "nextMatch": "Kết quả tiếp theo", + "close": "Đóng", + "replace": "Thay thế", + "replaceAll": "Thay thế tất cả", + "noResult": "Không thấy kết quả" + }, + "signIn": { + "loginAsGuestButtonText": "Đăng nhập với chế độ khách" + }, + "grid": { + "settings": { + "Properties": "Thuộc tính" + } + }, + "button": { + "tryAGain": "Thử lại" + } +} diff --git a/frontend/resources/translations/zh-CN.json b/frontend/resources/translations/zh-CN.json index b5289f4c62..b0de096b58 100644 --- a/frontend/resources/translations/zh-CN.json +++ b/frontend/resources/translations/zh-CN.json @@ -596,4 +596,4 @@ "deleteContentTitle": "您确定要删除 {pageType} 吗?", "deleteContentCaption": "如果您删除此{pageType},您可以从回收站中将其恢复。" } -} \ No newline at end of file +} diff --git a/frontend/resources/translations/zh-TW.json b/frontend/resources/translations/zh-TW.json index dd8677419f..42570d450f 100644 --- a/frontend/resources/translations/zh-TW.json +++ b/frontend/resources/translations/zh-TW.json @@ -596,4 +596,4 @@ "deleteContentTitle": "您確定要刪除 {pageType} 嗎?", "deleteContentCaption": "如果您刪除此{pageType},您可以從回收站中將其恢復。" } -} \ No newline at end of file +} diff --git a/project.inlang.json b/project.inlang.json index 4ac5ba8aa7..2870eb1c71 100644 --- a/project.inlang.json +++ b/project.inlang.json @@ -1,18 +1,43 @@ { - "$schema":"https://inlang.com/schema/project-settings", - "sourceLanguageTag": "en", - "languageTags": ["ar-SA", "ca-ES", "de-DE", "en", "es-VE", "eu-ES", "fa", "fr-CA", "fr-FR", "hu-HU", "id-ID", "it-IT", "ja-JP", "ko-KR", "pl-PL", "pt-BR", "pt-PT", "ru-RU", "sv", "tr-TR", "zh-CN", "zh-TW"], - "modules": [ - "https://cdn.jsdelivr.net/npm/@inlang/plugin-i18next@4/dist/index.js", - "https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-empty-pattern@1/dist/index.js", - "https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-identical-pattern@1/dist/index.js", - "https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-without-source@1/dist/index.js", - "https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-missing-translation@1/dist/index.js" - ], - "plugin.inlang.i18next": { - "pathPattern": "./frontend/resources/translations/{languageTag}.json", - "variableReferencePattern": [ - "@:" - ] - } -} + "$schema": "https://inlang.com/schema/project-settings", + "sourceLanguageTag": "en", + "languageTags": [ + "en", + "ar-SA", + "ca-ES", + "de-DE", + "es-VE", + "eu-ES", + "fa", + "fr-CA", + "fr-FR", + "hu-HU", + "id-ID", + "it-IT", + "ja-JP", + "ko-KR", + "pl-PL", + "pt-BR", + "pt-PT", + "ru-RU", + "sv", + "tr-TR", + "vi", + "vi-VN", + "zh-CN", + "zh-TW" + ], + "modules": [ + "https://cdn.jsdelivr.net/npm/@inlang/plugin-i18next@4/dist/index.js", + "https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-empty-pattern@1/dist/index.js", + "https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-identical-pattern@1/dist/index.js", + "https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-without-source@1/dist/index.js", + "https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-missing-translation@1/dist/index.js" + ], + "plugin.inlang.i18next": { + "pathPattern": "./frontend/resources/translations/{languageTag}.json", + "variableReferencePattern": [ + "@:" + ] + } +} \ No newline at end of file