add to feedback localization

This commit is contained in:
cheykrym 2025-10-08 04:42:01 +03:00
parent 02be9062d0
commit 0359616c8f
3 changed files with 366 additions and 43 deletions

View File

@ -395,7 +395,7 @@
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_ENTITLEMENTS = yobble/yobble.entitlements; CODE_SIGN_ENTITLEMENTS = yobble/yobble.entitlements;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 5; CURRENT_PROJECT_VERSION = 6;
DEVELOPMENT_TEAM = V22H44W47J; DEVELOPMENT_TEAM = V22H44W47J;
ENABLE_HARDENED_RUNTIME = YES; ENABLE_HARDENED_RUNTIME = YES;
ENABLE_PREVIEWS = YES; ENABLE_PREVIEWS = YES;
@ -435,7 +435,7 @@
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_ENTITLEMENTS = yobble/yobble.entitlements; CODE_SIGN_ENTITLEMENTS = yobble/yobble.entitlements;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 5; CURRENT_PROJECT_VERSION = 6;
DEVELOPMENT_TEAM = V22H44W47J; DEVELOPMENT_TEAM = V22H44W47J;
ENABLE_HARDENED_RUNTIME = YES; ENABLE_HARDENED_RUNTIME = YES;
ENABLE_PREVIEWS = YES; ENABLE_PREVIEWS = YES;

View File

