summaryrefslogtreecommitdiffstats
path: root/templates/index.php
blob: 9ad38a0d51b464713f764225da5d69534ea50bcb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<?php
use OCA\News\Plugin\Client\Plugin;

script('news', [
    'build/app.min'
]);

style('news', [
    'app',
    'content',
    'custom',
    'explore',
    'mobile',
    'navigation',
    'settings',
    'shortcuts'
]);

// load plugin scripts and styles
foreach (Plugin::getStyles() as $appName => $fileName) {
    style($appName, $fileName);
}
foreach (Plugin::getScripts() as $appName => $fileName) {
    script($appName, $fileName);
}
?>

    <div id="global-loading"
        class="icon-loading"
        ngCloak
        ng-show="App.loading.isLoading('global')"></div>

    <!-- content -->
    <script type="text/ng-template" id="content.html">
        <?php print_unescaped($this->inc('part.content')) ?>
    </script>
    <script type="text/ng-template" id="shortcuts.html">
        <?php print_unescaped($this->inc('part.content.shortcuts')) ?>
    </script>
    <script type="text/ng-template" id="explore.html">
        <?php print_unescaped($this->inc('part.content.explore')) ?>
    </script>

    <!-- navigation -->
    <div id="app-navigation"
        ng-controller="NavigationController as Navigation"
        ng-hide="App.loading.isLoading('global')">

        <news-search on-search="Navigation.search"></news-search>
        <news-title-unread-count
            unread-count="{{ Navigation.getUnreadCount() }}">
        </news-title-unread-count>

        <ul class="with-icon" data-id="0" news-droppable>
            <?php print_unescaped($this->inc('part.navigation.addfeed')) ?>
            <?php print_unescaped($this->inc('part.navigation.addfolder')) ?>
            <?php print_unescaped($this->inc('part.navigation.unreadfeed')) ?>
            <?php print_unescaped($this->inc('part.navigation.starredfeed')) ?>
            <?php print_unescaped($this->inc(
                'part.navigation.feed', ['folderId' => 'null']
            )) ?>
            <?php print_unescaped($this->inc('part.navigation.folder')) ?>
            <?php print_unescaped($this->inc('part.navigation.explore')) ?>
        </ul>

        <!-- settings -->
        <div id="app-settings" ng-controller="SettingsController as Settings">
            <?php print_unescaped($this->inc('part.settings')) ?>
        </div>
    </div>

    <div id="app-content"
        ng-class="{
            'loading-content': App.loading.isLoading('content') &&
                               !App.loading.isLoading('global'),
            'explore': App.isFirstRun()
        }"
        tabindex="-1"
        news-pull-to-refresh="showPullToRefresh">
        <div class="podcast" news-sticky-menu="#app-content" ng-if="App.playingItem">
            <audio controls autoplay ng-src="{{ App.playingItem.enclosureLink|trustUrl }}" news-play-one></audio>
            <a class="button podcast-download" title="<?php p($l->t('Download')) ?>"
                ng-href="{{ App.playingItem.enclosureLink|trustUrl }}"
                target="_blank"
                rel="noreferrer"></a>
            <button class="podcast-close" title="<?php p($l->t('Close')) ?>"
                ng-click="App.playingItem = false"></button>
        </div>
        <div id="app-content-wrapper"
            ng-class="{
                'autopaging': App.loading.isLoading('autopaging'),
                'finished-auto-paging': Content.isNothingMoreToAutoPage
            }"
            ng-hide="App.loading.isLoading('global')"
            ng-view
            news-scroll
            news-scroll-enabled-mark-read="Content.markReadEnabled()"
            news-scroll-auto-page="Content.autoPage()"
            news-scroll-mark-read="Content.scrollRead(itemIds)"></div>
