diff --git a/.github/workflows/potential-duplicates.yml b/.github/workflows/potential-duplicates.yml new file mode 100644 index 00000000..77b15e6e --- /dev/null +++ b/.github/workflows/potential-duplicates.yml @@ -0,0 +1,33 @@ +name: Detect Potential Duplicates Issues +on: + issues: + types: + - opened + - edited +jobs: + run: + runs-on: ubuntu-latest + steps: + - uses: wow-actions/potential-duplicates@v1 + with: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # Issue title filter work with anymatch https://www.npmjs.com/package/anymatch. + # Any matched issue will stop detection immediately. + # You can specify multi filters in each line. + filter: '' + # Exclude keywords in title before detecting. + exclude: '' + # Label to set, when potential duplicates are detected. + label: potential-duplicate + # Get issues with state to compare. Supported state: 'all', 'closed', 'open'. + state: all + # If similarity is higher than this threshold([0,1]), issue will be marked as duplicate. + threshold: 0.6 + # Reactions to be add to comment when potential duplicates are detected. + # Available reactions: "-1", "+1", "confused", "laugh", "heart", "hooray", "rocket", "eyes" + reactions: eyes + # Comment to post when potential duplicates are detected. + comment: > + Potential duplicates: {{#issues}} + - [#{{ number }}] {{ title }} ({{ accuracy }}%) + {{/issues}} \ No newline at end of file diff --git a/lib/collections/language_codes.dart b/lib/collections/language_codes.dart index 4f1de031..8e3f7b43 100644 --- a/lib/collections/language_codes.dart +++ b/lib/collections/language_codes.dart @@ -112,10 +112,10 @@ abstract class LanguageLocals { // name: "Burmese", // nativeName: "ဗမာစာ", // ), - // "ca": const ISOLanguageName( - // name: "Catalan; Valencian", - // nativeName: "Català", - // ), + "ca": const ISOLanguageName( + name: "Catalan", + nativeName: "Català", + ), // "ch": const ISOLanguageName( // name: "Chamorro", // nativeName: "Chamoru", diff --git a/lib/l10n/app_ca.arb b/lib/l10n/app_ca.arb new file mode 100644 index 00000000..11413af2 --- /dev/null +++ b/lib/l10n/app_ca.arb @@ -0,0 +1,257 @@ +{ + "guest": "Convidat", + "browse": "Explorar", + "search": "Cercar", + "library": "Biblioteca", + "lyrics": "Lletres", + "settings": "Configuració", + "genre_categories_filter": "Filtrar categories o gèneres...", + "genre": "Gènere", + "personalized": "Personalizat", + "featured": "Destacat", + "new_releases": "Nous Llançaments", + "songs": "Cançons", + "playing_track": "Reproduint {track}", + "queue_clear_alert": "Això eliminarà la llista actual. S'eliminaran {track_length} cançons.\n¿Vol continuar?", + "load_more": "Carregar més", + "playlists": "Llistes de reproducció", + "artists": "Artistes", + "albums": "Àlbums", + "tracks": "Cançons", + "downloads": "Descàrregues", + "filter_playlists": "Filtrar les seves llistes de reproducció...", + "liked_tracks": "Cançons Preferides", + "liked_tracks_description": "Totes les seves cançons preferides", + "create_playlist": "Crear Llista de reproducció", + "create_a_playlist": "Crear una llista de reproducció", + "create": "Crear", + "cancel": "Cancel·lar", + "playlist_name": "Nom de la llista", + "name_of_playlist": "Nom de la lista", + "description": "Descripció", + "public": "Pública", + "collaborative": "Col·laborativa", + "search_local_tracks": "Cercar cançons locals...", + "play": "Reproduir", + "delete": "Eliminar", + "none": "Cap", + "sort_a_z": "Ordenar de la A a la Z", + "sort_z_a": "Ordenar de la Z a la A", + "sort_artist": "Ordenar per Artista", + "sort_album": "Ordenar per Àlbum", + "sort_tracks": "Ordenar Cançons", + "currently_downloading": "Descàrrega en curs ({tracks_length})", + "cancel_all": "Cancel·lar todo", + "filter_artist": "Filtrar artistes...", + "followers": "{followers} Seguidors", + "add_artist_to_blacklist": "Afegir artista a la llista negra", + "top_tracks": "Millors Cançons", + "fans_also_like": "Als fans també els hi agrada", + "loading": "Carregant...", + "artist": "Artista", + "blacklisted": "A la llista negra", + "following": "Seguint", + "follow": "Seguir", + "artist_url_copied": "URL de l'artista copiada al porta-retalls ", + "added_to_queue": "{tracks} cançons afegides a la llista", + "filter_albums": "Filtrar àlbums...", + "synced": "Sincronitzat", + "plain": "Normal", + "shuffle": "Aleatori", + "search_tracks": "Buscar cançons...", + "released": "Publicat", + "error": "Error {error}", + "title": "Títul", + "time": "Duració", + "more_actions": "Més accios", + "download_count": "Descarregar ({count})", + "add_count_to_playlist": "Afegir ({count}) a la llista de reproducció", + "add_count_to_queue": "Agregar ({count}) a la llista", + "play_count_next": "Reproduir ({count}) a continuació", + "album": "Àlbum", + "copied_to_clipboard": "{data} copiado al porta-retalls", + "add_to_following_playlists": "Afegir {track} a les llistes de reproducció següents", + "add": "Afegir", + "added_track_to_queue": "{track} afegida a la llista", + "add_to_queue": "Afegir a la llista", + "track_will_play_next": "{track} es reproduirà a continuació", + "play_next": "Reproduir a continuació", + "removed_track_from_queue": "{track} eliminada de la llista", + "remove_from_queue": "Eliminar de la llista", + "remove_from_favorites": "Eliminar de preferits", + "save_as_favorite": "Guardar a preferits", + "add_to_playlist": "Afegir a la llista de reproducció", + "remove_from_playlist": "Eliminar de la llista de reproducció", + "add_to_blacklist": "Afegir a la llista negra", + "remove_from_blacklist": "Eliminar de la llista negra", + "share": "Compartir", + "mini_player": "Reproductor Petit", + "slide_to_seek": "Lliscar per cercar endavant o endarrere", + "shuffle_playlist": "Mesclar la llista de reproducció", + "unshuffle_playlist": "No mesclar la llista de reproducció", + "previous_track": "Cançó anterior", + "next_track": "Canço següent", + "pause_playback": "Pausar reproducció", + "resume_playback": "Continuar reproducció", + "loop_track": "Repetir canço", + "repeat_playlist": "Repetir la llista de reproducció", + "queue": "Llista", + "alternative_track_sources": "Fonts alternatives de cançons", + "download_track": "Descarregar cançó", + "tracks_in_queue": "{tracks} cançons a la llista", + "clear_all": "Netejar tot", + "show_hide_ui_on_hover": "Mostrar/Ocultar interfície al passar el cursor", + "always_on_top": "Sempre visible", + "exit_mini_player": "Sortir del reproductor petit", + "download_location": "Ubicació de descàrregues", + "account": "Compte", + "login_with_spotify": "Iniciar sesión amb el seu compte de Spotify", + "connect_with_spotify": "Connectar amb Spotify", + "logout": "Tancar sessió", + "logout_of_this_account": "Tancar sessió d'aquest compte", + "language_region": "Idioma i Regió", + "language": "Idioma", + "system_default": "Predeterminat del sistema", + "market_place_region": "Regió de la botiga", + "recommendation_country": "País de recomanació", + "appearance": "Apariència", + "layout_mode": "Mode de disseny", + "override_layout_settings": "Anul·leu la configuració del mode de disseny responsiu", + "adaptive": "Adaptable", + "compact": "Compacte", + "extended": "Extès", + "theme": "Tema", + "dark": "Fosc", + "light": "Clar", + "system": "Sistema", + "accent_color": "Color d'accent", + "sync_album_color": "Sincronitzar color de l'àlbum", + "sync_album_color_description": "Utilitza el color dominant de l'álbum com a color d'accent", + "playback": "Reproducció", + "audio_quality": "Qualitat d'àudio", + "high": "Alta", + "low": "Baixa", + "pre_download_play": "Descàrrega prèvia i reproduir", + "pre_download_play_description": "En lloc de transmetre l'àudio, descarrega bytes i ho reprodueix (recomendat per usuaris amb un bon ample de banda)", + "skip_non_music": "Ometre segments que no son música (SponsorBlock)", + "blacklist_description": "Cançons i artistes de la llista negra", + "wait_for_download_to_finish": "Si us plau, esperi que acabi la descàrrega actual", + "download_lyrics": "Descarregar lletres amb les cançons", + "desktop": "Escriptori", + "close_behavior": "Comportament al tancar", + "close": "Tancar", + "minimize_to_tray": "Minimizar a la safata del sistema", + "show_tray_icon": "Mostrar icona a la safata del sistema", + "about": "Sobre", + "u_love_spotube": "Sabem que li encanta Spotube", + "check_for_updates": "Buscar actualitzacions", + "about_spotube": "Sobre Spotube", + "blacklist": "Llista negra", + "please_sponsor": "Si us plau, patrocina/dona", + "spotube_description": "Spotube, un client lleuger, multiplataforma i gratuït de Spotify", + "version": "Versió", + "build_number": "Número de compilació", + "founder": "Fundador", + "repository": "Repositori", + "bug_issues": "Errors i problemes", + "made_with": "Fet amb ❤️ a Bangladesh🇧🇩", + "kingkor_roy_tirtho": "Kingkor Roy Tirtho", + "copyright": "© 2021-{current_year} Kingkor Roy Tirtho", + "license": "Llicència", + "add_spotify_credentials": "Afegir les seves credencials de Spotify per començar", + "credentials_will_not_be_shared_disclaimer": "No es preocupi, les seves credencials no seran recollides ni compartides amb ningú", + "know_how_to_login": "No sap com fer-ho?", + "follow_step_by_step_guide": "Segueixi la guia pas a pas", + "spotify_cookie": "Cookie de Spotify {name}", + "cookie_name_cookie": "Cookie {name}", + "fill_in_all_fields": "Si us plau, completi tots els camps", + "submit": "Enviar", + "exit": "Sortir", + "previous": "Anterior", + "next": "Següent", + "done": "Fet", + "step_1": "Pas 1", + "first_go_to": "Primer, vagi a", + "login_if_not_logged_in": "i iniciï sessió/registri el seu compte si no ho ha fet encara", + "step_2": "Pas 2", + "step_2_steps": "1. Una vegada que hagi iniciat sessió, premi F12 o faci clic dret amb el ratolí > Inspeccionar per obrir les eines de desenvolulpador del navegador.\n2. Després vagi a la pestanya \"Application\" (Chrome, Edge, Brave, etc.) o \"Storage\" (Firefox, Palemoon, etc.)\n3. Vagi a la secció \"Cookies\" i després a la subsecció \"https://accounts.spotify.com\"", + "step_3": "Pas 3", + "step_3_steps": "Copiï els valors de les Cookies \"sp_dc\" i \"sp_key\" (o sp_gaid)", + "success_emoji": "Èxit! 🥳", + "success_message": "Ara has iniciat sessió amb èxit al teu compte de Spotify. Bona feina!", + "step_4": "Pas 4", + "step_4_steps": "Enganxi els valors coppiats de \"sp_dc\" i \"sp_key\" (o sp_gaid) en els camps respectius", + "something_went_wrong": "Quelcom ha sortit malament", + "piped_instance": "Instància del servidor Piped", + "piped_description": "La instància del servidor Piped a utilitzar per la coincidència de cançons", + "piped_warning": "Algunes poden no funcionar bé, utilitzi-les sota el seu propi risc", + "generate_playlist": "Generar Llista de reproducció", + "track_exists": "La cançó {track} ja existeix", + "replace_downloaded_tracks": "Substituir totes les cançons descarregades", + "skip_download_tracks": "Ometre la descàrrega de totes les cançons descarregades", + "do_you_want_to_replace": "Vol substituir la cançó existent?", + "replace": "Substituir", + "skip": "Ometre", + "select_up_to_count_type": "Seleccionar fins{count} {type}", + "select_genres": "Seleccionar Gèneres", + "add_genres": "Afegir Gèneres", + "country": "País", + "number_of_tracks_generate": "Número de cançons a generar", + "acousticness": "Acústica", + "danceability": "Ballabilitat", + "energy": "Energia", + "instrumentalness": "Instrumental", + "liveness": "En viu", + "loudness": "Sonoritat", + "speechiness": "Parla", + "valence": "Valencia", + "popularity": "Popularidad", + "key": "To", + "duration": "Duració (s)", + "tempo": "Tempo (BPM)", + "mode": "Mode", + "time_signature": "Signatura de temps", + "short": "Curt", + "medium": "Mig", + "long": "Llarg", + "min": "Mín.", + "max": "Màx.", + "target": "Objetiu", + "moderate": "Moderat", + "deselect_all": "Desseleccionar tot", + "select_all": "Seleccionar tot", + "are_you_sure": "Està segur?", + "generating_playlist": "Generant la seva llista de reproducció personalitzada...", + "selected_count_tracks": "Cançons {count} seleccionades", + "download_warning": "Si descarrega totes les cançons de cop, està piratejant música clarament i causant dany a la societat creativa de la música. Espero que sigui conscient d'això i sempre intenti respectar i recolzar la forta feina dels artístes", + "download_ip_ban_warning": "Per cert, la seva IP pot ser bloquejada a YouTube degut a solicituds de descàrrega excessives. El bloqueig d'IP vol dir que no podrà utilitzar YouTube (fins i tot si ha iniciat sessió) durant un mínim de 2-3 meses desde esa dirección IP. I Spotube no es fa responsable si això succeeix en alguna ocasió", + "by_clicking_accept_terms": "Al fer clic a 'Acceptar', acepta els següents termes:", + "download_agreement_1": "Se que estic piratejant música. Sóc dolent", + "download_agreement_2": "Recolzaré l'artista quan pugui i només ho faig perquè no tinc diners per comprar el seu art", + "download_agreement_3": "Sóc completament conscient que la meva IP pot ser bloqueada per YouTube i no responsabilizo a Spotube ni als seus propietaris/contribuents per qualsevol incident causat per la meva acció actual", + "decline": "Rebutjar", + "accept": "Acceptar", + "details": "Detalls", + "youtube": "YouTube", + "channel": "Canal", + "likes": "M'agrada", + "dislikes": "No m'agrada", + "views": "Vistes", + "streamUrl": "URL del streaming", + "stop": "Parar", + "sort_newest": "Ordenar per més noves", + "sort_oldest": "Ordenar per més antigues", + "sleep_timer": "Temporitzador d'apagat", + "mins": "{minutes} minuts", + "hours": "{hours} hores", + "hour": "{hours} hora", + "custom_hours": "Hores personalitzades", + "logs": "Registres", + "developers": "Desenvolupadors", + "not_logged_in": "No ha iniciat sesió", + "search_mode": "Mode de cerca", + "youtube_api_type": "Tipus d'API de YouTube", + "ok": "OK", + "failed_to_encrypt": "Error al xifrar", + "encryption_failed_warning": "Spotube utilitza el xifrado per emmagatzemar les seves dades de forma segura. Però ha fallat. Per tant, tornarà a un emmagatzament no segur\nSi estè utilizant Linux, asseguri's de tenir instal·lats els serveis secrets com gnome-keyring, kde-wallet i keepassxc" +} \ No newline at end of file diff --git a/lib/l10n/l10n.dart b/lib/l10n/l10n.dart index b7b3caf5..db83e059 100644 --- a/lib/l10n/l10n.dart +++ b/lib/l10n/l10n.dart @@ -11,6 +11,7 @@ class L10n { const Locale('en'), const Locale('bn', 'BD'), const Locale('de', 'GE'), + const Locale('ca', 'AD'), const Locale('es', 'ES'), const Locale('fr', 'FR'), const Locale('hi', 'IN'),