add support for Vietnamese (vi) locale

closes FOO-2653
flag = none

test plan:
• compile assets and ensure Rails and Webpack are ran with
  the following ENV variable: RAILS_LOAD_ALL_LOCALES=1
• change your language via profile/course/account to:
   • Vietnamese (Tiếng Việt)
• verify _most_ _all_ strings are being translated properly
• see the following URLs for helpful guides:
  • https://github.com/bigeasy/timezone/blob/master/src/locales/vi_VN.jshttps://en.wikipedia.org/wiki/Date_and_time_notation_in_Vietnam
• verify the RCE is localized
• verify assignment edit date picker (JQuery) works as expected
   • selecting specific days, hours/minutes, and typing
• verify we're formatting the numbers as expected by punching in a
  large number into "Points"
• verify the assignment index date picker(React) is localized
• go to calendar and verify the month/day names look appropriate
  for the Vietnamese locale

Change-Id: Id3bcd04f780fc1761fa133f64480a33e3ccb0e4f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/284920
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Charley Kline <ckline@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Product-Review: August Thornton <august@instructure.com>
This commit is contained in:
August Thornton 2022-02-10 16:42:06 -07:00
parent 38bfcbaac4
commit 9acd082b40
3 changed files with 19734 additions and 0 deletions

View File

@ -1796,6 +1796,60 @@ uk:
delimiter: " "
separator: ","
proper_noun_singular_genitive: "%{noun}"
vi:
locales:
vi: Tiếng Việt
bigeasy_locale: vi_VN
dow_offset: 1
date:
abbr_month_names:
-
- Tháng 1
- Tháng 2
- Tháng 3
- Tháng 4
- Tháng 5
- Tháng 6
- Tháng 7
- Tháng 8
- Tháng 9
- Tháng 10
- Tháng 11
- Tháng 12
formats:
date_at_time: "%-d %b tại %k:%M"
default: "%d/%m/%Y"
full: "%b %-d, %Y %k:%M"
full_with_weekday: "%a %b %-d, %Y %k:%M"
long: "%B %-d, %Y"
long_with_weekday: "%A, %B %-d"
medium: "%b %-d, %Y"
medium_month: "%b %Y"
medium_with_weekday: "%a %b %-d, %Y"
short: "%b %-d"
short_month: "%b"
short_weekday: "%a"
short_with_weekday: "%a, %b %-d"
weekday: "%A"
time:
event: "%{date} tại %{time}"
formats:
tiny: "%k:%M"
tiny_on_the_hour: "%k:%M"
number:
currency:
format:
delimiter: ","
separator: "."
format:
delimiter: ","
separator: "."
helpers:
accessible_date_only_format: "DD/MM/YYYY"
accessible_date_format: "hh:mm DD/MM/YYYY"
# this is for accessibleDateFormat.js
yyyy_mm_dd_hh_mm_a01b6081: "hh:mm DD/MM/YYYY"
proper_noun_singular_genitive: "của %{noun}"
zh-Hans:
aliases: zh-CN
bigeasy_locale: zh_CN

35
config/locales/vi.rb Normal file
View File

@ -0,0 +1,35 @@
# frozen_string_literal: true
#
# Copyright (C) 2022 - present Instructure, Inc.
#
# This file is part of Canvas.
#
# Canvas is free software: you can redistribute it and/or modify it under
# the terms of the GNU Affero General Public License as published by the Free
# Software Foundation, version 3 of the License.
#
# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License along
# with this program. If not, see <http://www.gnu.org/licenses/>.
{
vi: {
number: {
nth: {
ordinals: lambda do |_key, _options|
"thứ "
end,
ordinalized: lambda do |_key, options|
number = options[:number]
"#{number}#{ActiveSupport::Inflector.ordinal(number)}"
end
}
}
}
}

19645
config/locales/vi.yml Normal file

File diff suppressed because it is too large Load Diff