feat: Vietnamese Localizations (#725)

* feat: Vietnamese Localizations

* fix: adding updated strings

* fix: remove SubType Designer from vcxproj (what, how and why)

* fix: undo auto-formatting in vcxproj.filters

* fix: added Vietnamese font glyphs for Overlay
This commit is contained in:
OHaiiBuzzle 2023-10-10 15:55:31 +07:00 committed by GitHub
commit 97c00e2cf2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 854 additions and 0 deletions

View file

@ -24,6 +24,7 @@ static std::array SUPPORTED_LANGUAGES{
L"ru",
L"tr",
L"uk",
L"vi",
L"zh-hans",
L"zh-hant"
};

View file

@ -588,6 +588,7 @@
<PRIResource Include="Resources.language-uk.resw" />
<PRIResource Include="Resources.language-zh-Hans.resw" />
<PRIResource Include="Resources.language-zh-Hant.resw" />
<PRIResource Include="Resources.language-vi.resw" />
</ItemGroup>
<ItemGroup>
<Text Include="conanfile.txt">

View file

@ -309,6 +309,9 @@
<PRIResource Include="Resources.language-id.resw">
<Filter>Strings</Filter>
</PRIResource>
<PRIResource Include="Resources.language-vi.resw">
<Filter>Strings</Filter>
</PRIResource>
</ItemGroup>
<ItemGroup>
<Text Include="conanfile.txt" />

View file

@ -0,0 +1,847 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="About_Feedback.Title" xml:space="preserve">
<value>Phản hồi</value>
</data>
<data name="About_Feedback_Discussion.Title" xml:space="preserve">
<value>Diễn đàn</value>
</data>
<data name="About_Feedback_ReportBug.Title" xml:space="preserve">
<value>Báo lỗi</value>
</data>
<data name="About_Feedback_RequestFeature.Title" xml:space="preserve">
<value>Yêu cầu tính năng</value>
</data>
<data name="About_OtherLinks.Title" xml:space="preserve">
<value>Các liên kết khác</value>
</data>
<data name="About_OtherLinks_ContributionGuidelines.Text" xml:space="preserve">
<value>Hướng dẫn đóng góp</value>
</data>
<data name="About_OtherLinks_FAQ.Text" xml:space="preserve">
<value>FAQ</value>
</data>
<data name="About_OtherLinks_License.Text" xml:space="preserve">
<value>Bản quyền</value>
</data>
<data name="About_OtherLinks_Repository.Text" xml:space="preserve">
<value>Repo GitHub</value>
</data>
<data name="About_PageFrame.Title" xml:space="preserve">
<value>Giới thiệu</value>
</data>
<data name="About_Version.Title" xml:space="preserve">
<value>Phiên bản</value>
</data>
<data name="About_Version_CheckForUpdates.Text" xml:space="preserve">
<value>Kiểm tra cập nhật</value>
</data>
<data name="About_Version_CheckForUpdatesFailed.Title" xml:space="preserve">
<value>Kiểm tra cập nhật thất bại, vui lòng thử lại sau</value>
</data>
<data name="About_Version_CheckingForUpdates.Text" xml:space="preserve">
<value>Đang kiểm tra cập nhật</value>
</data>
<data name="About_Version_UpdateCard_Cancel.Content" xml:space="preserve">
<value>Hủy</value>
</data>
<data name="About_Version_UpdateCard_DownloadAndInstall.Content" xml:space="preserve">
<value>Tải và cài đặt</value>
</data>
<data name="About_Version_UpdateCard_ReleaseNotes.Content" xml:space="preserve">
<value>Nội dung cập nhật</value>
</data>
<data name="About_Version_UpdateCard_Retry.Content" xml:space="preserve">
<value>Thử lại</value>
</data>
<data name="About_Version_UpdateCard_Title" xml:space="preserve">
<value>Đã có bản cập nhật {} </value>
</data>
<data name="About_Version_UpdateSettings.Title" xml:space="preserve">
<value>Cài đặt cập nhật</value>
</data>
<data name="About_Version_UpdateSettings_AutoCheckForUpdates.Title" xml:space="preserve">
<value>Kiểm tra cập nhật tự động</value>
</data>
<data name="About_Version_UpdateSettings_CheckForPreviewUpdates.Title" xml:space="preserve">
<value>Kiểm tra các cập nhật thử nghiệm</value>
</data>
<data name="About_Version_UpdateToDate.Title" xml:space="preserve">
<value>Magpie đã được cập nhật</value>
</data>
<data name="About_Version_UpdateToDate_DownloadFailed.Text" xml:space="preserve">
<value>Tải xuống thất bại</value>
</data>
<data name="About_Version_UpdateToDate_Downloading.Text" xml:space="preserve">
<value>Đang tải xuống</value>
</data>
<data name="About_Version_UpdateToDate_Installing.Text" xml:space="preserve">
<value>Đang cài đặt</value>
</data>
<data name="About_Version_Version" xml:space="preserve">
<value>Phiên bản</value>
</data>
<data name="AppSettings_Dialog_Error" xml:space="preserve">
<value>Lỗi</value>
</data>
<data name="AppSettings_Dialog_Exit" xml:space="preserve">
<value>Thoát</value>
</data>
<data name="AppSettings_Dialog_Warning" xml:space="preserve">
<value>Cảnh báo</value>
</data>
<data name="AppSettings_ErrorDialog_ConfigLocation" xml:space="preserve">
<value>Vị trí file cấu hình:
{}</value>
</data>
<data name="AppSettings_ErrorDialog_NotValidJson" xml:space="preserve">
<value>File cấu hình không phải JSON hợp lệ</value>
</data>
<data name="AppSettings_ErrorDialog_ParseFailed" xml:space="preserve">
<value>Không thể phân giải file cấu hình</value>
</data>
<data name="AppSettings_ErrorDialog_ReadFailed" xml:space="preserve">
<value>Không thể đọc file cấu hình</value>
</data>
<data name="AppSettings_PortableModeUnkownConfiguration_Content" xml:space="preserve">
<value>File cấu hình của một phiên bản không xác định và có thể không được phân giải đúng</value>
</data>
<data name="AppSettings_PortableModeUnkownConfiguration_Continue" xml:space="preserve">
<value>Tiếp tục</value>
</data>
<data name="AppSettings_PortableModeUnkownConfiguration_Exit" xml:space="preserve">
<value>Thoát </value>
</data>
<data name="AppSettings_UnkownConfiguration_Content" xml:space="preserve">
<value>File cấu hình của một phiên bản không xác định và có thể không được phân giải đúng</value>
</data>
<data name="AppSettings_UnkownConfiguration_Continue" xml:space="preserve">
<value>Tiếp tục</value>
</data>
<data name="AppSettings_UnkownConfiguration_EnablePortableMode" xml:space="preserve">
<value>Bật chế độ portable</value>
</data>
<data name="ExportDialog_Title" xml:space="preserve">
<value>Xuất các chế độ Scale</value>
</data>
<data name="FileDialog_ExeFile" xml:space="preserve">
<value>File chạy</value>
</data>
<data name="FileDialog_JsonFile" xml:space="preserve">
<value>File JSON</value>
</data>
<data name="Home_Activation.Title" xml:space="preserve">
<value>Kích hoạt</value>
</data>
<data name="Home_AutoRestore.Description" xml:space="preserve">
<value>Tự động scale cửa sổ trên cùng</value>
</data>
<data name="Home_AutoRestore.Title" xml:space="preserve">
<value>Tự động scale</value>
</data>
<data name="Home_AutoRestore_Activate.Content" xml:space="preserve">
<value>Kích hoạt</value>
</data>
<data name="Home_AutoRestore_Clear.Content" xml:space="preserve">
<value>Xóa</value>
</data>
<data name="Home_AutoRestore_CurWindow" xml:space="preserve">
<value>Cửa sổ hiện tại: </value>
</data>
<data name="Home_AutoRestore_EmptyTitle" xml:space="preserve">
<value>Tiêu đề trống</value>
</data>
<data name="Home_PageFrame.Title" xml:space="preserve">
<value>Chính</value>
</data>
<data name="Home_Shortcuts.Title" xml:space="preserve">
<value>Phím tắt</value>
</data>
<data name="Home_Shortcuts_Overlay.Title" xml:space="preserve">
<value>Overlay trong ứng dụng</value>
</data>
<data name="Home_Shortcuts_Overlay_ShortcutControl.Title" xml:space="preserve">
<value>Phím tắt overlay</value>
</data>
<data name="Home_Shortcuts_Scale.Title" xml:space="preserve">
<value>Scale</value>
</data>
<data name="Home_Shortcuts_Scale_ShortcutControl.Title" xml:space="preserve">
<value>Phím tắt Scale</value>
</data>
<data name="Home_Timer.Description" xml:space="preserve">
<value>Scale cửa sổ trên cùng khi hết thời gian</value>
</data>
<data name="Home_Timer.Title" xml:space="preserve">
<value>Thời gian chờ Scale</value>
</data>
<data name="Home_Timer_ButtonText" xml:space="preserve">
<value>Scale sau {} giây</value>
</data>
<data name="Home_Timer_Cancel" xml:space="preserve">
<value>Hủy</value>
</data>
<data name="Home_Timer_Delay.Title" xml:space="preserve">
<value>Thời gian bằng giây</value>
</data>
<data name="Home_UpdateCard_AutoCheckForUpdates.Content" xml:space="preserve">
<value>Kiểm tra cập nhật tự động</value>
</data>
<data name="Home_UpdateCard_DownloadAndInstall.Content" xml:space="preserve">
<value>Tải và cài đặt</value>
</data>
<data name="Home_UpdateCard_ReleaseNotes.Content" xml:space="preserve">
<value>Nội dung cập nhật</value>
</data>
<data name="Home_UpdateCard_RemindMeLater.Content" xml:space="preserve">
<value>Nhắc tôi sau</value>
</data>
<data name="Home_UpdateCard_Title" xml:space="preserve">
<value>Đã có bản cập nhật {}</value>
</data>
<data name="ImportDialog_Title" xml:space="preserve">
<value>Nhập các chế độ Scale</value>
</data>
<data name="ImportLegacyDialog_Title" xml:space="preserve">
<value>Nhập file ScaleModels.json</value>
</data>
<data name="Main_About.Content" xml:space="preserve">
<value>Giới thiệu</value>
</data>
<data name="Main_Defaults.Content" xml:space="preserve">
<value>Mặc định</value>
</data>
<data name="Main_Home.Content" xml:space="preserve">
<value>Chính</value>
</data>
<data name="Main_NewProfile.Content" xml:space="preserve">
<value>Cấu hình mới</value>
</data>
<data name="Main_NewProfileFlyout_ComboBox.PlaceholderText" xml:space="preserve">
<value>Chọn một cửa sổ</value>
</data>
<data name="Main_NewProfileFlyout_CopyFrom.Text" xml:space="preserve">
<value>Chép từ</value>
</data>
<data name="Main_NewProfileFlyout_Create.Content" xml:space="preserve">
<value>Tạo</value>
</data>
<data name="Main_NewProfileFlyout_Name.Text" xml:space="preserve">
<value>Tên</value>
</data>
<data name="Main_NewProfileFlyout_NoCandidateWindow.Text" xml:space="preserve">
<value>Mở một cửa sổ mới để tạo cấu hình</value>
</data>
<data name="Main_NewProfileFlyout_Title.Text" xml:space="preserve">
<value>Cấu hình mới</value>
</data>
<data name="Main_Profiles.Content" xml:space="preserve">
<value>Cấu hình</value>
</data>
<data name="Main_ScalingConfiguration.Content" xml:space="preserve">
<value>Cài đặt Scaling</value>
</data>
<data name="Overlay_FPS_Lock" xml:space="preserve">
<value>Khóa</value>
</data>
<data name="Overlay_FPS_Opacity" xml:space="preserve">
<value>Độ phủ mờ</value>
</data>
<data name="Overlay_FPS_Unlock" xml:space="preserve">
<value>Mở khóa</value>
</data>
<data name="Overlay_Profiler" xml:space="preserve">
<value>Profiler</value>
</data>
<data name="Overlay_Profiler_CaptureMethod" xml:space="preserve">
<value>Phương pháp lấy cửa sổ</value>
</data>
<data name="Overlay_Profiler_FrameStatistics" xml:space="preserve">
<value>Thông tin khung hình</value>
</data>
<data name="Overlay_Profiler_FrameStatistics_SwitchToFrameRates" xml:space="preserve">
<value>Chuyển sang tốc độ khung hình</value>
</data>
<data name="Overlay_Profiler_FrameStatistics_SwitchToFrameTimings" xml:space="preserve">
<value>Chuyển sang thời gian khung hình</value>
</data>
<data name="Overlay_Profiler_Timings" xml:space="preserve">
<value>Timing</value>
</data>
<data name="Overlay_Profiler_Timings_SwitchToEffects" xml:space="preserve">
<value>Chuyển sang hiệu ứng</value>
</data>
<data name="Overlay_Profiler_Timings_SwitchToPasses" xml:space="preserve">
<value>Chuyển sang render pass</value>
</data>
<data name="Overlay_Profiler_Timings_Total" xml:space="preserve">
<value>Tổng cộng</value>
</data>
<data name="Overlay_Profiler_VSync" xml:space="preserve">
<value>VSync</value>
</data>
<data name="Profile_Advanced.Title" xml:space="preserve">
<value>Nâng cao</value>
</data>
<data name="Profile_Advanced_DisableDirectFlip.Title" xml:space="preserve">
<value>Tắt DirectFlip</value>
</data>
<data name="Profile_Advanced_LaunchParameters.Title" xml:space="preserve">
<value>Thông số khởi chạy</value>
</data>
<data name="Profile_Advanced_LaunchParameters_Edit.[using:Windows.UI.Xaml.Controls]ToolTipService.ToolTip" xml:space="preserve">
<value>Sửa</value>
</data>
<data name="Profile_Cursor.Title" xml:space="preserve">
<value>Con trỏ chuột</value>
</data>
<data name="Profile_Cursor_DrawCursor.Title" xml:space="preserve">
<value>Vẽ con trỏ chuột</value>
</data>
<data name="Profile_Cursor_DrawCursor_AdjustCursorSpeed.Title" xml:space="preserve">
<value>Thay đổi tốc độ con trỏ khi scale</value>
</data>
<data name="Profile_Cursor_DrawCursor_Interpolation.Title" xml:space="preserve">
<value>Thuật toán </value>
</data>
<data name="Profile_Cursor_DrawCursor_Interpolation_Bilinear.Content" xml:space="preserve">
<value>Bilinear</value>
</data>
<data name="Profile_Cursor_DrawCursor_Interpolation_NearestNeighbor.Content" xml:space="preserve">
<value>Nearest-neighbor</value>
</data>
<data name="Profile_Cursor_DrawCursor_ScalingFactor.Title" xml:space="preserve">
<value>Mức độ Scale</value>
</data>
<data name="Profile_Cursor_DrawCursor_ScalingFactor_Custom.Content" xml:space="preserve">
<value>Tùy chỉnh</value>
</data>
<data name="Profile_Cursor_DrawCursor_ScalingFactor_NoScaling.Content" xml:space="preserve">
<value>Không Scale</value>
</data>
<data name="Profile_Cursor_DrawCursor_ScalingFactor_SameAsSourceWindow.Content" xml:space="preserve">
<value>Như cửa sổ gốc</value>
</data>
<data name="Profile_General.Title" xml:space="preserve">
<value>Chung</value>
</data>
<data name="Profile_General_3DGameMode.Title" xml:space="preserve">
<value>Chế độ game 3D</value>
</data>
<data name="Profile_General_AutoScale.Title" xml:space="preserve">
<value>Tự động scale cửa sổ trên cùng</value>
</data>
<data name="Profile_General_CaptureMethod.Title" xml:space="preserve">
<value>Phương pháp lấy cửa sổ</value>
</data>
<data name="Profile_General_CaptureMethod_Default" xml:space="preserve">
<value>Mặc định</value>
</data>
<data name="Profile_General_Multimonitor.Title" xml:space="preserve">
<value>Màn hình ưu tiên</value>
</data>
<data name="Profile_General_Multimonitor_All.Content" xml:space="preserve">
<value>Tất cả màn hình</value>
</data>
<data name="Profile_General_Multimonitor_Closest.Content" xml:space="preserve">
<value>Màn hình gần cửa sổ gốc nhất</value>
</data>
<data name="Profile_General_Multimonitor_Intersected.Content" xml:space="preserve">
<value>Màn hình hiển thị cửa sổ gốc</value>
</data>
<data name="Profile_General_ScalingMode.Title" xml:space="preserve">
<value>Chế độ Scale</value>
</data>
<data name="Profile_General_ScalingMode_None" xml:space="preserve">
<value>Không</value>
</data>
<data name="Profile_Launch.[using:Windows.UI.Xaml.Controls]ToolTipService.ToolTip" xml:space="preserve">
<value>Chạy</value>
</data>
<data name="Profile_MoreOptions.[using:Windows.UI.Xaml.Controls]ToolTipService.ToolTip" xml:space="preserve">
<value>Tùy chọn</value>
</data>
<data name="Profile_MoreOptions_ChangeExecutableForLaunching.Text" xml:space="preserve">
<value>Thay đổi file chạy</value>
</data>
<data name="Profile_MoreOptions_Delete.Text" xml:space="preserve">
<value>Xóa</value>
</data>
<data name="Profile_MoreOptions_DeleteFlyout_Delete.Text" xml:space="preserve">
<value>Xóa</value>
</data>
<data name="Profile_MoreOptions_DeleteFlyout_Title.Text" xml:space="preserve">
<value>Bạn có chắc chán muốn xóa cấu hình này?</value>
</data>
<data name="Profile_MoreOptions_OpenProgramLocation.Text" xml:space="preserve">
<value>Mở vị trí chương trình</value>
</data>
<data name="Profile_MoreOptions_Rename.Text" xml:space="preserve">
<value>Đổi tên</value>
</data>
<data name="Profile_MoreOptions_RenameFlyout_OK.Content" xml:space="preserve">
<value>OK</value>
</data>
<data name="Profile_MoreOptions_RenameFlyout_Title.Text" xml:space="preserve">
<value>Đổi tên</value>
</data>
<data name="Profile_MoreOptions_Reorder.Text" xml:space="preserve">
<value>Đổi thứ tự</value>
</data>
<data name="Profile_MoreOptions_ReorderFlyout_MoveDown.Text" xml:space="preserve">
<value>Xuống</value>
</data>
<data name="Profile_MoreOptions_ReorderFlyout_MoveUp.Text" xml:space="preserve">
<value>Lên</value>
</data>
<data name="Profile_MoreOptions_ReorderFlyout_Title.Text" xml:space="preserve">
<value>Đổi thứ tự</value>
</data>
<data name="Profile_Performance.Title" xml:space="preserve">
<value>Hiệu năng</value>
</data>
<data name="Profile_Performance_GraphicsCard.Title" xml:space="preserve">
<value>Card đồ họa</value>
</data>
<data name="Profile_Performance_ShowFPS.Title" xml:space="preserve">
<value>Hiển thị bộ đếm FPS</value>
</data>
<data name="Profile_Performance_VSync.Title" xml:space="preserve">
<value>VSync</value>
</data>
<data name="Profile_Performance_VSync_TripleBuffering.Content" xml:space="preserve">
<value>Thêm độ trễ để cải thiện hiệu năng</value>
</data>
<data name="Profile_SourceWindow.Title" xml:space="preserve">
<value>Cửa sổ nguồn</value>
</data>
<data name="Profile_SourceWindow_CaptureTitleBar.Description" xml:space="preserve">
<value>Chỉ sử dụng được với Graphics Capture và Desktop Duplication</value>
</data>
<data name="Profile_SourceWindow_CaptureTitleBar.Title" xml:space="preserve">
<value>Lấy cả thanh tiêu đề</value>
</data>
<data name="Profile_SourceWindow_CustomCropping.Title" xml:space="preserve">
<value>Lề cửa sổ tùy chỉnh</value>
</data>
<data name="Profile_SourceWindow_CustomCropping_Bottom.Title" xml:space="preserve">
<value>Dưới</value>
</data>
<data name="Profile_SourceWindow_CustomCropping_Left.Title" xml:space="preserve">
<value>Trái</value>
</data>
<data name="Profile_SourceWindow_CustomCropping_Pixels.Text" xml:space="preserve">
<value>px</value>
</data>
<data name="Profile_SourceWindow_CustomCropping_Right.Title" xml:space="preserve">
<value>Phải</value>
</data>
<data name="Profile_SourceWindow_CustomCropping_Top.Title" xml:space="preserve">
<value>Trên</value>
</data>
<data name="Profile_SourceWindow_DisableWindowResizing.Title" xml:space="preserve">
<value>Vô hiệu hóa thay đổi cỡ cửa sổ</value>
</data>
<data name="ScalingConfiguration_General.Title" xml:space="preserve">
<value>Chung</value>
</data>
<data name="ScalingConfiguration_General_DefaultDownscalingEffect.Description" xml:space="preserve">
<value>Được sử dụng khi kích thước hình ảnh lớn hơn màn hình</value>
</data>
<data name="ScalingConfiguration_General_DefaultDownscalingEffect.Title" xml:space="preserve">
<value>Chế độ downscale mặc định</value>
</data>
<data name="ScalingConfiguration_General_DefaultDownscalingEffect_None" xml:space="preserve">
<value>Không</value>
</data>
<data name="ScalingConfiguration_General_Export.Text" xml:space="preserve">
<value>Xuất</value>
</data>
<data name="ScalingConfiguration_General_Import.Text" xml:space="preserve">
<value>Nhập</value>
</data>
<data name="ScalingConfiguration_General_ImportLegacy.Text" xml:space="preserve">
<value>Nhập file ScaleModels.json</value>
</data>
<data name="ScalingConfiguration_General_MoreOptions.[using:Windows.UI.Xaml.Controls]ToolTipService.ToolTip" xml:space="preserve">
<value>Tùy chọn</value>
</data>
<data name="ScalingConfiguration_PageFrame.Title" xml:space="preserve">
<value>Cài đặt Scaling</value>
</data>
<data name="ScalingConfiguration_Parameters.[using:Windows.UI.Xaml.Controls]ToolTipService.ToolTip" xml:space="preserve">
<value>Thông số</value>
</data>
<data name="ScalingConfiguration_ParsingFailed.Title" xml:space="preserve">
<value>Phân giải thất bại</value>
</data>
<data name="ScalingConfiguration_ScalingModes.Title" xml:space="preserve">
<value>Các chế độ scale</value>
</data>
<data name="ScalingConfiguration_ScalingModes_AddEffect.Text" xml:space="preserve">
<value>Thêm hiệu ứng</value>
</data>
<data name="ScalingConfiguration_ScalingModes_Delete.[using:Windows.UI.Xaml.Controls]ToolTipService.ToolTip" xml:space="preserve">
<value>Xóa</value>
</data>
<data name="ScalingConfiguration_ScalingModes_DeleteFlyout_Delete.Text" xml:space="preserve">
<value>Xóa</value>
</data>
<data name="ScalingConfiguration_ScalingModes_DeleteFlyout_Description.Text" xml:space="preserve">
<value>Hiệu ứng này đang được sử dụng bởi:</value>
</data>
<data name="ScalingConfiguration_ScalingModes_DeleteFlyout_Title.Text" xml:space="preserve">
<value>Bạn có chắc chắn muốn xóa hiệu ứng này?</value>
</data>
<data name="ScalingConfiguration_ScalingModes_Description_UnknownEffect" xml:space="preserve">
<value>Hiệu ứng không xác định</value>
</data>
<data name="ScalingConfiguration_ScalingModes_DragNotSupported.Text" xml:space="preserve">
<value>Không thể kéo thả khi đang chạy dưới quyền quản trị</value>
</data>
<data name="ScalingConfiguration_ScalingModes_DragToReorder.Text" xml:space="preserve">
<value>Kéo thả để thay đổi thứ tự</value>
</data>
<data name="ScalingConfiguration_ScalingModes_HasUnkownEffects.Title" xml:space="preserve">
<value>Một số hiệu ứng không thể được phân giải</value>
</data>
<data name="ScalingConfiguration_ScalingModes_MoreOptions.[using:Windows.UI.Xaml.Controls]ToolTipService.ToolTip" xml:space="preserve">
<value>Tùy chọn</value>
</data>
<data name="ScalingConfiguration_ScalingModes_MoreOptionsFlyout_Delete.Text" xml:space="preserve">
<value>Xóa</value>
</data>
<data name="ScalingConfiguration_ScalingModes_MoreOptionsFlyout_MoveDown.Text" xml:space="preserve">
<value>Xuống</value>
</data>
<data name="ScalingConfiguration_ScalingModes_MoreOptionsFlyout_MoveUp.Text" xml:space="preserve">
<value>Lên</value>
</data>
<data name="ScalingConfiguration_ScalingModes_MoveDown.[using:Windows.UI.Xaml.Controls]ToolTipService.ToolTip" xml:space="preserve">
<value>Xuống</value>
</data>
<data name="ScalingConfiguration_ScalingModes_MoveUp.[using:Windows.UI.Xaml.Controls]ToolTipService.ToolTip" xml:space="preserve">
<value>Lên</value>
</data>
<data name="ScalingConfiguration_ScalingModes_NewScalingMode.Text" xml:space="preserve">
<value>Chế độ scale mới</value>
</data>
<data name="ScalingConfiguration_ScalingModes_NewScalingModeFlyout_CopyFrom.Text" xml:space="preserve">
<value>Chép từ</value>
</data>
<data name="ScalingConfiguration_ScalingModes_NewScalingModeFlyout_CopyFrom_None" xml:space="preserve">
<value>Không</value>
</data>
<data name="ScalingConfiguration_ScalingModes_NewScalingModeFlyout_Create.Content" xml:space="preserve">
<value>Tạo</value>
</data>
<data name="ScalingConfiguration_ScalingModes_NewScalingModeFlyout_Name.Text" xml:space="preserve">
<value>Tên</value>
</data>
<data name="ScalingConfiguration_ScalingModes_NewScalingModeFlyout_Title.Text" xml:space="preserve">
<value>Chế độ scale mới</value>
</data>
<data name="ScalingConfiguration_ScalingModes_Rename.[using:Windows.UI.Xaml.Controls]ToolTipService.ToolTip" xml:space="preserve">
<value>Đổi tên</value>
</data>
<data name="ScalingConfiguration_ScalingModes_RenameFlyout_OK.Content" xml:space="preserve">
<value>OK</value>
</data>
<data name="ScalingConfiguration_ScalingModes_RenameFlyout_Title.Text" xml:space="preserve">
<value>Đổi tên</value>
</data>
<data name="ScalingConfiguration_ScalingModes_Scale.[using:Windows.UI.Xaml.Controls]ToolTipService.ToolTip" xml:space="preserve">
<value>Scale</value>
</data>
<data name="ScalingConfiguration_ScalingModes_ScaleFlyout_HeightFactor.Text" xml:space="preserve">
<value>Chiều cao (theo tỷ lệ scale)</value>
</data>
<data name="ScalingConfiguration_ScalingModes_ScaleFlyout_HeightPixels.Text" xml:space="preserve">
<value>Chiều cao (theo pixel)</value>
</data>
<data name="ScalingConfiguration_ScalingModes_ScaleFlyout_Type.Text" xml:space="preserve">
<value>Loại</value>
</data>
<data name="ScalingConfiguration_ScalingModes_ScaleFlyout_Type_Absolute" xml:space="preserve">
<value>Tuyệt đối</value>
</data>
<data name="ScalingConfiguration_ScalingModes_ScaleFlyout_Type_Absolute_Description" xml:space="preserve">
<value>Đặt kích cỡ sau scale</value>
</data>
<data name="ScalingConfiguration_ScalingModes_ScaleFlyout_Type_Factor" xml:space="preserve">
<value>Tỷ lệ scale</value>
</data>
<data name="ScalingConfiguration_ScalingModes_ScaleFlyout_Type_Factor_Description" xml:space="preserve">
<value>Đặt tỷ lệ tương đối với hình ảnh gốc</value>
</data>
<data name="ScalingConfiguration_ScalingModes_ScaleFlyout_Type_Fill" xml:space="preserve">
<value>Vừa màn hình</value>
</data>
<data name="ScalingConfiguration_ScalingModes_ScaleFlyout_Type_Fill_Description" xml:space="preserve">
<value>Hiển thị đầy màn hình, hình ảnh có thể bị méo</value>
</data>
<data name="ScalingConfiguration_ScalingModes_ScaleFlyout_Type_Fit" xml:space="preserve">
<value>Giữ tỷ lệ</value>
</data>
<data name="ScalingConfiguration_ScalingModes_ScaleFlyout_Type_Fit_Description" xml:space="preserve">
<value>Giữ tỷ lệ hình ảnh sau khi làm đầy màn hình</value>
</data>
<data name="ScalingConfiguration_ScalingModes_ScaleFlyout_WidthFactor.Text" xml:space="preserve">
<value>Chiều rông (theo tỷ lệ)</value>
</data>
<data name="ScalingConfiguration_ScalingModes_ScaleFlyout_WidthPixels.Text" xml:space="preserve">
<value>Chiều rộng (theo pixel)</value>
</data>
<data name="SelectLauncherDialog_Title" xml:space="preserve">
<value>Chọn file chạy của chương trình</value>
</data>
<data name="Settings_Advanced.Title" xml:space="preserve">
<value>Nâng cao</value>
</data>
<data name="Settings_Advanced_AllowScalingMaximized.Title" xml:space="preserve">
<value>Cho phép scale cửa sổ toàn màn hình</value>
</data>
<data name="Settings_Advanced_InlineParams.Description" xml:space="preserve">
<value>Cải thiện hiệu năng. Tuy nhiên các hiệu ứng phải được biên dịch lại khi các thông số của chúng đươc chỉnh</value>
</data>
<data name="Settings_Advanced_InlineParams.Title" xml:space="preserve">
<value>Đặt thông số hiệu ứng trực tiếp</value>
</data>
<data name="Settings_Advanced_SimulateExclusiveFullscreen.Description" xml:space="preserve">
<value>Các thông báo và pop-up từ một số ứng dụng sẽ bị chặn</value>
</data>
<data name="Settings_Advanced_SimulateExclusiveFullscreen.Title" xml:space="preserve">
<value>Giả lập chế độ toàn màn hình độc lập</value>
</data>
<data name="Settings_DeveloperOptions.Description" xml:space="preserve">
<value>Những cài đặt này chỉ dành cho mục đích phát triển</value>
</data>
<data name="Settings_DeveloperOptions.Title" xml:space="preserve">
<value>Cài đặt nhà phát triển</value>
</data>
<data name="Settings_DeveloperOptions_DebugMode.Content" xml:space="preserve">
<value>Chế độ gỡ lỗi</value>
</data>
<data name="Settings_DeveloperOptions_DisableEffectCache.Content" xml:space="preserve">
<value>Tắt cache hiệu ứng</value>
</data>
<data name="Settings_DeveloperOptions_DisableFontCache.Content" xml:space="preserve">
<value>Tắt cache phông chữ</value>
</data>
<data name="Settings_DeveloperOptions_SaveEffectSources.Content" xml:space="preserve">
<value>Lưu mã nguồn khi đọc hiệu ứng</value>
</data>
<data name="Settings_DeveloperOptions_WarningsAreErrors.Content" xml:space="preserve">
<value>Đặt cảnh bảo như lỗi khi đọc hiệu ứng</value>
</data>
<data name="Settings_General.Title" xml:space="preserve">
<value>Chung</value>
</data>
<data name="Settings_General_Language.Title" xml:space="preserve">
<value>Ngôn ngữ</value>
</data>
<data name="Settings_General_Language_System" xml:space="preserve">
<value>Mặc định Windows</value>
</data>
<data name="Settings_General_PortableMode.Title" xml:space="preserve">
<value>Chế độ Portable</value>
</data>
<data name="Settings_General_PortableMode_Locate.Content" xml:space="preserve">
<value>Mở vị trí file cấu hình</value>
</data>
<data name="Settings_General_RequireRestart.Title" xml:space="preserve">
<value>Cần khởi động lại Magpie để thiết lập cấu hình</value>
</data>
<data name="Settings_General_RequireRestart_ActionButton.Content" xml:space="preserve">
<value>Khởi động lại Magpie</value>
</data>
<data name="Settings_General_ShowTrayIcon.Description" xml:space="preserve">
<value>Magpie sẽ tiếp tục chạy kể cả khi cửa sổ chính bị đóng</value>
</data>
<data name="Settings_General_ShowTrayIcon.Title" xml:space="preserve">
<value>Hiển thị trên thanh tác vụ</value>
</data>
<data name="Settings_General_Theme.Title" xml:space="preserve">
<value>Màu</value>
</data>
<data name="Settings_General_Theme_Dark.Content" xml:space="preserve">
<value>Tối</value>
</data>
<data name="Settings_General_Theme_Light.Content" xml:space="preserve">
<value>Sáng</value>
</data>
<data name="Settings_General_Theme_System.Content" xml:space="preserve">
<value>Mặc định Windows</value>
</data>
<data name="Settings_Launch.Title" xml:space="preserve">
<value>Chạy</value>
</data>
<data name="Settings_Launch_AlwaysRunAsAdmin.Description" xml:space="preserve">
<value>Bạn cần mở với quyền quản trị viên để thay đổi cài đặt này</value>
</data>
<data name="Settings_Launch_AlwaysRunAsAdmin.Title" xml:space="preserve">
<value>Luôn chạy với quyền quản trị viên</value>
</data>
<data name="Settings_Launch_RunAtStartup.Title" xml:space="preserve">
<value>Chạy khi khởi động</value>
</data>
<data name="Settings_Launch_RunAtStartup_MinimizeAtStartup.Description" xml:space="preserve">
<value>Bạn cần bật "Hiển thị trên thanh tác vụ" để sử dụng cài đặt này</value>
</data>
<data name="Settings_Launch_RunAtStartup_MinimizeAtStartup.Title" xml:space="preserve">
<value>Thu nhỏ về thanh tác vụ khi khởi động</value>
</data>
<data name="ShortcutDialog_Cancel" xml:space="preserve">
<value>Hủy</value>
</data>
<data name="ShortcutDialog_Description.Text" xml:space="preserve">
<value>Nhấn một tổ hợp phím để đổi phím tắt này</value>
</data>
<data name="ShortcutDialog_InUse" xml:space="preserve">
<value>Đã được sử dụng</value>
</data>
<data name="ShortcutDialog_InvalidShortcut" xml:space="preserve">
<value>Phím tắt không hợp lệ</value>
</data>
<data name="ShortcutDialog_Save" xml:space="preserve">
<value>Lưu</value>
</data>
<data name="ShortcutDialog_Tip.Text" xml:space="preserve">
<value>Chỉ các phím tắt sử dụng phim Windows, Ctrl, Alt và Shift là hợp lệ</value>
</data>
<data name="ToggleSwitch.OffContent" xml:space="preserve">
<value>Tắt</value>
</data>
<data name="ToggleSwitch.OnContent" xml:space="preserve">
<value>Bật</value>
</data>
<data name="TrayIcon_Exit" xml:space="preserve">
<value>Thoát</value>
</data>
<data name="TrayIcon_MainWindow" xml:space="preserve">
<value>Cửa sổ chính</value>
</data>
<data name="Home_Shortcuts_Overlay.Description" xml:space="preserve">
<value>Theo dõi hiệu năng render trong khi scale</value>
</data>
<data name="Home_Shortcuts_Scale.Description" xml:space="preserve">
<value>Scale cửa sổ trên cùng</value>
</data>
</root>

View file

@ -357,6 +357,8 @@ void OverlayDrawer::_BuildFontUI(std::wstring_view language, const std::vector<u
builder.AddRanges(fontAtlas.GetGlyphRangesCyrillic());
} else if (language == L"tr" || language == L"hu") {
builder.AddRanges(ImGuiHelper::Latin_1_Extended_A_RANGES);
} else if (language == L"vi") {
builder.AddRanges(fontAtlas.GetGlyphRangesVietnamese());
} else {
// 默认 Basic Latin + Latin-1 Supplement
// 参见 https://en.wikipedia.org/wiki/Latin-1_Supplement