settings about translations
continuous-integration/drone/push Build is pending Details

This commit is contained in:
Dan Ballard 2024-01-04 01:59:51 -08:00 committed by Gitea
parent d142c10fef
commit ee07e707d2
20 changed files with 118 additions and 84 deletions

View File

@ -12,9 +12,16 @@ Feature: Settings pane opens and can save settings persistently
Given I tap the 'OpenSettingsView' button
And I wait until the text 'Use Light Themes' is present
When I tap the widget that contains the text "Use Light Themes"
And I tap the widget that contains the text "Block Unknown Contacts"
And I tap the widget that contains the text "Streamer/Presentation Mode"
And I tap the widget that contains the text "Enable Experiments"
And I expect the switch that contains the text "Streamer/Presentation Mode" to be checked
Then I expect the switch that contains the text "Use Light Themes" to be checked
When I tap the 'OpenSettingsBehaviour' button
And I wait until the text 'Notification Policy' is present
When I tap the widget that contains the text "Block Unknown Contacts"
And I expect the switch that contains the text "Block Unknown Contacts" to be checked
When I tap the 'OpenSettingsExperiments' button
And I wait until the text 'Enable Experiments' is present
When I tap the widget that contains the text "Enable Experiments"
Then I wait until the text 'Enable Group Chat' is present
And I tap the widget that contains the text "Enable Group Chat"
And I tap the widget that contains the text "Hosting Servers"
@ -24,9 +31,6 @@ Feature: Settings pane opens and can save settings persistently
And I wait until the text 'Download Folder' is present
And I fill the "DownloadFolderPicker" field with "/this/is/a/test"
And I tap the widget that contains the text "Enable Clickable Links"
Then I expect the switch that contains the text "Use Light Themes" to be checked
And I expect the switch that contains the text "Block Unknown Contacts" to be checked
And I expect the switch that contains the text "Streamer/Presentation Mode" to be checked
And I expect the switch that contains the text "Enable Experiments" to be checked
And I expect the switch that contains the text "Enable Group Chat" to be checked
# Not every version of Cwtch Supports Hosting Servers..
@ -42,8 +46,14 @@ Feature: Settings pane opens and can save settings persistently
Given I tap the 'OpenSettingsView' button
And I wait until the text 'Use Light Themes' is present
Then I expect the switch that contains the text "Use Light Themes" to be checked
And I expect the switch that contains the text "Block Unknown Contacts" to be checked
And I expect the switch that contains the text "Streamer/Presentation Mode" to be checked
When I tap the 'OpenSettingsBehaviour' button
And I wait until the text 'Notification Policy' is present
And I expect the switch that contains the text "Block Unknown Contacts" to be checked
And I expect the switch that contains the text "Block Unknown Contacts" to be checked
When I tap the 'OpenSettingsExperiments' button
And I wait until the text 'Enable Experiments' is present
And I wait until the text 'Enable Experiments' is present
And I expect the switch that contains the text "Enable Experiments" to be checked
And I expect the switch that contains the text "Enable Group Chat" to be checked
# And I expect the switch that contains the text "Hosting Servers" to be checked

View File

@ -3,6 +3,8 @@ Feature: Block unknown contacts setting
Scenario: Carol adds Alice but Alice doesn't see it because Block Unknowns is enabled
Given I wait until the widget with type 'ProfileMgrView' is present
Given I tap the 'OpenSettingsView' button
And I wait until the text "Behaviour" is present
When I tap the 'OpenSettingsBehaviour button
And I wait until the text "Block Unknown Contacts" is present
When I tap the widget that contains the text "Block Unknown Contacts"
Then I expect the switch that contains the text "Block Unknown Contacts" to be checked

View File

