Web: Moved translationKeys "RequiredField" and "FullAccess" to "/static/locales/{lng}/Common.json"

This commit is contained in:
Alexey Safronov 2021-05-21 11:05:37 +03:00
parent 8120e24d15
commit eb7f493304
30 changed files with 34 additions and 49 deletions

View File

@ -99,8 +99,9 @@ namespace Frontend.Translations.Tests
.Where(file => file.Path.Contains("public\\locales\\en"))
.SelectMany(item => item.Translations)
.GroupBy(t => t.Value)
.Where(grp => grp.Count() > 2)
.Select(grp => new { Key = grp.Key, Count = grp.Count() })
.Where(grp => grp.Count() > 1)
.Select(grp => new { Key = grp.Key, Count = grp.Count(), Grouped = grp.ToList() })
//.Where(grp => grp.Grouped.GroupBy(n => n.Key).Any(c => c.Count() > 1))
.OrderByDescending(itm => itm.Count)
.ToList();

View File

@ -6,6 +6,5 @@
"ConnectMakeShared": "Freigeben und in den Ordner \u0022Gemeinsame Dokumente\u0022 verschieben",
"EmptyField": "Alle Felder sind erforderlich",
"Login": "Anmeldung",
"Reconnect": "Neu verbinden",
"RequiredFieldMessage": "Pflichtfeld"
"Reconnect": "Neu verbinden"
}

View File

@ -1,5 +1,4 @@
{
"AccessRightsFullAccess": "Voller Zugriff",
"AddGroupsForSharingButton": "Gruppen hinzufügen",
"AddShareMessage": "Nachricht hinzufügen",
"Comment": "Kommentieren",
@ -12,7 +11,6 @@
"EncryptedFileSharing": "Die Datei \u003Cstrong\u003E{{title}}\u003C/strong\u003E wurde freigegeben",
"ExternalLink": "Externer Link",
"FormFilling": "Ausfüllen von Formularen",
"FullAccess": "Voller Zugriff",
"InternalLink": "Interner Link",
"LinkCopySuccess": "Der Link wurde in die Zwischenablage kopiert",
"LinkText": "Benutzer hinzufügen",

View File

@ -6,6 +6,5 @@
"ConnectMakeShared": "Share and put into \u0027Common\u0027 folder",
"EmptyField": "All fields are required",
"Login": "Login",
"Reconnect": "Reconnect",
"RequiredFieldMessage": "Required field"
"Reconnect": "Reconnect"
}

View File

@ -1,5 +1,4 @@
{
"AccessRightsFullAccess": "Full access",
"AddGroupsForSharingButton": "Add groups",
"AddShareMessage": "Add message",
"Comment": "Comment",
@ -12,7 +11,6 @@
"EncryptedFileSharing": "File \u003Cstrong\u003E{{title}}\u003C/strong\u003E successfully shared",
"ExternalLink": "External link",
"FormFilling": "Form filling",
"FullAccess": "Full access",
"InternalLink": "Internal link",
"LinkCopySuccess": "Link has been copied to the clipboard",
"LinkText": "Add users",

View File

@ -6,6 +6,5 @@
"ConnectMakeShared": "Сделать доступным и поместить в папку \u0027Общие\u0027",
"EmptyField": "Все поля обязательны для заполнения",
"Login": "Логин",
"Reconnect": "Подключить повторно",
"RequiredFieldMessage": "Обязательное поле"
"Reconnect": "Подключить повторно"
}

View File

