cozy-ui 130.2.0 → 130.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/package.json +1 -1
  3. package/react/ActionsBar/locales/ru.json +4 -0
  4. package/react/ActionsBar/locales/vi.json +4 -0
  5. package/react/ActionsBar/locales/withActionsLocales.jsx +5 -1
  6. package/react/ActionsMenu/Actions/locales/ru.json +29 -0
  7. package/react/ActionsMenu/Actions/locales/vi.json +29 -0
  8. package/react/ActionsMenu/Actions/locales/withActionsLocales.jsx +5 -1
  9. package/react/AppSections/Sections.jsx +5 -1
  10. package/react/AppSections/locales/ru.json +37 -0
  11. package/react/AppSections/locales/vi.json +37 -0
  12. package/react/AppTile/index.jsx +3 -1
  13. package/react/AppTile/locales/ru.json +9 -0
  14. package/react/AppTile/locales/vi.json +9 -0
  15. package/react/Contacts/AddModal/ContactAddressDialog/locales/index.jsx +5 -1
  16. package/react/Contacts/AddModal/ContactAddressDialog/locales/ru.json +25 -0
  17. package/react/Contacts/AddModal/ContactAddressDialog/locales/vi.json +25 -0
  18. package/react/Contacts/AddModal/ContactForm/locales/index.jsx +5 -1
  19. package/react/Contacts/AddModal/ContactForm/locales/ru.json +75 -0
  20. package/react/Contacts/AddModal/ContactForm/locales/vi.json +75 -0
  21. package/react/Contacts/AddModal/CustomLabelDialog/locales/index.jsx +5 -1
  22. package/react/Contacts/AddModal/CustomLabelDialog/locales/ru.json +15 -0
  23. package/react/Contacts/AddModal/CustomLabelDialog/locales/vi.json +15 -0
  24. package/react/Contacts/AddModal/locales/index.jsx +5 -1
  25. package/react/Contacts/AddModal/locales/ru.json +13 -0
  26. package/react/Contacts/AddModal/locales/vi.json +13 -0
  27. package/react/Contacts/GroupsSelect/locales/index.jsx +5 -1
  28. package/react/Contacts/GroupsSelect/locales/ru.json +21 -0
  29. package/react/Contacts/GroupsSelect/locales/vi.json +21 -0
  30. package/react/Contacts/Header/locales/index.jsx +5 -1
  31. package/react/Contacts/Header/locales/ru.json +15 -0
  32. package/react/Contacts/Header/locales/vi.json +15 -0
  33. package/react/ContactsList/locales/ru.json +5 -0
  34. package/react/ContactsList/locales/vi.json +5 -0
  35. package/react/ContactsList/locales/withContactsListLocales.jsx +5 -1
  36. package/react/ContactsListModal/locales/ru.json +11 -0
  37. package/react/ContactsListModal/locales/vi.json +11 -0
  38. package/react/CozyDialogs/SpecificDialogs/locales/ru.json +27 -0
  39. package/react/CozyDialogs/SpecificDialogs/locales/vi.json +27 -0
  40. package/react/CozyDialogs/SpecificDialogs/withSpecificDialogsLocales.jsx +5 -1
  41. package/react/CozyDialogs/locales.js +8 -0
  42. package/react/DatePicker/locales/ru.json +8 -0
  43. package/react/DatePicker/locales/vi.json +8 -0
  44. package/react/DatePicker/locales/withOwnLocales.jsx +5 -1
  45. package/react/FilePicker/FilePickerFooter.jsx +3 -1
  46. package/react/FilePicker/locales/ru.json +8 -0
  47. package/react/FilePicker/locales/vi.json +8 -0
  48. package/react/ListItem/hoc/withListItemLocales.jsx +5 -1
  49. package/react/ListItem/locales/ru.json +75 -0
  50. package/react/ListItem/locales/vi.json +75 -0
  51. package/react/Nav/locales/ru.json +6 -0
  52. package/react/Nav/locales/vi.json +6 -0
  53. package/react/Nav/locales/withNavLocales.jsx +5 -1
  54. package/react/PasswordField/index.jsx +5 -1
  55. package/react/PasswordField/locales/ru.json +6 -0
  56. package/react/PasswordField/locales/vi.json +6 -0
  57. package/react/Paywall/locales/ru.json +95 -0
  58. package/react/Paywall/locales/vi.json +95 -0
  59. package/react/Paywall/locales/withPaywallLocales.jsx +5 -1
  60. package/react/QualificationGrid/locales/ru.json +15 -0
  61. package/react/QualificationGrid/locales/vi.json +15 -0
  62. package/react/QualificationGrid/locales/withLocales.jsx +5 -1
  63. package/react/QualificationModal/locales/index.jsx +5 -1
  64. package/react/QualificationModal/locales/ru.json +6 -0
  65. package/react/QualificationModal/locales/vi.json +6 -0
  66. package/react/SearchBar/locales/ru.json +5 -0
  67. package/react/SearchBar/locales/vi.json +5 -0
  68. package/react/SearchBar/locales/withOnlyLocales.jsx +5 -1
  69. package/react/Storage/locales/index.jsx +5 -1
  70. package/react/Storage/locales/ru.json +7 -0
  71. package/react/Storage/locales/vi.json +7 -0
  72. package/react/UploadQueue/index.jsx +5 -1
  73. package/react/UploadQueue/locales/ru.json +10 -0
  74. package/react/UploadQueue/locales/vi.json +10 -0
  75. package/react/deprecated/ActionMenu/Actions/locales/ru.json +8 -0
  76. package/react/deprecated/ActionMenu/Actions/locales/vi.json +8 -0
  77. package/react/deprecated/ActionMenu/Actions/locales/withActionsLocales.jsx +5 -1
  78. package/react/hooks/useConfirmExit/index.jsx +3 -1
  79. package/react/hooks/useConfirmExit/locales/ru.json +8 -0
  80. package/react/hooks/useConfirmExit/locales/vi.json +8 -0
  81. package/transpiled/react/ActionsBar/locales/withActionsLocales.d.ts +4 -0
  82. package/transpiled/react/ActionsBar/locales/withActionsLocales.js +11 -1
  83. package/transpiled/react/ActionsMenu/Actions/locales/withActionsLocales.d.ts +4 -0
  84. package/transpiled/react/ActionsMenu/Actions/locales/withActionsLocales.js +61 -1
  85. package/transpiled/react/AppSections/Sections.js +77 -1
  86. package/transpiled/react/AppTile/index.js +21 -1
  87. package/transpiled/react/Contacts/AddModal/ContactAddressDialog/locales/index.d.ts +4 -0
  88. package/transpiled/react/Contacts/AddModal/ContactAddressDialog/locales/index.js +53 -1
  89. package/transpiled/react/Contacts/AddModal/ContactForm/locales/index.d.ts +4 -0
  90. package/transpiled/react/Contacts/AddModal/ContactForm/locales/index.js +153 -1
  91. package/transpiled/react/Contacts/AddModal/CustomLabelDialog/locales/index.d.ts +4 -0
  92. package/transpiled/react/Contacts/AddModal/CustomLabelDialog/locales/index.js +33 -1
  93. package/transpiled/react/Contacts/AddModal/locales/index.d.ts +4 -0
  94. package/transpiled/react/Contacts/AddModal/locales/index.js +29 -1
  95. package/transpiled/react/Contacts/GroupsSelect/locales/index.d.ts +4 -0
  96. package/transpiled/react/Contacts/GroupsSelect/locales/index.js +45 -1
  97. package/transpiled/react/Contacts/Header/locales/index.d.ts +4 -0
  98. package/transpiled/react/Contacts/Header/locales/index.js +33 -1
  99. package/transpiled/react/ContactsList/locales/withContactsListLocales.d.ts +4 -0
  100. package/transpiled/react/ContactsList/locales/withContactsListLocales.js +13 -1
  101. package/transpiled/react/CozyDialogs/SpecificDialogs/withSpecificDialogsLocales.d.ts +4 -0
  102. package/transpiled/react/CozyDialogs/SpecificDialogs/withSpecificDialogsLocales.js +57 -1
  103. package/transpiled/react/CozyDialogs/locales.d.ts +12 -0
  104. package/transpiled/react/CozyDialogs/locales.js +8 -0
  105. package/transpiled/react/DatePicker/locales/withOwnLocales.d.ts +4 -0
  106. package/transpiled/react/DatePicker/locales/withOwnLocales.js +19 -1
  107. package/transpiled/react/FilePicker/FilePickerFooter.js +19 -1
  108. package/transpiled/react/ListItem/hoc/withListItemLocales.d.ts +4 -0
  109. package/transpiled/react/ListItem/hoc/withListItemLocales.js +153 -1
  110. package/transpiled/react/Nav/locales/withNavLocales.d.ts +4 -0
  111. package/transpiled/react/Nav/locales/withNavLocales.js +15 -1
  112. package/transpiled/react/PasswordField/index.d.ts +4 -0
  113. package/transpiled/react/PasswordField/index.js +15 -1
  114. package/transpiled/react/Paywall/locales/withPaywallLocales.js +193 -1
  115. package/transpiled/react/QualificationGrid/locales/withLocales.d.ts +4 -0
  116. package/transpiled/react/QualificationGrid/locales/withLocales.js +33 -1
  117. package/transpiled/react/QualificationModal/locales/index.d.ts +4 -0
  118. package/transpiled/react/QualificationModal/locales/index.js +15 -1
  119. package/transpiled/react/SearchBar/locales/withOnlyLocales.d.ts +4 -0
  120. package/transpiled/react/SearchBar/locales/withOnlyLocales.js +13 -1
  121. package/transpiled/react/Storage/locales/index.d.ts +4 -0
  122. package/transpiled/react/Storage/locales/index.js +17 -1
  123. package/transpiled/react/UploadQueue/index.js +23 -1
  124. package/transpiled/react/deprecated/ActionMenu/Actions/locales/withActionsLocales.d.ts +4 -0
  125. package/transpiled/react/deprecated/ActionMenu/Actions/locales/withActionsLocales.js +19 -1
  126. package/transpiled/react/hooks/useConfirmExit/index.js +19 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ # [130.3.0](https://github.com/cozy/cozy-ui/compare/v130.2.0...v130.3.0) (2025-09-24)