@ -1,6 +1,7 @@
{
"@@locale": "cy",
"@@last_modified": "2023-09-25T21:29:34+02:00",
"@@last_modified": "2024-01-04T10:56:20+01:00",
"settingsGroupAbout": "About",
"localeUzbek": "Uzbek \/ Oʻzbekcha",
"profileOfflineAtStart": "Appear Offline at Startup",
"now": "Now",

View File

@ -1,6 +1,7 @@
{
"@@locale": "da",
"@@last_modified": "2023-09-25T21:29:34+02:00",
"@@last_modified": "2024-01-04T10:56:20+01:00",
"settingsGroupAbout": "About",
"localeUzbek": "Uzbek \/ Oʻzbekcha",
"profileOfflineAtStart": "Appear Offline at Startup",
"now": "Now",

View File

@ -1,6 +1,7 @@
{
"@@locale": "de",
"@@last_modified": "2023-09-25T21:29:34+02:00",
"@@last_modified": "2024-01-04T10:56:20+01:00",
"settingsGroupAbout": "About",
"localeUzbek": "Uzbek \/ Oʻzbekcha",
"profileOfflineAtStart": "Appear Offline at Startup",
"now": "Now",

View File

@ -1,6 +1,7 @@
{
"@@locale": "el",
"@@last_modified": "2023-09-25T21:29:34+02:00",
"@@last_modified": "2024-01-04T10:56:20+01:00",
"settingsGroupAbout": "About",
"localeUzbek": "Uzbek \/ Oʻzbekcha",
"profileOfflineAtStart": "Appear Offline at Startup",
"now": "Now",

View File

@ -1,6 +1,7 @@
{
"@@locale": "en",
"@@last_modified": "2023-09-25T21:29:34+02:00",
"@@last_modified": "2024-01-04T10:56:20+01:00",
"settingsGroupAbout": "About",
"localeUzbek": "Uzbek \/ Oʻzbekcha",
"profileOfflineAtStart": "Appear Offline at Startup",
"now": "Now",

View File

@ -1,62 +1,63 @@
{
"@@locale": "es",
"@@last_modified": "2023-09-25T21:29:34+02:00",
"localeUzbek": "Uzbek \/ Oʻzbekcha",
"profileOfflineAtStart": "Appear Offline at Startup",
"now": "Now",
"xSecondsAgo": "$seconds seconds ago",
"xMinutesAgo": "$minutes minutes ago",
"xHoursAgo": "$hours hours ago",
"xDaysAgo": "$days days ago",
"profileAllowUnknownContacts": "Allow Unknown Contacts",
"profileBlockUnknownContacts": "Block Unknown Contacts",
"profileDisableProfile": "Disable Profile",
"profileEnableProfile": "Enable Profile",
"profileAppearOnline": "Appear Online",
"contactDisconnect": "Disconnect from Contact (if you do not have Appear Offline set this contact may still be able to reestablish a connection to you)",
"profileAppearOfflineDescription": "By default, when Cwtch profile is enabled it automatically attempts to connect to know contacts, and allows inbound connections. This settings disables those actions and allows you to choose, manually, which contacts to connect to.",
"profileAppearOffline": "Appear Offline",
"deleteServerConfirmBtn": "Realmente eliminar el servidor",
"cannotDeleteServerIfActiveGroups": "There are active groups associated with this Cwtch Server. Please delete them prior to deleting this Cwtch Server entry.",
"groupsOnThisServerLabel": "Grupos alojados en este servidor en los que estoy",
"serverinfoNoGroupInfo": "There are no groups associated with this Cwtch Server.",
"preserveHistorySettingDescription": "By default, Cwtch will purge conversation history when Cwtch is shutdown. If this setting is enabled, Cwtch will preserve the conversation history of peer conversations.",
"defaultPreserveHistorySetting": "Preserve Conversation History",
"localeUk": "Ukrainian \/ українською",
"profileEnabledDescription": "Activate or Deactivate the profile.",
"localeSw": "Swahili \/ Kiswahili",
"localeSv": "Swedish \/ Svenska",
"fontScalingDescription": "Adjust the relative font scaling factor applied to text and widgets.",
"defaultScalingText": "Tamaño predeterminado de texto (factor de escala:",
"localeJa": "Japanese \/ 日本語",
"retryConnectionTooltip": "Cwtch retries peers regularly, but you can tell Cwtch to try sooner by pushing this button.",
"retryConnection": "Retry",
"availabilityStatusTooltip": "Set your availability status",
"profileInfoHint3": "Contacts will be able to see this information in Conversation Settings ",
"profileInfoHint2": "You can add up to 3 fields.",
"profileInfoHint": "Add some public information about yourself here e.g. blog, websites, brief bio.",
"availabilityStatusBusy": "Busy",
"availabilityStatusAway": "Away",
"availabilityStatusAvailable": "Available",
"blodeuweddWarning": "Blodeuwedd uses a local language model and a set of small auxiliary models to power its functionality. These techniques are often very effective they are not without error. \n\nWhile we have taken efforts to minimize the risk, there is still the possibility that Blodeuwedd outputs will be incorrect, hallucinated and\/or offensive.\n\nBecause of that Blodeuwedd requires downloading two additional components separate from Cwtch, the Blodeuwedd Model (or a compatible model) and the Blodeuwedd Runner. \n\nSee https:\/\/docs.cwtch.im\/docs\/settings\/experiments\/blodeuwedd for more information on obtaining these components and setting them up.",
"blodeuweddProcessing": "Blodeuwedd is processing...",
"blodeuweddTranslate": "Translate Message",
"blodeuweddSummarize": "Summarize Conversation",
"blodeuweddPath": "The directory where the Blodeuwedd is located on your computer.",
"blodeuweddNotSupported": "This version of Cwtch has been compiled without support for the Blodeuwedd Assistant.",
"blodeuweddDescription": "The Blodeuwedd assistant adds new features to Cwtch such as chat transcript summarization and message translation via a locally hosted language model.",
"blodeuweddExperimentEnable": "Blodeuwedd Assistant",
"localeKo": "Korean \/ 한국어",
"localeSk": "Slovak \/ Slovák",
"profileAutostartDescription": "Controls if the profile will be automatically launched on startup",
"profileEnabled": "Enable",
"profileAutostartLabel": "Autostart",
"localePtBr": "Brazilian Portuguese \/ Português do Brasil",
"localeNl": "Dutch \/ Dutch",
"experimentQRCodeDescription": "QR Code support allows sharing data (such as profile identity) by QR Codes",
"enableExperimentQRCode": "QR Codes",
"shareMenuQRCode": "Show QR Code",
"shareProfileMenuTooltop": "Share profile via...",
"@@last_modified": "2024-01-04T10:56:20+01:00",
"settingsGroupAbout": "About",
"deleteServerConfirmBtn": "¿Realmente desea borrar el servidor?",
"defaultScalingText": "Factor de escala del texto",
"groupsOnThisServerLabel": "Grupos alojados en este servidor de Cwtch",
"shareMenuQRCode": "Mostrar código QR",
"experimentQRCodeDescription": "La compatibilidad con códigos QR permite compartir datos (como la identidad del perfil) mediante códigos QR",
"enableExperimentQRCode": "Códigos QR",
"localeNl": "Holandés \/ Dutch",
"localePtBr": "Portugués brasileño \/ Português do Brasil",
"profileAutostartLabel": "Inicio automático",
"profileEnabled": "Habilitar",
"profileAutostartDescription": "Controla si el perfil se iniciará automáticamente al iniciar Cwtch",
"profileEnabledDescription": "Activar o Desactivar el perfil.",
"localeSk": "Eslovaco \/ Slovák",
"localeKo": "Coreano \/ 한국어",
"blodeuweddExperimentEnable": "Asistente Blodeuwedd",
"blodeuweddDescription": "El asistente Blodeuwedd agrega nuevas funciones a Cwtch, como el resumen de la transcripción del chat y la traducción de mensajes a través de un modelo de lenguaje alojado localmente.",
"blodeuweddNotSupported": "Esta versión de Cwtch se ha compilado sin soporte para Blodeuwedd Assistant.",
"blodeuweddPath": "El directorio donde se encuentra Blodeuwedd está en tu computadora.",
"blodeuweddSummarize": "Resumir la conversación",
"blodeuweddWarning": "Blodeuwedd utiliza un modelo de idioma local y un conjunto de modelos auxiliares para potenciar su funcionalidad. Estas técnicas suelen ser muy efectivas y no están exentas de errores. \n\nSi bien nos hemos esforzado por minimizar el riesgo, todavía existe la posibilidad de que los resultados de Blodeuwedd sean incorrectos, sin-sentido y\/u ofensivos. \n\nDebido a eso, Blodeuwedd requiere descargar dos componentes adicionales separados de Cwtch, el modelo Blodeuwedd (o un modelo compatible) y el Blodeuwedd Runner. \n\nConsulta https:\/\/docs.cwtch.im\/docs\/settings\/experiments\/blodeuwedd para obtener más información sobre cómo obtener estos componentes y configurarlos.",
"blodeuweddTranslate": "Traducir mensaje",
"blodeuweddProcessing": "Blodeuwedd está procesando...",
"availabilityStatusBusy": "Ocupad()",
"availabilityStatusAvailable": "Disponible",
"availabilityStatusAway": "Ausente",
"shareProfileMenuTooltop": "Comparte éste perfil por medio de...",
"availabilityStatusTooltip": "Establece tu estado",
"profileInfoHint": "Agrega información sobre tí, por ejemplo un blog, sitio web o una breve biografía.",
"profileInfoHint2": "Puedes agregar hasta 3 campos.",
"profileInfoHint3": "Los contactos podrán ver esta información en la Configuración de la Conversación ",
"retryConnection": "Reintentar",
"fontScalingDescription": "Ajusta el factor de escala de fuente relativo aplicado al texto y los widgets.",
"retryConnectionTooltip": "Cwtch reintenta conectarse a sus pares regularmente, pero puedes decirle a Cwtch que lo intente antes presionando este botón.",
"localeJa": "Japonés \/ 日本語",
"localeSv": "Sueco \/ Svenska",
"localeSw": "Suajili \/ Kiswahili",
"localeUk": "Ucraniano \/ українською",
"defaultPreserveHistorySetting": "Preservar el historial de conversaciones",
"preserveHistorySettingDescription": "De forma predeterminada, Cwtch borrará el historial de conversaciones cuando se cierre Cwtch. Si esta configuración está habilitada, Cwtch preservará el historial de conversaciones de pares.",
"serverinfoNoGroupInfo": "No hay grupos asociados co este servidor de Cwtch.",
"cannotDeleteServerIfActiveGroups": "Hay grupos activos asociados con este servidor de Cwtch. Elimínalos antes de eliminar esta entrada del servidor de Cwtch.",
"profileAppearOffline": "Aparecer sin conexión",
"profileAppearOfflineDescription": "De forma predeterminada, cuando el perfil Cwtch está habilitado, intenta conectarse automáticamente para conocer contactos y permite conexiones entrantes. Esta configuración desactiva esas acciones y te permite elegir, manualmente, a qué contactos conectarte.",
"contactDisconnect": "Desconectarse del contacto (si no tienes configurado Aparecer sin conexión, es posible que este contacto aún pueda restablecer la conexión contigo)",
"profileAppearOnline": "Aparecer en línea",
"profileEnableProfile": "Habilitar perfil",
"profileDisableProfile": "Deshabilitar perfil",
"profileBlockUnknownContacts": "Bloquear contactos desconocidos",
"profileAllowUnknownContacts": "Permitir contactos desconocidos",
"profileOfflineAtStart": "Aparecer sin conexión al iniciar",
"xDaysAgo": "Hace $days días",
"xHoursAgo": "Hace $hours horas",
"xMinutesAgo": "Hace $minutes minutos",
"xSecondsAgo": "Hace $seconds segundos",
"now": "Ahora",
"localeUzbek": "Uzbeko \/ O'zbekcha",
"tooltipPinConversation": "Fija la conversación en la parte superior de \"Conversaciones\"",
"errorDownloadDirectoryDoesNotExist": "No se puede habilitar el uso compartido de archivos porque la carpeta de descarga no se ha configurado o se configuró en una carpeta que no existe.",
"acquiringTicketsFromServer": "Realizando Desafío Antispam",

View File

@ -1,6 +1,7 @@
{
"@@locale": "fr",
"@@last_modified": "2023-09-25T21:29:34+02:00",
"@@last_modified": "2024-01-04T10:56:20+01:00",
"settingsGroupAbout": "About",
"localeUzbek": "Uzbek \/ Oʻzbekcha",
"profileOfflineAtStart": "Appear Offline at Startup",
"now": "Now",

View File

@ -1,6 +1,7 @@
{
"@@locale": "it",
"@@last_modified": "2023-09-25T21:29:34+02:00",
"@@last_modified": "2024-01-04T10:56:20+01:00",
"settingsGroupAbout": "About",
"localeUzbek": "Uzbek \/ Oʻzbekcha",
"profileOfflineAtStart": "Appear Offline at Startup",
"now": "Now",

View File

@ -1,6 +1,7 @@
{
"@@locale": "lb",
"@@last_modified": "2023-09-25T21:29:34+02:00",
"@@last_modified": "2024-01-04T10:56:20+01:00",
"settingsGroupAbout": "About",
"localeUzbek": "Uzbek \/ Oʻzbekcha",
"profileOfflineAtStart": "Appear Offline at Startup",
"now": "Now",

View File

@ -1,6 +1,7 @@
{
"@@locale": "nl",
"@@last_modified": "2023-09-25T21:29:34+02:00",
"@@last_modified": "2024-01-04T10:56:20+01:00",
"settingsGroupAbout": "About",
"localeUzbek": "Uzbek \/ Oʻzbekcha",
"profileOfflineAtStart": "Appear Offline at Startup",
"now": "Now",

View File

@ -1,6 +1,7 @@
{
"@@locale": "no",
"@@last_modified": "2023-09-25T21:29:34+02:00",
"@@last_modified": "2024-01-04T10:56:20+01:00",
"settingsGroupAbout": "About",
"localeUzbek": "Uzbek \/ Oʻzbekcha",
"profileOfflineAtStart": "Appear Offline at Startup",
"now": "Now",

View File

@ -1,6 +1,7 @@
{
"@@locale": "pl",
"@@last_modified": "2023-09-25T21:29:34+02:00",
"@@last_modified": "2024-01-04T10:56:20+01:00",
"settingsGroupAbout": "About",
"localeUzbek": "Uzbek \/ Oʻzbekcha",
"profileOfflineAtStart": "Appear Offline at Startup",
"now": "Now",

View File

@ -1,6 +1,7 @@
{
"@@locale": "pt",
"@@last_modified": "2023-09-25T21:29:34+02:00",
"@@last_modified": "2024-01-04T10:56:20+01:00",
"settingsGroupAbout": "About",
"localeUzbek": "Uzbek \/ Oʻzbekcha",
"profileOfflineAtStart": "Appear Offline at Startup",
"now": "Now",

View File

@ -1,6 +1,7 @@
{
"@@locale": "pt_BR",
"@@last_modified": "2023-09-25T21:29:34+02:00",
"@@last_modified": "2024-01-04T10:56:20+01:00",
"settingsGroupAbout": "About",
"localeUzbek": "Uzbek \/ Oʻzbekcha",
"profileOfflineAtStart": "Appear Offline at Startup",
"now": "Now",

View File

@ -1,6 +1,7 @@
{
"@@locale": "ro",
"@@last_modified": "2023-09-25T21:29:34+02:00",
"@@last_modified": "2024-01-04T10:56:20+01:00",
"settingsGroupAbout": "About",
"localeUzbek": "Uzbek \/ Oʻzbekcha",
"profileOfflineAtStart": "Appear Offline at Startup",
"now": "Now",

View File

@ -1,6 +1,7 @@
{
"@@locale": "ru",
"@@last_modified": "2023-09-25T21:29:34+02:00",
"@@last_modified": "2024-01-04T10:56:20+01:00",
"settingsGroupAbout": "About",
"localeUzbek": "Uzbek \/ Oʻzbekcha",
"profileOfflineAtStart": "Appear Offline at Startup",
"now": "Now",

View File

@ -1,6 +1,7 @@
{
"@@locale": "tr",
"@@last_modified": "2023-09-25T21:29:34+02:00",
"@@last_modified": "2024-01-04T10:56:20+01:00",
"settingsGroupAbout": "About",
"localeUzbek": "Uzbek \/ Oʻzbekcha",
"profileOfflineAtStart": "Appear Offline at Startup",
"now": "Now",

View File

@ -82,20 +82,25 @@ class _GlobalSettingsViewState extends State<GlobalSettingsView> {
appBar: AppBar(
title: Text(AppLocalizations.of(context)!.cwtchSettingsTitle),
bottom: TabBar(
isScrollable: true,
tabs: [
Tab(
key: Key("OpenSettingsAppearance"),
icon: Icon(Icons.palette),
text: AppLocalizations.of(context)!
.settingsGroupAppearance),
Tab(
key: Key("OpenSettingsBehaviour"),
icon: Icon(Icons.settings),
text:
AppLocalizations.of(context)!.settingGroupBehaviour),
Tab(
key: Key("OpenSettingsExperiments"),
icon: Icon(CwtchIcons.enable_experiments),
text: AppLocalizations.of(context)!
.settingsGroupExperiments),
Tab(icon: Icon(Icons.info), text: "About"),
Tab(icon: Icon(Icons.info), text: AppLocalizations.of(context)!
.settingsGroupAbout),
],
)),
body: _buildSettingsList(),
@ -110,7 +115,7 @@ class _GlobalSettingsViewState extends State<GlobalSettingsView> {
return TabBarView(children: [
// ***** Appearance
Scrollbar(
key: Key("SettingsView"),
key: Key("AppearanceSettingsView"),
trackVisibility: true,
controller: settingsListScrollController,
child: SingleChildScrollView(
@ -355,7 +360,7 @@ class _GlobalSettingsViewState extends State<GlobalSettingsView> {
// **** Behaviour
Scrollbar(
key: Key("SettingsView"),
key: Key("BehaviourSettingsView"),
trackVisibility: true,
controller: settingsListScrollController,
child: SingleChildScrollView(
@ -500,7 +505,7 @@ class _GlobalSettingsViewState extends State<GlobalSettingsView> {
// ****** Experiments
Scrollbar(
key: Key("SettingsView"),
key: Key("ExperimentsSettingsView"),
trackVisibility: true,
controller: settingsListScrollController,
child: SingleChildScrollView(
@ -825,7 +830,7 @@ class _GlobalSettingsViewState extends State<GlobalSettingsView> {
// **** About
Scrollbar(
key: Key("SettingsView"),
key: Key("AboutSettingsView"),
trackVisibility: true,
controller: settingsListScrollController,
child: SingleChildScrollView(