tículo anterior", "Toggle star article" : "Alternar artículos marcados", "Star article and jump to next one" : "Marcar el artículo y continuar al siguiente", "Toggle keep current article unread" : "Alternar mantener artículo actual como no leído", "Open article in new tab" : "Abrir el artículo en una nueva pestaña", "Toggle expand article in compact view" : "Alternar expandir artículo en vista compacta", "Refresh" : "Actualizar", "Load next feed" : "Cargar la siguiente fuente ", "Load previous feed" : "Cargar fuente anterior", "Load next folder" : "Cargar la siguiente carpeta", "Load previous folder" : "Cargar carpeta anterrior", "Scroll to active navigation entry" : "Desplázate hasta el elemento de navegación activo", "Focus search field" : "Ir al campo de búsqueda", "Mark current article's feed/folder read" : "Marcar la fuente/carpeta del artículo actual como leído", "Ajax or webcron mode detected! Your feeds will not be updated!" : "¡Se ha detectado el modo Ajax o webron! ¡Tus fuentes no serán actualizadas!", "How to set up the operating system cron" : "Cómo establecer las tareas programadas del sistema operativo", "Install and set up a faster parallel updater that uses the News app's update API" : "Instala y configura un actualizador en paralelo más rápido que use el API de actualización de la nueva aplicación", "Web address" : "Dirección web", "Feed exists already!" : "¡La fuente ya existe!", "Folder" : "Carpeta", "No folder" : "No hay carpetas", "New folder" : "Carpeta nueva ", "Folder name" : "Nombre de la carpeta", "Go back" : "Regresar", "Folder exists already!" : "¡La carpeta ya existe!", "Credentials" : "Credenciales", "HTTP Basic Auth credentials must be stored unencrypted! Everyone with access to the server or database will be able to access them!" : "¡Las credenciales HTTP Basic Auth deben ser almacenadas decriptadas! ¡Todos aquellos que tengan acceso al servidor o a la base de datos tendrán acceso a ellas!", "Username" : "Usuario", "Password" : "Contraseña", "New Folder" : "Carpeta Nueva", "Create" : "Crear", "Explore" : "Explorar", "Update failed more than 50 times" : "La carga falló más de 50 veces", "Deleted feed" : "Borrar fuente", "Undo delete feed" : "Deshacer borrar fuente", "Rename" : "Renombrar", "Menu" : "Menú", "Mark read" : "Marcar como leído", "Unpin from top" : "Desanclar a la parte superior", "Pin to top" : "Anclar a la parte superior", "Newest first" : "Más reciente primero", "Oldest first" : "Más antiguo primero", "Default order" : "Ordenamiento predeterminado", "Enable full text" : "Habilitar texto completo", "Disable full text" : "Deshabilitar texto completo", "Unread updated" : "No-leídos actualizados", "Ignore updated" : "Ignorar actualizados", "Open feed URL" : "Abrir URL de la fuente", "Delete" : "Borrar", "Dismiss" : "Descartar", "Collapse" : "Colapsar", "Deleted folder" : "Borrar carpeta", "Undo delete folder" : "Deshacer borrar carpeta", "Starred" : "Marcados", "Unread articles" : "Artículos sin leer", "All articles" : "Todos los artículos", "Settings" : "Configuraciones ", "Disable mark read through scrolling" : "Deshabilitar el marcar como leído al desplazar", "Compact view" : "Vista compacta", "Expand articles on key navigation" : "Expandir artículos al navegar con el teclado", "Show all articles" : "Mostrar todos los artículos", "Reverse ordering (oldest on top)" : "Orden inverso (más antiguo arriba)", "Subscriptions (OPML)" : "Suscripciones (OPML)", "Import" : "Importar", "Export" : "Exportar", "Error when importing: File does not contain valid OPML" : "Se presentó un error al importar: El archivo no contiene un OPML válido", "Error when importing: OPML is does neither contain feeds nor folders" : "Se presentó un error al importar: OPML no contiene fuentes o carpetas", "Unread/Starred Articles" : "Artículos No Leídos/Marcados", "Error when importing: file does not contain valid JSON" : "Se presentó un error al importar: el archivo no contiene un JSON válido", "Help" : "Ayuda", "Keyboard shortcuts" : "Atajos del teclado", "Documentation" : "Documentación", "Report a bug" : "Reportar una falla" }, "nplurals=2; plural=(n != 1);");