├── appinfo ├── version ├── info.xml ├── routes.php └── app.php ├── img ├── gallery.png └── gallery.svg ├── l10n ├── zh_HK.php ├── af_ZA.php ├── de_AT.php ├── es_CL.php ├── ia.php ├── pa.php ├── is.php ├── ug.php ├── ka_GE.php ├── ta_LK.php ├── ku_IQ.php ├── si_LK.php ├── cy_GB.php ├── he.php ├── nn_NO.php ├── ms_MY.php ├── .tx │ └── config ├── lb.php ├── mk.php ├── ur_PK.json ├── ur_PK.php ├── ur_PK.js ├── es_AR.php ├── km.php ├── es_AR.json ├── es_MX.php ├── es_MX.json ├── km.json ├── es_AR.js ├── es_MX.js ├── hi.json ├── km.js ├── hi.php ├── zh_CN.php ├── hi.js ├── zh_TW.php ├── zh_CN.json ├── ko.php ├── zh_TW.json ├── lt_LT.php ├── ja.php ├── zh_CN.js ├── ko.json ├── lt_LT.json ├── zh_TW.js ├── ja.json ├── ko.js ├── lt_LT.js ├── ja.js ├── th_TH.php ├── th_TH.json ├── nb_NO.php ├── bn_IN.php ├── en_GB.php ├── th_TH.js ├── da.php ├── et_EE.php ├── nb_NO.json ├── sv.php ├── bn_IN.json ├── en_GB.json ├── bn_BD.php ├── da.json ├── et_EE.json ├── fi_FI.php ├── tr.php ├── de.php ├── sv.json ├── vi.php ├── bg_BG.php ├── de_DE.php ├── nb_NO.js ├── sk_SK.php ├── bn_BD.json ├── bn_IN.js ├── en_GB.js ├── fi_FI.json ├── nl.php ├── tr.json ├── ast.php ├── da.js ├── de.json ├── eo.php ├── et_EE.js ├── gl.php ├── vi.json ├── bg_BG.json ├── de_DE.json ├── fa.php ├── hu_HU.php ├── id.php ├── pt_BR.php ├── sk_SK.json ├── sv.js ├── az.php ├── ca.php ├── es.php ├── eu.php ├── nl.json ├── ast.json ├── bn_BD.js ├── cs_CZ.php ├── el.php ├── eo.json ├── fi_FI.js ├── gl.json ├── sq.php ├── tr.js ├── de.js ├── fa.json ├── hu_HU.json ├── id.json ├── lv.php ├── pt_BR.json ├── vi.js ├── az.json ├── bg_BG.js ├── ca.json ├── de_DE.js ├── es.json ├── eu.json ├── fr.php ├── it.php ├── oc.php ├── sk_SK.js ├── ar.php ├── cs_CZ.json ├── el.json ├── nl.js ├── sq.json ├── ast.js ├── eo.js ├── gl.js ├── lv.json ├── ro.php ├── fa.js ├── fr.json ├── hu_HU.js ├── id.js ├── it.json ├── oc.json ├── pt_BR.js ├── pt_PT.php ├── sr.php ├── ar.json ├── az.js ├── ca.js ├── es.js ├── eu.js ├── pl.php ├── cs_CZ.js ├── el.js ├── ro.json ├── sq.js ├── sr@latin.php ├── lv.js ├── pt_PT.json ├── sr.json ├── fr.js ├── it.js ├── oc.js ├── pl.json ├── sl.php ├── ar.js ├── sr@latin.json ├── ro.js ├── pt_PT.js ├── sl.json ├── sr.js ├── bs.php ├── hr.php ├── pl.js ├── uk.php ├── sr@latin.js ├── bs.json ├── hr.json ├── sl.js ├── uk.json ├── bs.js ├── hr.js ├── uk.js ├── ru.php ├── ru.json └── ru.js ├── css ├── mobile.css ├── public.css ├── styles.css └── slideshow.css ├── CONTRIBUTING.md ├── .scrutinizer.yml ├── templates ├── slideshow.html ├── index.php └── public.php ├── ajax ├── gallery.php ├── thumbnail.php ├── getimages.php ├── image.php └── batch.php ├── README.md ├── index.php ├── .travis.yml ├── js ├── public.js ├── jquery.mousewheel-3.1.1.js ├── thumbnail.js ├── album.js ├── gallery.js └── slideshow.js └── public.php /appinfo/version: -------------------------------------------------------------------------------- 1 | 0.6.1 2 | -------------------------------------------------------------------------------- /img/gallery.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud-archive/gallery-old/HEAD/img/gallery.png -------------------------------------------------------------------------------- /l10n/zh_HK.php: -------------------------------------------------------------------------------- 1 | "分享" 4 | ); 5 | $PLURAL_FORMS = "nplurals=1; plural=0;"; 6 | -------------------------------------------------------------------------------- /l10n/af_ZA.php: -------------------------------------------------------------------------------- 1 | "Deel" 4 | ); 5 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 6 | -------------------------------------------------------------------------------- /l10n/de_AT.php: -------------------------------------------------------------------------------- 1 | "Freigeben" 4 | ); 5 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 6 | -------------------------------------------------------------------------------- /l10n/es_CL.php: -------------------------------------------------------------------------------- 1 | "Compartir" 4 | ); 5 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 6 | -------------------------------------------------------------------------------- /l10n/ia.php: -------------------------------------------------------------------------------- 1 | "Compartir" 4 | ); 5 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 6 | -------------------------------------------------------------------------------- /l10n/pa.php: -------------------------------------------------------------------------------- 1 | "ਸਾਂਝਾ ਕਰੋ" 4 | ); 5 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 6 | -------------------------------------------------------------------------------- /l10n/is.php: -------------------------------------------------------------------------------- 1 | "Myndir", 4 | "Share" => "Deila" 5 | ); 6 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 7 | -------------------------------------------------------------------------------- /l10n/ug.php: -------------------------------------------------------------------------------- 1 | "رەسىملەر", 4 | "Share" => "ھەمبەھىر" 5 | ); 6 | $PLURAL_FORMS = "nplurals=1; plural=0;"; 7 | -------------------------------------------------------------------------------- /l10n/ka_GE.php: -------------------------------------------------------------------------------- 1 | "სურათები", 4 | "Share" => "გაზიარება" 5 | ); 6 | $PLURAL_FORMS = "nplurals=1; plural=0;"; 7 | -------------------------------------------------------------------------------- /css/mobile.css: -------------------------------------------------------------------------------- 1 | @media only screen and (max-width: 768px) { 2 | 3 | /* adjust share dropdown */ 4 | #dropdown { 5 | margin-right: 0 !important; 6 | } 7 | 8 | } 9 | -------------------------------------------------------------------------------- /l10n/ta_LK.php: -------------------------------------------------------------------------------- 1 | "படங்கள்", 4 | "Share" => "பகிர்வு" 5 | ); 6 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 7 | -------------------------------------------------------------------------------- /l10n/ku_IQ.php: -------------------------------------------------------------------------------- 1 | "وێنه‌کان", 4 | "Share" => "هاوبەشی کردن" 5 | ); 6 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 7 | -------------------------------------------------------------------------------- /l10n/si_LK.php: -------------------------------------------------------------------------------- 1 | "පින්තූර", 4 | "Share" => "බෙදා හදා ගන්න" 5 | ); 6 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 7 | -------------------------------------------------------------------------------- /l10n/cy_GB.php: -------------------------------------------------------------------------------- 1 | "Lluniau", 4 | "Share" => "Rhannu" 5 | ); 6 | $PLURAL_FORMS = "nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;"; 7 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ## App unmaintained 2 | 3 | This app is unmaintained and will receive no updates / fixes. 4 | New development takes place within the [galleryplus](https://github.com/owncloud/galleryplus) repository. -------------------------------------------------------------------------------- /l10n/he.php: -------------------------------------------------------------------------------- 1 | "תמונות", 4 | "Error loading slideshow template" => "שגיאה בטעינת תבנית המצגת", 5 | "Share" => "שתף" 6 | ); 7 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 8 | -------------------------------------------------------------------------------- /l10n/nn_NO.php: -------------------------------------------------------------------------------- 1 | "Bilete", 4 | "Error loading slideshow template" => "Klarte ikkje lasta lysbiletmal", 5 | "Share" => "Del" 6 | ); 7 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 8 | -------------------------------------------------------------------------------- /l10n/ms_MY.php: -------------------------------------------------------------------------------- 1 | "Gambar", 4 | "Error loading slideshow template" => "Ralat memuatkan templat persembahan slaid", 5 | "Share" => "Kongsi" 6 | ); 7 | $PLURAL_FORMS = "nplurals=1; plural=0;"; 8 | -------------------------------------------------------------------------------- /l10n/.tx/config: -------------------------------------------------------------------------------- 1 | [main] 2 | host = https://www.transifex.com 3 | lang_map = ja_JP: ja 4 | 5 | 6 | [owncloud.gallery] 7 | file_filter = /gallery.po 8 | source_file = templates/gallery.pot 9 | source_lang = en 10 | type = PO 11 | 12 | -------------------------------------------------------------------------------- /l10n/lb.php: -------------------------------------------------------------------------------- 1 | "Fotoen", 4 | "Error loading slideshow template" => "Feeler beim Luede vun der Virlag fir d'Diashow", 5 | "Share" => "Deelen" 6 | ); 7 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 8 | -------------------------------------------------------------------------------- /l10n/mk.php: -------------------------------------------------------------------------------- 1 | "Слики", 4 | "Error loading slideshow template" => "Грешка при вчитувањето на шаблонот за прикажување на слајдови", 5 | "Share" => "Сподели" 6 | ); 7 | $PLURAL_FORMS = "nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"; 8 | -------------------------------------------------------------------------------- /.scrutinizer.yml: -------------------------------------------------------------------------------- 1 | imports: 2 | - php 3 | - javascript 4 | 5 | filter: 6 | excluded_paths: 7 | - 'l10n/*' 8 | - 'js/jquery*' 9 | 10 | tools: 11 | php_analyzer: 12 | config: 13 | doc_comment_fixes: 14 | enabled: true 15 | -------------------------------------------------------------------------------- /l10n/ur_PK.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "تصاویر", 3 | "Picture view" : "منظر تصویر", 4 | "Error loading slideshow template" : "سلائیڈ شو ٹمپلیٹ لوڈ ہونے میں خرابی", 5 | "Share" : "تقسیم", 6 | "shared by %s" : "%s سے اشتراک شدہ", 7 | "File list" : "فہرست فائل" 8 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 9 | } -------------------------------------------------------------------------------- /l10n/ur_PK.php: -------------------------------------------------------------------------------- 1 | "تصاویر", 4 | "Picture view" => "منظر تصویر", 5 | "Error loading slideshow template" => "سلائیڈ شو ٹمپلیٹ لوڈ ہونے میں خرابی", 6 | "Share" => "تقسیم", 7 | "shared by %s" => "%s سے اشتراک شدہ", 8 | "File list" => "فہرست فائل" 9 | ); 10 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 11 | -------------------------------------------------------------------------------- /l10n/ur_PK.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "تصاویر", 5 | "Picture view" : "منظر تصویر", 6 | "Error loading slideshow template" : "سلائیڈ شو ٹمپلیٹ لوڈ ہونے میں خرابی", 7 | "Share" : "تقسیم", 8 | "shared by %s" : "%s سے اشتراک شدہ", 9 | "File list" : "فہرست فائل" 10 | }, 11 | "nplurals=2; plural=(n != 1);"); 12 | -------------------------------------------------------------------------------- /templates/slideshow.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 |
10 | -------------------------------------------------------------------------------- /l10n/es_AR.php: -------------------------------------------------------------------------------- 1 | "Imágenes", 4 | "Picture view" => "Vista de imágen", 5 | "Next" => "Siguiente", 6 | "Play" => "Reproducir", 7 | "Pause" => "Pausar", 8 | "Previous" => "Previo", 9 | "Close" => "Cerrar", 10 | "Error loading slideshow template" => "Error cargando plantilla de presentación.", 11 | "Share" => "Compartir", 12 | "File list" => "Lista de archivos" 13 | ); 14 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 15 | -------------------------------------------------------------------------------- /l10n/km.php: -------------------------------------------------------------------------------- 1 | "រូបភាព", 4 | "Picture view" => "ទិដ្ឋភាពរូបភាព", 5 | "Next" => "បន្ទាប់", 6 | "Play" => "លេង", 7 | "Pause" => "ផ្អាក", 8 | "Previous" => "មុន", 9 | "Close" => "បិទ", 10 | "Error loading slideshow template" => "មាន​កំហុស​ផ្ទុក​ពុម្ព​បញ្ចាំងស្លាយ", 11 | "Share" => "ចែក​រំលែក", 12 | "shared by %s" => "បាន​ចែក​រំលែក​ដោយ %s", 13 | "File list" => "បញ្ជី​ឯកសារ" 14 | ); 15 | $PLURAL_FORMS = "nplurals=1; plural=0;"; 16 | -------------------------------------------------------------------------------- /l10n/es_AR.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Imágenes", 3 | "Picture view" : "Vista de imágen", 4 | "Next" : "Siguiente", 5 | "Play" : "Reproducir", 6 | "Pause" : "Pausar", 7 | "Previous" : "Previo", 8 | "Close" : "Cerrar", 9 | "Error loading slideshow template" : "Error cargando plantilla de presentación.", 10 | "Share" : "Compartir", 11 | "File list" : "Lista de archivos" 12 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 13 | } -------------------------------------------------------------------------------- /l10n/es_MX.php: -------------------------------------------------------------------------------- 1 | "Imágenes", 4 | "Picture view" => "Vista de imágenes", 5 | "Next" => "Siguiente", 6 | "Play" => "Reproducir", 7 | "Pause" => "Pausar", 8 | "Previous" => "Anterior", 9 | "Close" => "Cerrar", 10 | "Error loading slideshow template" => "Error cargando la plantilla de presentación", 11 | "Share" => "Compartir", 12 | "File list" => "Lista de archivos" 13 | ); 14 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 15 | -------------------------------------------------------------------------------- /l10n/es_MX.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Imágenes", 3 | "Picture view" : "Vista de imágenes", 4 | "Next" : "Siguiente", 5 | "Play" : "Reproducir", 6 | "Pause" : "Pausar", 7 | "Previous" : "Anterior", 8 | "Close" : "Cerrar", 9 | "Error loading slideshow template" : "Error cargando la plantilla de presentación", 10 | "Share" : "Compartir", 11 | "File list" : "Lista de archivos" 12 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 13 | } -------------------------------------------------------------------------------- /l10n/km.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "រូបភាព", 3 | "Picture view" : "ទិដ្ឋភាពរូបភាព", 4 | "Next" : "បន្ទាប់", 5 | "Play" : "លេង", 6 | "Pause" : "ផ្អាក", 7 | "Previous" : "មុន", 8 | "Close" : "បិទ", 9 | "Error loading slideshow template" : "មាន​កំហុស​ផ្ទុក​ពុម្ព​បញ្ចាំងស្លាយ", 10 | "Share" : "ចែក​រំលែក", 11 | "shared by %s" : "បាន​ចែក​រំលែក​ដោយ %s", 12 | "File list" : "បញ្ជី​ឯកសារ" 13 | },"pluralForm" :"nplurals=1; plural=0;" 14 | } -------------------------------------------------------------------------------- /l10n/es_AR.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Imágenes", 5 | "Picture view" : "Vista de imágen", 6 | "Next" : "Siguiente", 7 | "Play" : "Reproducir", 8 | "Pause" : "Pausar", 9 | "Previous" : "Previo", 10 | "Close" : "Cerrar", 11 | "Error loading slideshow template" : "Error cargando plantilla de presentación.", 12 | "Share" : "Compartir", 13 | "File list" : "Lista de archivos" 14 | }, 15 | "nplurals=2; plural=(n != 1);"); 16 | -------------------------------------------------------------------------------- /l10n/es_MX.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Imágenes", 5 | "Picture view" : "Vista de imágenes", 6 | "Next" : "Siguiente", 7 | "Play" : "Reproducir", 8 | "Pause" : "Pausar", 9 | "Previous" : "Anterior", 10 | "Close" : "Cerrar", 11 | "Error loading slideshow template" : "Error cargando la plantilla de presentación", 12 | "Share" : "Compartir", 13 | "File list" : "Lista de archivos" 14 | }, 15 | "nplurals=2; plural=(n != 1);"); 16 | -------------------------------------------------------------------------------- /l10n/hi.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "तस्वीरें", 3 | "Picture view" : "तस्वीर देखें", 4 | "Error loading slideshow template" : "स्लाइड शो टेम्पलेट लोड करने में त्रुटि है", 5 | "Share" : "साझा करें", 6 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "koi tasvir nahi mili! agar aap tasveeren files app mein upload karenge, tab wo yahan dikhayi dengi", 7 | "File list" : "फाइल सूची" 8 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 9 | } -------------------------------------------------------------------------------- /l10n/km.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "រូបភាព", 5 | "Picture view" : "ទិដ្ឋភាពរូបភាព", 6 | "Next" : "បន្ទាប់", 7 | "Play" : "លេង", 8 | "Pause" : "ផ្អាក", 9 | "Previous" : "មុន", 10 | "Close" : "បិទ", 11 | "Error loading slideshow template" : "មាន​កំហុស​ផ្ទុក​ពុម្ព​បញ្ចាំងស្លាយ", 12 | "Share" : "ចែក​រំលែក", 13 | "shared by %s" : "បាន​ចែក​រំលែក​ដោយ %s", 14 | "File list" : "បញ្ជី​ឯកសារ" 15 | }, 16 | "nplurals=1; plural=0;"); 17 | -------------------------------------------------------------------------------- /l10n/hi.php: -------------------------------------------------------------------------------- 1 | "तस्वीरें", 4 | "Picture view" => "तस्वीर देखें", 5 | "Error loading slideshow template" => "स्लाइड शो टेम्पलेट लोड करने में त्रुटि है", 6 | "Share" => "साझा करें", 7 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "koi tasvir nahi mili! agar aap tasveeren files app mein upload karenge, tab wo yahan dikhayi dengi", 8 | "File list" => "फाइल सूची" 9 | ); 10 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 11 | -------------------------------------------------------------------------------- /l10n/zh_CN.php: -------------------------------------------------------------------------------- 1 | "图片", 4 | "Picture view" => "图片查看", 5 | "Next" => "下一个", 6 | "Play" => "播放", 7 | "Pause" => "暂停", 8 | "Previous" => "前一首", 9 | "Close" => "关闭", 10 | "Error loading slideshow template" => "加载幻灯片模板错误", 11 | "Share" => "共享", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "没有图片!您在文件应用中上传的图片将会在这里显示。", 13 | "shared by %s" => "由 %s 共享", 14 | "File list" => "文件列表" 15 | ); 16 | $PLURAL_FORMS = "nplurals=1; plural=0;"; 17 | -------------------------------------------------------------------------------- /l10n/hi.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "तस्वीरें", 5 | "Picture view" : "तस्वीर देखें", 6 | "Error loading slideshow template" : "स्लाइड शो टेम्पलेट लोड करने में त्रुटि है", 7 | "Share" : "साझा करें", 8 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "koi tasvir nahi mili! agar aap tasveeren files app mein upload karenge, tab wo yahan dikhayi dengi", 9 | "File list" : "फाइल सूची" 10 | }, 11 | "nplurals=2; plural=(n != 1);"); 12 | -------------------------------------------------------------------------------- /l10n/zh_TW.php: -------------------------------------------------------------------------------- 1 | "圖片", 4 | "Picture view" => "檢視圖片", 5 | "Next" => "下一個", 6 | "Play" => "播放", 7 | "Pause" => "暫停", 8 | "Previous" => "上一個", 9 | "Close" => " 關閉", 10 | "Error loading slideshow template" => "載入投影片檢視樣板時發生錯誤", 11 | "Share" => "分享", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "找不到圖片! 您使用檔案app上傳的圖片,將會展示在這裡。", 13 | "shared by %s" => "由 %s 分享", 14 | "File list" => "檔案列表" 15 | ); 16 | $PLURAL_FORMS = "nplurals=1; plural=0;"; 17 | -------------------------------------------------------------------------------- /l10n/zh_CN.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "图片", 3 | "Picture view" : "图片查看", 4 | "Next" : "下一个", 5 | "Play" : "播放", 6 | "Pause" : "暂停", 7 | "Previous" : "前一首", 8 | "Close" : "关闭", 9 | "Error loading slideshow template" : "加载幻灯片模板错误", 10 | "Share" : "共享", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "没有图片!您在文件应用中上传的图片将会在这里显示。", 12 | "shared by %s" : "由 %s 共享", 13 | "File list" : "文件列表" 14 | },"pluralForm" :"nplurals=1; plural=0;" 15 | } -------------------------------------------------------------------------------- /l10n/ko.php: -------------------------------------------------------------------------------- 1 | "사진", 4 | "Picture view" => "사진 보기", 5 | "Next" => "다음", 6 | "Play" => "재생", 7 | "Pause" => "일시 정지", 8 | "Previous" => "이전", 9 | "Close" => "닫기", 10 | "Error loading slideshow template" => "슬라이드 쇼 템플릿을 불러오는 중 오류 발생", 11 | "Share" => "공유", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "사진이 없습니다! 파일 앱에서 올린 사진이 여기에 표시됩니다.", 13 | "shared by %s" => "%s 님이 공유함", 14 | "File list" => "파일 목록" 15 | ); 16 | $PLURAL_FORMS = "nplurals=1; plural=0;"; 17 | -------------------------------------------------------------------------------- /l10n/zh_TW.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "圖片", 3 | "Picture view" : "檢視圖片", 4 | "Next" : "下一個", 5 | "Play" : "播放", 6 | "Pause" : "暫停", 7 | "Previous" : "上一個", 8 | "Close" : " 關閉", 9 | "Error loading slideshow template" : "載入投影片檢視樣板時發生錯誤", 10 | "Share" : "分享", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "找不到圖片! 您使用檔案app上傳的圖片,將會展示在這裡。", 12 | "shared by %s" : "由 %s 分享", 13 | "File list" : "檔案列表" 14 | },"pluralForm" :"nplurals=1; plural=0;" 15 | } -------------------------------------------------------------------------------- /l10n/lt_LT.php: -------------------------------------------------------------------------------- 1 | "Nuotraukos", 4 | "Picture view" => "Paveikslėlio rodymas", 5 | "Next" => "Kitas", 6 | "Play" => "Groti", 7 | "Pause" => "Pristabdyti", 8 | "Previous" => "Ankstesnis", 9 | "Close" => "Užverti", 10 | "Error loading slideshow template" => "Klaida pakraunant pristatymą", 11 | "Share" => "Dalintis", 12 | "shared by %s" => "pasidalino %s", 13 | "File list" => "Failų sąrašas" 14 | ); 15 | $PLURAL_FORMS = "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);"; 16 | -------------------------------------------------------------------------------- /appinfo/info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | gallery 4 | Pictures 5 | AGPL 6 | Robin Appelman 7 | 4.93 8 | true 9 | Picture gallery for ownCloud. 10 | 11 | Provides a dedicated view of all images in a grid, adds image viewing capabilities to the files app and adds a gallery view to public links. 12 | 13 | 14 | 15 | 16 | public.php 17 | 18 | 19 | -------------------------------------------------------------------------------- /l10n/ja.php: -------------------------------------------------------------------------------- 1 | "画像", 4 | "Picture view" => "ピクチャービュー", 5 | "Next" => "次", 6 | "Play" => "再生", 7 | "Pause" => "一時停止", 8 | "Previous" => "前", 9 | "Close" => "閉じる", 10 | "Error loading slideshow template" => "スライドショーのテンプレートの読み込みエラー", 11 | "Share" => "共有", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "画像が見つかりませんでした!ファイルアプリでアップロードした画像は、ここに表示されます。", 13 | "shared by %s" => "%s で共有中", 14 | "File list" => "ファイルリスト" 15 | ); 16 | $PLURAL_FORMS = "nplurals=1; plural=0;"; 17 | -------------------------------------------------------------------------------- /l10n/zh_CN.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "图片", 5 | "Picture view" : "图片查看", 6 | "Next" : "下一个", 7 | "Play" : "播放", 8 | "Pause" : "暂停", 9 | "Previous" : "前一首", 10 | "Close" : "关闭", 11 | "Error loading slideshow template" : "加载幻灯片模板错误", 12 | "Share" : "共享", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "没有图片!您在文件应用中上传的图片将会在这里显示。", 14 | "shared by %s" : "由 %s 共享", 15 | "File list" : "文件列表" 16 | }, 17 | "nplurals=1; plural=0;"); 18 | -------------------------------------------------------------------------------- /l10n/ko.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "사진", 3 | "Picture view" : "사진 보기", 4 | "Next" : "다음", 5 | "Play" : "재생", 6 | "Pause" : "일시 정지", 7 | "Previous" : "이전", 8 | "Close" : "닫기", 9 | "Error loading slideshow template" : "슬라이드 쇼 템플릿을 불러오는 중 오류 발생", 10 | "Share" : "공유", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "사진이 없습니다! 파일 앱에서 올린 사진이 여기에 표시됩니다.", 12 | "shared by %s" : "%s 님이 공유함", 13 | "File list" : "파일 목록" 14 | },"pluralForm" :"nplurals=1; plural=0;" 15 | } -------------------------------------------------------------------------------- /l10n/lt_LT.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Nuotraukos", 3 | "Picture view" : "Paveikslėlio rodymas", 4 | "Next" : "Kitas", 5 | "Play" : "Groti", 6 | "Pause" : "Pristabdyti", 7 | "Previous" : "Ankstesnis", 8 | "Close" : "Užverti", 9 | "Error loading slideshow template" : "Klaida pakraunant pristatymą", 10 | "Share" : "Dalintis", 11 | "shared by %s" : "pasidalino %s", 12 | "File list" : "Failų sąrašas" 13 | },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);" 14 | } -------------------------------------------------------------------------------- /l10n/zh_TW.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "圖片", 5 | "Picture view" : "檢視圖片", 6 | "Next" : "下一個", 7 | "Play" : "播放", 8 | "Pause" : "暫停", 9 | "Previous" : "上一個", 10 | "Close" : " 關閉", 11 | "Error loading slideshow template" : "載入投影片檢視樣板時發生錯誤", 12 | "Share" : "分享", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "找不到圖片! 您使用檔案app上傳的圖片,將會展示在這裡。", 14 | "shared by %s" : "由 %s 分享", 15 | "File list" : "檔案列表" 16 | }, 17 | "nplurals=1; plural=0;"); 18 | -------------------------------------------------------------------------------- /l10n/ja.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "画像", 3 | "Picture view" : "ピクチャービュー", 4 | "Next" : "次", 5 | "Play" : "再生", 6 | "Pause" : "一時停止", 7 | "Previous" : "前", 8 | "Close" : "閉じる", 9 | "Error loading slideshow template" : "スライドショーのテンプレートの読み込みエラー", 10 | "Share" : "共有", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "画像が見つかりませんでした!ファイルアプリでアップロードした画像は、ここに表示されます。", 12 | "shared by %s" : "%s で共有中", 13 | "File list" : "ファイルリスト" 14 | },"pluralForm" :"nplurals=1; plural=0;" 15 | } -------------------------------------------------------------------------------- /l10n/ko.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "사진", 5 | "Picture view" : "사진 보기", 6 | "Next" : "다음", 7 | "Play" : "재생", 8 | "Pause" : "일시 정지", 9 | "Previous" : "이전", 10 | "Close" : "닫기", 11 | "Error loading slideshow template" : "슬라이드 쇼 템플릿을 불러오는 중 오류 발생", 12 | "Share" : "공유", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "사진이 없습니다! 파일 앱에서 올린 사진이 여기에 표시됩니다.", 14 | "shared by %s" : "%s 님이 공유함", 15 | "File list" : "파일 목록" 16 | }, 17 | "nplurals=1; plural=0;"); 18 | -------------------------------------------------------------------------------- /l10n/lt_LT.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Nuotraukos", 5 | "Picture view" : "Paveikslėlio rodymas", 6 | "Next" : "Kitas", 7 | "Play" : "Groti", 8 | "Pause" : "Pristabdyti", 9 | "Previous" : "Ankstesnis", 10 | "Close" : "Užverti", 11 | "Error loading slideshow template" : "Klaida pakraunant pristatymą", 12 | "Share" : "Dalintis", 13 | "shared by %s" : "pasidalino %s", 14 | "File list" : "Failų sąrašas" 15 | }, 16 | "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);"); 17 | -------------------------------------------------------------------------------- /ajax/gallery.php: -------------------------------------------------------------------------------- 1 | 4 | * This file is licensed under the Affero General Public License version 3 or 5 | * later. 6 | * See the COPYING-README file. 7 | */ 8 | 9 | OCP\JSON::checkLoggedIn(); 10 | OCP\JSON::checkAppEnabled('gallery'); 11 | 12 | $gallery = $_GET['gallery']; 13 | 14 | $meta = \OC\Files\Filesystem::getFileInfo($gallery); 15 | $data = array(); 16 | $data['fileid'] = $meta['fileid']; 17 | $data['permissions'] = $meta['permissions']; 18 | 19 | OCP\JSON::setContentTypeHeader(); 20 | echo json_encode($data); 21 | -------------------------------------------------------------------------------- /l10n/ja.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "画像", 5 | "Picture view" : "ピクチャービュー", 6 | "Next" : "次", 7 | "Play" : "再生", 8 | "Pause" : "一時停止", 9 | "Previous" : "前", 10 | "Close" : "閉じる", 11 | "Error loading slideshow template" : "スライドショーのテンプレートの読み込みエラー", 12 | "Share" : "共有", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "画像が見つかりませんでした!ファイルアプリでアップロードした画像は、ここに表示されます。", 14 | "shared by %s" : "%s で共有中", 15 | "File list" : "ファイルリスト" 16 | }, 17 | "nplurals=1; plural=0;"); 18 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Pictures 2 | ======= 3 | 4 | ## App unmaintained 5 | 6 | This app is unmaintained and will receive no updates / fixes. 7 | New development takes place within the [galleryplus](https://github.com/owncloud/galleryplus) repository. 8 | 9 | [![Build Status](https://travis-ci.org/owncloud/gallery.svg?branch=master)](https://travis-ci.org/owncloud/gallery) 10 | 11 | Picture gallery for ownCloud. 12 | 13 | Provides a dedicated view of all images in a grid, adds image viewing capabilities to the files app and adds a gallery view to public links. 14 | 15 | ![Screenshot](https://i.imgur.com/zA7ZwJt.png) 16 | -------------------------------------------------------------------------------- /l10n/th_TH.php: -------------------------------------------------------------------------------- 1 | "รูปภาพ", 4 | "Picture view" => "ดูรูปภาพ", 5 | "Next" => "ถัดไป", 6 | "Play" => "เล่น", 7 | "Pause" => "หยุดชั่วคราว", 8 | "Previous" => "ก่อนหน้า", 9 | "Close" => "ปิด", 10 | "Error loading slideshow template" => "เกิดข้อผิดพลาดในการโหลดแม่แบบสไลด์โชว์", 11 | "Share" => "แชร์", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "ไม่พบรูปภาพ! หากคุณอัพโหลดรูปภาพในแอพฯ มันจะแสดงที่นี่", 13 | "shared by %s" => "แชร์โดย %s", 14 | "File list" => "รายชื่อไฟล์" 15 | ); 16 | $PLURAL_FORMS = "nplurals=1; plural=0;"; 17 | -------------------------------------------------------------------------------- /l10n/th_TH.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "รูปภาพ", 3 | "Picture view" : "ดูรูปภาพ", 4 | "Next" : "ถัดไป", 5 | "Play" : "เล่น", 6 | "Pause" : "หยุดชั่วคราว", 7 | "Previous" : "ก่อนหน้า", 8 | "Close" : "ปิด", 9 | "Error loading slideshow template" : "เกิดข้อผิดพลาดในการโหลดแม่แบบสไลด์โชว์", 10 | "Share" : "แชร์", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "ไม่พบรูปภาพ! หากคุณอัพโหลดรูปภาพในแอพฯ มันจะแสดงที่นี่", 12 | "shared by %s" : "แชร์โดย %s", 13 | "File list" : "รายชื่อไฟล์" 14 | },"pluralForm" :"nplurals=1; plural=0;" 15 | } -------------------------------------------------------------------------------- /templates/index.php: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 5 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /l10n/nb_NO.php: -------------------------------------------------------------------------------- 1 | "Bilder", 4 | "Picture view" => "Bildevisning", 5 | "Next" => "Neste", 6 | "Play" => "Spill", 7 | "Pause" => "Pause", 8 | "Previous" => "Forrige", 9 | "Close" => "Lukk", 10 | "Error loading slideshow template" => "Feil ved lasting av mal for lysbildevisning", 11 | "Share" => "Del", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "Ingen bilder funnet! Hvis du laster opp bilder i Filer-appen, vil de vises her.", 13 | "shared by %s" => "delt av %s", 14 | "File list" => "Filliste" 15 | ); 16 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 17 | -------------------------------------------------------------------------------- /l10n/bn_IN.php: -------------------------------------------------------------------------------- 1 | "ছবি", 4 | "Picture view" => "ছবির ভিউ", 5 | "Next" => "পরবর্তী", 6 | "Play" => "প্লে", 7 | "Pause" => "বিরাম", 8 | "Previous" => "পূর্ববর্তী", 9 | "Close" => "বন্ধ", 10 | "Error loading slideshow template" => "স্লাইডশো টেমপ্লেট লোড করতে ত্রুটি ", 11 | "Share" => "শেয়ার", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "কোন ছবি পাওয়া যায় নি!আপনি ফাইল অ্যাপসে ছবি আপলোড করলে, তাদের এখানে প্রদর্শিত করা হবে।", 13 | "shared by %s" => "%s দ্বারা শেয়ার", 14 | "File list" => "ফাইল লিস্ট" 15 | ); 16 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 17 | -------------------------------------------------------------------------------- /l10n/en_GB.php: -------------------------------------------------------------------------------- 1 | "Pictures", 4 | "Picture view" => "Picture view", 5 | "Next" => "Next", 6 | "Play" => "Play", 7 | "Pause" => "Pause", 8 | "Previous" => "Previous", 9 | "Close" => "Close", 10 | "Error loading slideshow template" => "Error loading slideshow template", 11 | "Share" => "Share", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "No pictures found! If you upload pictures in the files app, they will be displayed here.", 13 | "shared by %s" => "shared by %s", 14 | "File list" => "File list" 15 | ); 16 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 17 | -------------------------------------------------------------------------------- /l10n/th_TH.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "รูปภาพ", 5 | "Picture view" : "ดูรูปภาพ", 6 | "Next" : "ถัดไป", 7 | "Play" : "เล่น", 8 | "Pause" : "หยุดชั่วคราว", 9 | "Previous" : "ก่อนหน้า", 10 | "Close" : "ปิด", 11 | "Error loading slideshow template" : "เกิดข้อผิดพลาดในการโหลดแม่แบบสไลด์โชว์", 12 | "Share" : "แชร์", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "ไม่พบรูปภาพ! หากคุณอัพโหลดรูปภาพในแอพฯ มันจะแสดงที่นี่", 14 | "shared by %s" : "แชร์โดย %s", 15 | "File list" : "รายชื่อไฟล์" 16 | }, 17 | "nplurals=1; plural=0;"); 18 | -------------------------------------------------------------------------------- /l10n/da.php: -------------------------------------------------------------------------------- 1 | "Billeder", 4 | "Picture view" => "Billedvisning", 5 | "Next" => "Næste", 6 | "Play" => "Afspil", 7 | "Pause" => "Pause", 8 | "Previous" => "Forrige", 9 | "Close" => "Luk", 10 | "Error loading slideshow template" => "Fejl ved indlæsning af skabelon for diasshow", 11 | "Share" => "Del", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "Ingen billeder fundet! Hvis du uploader billeder i fil-app'en, bliver de vist her. ", 13 | "shared by %s" => "delt af %s", 14 | "File list" => "Filoversigt" 15 | ); 16 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 17 | -------------------------------------------------------------------------------- /l10n/et_EE.php: -------------------------------------------------------------------------------- 1 | "Pildid", 4 | "Picture view" => "Pildi vaade", 5 | "Next" => "Järgmine", 6 | "Play" => "Esita", 7 | "Pause" => "Paus", 8 | "Previous" => "Eelmine", 9 | "Close" => "Sulge", 10 | "Error loading slideshow template" => "Viga slaidiseansi kujunduse valimisel", 11 | "Share" => "Jaga", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "Pilte ei leitud! Kui sa laadid üles pilte failirakenduseda, siis näidatakse neid siin.", 13 | "shared by %s" => "jagas %s", 14 | "File list" => "Failide nimekiri" 15 | ); 16 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 17 | -------------------------------------------------------------------------------- /l10n/nb_NO.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Bilder", 3 | "Picture view" : "Bildevisning", 4 | "Next" : "Neste", 5 | "Play" : "Spill", 6 | "Pause" : "Pause", 7 | "Previous" : "Forrige", 8 | "Close" : "Lukk", 9 | "Error loading slideshow template" : "Feil ved lasting av mal for lysbildevisning", 10 | "Share" : "Del", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Ingen bilder funnet! Hvis du laster opp bilder i Filer-appen, vil de vises her.", 12 | "shared by %s" : "delt av %s", 13 | "File list" : "Filliste" 14 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 15 | } -------------------------------------------------------------------------------- /l10n/sv.php: -------------------------------------------------------------------------------- 1 | "Bilder", 4 | "Picture view" => "Bildvy", 5 | "Next" => "Nästa", 6 | "Play" => "Spela", 7 | "Pause" => "Paus", 8 | "Previous" => "Föregående", 9 | "Close" => "Stäng", 10 | "Error loading slideshow template" => "Fel vid laddning av mallen för bildspelet", 11 | "Share" => "Dela", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "Kan inte hitta några bilder! Om du har laddat upp bilderna med fil-appen, kan de visas här senare.", 13 | "shared by %s" => "delad av %s", 14 | "File list" => "Fillista" 15 | ); 16 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 17 | -------------------------------------------------------------------------------- /l10n/bn_IN.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "ছবি", 3 | "Picture view" : "ছবির ভিউ", 4 | "Next" : "পরবর্তী", 5 | "Play" : "প্লে", 6 | "Pause" : "বিরাম", 7 | "Previous" : "পূর্ববর্তী", 8 | "Close" : "বন্ধ", 9 | "Error loading slideshow template" : "স্লাইডশো টেমপ্লেট লোড করতে ত্রুটি ", 10 | "Share" : "শেয়ার", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "কোন ছবি পাওয়া যায় নি!আপনি ফাইল অ্যাপসে ছবি আপলোড করলে, তাদের এখানে প্রদর্শিত করা হবে।", 12 | "shared by %s" : "%s দ্বারা শেয়ার", 13 | "File list" : "ফাইল লিস্ট" 14 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 15 | } -------------------------------------------------------------------------------- /l10n/en_GB.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Pictures", 3 | "Picture view" : "Picture view", 4 | "Next" : "Next", 5 | "Play" : "Play", 6 | "Pause" : "Pause", 7 | "Previous" : "Previous", 8 | "Close" : "Close", 9 | "Error loading slideshow template" : "Error loading slideshow template", 10 | "Share" : "Share", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "No pictures found! If you upload pictures in the files app, they will be displayed here.", 12 | "shared by %s" : "shared by %s", 13 | "File list" : "File list" 14 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 15 | } -------------------------------------------------------------------------------- /l10n/bn_BD.php: -------------------------------------------------------------------------------- 1 | "চিত্রসমূহ", 4 | "Picture view" => "চিত্র দর্শন", 5 | "Next" => "পরবর্তী", 6 | "Play" => "বাজাও", 7 | "Pause" => "বিরতি", 8 | "Previous" => "পূর্ববর্তী", 9 | "Close" => "বন্ধ", 10 | "Error loading slideshow template" => "স্লাইডশো টেমপ্লেট লোড করতে সমস্যা হচ্ছে", 11 | "Share" => "ভাগাভাগি কর", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "কোন চিত্র পাওয়া গেলনা! ফাইল অ্যাপে চিত্র আপলোড করলে তা এখানে প্রদর্শিত হবে।", 13 | "shared by %s" => "%s দ্বারা ভাগাভাগিকৃত", 14 | "File list" => "ফাইল তালিকা" 15 | ); 16 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 17 | -------------------------------------------------------------------------------- /l10n/da.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Billeder", 3 | "Picture view" : "Billedvisning", 4 | "Next" : "Næste", 5 | "Play" : "Afspil", 6 | "Pause" : "Pause", 7 | "Previous" : "Forrige", 8 | "Close" : "Luk", 9 | "Error loading slideshow template" : "Fejl ved indlæsning af skabelon for diasshow", 10 | "Share" : "Del", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Ingen billeder fundet! Hvis du uploader billeder i fil-app'en, bliver de vist her. ", 12 | "shared by %s" : "delt af %s", 13 | "File list" : "Filoversigt" 14 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 15 | } -------------------------------------------------------------------------------- /l10n/et_EE.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Pildid", 3 | "Picture view" : "Pildi vaade", 4 | "Next" : "Järgmine", 5 | "Play" : "Esita", 6 | "Pause" : "Paus", 7 | "Previous" : "Eelmine", 8 | "Close" : "Sulge", 9 | "Error loading slideshow template" : "Viga slaidiseansi kujunduse valimisel", 10 | "Share" : "Jaga", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Pilte ei leitud! Kui sa laadid üles pilte failirakenduseda, siis näidatakse neid siin.", 12 | "shared by %s" : "jagas %s", 13 | "File list" : "Failide nimekiri" 14 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 15 | } -------------------------------------------------------------------------------- /l10n/fi_FI.php: -------------------------------------------------------------------------------- 1 | "Kuvat", 4 | "Picture view" => "Kuvanäkymä", 5 | "Next" => "Seuraava", 6 | "Play" => "Toista", 7 | "Pause" => "Keskeytä", 8 | "Previous" => "Edellinen", 9 | "Close" => "Sulje", 10 | "Error loading slideshow template" => "Virhe ladatessa diaesityksen mallipohjaa", 11 | "Share" => "Jaa", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "Kuvia ei löytynyt! Jos lähetät kuvia tiedostosovelluksen kautta, kuvat näytetään täällä.", 13 | "shared by %s" => "jakanut %s", 14 | "File list" => "Tiedostoluettelo" 15 | ); 16 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 17 | -------------------------------------------------------------------------------- /l10n/tr.php: -------------------------------------------------------------------------------- 1 | "Resimler", 4 | "Picture view" => "Resim görünümü", 5 | "Next" => "Sonraki", 6 | "Play" => "Oynat", 7 | "Pause" => "Duraklat", 8 | "Previous" => "Önceki", 9 | "Close" => "Kapat", 10 | "Error loading slideshow template" => "Slayt gösteri şablonu yüklenirken hata", 11 | "Share" => "Paylaş", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "Hiç resim bulunamadı! Dosyalar uygulaması ile resim yüklediğinizde, burada gösterilecekler.", 13 | "shared by %s" => "paylaşan: %s", 14 | "File list" => "Dosya listesi" 15 | ); 16 | $PLURAL_FORMS = "nplurals=2; plural=(n > 1);"; 17 | -------------------------------------------------------------------------------- /l10n/de.php: -------------------------------------------------------------------------------- 1 | "Bilder", 4 | "Picture view" => "Bildansicht", 5 | "Next" => "Weiter", 6 | "Play" => "Abspielen", 7 | "Pause" => "Anhalten", 8 | "Previous" => "Zurück", 9 | "Close" => "Schließen", 10 | "Error loading slideshow template" => "Fehler beim Laden der Slideshow-Vorlage", 11 | "Share" => "Teilen", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "Keine Bilder gefunden! Wenn Du Bilder in die Dateien-App hochlädst, werden diese hier angezeigt.", 13 | "shared by %s" => "Geteilt von %s", 14 | "File list" => "Dateiliste" 15 | ); 16 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 17 | -------------------------------------------------------------------------------- /l10n/sv.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Bilder", 3 | "Picture view" : "Bildvy", 4 | "Next" : "Nästa", 5 | "Play" : "Spela", 6 | "Pause" : "Paus", 7 | "Previous" : "Föregående", 8 | "Close" : "Stäng", 9 | "Error loading slideshow template" : "Fel vid laddning av mallen för bildspelet", 10 | "Share" : "Dela", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Kan inte hitta några bilder! Om du har laddat upp bilderna med fil-appen, kan de visas här senare.", 12 | "shared by %s" : "delad av %s", 13 | "File list" : "Fillista" 14 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 15 | } -------------------------------------------------------------------------------- /l10n/vi.php: -------------------------------------------------------------------------------- 1 | "Hình ảnh", 4 | "Picture view" => "Xem h", 5 | "Next" => "Kế tiếp", 6 | "Play" => "Play", 7 | "Pause" => "Tạm dừng", 8 | "Previous" => "Lùi lại", 9 | "Close" => "Đóng", 10 | "Error loading slideshow template" => "Lỗi khi tải mẫu Slidesh", 11 | "Share" => "Chia sẻ", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "Không có hình ảnh được tìm thấy! Nếu bạn tải lên hình ảnh trong các ứng dụng tập tin, chúng sẽ được hiển thị ở đây.", 13 | "shared by %s" => " Được chia sẻ bởi %s", 14 | "File list" => "Danh sách tập t" 15 | ); 16 | $PLURAL_FORMS = "nplurals=1; plural=0;"; 17 | -------------------------------------------------------------------------------- /l10n/bg_BG.php: -------------------------------------------------------------------------------- 1 | "Снимки", 4 | "Picture view" => "Албум със снимки", 5 | "Next" => "Следваща", 6 | "Play" => "Пусни", 7 | "Pause" => "Пауза", 8 | "Previous" => "Предишна", 9 | "Close" => "Затвори", 10 | "Error loading slideshow template" => "Грешка при зареждане на шаблон за слайдшоу.", 11 | "Share" => "Сподели", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "Няма открити снимки! Ако качиш снимки в програмата файлове, те ще бъдат показани тук.", 13 | "shared by %s" => "споделено от %s", 14 | "File list" => "Списък с файлове" 15 | ); 16 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 17 | -------------------------------------------------------------------------------- /l10n/de_DE.php: -------------------------------------------------------------------------------- 1 | "Bilder", 4 | "Picture view" => "Bildansicht", 5 | "Next" => "Weiter", 6 | "Play" => "Abspielen", 7 | "Pause" => "Anhalten", 8 | "Previous" => "Zurück", 9 | "Close" => "Schließen", 10 | "Error loading slideshow template" => "Fehler beim Laden der Slideshow-Vorlage", 11 | "Share" => "Teilen", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "Keine Bilder gefunden! Wenn Sie Bilder in die Dateien-App hochladen, werden diese hier angezeigt.", 13 | "shared by %s" => "Geteilt von %s", 14 | "File list" => "Dateiliste" 15 | ); 16 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 17 | -------------------------------------------------------------------------------- /l10n/nb_NO.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Bilder", 5 | "Picture view" : "Bildevisning", 6 | "Next" : "Neste", 7 | "Play" : "Spill", 8 | "Pause" : "Pause", 9 | "Previous" : "Forrige", 10 | "Close" : "Lukk", 11 | "Error loading slideshow template" : "Feil ved lasting av mal for lysbildevisning", 12 | "Share" : "Del", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Ingen bilder funnet! Hvis du laster opp bilder i Filer-appen, vil de vises her.", 14 | "shared by %s" : "delt av %s", 15 | "File list" : "Filliste" 16 | }, 17 | "nplurals=2; plural=(n != 1);"); 18 | -------------------------------------------------------------------------------- /l10n/sk_SK.php: -------------------------------------------------------------------------------- 1 | "Obrázky", 4 | "Picture view" => "Zobrazenie obrázka", 5 | "Next" => "Ďalšia", 6 | "Play" => "Prehrať", 7 | "Pause" => "Pauza", 8 | "Previous" => "Predošlá", 9 | "Close" => "Zavrieť", 10 | "Error loading slideshow template" => "Chyba pri načítaní šablóny prezentácie", 11 | "Share" => "Zdieľať", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "Nenájdené žiadne obrázky! Ak nejaké nahráte, budú zobrazené tu.", 13 | "shared by %s" => "Zdieľané od %s", 14 | "File list" => "Zoznam súborov" 15 | ); 16 | $PLURAL_FORMS = "nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"; 17 | -------------------------------------------------------------------------------- /l10n/bn_BD.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "চিত্রসমূহ", 3 | "Picture view" : "চিত্র দর্শন", 4 | "Next" : "পরবর্তী", 5 | "Play" : "বাজাও", 6 | "Pause" : "বিরতি", 7 | "Previous" : "পূর্ববর্তী", 8 | "Close" : "বন্ধ", 9 | "Error loading slideshow template" : "স্লাইডশো টেমপ্লেট লোড করতে সমস্যা হচ্ছে", 10 | "Share" : "ভাগাভাগি কর", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "কোন চিত্র পাওয়া গেলনা! ফাইল অ্যাপে চিত্র আপলোড করলে তা এখানে প্রদর্শিত হবে।", 12 | "shared by %s" : "%s দ্বারা ভাগাভাগিকৃত", 13 | "File list" : "ফাইল তালিকা" 14 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 15 | } -------------------------------------------------------------------------------- /l10n/bn_IN.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "ছবি", 5 | "Picture view" : "ছবির ভিউ", 6 | "Next" : "পরবর্তী", 7 | "Play" : "প্লে", 8 | "Pause" : "বিরাম", 9 | "Previous" : "পূর্ববর্তী", 10 | "Close" : "বন্ধ", 11 | "Error loading slideshow template" : "স্লাইডশো টেমপ্লেট লোড করতে ত্রুটি ", 12 | "Share" : "শেয়ার", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "কোন ছবি পাওয়া যায় নি!আপনি ফাইল অ্যাপসে ছবি আপলোড করলে, তাদের এখানে প্রদর্শিত করা হবে।", 14 | "shared by %s" : "%s দ্বারা শেয়ার", 15 | "File list" : "ফাইল লিস্ট" 16 | }, 17 | "nplurals=2; plural=(n != 1);"); 18 | -------------------------------------------------------------------------------- /l10n/en_GB.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Pictures", 5 | "Picture view" : "Picture view", 6 | "Next" : "Next", 7 | "Play" : "Play", 8 | "Pause" : "Pause", 9 | "Previous" : "Previous", 10 | "Close" : "Close", 11 | "Error loading slideshow template" : "Error loading slideshow template", 12 | "Share" : "Share", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "No pictures found! If you upload pictures in the files app, they will be displayed here.", 14 | "shared by %s" : "shared by %s", 15 | "File list" : "File list" 16 | }, 17 | "nplurals=2; plural=(n != 1);"); 18 | -------------------------------------------------------------------------------- /l10n/fi_FI.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Kuvat", 3 | "Picture view" : "Kuvanäkymä", 4 | "Next" : "Seuraava", 5 | "Play" : "Toista", 6 | "Pause" : "Keskeytä", 7 | "Previous" : "Edellinen", 8 | "Close" : "Sulje", 9 | "Error loading slideshow template" : "Virhe ladatessa diaesityksen mallipohjaa", 10 | "Share" : "Jaa", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Kuvia ei löytynyt! Jos lähetät kuvia tiedostosovelluksen kautta, kuvat näytetään täällä.", 12 | "shared by %s" : "jakanut %s", 13 | "File list" : "Tiedostoluettelo" 14 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 15 | } -------------------------------------------------------------------------------- /l10n/nl.php: -------------------------------------------------------------------------------- 1 | "Afbeeldingen", 4 | "Picture view" => "Afbeeldingenoverzicht", 5 | "Next" => "Volgende", 6 | "Play" => "Afspelen", 7 | "Pause" => "Pauze", 8 | "Previous" => "Vorige", 9 | "Close" => "Sluiten", 10 | "Error loading slideshow template" => "Fout bij laden diashow sjabloon", 11 | "Share" => "Delen", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "Geen afbeeldingen gevonden! Als u afbeeldingen upload in de bestandsapp, worden ze hier getoond.", 13 | "shared by %s" => "gedeeld door %s", 14 | "File list" => "Bestandenlijst" 15 | ); 16 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 17 | -------------------------------------------------------------------------------- /l10n/tr.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Resimler", 3 | "Picture view" : "Resim görünümü", 4 | "Next" : "Sonraki", 5 | "Play" : "Oynat", 6 | "Pause" : "Duraklat", 7 | "Previous" : "Önceki", 8 | "Close" : "Kapat", 9 | "Error loading slideshow template" : "Slayt gösteri şablonu yüklenirken hata", 10 | "Share" : "Paylaş", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Hiç resim bulunamadı! Dosyalar uygulaması ile resim yüklediğinizde, burada gösterilecekler.", 12 | "shared by %s" : "paylaşan: %s", 13 | "File list" : "Dosya listesi" 14 | },"pluralForm" :"nplurals=2; plural=(n > 1);" 15 | } -------------------------------------------------------------------------------- /index.php: -------------------------------------------------------------------------------- 1 | 4 | * This file is licensed under the Affero General Public License version 3 or 5 | * later. 6 | * See the COPYING-README file. 7 | */ 8 | 9 | OCP\User::checkLoggedIn(); 10 | OCP\App::checkAppEnabled('gallery'); 11 | OCP\App::setActiveNavigationEntry('gallery_index'); 12 | 13 | OCP\Util::addStyle('gallery', 'styles'); 14 | OCP\Util::addStyle('gallery', 'mobile'); 15 | 16 | OCP\Util::addScript('gallery', 'album'); 17 | OCP\Util::addScript('gallery', 'gallery'); 18 | OCP\Util::addScript('gallery', 'thumbnail'); 19 | 20 | $tmpl = new OCP\Template('gallery', 'index', 'user'); 21 | $tmpl->printPage(); 22 | -------------------------------------------------------------------------------- /l10n/ast.php: -------------------------------------------------------------------------------- 1 | "Semeyes", 4 | "Picture view" => "Vista d'imáxenes", 5 | "Next" => "Siguiente", 6 | "Play" => "Reproducir", 7 | "Pause" => "Posar", 8 | "Previous" => "Anterior", 9 | "Close" => "Zarrar", 10 | "Error loading slideshow template" => "Fallu al cargar la plantía de diapositives", 11 | "Share" => "Compartir", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "¡Nun s'alcontraron semeyes! Si xubes les semeyes na app de ficheros, van amosase equí.", 13 | "shared by %s" => "compartíu por %s", 14 | "File list" => "Llista de ficheros" 15 | ); 16 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 17 | -------------------------------------------------------------------------------- /l10n/da.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Billeder", 5 | "Picture view" : "Billedvisning", 6 | "Next" : "Næste", 7 | "Play" : "Afspil", 8 | "Pause" : "Pause", 9 | "Previous" : "Forrige", 10 | "Close" : "Luk", 11 | "Error loading slideshow template" : "Fejl ved indlæsning af skabelon for diasshow", 12 | "Share" : "Del", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Ingen billeder fundet! Hvis du uploader billeder i fil-app'en, bliver de vist her. ", 14 | "shared by %s" : "delt af %s", 15 | "File list" : "Filoversigt" 16 | }, 17 | "nplurals=2; plural=(n != 1);"); 18 | -------------------------------------------------------------------------------- /l10n/de.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Bilder", 3 | "Picture view" : "Bildansicht", 4 | "Next" : "Weiter", 5 | "Play" : "Abspielen", 6 | "Pause" : "Anhalten", 7 | "Previous" : "Zurück", 8 | "Close" : "Schließen", 9 | "Error loading slideshow template" : "Fehler beim Laden der Slideshow-Vorlage", 10 | "Share" : "Teilen", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Keine Bilder gefunden! Wenn Du Bilder in die Dateien-App hochlädst, werden diese hier angezeigt.", 12 | "shared by %s" : "Geteilt von %s", 13 | "File list" : "Dateiliste" 14 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 15 | } -------------------------------------------------------------------------------- /l10n/eo.php: -------------------------------------------------------------------------------- 1 | "Bildoj", 4 | "Picture view" => "Bilda vido", 5 | "Next" => "Sekva", 6 | "Play" => "Ludi", 7 | "Pause" => "Paŭzigi", 8 | "Previous" => "Antaŭa", 9 | "Close" => "Fermi", 10 | "Error loading slideshow template" => "Eraro dum ŝargado de ŝablono pri lumbilda prezento", 11 | "Share" => "Kunhavigi", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "Neniu bildo trovita! Se vi alŝutas bildojn en la aplikaĵo Dosieroj, ili estos montritaj ĉi tie.", 13 | "shared by %s" => "kunhavigita de %s", 14 | "File list" => "Listo de dosieroj" 15 | ); 16 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 17 | -------------------------------------------------------------------------------- /l10n/et_EE.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Pildid", 5 | "Picture view" : "Pildi vaade", 6 | "Next" : "Järgmine", 7 | "Play" : "Esita", 8 | "Pause" : "Paus", 9 | "Previous" : "Eelmine", 10 | "Close" : "Sulge", 11 | "Error loading slideshow template" : "Viga slaidiseansi kujunduse valimisel", 12 | "Share" : "Jaga", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Pilte ei leitud! Kui sa laadid üles pilte failirakenduseda, siis näidatakse neid siin.", 14 | "shared by %s" : "jagas %s", 15 | "File list" : "Failide nimekiri" 16 | }, 17 | "nplurals=2; plural=(n != 1);"); 18 | -------------------------------------------------------------------------------- /l10n/gl.php: -------------------------------------------------------------------------------- 1 | "Imaxes", 4 | "Picture view" => "Ver imaxes", 5 | "Next" => "Seguinte", 6 | "Play" => "Reproducir", 7 | "Pause" => "Pausa", 8 | "Previous" => "Anterior", 9 | "Close" => "Pechar", 10 | "Error loading slideshow template" => "Produciuse un erro ao cargar o modelo do diaporama", 11 | "Share" => "Compartir", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "Non se atoparon imaxes! Se envía imaxes coas aplicacións de ficheiros, amosaranse aquí.", 13 | "shared by %s" => "compartido por %s", 14 | "File list" => "Lista de ficheiros" 15 | ); 16 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 17 | -------------------------------------------------------------------------------- /l10n/vi.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Hình ảnh", 3 | "Picture view" : "Xem h", 4 | "Next" : "Kế tiếp", 5 | "Play" : "Play", 6 | "Pause" : "Tạm dừng", 7 | "Previous" : "Lùi lại", 8 | "Close" : "Đóng", 9 | "Error loading slideshow template" : "Lỗi khi tải mẫu Slidesh", 10 | "Share" : "Chia sẻ", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Không có hình ảnh được tìm thấy! Nếu bạn tải lên hình ảnh trong các ứng dụng tập tin, chúng sẽ được hiển thị ở đây.", 12 | "shared by %s" : " Được chia sẻ bởi %s", 13 | "File list" : "Danh sách tập t" 14 | },"pluralForm" :"nplurals=1; plural=0;" 15 | } -------------------------------------------------------------------------------- /l10n/bg_BG.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Снимки", 3 | "Picture view" : "Албум със снимки", 4 | "Next" : "Следваща", 5 | "Play" : "Пусни", 6 | "Pause" : "Пауза", 7 | "Previous" : "Предишна", 8 | "Close" : "Затвори", 9 | "Error loading slideshow template" : "Грешка при зареждане на шаблон за слайдшоу.", 10 | "Share" : "Сподели", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Няма открити снимки! Ако качиш снимки в програмата файлове, те ще бъдат показани тук.", 12 | "shared by %s" : "споделено от %s", 13 | "File list" : "Списък с файлове" 14 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 15 | } -------------------------------------------------------------------------------- /l10n/de_DE.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Bilder", 3 | "Picture view" : "Bildansicht", 4 | "Next" : "Weiter", 5 | "Play" : "Abspielen", 6 | "Pause" : "Anhalten", 7 | "Previous" : "Zurück", 8 | "Close" : "Schließen", 9 | "Error loading slideshow template" : "Fehler beim Laden der Slideshow-Vorlage", 10 | "Share" : "Teilen", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Keine Bilder gefunden! Wenn Sie Bilder in die Dateien-App hochladen, werden diese hier angezeigt.", 12 | "shared by %s" : "Geteilt von %s", 13 | "File list" : "Dateiliste" 14 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 15 | } -------------------------------------------------------------------------------- /l10n/fa.php: -------------------------------------------------------------------------------- 1 | "تصاویر", 4 | "Picture view" => "نمایش تصویر", 5 | "Next" => "بعدی", 6 | "Play" => "پخش کردن", 7 | "Pause" => "توقف کردن", 8 | "Previous" => "قبلی", 9 | "Close" => "بستن", 10 | "Error loading slideshow template" => "خطا در بارگذاری قالب نمایش به صورت اسلاید", 11 | "Share" => "اشتراک‌گذاری", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "تصویری یافت نشد ! تصاویر در اینجا به نمایش در خواهند آمد در صورتی که شما آن ها را در اپ files آپلود کنید .", 13 | "shared by %s" => "به اشتراک گذاشته شده توسط %s", 14 | "File list" => "لیست فایل ها" 15 | ); 16 | $PLURAL_FORMS = "nplurals=1; plural=0;"; 17 | -------------------------------------------------------------------------------- /l10n/hu_HU.php: -------------------------------------------------------------------------------- 1 | "Képek", 4 | "Picture view" => "Képnézet", 5 | "Next" => "Következő", 6 | "Play" => "Lejátszás", 7 | "Pause" => "Szünet", 8 | "Previous" => "Előző", 9 | "Close" => "Bezárás", 10 | "Error loading slideshow template" => "Hiba történt a diasor sablonjának betöltésekor", 11 | "Share" => "Megosztás", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "Nincsenek képek! Ha a \"Fájlkezelő\" alkalmazással képeket tölt fel, akkor azok itt megtekinthetők lesznek.", 13 | "shared by %s" => "Megosztotta: %s", 14 | "File list" => "Fájllista" 15 | ); 16 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 17 | -------------------------------------------------------------------------------- /l10n/id.php: -------------------------------------------------------------------------------- 1 | "Gambar", 4 | "Picture view" => "Tampilan gambar", 5 | "Next" => "Berikutnya", 6 | "Play" => "Putar", 7 | "Pause" => "Jeda", 8 | "Previous" => "Sebelumnya", 9 | "Close" => "Tutup", 10 | "Error loading slideshow template" => "Kesalahan saat memuat templat slideshow", 11 | "Share" => "Bagikan", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "Tidak ada gambar yang ditemukan! Jika Anda mengunggah gambar ke aplikasi berkas. mereka akan ditampilkan disini.", 13 | "shared by %s" => "dibagikan oleh %s", 14 | "File list" => "Daftar berkas" 15 | ); 16 | $PLURAL_FORMS = "nplurals=1; plural=0;"; 17 | -------------------------------------------------------------------------------- /l10n/pt_BR.php: -------------------------------------------------------------------------------- 1 | "Imagens", 4 | "Picture view" => "Visualizar foto", 5 | "Next" => "Próxima", 6 | "Play" => "Reproduzir", 7 | "Pause" => "Pausa", 8 | "Previous" => "Anterior", 9 | "Close" => "Fechar", 10 | "Error loading slideshow template" => "Erro ao carregar o modelo de slideshow", 11 | "Share" => "Compartilhar", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "Nenhuma foto foi encontrada! Se você enviar fotos no app arquivos, eles serão exibidos aqui.", 13 | "shared by %s" => "compartilhado por %s", 14 | "File list" => "Lista de arquivo" 15 | ); 16 | $PLURAL_FORMS = "nplurals=2; plural=(n > 1);"; 17 | -------------------------------------------------------------------------------- /l10n/sk_SK.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Obrázky", 3 | "Picture view" : "Zobrazenie obrázka", 4 | "Next" : "Ďalšia", 5 | "Play" : "Prehrať", 6 | "Pause" : "Pauza", 7 | "Previous" : "Predošlá", 8 | "Close" : "Zavrieť", 9 | "Error loading slideshow template" : "Chyba pri načítaní šablóny prezentácie", 10 | "Share" : "Zdieľať", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Nenájdené žiadne obrázky! Ak nejaké nahráte, budú zobrazené tu.", 12 | "shared by %s" : "Zdieľané od %s", 13 | "File list" : "Zoznam súborov" 14 | },"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" 15 | } -------------------------------------------------------------------------------- /l10n/sv.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Bilder", 5 | "Picture view" : "Bildvy", 6 | "Next" : "Nästa", 7 | "Play" : "Spela", 8 | "Pause" : "Paus", 9 | "Previous" : "Föregående", 10 | "Close" : "Stäng", 11 | "Error loading slideshow template" : "Fel vid laddning av mallen för bildspelet", 12 | "Share" : "Dela", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Kan inte hitta några bilder! Om du har laddat upp bilderna med fil-appen, kan de visas här senare.", 14 | "shared by %s" : "delad av %s", 15 | "File list" : "Fillista" 16 | }, 17 | "nplurals=2; plural=(n != 1);"); 18 | -------------------------------------------------------------------------------- /l10n/az.php: -------------------------------------------------------------------------------- 1 | "Şəkillər", 4 | "Picture view" => "Şəkilə baxış", 5 | "Next" => "Növbəti", 6 | "Play" => "Oxu", 7 | "Pause" => "Ara ver", 8 | "Previous" => "Əvvələ", 9 | "Close" => "Bağla", 10 | "Error loading slideshow template" => "Slideshow şablonun yüklənməsində səhv baş verdi", 11 | "Share" => "Yayımla", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "Şəkil tapılmadı! Əgər siz şəkillərinizi fayllar proqramına əlavə etmisinizsə, onlar burda göstəriləcək.", 13 | "shared by %s" => "%s tərəfindən yayımlanıb", 14 | "File list" => "Fayl siyahısı" 15 | ); 16 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 17 | -------------------------------------------------------------------------------- /l10n/ca.php: -------------------------------------------------------------------------------- 1 | "Fotos", 4 | "Picture view" => "Mostra fotos", 5 | "Next" => "Següent", 6 | "Play" => "Reprodueix", 7 | "Pause" => "Pausa", 8 | "Previous" => "Anterior", 9 | "Close" => "Tanca", 10 | "Error loading slideshow template" => "Error en carregar la plantilla de presentació amb diapositives", 11 | "Share" => "Comparteix", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "No s'han trobat imatges! Si pugeu imatges a l'aplicació de fitxers, es mostraran aquí.", 13 | "shared by %s" => "compartit per %s", 14 | "File list" => "Llista de fitxers" 15 | ); 16 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 17 | -------------------------------------------------------------------------------- /l10n/es.php: -------------------------------------------------------------------------------- 1 | "Imágenes", 4 | "Picture view" => "Vista de imágenes", 5 | "Next" => "Siguiente", 6 | "Play" => "Reproducir", 7 | "Pause" => "Pausa", 8 | "Previous" => "Anterior", 9 | "Close" => "Cerrar", 10 | "Error loading slideshow template" => "Error al cargar la plantilla de presentación", 11 | "Share" => "Compartir", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "¡No se encontraron imágenes! Si carga imágenes en la aplicación de archivos, se mostrarán aquí.", 13 | "shared by %s" => "Compartido por %s", 14 | "File list" => "Lista de archivos" 15 | ); 16 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 17 | -------------------------------------------------------------------------------- /l10n/eu.php: -------------------------------------------------------------------------------- 1 | "Argazkiak", 4 | "Picture view" => "Irudi bistaratzea", 5 | "Next" => "Hurrengoa", 6 | "Play" => "Erreproduzitu", 7 | "Pause" => "Pausarazi", 8 | "Previous" => "Aurrekoa", 9 | "Close" => "Itxi", 10 | "Error loading slideshow template" => "Errorea aurkezpen txantiloia kargatzean", 11 | "Share" => "Elkarbanatu", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "Ez da argazkirik aurkitu! Argazkiak fitxategi aplikazioan igoz gero, hemen argertuko dira.", 13 | "shared by %s" => "%sk partekatuta", 14 | "File list" => "Fitxategi zerrenda" 15 | ); 16 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 17 | -------------------------------------------------------------------------------- /l10n/nl.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Afbeeldingen", 3 | "Picture view" : "Afbeeldingenoverzicht", 4 | "Next" : "Volgende", 5 | "Play" : "Afspelen", 6 | "Pause" : "Pauze", 7 | "Previous" : "Vorige", 8 | "Close" : "Sluiten", 9 | "Error loading slideshow template" : "Fout bij laden diashow sjabloon", 10 | "Share" : "Delen", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Geen afbeeldingen gevonden! Als u afbeeldingen upload in de bestandsapp, worden ze hier getoond.", 12 | "shared by %s" : "gedeeld door %s", 13 | "File list" : "Bestandenlijst" 14 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 15 | } -------------------------------------------------------------------------------- /img/gallery.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /l10n/ast.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Semeyes", 3 | "Picture view" : "Vista d'imáxenes", 4 | "Next" : "Siguiente", 5 | "Play" : "Reproducir", 6 | "Pause" : "Posar", 7 | "Previous" : "Anterior", 8 | "Close" : "Zarrar", 9 | "Error loading slideshow template" : "Fallu al cargar la plantía de diapositives", 10 | "Share" : "Compartir", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "¡Nun s'alcontraron semeyes! Si xubes les semeyes na app de ficheros, van amosase equí.", 12 | "shared by %s" : "compartíu por %s", 13 | "File list" : "Llista de ficheros" 14 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 15 | } -------------------------------------------------------------------------------- /l10n/bn_BD.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "চিত্রসমূহ", 5 | "Picture view" : "চিত্র দর্শন", 6 | "Next" : "পরবর্তী", 7 | "Play" : "বাজাও", 8 | "Pause" : "বিরতি", 9 | "Previous" : "পূর্ববর্তী", 10 | "Close" : "বন্ধ", 11 | "Error loading slideshow template" : "স্লাইডশো টেমপ্লেট লোড করতে সমস্যা হচ্ছে", 12 | "Share" : "ভাগাভাগি কর", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "কোন চিত্র পাওয়া গেলনা! ফাইল অ্যাপে চিত্র আপলোড করলে তা এখানে প্রদর্শিত হবে।", 14 | "shared by %s" : "%s দ্বারা ভাগাভাগিকৃত", 15 | "File list" : "ফাইল তালিকা" 16 | }, 17 | "nplurals=2; plural=(n != 1);"); 18 | -------------------------------------------------------------------------------- /l10n/cs_CZ.php: -------------------------------------------------------------------------------- 1 | "Obrázky", 4 | "Picture view" => "Zobrazení obrázku", 5 | "Next" => "Následující", 6 | "Play" => "Přehrát", 7 | "Pause" => "Pozastavit", 8 | "Previous" => "Předchozí", 9 | "Close" => "Zavřít", 10 | "Error loading slideshow template" => "Chyba při načítání šablony prezentace", 11 | "Share" => "Sdílet", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "Nebyly nalezeny žádné obrázky! Pokud nahrajete soubory s obrázky, budou zobrazeny zde.", 13 | "shared by %s" => "sdíleno %s", 14 | "File list" => "Seznam souborů" 15 | ); 16 | $PLURAL_FORMS = "nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"; 17 | -------------------------------------------------------------------------------- /l10n/el.php: -------------------------------------------------------------------------------- 1 | "Εικόνες", 4 | "Picture view" => "Προβολή εικονιδίων", 5 | "Next" => "Επόμενο", 6 | "Play" => "Αναπαραγωγή", 7 | "Pause" => "Παύση", 8 | "Previous" => "Προηγούμενο", 9 | "Close" => "Κλείσιμο", 10 | "Error loading slideshow template" => "Σφάλμα φόρτωσης προτύπου προβολής διαφανειών", 11 | "Share" => "Διαμοιρασμός", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "Δεν βρέθηκαν εικόνες! Εάν μεταφορτώσετε εικόνες στην εφαρμογή αρχείων, θα εμφανιστούν εδώ.", 13 | "shared by %s" => "διαμοιράστηκε από %s", 14 | "File list" => "Λίστα αρχείων" 15 | ); 16 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 17 | -------------------------------------------------------------------------------- /l10n/eo.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Bildoj", 3 | "Picture view" : "Bilda vido", 4 | "Next" : "Sekva", 5 | "Play" : "Ludi", 6 | "Pause" : "Paŭzigi", 7 | "Previous" : "Antaŭa", 8 | "Close" : "Fermi", 9 | "Error loading slideshow template" : "Eraro dum ŝargado de ŝablono pri lumbilda prezento", 10 | "Share" : "Kunhavigi", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Neniu bildo trovita! Se vi alŝutas bildojn en la aplikaĵo Dosieroj, ili estos montritaj ĉi tie.", 12 | "shared by %s" : "kunhavigita de %s", 13 | "File list" : "Listo de dosieroj" 14 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 15 | } -------------------------------------------------------------------------------- /l10n/fi_FI.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Kuvat", 5 | "Picture view" : "Kuvanäkymä", 6 | "Next" : "Seuraava", 7 | "Play" : "Toista", 8 | "Pause" : "Keskeytä", 9 | "Previous" : "Edellinen", 10 | "Close" : "Sulje", 11 | "Error loading slideshow template" : "Virhe ladatessa diaesityksen mallipohjaa", 12 | "Share" : "Jaa", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Kuvia ei löytynyt! Jos lähetät kuvia tiedostosovelluksen kautta, kuvat näytetään täällä.", 14 | "shared by %s" : "jakanut %s", 15 | "File list" : "Tiedostoluettelo" 16 | }, 17 | "nplurals=2; plural=(n != 1);"); 18 | -------------------------------------------------------------------------------- /l10n/gl.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Imaxes", 3 | "Picture view" : "Ver imaxes", 4 | "Next" : "Seguinte", 5 | "Play" : "Reproducir", 6 | "Pause" : "Pausa", 7 | "Previous" : "Anterior", 8 | "Close" : "Pechar", 9 | "Error loading slideshow template" : "Produciuse un erro ao cargar o modelo do diaporama", 10 | "Share" : "Compartir", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Non se atoparon imaxes! Se envía imaxes coas aplicacións de ficheiros, amosaranse aquí.", 12 | "shared by %s" : "compartido por %s", 13 | "File list" : "Lista de ficheiros" 14 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 15 | } -------------------------------------------------------------------------------- /l10n/sq.php: -------------------------------------------------------------------------------- 1 | "Foto", 4 | "Picture view" => "Vezhgo fotografine", 5 | "Next" => "Mëpasshëm", 6 | "Play" => "Luaj", 7 | "Pause" => "Pauzë", 8 | "Previous" => "Mëparshëm", 9 | "Close" => "Mbyll", 10 | "Error loading slideshow template" => "Veprim i gabuar gjatë ngarkimit të modelit të shfaqjes së diapozitivave", 11 | "Share" => "Nda", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "Nuk u gjetën foto! Nëse ju ngarkoni foto në aplikacionin e skedarëve, ato do të shfaqen këtu.", 13 | "shared by %s" => "ndarë nga %s", 14 | "File list" => "Lista skedarëve" 15 | ); 16 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 17 | -------------------------------------------------------------------------------- /l10n/tr.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Resimler", 5 | "Picture view" : "Resim görünümü", 6 | "Next" : "Sonraki", 7 | "Play" : "Oynat", 8 | "Pause" : "Duraklat", 9 | "Previous" : "Önceki", 10 | "Close" : "Kapat", 11 | "Error loading slideshow template" : "Slayt gösteri şablonu yüklenirken hata", 12 | "Share" : "Paylaş", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Hiç resim bulunamadı! Dosyalar uygulaması ile resim yüklediğinizde, burada gösterilecekler.", 14 | "shared by %s" : "paylaşan: %s", 15 | "File list" : "Dosya listesi" 16 | }, 17 | "nplurals=2; plural=(n > 1);"); 18 | -------------------------------------------------------------------------------- /l10n/de.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Bilder", 5 | "Picture view" : "Bildansicht", 6 | "Next" : "Weiter", 7 | "Play" : "Abspielen", 8 | "Pause" : "Anhalten", 9 | "Previous" : "Zurück", 10 | "Close" : "Schließen", 11 | "Error loading slideshow template" : "Fehler beim Laden der Slideshow-Vorlage", 12 | "Share" : "Teilen", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Keine Bilder gefunden! Wenn Du Bilder in die Dateien-App hochlädst, werden diese hier angezeigt.", 14 | "shared by %s" : "Geteilt von %s", 15 | "File list" : "Dateiliste" 16 | }, 17 | "nplurals=2; plural=(n != 1);"); 18 | -------------------------------------------------------------------------------- /l10n/fa.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "تصاویر", 3 | "Picture view" : "نمایش تصویر", 4 | "Next" : "بعدی", 5 | "Play" : "پخش کردن", 6 | "Pause" : "توقف کردن", 7 | "Previous" : "قبلی", 8 | "Close" : "بستن", 9 | "Error loading slideshow template" : "خطا در بارگذاری قالب نمایش به صورت اسلاید", 10 | "Share" : "اشتراک‌گذاری", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "تصویری یافت نشد ! تصاویر در اینجا به نمایش در خواهند آمد در صورتی که شما آن ها را در اپ files آپلود کنید .", 12 | "shared by %s" : "به اشتراک گذاشته شده توسط %s", 13 | "File list" : "لیست فایل ها" 14 | },"pluralForm" :"nplurals=1; plural=0;" 15 | } -------------------------------------------------------------------------------- /l10n/hu_HU.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Képek", 3 | "Picture view" : "Képnézet", 4 | "Next" : "Következő", 5 | "Play" : "Lejátszás", 6 | "Pause" : "Szünet", 7 | "Previous" : "Előző", 8 | "Close" : "Bezárás", 9 | "Error loading slideshow template" : "Hiba történt a diasor sablonjának betöltésekor", 10 | "Share" : "Megosztás", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Nincsenek képek! Ha a \"Fájlkezelő\" alkalmazással képeket tölt fel, akkor azok itt megtekinthetők lesznek.", 12 | "shared by %s" : "Megosztotta: %s", 13 | "File list" : "Fájllista" 14 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 15 | } -------------------------------------------------------------------------------- /l10n/id.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Gambar", 3 | "Picture view" : "Tampilan gambar", 4 | "Next" : "Berikutnya", 5 | "Play" : "Putar", 6 | "Pause" : "Jeda", 7 | "Previous" : "Sebelumnya", 8 | "Close" : "Tutup", 9 | "Error loading slideshow template" : "Kesalahan saat memuat templat slideshow", 10 | "Share" : "Bagikan", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Tidak ada gambar yang ditemukan! Jika Anda mengunggah gambar ke aplikasi berkas. mereka akan ditampilkan disini.", 12 | "shared by %s" : "dibagikan oleh %s", 13 | "File list" : "Daftar berkas" 14 | },"pluralForm" :"nplurals=1; plural=0;" 15 | } -------------------------------------------------------------------------------- /l10n/lv.php: -------------------------------------------------------------------------------- 1 | "Bildes", 4 | "Picture view" => "Attēla skats", 5 | "Next" => "Nākamā", 6 | "Play" => "Atskaņot", 7 | "Pause" => "Pauzēt", 8 | "Previous" => "Iepriekšējā", 9 | "Close" => "Aizvērt", 10 | "Error loading slideshow template" => "Kļūda ielādējot slīdrādes veidolu", 11 | "Share" => "Dalīties", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "Nav atrasts neviens attēls! Ja caur failu lietotni augšupielādējat attēlus, tie būs redzami šeit.", 13 | "shared by %s" => "%s dalījās", 14 | "File list" => "Failu saraksts" 15 | ); 16 | $PLURAL_FORMS = "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"; 17 | -------------------------------------------------------------------------------- /l10n/pt_BR.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Imagens", 3 | "Picture view" : "Visualizar foto", 4 | "Next" : "Próxima", 5 | "Play" : "Reproduzir", 6 | "Pause" : "Pausa", 7 | "Previous" : "Anterior", 8 | "Close" : "Fechar", 9 | "Error loading slideshow template" : "Erro ao carregar o modelo de slideshow", 10 | "Share" : "Compartilhar", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Nenhuma foto foi encontrada! Se você enviar fotos no app arquivos, eles serão exibidos aqui.", 12 | "shared by %s" : "compartilhado por %s", 13 | "File list" : "Lista de arquivo" 14 | },"pluralForm" :"nplurals=2; plural=(n > 1);" 15 | } -------------------------------------------------------------------------------- /l10n/vi.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Hình ảnh", 5 | "Picture view" : "Xem h", 6 | "Next" : "Kế tiếp", 7 | "Play" : "Play", 8 | "Pause" : "Tạm dừng", 9 | "Previous" : "Lùi lại", 10 | "Close" : "Đóng", 11 | "Error loading slideshow template" : "Lỗi khi tải mẫu Slidesh", 12 | "Share" : "Chia sẻ", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Không có hình ảnh được tìm thấy! Nếu bạn tải lên hình ảnh trong các ứng dụng tập tin, chúng sẽ được hiển thị ở đây.", 14 | "shared by %s" : " Được chia sẻ bởi %s", 15 | "File list" : "Danh sách tập t" 16 | }, 17 | "nplurals=1; plural=0;"); 18 | -------------------------------------------------------------------------------- /l10n/az.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Şəkillər", 3 | "Picture view" : "Şəkilə baxış", 4 | "Next" : "Növbəti", 5 | "Play" : "Oxu", 6 | "Pause" : "Ara ver", 7 | "Previous" : "Əvvələ", 8 | "Close" : "Bağla", 9 | "Error loading slideshow template" : "Slideshow şablonun yüklənməsində səhv baş verdi", 10 | "Share" : "Yayımla", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Şəkil tapılmadı! Əgər siz şəkillərinizi fayllar proqramına əlavə etmisinizsə, onlar burda göstəriləcək.", 12 | "shared by %s" : "%s tərəfindən yayımlanıb", 13 | "File list" : "Fayl siyahısı" 14 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 15 | } -------------------------------------------------------------------------------- /l10n/bg_BG.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Снимки", 5 | "Picture view" : "Албум със снимки", 6 | "Next" : "Следваща", 7 | "Play" : "Пусни", 8 | "Pause" : "Пауза", 9 | "Previous" : "Предишна", 10 | "Close" : "Затвори", 11 | "Error loading slideshow template" : "Грешка при зареждане на шаблон за слайдшоу.", 12 | "Share" : "Сподели", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Няма открити снимки! Ако качиш снимки в програмата файлове, те ще бъдат показани тук.", 14 | "shared by %s" : "споделено от %s", 15 | "File list" : "Списък с файлове" 16 | }, 17 | "nplurals=2; plural=(n != 1);"); 18 | -------------------------------------------------------------------------------- /l10n/ca.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Fotos", 3 | "Picture view" : "Mostra fotos", 4 | "Next" : "Següent", 5 | "Play" : "Reprodueix", 6 | "Pause" : "Pausa", 7 | "Previous" : "Anterior", 8 | "Close" : "Tanca", 9 | "Error loading slideshow template" : "Error en carregar la plantilla de presentació amb diapositives", 10 | "Share" : "Comparteix", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "No s'han trobat imatges! Si pugeu imatges a l'aplicació de fitxers, es mostraran aquí.", 12 | "shared by %s" : "compartit per %s", 13 | "File list" : "Llista de fitxers" 14 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 15 | } -------------------------------------------------------------------------------- /l10n/de_DE.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Bilder", 5 | "Picture view" : "Bildansicht", 6 | "Next" : "Weiter", 7 | "Play" : "Abspielen", 8 | "Pause" : "Anhalten", 9 | "Previous" : "Zurück", 10 | "Close" : "Schließen", 11 | "Error loading slideshow template" : "Fehler beim Laden der Slideshow-Vorlage", 12 | "Share" : "Teilen", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Keine Bilder gefunden! Wenn Sie Bilder in die Dateien-App hochladen, werden diese hier angezeigt.", 14 | "shared by %s" : "Geteilt von %s", 15 | "File list" : "Dateiliste" 16 | }, 17 | "nplurals=2; plural=(n != 1);"); 18 | -------------------------------------------------------------------------------- /l10n/es.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Imágenes", 3 | "Picture view" : "Vista de imágenes", 4 | "Next" : "Siguiente", 5 | "Play" : "Reproducir", 6 | "Pause" : "Pausa", 7 | "Previous" : "Anterior", 8 | "Close" : "Cerrar", 9 | "Error loading slideshow template" : "Error al cargar la plantilla de presentación", 10 | "Share" : "Compartir", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "¡No se encontraron imágenes! Si carga imágenes en la aplicación de archivos, se mostrarán aquí.", 12 | "shared by %s" : "Compartido por %s", 13 | "File list" : "Lista de archivos" 14 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 15 | } -------------------------------------------------------------------------------- /l10n/eu.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Argazkiak", 3 | "Picture view" : "Irudi bistaratzea", 4 | "Next" : "Hurrengoa", 5 | "Play" : "Erreproduzitu", 6 | "Pause" : "Pausarazi", 7 | "Previous" : "Aurrekoa", 8 | "Close" : "Itxi", 9 | "Error loading slideshow template" : "Errorea aurkezpen txantiloia kargatzean", 10 | "Share" : "Elkarbanatu", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Ez da argazkirik aurkitu! Argazkiak fitxategi aplikazioan igoz gero, hemen argertuko dira.", 12 | "shared by %s" : "%sk partekatuta", 13 | "File list" : "Fitxategi zerrenda" 14 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 15 | } -------------------------------------------------------------------------------- /l10n/fr.php: -------------------------------------------------------------------------------- 1 | "Images", 4 | "Picture view" => "Visualisation de l'image", 5 | "Next" => "Suivant", 6 | "Play" => "Lire", 7 | "Pause" => "Pause", 8 | "Previous" => "Précédent", 9 | "Close" => "Fermer", 10 | "Error loading slideshow template" => "Erreur lors du téléchargement du modèle de diaporama ", 11 | "Share" => "Partager", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "Aucune image trouvée ! Si vous ajoutez des images dans l'application Fichiers, elles seront affichées ici.", 13 | "shared by %s" => "partagé par %s", 14 | "File list" => "Liste des fichiers" 15 | ); 16 | $PLURAL_FORMS = "nplurals=2; plural=(n > 1);"; 17 | -------------------------------------------------------------------------------- /l10n/it.php: -------------------------------------------------------------------------------- 1 | "Immagini", 4 | "Picture view" => "Vista immagini", 5 | "Next" => "Avanti", 6 | "Play" => "Riproduci", 7 | "Pause" => "Pausa", 8 | "Previous" => "Indietro", 9 | "Close" => "Chiudi", 10 | "Error loading slideshow template" => "Errore durante il caricamento del modello di presentazione", 11 | "Share" => "Condividi", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "Nessuna immagine trovata. Se carichi immagini nell'applicazione dei file, esse saranno visualizzate qui.", 13 | "shared by %s" => "condiviso da %s", 14 | "File list" => "Elenco dei file" 15 | ); 16 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 17 | -------------------------------------------------------------------------------- /l10n/oc.php: -------------------------------------------------------------------------------- 1 | "Imatges", 4 | "Picture view" => "Visualizacion de l'imatge", 5 | "Next" => "Seguent", 6 | "Play" => "Aviar", 7 | "Pause" => "Pausa", 8 | "Previous" => "Precedent", 9 | "Close" => "Tampar", 10 | "Error loading slideshow template" => "Error al moment del telecargament del modèl de diaporama ", 11 | "Share" => "Partejar", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "Cap d'imatge pas trobat ! Se apondètz d'imatges dins l'aplicacion Fichièrs, seràn afichadas aicí.", 13 | "shared by %s" => "partejat per %s", 14 | "File list" => "Lista dels fichièrs" 15 | ); 16 | $PLURAL_FORMS = "nplurals=2; plural=(n > 1);"; 17 | -------------------------------------------------------------------------------- /l10n/sk_SK.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Obrázky", 5 | "Picture view" : "Zobrazenie obrázka", 6 | "Next" : "Ďalšia", 7 | "Play" : "Prehrať", 8 | "Pause" : "Pauza", 9 | "Previous" : "Predošlá", 10 | "Close" : "Zavrieť", 11 | "Error loading slideshow template" : "Chyba pri načítaní šablóny prezentácie", 12 | "Share" : "Zdieľať", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Nenájdené žiadne obrázky! Ak nejaké nahráte, budú zobrazené tu.", 14 | "shared by %s" : "Zdieľané od %s", 15 | "File list" : "Zoznam súborov" 16 | }, 17 | "nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"); 18 | -------------------------------------------------------------------------------- /l10n/ar.php: -------------------------------------------------------------------------------- 1 | "الصور", 4 | "Picture view" => "عرض الصورة", 5 | "Next" => "التالي", 6 | "Play" => "تشغيل", 7 | "Pause" => "إيقاف", 8 | "Previous" => "السابق", 9 | "Close" => "إغلاق", 10 | "Error loading slideshow template" => "خطأ في تحميل قالب عرض الشرائح.", 11 | "Share" => "شارك", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "لم يتم العثور على أية صور! سيتم عرض جميع الصور المضافة في هذا البرنامج هنا.", 13 | "shared by %s" => "مشاركة من قبل %s", 14 | "File list" => "قائمة الملفات" 15 | ); 16 | $PLURAL_FORMS = "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"; 17 | -------------------------------------------------------------------------------- /l10n/cs_CZ.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Obrázky", 3 | "Picture view" : "Zobrazení obrázku", 4 | "Next" : "Následující", 5 | "Play" : "Přehrát", 6 | "Pause" : "Pozastavit", 7 | "Previous" : "Předchozí", 8 | "Close" : "Zavřít", 9 | "Error loading slideshow template" : "Chyba při načítání šablony prezentace", 10 | "Share" : "Sdílet", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Nebyly nalezeny žádné obrázky! Pokud nahrajete soubory s obrázky, budou zobrazeny zde.", 12 | "shared by %s" : "sdíleno %s", 13 | "File list" : "Seznam souborů" 14 | },"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" 15 | } -------------------------------------------------------------------------------- /l10n/el.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Εικόνες", 3 | "Picture view" : "Προβολή εικονιδίων", 4 | "Next" : "Επόμενο", 5 | "Play" : "Αναπαραγωγή", 6 | "Pause" : "Παύση", 7 | "Previous" : "Προηγούμενο", 8 | "Close" : "Κλείσιμο", 9 | "Error loading slideshow template" : "Σφάλμα φόρτωσης προτύπου προβολής διαφανειών", 10 | "Share" : "Διαμοιρασμός", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Δεν βρέθηκαν εικόνες! Εάν μεταφορτώσετε εικόνες στην εφαρμογή αρχείων, θα εμφανιστούν εδώ.", 12 | "shared by %s" : "διαμοιράστηκε από %s", 13 | "File list" : "Λίστα αρχείων" 14 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 15 | } -------------------------------------------------------------------------------- /l10n/nl.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Afbeeldingen", 5 | "Picture view" : "Afbeeldingenoverzicht", 6 | "Next" : "Volgende", 7 | "Play" : "Afspelen", 8 | "Pause" : "Pauze", 9 | "Previous" : "Vorige", 10 | "Close" : "Sluiten", 11 | "Error loading slideshow template" : "Fout bij laden diashow sjabloon", 12 | "Share" : "Delen", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Geen afbeeldingen gevonden! Als u afbeeldingen upload in de bestandsapp, worden ze hier getoond.", 14 | "shared by %s" : "gedeeld door %s", 15 | "File list" : "Bestandenlijst" 16 | }, 17 | "nplurals=2; plural=(n != 1);"); 18 | -------------------------------------------------------------------------------- /l10n/sq.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Foto", 3 | "Picture view" : "Vezhgo fotografine", 4 | "Next" : "Mëpasshëm", 5 | "Play" : "Luaj", 6 | "Pause" : "Pauzë", 7 | "Previous" : "Mëparshëm", 8 | "Close" : "Mbyll", 9 | "Error loading slideshow template" : "Veprim i gabuar gjatë ngarkimit të modelit të shfaqjes së diapozitivave", 10 | "Share" : "Nda", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Nuk u gjetën foto! Nëse ju ngarkoni foto në aplikacionin e skedarëve, ato do të shfaqen këtu.", 12 | "shared by %s" : "ndarë nga %s", 13 | "File list" : "Lista skedarëve" 14 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 15 | } -------------------------------------------------------------------------------- /l10n/ast.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Semeyes", 5 | "Picture view" : "Vista d'imáxenes", 6 | "Next" : "Siguiente", 7 | "Play" : "Reproducir", 8 | "Pause" : "Posar", 9 | "Previous" : "Anterior", 10 | "Close" : "Zarrar", 11 | "Error loading slideshow template" : "Fallu al cargar la plantía de diapositives", 12 | "Share" : "Compartir", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "¡Nun s'alcontraron semeyes! Si xubes les semeyes na app de ficheros, van amosase equí.", 14 | "shared by %s" : "compartíu por %s", 15 | "File list" : "Llista de ficheros" 16 | }, 17 | "nplurals=2; plural=(n != 1);"); 18 | -------------------------------------------------------------------------------- /l10n/eo.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Bildoj", 5 | "Picture view" : "Bilda vido", 6 | "Next" : "Sekva", 7 | "Play" : "Ludi", 8 | "Pause" : "Paŭzigi", 9 | "Previous" : "Antaŭa", 10 | "Close" : "Fermi", 11 | "Error loading slideshow template" : "Eraro dum ŝargado de ŝablono pri lumbilda prezento", 12 | "Share" : "Kunhavigi", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Neniu bildo trovita! Se vi alŝutas bildojn en la aplikaĵo Dosieroj, ili estos montritaj ĉi tie.", 14 | "shared by %s" : "kunhavigita de %s", 15 | "File list" : "Listo de dosieroj" 16 | }, 17 | "nplurals=2; plural=(n != 1);"); 18 | -------------------------------------------------------------------------------- /l10n/gl.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Imaxes", 5 | "Picture view" : "Ver imaxes", 6 | "Next" : "Seguinte", 7 | "Play" : "Reproducir", 8 | "Pause" : "Pausa", 9 | "Previous" : "Anterior", 10 | "Close" : "Pechar", 11 | "Error loading slideshow template" : "Produciuse un erro ao cargar o modelo do diaporama", 12 | "Share" : "Compartir", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Non se atoparon imaxes! Se envía imaxes coas aplicacións de ficheiros, amosaranse aquí.", 14 | "shared by %s" : "compartido por %s", 15 | "File list" : "Lista de ficheiros" 16 | }, 17 | "nplurals=2; plural=(n != 1);"); 18 | -------------------------------------------------------------------------------- /l10n/lv.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Bildes", 3 | "Picture view" : "Attēla skats", 4 | "Next" : "Nākamā", 5 | "Play" : "Atskaņot", 6 | "Pause" : "Pauzēt", 7 | "Previous" : "Iepriekšējā", 8 | "Close" : "Aizvērt", 9 | "Error loading slideshow template" : "Kļūda ielādējot slīdrādes veidolu", 10 | "Share" : "Dalīties", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Nav atrasts neviens attēls! Ja caur failu lietotni augšupielādējat attēlus, tie būs redzami šeit.", 12 | "shared by %s" : "%s dalījās", 13 | "File list" : "Failu saraksts" 14 | },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);" 15 | } -------------------------------------------------------------------------------- /l10n/ro.php: -------------------------------------------------------------------------------- 1 | "Imagini", 4 | "Picture view" => "Vizualizare imagine", 5 | "Next" => "Următor", 6 | "Play" => "Redă", 7 | "Pause" => "Pauză", 8 | "Previous" => "Anterior", 9 | "Close" => "Închide", 10 | "Error loading slideshow template" => "eroare la incarcarea modelului ", 11 | "Share" => "Partajează", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "Nici o imagine găsită! Dacă tu încarci imagini în aplicațiile de fișiere, ele vor fi afișate aici.", 13 | "shared by %s" => "partajat de %s", 14 | "File list" => "Listă de fișiere" 15 | ); 16 | $PLURAL_FORMS = "nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"; 17 | -------------------------------------------------------------------------------- /l10n/fa.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "تصاویر", 5 | "Picture view" : "نمایش تصویر", 6 | "Next" : "بعدی", 7 | "Play" : "پخش کردن", 8 | "Pause" : "توقف کردن", 9 | "Previous" : "قبلی", 10 | "Close" : "بستن", 11 | "Error loading slideshow template" : "خطا در بارگذاری قالب نمایش به صورت اسلاید", 12 | "Share" : "اشتراک‌گذاری", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "تصویری یافت نشد ! تصاویر در اینجا به نمایش در خواهند آمد در صورتی که شما آن ها را در اپ files آپلود کنید .", 14 | "shared by %s" : "به اشتراک گذاشته شده توسط %s", 15 | "File list" : "لیست فایل ها" 16 | }, 17 | "nplurals=1; plural=0;"); 18 | -------------------------------------------------------------------------------- /l10n/fr.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Images", 3 | "Picture view" : "Visualisation de l'image", 4 | "Next" : "Suivant", 5 | "Play" : "Lire", 6 | "Pause" : "Pause", 7 | "Previous" : "Précédent", 8 | "Close" : "Fermer", 9 | "Error loading slideshow template" : "Erreur lors du téléchargement du modèle de diaporama ", 10 | "Share" : "Partager", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Aucune image trouvée ! Si vous ajoutez des images dans l'application Fichiers, elles seront affichées ici.", 12 | "shared by %s" : "partagé par %s", 13 | "File list" : "Liste des fichiers" 14 | },"pluralForm" :"nplurals=2; plural=(n > 1);" 15 | } -------------------------------------------------------------------------------- /l10n/hu_HU.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Képek", 5 | "Picture view" : "Képnézet", 6 | "Next" : "Következő", 7 | "Play" : "Lejátszás", 8 | "Pause" : "Szünet", 9 | "Previous" : "Előző", 10 | "Close" : "Bezárás", 11 | "Error loading slideshow template" : "Hiba történt a diasor sablonjának betöltésekor", 12 | "Share" : "Megosztás", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Nincsenek képek! Ha a \"Fájlkezelő\" alkalmazással képeket tölt fel, akkor azok itt megtekinthetők lesznek.", 14 | "shared by %s" : "Megosztotta: %s", 15 | "File list" : "Fájllista" 16 | }, 17 | "nplurals=2; plural=(n != 1);"); 18 | -------------------------------------------------------------------------------- /l10n/id.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Gambar", 5 | "Picture view" : "Tampilan gambar", 6 | "Next" : "Berikutnya", 7 | "Play" : "Putar", 8 | "Pause" : "Jeda", 9 | "Previous" : "Sebelumnya", 10 | "Close" : "Tutup", 11 | "Error loading slideshow template" : "Kesalahan saat memuat templat slideshow", 12 | "Share" : "Bagikan", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Tidak ada gambar yang ditemukan! Jika Anda mengunggah gambar ke aplikasi berkas. mereka akan ditampilkan disini.", 14 | "shared by %s" : "dibagikan oleh %s", 15 | "File list" : "Daftar berkas" 16 | }, 17 | "nplurals=1; plural=0;"); 18 | -------------------------------------------------------------------------------- /l10n/it.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Immagini", 3 | "Picture view" : "Vista immagini", 4 | "Next" : "Avanti", 5 | "Play" : "Riproduci", 6 | "Pause" : "Pausa", 7 | "Previous" : "Indietro", 8 | "Close" : "Chiudi", 9 | "Error loading slideshow template" : "Errore durante il caricamento del modello di presentazione", 10 | "Share" : "Condividi", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Nessuna immagine trovata. Se carichi immagini nell'applicazione dei file, esse saranno visualizzate qui.", 12 | "shared by %s" : "condiviso da %s", 13 | "File list" : "Elenco dei file" 14 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 15 | } -------------------------------------------------------------------------------- /l10n/oc.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Imatges", 3 | "Picture view" : "Visualizacion de l'imatge", 4 | "Next" : "Seguent", 5 | "Play" : "Aviar", 6 | "Pause" : "Pausa", 7 | "Previous" : "Precedent", 8 | "Close" : "Tampar", 9 | "Error loading slideshow template" : "Error al moment del telecargament del modèl de diaporama ", 10 | "Share" : "Partejar", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Cap d'imatge pas trobat ! Se apondètz d'imatges dins l'aplicacion Fichièrs, seràn afichadas aicí.", 12 | "shared by %s" : "partejat per %s", 13 | "File list" : "Lista dels fichièrs" 14 | },"pluralForm" :"nplurals=2; plural=(n > 1);" 15 | } -------------------------------------------------------------------------------- /l10n/pt_BR.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Imagens", 5 | "Picture view" : "Visualizar foto", 6 | "Next" : "Próxima", 7 | "Play" : "Reproduzir", 8 | "Pause" : "Pausa", 9 | "Previous" : "Anterior", 10 | "Close" : "Fechar", 11 | "Error loading slideshow template" : "Erro ao carregar o modelo de slideshow", 12 | "Share" : "Compartilhar", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Nenhuma foto foi encontrada! Se você enviar fotos no app arquivos, eles serão exibidos aqui.", 14 | "shared by %s" : "compartilhado por %s", 15 | "File list" : "Lista de arquivo" 16 | }, 17 | "nplurals=2; plural=(n > 1);"); 18 | -------------------------------------------------------------------------------- /l10n/pt_PT.php: -------------------------------------------------------------------------------- 1 | "Imagens", 4 | "Picture view" => "Visualização da Imagem", 5 | "Next" => "Seguinte", 6 | "Play" => "Reproduzir", 7 | "Pause" => "Pausar", 8 | "Previous" => "Anterior", 9 | "Close" => "Fechar", 10 | "Error loading slideshow template" => "Ocorreu um erro ao carregar o modelo do diaporama", 11 | "Share" => "Compartilhar", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "Não foram encontradas fotografias! Se enviar imagens na app de ficheiros, estas serão visualizados aqui.", 13 | "shared by %s" => "compartilhada por %s", 14 | "File list" => "Lista de Ficheiros" 15 | ); 16 | $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; 17 | -------------------------------------------------------------------------------- /l10n/sr.php: -------------------------------------------------------------------------------- 1 | "Слике", 4 | "Picture view" => "Приказ слике", 5 | "Next" => "Следећа", 6 | "Play" => "Пусти", 7 | "Pause" => "Паузирај", 8 | "Previous" => "Претходна", 9 | "Close" => "Затвори", 10 | "Error loading slideshow template" => "Грешка при учитавању шаблона за слајдове", 11 | "Share" => "Подели", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "Нема слика! Ако отпремите слике у апликацији фајлова, оне ће бити приказане овде.", 13 | "shared by %s" => "дели %s", 14 | "File list" => "Списак фајлова" 15 | ); 16 | $PLURAL_FORMS = "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"; 17 | -------------------------------------------------------------------------------- /l10n/ar.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "الصور", 3 | "Picture view" : "عرض الصورة", 4 | "Next" : "التالي", 5 | "Play" : "تشغيل", 6 | "Pause" : "إيقاف", 7 | "Previous" : "السابق", 8 | "Close" : "إغلاق", 9 | "Error loading slideshow template" : "خطأ في تحميل قالب عرض الشرائح.", 10 | "Share" : "شارك", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "لم يتم العثور على أية صور! سيتم عرض جميع الصور المضافة في هذا البرنامج هنا.", 12 | "shared by %s" : "مشاركة من قبل %s", 13 | "File list" : "قائمة الملفات" 14 | },"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;" 15 | } -------------------------------------------------------------------------------- /l10n/az.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Şəkillər", 5 | "Picture view" : "Şəkilə baxış", 6 | "Next" : "Növbəti", 7 | "Play" : "Oxu", 8 | "Pause" : "Ara ver", 9 | "Previous" : "Əvvələ", 10 | "Close" : "Bağla", 11 | "Error loading slideshow template" : "Slideshow şablonun yüklənməsində səhv baş verdi", 12 | "Share" : "Yayımla", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Şəkil tapılmadı! Əgər siz şəkillərinizi fayllar proqramına əlavə etmisinizsə, onlar burda göstəriləcək.", 14 | "shared by %s" : "%s tərəfindən yayımlanıb", 15 | "File list" : "Fayl siyahısı" 16 | }, 17 | "nplurals=2; plural=(n != 1);"); 18 | -------------------------------------------------------------------------------- /l10n/ca.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Fotos", 5 | "Picture view" : "Mostra fotos", 6 | "Next" : "Següent", 7 | "Play" : "Reprodueix", 8 | "Pause" : "Pausa", 9 | "Previous" : "Anterior", 10 | "Close" : "Tanca", 11 | "Error loading slideshow template" : "Error en carregar la plantilla de presentació amb diapositives", 12 | "Share" : "Comparteix", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "No s'han trobat imatges! Si pugeu imatges a l'aplicació de fitxers, es mostraran aquí.", 14 | "shared by %s" : "compartit per %s", 15 | "File list" : "Llista de fitxers" 16 | }, 17 | "nplurals=2; plural=(n != 1);"); 18 | -------------------------------------------------------------------------------- /l10n/es.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Imágenes", 5 | "Picture view" : "Vista de imágenes", 6 | "Next" : "Siguiente", 7 | "Play" : "Reproducir", 8 | "Pause" : "Pausa", 9 | "Previous" : "Anterior", 10 | "Close" : "Cerrar", 11 | "Error loading slideshow template" : "Error al cargar la plantilla de presentación", 12 | "Share" : "Compartir", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "¡No se encontraron imágenes! Si carga imágenes en la aplicación de archivos, se mostrarán aquí.", 14 | "shared by %s" : "Compartido por %s", 15 | "File list" : "Lista de archivos" 16 | }, 17 | "nplurals=2; plural=(n != 1);"); 18 | -------------------------------------------------------------------------------- /l10n/eu.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Argazkiak", 5 | "Picture view" : "Irudi bistaratzea", 6 | "Next" : "Hurrengoa", 7 | "Play" : "Erreproduzitu", 8 | "Pause" : "Pausarazi", 9 | "Previous" : "Aurrekoa", 10 | "Close" : "Itxi", 11 | "Error loading slideshow template" : "Errorea aurkezpen txantiloia kargatzean", 12 | "Share" : "Elkarbanatu", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Ez da argazkirik aurkitu! Argazkiak fitxategi aplikazioan igoz gero, hemen argertuko dira.", 14 | "shared by %s" : "%sk partekatuta", 15 | "File list" : "Fitxategi zerrenda" 16 | }, 17 | "nplurals=2; plural=(n != 1);"); 18 | -------------------------------------------------------------------------------- /l10n/pl.php: -------------------------------------------------------------------------------- 1 | "Zdjęcia", 4 | "Picture view" => "Widok zdjęć", 5 | "Next" => "Następny", 6 | "Play" => "Odtwarzaj", 7 | "Pause" => "Wstrzymaj", 8 | "Previous" => "Poprzedni", 9 | "Close" => "Zamknij", 10 | "Error loading slideshow template" => "Błąd podczas ładowania szablonu pokazu slajdów", 11 | "Share" => "Udostępnij", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "Nie znaleziono zdjęć! Zdjęcia pojawią się tutaj, gdy wgrasz je do plików.", 13 | "shared by %s" => "udostępniony przez %s", 14 | "File list" => "Lista plików" 15 | ); 16 | $PLURAL_FORMS = "nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"; 17 | -------------------------------------------------------------------------------- /l10n/cs_CZ.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Obrázky", 5 | "Picture view" : "Zobrazení obrázku", 6 | "Next" : "Následující", 7 | "Play" : "Přehrát", 8 | "Pause" : "Pozastavit", 9 | "Previous" : "Předchozí", 10 | "Close" : "Zavřít", 11 | "Error loading slideshow template" : "Chyba při načítání šablony prezentace", 12 | "Share" : "Sdílet", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Nebyly nalezeny žádné obrázky! Pokud nahrajete soubory s obrázky, budou zobrazeny zde.", 14 | "shared by %s" : "sdíleno %s", 15 | "File list" : "Seznam souborů" 16 | }, 17 | "nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"); 18 | -------------------------------------------------------------------------------- /l10n/el.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Εικόνες", 5 | "Picture view" : "Προβολή εικονιδίων", 6 | "Next" : "Επόμενο", 7 | "Play" : "Αναπαραγωγή", 8 | "Pause" : "Παύση", 9 | "Previous" : "Προηγούμενο", 10 | "Close" : "Κλείσιμο", 11 | "Error loading slideshow template" : "Σφάλμα φόρτωσης προτύπου προβολής διαφανειών", 12 | "Share" : "Διαμοιρασμός", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Δεν βρέθηκαν εικόνες! Εάν μεταφορτώσετε εικόνες στην εφαρμογή αρχείων, θα εμφανιστούν εδώ.", 14 | "shared by %s" : "διαμοιράστηκε από %s", 15 | "File list" : "Λίστα αρχείων" 16 | }, 17 | "nplurals=2; plural=(n != 1);"); 18 | -------------------------------------------------------------------------------- /l10n/ro.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Imagini", 3 | "Picture view" : "Vizualizare imagine", 4 | "Next" : "Următor", 5 | "Play" : "Redă", 6 | "Pause" : "Pauză", 7 | "Previous" : "Anterior", 8 | "Close" : "Închide", 9 | "Error loading slideshow template" : "eroare la incarcarea modelului ", 10 | "Share" : "Partajează", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Nici o imagine găsită! Dacă tu încarci imagini în aplicațiile de fișiere, ele vor fi afișate aici.", 12 | "shared by %s" : "partajat de %s", 13 | "File list" : "Listă de fișiere" 14 | },"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));" 15 | } -------------------------------------------------------------------------------- /l10n/sq.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Foto", 5 | "Picture view" : "Vezhgo fotografine", 6 | "Next" : "Mëpasshëm", 7 | "Play" : "Luaj", 8 | "Pause" : "Pauzë", 9 | "Previous" : "Mëparshëm", 10 | "Close" : "Mbyll", 11 | "Error loading slideshow template" : "Veprim i gabuar gjatë ngarkimit të modelit të shfaqjes së diapozitivave", 12 | "Share" : "Nda", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Nuk u gjetën foto! Nëse ju ngarkoni foto në aplikacionin e skedarëve, ato do të shfaqen këtu.", 14 | "shared by %s" : "ndarë nga %s", 15 | "File list" : "Lista skedarëve" 16 | }, 17 | "nplurals=2; plural=(n != 1);"); 18 | -------------------------------------------------------------------------------- /l10n/sr@latin.php: -------------------------------------------------------------------------------- 1 | "Slike", 4 | "Picture view" => "Prikaz slike", 5 | "Next" => "Sledeća", 6 | "Play" => "Pusti", 7 | "Pause" => "Pauziraj", 8 | "Previous" => "Prethodna", 9 | "Close" => "Zatvori", 10 | "Error loading slideshow template" => "Greška pri učitavanju šablona za slajdove", 11 | "Share" => "Podeli", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "Nema slika! Ako otpremite slike u aplikaciji fajlova, one će biti prikazane ovde.", 13 | "shared by %s" => "deli %s", 14 | "File list" => "Spisak fajlova" 15 | ); 16 | $PLURAL_FORMS = "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"; 17 | -------------------------------------------------------------------------------- /l10n/lv.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Bildes", 5 | "Picture view" : "Attēla skats", 6 | "Next" : "Nākamā", 7 | "Play" : "Atskaņot", 8 | "Pause" : "Pauzēt", 9 | "Previous" : "Iepriekšējā", 10 | "Close" : "Aizvērt", 11 | "Error loading slideshow template" : "Kļūda ielādējot slīdrādes veidolu", 12 | "Share" : "Dalīties", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Nav atrasts neviens attēls! Ja caur failu lietotni augšupielādējat attēlus, tie būs redzami šeit.", 14 | "shared by %s" : "%s dalījās", 15 | "File list" : "Failu saraksts" 16 | }, 17 | "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"); 18 | -------------------------------------------------------------------------------- /l10n/pt_PT.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Imagens", 3 | "Picture view" : "Visualização da Imagem", 4 | "Next" : "Seguinte", 5 | "Play" : "Reproduzir", 6 | "Pause" : "Pausar", 7 | "Previous" : "Anterior", 8 | "Close" : "Fechar", 9 | "Error loading slideshow template" : "Ocorreu um erro ao carregar o modelo do diaporama", 10 | "Share" : "Compartilhar", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Não foram encontradas fotografias! Se enviar imagens na app de ficheiros, estas serão visualizados aqui.", 12 | "shared by %s" : "compartilhada por %s", 13 | "File list" : "Lista de Ficheiros" 14 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 15 | } -------------------------------------------------------------------------------- /l10n/sr.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Слике", 3 | "Picture view" : "Приказ слике", 4 | "Next" : "Следећа", 5 | "Play" : "Пусти", 6 | "Pause" : "Паузирај", 7 | "Previous" : "Претходна", 8 | "Close" : "Затвори", 9 | "Error loading slideshow template" : "Грешка при учитавању шаблона за слајдове", 10 | "Share" : "Подели", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Нема слика! Ако отпремите слике у апликацији фајлова, оне ће бити приказане овде.", 12 | "shared by %s" : "дели %s", 13 | "File list" : "Списак фајлова" 14 | },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);" 15 | } -------------------------------------------------------------------------------- /l10n/fr.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Images", 5 | "Picture view" : "Visualisation de l'image", 6 | "Next" : "Suivant", 7 | "Play" : "Lire", 8 | "Pause" : "Pause", 9 | "Previous" : "Précédent", 10 | "Close" : "Fermer", 11 | "Error loading slideshow template" : "Erreur lors du téléchargement du modèle de diaporama ", 12 | "Share" : "Partager", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Aucune image trouvée ! Si vous ajoutez des images dans l'application Fichiers, elles seront affichées ici.", 14 | "shared by %s" : "partagé par %s", 15 | "File list" : "Liste des fichiers" 16 | }, 17 | "nplurals=2; plural=(n > 1);"); 18 | -------------------------------------------------------------------------------- /l10n/it.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Immagini", 5 | "Picture view" : "Vista immagini", 6 | "Next" : "Avanti", 7 | "Play" : "Riproduci", 8 | "Pause" : "Pausa", 9 | "Previous" : "Indietro", 10 | "Close" : "Chiudi", 11 | "Error loading slideshow template" : "Errore durante il caricamento del modello di presentazione", 12 | "Share" : "Condividi", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Nessuna immagine trovata. Se carichi immagini nell'applicazione dei file, esse saranno visualizzate qui.", 14 | "shared by %s" : "condiviso da %s", 15 | "File list" : "Elenco dei file" 16 | }, 17 | "nplurals=2; plural=(n != 1);"); 18 | -------------------------------------------------------------------------------- /l10n/oc.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Imatges", 5 | "Picture view" : "Visualizacion de l'imatge", 6 | "Next" : "Seguent", 7 | "Play" : "Aviar", 8 | "Pause" : "Pausa", 9 | "Previous" : "Precedent", 10 | "Close" : "Tampar", 11 | "Error loading slideshow template" : "Error al moment del telecargament del modèl de diaporama ", 12 | "Share" : "Partejar", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Cap d'imatge pas trobat ! Se apondètz d'imatges dins l'aplicacion Fichièrs, seràn afichadas aicí.", 14 | "shared by %s" : "partejat per %s", 15 | "File list" : "Lista dels fichièrs" 16 | }, 17 | "nplurals=2; plural=(n > 1);"); 18 | -------------------------------------------------------------------------------- /l10n/pl.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Zdjęcia", 3 | "Picture view" : "Widok zdjęć", 4 | "Next" : "Następny", 5 | "Play" : "Odtwarzaj", 6 | "Pause" : "Wstrzymaj", 7 | "Previous" : "Poprzedni", 8 | "Close" : "Zamknij", 9 | "Error loading slideshow template" : "Błąd podczas ładowania szablonu pokazu slajdów", 10 | "Share" : "Udostępnij", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Nie znaleziono zdjęć! Zdjęcia pojawią się tutaj, gdy wgrasz je do plików.", 12 | "shared by %s" : "udostępniony przez %s", 13 | "File list" : "Lista plików" 14 | },"pluralForm" :"nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);" 15 | } -------------------------------------------------------------------------------- /l10n/sl.php: -------------------------------------------------------------------------------- 1 | "Slike", 4 | "Picture view" => "Slikovni pogled", 5 | "Next" => "Naslednja", 6 | "Play" => "Predvajaj", 7 | "Pause" => "Premor", 8 | "Previous" => "Predhodna", 9 | "Close" => "Zapri", 10 | "Error loading slideshow template" => "Napaka nalaganja predloge za slikovno predstavitev", 11 | "Share" => "Souporaba", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "Ni najdenih slik! Če shranite slike kjerkoli med datoteke, bodo tu prikazane kot galerije.", 13 | "shared by %s" => "v souporabi preko %s", 14 | "File list" => "Seznam datotek" 15 | ); 16 | $PLURAL_FORMS = "nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"; 17 | -------------------------------------------------------------------------------- /l10n/ar.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "الصور", 5 | "Picture view" : "عرض الصورة", 6 | "Next" : "التالي", 7 | "Play" : "تشغيل", 8 | "Pause" : "إيقاف", 9 | "Previous" : "السابق", 10 | "Close" : "إغلاق", 11 | "Error loading slideshow template" : "خطأ في تحميل قالب عرض الشرائح.", 12 | "Share" : "شارك", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "لم يتم العثور على أية صور! سيتم عرض جميع الصور المضافة في هذا البرنامج هنا.", 14 | "shared by %s" : "مشاركة من قبل %s", 15 | "File list" : "قائمة الملفات" 16 | }, 17 | "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"); 18 | -------------------------------------------------------------------------------- /l10n/sr@latin.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Slike", 3 | "Picture view" : "Prikaz slike", 4 | "Next" : "Sledeća", 5 | "Play" : "Pusti", 6 | "Pause" : "Pauziraj", 7 | "Previous" : "Prethodna", 8 | "Close" : "Zatvori", 9 | "Error loading slideshow template" : "Greška pri učitavanju šablona za slajdove", 10 | "Share" : "Podeli", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Nema slika! Ako otpremite slike u aplikaciji fajlova, one će biti prikazane ovde.", 12 | "shared by %s" : "deli %s", 13 | "File list" : "Spisak fajlova" 14 | },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);" 15 | } -------------------------------------------------------------------------------- /l10n/ro.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Imagini", 5 | "Picture view" : "Vizualizare imagine", 6 | "Next" : "Următor", 7 | "Play" : "Redă", 8 | "Pause" : "Pauză", 9 | "Previous" : "Anterior", 10 | "Close" : "Închide", 11 | "Error loading slideshow template" : "eroare la incarcarea modelului ", 12 | "Share" : "Partajează", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Nici o imagine găsită! Dacă tu încarci imagini în aplicațiile de fișiere, ele vor fi afișate aici.", 14 | "shared by %s" : "partajat de %s", 15 | "File list" : "Listă de fișiere" 16 | }, 17 | "nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"); 18 | -------------------------------------------------------------------------------- /l10n/pt_PT.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Imagens", 5 | "Picture view" : "Visualização da Imagem", 6 | "Next" : "Seguinte", 7 | "Play" : "Reproduzir", 8 | "Pause" : "Pausar", 9 | "Previous" : "Anterior", 10 | "Close" : "Fechar", 11 | "Error loading slideshow template" : "Ocorreu um erro ao carregar o modelo do diaporama", 12 | "Share" : "Compartilhar", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Não foram encontradas fotografias! Se enviar imagens na app de ficheiros, estas serão visualizados aqui.", 14 | "shared by %s" : "compartilhada por %s", 15 | "File list" : "Lista de Ficheiros" 16 | }, 17 | "nplurals=2; plural=(n != 1);"); 18 | -------------------------------------------------------------------------------- /l10n/sl.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Slike", 3 | "Picture view" : "Slikovni pogled", 4 | "Next" : "Naslednja", 5 | "Play" : "Predvajaj", 6 | "Pause" : "Premor", 7 | "Previous" : "Predhodna", 8 | "Close" : "Zapri", 9 | "Error loading slideshow template" : "Napaka nalaganja predloge za slikovno predstavitev", 10 | "Share" : "Souporaba", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Ni najdenih slik! Če shranite slike kjerkoli med datoteke, bodo tu prikazane kot galerije.", 12 | "shared by %s" : "v souporabi preko %s", 13 | "File list" : "Seznam datotek" 14 | },"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);" 15 | } -------------------------------------------------------------------------------- /l10n/sr.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Слике", 5 | "Picture view" : "Приказ слике", 6 | "Next" : "Следећа", 7 | "Play" : "Пусти", 8 | "Pause" : "Паузирај", 9 | "Previous" : "Претходна", 10 | "Close" : "Затвори", 11 | "Error loading slideshow template" : "Грешка при учитавању шаблона за слајдове", 12 | "Share" : "Подели", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Нема слика! Ако отпремите слике у апликацији фајлова, оне ће бити приказане овде.", 14 | "shared by %s" : "дели %s", 15 | "File list" : "Списак фајлова" 16 | }, 17 | "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"); 18 | -------------------------------------------------------------------------------- /l10n/bs.php: -------------------------------------------------------------------------------- 1 | "Slike", 4 | "Picture view" => "Prikaz slika", 5 | "Next" => "Sljedeće", 6 | "Play" => "Play", 7 | "Pause" => "Pauza", 8 | "Previous" => "Prethodno", 9 | "Close" => "Zatvori", 10 | "Error loading slideshow template" => "Greška pri učitavanju šablona animiranog preglednika", 11 | "Share" => "Podijeli", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "Slike nisu nađene! Ako slike učitate u aplikaciju \"Datoteke\", one će biti prikazane ovdje.", 13 | "shared by %s" => "Podijeljeno od strane %s", 14 | "File list" => "Popis datoteka" 15 | ); 16 | $PLURAL_FORMS = "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"; 17 | -------------------------------------------------------------------------------- /l10n/hr.php: -------------------------------------------------------------------------------- 1 | "Slike", 4 | "Picture view" => "Prikaz slika", 5 | "Next" => "Sljedeća", 6 | "Play" => "Reprodukcija", 7 | "Pause" => "Pauza", 8 | "Previous" => "Prethodna", 9 | "Close" => "Zatvorite", 10 | "Error loading slideshow template" => "Pogrešan unos predloška za projekciju", 11 | "Share" => "Dijeljenje", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "Slike nisu pronađene! Ako slike učitate u aplikaciju \"Datoteke\", one će biti prikazane ovdje.", 13 | "shared by %s" => "Podijeljeno od strane %s", 14 | "File list" => "Popis datoteka" 15 | ); 16 | $PLURAL_FORMS = "nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"; 17 | -------------------------------------------------------------------------------- /l10n/pl.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Zdjęcia", 5 | "Picture view" : "Widok zdjęć", 6 | "Next" : "Następny", 7 | "Play" : "Odtwarzaj", 8 | "Pause" : "Wstrzymaj", 9 | "Previous" : "Poprzedni", 10 | "Close" : "Zamknij", 11 | "Error loading slideshow template" : "Błąd podczas ładowania szablonu pokazu slajdów", 12 | "Share" : "Udostępnij", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Nie znaleziono zdjęć! Zdjęcia pojawią się tutaj, gdy wgrasz je do plików.", 14 | "shared by %s" : "udostępniony przez %s", 15 | "File list" : "Lista plików" 16 | }, 17 | "nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"); 18 | -------------------------------------------------------------------------------- /l10n/uk.php: -------------------------------------------------------------------------------- 1 | "Зображення", 4 | "Picture view" => "Перегляд Зображення", 5 | "Next" => "Наступний", 6 | "Play" => "Грати", 7 | "Pause" => "Пауза", 8 | "Previous" => "Попередній", 9 | "Close" => "Закрити", 10 | "Error loading slideshow template" => "Помилка завантаження шаблона слайд-шоу", 11 | "Share" => "Поділитися", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "Зображення не знайдено! Якщо ви завантажуєте зображення в додатку файли, вони будуть відображатися тут.", 13 | "shared by %s" => "поділяють %s", 14 | "File list" => "Список файлів" 15 | ); 16 | $PLURAL_FORMS = "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"; 17 | -------------------------------------------------------------------------------- /l10n/sr@latin.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Slike", 5 | "Picture view" : "Prikaz slike", 6 | "Next" : "Sledeća", 7 | "Play" : "Pusti", 8 | "Pause" : "Pauziraj", 9 | "Previous" : "Prethodna", 10 | "Close" : "Zatvori", 11 | "Error loading slideshow template" : "Greška pri učitavanju šablona za slajdove", 12 | "Share" : "Podeli", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Nema slika! Ako otpremite slike u aplikaciji fajlova, one će biti prikazane ovde.", 14 | "shared by %s" : "deli %s", 15 | "File list" : "Spisak fajlova" 16 | }, 17 | "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"); 18 | -------------------------------------------------------------------------------- /l10n/bs.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Slike", 3 | "Picture view" : "Prikaz slika", 4 | "Next" : "Sljedeće", 5 | "Play" : "Play", 6 | "Pause" : "Pauza", 7 | "Previous" : "Prethodno", 8 | "Close" : "Zatvori", 9 | "Error loading slideshow template" : "Greška pri učitavanju šablona animiranog preglednika", 10 | "Share" : "Podijeli", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Slike nisu nađene! Ako slike učitate u aplikaciju \"Datoteke\", one će biti prikazane ovdje.", 12 | "shared by %s" : "Podijeljeno od strane %s", 13 | "File list" : "Popis datoteka" 14 | },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);" 15 | } -------------------------------------------------------------------------------- /l10n/hr.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Slike", 3 | "Picture view" : "Prikaz slika", 4 | "Next" : "Sljedeća", 5 | "Play" : "Reprodukcija", 6 | "Pause" : "Pauza", 7 | "Previous" : "Prethodna", 8 | "Close" : "Zatvorite", 9 | "Error loading slideshow template" : "Pogrešan unos predloška za projekciju", 10 | "Share" : "Dijeljenje", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Slike nisu pronađene! Ako slike učitate u aplikaciju \"Datoteke\", one će biti prikazane ovdje.", 12 | "shared by %s" : "Podijeljeno od strane %s", 13 | "File list" : "Popis datoteka" 14 | },"pluralForm" :"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;" 15 | } -------------------------------------------------------------------------------- /l10n/sl.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Slike", 5 | "Picture view" : "Slikovni pogled", 6 | "Next" : "Naslednja", 7 | "Play" : "Predvajaj", 8 | "Pause" : "Premor", 9 | "Previous" : "Predhodna", 10 | "Close" : "Zapri", 11 | "Error loading slideshow template" : "Napaka nalaganja predloge za slikovno predstavitev", 12 | "Share" : "Souporaba", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Ni najdenih slik! Če shranite slike kjerkoli med datoteke, bodo tu prikazane kot galerije.", 14 | "shared by %s" : "v souporabi preko %s", 15 | "File list" : "Seznam datotek" 16 | }, 17 | "nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"); 18 | -------------------------------------------------------------------------------- /l10n/uk.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Зображення", 3 | "Picture view" : "Перегляд Зображення", 4 | "Next" : "Наступний", 5 | "Play" : "Грати", 6 | "Pause" : "Пауза", 7 | "Previous" : "Попередній", 8 | "Close" : "Закрити", 9 | "Error loading slideshow template" : "Помилка завантаження шаблона слайд-шоу", 10 | "Share" : "Поділитися", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Зображення не знайдено! Якщо ви завантажуєте зображення в додатку файли, вони будуть відображатися тут.", 12 | "shared by %s" : "поділяють %s", 13 | "File list" : "Список файлів" 14 | },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);" 15 | } -------------------------------------------------------------------------------- /l10n/bs.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Slike", 5 | "Picture view" : "Prikaz slika", 6 | "Next" : "Sljedeće", 7 | "Play" : "Play", 8 | "Pause" : "Pauza", 9 | "Previous" : "Prethodno", 10 | "Close" : "Zatvori", 11 | "Error loading slideshow template" : "Greška pri učitavanju šablona animiranog preglednika", 12 | "Share" : "Podijeli", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Slike nisu nađene! Ako slike učitate u aplikaciju \"Datoteke\", one će biti prikazane ovdje.", 14 | "shared by %s" : "Podijeljeno od strane %s", 15 | "File list" : "Popis datoteka" 16 | }, 17 | "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"); 18 | -------------------------------------------------------------------------------- /l10n/hr.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Slike", 5 | "Picture view" : "Prikaz slika", 6 | "Next" : "Sljedeća", 7 | "Play" : "Reprodukcija", 8 | "Pause" : "Pauza", 9 | "Previous" : "Prethodna", 10 | "Close" : "Zatvorite", 11 | "Error loading slideshow template" : "Pogrešan unos predloška za projekciju", 12 | "Share" : "Dijeljenje", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Slike nisu pronađene! Ako slike učitate u aplikaciju \"Datoteke\", one će biti prikazane ovdje.", 14 | "shared by %s" : "Podijeljeno od strane %s", 15 | "File list" : "Popis datoteka" 16 | }, 17 | "nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"); 18 | -------------------------------------------------------------------------------- /l10n/uk.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Зображення", 5 | "Picture view" : "Перегляд Зображення", 6 | "Next" : "Наступний", 7 | "Play" : "Грати", 8 | "Pause" : "Пауза", 9 | "Previous" : "Попередній", 10 | "Close" : "Закрити", 11 | "Error loading slideshow template" : "Помилка завантаження шаблона слайд-шоу", 12 | "Share" : "Поділитися", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Зображення не знайдено! Якщо ви завантажуєте зображення в додатку файли, вони будуть відображатися тут.", 14 | "shared by %s" : "поділяють %s", 15 | "File list" : "Список файлів" 16 | }, 17 | "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"); 18 | -------------------------------------------------------------------------------- /l10n/ru.php: -------------------------------------------------------------------------------- 1 | "Изображения", 4 | "Picture view" => "Просмотр изображения", 5 | "Next" => "Следующий", 6 | "Play" => "Проиграть", 7 | "Pause" => "Пауза", 8 | "Previous" => "Предыдущий", 9 | "Close" => "Закрыть", 10 | "Error loading slideshow template" => "Ошибка при загрузке шаблона слайд-шоу", 11 | "Share" => "Открыть доступ", 12 | "No pictures found! If you upload pictures in the files app, they will be displayed here." => "Изображения не найдены! Если вы загрузите изображения, то они будут отображены здесь.", 13 | "shared by %s" => "поделился %s", 14 | "File list" => "Список файлов" 15 | ); 16 | $PLURAL_FORMS = "nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"; 17 | -------------------------------------------------------------------------------- /l10n/ru.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "Pictures" : "Изображения", 3 | "Picture view" : "Просмотр изображения", 4 | "Next" : "Следующий", 5 | "Play" : "Проиграть", 6 | "Pause" : "Пауза", 7 | "Previous" : "Предыдущий", 8 | "Close" : "Закрыть", 9 | "Error loading slideshow template" : "Ошибка при загрузке шаблона слайд-шоу", 10 | "Share" : "Открыть доступ", 11 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Изображения не найдены! Если вы загрузите изображения, то они будут отображены здесь.", 12 | "shared by %s" : "поделился %s", 13 | "File list" : "Список файлов" 14 | },"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);" 15 | } -------------------------------------------------------------------------------- /l10n/ru.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "gallery", 3 | { 4 | "Pictures" : "Изображения", 5 | "Picture view" : "Просмотр изображения", 6 | "Next" : "Следующий", 7 | "Play" : "Проиграть", 8 | "Pause" : "Пауза", 9 | "Previous" : "Предыдущий", 10 | "Close" : "Закрыть", 11 | "Error loading slideshow template" : "Ошибка при загрузке шаблона слайд-шоу", 12 | "Share" : "Открыть доступ", 13 | "No pictures found! If you upload pictures in the files app, they will be displayed here." : "Изображения не найдены! Если вы загрузите изображения, то они будут отображены здесь.", 14 | "shared by %s" : "поделился %s", 15 | "File list" : "Список файлов" 16 | }, 17 | "nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"); 18 | -------------------------------------------------------------------------------- /appinfo/routes.php: -------------------------------------------------------------------------------- 1 | 4 | * This file is licensed under the Affero General Public License version 3 or 5 | * later. 6 | * See the COPYING-README file. 7 | */ 8 | 9 | /** @var $this OC\Route\Router */ 10 | 11 | $this->create('gallery_index', '/') 12 | ->actionInclude('gallery/index.php'); 13 | $this->create('gallery_ajax_gallery', 'ajax/gallery') 14 | ->actionInclude('gallery/ajax/gallery.php'); 15 | $this->create('gallery_ajax_images', 'ajax/images') 16 | ->actionInclude('gallery/ajax/getimages.php'); 17 | $this->create('gallery_ajax_image', 'ajax/image') 18 | ->actionInclude('gallery/ajax/image.php'); 19 | $this->create('gallery_ajax_thumbnail', 'ajax/thumbnail') 20 | ->actionInclude('gallery/ajax/thumbnail.php'); 21 | $this->create('gallery_ajax_batch', 'ajax/thumbnail/batch') 22 | ->actionInclude('gallery/ajax/batch.php'); 23 | 24 | $this->create('gallery_public', '/public/{t}') 25 | ->actionInclude('gallery/public.php'); 26 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: php 2 | 3 | php: 4 | - 5.4 5 | - 5.5 6 | - 5.6 7 | - 7 8 | 9 | branches: 10 | only: 11 | - master 12 | - /^stable\d+(\.\d+)?$/ 13 | 14 | # optionally specify a list of environments, for example to test different RDBMS 15 | #env: 16 | # - DB=mysql 17 | # - DB=pgsql 18 | 19 | # execute any number of scripts before the test run, custom env's are available as variables 20 | #before_script: 21 | # - if [[ "$DB" == "pgsql" ]]; then psql -c "DROP DATABASE IF EXISTS hello_world_test;" -U postgres; fi 22 | # - if [[ "$DB" == "pgsql" ]]; then psql -c "create database hello_world_test;" -U postgres; fi 23 | # - if [[ "$DB" == "mysql" ]]; then mysql -e "create database IF NOT EXISTS hello_world_test;" -uroot; fi 24 | 25 | # omitting "script:" will default to phpunit 26 | # use the $DB env variable to determine the phpunit.xml to use 27 | #script: phpunit --configuration phpunit_$DB.xml --coverage-text 28 | script: ant test 29 | 30 | # configure notifications (email, IRC, campfire etc) 31 | #notifications: 32 | # irc: "irc.freenode.org#travis" 33 | 34 | -------------------------------------------------------------------------------- /css/public.css: -------------------------------------------------------------------------------- 1 | #gallery { 2 | margin-top: 45px; 3 | } 4 | 5 | #public_upload, 6 | #download { 7 | font-weight:700; 8 | margin: 0 0.4em 0 0; 9 | padding: 0 5px; 10 | height: 32px; 11 | float: left; 12 | 13 | } 14 | 15 | body { 16 | position: absolute; 17 | height: 100%; 18 | width: 100%; 19 | text-align: center; 20 | } 21 | 22 | /* toggle for opening shared picture view as file list */ 23 | #openAsFileListButton { 24 | position: absolute; 25 | right: 0; 26 | top: 0; 27 | font-weight: normal; 28 | } 29 | #openAsFileListButton img { 30 | vertical-align: text-top; 31 | -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; 32 | filter: alpha(opacity=50); 33 | opacity: .5; 34 | } 35 | 36 | 37 | /* transfer to core after body has the id #body-public / #body-public-dark */ 38 | 39 | footer { 40 | text-align: center; 41 | color: #777; 42 | } 43 | footer p.info a { 44 | font-weight: bold; 45 | color: #777; 46 | padding: 13px; 47 | margin: -13px; 48 | } 49 | 50 | /* Sticky footer */ 51 | body .wrapper { 52 | min-height: 86%; 53 | margin: 0 auto -50px; 54 | } 55 | body footer, body .push { 56 | height: 70px; 57 | } 58 | footer p.info { 59 | padding-top: 30px; 60 | } 61 | -------------------------------------------------------------------------------- /js/public.js: -------------------------------------------------------------------------------- 1 | /* global OC */ 2 | $(document).ready(function () { 3 | var button; 4 | 5 | if ($('#body-login').length > 0) { 6 | return true; //deactivate on login page 7 | } 8 | 9 | function onFileListUpdated() { 10 | var hasImages = !!$("#fileList").find("tr[data-mime^='image']:first").length; 11 | 12 | button.toggleClass('hidden', !hasImages); 13 | } 14 | if ($('#filesApp').val() && $('#isPublic').val()) { 15 | 16 | $('#fileList').on('updated', onFileListUpdated); 17 | 18 | // toggle for opening shared file list as picture view 19 | // TODO find a way to not need to use inline CSS 20 | button = $(''); 28 | 29 | button.click( function () { 30 | window.location.href = OC.generateUrl('apps/gallery/public/{token}', { 31 | token: $('#sharingToken').val() 32 | }); 33 | }); 34 | 35 | $('#controls').append(button); 36 | } 37 | }); 38 | -------------------------------------------------------------------------------- /ajax/thumbnail.php: -------------------------------------------------------------------------------- 1 | 4 | * This file is licensed under the Affero General Public License version 3 or 5 | * later. 6 | * See the COPYING-README file. 7 | */ 8 | 9 | OCP\JSON::checkAppEnabled('gallery'); 10 | 11 | $scale = isset($_GET['scale']) ? $_GET['scale'] : 1; 12 | $img = $_GET['file']; 13 | 14 | 15 | if (!empty($_GET['token'])) { 16 | $linkItem = \OCP\Share::getShareByToken($_GET['token']); 17 | if (!(is_array($linkItem) && isset($linkItem['uid_owner']))) { 18 | exit; 19 | } 20 | // seems to be a valid share 21 | $rootLinkItem = \OCP\Share::resolveReShare($linkItem); 22 | $user = $rootLinkItem['uid_owner']; 23 | 24 | // Setup filesystem 25 | OCP\JSON::checkUserExists($user); 26 | OC_Util::tearDownFS(); 27 | OC_Util::setupFS($user); 28 | 29 | $fullPath = \OC\Files\Filesystem::getPath($linkItem['file_source']); 30 | if($fullPath === null) { 31 | exit(); 32 | } 33 | $img = trim($fullPath . '/' . $img); 34 | } else { 35 | OCP\JSON::checkLoggedIn(); 36 | $user = OCP\User::getUser(); 37 | } 38 | 39 | session_write_close(); 40 | 41 | $square = isset($_GET['square']) ? (bool)$_GET['square'] : false; 42 | 43 | if ($square) { 44 | $preview = new \OC\Preview($user, 'files', '/' . $img, 200 * $scale, 200 * $scale); 45 | } else { 46 | $preview = new \OC\Preview($user, 'files', '/' . $img, 400 * $scale, 200 * $scale); 47 | $preview->setKeepAspect(true); 48 | } 49 | $preview->showPreview(); 50 | -------------------------------------------------------------------------------- /appinfo/app.php: -------------------------------------------------------------------------------- 1 | . 21 | * 22 | */ 23 | 24 | \OC::$server->getNavigationManager()->add(function () { 25 | $urlGenerator = \OC::$server->getURLGenerator(); 26 | $l = \OC::$server->getL10N('gallery'); 27 | return [ 28 | 'id' => 'gallery_index', 29 | 'order' => 3, 30 | 'href' => $urlGenerator->linkToRoute('gallery_index'), 31 | 'icon' => $urlGenerator->imagePath('gallery', 'gallery.svg'), 32 | 'name' => $l->t('Pictures'), 33 | ]; 34 | }); 35 | 36 | // make slideshow available in files and public shares 37 | OCP\Util::addScript('gallery', 'jquery.mousewheel-3.1.1'); 38 | OCP\Util::addScript('gallery', 'slideshow'); 39 | OCP\Util::addScript('gallery', 'public'); 40 | OCP\Util::addStyle('gallery', 'slideshow'); 41 | 42 | -------------------------------------------------------------------------------- /templates/public.php: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 | 28 |
29 |
30 |
31 | 32 | 33 |
34 | <?php p($l->t('File list')); ?> 37 |
38 |
39 | 40 | 41 |
42 | 43 |
44 |
45 | 46 |
47 |