@ -1,5 +1,4 @@
{
"AccessRightsFullAccess": "Полный доступ",
"AddGroupsForSharingButton": "Добавить группы",
"AddShareMessage": "Добавить сообщение",
"Comment": "Комментирование",
@ -12,7 +11,6 @@
"EncryptedFileSharing": "К файлу \u003Cstrong\u003E{{title}}\u003C/strong\u003E успешно предоставлен доступ",
"ExternalLink": "Внешняя ссылка",
"FormFilling": "Заполнение форм",
"FullAccess": "Полный доступ",
"InternalLink": "Внутренняя ссылка",
"LinkCopySuccess": "Ссылка скопирована в буфер обмена",
"LinkText": "Добавить пользователей",

View File

@ -237,7 +237,7 @@ const PureConnectDialogContainer = (props) => {
labelText={t("ConnectionUrl")}
isVertical
hasError={!isUrlValid}
errorMessage={t("RequiredFieldMessage")}
errorMessage={t("Common:RequiredField")}
>
<TextInput
isAutoFocussed={true}
@ -256,7 +256,7 @@ const PureConnectDialogContainer = (props) => {
isRequired
isVertical
hasError={!isLoginValid}
errorMessage={t("RequiredFieldMessage")}
errorMessage={t("Common:RequiredField")}
>
<TextInput
hasError={!isLoginValid}
@ -272,7 +272,7 @@ const PureConnectDialogContainer = (props) => {
isRequired
isVertical
hasError={!isPasswordValid}
errorMessage={t("RequiredFieldMessage")}
errorMessage={t("Common:RequiredField")}
>
<PasswordInput
hasError={!isPasswordValid}
@ -292,7 +292,7 @@ const PureConnectDialogContainer = (props) => {
isRequired
isVertical
hasError={!isTitleValid}
errorMessage={t("RequiredFieldMessage")}
errorMessage={t("Common:RequiredField")}
>
<TextInput
hasError={!isTitleValid}

View File

@ -30,7 +30,7 @@ const AccessComboBox = (props) => {
<>
{accessOptions.includes("FullAccess") && (
<DropDownItem
label={t("FullAccess")}
label={t("Common:FullAccess")}
icon="/static/images/access.edit.react.svg"
data-id={itemId}
data-access={FullAccess}

View File

@ -248,7 +248,7 @@ class SharingRow extends React.Component {
className="sharing_panel-remove-icon"
//color="#A3A9AE"
>
{t("AccessRightsFullAccess")}
{t("Common:FullAccess")}
</Text>
) : (
!shareLink &&

View File

@ -652,12 +652,12 @@ const SharingPanel = inject(
class Panel extends React.Component {
static convertSharingUsers = (shareDataItems) => {
const t = i18n.getFixedT(null, "SharingPanel");
const t = i18n.getFixedT(null, ["SharingPanel", "Common"]);
let sharingSettings = [];
for (let i = 1; i < shareDataItems.length; i++) {
let resultAccess =
shareDataItems[i].access === 1
? t("FullAccess")
? t("Common:FullAccess")
: shareDataItems[i].access === 2
? t("ReadOnly")
: shareDataItems[i].access === 3

View File

@ -1,5 +1,4 @@
{
"AccessRightsFullAccess": "Voller Zugriff",
"ActivationLink": "Aktivierungslink",
"AddButton": "Hinzufügen",
"AddContact": "Kontakt hinzufügen",
@ -40,7 +39,6 @@
"ProfileAction": "Arbeit mit dem Profil",
"ProfileTypePopupHelper": "Gäste haben eingeschränkten Zugriff auf einige Funktionen und Module auf dem Portal",
"ProjectsProduct": "Projekte",
"RequiredField": "Pflichtfeld",
"ReviewingCustomMode": "Review",
"SearchDepartments": "Abteilungen suchen",
"SelectAll": "Alle auswählen",

View File

@ -1,5 +1,4 @@
{
"AccessRightsFullAccess": "Full access",
"ActivationLink": "Activation link",
"AddButton": "Add",
"AddContact": "Add contact",
@ -41,7 +40,6 @@
"ProfileAction": "Profile action",
"ProfileTypePopupHelper": "Guests have limited access to some portal features and modules",
"ProjectsProduct": "Projects",
"RequiredField": "Required field",
"ReviewingCustomMode": "Review",
"SearchDepartments": "Search departments",
"SelectAll": "Select all",

View File

@ -1,5 +1,4 @@
{
"AccessRightsFullAccess": "Полный доступ",
"ActivationLink": "Ссылка для активации",
"AddButton": "Добавить",
"AddContact": "Добавить новый контакт",
@ -40,7 +39,6 @@
"ProfileAction": "Работа с профилем",
"ProfileTypePopupHelper": "Гости имеют ограниченный доступ к некоторым функциям и модулям портала",
"ProjectsProduct": "Проекты",
"RequiredField": "Обязательное поле",
"ReviewingCustomMode": "Рецензирование",
"SearchDepartments": "Поиск группы",
"SelectAll": "Выбрать все",

View File

@ -595,7 +595,7 @@ class UpdateUserForm extends React.Component {
</tr>
<tr>
<Td>{t("DocumentsProduct")}</Td>
<Td>{t("AccessRightsFullAccess")}</Td>
<Td>{t("Common:FullAccess")}</Td>
<Td>{t("ViewAccess")}</Td>
</tr>
<tr>
@ -605,7 +605,7 @@ class UpdateUserForm extends React.Component {
</tr>
<tr>
<Td>{t("CommunityProduct")}</Td>
<Td>{t("AccessRightsFullAccess")}</Td>
<Td>{t("Common:FullAccess")}</Td>
<Td>{t("ViewAccess")}</Td>
</tr>
<tr>

View File

@ -20,5 +20,7 @@
"EditButton": "Bearbeiten",
"EditAvatar": "Bearbeiten",
"UnknownError": "Unbekannter Fehler",
"Type": "Typ"
"Type": "Typ",
"RequiredField": "Pflichtfeld",
"FullAccess": "Voller Zugriff"
}

View File

@ -20,5 +20,8 @@
"EditButton": "Edit",
"EditAvatar": "Edit",
"UnknownError": "Unknown error",
"Type": "Type"
"Type": "Type",
"RequiredField": "Required field",
"FullAccess": "Full access",
}

View File

@ -20,5 +20,7 @@
"EditButton": "Редактировать",
"EditAvatar": "Изменить",
"UnknownError": "Неизвестная ошибка",
"Type": "Тип"
"Type": "Тип",
"RequiredField": "Обязательное поле",
"FullAccess": "Полный доступ"
}

View File

@ -6,7 +6,6 @@
"AccessRightsChangeOwnerConfirmText": "Die Änderungen werden nach der Bestätigung per E-Mail übernommen.",
"AccessRightsChangeOwnerText": "Wählen Sie einen Namen unten aus, um Portalbesitzer zu ändern.",
"AccessRightsDisabledProduct": "Das Modul {{module}} wurde deaktiviert und ist deswegen auf dem Portal unsichtbar. Zum Aktivieren öffnen Sie Module und Tools in Einstellungen.",
"AccessRightsFullAccess": "Voller Zugriff",
"AccessRightsOwnerCan": "Portalbesitzer kann",
"AccessRightsOwnerOpportunities": "Dieselben Operationen wie die Moduladministratoren durchführen|Moduladministratoren bestimmen|Modulzugriffsrechte bestimmen|Portal einrichten|Benutzerprofile verwalten|Portalbesitzer ändern|Backup von Portaldaten erstellen|Portal deaktivieren oder löschen",
"AccessRightsProductUsersCan": "Im Modul {{category}} Portalbenutzer können",

View File

@ -6,7 +6,6 @@
"AccessRightsChangeOwnerConfirmText": "Changes will be applied after the confirmation via email.",
"AccessRightsChangeOwnerText": "To change the portal owner, choose the name below.",
"AccessRightsDisabledProduct": "{{module}} module is disabled and is not shown on the portal. To enable it, refer to the Modules \u0026amp; Tools section of the Portal Settings",
"AccessRightsFullAccess": "Full access",
"AccessRightsOwnerOpportunities": "Do the same as module administrators|Appoint module administrators|Set modules access rights|Manage portal configuration|Manage user accounts|Change portal owner|Backup portal data|Deactivate or delete portal",
"AccessRightsProductUsersCan": "{{category}} users can",
"AccessRightsUsersFromList": "{{users}} from the list",

View File

@ -6,7 +6,6 @@
"AccessRightsChangeOwnerConfirmText": "Изменения будут применены после подтверждения по электронной почте.",
"AccessRightsChangeOwnerText": "Чтобы сменить владельца портала, выберите имя нового владельца портала ниже.",
"AccessRightsDisabledProduct": "Модуль {{module}} отключен и не отображается на портале. Чтобы включить его, обратитесь к разделу настроек портала Модули и инструменты",
"AccessRightsFullAccess": "Полный доступ",
"AccessRightsOwnerOpportunities": "Делать то же самое, что и администраторы модулей|Назначать администраторов модулей|Задавать права доступа в модулях|Управлять настройками портала|Управлять учетными записями пользователей|Cменить владельца портала|Выполнять резервное копирование данных портала|Отключить или удалить портал",
"AccessRightsProductUsersCan": "В модуле {{category}} участники портала со статусом Пользователи могут",
"AccessRightsUsersFromList": "Участников со статусом Пользователи из списка",

View File

@ -473,7 +473,7 @@ class PureAdminsSettings extends Component {
<></>
<Text containerWidth="10%">
{user.isAdmin
? t("AccessRightsFullAccess")
? t("Common:FullAccess")
: t("PeopleAdmin")}
</Text>
{!user.isOwner ? (

View File

@ -18,6 +18,5 @@
"RegisterTitle": "Registrierungsanfrage",
"RegistrationEmailWatermark": "E-Mail",
"Remember": "Anmeldedaten speichern",
"RememberHelper": "Lebensdauer der Sitzung ist standardmäßig 20 Minuten. Wählen Sie diese Option aus, um den Wert 1 Jahr zu setzen. Für benutzerdefinierte Werte öffnen Sie Einstellungen.",
"RequiredFieldMessage": "Pflichtfeld"
"RememberHelper": "Lebensdauer der Sitzung ist standardmäßig 20 Minuten. Wählen Sie diese Option aus, um den Wert 1 Jahr zu setzen. Für benutzerdefinierte Werte öffnen Sie Einstellungen."
}

View File

@ -21,7 +21,6 @@
"RegistrationEmailWatermark": "Email",
"Remember": "Remember me",
"RememberHelper": "The default session lifetime is 20 minutes. Check this option to set it to 1 year. To set your own value, go to Settings.",
"RequiredFieldMessage": "Required field",
"SignInWithFacebook": "Sign in with Facebook",
"SignInWithGoogle": "Sign in with Google",
"SignInWithLinkedIn": "Sign in with LinkedIn",

View File

@ -18,6 +18,5 @@
"RegisterTitle": "Demande d\u0027inscription",
"RegistrationEmailWatermark": "Adresse de courriel",
"Remember": "Se souvenir de moi",
"RememberHelper": "La durée de validité de la session par défaut est de 20 minutes. Cochez cette option pour la définir sur 1 an. Pour définir votre propre valeur, accédez aux paramètres.",
"RequiredFieldMessage": "Champ obligatoire"
"RememberHelper": "La durée de validité de la session par défaut est de 20 minutes. Cochez cette option pour la définir sur 1 an. Pour définir votre propre valeur, accédez aux paramètres."
}

View File

@ -18,6 +18,5 @@
"RegisterTitle": "Richiesta di inscrizione ",
"RegistrationEmailWatermark": "Email",
"Remember": "Ricordati di me",
"RememberHelper": "La durata predefinita della sessione è di 20 minuti. Selezionare questa opzione per impostarla su 1 anno. Per impostare il proprio valore, passare a Impostazioni.",
"RequiredFieldMessage": "Campo obbligatorio"
"RememberHelper": "La durata predefinita della sessione è di 20 minuti. Selezionare questa opzione per impostarla su 1 anno. Per impostare il proprio valore, passare a Impostazioni."
}

View File

@ -21,7 +21,6 @@
"RegistrationEmailWatermark": "Регистрационный email",
"Remember": "Запомнить",
"RememberHelper": "Время существования сессии по умолчанию составляет 20 минут. Отметьте эту опцию, чтобы установить значение 1 год. Чтобы задать собственное значение, перейдите в настройки.",
"RequiredFieldMessage": "Обязательное поле",
"SignInWithFacebook": "Вход через Facebook",
"SignInWithGoogle": "Вход через Google",
"SignInWithLinkedIn": "Вход через LinkedIn",

View File

@ -425,7 +425,7 @@ const Form = (props) => {
isVertical={true}
labelVisible={false}
hasError={!identifierValid}
errorMessage={errorText ? errorText : t("RequiredFieldMessage")} //TODO: Add wrong login server error
errorMessage={errorText ? errorText : t("Common:RequiredField")} //TODO: Add wrong login server error
>
<TextInput
id="login"
@ -449,7 +449,7 @@ const Form = (props) => {
isVertical={true}
labelVisible={false}
hasError={!passwordValid}
errorMessage={errorText ? "" : t("RequiredFieldMessage")} //TODO: Add wrong password server error
errorMessage={errorText ? "" : t("Common:RequiredField")} //TODO: Add wrong password server error
>
<PasswordInput
simpleView={true}

View File

@ -76,7 +76,7 @@ const ForgotPasswordModalDialog = (props) => {
isVertical={true}
hasError={emailError}
labelVisible={false}
errorMessage={t("RequiredFieldMessage")}
errorMessage={t("Common:RequiredField")}
>
<TextInput
hasError={emailError}

View File

@ -65,7 +65,7 @@ const RegisterModalDialog = ({
isVertical={true}
hasError={emailErr}
labelVisible={false}
errorMessage={t("RequiredFieldMessage")}
errorMessage={t("Common:RequiredField")}
>
<TextInput
hasError={emailErr}