diff --git a/android/app/src/main/res/values-vi/strings.xml b/android/app/src/main/res/values-vi/strings.xml
new file mode 100644
index 000000000..0a9af9cbe
--- /dev/null
+++ b/android/app/src/main/res/values-vi/strings.xml
@@ -0,0 +1,12 @@
+
+
+ Dừng
+ Khung Ảnh
+ Đang quét phương tiện
+ Video
+ Chế độ an toàn
+ Hình nền
+ Aves
+ Quét phương tiện
+ Tìm kiếm
+
\ No newline at end of file
diff --git a/fastlane/metadata/android/vi/full_description.txt b/fastlane/metadata/android/vi/full_description.txt
new file mode 100644
index 000000000..6c92748f8
--- /dev/null
+++ b/fastlane/metadata/android/vi/full_description.txt
@@ -0,0 +1,5 @@
+Aves can handle all sorts of images and videos, including your typical JPEGs and MP4s, but also more exotic things like multi-page TIFFs, SVGs, old AVIs and more! It scans your media collection to identify motion photos, panoramas (aka photo spheres), 360° videos, as well as GeoTIFF files.
+
+Navigation and search is an important part of Aves. The goal is for users to easily flow from albums to photos to tags to maps, etc.
+
+Aves integrates with Android (from KitKat to Android 13, including Android TV) with features such as widgets, app shortcuts, screen saver and global search handling. It also works as a media viewer and picker.
\ No newline at end of file
diff --git a/fastlane/metadata/android/vi/short_description.txt b/fastlane/metadata/android/vi/short_description.txt
new file mode 100644
index 000000000..8e5d6f831
--- /dev/null
+++ b/fastlane/metadata/android/vi/short_description.txt
@@ -0,0 +1 @@
+Trình khám phá thư viện và siêu dữ liệu
\ No newline at end of file
diff --git a/lib/l10n/app_vi.arb b/lib/l10n/app_vi.arb
new file mode 100644
index 000000000..c8ca3f97a
--- /dev/null
+++ b/lib/l10n/app_vi.arb
@@ -0,0 +1,10 @@
+{
+ "welcomeTermsToggle": "Tôi đồng ý với các Điều khoản và Điều kiện",
+ "@welcomeTermsToggle": {},
+ "appName": "Aves",
+ "@appName": {},
+ "welcomeMessage": "Chào mừng đến với Aves",
+ "@welcomeMessage": {},
+ "welcomeOptional": "Không bắt buộc",
+ "@welcomeOptional": {}
+}