@ -32,7 +32,15 @@
} }
}, },
"%d символов" : { "%d символов" : {
"comment" : "feedback: character count" "comment" : "feedback: character count",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "%d characters"
}
}
}
}, },
"%lld" : { "%lld" : {
@ -204,7 +212,15 @@
} }
}, },
"Ваш e-mail" : { "Ваш e-mail" : {
"comment" : "feedback: email placeholder" "comment" : "feedback: email placeholder",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Your email"
}
}
}
}, },
"Версия:" : { "Версия:" : {
"localizations" : { "localizations" : {
@ -290,7 +306,15 @@
} }
}, },
"Выберите оценку — это поможет нам понять настроение." : { "Выберите оценку — это поможет нам понять настроение." : {
"comment" : "feedback: rating hint" "comment" : "feedback: rating hint",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Select a rating — this helps us understand the vibe."
}
}
}
}, },
"Выйти из аккаунта" : { "Выйти из аккаунта" : {
"localizations" : { "localizations" : {
@ -461,7 +485,15 @@
"comment" : "Search placeholder description" "comment" : "Search placeholder description"
}, },
"Идея" : { "Идея" : {
"comment" : "feedback category: idea" "comment" : "feedback category: idea",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Idea"
}
}
}
}, },
"Избранные сообщения" : { "Избранные сообщения" : {
@ -531,7 +563,15 @@
} }
}, },
"Контент" : { "Контент" : {
"comment" : "feedback category: content" "comment" : "feedback category: content",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Content"
}
}
}
}, },
"Конфиденциальность" : { "Конфиденциальность" : {
"localizations" : { "localizations" : {
@ -697,34 +737,106 @@
} }
}, },
"Мы используем адрес только для ответа на ваш запрос." : { "Мы используем адрес только для ответа на ваш запрос." : {
"comment" : "feedback: email hint" "comment" : "feedback: email hint",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Well only use your email to respond to your request."
}
}
}
}, },
"Мы постараемся всё исправить. Напишите, что смутило." : { "Мы постараемся всё исправить. Напишите, что смутило." : {
"comment" : "feedback: rating description 2" "comment" : "feedback: rating description 2",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Well do our best to fix it. Tell us what felt off."
}
}
}
}, },
"Мы свяжемся с вами по адресу %@, как только ответим." : { "Мы свяжемся с вами по адресу %@, как только ответим." : {
"comment" : "feedback: success email" "comment" : "feedback: success email",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Well contact you at %@ once we reply."
}
}
}
}, },
"Мы читаем каждый отзыв и используем его, чтобы сделать Yobble полезнее для вас." : { "Мы читаем каждый отзыв и используем его, чтобы сделать Yobble полезнее для вас." : {
"comment" : "feedback: header subtitle" "comment" : "feedback: header subtitle",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "We read every piece of feedback and use it to make Yobble better for you."
}
}
}
}, },
"Напишите нам через форму обратной связи в разделе \"Поддержка\"." : { "Напишите нам через форму обратной связи в разделе \"Поддержка\"." : {
"comment" : "FAQ answer: support" "comment" : "FAQ answer: support"
}, },
"Например: заметил неточную информацию в статье..." : { "Например: заметил неточную информацию в статье..." : {
"comment" : "feedback placeholder: content" "comment" : "feedback placeholder: content",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "For example: I noticed inaccurate information in an article…"
}
}
}
}, },
"Например: понравилась новая лента, потому что..." : { "Например: понравилась новая лента, потому что..." : {
"comment" : "feedback placeholder: praise" "comment" : "feedback placeholder: praise",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "For example: I liked the new feed because…"
}
}
}
}, },
"Например: приложение вылетает, когда я открываю профиль..." : { "Например: приложение вылетает, когда я открываю профиль..." : {
"comment" : "feedback placeholder: bug" "comment" : "feedback placeholder: bug",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "For example: the app crashes when I open a profile…"
}
}
}
}, },
"Например: хотелось бы видеть подборку по интересам..." : { "Например: хотелось бы видеть подборку по интересам..." : {
"comment" : "feedback placeholder: idea" "comment" : "feedback placeholder: idea",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "For example: Id love to see personalized recommendations…"
}
}
}
}, },
"Насколько вам нравится Yobble?" : { "Насколько вам нравится Yobble?" : {
"comment" : "feedback: rating title" "comment" : "feedback: rating title",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "How much do you like Yobble?"
}
}
}
}, },
"Настройки" : { "Настройки" : {
"comment" : "Settings", "comment" : "Settings",
@ -950,7 +1062,15 @@
}, },
"Неплохо, но можно лучше — что добавить?" : { "Неплохо, но можно лучше — что добавить?" : {
"comment" : "feedback: rating description 3" "comment" : "feedback: rating description 3",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Not bad, but it could be better — what would you add?"
}
}
}
}, },
"Нет аккаунта? Регистрация" : { "Нет аккаунта? Регистрация" : {
"comment" : "Регистрация", "comment" : "Регистрация",
@ -998,10 +1118,26 @@
} }
}, },
"Нужно ли вам ответить?" : { "Нужно ли вам ответить?" : {
"comment" : "feedback: contact title" "comment" : "feedback: contact title",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Do you need a response?"
}
}
}
}, },
"О каком контенте идёт речь?" : { "О каком контенте идёт речь?" : {
"comment" : "feedback prompt: content" "comment" : "feedback prompt: content",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "What content are you referring to?"
}
}
}
}, },
"О приложении" : { "О приложении" : {
"localizations" : { "localizations" : {
@ -1034,6 +1170,9 @@
} }
} }
}, },
"Обратная связь (не работает)" : {
"comment" : "feedback: navigation title"
},
"Ограничить таймер автоудаления (максимум)" : { "Ограничить таймер автоудаления (максимум)" : {
"localizations" : { "localizations" : {
"en" : { "en" : {
@ -1048,22 +1187,62 @@
}, },
"Опишите идею" : { "Опишите идею" : {
"comment" : "feedback prompt: idea" "comment" : "feedback prompt: idea",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Describe your idea"
}
}
}
}, },
"Отображаемое имя" : { "Отображаемое имя" : {
}, },
"Отправить отзыв" : { "Отправить отзыв" : {
"comment" : "feedback: submit button" "comment" : "feedback: submit button",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Submit Feedback"
}
}
}
}, },
"Отправляем..." : { "Отправляем..." : {
"comment" : "feedback: sending state" "comment" : "feedback: sending state",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Sending..."
}
}
}
}, },
"Оценка %d" : { "Оценка %d" : {
"comment" : "feedback: rating accessibility" "comment" : "feedback: rating accessibility",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Rating %d"
}
}
}
}, },
"Оценка: %d из 5" : { "Оценка: %d из 5" : {
"comment" : "feedback: success rating" "comment" : "feedback: success rating",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Rating: %d out of 5"
}
}
}
}, },
"Ошибка" : { "Ошибка" : {
"comment" : "Profile update error title", "comment" : "Profile update error title",
@ -1247,10 +1426,26 @@
} }
}, },
"Поделитесь идеями, сообщите об ошибке или расскажите, что работает отлично." : { "Поделитесь идеями, сообщите об ошибке или расскажите, что работает отлично." : {
"comment" : "feedback: info detail" "comment" : "feedback: info detail",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Share ideas, report a bug, or tell us what works well."
}
}
}
}, },
"Поделитесь, что понравилось" : { "Поделитесь, что понравилось" : {
"comment" : "feedback category subtitle: praise" "comment" : "feedback category subtitle: praise",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Share what you liked"
}
}
}
}, },
"Подтверждение пароля" : { "Подтверждение пароля" : {
"comment" : "Подтверждение пароля", "comment" : "Подтверждение пароля",
@ -1264,7 +1459,15 @@
} }
}, },
"Пожалуйста, введите корректный e-mail." : { "Пожалуйста, введите корректный e-mail." : {
"comment" : "feedback: email error" "comment" : "feedback: email error",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Please enter a valid email."
}
}
}
}, },
"Поиск" : { "Поиск" : {
@ -1313,7 +1516,15 @@
} }
}, },
"Получить ответ от команды" : { "Получить ответ от команды" : {
"comment" : "feedback: contact toggle" "comment" : "feedback: contact toggle",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Get a reply from the team"
}
}
}
}, },
"Пользователь Системы 1" : { "Пользователь Системы 1" : {
"comment" : "Тестовая подмена офф аккаунта", "comment" : "Тестовая подмена офф аккаунта",
@ -1342,13 +1553,37 @@
}, },
"Похвала" : { "Похвала" : {
"comment" : "feedback category: praise" "comment" : "feedback category: praise",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Praise"
}
}
}
}, },
"Предложите, что добавить" : { "Предложите, что добавить" : {
"comment" : "feedback category subtitle: idea" "comment" : "feedback category subtitle: idea",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Suggest what to add"
}
}
}
}, },
"Прекрасно! Расскажите, что понравилось больше всего." : { "Прекрасно! Расскажите, что понравилось больше всего." : {
"comment" : "feedback: rating description 5" "comment" : "feedback: rating description 5",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Amazing! Tell us what you liked the most."
}
}
}
}, },
"Приватные чаты" : { "Приватные чаты" : {
"localizations" : { "localizations" : {
@ -1441,7 +1676,15 @@
} }
}, },
"Проблема" : { "Проблема" : {
"comment" : "feedback category: bug" "comment" : "feedback category: bug",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Bug"
}
}
}
}, },
"Проверьте данные и повторите попытку." : { "Проверьте данные и повторите попытку." : {
"localizations" : { "localizations" : {
@ -1523,10 +1766,26 @@
} }
}, },
"Расскажите о своём опыте" : { "Расскажите о своём опыте" : {
"comment" : "feedback: header title" "comment" : "feedback: header title",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Tell us about your experience"
}
}
}
}, },
"Расскажите, что не работает" : { "Расскажите, что не работает" : {
"comment" : "feedback category subtitle: bug" "comment" : "feedback category subtitle: bug",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Tell us what isnt working"
}
}
}
}, },
"Регистрация" : { "Регистрация" : {
"comment" : "Регистрация", "comment" : "Регистрация",
@ -1713,7 +1972,15 @@
}, },
"Сообщите о материалах" : { "Сообщите о материалах" : {
"comment" : "feedback category subtitle: content" "comment" : "feedback category subtitle: content",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Report content issues"
}
}
}
}, },
"Сохранить изменения" : { "Сохранить изменения" : {
"localizations" : { "localizations" : {
@ -1726,10 +1993,26 @@
} }
}, },
"Спасибо! Мы получили ваш отзыв" : { "Спасибо! Мы получили ваш отзыв" : {
"comment" : "feedback: success title" "comment" : "feedback: success title",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Thank you! Weve received your feedback"
}
}
}
}, },
"Спасибо! Что поможет нам добраться до пятёрки?" : { "Спасибо! Что поможет нам добраться до пятёрки?" : {
"comment" : "feedback: rating description 4" "comment" : "feedback: rating description 4",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Thanks! What would get us to a five?"
}
}
}
}, },
"Старый пароль" : { "Старый пароль" : {
"comment" : "Старый пароль", "comment" : "Старый пароль",
@ -1753,7 +2036,15 @@
} }
}, },
"Тема: %@" : { "Тема: %@" : {
"comment" : "feedback: success category" "comment" : "feedback: success category",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Category: %@"
}
}
}
}, },
"Тёмная" : { "Тёмная" : {
"localizations" : { "localizations" : {
@ -1892,16 +2183,48 @@
"comment" : "FAQ answer: drafts" "comment" : "FAQ answer: drafts"
}, },
"Что вам понравилось?" : { "Что вам понравилось?" : {
"comment" : "feedback prompt: praise" "comment" : "feedback prompt: praise",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "What did you like?"
}
}
}
}, },
"Что вы хотите обсудить?" : { "Что вы хотите обсудить?" : {
"comment" : "feedback: category title" "comment" : "feedback: category title",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "What would you like to talk about?"
}
}
}
}, },
"Что случилось?" : { "Что случилось?" : {
"comment" : "feedback prompt: bug" "comment" : "feedback prompt: bug",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "What happened?"
}
}
}
}, },
"Что-то пошло не так. Расскажите подробности ниже." : { "Что-то пошло не так. Расскажите подробности ниже." : {
"comment" : "feedback: rating description 1" "comment" : "feedback: rating description 1",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Something went wrong. Tell us more below."
}
}
}
}, },
"Экран чата в разработке" : { "Экран чата в разработке" : {

View File

@ -56,7 +56,7 @@ struct FeedbackView: View {
.padding(.horizontal, 20) .padding(.horizontal, 20)
} }
.background(Color(.systemGroupedBackground).ignoresSafeArea()) .background(Color(.systemGroupedBackground).ignoresSafeArea())
.navigationTitle(NSLocalizedString("Обратная связь", comment: "feedback: navigation title")) .navigationTitle(NSLocalizedString("Обратная связь (не работает)", comment: "feedback: navigation title"))
.navigationBarTitleDisplayMode(.inline) .navigationBarTitleDisplayMode(.inline)
.simultaneousGesture( .simultaneousGesture(
TapGesture().onEnded { TapGesture().onEnded {