From 63a81dd6023e729a54938d1b3ec6e3ce1cee3ab7 Mon Sep 17 00:00:00 2001 From: Arne Weber Date: Sat, 8 Jun 2024 00:27:58 +0200 Subject: [PATCH 01/23] added missing languages to release workflow --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 98e7be4f..2bfeef38 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -238,7 +238,7 @@ jobs: artifactErrorsFailBuild: true artifacts: artifacts/*/* body: | - # ⚠️ Please help with translation as tracked in #2 and channel points as tracked in #23 ! + # ⚠️ Please help with translation as tracked in #2 (Français, العربية, Português, Polski, Nederlandse, Dansk, Indonesian) and channel points as tracked in #23 ! *** **This is an automatically generated updated version of the application, that includes the latest master branch changes.** From 33be1da9bf7463256bf3265acfc2beb405a1df95 Mon Sep 17 00:00:00 2001 From: Patriot99 <31535921+Patriot99@users.noreply.github.com> Date: Sun, 9 Jun 2024 05:45:10 +0200 Subject: [PATCH 02/23] Update Polski.json --- lang/Polski.json | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/lang/Polski.json b/lang/Polski.json index feded1a7..52a2bd92 100644 --- a/lang/Polski.json +++ b/lang/Polski.json @@ -93,9 +93,9 @@ "name": "Kanały", "switch": "Zmień", "load_points": "Załaduj punkty", - "online": "ONLINE ✔", - "pending": "W TOKU ⏳", - "offline": "OFFLINE ❌", + "online": "ONLINE \u2714", + "pending": "W TOKU \u23f3", + "offline": "OFFLINE \u274c", "headings": { "channel": "Kanał", "status": "Status", @@ -116,13 +116,13 @@ "refresh": "Odśwież" }, "status": { - "linked": "Połączono ✔", - "not_linked": "Nie połączono ❌", - "active": "Aktywna ✔", - "upcoming": "Nadchodząca ⏳", - "expired": "Wygasła ❌", - "claimed": "Odebrano ✔", - "ready_to_claim": "Gotowe do odebrania ⏳" + "linked": "Połączono \u2714", + "not_linked": "Niepołączono \u274c", + "active": "Aktywna \u2714", + "upcoming": "Nadchodząca \u23f3", + "expired": "Wygasła \u274c", + "claimed": "Odebrano \u2714", + "ready_to_claim": "Gotowe do odebrania \u23f3" }, "starts": "Rozpoczęcie: {time}", "ends": "Koniec: {time}", @@ -156,7 +156,7 @@ "campaigns": "Zobacz wszystkie kampanie na Twitchu" }, "how_it_works": "Jak to działa?", - "how_it_works_text": "Co ~60 sekund aplikacja wysyła zdarzenie „obejrzana minuta” do kanału, który jest aktualnie oglądany - to wystarczy, aby ukończyć dropienie. Zauważ, że w ten sposób możesz całkowicie pominąć konieczność pobierania rzeczywistego strumienia wideo i dźwięku. Do utrzymania statusu ONLINE lub OFFLINE kanałów używane jest połączenie WebSocket, które odbiera zdarzenia o zmianie statusu kanałów oraz aktualizuje aktualną ilość widzów.", + "how_it_works_text": "Co około 20 sekund aplikacja wysyła zapytanie do Twitcha o adres URL do nieprzetworzonych danych transmisji aktualnie oglądanego kanału. Następnie pobiera metadane tej transmisji - to wystarczy, aby ukończyć dropienie. Zauważ, że w ten sposób możesz całkowicie pominąć konieczność pobierania rzeczywistego strumienia wideo i dźwięku. Do utrzymania statusu ONLINE lub OFFLINE kanałów używane jest połączenie WebSocket, które odbiera zdarzenia o zmianie statusu kanałów oraz aktualizuje aktualną ilość widzów.", "getting_started": "Pierwsze kroki", "getting_started_text": "1. Zaloguj się do aplikacji.\n2. Upewnij się, że twoje konto Twitch jest połączone ze wszystkimi kampaniami, z których chcesz dropić.\n3. Odznacz opcję „Tylko priorytetowe” i kliknij „Przeładuj”, jeśli chcesz rozpocząć dropienie ze wszystkich aktywnych kampanii.\n4. Użyj listy „Priorytety”, aby wybrać uporządkowaną listę gier, z których chcesz otrzymać dropy. Gry z górnej części listy będą miały większy priorytet dropienia niż te niżej na liście.\n5. Zaznacz opcję „Tylko priorytetowe”, aby wykluczyć z dropienia gry, które nie są na liście priorytetowej.\n6. Użyj listy „Wykluczone”, aby wskazać aplikacji gry, z których przedmioty nigdy nie powinny być dropione.\n7. Zmiana zawartości list lub opcji „Tylko priorytetowe” wymaga kliknięcia „Przeładuj”, aby aplikacja mogła zastosować wprowadzone zmiany." } From cb0301000e1307ff78a8d4d255a5485c783e11b8 Mon Sep 17 00:00:00 2001 From: overkongen Date: Mon, 10 Jun 2024 14:46:57 +0000 Subject: [PATCH 03/23] Translate Dansk.json via GitLocalize --- lang/Dansk.json | 310 ++++++++++++++++++++++++------------------------ 1 file changed, 156 insertions(+), 154 deletions(-) diff --git a/lang/Dansk.json b/lang/Dansk.json index 5d641783..be6e1197 100644 --- a/lang/Dansk.json +++ b/lang/Dansk.json @@ -1,162 +1,164 @@ { - "english_name": "Danish", + "english_name": "Danish", + "status": { + "terminated": "\nProgram Afsluttet.\nLuk vinduet for at afslutte programmet.", + "watching": "Ser på: {channel}", + "goes_online": "{channel} går ONLINE, skifter...", + "goes_offline": "{channel} går OFFLINE, skifter...", + "claimed_drop": "Hentet belønning: {drop}", + "claimed_points": "Hentet ekstra points: {points}", + "earned_points": "Optjente point for at se: {points}, Total: {balance}", + "no_channel": "Ingen tilgængelige kanaler at se. Venter på en ONLINE kanal...", + "no_campaign": "Der er ingen aktive kampagner at hente. Venter på en aktiv kampagne..." + }, + "login": { + "unexpected_content": "Uventet indholdstype returneres, normalt på grund af at blive omdirigeret. Skal du logge ind for internetadgang?", + "chrome": { + "startup": "Åbner Chrome...", + "login_to_complete": "Fuldfør login-proceduren manuelt ved at trykke på Login-knappen igen.", + "no_token": "Der blev ikke fundet noget autorisationstoken.", + "closed_window": "Chrome-vinduet blev lukket, før login-proceduren kunne fuldføres." + }, + "error_code": "Login fejlkode: {error_code}", + "incorrect_login_pass": "Forkert brugernavn eller kodeord.", + "incorrect_email_code": "Forkert email kode.", + "incorrect_twofa_code": "Forkert 2FA-kode.", + "email_code_required": "Email kode påkrævet. Tjek din email.", + "twofa_code_required": "2FA token påkrævet." + }, + "error": { + "captcha": "Dit loginforsøg blev afvist af CAPTCHA.\nPrøv venligst igen om 12+ timer", + "site_down": "Twitch er nede, prøver igen om {seconds} sekunder...", + "no_connection": "Kan ikke oprette forbindelse til Twitch, prøver igen om {seconds} sekunder..." + }, + "gui": { + "output": "Resultat", "status": { - "terminated": "\nProgram Afsluttet.\nLuk vinduet for at afslutte programmet.", - "watching": "Ser på: {channel}", - "goes_online": "{channel} går ONLINE, skifter...", - "goes_offline": "{channel} går OFFLINE, skifter...", - "claimed_drop": "Hentet belønning: {drop}", - "claimed_points": "Hentet ekstra points: {points}", - "earned_points": "Optjente point for at se: {points}, Total: {balance}", - "no_channel": "Ingen tilgængelige kanaler at se. Venter på en ONLINE kanal...", - "no_campaign": "Der er ingen aktive kampagner at hente. Venter på en aktiv kampagne..." + "name": "Status", + "idle": "Ledig", + "exiting": "Afslutter...", + "terminated": "Afsluttet", + "cleanup": "Oprydning af kanaler...", + "gathering": "Indsamling af kanaler...", + "switching": "Skifter kanal...", + "fetching_inventory": "Henter beholdning...", + "fetching_campaigns": "Henter kampagner...", + "adding_campaigns": "Tilføjer kampagner til beholdning... {counter}" + }, + "tabs": { + "main": "Main", + "inventory": "Beholdning", + "settings": "Indstillinger", + "help": "Hjælp" + }, + "tray": { + "notification_title": "Mined Belønning", + "minimize": "Minimer til systembakken", + "show": "Vis", + "quit": "Afslut" }, "login": { - "unexpected_content": "Uventet indholdstype returneres, normalt på grund af at blive omdirigeret. Skal du logge ind for internetadgang?", - "chrome": { - "startup": "Åbner Chrome...", - "login_to_complete": "Fuldfør login-proceduren manuelt ved at trykke på Login-knappen igen.", - "no_token": "Der blev ikke fundet noget autorisationstoken.", - "closed_window": "Chrome-vinduet blev lukket, før login-proceduren kunne fuldføres." - }, - "error_code": "Login fejlkode: {error_code}", - "incorrect_login_pass": "Forkert brugernavn eller kodeord.", - "incorrect_email_code": "Forkert email kode.", - "incorrect_twofa_code": "Forkert 2FA-kode.", - "email_code_required": "Email kode påkrævet. Tjek din email.", - "twofa_code_required": "2FA token påkrævet." + "name": "Login formular", + "labels": "Status:\nBruger ID:", + "logged_in": "Logget ind", + "logged_out": "Logget ud", + "logging_in": "Logger ind...", + "required": "Login påkrævet", + "request": "Log venligst ind for at fortsætte.", + "username": "Brugernavn", + "password": "Kodeord", + "twofa_code": "2FA code (valgfrit)", + "button": "Login" + }, + "websocket": { + "name": "Websocket Status", + "websocket": "Websocket #{id}:", + "initializing": "Initialiserer...", + "connected": "Forbundet", + "disconnected": "Afbrudt", + "connecting": "Tilslutning...", + "disconnecting": "Afbryder forbindelsen...", + "reconnecting": "Genopretter forbindelse..." + }, + "progress": { + "name": "Kampagnefremskridt", + "drop": "Belønning:", + "game": "Spil:", + "campaign": "Kampagne:", + "remaining": "{time} tilbage", + "drop_progress": "Fremskridt:", + "campaign_progress": "Fremskridt:" + }, + "channels": { + "name": "Kanaler", + "switch": "Skift", + "load_points": "Indlæs Points", + "online": "ONLINE ✔", + "pending": "OFFLINE ⏳", + "offline": "OFFLINE ❌", + "headings": { + "channel": "Kanal", + "status": "Status", + "game": "Spil", + "viewers": "Seere", + "points": "Points" + } + }, + "inventory": { + "filter": { + "name": "Filter", + "show": "Vis:", + "not_linked": "Ikke forbundet", + "upcoming": "Kommende", + "expired": "Udløbet", + "excluded": "Udelukket", + "finished": "Færdig", + "refresh": "Opdater" + }, + "status": { + "linked": "Forbundet ✔", + "not_linked": "Ikke forbundet ❌", + "active": "Aktiv ✔", + "upcoming": "Kommende ⏳", + "expired": "Udløbet ❌", + "claimed": "Hentet ✔", + "ready_to_claim": "Klar til at hente ⏳" + }, + "starts": "Starter: {time}", + "ends": "Slutter: {time}", + "allowed_channels": "Tilladte kanaler:", + "all_channels": "Alle", + "and_more": "og {amount} mere...", + "percent_progress": "{percent} af {minutes} minutter", + "minutes_progress": "{minutes} minutter" }, - "error": { - "captcha": "Dit loginforsøg blev afvist af CAPTCHA.\nPrøv venligst igen om 12+ timer", - "site_down": "Twitch er nede, prøver igen om {seconds} sekunder...", - "no_connection": "Kan ikke oprette forbindelse til Twitch, prøver igen om {seconds} sekunder..." + "settings": { + "general": { + "name": "General", + "dark_theme": "Mørk tema:", + "autostart": "Automatisk start: ", + "tray": "Automatisk start i systembakken: ", + "tray_notifications": "Bakkemeddelelser: ", + "priority_only": "Kun prioritet: ", + "prioritize_by_ending_soonest": "Prioriter efter først afsluttet:", + "proxy": "Proxy (kræver genstart):" + }, + "game_name": "Spilnavn", + "priority": "Prioritet", + "exclude": "Udelukke", + "reload": "Genindlæs", + "reload_text": "De fleste ændringer kræver en genindlæsning for at få en øjeblikkelig virkning: " }, - "gui": { - "output": "Resultat", - "status": { - "name": "Status", - "idle": "Ledig", - "exiting": "Afslutter...", - "terminated": "Afsluttet", - "cleanup": "Oprydning af kanaler...", - "gathering": "Indsamling af kanaler...", - "switching": "Skifter kanal...", - "fetching_inventory": "Henter beholdning...", - "fetching_campaigns": "Henter kampagner...", - "adding_campaigns": "Tilføjer kampagner til beholdning... {counter}" - }, - "tabs": { - "main": "Main", - "inventory": "Beholdning", - "settings": "Indstillinger", - "help": "Hjælp" - }, - "tray": { - "notification_title": "Mined Belønning", - "minimize": "Minimer til systembakken", - "show": "Vis", - "quit": "Afslut" - }, - "login": { - "name": "Login formular", - "labels": "Status:\nBruger ID:", - "logged_in": "Logget ind", - "logged_out": "Logget ud", - "logging_in": "Logger ind...", - "required": "Login påkrævet", - "request": "Log venligst ind for at fortsætte.", - "username": "Brugernavn", - "password": "Kodeord", - "twofa_code": "2FA code (valgfrit)", - "button": "Login" - }, - "websocket": { - "name": "Websocket Status", - "websocket": "Websocket #{id}:", - "initializing": "Initialiserer...", - "connected": "Forbundet", - "disconnected": "Afbrudt", - "connecting": "Tilslutning...", - "disconnecting": "Afbryder forbindelsen...", - "reconnecting": "Genopretter forbindelse..." - }, - "progress": { - "name": "Kampagnefremskridt", - "drop": "Belønning:", - "game": "Spil:", - "campaign": "Kampagne:", - "remaining": "{time} tilbage", - "drop_progress": "Fremskridt:", - "campaign_progress": "Fremskridt:" - }, - "channels": { - "name": "Kanaler", - "switch": "Skift", - "load_points": "Indlæs Points", - "online": "ONLINE \u2714", - "pending": "OFFLINE \u23f3", - "offline": "OFFLINE \u274c", - "headings": { - "channel": "Kanal", - "status": "Status", - "game": "Spil", - "viewers": "Seere", - "points": "Points" - } - }, - "inventory": { - "filter": { - "name": "Filter", - "show": "Vis:", - "not_linked": "Ikke forbundet", - "upcoming": "Kommende", - "expired": "Udløbet", - "excluded": "Udelukket", - "finished": "Færdig", - "refresh": "Opdater" - }, - "status": { - "linked": "Forbundet \u2714", - "not_linked": "Ikke forbundet \u274c", - "active": "Aktiv \u2714", - "upcoming": "Kommende \u23f3", - "expired": "Udløbet \u274c", - "claimed": "Hentet \u2714", - "ready_to_claim": "Klar til at hente \u23f3" - }, - "starts": "Starter: {time}", - "ends": "Slutter: {time}", - "allowed_channels": "Tilladte kanaler:", - "all_channels": "Alle", - "and_more": "og {amount} mere...", - "percent_progress": "{percent} af {minutes} minutter", - "minutes_progress": "{minutes} minutter" - }, - "settings": { - "general": { - "name": "General", - "autostart": "Automatisk start: ", - "tray": "Automatisk start i systembakken: ", - "tray_notifications": "Bakkemeddelelser: ", - "priority_only": "Kun prioritet: ", - "proxy": "Proxy (kræver genstart):" - }, - "game_name": "Spilnavn", - "priority": "Prioritet", - "exclude": "Udelukke", - "reload": "Genindlæs", - "reload_text": "De fleste ændringer kræver en genindlæsning for at få en øjeblikkelig virkning: " - }, - "help": { - "links": { - "name": "Nyttige Links", - "inventory": "Se Twitch belønninger", - "campaigns": "Se alle kampagner og administrer kontolinks" - }, - "how_it_works": "Hvordan virker det?", - "how_it_works_text": "Hvert ~60. sekund sender applikationen en \"set minut\"-begivenhed til den kanal, der i øjeblikket bliver set - dette er nok til at øge faldet. Bemærk, at dette helt omgår behovet for at downloade enhver faktisk stream video og lyd. For at holde status (ONLINE eller OFFLINE) for kanalerne opdateret, er der etableret en websocket-forbindelse, der modtager begivenheder om streams, der går op eller ned, eller opdateringer vedrørende det aktuelle antal seere.", - "getting_started": "Kom igang", - "getting_started_text": "1. Log ind på applikationen.\n2. Sørg for, at din Twitch-konto er linket til alle kampagner, du er interesseret i at mine.\n3. Hvis du bare er interesseret i at mine alt, skal du fjerne markeringen i \"Kun prioritet\" og trykke på \"Genindlæs\".\n4. Hvis du ønsker at mine specifikke spil først, skal du bruge listen \"Prioritet\" til at opsætte en ordnet liste over spil efter eget valg. Spil fra toppen af ​​listen vil blive forsøgt at blive minet først, før dem nederst på listen.\n5. Hold indstillingen \"Kun prioritet\" markeret for at undgå at mine spil, der ikke er på prioritetslisten. Eller ej - det er op til dig.\n6. Brug listen \"Ekskluder\" til at fortælle applikationen, hvilke spil der aldrig bør mines.\n7. Ændring af indholdet af en af ​​listerne eller ændring af tilstanden for \"Kun prioritet\"-indstillingen kræver, at du trykker på \"Genindlæs\" for at ændringerne træder i kraft." - } + "help": { + "links": { + "name": "Nyttige Links", + "inventory": "Se Twitch belønninger", + "campaigns": "Se alle kampagner og administrer kontolinks" + }, + "how_it_works": "Hvordan virker det?", + "how_it_works_text": "Hvert ~60. sekund sender applikationen en \"set minut\"-begivenhed til den kanal, der i øjeblikket bliver set - dette er nok til at øge faldet. Bemærk, at dette helt omgår behovet for at downloade enhver faktisk stream video og lyd. For at holde status (ONLINE eller OFFLINE) for kanalerne opdateret, er der etableret en websocket-forbindelse, der modtager begivenheder om streams, der går op eller ned, eller opdateringer vedrørende det aktuelle antal seere.", + "getting_started": "Kom igang", + "getting_started_text": "1. Log ind på applikationen.\n2. Sørg for, at din Twitch-konto er linket til alle kampagner, du er interesseret i at mine.\n3. Hvis du bare er interesseret i at mine alt, skal du fjerne markeringen i \"Kun prioritet\" og trykke på \"Genindlæs\".\n4. Hvis du ønsker at mine specifikke spil først, skal du bruge listen \"Prioritet\" til at opsætte en ordnet liste over spil efter eget valg. Spil fra toppen af ​​listen vil blive forsøgt at blive minet først, før dem nederst på listen.\n5. Hold indstillingen \"Kun prioritet\" markeret for at undgå at mine spil, der ikke er på prioritetslisten. Eller ej - det er op til dig.\n6. Brug listen \"Ekskluder\" til at fortælle applikationen, hvilke spil der aldrig bør mines.\n7. Ændring af indholdet af en af ​​listerne eller ændring af tilstanden for \"Kun prioritet\"-indstillingen kræver, at du trykker på \"Genindlæs\" for at ændringerne træder i kraft." } + } } From 175d3461f92bf7acac90c579bb7cb42f4676e96e Mon Sep 17 00:00:00 2001 From: Sabala Date: Mon, 10 Jun 2024 14:50:42 +0000 Subject: [PATCH 04/23] =?UTF-8?q?Translate=20Portugu=C3=AAs.json=20via=20G?= =?UTF-8?q?itLocalize?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "lang/Portugu\303\252s.json" | 309 ++++++++++++++++++----------------- 1 file changed, 156 insertions(+), 153 deletions(-) diff --git "a/lang/Portugu\303\252s.json" "b/lang/Portugu\303\252s.json" index 2643a51e..419c66b3 100644 --- "a/lang/Portugu\303\252s.json" +++ "b/lang/Portugu\303\252s.json" @@ -1,161 +1,164 @@ { - "english_name": "Portuguese", + "english_name": "Portuguese", + "status": { + "terminated": "\nAplicação Finalizada.\nFeche a janela para sair do programa.", + "watching": "Assistindo o: {channel}", + "goes_online": "{channel} está ONLINE, Mudando...", + "goes_offline": "{channel} ficou OFFLINE, Mudando...", + "claimed_drop": "Coletou o drop: {drop}", + "claimed_points": "Coletou o bônus: {points}", + "earned_points": "Ganhou este valor de pontos: {points}, total: {balance}", + "no_channel": "Sem canal disponível para assistir. Esperando por um canal ONLINE...", + "no_campaign": "Sem campanhas ativas no momento para minerar. Esperando por uma campanha ativa..." + }, + "login": { + "unexpected_content": "Ocorreu um erro inesperado, geralmente causado por redirecionamento de internet. Você precisa se autenticar para ter acesso à internet?", + "chrome": { + "startup": "Abrindo Google Chrome", + "login_to_complete": "Por Favor complete o login pela página web manualmente pressionando o botão Login novamente.", + "no_token": "Seu Token de autorização Twitch não foi encontrado", + "closed_window": "O Google Chrome foi fechado antes da autenticação ser concluída." + }, + "error_code": "Código de erro do login: {error_code}", + "incorrect_login_pass": "Usuário e/ou senha incorreto(s)", + "incorrect_email_code": "Codigo de email incorreto", + "incorrect_twofa_code": "Codigo F2A incorreto", + "email_code_required": "Código no email necessário. Verifique sua caixa de entrada", + "twofa_code_required": "Token 2FA necessário." + }, + "error": { + "captcha": "Seu login foi negado pelo CAPTCHA.\nPor favor tente em aproximadamente 12+ horas.", + "site_down": "Twitch está fora do ar, tentando novamente em {seconds} segundos...", + "no_connection": "Sem conexão com a TWITCH, reconectando em {seconds} segundos..." + }, + "gui": { + "output": "Saída", "status": { - "terminated": "\nAplicação Finalizada.\nFeche a janela para sair do programa.", - "watching": "Assistindo o: {channel}", - "goes_online": "{channel} esta ONLINE, Mudando...", - "goes_offline": "{channel} ficou OFFLINE, Mudando...", - "claimed_drop": "Coletou o drop: {drop}", - "claimed_points": "Coletou o bonus: {points}", - "earned_points": "Ganhou este valor de pontos: {points}, total: {balance}", - "no_channel": "Sem canal disponivel para assisitir. Esperando por um canal ONLINE...", - "no_campaign": "Sem campanhas ativas no momento para minerar. Esperando por uma campanha ativa..." + "name": "Status", + "idle": "Em espera", + "exiting": "Saindo", + "terminated": "Finalizado", + "cleanup": "Limpando os Canais...", + "gathering": "Coletando Canais...", + "switching": "Mudando o canal...", + "fetching_inventory": "Coletando inventário...", + "fetching_campaigns": "Coletando campanhas...", + "adding_campaigns": "Adicionando as campanhas para o sistema... {counter}" + }, + "tabs": { + "main": "Tela Principal", + "inventory": "Inventário", + "settings": "Configurações", + "help": "Ajuda" + }, + "tray": { + "notification_title": "Drop coletado", + "minimize": "Minimizar para barra de tarefas", + "show": "Mostrar", + "quit": "Sair" }, "login": { - "chrome": { - "startup": "Abrindo Google Chrome", - "login_to_complete": "Por Favor complete o login pela pagina web manualmente pressionando o botão Login novamente.", - "no_token": "Seu Token de autorização Twitch não foi encontrado", - "closed_window": "O Google Chrome foi fechado antes da autenticação ser concluída." - }, - "error_code": "Código de erro do login: {error_code}", - "unexpected_content": "Ocorreu um erro inesperado, geralmente causado por redirecionamento de internet. Você precisa se autenticar para ter acesso à internet?", - "incorrect_login_pass": "Usuário e/ou senha incorreto(s)", - "incorrect_email_code": "Codigo de email incorreto", - "incorrect_twofa_code": "Codigo F2A incorreto", - "email_code_required": "Código no email necessário. Verifique sua caixa de entrada", - "twofa_code_required": "Token 2FA necessário." + "name": "Tela de login", + "labels": "Status:\nUser ID:", + "logged_in": "Entrou", + "logged_out": "Saiu", + "logging_in": "Entrando...", + "required": "Login necessário", + "request": "Por favor, entre para continuar.", + "username": "Usuário", + "password": "Senha", + "twofa_code": "Código 2FA (opcional)", + "button": "Entrar" + }, + "websocket": { + "name": "Status Websocket", + "websocket": "Websocket #{id}:", + "initializing": "Inicializando...", + "connected": "Conectado", + "disconnected": "Disconectado", + "connecting": "Conectando...", + "disconnecting": "Desconectando...", + "reconnecting": "Reconectando..." + }, + "progress": { + "name": "Progresso da campanha", + "drop": "Drop:", + "game": "Jogo:", + "campaign": "Campanha:", + "remaining": "{time} restante", + "drop_progress": "Progresso:", + "campaign_progress": "Progresso:" + }, + "channels": { + "name": "Canais", + "switch": "Trocar", + "load_points": "Carregar pontos", + "online": "ONLINE ✔", + "pending": "OFFLINE ⏳", + "offline": "OFFLINE ❌", + "headings": { + "channel": "Canal", + "status": "Status", + "game": "Jogo", + "viewers": "Espectadores", + "points": "Pontos" + } + }, + "inventory": { + "filter": { + "name": "Filtro", + "show": "Mostrar:", + "not_linked": "Não ligado", + "upcoming": "Se Aproximando", + "expired": "Expirado", + "excluded": "Excluído", + "finished": "Finalizado", + "refresh": "Atualizar" + }, + "status": { + "linked": "Conectado ✔", + "not_linked": "Desconectado ❌", + "active": "Ativo ✔", + "upcoming": "Se aproximando ⏳", + "expired": "Expirado ❌", + "claimed": "Coletado ✔", + "ready_to_claim": "Pronto para coleta ⏳" + }, + "starts": "Começa em: {time}", + "ends": "Termina em: {time}", + "allowed_channels": "Canais Autorizados:", + "all_channels": "Todos", + "and_more": "e {amount} mais...", + "percent_progress": "{percent} de {minutes} minutos", + "minutes_progress": "{minutes} minutos" }, - "error": { - "captcha": "Seu login foi negado pelo CAPTCHA.\nPor favor tente em aproximadamente 12+ horas.", - "site_down": "Twitch está fora do ar, tentando novamente em {seconds} segundos...", - "no_connection": "Sem conexão com a TWITCH, reconectando em {seconds} segundos..." + "settings": { + "general": { + "name": "Geral", + "dark_theme": "Tema escuro: ", + "autostart": "Inicialização Automática: ", + "tray": "Auto-iniciar na área de notificação: ", + "tray_notifications": "Notificações de bandeja: ", + "priority_only": "Apenas com prioridade: ", + "prioritize_by_ending_soonest": "Priorize o término mais rápido: ", + "proxy": "Proxy (requer o reinício do app):" + }, + "game_name": "Nome do jogo", + "priority": "Prioridade", + "exclude": "Excluir", + "reload": "Recarregar", + "reload_text": "A maioria das mudanças requer o reinício do app para serem efetivadas: " }, - "gui": { - "output": "Saída", - "status": { - "name": "Status", - "idle": "Em espera", - "exiting": "Saindo", - "terminated": "Finalizado", - "cleanup": "Limpando os Canais...", - "gathering": "Coletando Canais...", - "switching": "Mudando o canal...", - "fetching_inventory": "Coletando inventário...", - "fetching_campaigns": "Coletando campanhas...", - "adding_campaigns": "Adicionando as campanhas para o sistema... {counter}" - }, - "tabs": { - "main": "Tela Principal", - "inventory": "Inventario", - "settings": "Configurações", - "help": "Ajuda" - }, - "tray": { - "notification_title": "Drop coletado", - "minimize": "Minimizar para barra de tarefas", - "show": "Mostrar", - "quit": "Sair" - }, - "login": { - "name": "Tela de login", - "labels": "Status:\nUser ID:", - "logged_in": "Entrou", - "logged_out": "Saiu", - "logging_in": "Entrando...", - "required": "Login necessário", - "request": "Por favor, entre para continuar.", - "username": "Usuário", - "password": "Senha", - "twofa_code": "Código 2FA (opcional)", - "button": "Entrar" - }, - "websocket": { - "name": "Status Websocket", - "websocket": "Websocket #{id}:", - "initializing": "Inicializando...", - "connected": "Conectado", - "disconnected": "Disconectado", - "connecting": "Conectando...", - "disconnecting": "Desconectando...", - "reconnecting": "Reconectando..." - }, - "progress": { - "name": "Progresso da campanha", - "drop": "Drop:", - "game": "Jogo:", - "campaign": "Campanha:", - "remaining": "{time} restante", - "drop_progress": "Progresso:", - "campaign_progress": "Progresso:" - }, - "channels": { - "name": "Canais", - "switch": "Trocar", - "load_points": "Carregar pontos", - "online": "ONLINE \u2714", - "pending": "OFFLINE \u23f3", - "offline": "OFFLINE \u274c", - "headings": { - "channel": "Canal", - "status": "Status", - "game": "Jogo", - "viewers": "Visualizadores", - "points": "Pontos" - } - }, - "inventory": { - "filter": { - "name": "Filtro", - "show": "Mostrar:", - "not_linked": "Não ligado", - "upcoming": "Se Aproximando", - "expired": "Expirado", - "excluded": "Excluido", - "finished": "Finalizado", - "refresh": "Atualizar" - }, - "status": { - "linked": "Conectado \u2714", - "not_linked": "Desconectado \u274c", - "active": "Ativo \u2714", - "upcoming": "Se aproximando \u23f3", - "expired": "Expirado \u274c", - "claimed": "Coletado \u2714", - "ready_to_claim": "Pronto para coleta \u23f3" - }, - "starts": "Começa em: {time}", - "ends": "Termina em: {time}", - "allowed_channels": "Canais Autorizados:", - "all_channels": "Todos", - "and_more": "e {amount} mais...", - "percent_progress": "{percent} de {minutes} minutos", - "minutes_progress": "{minutes} minutos" - }, - "settings": { - "general": { - "name": "Geral", - "autostart": "Auto-início: ", - "tray": "Auto-iniciar na área de notificação: ", - "priority_only": "Apenas com prioridade: ", - "proxy": "Proxy (requer o reinício do app):" - }, - "game_name": "Nome do jogo", - "priority": "Prioridade", - "exclude": "Excluir", - "reload": "Recarregar", - "reload_text": "A maioria das mudanças requer o reinício do app para serem efetivadas: " - }, - "help": { - "links": { - "name": "Links Uteis", - "inventory": "Ver inventario da Twitch", - "campaigns": "Veja todas campanhas e gerencie conexões da sua conta" - }, - "how_it_works": "Como funciona", - "how_it_works_text": "A cada 60 segundos, o app envia um event \"minute watched\" ao canal que está sendo assistido no momento - Isso é o suficiente para avançar o progresso dos drops. Note que esse modo evita a necessidade de baixar o áudio e vídeo da stream, como é feito tradicionalmente quando se utiliza um navegador web. Para manter atualizado o status do canal (ONLINE ou OFFLINE), é estabelecida uma conexão websocket, que recebe diversos eventos relacionados a stream atual, como: se ela está ligada ou desligada, ou número total de espectadores.", - "getting_started": "Iniciando", - "getting_started_text": "1. Autentique-se no app com a sua conta da Twitch.\n2. Certifique-se que todas campanhas estão conectadas com as contas dos respectivos aplicativos.\n3. Se quiser coletar tudo, desmarque \"Apenas com Prioridade\" e clique em \"Recarregar\".\n4. Se quiser coletar apenas de certos jogos, use a lista \"Prioridade\" para configurar a lista de jogos que você quer coletar. A lista segue a ordem que é apresentada, do primeiro ao último, sendo assim, a coleta continuará para os jogos seguintes assim que o jogo anterior esteja completo.\n5. Mantenha a opção \"Priority only\" ativa, para evitar que a coleta ocorra em jogos que não estão na lista de prioridades. Ou não - você quem manda.\n6. Use a lista \"Excluir\" para jogos que NUNCA devam ser coletados.\n7. Qualquer mudança feita nas listas requer que você clique no botão \"Recarregar\" para que as mudanças tenham efeito." - } + "help": { + "links": { + "name": "Links Úteis", + "inventory": "Ver inventário da Twitch", + "campaigns": "Veja todas campanhas e gerencie conexões da sua conta" + }, + "how_it_works": "Como funciona", + "how_it_works_text": "A cada 60 segundos, o app envia um event \"minute watched\" ao canal que está sendo assistido no momento - Isso é o suficiente para avançar o progresso dos drops. Note que esse modo evita a necessidade de baixar o áudio e vídeo da stream, como é feito tradicionalmente quando se utiliza um navegador web. Para manter atualizado o status do canal (ONLINE ou OFFLINE), é estabelecida uma conexão websocket, que recebe diversos eventos relacionados a stream atual, como: se ela está ligada ou desligada, ou número total de espectadores.", + "getting_started": "Iniciando", + "getting_started_text": "1. Autentique-se no app com a sua conta da Twitch.\n2. Certifique-se que todas campanhas estão conectadas com as contas dos respectivos aplicativos.\n3. Se quiser coletar tudo, desmarque \"Apenas com Prioridade\" e clique em \"Recarregar\".\n4. Se quiser coletar apenas de certos jogos, use a lista \"Prioridade\" para configurar a lista de jogos que você quer coletar. A lista segue a ordem que é apresentada, do primeiro ao último, sendo assim, a coleta continuará para os jogos seguintes assim que o jogo anterior esteja completo.\n5. Mantenha a opção \"Priority only\" ativa, para evitar que a coleta ocorra em jogos que não estão na lista de prioridades. Ou não - você quem manda.\n6. Use a lista \"Excluir\" para jogos que NUNCA devam ser coletados.\n7. Qualquer mudança feita nas listas requer que você clique no botão \"Recarregar\" para que as mudanças tenham efeito." } + } } From 2606eb78b67fb94e81680d1f5976389859cab32f Mon Sep 17 00:00:00 2001 From: zizimonzter Date: Mon, 10 Jun 2024 14:49:17 +0000 Subject: [PATCH 05/23] Translate Indonesian.json via GitLocalize --- lang/Indonesian.json | 310 ++++++++++++++++++++++--------------------- 1 file changed, 156 insertions(+), 154 deletions(-) diff --git a/lang/Indonesian.json b/lang/Indonesian.json index b7ec619d..369694b0 100644 --- a/lang/Indonesian.json +++ b/lang/Indonesian.json @@ -1,162 +1,164 @@ { - "english_name": "Indonesian", + "english_name": "Indonesian", + "status": { + "terminated": "\nAplikasi telah dihentikan. \nSilakan tutup aplikasi.", + "watching": "Menonton : {channel}", + "goes_online": "{channel} Tiket masuk ONLINE, ganti...", + "goes_offline": "{channel} menjadi OFF-LINE, ubah...", + "claimed_drop": "Drop dipulihkan : {drop}", + "claimed_points": "Poin bonus yang dipulihkan: {points}", + "earned_points": "Poin yang diperoleh dari menonton : {points}, jumlah : {balance}", + "no_channel": "Tidak ada saluran yang tersedia untuk ditonton. Menunggu saluran secara ONLINE...", + "no_campaign": "Tidak ada kampanye aktif yang bisa ditambang. Menunggu kampanye aktif..." + }, + "login": { + "unexpected_content": "Jenis konten yang tidak diharapkan yang dikembalikan, biasanya karena pengalihan. Apakah Anda perlu tersambung untuk mengakses Internet ?", + "chrome": { + "startup": "Membuka Chrome", + "login_to_complete": "Selesaikan prosedur koneksi secara manual dengan menekan tombol Connection (Koneksi) sekali lagi..", + "no_token": "Token otorisasi tidak dapat ditemukan.", + "closed_window": "Jendela Chrome ditutup sebelum prosedur koneksi selesai." + }, + "error_code": "Kode kesalahan koneksi: {error_code}", + "incorrect_login_pass": "Nama pengguna atau kata sandi yang dimasukkan salah.", + "incorrect_email_code": "Kode verifikasi email salah.", + "incorrect_twofa_code": "Kode verifikasi 2FA salah.", + "email_code_required": "Diperlukan kode verifikasi email. Silakan periksa email Anda.", + "twofa_code_required": "Diperlukan kode 2FA." + }, + "error": { + "captcha": "Sambungan ditolak oleh CAPTCHA. Silakan coba lagi dalam waktu sekitar 12 jam.", + "site_down": "Twitch tidak tersedia. Silakan coba lagi dalam {seconds} detik....", + "no_connection": "Tidak dapat tersambung ke Twitch. Silakan coba lagi dalam {detik} detik...." + }, + "gui": { + "output": "Keluaran", "status": { - "terminated": "\nAplikasi telah dihentikan. \nSilakan tutup aplikasi.", - "watching": "Menonton : {channel}", - "goes_online": "{channel} Tiket masuk ONLINE, ganti...", - "goes_offline": "{channel} menjadi OFF-LINE, ubah...", - "claimed_drop": "Drop dipulihkan : {drop}", - "claimed_points": "Poin bonus yang dipulihkan: {points}", - "earned_points": "Poin yang diperoleh dari menonton : {points}, jumlah : {balance}", - "no_channel": "Tidak ada saluran yang tersedia untuk ditonton. Menunggu saluran secara ONLINE...", - "no_campaign": "Tidak ada kampanye aktif yang bisa ditambang. Menunggu kampanye aktif..." + "name": "Status", + "idle": "Tidak aktif", + "exiting": "Keluar...", + "terminated": "Diakhiri", + "cleanup": "Membersihkan saluran...", + "gathering": "Pencarian saluran langsung...", + "switching": "Koleksi saluran yang sedang berlangsung...", + "fetching_inventory": "Mmengambil inventaris...", + "fetching_campaigns": "Mengambil kampanye...", + "adding_campaigns": "Menambahkan daftar kampanye ke inventaris... {counter}" + }, + "tabs": { + "main": "Umum", + "inventory": "Inventaris", + "settings": "Parameter", + "help": "Bantuan" + }, + "tray": { + "notification_title": "Tambang drop", + "minimize": "Meminimalkan di bilah tugas", + "show": "Lihat", + "quit": "Keluar" }, "login": { - "chrome": { - "startup": "Membuka Chrome", - "login_to_complete": "Selesaikan prosedur koneksi secara manual dengan menekan tombol Connection (Koneksi) sekali lagi..", - "no_token": "Token otorisasi tidak dapat ditemukan.", - "closed_window": "Jendela Chrome ditutup sebelum prosedur koneksi selesai." - }, - "error_code": "Kode kesalahan koneksi: {error_code}", - "unexpected_content": "Jenis konten yang tidak diharapkan yang dikembalikan, biasanya karena pengalihan. Apakah Anda perlu tersambung untuk mengakses Internet ?", - "incorrect_login_pass": "Nama pengguna atau kata sandi yang dimasukkan salah.", - "incorrect_email_code": "Kode verifikasi email salah.", - "incorrect_twofa_code": "Kode verifikasi 2FA salah.", - "email_code_required": "Diperlukan kode verifikasi email. Silakan periksa email Anda.", - "twofa_code_required": "Diperlukan kode 2FA." + "name": "Formulir masuk", + "labels": "Status :\nID Pengguna :", + "logged_in": "Online", + "logged_out": "Terputus", + "logging_in": "Koneksi dalam proses...", + "required": "Diperlukan sambungan", + "request": "Silakan masuk untuk melanjutkan.", + "username": "Nama pengguna", + "password": "Kata sandi", + "twofa_code": "Kode 2FA (opsional)", + "button": "Masuk" + }, + "websocket": { + "name": "Status soket web", + "websocket": "Soket web #{id}:", + "initializing": "Menginisialisasi...", + "connected": "Tersambung", + "disconnected": "Terputus", + "connecting": "Menyambungkan...", + "disconnecting": "Memutusan sambungan...", + "reconnecting": "Menyambungkan kembali..." + }, + "progress": { + "name": "Perkembangan kampanye", + "drop": "Drop :", + "game": "Game", + "campaign": "Kampanye :", + "remaining": "{time} tersisa", + "drop_progress": "Perkembangan :", + "campaign_progress": "Perkembangan :" + }, + "channels": { + "name": "Saluran", + "switch": "Beralih", + "load_points": "Poin Pemuatan", + "online": "ONLINE ✔", + "pending": "DITUNDA ⏳", + "offline": "OFFLINE ❌", + "headings": { + "channel": "Saluran", + "status": "Status", + "game": "Game", + "viewers": "Penonton", + "points": "Poin" + } + }, + "inventory": { + "filter": { + "name": "Saring", + "show": "Tampilkan :", + "not_linked": "Non lié", + "upcoming": "Segera haidr", + "expired": "Kadaluarsa", + "excluded": "Dikecualikan", + "finished": "Selesai", + "refresh": "Muat ulang" + }, + "status": { + "linked": "Ditautkan ✔", + "not_linked": "Tidak Ditautkan ❌", + "active": "Aktif ✔", + "upcoming": "Segera hadir ⏳", + "expired": "Kedaluarsa ❌", + "claimed": "Diklaim ✔", + "ready_to_claim": "Siap untuk diklaim ⏳" + }, + "starts": "Mulai : {time}", + "ends": "Akhir : {time}", + "allowed_channels": "Saluran yang diperbolehkan :", + "all_channels": "Semua", + "and_more": "dan {amount} yang lainnya...", + "percent_progress": "{percent} dari {minutes} menit", + "minutes_progress": "{minutes} menit" }, - "error": { - "captcha": "Sambungan ditolak oleh CAPTCHA. Silakan coba lagi dalam waktu sekitar 12 jam.", - "site_down": "Twitch tidak tersedia. Silakan coba lagi dalam {seconds} detik....", - "no_connection": "Tidak dapat tersambung ke Twitch. Silakan coba lagi dalam {detik} detik...." + "settings": { + "general": { + "name": "Umum", + "dark_theme": "Tema gelap: ", + "autostart": "Mulai secara otomatis :", + "tray": "Mulai otomatis di bilah tugas :", + "tray_notifications": "Pemberitahuan bilah tugas :", + "priority_only": "Prioritas saja :", + "prioritize_by_ending_soonest": "Dahulukan yang segera berakhir: ", + "proxy": "Proksi (harus dimulai ulang) :" + }, + "game_name": "Nama game", + "priority": "Prioritas", + "exclude": "Kecualikan", + "reload": "Muat Ulang", + "reload_text": "Sebagian besar perubahan memerlukan pemuatan ulang untuk segera diterapkan : " }, - "gui": { - "output": "Keluaran", - "status": { - "name": "Status", - "idle": "Tidak aktif", - "exiting": "Keluar...", - "terminated": "Diakhiri", - "cleanup": "Membersihkan saluran...", - "gathering": "Pencarian saluran langsung...", - "switching": "Koleksi saluran yang sedang berlangsung...", - "fetching_inventory": "Mmengambil inventaris...", - "fetching_campaigns": "Mengambil kampanye...", - "adding_campaigns": "Menambahkan daftar kampanye ke inventaris... {counter}" - }, - "tabs": { - "main": "Umum", - "inventory": "Inventaris", - "settings": "Parameter", - "help": "Bantuan" - }, - "tray": { - "notification_title": "Tambang drop", - "minimize": "Meminimalkan di bilah tugas", - "show": "Lihat", - "quit": "Keluar" - }, - "login": { - "name": "Formulir masuk", - "labels": "Status :\nID Pengguna :", - "logged_in": "Online", - "logged_out": "Terputus", - "logging_in": "Koneksi dalam proses...", - "required": "Diperlukan sambungan", - "request": "Silakan masuk untuk melanjutkan.", - "username": "Nama pengguna", - "password": "Kata sandi", - "twofa_code": "Kode 2FA (opsional)", - "button": "Masuk" - }, - "websocket": { - "name": "Status soket web", - "websocket": "Soket web #{id}:", - "initializing": "Menginisialisasi...", - "connected": "Tersambung", - "disconnected": "Terputus", - "connecting": "Menyambungkan...", - "disconnecting": "Memutusan sambungan...", - "reconnecting": "Menyambungkan kembali..." - }, - "progress": { - "name": "Perkembangan kampanye", - "drop": "Drop :", - "game": "Game", - "campaign": "Kampanye :", - "remaining": "{time} tersisa", - "drop_progress": "Perkembangan :", - "campaign_progress": "Perkembangan :" - }, - "channels": { - "name": "Saluran", - "switch": "Beralih", - "load_points": "Poin Pemuatan", - "online": "ONLINE ✔", - "pending": "DITUNDA ⏳", - "offline": "OFFLINE ❌", - "headings": { - "channel": "Saluran", - "status": "Status", - "game": "Game", - "viewers": "Penonton", - "points": "Poin" - } - }, - "inventory": { - "filter": { - "name": "Saring", - "show": "Tampilkan :", - "not_linked": "Non lié", - "upcoming": "Segera haidr", - "expired": "Kadaluarsa", - "excluded": "Dikecualikan", - "finished": "Selesai", - "refresh": "Muat ulang" - }, - "status": { - "linked": "Ditautkan ✔", - "not_linked": "Tidak Ditautkan ❌", - "active": "Aktif ✔", - "upcoming": "Segera hadir ⏳", - "expired": "Kedaluarsa ❌", - "claimed": "Diklaim ✔", - "ready_to_claim": "Siap untuk diklaim ⏳" - }, - "starts": "Mulai : {time}", - "ends": "Akhir : {time}", - "allowed_channels": "Saluran yang diperbolehkan :", - "all_channels": "Semua", - "and_more": "dan {amount} yang lainnya...", - "percent_progress": "{percent} dari {minutes} menit", - "minutes_progress": "{minutes} menit" - }, - "settings": { - "general": { - "name": "Umum", - "autostart": "Mulai secara otomatis :", - "tray": "Mulai otomatis di bilah tugas :", - "tray_notifications": "Pemberitahuan bilah tugas :", - "priority_only": "Prioritas saja :", - "proxy": "Proksi (harus dimulai ulang) :" - }, - "game_name": "Nama game", - "priority": "Prioritas", - "exclude": "Kecualikan", - "reload": "Muat Ulang", - "reload_text": "Sebagian besar perubahan memerlukan pemuatan ulang untuk segera diterapkan : " - }, - "help": { - "links": { - "name": "Tautan berguna", - "inventory": "Lihat inventaris Twitch", - "campaigns": "Lihat semua kampanye dan kelola akun terkait" - }, - "how_it_works": "Cara kerja", - "how_it_works_text": "Kira-kira setiap ~60 detik, aplikasi ini mengirimkan \"menit ditonton\" ke saluran yang sedang ditonton - yang cukup untuk membuat drop terus bergerak. Perhatikan bahwa hal ini sepenuhnya mengabaikan kebutuhan untuk mengunduh video dan audio dari streaming yang sebenarnya. Untuk menjaga agar status (ONLINE atau OFFLINE) saluran tetap terbaru, koneksi websocket dibuat untuk menerima peristiwa tentang streaming yang naik atau turun, atau pembaruan tentang jumlah penonton saat ini", - "getting_started": "Mulai", - "getting_started_text": "1. Masuk ke aplikasi.\n2. Pastikan akun Twitch Anda ditautkan ke semua kampanye yang Anda minati.\n3. Jika Anda hanya ingin menambang semuanya, hapus centang pada \"Hanya Prioritas\" dan tekan \"Muat Ulang\".\n4. Jika Anda ingin menambang game tertentu terlebih dahulu, gunakan daftar \"Prioritas\" untuk menentukan daftar game pilihan Anda. Game yang berada di bagian atas daftar akan tergoda untuk ditambang terlebih dahulu, sebelum game yang berada di bagian bawah daftar.\n5. Biarkan opsi \"Prioritas saja\" dicentang untuk menghindari menambang game yang tidak ada dalam daftar prioritas. Atau tidak - terserah Anda.\n6. Gunakan daftar \"Kecualikan\" untuk memberi tahu aplikasi game mana yang tidak boleh ditambang.\n7. Untuk memodifikasi konten dari salah satu daftar atau mengubah status opsi \"Hanya Prioritas\", Anda perlu menekan \"Muat Ulang\" agar perubahan dapat diterapkan." - } + "help": { + "links": { + "name": "Tautan berguna", + "inventory": "Lihat inventaris Twitch", + "campaigns": "Lihat semua kampanye dan kelola akun terkait" + }, + "how_it_works": "Cara kerja", + "how_it_works_text": "Kira-kira setiap ~60 detik, aplikasi ini mengirimkan \"menit ditonton\" ke saluran yang sedang ditonton - yang cukup untuk membuat drop terus bergerak. Perhatikan bahwa hal ini sepenuhnya mengabaikan kebutuhan untuk mengunduh video dan audio dari streaming yang sebenarnya. Untuk menjaga agar status (ONLINE atau OFFLINE) saluran tetap terbaru, koneksi websocket dibuat untuk menerima peristiwa tentang streaming yang naik atau turun, atau pembaruan tentang jumlah penonton saat ini", + "getting_started": "Mulai", + "getting_started_text": "1. Masuk ke aplikasi.\n2. Pastikan akun Twitch Anda ditautkan ke semua kampanye yang Anda minati.\n3. Jika Anda hanya ingin menambang semuanya, hapus centang pada \"Hanya Prioritas\" dan tekan \"Muat Ulang\".\n4. Jika Anda ingin menambang game tertentu terlebih dahulu, gunakan daftar \"Prioritas\" untuk menentukan daftar game pilihan Anda. Game yang berada di bagian atas daftar akan tergoda untuk ditambang terlebih dahulu, sebelum game yang berada di bagian bawah daftar.\n5. Biarkan opsi \"Prioritas saja\" dicentang untuk menghindari menambang game yang tidak ada dalam daftar prioritas. Atau tidak - terserah Anda.\n6. Gunakan daftar \"Kecualikan\" untuk memberi tahu aplikasi game mana yang tidak boleh ditambang.\n7. Untuk memodifikasi konten dari salah satu daftar atau mengubah status opsi \"Hanya Prioritas\", Anda perlu menekan \"Muat Ulang\" agar perubahan dapat diterapkan." } + } } From 1bd4d8914dfb613d982f8a371a022300e25be486 Mon Sep 17 00:00:00 2001 From: Arne Weber Date: Mon, 10 Jun 2024 17:14:42 +0200 Subject: [PATCH 06/23] update patch_notes & README for translations --- README.md | 2 +- patch_notes.txt | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1cb1ddf1..5e24c3df 100644 --- a/README.md +++ b/README.md @@ -134,4 +134,4 @@ if they aren't already there. Doing so ensures proper markdown rendering on Gith @Bamboozul - For the entirety of the Arabic (العربية) translation. @Kjerne - For the entirety of the Danish (Dansk) translation. -For updating Translations: @Kuddus73, @VSeryi, @Windows200000, @BreakshadowCN, @kilroy98, @zelda0079, @Calvineries, @notNSANE, @ElvisDesigns, @DogancanYr, @Nollasko, @rvpv, @flxderdev, @5wi5wi, @fgr1178707QQ, @Suz1e, @Patriot99 +For updating Translations: @Kuddus73, @VSeryi, @Windows200000, @BreakshadowCN, @kilroy98, @zelda0079, @Calvineries, @notNSANE, @ElvisDesigns, @DogancanYr, @Nollasko, @rvpv, @flxderdev, @5wi5wi, @fgr1178707QQ, @Suz1e, @Patriot99, @overkongen, @zizimonzter, @sabala diff --git a/patch_notes.txt b/patch_notes.txt index 1be05bf7..2e111baf 100644 --- a/patch_notes.txt +++ b/patch_notes.txt @@ -1,3 +1,10 @@ +## v15.7.0 + +10.6.2024 +- updated **Danish**, **Indonesian** and **Portuguese** translation as well as corresponding credits + + + ## v15.6.1 7.6.2024 @@ -7,6 +14,7 @@ - Fixed progress reporting not being translated to other languages + ## v15.6.0 1.6.2024 From d7e3b9f5fb9c8e08fcdf627112b0597333230da6 Mon Sep 17 00:00:00 2001 From: Arne Weber Date: Mon, 10 Jun 2024 17:18:23 +0200 Subject: [PATCH 07/23] removeca call for polish translation from release --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2bfeef38..994a7887 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -238,7 +238,7 @@ jobs: artifactErrorsFailBuild: true artifacts: artifacts/*/* body: | - # ⚠️ Please help with translation as tracked in #2 (Français, العربية, Português, Polski, Nederlandse, Dansk, Indonesian) and channel points as tracked in #23 ! + # ⚠️ Please help with translation as tracked in #2 (Français, العربية, Português, Nederlandse, Dansk, Indonesian) and channel points as tracked in #23 ! *** **This is an automatically generated updated version of the application, that includes the latest master branch changes.** From e735002b492f06570779ed254f1584c77468ef72 Mon Sep 17 00:00:00 2001 From: Arne Weber <72623832+Windows200000@users.noreply.github.com> Date: Mon, 10 Jun 2024 18:13:41 +0200 Subject: [PATCH 08/23] Added issue templates --- .github/ISSUE_TEMPLATE/bug_report.md | 35 +++++++++++++++++++++++ .github/ISSUE_TEMPLATE/feature-request.md | 20 +++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/feature-request.md diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 00000000..b8a895f1 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,35 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: Bug +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Observed behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Relevant info:** + - OS: [e.g. iOS] + - Build: [e.g. from source, AppImage] + - Version/Commit: [e.g. V1.5.0, 54ef767] + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature-request.md b/.github/ISSUE_TEMPLATE/feature-request.md new file mode 100644 index 00000000..9843a1d8 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature-request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: Enhancement +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. From e9557436a20d4c06bb9736983780fdcdbceb3e05 Mon Sep 17 00:00:00 2001 From: overkongen Date: Mon, 10 Jun 2024 17:41:44 +0000 Subject: [PATCH 09/23] Translate Dansk.json via GitLocalize --- lang/Dansk.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lang/Dansk.json b/lang/Dansk.json index be6e1197..cc06ea18 100644 --- a/lang/Dansk.json +++ b/lang/Dansk.json @@ -156,7 +156,7 @@ "campaigns": "Se alle kampagner og administrer kontolinks" }, "how_it_works": "Hvordan virker det?", - "how_it_works_text": "Hvert ~60. sekund sender applikationen en \"set minut\"-begivenhed til den kanal, der i øjeblikket bliver set - dette er nok til at øge faldet. Bemærk, at dette helt omgår behovet for at downloade enhver faktisk stream video og lyd. For at holde status (ONLINE eller OFFLINE) for kanalerne opdateret, er der etableret en websocket-forbindelse, der modtager begivenheder om streams, der går op eller ned, eller opdateringer vedrørende det aktuelle antal seere.", + "how_it_works_text": "Omtrent hvert 20. sekund spørger applikationen Twitch efter en URL til den rå datastrøm af den kanal, der i øjeblikket bliver set. Den henter derefter metadataen af denne datastrøm - dette er nok til at fremrykke belønningen. Bemærk, at dette helt omgår behovet for at downloade enhver faktisk stream video og lyd. For at holde status (ONLINE eller OFFLINE) for kanalerne opdateret, er der etableret en websocket-forbindelse, der modtager begivenheder om streams, der går op eller ned, eller opdateringer vedrørende det aktuelle antal seere.", "getting_started": "Kom igang", "getting_started_text": "1. Log ind på applikationen.\n2. Sørg for, at din Twitch-konto er linket til alle kampagner, du er interesseret i at mine.\n3. Hvis du bare er interesseret i at mine alt, skal du fjerne markeringen i \"Kun prioritet\" og trykke på \"Genindlæs\".\n4. Hvis du ønsker at mine specifikke spil først, skal du bruge listen \"Prioritet\" til at opsætte en ordnet liste over spil efter eget valg. Spil fra toppen af ​​listen vil blive forsøgt at blive minet først, før dem nederst på listen.\n5. Hold indstillingen \"Kun prioritet\" markeret for at undgå at mine spil, der ikke er på prioritetslisten. Eller ej - det er op til dig.\n6. Brug listen \"Ekskluder\" til at fortælle applikationen, hvilke spil der aldrig bør mines.\n7. Ændring af indholdet af en af ​​listerne eller ændring af tilstanden for \"Kun prioritet\"-indstillingen kræver, at du trykker på \"Genindlæs\" for at ændringerne træder i kraft." } From 5cc38929e0d73998b95199e233e8ad01793f8def Mon Sep 17 00:00:00 2001 From: Arne Weber Date: Mon, 10 Jun 2024 19:43:37 +0200 Subject: [PATCH 10/23] removed call for Danish translation in release --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 994a7887..f3f86461 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -238,7 +238,7 @@ jobs: artifactErrorsFailBuild: true artifacts: artifacts/*/* body: | - # ⚠️ Please help with translation as tracked in #2 (Français, العربية, Português, Nederlandse, Dansk, Indonesian) and channel points as tracked in #23 ! + # ⚠️ Please help with translation as tracked in #2 (Français, العربية, Português, Nederlandse, Indonesian) and channel points as tracked in #23 ! *** **This is an automatically generated updated version of the application, that includes the latest master branch changes.** From 77099431d568f34f00a4f624eda6de987ecd9894 Mon Sep 17 00:00:00 2001 From: Arne Weber Date: Wed, 12 Jun 2024 18:28:36 +0200 Subject: [PATCH 11/23] Handle ["broadcaster": null] response from Twitch --- twitch.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/twitch.py b/twitch.py index 505cd59d..22546adf 100644 --- a/twitch.py +++ b/twitch.py @@ -1746,10 +1746,13 @@ async def get_live_streams(self, game: Game, *, limit: int = 30) -> list[Channel except MinerException as exc: raise MinerException(f"Game: {game.slug}") from exc if "game" in response["data"]: - return [ - Channel.from_directory(self, stream_channel_data["node"], drops_enabled=True) - for stream_channel_data in response["data"]["game"]["streams"]["edges"] - ] + streams = [] + for stream_channel_data in response["data"]["game"]["streams"]["edges"]: + if stream_channel_data["node"]["broadcaster"]: + streams.append(Channel.from_directory(self, stream_channel_data["node"], drops_enabled=True)) + else: + self.gui.print(f'Could not load Channel for {stream_channel_data["node"]["game"]["name"]}.\n↳ Stream Title: "{stream_channel_data["node"]["title"]}"') + return streams return [] async def claim_points(self, channel_id: str | int, claim_id: str) -> None: From 58b903516d31ed9e15c66baa316b7f7872fd94af Mon Sep 17 00:00:00 2001 From: Arne Weber Date: Wed, 12 Jun 2024 18:44:53 +0200 Subject: [PATCH 12/23] patch notes - "broadcaster": null fix --- patch_notes.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/patch_notes.txt b/patch_notes.txt index 2e111baf..482fb7e2 100644 --- a/patch_notes.txt +++ b/patch_notes.txt @@ -1,5 +1,8 @@ ## v15.7.0 +10.6.2024 +- Fixed crash upon Twitch returning `"broadcaster": null` + 10.6.2024 - updated **Danish**, **Indonesian** and **Portuguese** translation as well as corresponding credits From c80775668ee83cc45fac4e4c2bd4a9c9d2d6f1b1 Mon Sep 17 00:00:00 2001 From: Arne Weber Date: Thu, 13 Jun 2024 19:34:21 +0200 Subject: [PATCH 13/23] Added saving window position and always visible tray --- gui.py | 49 ++++++++++++++++++++++++++++++++++++++----------- settings.py | 3 +++ 2 files changed, 41 insertions(+), 11 deletions(-) diff --git a/gui.py b/gui.py index 13d93b38..7c110ce3 100644 --- a/gui.py +++ b/gui.py @@ -1042,6 +1042,9 @@ def __init__(self, manager: GUIManager, master: ttk.Widget): self.icon_image = Image_module.open(resource_path("pickaxe.ico")) self._button = ttk.Button(master, command=self.minimize, text=_("gui", "tray", "minimize")) self._button.grid(column=0, row=0, sticky="ne") + self.always_show_icon = True # Ensure there is a way to restore the window position, in case it's shown off-screen (e.g. Second monitor) + if self.always_show_icon: + self._start() def __del__(self) -> None: self.stop() @@ -1080,7 +1083,8 @@ def get_title(self, drop: TimedDrop | None) -> str: def _start(self): loop = asyncio.get_running_loop() - drop = self._manager.progress._drop + if not self.always_show_icon: + drop = self._manager.progress._drop # we need this because tray icon lives in a separate thread def bridge(func): @@ -1090,11 +1094,23 @@ def bridge(func): pystray.MenuItem(_("gui", "tray", "show"), bridge(self.restore), default=True), pystray.Menu.SEPARATOR, pystray.MenuItem(_("gui", "tray", "quit"), bridge(self.quit)), + pystray.MenuItem(f'{_("gui", "tray", "show")} ({_("gui", "inventory", "filter", "refresh")})', bridge(self.restore_position)), ) - self.icon = pystray.Icon("twitch_miner", self.icon_image, self.get_title(drop), menu) + if self.always_show_icon: + self.icon = pystray.Icon("twitch_miner", self.icon_image, self.get_title(None), menu) + else: + self.icon = pystray.Icon("twitch_miner", self.icon_image, self.get_title(drop), menu) # self.icon.run_detached() loop.run_in_executor(None, self.icon.run) + def restore_position(self): + if not self.always_show_icon: + if self.icon is not None: + # self.stop() + self.icon.visible = False + self._manager._root.geometry("0x0+0+0") + self._manager._root.deiconify() + def stop(self): if self.icon is not None: self.icon.stop() @@ -1104,16 +1120,18 @@ def quit(self): self._manager.close() def minimize(self): - if self.icon is None: - self._start() - else: - self.icon.visible = True + if not self.always_show_icon: + if self.icon is None: + self._start() + else: + self.icon.visible = True self._manager._root.withdraw() def restore(self): - if self.icon is not None: - # self.stop() - self.icon.visible = False + if not self.always_show_icon: + if self.icon is not None: + # self.stop() + self.icon.visible = False self._manager._root.deiconify() def notify( @@ -1483,6 +1501,7 @@ class _SettingsVars(TypedDict): priority_only: IntVar prioritize_by_ending_soonest: IntVar tray_notifications: IntVar + window_position: StringVar class SettingsPanel: @@ -1502,6 +1521,7 @@ def __init__(self, manager: GUIManager, master: ttk.Widget, root: tk.Tk): "priority_only": IntVar(master, self._settings.priority_only), "prioritize_by_ending_soonest": IntVar(master, self._settings.prioritize_by_ending_soonest), "tray_notifications": IntVar(master, self._settings.tray_notifications), + "window_position": IntVar(master, self._settings.window_position), } master.rowconfigure(0, weight=1) master.columnconfigure(0, weight=1) @@ -1928,6 +1948,11 @@ def __init__(self, twitch: Twitch): set_root_icon(root, resource_path("pickaxe.ico")) root.title(WINDOW_TITLE) # window title root.bind_all("", self.unfocus) # pressing ESC unfocuses selection + # restore last window position + if self._twitch.settings.window_position: + root.geometry(self._twitch.settings.window_position) + else: + self._twitch.settings.window_position = self._root.geometry() # Image cache for displaying images self._cache = ImageCache(self) @@ -2051,7 +2076,7 @@ def __init__(self, twitch: Twitch): if self._twitch.settings.dark_theme: set_theme(root, self, "dark") else: - set_theme(root, self, "default") # + set_theme(root, self, "default") # https://stackoverflow.com/questions/56329342/tkinter-treeview-background-tag-not-working def _fixed_map(self, option): @@ -2164,6 +2189,7 @@ def unfocus(self, event): # these are here to interface with underlaying GUI components def save(self, *, force: bool = False) -> None: + self._twitch.settings.window_position = self._root.geometry() self._cache.save(force=force) def grab_attention(self, *, sound: bool = True): @@ -2425,7 +2451,8 @@ async def main(exit_event: asyncio.Event): prioritize_by_ending_soonest=False, autostart_tray=False, exclude={"Lit Game"}, - tray_notifications=True + tray_notifications=True, + window_position= "940x690+3203+345", ) ) mock.change_state = lambda state: mock.gui.print(f"State change: {state.value}") diff --git a/settings.py b/settings.py index eb0a0a16..f7665640 100644 --- a/settings.py +++ b/settings.py @@ -23,6 +23,7 @@ class SettingsFile(TypedDict): autostart_tray: bool connection_quality: int tray_notifications: bool + window_position: str default_settings: SettingsFile = { @@ -37,6 +38,7 @@ class SettingsFile(TypedDict): "connection_quality": 1, "language": DEFAULT_LANG, "tray_notifications": True, + "window_position": "", } @@ -61,6 +63,7 @@ class Settings: autostart_tray: bool connection_quality: int tray_notifications: bool + window_position: str PASSTHROUGH = ("_settings", "_args", "_altered") From 6dc4f7d98a01ce9353af6f2182a5724f1fcb0485 Mon Sep 17 00:00:00 2001 From: Arne Weber Date: Thu, 13 Jun 2024 19:37:48 +0200 Subject: [PATCH 14/23] patch notes: window position and visible tray --- patch_notes.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/patch_notes.txt b/patch_notes.txt index 482fb7e2..94174c15 100644 --- a/patch_notes.txt +++ b/patch_notes.txt @@ -1,5 +1,10 @@ ## v15.7.0 +13.6.2024 +- The miner saves and restores the window position + - You can reset the position with a new tray icon option: `Show (Refresh)` +- Tray icon is now always visible + 10.6.2024 - Fixed crash upon Twitch returning `"broadcaster": null` From b2f0816929c326a67d8258ef0fd2cf0f052ecbff Mon Sep 17 00:00:00 2001 From: Arne Weber Date: Thu, 13 Jun 2024 21:38:11 +0200 Subject: [PATCH 15/23] translations patch notes and readme --- README.md | 2 +- patch_notes.txt | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 5e24c3df..ebb0706b 100644 --- a/README.md +++ b/README.md @@ -134,4 +134,4 @@ if they aren't already there. Doing so ensures proper markdown rendering on Gith @Bamboozul - For the entirety of the Arabic (العربية) translation. @Kjerne - For the entirety of the Danish (Dansk) translation. -For updating Translations: @Kuddus73, @VSeryi, @Windows200000, @BreakshadowCN, @kilroy98, @zelda0079, @Calvineries, @notNSANE, @ElvisDesigns, @DogancanYr, @Nollasko, @rvpv, @flxderdev, @5wi5wi, @fgr1178707QQ, @Suz1e, @Patriot99, @overkongen, @zizimonzter, @sabala +For updating Translations: @Kuddus73, @VSeryi, @Windows200000, @BreakshadowCN, @kilroy98, @zelda0079, @Calvineries, @notNSANE, @ElvisDesigns, @DogancanYr, @Nollasko, @rvpv, @flxderdev, @5wi5wi, @fgr1178707QQ, @Suz1e, @Patriot99, @overkongen, @zizimonzter, @sabala, @hiroweeb, @T-Raptor diff --git a/patch_notes.txt b/patch_notes.txt index 94174c15..6e250709 100644 --- a/patch_notes.txt +++ b/patch_notes.txt @@ -4,12 +4,14 @@ - The miner saves and restores the window position - You can reset the position with a new tray icon option: `Show (Refresh)` - Tray icon is now always visible +- Updated **French** and **Dutch** translation as well as corresponding credits + 10.6.2024 - Fixed crash upon Twitch returning `"broadcaster": null` 10.6.2024 -- updated **Danish**, **Indonesian** and **Portuguese** translation as well as corresponding credits +- Updated **Danish**, **Indonesian** and **Portuguese** translation as well as corresponding credits @@ -30,10 +32,10 @@ - Fixed `UnboundLocalError` crash due to wrong indentation 30.5.2024 -- updated **Arabic**, **Turkish**, **Simplified Chinese** and **English** translation as well as corresponding credits +- Updated **Arabic**, **Turkish**, **Simplified Chinese** and **English** translation as well as corresponding credits 28.5.2024 -- updated **Italian**, **Polish**, **Turkish** and **Ukrainian** translation as well as corresponding credits +- Updated **Italian**, **Polish**, **Turkish** and **Ukrainian** translation as well as corresponding credits From 13704efbe2046004935f0f40d656b84bb400fb2b Mon Sep 17 00:00:00 2001 From: Arne Weber Date: Thu, 13 Jun 2024 21:39:55 +0200 Subject: [PATCH 16/23] removed call to translate FR & NL from release workflow --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f3f86461..cea64524 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -238,7 +238,7 @@ jobs: artifactErrorsFailBuild: true artifacts: artifacts/*/* body: | - # ⚠️ Please help with translation as tracked in #2 (Français, العربية, Português, Nederlandse, Indonesian) and channel points as tracked in #23 ! + # ⚠️ Please help with translation as tracked in #2 (العربية, Português, Indonesian) and channel points as tracked in #23 ! *** **This is an automatically generated updated version of the application, that includes the latest master branch changes.** From 93228fbffd4e529e4fb31d2f3aaafa759bc1a340 Mon Sep 17 00:00:00 2001 From: Ares Date: Thu, 13 Jun 2024 19:36:23 +0000 Subject: [PATCH 17/23] Translate Nederlandse.json via GitLocalize --- lang/Nederlandse.json | 309 +++++++++++++++++++++--------------------- 1 file changed, 156 insertions(+), 153 deletions(-) diff --git a/lang/Nederlandse.json b/lang/Nederlandse.json index be0b8e1e..e5a55b0d 100644 --- a/lang/Nederlandse.json +++ b/lang/Nederlandse.json @@ -1,161 +1,164 @@ { - "english_name": "Dutch", + "english_name": "Dutch", + "status": { + "terminated": "\nToepassing beëindigd.\nSluit het venster om de toepassing af te sluiten.", + "watching": "{channel} wordt gekeken", + "goes_online": "{channel} gaat ONLINE, overschakelen...", + "goes_offline": "{channel} gaat OFFLINE, overschakelen...", + "claimed_drop": "Drop opgeëist: {drop}", + "claimed_points": "Bonuspunten opgeëist: {points}", + "earned_points": "Punten verdiend voor het kijken: {points}, totaal: {balance}", + "no_channel": "Geen beschikbare kanalen om naar te kijken. Wachten op een ONLINE-kanaal...", + "no_campaign": "\"Geen actieve campagnes om drops te minen. Wachten op een actieve campagne..." + }, + "login": { + "unexpected_content": "Onverwacht inhoudstype geretourneerd, meestal vanwege een omleiding. Onverwacht inhoudstype geretourneerd, meestal vanwege een omleiding.", + "chrome": { + "startup": "Chrome starten...", + "login_to_complete": "Druk nogmaals op Aanmelden om het aanmeldingsproces handmatig te voltooien.", + "no_token": "Er kon geen autorisatietoken worden gevonden.", + "closed_window": "Het Chrome-venster werd gesloten voordat de inlogprocedure kon worden voltooid" + }, + "error_code": "Inlogfoutcode: {error_code}", + "incorrect_login_pass": "Onjuist gebruikersnaam of wachtwoord.", + "incorrect_email_code": "Onjuiste e-mailcode.", + "incorrect_twofa_code": "Onjuiste 2FA Code.", + "email_code_required": "E-mailcode vereist. Controleer uw e-mail.", + "twofa_code_required": "2FA-token vereist." + }, + "error": { + "captcha": "Uw inlogpoging werd geweigerd door CAPTCHA.\nProbeer het over 12+ uur opnieuw.", + "site_down": "Twitch is offline, opnieuw proberen over {seconds} seconden...", + "no_connection": "Kan geen verbinding maken met Twitch, opnieuw proberen over {seconds} seconden..." + }, + "gui": { + "output": "Uitvoer", "status": { - "terminated": "\nToepassing gestopt.\nSLuit het venster om de toepassing af te sluiten", - "watching": "{channel} wordt gekeken", - "goes_online": "{channel} is ONLINE gegaan, wijzig...", - "goes_offline": "{channel} is OFFLINE gegaan, wijzig...", - "claimed_drop": "Drop verkregen: {drop}", - "claimed_points": "Kanaal punten verdient: {points}", - "earned_points": "Verdiende kanaalpunten voor het kijken: {points} | Totaal: {balance}", - "no_channel": "Geen deelnemende kanalen online. Wachten op steamers...", - "no_campaign": "Geen actieve campagnes beschikbaar. Wachten op nieuwe campagne..." + "name": "Status", + "idle": "Inactief", + "exiting": "Afsluiten...", + "terminated": "Beëindigd", + "cleanup": "Kanalen schoonmaken...", + "gathering": "Kanalen verzamelen...", + "switching": "Kanaal overschakelen...", + "fetching_inventory": "Inventaris ophalen...", + "fetching_campaigns": "Campagnes ophalen...", + "adding_campaigns": "Campagnes toevoegen aan inventaris..." + }, + "tabs": { + "main": "Algemeen", + "inventory": "Inventaris", + "settings": "Instellingen", + "help": "Help" + }, + "tray": { + "notification_title": "Drop verkregen", + "minimize": "Minimaliseren naar taakbalk", + "show": "Tonen", + "quit": "Verlaten" }, "login": { - "chrome": { - "startup": "Chrome starten...", - "login_to_complete": "Druk nogmaals op Aanmelden om het aanmeldingsproces handmatig te voltooien.", - "no_token": "Er is geen autorisatietoken gevonden.", - "closed_window": "Het Chrome-venster werd gesloten voordat het inlogproces voltooid kon worden." - }, - "error_code": "Login Foutcode: {error_code}", - "unexpected_content": "Onverwacht inhoudstype geretourneerd, meestal als gevolg van een omleiding.\nIs inloggen vereist voor toegang tot internet?", - "incorrect_login_pass": "Verkeerde gebruikersnaam of wachtwoord.", - "incorrect_email_code": "Onjuiste e-mailcode.", - "incorrect_twofa_code": "Onjuiste 2FA Code.", - "email_code_required": "E-mailcode vereist. Controleer de e-mail.", - "twofa_code_required": "2FA Token vereist." + "name": "Inlogformulier", + "labels": "Status:\nGebruiker ID:", + "logged_in": "Ingelogd", + "logged_out": "Uitgelogd", + "logging_in": "Inloggen...", + "required": "Inloggen vereist", + "request": "Log in om door te gaan.", + "username": "Gebruikersnaam", + "password": "Wachtwoord", + "twofa_code": "2FA-code (optioneel)", + "button": "Inloggen" + }, + "websocket": { + "name": "WebSocket Status", + "websocket": "WebSocket #{id}:", + "initializing": "Initialiseren...", + "connected": "Verbonden", + "disconnected": "Verbroken", + "connecting": "Verbinden...", + "disconnecting": "Verbreken...", + "reconnecting": "Opnieuw verbinden..." + }, + "progress": { + "name": "Campagnevoortgang", + "drop": "Drop:", + "game": "Spel:", + "campaign": "Campagne:", + "remaining": "{time} resterend", + "drop_progress": "Voortgang:", + "campaign_progress": "Voortgang:" + }, + "channels": { + "name": "Kanalen", + "switch": "Wisselen", + "load_points": "Punten laden", + "online": "ONLINE ✔", + "pending": "OFFLINE ⏳", + "offline": "OFFLINE ❌", + "headings": { + "channel": "Kanaal", + "status": "Status", + "game": "Spel", + "viewers": "Kijkers", + "points": "Punten" + } + }, + "inventory": { + "filter": { + "name": "Filter", + "show": "Weergeven:", + "not_linked": "Niet gekoppeld", + "upcoming": "Verwacht", + "expired": "Verlopen", + "excluded": "Uitgesloten", + "finished": "Beëindigd", + "refresh": "Vernieuwen" + }, + "status": { + "linked": "Gekoppeld ✔", + "not_linked": "Niet gekoppeld ❌", + "active": "Actief ✔", + "upcoming": "Verwacht ⏳", + "expired": "Verlopen ❌", + "claimed": "Verkregen ✔", + "ready_to_claim": "Klaar om te verkrijgen ⏳" + }, + "starts": "Begint: {time}", + "ends": "Eindigt: {time}", + "allowed_channels": "Toegestane kanalen:", + "all_channels": "Alle", + "and_more": "en {amount} meer...", + "percent_progress": "{percent} van {minutes} Minuten", + "minutes_progress": "{minutes} Minuten" }, - "error": { - "captcha": "De inlogpoging is geweigerd door CAPTCHA.\nProbeer het over minimaal 12 uur opnieuw.", - "site_down": "Twitch is niet beschikbaar. Probeer het over {seconds} seconden opnieuw...", - "no_connection": "Kan geen verbinding maken met Twitch. Probeer het over {seconds} seconden opnieuw..." + "settings": { + "general": { + "name": "Algemeen", + "dark_theme": "Donker thema:", + "autostart": "Autostart: ", + "tray": "Automatisch starten in het taakbalk: ", + "tray_notifications": "Taakbalkmeldingen:", + "priority_only": "Alleen prioriteit: ", + "prioritize_by_ending_soonest": "Prioriteren op basis van eerst eindigend:", + "proxy": "Proxy (vereist herstart):" + }, + "game_name": "Spelnaam", + "priority": "Prioriteit", + "exclude": "Uitsluiten", + "reload": "Herladen", + "reload_text": "Voor de meeste wijzigingen is een herlaadbeurt vereist om onmiddellijk van kracht te worden: " }, - "gui": { - "output": "Protocol", - "status": { - "name": "Status", - "idle": "Inactief", - "exiting": "Beëindigd...", - "terminated": "Geannuleerd", - "cleanup": "Kanalen opruimen..", - "gathering": "Kanalen verzamelen...", - "switching": "Het kanaal wijzigen...", - "fetching_inventory": "Ophalen van inventaris...", - "fetching_campaigns": "Ophalen van de campagne...", - "adding_campaigns": "De campagnelijst toevoegen aan de inventaris... {counter}" - }, - "tabs": { - "main": "Algemeen", - "inventory": "Inventaris", - "settings": "Instellingen", - "help": "Help" - }, - "tray": { - "notification_title": "Drop verkregen", - "minimize": "Minimaliseren naar taakbalk", - "show": "Weergeven", - "quit": "Verlaten" - }, - "login": { - "name": "Login", - "labels": "Status:\nGebruiker ID:", - "logged_in": "Geregistreerd", - "logged_out": "Uitgelogd", - "logging_in": "Aanmelden...", - "required": "Aanmelden vereist", - "request": "Log in om door te gaan.", - "username": "Gebruikersnaam", - "password": "Wachtwoord", - "twofa_code": "2FA Code (optioneel)", - "button": "Aanmelden" - }, - "websocket": { - "name": "WebSocket Status", - "websocket": "WebSocket #{id}:", - "initializing": "Initialiseren...", - "connected": "Verbonden", - "disconnected": "Verbinding verloren", - "connecting": "Verbinden...", - "disconnecting": "Verbinding verbroken...", - "reconnecting": "Opnieuw verbinden..." - }, - "progress": { - "name": "Voortgang van de campagne", - "drop": "Drop:", - "game": "Spel:", - "campaign": "Campagne:", - "remaining": "{time} resterend", - "drop_progress": "Voortgang:", - "campaign_progress": "Voortgang:" - }, - "channels": { - "name": "Kanaal", - "switch": "Wisselen", - "load_points": "Laad Punten", - "online": "ONLINE ✔", - "pending": "OFFLINE ⏳", - "offline": "OFFLINE ❌", - "headings": { - "channel": "Kanaal", - "status": "Status", - "game": "Spel", - "viewers": "Kijkers", - "points": "Punten" - } - }, - "inventory": { - "filter": { - "name": "Filter", - "show": "Weergeven:", - "linked": "Alleen gekoppelde", - "upcoming": "Verwacht", - "expired": "Verlopen", - "excluded": "Uitgesloten", - "finished": "Beëindigd", - "refresh": "Vernieuwen" - }, - "status": { - "linked": "Gekoppeld ✔", - "not_linked": "Niet gekoppeld ❌", - "active": "Actief ✔", - "upcoming": "Verwacht ⏳", - "expired": "Verlopen ❌", - "claimed": "Verkregen ✔", - "ready_to_claim": "Klaar om te verkrijgen ⏳" - }, - "starts": "Begint: {time}", - "ends": "Eindigt: {time}", - "allowed_channels": "Toegestane kanalen:", - "all_channels": "Alle", - "and_more": "en {amount} verdere...", - "percent_progress": "{percent} van {minutes} Minuten", - "minutes_progress": "{minutes} Minuten" - }, - "settings": { - "general": { - "name": "Algemeen", - "autostart": "Autostart: ", - "tray": "Automatisch starten in het taakbalk: ", - "priority_only": "Alleen prioriteit: ", - "proxy": "Proxy (Vereist opnieuw opstarten):" - }, - "game_name": "Spel", - "priority": "Prioriteit", - "exclude": "Uitsluiten", - "reload": "Herladen", - "reload_text": "Voor de meeste wijzigingen is een herlaadbeurt vereist om onmiddellijk van kracht te worden: " - }, - "help": { - "links": { - "name": "Handige Links", - "inventory": "Bekijk Twitch-inventaris", - "campaigns": "Bekijk alle Twitch-campagnes" - }, - "how_it_works": "Dit is hoe het werkt", - "how_it_works_text": "Elke ~60 seconden verzendt de applicatie een \"minuut gekeken\" gebeurtenis naar het kanaal waar deze momenteel naar kijkt.\nDit is voldoende om voortgang te boeken voor drops. Opmerking: op deze manier is het niet nodig om de stream te downloaden en wordt er bandbreedte bespaard. \nOm de online of offline status van de kanalen up-to-date te houden, wordt er een websocket verbinding opgezet\ndie de kanalen controleert op hun status.", - "getting_started": "Eerste stappen", - "getting_started_text": "• Meld je aan bij de applicatie.\n• Zorg ervoor dat het Twitch-account is gekoppeld aan alle campagnes waarin je geïnteresseerd bent.\n• ls je alle drops wilt verwerken, verwijder je het vinkje bij \"Alleen prioriteit\" en druk je op \"Herladen\" .\n• Als je alleen bepaalde games wilt overwegen, gebruik dan de lijst \"Prioriteit\" om de keuze per game te verfijnen.\n• De lijst geeft prioriteit van boven naar beneden.\n• De optie \"Alleen prioriteit\" verhindert dat games die niet op de prioriteitenlijst staan, worden verwerkt.\n• Met de lijst \"Uitsluiten\" is het mogelijk om games te filteren die nooit in overweging mogen worden genomen.\n• Als lijsten of opties zijn aangepast, moet je op \"Herladen\" drukken zodat de wijzigingen van kracht worden." - } + "help": { + "links": { + "name": "Handige Links", + "inventory": "Bekijk Twitch-inventaris", + "campaigns": "Bekijk alle Twitch-campagnes" + }, + "how_it_works": "Hoe het werkt", + "how_it_works_text": "Elke ~20 seconden vraagt de toepassing Twitch om een URL naar de rauwe streamdata van het kanaal dat momenteel wordt bekeken. Vervolgens haalt het de metadata van deze datastream op - dit is voldoende om de drops te laten vorderen. Merk op dat dit de noodzaak om echte streamvideo en geluid te downloaden volledig omzeilt en zo bandbreedte bespaart. Om de status (ONLINE of OFFLINE) van de kanalen up-to-date te houden, is er een websocket-verbinding opgezet die gebeurtenissen ontvangt over streams die omhoog of omlaag gaan, of updates met betrekking tot het huidige aantal kijkers.", + "getting_started": "Eerste stappen", + "getting_started_text": "1. Log in op de applicatie.\n2. Zorg ervoor dat uw Twitch-account is gekoppeld aan alle campagnes waarvoor u drops wilt minen.\n3. Als u alles wilt minen, schakel \"Prioriteit alleen\" uit en druk op \"Herladen\".\n4. Als u specifieke spellen eerst wilt minen, gebruik de \"Prioriteit\"-lijst om een geordende lijst van je gewenste games op te stellen. Spellen bovenaan de lijst zullen eerst geprobeerd worden te minen, voordat de lager geplaatste games aan de beurt komen.\n5. Houd de optie \"Alleen prioriteit\" aangevinkt om te voorkomen dat spellen die niet op de prioriteitenlijst staan gemined worden. Of niet - de keuze is aan u.\n6. Gebruik de \"Uitsluiten\"-lijst om de applicatie te vertellen welke spellen nooit gemined moeten worden.\n7. Het wijzigen van de inhoud van een van de lijsten of het wijzigen van de status van de optie \"Alleen prioriteit\" vereist dat je op \"Herladen\" drukt om de wijzigingen door te voeren." } + } } From 3c40eb80f32dd06e39a7d6adad85b9ed3fcf2586 Mon Sep 17 00:00:00 2001 From: hiroweeb Date: Thu, 13 Jun 2024 19:28:54 +0000 Subject: [PATCH 18/23] =?UTF-8?q?Translate=20Fran=C3=A7ais.json=20via=20Gi?= =?UTF-8?q?tLocalize?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "lang/Fran\303\247ais.json" | 310 ++++++++++++++++++------------------ 1 file changed, 156 insertions(+), 154 deletions(-) diff --git "a/lang/Fran\303\247ais.json" "b/lang/Fran\303\247ais.json" index 238d9550..b9753b31 100644 --- "a/lang/Fran\303\247ais.json" +++ "b/lang/Fran\303\247ais.json" @@ -1,162 +1,164 @@ { - "english_name": "French", + "english_name": "French", + "status": { + "terminated": "\nL'application a été arrêtée.\nVeuillez fermer l'application.", + "watching": "En train de regarder : {channel}", + "goes_online": "{channel} passe EN LIGNE, changement...", + "goes_offline": "{channel} passe HORS LIGNE, changement...", + "claimed_drop": "Drop récupéré : {drop}", + "claimed_points": "Points bonus récupéré : {points}", + "earned_points": "Points gagnés pour avoir regardé : {points}, total : {balance}", + "no_channel": "Aucune chaîne disponible à regarder. En attente d'une chaîne EN LIGNE...", + "no_campaign": "Aucune campagne active pour laquelle miner des drops. En attente d'une campagne active..." + }, + "login": { + "unexpected_content": "Type de contenu inattendu renvoyé, généralement dû à une redirection. Avez-vous besoin de vous connecter pour accéder à Internet ?", + "chrome": { + "startup": "Ouverture de Chrome", + "login_to_complete": "Terminez la procédure de connexion manuellement en appuyant à nouveau sur le bouton Connexion.", + "no_token": "Aucun jeton d'autorisation (authorization token) n'a pu être trouvé.", + "closed_window": "La fenêtre Chrome a été fermée avant la fin de la procédure de connexion." + }, + "error_code": "Code d'erreur de connexion: {error_code}", + "incorrect_login_pass": "Le nom d'utilisateur ou le mot de passe saisi est incorrect.", + "incorrect_email_code": "Le code de vérification de l'e-mail est incorrect.", + "incorrect_twofa_code": "Le code 2FA est incorrect.", + "email_code_required": "Code de vérification par e-mail requis. Merci de consulter vos emails.", + "twofa_code_required": "Code 2FA requis." + }, + "error": { + "captcha": "La connexion a été rejetée par CAPTCHA. Veuillez réessayer dans env. 12 heures.", + "site_down": "Twitch n'est pas disponible. Veuillez réessayer dans {seconds} secondes...", + "no_connection": "Impossible de se connecter à Twitch. Veuillez réessayer dans {seconds} secondes..." + }, + "gui": { + "output": "Sortie", "status": { - "terminated": "\nL'application a été arrêtée.\nVeuillez fermer l'application.", - "watching": "En train de regarder : {channel}", - "goes_online": "{channel} passe EN LIGNE, changement...", - "goes_offline": "{channel} passe HORS LIGNE, changement...", - "claimed_drop": "Drop récupéré : {drop}", - "claimed_points": "Points bonus récupéré : {points}", - "earned_points": "Points gagnés pour avoir regardé : {points}, total : {balance}", - "no_channel": "Aucune chaîne disponible à regarder. En attente d'une chaîne EN LIGNE...", - "no_campaign": "Aucune campagne active pour laquelle miner des drops. En attente d'une campagne active..." + "name": "Etat", + "idle": "Inactif", + "exiting": "Sortie...", + "terminated": "Terminé", + "cleanup": "Nettoyage des canaux...", + "gathering": "Recherche de chaînes en direct...", + "switching": "Collecte des chaînes en cours...", + "fetching_inventory": "Récupération de l'inventaire...", + "fetching_campaigns": "Récupération des campagnes...", + "adding_campaigns": "Ajout de la liste des campagnes à l'inventaire... {counter}" + }, + "tabs": { + "main": "Général", + "inventory": "Inventaire", + "settings": "Paramètres", + "help": "Aide" + }, + "tray": { + "notification_title": "Drop miné", + "minimize": "Réduire dans la barre des tâches", + "show": "Afficher", + "quit": "Quitter" }, "login": { - "chrome": { - "startup": "Ouverture de Chrome", - "login_to_complete": "Terminez la procédure de connexion manuellement en appuyant à nouveau sur le bouton Connexion.", - "no_token": "Aucun jeton d'autorisation (authorization token) n'a pu être trouvé.", - "closed_window": "La fenêtre Chrome a été fermée avant la fin de la procédure de connexion." - }, - "error_code": "Code d'erreur de connexion: {error_code}", - "unexpected_content": "Type de contenu inattendu renvoyé, généralement dû à une redirection. Avez-vous besoin de vous connecter pour accéder à Internet ?", - "incorrect_login_pass": "Le nom d'utilisateur ou le mot de passe saisi est incorrect.", - "incorrect_email_code": "Le code de vérification de l'e-mail est incorrect.", - "incorrect_twofa_code": "Le code 2FA est incorrect.", - "email_code_required": "Code de vérification par e-mail requis. Merci de consulter vos emails.", - "twofa_code_required": "Code 2FA requis." + "name": "Formulaire de connexion", + "labels": "Statut :\nIdentifiant utilisateur :", + "logged_in": "Connecté", + "logged_out": "Déconnecté", + "logging_in": "Connexion en cours...", + "required": "Connexion requise", + "request": "Veuillez vous connecter pour continuer.", + "username": "Nom d'utilisateur", + "password": "Mot de passe", + "twofa_code": "Code 2FA (facultatif)", + "button": "Se connecter" + }, + "websocket": { + "name": "État du Websocket", + "websocket": "Websocket #{id}:", + "initializing": "Initialisation...", + "connected": "Connecté", + "disconnected": "Déconnecté", + "connecting": "Connexion...", + "disconnecting": "Déconnexion...", + "reconnecting": "Reconnexion..." + }, + "progress": { + "name": "Progression de la campagne", + "drop": "Drop :", + "game": "Jeux :", + "campaign": "Campagne :", + "remaining": "{time} restant", + "drop_progress": "Avancement :", + "campaign_progress": "Avancement :" + }, + "channels": { + "name": "Chaînes", + "switch": "Basculer", + "load_points": "Charger des Points", + "online": "EN LIGNE ✔", + "pending": "HORS LIGNE ⏳", + "offline": "HORS LIGNE ❌", + "headings": { + "channel": "Chaîne", + "status": "Statut", + "game": "Jeu", + "viewers": "Spectateurs", + "points": "Points" + } + }, + "inventory": { + "filter": { + "name": "Filtre", + "show": "Afficher :", + "not_linked": "Non lié", + "upcoming": "À venir", + "expired": "Expiré", + "excluded": "Exclu", + "finished": "Terminé", + "refresh": "Actualiser" + }, + "status": { + "linked": "Lié ✔", + "not_linked": "Non lié ❌", + "active": "Actif ✔", + "upcoming": "À venir ⏳", + "expired": "Expiré ❌", + "claimed": "Récupéré ✔", + "ready_to_claim": "Prêt à récupérer ⏳" + }, + "starts": "Début : {time}", + "ends": "Fin : {time}", + "allowed_channels": "Chaînes autorisées :", + "all_channels": "Toutes", + "and_more": "et {amount} de plus...", + "percent_progress": "{percent} de {minutes} minutes", + "minutes_progress": "{minutes} minutes" }, - "error": { - "captcha": "La connexion a été rejetée par CAPTCHA. Veuillez réessayer dans env. 12 heures.", - "site_down": "Twitch n'est pas disponible. Veuillez réessayer dans {seconds} secondes...", - "no_connection": "Impossible de se connecter à Twitch. Veuillez réessayer dans {seconds} secondes..." + "settings": { + "general": { + "name": "Général", + "dark_theme": "Thème sombre :", + "autostart": "Démarrage automatique :", + "tray": "Démarrage automatique dans la barre des tâches :", + "tray_notifications": "Notifications dans la barre des tâches :", + "priority_only": "Priorité uniquement :", + "prioritize_by_ending_soonest": "Prioriser les drops se terminant le plus tôt :", + "proxy": "Proxy (nécessite un redémarrage) :" + }, + "game_name": "Nom du jeu", + "priority": "Priorité", + "exclude": "Exclure", + "reload": "Recharger", + "reload_text": "La plupart des modifications nécessitent un rechargement pour prendre effet immédiatement : " }, - "gui": { - "output": "Sortie", - "status": { - "name": "Etat", - "idle": "Inactif", - "exiting": "Sortie...", - "terminated": "Terminé", - "cleanup": "Nettoyage des canaux...", - "gathering": "Recherche de chaînes en direct...", - "switching": "Collecte des chaînes en cours...", - "fetching_inventory": "Récupération de l'inventaire...", - "fetching_campaigns": "Récupération des campagnes...", - "adding_campaigns": "Ajout de la liste des campagnes à l'inventaire... {counter}" - }, - "tabs": { - "main": "Général", - "inventory": "Inventaire", - "settings": "Paramètres", - "help": "Aide" - }, - "tray": { - "notification_title": "Drop miné", - "minimize": "Réduire dans la barre des tâches", - "show": "Afficher", - "quit": "Quitter" - }, - "login": { - "name": "Formulaire de connexion", - "labels": "Statut :\nIdentifiant utilisateur :", - "logged_in": "Connecté", - "logged_out": "Déconnecté", - "logging_in": "Connexion en cours...", - "required": "Connexion requise", - "request": "Veuillez vous connecter pour continuer.", - "username": "Nom d'utilisateur", - "password": "Mot de passe", - "twofa_code": "Code 2FA (facultatif)", - "button": "Se connecter" - }, - "websocket": { - "name": "État du Websocket", - "websocket": "Websocket #{id}:", - "initializing": "Initialisation...", - "connected": "Connecté", - "disconnected": "Déconnecté", - "connecting": "Connexion...", - "disconnecting": "Déconnexion...", - "reconnecting": "Reconnexion..." - }, - "progress": { - "name": "Progression de la campagne", - "drop": "Drop :", - "game": "Jeux :", - "campaign": "Campagne :", - "remaining": "{time} restant", - "drop_progress": "Avancement :", - "campaign_progress": "Avancement :" - }, - "channels": { - "name": "Chaînes", - "switch": "Basculer", - "load_points": "Charger des Points", - "online": "EN LIGNE ✔", - "pending": "HORS LIGNE ⏳", - "offline": "HORS LIGNE ❌", - "headings": { - "channel": "Chaîne", - "status": "Statut", - "game": "Jeu", - "viewers": "Spectateurs", - "points": "Points" - } - }, - "inventory": { - "filter": { - "name": "Filtre", - "show": "Afficher :", - "not_linked": "Non lié", - "upcoming": "À venir", - "expired": "Expiré", - "excluded": "Exclu", - "finished": "Terminé", - "refresh": "Actualiser" - }, - "status": { - "linked": "Lié ✔", - "not_linked": "Non lié ❌", - "active": "Actif ✔", - "upcoming": "À venir ⏳", - "expired": "Expiré ❌", - "claimed": "Récupéré ✔", - "ready_to_claim": "Prêt à récupérer ⏳" - }, - "starts": "Début : {time}", - "ends": "Fin : {time}", - "allowed_channels": "Chaînes autorisées :", - "all_channels": "Toutes", - "and_more": "et {amount} de plus...", - "percent_progress": "{percent} de {minutes} minutes", - "minutes_progress": "{minutes} minutes" - }, - "settings": { - "general": { - "name": "Général", - "autostart": "Démarrage automatique :", - "tray": "Démarrage automatique dans la barre des tâches :", - "tray_notifications": "Notifications dans la barre des tâches :", - "priority_only": "Priorité uniquement :", - "proxy": "Proxy (nécessite un redémarrage) :" - }, - "game_name": "Nom du jeu", - "priority": "Priorité", - "exclude": "Exclure", - "reload": "Recharger", - "reload_text": "La plupart des modifications nécessitent un rechargement pour prendre effet immédiatement : " - }, - "help": { - "links": { - "name": "Liens utiles", - "inventory": "Afficher l'inventaire Twitch", - "campaigns": "Afficher toutes les campagnes et gérer les comptes associés" - }, - "how_it_works": "Comment ça fonctionne", - "how_it_works_text": "Toutes les ~20 secondes, l'application demande à Twitch une URL vers les données brutes du flux de la chaîne actuellement regardée. Elle récupère ensuite les métadonnées de ce flux de données - ce qui suffit pour faire avancer les drops. Notez que cela contourne complètement le besoin de télécharger la vidéo et le son du flux réel. Pour maintenir à jour le statut (EN LIGNE ou HORS LIGNE) des chaînes, une connexion websocket est établie pour recevoir des événements sur les flux qui montent ou descendent, ou des mises à jour concernant le nombre actuel de spectateurs.", - "getting_started": "Premiers pas", - "getting_started_text": "1. Connectez-vous à l'application.\n2. Assurez-vous que votre compte Twitch est lié à toutes les campagnes qui vous intéressent.\n3. Si vous voulez simplement miner tout, décochez \"Priorité uniquement\" et appuyez sur \"Recharger\".\n4. Si vous souhaitez miner d'abord certains jeux, utilisez la liste \"Priorité\" pour définir une liste ordonnée des jeux de votre choix. Les jeux en haut de la liste seront tentés d'être minés en premier, avant ceux plus bas dans la liste.\n5. Laissez l'option \"Priorité uniquement\" cochée pour éviter de miner des jeux qui ne sont pas dans la liste de priorité. Ou pas - c'est à vous de décider.\n6. Utilisez la liste \"Exclure\" pour indiquer à l'application les jeux qui ne doivent jamais être minés.\n7. Modifier le contenu de l'une des listes ou changer l'état de l'option \"Priorité uniquement\" nécessite d'appuyer sur \"Recharger\" pour que les changements prennent effet." - } + "help": { + "links": { + "name": "Liens utiles", + "inventory": "Afficher l'inventaire Twitch", + "campaigns": "Afficher toutes les campagnes et gérer les comptes associés" + }, + "how_it_works": "Comment ça fonctionne", + "how_it_works_text": "Toutes les ~20 secondes, l'application demande à Twitch une URL vers les données brutes du flux de la chaîne actuellement regardée. Elle récupère ensuite les métadonnées de ce flux de données - ce qui suffit pour faire avancer les drops. Notez que cela contourne complètement le besoin de télécharger la vidéo et le son du flux réel. Pour maintenir à jour le statut (EN LIGNE ou HORS LIGNE) des chaînes, une connexion websocket est établie pour recevoir des événements sur les flux qui montent ou descendent, ou des mises à jour concernant le nombre actuel de spectateurs.", + "getting_started": "Premiers pas", + "getting_started_text": "1. Connectez-vous à l'application.\n2. Assurez-vous que votre compte Twitch est lié à toutes les campagnes qui vous intéressent.\n3. Si vous voulez simplement miner tout, décochez \"Priorité uniquement\" et appuyez sur \"Recharger\".\n4. Si vous souhaitez miner d'abord certains jeux, utilisez la liste \"Priorité\" pour définir une liste ordonnée des jeux de votre choix. Les jeux en haut de la liste seront tentés d'être minés en premier, avant ceux plus bas dans la liste.\n5. Laissez l'option \"Priorité uniquement\" cochée pour éviter de miner des jeux qui ne sont pas dans la liste de priorité. Ou pas - c'est à vous de décider.\n6. Utilisez la liste \"Exclure\" pour indiquer à l'application les jeux qui ne doivent jamais être minés.\n7. Modifier le contenu de l'une des listes ou changer l'état de l'option \"Priorité uniquement\" nécessite d'appuyer sur \"Recharger\" pour que les changements prennent effet." } + } } From 7a2950d65fba449844abb1d42c06d381e8d0be2b Mon Sep 17 00:00:00 2001 From: Arne Weber Date: Thu, 13 Jun 2024 22:23:44 +0200 Subject: [PATCH 19/23] removed wrong newline in patch notes --- patch_notes.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/patch_notes.txt b/patch_notes.txt index 6e250709..7dafed25 100644 --- a/patch_notes.txt +++ b/patch_notes.txt @@ -6,7 +6,6 @@ - Tray icon is now always visible - Updated **French** and **Dutch** translation as well as corresponding credits - 10.6.2024 - Fixed crash upon Twitch returning `"broadcaster": null` From 8f014e5def55c006445eb09679fa9f711e138440 Mon Sep 17 00:00:00 2001 From: Arne Weber Date: Thu, 13 Jun 2024 22:43:38 +0200 Subject: [PATCH 20/23] updated release workflow to show version at start of name --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index cea64524..d9f882d3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -251,7 +251,7 @@ jobs: ## Patch notes: ${{ steps.patch_notes.outputs.content }} - name: Updated tested build - ${{ steps.version.outputs.v-version }} (${{ steps.vars.outputs.sha_short }}) + name: ${{ steps.version.outputs.v-version }} \- Updated tested build (${{ steps.vars.outputs.sha_short }}) prerelease: false removeArtifacts: true tag: ${{ steps.version.outputs.v-version }} From 282c2859112879193e8fd46d15acf3a9e9ec3c70 Mon Sep 17 00:00:00 2001 From: Arne Weber Date: Fri, 14 Jun 2024 14:16:26 +0200 Subject: [PATCH 21/23] Improved issue templates --- .github/ISSUE_TEMPLATE/bug_report.md | 51 ++++++++++++++++------- .github/ISSUE_TEMPLATE/feature-request.md | 21 ++++++---- 2 files changed, 49 insertions(+), 23 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index b8a895f1..aac26f3f 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -7,29 +7,50 @@ assignees: '' --- -**Describe the bug** -A clear and concise description of what the bug is. +# Please delete all instructional lines and parts (marked with ❗ and including this heading) before submitting. +- Before submitting an issue, look at the [project goals](https://github.com/Windows200000/TwitchDropsMiner-updated#project-goals) !!! (❗Delete this part before submitting) -**To Reproduce** +### Bad Title: (❗Delete this part before submitting) +- Need help +- Cookie Jar +- Received error (working fine prior to reboot) +- I am getting an error when trying to run + +### Good Title: (❗Delete this part before submitting) +- Not finding any Campaigns +- Random crash with GQL error "PersistedQueryNotFound" +- TypeError: 'NoneType' object is not subscriptable +- Drops not being claimed in the intended way, causing some to be missed and no notifications + +## Description +A clear and concise description of what the bug is. (❗Delete this line before submitting) + +## To Reproduce Steps to reproduce the behavior: 1. Go to '...' 2. Click on '....' 3. Scroll down to '....' 4. See error -**Expected behavior** -A clear and concise description of what you expected to happen. +## Expected behavior +A clear and concise description of what you expected to happen. (❗Delete this line before submitting) + +## Observed behavior +A clear and concise description of what actually happened. (❗Delete this line before submitting) -**Observed behavior** -A clear and concise description of what you expected to happen. +## Screenshots +If applicable, add screenshots to help explain your problem. (❗Delete this line before submitting) -**Screenshots** -If applicable, add screenshots to help explain your problem. +## Logs +If you have them, provide any logs. (❗Delete this line before submitting) +``` + (❗Delete this line before submitting) +``` -**Relevant info:** - - OS: [e.g. iOS] - - Build: [e.g. from source, AppImage] - - Version/Commit: [e.g. V1.5.0, 54ef767] +## Software info: + - OS: [e.g. Windows 11] + - Build: [e.g. from source, .exe, AppImage] + - Version/Commit: [ Version if release, else commit: e.g. v1.5.0, 54ef767] -**Additional context** -Add any other context about the problem here. +## Additional context +Add any other context about the problem. diff --git a/.github/ISSUE_TEMPLATE/feature-request.md b/.github/ISSUE_TEMPLATE/feature-request.md index 9843a1d8..5b45c2b8 100644 --- a/.github/ISSUE_TEMPLATE/feature-request.md +++ b/.github/ISSUE_TEMPLATE/feature-request.md @@ -7,14 +7,19 @@ assignees: '' --- -**Is your feature request related to a problem? Please describe.** -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] +# Please delete all instructional lines and parts (marked with ❗ and including this heading) before submitting. +- Before submitting an issue, look at the [project goals](https://github.com/Windows200000/TwitchDropsMiner-updated#project-goals) !!! (❗Delete this part before submitting) +- If your issue is specific to one Operating System, consider whether it should be a bug report instead. (❗Delete this line before submitting) -**Describe the solution you'd like** -A clear and concise description of what you want to happen. +## Problem being addressed: +Is your feature request related to a problem? If so, provide a clear and concise description of what the problem is. (❗Delete this line before submitting) +e.g. I'm always frustrated when [...] (❗Delete this line before submitting) -**Describe alternatives you've considered** -A clear and concise description of any alternative solutions or features you've considered. +## Proposed solution: +A clear and concise description of what you want to happen. (❗Delete this line before submitting) -**Additional context** -Add any other context or screenshots about the feature request here. +## Alternative: +A clear and concise description of any alternative solutions or features you've considered. (❗Delete this line before submitting) + +## Additional context +Add any other context or screenshots about the feature request here. (❗Delete this line before submitting) From 2d7f30956273c6531d7d367879c761b7f5176fb3 Mon Sep 17 00:00:00 2001 From: Arne Weber Date: Fri, 14 Jun 2024 21:55:52 +0200 Subject: [PATCH 22/23] Reworked GitHub issues and moved to .yaml --- .github/ISSUE_TEMPLATE/bug_report.md | 56 ---------- .github/ISSUE_TEMPLATE/bug_report.yaml | 114 ++++++++++++++++++++ .github/ISSUE_TEMPLATE/feature-request.md | 25 ----- .github/ISSUE_TEMPLATE/feature-request.yaml | 48 +++++++++ 4 files changed, 162 insertions(+), 81 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yaml delete mode 100644 .github/ISSUE_TEMPLATE/feature-request.md create mode 100644 .github/ISSUE_TEMPLATE/feature-request.yaml diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index aac26f3f..00000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: '' -labels: Bug -assignees: '' - ---- - -# Please delete all instructional lines and parts (marked with ❗ and including this heading) before submitting. -- Before submitting an issue, look at the [project goals](https://github.com/Windows200000/TwitchDropsMiner-updated#project-goals) !!! (❗Delete this part before submitting) - -### Bad Title: (❗Delete this part before submitting) -- Need help -- Cookie Jar -- Received error (working fine prior to reboot) -- I am getting an error when trying to run - -### Good Title: (❗Delete this part before submitting) -- Not finding any Campaigns -- Random crash with GQL error "PersistedQueryNotFound" -- TypeError: 'NoneType' object is not subscriptable -- Drops not being claimed in the intended way, causing some to be missed and no notifications - -## Description -A clear and concise description of what the bug is. (❗Delete this line before submitting) - -## To Reproduce -Steps to reproduce the behavior: -1. Go to '...' -2. Click on '....' -3. Scroll down to '....' -4. See error - -## Expected behavior -A clear and concise description of what you expected to happen. (❗Delete this line before submitting) - -## Observed behavior -A clear and concise description of what actually happened. (❗Delete this line before submitting) - -## Screenshots -If applicable, add screenshots to help explain your problem. (❗Delete this line before submitting) - -## Logs -If you have them, provide any logs. (❗Delete this line before submitting) -``` - (❗Delete this line before submitting) -``` - -## Software info: - - OS: [e.g. Windows 11] - - Build: [e.g. from source, .exe, AppImage] - - Version/Commit: [ Version if release, else commit: e.g. v1.5.0, 54ef767] - -## Additional context -Add any other context about the problem. diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml new file mode 100644 index 00000000..3e92f823 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -0,0 +1,114 @@ +name: Bug report +description: Create a bug report. +labels: ["Bug"] +body: + + + - type: markdown + attributes: + value: | + ## Before submitting an issue, look at the [project goals](https://github.com/Windows200000/TwitchDropsMiner-updated#project-goals)! + + ### Bad Title: + - Need help + - Cookie Jar + - Received error (working fine prior to reboot) + - I am getting an error when trying to run + + ### Good Title: + - Not finding any Campaigns + - Random crash with GQL error "PersistedQueryNotFound" + - TypeError: 'NoneType' object is not subscriptable + - Drops not being claimed in the intended way, causing some to be missed and no notifications + + - type: textarea + attributes: + label: Description + description: A clear and concise description of what the bug is. + placeholder: TDM crashes when I open the `Inventory` tab. + validations: + required: true + + - type: textarea + attributes: + label: To Reproduce + description: Steps to reproduce the behavior. Being able to reliably cause a bug can often result in a quick fix. + placeholder: | + 1. Add Rust Twitch Drops + 2. Reload + 3. Go to Inventory tab + validations: + required: true + + - type: textarea + attributes: + label: Expected behavior + description: What should have happened? + placeholder: The `Inventory` tab shows. + validations: + required: true + + - type: textarea + attributes: + label: Observed behavior + description: What actually happened? + placeholder: TDM stopped responding. + validations: + required: true + + - type: textarea + attributes: + label: Screenshots + description: Add any relevant screenshots. + validations: + required: false + + - type: textarea + attributes: + label: Logs + description: | + If you have them, provide any logs. They can help, even if no error is shown. + Ideally run with `-vvv --debug-gql --debug-ws --log`. + placeholder: | + ``` + 11:35:35: No available channels to watch. Waiting for an ONLINE channel... + 12:35:39: No available channels to watch. Waiting for an ONLINE channel... + 13:35:44: No available channels to watch. Waiting for an ONLINE channel... + 14:35:48: No available channels to watch. Waiting for an ONLINE channel... + 15:33:21: ibai goes ONLINE, switching... + 15:33:21: Watching: ibai + ``` + validations: + required: false + + - type: input + attributes: + label: OS + description: What Operating System are you using? + placeholder: Windows 11 | Linux Mint + validations: + required: true + + - type: input + attributes: + label: Build + description: How are you running TDM? + placeholder: from source | .exe | AppImage + validations: + required: true + + - type: input + attributes: + label: Version/Commit + description: What version are you using? If you are NOT using an official release, enter the commit. + placeholder: v1.5.0 | 54ef767 + validations: + required: true + + - type: textarea + attributes: + label: Additional context + description: Add any other context about the problem. + placeholder: You got to the end, thanks for reporting! ;) + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/feature-request.md b/.github/ISSUE_TEMPLATE/feature-request.md deleted file mode 100644 index 5b45c2b8..00000000 --- a/.github/ISSUE_TEMPLATE/feature-request.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: '' -labels: Enhancement -assignees: '' - ---- - -# Please delete all instructional lines and parts (marked with ❗ and including this heading) before submitting. -- Before submitting an issue, look at the [project goals](https://github.com/Windows200000/TwitchDropsMiner-updated#project-goals) !!! (❗Delete this part before submitting) -- If your issue is specific to one Operating System, consider whether it should be a bug report instead. (❗Delete this line before submitting) - -## Problem being addressed: -Is your feature request related to a problem? If so, provide a clear and concise description of what the problem is. (❗Delete this line before submitting) -e.g. I'm always frustrated when [...] (❗Delete this line before submitting) - -## Proposed solution: -A clear and concise description of what you want to happen. (❗Delete this line before submitting) - -## Alternative: -A clear and concise description of any alternative solutions or features you've considered. (❗Delete this line before submitting) - -## Additional context -Add any other context or screenshots about the feature request here. (❗Delete this line before submitting) diff --git a/.github/ISSUE_TEMPLATE/feature-request.yaml b/.github/ISSUE_TEMPLATE/feature-request.yaml new file mode 100644 index 00000000..63628c3e --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature-request.yaml @@ -0,0 +1,48 @@ +name: Feature request +description: Suggest an idea for TDM. +labels: ["Enhancement"] +body: + + + - type: markdown + attributes: + value: | + ## Before submitting an issue, look at the [project goals](https://github.com/Windows200000/TwitchDropsMiner-updated#project-goals)! + If your issue is specific to one Operating System, consider whether it should be a bug report instead. + Create only **one issue per feature**. This ensures no feature is forgotten. + + ### Bad Title: + - 32-bit | What do you actually want? + - Status Icon in the tray | What should it do? + - Received error (working fine prior to reboot) + - I am getting an error when trying to run + + ### Good Title: + - Create a build for 32-bit Windows + - Exclude impossible campaigns + - TypeError: 'NoneType' object is not subscriptable + - Drops not being claimed in the intended way, causing some to be missed and no notifications + + - type: textarea + attributes: + label: Problem + description: Is your feature request related to a problem? If so, provide a clear and concise description of what the problem is. + placeholder: When I have many Windows open, it can take a while to find TDM. + validations: + required: false + + - type: textarea + attributes: + label: Suggestion(s) + description: What do you want to happen/change. + placeholder: Don't hide tray icon when TDM window is open. + validations: + required: true + + - type: textarea + attributes: + label: Additional notes + description: Add any other context, ideas or screenshots about the feature request here. + placeholder: There should be an option to allways hide/show it. + validations: + required: false From 8ef04a8debb28e6ec0871d704cb30dfc39542b94 Mon Sep 17 00:00:00 2001 From: hiroweeb Date: Sat, 15 Jun 2024 20:35:00 +0000 Subject: [PATCH 23/23] =?UTF-8?q?Translate=20Fran=C3=A7ais.json=20via=20Gi?= =?UTF-8?q?tLocalize?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "lang/Fran\303\247ais.json" | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git "a/lang/Fran\303\247ais.json" "b/lang/Fran\303\247ais.json" index b9753b31..b1ae3755 100644 --- "a/lang/Fran\303\247ais.json" +++ "b/lang/Fran\303\247ais.json" @@ -40,7 +40,6 @@ "terminated": "Terminé", "cleanup": "Nettoyage des canaux...", "gathering": "Recherche de chaînes en direct...", - "switching": "Collecte des chaînes en cours...", "fetching_inventory": "Récupération de l'inventaire...", "fetching_campaigns": "Récupération des campagnes...", "adding_campaigns": "Ajout de la liste des campagnes à l'inventaire... {counter}" @@ -71,7 +70,7 @@ "button": "Se connecter" }, "websocket": { - "name": "État du Websocket", + "name": "État du Websocket", "websocket": "Websocket #{id}:", "initializing": "Initialisation...", "connected": "Connecté", @@ -83,7 +82,7 @@ "progress": { "name": "Progression de la campagne", "drop": "Drop :", - "game": "Jeux :", + "game": "Jeu :", "campaign": "Campagne :", "remaining": "{time} restant", "drop_progress": "Avancement :", @@ -92,7 +91,7 @@ "channels": { "name": "Chaînes", "switch": "Basculer", - "load_points": "Charger des Points", + "load_points": "Charger les points", "online": "EN LIGNE ✔", "pending": "HORS LIGNE ⏳", "offline": "HORS LIGNE ❌",