48 | getLongFooter()); ?> 49 |

50 |
51 | -------------------------------------------------------------------------------- /ajax/getimages.php: -------------------------------------------------------------------------------- 1 | 4 | * This file is licensed under the Affero General Public License version 3 or 5 | * later. 6 | * See the COPYING-README file. 7 | */ 8 | 9 | OCP\JSON::checkAppEnabled('gallery'); 10 | $path = null; 11 | 12 | if (isset($_GET['token'])) { 13 | $token = $_GET['token']; 14 | $linkItem = \OCP\Share::getShareByToken($token); 15 | if (is_array($linkItem) && isset($linkItem['uid_owner'])) { 16 | // seems to be a valid share 17 | $type = $linkItem['item_type']; 18 | $fileSource = $linkItem['file_source']; 19 | $shareOwner = $linkItem['uid_owner']; 20 | 21 | $rootLinkItem = \OCP\Share::resolveReShare($linkItem); 22 | $fileOwner = $rootLinkItem['uid_owner']; 23 | 24 | // Setup FS with owner 25 | OCP\JSON::checkUserExists($fileOwner); 26 | OC_Util::tearDownFS(); 27 | OC_Util::setupFS($fileOwner); 28 | 29 | // The token defines the target directory (security reasons) 30 | $path = \OC\Files\Filesystem::getPath($linkItem['file_source']); 31 | if($path === null) { 32 | exit(); 33 | } 34 | 35 | $view = new \OC\Files\View(\OC\Files\Filesystem::getView()->getAbsolutePath($path)); 36 | $images = $view->searchByMime('image'); 37 | 38 | $result = array(); 39 | foreach ($images as $image) { 40 | $result[] = trim($image['path'], '/'); 41 | } 42 | 43 | OCP\JSON::setContentTypeHeader(); 44 | echo json_encode($result); 45 | 46 | exit; 47 | } 48 | } 49 | 50 | OCP\JSON::checkLoggedIn(); 51 | OCP\JSON::checkAppEnabled('gallery'); 52 | 53 | $images = \OCP\Files::searchByMime('image'); 54 | $user = \OCP\User::getUser(); 55 | $users = array(); 56 | $result = array(); 57 | 58 | if($path == null){ 59 | 60 | $path='/'; 61 | } 62 | 63 | foreach ($images as $image) { 64 | if (strpos($path, DIRECTORY_SEPARATOR . ".")) { 65 | continue; 66 | } 67 | $result[] = trim($image['path'], '/'); 68 | } 69 | 70 | function startsWith($haystack, $needle) { 71 | return !strncmp($haystack, $needle, strlen($needle)); 72 | } 73 | 74 | OCP\JSON::setContentTypeHeader(); 75 | echo json_encode($result); 76 | -------------------------------------------------------------------------------- /ajax/image.php: -------------------------------------------------------------------------------- 1 | 4 | * This file is licensed under the Affero General Public License version 3 or 5 | * later. 6 | * See the COPYING-README file. 7 | */ 8 | 9 | OCP\JSON::checkAppEnabled('gallery'); 10 | 11 | $img = $_GET['file']; 12 | $token = $_GET['token']; 13 | if (!empty($_GET['token'])) { 14 | $linkItem = \OCP\Share::getShareByToken($_GET['token']); 15 | if (!(is_array($linkItem) && isset($linkItem['uid_owner']))) { 16 | exit; 17 | } 18 | // seems to be a valid share 19 | $rootLinkItem = \OCP\Share::resolveReShare($linkItem); 20 | $user = $rootLinkItem['uid_owner']; 21 | 22 | // Setup filesystem 23 | OCP\JSON::checkUserExists($user); 24 | OC_Util::tearDownFS(); 25 | OC_Util::setupFS($user); 26 | OC_User::setIncognitoMode(true); 27 | 28 | $fullPath = \OC\Files\Filesystem::getPath($linkItem['file_source']); 29 | if($fullPath === null) { 30 | exit(); 31 | } 32 | $img = trim($fullPath . '/' . $img); 33 | } else { 34 | OCP\JSON::checkLoggedIn(); 35 | $user = OCP\User::getUser(); 36 | } 37 | 38 | session_write_close(); 39 | 40 | $ownerView = new \OC\Files\View('/' . $user . '/files'); 41 | 42 | $mime = $ownerView->getMimeType($img); 43 | list($mimePart,) = explode('/', $mime); 44 | if ($mimePart === 'image') { 45 | $fileInfo = $ownerView->getFileInfo($img); 46 | if ($fileInfo['encrypted'] === true) { 47 | $local = $ownerView->toTmpFile($img); 48 | } else { 49 | $local = $ownerView->getLocalFile($img); 50 | } 51 | $rotate = false; 52 | if (is_callable('exif_read_data')) { //don't use OCP\Image here, using OCP\Image will always cause parsing the image file 53 | $exif = @exif_read_data($local, 'IFD0'); 54 | if (isset($exif['Orientation'])) { 55 | $rotate = ($exif['Orientation'] > 1); 56 | } 57 | } 58 | 59 | OCP\Response::setContentDispositionHeader(basename($img), 'attachment'); 60 | 61 | if ($rotate) { 62 | $image = new OCP\Image($local); 63 | $image->fixOrientation(); 64 | $image->show(); 65 | } else { //use the original file if we dont need to rotate, saves having to re-encode the image 66 | header('Content-Type: ' . $mime); 67 | $ownerView->readfile($img); 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /ajax/batch.php: -------------------------------------------------------------------------------- 1 | 4 | * This file is licensed under the Affero General Public License version 3 or 5 | * later. 6 | * See the COPYING-README file. 7 | */ 8 | 9 | OCP\JSON::checkAppEnabled('gallery'); 10 | 11 | $square = isset($_GET['square']) ? (bool)$_GET['square'] : false; 12 | $scale = isset($_GET['scale']) ? $_GET['scale'] : 1; 13 | $images = explode(';', $_GET['image']); 14 | 15 | if (!empty($_GET['token'])) { 16 | $linkItem = \OCP\Share::getShareByToken($_GET['token']); 17 | if (!(is_array($linkItem) && isset($linkItem['uid_owner']))) { 18 | exit; 19 | } 20 | // seems to be a valid share 21 | $rootLinkItem = \OCP\Share::resolveReShare($linkItem); 22 | $user = $rootLinkItem['uid_owner']; 23 | 24 | // Setup filesystem 25 | OCP\JSON::checkUserExists($user); 26 | OC_Util::tearDownFS(); 27 | OC_Util::setupFS($user); 28 | 29 | $root = \OC\Files\Filesystem::getPath($linkItem['file_source']) . '/'; 30 | if($root === null) { 31 | exit(); 32 | } 33 | $images = array_map(function ($image) use ($root) { 34 | return $root . $image; 35 | }, $images); 36 | } else { 37 | $root = ''; 38 | OCP\JSON::checkLoggedIn(); 39 | $user = OCP\User::getUser(); 40 | } 41 | 42 | session_write_close(); 43 | $eventSource = new OC_EventSource(); 44 | 45 | foreach ($images as $image) { 46 | $height = 200 * $scale; 47 | if ($square) { 48 | $width = 200 * $scale; 49 | } else { 50 | $width = 400 * $scale; 51 | } 52 | 53 | $userView = new \OC\Files\View('/' . $user); 54 | 55 | $preview = new \OC\Preview($user, 'files', '/' . $image, $width, $height); 56 | $preview->setKeepAspect(!$square); 57 | 58 | $fileInfo = $userView->getFileInfo('/files/' . $image); 59 | if($fileInfo instanceof \OC\Files\FileInfo) { 60 | 61 | // if the thumbnails is already cached, get it directly from the filesystem to avoid decoding and re-encoding the image 62 | $imageName = substr($image, strlen($root)); 63 | if ($path = $preview->isCached($fileInfo->getId())) { 64 | $eventSource->send('preview', array( 65 | 'image' => $imageName, 66 | 'preview' => base64_encode($userView->file_get_contents('/' . $path)) 67 | )); 68 | } else { 69 | $eventSource->send('preview', array( 70 | 'image' => $imageName, 71 | 'preview' => (string)$preview->getPreview() 72 | )); 73 | } 74 | } 75 | } 76 | $eventSource->close(); 77 | -------------------------------------------------------------------------------- /css/styles.css: -------------------------------------------------------------------------------- 1 | button.share { 2 | display: none; 3 | } 4 | 5 | #content-wrapper { 6 | overflow-x: auto; 7 | } 8 | 9 | #gallery.hascontrols { 10 | overflow: hidden; 11 | text-align: justify; 12 | top: 44px; 13 | padding-bottom: 100px; 14 | } 15 | 16 | #gallery .row { 17 | line-height: 0; 18 | width: 100%; 19 | white-space: nowrap; 20 | } 21 | 22 | #gallery .row:first-child { 23 | margin-top: 2px; 24 | } 25 | 26 | #gallery .row a:first-child { 27 | margin-left: 4px; 28 | } 29 | 30 | #gallery .row a:last-child { 31 | margin-right: 4px; 32 | } 33 | 34 | #gallery .row a { 35 | display: inline-block; 36 | height: auto; 37 | padding: 0; 38 | margin: 2px; 39 | } 40 | 41 | #gallery a.album .album-label, 42 | #gallery a.image .album-label { 43 | color: #fff; 44 | text-shadow: none; 45 | position: absolute; 46 | left: 0; 47 | bottom: 0; 48 | width: 100%; 49 | background-color: rgba(0, 0, 0, .25); 50 | text-align: center; 51 | font-size: 18px; 52 | line-height: normal; 53 | box-sizing: border-box; 54 | padding: 5px; 55 | overflow-x: hidden; 56 | text-overflow: ellipsis; 57 | z-index: 11; 58 | } 59 | 60 | #gallery a.album > img { 61 | max-width: 200px; 62 | max-height: 200px; 63 | } 64 | 65 | #gallery a { 66 | display: inline-block; 67 | margin: 0; 68 | position: relative; 69 | vertical-align: top; 70 | *display: inline; 71 | zoom: 1; 72 | } 73 | 74 | /* make focus visible for keyboard users */ 75 | #gallery a:focus, 76 | #gallery a.album:focus { 77 | opacity: .5; 78 | } 79 | 80 | #gallery a.image > img { 81 | max-height: 200px; 82 | width: auto; 83 | } 84 | 85 | #gallery a.album, 86 | #gallery .row { 87 | opacity: 1; 88 | transition: opacity 500ms; 89 | -moz-transition: opacity 500ms; 90 | -o-transition: opacity 500ms; 91 | -ms-transition: opacity 500ms; 92 | -webkit-transition: opacity 500ms; 93 | } 94 | 95 | #gallery a.album img{ 96 | position: relative; 97 | float:left; 98 | } 99 | 100 | #gallery a.album.loading, 101 | #gallery .row.loading { 102 | opacity: 0; 103 | } 104 | 105 | #controls > .right { 106 | float: right; 107 | } 108 | 109 | #gallery > h2 { 110 | background: #f7f7f7; 111 | height: 2.8em; 112 | border-top: 1px solid #eee; 113 | border-bottom: 1px solid #eee; 114 | vertical-align: middle; 115 | font-weight: bold; 116 | padding: 0.5em; 117 | padding-left: 2em; 118 | } 119 | 120 | #dropdown { 121 | top: 43px; 122 | right: 0; 123 | margin-right: 0; 124 | border-bottom-right-radius: 0; 125 | } 126 | 127 | #loading { 128 | font-size: 16px; 129 | color: #888; 130 | position: absolute; 131 | text-align: center; 132 | top: 30%; 133 | width: 100%; 134 | } 135 | -------------------------------------------------------------------------------- /css/slideshow.css: -------------------------------------------------------------------------------- 1 | #slideshow { 2 | position: fixed; 3 | left: 0; 4 | top: 0; 5 | width: 100%; 6 | height: 100%; 7 | z-index: 100000; 8 | display: none; 9 | background-color: black; 10 | background-position: center center; 11 | -webkit-touch-callout: none; 12 | -webkit-user-select: none; 13 | -khtml-user-select: none; 14 | -moz-user-select: none; 15 | -ms-user-select: none; 16 | user-select: none; 17 | } 18 | 19 | #slideshow>img { 20 | position: relative; 21 | vertical-align: middle; 22 | display: block; 23 | margin-left: auto; 24 | margin-right: auto; 25 | } 26 | 27 | #slideshow img:hover { 28 | background: black url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAMFBMVEX/AAD/AP8AAP8A//8A/wD//wB/AAB/AH8AAH8Af38AfwCCfwAAAAAZGRkzMzNMTEy64p6SAAAAF0lEQVQI12P4DwRngICBQgaIAHEoZAAASHBywR1kvCwAAAAASUVORK5CYII=)repeat; 29 | } 30 | 31 | #slideshow > input { 32 | background-color: transparent; 33 | border: 0 transparent; 34 | color: transparent; 35 | outline: 0; 36 | box-shadow: none; 37 | width: 52px; 38 | height: 52px; 39 | position: absolute; 40 | z-index: 1100; 41 | -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; 42 | filter: alpha(opacity=50); 43 | opacity: .5; 44 | background-position: center center; 45 | background-repeat: no-repeat; 46 | } 47 | 48 | #slideshow.inactive > input, 49 | #slideshow.inactive > .progress { 50 | -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; 51 | filter: alpha(opacity=0); 52 | opacity: 0; 53 | /* slow fadeout, fadein will be 300ms again*/ 54 | -webkit-transition: opacity 3s; 55 | -moz-transition: opacity 3s; 56 | -o-transition: opacity 3s; 57 | transition: opacity 3s; 58 | } 59 | 60 | #slideshow > * { 61 | -webkit-transition: opacity 300ms; 62 | -moz-transition: opacity 300ms; 63 | -o-transition: opacity 300ms; 64 | transition: opacity 300ms; 65 | } 66 | 67 | #slideshow > input:hover { 68 | -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=75)"; 69 | filter: alpha(opacity=75); 70 | opacity: .75; 71 | } 72 | 73 | #slideshow > .next, #slideshow > .previous { 74 | top: 50%; 75 | margin-top: -21px; 76 | } 77 | 78 | #slideshow > .next { 79 | right: 0; 80 | } 81 | 82 | #slideshow > .previous { 83 | left: 0; 84 | } 85 | 86 | #slideshow > .exit { 87 | right: 0; 88 | top: 0; 89 | } 90 | 91 | #slideshow > .pause, #slideshow > .play { 92 | bottom: 0; 93 | right: 0; 94 | margin-top: -21px; 95 | } 96 | 97 | #slideshow > .play { 98 | display: none; 99 | } 100 | 101 | #slideshow > .pause { 102 | } 103 | 104 | #slideshow > .progress { 105 | position: fixed; 106 | bottom: 13px; 107 | right: 13px; 108 | background-position: 0 100%; 109 | width: 32px; 110 | -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; 111 | filter: alpha(opacity=50); 112 | opacity: .5; 113 | height: 0; 114 | min-height: 0; 115 | } 116 | -------------------------------------------------------------------------------- /js/jquery.mousewheel-3.1.1.js: -------------------------------------------------------------------------------- 1 | /*! Copyright (c) 2013 Brandon Aaron (http://brandonaaron.net) 2 | * Licensed under the MIT License (LICENSE.txt). 3 | * 4 | * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers. 5 | * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix. 6 | * Thanks to: Seamus Leahy for adding deltaX and deltaY 7 | * 8 | * Version: 3.1.1 9 | * 10 | * Requires: 1.2.2+ 11 | */ 12 | 13 | (function (factory) { 14 | if (typeof define === 'function' && define.amd) { 15 | // AMD. Register as an anonymous module. 16 | define(['jquery'], factory); 17 | } else { 18 | // Browser globals 19 | factory(jQuery); 20 | } 21 | }(function ($) { 22 | 23 | var toFix = ['wheel', 'mousewheel', 'DOMMouseScroll']; 24 | var toBind = 'onwheel' in document || document.documentMode >= 9 ? ['wheel'] : ['mousewheel', 'DomMouseScroll', 'MozMousePixelScroll']; 25 | var lowestDelta, lowestDeltaXY; 26 | 27 | if ($.event.fixHooks) { 28 | for ( var i=toFix.length; i; ) { 29 | $.event.fixHooks[ toFix[--i] ] = $.event.mouseHooks; 30 | } 31 | } 32 | 33 | $.event.special.mousewheel = { 34 | setup: function() { 35 | if ( this.addEventListener ) { 36 | for ( var i=toBind.length; i; ) { 37 | this.addEventListener( toBind[--i], handler, false ); 38 | } 39 | } else { 40 | this.onmousewheel = handler; 41 | } 42 | }, 43 | 44 | teardown: function() { 45 | if ( this.removeEventListener ) { 46 | for ( var i=toBind.length; i; ) { 47 | this.removeEventListener( toBind[--i], handler, false ); 48 | } 49 | } else { 50 | this.onmousewheel = null; 51 | } 52 | } 53 | }; 54 | 55 | $.fn.extend({ 56 | mousewheel: function(fn) { 57 | return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel"); 58 | }, 59 | 60 | unmousewheel: function(fn) { 61 | return this.unbind("mousewheel", fn); 62 | } 63 | }); 64 | 65 | 66 | function handler(event) { 67 | var orgEvent = event || window.event, args = [].slice.call( arguments, 1 ), delta = 0, deltaX = 0, deltaY = 0, absDelta = 0, absDeltaXY = 0, fn; 68 | event = $.event.fix(orgEvent); 69 | event.type = "mousewheel"; 70 | 71 | // Old school scrollwheel delta 72 | if ( orgEvent.wheelDelta ) { delta = orgEvent.wheelDelta; } 73 | if ( orgEvent.detail ) { delta = orgEvent.detail * -1; } 74 | 75 | // New school wheel delta (wheel event) 76 | if ( orgEvent.deltaY ) { 77 | deltaY = orgEvent.deltaY * -1; 78 | delta = deltaY; 79 | } 80 | if ( orgEvent.deltaX ) { 81 | deltaX = orgEvent.deltaX; 82 | delta = deltaX * -1; 83 | } 84 | 85 | // Webkit 86 | if ( orgEvent.wheelDeltaY !== undefined ) { deltaY = orgEvent.wheelDeltaY; } 87 | if ( orgEvent.wheelDeltaX !== undefined ) { deltaX = orgEvent.wheelDeltaX * -1; } 88 | 89 | // Look for lowest delta to normalize the delta values 90 | absDelta = Math.abs(delta); 91 | if ( !lowestDelta || absDelta < lowestDelta ) { lowestDelta = absDelta; } 92 | absDeltaXY = Math.max( Math.abs(deltaY), Math.abs(deltaX) ); 93 | if ( !lowestDeltaXY || absDeltaXY < lowestDeltaXY ) { lowestDeltaXY = absDeltaXY; } 94 | 95 | // Get a whole value for the deltas 96 | fn = delta > 0 ? 'floor' : 'ceil'; 97 | delta = Math[fn](delta/lowestDelta); 98 | deltaX = Math[fn](deltaX/lowestDeltaXY); 99 | deltaY = Math[fn](deltaY/lowestDeltaXY); 100 | 101 | // Add event and delta to the front of the arguments 102 | args.unshift(event, delta, deltaX, deltaY); 103 | 104 | return ($.event.dispatch || $.event.handle).apply(this, args); 105 | } 106 | 107 | })); -------------------------------------------------------------------------------- /js/thumbnail.js: -------------------------------------------------------------------------------- 1 | /* global Gallery */ 2 | function Thumbnail (path, square, token) { 3 | this.token = token; 4 | this.square = square; 5 | this.path = path; 6 | this.url = Thumbnail.getUrl(path, square, token); 7 | this.image = null; 8 | this.loadingDeferred = new $.Deferred(); 9 | this.ratio = null; 10 | } 11 | 12 | Thumbnail.map = {}; 13 | Thumbnail.squareMap = {}; 14 | Thumbnail.height = 200; 15 | Thumbnail.width = 400; 16 | 17 | Thumbnail.get = function (path, square, token) { 18 | var map = (square) ? Thumbnail.squareMap : Thumbnail.map; 19 | if (!map[path]) { 20 | map[path] = new Thumbnail(path, square, token); 21 | } 22 | return map[path]; 23 | }; 24 | 25 | Thumbnail.getUrl = function (path, square, token) { 26 | if (path.substr(path.length - 4) === '.svg' || path.substr(path.length - 5) === '.svgz') { 27 | return Gallery.getImage(path); 28 | } 29 | return OC.generateUrl('apps/gallery/ajax/thumbnail?file={file}&scale={scale}&square={square}&token={token}', { 30 | file: encodeURIComponent(path), 31 | scale: window.devicePixelRatio, 32 | square: (square) ? 1 : 0, 33 | token: (token) ? token : '' 34 | }); 35 | }; 36 | 37 | Thumbnail.loadBatch = function (paths, square, token) { 38 | var map = (square) ? Thumbnail.squareMap : Thumbnail.map; 39 | paths = paths.filter(function (path) { 40 | return !map[path]; 41 | }); 42 | var thumbnails = {}; 43 | if (paths.length) { 44 | paths.forEach(function (path) { 45 | var thumb = new Thumbnail(path, square, token); 46 | thumb.image = new Image(); 47 | map[path] = thumbnails[path] = thumb; 48 | }); 49 | 50 | var url = OC.generateUrl( 51 | 'apps/gallery/ajax/thumbnail/batch?token={token}&image={images}&scale={scale}&square={square}', { 52 | images: paths.map(encodeURIComponent).join(';'), 53 | scale: window.devicePixelRatio, 54 | square: (square) ? 1 : 0, 55 | token: (token) ? token : '' 56 | }, {escape:false}); 57 | 58 | var eventSource = new OC.EventSource(url); 59 | eventSource.listen('done', function (data) {}); 60 | eventSource.listen('preview', function (data) { 61 | var path = data.image; 62 | var extension = path.substr(path.length - 3); 63 | var thumb = thumbnails[path]; 64 | thumb.image.onload = function () { 65 | Thumbnail.loadingCount--; 66 | thumb.image.ratio = thumb.image.width / thumb.image.height; 67 | thumb.image.originalWidth = 200 * thumb.image.ratio; 68 | thumb.loadingDeferred.resolve(thumb.image); 69 | }; 70 | thumb.image.src = 'data:image/' + extension + ';base64,' + data.preview; 71 | }); 72 | } 73 | return thumbnails; 74 | }; 75 | 76 | Thumbnail.prototype.load = function () { 77 | var that = this; 78 | if (!this.image) { 79 | this.image = new Image(); 80 | this.image.onload = function () { 81 | Thumbnail.loadingCount--; 82 | that.image.ratio = that.image.width / that.image.height; 83 | that.image.originalWidth = that.image.width / window.devicePixelRatio; 84 | that.loadingDeferred.resolve(that.image); 85 | Thumbnail.processQueue(); 86 | }; 87 | this.image.onerror = function () { 88 | Thumbnail.loadingCount--; 89 | that.loadingDeferred.reject(that.image); 90 | Thumbnail.processQueue(); 91 | }; 92 | Thumbnail.loadingCount++; 93 | this.image.src = this.url; 94 | } 95 | return this.loadingDeferred; 96 | }; 97 | 98 | Thumbnail.queue = []; 99 | Thumbnail.loadingCount = 0; 100 | Thumbnail.concurrent = 3; 101 | Thumbnail.paused = false; 102 | 103 | Thumbnail.processQueue = function () { 104 | if (!Thumbnail.paused && Thumbnail.queue.length && Thumbnail.loadingCount < Thumbnail.concurrent) { 105 | var next = Thumbnail.queue.shift(); 106 | next.load(); 107 | Thumbnail.processQueue(); 108 | } 109 | }; 110 | 111 | Thumbnail.prototype.queue = function () { 112 | if (!this.image) { 113 | Thumbnail.queue.push(this); 114 | } 115 | Thumbnail.processQueue(); 116 | return this.loadingDeferred; 117 | }; 118 | -------------------------------------------------------------------------------- /public.php: -------------------------------------------------------------------------------- 1 | . 20 | * 21 | */ 22 | 23 | \OCP\JSON::checkAppEnabled('gallery'); 24 | 25 | OCP\Util::addStyle('gallery', 'styles'); 26 | OCP\Util::addStyle('gallery', 'mobile'); 27 | 28 | $token = isset($_GET['t']) ? (string)$_GET['t'] : ''; 29 | 30 | if ($token) { 31 | $linkItem = \OCP\Share::getShareByToken($token, false); 32 | if (is_array($linkItem) && isset($linkItem['uid_owner'])) { 33 | // seems to be a valid share 34 | $type = $linkItem['item_type']; 35 | $fileSource = $linkItem['file_source']; 36 | $shareOwner = $linkItem['uid_owner']; 37 | $path = null; 38 | $rootLinkItem = \OCP\Share::resolveReShare($linkItem); 39 | $fileOwner = $rootLinkItem['uid_owner']; 40 | $albumName = trim($linkItem['file_target'], '//'); 41 | $ownerDisplayName = \OC_User::getDisplayName($fileOwner); 42 | 43 | // stupid copy and paste job 44 | if (isset($linkItem['share_with'])) { 45 | // Authenticate share_with 46 | $url = OCP\Util::linkToPublic('gallery') . '&t=' . $token; 47 | if (isset($_GET['file'])) { 48 | $url .= '&file=' . urlencode($_GET['file']); 49 | } else { 50 | if (isset($_GET['dir'])) { 51 | $url .= '&dir=' . urlencode($_GET['dir']); 52 | } 53 | } 54 | if (isset($_POST['password'])) { 55 | $password = $_POST['password']; 56 | if ($linkItem['share_type'] == OCP\Share::SHARE_TYPE_LINK) { 57 | // Check Password 58 | $newHash = ''; 59 | if(\OC::$server->getHasher()->verify($password, $linkItem['share_with'], $newHash)) { 60 | \OC::$server->getSession()->set('public_link_authenticated', $linkItem['id']); 61 | 62 | /** 63 | * FIXME: Migrate old hashes to new hash format 64 | * Due to the fact that there is no reasonable functionality to update the password 65 | * of an existing share no migration is yet performed there. 66 | * The only possibility is to update the existing share which will result in a new 67 | * share ID and is a major hack. 68 | * 69 | * In the future the migration should be performed once there is a proper method 70 | * to update the share's password. (for example `$share->updatePassword($password)` 71 | * 72 | * @link https://github.com/owncloud/core/issues/10671 73 | */ 74 | if(!empty($newHash)) { 75 | 76 | } 77 | } else { 78 | OCP\Util::addStyle('files_sharing', 'authenticate'); 79 | $tmpl = new OCP\Template('files_sharing', 'authenticate', 'guest'); 80 | $tmpl->assign('URL', $url); 81 | $tmpl->assign('wrongpw', true); 82 | $tmpl->printPage(); 83 | exit(); 84 | } 85 | } else { 86 | OCP\Util::writeLog('share', 'Unknown share type '.$linkItem['share_type'] 87 | .' for share id '.$linkItem['id'], \OCP\Util::ERROR); 88 | header('HTTP/1.0 404 Not Found'); 89 | $tmpl = new OCP\Template('', '404', 'guest'); 90 | $tmpl->printPage(); 91 | exit(); 92 | } 93 | 94 | } else { 95 | // Check if item id is set in session 96 | if ( ! \OC::$server->getSession()->exists('public_link_authenticated') 97 | || \OC::$server->getSession()->get('public_link_authenticated') !== $linkItem['id'] 98 | ) { 99 | // Prompt for password 100 | OCP\Util::addStyle('files_sharing', 'authenticate'); 101 | $tmpl = new OCP\Template('files_sharing', 'authenticate', 'guest'); 102 | $tmpl->assign('URL', $url); 103 | $tmpl->printPage(); 104 | exit(); 105 | } 106 | } 107 | } 108 | 109 | 110 | // render template 111 | $tmpl = new \OCP\Template('gallery', 'public', 'base'); 112 | OCP\Util::addScript('gallery', 'album'); 113 | OCP\Util::addScript('gallery', 'gallery'); 114 | OCP\Util::addScript('gallery', 'thumbnail'); 115 | OCP\Util::addStyle('gallery', 'public'); 116 | $tmpl->assign('token', $token); 117 | $tmpl->assign('requesttoken', \OCP\Util::callRegister()); 118 | $tmpl->assign('displayName', $ownerDisplayName); 119 | $tmpl->assign('albumName', $albumName); 120 | 121 | $tmpl->printPage(); 122 | exit; 123 | } 124 | } 125 | 126 | $tmpl = new OCP\Template('', '404', 'guest'); 127 | $tmpl->printPage(); 128 | -------------------------------------------------------------------------------- /js/album.js: -------------------------------------------------------------------------------- 1 | /* global Thumbnail */ 2 | function Album (path, subAlbums, images, name, token) { 3 | this.token = token; 4 | this.path = path; 5 | this.subAlbums = subAlbums; 6 | this.images = images; 7 | this.viewedItems = 0; 8 | this.name = name; 9 | this.domDef = null; 10 | this.preloadOffset = 0; 11 | } 12 | 13 | Album.prototype.getThumbnail = function () { 14 | if (this.images.length) { 15 | return this.images[0].getThumbnail(true); 16 | } else { 17 | return this.subAlbums[0].getThumbnail(); 18 | } 19 | }; 20 | 21 | Album.prototype.getThumbnailWidth = function () { 22 | return this.getThumbnail().then(function (img) { 23 | return img.originalWidth; 24 | }); 25 | }; 26 | 27 | /** 28 | *@param {GalleryImage} image 29 | * @param {number} targetHeight 30 | * @param {number} calcWidth 31 | * @param {object} a 32 | * @returns {a} 33 | */ 34 | Album.prototype.getOneImage = function (image, targetHeight, calcWidth, a) { 35 | image.getThumbnail(true).then(function (img) { 36 | img.alt = ''; 37 | a.append(img); 38 | img.height = targetHeight / 2; 39 | img.width = calcWidth; 40 | }); 41 | }; 42 | 43 | /** 44 | *@param {array} images 45 | * @param {number} targetHeight 46 | * @param {number} ratio 47 | * @param {object} a 48 | * @returns {a} 49 | */ 50 | Album.prototype.getFourImages = function (images, targetHeight, ratio, a) { 51 | 52 | var calcWidth = (targetHeight * ratio) / 2; 53 | var iImagesCount = images.length; 54 | if (iImagesCount > 4) { 55 | iImagesCount = 4; 56 | } 57 | 58 | a.width(calcWidth * 2); 59 | a.height(targetHeight - 1); 60 | 61 | for (var i = 0; i < iImagesCount; i++) { 62 | this.getOneImage(images[i], targetHeight, calcWidth, a); 63 | } 64 | }; 65 | 66 | Album.prototype.getDom = function (targetHeight) { 67 | var album = this; 68 | 69 | return this.getThumbnail().then(function (img) { 70 | var a = $('').addClass('album').attr('href', '#' + encodeURIComponent(album.path)); 71 | 72 | a.append($('').addClass('album-label').text(album.name)); 73 | var ratio = Math.round(img.ratio * 100) / 100; 74 | var calcWidth = (targetHeight * ratio) / 2; 75 | 76 | a.width(calcWidth * 2); 77 | a.height(targetHeight - 1); 78 | 79 | if (album.images.length > 1) { 80 | album.getFourImages(album.images, targetHeight, ratio, a); 81 | } else { 82 | if (album.images.length === 0 && album.subAlbums[0].images.length > 1) { 83 | album.getFourImages(album.subAlbums[0].images, targetHeight, ratio, a); 84 | } else { 85 | a.append(img); 86 | img.height = targetHeight; 87 | img.width = targetHeight * ratio; 88 | } 89 | 90 | } 91 | 92 | return a; 93 | }); 94 | }; 95 | 96 | 97 | /** 98 | * 99 | * @param {number} width 100 | * @returns {$.Deferred} 101 | */ 102 | Album.prototype.getNextRow = function (width) { 103 | /** 104 | * Add images to the row until it's full 105 | * 106 | * @param {Album} album 107 | * @param {Row} row 108 | * @param {GalleryImage[]} images 109 | * @returns {$.Deferred} 110 | */ 111 | var addImages = function (album, row, images) { 112 | if ((album.viewedItems + 5) > album.preloadOffset) { 113 | album.preload(20); 114 | } 115 | 116 | var image = images[album.viewedItems]; 117 | return row.addImage(image).then(function (more) { 118 | album.viewedItems++; 119 | if (more && album.viewedItems < images.length) { 120 | return addImages(album, row, images); 121 | } else { 122 | return row; 123 | } 124 | }); 125 | }; 126 | var items = this.subAlbums.concat(this.images); 127 | var row = new Row(width); 128 | return addImages(this, row, items); 129 | }; 130 | 131 | Album.prototype.getThumbnailPaths = function (count) { 132 | var paths = []; 133 | var items = this.images.concat(this.subAlbums); 134 | for (var i = 0; i < items.length && i < count; i++) { 135 | paths = paths.concat(items[i].getThumbnailPaths(count)); 136 | } 137 | 138 | return paths; 139 | }; 140 | 141 | /** 142 | * preload the first $count thumbnails 143 | * @param count 144 | */ 145 | Album.prototype.preload = function (count) { 146 | var items = this.subAlbums.concat(this.images); 147 | 148 | var paths = []; 149 | var squarePaths = []; 150 | for (var i = this.preloadOffset; i < this.preloadOffset + count && i < items.length; i++) { 151 | if (items[i].subAlbums) { 152 | squarePaths = squarePaths.concat(items[i].getThumbnailPaths(4)); 153 | } else { 154 | paths = paths.concat(items[i].getThumbnailPaths()); 155 | } 156 | } 157 | 158 | this.preloadOffset = i; 159 | Thumbnail.loadBatch(paths, false, this.token); 160 | Thumbnail.loadBatch(squarePaths, true, this.token); 161 | }; 162 | 163 | function Row (targetWidth) { 164 | this.targetWidth = targetWidth; 165 | this.items = []; 166 | this.width = 8; // 4px margin to start with 167 | } 168 | 169 | /** 170 | * @param {GalleryImage} image 171 | * @return {$.Deferred} true if more images can be added to the row 172 | */ 173 | Row.prototype.addImage = function (image) { 174 | var row = this; 175 | var def = new $.Deferred(); 176 | image.getThumbnailWidth().then(function (width) { 177 | row.items.push(image); 178 | row.width += width + 4; // add 4px for the margin 179 | def.resolve(!row.isFull()); 180 | }, function () { 181 | console.log('Error getting thumbnail for ' + image); 182 | def.resolve(true); 183 | }); 184 | return def; 185 | }; 186 | 187 | Row.prototype.getDom = function () { 188 | var scaleRation = (this.width > this.targetWidth) ? this.targetWidth / this.width : 1; 189 | var targetHeight = 200 * scaleRation; 190 | var row = $('
').addClass('row loading'); 191 | /** 192 | * @param row 193 | * @param {GalleryImage[]} items 194 | * @param i 195 | * @returns {*} 196 | */ 197 | var addImageToDom = function (row, items, i) { 198 | return items[i].getDom(targetHeight).then(function (itemDom) { 199 | i++; 200 | row.append(itemDom); 201 | if (i < items.length) { 202 | return addImageToDom(row, items, i); 203 | } else { 204 | return row; 205 | } 206 | }); 207 | }; 208 | return addImageToDom(row, this.items, 0); 209 | }; 210 | 211 | /** 212 | * @returns {boolean} 213 | */ 214 | Row.prototype.isFull = function () { 215 | return this.width > this.targetWidth; 216 | }; 217 | 218 | function GalleryImage (src, path, token) { 219 | this.token = token; 220 | this.src = src; 221 | this.path = path; 222 | this.thumbnail = null; 223 | this.domDef = null; 224 | this.domHeigth = null; 225 | } 226 | 227 | GalleryImage.prototype.getThumbnailPaths = function () { 228 | return [this.path]; 229 | }; 230 | 231 | GalleryImage.prototype.getThumbnail = function (square) { 232 | return Thumbnail.get(this.src, square, this.token).queue(); 233 | }; 234 | 235 | GalleryImage.prototype.getThumbnailWidth = function () { 236 | return this.getThumbnail().then(function (img) { 237 | return img.originalWidth; 238 | }); 239 | }; 240 | 241 | GalleryImage.prototype.getDom = function (targetHeight) { 242 | var image = this; 243 | if (this.domDef === null || this.domHeigth !== targetHeight) { 244 | this.domHeigth = targetHeight; 245 | this.domDef = this.getThumbnail().then(function (img) { 246 | var a = $('').addClass('image').attr('href', '#' + encodeURI(image.path)).attr('data-path', image.path); 247 | img.height = targetHeight; 248 | img.width = targetHeight * img.ratio; 249 | img.setAttribute('width', 'auto'); 250 | img.alt = encodeURI(image.path); 251 | a.append(img); 252 | return a; 253 | }); 254 | } 255 | return this.domDef; 256 | }; 257 | -------------------------------------------------------------------------------- /js/gallery.js: -------------------------------------------------------------------------------- 1 | /* global Album, GalleryImage, SlideShow, Thumbnail, oc_requesttoken */ 2 | var Gallery = {}; 3 | Gallery.images = []; 4 | Gallery.currentAlbum = ''; 5 | Gallery.users = []; 6 | Gallery.albumMap = {}; 7 | Gallery.imageMap = {}; 8 | 9 | Gallery.getAlbum = function (path, token) { 10 | if (!Gallery.albumMap[path]) { 11 | Gallery.albumMap[path] = new Album(path, [], [], OC.basename(path), token); 12 | if (path !== '') { 13 | var parent = OC.dirname(path); 14 | if (parent === path) { 15 | parent = ''; 16 | } 17 | Gallery.getAlbum(parent, token).subAlbums.push(Gallery.albumMap[path]); 18 | } 19 | } 20 | return Gallery.albumMap[path]; 21 | }; 22 | 23 | // fill the albums from Gallery.images 24 | Gallery.fillAlbums = function () { 25 | var sortFunction = function (a, b) { 26 | return a.path.toLowerCase().localeCompare(b.path.toLowerCase()); 27 | }; 28 | var token = $('#gallery').data('token'); 29 | var album, image; 30 | return $.getJSON(OC.generateUrl('apps/gallery/ajax/images'), {token: token}).then(function (data) { 31 | Gallery.images = data; 32 | 33 | var path = null; 34 | for (var i = 0; i < Gallery.images.length; i++) { 35 | path = Gallery.images[i]; 36 | image = new GalleryImage(Gallery.images[i], path, token); 37 | var dir = OC.dirname(path); 38 | if (dir === path) { 39 | dir = ''; 40 | } 41 | album = Gallery.getAlbum(dir, token); 42 | album.images.push(image); 43 | Gallery.imageMap[image.path] = image; 44 | } 45 | 46 | for (path in Gallery.albumMap) { 47 | Gallery.albumMap[path].images.sort(sortFunction); 48 | Gallery.albumMap[path].subAlbums.sort(sortFunction); 49 | } 50 | }); 51 | }; 52 | 53 | Gallery.getAlbumInfo = function (album) { 54 | if (album === $('#gallery').data('token')) { 55 | return []; 56 | } 57 | if (!Gallery.getAlbumInfo.cache[album]) { 58 | var def = new $.Deferred(); 59 | Gallery.getAlbumInfo.cache[album] = def; 60 | $.getJSON(OC.generateUrl('apps/gallery/ajax/gallery?gallery={gallery}', {gallery: album}), function (data) { 61 | def.resolve(data); 62 | }); 63 | } 64 | return Gallery.getAlbumInfo.cache[album]; 65 | }; 66 | Gallery.getAlbumInfo.cache = {}; 67 | Gallery.getImage = function (image) { 68 | var token = ($('#gallery').data('token')) ? $('#gallery').data('token') : ''; 69 | return OC.generateUrl('apps/gallery/ajax/image?file={file}&token={token}', { 70 | file: image, 71 | token: token 72 | }); 73 | }; 74 | Gallery.share = function (event) { 75 | if (!OC.Share.droppedDown) { 76 | event.preventDefault(); 77 | event.stopPropagation(); 78 | 79 | (function () { 80 | var target = OC.Share.showLink; 81 | OC.Share.showLink = function () { 82 | var r = target.apply(this, arguments); 83 | $('#linkText').val($('#linkText').val().replace('/s/', '/apps/gallery/public/')); 84 | return r; 85 | }; 86 | })(); 87 | 88 | Gallery.getAlbumInfo(Gallery.currentAlbum).then(function (info) { 89 | $('a.share').data('item', info.fileid).data('link', true) 90 | .data('possible-permissions', info.permissions). 91 | click(); 92 | if (!$('#linkCheckbox').is(':checked')) { 93 | $('#linkText').hide(); 94 | } 95 | }); 96 | } 97 | }; 98 | Gallery.view = {}; 99 | Gallery.view.element = null; 100 | Gallery.view.clear = function () { 101 | Gallery.view.element.empty(); 102 | Gallery.showLoading(); 103 | }; 104 | Gallery.view.cache = {}; 105 | 106 | 107 | Gallery.view.viewAlbum = function (albumPath) { 108 | var i, crumbs, path; 109 | albumPath = albumPath || ''; 110 | if (!Gallery.albumMap[albumPath]) { 111 | return; 112 | } 113 | 114 | Gallery.view.clear(); 115 | if (albumPath !== Gallery.currentAlbum) { 116 | Gallery.view.loadVisibleRows.loading = false; 117 | } 118 | Gallery.currentAlbum = albumPath; 119 | 120 | if (albumPath === '' || $('#gallery').data('token')) { 121 | $('button.share').hide(); 122 | } else { 123 | $('button.share').show(); 124 | } 125 | 126 | OC.Breadcrumb.clear(); 127 | var albumName = $('#content').data('albumname'); 128 | if (!albumName) { 129 | albumName = t('gallery', 'Pictures'); 130 | } 131 | OC.Breadcrumb.push(albumName, '#').click(function () { 132 | Gallery.view.viewAlbum(''); 133 | }); 134 | path = ''; 135 | crumbs = albumPath.split('/'); 136 | for (i = 0; i < crumbs.length; i++) { 137 | if (crumbs[i]) { 138 | if (path) { 139 | path += '/' + crumbs[i]; 140 | } else { 141 | path += crumbs[i]; 142 | } 143 | Gallery.view.pushBreadCrumb(crumbs[i], path); 144 | } 145 | } 146 | 147 | Gallery.getAlbumInfo(Gallery.currentAlbum); //preload album info 148 | 149 | Gallery.albumMap[albumPath].viewedItems = 0; 150 | setTimeout(function () { 151 | Gallery.view.loadVisibleRows.activeIndex = 0; 152 | Gallery.view.loadVisibleRows(Gallery.albumMap[Gallery.currentAlbum], Gallery.currentAlbum); 153 | }, 0); 154 | }; 155 | 156 | Gallery.view.loadVisibleRows = function (album, path) { 157 | if (Gallery.view.loadVisibleRows.loading && Gallery.view.loadVisibleRows.loading.state() !== 'resolved') { 158 | return Gallery.view.loadVisibleRows.loading; 159 | } 160 | // load 2 windows worth of rows 161 | var scroll = $('#content-wrapper').scrollTop() + $(window).scrollTop(); 162 | var targetHeight = ($(window).height() * 2) + scroll; 163 | var showRows = function (album) { 164 | if (!(album.viewedItems < album.subAlbums.length + album.images.length)) { 165 | Gallery.view.loadVisibleRows.loading = null; 166 | return; 167 | } 168 | return album.getNextRow($(window).width()).then(function (row) { 169 | return row.getDom().then(function (dom) { 170 | // defer removal of loading class to trigger CSS3 animation 171 | _.defer(function () { 172 | dom.removeClass('loading'); 173 | }); 174 | if (Gallery.currentAlbum !== path) { 175 | Gallery.view.loadVisibleRows.loading = null; 176 | return; //throw away the row if the user has navigated away in the meantime 177 | } 178 | if (Gallery.view.element.length === 1) { 179 | Gallery.showNormal(); 180 | } 181 | Gallery.view.element.append(dom); 182 | if (album.viewedItems < album.subAlbums.length + album.images.length && 183 | Gallery.view.element.height() < targetHeight) { 184 | return showRows(album); 185 | } else { 186 | Gallery.view.loadVisibleRows.loading = null; 187 | } 188 | }, function () { 189 | Gallery.view.loadVisibleRows.loading = null; 190 | }); 191 | }); 192 | }; 193 | if (Gallery.view.element.height() < targetHeight) { 194 | Gallery.view.loadVisibleRows.loading = true; 195 | Gallery.view.loadVisibleRows.loading = showRows(album); 196 | return Gallery.view.loadVisibleRows.loading; 197 | } 198 | }; 199 | Gallery.view.loadVisibleRows.loading = false; 200 | 201 | Gallery.view.pushBreadCrumb = function (text, path) { 202 | OC.Breadcrumb.push(text, '#' + path).click(function () { 203 | Gallery.view.viewAlbum(path); 204 | }); 205 | }; 206 | 207 | Gallery.showEmpty = function () { 208 | $('#controls').addClass('hidden'); 209 | $('#emptycontent').removeClass('hidden'); 210 | $('#content').removeClass('icon-loading'); 211 | }; 212 | 213 | Gallery.showLoading = function () { 214 | $('#emptycontent').addClass('hidden'); 215 | $('#controls').removeClass('hidden'); 216 | $('#content').addClass('icon-loading'); 217 | }; 218 | 219 | Gallery.showNormal = function () { 220 | $('#emptycontent').addClass('hidden'); 221 | $('#controls').removeClass('hidden'); 222 | $('#content').removeClass('icon-loading'); 223 | }; 224 | 225 | Gallery.slideShow = function (images, startImage, autoPlay) { 226 | var start = images.indexOf(startImage); 227 | 228 | images = images.map(function (image) { 229 | return { 230 | name: OC.basename(image.path), 231 | url: Gallery.getImage(image.src), 232 | path: image.path 233 | }; 234 | }); 235 | 236 | var slideShow = new SlideShow($('#slideshow'), images); 237 | Thumbnail.concurrent = 1; 238 | slideShow.onStop = function () { 239 | Gallery.activeSlideShow = null; 240 | $('#content').show(); 241 | location.hash = encodeURI(Gallery.currentAlbum); 242 | Thumbnail.concurrent = 3; 243 | }; 244 | Gallery.activeSlideShow = slideShow; 245 | 246 | slideShow.init(autoPlay); 247 | slideShow.show(start); 248 | }; 249 | 250 | Gallery.activeSlideShow = null; 251 | 252 | $(document).ready(function () { 253 | Gallery.showLoading(); 254 | 255 | Gallery.view.element = $('#gallery'); 256 | Gallery.fillAlbums().then(function () { 257 | if (Gallery.images.length === 0) { 258 | Gallery.showEmpty(); 259 | } 260 | OC.Breadcrumb.container = $('#breadcrumbs'); 261 | window.onhashchange(); 262 | $('button.share').click(Gallery.share); 263 | }); 264 | 265 | $('#openAsFileListButton').click(function () { 266 | window.location.href = OC.generateUrl('s/{token}', { 267 | token: $('#gallery').data('token') 268 | }); 269 | }); 270 | 271 | $(window).scroll(function () { 272 | Gallery.view.loadVisibleRows(Gallery.albumMap[Gallery.currentAlbum], Gallery.currentAlbum); 273 | }); 274 | $('#content-wrapper').scroll(function () { 275 | Gallery.view.loadVisibleRows(Gallery.albumMap[Gallery.currentAlbum], Gallery.currentAlbum); 276 | }); 277 | 278 | $(window).resize(_.throttle(function () { 279 | Gallery.view.viewAlbum(Gallery.currentAlbum); 280 | }, 500)); 281 | 282 | if ($('#gallery').data('requesttoken')) { 283 | oc_requesttoken = $('#gallery').data('requesttoken'); 284 | } 285 | }); 286 | 287 | window.onhashchange = function () { 288 | var path = decodeURIComponent(location.hash).substr(1); 289 | if (Gallery.albumMap[path]) { 290 | if (Gallery.activeSlideShow) { 291 | Gallery.activeSlideShow.stop(); 292 | } 293 | path = decodeURIComponent(path); 294 | if (Gallery.currentAlbum !== path || path === '') { 295 | Gallery.view.viewAlbum(path); 296 | } 297 | } else if (!Gallery.activeSlideShow) { 298 | var albumPath = OC.dirname(path); 299 | if (albumPath === path) { 300 | albumPath = ''; 301 | } 302 | if (Gallery.currentAlbum !== albumPath || albumPath === '') { 303 | Gallery.view.viewAlbum(albumPath); 304 | } 305 | var album = Gallery.albumMap[albumPath]; 306 | var images = album.images; 307 | var startImage = Gallery.imageMap[path]; 308 | Gallery.slideShow(images, startImage); 309 | } 310 | }; 311 | -------------------------------------------------------------------------------- /js/slideshow.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | * @param {jQuery} container 4 | * @param {{name:string, url: string, path: string, fallBack: string}[]} images 5 | * @param {int} interval 6 | * @param {int} maxScale 7 | * @constructor 8 | */ 9 | var SlideShow = function (container, images, interval, maxScale) { 10 | this.container = container; 11 | this.images = images; 12 | this.interval = interval | 5000; 13 | this.maxScale = maxScale | 2; 14 | this.playTimeout = 0; 15 | this.current = 0; 16 | this.imageCache = {}; 17 | this.playing = false; 18 | this.progressBar = container.find('.progress'); 19 | this.currentImage = null; 20 | this.onStop = null; 21 | this.active = false; 22 | }; 23 | 24 | SlideShow.prototype.init = function (play) { 25 | this.active = true; 26 | this.container.children('img').remove(); 27 | 28 | // hide arrows and play/pause when only one pic 29 | this.container.find('.next, .previous').toggle(this.images.length > 1); 30 | if (this.images.length === 1) { 31 | this.container.find('.play, .pause').hide(); 32 | } 33 | 34 | var makeCallBack = function (handler) { 35 | return function (evt) { 36 | if (!this.active) { 37 | return; 38 | } 39 | evt.stopPropagation(); 40 | handler.call(this); 41 | }.bind(this); 42 | }.bind(this); 43 | 44 | this.container.children('.next').click(makeCallBack(this.next)); 45 | this.container.children('.previous').click(makeCallBack(this.previous)); 46 | this.container.children('.exit').click(makeCallBack(this.stop)); 47 | this.container.children('.pause').click(makeCallBack(this.pause)); 48 | this.container.children('.play').click(makeCallBack(this.play)); 49 | this.container.click(makeCallBack(this.next)); 50 | 51 | 52 | $(document).keyup(function (evt) { 53 | if (evt.keyCode === 27) { // esc 54 | makeCallBack(this.stop)(evt); 55 | } else if (evt.keyCode === 37) { // left 56 | makeCallBack(this.previous)(evt); 57 | } else if (evt.keyCode === 39) { // right 58 | makeCallBack(this.next)(evt); 59 | } else if (evt.keyCode === 32) { // space 60 | makeCallBack(this.play)(evt); 61 | } 62 | }.bind(this)); 63 | 64 | if ($.fn.mousewheel) { 65 | this.container.bind('mousewheel.fb', function (e, delta) { 66 | e.preventDefault(); 67 | if ($(e.target).get(0).clientHeight === 0 || 68 | $(e.target).get(0).scrollHeight === $(e.target).get(0).clientHeight) { 69 | if (delta > 0) { 70 | this.previous(); 71 | } else { 72 | this.next(); 73 | } 74 | } 75 | }.bind(this)); 76 | } 77 | 78 | jQuery(window).resize(function () { 79 | this.fitImage(this.currentImage.bind(this)); 80 | }.bind(this)); 81 | 82 | if (play) { 83 | this.play(); 84 | } else { 85 | this.pause(); 86 | } 87 | }; 88 | 89 | SlideShow.prototype.onKeyUp = function () { 90 | 91 | }; 92 | 93 | SlideShow.prototype.show = function (index) { 94 | this.container.show(); 95 | this.current = index; 96 | this.container.css('background-position', 'center'); 97 | return this.loadImage(this.images[index].url, this.images[index].fallBack).then(function (image) { 98 | this.container.css('background-position', '-10000px 0'); 99 | 100 | // check if we moved along while we were loading 101 | if (this.current === index) { 102 | this.currentImage = image; 103 | this.container.children('img').remove(); 104 | this.container.append(image); 105 | image.setAttribute('alt', this.images[index].name); 106 | this.fitImage(image); 107 | this.setUrl(this.images[index].path); 108 | if (this.playing) { 109 | this.setTimeout(); 110 | } 111 | } 112 | }.bind(this)); 113 | }; 114 | 115 | SlideShow.prototype.setUrl = function (path) { 116 | if (history && history.replaceState) { 117 | history.replaceState('', '', '#' + encodeURI(path)); 118 | } 119 | }; 120 | 121 | SlideShow.prototype.loadImage = function (url, fallBack) { 122 | if (!this.imageCache[url]) { 123 | this.imageCache[url] = new jQuery.Deferred(); 124 | var image = new Image(); 125 | 126 | image.onload = function () { 127 | if (image) { 128 | image.natWidth = image.width; 129 | image.natHeight = image.height; 130 | } 131 | if (this.imageCache[url]) { 132 | this.imageCache[url].resolve(image); 133 | } 134 | }.bind(this); 135 | image.onerror = function () { 136 | if (fallBack) { 137 | this.loadImage(fallBack).then(function (image) { 138 | this.imageCache[url].resolve(image); 139 | }.bind(this), function (url) { 140 | this.imageCache[url].reject(url); 141 | }.bind(this)); 142 | } else if (this.imageCache[url]) { 143 | this.imageCache[url].reject(url); 144 | } 145 | }.bind(this); 146 | image.src = url; 147 | } 148 | return this.imageCache[url]; 149 | }; 150 | 151 | SlideShow.prototype.fitImage = function (image) { 152 | if (!image) { 153 | return; 154 | } 155 | var ratio = image.natWidth / image.natHeight, 156 | screenRatio = this.container.width() / this.container.height(), 157 | width = null, height = null, top = null; 158 | if (ratio > screenRatio) { 159 | if (this.container.width() > image.natWidth * this.maxScale) { 160 | top = ((this.container.height() - image.natHeight) / 2) + 'px'; 161 | height = image.natHeight + 'px'; 162 | width = image.natWidth + 'px'; 163 | } else { 164 | width = this.container.width() + 'px'; 165 | height = (this.container.width() / ratio) + 'px'; 166 | top = ((this.container.height() - (this.container.width() / ratio)) / 2) + 'px'; 167 | } 168 | } else { 169 | if (this.container.height() > image.natHeight * this.maxScale) { 170 | top = ((this.container.height() - image.natHeight) / 2) + 'px'; 171 | height = image.natHeight + 'px'; 172 | width = image.natWidth + 'px'; 173 | } else { 174 | top = 0; 175 | height = this.container.height() + 'px'; 176 | width = (this.container.height() * ratio) + "px"; 177 | } 178 | } 179 | jQuery(image).css({ 180 | top: top, 181 | width: width, 182 | height: height 183 | }); 184 | }; 185 | 186 | SlideShow.prototype.setTimeout = function () { 187 | this.clearTimeout(); 188 | this.playTimeout = setTimeout(this.next.bind(this), this.interval); 189 | this.progressBar.stop(); 190 | this.progressBar.css('height', '6px'); 191 | this.progressBar.animate({'height': '26px'}, this.interval, 'linear'); 192 | }; 193 | 194 | SlideShow.prototype.clearTimeout = function () { 195 | if (this.playTimeout) { 196 | clearTimeout(this.playTimeout); 197 | } 198 | this.progressBar.stop(); 199 | this.progressBar.css('height', '6px'); 200 | this.playTimeout = 0; 201 | }; 202 | 203 | SlideShow.prototype.play = function () { 204 | this.playing = true; 205 | this.container.find('.pause').show(); 206 | this.container.find('.play').hide(); 207 | this.setTimeout(); 208 | }; 209 | 210 | SlideShow.prototype.pause = function () { 211 | this.playing = false; 212 | this.container.find('.pause').hide(); 213 | this.container.find('.play').show(); 214 | this.clearTimeout(); 215 | }; 216 | 217 | SlideShow.prototype.next = function () { 218 | this.current = (this.current + 1) % this.images.length; 219 | var next = (this.current + 1) % this.images.length; 220 | this.show(this.current).then(function () { 221 | // preload the next image 222 | this.loadImage(this.images[next].url, this.images[next].fallBack); 223 | }.bind(this)); 224 | }; 225 | 226 | SlideShow.prototype.previous = function () { 227 | this.current = (this.current - 1 + this.images.length) % this.images.length; 228 | var previous = (this.current - 1 + this.images.length) % this.images.length; 229 | this.show(this.current).then(function () { 230 | // preload the next image 231 | this.loadImage(this.images[previous].url, this.images[previous].fallBack); 232 | }.bind(this)); 233 | }; 234 | 235 | SlideShow.prototype.stop = function () { 236 | this.clearTimeout(); 237 | this.container.hide(); 238 | this.active = false; 239 | if (this.onStop) { 240 | this.onStop(); 241 | } 242 | }; 243 | 244 | SlideShow.prototype.hideImage = function () { 245 | this.container.children('img').remove(); 246 | }; 247 | 248 | SlideShow.prototype.togglePlay = function () { 249 | if (this.playing) { 250 | this.pause(); 251 | } else { 252 | this.play(); 253 | } 254 | }; 255 | 256 | SlideShow._getSlideshowTemplate = function () { 257 | var defer = $.Deferred(); 258 | if (!this.$slideshowTemplate) { 259 | var self = this; 260 | $.get(OC.filePath('gallery', 'templates', 'slideshow.html'), function (tmpl) { 261 | var template = $(tmpl); 262 | template.find('.next').val(t('gallery', 'Next')); 263 | template.find('.play').val(t('gallery', 'Play')); 264 | template.find('.pause').val(t('gallery', 'Pause')); 265 | template.find('.previous').val(t('gallery', 'Previous')); 266 | template.find('.exit').val(t('gallery', 'Close')); 267 | self.$slideshowTemplate = template; 268 | defer.resolve(self.$slideshowTemplate); 269 | }) 270 | .fail(function () { 271 | defer.reject(); 272 | }); 273 | } else { 274 | defer.resolve(this.$slideshowTemplate); 275 | } 276 | return defer.promise(); 277 | }; 278 | 279 | $(document).ready(function () { 280 | if ($('#body-login').length > 0) { 281 | return true; //deactivate slideshow on login page 282 | } 283 | 284 | $.when(SlideShow._getSlideshowTemplate()).then(function ($tmpl) { 285 | $('body').append($tmpl); //move the slideshow outside the content so we can hide the content 286 | 287 | var inactiveCallback = function () { 288 | $('#slideshow').addClass('inactive'); 289 | }; 290 | var inactiveTimeout = setTimeout(inactiveCallback, 3000); 291 | 292 | $('#slideshow').mousemove(function () { 293 | $('#slideshow').removeClass('inactive'); 294 | clearTimeout(inactiveTimeout); 295 | inactiveTimeout = setTimeout(inactiveCallback, 3000); 296 | }); 297 | 298 | //replace all svg images with png images for browser that dont support svg 299 | if (!OC.Util.hasSVGSupport()) { 300 | OC.Util.replaceSVG(this.$el); 301 | } 302 | }) 303 | .fail(function () { 304 | OC.Notification.show(t('core', 'Error loading slideshow template')); 305 | }); 306 | 307 | 308 | if (OCA.Files && OCA.Files.fileActions) { 309 | OCA.Files.fileActions.register('image', 'View', OC.PERMISSION_READ, '', function (filename, context) { 310 | var imageUrl, files = context.fileList.files; 311 | var start = 0; 312 | var images = []; 313 | var dir = context.dir + '/'; 314 | var user = OC.currentUser; 315 | var width = $(document).width() * window.devicePixelRatio; 316 | var height = $(document).height() * window.devicePixelRatio; 317 | for (var i = 0; i < files.length; i++) { 318 | var file = files[i]; 319 | if (file.mimetype && file.mimetype.indexOf('image') >= 0) { 320 | if (file.mimetype === 'image/svg+xml' || file.mimetype === 'image/gif') { 321 | imageUrl = OCA.Files.Files.getDownloadUrl(file.name, dir); 322 | } else { 323 | imageUrl = OC.generateUrl('/core/preview.png?file={file}&x={x}&y={y}&a=true&scalingup=0&forceIcon=0', { 324 | x: width, 325 | y: height, 326 | file: dir + file.name 327 | }); 328 | if (!user) { 329 | imageUrl = OC.generateUrl( 330 | '/apps/files_sharing/publicpreview?file={file}&x={x}&y={y}&a=true&t={t}&scalingup=0&forceIcon=0', { 331 | file: dir + file.name, 332 | x: width, 333 | y: height, 334 | t: $('#sharingToken').val() 335 | }); 336 | } 337 | } 338 | 339 | images.push({ 340 | name: file.name, 341 | path: dir + file.name, 342 | url: imageUrl, 343 | fallBack: OCA.Files.Files.getDownloadUrl(file.name, dir) 344 | }); 345 | } 346 | } 347 | for (i = 0; i < images.length; i++) { 348 | if (images[i].name === filename) { 349 | start = i; 350 | } 351 | } 352 | var slideShow = new SlideShow($('#slideshow'), images); 353 | slideShow.init(); 354 | slideShow.show(start); 355 | }); 356 | OCA.Files.fileActions.setDefault('image', 'View'); 357 | } 358 | }); 359 | --------------------------------------------------------------------------------