From 6a6e5457d4b62e0b156d6fc94d78627612cda3ab Mon Sep 17 00:00:00 2001 From: Preston Date: Tue, 22 May 2018 10:38:46 -0400 Subject: [PATCH] Fix issue with translation files not compiling during build. --- .gitignore | 2 + locales/en-US.json | 95 ++++++++++++++++++++++++++++++++++++++++ locales/nl.json | 95 ++++++++++++++++++++++++++++++++++++++++ package.json | 2 +- src/icons/iconWhite.png | Bin 0 -> 5030 bytes src/icons/logoWhite.png | Bin 0 -> 11591 bytes src/js/savedVideos.js | 4 +- 7 files changed, 195 insertions(+), 3 deletions(-) create mode 100644 locales/en-US.json create mode 100644 locales/nl.json create mode 100644 src/icons/iconWhite.png create mode 100644 src/icons/logoWhite.png diff --git a/.gitignore b/.gitignore index c2ea43a17..2ec91a4da 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,5 @@ subscriptions\.db *.db electron-packager/win32-x64/FreeTube-win32-x64/ + +dist/ diff --git a/locales/en-US.json b/locales/en-US.json new file mode 100644 index 000000000..4ae446926 --- /dev/null +++ b/locales/en-US.json @@ -0,0 +1,95 @@ +{ + "File": "File", + "Quit": "Quit", + "Edit": "Edit", + "Undo": "Undo", + "Redo": "Redo", + "Cut": "Cut", + "Copy": "Copy", + "Paste": "Paste", + "Delete": "Delete", + "Select all": "Select all", + "View": "View", + "Reload": "Reload", + "Force Reload": "Force Reload", + "Toggle Developer Tools": "Toggle Developer Tools", + "Actual size": "Actual size", + "Zoom in": "Zoom in", + "Zoom out": "Zoom out", + "Toggle fullscreen": "Toggle fullscreen", + "Window": "Window", + "Minimize": "Minimize", + "Close": "Close", + "FreeTube": "FreeTube", + "Subscriptions": "Subscriptions", + "Featured": "Featured", + "Most Popular": "Most Popular", + "Saved": "Saved", + "Playlists": "Playlists", + "History": "History", + "Settings": "Settings", + "About": "About", + "Search / Go to URL": "Search / Go to URL", + "Search Results": "Search Results", + "Subscriber": "Subscriber", + "Subscriber": "Subscribers", + "Video": "Video", + "Videos": "Videos", + "View Full Playlist": "View Full Playlist", + "Live Now": "Live Now", + "Fetch more results": "Fetch more results", + "Fetching results. Please wait": "Fetching results. Please wait", + "Latest Subscriptions": "Latest Subscriptions", + "Save Video": "Save Video", + "Remove Saved Video": "Remove Saved Video", + "Open in YouTube": "Open in YouTube", + "Copy YouTube Link": "Copy YouTube Link", + "Open in HookTube": "Open in HookTube", + "Copy HookTube Link": "Copy HookTube Link", + "URL has been copied to the clipboard": "URL has been copied to the clipboard", + "Found valid URL for 480p, but returned a 404. Video type might be available in the future.": "Found valid URL for 480p, but returned a 404. Video type might be available in the future.", + "Save": "Save", + "Mini Player": "Mini Player", + "View": "View", + "Views": "Views", + "Subscribe": "Subscribe", + "Unsubscribe": "Unsubscribe", + "Published on": "Published on", + "Jan": "Jan", + "Feb": "Feb", + "Mar": "Mar", + "Apr": "Apr", + "May": "May", + "Jun": "Jun", + "Jul": "Jul", + "Aug": "Aug", + "Sep": "Sep", + "Oct": "Oct", + "Nov": "Nov", + "Dec": "Dec", + "Show Comments": "Show Comments", + "Max of 100": "Max of 100", + "Recommendations": "Recommendations", + "Latest Subscriptions": "Latest Subscriptions", + "Getting Subscriptions. Please wait...": "Getting Subscriptions. Please wait...", + "Your Subscription list is currently empty. Start adding subscriptions to see them here.": "Your Subscription list is currently empty. Start adding subscriptions to see them here.", + "Saved Videos": "Saved Videos", + "Watch History": "Watch History", + "API Key": "API Key", + "Set API Key: Leave blank to use default": "Set API Key: Leave blank to use default", + "Use Dark Theme": "Use Dark Theme", + "Import Subscriptions": "Import Subscriptions", + "Export Subscriptions": "Export Subscriptions", + "Clear History": "Clear History", + "Are you sure you want to delete your history?": "Are you sure you want to delete your history?", + "Clear Saved Videos": "Clear Saved Videos", + "Are you sure you want to remove all saved videos?": "Are you sure you want to remove all saved videos?", + "Clear Subscriptions": "Clear Subscriptions", + "Are you sure you want to remove all subscriptions?": "Are you sure you want to remove all subscriptions?", + "Save Settings": "Save Settings", + "Yes": "Yes", + "No": "No", + "Beta": "Beta", + "This software is FOSS and released under the GNU Public License v3+.": "This software is FOSS and released under the GNU Public License v3+.", + "Found a bug? Want to suggest a feature? Want to help out? Check out our GitHub page. Pull requests are welcome.": "Found a bug? Want to suggest a feature? Want to help out? Check out our GitHub page. Pull requests are welcome." +} diff --git a/locales/nl.json b/locales/nl.json new file mode 100644 index 000000000..b12583cb4 --- /dev/null +++ b/locales/nl.json @@ -0,0 +1,95 @@ +{ + "File": "Bestand", + "Quit": "Afluiten", + "Edit": "Bewerken", + "Undo": "Ongedaan maken", + "Redo": "Opnieuw", + "Cut": "Knippen", + "Copy": "Kopiƫren", + "Paste": "Plakken", + "Delete": "Verwijderen", + "Select all": "Alles selecteren", + "View": "Weergave", + "Reload": "Herladen", + "Force Reload": "Herladen forceren", + "Toggle Developer Tools": "Hulpprogramma's voor ontwikkelaars", + "Actual size": "Daadwerkelijke grootte", + "Zoom in": "Zoom in", + "Zoom out": "Zoom uit", + "Toggle fullscreen": "Volledig scherm", + "Window": "Venster", + "Minimize": "Minimaliseren", + "Close": "Sluiten", + "FreeTube": "FreeTube", + "Subscriptions": "Abonnementen", + "Featured": "Uitgelicht", + "Most Popular": "Populair", + "Saved": "Opgeslagen", + "Playlists": "Afspeellijsten", + "History": "Geschiedenis", + "Settings": "Instellingen", + "About": "Over", + "Search / Go to URL": "Zoeken / Ga naar URL", + "Search Results": "Zoekresultaten", + "Subscriber": "Abonnee", + "Subscriber": "Abonnees", + "Video": "Video", + "Videos": "Videos", + "View Full Playlist": "Volledige afspeellijst weergeven", + "Live Now": "Nu Live", + "Fetch more results": "Meer resultaten ophalen", + "Fetching results. Please wait": "Resultaten ophalen. Een ogenblik geduld", + "Latest Subscriptions": "Laatste abonnementen", + "Save Video": "Video opslaan", + "Remove Saved Video": "Opgeslagen video verwijderen", + "Open in YouTube": "Open in YouTube", + "Copy YouTube Link": "Kopieer YouTube Link", + "Open in HookTube": "Open in HookTube", + "Copy HookTube Link": "Kopieer HookTube Link", + "URL has been copied to the clipboard": "URL is naar het klembord gekopieerd", + "Found valid URL for 480p, but returned a 404. Video type might be available in the future.": "Geldige URL voor 480p gevonden, echter een 404 foutmelding ontvangen. Video is wellicht in de toekomst beschikbaar.", + "Save": "Opslaan", + "Mini Player": "Mini Speler", + "View": "Weergave", + "Views": "Weergaven", + "Subscribe": "Abboneren", + "Unsubscribe": "Afmelden", + "Published on": "Gepubliceerd op", + "Jan": "Jan", + "Feb": "Feb", + "Mar": "Maa", + "Apr": "Apr", + "May": "Mei", + "Jun": "Jun", + "Jul": "Jul", + "Aug": "Aug", + "Sep": "Sep", + "Oct": "Okt", + "Nov": "Nov", + "Dec": "Dec", + "Show Comments": "Commentaren weergeven", + "Max of 100": "Maximaal 100", + "Recommendations": "Aanbevelingen", + "Latest Subscriptions": "Laatste abonnementen", + "Getting Subscriptions. Please wait...": "Abonnementen worden opgehaald. Een ogenblik geduld...", + "Your Subscription list is currently empty. Start adding subscriptions to see them here.": "Deze lijst is momenteel leeg. Voeg abonnementen toe om ze hier terug te zien.", + "Saved Videos": "Opgeslagen Videos", + "Watch History": "Geschiedenis", + "API Key": "API Sleutel", + "Set API Key: Leave blank to use default": "API sleutel instellen: Laat leeg om standaard te gebruiken", + "Use Dark Theme": "Donker thema gebruiken", + "Import Subscriptions": "Importeer Abonnementen", + "Export Subscriptions": "Exporteer Abonnementen", + "Clear History": "Geschiedenis wissen", + "Are you sure you want to delete your history?": "Weet u zeker dat u de geschiedenis wilt wissen?", + "Clear Saved Videos": "Opgeslagen videos verwijderen", + "Are you sure you want to remove all saved videos?": "Weet u zeker dat u alle opgeslagen videos wilt verwijderen?", + "Clear Subscriptions": "Abonnementen verwijderen", + "Are you sure you want to remove all subscriptions?": "Weet u zeker dat u alle abonnementen wilt verwijderen?", + "Save Settings": "Instellingen opslaan", + "Yes": "Ja", + "No": "Nee", + "Beta": "Beta", + "This software is FOSS and released under the GNU Public License v3+.": "Deze software is FOSS en gepubliceerd onder de GNU Public License v3+.", + "Found a bug? Want to suggest a feature? Want to help out? Check out our GitHub page. Pull requests are welcome.": "Een bug gevonden? Graag iets toegevoegd zien? Wilt u helpen bij de ontwikkeling? Check de GitHub pagina. Pull requests zijn welkom." +} diff --git a/package.json b/package.json index 6625e056f..3f033a45a 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "description": "An Open Source YouTube app focused on privacy.", "main": "src/js/init.js", "scripts": { - "start": "electron-forge start", + "start": "electron .", "package": "electron-forge package", "make": "electron-forge make", "publish": "electron-forge publish", diff --git a/src/icons/iconWhite.png b/src/icons/iconWhite.png new file mode 100644 index 0000000000000000000000000000000000000000..a6222af20ad26e3df6ddfd3dfc9c3e3b59b160ef GIT binary patch literal 5030 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 XFFvj}(|GI17a_n<*9=~v)>RAn>UrA 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 {