2
+
3
+
4
+ ### Features
5
+
6
+ * Add ru and vi locales ([43ff09b](https://github.com/cozy/cozy-ui/commit/43ff09b))
7
+
1
8
  # [130.2.0](https://github.com/cozy/cozy-ui/compare/v130.1.0...v130.2.0) (2025-09-24)
2
9
 
3
10
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cozy-ui",
3
- "version": "130.2.0",
3
+ "version": "130.3.0",
4
4
  "description": "Cozy apps UI SDK",
5
5
  "main": "./index.js",
6
6
  "bin": {
@@ -0,0 +1,4 @@
1
+ {
2
+ "selected": "%{smart_count} элемент выбран |||| %{smart_count} элементов выбрано",
3
+ "selected_light": "%{smart_count} элемент |||| %{smart_count} элементов"
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "selected": "%{smart_count} mục được chọn |||| %{smart_count} mục được chọn",
3
+ "selected_light": "%{smart_count} mục |||| %{smart_count} mục"
4
+ }
@@ -1,10 +1,14 @@
1
1
  import en from './en.json'
2
2
  import fr from './fr.json'
3
+ import ru from './ru.json'
4
+ import vi from './vi.json'
3
5
  import withOnlyLocales from '../../providers/I18n/withOnlyLocales'
4
6
 
5
7
  export const locales = {
6
8
  en,
7
- fr
9
+ fr,
10
+ ru,
11
+ vi
8
12
  }
9
13
 
10
14
  export default withOnlyLocales(locales)
@@ -0,0 +1,29 @@
1
+ {
2
+ "menu": "Меню",
3
+ "viewInContacts": "Просмотреть в Cozy Контакты",
4
+ "viewInDrive": "Открыть",
5
+ "modify": "Изменить",
6
+ "emailTo": "Отправить email",
7
+ "smsTo": "Отправить сообщение",
8
+ "print": "Печать",
9
+ "download": "Скачать",
10
+ "favorites": {
11
+ "add": {
12
+ "label": "Добавить в избранное",
13
+ "success": "%{filename} был добавлен в избранное |||| Эти элементы были добавлены в избранное"
14
+ },
15
+ "remove": {
16
+ "label": "Удалить из избранного",
17
+ "success": "%{filename} был удален из избранного |||| Эти элементы были удалены из избранного"
18
+ },
19
+ "error": "Произошла ошибка, попробуйте еще раз."
20
+ },
21
+ "others": "Прочее",
22
+ "editAttribute": "Редактировать атрибут",
23
+ "copyToClipboard": {
24
+ "copy": "Копировать",
25
+ "success": "Скопировано в буфер обмена",
26
+ "error": "Не удается скопировать в буфер обмена"
27
+ },
28
+ "call": "Звонить"
29
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "menu": "Menu",
3
+ "viewInContacts": "Xem trong Cozy Contacts",
4
+ "viewInDrive": "Mở",
5
+ "modify": "Chỉnh sửa",
6
+ "emailTo": "Gửi email",
7
+ "smsTo": "Gửi tin nhắn",
8
+ "print": "In",
9
+ "download": "Tải xuống",
10
+ "favorites": {
11
+ "add": {
12
+ "label": "Thêm vào yêu thích",
13
+ "success": "%{filename} đã được thêm vào yêu thích |||| Các mục này đã được thêm vào yêu thích"
14
+ },
15
+ "remove": {
16
+ "label": "Xóa khỏi yêu thích",
17
+ "success": "%{filename} đã được xóa khỏi yêu thích |||| Các mục này đã được xóa khỏi yêu thích"
18
+ },
19
+ "error": "Có lỗi xảy ra, vui lòng thử lại."
20
+ },
21
+ "others": "Khác",
22
+ "editAttribute": "Chỉnh sửa thuộc tính",
23
+ "copyToClipboard": {
24
+ "copy": "Sao chép",
25
+ "success": "Đã sao chép vào clipboard",
26
+ "error": "Không thể sao chép vào clipboard"
27
+ },
28
+ "call": "Gọi"
29
+ }
@@ -1,11 +1,15 @@
1
1
  import en from './en.json'
2
2
  import fr from './fr.json'
3
+ import ru from './ru.json'
4
+ import vi from './vi.json'
3
5
  import { getI18n } from '../../../providers/I18n/helpers'
4
6
  import withOnlyLocales from '../../../providers/I18n/withOnlyLocales'
5
7
 
6
8
  export const locales = {
7
9
  en,
8
- fr
10
+ fr,
11
+ ru,
12
+ vi
9
13
  }
10
14
 
11
15
  export const getActionsI18n = () => getI18n(undefined, lang => locales[lang])
@@ -13,6 +13,8 @@ import { generateI18nConfig } from './generateI18nConfig'
13
13
  import { isShortcutFile } from './helpers'
14
14
  import en from './locales/en.json'
15
15
  import fr from './locales/fr.json'
16
+ import ru from './locales/ru.json'
17
+ import vi from './locales/vi.json'
16
18
  import * as searchUtils from './search'
17
19
  import Typography from '../Typography'
18
20
  import { useBreakpoints } from '../providers/Breakpoints'
@@ -21,7 +23,9 @@ import withOnlyLocales from '../providers/I18n/withOnlyLocales'
21
23
 
22
24
  const locales = {
23
25
  en,
24
- fr
26
+ fr,
27
+ ru,
28
+ vi
25
29
  }
26
30
 
27
31
  const SectionTitle = ({ children }) => (
@@ -0,0 +1,37 @@
1
+ {
2
+ "app_categories": {
3
+ "all": "Все категории",
4
+ "banking": "Банковское дело",
5
+ "clouds": "Облака и хранилища",
6
+ "cozy": "Основное",
7
+ "education": "Образование",
8
+ "energy": "Энергетика",
9
+ "finance": "Занятость и финансы",
10
+ "health": "Здоровье",
11
+ "host_provider": "Хостинг",
12
+ "insurance": "Страхование",
13
+ "isp": "Мобильная связь и Интернет",
14
+ "konnectors": "Сервисы",
15
+ "list_separator": ", ",
16
+ "mes_infos": "Эксперимент MesInfos",
17
+ "online_services": "Онлайн-сервисы",
18
+ "others": "Прочее",
19
+ "partners": "Партнеры",
20
+ "press": "Пресса",
21
+ "productivity": "Продуктивность",
22
+ "ptnb": "Эксперимент PTNB",
23
+ "public_service": "Государственные услуги",
24
+ "shopping": "Покупки",
25
+ "social": "Социальные сети",
26
+ "tech": "Технологии",
27
+ "telecom": "Телекоммуникации",
28
+ "transport": "Транспорт",
29
+ "pro": "Работа",
30
+ "shortcuts": "Дополнительные приложения"
31
+ },
32
+ "sections": {
33
+ "applications": "Приложения",
34
+ "konnectors": "Сервисы",
35
+ "shortcuts": "Дополнительные приложения"
36
+ }
37
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "app_categories": {
3
+ "all": "Tất cả danh mục",
4
+ "banking": "Ngân hàng",
5
+ "clouds": "Đám mây và kho lưu trữ",
6
+ "cozy": "Thiết yếu",
7
+ "education": "Giáo dục",
8
+ "energy": "Năng lượng",
9
+ "finance": "Việc làm và tài chính",
10
+ "health": "Sức khỏe",
11
+ "host_provider": "Máy chủ",
12
+ "insurance": "Bảo hiểm",
13
+ "isp": "Di động và Internet",
14
+ "konnectors": "Dịch vụ",
15
+ "list_separator": ", ",
16
+ "mes_infos": "Thí nghiệm MesInfos",
17
+ "online_services": "Dịch vụ trực tuyến",
18
+ "others": "Khác",
19
+ "partners": "Đối tác",
20
+ "press": "Báo chí",
21
+ "productivity": "Năng suất",
22
+ "ptnb": "Thí nghiệm PTNB",
23
+ "public_service": "Dịch vụ công",
24
+ "shopping": "Mua sắm",
25
+ "social": "Mạng xã hội",
26
+ "tech": "Công nghệ",
27
+ "telecom": "Viễn thông",
28
+ "transport": "Giao thông",
29
+ "pro": "Công việc",
30
+ "shortcuts": "Ứng dụng bổ sung"
31
+ },
32
+ "sections": {
33
+ "applications": "Ứng dụng",
34
+ "konnectors": "Dịch vụ",
35
+ "shortcuts": "Ứng dụng bổ sung"
36
+ }
37
+ }
@@ -5,6 +5,8 @@ import React from 'react'
5
5
  import { APP_STATUS, getCurrentStatusLabel } from './helpers'
6
6
  import en from './locales/en.json'
7
7
  import fr from './locales/fr.json'
8
+ import ru from './locales/ru.json'
9
+ import vi from './locales/vi.json'
8
10
  import styles from './styles.styl'
9
11
  import AppIcon from '../AppIcon'
10
12
  import { isShortcutFile } from '../AppSections/helpers.js'
@@ -22,7 +24,7 @@ import palette from '../palette'
22
24
  import { AppDoctype } from '../proptypes'
23
25
  import { createUseI18n } from '../providers/I18n'
24
26
 
25
- const locales = { en, fr }
27
+ const locales = { en, fr, ru, vi }
26
28
 
27
29
  let dataset
28
30
  const getDataset = () => {
@@ -0,0 +1,9 @@
1
+ {
2
+ "app_item": {
3
+ "by": "От",
4
+ "installed": "Установлено",
5
+ "maintenance": "На обслуживании",
6
+ "update": "Обновление доступно",
7
+ "favorite": "Добавлено на главную страницу"
8
+ }
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "app_item": {
3
+ "by": "Bởi",
4
+ "installed": "Đã cài đặt",
5
+ "maintenance": "Đang bảo trì",
6
+ "update": "Có cập nhật mới",
7
+ "favorite": "Đã thêm vào trang chủ"
8
+ }
9
+ }
@@ -1,7 +1,11 @@
1
1
  import en from './en.json'
2
2
  import fr from './fr.json'
3
+ import ru from './ru.json'
4
+ import vi from './vi.json'
3
5
 
4
6
  export const locales = {
5
7
  en,
6
- fr
8
+ fr,
9
+ ru,
10
+ vi
7
11
  }
@@ -0,0 +1,25 @@
1
+ {
2
+ "Contacts": {
3
+ "AddModal": {
4
+ "ContactAddressDialog": {
5
+ "fields": {
6
+ "address": "Адрес",
7
+ "number": "Номер дома",
8
+ "street": "Почтовый адрес",
9
+ "code": "Почтовый индекс",
10
+ "city": "Город",
11
+ "country": "Страна",
12
+ "locality": "Район",
13
+ "building": "Здание",
14
+ "stairs": "Подъезд",
15
+ "floor": "Этаж",
16
+ "apartment": "Квартира",
17
+ "region": "Регион",
18
+ "entrycode": "Код подъезда"
19
+ },
20
+ "cancel": "Отменить",
21
+ "ok": "ОК"
22
+ }
23
+ }
24
+ }
25
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "Contacts": {
3
+ "AddModal": {
4
+ "ContactAddressDialog": {
5
+ "fields": {
6
+ "address": "Địa chỉ",
7
+ "number": "Số nhà",
8
+ "street": "Địa chỉ bưu điện",
9
+ "code": "Mã bưu điện",
10
+ "city": "Thành phố",
11
+ "country": "Quốc gia",
12
+ "locality": "Địa phương",
13
+ "building": "Tòa nhà",
14
+ "stairs": "Cầu thang",
15
+ "floor": "Tầng",
16
+ "apartment": "Căn hộ",
17
+ "region": "Vùng",
18
+ "entrycode": "Mã ra vào"
19
+ },
20
+ "cancel": "Hủy",
21
+ "ok": "Ok"
22
+ }
23
+ }
24
+ }
25
+ }
@@ -1,7 +1,11 @@
1
1
  import en from './en.json'
2
2
  import fr from './fr.json'
3
+ import ru from './ru.json'
4
+ import vi from './vi.json'
3
5
 
4
6
  export const locales = {
5
7
  en,
6
- fr
8
+ fr,
9
+ ru,
10
+ vi
7
11
  }
@@ -0,0 +1,75 @@
1
+ {
2
+ "Contacts": {
3
+ "AddModal": {
4
+ "ContactForm": {
5
+ "gender": {
6
+ "man": "Мужчина",
7
+ "woman": "Женщина"
8
+ },
9
+ "other-fields": "Другие поля",
10
+ "fields": {
11
+ "gender": "Пол",
12
+ "givenName": "Имя",
13
+ "additionalName": "Второе имя",
14
+ "surname": "Используемое имя",
15
+ "familyName": "Фамилия",
16
+ "phone": "Телефон",
17
+ "email": "Email",
18
+ "matrix": "Matrix ID",
19
+ "address": "Адрес",
20
+ "cozy": "Twake URL",
21
+ "company": "Компания",
22
+ "jobTitle": "Должность",
23
+ "birthday": "День рождения",
24
+ "birthplace": "Место рождения",
25
+ "relatedContact": "Связанный контакт",
26
+ "relationship": "Отношение",
27
+ "note": "Заметки",
28
+ "label": "Метка",
29
+ "required": "Одно из этих полей должно быть заполнено"
30
+ },
31
+ "label": {
32
+ "none": "Нет",
33
+ "home": "Личное",
34
+ "work": "Рабочее",
35
+ "custom": "Пользовательское",
36
+ "phone": {
37
+ "cell-home": "Мобильный (личный)",
38
+ "cell-work": "Мобильный (рабочий)",
39
+ "voice-home": "Голосовой (личный)",
40
+ "voice-work": "Голосовой (рабочий)",
41
+ "fax-home": "Факс (личный)",
42
+ "fax-work": "Факс (рабочий)"
43
+ },
44
+ "address": {
45
+ "home": "Домашний (личный)",
46
+ "work": "Рабочий (рабочий)"
47
+ },
48
+ "relationship": {
49
+ "parent": "Родитель",
50
+ "child": "Ребенок",
51
+ "sibling": "Брат/сестра",
52
+ "spouse": "Супруг(а)",
53
+ "coResident": "Сожитель",
54
+ "friend": "Друг",
55
+ "colleague": "Коллега",
56
+ "coWorker": "Сотрудник",
57
+ "acquaintance": "Знакомый",
58
+ "helper": "Помощник",
59
+ "recipient": "Получатель"
60
+ }
61
+ },
62
+ "addLabel": {
63
+ "address": "Добавить адрес",
64
+ "email": "Добавить email",
65
+ "phone": "Добавить телефон",
66
+ "relatedContact": "Добавить связанный контакт"
67
+ }
68
+ }
69
+ }
70
+ },
71
+ "formatted": {
72
+ "date": "yyyy-LL-dd",
73
+ "address": "%{number} %{street}, %{code} %{city}, %{country}"
74
+ }
75
+ }
@@ -0,0 +1,75 @@
1
+ {
2
+ "Contacts": {
3
+ "AddModal": {
4
+ "ContactForm": {
5
+ "gender": {
6
+ "man": "Nam",
7
+ "woman": "Nữ"
8
+ },
9
+ "other-fields": "Trường khác",
10
+ "fields": {
11
+ "gender": "Giới tính",
12
+ "givenName": "Tên",
13
+ "additionalName": "Tên lót thứ 2",
14
+ "surname": "Tên đang sử dụng",
15
+ "familyName": "Họ",
16
+ "phone": "Điện thoại",
17
+ "email": "Email",
18
+ "matrix": "Matrix ID",
19
+ "address": "Địa chỉ",
20
+ "cozy": "Twake URL",
21
+ "company": "Công ty",
22
+ "jobTitle": "Chức vụ",
23
+ "birthday": "Sinh nhật",
24
+ "birthplace": "Nơi sinh",
25
+ "relatedContact": "Liên hệ liên quan",
26
+ "relationship": "Mối quan hệ",
27
+ "note": "Ghi chú",
28
+ "label": "Nhãn",
29
+ "required": "Một trong những trường này phải được điền"
30
+ },
31
+ "label": {
32
+ "none": "Không có",
33
+ "home": "Cá nhân",
34
+ "work": "Công việc",
35
+ "custom": "Tùy chỉnh",
36
+ "phone": {
37
+ "cell-home": "Di động (cá nhân)",
38
+ "cell-work": "Di động (công việc)",
39
+ "voice-home": "Thoại (cá nhân)",
40
+ "voice-work": "Thoại (công việc)",
41
+ "fax-home": "Fax (cá nhân)",
42
+ "fax-work": "Fax (công việc)"
43
+ },
44
+ "address": {
45
+ "home": "Nhà (cá nhân)",
46
+ "work": "Văn phòng (công việc)"
47
+ },
48
+ "relationship": {
49
+ "parent": "Cha mẹ",
50
+ "child": "Con",
51
+ "sibling": "Anh chị em",
52
+ "spouse": "Vợ/chồng",
53
+ "coResident": "Cư dân chung",
54
+ "friend": "Bạn",
55
+ "colleague": "Đồng nghiệp",
56
+ "coWorker": "Đồng nghiệp",
57
+ "acquaintance": "Người quen",
58
+ "helper": "Người giúp đỡ",
59
+ "recipient": "Người nhận"
60
+ }
61
+ },
62
+ "addLabel": {
63
+ "address": "Thêm địa chỉ",
64
+ "email": "Thêm email",
65
+ "phone": "Thêm điện thoại",
66
+ "relatedContact": "Thêm liên hệ liên quan"
67
+ }
68
+ }
69
+ }
70
+ },
71
+ "formatted": {
72
+ "date": "yyyy-LL-dd",
73
+ "address": "%{number} %{street}, %{code} %{city}, %{country}"
74
+ }
75
+ }
@@ -1,7 +1,11 @@
1
1
  import en from './en.json'
2
2
  import fr from './fr.json'
3
+ import ru from './ru.json'
4
+ import vi from './vi.json'
3
5
 
4
6
  export const locales = {
5
7
  en,
6
- fr
8
+ fr,
9
+ ru,
10
+ vi
7
11
  }
@@ -0,0 +1,15 @@
1
+ {
2
+ "Contacts": {
3
+ "AddModal": {
4
+ "CustomLabelDialog": {
5
+ "label": {
6
+ "custom": "Пользовательская метка",
7
+ "home": "Личное",
8
+ "work": "Рабочее"
9
+ },
10
+ "cancel": "Отменить",
11
+ "ok": "ОК"
12
+ }
13
+ }
14
+ }
15
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "Contacts": {
3
+ "AddModal": {
4
+ "CustomLabelDialog": {
5
+ "label": {
6
+ "custom": "Nhãn tùy chỉnh",
7
+ "home": "Cá nhân",
8
+ "work": "Công việc"
9
+ },
10
+ "cancel": "Hủy",
11
+ "ok": "Ok"
12
+ }
13
+ }
14
+ }
15
+ }
@@ -1,7 +1,11 @@
1
1
  import en from './en.json'
2
2
  import fr from './fr.json'
3
+ import ru from './ru.json'
4
+ import vi from './vi.json'
3
5
 
4
6
  export const locales = {
5
7
  en,
6
- fr
8
+ fr,
9
+ ru,
10
+ vi
7
11
  }
@@ -0,0 +1,13 @@
1
+ {
2
+ "Contacts": {
3
+ "AddModal": {
4
+ "error": {
5
+ "save": "Произошла ошибка при сохранении контакта, попробуйте еще раз"
6
+ },
7
+ "edit-contact": "Редактировать контакт",
8
+ "create_contact": "Создать контакт",
9
+ "cancel": "Отменить",
10
+ "save": "Сохранить"
11
+ }
12
+ }
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "Contacts": {
3
+ "AddModal": {
4
+ "error": {
5
+ "save": "Có lỗi xảy ra khi lưu liên hệ, vui lòng thử lại"
6
+ },
7
+ "edit-contact": "Chỉnh sửa liên hệ",
8
+ "create_contact": "Tạo liên hệ",
9
+ "cancel": "Hủy",
10
+ "save": "Lưu"
11
+ }
12
+ }
13
+ }
@@ -1,7 +1,11 @@
1
1
  import en from './en.json'
2
2
  import fr from './fr.json'
3
+ import ru from './ru.json'
4
+ import vi from './vi.json'
3
5
 
4
6
  export const locales = {
5
7
  en,
6
- fr
8
+ fr,
9
+ ru,
10
+ vi
7
11
  }
@@ -0,0 +1,21 @@
1
+ {
2
+ "Contacts": {
3
+ "GroupsSelect": {
4
+ "create": "Создать группу",
5
+ "name": "Название группы",
6
+ "already_exists": "Группа %{name} уже существует.",
7
+ "manage": "Группы",
8
+ "filter": {
9
+ "all-groups": "Все группы"
10
+ },
11
+ "created": {
12
+ "success": "Группа была создана успешно.",
13
+ "error": "Группа не была создана."
14
+ },
15
+ "renamed": {
16
+ "success": "Группа была переименована успешно.",
17
+ "error": "Группа не была переименована."
18
+ }
19
+ }
20
+ }
21
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "Contacts": {
3
+ "GroupsSelect": {
4
+ "create": "Tạo nhóm",
5
+ "name": "Tên nhóm",
6
+ "already_exists": "Nhóm %{name} đã tồn tại.",
7
+ "manage": "Nhóm",
8
+ "filter": {
9
+ "all-groups": "Tất cả nhóm"
10
+ },
11
+ "created": {
12
+ "success": "Nhóm đã được tạo thành công.",
13
+ "error": "Nhóm chưa được tạo."
14
+ },
15
+ "renamed": {
16
+ "success": "Nhóm đã được đổi tên thành công.",
17
+ "error": "Nhóm chưa được đổi tên."
18
+ }
19
+ }
20
+ }
21
+ }
@@ -1,7 +1,11 @@
1
1
  import en from './en.json'
2
2
  import fr from './fr.json'
3
+ import ru from './ru.json'
4
+ import vi from './vi.json'
3
5
 
4
6
  export const locales = {
5
7
  en,
6
- fr
8
+ fr,
9
+ ru,
10
+ vi
7
11
  }