diff --git a/locale/da_DK.php b/locale/da_DK.php index bf8a40254..955f71f58 100644 --- a/locale/da_DK.php +++ b/locale/da_DK.php @@ -1,1441 +1,1441 @@ Embed a video link->Choose Direct audio-link (mp3 or ogg)'] = "Mine videoer-> Integrer et videolink-> Vælg direkte lydlink (mp3 eller ogg)"; $t['My videos->Embed a video link->Embedded'] = "Mine videoer-> Integrer et videolink-> Integreret"; $t['My videos->Embed a video->Choose Direct video-link (mp4)'] = "Mine videoer-> Integrer en video-> Vælg direkte videolink (mp4)"; $t['Name can\'t be blank'] = "Navnet kan ikke være tomt"; $t['Name'] = "Navn"; $t['Network'] = "Netværk"; $t['Never'] = "Aldrig"; $t['New Category'] = "Ny kategori"; $t['New Key'] = "Ny nøgle"; $t['New Meet'] = "Nyt møde"; $t['New Password'] = "nyt kodeord"; $t['New User Groups'] = "Nye brugergrupper"; $t['New User'] = "Ny bruger"; $t['New program'] = "Nyt program"; $t['New user SignUp Automatic Response'] = "Ny bruger SignUp Automatic Response"; $t['New'] = "Ny"; $t['Next event starts in: '] = "Næste begivenhed starter om:"; $t['Next page'] = "Næste side"; $t['Next video NOT set'] = "Næste video er IKKE indstillet"; $t['Next video'] = "Næste video"; $t['Next'] = "Næste"; $t['No data available in table'] = "Ingen data tilgængelige i tabellen"; $t['No matching records found'] = "Ingen matchende poster fundet"; $t['No more pages to load'] = "Ingen flere sider at indlæse"; $t['No one 17 and under admitted'] = "Ingen 17 og derunder er optaget"; $t['No results found!'] = "Ingen resultater fundet!"; $t['No'] = "Ingen"; $t['Non admin users can NOT download videos'] = "Ikke-admin-brugere kan IKKE downloade videoer"; $t['Non admin users can download videos'] = "Ikke-admin-brugere kan downloade videoer"; $t['None (Parent)'] = "Ingen (forælder)"; $t['None'] = "Ingen"; $t['Not Rated'] = "Ikke bedømt"; $t['Notes'] = "Bemærkninger"; $t['Notify Subscribers'] = "Underret abonnenter"; $t['Now Playing'] = "Spiller nu"; $t['Now'] = "Nu"; $t['OFFLINE'] = "OFFLINE"; $t['ONLINE'] = "ONLINE"; $t['On the right site, you find various symbols'] = "På det rigtige sted finder du forskellige symboler"; $t['One per line'] = "En pr. Linje"; $t['Only Paid Users Can see'] = "Kun betalte brugere kan se"; $t['Only direct mp3- or ogg-files - if you download it with the link, it should be a movie-file. No google-drive or stream-hoster. Also, do not mix https and http.'] = "Kun direkte mp3- og ogg-filer - hvis du downloader det med linket, skal det være en filmfil. Intet google-drev eller stream-hoster. Bland heller ikke https og http."; $t['Only direct mp4-files - if you download it with the link, it should be a movie-file. No google-drive or stream-hoster. Also, do not mix https and http.'] = "Kun direkte mp4-filer - hvis du downloader det med linket, skal det være en filmfil. Intet google-drev eller stream-hoster. Bland heller ikke https og http."; $t['Only verified users can upload'] = "Kun bekræftede brugere kan uploade"; $t['Only you can see this, because you are a admin.'] = "Kun du kan se dette, fordi du er administrator."; $t['Opacity'] = "Gennemsigtighed"; $t['Open Chat'] = "Åbn chat"; $t['Open in a new Tab'] = "Åbn i en ny fane"; $t['Open pop-up Login window'] = "Åbn pop op-vinduet Login"; $t['Ops!'] = "Ops!"; $t['Option-name'] = "Option-navn"; $t['Order'] = "Bestille"; $t['Organize'] = "Organisere"; $t['Original words found'] = "Oprindelige ord fundet"; $t['Other Chats'] = "Andre chats"; $t['Other Files'] = "Andre filer"; $t['Other'] = "Andet"; $t['Owner'] = "Ejer"; $t['PC'] = "PC"; $t['Page %d'] = "Side% d"; $t['Page'] = "Side"; $t['Paid Content'] = "Betalt indhold"; $t['Parameters'] = "Parametre"; $t['Parent-Category'] = "Forældrekategori"; $t['Parental Guidance Suggested'] = "Forældrevejledning foreslået"; $t['Participants'] = "Deltagere"; $t['Password Protected'] = "Adgangskodebeskyttet"; $t['Password'] = "Adgangskode"; $t['Past'] = "Forbi"; $t['Paste here the translated words, one each line'] = "Indsæt her de oversatte ord, en hver linje"; $t['Pay Per View'] = "Betal pr. Visning"; $t['Pay User per Video View'] = "Betal bruger pr. Videovisning"; $t['Pay with my balance'] = "Betal med min saldo"; $t['Pay-Per-View Live'] = "Betal pr. Visning live"; $t['Pay-Per-View'] = "Betal pr. Visning"; $t['PayPerView Info'] = "PayPerView Info"; $t['PayPerViewLive'] = "PayPerViewLive"; $t['Payment Success'] = "Betalingssucces"; $t['Payment complete!'] = "Betalingen er gennemført!"; $t['Payments Settings'] = "Betalingsindstillinger"; $t['Pending Requests'] = "Afventende anmodninger"; $t['Percentage Site Owner'] = "Procent webstedsejer"; $t['Percentage User'] = "Procentandel bruger"; $t['Permanent Link'] = "Permanent link"; $t['Permission Denied'] = "Adgang nægtet"; $t['Permission denied'] = "Adgang nægtet"; $t['Permissions'] = "Tilladelser"; $t['Permition denied'] = "Tilladelse nægtet"; $t['Personal Info'] = "Personlig information"; $t['Place a Link to play'] = "Placer et link til at spille"; $t['Place here the URL of the site you want to clone'] = "Placer her URL'en til det websted, du vil klone"; $t['Plan'] = "Plan"; $t['Plans'] = "Planer"; $t['Play All'] = "Spil alt"; $t['Play Live'] = "Spil live"; $t['Play Video'] = "Afspil video"; $t['Play a Link'] = "Afspil et link"; $t['Play this Program live now'] = "Afspil dette program live nu"; $t['Play'] = "Spil"; $t['PlayLists'] = "Afspilningslister"; $t['Player Sample'] = "Spillereksempel"; $t['Player Server'] = "Player Server"; $t['Player Skin'] = "Player Skin"; $t['Player URL'] = "Spillerens URL"; $t['PlayerServer'] = "PlayerServer"; $t['Playlist is empty or does not exist'] = "Afspilningslisten er tom eller findes ikke"; $t['Playlists Schedules'] = "Afspilningslister"; $t['Please Login in the window pop up'] = "Log ind i vinduet, dukker op"; $t['Please Verify Your E-mail '] = "Bekræft din e-mail"; $t['Please Wait ...'] = "Vent venligst ..."; $t['Please Wait'] = "Vent venligst"; $t['Please Wait, we are checking the lives'] = "Vent, vi kontrollerer livene"; $t['Please check your email for 2FA confirmation '] = "Tjek din e-mail for 2FA-bekræftelse"; $t['Please choose a plan!'] = "Vælg en plan!"; $t['Please forgive us for bothering you, but unfortunately you do not have this plugin yet. But do not hesitate to purchase it in our online store'] = "Tilgiv os for at genere dig, men desværre har du ikke dette plugin endnu. Men tøv ikke med at købe det i vores onlinebutik"; $t['Please login first'] = "Log ind først"; $t['Please login to donate'] = "Log ind for at donere"; $t['Please provide a title'] = "Angiv en titel"; $t['Please type your password'] = "Indtast din adgangskode"; $t['Please type your username'] = "Indtast dit brugernavn"; $t['Please, login before join a meeting'] = "Log ind, inden du deltager i et møde"; $t['Plugin Form'] = "Plugin-formular"; $t['Plugin Store'] = "Plugin butik"; $t['Plugin disabled'] = "Plugin deaktiveret"; $t['Plugin'] = "Plugin"; $t['Plugins Id'] = "Plugins-id"; $t['Plugins Store'] = "Plugins butik"; $t['Plugins'] = "Plugins"; $t['Portrait Poster'] = "Portrætplakat"; $t['Position'] = "Position"; $t['Poster Image'] = "Plakatbillede"; $t['Poster'] = "Plakat"; $t['Pre approved connection'] = "Forud godkendt forbindelse"; $t['Predefined Category'] = "Foruddefineret kategori"; $t['Prevent Data Loss'] = "Forhindre tab af data"; $t['Preview-picture and gif'] = "Preview-billede og gif"; $t['Previous'] = "Tidligere"; $t['Price'] = "Pris"; $t['Prints Left'] = "Udskriver til venstre"; $t['Privacy'] = "Privatliv"; $t['Private'] = "Privat"; $t['Process Payment'] = "Behandle betaling"; $t['Process Start'] = "Processtart"; $t['Processing...'] = "Forarbejdning..."; $t['Profile Photo'] = "Profilbillede"; $t['Program title'] = "Programtitel"; $t['Program'] = "Program"; $t['Programs does not belong to you'] = "Programmer tilhører ikke dig"; $t['Programs id error'] = "Programmer-id-fejl"; $t['Programs plugin not enabled'] = "Programmer-plugin er ikke aktiveret"; $t['Promote My Channel'] = "Markedsfør min kanal"; $t['Promote Videos'] = "Fremme videoer"; $t['Promote your channel'] = "Markedsfør din kanal"; $t['Promote your videos'] = "Promover dine videoer"; $t['Promoted'] = "Forfremmet"; $t['ProtectLive'] = "ProtectLive"; $t['Public Media'] = "Offentlige medier"; $t['Public'] = "Offentlig"; $t['Purchases'] = "Køb"; $t['Queue Position'] = "Køposition"; $t['R Rating'] = "R-vurdering"; $t['RSS Feed'] = "RSS-feed"; $t['RTMP'] = "RTMP"; $t['Random'] = "Tilfældig"; $t['Rating'] = "Bedømmelse"; $t['Recover Password'] = "Gendan adgangskode"; $t['Recover password could not be saved!'] = "Gendan adgangskode kunne ikke gemmes!"; $t['Recover password does not match'] = "Gendan adgangskode stemmer ikke overens"; $t['Recover password!'] = "Gendan adgangskode!"; $t['Refresh'] = "Opdater"; $t['Region'] = "Område"; $t['Regular Configuration'] = "Regelmæssig konfiguration"; $t['Regular User'] = "Almindelig bruger"; $t['Reinstall tables'] = "Geninstaller tabeller"; $t['Remember me'] = "Husk mig"; $t['Remove Autoplay Next Video'] = "Fjern Autoplay Next Video"; $t['Remove Ban From Chat'] = "Fjern Ban From Chat"; $t['Remove Branding'] = "Fjern branding"; $t['Remove Poster'] = "Fjern plakat"; $t['Remove Serie'] = "Fjern Serie"; $t['Remove Thumbs'] = "Fjern tommelfingrene"; $t['Remove User Group'] = "Fjern brugergruppe"; $t['Remove Video'] = "Fjern video"; $t['Remove thumbs for this media'] = "Fjern tommelfingrene til dette medie"; $t['Remove'] = "Fjerne"; $t['Rename'] = "Omdøb"; $t['Repeat'] = "Gentage"; $t['Reply'] = "Svar"; $t['Report this video'] = "Rapporter denne video"; $t['Report'] = "Rapport"; $t['Request to approve connection'] = "Anmodning om godkendelse af forbindelse"; $t['Reset Key'] = "Nulstil nøgle"; $t['Reset password'] = "Nulstille kodeord"; $t['Reset'] = "Nulstil"; $t['Resolution'] = "Løsning"; $t['Restream'] = "Restream"; $t['Restreamer URL'] = "Restreamer URL"; $t['Restricted'] = "Begrænset"; $t['Revert Descriptions to NON-HTML'] = "Vend beskrivelser til NON-HTML"; $t['Roku Json'] = "Roku Json"; $t['Romans 11:36'] = "Romerne 11:36"; $t['Rtmp Server'] = "Rtmp-server"; $t['Run Update Script'] = "Kør Update Script"; $t['S3, B2, FTP settings'] = "S3, B2, FTP-indstillinger"; $t['SMTP Host'] = "SMTP-vært"; $t['SMTP Password'] = "SMTP-adgangskode"; $t['SMTP Port'] = "SMTP-port"; $t['SMTP Secure'] = "SMTP-sikker"; $t['SMTP Username'] = "SMTP-brugernavn"; $t['Save Ad Code'] = "Gem annoncekode"; $t['Save Extra Info'] = "Gem ekstra information"; $t['Save File'] = "Gem filen"; $t['Save Plan'] = "Gem plan"; $t['Save Stream'] = "Gem strøm"; $t['Save Video'] = "Gem video"; $t['Save as'] = "Gem som"; $t['Save changes'] = "Gem ændringer"; $t['Save'] = "Gemme"; $t['Schedule'] = "Tidsplan"; $t['Script Code'] = "Script kode"; $t['Search Channels'] = "Søg efter kanaler"; $t['Search Serie'] = "Søg i Serie"; $t['Search Video'] = "Søg video"; $t['Search Videos'] = "Søg i videoer"; $t['Search for videos in your local disk'] = "Søg efter videoer på din lokale disk"; $t['Search'] = "Søg"; $t['Seasons'] = "Årstider"; $t['Seconds Left'] = "Sekunder tilbage"; $t['SecureVideosDirectory'] = "SecureVideosDirectory"; $t['Seek'] = "Søge"; $t['Select Videos'] = "Vælg videoer"; $t['Select a file to submit!'] = "Vælg en fil, der skal indsendes!"; $t['Select a language!'] = "Vælg sprog!"; $t['Select an icon for the menu'] = "Vælg et ikon til menuen"; $t['Select one Option'] = "Vælg en mulighed"; $t['Select the update'] = "Vælg opdateringen"; $t['Send Email'] = "Send e-mail"; $t['Send'] = "Sende"; $t['Sent only to this email'] = "Sendes kun til denne e-mail"; $t['Serie'] = "Serie"; $t['Series'] = "Serie"; $t['Server URL'] = "Server-URL"; $t['Server not found or inactive'] = "Serveren blev ikke fundet eller inaktiv"; $t['Session Timeout in seconds'] = "Sessionstimeout i sekunder"; $t['Set as active'] = "Indstil som aktiv"; $t['Set as inactive'] = "Indstil som inaktiv"; $t['Settings and plugins'] = "Indstillinger og plugins"; $t['Settings'] = "Indstillinger"; $t['Share Code'] = "Del kode"; $t['Share Info'] = "Del info"; $t['Share information about your live'] = "Del oplysninger om din live"; $t['Share'] = "Del"; $t['Show Extra Info'] = "Vis ekstra info"; $t['Show Less'] = "Vis mindre"; $t['Show More'] = "Vis mere"; $t['Show _MENU_ entries'] = "Vis _MENU_ poster"; $t['Show all programs that are listed in your video library'] = "Vis alle programmer, der er anført i dit videobibliotek"; $t['Show all that include a list of videos'] = "Vis alt, der inkluderer en liste over videoer"; $t['Show all that is a collection of programs'] = "Vis alt, hvad der er en samling af programmer"; $t['Show all types'] = "Vis alle typer"; $t['Show all'] = "Vis alt"; $t['Show on TV'] = "Vis på tv"; $t['Show/Hide Password'] = "Vis / skjul adgangskode"; $t['Showing 0 to 0 of 0 entries'] = "Viser 0 til 0 af 0 poster"; $t['Showing _START_ to _END_ of _TOTAL_ entries'] = "Viser _START_ til _END_ af _TOTAL_ poster"; $t['Showing {{ctx.start}} to {{ctx.end}} of {{ctx.total}} entries'] = "Viser {{ctx.start}} til {{ctx.end}} af {{ctx.total}} poster"; $t['Sign In'] = "Log ind"; $t['Sign In/Up'] = "Log ind / op"; $t['Sign Out'] = "Log ud"; $t['Sign Up Disabled'] = "Tilmelding deaktiveret"; $t['Sign Up'] = "Tilmelde"; $t['Sign in now!'] = "Log ind nu!"; $t['Sign in to add this video to a playlist.'] = "Log ind for at føje denne video til en playliste."; $t['Sign in to subscribe to this channel'] = "Log ind for at abonnere på denne kanal"; $t['Sign in to your email to verify your account!'] = "Log ind på din e-mail for at bekræfte din konto!"; $t['Sign in'] = "Log ind"; $t['Sign out'] = "Log ud"; $t['Sign up'] = "Tilmelde"; $t['SignUp Automatic Response'] = "SignUp automatisk svar"; $t['Site Admin'] = "Webstedsadministrator"; $t['Site Advertisement with VAST Video ads'] = "Webstedsannoncering med VAST-videoannoncer"; $t['Site Configurations'] = "Webstedskonfigurationer"; $t['Site Owner'] = "Webstedsejer"; $t['Site Settings'] = "Webstedsindstillinger"; $t['Sitemap'] = "Sitemap"; $t['Siteowner'] = "Webstedsejer"; $t['Size'] = "Størrelse"; $t['Social Login Settings'] = "Indstillinger for social login"; $t['Some information can help us, to find your problem faster'] = "Nogle oplysninger kan hjælpe os med at finde dit problem hurtigere"; $t['Some material may not be inapropriate for children under 13'] = "Noget materiale er muligvis ikke upassende for børn under 13 år"; $t['Some material may not be suitable for children'] = "Noget materiale er muligvis ikke egnet til børn"; $t['Sorry you do not have any playlist yet'] = "Beklager, du har endnu ingen playliste"; $t['Sorry you do not have anything available'] = "Beklager, du har ikke noget tilgængeligt"; $t['Sorry you do not have the plugin'] = "Beklager, du har ikke pluginet"; $t['Sorry you not able to download videos right now!'] = "Beklager, du kan ikke downloade videoer lige nu!"; $t['Sorry!'] = "Undskyld!"; $t['Sorry'] = "Undskyld"; $t['Sorry, this video is private'] = "Beklager, denne video er privat"; $t['Sort by name'] = "Sorter efter navn"; $t['Sort'] = "Sortere"; $t['Source'] = "Kilde"; $t['Specific User Groups'] = "Specifikke brugergrupper"; $t['Specify Amount'] = "Angiv beløb"; $t['Start Datetime'] = "Start Datetime"; $t['Start Live Now'] = "Start live nu"; $t['Start Now'] = "Start nu"; $t['Start Record'] = "Start optagelse"; $t['Start Sell In'] = "Start Sælg ind"; $t['Start Selling'] = "Begynd at sælge"; $t['Start video at'] = "Start video kl"; $t['Start'] = "Start"; $t['Started'] = "Startede"; $t['Starts on'] = "Starter på"; $t['Starts'] = "Starter"; $t['Stats Url'] = "Statistik url"; $t['Status not found'] = "Status ikke fundet"; $t['Status'] = "Status"; $t['Stop Live'] = "Stop live"; $t['Stop Record'] = "Stop optagelse"; $t['Stop getting notified for every new video'] = "Stop med at blive underrettet om hver ny video"; $t['Stop this Program and start over again'] = "Stop dette program, og start forfra igen"; $t['Stop'] = "Hold op"; $t['Stream Key'] = "Stream nøgle"; $t['Stream Meta Data'] = "Stream metadata"; $t['Stream Settings'] = "Stream indstillinger"; $t['Stream Url'] = "Stream url"; $t['Stream name/key'] = "Stream navn / nøgle"; $t['Stripe Subscription'] = "Stripe-abonnement"; $t['Sub-Category-Gallery'] = "Underkategori-galleri"; $t['Sub-Category-LifeStreamLayout'] = "Underkategori-LifeStreamLayout"; $t['Sub-Category-YouTube'] = "Underkategori-YouTube"; $t['Submit Payment'] = "Indsend betaling"; $t['Submit your videos'] = "Indsend dine videoer"; $t['Subscribe'] = "Abonner"; $t['Subscribed'] = "Abonneret"; $t['Subscribes'] = "Abonnerer"; $t['Subscription Plans'] = "Abonnementsplaner"; $t['Subtitle Form'] = "Undertekstformular"; $t['Success!'] = "Succes!"; $t['Success'] = "Succes"; $t['Successfully logged in'] = "Logget ind"; $t['Suggest'] = "Antyder"; $t['Suggested Video'] = "Foreslået video"; $t['Suggested'] = "Foreslået"; $t['Support Author'] = "Supportforfatter"; $t['Swap Disabled'] = "Byt deaktiveret"; $t['Swap Video File'] = "Byt videofil"; $t['TV'] = "TV"; $t['Table of content'] = "Indholdsfortegnelse"; $t['Tag Types'] = "Tagtyper"; $t['Tags'] = "Mærker"; $t['Test Email'] = "Test e-mail"; $t['Test your email'] = "Test din e-mail"; $t['Text'] = "Tekst"; $t['Thank you!'] = "Tak skal du have!"; $t['Thanks'] = "Tak"; $t['The Permissions Plugin is not installed. Please install it if you want to customize the permissions.'] = "Tilladelsesplugin er ikke installeret. Installer det, hvis du vil tilpasse tilladelserne."; $t['The captcha is empty'] = "Captcha er tom"; $t['The captcha is wrong'] = "Captcha er forkert"; $t['The default'] = "Standardindstillingen"; $t['The download is controlled by the system, there is nothing to check on the user'] = "Downloadet styres af systemet, der er intet at kontrollere brugeren"; $t['The download permission is site wide, so there is nothing to check on the video'] = "Downloadtilladelsen er bred på webstedet, så der er ikke noget at kontrollere på videoen"; $t['The email is invalid'] = "E-mailen er ugyldig"; $t['The file must be an .vtt or .srt file!'] = "Filen skal være en .vtt- eller .srt-fil!"; $t['The form to signup will not exists'] = "Formularen til tilmelding findes ikke"; $t['The plugin is disabled'] = "Pluginet er deaktiveret"; $t['The program is empty'] = "Programmet er tomt"; $t['The recover pass does not match!'] = "Gendannelsespasset stemmer ikke overens!"; $t['The regular form to signin will not exist, if you check this will only have social login or LDAP option'] = "Den almindelige formular til at logge på eksisterer ikke, hvis du markerer, vil dette kun have social login eller LDAP-mulighed"; $t['The server is not ready'] = "Serveren er ikke klar"; $t['The site will display only a login form to un authenticated users'] = "Webstedet viser kun en loginformular til uautentificerede brugere"; $t['The username must be an email'] = "Brugernavnet skal være en e-mail"; $t['Themes'] = "Temaer"; $t['There are various kinds of media you can integrate here. They are working diffrent'] = "Der er forskellige slags medier, du kan integrere her. De arbejder anderledes"; $t['There is missing data to recover your password'] = "Der mangler data for at gendanne din adgangskode"; $t['There is no streaming now'] = "Der er ingen streaming nu"; $t['There, you can set'] = "Der kan du indstille"; $t['This Meet Requires a Password'] = "Dette møde kræver en adgangskode"; $t['This Plugin helps you to clone your video site, it is really helpful for backup routines, load balance, etc.'] = "Dette plugin hjælper dig med at klone dit videoside, det er virkelig nyttigt til sikkerhedskopierutiner, belastningsbalance osv."; $t['This Video Requires a Password'] = "Denne video kræver en adgangskode"; $t['This also reset the Chat and views counter'] = "Dette nulstiller også tælleren Chat og visninger"; $t['This button is always a click worth'] = "Denne knap er altid et klik værd"; $t['This category allow download'] = "Denne kategori tillader download"; $t['This category do not allow download'] = "Denne kategori tillader ikke download"; $t['This creates a download-button under your video, suggest you title.mp4 as download-name.'] = "Dette opretter en download-knap under din video, foreslår, at du title.mp4 som download-navn."; $t['This e-mail will be used for this web site notifications'] = "Denne e-mail vil blive brugt til notifikationer af dette websted"; $t['This help us to track and dettect errors'] = "Dette hjælper os med at spore og detektere fejl"; $t['This is a level below the (Videos Admin), this type of user can change the video publicity (Active, Inactive, Unlisted)'] = "Dette er et niveau under (Videoadministrator), denne type bruger kan ændre videopubliciteten (Aktiv, Inaktiv, Ikke-listet)"; $t['This is an experimental resource'] = "Dette er en eksperimentel ressource"; $t['This is not a valid URL'] = "Dette er ikke en gyldig URL"; $t['This is not a valid email'] = "Dette er ikke en gyldig e-mail"; $t['This is useful if you want to use our LDAP plugin or maybe only allow authentication from Social Networks'] = "Dette er nyttigt, hvis du vil bruge vores LDAP-plugin eller måske kun tillade godkendelse fra sociale netværk"; $t['This is where you can create groups and associate them with your videos and users. This will make your videos private. Only users who are in the same group as the videos can view them'] = "Det er her, du kan oprette grupper og knytte dem til dine videoer og brugere. Dette vil gøre dine videoer private. Kun brugere, der er i samme gruppe som videoerne, kan se dem"; $t['This option will not make your videos private, this option is for other users not to be able to include their videos in this category. to make your videos private use the user groups feature'] = "Denne mulighed gør ikke dine videoer private, denne mulighed er for andre brugere, der ikke kan inkludere deres videoer i denne kategori. for at gøre dine videoer private, brug brugergruppefunktionen"; $t['This page works only with MP4,MP3 and OGG-files, if you have or need any other format, try to install your own encoder or use the public one'] = "Denne side fungerer kun med MP4, MP3 og OGG-filer, hvis du har eller har brug for et andet format, så prøv at installere dit eget koder eller brug offentlig en"; $t['This playlist is private, click to make it public'] = "Denne playliste er privat, klik for at gøre den offentlig"; $t['This playlist is public, click to make it unlisted'] = "Denne playliste er offentlig. Klik for at gøre den unoteret"; $t['This playlist is unlisted, click to make it private'] = "Denne playliste er unoteret. Klik for at gøre den privat"; $t['This project is in a fast development. If you have done your setup via git (like in the howto\'s), you can update very easy!'] = "Dette projekt er i en hurtig udvikling. Hvis du har foretaget din opsætning via git (som i vejledningen), kan du opdatere meget let!"; $t['This site configuration allow download'] = "Denne konfiguration af webstedet tillader download"; $t['This type of user can edit users, can add or remove users into user groups, but cannot make them admins'] = "Denne type bruger kan redigere brugere, kan tilføje eller fjerne brugere i brugergrupper, men kan ikke gøre dem til administratorer"; $t['This user do NOT allow download his files'] = "Denne bruger tillader IKKE at downloade sine filer"; $t['This user do allow download all his files'] = "Denne bruger tillader download alle sine filer"; $t['This user do allow download selected videos'] = "Denne bruger tillader downloadede valgte videoer"; $t['This user is inactive'] = "Denne bruger er inaktiv"; $t['This video can be downloaded'] = "Denne video kan downloades"; $t['This video checked for download'] = "Denne video tjekket for download"; $t['This video has PPV Option'] = "Denne video har PPV-mulighed"; $t['This video has Subscription Option'] = "Denne video har abonnementsmulighed"; $t['This video is Active and Listed, click here to unlist it'] = "Denne video er aktiv og listet. Klik her for at fjerne listen"; $t['This video is inactive, click here to activate it'] = "Denne video er inaktiv. Klik her for at aktivere den"; $t['This video is unlisted, click here to inactivate it'] = "Denne video er unoteret. Klik her for at inaktivere den"; $t['This video was reported to our team, we will review it soon'] = "Denne video blev rapporteret til vores team, vi gennemgår den snart"; $t['This will give the option to can clear cache (Site and first page)'] = "Dette giver mulighed for at rydde cache (websted og første side)"; $t['This will give the option to generate SiteMap'] = "Dette giver mulighed for at generere SiteMap"; $t['This will give the option to see the log file menu'] = "Dette giver mulighed for at se logfilmenuen"; $t['Thumbs Down'] = "Tommelfinger ned"; $t['Thumbs Up'] = "Tommel op"; $t['Timeline'] = "Tidslinje"; $t['Timelive'] = "Timelive"; $t['Title (A-Z)'] = "Titel (A-Z)"; $t['Title (Z-A)'] = "Titel (Z-A)"; $t['Title and Logo'] = "Titel og logo"; $t['Title and description'] = "Titel og beskrivelse"; $t['Title'] = "Titel"; $t['To install it right away for all UNIX users (Linux, OS X, etc.), type: '] = "For at installere det med det samme for alle UNIX-brugere (Linux, OS X osv.) Skal du skrive:"; $t['To installations instructions try this link: '] = "For at få installationsinstruktioner, prøv dette link:"; $t['To use a video as a ad, go to'] = "Hvis du vil bruge en video som en annonce, skal du gå til"; $t['To view this video please enable JavaScript, and consider upgrading to a web browser that'] = "For at se denne video skal du aktivere JavaScript og overveje at opgradere til en webbrowser, der"; $t['To'] = "Til"; $t['Today Views'] = "Visninger i dag"; $t['Today'] = "I dag"; $t['Toogle view'] = "Toogle-visning"; $t['Top Menu'] = "Topmenu"; $t['TopMenu'] = "Topmenu"; $t['Topic'] = "Emne"; $t['Total Amount'] = "Total beløb"; $t['Total Duration Videos (Minutes)'] = "Videoer i total varighed (minutter)"; $t['Total Subscriptions'] = "Samlede abonnementer"; $t['Total Users'] = "Samlede brugere"; $t['Total Video Comments'] = "Samlede videokommentarer"; $t['Total Videos Dislikes'] = "Total videoer kan ikke lide"; $t['Total Videos Likes'] = "I alt videoer kan lide"; $t['Total Videos Views'] = "Samlet antal videoer"; $t['Total Videos'] = "Videoer i alt"; $t['Total Views (90 Days)'] = "Samlet antal visninger (90 dage)"; $t['Total Views (Today)'] = "Samlet antal visninger (i dag)"; $t['Total Views Today'] = "Samlet antal visninger i dag"; $t['Total Views'] = "Samlede visninger"; $t['Track your videos with Google analytics'] = "Spor dine videoer med Google Analytics"; $t['Trailer'] = "Anhænger"; $t['Transfer Funds to'] = "Overfør midler til"; $t['Transfer Funds'] = "Overfør midler"; $t['Transfer now'] = "Overfør nu"; $t['Translate AVideo'] = "Oversæt AVideo"; $t['Translated Array'] = "Translated Array"; $t['Transmission not found'] = "Transmission ikke fundet"; $t['Trending'] = "Trending"; $t['Truly customize your AVideo and create a more professional video sharing site experience for your visitors by removing or replacing the footer, about page and Meta Description with your own.'] = "Tilpas virkelig din AVideo, og opret en mere professionel oplevelse for videodeling til dine besøgende ved at fjerne eller udskifte sidefoden, om siden og Meta Description med din egen."; $t['Tutorials Site'] = "Vejledningsside"; $t['Type NOT found'] = "Type IKKE fundet"; $t['Type is not defined'] = "Stop dette program, og start forfra igen"; $t['Type the code'] = "Stream nøgle"; $t['Type your program title'] = "Stream metadata"; $t['Type'] = "Type"; $t['URL Friendly'] = "Stream url"; $t['URL Iframe'] = "Stream navn / nøgle"; $t['URL'] = "Stream indstillinger"; $t['UUID can\'t be blank'] = "Stripe-abonnement"; $t['Unable to open file!'] = "Underkategori-galleri"; $t['Unblock User'] = "Underkategori-LifeStreamLayout"; $t['Uncheck all to make it public'] = "Underkategori-YouTube"; $t['Under 17 requires accompanying parent or adult guardian'] = "Indsend betaling"; $t['Uninstalled'] = "Indsend dine videoer"; $t['UniqidV4'] = "Abonner"; $t['Unique Users'] = "Abonneret"; $t['United States Only'] = "Abonnerer"; $t['Unknown Error!'] = "Abonnementsplaner"; $t['Unknown User'] = "Undertekstformular"; $t['Unlimited'] = "Succes"; $t['Unlisted'] = "Succes!"; $t['Unsuggest'] = "Logget ind"; $t['Unzip and upload/replace the'] = "Antyder"; $t['Up Next'] = "Foreslået video"; $t['Up'] = "Foreslået"; $t['Upcoming Events'] = "Byt deaktiveret"; $t['Upcoming'] = "Supportforfatter"; $t['Update AVideo System'] = "TV"; $t['Update Disk Usage'] = "Indholdsfortegnelse"; $t['Update Now'] = "Tagtyper"; $t['Update Old Descriptions'] = "Mærker"; $t['Update Version'] = "Test e-mail"; $t['Update all videos disk usage'] = "Test din e-mail"; $t['Update disk usage for this media'] = "Tekst"; $t['Update version'] = "Tak skal du have!"; $t['Update via ftp/files'] = "Tak"; $t['Update via git'] = "Tilladelsesplugin er ikke installeret. Installer det, hvis du vil tilpasse tilladelserne."; $t['Update'] = "Byt videofil"; $t['Upload Form'] = "Captcha er forkert"; $t['Upload Image'] = "Standardindstillingen"; $t['Upload Poster Image'] = "Downloadet styres af systemet, der er intet at kontrollere brugeren"; $t['Upload a Document Image'] = "Downloadtilladelsen er bred på webstedet, så der er ikke noget at kontrollere på videoen"; $t['Upload a File'] = "E-mailen er ugyldig"; $t['Upload a Photo'] = "Filen skal være en .vtt- eller .srt-fil!"; $t['Upload a Plugin ZIP File'] = "Pluginet er deaktiveret"; $t['Upload a Plugin'] = "Formularen til tilmelding findes ikke"; $t['Upload a file or download it from the Internet'] = "Programmet er tomt"; $t['Upload a logo'] = "Gendannelsespasset stemmer ikke overens!"; $t['Upload files without encode'] = "Den almindelige formular til at logge på eksisterer ikke, hvis du markerer, vil dette kun have social login eller LDAP-mulighed"; $t['Upload to YouTube'] = "Serveren er ikke klar"; $t['Upload your file'] = "Webstedet viser kun en loginformular til uautentificerede brugere"; $t['Upload'] = "Captcha er tom"; $t['Uploaded By'] = "Brugernavnet skal være en e-mail"; $t['Url'] = "Temaer"; $t['Use a video as a ad'] = "Der er forskellige slags medier, du kan integrere her. De arbejder anderledes"; $t['Use streaming software or hardware'] = "Der mangler data for at gendanne din adgangskode"; $t['Use this to recover your password'] = "Der er ingen streaming nu"; $t['Use tls OR ssl'] = "Der kan du indstille"; $t['Use your webcam'] = "Dette møde kræver en adgangskode"; $t['UseAadaptiveMode'] = "Dette plugin hjælper dig med at klone dit videoside, det er virkelig nyttigt til sikkerhedskopierutiner, belastningsbalance osv."; $t['Used'] = "Denne video kræver en adgangskode"; $t['User Agent'] = "Denne knap er altid et klik værd"; $t['User Already blocked'] = "Denne kategori tillader download"; $t['User Already unblocked'] = "Denne kategori tillader ikke download"; $t['User Form'] = "Dette opretter en download-knap under din video, foreslår, at du title.mp4 som download-navn."; $t['User Group'] = "Denne e-mail vil blive brugt til notifikationer af dette websted"; $t['User Groups Form'] = "Dette er et niveau under (Videoadministrator), denne type bruger kan ændre videopubliciteten (Aktiv, Inaktiv, Ikke-listet)"; $t['User Groups Permissions'] = "Dette er en eksperimentel ressource"; $t['User Groups'] = "Dette hjælper os med at spore og detektere fejl"; $t['User Info'] = "Dette er ikke en gyldig URL"; $t['User PPV'] = "Dette er ikke en gyldig e-mail"; $t['User already exists'] = "Dette er nyttigt, hvis du vil bruge vores LDAP-plugin eller måske kun tillade godkendelse fra sociale netværk"; $t['User and Password can not be blank'] = "Det er her, du kan oprette grupper og knytte dem til dine videoer og brugere. Dette vil gøre dine videoer private. Kun brugere, der er i samme gruppe som videoerne, kan se dem"; $t['User can not be blank'] = "Denne mulighed gør ikke dine videoer private, denne mulighed er for andre brugere, der ikke kan inkludere deres videoer i denne kategori. for at gøre dine videoer private, brug brugergruppefunktionen"; $t['User can not edit this video'] = "Denne side fungerer kun med MP4, MP3 og OGG-filer, hvis du har eller har brug for et andet format, så prøv at installere dit eget koder eller brug offentlig en"; $t['User cannot stream'] = "Denne playliste er privat, klik for at gøre den offentlig"; $t['User must allow each video individually, but this video is not marked for download'] = "Denne playliste er offentlig. Klik for at gøre den unoteret"; $t['User not found'] = "Denne playliste er unoteret. Klik for at gøre den privat"; $t['User'] = "Dette nulstiller også tælleren Chat og visninger"; $t['User-manual of'] = "Dette projekt er i en hurtig udvikling. Hvis du har foretaget din opsætning via git (som i vejledningen), kan du opdatere meget let!"; $t['UserGroups'] = "Denne konfiguration af webstedet tillader download"; $t['Username or Email'] = "Denne type bruger kan redigere brugere, kan tilføje eller fjerne brugere i brugergrupper, men kan ikke gøre dem til administratorer"; $t['Users Admin'] = "Denne bruger tillader download alle sine filer"; $t['Users Extra Info'] = "Denne bruger tillader downloadede valgte videoer"; $t['Users Groups Admin'] = "Denne video kan downloades"; $t['Users Groups Id'] = "Denne video tjekket for download"; $t['Users Groups Id1'] = "Denne video har PPV-mulighed"; $t['Users Groups Permissions'] = "Denne video har abonnementsmulighed"; $t['Users Groups'] = "Denne bruger er inaktiv"; $t['Users Id'] = "Denne video er aktiv og listet. Klik her for at fjerne listen"; $t['Users Login History'] = "Denne video er inaktiv. Klik her for at aktivere den"; $t['Users linked'] = "Denne video er unoteret. Klik her for at inaktivere den"; $t['Users must verify their emails before login'] = "Denne video blev rapporteret til vores team, vi gennemgår den snart"; $t['Users must verify their emails before upload/submit videos'] = "Dette giver mulighed for at rydde cache (websted og første side)"; $t['Users will not be able to directly upload, only use the encoder'] = "Dette giver mulighed for at generere SiteMap"; $t['Users with this option will be able to edit and delete comments in any video'] = "Dette giver mulighed for at se logfilmenuen"; $t['Users'] = "Denne bruger tillader IKKE at downloade sine filer"; $t['Usually for USD we use 2, for cryptocurrencies we use more the 2'] = "Tommelfinger ned"; $t['VAST'] = "Tommel op"; $t['VMAP Link'] = "Tidslinje"; $t['Valid OAuth redirect URIs'] = "Timelive"; $t['Value Paid'] = "Titel (A-Z)"; $t['Value paid'] = "Titel (Z-A)"; $t['Value to donate'] = "Titel og logo"; $t['Value'] = "Titel"; $t['Verification Sent'] = "Titel og beskrivelse"; $t['Verify e-mail'] = "For at installere det med det samme for alle UNIX-brugere (Linux, OS X osv.) Skal du skrive:"; $t['Verify your email to be able to comment'] = "For at få installationsinstruktioner, prøv dette link:"; $t['Verify'] = "Til"; $t['Via encoder or direct upload'] = "Hvis du vil bruge en video som en annonce, skal du gå til"; $t['Via encoder, most formats are possible, but you need to enable the Extract audio-option. With direct upload, only MP3 and OGG is allowed'] = "For at se denne video skal du aktivere JavaScript og overveje at opgradere til en webbrowser, der"; $t['Via encoder, most formats are possible. With direct upload, only MP4 is allowed'] = "I dag"; $t['Video Advertising'] = "Toogle-visning"; $t['Video Chart'] = "Topmenu"; $t['Video Duration'] = "Topmenu"; $t['Video Filename not found'] = "Emne"; $t['Video Form'] = "Total beløb"; $t['Video ID Not found'] = "Videoer i total varighed (minutter)"; $t['Video Link'] = "Samlede abonnementer"; $t['Video MP4 File was not found'] = "Samlede brugere"; $t['Video NOT Found'] = "Samlede videokommentarer"; $t['Video Not Available'] = "Videoer i alt"; $t['Video Not Found'] = "Total videoer kan ikke lide"; $t['Video Not found'] = "I alt videoer kan lide"; $t['Video Redirect URI'] = "Samlet antal videoer"; $t['Video Swaped!'] = "Samlede visninger"; $t['Video URL'] = "Samlet antal visninger (90 dage)"; $t['Video Views'] = "Samlet antal visninger (i dag)"; $t['Video already uploaded'] = "Samlet antal visninger i dag"; $t['Video does not exist'] = "Spor dine videoer med Google Analytics"; $t['Video thumbs up - per Channel'] = "Anhænger"; $t['Video views - per Channel'] = "Overfør midler"; $t['Video'] = "Visninger i dag"; $t['Videos Admin'] = "Overfør nu"; $t['Videos Directory'] = "Oversæt AVideo"; $t['Videos Id'] = "Translated Array"; $t['Videos Moderator'] = "Transmission ikke fundet"; $t['Videos Updated!'] = "Trending"; $t['Videos Watermark'] = "Tilpas virkelig din AVideo, og opret en mere professionel oplevelse for videodeling til dine besøgende ved at fjerne eller udskifte sidefoden, om siden og Meta Description med din egen."; $t['Videos linked'] = "Vejledningsside"; $t['Videos'] = "Overfør midler til"; $t['View Details'] = "Type IKKE fundet"; $t['View all replies'] = "Du kan finde mere hjælp til følgende dokumentation"; $t['View'] = "Type"; $t['Views Left'] = "Du kan ikke administrere denne video 1"; $t['Views in the last 30 days'] = "Du kan ikke administrere denne video 2"; $t['Views'] = "Du kan ikke administrere denne video"; $t['Visibility'] = "Du kan ikke gøre dette"; $t['Volume'] = "Du kan ikke administrere kategorier"; $t['WWBN'] = "Du kan ikke administrere kommentarer"; $t['Waiting connection approval'] = "Du kan ikke klare dette"; $t['Wallet'] = "Du kan ikke administrere plugins"; $t['Want to subscribe to this channel?'] = "Du kan ikke administrere abonnementer"; $t['Want to watch this again later?'] = "Du kan ikke administrere dette plugin"; $t['Warning'] = "Du kan ikke administrere brugere"; $t['Watch Later'] = "Du kan ikke administrere videoer"; $t['Watch Live'] = "Du kan ikke administrere"; $t['Watch Now'] = "Du kan ikke administrere redigere undertekster"; $t['Watch on YouTube'] = "Du kan ikke administrere plugin"; $t['Watching Now'] = "Du kan ikke administrere plugin Audit"; $t['We can help you with this task,'] = "Du kan ikke manager-plugin tilføje logo"; $t['We could not add you on the plan, we also refund you the payment'] = "Du kan ikke tilpasse manager-plugin"; $t['We could not notify anyone ({$email}, {$siteOwnerEmail}), but we marked it as a inapropriated'] = "Du kan ikke administrere plugin-logooverlay"; $t['We could not notify the video owner {$email}, but we marked it as a inapropriated'] = "Du kan ikke administrere plugin dette"; $t['We could not notify the video owner {$siteOwnerEmail}, but we marked it as a inapropriated'] = "Du kan ikke administrere plugins"; $t['We detected a total of %s pending updates, if you want to do it now click (Update Now) button'] = "Du kan ikke administrere dette"; $t['We go live in...'] = "Du kan ikke administrere tegnebøger"; $t['We have not found any videos or audios to show'] = "Du kan ikke give besked"; $t['We sent you an e-mail with instructions'] = "Du kan uploade max% s!"; $t['We use youtube-dl to download videos from youtube.com or other video platforms'] = "Du kan bruge vores offentlige encoder til"; $t['We will check if there is a stream conflict before stream'] = "Du kan ikke droppe dette live"; $t['We will send you a link, to your e-mail, to recover your password!'] = "Du har ikke en e-mail"; $t['We would like to thanks http://bootswatch.com/'] = "Du har% s minutter med videoer!"; $t['Web site title'] = "Du har en ny version, der skal installeres"; $t['WebCam Streaming'] = "Du har cirka% s minutter tilbage af videolagring!"; $t['Webcam'] = "Du har sendt underretningen"; $t['Website'] = "Du har version"; $t['Weekly'] = "Du skal være logget"; $t['Welcome back!'] = "Du skal klikke på Gem for at bekræfte"; $t['What is User Groups'] = "Du skal udfylde alle felter"; $t['When autoplay is enabled, a suggested video will automatically play next.'] = "Du skal angive en gyldig e-mail"; $t['When some one buy something on your web site, the wallet balance will be transferred to this user ID'] = "Du har brug for en bruger og et kodeord for at registrere"; $t['When the video is saved like this, it will show up under the menu-point'] = "Du har brug for en video for at generere statistik"; $t['When you are watching media, you can use these keyboard-shortcuts.'] = "Du skal aktivere"; $t['When'] = "Du skal logge ind for at kunne kommentere videoer"; $t['With the other options, you can delete, rotate and promote a video'] = "Du skal aktivere den for at kunne bruge PayPal til at tilføje penge på din tegnebog"; $t['Withdraw Funds'] = "Du skal informere, hvad der er din bruger!"; $t['Word Translations'] = "Du skal installere"; $t['World Wide'] = "Du er nødt til at gøre pluginet dirwritable før upload, køre denne kommando og opdatere denne side"; $t['Write an article'] = "Du skal gøre din lokale mappe skrivbar"; $t['Yes'] = "Du skal konfigurere en encoder-server"; $t['You MUST select 2 videos to swap'] = "Du skal logge ind for at blokere denne bruger"; $t['You May find some help how to use Clone Plugin'] = "Du vil ikke være i stand til at gendanne denne handling!"; $t['You already report this video'] = "YouTube Data API"; $t['You already sign up for this plan'] = "YouTube Data API Oversigt"; $t['You are hosting %d minutes and %d seconds of video'] = "Din% slocale dir er ikke skrivbar"; $t['You are hosting %d videos total, %d minutes and %d seconds and consuming %s of disk'] = "Dit dokument er IKKE uploadet!"; $t['You are not allowed to enter here'] = "Dit dokument er gemt!"; $t['You are not online, loading webcam...'] = "Din indkoder SKAL være version 3.2 eller nyere"; $t['You are online now, web cam is disabled'] = "Dit logo"; $t['You are running AVideo version %s!'] = "Dine POST-data er tomme, muligvis er din vide-fil for stor til værten"; $t['You are using'] = "Dine POST-data er tomme, kan være, at din videofil er for stor til værten"; $t['You asked for a recover link, click on the provided link'] = "Din adgangskode er indstillet"; $t['You can find more help on the following documentation'] = "Din servertid er"; $t['You can not Manage This Video 1'] = "Dine webstedskonfigurationer er indstillet til IKKE Tillad download"; $t['You can not Manage This Video 2'] = "Din analysekode er forkert"; $t['You can not Manage This Video'] = "Dine webstedskonfigurationer er indstillet til Tillad download"; $t['You can not do this'] = "Din kategori er IKKE slettet!"; $t['You can not manage categories'] = "Din kategori er blevet slettet!"; $t['You can not manage comments'] = "Din kategori er blevet gemt!"; $t['You can not manage do this'] = "Din kode er gemt!"; $t['You can not manage plugins'] = "Din kode er ikke gyldig"; $t['You can not manage subscribes'] = "Din kommentar er IKKE slettet!"; $t['You can not manage this plugin'] = "Din kommentar er IKKE gemt!"; $t['You can not manage users'] = "Din kommentar er gemt!"; $t['You can not manage videos'] = "Din kommentar skal være større end 5 tegn!"; $t['You can not manager edit subtitles'] = "Dine konfigurationer er blevet opdateret!"; $t['You can not manager plugin Audit'] = "Din e-mail er ugyldig"; $t['You can not manager plugin add logo'] = "Din begivenhed er gemt!"; $t['You can not manager plugin customize'] = "Din gruppe er IKKE slettet!"; $t['You can not manager plugin logo overlay'] = "Din gruppe er IKKE gemt!"; $t['You can not manager plugin this'] = "Din gruppe er blevet slettet!"; $t['You can not manager plugin'] = "Din enhed er bekræftet"; $t['You can not manager plugins'] = "Din gruppe er blevet gemt!"; $t['You can not manager this'] = "Dit sprog er blevet gemt!"; $t['You can not manager wallets'] = "Dit link er gemt!"; $t['You can not manager'] = "Dine konfigurationer er IKKE blevet opdateret!"; $t['You can not notify'] = "Din maksimale filstørrelse er:"; $t['You can upload max of %s!'] = "Din besked kunne ikke sendes!"; $t['You can use our public encoder on'] = "Din besked er blevet sendt!"; $t['You cannot drop this live'] = "Din nye adgangskode kunne ikke indstilles!"; $t['You do not have an e-mail'] = "Din nye adgangskode er indstillet!"; $t['You have %s minutes of videos!'] = "Dine parametre kunne ikke gemmes!"; $t['You have a new version to install'] = "Dine parametre er gemt!"; $t['You have about %s minutes left of video storage!'] = "Dit kodeord stemmer ikke overens!"; $t['You have sent the notification'] = "Din plan kunne ikke slettes!"; $t['You have version '] = "Din plan kunne ikke gemmes!"; $t['You must be logged'] = "Din plan er blevet slettet!"; $t['You must click save to confirm'] = "Din plan er gemt!"; $t['You must fill all fields'] = "Din kampagne er blevet annulleret"; $t['You must login to be able to comment on videos'] = "Din kvote er gemt!"; -$t['You must specify an valid email'] = "Dit register er gemt!"; +$t['You must specify a valid email'] = "Dit register er gemt!"; $t['You need a user and passsword to register'] = "Din anmodning blev sendt"; $t['You need a video to generate statistics'] = "Din lagerplads kunne ikke slettes!"; $t['You need to enable it to be able to use PayPal to add funds on your wallet'] = "Din lagerplads er blevet slettet!"; $t['You need to enable'] = "Din lagerplads kunne ikke gemmes!"; $t['You need to inform what is your user!'] = "Din lagerplads er gemt!"; $t['You need to install'] = "Din stream starter snart"; $t['You need to make the plugin dir writable before upload, run this command and refresh this page'] = "Dit abonnement kunne ikke gemmes!"; $t['You need to make your locale folder writable'] = "Dit abonnement er gemt!"; $t['You need to set up an encoder server'] = "Din undertekst er IKKE uploadet!"; $t['You need to sign in to block this user'] = "Din undertekst er gemt!"; $t['You will not be able to recover this action!'] = "Dit system er opdateret"; $t['YouTube Data API Overview'] = "Din brugerkonto er oprettet!"; $t['YouTube Data API'] = "Din opdatering fra fil% s er færdig, klik på Fortsæt"; $t['Your %slocale dir is not writable'] = "Din bruger er IKKE oprettet!"; $t['Your Document has NOT been uploaded!'] = "Din bruger er IKKE blevet gemt!"; $t['Your Document has been saved!'] = "Din bruger er IKKE blevet opdateret!"; $t['Your Encoder MUST be version 3.2 or greater'] = "Din bruger er blevet gemt!"; $t['Your Logo'] = "Din bruger er ikke bekræftet, vi sendte dig en ny e-mail"; $t['Your POST data is empty may be your vide file is too big for the host'] = "Din bruger eller adgangskode er forkert!"; $t['Your POST data is empty may be your video file too big for the host'] = "Din video er IKKE slettet!"; $t['Your Password has been set'] = "Din video er IKKE gemt!"; $t['Your Server Time is'] = "Din video er blevet promoveret"; $t['Your Site Configurations is set to Allow Download'] = "Dine videoer er gemt!"; $t['Your Site Configurations is set to NOT Allow Download'] = "Postnummer"; $t['Your analytics code is wrong'] = "siden"; $t['Your category has NOT been deleted!'] = "alle"; $t['Your category has been deleted!'] = "altid den nyeste"; $t['Your category has been saved!'] = "og tjek"; $t['Your code has been saved!'] = "og aktiver følgende API"; $t['Your code is not valid'] = "og få følgende oplysninger"; $t['Your comment has NOT been deleted!'] = "pil"; $t['Your comment has NOT been saved!'] = "afkrydset"; $t['Your comment has been saved!'] = "dag"; $t['Your comment must be bigger then 5 characters!'] = "dage"; $t['Your configurations has NOT been updated!'] = "beskrivelse"; $t['Your configurations has been updated!'] = "tom kommando"; $t['Your device is confirmed'] = "tom live_transmition_id"; $t['Your email is invalid'] = "her"; $t['Your event has been saved!'] = "time"; $t['Your group has NOT been deleted!'] = "timer"; $t['Your group has NOT been saved!'] = "installeret, men din database er ikke opdateret. Dette kan føre til bugs. Gå til opdateringswebstedet."; $t['Your group has been deleted!'] = "er aktiv"; $t['Your group has been saved!'] = "er administrator"; $t['Your language has been saved!'] = "er privat"; $t['Your link has been saved!'] = "nøglen kan ikke være tom"; $t['Your maximum file size is:'] = "Sprog"; $t['Your message could not be sent!'] = "maxImageHeight"; $t['Your message has been sent!'] = "maxImageWidth"; $t['Your new password could not be set!'] = "betyder redigere"; $t['Your new password has been set!'] = "minImageHeight"; $t['Your parameters could not be saved!'] = "minImageWidth"; $t['Your parameters has been saved!'] = "minut"; $t['Your password does not match!'] = "minutter"; $t['Your plan could not be deleted!'] = "måned"; $t['Your plan could not be saved!'] = "måneder"; $t['Your plan has been deleted!'] = "nyeste"; $t['Your plan has been saved!'] = "ældste"; $t['Your promotion has been canceled'] = "på"; $t['Your quota has been saved!'] = "eller brugergruppe valgt nedenfor"; $t['Your register has been saved!'] = "bestille"; $t['Your request was sent'] = "pause"; $t['Your storage could not be deleted!'] = "Prøv"; $t['Your storage could not be saved!'] = "plugins"; $t['Your storage has been deleted!'] = "resterende"; $t['Your storage has been saved!'] = "ret"; $t['Your stream will start soon'] = "sekund"; $t['Your subscription could not be saved!'] = "sekunder"; $t['Your subscription has been saved!'] = "showOnTV er FRA"; $t['Your subtitle has NOT been uploaded!'] = "showOnTV er TIL"; $t['Your subtitle has been saved!'] = "site config"; $t['Your system is up to date'] = "plads"; $t['Your update from file %s is done, click continue'] = "filerne. Kun videomappen skal forblive uberørt."; $t['Your user account has been created!'] = "denne hjælp"; $t['Your user has NOT been created!'] = "tls ELLER ssl"; $t['Your user has NOT been saved!'] = "ikke markeret"; $t['Your user has NOT been updated!'] = "uge"; $t['Your user has been saved!'] = "uger"; $t['Your user is not verified, we sent you a new e-mail'] = "år"; $t['Your user or password is wrong!'] = "flere år"; $t['Your video has NOT been deleted!'] = "kan du finde på menupunktet. Men der er flere indstillinger tilgængelige; gå til"; $t['Your video has NOT been saved!'] = "youtube-dl bruger Python, og nogle servere fulgte ikke med python som standard for at installere Python-typen:"; diff --git a/locale/es_CL.php b/locale/es_CL.php index 8cd25862c..350e6d907 100644 --- a/locale/es_CL.php +++ b/locale/es_CL.php @@ -1,838 +1,838 @@ encoder or use the public one'] = "Esta página solo funciona con archivos MP4, MP3 y OGG, si tiene o necesita cualquier otro formato, intente instalar su propio encoder o use el public one"; $t['This video was reported to our team, we will review it soon'] = "Este video fue reportado a nuestro equipo, lo revisaremos pronto"; $t['Thumbs Down'] = "Pulgar abajo"; $t['Thumbs Up'] = "Pulgar arriba"; $t['Timeline'] = "Cronograma"; $t['Timelive'] = "Timelive"; $t['Title (A-Z)'] = "Título (A-Z)"; $t['Title (Z-A)'] = "Título (Z-A)"; $t['Title'] = "Título"; $t['To install it right away for all UNIX users (Linux, OS X, etc.), type: '] = "Para instalarlo de inmediato para todos los usuarios de UNIX (Linux, OS X, etc.), escriba:"; $t['To installations instructions try this link: '] = "Para obtener instrucciones de instalación, pruebe este enlace:"; $t['To view this video please enable JavaScript, and consider upgrading to a web browser that'] = "Para ver este video, habilite JavaScript y considere actualizar a un navegador web que"; $t['To'] = "A"; $t['Today Views'] = "Vistas de hoy"; $t['Today'] = "Hoy"; $t['Total Amount'] = "Cantidad total"; $t['Total Duration Videos (Minutes)'] = "Duración Total de los Videos (minutos)"; $t['Total Subscriptions'] = "Suscripciones totales"; $t['Total Users'] = "Usuarios totales"; $t['Total Video Comments'] = "Comentarios totales de video"; $t['Total Videos Dislikes'] = "No me gusta el total de videos"; $t['Total Videos Likes'] = "Me gusta en el total de videos"; $t['Total Videos Views'] = "Vistas totales de videos"; $t['Total Videos'] = "Total de Videos "; $t['Total Views (90 Days)'] = "Vistas totales (90 días)"; $t['Total Views (Today)'] = "Vistas totales (hoy)"; $t['Total Views Today'] = "Vistas totales hoy"; $t['Total Views'] = "Vistas totales"; $t['Track your videos with Google analytics'] = "Rastrea tus videos con Google Analytics"; $t['Trailer'] = "Trailer"; $t['Transfer Funds to'] = "Transferir fondos a"; $t['Transfer Funds'] = "Transferir fondos"; $t['Transfer now'] = "Transfiere ahora"; $t['Translated Array'] = "Matriz traducida"; $t['Trending'] = "Tendencias"; $t['Trying to establish a chat server connection'] = "Intentando establecer una conexión de servidor de chat"; $t['Type the code'] = "Escribe el código"; $t['Type your message...'] = "Escribe tu mensaje..."; $t['Type'] = "Tipo"; $t['URL Friendly'] = "URL amigable"; $t['URL Iframe'] = "URL Iframe"; $t['URL'] = "URL"; $t['UUID can\'t be blank'] = "UUID no puede estar en blanco"; $t['Unable to open file!'] = "¡No se puede abrir el archivo!"; $t['Uncheck all to make it public'] = "Desmarca todo para hacerlo público"; $t['Under 17 requires accompanying parent or adult guardian'] = "Los menores de 18 años requieren un padre o tutor adulto"; $t['Unique Users'] = "Usuarios únicos"; $t['Unknown Error!'] = "¡Error desconocido!"; $t['Unknown User'] = "Usuario desconocido"; $t['Unlisted'] = "No incluido en listado"; $t['Unsuggest'] = "Unsuggest"; $t['Up Next'] = "Hasta la próxima"; $t['Up'] = "Arriba"; $t['Update AVideo System'] = "Actualizar el sistema de video"; $t['Update Now'] = "Actualizar ahora"; $t['Update Version'] = "Versión actualizada"; $t['Update all videos disk usage'] = "Actualiza todos los videos del uso del disco"; $t['Update version'] = "Versión actualizada"; $t['Update your user'] = "Actualiza tu usuario"; $t['Upload Form'] = "Subir formulario"; $t['Upload a Document Image'] = "Subir una imagen "; $t['Upload a Photo'] = "Sube una foto"; $t['Upload a Plugin ZIP File'] = "Subir un Plugin en archivo ZIP "; $t['Upload a Plugin'] = "Subir un complemento"; $t['Upload a logo'] = "Sube un logo"; $t['Upload to YouTube'] = "Subir a YouTube"; $t['Upload your file'] = "Sube tu archivo"; $t['Upload'] = "Subir"; $t['Uploaded By'] = "Subido por"; $t['Use tls OR ssl'] = "Utilice tls o ssl"; $t['UseAadaptiveMode'] = "UseAadaptiveMode"; $t['User Form'] = "Formulario de usuario"; $t['User Groups Form'] = "Formulario de grupos de usuarios"; $t['User Groups'] = "Grupos de Usuarios"; $t['User Info'] = "Información de usuario"; $t['User already exists'] = "El usuario ya existe"; $t['User and Password can not be blank'] = "Usuario y contraseña no pueden estar en blanco"; $t['User can not be blank'] = "El usuario no puede estar en blanco"; $t['User can not edit this video'] = "El usuario no puede editar este video"; $t['User not found'] = "Usuario no encontrado"; $t['User'] = "Usuario"; $t['UserGroups'] = "Grupos de Usuarios"; $t['Username or Email'] = "Nombre de usuario o correo electrónico"; $t['Users Groups'] = "Grupos de usuarios"; $t['Users linked'] = "Usuarios vinculados"; $t['Users'] = "Usuarios"; $t['VMAP Link'] = "Enlace VMAP"; $t['Value'] = "Valor"; $t['Verification Sent'] = "Verificación enviada"; $t['Verify e-mail'] = "Verificar correo electrónico"; $t['Verify your email to be able to comment'] = "Verifique su correo electrónico para poder comentar"; $t['Verify'] = "Verificar"; $t['Video Chart'] = "Video Chart"; $t['Video Filename not found'] = "Nombre de archivo de video no encontrado"; $t['Video Form'] = "Formulario de video"; $t['Video ID Not found'] = "ID de video no encontrado"; $t['Video Link'] = "Enlace de video"; $t['Video MP4 File was not found'] = "No se encontró el archivo de video MP4"; $t['Video Not Available'] = "Video no disponible"; $t['Video Not found'] = "Video no encontrado"; $t['Video Redirect URI'] = "URI de redireccionamiento de video"; $t['Video Swaped!'] = "Video Intercambiado!"; $t['Video URL'] = "URL del vídeo"; $t['Video Views'] = "Vistas de video"; $t['Video already uploaded'] = "Video ya subido"; $t['Video does not exist'] = "El video no existe"; $t['Video thumbs up - per Channel'] = "Videos bien calificados: por canal"; $t['Video views - per Channel'] = "Vistas de video - por canal"; $t['Video'] = "Vídeo"; $t['Videos Updated!'] = "Videos actualizados!"; $t['Videos linked'] = "Videos vinculados"; $t['Videos'] = "Videos"; $t['View Details'] = "Ver detalles"; $t['View all replies'] = "Ver todas las respuestas"; $t['View'] = "Ver"; $t['Views in the last 30 days'] = "Vistas en los últimos 30 días"; $t['Views'] = "Puntos de vista"; $t['Visibility'] = "Visibilidad"; $t['Volume'] = "Volumen"; $t['Waiting connection approval'] = "Esperando aprobación de conexión"; $t['Wallet'] = "Billetera"; $t['Want to subscribe to this channel?'] = "¿Quieres suscribirte a este canal?"; $t['Want to watch this again later?'] = "¿Quieres ver esto de nuevo más tarde?"; $t['Warning'] = "Advertencia"; $t['Watch Later'] = "Ver más tarde"; $t['Watch on YouTube'] = "Míralo en YouTube"; $t['Watching Now'] = "Viendo ahora"; $t['We could not notify anyone ({$email}, {$siteOwnerEmail}), but we marked it as a inapropriated'] = "No pudimos notificar a nadie ({$email}, {$siteOwnerEmail}), pero lo marcamos como no apropiado"; $t['We could not notify the video owner {$email}, but we marked it as a inapropriated'] = "No pudimos notificar al propietario del video {$email}, pero lo marcamos como no apropiado"; $t['We could not notify the video owner {$siteOwnerEmail}, but we marked it as a inapropriated'] = "No pudimos notificar al propietario del video {$siteOwnerEmail}, pero lo marcamos como no apropiado"; $t['We detected a total of %s pending updates, if you want to do it now click (Update Now) button'] = "Detectamos un total de% s de actualizaciones pendientes, si desea hacerlo ahora, haga clic en el botón (Actualizar ahora)"; $t['We have not found any videos or audios to show'] = "No hemos encontrado ningún video o audios para mostrar"; $t['We sent you an e-mail with instructions'] = "Le enviamos un correo electrónico con instrucciones."; $t['We use youtube-dl to download videos from youtube.com or other video platforms'] = "Usamos youtube-dl para descargar videos de youtube.com u otras plataformas de video"; $t['We will check if there is a stream conflict before stream'] = "Comprobaremos si hay un conflicto de transmisión antes de la transmisión"; $t['We will send you a link, to your e-mail, to recover your password!'] = "¡Le enviaremos un enlace a su correo electrónico para recuperar su contraseña!"; $t['We would like to thanks http://bootswatch.com/'] = "Nos gustaría agradecer a http://bootswatch.com/"; $t['Web site title'] = "Título de la página"; $t['WebCam Streaming'] = "WebCam Streaming"; $t['Website'] = "Sitio web"; $t['What is User Groups'] = "¿Qué son los grupos de usuarios?"; $t['What is the new name?'] = "¿Cuál es el nuevo nombre?"; $t['When autoplay is enabled, a suggested video will automatically play next.'] = "Cuando la reproducción automática está habilitada, un video sugerido se reproducirá automáticamente a continuación."; $t['When you are watching media, you can use these keyboard-shortcuts.'] = "Cuando esté viendo medios, puede usar estos atajos de teclado."; $t['Withdraw Funds'] = "Retirar Fondos"; $t['Word Translations'] = "Traducciones de palabras"; $t['Yes'] = "si"; $t['You MUST select 2 videos to swap'] = "DEBES seleccionar 2 videos para intercambiar"; $t['You already report this video'] = "Ya reportaste este video"; $t['You are hosting %d minutes and %d seconds of video'] = "Estás alojando %d minutos y %d segundos de video"; $t['You are hosting %d videos total, %d minutes and %d seconds and consuming %s of disk'] = "Está alojando %d videos en total, %d minutos y %d segundos y está consumiendo% s de disco"; $t['You are not allowed see this streaming'] = "No tienes permiso para ver esta transmisión"; $t['You are not online, loading webcam...'] = "No estás en línea, cargando cámara web..."; $t['You are online now, web cam is disabled'] = "Estás en línea ahora, la cámara web está deshabilitada"; $t['You are running AVideo version %s!'] = "¡Estás ejecutando la versión de HazteFama %s!"; $t['You asked for a recover link, click on the provided link'] = "Solicitó un enlace de recuperación, haga clic en el enlace proporcionado"; $t['You can not Manage This Video 1'] = "No puedes administrar este video 1"; $t['You can not Manage This Video 2'] = "No puedes administrar este video 2"; $t['You can not Manage This Video'] = "No puedes administrar este video"; $t['You can not do this'] = "No puedes hacer esto"; $t['You can not manage categories'] = "No puedes administrar categorías"; $t['You can not manage comments'] = "No puedes gestionar comentarios"; $t['You can not manage plugins'] = "No puedes administrar plugins"; $t['You can not manage subscribes'] = "No puedes gestionar suscripciones"; $t['You can not manage this plugin'] = "No puedes administrar este complemento"; $t['You can not manage users'] = "No puedes administrar usuarios"; $t['You can not manage videos'] = "No puedes administrar videos"; $t['You can not manager plugin Audit'] = "No puede administrar el complemento de Auditoría"; $t['You can not manager plugin add logo'] = "No puede administrar el complemento agregar logotipo"; $t['You can not manager plugin logo overlay'] = "No puede administrar la superposición del logotipo del plugin"; $t['You can not manager plugins'] = "No puedes administrar plugins"; $t['You can not manager wallets'] = "No puedes administrar billeteras"; $t['You can not notify'] = "No puedes notificar"; $t['You can not stream live videos'] = "No puedes transmitir videos en vivo"; $t['You can storage %s minutes of videos!'] = "¡Puedes almacenar %s minutos de videos!"; $t['You can upload max of %s!'] = "¡Puedes subir un máximo de %s!"; $t['You can use our public encoder on'] = "Puede usar nuestro codificador público en"; $t['You cannot comment on videos'] = "No puedes comentar videos"; $t['You do not have an e-mail'] = "No tienes un correo"; $t['You have %s minutes of videos!'] = "¡Tienes% s minutos de videos!"; $t['You have about %s minutes left of video storage!'] = "Te quedan unos %s minutos de almacenamiento de videos"; $t['You have sent the notification'] = "Has enviado la notificación"; $t['You have version '] = "tu tienes la versión"; $t['You must be logged'] = "Debes estar registrado"; $t['You must click save to confirm'] = "Debe hacer clic en guardar para confirmar"; $t['You must fill all fields'] = "Debes completar todos los campos"; $t['You must login to be able to comment on videos'] = "Debes iniciar sesión para poder comentar videos"; -$t['You must specify an valid email'] = "Debes especificar un correo electrónico válido"; +$t['You must specify a valid email'] = "Debes especificar un correo electrónico válido"; $t['You need a user and passsword to register'] = "Necesita un usuario y una contraseña para registrarse"; $t['You need a video to generate statistics'] = "Necesitas un video para generar estadísticas"; $t['You need to inform what is your user!'] = "¡Necesitas informar cuál es tu usuario!"; $t['You need to install'] = "Necesitas instalar"; $t['You need to make the plugin dir writable before upload, run this command and refresh this page'] = "Debe hacer que el directorio del plugin se pueda escribir antes de cargarlo, ejecute este comando y actualice esta página"; $t['You need to make your locale folder writable'] = "Debe hacer que su carpeta de configuración regional se pueda escribir"; $t['You need to set up an encoder server'] = "Necesita configurar un servidor codificador"; $t['You need to tell us the new name?'] = "¿Necesitas decirnos el nuevo nombre?"; $t['You will not be able to recover this action!'] = "¡No podrás recuperar esta acción!"; $t['Your %slocale dir is not writable'] = "Tu% de directorio slocale no se puede escribir"; $t['Your Encoder MUST be version 3.2 or greater'] = "Su codificador DEBE ser la versión 3.2 o superior"; $t['Your Logo'] = "Tu logo"; $t['Your POST data is empty may be your vide file is too big for the host'] = "Su perfil está vacío puede ser que su archivo de video sea demasiado grande para el host"; $t['Your POST data is empty may be your video file too big for the host'] = "Su perfil está vacío, puede que su archivo de video sea demasiado grande para el host"; $t['Your Password has been set'] = "Su contraseña ha sido establecida"; $t['Your analytics code is wrong'] = "Tu código de análisis es incorrecto"; $t['Your category has NOT been deleted!'] = "¡Tu categoría NO ha sido eliminada!"; $t['Your category has NOT been saved!'] = "¡Tu categoría NO ha sido guardada!"; $t['Your category has been deleted!'] = "Su categoría ha sido eliminada!"; $t['Your category has been saved!'] = "Su categoría ha sido guardada!"; $t['Your code has been saved!'] = "Su código ha sido guardado!"; $t['Your code is not valid'] = "Tu código no es valido"; $t['Your comment has NOT been deleted!'] = "¡Tu comentario NO ha sido eliminado!"; $t['Your comment has NOT been saved!'] = "¡Tu comentario NO ha sido guardado!"; $t['Your comment has been saved!'] = "Su comentario ha sido guardado!"; $t['Your comment must be bigger then 5 characters!'] = "¡Tu comentario debe tener más de 5 caracteres!"; $t['Your configurations has NOT been updated!'] = "¡Sus configuraciones NO han sido actualizadas!"; $t['Your configurations has been updated!'] = "¡Sus configuraciones han sido actualizadas!"; $t['Your encode video resolution is set to %s !'] = "¡La resolución de codificación de video está configurada en %s!"; $t['Your group has NOT been deleted!'] = "¡Tu grupo NO ha sido eliminado!"; $t['Your group has NOT been saved!'] = "¡Tu grupo NO ha sido guardado!"; $t['Your group has been deleted!'] = "¡Tu grupo ha sido eliminado!"; $t['Your group has been saved!'] = "Su grupo ha sido guardado!"; $t['Your language has been saved!'] = "Su idioma ha sido guardado!"; $t['Your link has been saved!'] = "Su enlace ha sido guardado!"; $t['Your maximum file size is:'] = "Su tamaño máximo de archivo es: "; $t['Your message could not be sent!'] = "¡Su mensaje no pudo ser enviado!"; $t['Your message has been sent!'] = "¡Tu mensaje ha sido enviado!"; $t['Your new password could not be set!'] = "Su nueva contraseña no se pudo establecer!"; $t['Your new password has been set!'] = "Su nueva contraseña ha sido establecida!"; $t['Your password does not match!'] = "¡Tu contraseña no coincide!"; $t['Your register has been saved!'] = "Su registro ha sido guardado!"; $t['Your request was sent'] = "Su solicitud fue enviada"; $t['Your system is up to date'] = "Tu sistema esta actualizado"; $t['Your update from file %s is done, click continue'] = "Su actualización del archivo %s ha terminado, haga clic en continuar"; $t['Your user account has been created!'] = "¡Tu cuenta de usuario ha sido creada!"; $t['Your user has NOT been created!'] = "¡Tu usuario NO ha sido creado!"; $t['Your user has NOT been saved!'] = "Su usuario NO ha sido guardado!"; $t['Your user has NOT been updated!'] = "¡Tu usuario NO ha sido actualizado!"; $t['Your user has been saved!'] = "Su usuario ha sido guardado!"; $t['Your user is not verified, we sent you a new e-mail'] = "Su usuario no está verificado, le enviamos un nuevo correo electrónico"; $t['Your user or password is wrong!'] = "¡Tu usuario o contraseña están equivocados!"; $t['Your video download is complete, it is encoding now'] = "La descarga de su video está completa, ahora se está codificando"; $t['Your video has NOT been deleted!'] = "¡Tu video NO ha sido eliminado!"; $t['Your video has NOT been saved!'] = "¡Tu video NO ha sido guardado!"; $t['Your videos have been saved!'] = "¡Tus videos han sido guardados!"; $t['Zip Code'] = "Código postal"; $t['ago'] = "hace"; $t['arrow'] = "flecha"; $t['day'] = "día"; $t['days'] = "días"; $t['description'] = "descripción"; $t['hour'] = "hora"; $t['hours'] = "horas"; $t['installed , but your database is not up to date. This could lead to bugs. Please go to the update-site.'] = "instalado, pero su base de datos no está actualizada. Esto podría provocar errores. Por favor, vaya al sitio de actualización."; $t['is Active'] = "está activo"; $t['is Admin'] = "es administrador"; $t['is Private'] = "es privado"; $t['maxImageHeight'] = "maxImageHeight"; $t['maxImageWidth'] = "maxImageWidth"; $t['minImageHeight'] = "minImageHeight"; $t['minImageWidth'] = "minImageWidth"; $t['minute'] = "minuto"; $t['minutes'] = "minutos"; $t['month'] = "mes"; $t['months'] = "meses"; $t['newest'] = "el más nuevo"; $t['oldest'] = "más antiguo"; $t['pause'] = "pausa"; $t['remaining'] = "restante"; $t['right'] = "Derecha"; $t['second'] = "segundo"; $t['seconds'] = "segundos"; $t['space'] = "espacio"; $t['week'] = "semana"; $t['weeks'] = "semanas"; $t['year'] = "año"; $t['years'] = "años"; $t['youtube-dl uses Python and some servers does not came with python as default, to install Python type:'] = "youtube-dl usa Python y algunos servidores no vienen con python como predeterminado, para instalar el tipo de Python:"; diff --git a/locale/pt_BR.php b/locale/pt_BR.php index 5d319c972..ca43909ae 100644 --- a/locale/pt_BR.php +++ b/locale/pt_BR.php @@ -1,2082 +1,2082 @@ AVideo! is an video-sharing website, The service was created by Daniel Neto in march 2017.

The software allow you to upload, view, share and comment on videos, and it makes use of WebM and H.264/MPEG-4 AVC to display a wide variety of user-generated and corporate media videos.

Best of all, AVideo! is an open source solution that is freely available to everyone.

'] = "

AVideo é um site de transmissão, compartilhamento e gerenciamento de vídeos. O site foi criado por Daniel Neto em março de 2017. O sistema permite enviar, transmitir, assistir e comentar vídeos, e faz uso de codificadores WebM e H.264 / MPEG -4 AVC para exibir uma grande variedade de vídeos gerados por usuários e empresas.

E o melhor de tudo: AVideo É uma solução open source que está disponível gratuitamente para todos.

"; $t['A service error occurred: %s'] = "Ocorreu um erro no servidor: %s"; $t['About AVideo!'] = "Sobre o AVideo"; $t['About'] = "Sobre"; $t['Activate'] = "Ativar"; $t['Active'] = "Ativo"; $t['Ad Title'] = "Título do anúncio"; $t['Ad'] = "Anúncio"; $t['Add to'] = "Adicionar a"; $t['Admin Menu'] = "Menu de administração"; $t['Admin'] = "Admin"; $t['Ads Form'] = "Formulário de anúncios"; $t['Ads'] = "Anúncios"; $t['Advanced Configuration'] = "Configurações avançadas"; $t['Advanced configurations are disabled'] = "As configurações avançadas estão desabilitadas"; $t['Advertising Manager'] = "Gerenciador de anúncios"; $t['Advertising Title'] = "Título do anúncio"; $t['Alphabetical'] = "Ordem alfabética"; $t['An client error occurred: %s'] = "Ocorreu um erro no cliente: %s"; $t['Are you sure?'] = "Você tem certeza?"; $t['Audio only'] = "Somente áudio"; $t['Audios and Videos'] = "Áudios e vídeos"; $t['Audios'] = "Áudios"; $t['Authenticated users can comment videos'] = "Usuários autenticados podem comentar vídeos"; $t['Authenticated users can upload videos'] = "Usuários autenticados podem enviar vídeos"; $t['Autoplay Next Video URL'] = "URL do próximo vídeo na reprodução automática"; $t['Autoplay Next Video'] = "Próximo vídeo na reprodução automática"; $t['Autoplay Video on Load Page'] = "Reproduzir automaticamente quando carregar vídeo"; $t['Autoplay'] = "Reprodução automática"; $t['Basic Info'] = "Informações básicas"; $t['Broadcast a Live Streaming'] = "Transmitir um evento ao vivo"; $t['Browse'] = "Procurar"; $t['By associating groups with this user, they will be able to see all the videos that are related to this group'] = "Ao associar grupos a este usuário, ele poderá ver todos os vídeos relacionados a este grupo"; $t['By linking groups to this video, it will no longer be public and only users in the same group will be able to watch this video'] = "Ao vincular grupos a este vídeo, ele não será mais público e somente usuários do grupo poderão assistir a este vídeo"; $t['Can Stream Videos'] = "Pode reproduzir vídeos"; $t['Can Upload Videos'] = "Pode enviar vídeos"; $t['Categories'] = "Categorias"; $t['Category Form'] = "Formulário de categoria"; $t['Category to display this Ad'] = "Mostrar o anúncio nessa categoria"; $t['Category'] = "Categoria"; $t['Change Playlist Name'] = "Alterar nome da playlist"; $t['Channel'] = "Canal"; $t['Choose this plan'] = "Escolher este plano"; $t['Clean Name'] = "Nome simples"; $t['Clean Title'] = "Título simples"; $t['Clicks'] = "Cliques"; $t['Close'] = "Fechar"; $t['Color Legend'] = "Legenda da cor"; $t['Comment'] = "Comentário"; $t['Comments'] = "Comentários"; $t['Compatibility Check'] = "Verificação de compatibilidade"; $t['Configuration'] = "Configuração"; $t['Configure an Encoder URL'] = "Configure uma URL de codificador"; $t['Confirm New Password'] = "Confirme a nova senha"; $t['Confirmation password does not match'] = "A senha de confirmação não confere"; $t['Congratulations!'] = "Parabéns!"; $t['Congratulations'] = "Parabéns"; $t['Contact Us Today!'] = "Entre em contato conosco"; $t['Contact'] = "Contato"; $t['Continue'] = "Continuar"; $t['Could not move gif image file [%s.gif]'] = "Não foi possível mover o arquivo de imagem gif [%s.gif]"; $t['Could not move image file [%s.jpg]'] = "Não foi possível mover o arquivo de imagem jpg [%s.jpg]"; $t['Could not move video file [%s] => [%s %s %s]'] = "Não foi possível mover o arquivo de vídeo [%s] => [%s %s %s]"; $t['Create a New Play List'] = "Criar uma lista"; $t['Create an Advertising'] = "Criar um anúncio"; $t['Create more translations'] = "Criar mais traduções"; $t['Create your account'] = "Crie sua conta"; $t['Created'] = "Criada"; $t['Date Added (newest)'] = "Data de inclusão (mais recente)"; $t['Date Added (oldest)'] = "Data de inclusão (mais antigo)"; $t['Date added (newest)'] = "Lançamentos"; $t['Delete All Orphans Files'] = "Excluir todos os arquivos órfãos"; $t['Delete'] = "Excluir"; $t['Description'] = "Descrição"; $t['Disable AVideo Google Analytics'] = "Desabilitar Google Analytics do AVideo"; $t['Do not forget to save after choose your theme'] = "Não esqueça de salvar depois de selecionar o tema"; $t['Don´t like this video? Sign in to make your opinion count.'] = "Não gostou deste vídeo? Faça login para opinar."; $t['Download Original'] = "Download original"; $t['Download Video'] = "Baixar video"; $t['Downloading'] = "Transferindo"; $t['Drag and drop to sort'] = "Arraste e solte para ordenar"; $t['Drop Here'] = "Solte aqui"; $t['Duration'] = "Duração"; $t['E-mail Address'] = "Endereço de e-mail"; $t['E-mail Not Verified'] = "E-mail não confirmado"; $t['E-mail sent'] = "E-mail enviado"; $t['E-mail'] = "Seu e-mail"; $t['Edit'] = "Editar"; $t['Email can not be blank'] = "Campo do e-mail não pode ficar vazio"; $t['Email'] = "E-mail"; $t['Embed a video link'] = "Incorpore um link de vídeo"; $t['Embedded'] = "Incorporar"; $t['Enable Facebook Login'] = "Ativar login via Facebook"; $t['Enable Google Login'] = "Ativar login via Google"; $t['Enable SMTP Auth'] = "Habilitar autenticação SMTP"; $t['Enable SMTP'] = "Habilitar SMTP"; $t['Encode video and audio'] = "Codificar vídeo e áudio"; $t['Encoder Site'] = "Site do encoder"; $t['Encoder URL'] = "URL do encoder"; $t['Encoding mp4 error'] = "Erro na codificação mp4"; $t['Encoding xmp3 error'] = "Erro na codificação xmp3"; $t['Encoding xogg error'] = "Erro na codificação xogg"; $t['Encoding xwebm error'] = "Erro na codificação xwebm"; $t['Encoding'] = "Codificando"; $t['Error on re-encoding!'] = "Erro ao recodificar!"; $t['Error'] = "Erro"; $t['Exiftool'] = "Exiftool"; $t['FFMPEG Image'] = "Imagem FFMPEG"; $t['FFMPEG MP3'] = "FFMPEG MP3"; $t['FFMPEG MP4 Portrait'] = "FFMPEG MP4 modo retrato"; $t['FFMPEG MP4'] = "FFMPEG MP4"; $t['FFMPEG Ogg'] = "FFMPEG Ogg"; $t['FFMPEG Webm Portrait'] = "FFMPEG Webm modo retrato"; $t['FFMPEG Webm'] = "FFMPEG Webm"; $t['FFPROBE Duration'] = "Duração do FFPROBE"; $t['Facebook ID'] = "ID do Facebook"; $t['Facebook Key'] = "Chave do Facebook"; $t['Facebook Login is not enabled'] = "O login via Facebook não está ativado"; $t['Favorite'] = "Favoritos"; $t['Finish on'] = "Termina em"; $t['First Page Mode'] = "Modo da homepage"; $t['For faster encode, download your own encoder'] = "Para codificação mais rápida, baixe e instale seu próprio codificador no servidor"; $t['Gallery'] = "Galeria"; $t['Get Facebook ID and Key'] = "Obter ID e Chave do Facebook"; $t['Get Google ID and Key'] = "Obter ID e Chave do Google"; $t['Get imgage error'] = "Obter erro imgage"; $t['Go to manager videos page!'] = "Ir para a página de vídeos!"; $t['Google Ad Sense'] = "Google Ad Sense"; $t['Google ID'] = "ID do Google"; $t['Google Key'] = "Google Key"; $t['Google Login is not enabled'] = "O login via Google não está ativado"; $t['Group'] = "Grupo"; $t['Groups that can see this video'] = "Grupos que podem ver este vídeo"; $t['Head Code'] = "Código de cabeçalho"; $t['Help'] = "Ajuda"; $t['I forgot my password'] = "Esqueci minha senha"; $t['I would like to share this video with you:'] = "Eu gostaria de compartilhar esse vídeo com você:"; $t['ID can\'t be blank'] = "ID não pode ficar vazio"; $t['ID'] = "ID"; $t['Icon'] = "Ícone"; $t['If you can\'t view this video, your browser does not support HTML5 videos'] = "Se não consegue ver este vídeo, seu navegador não suporta vídeos HTML5"; $t['If you do not have curl, you can alternatively use a recent wget: '] = "Se você não tiver curl, você pode usar wget como alternativa:"; $t['Import Videos from Sites'] = "Importar vídeos de outros sites"; $t['Inactivate'] = "Inativar"; $t['Inactive'] = "Inativo"; $t['Is Ad'] = "É anúncio"; $t['Language'] = "Idioma"; $t['Last 30 Days'] = "Últimos 30 dias"; $t['Last 7 Days'] = "Últimos 7 dias"; $t['Like this video? Sign in to make your opinion count.'] = "Gostou deste vídeo? Faça login para opinar."; $t['Listed Transmition'] = "Transmissão listada"; $t['Local File'] = "Arquivo local"; $t['Login History'] = "Histórico de login"; $t['Login error'] = "Erro no login"; $t['Login'] = "Entrar"; $t['Logoff'] = "Sair"; $t['Make it public'] = "Tornar público"; $t['Make sure that the video you are going to download has a duration of less than %d minute(s)'] = "Certifique-se de que o vídeo que você vai baixar tenha menos de %d minutos"; $t['Make sure you click on the Save button after change the photo'] = "Não esqueça de clicar em Salvar depois de alterar a foto"; $t['Manager Categories'] = "Gerenciar categorias"; $t['Manager Users Groups'] = "Gerenciar grupos de usuários"; $t['Manager Users'] = "Gerenciar usuários"; $t['Message could not be sent'] = "Não foi possível enviar a mensagem"; $t['Message sent'] = "Mensagem enviada"; $t['Message'] = "Sua mensagem"; $t['Modified'] = "Modificado"; $t['Most Popular'] = "Mais Populares"; $t['Most Watched'] = "Mais Vistos"; $t['Most popular'] = "Mais populares"; $t['Most watched'] = "Mais vistos"; $t['My Account'] = "Minha conta"; $t['My Channel'] = "Meu canal"; $t['My Menu'] = "Meu menu"; $t['My videos'] = "Meus vídeos"; $t['Name'] = "Seu nome"; $t['New Category'] = "Nova categoria"; $t['New Password'] = "Nova senha"; $t['New User Groups'] = "Novo grupo de usuários"; $t['New User'] = "Novo usuário"; $t['No'] = "No"; $t['Notify Subscribers'] = "Notificar inscritos"; $t['Original words found'] = "Palavras originais encontradas:"; $t['Orphan Files'] = "Arquivos órfãos"; $t['POST Progress File name cannot be empty'] = "POST Progress: o nome do arquivo não pode ser vazio"; $t['Password'] = "Senha"; $t['Paste here the translated words, one each line'] = "Cole aqui as palavras traduzidas, uma por linha"; $t['Path to FFMPEG'] = "Caminho para FFMPEG"; $t['Path to Youtube-Dl'] = "Caminho para o Youtube-Dl"; $t['Path to exiftool'] = "Caminho para exiftool"; $t['Permission denied to receive a file: '] = "Permissão para receber um arquivo negada:"; $t['Permission denied'] = "Permissão negada"; $t['Permition denied'] = "Permissão negada"; $t['Play All'] = "Reproduzir todos"; $t['Playlist name?'] = "Nome da lista?"; $t['Please sign in'] = "Por favor, registre-se"; $t['Plugin Form'] = "Formulário de plugin"; $t['Plugins'] = "Plugins"; $t['Preview'] = "Visualizar"; $t['Prints'] = "Impressões"; $t['Profile Photo'] = "Foto do perfil"; $t['Progress File does not exists'] = "O arquivo de progresso não existe"; $t['Public Video'] = "Vídeo público"; $t['Public'] = "Público"; $t['Queue Position'] = "Posição na fila"; $t['Re-encode Audio'] = "Recodificar áudio"; $t['Re-encode Image'] = "Recodificar imagem"; $t['Re-encode Video'] = "Recodificar vídeo"; $t['Recommended resolutions'] = "Resoluções recomendadas"; $t['Recover Password'] = "Recuperar Senha"; $t['Recover password could not be saved!'] = "A senha de recuperação não pôde ser guardada!"; $t['Recover password does not match'] = "A senha de recuperação não corresponde"; $t['Recover password!'] = "Recuperar senha!"; $t['Refresh'] = "Atualizar"; $t['Regular Configuration'] = "Configuração padrão"; $t['Regular User'] = "Usuário padrão"; $t['Remember me'] = "Mantenha-me conectado"; $t['Remove Autoplay Next Video'] = "Remover 'reproduzir próximo vídeo automaticamente'"; $t['Remove'] = "Remover"; $t['Rename'] = "Renomear"; $t['Reset password'] = "Trocar a senha"; $t['Rotate LEFT'] = "Rotacionar à esquerda"; $t['Rotate RIGHT'] = "Rotacionar à direita"; $t['SMTP Host'] = "Servidor SMTP"; $t['SMTP Password'] = "Senha SMTP"; $t['SMTP Port'] = "Porta SMTP"; $t['SMTP Secure'] = "SMTP seguro"; $t['SMTP Username'] = "Usuário SMTP"; $t['Save File'] = "Salvar arquivo"; $t['Save changes'] = "Salvar alterações"; $t['Save'] = "Salvar"; $t['Script Code'] = "Código de script"; $t['Search'] = "Pesquisar"; $t['Select a Language Flag'] = "Selecionar uma bandeira de idioma"; $t['Select an icon for the category'] = "Selecionar um ícone para a categoria"; $t['Select the update'] = "Selecione a atualização"; $t['Send'] = "Enviar"; $t['Server Info'] = "Informações do servidor"; $t['Session Timeout in seconds'] = "Timeout da sessão em segundos"; $t['Share Video'] = "Compartilhar vídeo"; $t['Share'] = "Compartilhar"; $t['Sign In'] = "Fazer Login"; $t['Sign Up'] = "Registrar-se"; $t['Sign in now!'] = "Registre-se agora mesmo!"; $t['Sign in to add this video to a playlist.'] = "Efetue login para adicionar esse vídeo a uma lista."; $t['Sign in'] = "Fazer Login"; $t['Sign out'] = "Sair"; $t['Sign Out'] = "Sair";// adicionado 19-apr-2021 $t['Sign up'] = "Registrar-se"; $t['Site Configurations'] = "Configurações do site"; $t['Skip Ad'] = "Pular anúncio"; $t['Skip Button appears after (X)'] = "Botão para pular anúncio aparece após (X)"; $t['Sorry you not able to download videos right now!'] = "Desculpe, você não pode baixar vídeos nesse momento!"; $t['Sorry!'] = "Desculpe!"; $t['Sorry'] = "Desculpe"; $t['Source'] = "Fonte"; $t['Starts on'] = "Inicia em"; $t['Status not found'] = "Status não encontrado"; $t['Stop ad after (X)'] = "Parar anúncio após (X)"; $t['Subscribe'] = "Assine"; $t['Subscribed to user'] = "Assinantes no canal"; $t['Subscribed'] = "Assinante"; $t['Subscribes'] = "Assinantes"; $t['Subscriptions'] = "Assinaturas"; $t['Success!'] = "Sucesso!"; $t['Success'] = "Sucesso"; $t['Suggested'] = "Sugerido"; $t['Tags'] = "Tags"; $t['Teater'] = "Teatro"; $t['The original file for this video does not exists anymore'] = "O arquivo original para este vídeo não existe mais"; $t['The recover pass does not match!'] = "A senha de recuperação não combina!"; $t['Themes'] = "Temas"; $t['There is missing data to recover your password'] = "Faltam dados para recuperar sua senha"; $t['This e-mail will be used for this web site notifications'] = "Este e-mail será utilizado receber notificações deste site"; $t['This help us to track and dettect errors'] = "Isso ajudará a identificar erros"; $t['This value must match with the language files on'] = "Esse valor deve corresponder aos arquivos de idiome em "; $t['This video will work as an advertising and will no longer appear on videos list'] = "Este vídeo será um anúncio e não aparecerá mais na lista de vídeos do canal"; $t['Timeline'] = "Linha do tempo"; $t['Title'] = "Título"; $t['To install it right away for all UNIX users (Linux, OS X, etc.)'] = "Instalar agora para usuários UNIX (Linux, OS X, etc.)"; $t['To install it right away for all UNIX users (Linux, OS X, etc.), type: '] = "Para instalar agora para todos os usuários UNIX (Linux, OS X, etc.), digite:"; $t['To installations instructions try this link: '] = "Para instruções de instalação, tente este link:"; $t['To view this video please enable JavaScript, and consider upgrading to a web browser that'] = "Para ver este vídeo, ative o javascript e considere atualizar para um navegador que"; $t['Today Views'] = "Visualizações hoje"; $t['Today'] = "Hoje"; $t['Total Duration Videos (Minutes)'] = "Duração total dos vídeos em minutos"; $t['Total Subscriptions'] = "Total assinantes"; $t['Total Video Comments'] = "Total comentários"; $t['Total Videos Dislikes'] = "Total dislikes"; $t['Total Videos Likes'] = "Total likes"; $t['Total Videos Views'] = "Total visualizações"; $t['Total Videos'] = "Total vídeos"; $t['Total Views (90 Days)'] = "Visualizações totais (90 dias)"; $t['Total Views (Today)'] = "Visualizações totais (hoje)"; $t['Total Views Today'] = "Visualizações totais hoje"; $t['Total Views'] = "Visualizações totais"; $t['Translated Array'] = "Matrizes traduzidas"; $t['Trending'] = "Em alta"; $t['Type the code'] = "Digite o código"; $t['Unable to open file!'] = "Impossível abrir o arquivo!"; $t['Unique Users'] = "Usuários únicos"; $t['Unknown User'] = "Usuário desconhecido"; $t['Up Next'] = "A seguir"; $t['Update AVideo System'] = "Atualizar o sistema AVideo"; $t['Update Now'] = "Atualizar agora"; $t['Update the site configuration'] = "Atualizar a configuração do site"; $t['Update version'] = "Versão atualizada"; $t['Update your user'] = "Atualize seu usuário"; $t['Upload a Background'] = "Enviar uma imagem de fundo"; $t['Upload a MP4 File'] = "Enviar um arquivo MP4"; $t['Upload a MP4 video'] = "Enviar um vídeo MP4"; $t['Upload a Photo'] = "Fazer upload de uma foto"; $t['Upload a Plugin ZIP File'] = "Enviar um arquivo ZIP de plugin"; $t['Upload a Plugin'] = "Enviar um plugin"; $t['Upload a logo'] = "Enviar um logo"; $t['Upload a small logo'] = "Enviar um logo miniatura"; $t['Upload to YouTube'] = "Enviar para o YouTube"; $t['Upload your file'] = "Enviar seu arquivo"; $t['Uploaded By'] = "Enviado por"; $t['Use one of the recommended resolutions'] = "Use uma das resoluções recomendadas"; $t['Use tls OR ssl'] = "Habilitar TLS ou SSL"; $t['User Form'] = "Formulário de usuário"; $t['User Groups Form'] = "Formulário grupos de usuários"; $t['User Groups'] = "Grupos de usuários"; $t['User already exists'] = "Usuário já existe"; $t['User and Password can not be blank'] = "Usuário e senha não podem ficar em branco"; $t['User can not be blank'] = "Usuário não pode ser vazio"; $t['User not found'] = "Usuário não encontrado"; $t['User'] = "Usuário"; $t['UserGroups'] = "Grupos de usuários"; $t['Users Groups'] = "Grupos de usuários"; $t['Users'] = "Usuários"; $t['Valid OAuth redirect URIs:'] = "URIs de redirecionamento OAuth válido:"; $t['Verify e-mail'] = "Confirmar e-mail"; $t['Video Advertising'] = "Anúncios em vídeo"; $t['Video Chart'] = "Gráfico do vídeo"; $t['Video Form'] = "Formulário de vídeo"; $t['Video Link'] = "Link do vídeo"; $t['Video Resolution'] = "Resolução de vídeo"; $t['Video Statistics'] = "Estatísticas de vídeo"; $t['Video Title'] = "Título do vídeo"; $t['Video URL'] = "URL do vídeo"; $t['Video and Audio Upload'] = "Upload de vídeo e áudio"; $t['Video not found'] = "Vídeo não encontrado"; $t['Video re-encoding!'] = "Recodificação de vídeo!"; $t['Videos linked'] = "Vídeos associados"; $t['Videos'] = "Vídeos"; $t['View Details'] = "Ver detalhes"; $t['Views'] = "Visualizações"; $t['Want to watch this again later?'] = "Deseja assistir este vídeo depois?"; $t['Warning'] = "Atenção"; $t['Watch Later'] = "Assistir depois"; $t['Watch on YouTube'] = "Ver no YouTube"; $t['Watching Now'] = "Assistindo agora"; $t['We could not get the title of your video (%s) go to %s to fix it'] = "Não foi possível obter o título do seu vídeo (%s). Vá em %s para corrigi-lo"; $t['We detected a total of %s pending updates, if you want to do it now click (Update Now) button'] = "Detectamos um total de %s atualizações pendentes, se você quiser atualizar agora clique em (Atualizar agora)"; $t['We detected a total of %s pending updates, if you want to do it now click (Update Now)'] = "Detectamos %s atualizações pendentes, se você deseja atualizar agora clique em (Atualizar agora)"; $t['We have not found any videos or audios to show'] = "Não encontramos nenhum vídeo ou áudio para mostrar"; $t['We sent you an e-mail with instructions'] = "Enviamos um e-mail para você com instruções"; $t['We use youtube-dl to download videos from youtube.com or other video platforms'] = "Usamos youtube-dl para baixar vídeos do youtube.com ou de outras plataformas de vídeo"; $t['We will send you a link, to your e-mail, to recover your password!'] = "Enviaremos um link para o seu e-mail, para recuperação de sua senha!"; $t['We would like to thanks http://bootswatch.com/'] = "Agradecemos http://bootswatch.com"; $t['Web site title'] = "Título do site"; $t['Website'] = "Seu site"; $t['What is User Groups'] = "O que são grupos de usuários"; $t['What is the new name?'] = "Qual o novo nome?"; $t['What is this'] = "O que é isso"; $t['When autoplay is enabled, a suggested video will automatically play next.'] = "Quando a reprodução automática estiver habilitada, um vídeo sugerido irá ser exibido automaticamente."; $t['Word Translations'] = "Traduções de palavras"; $t['Yes'] = "Sim"; $t['Yes, delete it!'] = "Sim, excluir!"; $t['You already sign up for this plan'] = "Você já é assinantes deste plano"; $t['You are hosting %d minutes and %d seconds of video'] = "Você está hospedando %d minutos e %d segundos de vídeo"; $t['You are running AVideo version %s!'] = "Você tem instalado a versão %s do AVideo!"; $t['You asked for a recover link, click on the provided link'] = "Você solicitou um link de recuperação de senha, clique no link fornecido"; $t['You can not Manage This Video'] = "Você não pode gerenciar este vídeo"; $t['You can not manage ads'] = "Você não pode gerenciar anúncios"; $t['You can not manage categories'] = "Você não pode gerenciar categorias"; $t['You can not manage plugins'] = "Você não pode gerenciar plugins"; $t['You can not manage subscribes'] = "Você não pode gerenciar inscritos"; $t['You can not manage users'] = "Não é possível gerenciar usuários"; $t['You can not manage videos'] = "Não é possível gerir vídeos"; $t['You can not notify'] = "Você não pode notificar"; $t['You can not stream live videos'] = "Você não pode transmitir vídeos ao vivo"; $t['You can see orphan files'] = "Você pode ver arquivos órfãos"; $t['You can storage %s minutes of videos!'] = "Você pode armazenar %s minutos de vídeos!"; $t['You can upload max of %s!'] = "Você pode enviar no máximo %s!"; $t['You can use our public encoder on'] = "Você pode utilizar nosso codificador público em"; $t['You cannot comment on videos'] = "Você não pode comentar em vídeos"; $t['You do not have an e-mail'] = "Você não tem um e-mail"; $t['You dont have any orphan file'] = "Você não tem nenhum arquivo órfão"; $t['You have %s minutes of videos!'] = "Você tem %s minutos de vídeos!"; $t['You have about %s minutes left of video storage!'] = "Você tem aproximadamente %s minutos restantes para armazenar vídeos!"; $t['You have sent the notification'] = "Você enviou uma notificação"; $t['You must be logged'] = "Você precisa estar logado"; $t['You must click save to confirm'] = "Você tem que clicar em salvar para confirmar"; $t['You must fill all fields'] = "Você deve preencher todos os campos"; $t['You must login to be able to comment on videos'] = "Você deve fazer o login para poder comentar vídeos"; $t['You must make this video public or select a group to see your video!'] = "Você deve tornar este vídeo público ou selecionar um grupo para ver seu vídeo!"; $t['You need a user and passsword to register'] = "Você precisa de um usuário e senha para se registrar"; $t['You need a video to generate statistics'] = "Você precisa de um vídeo para gerar estatísticas"; $t['You need to inform what is your user!'] = "Você precisa informar seu usuário!"; $t['You need to install'] = "Você precisa instalar"; $t['You need to make your locale folder writable'] = "Você precisa permitir alterações no diretório locale"; $t['You need to set up an encoder server'] = "Você precisa configurar um servidor de codificação"; $t['You need to tell us the new name?'] = "Você precisa informar o novo nome?"; $t['You will not be able to recover the files!'] = "Você não será capaz de recuperar os arquivos!"; $t['You will not be able to recover these videos!'] = "Você não poderá recuperar estes vídeos!"; $t['You will not be able to recover this action!'] = "Você não poderá reverter esta ação!"; $t['You will not be able to recover this category!'] = "Você não poderá recuperar esta categoria!"; $t['You will not be able to recover this group!'] = "Você não será capaz de recuperar esse grupo!"; $t['You will not be able to recover this user!'] = "Você não será capaz de recuperar este usuário!"; $t['You will not be able to recover this video!'] = "Você não será capaz de recuperar este vídeo!"; $t['YouTube, DailyMotion, Vimeo and more'] = "YouTube, DailyMotion, Vimeo e mais"; $t['Your %slocale dir is not writable'] = "Seu diretório %s locale não tem permissõ para alterações"; $t['Your Logo'] = "Sua logo"; $t["Your POST data is empty, maybe your video file is too big for the host"] = "Seus dados POST estão vazios, talvez o arquivo seja grande demais para o servidor"; $t['Your Password has been set'] = "Sua senha foi definida"; $t['Your Photo'] = "Sua foto"; $t['Your Small Logo'] = "Sua logo pequena"; $t['Your ad has NOT been deleted!'] = "Seu anúncio NÃO foi excluído!"; $t['Your ad has NOT been saved!'] = "Seu anúncio NÃO foi gravado!"; $t['Your ad has been deleted!'] = "Seu anúncio foi excluído!"; $t['Your ad has been saved!'] = "Seu anúncio foi salvo!"; $t['Your category has NOT been deleted!'] = "Sua categoria NÃO foi excluída!"; $t['Your category has NOT been saved!'] = "Sua categoria NÃO foi gravada!"; $t['Your category has been deleted!'] = "Sua categoria foi excluída!"; $t['Your category has been saved!'] = "Sua categoria foi gravada!"; $t['Your code is not valid'] = "Seu código não é válido"; $t['Your comment has NOT been saved!'] = "Seu comentário não foi gravado!"; $t['Your comment has been saved!'] = "Seu comentário foi gravado!"; $t['Your comment must be bigger then 5 characters!'] = "Seu comentário deve conter mais que 5 caracteres!"; $t['Your configurations has NOT been updated!'] = "Suas configurações não foram atualizadas!"; $t['Your configurations has been updated!'] = "Suas configurações foram atualizadas!"; $t['Your encode video resolution is set to %s !'] = "Sua resolução para codificação de vídeo está definida como %s!"; $t['Your group has NOT been deleted!'] = "O seu grupo NÃO foi removido!"; $t['Your group has NOT been saved!'] = "Seu grupo NÃO foi gravado!"; $t['Your group has been deleted!'] = "O seu grupo foi removido!"; $t['Your group has been saved!'] = "Seu grupo foi gravado!"; $t['Your language has been saved!'] = "Seu idioma foi gravado!"; $t['Your maximum file size is:'] = "Seu tamanho máximo de arquivo é:"; $t['Your message could not be sent!'] = "Sua mensagem não pôde ser enviada!"; $t['Your message has been sent!'] = "Sua mensagem foi enviada!"; $t['Your new password could not be set!'] = "Não foi possível definir a sua nova senha!"; $t['Your new password has been set!'] = "Sua nova senha foi definida!"; $t['Your password does not match!'] = "Sua senha não está correta!"; $t['Your system is up to date'] = "Seu sistema está atualizado"; $t['Your update from file %s is done, click continue'] = "Sua atualização do arquivo %s está concluída, clique em continuar"; $t['Your user has NOT been created!'] = "Seu usuário não foi criado!"; $t['Your user has NOT been deleted!'] = "Seu usuário não foi excluído!"; $t['Your user has NOT been saved!'] = "Seu usuário não foi gravado!"; $t['Your user has NOT been updated!'] = "Seu usuário não foi atualizado!"; $t['Your user has been created!'] = "Seu usuário foi criado!"; $t['Your user has been deleted!'] = "Seu usuário foi excluído!"; $t['Your user has been saved!'] = "Seu usuário foi gravado!"; $t['Your user has been updated! Saving Photo now'] = "Seu usuário foi atualizado! Gravando a foto agora"; $t['Your user is invalid'] = "Seu usuário é inválido"; $t['Your user or password is wrong!'] = "Seu usuário ou senha está errada!"; $t['Your video (%s) is downloading'] = "Seu vídeo (%s) está sendo baixado"; $t['Your video download is complete, it is encoding now'] = "O download de vídeo está completo, ele será codificado agora"; $t['Your video has NOT been deleted!'] = "O seu vídeo NÃO foi removido!"; $t['Your video has NOT been saved!'] = "Seu vídeo não foi gravado!"; $t['Your video has been deleted!'] = "Seu vídeo foi excluído!"; $t['Your video has been saved!'] = "Seu vídeo foi gravado!"; $t['Your video is downloading now'] = "O vídeo está sendo transferido agora"; $t['Your videos have NOT been deleted!'] = "Seus vídeos NÃO foram excluídos!"; $t['Youtube'] = "Youtube"; $t['Youtube-dl'] = "Youtube-dl"; $t['ago'] = "atrás"; $t['day'] = "dia"; $t['days'] = "dias"; $t['description'] = "descrição"; $t['hour'] = "hora"; $t['hours'] = "horas"; $t['https://github.com/WWBN/AVideo-Encoder'] = "https://github.com/WWBN/AVideo-Encoder"; $t['https://youtu.be/%s'] = "https://youtu.be/%s"; $t['is Active'] = "está ativo"; $t['is Admin'] = "é admin"; $t['minute'] = "minuto"; $t['minutes'] = "minutos"; $t['month'] = "mês"; $t['months'] = "meses"; $t['remaining'] = "remanescente"; $t['second'] = "segundo"; $t['seconds'] = "segundos"; $t['week'] = "semana"; $t['weeks'] = "semanas"; $t['year'] = "ano"; $t['years'] = "anos"; $t['youtube-dl uses Python and some servers does not came with python as default, to install Python type:'] = "Youtube-dl usa Python e alguns servidores não tem python instalado como padrão. Para instalar Python, digite:"; //--- added 13 april 2021 by Julian Romero //---- login page missing translation phrases $t['Check this to stay signed in'] = 'Permanecer logado'; $t['Welcome back!'] = "Bem-vindo novamente!"; $t['Show/Hide Password'] = 'Mostrar/esconder senha'; $t['Use this to recover your password'] = 'Clique aqui para recuperar sua senha'; $t['Are you new here?'] = 'Novo por aqui? Registre-se'; //--- added 19 april 2021 by Julian Romero //---- navbar and header missing translations $t['Main Menu'] = "Menu Principal"; $t["Submit your videos"] = "Enviar vídeos"; $t["Upload files without encode"] = "Enviar vídeos sem codificar"; $t["Direct upload"] = "Upload direto"; $t["Search for videos in your local disk"] = "Procurar vídeos na máquina local"; $t["Direct Import Local Videos"] = "Importar vídeos locais diretamente"; $t["Embed videos/files in your site"] = "Embutir vídeos/arquivos no site"; $t["Embed a video link"] = "Embutir um link de vídeo"; $t["Write an article"] = "Escrever um artigo"; $t["Add Article"] = "Adicionar artigo"; $t["Only verified users can upload"] = "Apenas usuários verificados podem enviar vídeos"; $t["Dashboard"] = "Painel de controle"; $t["My Subscribers"] = "Meus assinantes"; $t["Admin Panel"] = "Painel administrativo"; $t["Site Configurations"] = "Configurações do site"; $t["Clear First Page Cache"] = "Limpar cache da página inicial"; $t["Clear Cache Directory"] = "Limpar cache geral"; $t["Log file"] = "Auditoria"; $t["Generate Sitemap"] = "Gerar sitemap"; $t["Extra Permissions"] = "Permissões extras"; $t["Channels"] = "Canais"; $t["Browse Channels"] = "Procurar canais"; $t["Play a Link"] = "Assistir um link"; //---- view/include/updateCheck.php $t["Database-update needed"] = "Atualização de banco de dados requerida"; $t['You have version '] = "Você está com a versão "; $t['installed , but your database is not up to date. This could lead to bugs. Please go to the update-site.'] = "instalada, mas o banco de dados não está atualizado. Isto pode causar erros. Atualize sua versão do banco de dados."; $t['Copy to Clipboard'] = "Copiar para a área de transferência"; //---- view/include/offlinePage.php $t["Site Maintenance"] = "Manutenção do site"; $t["We’ll be back soon!"] = "Volte mais tarde!"; $t["Sorry for the inconvenience but we’re performing some maintenance at the moment."] = "Desculpem-nos pela inconveniência, mas estamos realizando manutenção no site neste momento"; $t["—The Team"] = "Equipe de desenvolvimento do site"; //---- view/include/navbarEncoder.php $t["Choose one of our encoders to upload a file or download it from the Internet"] = 'Escolha um dos encoders para enviar um vídeo ou crie seu próprio encoder'; $t["Encoder Network"] = "Encoder Network"; $t["Upload a file or download it from the Internet"] = "Envie um vídeo ou baixe"; $t["Encode video and audio"] = "Codificar vídeo e áudio"; $t["Configure an Encoder URL"] = "Configurar uma URL de encoder"; //---- view/include/footer.php $t['You have a new version to install'] = "Uma nova versão está disponível para atualização"; //---- view/include/blockedUser.php $t["You've blocked user "] = "Você bloqueou o usuário "; $t["You won't see any comments or videos from this user"] = "Você não poderá ver comentários ou vídeos deste usuário"; //---- view/about.php $t["I would humbly like to thank God for giving me the necessary knowledge, motivation, resources and idea to be able to execute this project. Without God's permission this would never be possible."] = "Agradeço humildemente a Deus por me dar o conhecimento, a motivação, os recursos e a ideia necessária para poder executar este projeto. Sem a permissão de Deus isso nunca seria possível."; $t["For of Him, and through Him, and to Him, are all things: to whom be glory for ever. Amen."] = "Porque Dele, e por Ele, e para Ele são todas as coisas;a quem seja glória para sempre. Amém."; $t["Apostle Paul in"] = "Apóstolo Paulo em"; $t["Romans 11:36"] = "Romanos 11:36"; $t["Main Site"] = "Site principal"; $t["Demo Site"] = "Site de demonstração"; $t["Tutorials Site"] = "Site de tutoriais"; $t["Issues and requests Site"] = "Site de problemas e requisições"; $t["You are running AVideo version %s!"] = "Você tem a versão %s do AVideo!"; $t["You can upload max of %s!"] = "Você pode enviar arquivos no máximo de %s!"; $t["You have %s minutes of videos!"] = "Você tem %s minutos de vídeos!"; $t["You are using"] = "Você está usando"; $t["on"] = "em"; //---- view/channel.php $t["This user is inactive"] = "Este usuário está inativo"; //---- view/channelBody.php $t["Show More"] = "Mostrar mais"; $t["Show Less"] = "Mostrar menos"; $t['Organize'] = "Organizar"; //---- view/channelPlaylist.php $t["Copied!"] = "Copiado!"; $t["Copy embed code"] = "Copiar código para embutir"; //---- view/channelPlaylistItems.php $t['Sorry you do not have anything available'] = "Desculpe, você não tem nada para listar disponível"; $t["Play All"] = "Reproduzir tudo"; $t["Serie"] = "Série"; $t["Trailer"] = "Trailer"; $t["Added On Watch Later"] = "Adicionado para assistir depois"; $t["Watch Later"] = "Assistir depois"; $t["Added On Favorite"] = "Adicionado em favoritos"; $t["Favorite"] = "Favoritos"; $t["Edit Video"] = "Editar"; $t["Change Playlist Name"] = "Renomear playlist"; $t["Confirm Playlist name"] = "Confirmar nome da playlist"; //----- view/channelProgram.php $t['Add To Serie'] = "Adicionar à série"; $t["Program"] = "Programa"; $t["Programs"] = "Programas"; $t["Auto Sort"] = "Auto-ordenar"; $t["Alphabetical"] = "Alfabética"; $t["Created Date"] = "Data de criação"; $t['Add this playlist in your video library'] = "Adicionar esta playlist em sua biblioteca"; $t['Add to Program'] = "Adicionar ao programa"; $t['This playlist is private, click to make it public'] = "Esta playlist é privada, clique aqui para torná-la pública"; $t['This playlist is public, click to make it unlisted'] = "Esta playlist é pública, clique aqui para torná-la não-listada"; $t['This playlist is unlisted, click to make it private'] = "Esta playlist é não-listada, clique aqui para torná-la privada"; $t["Sort"] = "Ordenar"; $t["Drag and drop to sort"] = "Arraste e solte para ordenar"; $t["Series"] = "Séries"; $t['Search Serie'] = "Procurar série"; //----- index.php $t["Error Page"] = "Página de erro"; $t["Error. Oops you've encountered an error"] = "Erro. Ooops, um erro foi encontrado"; $t["It appears that either something went wrong or the mod rewrite configration is not correct."] = "Parece que existe algo de errado no site ou na configuração do mod rewrite."; $t["If you don't use apache, just let .htaccess stay or create a empty file - then this check will pass."] = "Se você não usa Apache Server, mantenha o .htaccess ou crie um .htaccess vazio - esta checagem de erro será validada."; $t["We need to allow Apache to read .htaccess files located under the "] = "É preciso dar permissão ao Apache para ler o arquivo .htaccess localizado em "; $t[" directory."] = " diretório."; $t["You can do this by editing the Apache configuration file:"] = "Você também pode editar o arquivo de configuração do Apache:"; $t["Find the section "] = "Localize a seção "; $t[" and change AllowOverride None to AllowOverride All"] = " e mudar AllowOverride None para AllowOverride All"; $t["After editing the above file your code should be like this:"] = "Depois de editar o arquivo, seu código deve ficar como abaixo:"; $t["In order to use mod_rewrite you can type the following command in the terminal:

"] = "Para usar o mod_rewrite, você pode digitar o seguinte comando em seu terminal:"; $t["Restart apache2 after"] = "Reinicie o serviço apache2 depois"; $t["or"] = "ou"; //----- translation strings for view/error.php $t["We couldn't find what you were looking for."] = "Não encontramos o que está procurando."; $t["Unfortunately the page you were looking for could not be found. It may be temporarily unavailable, moved or no longer exist."] = "Infelizmente a página que você está tentando acessar não foi encontrada. Ela pode estar temporariamente indisponível, alterada ou removida."; $t["Check the URL you entered for any mistakes and try again. Alternatively, search for whatever is missing or take a look around the rest of our site."] = "Cheque o endereço digitado por algum erro de digitação e tente novamente. Alternativamente, você pode pesquisar pelo termo ou navegar pelo nosso site."; $t["About Us"] = "Sobre nós"; $t["Site Map"] = "Mapa do site"; //---------------------------------------------------------------------------------------------------------- //------ ||| //------ vvv automatically translations strings retrieval using simple script by Julian Romero in 21 april 2021 //---------------------------------------------------------------------------------------------------------- //----- translation strings from admin/backup.php $t['Backup Files and Database'] = 'Cópia de segurança dos arquivos e banco de dados'; $t['As a database increases in size full database backups take more time to complete, and require more storage space. please be patience'] = 'Como o banco de dados crescendo as cópias de segurança levam mais tempo para completar, e necessitam de mais espaço em disco. por favor, seja paciente'; $t['Prevent Data Loss'] = 'Previna perda de dados'; $t['Backing up your video files and databases, running test restores procedures on your backups, and storing copies of backups in a safe, off-site location protects you from potentially catastrophic data loss. Backing up is the only way to protect your data.'] = 'Fazer cópia de segurança de seus vídeos e banco de dados, executando procedimentos de teste para restauração, e armazenando as cópias de segurança em um local seguro, diferente do site atual, ajuda na proteção de potenciais perda de dados catastróficas. Realizar a cópia de segurança é o único jeito de proteger os dados do seu site.'; $t['We can help you with this task,'] = 'Nós podemos ajudá-lo nesta tarefa,'; $t['Buy our Backup Plugin Now'] = 'Compre nosso Backup Plugin agora'; $t['This Plugin helps you to clone your video site, it is really helpful for backup routines, load balance, etc.'] = 'Este plugin ajuda a clonar seu site, e é muito útil em rotinas de cópias de segurança, load balance, etc.'; $t['You May find some help how to use Clone Plugin'] = 'Você poderá encontrar ajuda em como usar o Clone Plugin'; $t['Place here the URL of the site you want to clone'] = 'Coloque aqui a URL do site que deseja clonar'; //----- translation strings from admin/customize_settings_native.php $t['Title and Logo'] = 'Título e logo'; $t["Web site title"] = "Título do site"; $t["Your Logo"] = "Sua logo"; $t["Upload a logo"] = "Enviar logo"; $t["Save"] = "Gravar"; $t["Congratulations!"] = "Parabéns!"; $t["Sorry!"] = "Desculpe!"; //----- translation strings from admin/customize_settings_nativeUpdate.json.php $t["Permission denied"] = "Acesso negado"; //----- translation strings from admin/customize_settings_plugin.php $t['Customize Footer, About and Meta Description'] = 'Personalize rodapé, página "Sobre" e descrições meta'; $t['Truly customize your AVideo and create a more professional video sharing site experience for your visitors by removing or replacing the footer, about page and Meta Description with your own.'] = 'Personalize seu AVideo e crie um site de vídeo mais profissional e com melhor experiência para os visitantes removendo ou trocando o rodapé, criando uma página "Sobre" e adicionando descrições meta para auxiliar as máquinas de busca.'; $t['Buy the Customize plugin now'] = 'Compre o Customize Plugin agora'; //----- translation strings from admin/design_colors.php $t['Customize Your site colors'] = 'Personalize as cores do site'; //----- translation strings from admin/functions.php $t['Sorry you do not have the plugin'] = 'Desculpe, você não tem o plugin'; $t['Buy this plugin now'] = 'Compre esse plugin agora'; //----- translation strings from admin/general_settings.php $t['Upload'] = 'Enviar'; $t['Encoder'] = 'Codificador'; $t['Sign In/Up'] = 'Entrar/Registrar'; //----- translation strings from admin/general_settings_encoder.php $t['Let the encoder network (If configured) choose what is the best encoder to use'] = 'Deixe o encoder network (se configurado) escolher qual o melhor codificador para usar'; $t['Do not allow encode in Low resolution'] = 'Não permitir codificar em resolução baixa (Low)'; $t['Do not allow encode in SD resolution'] = 'Não permitir codificar em resolução padrão (SD)'; $t['Do not allow encode in HD resolution'] = 'Não permitir codificar em alta resolução (HD)'; $t['Maybe you need to approve or check something on your video before make it public'] = 'Talvez você precise aprovar ou checar algo no seu vídeo antes de torná-lo público'; //----- translation strings from admin/general_settings_upload.php $t['Users will not be able to directly upload, only use the encoder'] = 'Usuários não poderão enviar vídeos diretamente, somente poderão usar o codificador'; $t['Disable the option to import MP4 videos from your local (Server) storage'] = 'Desative a opção para importar vídeos MP4 do seu servidor de armazenamento'; $t['Do not show the button to the encoder'] = 'Não mostrar o botão para o codificador.'; $t['Check this if you will not use embed videos on your site'] = 'Selecione isso se você não irá incorporar vídeos no site'; //----- translation strings from admin/general_settings_user.php $t['This is useful if you want to use our LDAP plugin or maybe only allow authentication from Social Networks'] = 'Isso é útil se quiser usar nosso plugin LDAP ou somente permitir autenticação por rede social'; $t['Disable the My Account personal info like: First and Last Name and address'] = 'Desative informações da conta pessoal como nome, sobrenome e endereço'; $t['Automatic allow new users to use your Livestream Platform'] = 'Permitir que novos usuários usem automaticamente a plataforma de transmissão'; $t['Do not show user\'s email on the site'] = 'Não mostrar o e-mail do usuário'; $t['Do not show user\'s name on the site'] = 'Não mostrar o nome do usuário'; $t['Do not show user\'s username on the site'] = 'Não mostrar o nome de usuário no site'; $t['Users must verify their emails before login'] = 'Usuários devem confirmar seus e-mails antes do login'; $t['Users must verify their emails before upload/submit videos'] = 'Usuários devem confirmar seus e-mails antes de enviar vídeos'; $t['After sign up we will automatic send a verification email'] = 'Após registro enviar mensagem de verificação de e-mail'; $t['Hide the website to non logged users'] = 'Esconder o site para usuários não logados'; //----- translation strings from admin/index.php $t["Settings"] = "Configurações"; $t["Remove Branding"] = "Remover marca"; $t["General Settings"] = "Configurações gerais"; $t["Site Settings"] = "Configurações do site"; $t["Social Login Settings"] = "Configurações de login por rede social"; $t["S3, B2, FTP settings"] = "Configurações S3, B2 e FTP"; $t["Payments Settings"] = "Configurações de pagamento"; $t["Contents"] = "Conteúdo"; $t["Videos"] = "Vídeos"; $t["Live Stuff"] = "Itens ao vivo"; $t["Users"] = "Usuário"; $t["Users Groups"] = "Grupos de usuários"; $t["Categories"] = "Categorias"; $t["Backup"] = "Backup"; $t["Design"] = "Design"; $t["First Page Style"] = "Estilo da página inicial"; $t["Player Skin"] = "Player Skin"; $t["Themes"] = "Temas"; $t["Colors"] = "Cores"; $t["Custom CSS"] = "CSS Personalizado"; $t["Monetize"] = "Monetizar"; $t["Site Advertisement with VAST Video ads"] = "Publicidade com anúncios em vídeo VAST"; $t["Pay User per Video View"] = "Pagar usuário por visualização do vídeo"; $t["Create Subscription Plans"] = "Criar planos de assinaturas"; $t["Banner Script code"] = "Código script de banner"; $t["Update Version"] = "Atualizar versão"; $t["Miscellaneous"] = "Outras opções"; $t["Plugins"] = "Plugins"; $t["Email All Users"] = "Enviar mensagem a todos os usuários"; $t["Administration"] = "Administração"; $t['Please forgive us for bothering you, but unfortunately you do not have this plugin yet. But do not hesitate to purchase it in our online store'] = 'Perdoe-nos pela intromissão mas infelizmente você ainda não tem este plugin. Mas não hesite em comprá-lo em nossa loja online'; $t['Plugin Store'] = 'Plugin Store'; //----- translation strings from admin/live.php $t['Live'] = 'Live'; $t['Live Chat'] = 'Live Chat'; $t['Live Users'] = 'Live Usuários'; $t['Live Links'] = 'Live Links'; //----- translation strings from admin/mail_all_users.php $t['Sent only to this email'] = 'Enviar apenas para este e-mail'; $t['Leave it blank to send to all users'] = 'Deixe em branco para enviar a todos os usuários'; $t['Filter users'] = 'Filtrar usuários'; $t["All"] = "Tudo"; $t["Enter text"] = "Digite o texto"; $t["Send Email"] = "Enviar mensagem"; $t["Success"] = "Sucesso"; //----- translation strings from admin/monetize_user.php $t['Monetize User'] = 'Monetizar usuário'; $t['Wallet'] = 'Wallet'; //----- translation strings from admin/payments_settings.php $t['Usually for USD we use 2, for cryptocurrencies we use more the 2'] = 'Normalmente para USD usamos 2, para criptomoeda usamos mais que 2'; $t['Australian Dollar = AUD, Brazilian Real = BRL, Canadian Dollar = CAD, Euro = EUR, U.S. Dollar = USD, etc'] = 'Dólar australiano = AUD, Real brasileiro = BRL, Dólar canadense = CAD, Euro = EUR, Dólar americano = USD, etc'; $t['$, R$, etc, the format will be {currency} {value} {currency_symbol} for example ($ 10.00 USD) or (R$ 10.00 BRL)'] = '$, R$, etc, o formato será {currency} {value} {currency_symbol} por exemplo ($ 10.00 USD) ou (R$ 10.00 BRL)'; $t['When some one buy something on your web site, the wallet balance will be transferred to this user ID'] = 'Quando alguém compra algo no site, o balanço será transferido para sua carteira (wallet)'; $t['You need to enable it to be able to use PayPal to add funds on your wallet'] = 'Você precisa ativá-lo para usar PayPal e adicionar fundos em sua carteira (wallet)'; $t['Let users request withdraws from his wallet. the withdraw mus be done manually'] = 'Deixar usuários solicitar saques da carteira (wallet). O saque deve ser feito manualmente'; //----- translation strings from admin/socialLogin_settings.php $t['Customize options'] = 'Opções de personalização'; $t['The form to signup will not exists'] = 'O formulário para registro não será exibido'; $t['The regular form to signin will not exist, if you check this will only have social login or LDAP option'] = 'O formulário normal para registro não existirá, se você selecionar essa opção apenas serão exibidos login por rede social ou LDAP'; $t['The site will display only a login form to un authenticated users'] = 'O site só irá mostrar formulário de registro para usuários não-autenticados'; $t['Get Facebook ID and Key'] = 'Obter o Facebook ID e Key'; $t['Valid OAuth redirect URIs'] = 'URIs válidas para redirecionamento OAuth'; $t['For mobile a Valid OAuth redirect URIs'] = 'URIs mobile válidas para redirecionamento OAuth'; $t['Get Google ID and Key'] = 'Obter Google ID e Key'; $t['Get Linkedin ID and Key'] = 'Obter Linkedin ID e Key'; $t['Get Twitter ID and Key'] = 'Obter Twitter ID e Key'; $t['Get Yahoo ID and Key'] = 'Obter Yahoo ID e Key'; $t['Help Page'] = 'Página de ajuda'; //----- translation strings from install/index.php $t["Enter System Admin password"] = "Digite a senha do administrador do sistema"; $t["Confirm System Admin password"] = "Confirme a senha do administrador do sistema"; $t["Enter Database Password"] = "Digite a senha do banco de dados"; //----- translation strings from locale/index.php $t["Translate AVideo"] = "Traduza o AVideo"; $t["Save File"] = "Salvar arquivo"; $t["Original words found"] = "Palavras originais encontradas"; $t["Word Translations"] = "Traduções de palavras"; $t["Paste here the translated words, one each line"] = "Cole aqui as palavras traduzidas, uma por linha"; $t["Translated Array"] = "Matriz de tradução"; $t["You need to make your locale folder writable"] = "O diretório locale deve ter permissão de gravação"; //----- translation strings from locale/save.php $t["Your %slocale dir is not writable"] = "Seu %slocale diretório não tem permissão de gravação"; $t["Unable to open file!"] = "Não é possível abrir o arquivo!"; //----- translation strings from objects/aVideoEncoder.json.php $t["Permission denied to receive a file: "] = "Permissão negada para receber arquivo: "; $t["Permission denied to edit a video: "] = "Permissão negada para editar vídeo: "; $t["Could not move image file [%s.jpg]"] = "Não é possível mover o arquivo de imagem JPG [%s.jpg]"; $t["Could not move gif image file [%s.gif]"] = "Não é possível mover o arquivo de imagem GIF [%s.gif]"; //----- translation strings from objects/aVideoEncoderNotifyIsDone.json.php $t["Permission denied to Notify Done: "] = "Permissão negada para notificação: "; //----- translation strings from objects/aVideoEncoderReceiveImage.json.php $t["Your POST data is empty may be your video file too big for the host"] = "Os dados POST estão vazios, talvez o tamanho do arquivo enviado não é suportado pelo servidor"; $t["Could not move webp image file [%s.webp]"] = "Não foi possível moder o arquivo de imagem WEBP [%s.webp]"; //----- translation strings from objects/commentDelete.json.php $t["ID can not be empty"] = "O ID não pode ser vazio"; //----- translation strings from objects/emailAllUsers.json.php $t["You can not do this"] = "Ação não permitida"; $t["Message could not be sent"] = "A mensagem não pode ser enviada"; //----- translation strings from objects/functiondiskUsageBars.php $t["Videos Directory"] = "Diretório de vídeos"; $t["Other Files"] = "Outros arquivos"; $t["Free Space"] = "Espaço disponível"; //----- translation strings from objects/functiongetShareMenu.php $t["Share"] = "Compartilhar"; $t["Share Code"] = "Código de compartilhamento"; $t["E-mail"] = "E-mail"; $t["Permanent Link"] = "Link permanente"; $t["Embed"] = "Embutir"; $t["Link"] = "Link"; $t["Sign in now!"] = "Registre-se agora!"; $t["E-mail Address"] = "E-mail"; $t["Message"] = "Mensagem"; $t["Type the code"] = "Digite o código"; $t["Send"] = "Enviar"; $t["Your message could not be sent!"] = "A mensagem não pôde ser enviada!"; $t["URL Friendly"] = "URL amigável"; $t["Current Time"] = "Hora atual"; //----- translation strings from objects/functions.php $t["Now"] = "Agora"; $t["ago"] = "atrás"; $t['Coming in'] = 'Entrando em'; $t["Error"] = "Erro"; $t["Page %d"] = "Página %d"; $t["Password"] = "Senha"; $t['Disconnected'] = 'Desconectado'; $t['Connected'] = 'Conectado'; $t["Sign Up"] = "Registrar"; $t["Sign In"] = "Entrar"; $t['Plugin'] = 'Plugin'; //----- translation strings from objects/functionsGetTinyMCE.php $t["Unknown Error!"] = "Erro desconhecido!"; //----- translation strings from objects/login.json.php $t["%s ERROR: You must set a ID on config"] = "%s ERROR: Você deve configurar o ID"; $t["%s ERROR: You must set a KEY on config"] = "%s ERROR: Você deve configurar a chave (KEY)"; $t["User and Password can not be blank"] = "Nome de usuário e senha não podem ser vazias"; $t["Your user is not verified, we sent you a new e-mail"] = "Seu usuário não está verificado, enviamos uma nova mensagem de verificação para seu e-mail"; $t["Invalid Captcha"] = "Captcha inválido"; $t["2FA login is required"] = "Login 2FA é obrigatório"; //----- translation strings from objects/notifySubscribers.json.php $t["You can not notify"] = "Você não pode notificar"; $t["Message sent"] = "Mensagem enviada"; //----- translation strings from objects/playlistAddNew.json.php $t["Name can't be blank"] = "Nome não pode ser vazio"; //----- translation strings from objects/pluginAddDataObject.json.php $t["ID can't be blank"] = "ID não pode ser vazio"; //----- translation strings from objects/pluginSwitch.json.php $t["UUID can't be blank"] = "UUID não pode ser vazio"; //----- translation strings from objects/sendEmail.json.php $t["The email is invalid"] = "O e-mail é inválido"; $t["Your code is not valid"] = "O código não é válido"; //----- translation strings from objects/subscribe.json.php $t["User can not be blank"] = "Usuário não pode ser vazio"; //----- translation strings from objects/subscribe.php $t["Unknown User"] = "Usuário desconhecido"; $t["Want to subscribe to this channel?"] = "Quer assinar este canal?"; $t["Sign in to subscribe to this channel"] = "Registre-se e assine este canal"; $t["Subscribe"] = "Assine"; $t["Subscribed"] = "Assinante"; $t["Stop getting notified for every new video"] = "Pare de receber notificação para cada novo vídeo"; $t["Click to get notified for every new video"] = "Receba notificação para cada novo vídeo"; //----- translation strings from objects/user.php $t["E-mail Verified"] = "E-mail verificado"; $t["You need a user and passsword to register"] = "Você precisa de um nome de usuário e senha para registrar-se"; $t["Admin"] = "Administrador"; $t["Regular User"] = "Usuário padrão"; $t["Active"] = "Ativo"; $t["Inactive"] = "Inativo"; $t["E-mail Not Verified"] = "E-mail não-verificado"; $t['Please Verify Your E-mail '] = 'Favor verificar seu e-mail '; $t["Hi %s"] = "Olá %s"; $t["Verify"] = "Verificar"; //----- translation strings from objects/userCreate.json.php $t["The captcha is empty"] = "O captcha está vazio"; $t["The captcha is wrong"] = "O captcha está errado"; $t["User already exists"] = "Nome de usuário já existe"; -$t["You must specify an valid email"] = "Você deve informar um e-mail válido"; +$t["You must specify a valid email"] = "Você deve informar um e-mail válido"; $t["Email already exists"] = "E-mail já existe"; $t["You must fill all fields"] = "Você deve preencher todos os campos"; $t["Invalid Email"] = "E-mail inválido"; //----- translation strings from objects/userGroupSave.json.php $t["You can not Manage This Video"] = "Você não pode gerenciar este vídeo"; //----- translation strings from objects/userRecoverPass.php $t["You asked for a recover link, click on the provided link"] = "Você solicitou um link de recuperação de senha, acesse ou clique no link"; $t["Recover password could not be saved!"] = "A senha de recuperação não pôde ser salva!"; $t["You do not have an e-mail"] = "Você não tem um e-mail cadastrado"; $t["Recover Password"] = "Recuperar senha"; $t["The recover pass does not match!"] = "A senha de recuperação não confere!"; $t["Recover password!"] = "Recuperar senha!"; $t["User"] = "Usuário"; $t["New Password"] = "Nova senha"; $t["Confirm New Password"] = "Confirmar nova senha"; $t["Your new password could not be set!"] = "A nova senha não pôde ser registrada!"; //----- translation strings from objects/userRecoverPassSave.json.php $t["There is missing data to recover your password"] = "Há dados incompletos para recuperação de sua senha"; $t["User not found"] = "Usuário não localizado"; $t["Recover password does not match"] = "Senha de recuperação não confere"; $t["Confirmation password does not match"] = "Senha de confirmação não confere"; $t["Your Password has been set"] = "Sua senha foi registrada"; //----- translation strings from objects/userSaveBackground.php $t["You must be logged"] = "Você deve estar logado"; //----- translation strings from objects/userUpdate.json.php $t["Is not logged"] = "não está logado"; $t["Channel name already exists"] = "Nome de canal já existe"; //----- translation strings from objects/userVerifyEmail.php $t["Verification Sent"] = "Verificação enviada"; $t["Already verified"] = "Já verificado"; $t["Email Verified"] = "E-mail verificado"; $t["Email verification error"] = "Erro na verificação do e-mail"; //----- translation strings from objects/video.php $t["Paid Content"] = "Conteúdo pago"; $t["Password Protected"] = "Protegido por senha"; $t["Pay Per View"] = "Pay Per View"; $t["Private"] = "Privado"; $t["Status"] = "Status"; $t["Active and encoding"] = "Ativo e codificando"; $t["Encoding"] = "Codificando"; $t["Downloading"] = "Baixando"; $t["Unlisted"] = "Não-listado"; $t["Encoding mp4 error"] = "Erro na codificação mp4"; $t["Encoding xwebm error"] = "Erro na codificação xwebm"; $t["Encoding xmp3 error"] = "Erro na codificação xmp3"; $t["Encoding xogg error"] = "Erro na codificação xogg"; $t["Get imgage error"] = "Erro imgage"; $t["Status not found"] = "Status não encontrado"; $t["Group"] = "Grupo"; $t["Public"] = "Público"; $t["Category"] = "Categoria"; $t["Source"] = "Fonte"; $t["Local File"] = "Arquivo local"; $t['Other'] = 'Outro'; $t["This video is Active and Listed, click here to unlist it"] = "Este vídeo está ativo e listado, clique para deixá-lo não-listado"; $t["This video is inactive, click here to activate it"] = "Este vídeo está inativo, clique aqui para ativá-lo"; $t["This video is unlisted, click here to inactivate it"] = "Este vídeo está como não-listado, clique aqui para inativá-lo"; //----- translation strings from objects/videoStatus.json.php $t["Video NOT Found"] = "Vídeo não encontrado"; //----- translation strings from objects/videoSwap.json.php $t["Swap Disabled"] = "Troca (Swap) desativado"; $t["Mou MUST select 2 videos to swap"] = "Você deve selecionar 2 vídeos para trocar"; $t["You can not Manage This Video 1"] = "Você não tem permissão para gerenciar o vídeo 1"; $t["You can not Manage This Video 2"] = "Você não tem permissão para gerenciar o vídeo 2"; $t["Error on save video 1"] = "Erro ao salvar o vídeo 1"; $t["Error on save video 2"] = "Erro ao salvar o vídeo 2"; //----- translation strings from objects/video_statistic.php $t["You need a video to generate statistics"] = "Você precisa de um vídeo para gerar estatísticas"; //----- translation strings from objects/youtubeUpload.json.php $t["Your video %s was uploaded to your YouTube Account
"] = "Seu vídeo %s foi enviado para sua conta do YouTube
"; $t["A service error occurred [1]: %s"] = "Um erro de serviço ocorreu [1]: %s"; $t["An client error occurred [2]: %s"] = "Um erro do cliente ocorreu [2]: %s"; //----- translation strings from plugin/AVideoPlugin.php $t["Table of content"] = "Índice"; //----- translation strings from plugin/AD_Overlay/footer.php $t["Ad Overlay Code"] = "Código do anúncio (ad overlay)"; $t["Close"] = "Fechar"; $t["Approve Ad Code"] = "Código de aprovação do anúncio (approve ad)"; $t["Disapprove Ad Code"] = "Código de rejeição do anúncio (disapprove ad)"; $t["Disapprove and Delete Ad Code"] = "Código de rejeição e remoção do anúncio (disapprove e delete ad)"; //----- translation strings from plugin/AD_Overlay/profileTabContent.php $t["Save Ad Code"] = "Código de gravação do anúncio (save ad)"; //----- translation strings from plugin/AD_Overlay/profileTabName.php $t["Ad Overlay"] = "Sobreposição de anúncio (ad overlay)"; //----- translation strings from plugin/AD_Server/index.php $t["VAST"] = "VAST"; //----- translation strings from plugin/AD_Server/index_body.php $t["Configure your Ads"] = "Configure seus anúncios"; $t["Enable Ads Plugin"] = "Ativar Ads plugin"; $t["Create Campaign"] = "Criar campanha"; $t["Name"] = "Nome"; $t["Starts on"] = "Começa em"; $t["End on"] = "Termina em"; $t["Max Prints"] = "Máximo de impressões"; $t["Visibility"] = "Visibilidade"; $t["Listed"] = "Listado"; $t["New"] = "Novo"; $t["VMAP Link"] = "VMAP Link"; $t["Edit Campaigns"] = "Editar campanhas"; $t["Start"] = "Início"; $t["End"] = "Fim"; $t["Prints Left"] = "Impressões restantes"; $t["Video Form"] = "Formulário de vídeo"; $t["Add Videos into Campaign"] = "Adicionar vídeos nesta campanha"; $t["Video"] = "Vídeo"; $t["Video URL"] = "URL do vídeo"; $t["Ad Title"] = "Título do anúncio"; $t["Video Redirect URI"] = "URI de redirecionamento do vídeo"; $t["Save Video"] = "Gravar vídeo"; $t["Charts"] = "Gráficos"; $t["Uploaded By"] = "Enviado por"; $t["Are you sure?"] = "Tem certeza?"; $t["You will not be able to recover this action!"] = "Não será possível recuperar esta ação!"; //----- translation strings from plugin/AD_Server_Location/campaignPanel.php $t["Country"] = "País"; $t["Region"] = "Região"; $t["City"] = "Cidade"; $t["Add Location Restriction"] = "Adicionar restrição de localidade"; //----- translation strings from plugin/ADs/deleteImage.json.php $t["The plugin is disabled"] = "O plugin está desativado"; $t["Type is not defined"] = "Tipo não está definido"; $t["Type NOT found"] = "Tipo não foi encontrado"; $t["Invalid filename"] = "Nome de arquivo inválido"; //----- translation strings from plugin/ADs/editor.php $t["ADs Editor"] = "Editor de anúncios"; $t['Edit Ads'] = 'Editar anúncios'; $t["Image"] = "Imagem"; $t["Upload Image"] = "Enviar imagem"; $t["URL"] = "URL"; $t["Ads Saved!"] = "Anúncio gravado!"; $t["Ads deleted!"] = "Anúncio removido!"; //----- translation strings from plugin/API/info.php $t["API"] = "API"; //----- translation strings from plugin/Articles/Articles.php $t['Update Old Descriptions'] = 'Atualizar descrições antigas'; $t['Revert Descriptions to NON-HTML'] = 'Reverter descrições para não-HTML'; //----- translation strings from plugin/Audit/page/audits.json.php $t["You can not manager plugin Audit"] = "Você não pode usar o plugin Audit"; //----- translation strings from plugin/Audit/page/editor.php $t["Audit"] = "Auditoria"; //----- translation strings from plugin/BlockonomicsYPT/invoice.php $t["Invoice"] = "Fatura"; $t["Seconds Left"] = "Segundos restantes"; //----- translation strings from plugin/BulkEmbed/BulkEmbed.php $t["Bulk Embed"] = "Inclusão em massa"; //----- translation strings from plugin/BulkEmbed/search.php $t["Search"] = "Procurar"; $t['Embed All'] = 'Incluir tudo'; $t['Embed Selected'] = 'Inclusão selecionada'; //----- translation strings from plugin/CloneSite/index.php $t["Clone Site"] = "Clonar site"; $t["Manage Clones"] = "Gerenciar clones"; $t["Key"] = "Chave"; $t["Last Clone"] = "Último clone"; //----- translation strings from plugin/CombineSites/page/editor.php $t["You can not manage this plugin"] = "Você não tem permissão para acessar este plugin"; $t["Combine Sites"] = "Combinar sites"; $t["Waiting connection approval"] = "Aguardando aprovação de conexão"; $t["Connected"] = "Conectado"; $t["Connection pre approved"] = "Conexão pré-aprovada"; $t["Request to approve connection"] = "Solicitar aprovação de conexão"; $t["Pre approved connection"] = "Conexão pré-aprovada"; //----- translation strings from plugin/CombineSites/page/get/index.php $t["Views"] = "Visualizações"; //----- translation strings from plugin/CombineSites/page/modeGallery.php $t["Home"] = "Início"; //----- translation strings from plugin/CustomizeAdvanced/CustomizeAdvanced.php $t["Update disk usage for this media"] = "Atualizar uso do armazenamento para esta mídia"; $t["Remove thumbs for this media"] = "Remover miniaturas para esta mídia"; $t["Success!"] = "Sucesso!"; //----- translation strings from plugin/CustomizeAdvanced/confirmRating.php $t["Confirm Rating"] = "Confirmar classificação"; $t["Confirm"] = "Confirmar"; $t["Cancel"] = "Cancelar"; //----- translation strings from plugin/CustomizeAdvanced/deleteThumbs.php $t["Video Not found"] = "Vídeo não encontrado"; //----- translation strings from plugin/CustomizeAdvanced/menuLeft.php $t["R Rating"] = "Classificação R"; $t["Not Rated"] = "Não classificado"; //----- translation strings from plugin/CustomizeUser/CustomizeUser.php $t["Default"] = "Padrão"; $t["None"] = "Nenhum"; $t['Donation'] = 'Doação'; $t['Donatate from your wallet'] = 'Doar usando sua carteira (wallet)'; $t["Allow Download My Videos"] = "Permitir que seus vídeos sejam baixados"; $t["Allow Share My Videos"] = "Permitir que seus vídeos sejam compartilhados"; $t["Sorry, this video is private"] = "Desculpe, este vídeo é privado"; $t['Extra Info'] = 'Informação extra'; $t['Show Extra Info'] = 'Mostrar informação extra'; //----- translation strings from plugin/CustomizeUser/View/Categories_has_users_groups/index_body.php $t["Configurations"] = "Configurações"; $t["Create"] = "Criar"; $t["Edit"] = "Editar"; $t["User Group"] = "Grupo de usuário"; $t["Your register has been saved!"] = "Seu registro foi gravado!"; //----- translation strings from plugin/CustomizeUser/View/Users_extra_info/index_body.php $t["Field Name"] = "Nome do campo"; $t["order"] = "ordem"; $t["Field Type"] = "Tipo do campo"; $t["Field Options"] = "Opções do campo"; $t["Field Default Value"] = "Valor padrão do campo"; $t["Parameters"] = "Parâmetros"; //----- translation strings from plugin/CustomizeUser/View/editor.php $t['CustomizeUser'] = 'CustomizeUser'; $t["Users Extra Info"] = "Informações extras de usuários"; //----- translation strings from plugin/CustomizeUser/View/extraInfo.php $t['Add more fields'] = 'Adicionar mais campos'; //----- translation strings from plugin/CustomizeUser/View/tabExtraInfo.php $t["Save Extra Info"] = "Gravar informações extras"; $t['Extra info saved'] = 'Informações extras gravadas'; //----- translation strings from plugin/CustomizeUser/actionButton.php $t["Please login to donate"] = "Por favor, faça login para doar"; $t["Value to donate"] = "Valor a doar"; $t["Confirm Donation"] = "Confirmar doação"; //----- translation strings from plugin/CustomizeUser/channelMenuRight.php $t["Leave Channel"] = "Deixar o canal"; //----- translation strings from plugin/CustomizeUser/confirmVideoPassword.php $t["Confirm Password"] = "Confirmar senha"; $t["is Private"] = "é privado"; $t["Your password does not match!"] = "Sua senha não confere!"; $t["This Video Requires a Password"] = "Este vídeo exige senha para assistir"; //----- translation strings from plugin/Gallery/Gallery.php $t['Gallery options (admin)'] = 'Opções de galeria (admin)'; $t['Sort Sections'] = 'Ordenar seções'; //----- translation strings from plugin/Gallery/functions.php $t["Up"] = "Up"; $t["Down"] = "Down"; $t["Description"] = "Descrição"; $t["Download"] = "Baixar"; $t["LIVE NOW"] = "LIVE AGORA"; //----- translation strings from plugin/Gallery/view/BigVideo.php $t["Go Back"] = "Voltar"; //----- translation strings from plugin/Gallery/view/Category.php $t["Back to startpage"] = "Voltar ao início"; $t["Back to"] = "Voltar para"; $t["Back"] = "Voltar"; $t["Sub-Category-Gallery"] = "Sub categoria da galeria"; //----- translation strings from plugin/Gallery/view/mainArea.php $t["Live"] = "Live"; $t["newest"] = "mais novo"; $t["Suggested"] = "Sugerido"; $t["Trending"] = "Em alta"; $t["Sort by name"] = "Ordenar por nome"; $t["Date added"] = "Data de inclusão"; $t["Most watched"] = "Mais assistidos"; $t["Most popular"] = "Mais populares"; $t["Warning"] = "Aviso"; $t["We have not found any videos or audios to show"] = "Não foi localizado nenhum vídeo ou áudio para mostrar"; //----- translation strings from plugin/Gallery/view/sections.php $t["Gallery"] = "Galeria"; $t['Sort Gallery Sections'] = 'Ordenar as seções da galeria'; //----- translation strings from plugin/Gallery/view/themeSwitcher.php $t["Change theme"] = "Mudar tema"; //----- translation strings from plugin/Gallery/view/topLogic.php $t["Video Not Available"] = "Vídeo indisponível"; //----- translation strings from plugin/Hotkeys/Hotkeys.php $t['Hotkeys'] = 'Hotkeys'; $t["Seek"] = "Buscar"; $t["Volume"] = "Volume"; $t["Fullscreen"] = "Tela cheia"; $t["Play"] = "Reproduzir"; //----- translation strings from plugin/Layout/Layout.php $t["Random"] = "Aleatório"; //----- translation strings from plugin/Live/Live.php $t["Start Record"] = "Iniciar gravação"; $t["Stop Record"] = "Parar gravação"; $t["Disconnect Livestream"] = "Desconectar transmissão"; $t['Live videos'] = 'Live vídeos'; $t["Live Info"] = "Live info"; $t['Edit Live Servers'] = 'Editar servidores Live'; $t['Test Server'] = 'Testar servidor'; $t['Test Stats'] = 'Testar stats'; $t["is set to not be listed"] = "está configurado para não ser listado"; $t[" (set to not be listed)"] = " (configurado para não ser listado)"; $t["the user is inactive"] = "o usuário está inativo"; $t[" (user is inactive)"] = " (usuário está inativo)"; //----- translation strings from plugin/Live/control.json.php $t["empty command"] = "comando vazio"; $t["Permition denied"] = "Permissão negada"; $t["empty live_transmition_id"] = "live_transmition_id vazio"; $t["Plugin disabled"] = "Plugin desativado"; $t["Transmission not found"] = "Transmissão não encontrada"; $t["You cannot drop this live"] = "Você não pode apagar esta transmissão"; $t["key cannot be empty"] = "chave não pode ser vazia"; //----- translation strings from plugin/Live/getUploadMenuButton.php $t["Broadcast a Live Stream"] = "Transmitir um vídeo ao vivo"; //----- translation strings from plugin/Live/index.php $t["Local Server"] = "Servidor local"; $t["Server not found or inactive"] = "Servidor não encontrado ou inativo"; $t["You are online now, web cam is disabled"] = "Você está online agora, webcam está desativada"; $t["You are not online, loading webcam..."] = "Você ainda não está online, carregando webcam..."; //----- translation strings from plugin/Live/indexCol1.php $t["Toogle view"] = "Alternar visualização"; //----- translation strings from plugin/Live/indexCol3.php $t["Use streaming software or hardware"] = "Usar software ou hardware de streaming"; $t["Share information about your live"] = "Compartilhar informação sobre sua transmissão"; $t["Live stream to other platforms simultaneously"] = "Transmitir para outras plataformas simultaneamente"; //----- translation strings from plugin/Live/isLiveRunning.json.php $t["Key is empty"] = "Chave está vazia"; $t["Live plugin is not enabled"] = "Plugin Live está desativado"; //----- translation strings from plugin/Live/meet.php $t["The server is not ready"] = "O servidor não está pronto"; $t["Stop"] = "Parar"; $t["Start Live Now"] = "Iniciar transmissão agora"; $t["Go Live"] = "Entrar ao vivo"; $t["Please Wait"] = "Por favor, aguarde"; $t["Use your webcam"] = "Use sua webcam"; $t["Webcam"] = "Webcam"; $t["Copy Meet Link"] = "Copiar link do meet"; $t["Copy Meet Password"] = "Copiar senha do meet"; $t["Copy Live Link"] = "Copiar link da transmissão"; //----- translation strings from plugin/Live/report.php $t["Timelive"] = "Tempo de transmissão"; $t["Total Views (90 Days)"] = "Total Visualizações (90 dias)"; //----- translation strings from plugin/Live/tabs/experimentalWebCam.php $t["WebCam Streaming"] = "Transmissão por webcam"; $t["Enable WebCam Stream"] = "Ativar transmissão por webcam"; $t["We will check if there is a stream conflict before stream"] = "Vamos verificar se existe um conflito na transmissão antes de começar"; $t["This is an experimental resource"] = "Este é um recurso experimental"; //----- translation strings from plugin/Live/tabs/tabShare.php $t["Share Info"] = "Compartilhar informação"; $t["Player URL"] = "Player URL"; $t["Live URL"] = "URL ao vivo"; $t["Embed Stream"] = "Embutir transmissão"; //----- translation strings from plugin/Live/tabs/tabStreamKey.php $t['LIVE NOW'] = 'AO VIVO AGORA'; $t["Devices Stream Info"] = "Informação de dispositivos de transmissão"; $t["Server URL"] = "URL do servidor"; $t["If you change your password the Server URL parameters will be changed too."] = "Se você trocar sua senha, os parâmetros da URL do servidor também serão alterados."; $t["Keep Key Private, Anyone with key can broadcast on your account"] = "Mantenha a chave privada: qualquer um com essa chave poderá transmitir ao vivo em sua conta"; $t["Stream name/key"] = "Nome/chave de transmissão"; $t["This also reset the Chat and views counter"] = "Isto também irá zerar o chat e o contador de visualizações"; $t['Active Livestreams'] = 'Transmissões ativas'; $t["Advanced"] = "Avançado"; $t["Destination Application Name"] = "Nome da aplicação de destino"; $t["Destination Host"] = "Host de destino"; $t["Destination Port"] = "Porta de destino"; //----- translation strings from plugin/Live/tabs/tabStreamSettings.php $t["Stream Meta Data"] = "Meta data da transmissão"; $t["Poster Image"] = "Imagem do pôster"; $t["User Groups"] = "Grupos de usuários"; $t["Stream Settings"] = "Configurações de transmissões"; $t["Title"] = "Título"; $t["Make Stream Publicly Listed"] = "Deixar transmissão publicamente listada"; $t["Save Stream"] = "Salvar transmissão"; $t["Upload Poster Image"] = "Enviar imagem de pôster"; $t["Remove Poster"] = "Remover pôster"; $t["Groups That Can See This Stream"] = "Grupos que podem ver esta transmissão"; $t["Add more user Groups"] = "Adicionais mais grupos"; //----- translation strings from plugin/Live/view/Live_restreams/index_body.php $t["Stream Url"] = "URL da transmissão"; $t["Stream Key"] = "Chave da transmissão"; //----- translation strings from plugin/Live/view/Live_restreams/livePanel.php $t["Restream"] = "Retransmitir"; $t["It allows users to simultaneously stream video content to multiple platforms and social networks"] = "Isto permite transmissões simultâneas para múltiplas plataformas e redes sociais"; //----- translation strings from plugin/Live/view/Live_servers/index_body.php $t["Rtmp Server"] = "Servidor RTMP"; $t["Player Server"] = "Servidor de reprodução"; $t["PlayerServer"] = "PlayerServer"; $t["Stats Url"] = "URL stats"; $t["Get Remote File URL"] = "Pegar URL do arquivo remoto"; $t["GetRemoteFile"] = "PegarArquivoRemoto"; $t["Restreamer URL"] = "URL de retransmissão"; $t["Control URL"] = "URL de controle"; $t["DisableDVR"] = "DesativarDVR"; $t["No"] = "Não"; $t["Yes"] = "Sim"; $t["DisableGifThumbs"] = "DesativarMiniaturasGIF"; $t["UseAadaptiveMode"] = "UsarModoAdaptativo"; $t["ProtectLive"] = "ProtegerTransmissão"; $t["RTMP"] = "RTMP"; //----- translation strings from plugin/Live/view/editor.php $t["Live Servers"] = "Servidores de transmissão"; $t["Live Restreams"] = "Servidores de retransmissão"; //----- translation strings from plugin/Live/view/footer.php $t["ONLINE"] = "ONLINE"; $t["Please Wait ..."] = "Favor aguardar ..."; $t["OFFLINE"] = "OFFLINE"; $t["Finishing Live..."] = "Finalizando transmissão..."; //----- translation strings from plugin/Live/view/menuRight.php $t["Please Wait, we are checking the lives"] = "Por favor aguarde, estamos checando as transmissões"; $t["There is no streaming now"] = "Não há transmissão agora"; //----- translation strings from plugin/LiveLinks/getUploadMenuButton.php $t["Add an External a Live Streaming"] = "Adicionar uma transmissão ao vivo externa"; //----- translation strings from plugin/LiveLinks/index.php $t["Live Links"] = "Links ao vivo"; //----- translation strings from plugin/LiveLinks/view/panel.php $t["Add an external Live Link"] = "Adicionar um link de transmissão ao vivo externa"; $t["Type"] = "Tipo"; $t["Logged Users Only"] = "Apenas usuários logados"; $t["Live Events"] = "Eventos ao vivo"; //----- translation strings from plugin/LoginControl/LoginControl.php $t["Please check your email for 2FA confirmation "] = "Cheque seu e-mail para a confirmação 2FA"; $t["2FA email not sent"] = "E-mail 2FA não foi enviado"; $t["Last login was on "] = "Último login foi em "; $t["Your email is invalid"] = "Seu e-mail é inválido"; $t["Here"] = "Aqui"; $t["Enable 2FA Login"] = "Ativar login com 2FA"; $t['This will disable the PGP 2FA'] = 'Isto irá desativar o PGP 2FA'; //----- translation strings from plugin/LoginControl/Objects/logincontrol_history.php $t["Failed login attempt"] = "Falha em tentativa de login"; //----- translation strings from plugin/LoginControl/View/Users_login_history/index.php $t["Login Control"] = "Controle de login"; //----- translation strings from plugin/LoginControl/View/Users_login_history/index_body.php $t["Users Id"] = "ID usuários"; $t["UniqidV4"] = "UniqidV4"; $t["Ip"] = "IP"; $t["User Agent"] = "User Agent"; $t["Confirmation Code"] = "Código de confirmação"; //----- translation strings from plugin/LoginControl/View/editor.php $t['LoginControl'] = 'ControleLogin'; $t["Users Login History"] = "Histórico de login de usuários"; //----- translation strings from plugin/LoginControl/confirm.php $t["Your device is confirmed"] = "Seu dispositivo está confirmado"; //----- translation strings from plugin/LoginControl/pgp/challenge.php $t["PGP Challenge"] = "Desafio PGP"; $t['Two-Factor Challenge'] = 'Desafio 2-fatores'; $t['Generate Keys'] = 'Gerar chaves'; $t['Two-Factor Response'] = 'Resposta 2-fatores'; $t['Enter Code'] = 'Digite o código'; $t['Check Code'] = 'Checar o código'; $t['Challenge Decryptor'] = 'Decifrador de desafio'; $t['To increase your security, we recommend that you use your own PGP tools (offsite)'] = 'Para aumentar sua segurança, recomendamos que use sua própria ferramenta PGP (offsite)'; $t['Private Key'] = 'Chave privada'; $t['Key Password'] = 'Senha da chave'; $t['Decrypt'] = 'Decifrar'; //----- translation strings from plugin/LoginControl/pgp/decryptMessage.php $t['Copy from generated'] = 'Copiar do gerado'; $t['Text to Decrypt'] = 'Texto para decifrar'; $t['Copy from encripted message'] = 'Copiar da mensagem criptografada'; $t['Decrypted Text'] = 'Texto decifrado'; //----- translation strings from plugin/LoginControl/pgp/deletePublicKey.json.php $t['PGP Key removed'] = 'Chave PGP removida'; //----- translation strings from plugin/LoginControl/pgp/encryptMessage.php $t['Public Key'] = 'Chave pública'; $t['Text to Encrypt'] = 'Texto para criptografar'; $t['Encrypted Text'] = 'Texto criptogrado'; $t['Encrypt'] = 'Criptografar'; //----- translation strings from plugin/LoginControl/pgp/generateKeys.php $t['Your Name'] = 'Seu nome'; $t['Your Email'] = 'Seu e-mail'; $t['Download'] = 'Baixar'; $t['Generate'] = 'Gerar'; $t['Download private and public keys'] = 'Baixar chaves pública e privada'; $t['Would you like to download the keys?'] = 'Você deseja baixar as chaves?'; $t["Key cannot be empty"] = "Chave não pode ser vazia"; //----- translation strings from plugin/LoginControl/pgp/keys.php $t["PGP Keys"] = "Chaves PGP"; $t['Decrypt Message'] = 'Decifrar mensagem'; $t['Encrypt Message'] = 'Criptografar mensagem'; //----- translation strings from plugin/LoginControl/profileTabContent.php $t["Login History"] = "Histórico de login"; $t["When"] = "Quando"; $t["IP"] = "IP"; $t["Device"] = "Dispositivo"; $t["PGP Public Key"] = "Chave PGP pública"; $t['If the system finds a valid public key we will challenge you to decrypt a message so that you can log into the system. so make sure you have the private key equivalent to this public key'] = 'Se o sistema encontrar uma chave pública válida, você será desafiado para decifrar a mensagem para que possa logar no sistema. Tenha certeza de ter a chave privada para esta chave pública.'; $t['Save PGP Key'] = 'Salvar Chave PGP'; $t['Saved'] = 'Gravado'; //----- translation strings from plugin/LoginControl/profileTabName.php $t["PGP 2FA"] = "PGP 2FA"; //----- translation strings from plugin/Meet/Meet.php $t['Meet'] = 'Meet'; $t["Stop Live"] = "Parar transmissão"; //----- translation strings from plugin/Meet/View/Meet_join_log/index.php $t["Meet"] = "Meet"; //----- translation strings from plugin/Meet/View/Meet_join_log/index_body.php $t["Meet Schedule Id"] = "ID do meet agendado"; //----- translation strings from plugin/Meet/View/Meet_schedule/index_body.php $t["Live Stream"] = "Transmissão ao vivo"; $t["Topic"] = "Tópico"; $t["Starts"] = "Início"; $t["Finish"] = "Término"; $t["Meet Code"] = "Código do meet"; //----- translation strings from plugin/Meet/View/Meet_schedule_has_users_groups/index_body.php $t["Users Groups Id"] = "ID dos grupos de usuários"; //----- translation strings from plugin/Meet/View/editor.php $t["Meet Schedule"] = "Programação do meet"; $t["Meet Schedule Has Users Groups"] = "Programação do meet tem grupos de usuários"; $t["Meet Join Log"] = "Log de entrada do meet"; //----- translation strings from plugin/Meet/api.js.php $t["Please, enter your name"] = "Por favor, digite seu nome"; $t["Start Now"] = "Começar agora"; $t["You must provide a name"] = "Você deve fornecer um nome"; //----- translation strings from plugin/Meet/checkServers.php $t["Check Meet Servers"] = "Checar os servidores de meet"; $t["Create a Meet"] = "Criar um meet"; //----- translation strings from plugin/Meet/confirmMeetPassword.php $t["Confirm Meet Password"] = "Confirmar senha do meet"; $t["This Meet Requires a Password"] = "Para acessar este meet é necessário senha"; //----- translation strings from plugin/Meet/getMeetInfo.json.php $t["Meet Link"] = "Link do meet"; $t["Invitation"] = "Convite"; $t["Meet Invitation"] = "Convite do meet"; $t["Copy"] = "Copiar"; $t["Participants"] = "Participantes"; //----- translation strings from plugin/Meet/index.php $t["Meeting"] = "Meeting"; $t["Loading Server Info"] = "Carregar informação do servidor"; $t["Meetings"] = "Meetings"; $t["Schedule"] = "Programação"; $t["New Meet"] = "Novo meet"; $t["Meet Topic"] = "Tópico do meet"; //----- translation strings from plugin/Meet/meet_log.php $t["Last 10 Attends"] = "Últimos 10 participantes"; $t["Meetings you can attend"] = "Meetings que você pode participar"; $t["Today"] = "Hoje"; $t["Upcoming"] = "Próximos"; $t["Past"] = "Anteriores"; //----- translation strings from plugin/Meet/meet_manager.php $t["Create Room"] = "Criar sala"; $t["Meet Password"] = "Senha do meet"; $t["Auto Transmit Live"] = "Transmitir ao vivo automaticamente"; //----- translation strings from plugin/Meet/meet_scheduled.php $t["Delete All Selected"] = "Remover selecionados"; $t["Owner"] = "Proprietário"; $t["Join"] = "Entrar"; $t["Comming Soon"] = "Em breve"; $t["Copy Invitation"] = "Copiar convite"; $t["Copy Link"] = "Copiar link"; $t["Meet Log"] = "Log de meet"; $t["Delete"] = "Remover"; $t["Specific User Groups"] = "Grupos de usuários específico"; //----- translation strings from plugin/Meet/serverLabels.php $t["Unlimited"] = "Ilimitado"; //----- translation strings from plugin/Meet/validateMeet.php $t["Please, login before join a meeting"] = "Por favor, faça o login antes de entrar num meeting"; //----- translation strings from plugin/MobileManager/oauth2.php $t["%s ERROR: You must set a ID on config"] = "ERRO %s: Você deve definir um ID na configuração"; $t["%s ERROR: You must set a KEY on config"] = "ERRO %s: Você deve definir uma CHAVE na configuração"; //----- translation strings from plugin/Permissions/Permissions.php $t["The Permissions Plugin is not installed. Please install it if you want to customize the permissions."] = "O Plugin Permissions não está instalado. É preciso instalá-lo para trabalhar com permissões."; $t["Comments Admin"] = "Administração de comentários"; $t["Videos Admin"] = "Administração de vídeos"; $t["Videos Moderator"] = "Moderação de vídeos"; $t["Users Admin"] = "Administração de usuários"; $t["Users Groups Admin"] = "Administração de grupos de usuários"; $t["Cache Manager"] = "Gerência de cache"; $t["Sitemap"] = "Sitemap"; $t["Log"] = "Log"; //----- translation strings from plugin/Permissions/View/Users_groups_permissions/index.php $t["Permissions"] = "Permissões"; //----- translation strings from plugin/Permissions/View/Users_groups_permissions/index_body.php $t["Users Groups Id1"] = "ID1 de grupos de usuários"; $t["Plugins Id"] = "ID do plugin"; //----- translation strings from plugin/Permissions/View/editor.php $t["Users Groups Permissions"] = "Permissões de grupos de usuários"; //----- translation strings from plugin/PlayLists/PlayLists.php $t["Organize"] = "Organizar"; $t['Show on TV'] = 'Mostrar na TV'; $t["Watch Live"] = "Assistir ao vivo"; $t["Play Live"] = "Reproduzir ao vivo"; $t["Play this Program live now"] = "Reproduzir este programa ao vivo agora"; $t["Is Live"] = "está ao vivo"; $t["Stop this Program and start over again"] = "Parar este programa e recomeçar"; $t["Playlists or Program Playlists are identified by default as programs of content on the AVideo Platform.
"] = "Playlists ou programas são identificados por padrão como programas de conteúdo na plataforma AVideo Platform.
"; $t[" You can use the Edit Parameters button to rename it to your choosing.
We recommend to keep the Program name "] = ' Você pode clicar no botão "Editar parâmetros" para renomear a seu gosto.
Recomendamos manter o nome "Programa"/"Program" '; $t["as it is defaulted to in order to be well indexed in the SearchTube and Other AVideo Platform search and network indexing tools."] = "já que este é o padrão utilizado no SearchTube e outros indexadores e ferramentas da plataforma AVideo."; //----- translation strings from plugin/PlayLists/View/Playlists_schedules/index.php $t["PlayLists"] = "PlayLists"; //----- translation strings from plugin/PlayLists/View/Playlists_schedules/index_body.php $t["Start Datetime"] = "Data e hora inicial"; $t["Finish Datetime"] = "Data e hora final"; $t["Loop"] = "Loop"; $t["Repeat"] = "Repetir"; $t["Never"] = "Nunca"; $t["Daily"] = "Diariamente"; $t["Weekly"] = "Semanalmente"; $t["Monthly"] = "Mensalmente"; //----- translation strings from plugin/PlayLists/View/editor.php $t['PlayLists'] = 'PlayLists'; $t["Playlists Schedules"] = "Programação de Playlists"; //----- translation strings from plugin/PlayLists/actionButton.php $t["Add to"] = "Adicionar em"; $t["Create a New"] = "Criar novo"; $t["Make it public"] = "Tornar público"; $t["Want to watch this again later?"] = "Quer assistir novamente depois?"; $t["Sign in to add this video to a playlist."] = "Registre-se para adicionar este vídeo em uma playlist."; $t["Login"] = "Login"; //----- translation strings from plugin/PlayLists/embed.php $t["The program is empty"] = "Este programa está vazio"; $t["Show all"] = "Mostrar tudo"; $t["Title (A-Z)"] = "Título (A-Z)"; $t["Title (Z-A)"] = "Título (Z-A)"; $t["Date added (newest)"] = "Data adicionado (mais novos)"; $t["Date added (oldest)"] = "Data adicionado (mais antigos)"; //----- translation strings from plugin/PlayLists/epg.day.php $t['Now'] = 'Agora'; //----- translation strings from plugin/PlayLists/epg.php $t["EPG"] = "EPG"; $t["Now Playing"] = "Reproduzindo agora"; //----- translation strings from plugin/PlayLists/managerPlaylists.php $t['Show all types'] = 'Mostrar todos os tipos'; $t['All'] = 'Tudo'; $t['Show all programs that are listed in your video library'] = 'Mostrar todos os programas que estão listados em seu arquivo de vídeos'; $t['Series'] = 'Séries'; $t['Show all that is a collection of programs'] = 'Mostrar tudo que faz parte de uma coleção de programas'; $t['Collections'] = 'Coleções'; $t['Show all that include a list of videos'] = 'Mostrar tudo que inclui uma lista de vídeos'; $t['New'] = 'Novo'; $t['Play'] = 'Reproduzir'; $t['Seasons'] = 'Temporadas'; $t['Remove Serie'] = 'Remover série'; $t['Play Video'] = 'Reproduzir vídeo'; $t['Edit Video'] = 'Editar vídeo'; $t['Remove Video'] = 'Remover vídeo'; $t['Sorry you do not have any playlist yet'] = 'Desculpe, você não tem nenhuma playlist ainda'; $t['Deleted'] = 'Removido'; $t['New program'] = 'Novo programa'; $t['Type your program title'] = 'Escreva o título do programa'; $t['Program title'] = 'Título do programa'; $t['Please provide a title'] = 'Favor fornecer um título'; //----- translation strings from plugin/PlayLists/managerPlaylistsSearchVideo.php $t['Search Videos'] = 'Procurar vídeos'; $t['Search Video'] = 'Procurar vídeo'; //----- translation strings from plugin/PlayLists/playListToSerie.php $t['Create'] = 'Criar'; //----- translation strings from plugin/PlayLists/playProgramsLive.json.php $t["User cannot stream"] = "Usuário não pode transmitir"; $t["Programs plugin not enabled"] = "Plugin Programs não está ativo"; $t["API plugin not enabled"] = "Plugin API não está ativo"; $t["Live Plugin is not enabled"] = "Plugin Live não está ativo"; $t["Programs id error"] = "Erro no ID do programa"; $t["Programs does not belong to you"] = "Programas não pertencem a este usuário"; $t["Your Encoder MUST be version 3.2 or greater"] = "Seu codificador DEVE ter versão 3.2 ou maior"; $t["Your stream will start soon"] = "Sua transmissão começará em breve"; //----- translation strings from plugin/PlayLists/player.php $t["Attention"] = "Atenção"; //----- translation strings from plugin/PlayLists/saveShowOnTV.json.php $t["showOnTV is OFF"] = "mostrarNaTV está DESLIGADO"; $t["showOnTV is ON"] = "mostrarNaTV está LIGADO"; //----- translation strings from plugin/PlayerSkins/PlayerSkins.php $t["If you can't view this video, your browser does not support HTML5 videos"] = "Se você não consegue assistir este vídeo, seu navegador não tem suporte a vídeos HTML5"; //----- translation strings from plugin/PlayerSkins/contextMenu.php $t["Copy video URL"] = "Copiar URL do vídeo"; $t["Copy video URL at current time"] = "Copiar URL do vídeo no tempo indicado"; $t["Download video"] = "Baixar vídeo"; //----- translation strings from plugin/PlayerSkins/playerSample.php $t["Player Sample"] = "Amostra de reprodutor"; //----- translation strings from plugin/PredefinedCategory/page/editor.php $t["You can not manager plugin add logo"] = "Você não pode gerenciar adicionar logo no plugin"; $t["Predefined Category"] = "Categoria pré-definida"; //----- translation strings from plugin/PredefinedCategory/page/editorSave.php $t["You can not manager plugin logo overlay"] = "Você não pode gerenciar sobreposição de logo no plugin"; //----- translation strings from plugin/ReportVideo/ReportVideo.php $t["The {videoName} video was reported as inapropriate from {user} "] = "O vídeo {videoName} foi reportado como inapropriado pelo usuário {user} "; $t["The {videoName} video was reported as inapropriate"] = "O vídeo {videoName} foi reportado como inapropriado"; $t["We could not notify anyone ({$email}, {$siteOwnerEmail}), but we marked it as a inapropriated"] = "Não foi possível notificar o proprietário do vídeo ({$email}, {$siteOwnerEmail}), mas o vídeo foi marcado como inapropriado"; $t["We could not notify the video owner {$email}, but we marked it as a inapropriated"] = "Não foi possível notificar o proprietário do vídeo {$email}, mas o vídeo foi marcado como inapropriado"; $t["We could not notify the video owner {$siteOwnerEmail}, but we marked it as a inapropriated"] = "Não foi possível notificar o proprietário do vídeo {$siteOwnerEmail}, mas o vídeo foi marcado como inapropriado"; $t["This video was reported to our team, we will review it soon"] = "Este vídeo foi reportado à equipe, revisaremos a notificação em breve"; $t["Error on report this video"] = "Erro ao reportar este vídeo"; $t["You already report this video"] = "Você já reportou este vídeo"; $t["Error on block this user"] = "Erro ao bloquear usuário"; $t["User Already blocked"] = "Usuário já bloqueado"; $t["Error on unblock this user"] = "Erro ao desbloquear este usuário"; $t["User Already unblocked"] = "Usuário já desbloqueado"; //----- translation strings from plugin/ReportVideo/actionButton.php $t["Do you want to report this video? Sign in to make your opinion count."] = "Você quer reportar este vídeo? Registre-se e faça sua opinião valer."; $t['Report'] = 'Reportar'; $t["Do you want to report this video as inapropriate?"] = "Você quer reportar este vídeo como inapropriado?"; $t["Thanks"] = "Obrigado"; //----- translation strings from plugin/ReportVideo/actionButtonBlockUser.php $t["You need to sign in to block this user"] = "Você precisa estar logado para bloquear este usuário"; $t['Block User'] = 'Bloquear usuário'; $t['Unblock User'] = 'Desbloquear usuário'; $t["Do you want to unblock this user?"] = "Deseja desbloquear este usuário?"; $t["Do you want to block this user?"] = "Deseja bloquear este usuário?"; //----- translation strings from plugin/StripeYPT/listSubscriptions.php $t["Stripe Subscription"] = "Assinatura Stripe"; //----- translation strings from plugin/TopMenu/TopMenu.php $t["TopMenu"] = "TopMenu"; //----- translation strings from plugin/TopMenu/menuDelete.json.php $t["You can not manager plugins"] = "Você não tem permissão para gerenciar plugins"; //----- translation strings from plugin/TopMenu/page/editor.php $t["Top Menu"] = "Menu Top"; $t['Default'] = 'Padrão'; $t['Left Menu'] = 'Menu à esquerda'; $t["Select an icon for the menu"] = "Selecione um ícone para o menu"; $t['URL'] = 'URL'; $t['URL Iframe'] = 'URL do iframe'; $t['Page'] = 'Página'; //----- translation strings from plugin/VideoLogoOverlay/page/editor.php $t["Customize"] = "Personalizar"; $t["Position"] = "Posição"; $t["Opacity"] = "Opacidade"; //----- translation strings from plugin/VideoTags/index.php $t["Tags"] = "Tags"; //----- translation strings from plugin/VideoTags/index_body.php $t["Create Tag Type"] = "Criar tipo de tag"; $t["Tag Types"] = "Tipos de tag"; $t["Created"] = "Criado"; $t["Modified"] = "Modificado"; //----- translation strings from plugin/VimeoAPI/VimeoAPI.php $t["Video already uploaded"] = "Vídeo já enviado"; $t["Video Filename not found"] = "Nome do vídeo não encontrado"; $t["Video MP4 File was not found"] = "Vídeo MP4 não encontrado"; $t["Process Start"] = "Iniciar processo"; //----- translation strings from plugin/VimeoAPI/upload.json.php $t["Video ID Not found"] = "Vídeo ID não encontrado"; $t["User can not edit this video"] = "Usuário não pode editar este vídeo"; $t["Video does not exist"] = "Vídeo não existe"; $t["Error on Upload"] = "Erro no envio"; //----- translation strings from plugin/WWBN/page/info.php $t["WWBN"] = "WWBN"; //----- translation strings from plugin/YPTWallet/plugins/YPTWalletRazorPay/requestPayment.json.php $t["Process Payment"] = "Processar pagamento"; //----- translation strings from plugin/YPTWallet/plugins/YPTWalletStripe/confirmButton.php $t['Submit Payment'] = 'Enviar pagamento'; $t["Payment Success"] = "Sucesso no pagamento"; //----- translation strings from plugin/YPTWallet/view/addFunds.php $t["Add Funds"] = "Adicionar fundos"; //----- translation strings from plugin/YPTWallet/view/adminManageWallets.php $t["You can not manage wallets"] = "Você não pode gerenciar wallets"; $t["Support Author"] = "Suporte o autor"; $t["Balance"] = "Balanço"; $t["Balance Form"] = "Formulário de balanço"; $t["Save changes"] = "Gravar alterações"; $t["No results found!"] = "Nenhum resultado encontrado!"; $t["Showing {{ctx.start}} to {{ctx.end}} of {{ctx.total}} entries"] = "Mostrando {{ctx.start}} a {{ctx.end}} de {{ctx.total}} registros"; $t["Loading..."] = "Carregando..."; $t["Refresh"] = "Recarregar"; //----- translation strings from plugin/YPTWallet/view/configuration.php $t["Configuration"] = "Configuração"; //----- translation strings from plugin/YPTWallet/view/history.php $t["History"] = "Histórico"; $t["Value"] = "Valor"; $t["Date"] = "Data"; //----- translation strings from plugin/YPTWallet/view/manualAddFunds.php $t["Specify Amount"] = "Especificar valor"; $t["Information"] = "Informação"; //----- translation strings from plugin/YPTWallet/view/manualWithdrawFunds.php $t["Withdraw Funds"] = "Sacar fundos"; //----- translation strings from plugin/YPTWallet/view/menuRight.php $t["Transfer Funds"] = "Transferir fundos"; $t["Manage Wallets"] = "Gerenciar wallets"; $t["Pending Requests"] = "Solicitações pendentes"; //----- translation strings from plugin/YPTWallet/view/transferFunds.php $t["Total Amount"] = "Valor total"; $t["Transfer Funds to"] = "Transferir fundos para"; $t["Username or Email"] = "Usuário ou e-mail"; $t["Transfer now"] = "Transferir agora"; //----- translation strings from plugin/YouTube/view/Category.php $t["Sub-Category-YouTube"] = "Sub-Categoria-YouTube"; //----- translation strings from plugin/YouTubeAPI/YouTubeAPI.php $t["A service error occurred: %s"] = "Um erro de serviço ocorreu: %s"; $t["An client error occurred: %s"] = "Um erro de cliente ocorreu: %s"; //----- translation strings from plugin/YouTubeAPI/gallerySection.php $t["Previous"] = "Anterior"; $t["Next"] = "Próximo"; //----- translation strings from view/channel.php $t["Channel"] = "Canal"; //----- translation strings from view/channelBody.php $t["My videos"] = "Meus vídeos"; //----- translation strings from view/channelPlaylistItems.php $t["Rename"] = "Renomear"; $t['More'] = 'Mais'; $t["Remove"] = "Remover"; $t["Change Playlist Name"] = "Mudar nome de playlist"; $t["Confirm Playlist name"] = "Confirmar nome de playlist"; //----- translation strings from view/channelProgram.php $t["Auto Sort"] = "Auto-ordenar"; $t['Copy embed code'] = 'Copiar código de incorporação'; $t['Show More'] = 'Mostrar mais'; $t['Show Less'] = 'Mostrar menos'; //----- translation strings from view/channels.php $t["Search Channels"] = "Procurar em canais"; $t["Views in the last 30 days"] = "Visualizações nos últimos 30 dias"; //----- translation strings from view/charts_body.php $t["Video views - per Channel"] = "Visualizações - por canal"; $t["Comment thumbs up - per Person"] = "Thumbs up em comentário - por pessoa"; $t["Video thumbs up - per Channel"] = "Thumbs up em vídeo - por canal"; //----- translation strings from view/configurations_body.php $t["Compatibility Check"] = "Checagem de compatibilidade"; $t["Regular Configuration"] = "Configuração normal"; $t["Advanced Configuration"] = "Configuração avançada"; $t["Script Code"] = "Código em script"; $t["Do not forget to save after choose your theme"] = "Não esqueça de gravar as alterações depois de escolher o tema"; $t["We would like to thanks http://bootswatch.com/"] = "Agradecemos BootSwatch (https://bootswatch.com/) pelos temas"; $t["You are hosting %d minutes and %d seconds of video"] = "Você está hospedando %d minutos e %d segundos de vídeo"; $t["Basic"] = "Básico"; $t["Language"] = "Idioma"; $t["This e-mail will be used for this web site notifications"] = "Este e-mail será usado para receber notificações deste site"; $t["Authenticated users can upload videos"] = "Usuários autenticados podem enviar vídeos"; $t["Authenticated users can view chart"] = "Usuários autenticados podem visualizar gráficos"; $t["For uploaders"] = "Para enviadores de vídeos"; $t["For selected, admin view"] = "Com selecionado, visualização administrativa"; $t["Authenticated users can comment videos"] = "Usuários autenticados podem comentar em vídeos"; $t["Autoplay Video on Load Page"] = "Auto-reprodução do vídeo ao carregar a página"; $t["Help"] = "Ajuda"; $t["Logo and Title"] = "Logo e título"; $t["Choose a logo"] = "Escolha a logo"; $t["Favicon"] = "Favicon"; $t["Choose a favicon"] = "Escolha um favicon"; $t["Clear Cache Directory"] = "Limpar diretório de cache"; $t["Encoder URL"] = "URL do codificador"; $t["You need to set up an encoder server"] = "Você precisa definir um servidor codificador"; $t["You can use our public encoder on"] = "Você pode usar nosso codificador público em"; $t["For faster encode, download your own encoder"] = "Para codificação mais rápida, baixe e instale seu próprio codificador"; $t["Session Timeout in seconds"] = "Tempo limite de sessão, em segundos"; $t["Disable AVideo Google Analytics"] = "Desativar Google Analytics do AVideo"; $t["This help us to track and detect errors"] = "Isso ajuda a equipe de programadores a detectar erros"; $t["Disable Youtube-Upload"] = "Desativar Youtube-Upload"; $t["Allow download video"] = "Permitir que o vídeo seja baixado"; $t["This creates a download-button under your video, suggest you title.mp4 as download-name."] = "Isto cria um botão de baixar em seu vídeo, sugerimos o nome de arquivo como title.mp4."; $t['If you are not sure how to configure your email'] = 'Se você não tem certeza como configurar seu e-mail, não altere esta seção'; $t['please try'] = 'por favor tente'; $t["Enable SMTP"] = "Ativar SMTP"; $t["Enable SMTP Auth"] = "Ativar autenticação SMTP"; $t["SMTP Secure"] = "SMTP Seguro"; $t['tls OR ssl'] = 'TLS ou SSL'; $t["Use tls OR ssl"] = "Usar TLS ou SSL"; $t["SMTP Port"] = "Porta SMTP"; $t["SMTP Host"] = "Host SMTP"; $t["SMTP Username"] = "Usuário SMTP"; $t["SMTP Password"] = "Senha SMTP"; $t["Test your email"] = "Testar o e-mail"; $t["Test Email"] = "Testar e-mail"; $t["Advanced configurations are disabled"] = "Configurações avançadas estão desativadas"; $t["Head Code"] = "Código de cabeçalho"; $t['For Google Analytics code'] = 'Para código do Google Analytics'; $t['Leave blank for native code'] = 'Deixe em branco para incluir o código nativo'; $t["Google Ad Sense"] = "Google AdSense"; $t['Google AD Sense and any other Ads provider are moved to the'] = 'Google AdSense e outros fornecedores de ads moveram para'; //----- translation strings from view/contact.php $t["Contact"] = "Contato"; $t["Your message has been sent!"] = "Sua mensagem foi enviada!"; $t["Go back to the main page"] = "Voltar para a página principal"; $t["Contact Us Today!"] = "Contate-nos agora!"; $t["Website"] = "Website"; //----- translation strings from view/downloadChecker.php $t["Your Site Configurations is set to NOT Allow Download"] = "As configurações do site NÃO permitem baixar arquivos"; $t["Your Site Configurations is set to Allow Download"] = "As configurações do site PERMITEM baixar arquivos"; $t["Non admin users can download videos"] = "Usuários não-administradores PODEM baixar arquivos"; $t["Non admin users can NOT download videos"] = "Usuários não-administradores NÃO podem baixar arquivos"; $t["This site configuration allow download"] = "A configuração do site permite baixar arquivos"; $t["But only admin can download"] = "Mas apenas administradores podem baixar arquivos"; $t["This user do allow download selected videos"] = "Este usuário NÃO permite baixar arquivos selecionados"; $t["This user do allow download all his files"] = "Este usuário PERMITE baixar seus arquivos"; $t["This user do NOT allow download his files"] = "Este usuário NÃO permite baixar seus arquivos"; $t["The download is controlled by the system, there is nothing to check on the user"] = "O processo de baixar arquivos é controlado pelo sistema, não há nada para checar na configuração do usuário"; $t["This video can be downloaded"] = "Este vídeo pode ser baixado"; $t["This category do not allow download"] = "Esta categoria NÃO permite que vídeos sejam baixados"; $t["This category allow download"] = "Esta categoria PERMITE que vídeos sejam baixados"; $t["User must allow each video individually, but this video is not marked for download"] = "O usuário deve permitir que cada vídeo seja baixado, mas o vídeo selecionado está marcado como proibido para baixar"; $t["This video checked for download"] = "Este vídeo está selecionado para baixar"; $t["The download permission is site wide, so there is nothing to check on the video"] = "A permissão para baixar vídeos vale para todo o site, não há nada a alterar para este vídeo"; //----- translation strings from view/downloadExternalVideo.php $t["Sorry you not able to download videos right now!"] = "Desculpe, você não conseguirá baixar vídeos nesse momento!"; $t["You need to install"] = "Você precisa instalar"; $t["We use youtube-dl to download videos from youtube.com or other video platforms"] = "Youtube-dl é utilizado para baixar vídeos do YouTube ou de outras plataformas"; $t["To installations instructions try this link: "] = "Para instruções de instalação siga o link: "; $t["youtube-dl uses Python and some servers does not came with python as default, to install Python type:"] = "youtube-dl utiliza Python e alguns servidores não tem Python instalado por padrão; para instalar Python digite:"; $t["To install it right away for all UNIX users (Linux, OS X, etc.), type: "] = "Para instalar agora em ambiente UNIX (Linux, OS X, etc.), digite: "; $t["If you do not have curl, you can alternatively use a recent wget: "] = "Se você não tem a extensão curl, você pode utilizar o comando wget: "; $t["Download Video"] = "Baixar vídeo"; $t["Audio only"] = "Áudio apenas"; $t["Make sure that the video you are going to download has a duration of less than %d minute(s)!"] = "Certifique-se de que a duração do vídeo a ser baixado é menor que %d minuto(s)!"; //----- translation strings from view/forbiddenPage.php $t["Forbidden"] = "Proibido"; //----- translation strings from view/help.php $t["User-manual of"] = "Manual do usuário de"; $t['Here you can find help, how this plattform works.'] = 'Aqui você encontrará ajuda em como esta plataforma funciona.'; $t['Admin\'s manual'] = 'Manual do administrador'; $t['Only you can see this, because you are a admin.'] = 'Somente você está vendo isso, porque você é um administrador.'; $t['Settings and plugins'] = 'Configurações e plugins'; $t['The default'] = 'O padrão'; $t['Like on a lot of plugins, on the right site, you will find a button'] = 'Como muitos plugins, instalados corretamente, você encontrará um botão'; $t['Also, when you activate a plugin and you see a button "Install Tables", press it at least once, if you never press it, this can cause bugs!'] = 'Também note que quando você ativar um plugin e ver um botão "Instalar tabelas", clique nele para concluir a instalação do plugin!'; $t['Update via git'] = 'Atualizar via Git'; $t['This project is in a fast development. If you have done your setup via git (like in the howto\'s), you can update very easy!'] = 'Este projeto está em desenvolvimento constante. Se você utilizou Git na instalação (indicado na seção "How To"), a atualização é muito fácil!'; $t['In the shell, go to the avideo-folder and type "git pull" there. Or, for copy-paste'] = 'No terminal/linha de comando, entre no diretório do seu site e digite "git pull". Ou, copiando e colando'; $t['It can be, that you will need a database-update after. For this, go as admin to the menu-point'] = 'É possível que seja necessário atualizar o banco de dados após a atualização do código. Para isso, como administrador, vá ao menu'; $t['Done'] = 'Feito'; $t['Update via ftp/files'] = 'Atualizar via FTP'; $t['Download this file'] = 'Baixar este arquivo'; $t['Unzip and upload/replace the'] = 'Unzip e envie/substitua o'; $t['Issues on github'] = 'Problemas no GitHub'; $t['If you want to tell us, what is not working for you, this is great and helps us, to make the software more stable.'] = 'Se quer comunicar o que não está funcionando no seu projeto, isso é ótimo e nos ajuda a deixar o sistema mais estável.'; $t['Some information can help us, to find your problem faster'] = 'Algumas informações podem nos ajudar para solucionar o problema mais rápido'; $t['If you can, clear the log-files, reproduce the error and send them. This helps to reduce old or repeating information.'] = 'Se possível, limpe os arquivos de log, reproduza o erro e envie os logs para a seção "Issues" do GitHub. Ao zerar o log, evita-se que problemas anteriores e não relacionados sejam compartilhados.'; $t['Here you find information about how to handle videos.'] = 'Aqui você encontra informação sobre como gerenciar seus vídeos.'; $t['Add videos'] = 'Adicionar vídeos'; $t['There are various kinds of media you can integrate here. They are working diffrent'] = 'Existem diversos tipos de mídia que você pode enviar e integrar. Eles trabalham cada um de forma diferente'; $t['Mediatype'] = 'Tipo de mídia'; $t['Audio'] = 'Áudio'; $t['Video'] = 'Vídeo'; $t['Direct audio-link (mp3 or ogg)'] = 'Link de áudio (MP3 ou OGG)'; $t['Direct video-link (mp4)'] = 'Link de vídeo (MP4)'; $t['Edit videos'] = 'Editar vídeos'; $t['After you add any kind of video, you can find it in'] = 'Depois de adicionar qualquer tipo de vídeo, você o encontrará em'; $t['On the right site, you find various symbols'] = 'No lado direito, encontrará diversos símbolos'; $t['There, you can set'] = 'Lá, você pode definir'; $t['Preview-picture and gif'] = 'Imagem de visualização e GIF'; $t['Title and description'] = 'Título e descrição'; $t['Next video'] = 'Próximo vídeo'; $t['With the other options, you can delete, rotate and promote a video'] = 'Com outras opções, você pode remover, rotacionar e promover um vídeo'; $t['Use a video as a ad'] = 'Usar um vídeo como anúncio'; $t['To use a video as a ad, go to'] = 'Para usar um vídeo como anúncio, vá em'; $t['After enabling this, you can directly set some options, like the name, link and active categorie for example.'] = 'Após ativar esta opção, você pode configurar outras opções, como o nome, link e categoria por exemplo.'; $t['When the video is saved like this, it will show up under the menu-point'] = 'Quando o vídeo é gravado assim, ele irá aparecer sob o ponto do menu'; //----- translation strings from view/iframe.php $t["Please login first"] = "Por favor faça o login primeiro"; $t["Upload"] = "Enviar"; $t["Network"] = "Network"; //----- translation strings from view/img/image403.php $t["You are not allowed to enter here"] = "Você não tem permissão para visualizar esta página"; //----- translation strings from view/import.php $t["Import"] = "Importar"; $t["Delete files after submit"] = "Remover arquivos depois do envio"; $t["List Files"] = "Listar arquivos"; $t["Direct Import all"] = "Importar tudo diretamente"; //----- translation strings from view/include/navbar.php $t["Main Menu"] = "Menu principal"; $t["Direct Import Local Videos"] = "Importar vídeos locais diretamente"; $t["Add Article"] = "Adicionar artigo"; $t["Sign Out"] = "Sair"; $t["Sign out"] = "Sair"; $t["My Account"] = "Minha conta"; $t["My Subscribers"] = "Meus assinantes"; $t["Comments"] = "Comentários"; $t["TV"] = "TV"; $t["My Menu"] = "Meu menu"; $t["Admin Menu"] = "Menu administração"; $t["Admin Panel"] = "Painel administração"; $t["Update version"] = "Atualizar versão"; $t["Create more translations"] = "Criar mais traduções"; $t["Clear First Page Cache"] = "Limpar cache da página inicial"; $t["Log file"] = "Arquivo de auditoria (log)"; $t["Extra Permissions"] = "Permissões extras"; $t["Audios and Videos"] = "Áudios e Vídeos"; $t["Audios"] = "Áudios"; $t["Browse Channels"] = "Navegar em canais"; //----- translation strings from view/include/navbarEncoder.php $t["Configure an Encoder URL"] = "Configurar uma URL de codificador"; //----- translation strings from view/include/updateCheck.php $t['Database-update needed'] = 'Atualização no banco de dados necessária'; //----- translation strings from view/logs.php $t["Logs"] = "Logs"; //----- translation strings from view/managerCategories.php $t["You can not manage categories"] = "Você não pode gerenciar categorias"; //----- translation strings from view/managerCategories_body.php $t["New Category"] = "Nova categoria"; $t["ID"] = "ID"; $t["Icon"] = "Ícone"; $t["Lives"] = "Transmissões"; $t["Order"] = "Ordem"; $t["Category Form"] = "Formulário de categoria"; $t["Images"] = "Imagens"; $t["Meta Data"] = "Dados Meta"; $t["Background"] = "Fundo"; $t["Clean Name"] = "Nome limpo"; $t["Description"] = "Descrição"; $t["Privacy"] = "Privacidade"; $t["Allow Download"] = "Permitir baixar"; $t["Autoplay next-video-order"] = "Auto-reproduzir ordem-próximo-vídeo"; $t["By name"] = "Por nome"; $t["Parent-Category"] = "Categoria-pai"; $t["Category Icon"] = "Ícone da categoria"; $t["None (Parent)"] = "Nenhum (pai)"; $t["Auto"] = "Auto"; $t["Both"] = "Ambos"; $t["Audio"] = "Áudio"; $t["Invalid"] = "Inválido"; $t["RSS Feed"] = "RSS Feed"; $t["MRSS Feed"] = "MRSS Feed"; $t["Roku Json"] = "Roku JSON"; $t["Your category has been deleted!"] = "Categoria foi removida!"; $t["Your category has been saved!"] = "Categoria foi gravada!"; //----- translation strings from view/managerComments.php $t["You can not manage comments"] = "Você não tem permissão para gerenciar comentários"; //----- translation strings from view/managerPlugins.php $t["You can not manage plugins"] = "Você não tem permissão para gerenciar plugins"; //----- translation strings from view/managerPlugins_body.php $t['Installed Plugins'] = 'Plugins instalados'; $t['Plugins Store'] = 'Plugins Store'; $t["Upload a Plugin"] = "Enviar um plugin"; $t["Installed"] = "Instalado"; $t["Uninstalled"] = "Desinstalado"; $t["Plugin Form"] = "Formulário do plugin"; $t["Make sure you have the unzip app on your server"] = "Certifique que você tem um aplicativo de descompactação (como unzip) instalado em seu servidor"; $t["Upload a Plugin ZIP File"] = "Enviar um plugin em arquivo ZIP"; $t["You need to make the plugin dir writable before upload, run this command and refresh this page"] = "É preciso que o diretório de plugin do servidor tenha permissão de gravação, execute este comando no seu servidor e recarregue a página depois"; $t["Buy This Plugin"] = "Comprar este plugin"; $t['Edit parameters'] = 'Editar parâmetros'; $t['Reinstall tables'] = 'Reinstalar tabelas'; $t['Install tables'] = 'Instalar tabelas'; $t['Run Update Script'] = 'Atualizar plugin'; $t['User Groups Permissions'] = 'Permissões de grupos de usuários'; //----- translation strings from view/managerSubscribes.php $t["You can not manage subscribes"] = "Você não tem permissão para gerenciar assinantes"; $t["Subscribes"] = "Assinantes"; $t["Notify Subscribers"] = "Notificar assinantes"; //----- translation strings from view/managerUsers.php $t["You can not manage users"] = "Você não tem permissão para gerenciar usuários"; //----- translation strings from view/managerUsersGroups.php $t["You can not manage do this"] = "Você não tem permissão para gerenciar isto"; $t["UserGroups"] = "GruposUsuários"; //----- translation strings from view/managerUsersGroups_body.php $t["New User Groups"] = "Novo grupo de usuários"; $t["What is User Groups"] = "O que é grupo de usuários"; $t["User Groups Form"] = "Formulário de grupo de usuários"; $t["Group Permissions"] = "Permissões do grupo"; //----- translation strings from view/managerUsers_body.php $t["New User"] = "Novo usuáro"; $t["CSV File"] = "Arquivo CSV"; $t['Active Users'] = 'Usuários ativos'; $t['Inactive Users'] = 'Usuários inativos'; $t["User Form"] = "Formulário de usuário"; $t["Channel Name"] = "Nome do canal"; $t["Analytics Code"] = "Código Analytics"; $t["is Admin"] = "é administrador"; $t["Can Stream Videos"] = "Pode transmitir vídeos"; $t["Can Upload Videos"] = "Pode enviar vídeos"; $t["Can view chart"] = "Pode visualizar gráficos"; $t["Can create meet"] = "Pode criar meets"; $t["is Active"] = "está ativo"; $t["Videos linked"] = "Videos linkados"; $t["User Info"] = "Informação de usuário"; $t["First Name"] = "Nome"; $t["Last Name"] = "Sobrenome"; $t["Address"] = "Endereço"; $t["Zip Code"] = "CEP"; $t["Document"] = "Documento"; $t["Your user has been saved!"] = "Usuário gravado!"; $t['Info'] = 'Info'; //----- translation strings from view/managerVideos.php $t["You can not manage videos"] = "Você não tem permissão para gerenciar vídeos"; //----- translation strings from view/managerVideos_body.php $t["Video Chart"] = "Gráficos de vídeos"; $t["Advertising Manager"] = "Gerenciamento de anúncios"; $t["You are hosting %d videos total, %d minutes and %d seconds and consuming %s of disk"] = "Você está hospedando um total de %d vídeos, %d minutos e %d segundos e consumindo %s de espaço em disco"; $t['Upload to YouTube'] = 'Enviar para YouTube'; $t['Status'] = 'Status'; $t['Unlisted'] = 'Não-listado'; $t['Private'] = 'Privado'; $t['Add User Group'] = 'Adicionar grupo de usuário'; $t["Users linked"] = "Usuários linkados"; $t['Remove User Group'] = 'Remover grupo de usuário'; $t['Swap Video File'] = 'Trocar arquivos de vídeo'; $t['Update all videos disk usage'] = 'Atualizar uso de disco de todos os vídeos'; $t["Video Duration"] = "Duração do vídeo"; $t["Video Views"] = "Visualizações do vídeo"; $t["Suggested Video"] = "Vídeo sugerido"; $t["Size"] = "Tamanho"; $t["Upload Form"] = "Formulário de envio"; $t["Browse"] = "Procurar"; $t["Poster"] = "Pôster"; $t["Portrait Poster"] = "Pôster retrato"; $t["Mouse Over Poster (WebP)"] = "Pôster mouse-over (WebP)"; $t["Mouse Over Poster (GIF)"] = "Pôster mouse-over (GIF)"; $t["Mouse Over Portrait Poster (GIF)"] = "Pôster retrato mouse-over (GIF)"; $t["Clean Title"] = "Título limpo"; $t["Media Owner"] = "Proprietário do arquivo"; $t["Allow Download This media"] = "Permitir baixar arquivo"; $t["Allow Share This media"] = "Permitir compartilhar arquivo"; $t["Only Paid Users Can see"] = "Apenas usuários pagantes podem ver"; $t["Public Media"] = "Mídia pública"; $t["Groups that can see this video"] = "Grupos que podem ver este vídeo"; $t["Autoplay Next Video"] = "Auto-reproduzir próximo vídeo"; $t["Remove Autoplay Next Video"] = "Remover auto-reproduzir próximo vídeo"; $t["Autoplay Next Video URL"] = "URL da auto-reprodução do próximo vídeo"; $t["Embed URL for trailer"] = "Embutir código para trailer"; $t["Start video at"] = "Iniciar vídeo em"; $t["Video Link"] = "Link do vídeo"; $t["Download your videos list"] = "Baixar lista dos vídeos"; $t["Let us upload your video to YouTube"] = "Enviar vídeo para o YouTube"; $t["How to setup the Youtube-Upload feature"] = "Como configurar o recurso de envio para o YouTube"; $t["You need to enable"] = "Você precisa ativar"; $t["Google Login"] = "Login do Google"; $t["Go to your"] = "Vá para seu"; $t["Google Console API Dashboard"] = "Google Console API Dashboard"; $t["and enable the following API"] = "e ative a seguinte API"; $t["In authorized credentials allow the following URIs redirection"] = 'No campo "credenciais autorizadas" ("authorized credentials") use as seguintes URIs de redirecionamento'; $t["You can find more help on the following documentation"] = "Você encontrará mais informações e ajuda na seguinte documentação"; $t["YouTube Data API Overview"] = "Visão geral dos dados API do YouTube"; $t["Queue Position"] = "Posição na fila"; $t["Download File"] = "Baixar arquivo"; $t["Download disabled"] = "Baixar arquivo desativado"; $t["Next video NOT set"] = "Próximo vídeo NÃO configurado"; $t["Unsuggest"] = "Não recomendar"; $t["Suggest"] = "Recomendar"; $t["Resolution"] = "Resolução"; $t["Format"] = "Formato"; $t["Encoder"] = "Codificador"; $t["Upload to YouTube"] = "Enviar para o YouTube"; $t["Watch on YouTube"] = "Assistir no YouTube"; //----- translation strings from view/mini-upload-form/index.php $t["Upload your file"] = "Enviar seu arquivo"; $t["Drop Here"] = "Solte aqui"; $t["Your maximum file size is:"] = "O tamanho máximo do arquivo é:"; $t["This page works only with MP4,MP3 and OGG-files, if you have or need any other format, try to install your own encoder or use the public one"] = "Esta página trabalha somente com formatos MP3, MP4 e OGG. Se precisa de outro formato, tente instalar seu próprio codificador ou use o codificador público"; $t["You have about %s minutes left of video storage!"] = "Você tem cerca de %s minutos disponíveis no armazenamento em disco!"; //----- translation strings from view/modePlayLink.php $t["Place a Link to play"] = "Coloque um link para reproduzir"; $t['This is not a valid URL'] = 'Esta URL não é válida'; //----- translation strings from view/modeYoutube.php $t['Playlist is empty or does not exist'] = 'Playlist está vazia ou não existe'; //----- translation strings from view/modeYoutubeBottom.php $t["Don´t like this video? Sign in to make your opinion count."] = "Não gostou deste vídeo? Faça login e faça sua opinião valer."; $t["Like this video? Sign in to make your opinion count."] = "Gostou deste vídeo? Faça login e faça sua opinião valer."; $t["Rating"] = "Avaliação"; //----- translation strings from view/modeYoutubeBottomRight.php $t["Autoplay ended"] = "Auto-reprodução terminou"; $t["Autoplay"] = "Auto-reprodução"; $t["When autoplay is enabled, a suggested video will automatically play next."] = "Quando auto-reprodução está ativa, um próximo vídeo recomendado será reproduzido automaticamente."; $t["Up Next"] = "A seguir"; //----- translation strings from view/report0.php $t["Total Videos"] = "Total de vídeos"; $t["View Details"] = "Detalhes de visualização"; $t["Total Videos Views"] = "Total de visualizações de vídeos"; $t["Total Users"] = "Total de usuários"; $t["Total Subscriptions"] = "Total de assinaturas"; $t["Total Video Comments"] = "Total de comentários no vídeo"; $t["Total Videos Likes"] = "Total de likes no vídeo"; $t["Total Videos Dislikes"] = "Total de dislikes no vídeo"; $t["Total Duration Videos (Minutes)"] = "Duração total de vídeos (em minutos)"; $t["Total Views"] = "Total de visualizações"; $t["Today Views"] = "Visualizações hoje"; $t["Last 7 Days"] = "Últimos 7 dias"; $t["Last 30 Days"] = "Últimos 30 dias"; $t["Unique Users"] = "Usuários únicos"; $t["Color Legend"] = "Legenda das cores"; $t["Timeline"] = "Linha do tempo"; $t["Total Views Today"] = "Total de visualizações hoje"; $t["Total Views (Today)"] = "Total de visualizações (hoje)"; //----- translation strings from view/report1.php $t['From'] = 'De'; $t['To'] = 'Para'; $t['View'] = 'Visualizar'; $t["No data available in table"] = "Nenhum dado disponível na tabela"; $t["Showing _START_ to _END_ of _TOTAL_ entries"] = "Mostrando _START_ a _END_ de _TOTAL_ registros"; $t["Showing 0 to 0 of 0 entries"] = "Mostrando 0 a 0 de 0 registros"; $t["(filtered from _MAX_ total entries)"] = "(filtrado de _MAX_ registros)"; $t["Show _MENU_ entries"] = "Mostrar _MENU_ registros"; $t["Processing..."] = "Processando..."; $t["No matching records found"] = "Nenhum registro encontrado com o filtro"; $t["First"] = "Primeiro"; $t["Last"] = "Último"; $t[": activate to sort column ascending"] = ": ative para ordenar a coluna ascendente"; $t[": activate to sort column descending"] = ": ative para ordenar a coluna descendente"; //----- translation strings from view/report2.php $t['Thumbs Up'] = 'Thumbs Up'; $t['Thumbs Down'] = 'Thumbs Down'; //----- translation strings from view/rrating/rating-g.php $t["General Audiences"] = "Audiência geral"; $t["All Ages Admitted"] = "Todas as idades permitidas"; //----- translation strings from view/rrating/rating-ma.php $t["For mature audiences"] = "Para audiência adulta"; //----- translation strings from view/rrating/rating-nc-17.php $t["No one 17 and under admitted"] = "Não permitido para 17 anos ou menos"; //----- translation strings from view/rrating/rating-pg-13.php $t["Parental Guidance Suggested"] = "Acompanhamento dos pais sugerido"; $t["Some material may not be inapropriate for children under 13"] = "Conteúdo inadequado para crianças abaixo de 13 anos"; //----- translation strings from view/rrating/rating-pg.php $t["Some material may not be suitable for children"] = "Algum conteúdo do vídeo pode ser inapropriado para crianças"; //----- translation strings from view/rrating/rating-r.php $t["Restricted"] = "Restrito"; $t["Under 17 requires accompanying parent or adult guardian"] = "Menores de 17 anos necessitam de acompanhamento dos pais ou de responsáveis adultos"; //----- translation strings from view/signUp.php $t["Sign Up Disabled"] = "Registrar-se desativado"; $t["Your user account has been created!"] = "Sua conta foi criada!"; //----- translation strings from view/trending.php $t['Previous'] = 'Anterior'; $t['Next'] = 'Próximo'; $t['End of content'] = 'Fim do conteúdo'; $t['No more pages to load'] = 'Não há mais páginas para carregar'; $t['Next page'] = 'Próxima página'; //----- translation strings from view/update.php $t["Update AVideo System"] = "Atualizar AVideo"; $t["Select the update"] = "Selecione a atualização"; $t["We detected a total of %s pending updates, if you want to do it now click (Update Now) button"] = 'Detectamos um total de %s atualizações pendentes, para atualizar agora clique no botão "Atualizar agora"'; $t["Update Now"] = "Atualizar agora"; $t["Your system is up to date"] = "Seu sistema está atualizado"; $t["Your update from file %s is done, click continue"] = "A atualização do arquivo %s está concluída, clique em continuar"; $t["Continue"] = "Continuar"; //----- translation strings from view/user.php $t["Basic Info"] = "Informações básicas"; $t["Personal Info"] = "Informações pessoais"; //----- translation strings from view/userBasicInfo.php $t["Verify e-mail"] = "Verificar e-mail"; $t["Donation Link"] = "Link de doação"; $t["Track your videos with Google analytics"] = "Rastreie seus vídeos com Google Analytics"; $t["Profile Photo"] = "Foto do perfil"; $t["Upload a Photo"] = "Enviar foto"; $t["Make sure you click on the Save button after change the photo"] = "Certifique-se de clicar no botão Gravar depois das atualizações na foto"; $t["Channel Art"] = "Arte do canal"; $t["For the best results, please Use this image as a guide to create your Channel Art"] = "Para melhor resultado e exibição, utilize esta imagem como guia para criar a arte de seu canal"; $t["minImageWidth"] = "larguraMinimaImagem"; $t["minImageHeight"] = "alturaMinimaImagem"; $t["maxImageWidth"] = "larguraMaximaImagem"; $t["maxImageHeight"] = "alturaMaximaImagem"; //----- translation strings from view/userLogin.php $t["Login Alert"] = "Alerta de login"; $t["Please Login in the window pop up"] = "Por favor, fazer o login na janela pop-up"; $t["Open pop-up Login window"] = "Abrir janela pop-up para login"; $t["In case the login window does not open, check how do I disable the pop-up blocker in your browser"] = "Caso a janela de login não apareça, verifique se o navegador está bloqueando as janelas pop-up"; $t["Remember me"] = "Lembrar meu acesso"; $t["Check this to stay signed in"] = "Selecione para permanecer logado"; $t["Sign in"] = "Efetuar login"; $t["Use this to recover your password"] = "Utilize isto para recuperar sua senha"; $t["Are you new here?"] = "Novo por aqui?"; $t["Sign up"] = "Registrar-se"; $t['Please type your username'] = 'Favor digitar seu usuário'; $t['Please type your password'] = 'Favor digitar sua senha'; $t['This is not a valid email'] = 'Este não é um endereço de e-mail válido'; $t["We will send you a link, to your e-mail, to recover your password!"] = "Um link será enviado ao seu e-mail para recuperar sua senha!"; $t["E-mail sent"] = "E-mail enviado"; //----- translation strings from view/userPersonalInfo.php $t['Select one Option'] = 'Selecione uma opção'; $t["Upload a Document Image"] = "Enviar uma imagem"; //----- translation strings from view/videoComments.php $t["Verify your email to be able to comment"] = "Verifique seu e-mail para obter permissão para comentar"; $t["You must login to be able to comment on videos"] = "Você deve estar logado para poder comentar em vídeos"; $t["Comment"] = "Comentar"; $t["remaining"] = "restante"; $t["Reply"] = "Responder"; $t["View all replies"] = "Ver todas as respostas"; $t["Hide Replies"] = "Esconder respostas"; $t["Comment Form"] = "Formulário de comentário"; $t["Your comment has been saved!"] = "Seu comentário foi gravado!"; $t["Sorry"] = "Desculpe"; //----- translation strings from view/videoNotFound.php $t['Video Not Found'] = 'Vídeo não encontrado'; //----- translation strings from view/videosList.php $t["Plugin"] = "Plugin"; diff --git a/objects/userCreate.json.php b/objects/userCreate.json.php index 8dfe1490b..659d95143 100644 --- a/objects/userCreate.json.php +++ b/objects/userCreate.json.php @@ -1,97 +1,97 @@ $value) { $_POST[$key] = $value; } } $obj = new stdClass(); if (empty($ignoreCaptcha)) { if (empty($_POST['captcha'])) { $obj->error = __("The captcha is empty"); die(json_encode($obj)); } require_once $global['systemRootPath'] . 'objects/captcha.php'; $valid = Captcha::validation($_POST['captcha']); if (!$valid) { $obj->error = __("The captcha is wrong"); die(json_encode($obj)); } } // check if user already exists $userCheck = new User(0, $_POST['user'], false); if (!empty($userCheck->getBdId())) { $obj->error = __("User already exists"); die(json_encode($obj)); } if (!empty($advancedCustomUser->forceLoginToBeTheEmail)) { $_POST['email'] = $_POST['user']; } $_POST['email'] = trim(@$_POST['email']); if (!empty($advancedCustomUser->emailMustBeUnique)) { if (empty($_POST['email']) || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { - $obj->error = __("You must specify an valid email")." {$_POST['email']}"; + $obj->error = __("You must specify a valid email")." {$_POST['email']} (create)"; die(json_encode($obj)); } $userFromEmail = User::getUserFromEmail($_POST['email']); if (!empty($userFromEmail)) { $obj->error = __("Email already exists"); die(json_encode($obj)); } } if (empty($_POST['user']) || empty($_POST['pass']) || empty($_POST['email']) || empty($_POST['name'])) { $obj->error = __("You must fill all fields"); die(json_encode($obj)); } if (!empty($_POST['email']) && !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { $obj->error = __("Invalid Email"); die(json_encode($obj)); } $user = new User(0); $user->setUser($_POST['user']); $user->setPassword($_POST['pass']); $user->setEmail($_POST['email']); $user->setName($_POST['name']); $user->setCanUpload($config->getAuthCanUploadVideos()); $users_id = $user->save(); if (!empty($users_id)) { $cu = AVideoPlugin::loadPluginIfEnabled('CustomizeUser'); if (!empty($cu)) { CustomizeUser::setCanShareVideosFromUser($users_id, true); } if (!empty($advancedCustomUser->userDefaultUserGroup->value)) { // for new users use the default usergroup UserGroups::updateUserGroups($users_id, array($advancedCustomUser->userDefaultUserGroup->value), true); } AVideoPlugin::onUserSignup($users_id); } echo '{"status":"' . $users_id . '"}'; diff --git a/objects/userUpdate.json.php b/objects/userUpdate.json.php index 507d9873d..cbbe44c1a 100644 --- a/objects/userUpdate.json.php +++ b/objects/userUpdate.json.php @@ -1,53 +1,53 @@ error = __("Is not logged"); die(json_encode($obj)); } $_REQUEST["do_not_login"]=1; require_once $global['systemRootPath'] . 'objects/user.php'; $user = new User(0); $user->loadSelfUser(); $user->setUser($_POST['user']); $user->setPassword($_POST['pass']); $user->setEmail($_POST['email']); $user->setName($_POST['name']); $user->setAbout($_POST['about']); $user->setAnalyticsCode($_POST['analyticsCode']); $user->setDonationLink($_POST['donationLink']); $unique = $user->setChannelName($_POST['channelName']); if (!$unique) { $obj->error = __("Channel name already exists"); die(json_encode($obj)); } if(empty($user->getBdId())){ $obj->error = __("User not found"); die(json_encode($obj)); } if (!empty($advancedCustomUser->emailMustBeUnique)) { if (empty($_POST['email']) || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { - $obj->error = __("You must specify an valid email")." {$_POST['email']}"; + $obj->error = __("You must specify a valid email")." {$_POST['email']} (update)"; die(json_encode($obj)); } $userFromEmail = User::getUserFromEmail($_POST['email']); if (!empty($userFromEmail) && $userFromEmail['id'] !== $user->getBdId()) { $obj->error = __("Email already exists"); die(json_encode($obj)); } } if (User::isAdmin() && !empty($_POST['status'])) { $user->setStatus($_POST['status']); } echo '{"status":"' . $user->save() . '"}'; User::updateSessionInfo(); diff --git a/plugin/BulkEmbed/BulkEmbed.php b/plugin/BulkEmbed/BulkEmbed.php index b2b4c3325..c1eb8d001 100644 --- a/plugin/BulkEmbed/BulkEmbed.php +++ b/plugin/BulkEmbed/BulkEmbed.php @@ -1,60 +1,60 @@ Google Developers Console https://console.developers.google.com
Please ensure that you have enabled the YouTube Data API for your project.'; //$str.= '
Add the Redirect URI '.$global['webSiteRootURL'].'plugin/BulkEmbed/youtubeSearch.json.php'; $str = 'Create your API Key here https://console.developers.google.com/apis/credentials/key'; $str .= "
Also make sure you enable the API YouTube Data API v3"; return $str; } public function getName() { return "BulkEmbed"; } public function getUUID() { return "bulkembed-8c31-4f15-a355-48715fac13f3"; } public function getPluginVersion() { return "1.1"; } public function getEmptyDataObject() { global $global; $obj = new stdClass(); $obj->API_KEY = "AIzaSyCIqxE86BawU33Um2HEGtX4PcrUWeCh_6o"; $obj->onlyAdminCanBulkEmbed = true; return $obj; } public function getPluginMenu() { global $global; $menu = ''; return $menu; } public function getUploadMenuButton(){ global $global; $obj = $this->getDataObject(); if(($obj->onlyAdminCanBulkEmbed && !User::isAdmin()) || !User::canUpload()){ return ''; } - return '
  • '.__("Bulk Embed").'
  • '; + return '
  • '.__("Bulk Embed").'
  • '; } } diff --git a/plugin/Gallery/functions.php b/plugin/Gallery/functions.php index ff6c59c86..7bcc1ba69 100644 --- a/plugin/Gallery/functions.php +++ b/plugin/Gallery/functions.php @@ -1,676 +1,676 @@ -
    +

    " . $info[1] . ""; } else { echo "{$title}"; } ?>

    '; return 0; } $page = $totalPages; $_REQUEST['current'] = $totalPages; } $videos = Video::getAllVideos("viewableNotUnlisted", false, $ignoreGroup); // need to add dechex because some times it return an negative value and make it fails on javascript playlists ?>
    " . __("Up") . ""; $mostLess = $mostWord; } else { if (strpos($orderString, $getName . "=ASC")) { $tmpOrderString = substr($orderString, 0, strpos($orderString, $getName . "=ASC")) . $getName . "=DESC" . substr($orderString, strpos($orderString, $getName . "=ASC") + strlen($getName . "=ASC"), strlen($orderString)); } else { $tmpOrderString .= $getName . "=DESC"; } $upDown = "" . __("Down") . ""; $mostLess = $lessWord; } if (substr($tmpOrderString, strlen($tmpOrderString) - 1, strlen($tmpOrderString)) == "&") { $tmpOrderString = substr($tmpOrderString, 0, strlen($tmpOrderString) - 1); } return array($tmpOrderString, $upDown, $mostLess); } function createGallerySection($videos, $crc = "", $get = array(), $ignoreAds = false, $screenColsLarge = 0, $screenColsMedium = 0, $screenColsSmall = 0, $screenColsXSmall = 0) { global $global, $config, $obj, $advancedCustom, $advancedCustomUser; $countCols = 0; $obj = AVideoPlugin::getObjectData("Gallery"); $zindex = 1000; $startG = microtime(true); $program = AVideoPlugin::loadPluginIfEnabled('PlayLists'); foreach ($videos as $value) { // that meas auto generate the channelName if (empty($get) && !empty($obj->filterUserChannel)) { $getCN = array('channelName' => $value['channelName'], 'catName' => @$_GET['catName']); } else { $getCN = $get; } $img_portrait = (@$value['rotation'] === "90" || @$value['rotation'] === "270") ? "img-portrait" : ""; $name = User::getNameIdentificationById($value['users_id']); $name .= " " . User::getEmailVerifiedIcon($value['users_id']); // make a row each 6 cols if ($countCols % $obj->screenColsLarge === 0) { echo '
    '; } $countCols++; if (!empty($screenColsLarge)) { $obj->screenColsLarge = $screenColsLarge; } if (!empty($screenColsMedium)) { $obj->screenColsMedium = $screenColsMedium; } if (!empty($screenColsSmall)) { $obj->screenColsSmall = $screenColsSmall; } if (!empty($screenColsXSmall)) { $obj->screenColsXSmall = $screenColsXSmall; } $colsClass = "col-lg-" . (12 / $obj->screenColsLarge) . " col-md-" . (12 / $obj->screenColsMedium) . " col-sm-" . (12 / $obj->screenColsSmall) . " col-xs-" . (12 / $obj->screenColsXSmall); $isserie = Video::isSerie($value['id']); $isserieClass = ""; if ($isserie) { $isserieClass = "isserie"; } ?>
    thumbsGif = ""; $images->poster = "" . getCDN() . "view/img/notfound.jpg"; $images->thumbsJpg = "" . getCDN() . "view/img/notfoundThumbs.jpg"; $images->thumbsJpgSmall = "" . getCDN() . "view/img/notfoundThumbsSmall.jpg"; } if ($value['type'] === 'serie' && !empty($value['serie_playlists_id']) && stripos($images->thumbsJpg, 'notfound') !== false) { $images = PlayList::getRandomImageFromPlayList($value['serie_playlists_id']); } $startG = microtime(true); $imgGif = $images->thumbsGif; $poster = $images->thumbsJpg; ?>
    <?php echo $value['title']; ?>" id="thumbsJPG" />


    showCategoryTag)) { $iconClass = 'fas fa-folder'; if (!empty($value['iconClass'])) { $iconClass = $value['iconClass']; } $icon = ''; ?> showTags)) { echo implode('', Video::getTagsHTMLLabelArray($value['id'])); } @$timesG[__LINE__] += microtime(true) - $startG; $startG = microtime(true); ?>
    doNotDisplayViews)) { if (AVideoPlugin::isEnabledByName('LiveUsers')) { echo getLiveUsersLabelVideo($value['id'], $value['views_count'], "", ""); } else { ?>
    Description)) { //$desc = str_replace(array('"', "'", "#", "/", "\\"), array('``', "`", "", "", ""), preg_replace("/\r|\n/", " ", nl2br(trim($value['description'])))); $desc = nl2br(trim($value['description'])); if (!empty($desc)) { $duid = uniqid(); $titleAlert = str_replace(array('"', "'"), array('``', "`"), $value['title']); ?>
    ">
    ">
    1) { if ($countCols % $obj->screenColsLarge === 0) { echo ""; } if ($countCols % $obj->screenColsMedium === 0) { echo ""; } if ($countCols % $obj->screenColsSmall === 0) { echo ""; } if ($countCols % $obj->screenColsXSmall === 0) { echo ""; } } } ?>
    screenColsLarge === 0) { echo '
    '; } $countCols++; if (!empty($screenColsLarge)) { $obj->screenColsLarge = $screenColsLarge; } if (!empty($screenColsMedium)) { $obj->screenColsMedium = $screenColsMedium; } if (!empty($screenColsSmall)) { $obj->screenColsSmall = $screenColsSmall; } if (!empty($screenColsXSmall)) { $obj->screenColsXSmall = $screenColsXSmall; } $colsClass = "col-lg-" . (12 / $obj->screenColsLarge) . " col-md-" . (12 / $obj->screenColsMedium) . " col-sm-" . (12 / $obj->screenColsSmall) . " col-xs-" . (12 / $obj->screenColsXSmall); if (!empty($video['className'])) { $colsClass .= " {$video['className']}"; } $liveNow = '' . __("LIVE NOW") . ''; ?>
    <?php echo $video['title'] ?>
    showCategoryTag)) { ?>
    Description)) { $desc = str_replace(array('"', "'", "#", "/", "\\"), array('``', "`", "", "", ""), preg_replace("/\r|\n/", " ", nl2br(trim($video['description'])))); if (!empty($desc)) { $titleAlert = str_replace(array('"', "'"), array('``', "`"), $video['title']); ?>
    ">
    1) { if ($countCols % $obj->screenColsLarge === 0) { echo ""; } if ($countCols % $obj->screenColsMedium === 0) { echo ""; } if ($countCols % $obj->screenColsSmall === 0) { echo ""; } if ($countCols % $obj->screenColsXSmall === 0) { echo ""; } } } ?>
    '; } unset($_POST['disableAddTo']); return $countCols; } function createChannelItem($users_id, $photoURL = "", $identification = "", $rowCount = 12) { $total = Video::getTotalVideos("viewable", $users_id); if (empty($total)) { return false; } if (empty($photoURL)) { $photoURL = User::getPhoto($users_id); } if (empty($identification)) { $identification = User::getNameIdentificationById($users_id); } ?>

    Channel Owner

    "; return $countCols; } function canPrintCategoryTitle($title) { global $doNotRepeatCategoryTitle; if (!isset($doNotRepeatCategoryTitle)) { $doNotRepeatCategoryTitle = array(); } if (in_array($title, $doNotRepeatCategoryTitle)) { return false; } $doNotRepeatCategoryTitle[] = $title; return true; } ?> diff --git a/plugin/Gallery/view/BigVideo.php b/plugin/Gallery/view/BigVideo.php index 832c9e1af..6b1850e8d 100644 --- a/plugin/Gallery/view/BigVideo.php +++ b/plugin/Gallery/view/BigVideo.php @@ -1,305 +1,305 @@ BigVideo && empty($_GET['showOnly'])) { if (!empty($obj->useSuggestedVideosAsCarouselInBigVideo)) { //getAllVideos($status = "viewable", $showOnlyLoggedUserVideos = false, $ignoreGroup = false, $videosArrayId = array(), $getStatistcs = false, $showUnlisted = false, $activeUsersOnly = true) //$videoRows = Video::getAllVideosLight("viewable", !$obj->hidePrivateVideos, false, true); $_REQUEST['rowCount'] = 20; $_REQUEST['current'] = 1; $videoRows = Video::getAllVideos("viewable", false, !$obj->hidePrivateVideos, array(), false, false, true, true); } if (empty($videoRows)) { $videoRows = array($video); } $class = ''; $classInner = ''; if (count($videoRows) > 1) { $class = 'carousel slide'; $classInner = 'carousel-inner'; } ?>
    -
    +
    1) { ?>
    getName(); $videoRow['clean_category'] = $category->getClean_name(); $videoRow['iconClass'] = $category->getIconClass(); $videoRow['videoCreation'] = $videoRow['created']; $name = User::getNameIdentificationById($videoRow['users_id']); if (empty($get)) { $get = array(); } $bigVideoAd = getAdsLeaderBoardBigVideo(); $colClass1 = "col-sm-5"; $colClass2 = "col-sm-7"; $colClass3 = ""; if (!empty($bigVideoAd)) { $colClass1 = "col-sm-4"; $colClass2 = "col-sm-8"; $colClass3 = "col-sm-6"; } $isserie = Video::isSerie($videoRow['id']); $isserieClass = ""; if ($isserie) { $isserieClass = "isserie"; } ?>
    ">
    showTags)) { $videoRow['tags'] = Video::getTags($videoRow['id']); if (!empty($videoRow['tags'])) { foreach ($videoRow['tags'] as $value2) { if (!empty($value2->label) && $value2->label === __("Group")) { ?>text; ?>
    doNotDisplayViews)) { if (AVideoPlugin::isEnabledByName('LiveUsers')) { echo getLiveUsersLabelVideo($videoRow['id'], $videoRow['views_count'], "", ""); } else { ?>
    searchOnChannels && !empty($_GET['search'])) { $channels = User::getAllUsers(true); //cleanSearchVar(); foreach ($channels as $value) { $contentSearchFound = true; createChannelItem($value['id'], $value['photoURL'], $value['identification']); } //reloadSearchVar(); } if (!empty($video)) { $contentSearchFound = true; $img_portrait = ($video['rotation'] === "90" || $video['rotation'] === "270") ? "img-portrait" : ""; if (empty($_GET['search'])) { include $global['systemRootPath'] . 'plugin/Gallery/view/BigVideo.php'; } echo '
    ' . getAdsLeaderBoardTop2() . '
    '; if (empty($_GET['catName'])) { ?> - \ No newline at end of file diff --git a/plugin/Gallery/view/mainAreaCategory.php b/plugin/Gallery/view/mainAreaCategory.php index 402bb1348..f0187c0f4 100644 --- a/plugin/Gallery/view/mainAreaCategory.php +++ b/plugin/Gallery/view/mainAreaCategory.php @@ -1,64 +1,64 @@ CategoriesRowCount * 3; $videos = Video::getAllVideos("viewableNotUnlisted", false, !$obj->hidePrivateVideos); if (!empty($videos)) { ?> -
    +
    -
    -
    - SubscribedChannelsRowCount); - } - ?> -
    -
    - + SubscribedChannelsRowCount); + } + ?> +
    +
    + -
    + echo getPagination($totalPages, $page, "{$global['webSiteRootURL']}plugin/Gallery/view/mainAreaChannels.php", 10, ".mainAreaChannels", ".mainAreaChannels"); + ?>
    \ No newline at end of file diff --git a/plugin/Gallery/view/modeGalleryCategory.php b/plugin/Gallery/view/modeGalleryCategory.php index 47a5a52ff..2d0ab5c78 100644 --- a/plugin/Gallery/view/modeGalleryCategory.php +++ b/plugin/Gallery/view/modeGalleryCategory.php @@ -1,82 +1,82 @@ CategoriesShowOnlySuggested; if(!empty(getSearchVar())){ $onlySuggested = false; } $sort = $_POST['sort']; unset($_POST['sort']); $categories = Category::getAllCategories(false, true, $onlySuggested); $total = Category::getTotalCategories(false, true, $onlySuggested); $totalPages = ceil($total / getRowCount()); $page = getCurrentPage(); if ($totalPages < $page) { $page = $totalPages; } $link = "{$global['webSiteRootURL']}plugin/Gallery/view/modeGalleryCategory.php?tags_id=" . intval(@$_GET['tagsid']) . "&search=" . htmlentities(urlencode(getSearchVar())) . "¤t={page}"; if (empty($categories)) { return false; } $_REQUEST['current'] = 1; $_REQUEST['rowCount'] = $obj->CategoriesRowCount; ?>
    doNotShowLiveOnCategoryList)) { $currentCat = $_cat; include $global['systemRootPath'] . 'plugin/Gallery/view/modeGalleryCategoryLive.php'; } unset($_POST['sort']); $_POST['sort']['v.created'] = "DESC"; $_POST['sort']['likes'] = "DESC"; $videos = Video::getAllVideos("viewableNotUnlisted", false, !$obj->hidePrivateVideos); if (empty($videos)) { continue; } if (empty($_cat['clean_name'])) { continue; } ?> -
    +
    \ No newline at end of file diff --git a/plugin/Gallery/view/modeGalleryCategoryLive.php b/plugin/Gallery/view/modeGalleryCategoryLive.php index a8a05b2df..fe4a8fcd4 100644 --- a/plugin/Gallery/view/modeGalleryCategoryLive.php +++ b/plugin/Gallery/view/modeGalleryCategoryLive.php @@ -1,65 +1,65 @@ '; return false; } $galleryObj = AVideoPlugin::getObjectData("Gallery"); if (empty($galleryObj->showCategoryLiveRow)) { echo ''; return false; } $stats = getStatsNotifications(); $videos = array(); foreach ($stats["applications"] as $key => $value) { if (empty($value['categories_id']) || $currentCat['id'] != $value['categories_id']) { continue; } $video = array( 'id' => uniqid(), 'clean_category' => $currentCat['clean_name'], 'description' => '', 'users_id' => $value['users_id'], 'type' => 'ready', 'title' => $value['title'], 'poster' => @$value['poster'], 'href' => @$value['href'], 'link' => @$value['link'], 'imgGif' => @$value['imgGif'], 'className' => @$value['className'], 'galleryCallback' => @$value['galleryCallback'] ); $videos[] = $video; } /* $videosL = $videosLL = $videos = array(); if (AVideoPlugin::isEnabledByName("Live")) { $videosL = Live::getAllVideos(); } if (AVideoPlugin::isEnabledByName("LiveLinks")) { $videosLL = LiveLinks::getAllVideos('a'); } $videos = array_merge($videosL, $videosLL); * */ if (!empty($videos)) { $contentSearchFound = true; ?> -
    + and receive HLS streaming from servers"; $lu = AVideoPlugin::loadPlugin("LiveUsers"); if (!empty($lu)) { if (version_compare($lu->getPluginVersion(), "2.0") < 0) { $desc .= "
    You MUST update your LiveUsers plugin to version 2.0 or greater
    "; } } return $desc; } public function getName() { return "Live"; } public function getHTMLMenuRight() { global $global; $buttonTitle = $this->getButtonTitle(); $obj = $this->getDataObject(); if (!empty($obj->hideTopButton)) { return ''; } include $global['systemRootPath'] . 'plugin/Live/view/menuRight.php'; } public function getUUID() { return "e06b161c-cbd0-4c1d-a484-71018efa2f35"; } public function getPluginVersion() { return "7.2"; } public function updateScript() { global $global; //update version 2.0 $sql = "SELECT 1 FROM live_transmitions_history LIMIT 1"; $res = sqlDAL::readSql($sql); $fetch = sqlDAL::fetchAssoc($res); if (!$fetch) { sqlDal::writeSql(file_get_contents($global['systemRootPath'] . 'plugin/Live/install/updateV2.0.sql')); } //update version 3.0 $sql = "SELECT 1 FROM live_transmition_history_log LIMIT 1"; $res = sqlDAL::readSql($sql); $fetch = sqlDAL::fetchAssoc($res); if (!$fetch) { sqlDal::writeSql(file_get_contents($global['systemRootPath'] . 'plugin/Live/install/updateV3.0.sql')); } //update version 4.0 $sql = "SELECT 1 FROM live_servers LIMIT 1"; $res = sqlDAL::readSql($sql); $fetch = sqlDAL::fetchAssoc($res); if (!$fetch) { $sqls = file_get_contents($global['systemRootPath'] . 'plugin/Live/install/updateV4.0.sql'); $sqlParts = explode(";", $sqls); foreach ($sqlParts as $value) { sqlDal::writeSql(trim($value)); } } //update version 5.0 $sql = "SELECT 1 FROM live_restreams LIMIT 1"; $res = sqlDAL::readSql($sql); $fetch = sqlDAL::fetchAssoc($res); if (!$fetch) { $sqls = file_get_contents($global['systemRootPath'] . 'plugin/Live/install/updateV5.0.sql'); $sqlParts = explode(";", $sqls); foreach ($sqlParts as $value) { sqlDal::writeSql(trim($value)); } } //update version 5.1 if (AVideoPlugin::compareVersion($this->getName(), "5.1") < 0) { $sqls = file_get_contents($global['systemRootPath'] . 'plugin/Live/install/updateV5.1.sql'); $sqlParts = explode(";", $sqls); foreach ($sqlParts as $value) { sqlDal::writeSql(trim($value)); } } //update version 5.2 if (AVideoPlugin::compareVersion($this->getName(), "5.2") < 0) { $sqls = file_get_contents($global['systemRootPath'] . 'plugin/Live/install/updateV5.2.sql'); $sqlParts = explode(";", $sqls); foreach ($sqlParts as $value) { sqlDal::writeSql(trim($value)); } } if (AVideoPlugin::compareVersion($this->getName(), "6.0") < 0) { $sqls = file_get_contents($global['systemRootPath'] . 'plugin/Live/install/updateV6.0.sql'); $sqlParts = explode(";", $sqls); foreach ($sqlParts as $value) { sqlDal::writeSql(trim($value)); } } if (AVideoPlugin::compareVersion($this->getName(), "7.0") < 0) { $sqls = file_get_contents($global['systemRootPath'] . 'plugin/Live/install/updateV7.0.sql'); $sqlParts = explode(";", $sqls); foreach ($sqlParts as $value) { sqlDal::writeSql(trim($value)); } } if (AVideoPlugin::compareVersion($this->getName(), "7.2") < 0) { $sqls = file_get_contents($global['systemRootPath'] . 'plugin/Live/install/updateV7.2.sql'); $sqlParts = explode(";", $sqls); foreach ($sqlParts as $value) { sqlDal::writeSql(trim($value)); } } return true; } public function getEmptyDataObject() { global $global; $server = parse_url($global['webSiteRootURL']); $scheme = "http"; $port = "8080"; if (strtolower($server["scheme"]) == "https") { $scheme = "https"; $port = "8443"; } $obj = new stdClass(); $obj->button_title = "LIVE"; self::addDataObjectHelper('button_title', 'Button Title', 'This is the title that will appear in your button to enter in the Live panel'); $obj->server = "rtmp://{$server['host']}/live"; self::addDataObjectHelper('server', 'RTMP Server URL', 'Usually it is ' . "rtmp://{$server['host']}/live"); $obj->playerServer = "{$scheme}://{$server['host']}:{$port}/live"; self::addDataObjectHelper('playerServer', 'Player URL', 'This is a URL to your NGINX server, this URL will be used by the HTML5 player, If your site is HTTPS your player URL MUST be HTTPS as well, usually it is ' . "{$scheme}://{$server['host']}:{$port}/live"); $obj->stats = "{$scheme}://{$server['host']}:{$port}/stat"; self::addDataObjectHelper('stats', 'Stats Page URL', 'When you installed the NGINX you also install the stat.xsl, we will use it to grab the information when you have livestreams running, usually it is ' . "{$scheme}://{$server['host']}:{$port}/stat"); $obj->restreamerURL = "{$global['webSiteRootURL']}plugin/Live/standAloneFiles/restreamer.json.php"; self::addDataObjectHelper('restreamerURL', 'Restreamer URL', 'https://github.com/WWBN/AVideo/wiki/Restream'); $obj->controlURL = "{$global['webSiteRootURL']}plugin/Live/standAloneFiles/control.json.php"; self::addDataObjectHelper('controlURL', 'Control URL'); $obj->controlServer = "http://localhost:8080/"; self::addDataObjectHelper('controlServer', 'Control Server'); $obj->disableRestream = false; self::addDataObjectHelper('disableRestream', 'Disable Restream', 'If you check this, we will not send requests to your Restreamer URL'); $obj->disableDVR = false; self::addDataObjectHelper('disableDVR', 'Disable DVR', 'Enable or disable the DVR Feature, you can control the DVR length in your nginx.conf on the parameter hls_playlist_length'); $obj->disableGifThumbs = false; self::addDataObjectHelper('disableGifThumbs', 'Disable Gif Thumbs', 'This option will disable the Animated Gif render, it will save some hardware capacity from your encoder and may speedup your page'); $obj->disableLiveThumbs = false; self::addDataObjectHelper('disableLiveThumbs', 'Disable Live thumbnails', 'This option will disable the çive image extraction and will use the user static image, it will save some hardware capacity from your encoder and may speedup your page'); $obj->hideTopButton = false; self::addDataObjectHelper('hideTopButton', 'Hide Top Button', 'This will hide the "Go Live" button on the top menu bar'); $obj->useAadaptiveMode = false; self::addDataObjectHelper('useAadaptiveMode', 'Adaptive mode', 'https://github.com/WWBN/AVideo/wiki/Adaptive-Bitrates-on-Livestream'); $obj->protectLive = false; self::addDataObjectHelper('protectLive', 'Live Protection', 'With this your encryption key will be protected, and only your site player will be able to play your videos, download tools will not be able to download your video. if you want to share your live externally you can use the embed and you will still be protected. but if you want to use the m3u8 file you must disable this'); $obj->experimentalWebcam = false; self::addDataObjectHelper('experimentalWebcam', 'Experimental Webcam', 'Requires flash and it is deprecated, will be removed. not recommend to enable it.'); $obj->doNotShowLiveOnVideosList = false; self::addDataObjectHelper('doNotShowLiveOnVideosList', 'Do not show live on videos list', 'We will not show the live thumbs on the main Gallery page'); $obj->doNotShowOnlineOfflineLabel = false; self::addDataObjectHelper('doNotShowOnlineOfflineLabel', 'Hide the Online/Offline Badge on live streams'); $obj->doNotShowLiveOnCategoryList = false; self::addDataObjectHelper('doNotShowLiveOnCategoryList', 'Do not show live on site category list', 'We will not show the live thumbs on the main Gallery page'); $obj->doNotShowOfflineLiveOnCategoryList = false; self::addDataObjectHelper('doNotShowOfflineLiveOnCategoryList', 'Do not show offline lives on site category list', 'We will not show the live thumbs on the main Gallery page if it is offline'); $obj->limitLiveOnVideosList = 12; self::addDataObjectHelper('limitLiveOnVideosList', 'Videos List Limit', 'This will limit the maximum of videos that you will see in the Videos page'); $obj->doNotShowGoLiveButton = false; self::addDataObjectHelper('doNotShowGoLiveButton', 'Hide Top Go live Button', 'This will hide the "Go Live" button on the top menu bar'); $obj->doNotProcessNotifications = false; self::addDataObjectHelper('doNotProcessNotifications', 'Do not show notifications', 'Do not show the notification on the top bar'); $obj->useLiveServers = false; self::addDataObjectHelper('useLiveServers', 'Use Live Servers', 'Check this if you will use External Live Servers https://github.com/WWBN/AVideo/wiki/Live-Plugin#livestream-server-balance '); $obj->disableMeetCamera = false; self::addDataObjectHelper('disableMeetCamera', 'Disable Meet camera', 'This requires out Meet Server, with the Meet camera you can use your PC webcam directly in the webpage or mobile to make livestreams'); $obj->playLiveInFullScreen = false; self::addDataObjectHelper('playLiveInFullScreen', 'Play Livestream in Full Screen'); $obj->playLiveInFullScreenOnIframe = false; self::addDataObjectHelper('playLiveInFullScreenOnIframe', 'Play Livestream in Full Screen on IFrame'); $obj->hls_path = "/HLS/live"; self::addDataObjectHelper('hls_path', 'HLS Path URL', 'Used only when we stop a Live, we use this path to delete the files'); $obj->requestStatsTimout = 4; // if the server does not respond we stop wait self::addDataObjectHelper('requestStatsTimout', 'Stats Timout', 'If a remote server (stats page) does not respond we stop waiting after this timeout'); $obj->cacheStatsTimout = 15; // we will cache the result self::addDataObjectHelper('cacheStatsTimout', 'Stats Cache Timeout', 'we will cache the result, this will save some resources'); $obj->requestStatsInterval = 15; // how many seconds untill request the stats again self::addDataObjectHelper('requestStatsInterval', 'Stats Request Interval', 'how many seconds until request the stats again'); $obj->streamDeniedMsg = "You can not stream live videos"; self::addDataObjectHelper('streamDeniedMsg', 'Denied Message', 'We will show this message when a user is not allowed so watch a livestream'); $obj->allowMultipleLivesPerUser = true; self::addDataObjectHelper('allowMultipleLivesPerUser', 'Allow Multiple Lives Per User', 'Your users will be able to make unlimited livestreams'); $obj->controllButtonsShowOnlyToAdmin_record_start = false; self::addDataObjectHelper('controllButtonsShowOnlyToAdmin_record_start', 'Show Record Start Button Only to Admin', 'Regular users will not able to see this button'); $obj->controllButtonsShowOnlyToAdmin_record_stop = false; self::addDataObjectHelper('controllButtonsShowOnlyToAdmin_record_stop', 'Show Record Stop Button Only to Admin', 'Regular users will not able to see this button'); $obj->controllButtonsShowOnlyToAdmin_drop_publisher = false; self::addDataObjectHelper('controllButtonsShowOnlyToAdmin_drop_publisher', 'Show Drop Publisher Button Only to Admin', 'Regular users will not able to see this button'); $obj->controllButtonsShowOnlyToAdmin_drop_publisher_reset_key = false; self::addDataObjectHelper('controllButtonsShowOnlyToAdmin_drop_publisher_reset_key', 'Show Drop Publisher and Reset Key Button Only to Admin', 'Regular users will not able to see this button'); $obj->controllButtonsShowOnlyToAdmin_save_dvr = false; self::addDataObjectHelper('controllButtonsShowOnlyToAdmin_save_dvr', 'Show Save DVR Button Only to Admin', 'Regular users will not able to see this button'); $obj->webRTC_player = 'https://webrtc.ypt.me/player/'; return $obj; } public function getHeadCode() { global $global; $obj = $this->getDataObject(); // preload image $js = ""; $css = ''; if (!empty($obj->playLiveInFullScreen)) { if ((isLive() || isEmbed()) && canFullScreen()) { $css .= ''; $css .= ''; } $js .= ''; $css .= ''; } return $js . $css; } public function getFooterCode() { $obj = $this->getDataObject(); global $global; $js = ''; if (!empty($obj->playLiveInFullScreen)) { $js = ''; $js .= ''; } else if (!empty($obj->playLiveInFullScreenOnIframe)) { $js = ''; $js .= ''; } include $global['systemRootPath'] . 'plugin/Live/view/footer.php'; return $js; } public function getButtonTitle() { $o = $this->getDataObject(); return $o->button_title; } public function getKey() { $o = $this->getDataObject(); return $o->key; } static function getDestinationApplicationName() { $server = self::getPlayerServer(); $server = rtrim($server, "/"); $parts = explode("/", $server); $app = array_pop($parts); $domain = self::getControl(); //return "{$domain}/control/drop/publisher?app={$app}&name={$key}"; return "{$app}?p=" . User::getUserPass(); } static function getDestinationHost() { $server = self::getServer(); $host = parse_url($server, PHP_URL_HOST); return $host; } static function getDestinationPort() { $server = self::getServer(); $port = parse_url($server, PHP_URL_PORT); if (empty($port)) { $port = 1935; } return $port; } static function getServer($live_servers_id = -1) { $obj = AVideoPlugin::getObjectData("Live"); if (!empty($obj->useLiveServers)) { if ($live_servers_id < 0) { $live_servers_id = self::getCurrentLiveServersId(); } $ls = new Live_servers($live_servers_id); if (!empty($ls->getRtmp_server())) { return $ls->getRtmp_server(); } } return trim($obj->server); } static function getDropURL($key, $live_servers_id = 0) { $server = self::getPlayerServer(); $server = rtrim($server, "/"); $parts = explode("/", $server); $app = array_pop($parts); $domain = self::getControl($live_servers_id); //return "{$domain}/control/drop/publisher?app={$app}&name={$key}"; return "{$domain}?command=drop_publisher&app={$app}&name={$key}&token=" . getToken(60); } static function getIsRecording($key, $live_servers_id = 0) { $server = self::getPlayerServer(); $server = rtrim($server, "/"); $parts = explode("/", $server); $app = array_pop($parts); $domain = self::getControl($live_servers_id); //return "{$domain}/control/drop/publisher?app={$app}&name={$key}"; return "{$domain}?command=is_recording&app={$app}&name={$key}&token=" . getToken(60); } static function getStartRecordURL($key, $live_servers_id = 0) { $server = self::getPlayerServer(); $server = rtrim($server, "/"); $parts = explode("/", $server); $app = array_pop($parts); $domain = self::getControl($live_servers_id); //return "{$domain}/control/drop/publisher?app={$app}&name={$key}"; return "{$domain}?command=record_start&app={$app}&name={$key}&token=" . getToken(60); } static function getStopRecordURL($key, $live_servers_id = 0) { $server = self::getPlayerServer(); $server = rtrim($server, "/"); $parts = explode("/", $server); $app = array_pop($parts); $domain = self::getControl($live_servers_id); return "{$domain}?command=record_stop&app={$app}&name={$key}&token=" . getToken(60); } static function controlRecording($key, $live_servers_id, $start = true, $try = 0) { if ($start) { $url = self::getStartRecordURL($key, $live_servers_id); } else { $url = self::getStopRecordURL($key, $live_servers_id); } $response = url_get_contents($url, '', 5); _error_log("Live:controlRecording {$url} {$live_servers_id} - [{$response}]"); $obj = new stdClass(); $obj->error = true; $obj->msg = ""; $obj->remoteResponse = false; if (!empty($response)) { $json = json_decode($response); if (!empty($json)) { if ($start && empty($json->error) && empty($json->response) && $try < 4) { _error_log("Live:controlRecording start record is not ready trying again in 5 seconds " . (isCommandLineInterface() ? 'From Command Line' : 'Not Command Line')); _error_log("Live:controlRecording " . json_encode(debug_backtrace())); sleep(5); return self::controlRecording($key, $live_servers_id, $start, $try + 1); } _error_log("Live:controlRecording start record is ready {$json->response}"); $obj->error = $json->error; $obj->msg = $json->msg; $obj->remoteResponse = true; } else { $obj->msg = "JSON response fail"; } } else { $obj->msg = "Control response fail"; } if ($obj->error) { _error_log("Live::controlRecording: [$key], [$live_servers_id], [$start] " . json_encode($obj)); } return $obj; } static function controlRecordingAsync($key, $live_servers_id, $start = true) { global $global; outputAndContinueInBackground(); $command = "php {$global['systemRootPath']}plugin/Live/controlRecording.php '$key' '$live_servers_id' '$start'"; _error_log("NGINX Live::controlRecordingAsync start ($command)"); $pid = execAsync($command); _error_log("NGINX Live::controlRecordingAsync end {$pid}"); return $pid; } static function userCanRecordLive($users_id) { if (!AVideoPlugin::isEnabledByName('SendRecordedToEncoder')) { return false; } return SendRecordedToEncoder::canRecord($users_id); } static function getButton($command, $key, $live_servers_id = 0, $iconsOnly = false, $label = "", $class = "", $tooltip = "") { if (!User::canStream()) { return ''; } global $global; $id = "getButton" . uniqid(); $afterLabel = ""; $obj = AVideoPlugin::getDataObject('Live'); switch ($command) { case "record_start": if ($obj->controllButtonsShowOnlyToAdmin_record_start && !User::isAdmin()) { return ''; } if (!self::userCanRecordLive(User::getId())) { return ''; } $buttonClass = "btn btn-success"; $iconClass = "fas fa-video"; if (empty($label)) { $label = __("Start Record"); } if (empty($tooltip)) { $tooltip = __("Start Record"); } $afterLabel = ''; break; case "record_stop": if (!self::userCanRecordLive(User::getId())) { return ''; } if ($obj->controllButtonsShowOnlyToAdmin_record_stop && !User::isAdmin()) { return ''; } $buttonClass = "btn btn-danger"; $iconClass = "fas fa-video-slash"; if (empty($label)) { $label = __("Stop Record"); } if (empty($tooltip)) { $tooltip = __("Stop Record"); } break; case "drop_publisher": if ($obj->controllButtonsShowOnlyToAdmin_drop_publisher && !User::isAdmin()) { return ''; } $buttonClass = "btn btn-default"; $iconClass = "fas fa-wifi"; if (empty($label)) { $label = __("Disconnect Livestream"); } if (empty($tooltip)) { $tooltip = __("Disconnect Livestream"); } break; case "drop_publisher_reset_key": if ($obj->controllButtonsShowOnlyToAdmin_drop_publisher_reset_key && !User::isAdmin()) { return ''; } $buttonClass = "btn btn-default"; $iconClass = "fas fa-key"; if (empty($label)) { $label = __("Disconnect Livestream"); } if (empty($tooltip)) { $tooltip = __("Disconnect Livestream") . __(" and also reset the stream name/key"); } break; case "save_dvr": $obj2 = AVideoPlugin::getDataObjectIfEnabled('SendRecordedToEncoder'); if (empty($obj2) || empty($obj2->saveDVREnable)) { return ''; } if ($obj->controllButtonsShowOnlyToAdmin_save_dvr && !User::isAdmin()) { return ''; } if (!self::userCanRecordLive(User::getId())) { return ''; } return '' . SendRecordedToEncoder::getSaveDVRButton($key, $live_servers_id, $class); break; default: return ''; } if ($iconsOnly) { $label = ""; } $html = ""; return $html; } static function getRecordControlls($key, $live_servers_id = 0, $iconsOnly = false) { if (!User::canStream()) { return ""; } $btn = "
    "; $btn .= self::getButton("record_start", $key, $live_servers_id, $iconsOnly); $btn .= self::getButton("record_stop", $key, $live_servers_id, $iconsOnly); $btn .= "
    "; return $btn; } static function getAllControlls($key, $live_servers_id = 0, $iconsOnly = false, $btnClass = '') { if (!Live::canManageLiveFromLiveKey($key, User::getId())) { return ''; } $btn = "
    "; //$btn .= self::getButton("drop_publisher", $live_transmition_id, $live_servers_id); $btn .= self::getButton("save_dvr", $key, $live_servers_id, $iconsOnly, '', $btnClass); $btn .= self::getButton("drop_publisher_reset_key", $key, $live_servers_id, $iconsOnly, '', $btnClass); $btn .= self::getButton("record_start", $key, $live_servers_id, $iconsOnly, '', $btnClass); $btn .= self::getButton("record_stop", $key, $live_servers_id, $iconsOnly, '', $btnClass); $btn .= "
    "; $btn .= ""; return $btn; } static function getRestreamer($live_servers_id = -1) { $obj = AVideoPlugin::getObjectData("Live"); if (!empty($obj->useLiveServers)) { if ($live_servers_id < 0) { $live_servers_id = self::getCurrentLiveServersId(); } $ls = new Live_servers($live_servers_id); if (!empty($ls->getRestreamerURL())) { return $ls->getRestreamerURL(); } } return $obj->restreamerURL; } static function getControl($live_servers_id = -1) { $obj = AVideoPlugin::getObjectData("Live"); if (!empty($obj->useLiveServers) && !empty($live_servers_id)) { if ($live_servers_id < 0) { $live_servers_id = self::getCurrentLiveServersId(); } $ls = new Live_servers($live_servers_id); if (!empty($ls->getControlURL())) { return $ls->getControlURL(); } } return $obj->controlURL; } - static function getRTMPLink($users_id) { - return self::getRTMPLinkFromKey(self::getKeyFromUser($users_id)); + static function getRTMPLink($users_id, $forceIndex = false) { + $key = self::getKeyFromUser($users_id); + if (!empty($forceIndex)) { + // make sure the key is unique + $parts = explode('-', $key); + $key = $parts[0] . "-{$forceIndex}"; + } + return self::getRTMPLinkFromKey($key); } static function getRTMPLinkFromKey($key) { $lso = new LiveStreamObject($key); return $lso->getRTMPLink(); } static function getRTMPLinkWithOutKey($users_id) { $lso = new LiveStreamObject(self::getKeyFromUser($users_id)); return $lso->getRTMPLinkWithOutKey(); } static function getRTMPLinkWithOutKeyFromKey($key) { $lso = new LiveStreamObject($key); return $lso->getRTMPLinkWithOutKey(); } static function getKeyFromUser($users_id) { if (!User::isLogged() || ($users_id !== User::getId() && !User::isAdmin())) { return false; } $user = new User($users_id); $trasnmition = LiveTransmition::createTransmitionIfNeed($users_id); return $trasnmition['key']; } static function getDynamicKey($key) { $objLive = AVideoPlugin::getDataObject("Live"); if ($objLive->allowMultipleLivesPerUser) { $key .= '-' . date('His'); } return $key; } static function getPlayerServer() { $obj = AVideoPlugin::getObjectData("Live"); $url = $obj->playerServer; $url = getCDNOrURL($url, 'CDN_Live'); if (!empty($obj->useLiveServers)) { $ls = new Live_servers(self::getLiveServersIdRequest()); if (!empty($ls->getPlayerServer())) { $url = $ls->getPlayerServer(); $url = getCDNOrURL($url, 'CDN_LiveServers', $ls->getId()); } } //$url = str_replace("encoder.gdrive.local", "192.168.1.18", $url); return $url; } static function getUseAadaptiveMode() { $obj = AVideoPlugin::getObjectData("Live"); if (!empty($obj->useLiveServers)) { $ls = new Live_servers(self::getCurrentLiveServersId()); return $ls->getUseAadaptiveMode(); } return $obj->useAadaptiveMode; } static function getRemoteFile() { return self::getRemoteFileFromLiveServersID(self::getCurrentLiveServersId()); } static function getRemoteFileFromLiveServersID($live_servers_id) { global $global; $obj = AVideoPlugin::getObjectData("Live"); if (empty($live_servers_id) || !empty($obj->useLiveServers)) { $ls = new Live_servers($live_servers_id); $url = $ls->getGetRemoteFile(); if (IsValidURL($url)) { return $url; } } return "{$global['webSiteRootURL']}plugin/Live/standAloneFiles/getRecordedFile.php"; } static function getRemoteFileFromRTMPHost($rtmpHostURI) { $live_servers_id = Live_servers::getServerIdFromRTMPHost($rtmpHostURI); return self::getRemoteFileFromLiveServersID($live_servers_id); } static function getLiveServersIdRequest() { if (empty($_REQUEST['live_servers_id'])) { return 0; } return intval($_REQUEST['live_servers_id']); } static function getM3U8File($uuid, $doNotProtect = false) { $live_servers_id = self::getLiveServersIdRequest(); $lso = new LiveStreamObject($uuid, $live_servers_id, false, false); return $lso->getM3U8($doNotProtect); } public function getDisableGifThumbs() { $o = $this->getDataObject(); return $o->disableGifThumbs; } public function getStatsURL($live_servers_id = 0) { global $global; $o = $this->getDataObject(); if (!empty($live_servers_id)) { $liveServer = new Live_servers($live_servers_id); if ($liveServer->getStats_url()) { return $liveServer->getStats_url(); } } return $o->stats; } public function getChat($uuid) { global $global; //check if LiveChat Plugin is available $filename = $global['systemRootPath'] . 'plugin/LiveChat/LiveChat.php'; if (file_exists($filename)) { require_once $filename; LiveChat::includeChatPanel($uuid); } } function getStatsObject($live_servers_id = 0, $force_recreate = false, $tries = 0) { if (!function_exists('simplexml_load_file')) { _error_log("Live::getStatsObject: You need to install the simplexml_load_file function to be able to see the Live stats", AVideoLog::$ERROR); return false; } $name = "getStats" . DIRECTORY_SEPARATOR . "live_servers_id_{$live_servers_id}" . DIRECTORY_SEPARATOR . "getStatsObject"; global $getStatsObject; if (!isset($getStatsObject)) { $getStatsObject = array(); } if (empty($force_recreate)) { //_error_log("Live::getStatsObject[$live_servers_id] 1: searching for cache"); if (isset($getStatsObject[$live_servers_id])) { _error_log("Live::getStatsObject[$live_servers_id] 2: return cached result"); return $getStatsObject[$live_servers_id]; } $result = ObjectYPT::getCache($name, maxLifetime() + 60, true); if (!empty($result)) { _error_log("Live::getStatsObject[$live_servers_id] 3: return cached result $name [lifetime=" . (maxLifetime() + 60) . "]"); return _json_decode($result); } _error_log("Live::getStatsObject[$live_servers_id] 4: cache not found"); } else { _error_log("Live::getStatsObject[$live_servers_id] 5: forced to be recreated"); } $o = $this->getDataObject(); if ($o->doNotProcessNotifications) { $xml = new stdClass(); $xml->server = new stdClass(); $xml->server->application = array(); $getStatsObject[$live_servers_id] = $xml; ObjectYPT::setCache($name, json_encode($xml)); return $xml; } if (empty($o->requestStatsTimout)) { $o->requestStatsTimout = 2; } ini_set('allow_url_fopen ', 'ON'); $url = $this->getStatsURL($live_servers_id); if (!empty($_SESSION['getStatsObjectRequestStatsTimout'][$url])) { _error_log("Live::getStatsObject[$live_servers_id] RTMP Server ($url) is NOT responding we will wait less from now on => live_servers_id = ($live_servers_id) "); // if the server already fail, do not wait mutch for it next time, just wait 0.5 seconds $o->requestStatsTimout = $_SESSION['getStatsObjectRequestStatsTimout'][$url]; } //_error_log_debug("Live::getStatsObject ($url) ({$o->requestStatsTimout}) "); $waitFile = getTmpDir() . md5($name); if (file_exists($waitFile) && filemtime($waitFile) > time() - 10 && $tries < 10) { _error_log("Live::getStatsObject[$live_servers_id]: there is a request in progeress, please wait {$waitFile}"); sleep(1); return self::getStatsObject($live_servers_id, $force_recreate, $tries + 1); } _error_log("Live::getStatsObject[$live_servers_id]: Creating a waitfile {$waitFile}"); file_put_contents($waitFile, time()); $data = $this->get_data($url, $o->requestStatsTimout); unlink($waitFile); if (empty($data)) { _session_start(); if (empty($_SESSION['getStatsObjectRequestStatsTimout'])) { $_SESSION['getStatsObjectRequestStatsTimout'] = array(); } $_SESSION['getStatsObjectRequestStatsTimout'][$url] = $o->requestStatsTimout - 1; if ($_SESSION['getStatsObjectRequestStatsTimout'][$url] < 1) { $_SESSION['getStatsObjectRequestStatsTimout'][$url] = 2; } _error_log("Live::getStatsObject RTMP Server ($url) is OFFLINE, timeout=({$o->requestStatsTimout}) we could not connect on it => live_servers_id = ($live_servers_id) ", AVideoLog::$ERROR); $data = 'The RTMP Server is Unavailable0'; } else { if (!empty($_SESSION['getStatsObjectRequestStatsTimout'][$url])) { _error_log("Live::getStatsObject RTMP Server ($url) is respond again => live_servers_id = ($live_servers_id) "); // the server respont again, wait the default time _session_start(); $_SESSION['getStatsObjectRequestStatsTimout'][$url] = 0; unset($_SESSION['getStatsObjectRequestStatsTimout'][$url]); } } $xml = simplexml_load_string($data); $getStatsObject[$live_servers_id] = $xml; ObjectYPT::setCache($name, json_encode($xml)); return $xml; } function get_data($url, $timeout) { global $global; if (!IsValidURL($url)) { return false; } _error_log_debug("Live::get_data($url, $timeout)"); return url_get_contents($url, '', $timeout); } public function getChartTabs() { return '
  • ' . __('Live videos') . '
  • '; } public function getChartContent() { global $global; include $global['systemRootPath'] . 'plugin/Live/report.php'; } static public function saveHistoryLog($key) { // get the latest history for this key $latest = LiveTransmitionHistory::getLatest($key); if (!empty($latest)) { LiveTransmitionHistoryLog::addLog($latest['id']); } } public function dataSetup() { $obj = $this->getDataObject(); if (!isLive() || $obj->disableDVR) { return ""; } return "liveui: true"; } static function stopLive($users_id) { if (!User::isAdmin() && User::getId() != $users_id) { return false; } $obj = AVideoPlugin::getObjectData("Live"); if (!empty($obj)) { $server = str_replace("stats", "", $obj->stats); $lt = new LiveTransmition(0); $lt->loadByUser($users_id); $key = $lt->getKey(); $appName = self::getApplicationName(); $url = "{$server}control/drop/publisher?app={$appName}&name=$key"; url_get_contents($url); $dir = $obj->hls_path . "/$key"; if (is_dir($dir)) { exec("rm -fR $dir"); rrmdir($dir); } } } // not implemented yet static function startRecording($users_id) { if (!User::isAdmin() && User::getId() != $users_id) { return false; } $obj = AVideoPlugin::getObjectData("Live"); if (!empty($obj)) { $server = str_replace("stats", "", $obj->stats); $lt = new LiveTransmition(0); $lt->loadByUser($users_id); $key = $lt->getKey(); $appName = self::getApplicationName(); $url = "{$server}control/record/start?app={$appName}&name=$key"; url_get_contents($url); } } static function getApplicationName() { $rtmpServer = self::getServer(); $parts = explode('/', $rtmpServer); $live = end($parts); if (!preg_match('/^live/i', $live)) { $live = 'live'; } return trim($live); } // not implemented yet static function stopRecording($users_id) { if (!User::isAdmin() && User::getId() != $users_id) { return false; } $obj = AVideoPlugin::getObjectData("Live"); if (!empty($obj)) { $server = str_replace("stats", "", $obj->stats); $lt = new LiveTransmition(0); $lt->loadByUser($users_id); $key = $lt->getKey(); $appName = self::getApplicationName(); $url = "{$server}control/record/stop?app={$appName}&name=$key"; url_get_contents($url); } } static function getLinkToLiveFromUsers_id($users_id) { $live_servers_id = self::getCurrentLiveServersId(); return self::getLinkToLiveFromUsers_idAndLiveServer($users_id, $live_servers_id); } static function getLinkToLiveFromUsers_idAndLiveServer($users_id, $live_servers_id, $live_index = null) { if (empty($users_id)) { return false; } global $global; $user = new User($users_id); if (empty($user->getChannelName())) { return false; } return self::getLinkToLiveFromChannelNameAndLiveServer($user->getChannelName(), $live_servers_id, $live_index); } static function getLinkToLiveFromChannelNameAndLiveServer($channelName, $live_servers_id, $live_index = null) { global $global; $live_servers_id = intval($live_servers_id); $channelName = trim($channelName); if (empty($channelName)) { return false; } $url = "{$global['webSiteRootURL']}live/{$live_servers_id}/" . urlencode($channelName); if (!empty($live_index)) { $url .= '/' . urlencode($live_index); } else if (!isset($live_index) && !empty($_REQUEST['live_index'])) { $url .= '/' . urlencode($_REQUEST['live_index']); } if (!empty($_REQUEST['playlists_id_live'])) { $url = addQueryStringParameter($url, 'playlists_id_live', $_REQUEST['playlists_id_live']); } //return "{$global['webSiteRootURL']}plugin/Live/?live_servers_id={$live_servers_id}&c=" . urlencode($channelName); return $url; } static function getAvailableLiveServersId() { $ls = self::getAvailableLiveServer(); if (empty($ls)) { return 0; } else { return intval($ls->live_servers_id); } } static function getLastServersIdFromUser($users_id) { $last = LiveTransmitionHistory::getLatestFromUser($users_id); if (empty($last)) { return 0; } else { return intval($last['live_servers_id']); } } static function getLastsLiveHistoriesFromUser($users_id, $count = 10) { return LiveTransmitionHistory::getLastsLiveHistoriesFromUser($users_id, $count); } static function getLinkToLiveFromUsers_idWithLastServersId($users_id) { $live_servers_id = self::getLastServersIdFromUser($users_id); return self::getLinkToLiveFromUsers_idAndLiveServer($users_id, $live_servers_id); } static function getCurrentLiveServersId() { $live_servers_id = self::getLiveServersIdRequest(); if ($live_servers_id) { return $live_servers_id; } else { return self::getAvailableLiveServersId(); } } public function getVideosManagerListButtonTitle() { global $global; if (!User::isAdmin()) { return ""; } $btn = '
    '; return $btn; } public function getPluginMenu() { global $global; $obj = $this->getDataObject(); $btn = ''; if ($obj->useLiveServers) { $servers = Live_servers::getAll(); foreach ($servers as $value) { $btn .= ''; } } else { $btn .= ''; } return $btn; } static function getStats($force_recreate = false) { global $getStatsLive, $_getStats, $getStatsObject; if (empty($force_recreate)) { if (isset($getStatsLive)) { _error_log('Live::getStats: return cached result'); return $getStatsLive; } } $obj = AVideoPlugin::getObjectData("Live"); if (empty($obj->useLiveServers)) { //_error_log('getStats getStats 1: ' . ($force_recreate?'force_recreate':'DO NOT force_recreate')); $getStatsLive = self::_getStats(0, $force_recreate); //_error_log('Live::getStats(0) 1'); return $getStatsLive; } else { $rows = Live_servers::getAllActive(); foreach ($rows as $key => $value) { $ls = new Live_servers(Live::getLiveServersIdRequest()); if (!empty($row['playerServer'])) { //_error_log('getStats getStats 2: ' . ($force_recreate?'force_recreate':'DO NOT force_recreate')); $server = self::_getStats($row['id'], $force_recreate); $server->live_servers_id = $row['id']; $server->playerServer = $row['playerServer']; $getStatsLive = $server; return $server; } } } $ls = Live_servers::getAllActive(); $liveServers = array(); $getLiveServersIdRequest = self::getLiveServersIdRequest(); foreach ($ls as $value) { $server = Live_servers::getStatsFromId($value['id'], $force_recreate); if (!empty($server) && is_object($server)) { $server->live_servers_id = $value['id']; $server->playerServer = $value['playerServer']; $server->applications = object_to_array($server->applications); foreach ($server->applications as $key => $app) { if (self::isAdaptive($app['key'])) { continue; } $_REQUEST['live_servers_id'] = $value['id']; if (empty($app['key'])) { $app['key'] = ""; } $server->applications[$key]['m3u8'] = self::getM3U8File($app['key']); $server->applications[$key]['isURL200'] = isURL200($server->applications[$key]['m3u8']); } $liveServers[] = $server; } else { _error_log("Live::getStats Live Server NOT found {$value['id']} " . json_encode($server) . " " . json_encode($value)); } } _error_log("Live::getStats return " . json_encode($liveServers)); $_REQUEST['live_servers_id'] = $getLiveServersIdRequest; $getStatsLive = $liveServers; return $liveServers; } static function isAdaptive($key) { if (preg_match('/_(hi|low|mid)$/i', $key)) { return true; } return false; } static function getAllServers() { $obj = AVideoPlugin::getObjectData("Live"); if (empty($obj->useLiveServers)) { return array("id" => 0, "name" => __("Default"), "status" => "a", "rtmp_server" => $obj->server, 'playerServer' => $obj->playerServer, "stats_url" => $obj->stats, "disableDVR" => $obj->disableDVR, "disableGifThumbs" => $obj->disableGifThumbs, "useAadaptiveMode" => $obj->useAadaptiveMode, "protectLive" => $obj->protectLive, "getRemoteFile" => ""); } else { return Live_servers::getAllActive(); } } static function getAvailableLiveServer() { global $_getAvailableLiveServer; if (isset($_getAvailableLiveServer)) { return $_getAvailableLiveServer; } // create 1 min cache $name = "Live::getAvailableLiveServer"; $return = ObjectYPT::getCache($name, 60, true); if (empty($return)) { $obj = AVideoPlugin::getObjectData("Live"); if (empty($obj->useLiveServers)) { $return = false; } else { $stats = getStatsNotifications(); $liveServers = array(); $servers = Live_servers::getAllActive(); foreach ($servers as $value) { $obj = new stdClass(); $obj->live_servers_id = $value['id']; $obj->countLiveStream = 0; $liveServers[$value['id']] = $obj; } foreach ($stats['applications'] as $value) { if (!empty($value['live_servers_id'])) { $liveServers[$value['live_servers_id']]->countLiveStream++; } } usort($liveServers, function($a, $b) { if ($a->countLiveStream == $b->countLiveStream) { $_getAvailableLiveServer = 0; return 0; } $_getAvailableLiveServer = ($a->countLiveStream < $b->countLiveStream) ? -1 : 1; return $_getAvailableLiveServer; }); if (empty($liveServers[0])) { _error_log("Live::getAvailableLiveServer we could not get server status, try to uncheck useLiveServers parameter from the Live plugin"); $_getAvailableLiveServer = array(); return array(); } $return = $liveServers[0]; ObjectYPT::setCache($name, $return); } } $_getAvailableLiveServer = $return; return $return; } static function canSeeLiveFromLiveKey($key) { $lt = self::getLiveTransmitionObjectFromKey($key); if (empty($lt)) { return false; } return $lt->userCanSeeTransmition(); } static function canManageLiveFromLiveKey($key, $users_id) { if (empty($users_id)) { return false; } $lt = self::getLiveTransmitionObjectFromKey($key); if (empty($lt)) { return false; } $user = new User($users_id); if ($user->getIsAdmin()) { return true; } $u_id = $lt->getUsers_id(); return $u_id == $users_id; } static function isAPrivateLiveFromLiveKey($key) { $lt = self::getLiveTransmitionObjectFromKey($key); if (empty($lt)) { return false; } return $lt->isAPrivateLive(); } static function getTitleFromUsers_Id($users_id) { $lt = self::getLiveTransmitionObjectFromUsers_id($users_id); return $lt->getTitle(); } static function getLiveTransmitionObjectFromUsers_id($users_id) { $latest = LiveTransmitionHistory::getLatestFromUser($users_id); if (!empty($latest)) { $key = $latest['key']; } else { $key = self::getLiveKey($users_id); } return self::getLiveTransmitionObjectFromKey($key); } static function getLiveTransmitionObjectFromKey($key) { global $getLiveTransmitionObjectFromKey; if (empty($getLiveTransmitionObjectFromKey)) { $getLiveTransmitionObjectFromKey = array(); } $parts = explode("_", $key); if (empty($parts[0])) { return false; } if (!isset($getLiveTransmitionObjectFromKey[$parts[0]])) { $livet = LiveTransmition::keyExists($parts[0]); if (empty($livet)) { $getLiveTransmitionObjectFromKey[$parts[0]] = false; } else { $lt = new LiveTransmition($livet['id']); $getLiveTransmitionObjectFromKey[$parts[0]] = $lt; } } return $getLiveTransmitionObjectFromKey[$parts[0]]; } static function _getStats($live_servers_id = 0, $force_recreate = false) { global $global, $_getStats; if (empty($_REQUEST['name'])) { //_error_log("Live::_getStats {$live_servers_id} GET " . json_encode($_GET)); //_error_log("Live::_getStats {$live_servers_id} POST " . json_encode($_POST)); //_error_log("Live::_getStats {$live_servers_id} REQUEST " . json_encode($_REQUEST)); $_REQUEST['name'] = "undefined"; } //_error_log('_getStats: ' . ($force_recreate?'force_recreate':'DO NOT force_recreate')); $cacheName = "getStats" . DIRECTORY_SEPARATOR . "live_servers_id_{$live_servers_id}" . DIRECTORY_SEPARATOR . "{$_REQUEST['name']}_" . User::getId(); if (empty($force_recreate)) { if (!empty($_getStats[$live_servers_id][$_REQUEST['name']]) && is_object($_getStats[$live_servers_id][$_REQUEST['name']])) { _error_log("Live::_getStats cached result 1 {$_REQUEST['name']} "); return $_getStats[$live_servers_id][$_REQUEST['name']]; } $result = ObjectYPT::getCache($cacheName, maxLifetime() + 60, true); if (!empty($result)) { _error_log("Live::_getStats cached result 2 {$_REQUEST['name']} {$cacheName}"); return _json_decode($result); } } session_write_close(); $obj = new stdClass(); $obj->error = true; $obj->msg = "OFFLINE"; $obj->nclients = 0; $obj->applications = array(); $obj->hidden_applications = array(); $obj->name = $_REQUEST['name']; $_getStats[$live_servers_id][$_REQUEST['name']] = $obj; $liveUsersEnabled = AVideoPlugin::isEnabledByName("LiveUsers"); $p = AVideoPlugin::loadPlugin("Live"); $xml = $p->getStatsObject($live_servers_id, $force_recreate); $xml = json_encode($xml); $xml = _json_decode($xml); $stream = false; $lifeStream = array(); $applicationName = self::getApplicationName(); if (empty($xml) || !is_object($xml)) { _error_log("_getStats XML is not an object live_servers_id=$live_servers_id"); } else { //$obj->server = $xml->server; if (!empty($xml->server->application) && !is_array($xml->server->application)) { $application = $xml->server->application; $xml->server->application = array(); $xml->server->application[] = $application; } foreach ($xml->server->application as $key => $application) { if ($application->name !== $applicationName && $application->name !== 'adaptive') { continue; } if (!empty($application->live->stream)) { if (empty($lifeStream)) { $lifeStream = array(); } $stream = $application->live->stream; if (empty($application->live->stream->name) && !empty($application->live->stream[0]->name)) { foreach ($application->live->stream as $stream) { if (Live::isAdaptive($stream->name)) { continue; } $lifeStream[] = $stream; } } else { if (Live::isAdaptive($stream->name)) { continue; } $lifeStream[] = $application->live->stream; } } } } $obj->disableGif = $p->getDisableGifThumbs(); foreach ($lifeStream as $value) { if (!empty($value->name)) { $row = LiveTransmition::keyExists($value->name); if (empty($row['users_id'])) { continue; } if (!empty($row) && $value->name === $obj->name) { $obj->msg = "ONLINE"; } $title = $row['title']; $u = new User($row['users_id']); $hiddenName = preg_replace('/^(.{5})/', '*****', $value->name); //_error_log('Live::isLiveFromKey:_getStats '. json_encode($_SERVER)); if (!self::canSeeLiveFromLiveKey($value->name)) { $obj->hidden_applications[] = array( "key" => $value->name, "name" => $row['channelName'], "user" => $row['channelName'], "title" => "{$row['channelName']} ($hiddenName} is a private live", ); if (!User::isAdmin()) { continue; } else { $title .= " (private live)"; } } else if (empty($row) || empty($row['public'])) { $obj->hidden_applications[] = array( "key" => $value->name, "name" => $row['channelName'], "user" => $row['channelName'], "title" => "{$row['channelName']} ($hiddenName} " . __("is set to not be listed") ); if (!User::isAdmin()) { continue; } else { $title .= __(" (set to not be listed)"); } } else if ($u->getStatus() !== 'a') { $obj->hidden_applications[] = array( "key" => $value->name, "name" => $row['channelName'], "user" => $row['channelName'], "title" => "{$row['channelName']} {$hiddenName} " . __("the user is inactive"), ); if (!User::isAdmin()) { continue; } else { $title .= __(" (user is inactive)"); } } $users = false; if ($liveUsersEnabled) { $filename = $global['systemRootPath'] . 'plugin/LiveUsers/Objects/LiveOnlineUsers.php'; if (file_exists($filename)) { require_once $filename; $liveUsers = new LiveOnlineUsers(0); $users = $liveUsers->getUsersFromTransmitionKey($value->name, $live_servers_id); } } $userName = $u->getNameIdentificationBd(); $user = $u->getUser(); $channelName = $u->getChannelName(); $photo = $u->getPhotoDB(); //return array('key'=>$key, 'cleanKey'=>$cleanKey, 'live_index'=>$live_index, 'playlists_id_live'=>$playlists_id_live); $parameters = self::getLiveParametersFromKey($value->name); $playlists_id_live = $parameters['playlists_id_live']; $live_index = $parameters['live_index']; if (!empty($playlists_id_live)) { $_REQUEST['playlists_id_live'] = $playlists_id_live; $playlists_id_live = $_REQUEST['playlists_id_live']; $photo = PlayLists::getImage($_REQUEST['playlists_id_live']); $title = PlayLists::getNameOrSerieTitle($_REQUEST['playlists_id_live']); } $poster = $p->getLivePosterImage($row['users_id'], $live_servers_id, $playlists_id_live, $live_index); if (!empty($live_index)) { $_REQUEST['live_index'] = $live_index; } if (!empty($live_index) || $live_index === 'false') { $title .= " ({$live_index})"; } // this variable is to keep it compatible for Mobile app $UserPhoto = $photo; $key = LiveTransmition::keyNameFix($value->name); $link = Live::getLinkToLiveFromChannelNameAndLiveServer($u->getChannelName(), $live_servers_id, $live_index); $m3u8 = self::getM3U8File($key); $liveUsers = AVideoPlugin::isEnabledByName('LiveUsers'); //$filename = $global['systemRootPath'] . 'plugin/LiveLinks/view/menuItem.html'; $filenameExtra = $global['systemRootPath'] . 'plugin/LiveLinks/view/extraItem.html'; $filenameExtraVideoPage = $global['systemRootPath'] . 'plugin/LiveLinks/view/extraItemVideoPage.html'; $filename = $filenameListItem = $global['systemRootPath'] . 'plugin/LiveLinks/view/videoListItem.html'; $search = array( '_unique_id_', '_user_photo_', '_title_', '_user_identification_', '_description_', '_link_', '_imgJPG_', '_imgGIF_', '_class_', '_total_on_live_links_id_', 'liveLink', 'LiveLink' ); $content = file_get_contents($filename); $contentExtra = file_get_contents($filenameExtra); $contentExtraVideoPage = file_get_contents($filenameExtraVideoPage); $contentListem = file_get_contents($filenameListItem); $uid = "live_{$live_servers_id}_{$value->name}"; $replace = array( $uid, $UserPhoto, $title, $user, str_replace('"', "", ''), $link, '', empty($obj->disableGifThumbs) ? ('') : "", "col-lg-2 col-md-4 col-sm-4 col-xs-6", ($liveUsers ? getLiveUsersLabelLive($value->name, $live_servers_id) : ''), 'liveVideo', 'LiveVideo' ); $newContent = str_replace($search, $replace, $content); $newContentExtra = str_replace($search, $replace, $contentExtra); $newContentExtraVideoPage = str_replace($search, $replace, $contentExtraVideoPage); $newContentVideoListItem = str_replace($search, $replace, $contentListem); $obj->applications[] = array( "html" => $newContent, "htmlExtra" => $newContentExtra, "htmlExtraVideoPage" => $newContentExtraVideoPage, "htmlExtraVideoListItem" => $newContentVideoListItem, "live_index" => $live_index, "live_cleanKey" => $parameters['cleanKey'], "key" => $value->name, "isAdaptive" => self::isAdaptive($value->name), "isPrivate" => self::isAPrivateLiveFromLiveKey($value->name), "users" => $users, "name" => $userName, "user" => $user, "photo" => $photo, "UserPhoto" => $UserPhoto, "title" => $title, 'channelName' => $channelName, 'poster' => $poster, 'imgGif' => $p->getLivePosterImage($row['users_id'], $live_servers_id, $playlists_id_live, $live_index, 'webp'), 'link' => addQueryStringParameter($link, 'embed', 1), 'href' => $link, 'playlists_id_live' => $playlists_id_live, 'm3u8' => $m3u8, 'isURL200' => isURL200($m3u8), 'users_id' => $row['users_id'], 'live_servers_id' => $live_servers_id, 'categories_id' => intval($row['categories_id']), 'className' => $uid ); if ($value->name === $obj->name) { $obj->error = property_exists($value, 'publishing') ? false : true; $obj->msg = (!$obj->error) ? "ONLINE" : "Waiting for Streamer"; $obj->stream = $value; $obj->nclients = intval($value->nclients); break; } } } $obj->countLiveStream = count($obj->applications); $obj->error = false; $_getStats[$live_servers_id][$_REQUEST['name']] = $obj; //_error_log("Live::_getStats NON cached result {$_REQUEST['name']} " . json_encode($obj)); ObjectYPT::setCache($cacheName, json_encode($obj)); return $obj; } static function byPass() { if (preg_match('/socket_notification/', $_SERVER['SCRIPT_FILENAME'])) { return true; } return false; } static function getLiveParametersFromKey($key) { $key = preg_replace('/[^a-z0-9_-]/i', '', $key); $obj = AVideoPlugin::getObjectData('Live'); $playlists_id_live = false; if (preg_match("/.*_([0-9]+)/", $key, $matches)) { if (!empty($matches[1])) { $playlists_id_live = intval($matches[1]); } } $live_index = ''; if (preg_match("/.*-([0-9a-zA-Z]+)/", $key, $matches)) { if (!empty($matches[1])) { $live_index = strip_tags($matches[1]); if ($live_index === 'false') { $live_index = ''; } } } $cleanKey = self::cleanUpKey($key); return array('key' => $key, 'cleanKey' => $cleanKey, 'live_index' => $live_index, 'playlists_id_live' => $playlists_id_live); } static function getLiveIndexFromKey($key) { $parameters = self::getLiveParametersFromKey($key); return $parameters['live_index']; } static function cleanUpKey($key) { if ($adapKey = self::isAdaptiveTransmition($key)) { $key = $adapKey; } if ($plKey = self::isPlayListTransmition($key)) { $key = $plKey; } if ($subKey = self::isSubTransmition($key)) { $key = $subKey; } return $key; } static function isAdaptiveTransmition($key) { // check if is a subtransmition $parts = explode("_", $key); if (!empty($parts[1])) { $adaptive = array('hi', 'low', 'mid'); if (in_array($parts[1], $adaptive)) { return $parts[0]; ; } } return false; } static function isPlayListTransmition($key) { // check if is a subtransmition $parts = explode("_", $key); if (!empty($parts[1])) { return $parts[0]; } else { return false; } } static function isSubTransmition($key) { // check if is a subtransmition $parts = explode("-", $key); if (!empty($parts[1])) { return $parts[0]; } else { return false; } } static function getImage($users_id, $live_servers_id, $playlists_id_live = 0, $live_index = '') { $p = AVideoPlugin::loadPlugin("Live"); if (self::isLive($users_id, $live_servers_id, $live_index)) { $url = $p->getLivePosterImage($users_id, $live_servers_id, $playlists_id_live, $live_index); $url = addQueryStringParameter($url, "playlists_id_live", $playlists_id_live); } else { $url = self::getOfflineImage(false); } return $url; } static function getLatestKeyFromUser($users_id) { if (empty($users_id)) { return false; } $latest = LiveTransmitionHistory::getLatestFromUser($users_id); if (empty($latest)) { return false; } return $latest['key']; } static function isLive($users_id, $live_servers_id = 0, $live_index = '', $force_recreate = false) { global $_live_is_live; if (empty($users_id)) { return false; } if (!isset($_live_is_live)) { $_live_is_live = array(); } $name = "{$users_id}_{$live_servers_id}"; if (!empty($_live_is_live[$name])) { return $_live_is_live[$name]; } $lh = LiveTransmitionHistory::getActiveLiveFromUser($users_id, $live_servers_id, ''); if (empty($lh)) { _error_log("Live::isLive we could not found any active livestream for user $users_id, $live_servers_id"); return false; } $key = $lh['key']; $_live_is_live[$name] = self::isLiveAndIsReadyFromKey($key, $live_servers_id, $live_index, $force_recreate); return $_live_is_live[$name]; } static function isKeyLiveInStats($key, $live_servers_id = 0, $live_index = '', $force_recreate = false) { global $_isLiveFromKey; if (empty($key) || $key == '-1') { _error_log('Live::isKeyLiveInStats key is empty'); return false; } $index = "$key, $live_servers_id,$live_index"; if (!isset($_isLiveFromKey)) { $_isLiveFromKey = array(); } if (empty($force_recreate) && isset($_isLiveFromKey[$index])) { _error_log('Live::isKeyLiveInStats key is already set'); return $_isLiveFromKey[$index]; } //_error_log('getStats execute getStats: ' . __LINE__ . ' ' . __FILE__); //$json = getStatsNotifications($force_recreate); //_error_log('getStats execute getStats: ' . ($force_recreate?'force_recreate':'DO NOT force_recreate')); $json = self::getStats($force_recreate); _error_log('Live::isKeyLiveInStats:self::getStats ' . json_encode($json)); $_isLiveFromKey[$index] = false; if (!empty($json)) { //_error_log("Live::isLiveFromKey {$key} JSON was not empty"); if (!is_array($json)) { $json = array($json); } $namesFound = array(); foreach ($json as $ki => $item) { //_error_log("Live::isLiveFromKey json [$ki] " . json_encode($item)); $applications = array(); if (empty($item->applications) && is_array($item)) { $applications = $item; } else if (is_object($item) && !empty($item->applications)) { $applications = $item->applications; } foreach ($applications as $k => $value) { $value = object_to_array($value); //_error_log("Live::isLiveFromKey applications [$k] ". json_encode($value)); if (!is_array($value) || empty($value) || empty($value['key'])) { continue; } $namesFound[] = "({$value['key']})"; if (preg_match("/{$key}.*/", $value['key'])) { if (empty($live_servers_id)) { $_isLiveFromKey[$index] = true; $_isLiveFromKey[$index] = $_isLiveFromKey[$index]; break 2; } else { if (intval(@$value['live_servers_id']) == $live_servers_id) { $_isLiveFromKey[$index] = true; $_isLiveFromKey[$index] = $_isLiveFromKey[$index]; break 2; } } } } if (!empty($item->hidden_applications)) { $applications = $item->hidden_applications; foreach ($applications as $value) { $value = object_to_array($value); if (!is_array($value) || empty($value) || empty($value['key'])) { continue; } $namesFound[] = "({$value['key']})"; if (preg_match("/{$key}.*/", $value['key'])) { if (empty($live_servers_id)) { $_isLiveFromKey[$index] = true; $_isLiveFromKey[$index] = $_isLiveFromKey[$index]; break 2; } else { if (intval(@$value['live_servers_id']) == $live_servers_id) { $_isLiveFromKey[$index] = true; $_isLiveFromKey[$index] = $_isLiveFromKey[$index]; break 2; } } } } } } _error_log("Live::isLiveFromKey namesFound " . json_encode($namesFound)); } if (empty($_isLiveFromKey[$index])) { _error_log("Live::isLiveFromKey is NOT online [{$key}]"); } else { _error_log("Live::isLiveFromKey is online [{$key}]"); } return $_isLiveFromKey[$index]; } static function isLiveAndIsReadyFromKey($key, $live_servers_id = 0, $live_index = '', $force_recreate = false) { global $_isLiveAndIsReadyFromKey; if (!isset($_isLiveAndIsReadyFromKey)) { $_isLiveAndIsReadyFromKey = array(); } $name = "getStats" . DIRECTORY_SEPARATOR . "isLiveAndIsReadyFromKey{$key}_{$live_servers_id}"; if (empty($force_recreate)) { if (isset($_isLiveAndIsReadyFromKey[$name])) { return $_isLiveAndIsReadyFromKey[$name]; } $cache = ObjectYPT::getCache($name, 60, true); } if (!empty($cache)) { $json = _json_decode($cache); } if (!empty($json) && is_object($json)) { $_isLiveAndIsReadyFromKey[$name] = $json->result; } else { $json = new stdClass(); $key = self::getLiveKeyFromRequest($key, $live_index); //_error_log('getStats execute isKeyLiveInStats: ' . __LINE__ . ' ' . __FILE__); //_error_log("isLiveAndIsReadyFromKey::key: {$key}"); $isLiveFromKey = self::isKeyLiveInStats($key, $live_servers_id, $live_index, $force_recreate); $_isLiveAndIsReadyFromKey[$name] = true; if (empty($isLiveFromKey)) { _error_log("isLiveAndIsReadyFromKey the key {$key} is not present on the stats"); $_isLiveAndIsReadyFromKey[$name] = false; } else { $ls = $_REQUEST['live_servers_id']; $_REQUEST['live_servers_id'] = $live_servers_id; $m3u8 = self::getM3U8File($key); $_REQUEST['live_servers_id'] = $ls; //_error_log('getStats execute isURL200: ' . __LINE__ . ' ' . __FILE__); $is200 = isURL200($m3u8, $force_recreate); if (empty($is200)) { _error_log("isLiveAndIsReadyFromKey the m3u8 file is not present {$m3u8}"); $_isLiveAndIsReadyFromKey[$name] = false; } } $json->result = $_isLiveAndIsReadyFromKey[$name]; ObjectYPT::setCache($name, json_encode($json)); } return $_isLiveAndIsReadyFromKey[$name]; } static function getOnlineLivesFromUser($users_id) { $key = self::getLiveKey($users_id); return self::getOnlineLivesFromKey($key); } static function getOnlineLivesFromKey($key) { $json = getStatsNotifications(); $lives = array(); if (!empty($json) && is_object($json) && !empty($json->applications)) { foreach ($json->applications as $value) { if (preg_match("/{$key}.*/", $value['key'])) { $lives[] = $value; } } } return $lives; } static function keyIsFromPlaylist($key) { $parts = explode("_", $key); if (empty($parts[1])) { return false; } return array('key' => $parts[0], 'playlists_id' => $parts[1]); } static function getLiveKey($users_id) { $lt = new LiveTransmition(0); $lt->loadByUser($users_id); return $lt->getKey(); } static function getLiveKeyFromUser($users_id, $live_index = '', $playlists_id_live = '') { $key = self::getLiveKey($users_id); return self::getLiveKeyFromRequest($key, $live_index, $playlists_id_live); } static function getLiveKeyFromRequest($key, $live_index = '', $playlists_id_live = '') { if (strpos($key, '-') === false) { if (!empty($live_index)) { $key .= '-' . preg_replace('/[^0-9a-z]/i', '', $live_index); } else if (!empty($_REQUEST['live_index'])) { $key .= '-' . preg_replace('/[^0-9a-z]/i', '', $_REQUEST['live_index']); } } if (strpos($key, '_') === false) { if (!empty($playlists_id_live)) { $key .= '_' . preg_replace('/[^0-9]/', '', $_REQUEST['playlists_id_live']); } else if (!empty($_REQUEST['playlists_id_live'])) { $key .= '_' . preg_replace('/[^0-9]/', '', $_REQUEST['playlists_id_live']); } } return $key; } public function getImageGif($users_id, $live_servers_id = 0, $playlists_id_live = 0, $live_index = '') { global $global; if (empty($live_servers_id)) { $live_servers_id = self::getCurrentLiveServersId(); } if ($live_index === 'false') { $live_index = ''; } $u = new User($users_id); $username = $u->getUser(); $file = "plugin/Live/getImage.php"; $url = $global['webSiteRootURL'] . $file; $url = addQueryStringParameter($url, "live_servers_id", $live_servers_id); $url = addQueryStringParameter($url, "playlists_id_live", $playlists_id_live); $url = addQueryStringParameter($url, "live_index", $live_index); $url = addQueryStringParameter($url, "u", $username); $url = addQueryStringParameter($url, "format", 'gif'); return $url; } public static function getPosterImage($users_id, $live_servers_id) { global $global; $file = self::_getPosterImage($users_id, $live_servers_id); if (!file_exists($global['systemRootPath'] . $file)) { $file = self::getOnAirImage(false); } return $file; } public static function getPosterImageOrFalse($users_id, $live_servers_id) { $poster = self::getPosterImage($users_id, $live_servers_id); if (preg_match('/OnAir.jpg$/', $poster)) { return false; } return $poster; } public function getLivePosterImage($users_id, $live_servers_id = 0, $playlists_id_live = 0, $live_index = '', $format = 'jpg') { global $global; return $global['webSiteRootURL'] . self::getLivePosterImageRelativePath($users_id, $live_servers_id, $playlists_id_live, $live_index, $format); } public function getLivePosterImageRelativePath($users_id, $live_servers_id = 0, $playlists_id_live = 0, $live_index = '', $format = 'jpg') { global $global; if (empty($live_servers_id)) { $live_servers_id = self::getCurrentLiveServersId(); } if (self::isLiveThumbsDisabled()) { $file = self::_getPosterImage($users_id, $live_servers_id); if (!file_exists($global['systemRootPath'] . $file)) { $file = self::getOnAirImage(false); } } else { $u = new User($users_id); $username = $u->getUser(); $file = "plugin/Live/getImage.php?live_servers_id={$live_servers_id}&playlists_id_live={$playlists_id_live}&live_index={$live_index}&u={$username}&format={$format}"; } return $file; } public static function isLiveThumbsDisabled() { $obj = AVideoPlugin::getDataObject("Live"); if (!empty($obj->disableLiveThumbs)) { return true; } return false; } public static function getPosterThumbsImage($users_id, $live_servers_id) { global $global; $file = self::_getPosterThumbsImage($users_id, $live_servers_id); if (!file_exists($global['systemRootPath'] . $file)) { $file = self::getOnAirImage(false); } return $file; } public static function getPoster($users_id, $live_servers_id, $key = '') { _error_log("getPoster($users_id, $live_servers_id, $key)"); $lh = LiveTransmitionHistory::getActiveLiveFromUser($users_id, $live_servers_id, $key); $live_index = self::getLiveIndexFromKey($lh['key']); $poster = self::getPosterImageOrFalse($users_id, $live_servers_id, $live_index); if (empty($poster)) { $poster = self::getOfflineImage(false); } if (empty($lh)) { _error_log("getPoster empty activity"); return $poster; } $parameters = self::getLiveParametersFromKey($lh['key']); $live_index = $parameters['live_index']; $playlists_id_live = $parameters['playlists_id_live']; if (self::isLiveAndIsReadyFromKey($lh['key'], $lh['live_servers_id'])) { return self::getLivePosterImageRelativePath($users_id, $live_servers_id, $playlists_id_live, $live_index); _error_log('getImage: ' . ("[{$lh['key']}, {$lh['live_servers_id']}]") . ' is live and ready'); } else { if (self::isKeyLiveInStats($lh['key'], $lh['live_servers_id'])) { _error_log('getImage: ' . ("[{$lh['key']}, {$lh['live_servers_id']}]") . ' key is in the stats'); return self::getPosterImage($users_id, $live_servers_id, $live_index); } else { _error_log('getImage: ' . ("[{$lh['key']}, {$lh['live_servers_id']}]") . ' key is NOT in the stats'); return $poster; } } } public static function getPosterFromKey($key, $live_servers_id, $live_index = '') { $key = self::getLatestKeyFromUser($users_id); } static function getOfflineImage($includeURL = true) { global $global; $img = "plugin/Live/view/Offline.jpg"; if ($includeURL) { $img = "{$global['webSiteRootURL']}{$img}"; } return $img; } static function getOnAirImage($includeURL = true) { global $global; $img = "plugin/Live/view/OnAir.jpg"; if ($includeURL) { $img = "{$global['webSiteRootURL']}{$img}"; } return $img; } public static function _getPosterImage($users_id, $live_servers_id) { $file = "videos/userPhoto/Live/user_{$users_id}_bg_{$live_servers_id}.jpg"; return $file; } public static function _getPosterThumbsImage($users_id, $live_servers_id) { $file = "videos/userPhoto/Live/user_{$users_id}_thumbs_{$live_servers_id}.jpg"; return $file; } public static function on_publish($liveTransmitionHistory_id) { $obj = AVideoPlugin::getDataObject("Live"); if (empty($obj->disableRestream)) { self::restream($liveTransmitionHistory_id); } $lt = new LiveTransmitionHistory($liveTransmitionHistory_id); AVideoPlugin::onLiveStream($lt->getUsers_id(), $lt->getLive_servers_id()); } public static function deleteStatsCache($clearFirstPage = false) { global $getStatsLive, $_getStats, $getStatsObject, $_getStatsNotifications, $__getAVideoCache, $_isLiveFromKey, $_isLiveAndIsReadyFromKey; _error_log_debug("Live::deleteStatsCache"); $tmpDir = ObjectYPT::getCacheDir(); $cacheDir = $tmpDir . "getstats" . DIRECTORY_SEPARATOR; if (isset($live_servers_id)) { $cacheDir .= "live_servers_id_{$live_servers_id}"; $pattern = "/.getStats.{$live_servers_id}.*/i"; ObjectYPT::deleteCachePattern($pattern); } //_error_log("Live::deleteStatsCache [{$cacheDir}]"); rrmdir($cacheDir); exec('rm -R ' . $cacheDir); if (is_dir($cacheDir)) { //_error_log("Live::deleteStatsCache [{$cacheDir}] looks like the cache was not deleted", AVideoLog::$ERROR); exec('rm -R ' . $cacheDir); } else { //_error_log("Live::deleteStatsCache [{$cacheDir}] Success"); } if ($clearFirstPage) { clearCache(true); } isURL200Clear(); unset($__getAVideoCache); unset($getStatsLive); unset($getStatsObject); unset($_getStats); unset($_getStatsNotifications); unset($_isLiveFromKey); unset($_isLiveAndIsReadyFromKey); } - public static function getReverseRestreamObject($m3u8, $users_id, $live_servers_id = -1) { + public static function getReverseRestreamObject($m3u8, $users_id, $live_servers_id = -1, $forceIndex=false) { if (!isValidURL($m3u8)) { return false; } $obj = new stdClass(); $obj->m3u8 = $m3u8; $obj->restreamerURL = self::getRestreamer($live_servers_id); - $obj->restreamsDestinations = array(Live::getRTMPLink($users_id)); + $obj->restreamsDestinations = array(Live::getRTMPLink($users_id, $forceIndex)); $obj->token = getToken(60); $obj->users_id = $users_id; return $obj; } public static function getRestreamObject($liveTransmitionHistory_id) { if (empty($liveTransmitionHistory_id)) { return false; } $lth = new LiveTransmitionHistory($liveTransmitionHistory_id); if (empty($lth->getKey())) { return false; } $_REQUEST['live_servers_id'] = $lth->getLive_servers_id(); $obj = new stdClass(); $obj->m3u8 = self::getM3U8File($lth->getKey(), true); $obj->restreamerURL = self::getRestreamer($lth->getLive_servers_id()); $obj->restreamsDestinations = array(); $obj->token = getToken(60); $obj->users_id = $lth->getUsers_id(); $rows = Live_restreams::getAllFromUser($lth->getUsers_id()); foreach ($rows as $value) { $value['stream_url'] = rtrim($value['stream_url'], "/") . '/'; $obj->restreamsDestinations[] = "{$value['stream_url']}{$value['stream_key']}"; } return $obj; } - public static function reverseRestream($m3u8, $users_id, $live_servers_id = -1) { + public static function reverseRestream($m3u8, $users_id, $live_servers_id = -1, $forceIndex=false) { _error_log("Live:reverseRestream start"); - $obj = self::getReverseRestreamObject($m3u8, $users_id, $live_servers_id); + $obj = self::getReverseRestreamObject($m3u8, $users_id, $live_servers_id, $forceIndex); _error_log("Live:reverseRestream obj " . _json_encode($obj)); return self::sendRestream($obj); } public static function restream($liveTransmitionHistory_id) { outputAndContinueInBackground(); $obj = self::getRestreamObject($liveTransmitionHistory_id); return self::sendRestream($obj); } private static function sendRestream($obj) { _error_log("Live:sendRestream start"); try { if (empty($obj)) { _error_log("Live:sendRestream object is empty"); return false; } $data_string = json_encode($obj); _error_log("Live:sendRestream ({$obj->restreamerURL}) {$data_string}"); //open connection $ch = curl_init(); //set the url, number of POST vars, POST data curl_setopt($ch, CURLOPT_URL, $obj->restreamerURL); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); curl_setopt($ch, CURLOPT_POSTREDIR, 3); curl_setopt($ch, CURLOPT_POST, 1); //curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); //curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Content-Length: ' . strlen($data_string)) ); $output = curl_exec($ch); curl_close($ch); if (empty($output)) { _error_log('Live:sendRestream ERROR ' . curl_error($ch)); return false; } $json = _json_decode($output); if (empty($output)) { _error_log('Live:sendRestream JSON ERROR ' . $output); return false; } _error_log('Live:sendRestream complete ' . $output); return $json; } catch (Exception $exc) { _error_log("Live:sendRestream " . $exc->getTraceAsString()); return false; } return false; } public static function canStreamWithMeet() { if (!User::canStream()) { return false; } if (!User::canCreateMeet()) { return false; } $mobj = AVideoPlugin::getObjectDataIfEnabled("Meet"); if (empty($mobj)) { return false; } $obj = AVideoPlugin::getObjectDataIfEnabled("Live"); if (!empty($obj->disableMeetCamera)) { return false; } return true; } public function getUploadMenuButton() { global $global; $obj = $this->getDataObject(); if (!empty(!User::canStream())) { return ''; } $buttonTitle = $this->getButtonTitle(); include $global['systemRootPath'] . 'plugin/Live/getUploadMenuButton.php'; } public static function getAllVideos($status = "", $showOnlyLoggedUserVideos = false, $activeUsersOnly = true) { global $global, $config, $advancedCustom; if (AVideoPlugin::isEnabledByName("VideoTags")) { if (!empty($_GET['tags_id']) && empty($videosArrayId)) { TimeLogStart("video::getAllVideos::getAllVideosIdFromTagsId({$_GET['tags_id']})"); $videosArrayId = VideoTags::getAllVideosIdFromTagsId($_GET['tags_id']); TimeLogEnd("video::getAllVideos::getAllVideosIdFromTagsId({$_GET['tags_id']})", __LINE__); } } $status = str_replace("'", "", $status); $sql = "SELECT u.*, v.*, c.iconClass, c.name as category, c.clean_name as clean_category,c.description as category_description, v.created as videoCreation, v.modified as videoModified " . " FROM live_transmitions as v " . " LEFT JOIN categories c ON categories_id = c.id " . " LEFT JOIN users u ON v.users_id = u.id " . " WHERE 1=1 "; if ($showOnlyLoggedUserVideos === true && !Permissions::canModerateVideos()) { $uid = intval(User::getId()); $sql .= " AND v.users_id = '{$uid}'"; } elseif (!empty($showOnlyLoggedUserVideos)) { $uid = intval($showOnlyLoggedUserVideos); $sql .= " AND v.users_id = '{$uid}'"; } elseif (!empty($_GET['channelName'])) { $user = User::getChannelOwner($_GET['channelName']); $uid = intval($user['id']); $sql .= " AND v.users_id = '{$uid}' "; } if ($activeUsersOnly) { $sql .= " AND u.status = 'a' "; } if ($status == "publicOnly") { $sql .= " AND v.public = 1 "; } elseif (!empty($status)) { $sql .= " AND v.`public` = '{$status}'"; } if (!empty($_GET['catName'])) { $catName = $global['mysqli']->real_escape_string($_GET['catName']); $sql .= " AND (c.clean_name = '{$catName}' OR c.parentId IN (SELECT cs.id from categories cs where cs.clean_name = '{$catName}' ))"; } if (!empty($_GET['modified'])) { $_GET['modified'] = str_replace("'", "", $_GET['modified']); $sql .= " AND v.modified >= '{$_GET['modified']}'"; } $sql .= AVideoPlugin::getVideoWhereClause(); if (strpos(strtolower($sql), 'limit') === false) { if (!empty($_GET['limitOnceToOne'])) { $sql .= " LIMIT 1"; unset($_GET['limitOnceToOne']); } else { $_REQUEST['rowCount'] = getRowCount(); if (!empty($_REQUEST['rowCount'])) { $sql .= " LIMIT {$_REQUEST['rowCount']}"; } else { _error_log("getAllVideos without limit " . json_encode(debug_backtrace())); if (empty($global['limitForUnlimitedVideos'])) { $global['limitForUnlimitedVideos'] = 100; } if ($global['limitForUnlimitedVideos'] > 0) { $sql .= " LIMIT {$global['limitForUnlimitedVideos']}"; } } } } //echo $sql;exit; //_error_log("getAllVideos($status, $showOnlyLoggedUserVideos , $ignoreGroup , ". json_encode($videosArrayId).")" . $sql); $res = sqlDAL::readSql($sql); $fullData = sqlDAL::fetchAllAssoc($res); sqlDAL::close($res); $videos = array(); if ($res != false) { foreach ($fullData as $row) { $row = cleanUpRowFromDatabase($row); $row['live_servers_id'] = self::getLastServersIdFromUser($row['users_id']); if (empty($otherInfo)) { $otherInfo = array(); $otherInfo['category'] = xss_esc_back($row['category']); $otherInfo['groups'] = UserGroups::getVideoGroups($row['id']); //$otherInfo['title'] = UTF8encode($row['title']); $otherInfo['description'] = UTF8encode($row['description']); $otherInfo['descriptionHTML'] = Video::htmlDescription($otherInfo['description']); $otherInfo['filesize'] = 0; } foreach ($otherInfo as $key => $value) { $row[$key] = $value; } $row['rotation'] = 0; $row['filename'] = ''; $row['type'] = 'live'; $row['duration'] = ''; $row['isWatchLater'] = 0; $row['isFavorite'] = 0; $row['views_count'] = 0; $videos[] = $row; } //$videos = $res->fetch_all(MYSQLI_ASSOC); } else { $videos = false; die($sql . '\nError : (' . $global['mysqli']->errno . ') ' . $global['mysqli']->error); } return $videos; } static function finishLive($key) { $lh = LiveTransmitionHistory::finish($key); } static function updateVideosUserGroup($videos_id, $key) { $lt = LiveTransmition::keyExists($key); if (!empty($lt)) { $lt = new LiveTransmition($lt['id']); $groups = $lt->getGroups(); if (!empty($groups)) { UserGroups::updateVideoGroups($videos_id, $groups); } } } static function notifySocketStats($callBack = 'socketLiveONCallback', $array = array()) { if (empty($array['stats'])) { $array['stats'] = getStatsNotifications(); } _error_log("NGINX Live::on_publish_socket_notification sendSocketMessageToAll Start"); $socketObj = sendSocketMessageToAll($array, $callBack); _error_log("NGINX Live::on_publish_socket_notification SocketMessageToAll END"); return $socketObj; } static public function getImageType($content) { global $global; if (empty($content)) { return LiveImageType::$UNKNOWN; } $contentLen = strlen($content); if ($contentLen < 255) { // check if it is a file if (file_exists($content)) { $contentLen = strlen(file_get_contents($content)); } } if ($contentLen >= 2095335 && $contentLen <= 2095350) { return LiveImageType::$DEFAULTGIF; } if ($contentLen >= 70805 && $contentLen <= 70810) { return LiveImageType::$ONAIRENCODER; } $filesize = file_get_contents($global['systemRootPath'] . self::getOnAirImage(false)); if ($contentLen === $filesize) { return LiveImageType::$ONAIR; } $filesize = file_get_contents($global['systemRootPath'] . self::getOfflineImage(false)); if ($contentLen === $filesize) { return LiveImageType::$OFFLINE; } //_error_log('getImageType: is not defined yet ('.$contentLen.')'); return LiveImageType::$LIVE; } static function isLiveImage($content) { return self::getImageType($content) === LiveImageType::$LIVE; } static function isDefaultImage($content) { $type = self::getImageType($content); return $type === LiveImageType::$ONAIRENCODER || $type === LiveImageType::$ONAIR || $type === LiveImageType::$OFFLINE || $type === LiveImageType::$DEFAULTGIF; } static function iskeyOnline($key) { $stats = getStatsNotifications(); foreach ($stats["applications"] as $value) { if (empty($value['key'])) { continue; } if (preg_match('/' . $key . '/', $value['key'])) { return true; } } return false; } static function getValidNotOnlineLiveIndex($key, $live_index) { if (empty($live_index)) { return 1; } if (!Live::iskeyOnline("{$key}-{$live_index}")) { return $live_index; } else { if (is_numeric($live_index)) { return self::getValidNotOnlineLiveIndex($key, ++$live_index); } else { return self::getValidNotOnlineLiveIndex($key, $live_index . 'New'); } } } static function getLatestValidNotOnlineLiveIndex($key) { $live_index = LiveTransmitionHistory::getLatestIndexFromKey($key); $live_index = self::getValidNotOnlineLiveIndex($key, $live_index); return $live_index; } static function getLivesOnlineFromKey($key) { global $_getLivesOnlineFromKey; if (!isset($_getLivesOnlineFromKey)) { $_getLivesOnlineFromKey = array(); } if (!isset($_getLivesOnlineFromKey[$key])) { $stats = getStatsNotifications(); $_getLivesOnlineFromKey[$key] = array(); foreach ($stats["applications"] as $value) { if (empty($value['key'])) { continue; } if (preg_match('/' . $key . '/', $value['key'])) { $_getLivesOnlineFromKey[$key][] = $value; } } } return $_getLivesOnlineFromKey[$key]; } static function getFirstLiveOnlineFromKey($key) { $onliveApplications = self::getLivesOnlineFromKey($key); if (!empty($onliveApplications[0])) { return $onliveApplications[0]; } return false; } static function getUserHash($users_id) { return encryptString(_json_encode(array('users_id' => $users_id, 'time' => time()))); } static function decryptHash($hash) { $string = decryptString($hash); $json = _json_decode($string); return object_to_array($json); } } class LiveImageType { static $UNKNOWN = 'unknown'; static $OFFLINE = 'offline'; static $ONAIR = 'onair'; static $ONAIRENCODER = 'onair_encoder'; static $DEFAULTGIF = 'defaultgif'; static $LIVE = 'live'; } class LiveStreamObject { private $key, $live_servers_id, $live_index, $playlists_id_live; function __construct($key, $live_servers_id = 0, $live_index = 0, $playlists_id_live = 0) { $this->key = $key; $this->live_servers_id = intval($live_servers_id); $this->live_index = $live_index; $this->playlists_id_live = intval($playlists_id_live); $parts = Live::getLiveParametersFromKey($this->key); $objLive = AVideoPlugin::getDataObject("Live"); if (empty($live_servers_id) && !empty($objLive->useLiveServers)) { $live_servers_id = Live::getLiveServersIdRequest(); } if (empty($this->live_index)) { // check if the index is on the key already if (!empty($parts['live_index'])) { $this->live_index = $parts['live_index']; } else if (!empty($_REQUEST['live_index'])) { $this->live_index = $_REQUEST['live_index']; } } $this->key = $parts['cleanKey']; $this->live_index = preg_replace('/[^0-9a-z]/i', '', $this->live_index); } function getKey() { return $this->key; } function getKeyWithIndex($forceIndexIfEnabled = false, $allowOnlineIndex = false) { if ($forceIndexIfEnabled) { $objLive = AVideoPlugin::getDataObject("Live"); if (!empty($objLive->allowMultipleLivesPerUser)) { if (empty($allowOnlineIndex)) { $this->live_index = Live::getLatestValidNotOnlineLiveIndex($this->key); } else { $this->live_index = LiveTransmitionHistory::getLatestIndexFromKey($this->key); } } } return Live::getLiveKeyFromRequest($this->key, $this->live_index, $this->playlists_id_live); } function getLive_servers_id() { return $this->live_servers_id; } function getLive_index() { return $this->live_index; } function getPlaylists_id_live() { return $this->playlists_id_live; } function getURL() { global $global; $lt = LiveTransmition::getFromKey($this->key); if (empty($lt)) { return false; } $user = new User($lt['users_id']); $channelName = $user->getChannelName(); if (empty($channelName)) { return false; } $url = "{$global['webSiteRootURL']}live/{$this->live_servers_id}/" . urlencode($channelName); if (!empty($this->live_index)) { $url .= '/' . urlencode($this->live_index); } if (!empty($this->playlists_id_live)) { $url = addQueryStringParameter($url, 'playlists_id_live', $this->playlists_id_live); } return $url; } function getURLEmbed() { $url = $this->getURL(); return addQueryStringParameter($url, 'embed', 1); } function getM3U8($doNotProtect = false, $allowOnlineIndex = false) { global $global; $o = AVideoPlugin::getObjectData("Live"); $playerServer = Live::getPlayerServer(); if (!empty($this->live_servers_id)) { $liveServer = new Live_servers($this->live_servers_id); if ($liveServer->getStats_url()) { $o->protectLive = $liveServer->getProtectLive(); $o->useAadaptiveMode = $liveServer->getUseAadaptiveMode(); } } $uuid = $this->getKeyWithIndex(false, $allowOnlineIndex); $playerServer = addLastSlash($playerServer); if ($o->protectLive && empty($doNotProtect)) { return "{$global['webSiteRootURL']}plugin/Live/m3u8.php?live_servers_id={$this->live_servers_id}&uuid=" . encryptString($uuid); } else if ($o->useAadaptiveMode) { return $playerServer . "{$uuid}.m3u8"; } else { return $playerServer . "{$uuid}/index.m3u8"; } } function getOnlineM3U8($users_id, $doNotProtect = false) { $li = $this->live_index; if (empty($this->live_index)) { $online = Live::getFirstLiveOnlineFromKey($this->key); if (!empty($online)) { $parameters = Live::getLiveParametersFromKey($online['key']); //var_dump($parameters, $this->live_index, $li, $online);exit; } else { $key = Live::getLatestKeyFromUser($users_id); $parameters = Live::getLiveParametersFromKey($key); } $this->live_index = $parameters['live_index']; } $m3u8 = $this->getM3U8($doNotProtect, true); $this->live_index = $li; return $m3u8; } function getRTMPLink() { return $this->getRTMPLinkWithOutKey() . $this->getKeyWithIndex(true); } function getRTMPLinkWithOutKey() { $lt = LiveTransmition::getFromKey($this->key); $user = new User($lt['users_id']); $obj = new stdClass(); $obj->users_id = $lt['users_id']; $obj->key = $this->key; $encrypt = encryptString($obj); return Live::getServer() . "?e={$encrypt}/"; } } diff --git a/plugin/Live/getUploadMenuButton.php b/plugin/Live/getUploadMenuButton.php index 445396984..dd9f4c928 100644 --- a/plugin/Live/getUploadMenuButton.php +++ b/plugin/Live/getUploadMenuButton.php @@ -1,5 +1,6 @@
  • - - + +
  • \ No newline at end of file diff --git a/plugin/Live/indexColCam.php b/plugin/Live/indexColCam.php index e401baa48..49f817e30 100644 --- a/plugin/Live/indexColCam.php +++ b/plugin/Live/indexColCam.php @@ -1,43 +1,46 @@ - +
    \ No newline at end of file diff --git a/plugin/Live/webRTC.js b/plugin/Live/webRTC.js index fd2d2a618..bc462ea14 100644 --- a/plugin/Live/webRTC.js +++ b/plugin/Live/webRTC.js @@ -1,58 +1,59 @@ window.addEventListener('message', event => { if (event.data.startLiveRestream) { - startLiveRestream(event.data.m3u8); + startLiveRestream(event.data.m3u8, forceIndex); }else if (event.data.showPleaseWait) { modal.showPleaseWait(); }else if (event.data.hidePleaseWait) { modal.hidePleaseWait(); }else if (event.data.webRTCModalConfig) { console.log('event.data.webRTCModalConfig', event.data.webRTCModalConfig, typeof webRTCModalConfigShow); if(event.data.webRTCModalConfig==1){ if(typeof webRTCModalConfigShow =='function'){ webRTCModalConfigShow(); } }else{ if(typeof webRTCModalConfigHide =='function'){ webRTCModalConfigHide(); } } } }); -function startLiveRestream(m3u8) { - console.log('WebRTCLiveCam: startLiveRestream', m3u8); +function startLiveRestream(m3u8, forceIndex) { + console.log('WebRTCLiveCam: startLiveRestream', m3u8, forceIndex); modal.showPleaseWait(); $.ajax({ url: webSiteRootURL + '/plugin/Live/webRTCToLive.json.php', method: 'POST', data: { 'm3u8': m3u8, - 'live_servers_id': live_servers_id + 'live_servers_id': live_servers_id, + 'forceIndex': forceIndex }, success: function (response) { if (response.error) { webRTCDisconnect(); avideoAlertError(response.msg); } else { avideoToastSuccess(response.msg); //document.querySelector("iframe").contentWindow.postMessage({setLiveStart: 1}, "*"); } modal.hidePleaseWait(); } }); } function webRTCConnect() { modal.showPleaseWait(); document.querySelector("iframe").contentWindow.postMessage({setLiveStart: 1}, "*"); } function webRTCDisconnect() { document.querySelector("iframe").contentWindow.postMessage({setLiveStop: 1}, "*"); } function webRTCConfiguration() { document.querySelector("iframe").contentWindow.postMessage({setConfiguration: 1}, "*"); } \ No newline at end of file diff --git a/plugin/Live/webRTCToLive.json.php b/plugin/Live/webRTCToLive.json.php index 8421e8e92..274cb3e7e 100644 --- a/plugin/Live/webRTCToLive.json.php +++ b/plugin/Live/webRTCToLive.json.php @@ -1,52 +1,52 @@ error = true; $obj->msg = ""; $obj->response = ""; if (!User::canStream()) { $obj->msg = __("Permition denied"); die(json_encode($obj)); } $live = AVideoPlugin::loadPluginIfEnabled("Live"); require_once './Objects/LiveTransmition.php'; if (empty($live)) { $obj->msg = __("Plugin disabled"); die(json_encode($obj)); } if (!isValidURL($_REQUEST['m3u8'])) { $obj->msg = 'Invalid m3u8'; die(json_encode($obj)); } _error_log('webRTCToLive: start'); $users_id = User::getId(); $count = 1; while ($count <= 4) { sleep(10); $count++; if (isURL200($_REQUEST['m3u8'], true)) { break; - }else{ - _error_log('webRTCToLive: wait till 200 '.$_REQUEST['m3u8']); + } else { + _error_log('webRTCToLive: wait till 200 ' . $_REQUEST['m3u8']); } } -$obj->response = Live::reverseRestream($_REQUEST['m3u8'], $users_id, @$_REQUEST['live_servers_id']); +$obj->response = Live::reverseRestream($_REQUEST['m3u8'], $users_id, @$_REQUEST['live_servers_id'], @$_REQUEST['forceIndex']); $obj->error = false; _error_log('webRTCToLive: complete'); die(json_encode($obj)); diff --git a/plugin/Live/webcamFullscreen.php b/plugin/Live/webcamFullscreen.php index 3f01eef2f..0fe17fc71 100644 --- a/plugin/Live/webcamFullscreen.php +++ b/plugin/Live/webcamFullscreen.php @@ -1,193 +1,209 @@ webRTC_player; $iframeURL = addQueryStringParameter($iframeURL, 'webSiteRootURL', $global['webSiteRootURL']); $iframeURL = addQueryStringParameter($iframeURL, 'userHash', Live::getUserHash(User::getId())); $chatURL = ''; $chat = AVideoPlugin::loadPluginIfEnabled('Chat2'); if (!empty($chat)) { $chatURL = Chat2::getChatRoomLink(User::getId(), 1, 1, 1, true, 1); if (!empty($_REQUEST['user'])) { $chatURL = addQueryStringParameter($chatURL, 'user', $_REQUEST['user']); } if (!empty($_REQUEST['pass'])) { $chatURL = addQueryStringParameter($chatURL, 'pass', $_REQUEST['pass']); } } $users_id = User::getId(); $trasnmition = LiveTransmition::createTransmitionIfNeed($users_id); $live_servers_id = Live::getCurrentLiveServersId(); -$liveStreamObject = new LiveStreamObject($trasnmition['key'], $live_servers_id, @$_REQUEST['live_index'], 0); -$streamName = $liveStreamObject->getKeyWithIndex(true); +$forceIndex = "Live". date('YmdHis'); +$liveStreamObject = new LiveStreamObject($trasnmition['key'], $live_servers_id, $forceIndex, 0); +$streamName = $liveStreamObject->getKeyWithIndex(true, true); +$controls = Live::getAllControlls($streamName); ?> <?php echo $config->getWebSiteTitle(); ?>
    -