diff --git a/webui/src/app/app.config.ts b/webui/src/app/app.config.ts index a962241c..a76b4665 100644 --- a/webui/src/app/app.config.ts +++ b/webui/src/app/app.config.ts @@ -55,6 +55,10 @@ export const appConfig: ApplicationConfig = { id: "ar", label: "العربية", }, + { + id: "ca", + label: "Català", + }, { id: "de", label: "Deutsch", diff --git a/webui/src/app/i18n/translations.ts b/webui/src/app/i18n/translations.ts index 983f871f..28aa34c8 100644 --- a/webui/src/app/i18n/translations.ts +++ b/webui/src/app/i18n/translations.ts @@ -1,4 +1,5 @@ import ar from "./translations/ar.json"; +import ca from "./translations/ca.json"; import de from "./translations/de.json"; import en from "./translations/en.json"; import es from "./translations/es.json"; @@ -14,6 +15,7 @@ import zh from "./translations/zh.json"; export default { ar, + ca, de, en, es, diff --git a/webui/src/app/i18n/translations/ca.json b/webui/src/app/i18n/translations/ca.json new file mode 100644 index 00000000..0dc30b22 --- /dev/null +++ b/webui/src/app/i18n/translations/ca.json @@ -0,0 +1,295 @@ +{ + "content_types": { + "plural": { + "all": "Tot", + "audiobook": "Audiollibres", + "comic": "Còmics", + "ebook": "Llibres electrònics", + "movie": "Pel·lícules", + "music": "Música", + "null": "Desconegut", + "software": "Programari", + "tv_show": "Programes de TV", + "xxx": "XXX" + }, + "singular": { + "audiobook": "Audiollibre", + "comic": "Còmic", + "ebook": "Llibre electrònic", + "movie": "Pel·lícula", + "music": "Música", + "software": "Desconegut", + "tv_show": "Programa de TV", + "xxx": "XXX" + } + }, + "dashboard": { + "interval": { + "all": "Tot", + "days": "Dies", + "days_1": "1 dia", + "hours": "Hores", + "hours_1": "1 hora", + "hours_12": "12 hores", + "hours_6": "6 hores", + "minutes": "Minuts", + "minutes_1": "1 minut", + "minutes_15": "15 minuts", + "minutes_30": "30 minuts", + "minutes_5": "5 minuts", + "off": "Apagat", + "seconds_10": "10 segons", + "seconds_30": "30 segons", + "weeks_1": "1 setmana" + }, + "metrics": { + "event": "Esdeveniment", + "resolution": "Resolució", + "throughput": "Rendiment", + "timeframe": "Període de temps", + "toggle_legend": "Mostra o oculta la llegenda" + }, + "queues": { + "created": "Creat", + "created_at": "Creació", + "enqueue_jobs": "Encua les tasques", + "enqueue_torrent_processing_batch": "Encua el lot de processament de torrents", + "failed": "Fallat", + "jobs_enqueued": "Tasques encuades", + "latency": "Latència", + "payload": "Contingut", + "priority": "Prioritat", + "process_orphaned_torrents_only": "Processa només els torrents orfes", + "processed": "Processat", + "purge_jobs": "Purga les tasques", + "purge_queue_jobs": "Purga les cues de tasques", + "queue": "Cua", + "queue_purged": "Cua purgada", + "queues": "Cues", + "ran_at": "Executat a", + "total_counts_by_status": "Recompte total per estat" + } + }, + "facets": { + "content_type": "Tipus de Contingut", + "file_type": "Tipus de Fitxer", + "genre": "Gènere", + "language": "Idioma", + "torrent_source": "Origen del Torrent", + "torrent_tag": "Etiqueta del Torrent", + "video_resolution": "Resolució del Vídeo", + "video_source": "Origen del Vídeo" + }, + "file_types": { + "archive": "Arxiu", + "audio": "Àudio", + "data": "Dades", + "document": "Document", + "image": "Imatge", + "software": "Programari", + "subtitles": "Subtítols", + "unknown": "Desconegut", + "video": "Vídeo" + }, + "general": { + "all": "Tot", + "dismiss": "Descarta", + "error": "Error", + "none": "Cap", + "page_not_found": "Pàgina no trobada", + "refresh": "Actualitza", + "status": "Estat" + }, + "health": { + "bitmagnet_is_status": "bitmagnet està {{status}}", + "check_failed_with_error": "Ha fallat la comprovació amb un error", + "component": "Component", + "components": { + "dht": "DHT", + "postgres": "Postgres", + "tmdb": "TMDB" + }, + "statuses": { + "degraded": "Degradat", + "down": "Caigut", + "error": "Error", + "inactive": "Inactiu", + "started": "Iniciat", + "unknown": "Pendent", + "up": "Actiu" + }, + "summary": "Resum de salut", + "worker": "Treballador", + "workers": { + "dht_crawler": "Rastrejador DHT", + "http_server": "Servidor HTTP", + "queue_server": "Servidor de cues" + } + }, + "languages": { + "af": "Afrikaans", + "ar": "Àrab", + "az": "Àzeri", + "be": "Belarús", + "bg": "Búlgar", + "bs": "Bosnià", + "ca": "Català", + "ce": "Txetxè", + "co": "Cors", + "cs": "Txec", + "cy": "Gal·lès", + "da": "Danès", + "de": "Alemany", + "el": "Grec", + "en": "Anglès", + "es": "Castellà", + "et": "Estonià", + "eu": "Basc", + "fa": "Persa", + "fi": "Finès", + "fr": "Francès", + "he": "Hebreu", + "hi": "Hindi", + "hr": "Croat", + "hu": "Hongarès", + "hy": "Armeni", + "id": "Indonesi", + "is": "Islandès", + "it": "Italià", + "ja": "Japonès", + "ka": "Georgià", + "ko": "Coreà", + "ku": "Kurd", + "lt": "Lituà", + "lv": "Letó", + "mi": "Maori", + "mk": "Macedònic", + "ml": "Malaiàlam", + "mn": "Mongol", + "ms": "Malai", + "mt": "Maltès", + "nl": "Neerlandès", + "no": "Noruec", + "pl": "Polonès", + "pt": "Portuguès", + "ro": "Romanès", + "ru": "Rus", + "sa": "Sànscrit", + "sk": "Eslovac", + "sl": "Eslovè", + "sm": "Samoà", + "so": "Somali", + "sr": "Serbi", + "sv": "Suec", + "ta": "Tàmil", + "th": "Tailandès", + "tr": "Turc", + "uk": "Ucraïnès", + "vi": "Vietnamita", + "yi": "Ídix", + "zh": "Xinès", + "zu": "Zulú" + }, + "layout": { + "bitmagnet_on_service": "bitmagnet a {{service}}", + "change_theme": "Canviar el tema", + "external_links": "Enllaços externs", + "sponsor": "Patrocina", + "support_bitmagnet": "Ajuda a bitmagnet", + "translate": "Tradueix" + }, + "paginator": { + "first_page": "Primera pàgina", + "last_page": "Elements per pàgina", + "next_page": "Pàgina següent", + "page_x": "Pàgina {{x}}", + "previous_page": "Pàgina anterior", + "x_to_y": "{{x}} a {{y}}", + "x_to_y_of_z": "{{x}} a {{y}} de {{z}}" + }, + "routes": { + "admin": "Administració", + "dashboard": "Tauler de control", + "home": "Inici", + "jobs": "Tasques", + "queues": "Cues", + "torrents": "Torrents", + "visualize": "Visualitza" + }, + "torrents": { + "classification": "Classificació", + "clear_search": "Esborrar la cerca", + "copy": "Copiar", + "copy_to_clipboard": "Copia al porta-retalls", + "delete": "Esborrar", + "delete_action_cannot_be_undone": "Aquesta acció no es pot desfer", + "delete_are_you_sure": "Estàs segur que vols esborrar aquest torrent?", + "deselect_all": "Desselecciona-ho tot", + "edit_tags": "Edita l'etiqueta", + "episodes": "Episodis", + "external_links": "Enllaços externs", + "file_index": "Índex del fitxer", + "file_path": "Camí del fitxer", + "file_size": "Mida del fitxer", + "file_type": "Tipus de fitxer", + "files": "Fitxers", + "files_no_info": "{{count}} fitxers", + "genres": "Gèneres", + "info_hash": "Informació del resum", + "info_hashes": "Informació dels resums", + "languages": "Idiomes", + "leechers": "Sangoneres", + "magnet": "Magnet", + "magnet_links": "Enllaços magnet", + "new_tag": "Etiqueta nova", + "order_by": "Ordenar per", + "order_direction_toggle": "Commuta la direcció", + "ordering": { + "files_count": "Recompte de fitxers", + "info_hash": "Informació del resum", + "leechers": "Sangoneres", + "name": "Nom", + "published_at": "Publicat el", + "relevance": "Rellevància", + "seeders": "Sembradors", + "size": "Mida", + "updated_at": "Actualitzat el" + }, + "original_release_date": "Data de llançament original", + "permalink": "Enllaç permanent", + "poster": "Pòster", + "published": "Publicat", + "rating": "Valoració", + "refresh": "Actualitza els resultats", + "reprocess": { + "force_rematch": "Forçar nova coincidència del contingut ja coincident", + "match_content_by_external_api_search": "Fes coincidir el contingut a través d'una cerca d'API externa", + "match_content_by_local_search": "Fes conicidir a través d'una cerca local", + "reprocess": "Tornar a processar" + }, + "s_l": "S / S", + "search": "Cerca", + "seeders": "Sembradors", + "select_all": "Seleccionar-ho tot", + "showing_x_of_y_files": "Mostrant {{x}} de {{y}} fitxers", + "size": "Mida", + "source": "Origen del torrent", + "summary": "Resum", + "tags": { + "delete": "Esborrar etiquetes", + "delete_tip": "Esborrar etiquetes dels torrents seleccionats", + "placeholder": "Etiqueta...", + "put": "Afegeix etiquetes", + "put_tip": "Afegeix etiquetes als torrents seleccionats", + "set": "Reemplaça etiquetes", + "set_tip": "Reemplaça les etiquetes dels torrents seleccionats" + }, + "title": "Títol", + "toggle_drawer": "Mostra o oculta el calaix", + "votes_count_n": "{{count}} vots" + }, + "version": { + "bitmagnet_version": "versió de bitmagnet {{version}}", + "unknown": "desconegut" + } +} \ No newline at end of file diff --git a/webui/transloco.config.js b/webui/transloco.config.js index 2ee139a8..5b1b3cfd 100644 --- a/webui/transloco.config.js +++ b/webui/transloco.config.js @@ -2,6 +2,7 @@ module.exports = { rootTranslationsPath: "src/app/i18n/translations/", langs: [ "ar", + "ca", "es", "de", "en",