From 7e4d851bc02082d5bbc0260315fd61fe856d0bdc Mon Sep 17 00:00:00 2001 From: gpt-modules Date: Fri, 14 Mar 2014 15:47:37 -0300 Subject: [PATCH] Was a Hell of a Ride --- .gitignore | 36 + Config.rb | 3 + Gruntfile.js | 85 + README.md | 79 + css/animations.css | 47 + css/app.css | 2061 +++++ css/font-awesome.min.css | 4 + dist/windows/README.txt | 2 + dist/windows/installer-image.bmp | Bin 0 -> 206040 bytes dist/windows/languages/Arabic.isl | 337 + dist/windows/languages/Basque.isl | 318 + .../windows/languages/BrazilianPortuguese.isl | 354 + dist/windows/languages/Catalan.isl | 319 + dist/windows/languages/Czech.isl | 337 + dist/windows/languages/Danish.isl | 334 + dist/windows/languages/Dutch.isl | 314 + dist/windows/languages/English.isl | 336 + dist/windows/languages/Finnish.isl | 314 + dist/windows/languages/French.isl | 354 + dist/windows/languages/German.isl | 346 + dist/windows/languages/Greek.isl | 337 + dist/windows/languages/Hebrew.isl | 331 + dist/windows/languages/Hungarian.isl | 358 + dist/windows/languages/Italian.isl | 341 + dist/windows/languages/Japanese.isl | 322 + dist/windows/languages/Norwegian.isl | 330 + dist/windows/languages/Polish.isl | 327 + dist/windows/languages/Portuguese.isl | 318 + dist/windows/languages/Russian.isl | 324 + dist/windows/languages/Slovak.isl | 244 + dist/windows/languages/Slovenian.isl | 327 + dist/windows/languages/Spanish.isl | 335 + dist/windows/languages/Swedish.isl | 339 + dist/windows/languages/TraditionalChinese.isl | 348 + dist/windows/languages/Turkish.isl | 336 + dist/windows/run.bat | 2 + dist/windows/windows-installer.iss | 117 + fonts/FontAwesome.otf | Bin 0 -> 62856 bytes fonts/fontawesome-webfont.eot | Bin 0 -> 38205 bytes fonts/fontawesome-webfont.svg | 414 + fonts/fontawesome-webfont.ttf | Bin 0 -> 80652 bytes fonts/fontawesome-webfont.woff | Bin 0 -> 44432 bytes images/bengali.png | Bin 0 -> 443 bytes images/brazilian.png | Bin 0 -> 15471 bytes images/bulgarian.png | Bin 0 -> 269 bytes images/close.svg | 3 + images/dutch.png | Bin 0 -> 14888 bytes images/english.png | Bin 0 -> 15578 bytes images/french.png | Bin 0 -> 14957 bytes images/german.png | Bin 0 -> 14848 bytes images/hebrew.png | Bin 0 -> 310 bytes images/hungarian.png | Bin 0 -> 450 bytes images/icon.png | Bin 0 -> 81183 bytes images/italian.png | Bin 0 -> 15403 bytes images/latvian.png | Bin 0 -> 1556 bytes images/none.png | Bin 0 -> 15960 bytes images/popcorntime.icns | Bin 0 -> 126357 bytes images/popcorntime.ico | Bin 0 -> 164528 bytes images/portuguese.png | Bin 0 -> 15254 bytes images/posterholder.png | Bin 0 -> 19288 bytes images/romanian.png | Bin 0 -> 14974 bytes images/russian.png | Bin 0 -> 377 bytes images/slovak.png | Bin 0 -> 15980 bytes images/spanish.png | Bin 0 -> 15062 bytes images/spinner.svg | 32 + images/turkish.png | Bin 0 -> 15190 bytes images/ukrainian.png | Bin 0 -> 3052 bytes index.html | 207 + js/app.js | 191 + js/frontend/controllers/filter.js | 26 + js/frontend/controllers/home.js | 30 + js/frontend/controllers/search.js | 30 + js/frontend/models/movie.js | 102 + js/frontend/player.js | 294 + js/frontend/providers/cache.js | 77 + js/frontend/providers/opensubtitles.js | 120 + js/frontend/providers/themoviedb.js | 70 + js/frontend/providers/torrents.js | 90 + js/frontend/providers/yifysubtitles.js | 100 + js/frontend/router.js | 14 + js/frontend/ui.js | 204 + js/frontend/views/listview.js | 119 + js/frontend/views/movie.js | 43 + js/frontend/views/page.js | 34 + js/frontend/views/sidebar.js | 185 + js/language.js | 59 + js/tracking.js | 110 + js/updater.js | 34 + js/vendor/backbone-1.1.0.js | 1581 ++++ js/vendor/bootstrap-tooltip.min.js | 399 + js/vendor/dragwindow.js | 36 + js/vendor/jquery-2.1.0.min.js | 4 + js/vendor/marionette.1.6.4.js | 2553 ++++++ js/vendor/settings.js | 71 + js/vendor/underscore.js | 1276 +++ js/vendor/video-js/demo.captions.vtt | 41 + js/vendor/video-js/demo.html | 29 + js/vendor/video-js/font/vjs.eot | Bin 0 -> 13112 bytes js/vendor/video-js/font/vjs.svg | 62 + js/vendor/video-js/font/vjs.ttf | Bin 0 -> 12964 bytes js/vendor/video-js/font/vjs.woff | Bin 0 -> 8396 bytes js/vendor/video-js/video-js.css | 760 ++ js/vendor/video-js/video-js.min.css | 5 + js/vendor/video-js/video-js.swf | Bin 0 -> 16236 bytes js/vendor/video-js/video.dev.js | 7121 +++++++++++++++++ js/vendor/video-js/video.js | 129 + js/vendor/videojsplugins.js | 250 + language/ar.json | 59 + language/bg.json | 62 + language/bn.json | 61 + language/ca.json | 58 + language/da.json | 63 + language/de.json | 61 + language/el.json | 60 + language/en.json | 63 + language/es.json | 58 + language/eu.json | 58 + language/fi.json | 62 + language/fr.json | 70 + language/he.json | 61 + language/hu.json | 62 + language/it.json | 64 + language/ja.json | 56 + language/kr.json | 62 + language/lt.json | 62 + language/lv.json | 63 + language/nl.json | 56 + language/no.json | 59 + language/pl.json | 60 + language/pt-br.json | 65 + language/pt.json | 56 + language/ro.json | 56 + language/ru.json | 61 + language/sk.json | 61 + language/sv.json | 61 + language/tr.json | 59 + language/uk.json | 61 + language/zh-cn.json | 61 + language/zh-tw.json | 63 + libraries/linux64/libffmpegsumo.so | Bin 0 -> 2665880 bytes libraries/mac/ffmpegsumo.so | Bin 0 -> 2462112 bytes libraries/win/ffmpegsumo.dll | Bin 0 -> 1634632 bytes package.json | 52 + rc/index.js | 41 + rc/static/index.html | 30 + rc/static/js/hammer.min.js | 9 + rc/static/js/index.js | 49 + rc/static/js/jquery.min.js | 4 + rc/static/styles/style.css | 102 + sass/_animations.scss | 19 + sass/_frame.scss | 12 + sass/_layout.scss | 481 ++ sass/_moviedetails.scss | 558 ++ sass/_movielist.scss | 190 + sass/_player.scss | 114 + sass/_probablyuseless.scss | 88 + sass/_tooltip.scss | 99 + sass/_utils.scss | 53 + sass/_variables.scss | 9 + sass/app.scss | 16 + test.txt | 0 161 files changed, 31791 insertions(+) create mode 100644 .gitignore create mode 100644 Config.rb create mode 100644 Gruntfile.js create mode 100644 README.md create mode 100644 css/animations.css create mode 100644 css/app.css create mode 100644 css/font-awesome.min.css create mode 100644 dist/windows/README.txt create mode 100644 dist/windows/installer-image.bmp create mode 100644 dist/windows/languages/Arabic.isl create mode 100644 dist/windows/languages/Basque.isl create mode 100644 dist/windows/languages/BrazilianPortuguese.isl create mode 100644 dist/windows/languages/Catalan.isl create mode 100644 dist/windows/languages/Czech.isl create mode 100644 dist/windows/languages/Danish.isl create mode 100644 dist/windows/languages/Dutch.isl create mode 100644 dist/windows/languages/English.isl create mode 100644 dist/windows/languages/Finnish.isl create mode 100644 dist/windows/languages/French.isl create mode 100644 dist/windows/languages/German.isl create mode 100644 dist/windows/languages/Greek.isl create mode 100644 dist/windows/languages/Hebrew.isl create mode 100644 dist/windows/languages/Hungarian.isl create mode 100644 dist/windows/languages/Italian.isl create mode 100644 dist/windows/languages/Japanese.isl create mode 100644 dist/windows/languages/Norwegian.isl create mode 100644 dist/windows/languages/Polish.isl create mode 100644 dist/windows/languages/Portuguese.isl create mode 100644 dist/windows/languages/Russian.isl create mode 100644 dist/windows/languages/Slovak.isl create mode 100644 dist/windows/languages/Slovenian.isl create mode 100644 dist/windows/languages/Spanish.isl create mode 100644 dist/windows/languages/Swedish.isl create mode 100644 dist/windows/languages/TraditionalChinese.isl create mode 100644 dist/windows/languages/Turkish.isl create mode 100644 dist/windows/run.bat create mode 100644 dist/windows/windows-installer.iss create mode 100644 fonts/FontAwesome.otf create mode 100755 fonts/fontawesome-webfont.eot create mode 100755 fonts/fontawesome-webfont.svg create mode 100755 fonts/fontawesome-webfont.ttf create mode 100755 fonts/fontawesome-webfont.woff create mode 100644 images/bengali.png create mode 100644 images/brazilian.png create mode 100644 images/bulgarian.png create mode 100644 images/close.svg create mode 100644 images/dutch.png create mode 100644 images/english.png create mode 100644 images/french.png create mode 100644 images/german.png create mode 100644 images/hebrew.png create mode 100644 images/hungarian.png create mode 100644 images/icon.png create mode 100644 images/italian.png create mode 100644 images/latvian.png create mode 100644 images/none.png create mode 100644 images/popcorntime.icns create mode 100644 images/popcorntime.ico create mode 100644 images/portuguese.png create mode 100644 images/posterholder.png create mode 100644 images/romanian.png create mode 100644 images/russian.png create mode 100644 images/slovak.png create mode 100644 images/spanish.png create mode 100644 images/spinner.svg create mode 100644 images/turkish.png create mode 100644 images/ukrainian.png create mode 100644 index.html create mode 100644 js/app.js create mode 100644 js/frontend/controllers/filter.js create mode 100644 js/frontend/controllers/home.js create mode 100644 js/frontend/controllers/search.js create mode 100644 js/frontend/models/movie.js create mode 100644 js/frontend/player.js create mode 100644 js/frontend/providers/cache.js create mode 100644 js/frontend/providers/opensubtitles.js create mode 100644 js/frontend/providers/themoviedb.js create mode 100644 js/frontend/providers/torrents.js create mode 100644 js/frontend/providers/yifysubtitles.js create mode 100644 js/frontend/router.js create mode 100644 js/frontend/ui.js create mode 100644 js/frontend/views/listview.js create mode 100644 js/frontend/views/movie.js create mode 100644 js/frontend/views/page.js create mode 100644 js/frontend/views/sidebar.js create mode 100644 js/language.js create mode 100644 js/tracking.js create mode 100644 js/updater.js create mode 100644 js/vendor/backbone-1.1.0.js create mode 100755 js/vendor/bootstrap-tooltip.min.js create mode 100644 js/vendor/dragwindow.js create mode 100644 js/vendor/jquery-2.1.0.min.js create mode 100644 js/vendor/marionette.1.6.4.js create mode 100644 js/vendor/settings.js create mode 100644 js/vendor/underscore.js create mode 100644 js/vendor/video-js/demo.captions.vtt create mode 100644 js/vendor/video-js/demo.html create mode 100755 js/vendor/video-js/font/vjs.eot create mode 100755 js/vendor/video-js/font/vjs.svg create mode 100755 js/vendor/video-js/font/vjs.ttf create mode 100755 js/vendor/video-js/font/vjs.woff create mode 100644 js/vendor/video-js/video-js.css create mode 100644 js/vendor/video-js/video-js.min.css create mode 100644 js/vendor/video-js/video-js.swf create mode 100644 js/vendor/video-js/video.dev.js create mode 100644 js/vendor/video-js/video.js create mode 100644 js/vendor/videojsplugins.js create mode 100644 language/ar.json create mode 100644 language/bg.json create mode 100644 language/bn.json create mode 100644 language/ca.json create mode 100644 language/da.json create mode 100644 language/de.json create mode 100644 language/el.json create mode 100644 language/en.json create mode 100644 language/es.json create mode 100644 language/eu.json create mode 100644 language/fi.json create mode 100644 language/fr.json create mode 100644 language/he.json create mode 100644 language/hu.json create mode 100644 language/it.json create mode 100644 language/ja.json create mode 100644 language/kr.json create mode 100644 language/lt.json create mode 100644 language/lv.json create mode 100644 language/nl.json create mode 100644 language/no.json create mode 100644 language/pl.json create mode 100644 language/pt-br.json create mode 100644 language/pt.json create mode 100644 language/ro.json create mode 100644 language/ru.json create mode 100644 language/sk.json create mode 100644 language/sv.json create mode 100644 language/tr.json create mode 100644 language/uk.json create mode 100644 language/zh-cn.json create mode 100644 language/zh-tw.json create mode 100755 libraries/linux64/libffmpegsumo.so create mode 100755 libraries/mac/ffmpegsumo.so create mode 100644 libraries/win/ffmpegsumo.dll create mode 100644 package.json create mode 100644 rc/index.js create mode 100644 rc/static/index.html create mode 100644 rc/static/js/hammer.min.js create mode 100644 rc/static/js/index.js create mode 100644 rc/static/js/jquery.min.js create mode 100644 rc/static/styles/style.css create mode 100644 sass/_animations.scss create mode 100644 sass/_frame.scss create mode 100644 sass/_layout.scss create mode 100644 sass/_moviedetails.scss create mode 100644 sass/_movielist.scss create mode 100644 sass/_player.scss create mode 100644 sass/_probablyuseless.scss create mode 100644 sass/_tooltip.scss create mode 100644 sass/_utils.scss create mode 100644 sass/_variables.scss create mode 100644 sass/app.scss create mode 100644 test.txt diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..e005e4ae --- /dev/null +++ b/.gitignore @@ -0,0 +1,36 @@ +lib-cov +*.seed +*.log +*.csv +*.dat +*.out +*.pid +*.gz + +.idea/ + +node_modules/ + +build/ + +pids +logs +results + +npm-debug.log + +app.nw + +.sass-cache +*-ck.js +*.srt +*.DS_Store + +js/vendor/config.js +dist/windows/Install Popcorn Time.exe +dist/mac/Popcorn Time.app/ +dist/mac/Popcorn Time.zip + + +# vim swap files +*.swp diff --git a/Config.rb b/Config.rb new file mode 100644 index 00000000..6c6a583c --- /dev/null +++ b/Config.rb @@ -0,0 +1,3 @@ +relative_assets = true +css_dir = 'css' +line_comments = false \ No newline at end of file diff --git a/Gruntfile.js b/Gruntfile.js new file mode 100644 index 00000000..0a3593c3 --- /dev/null +++ b/Gruntfile.js @@ -0,0 +1,85 @@ +module.exports = function(grunt) { + var buildPlatforms = parseBuildPlatforms(grunt.option('platforms')); + + grunt.initConfig({ + compass: { + dist: { + files: { + 'css/app.css': 'sass/app.scss' + } + } + }, + watch: { + files: ['sass/**/*.scss'], + tasks: ['sass'], + options: { + livereload: true + } + }, + nodewebkit: { + options: { + version: '0.9.2', + build_dir: './build', // Where the build version of my node-webkit app is saved + mac_icns: './images/popcorntime.icns', // Path to the Mac icon file + mac: buildPlatforms.mac, + win: buildPlatforms.win, + linux32: buildPlatforms.linux32, + linux64: buildPlatforms.linux64 + }, + src: ['./css/**', './fonts/**', './images/**', './js/**', './language/**', './node_modules/**', '!./node_modules/grunt*/**', './rc/**', './Config.rb', './index.html', './package.json', './README.md' ] // Your node-webkit app './**/*' + }, + copy: { + main: { + files: [ + { + src: 'libraries/win/ffmpegsumo.dll', + dest: 'build/releases/Popcorn-Time/win/Popcorn-Time/ffmpegsumo.dll', + flatten: true + }, + { + src: 'libraries/mac/ffmpegsumo.so', + dest: 'build/releases/Popcorn-Time/mac/Popcorn-Time.app/Contents/Frameworks/node-webkit Framework.framework/Libraries/ffmpegsumo.so', + flatten: true + }, + { + src: 'libraries/linux64/libffmpegsumo.so', + dest: 'build/releases/Popcorn-Time/linux64/Popcorn-Time/libffmpegsumo.so', + flatten: true + } + ] + } + } + }); + + grunt.loadNpmTasks('grunt-contrib-compass'); + grunt.loadNpmTasks('grunt-contrib-watch'); + grunt.loadNpmTasks('grunt-contrib-copy'); + grunt.loadNpmTasks('grunt-node-webkit-builder'); + + grunt.registerTask('css', ['compass']); + grunt.registerTask('default', ['compass']); + grunt.registerTask('nodewkbuild', ['nodewebkit', 'copy']); + + +}; + +var parseBuildPlatforms = function(argumentPlatform) { + // this will make it build no platform when the platform option is specified + // without a value which makes argumentPlatform into a boolean + var inputPlatforms = argumentPlatform || process.platform + ";" + process.arch; + + // Do some scrubbing to make it easier to match in the regexes bellow + inputPlatforms = inputPlatforms.replace("darwin", "mac"); + inputPlatforms = inputPlatforms.replace(/;ia|;x|;arm/, ""); + + var buildAll = /^all$/.test(inputPlatforms); + + var buildPlatforms = { + mac: /mac/.test(inputPlatforms) || buildAll, + win: /win/.test(inputPlatforms) || buildAll, + linux32: /linux32/.test(inputPlatforms) || buildAll, + linux64: /linux64/.test(inputPlatforms) || buildAll + }; + + return buildPlatforms; +} diff --git a/README.md b/README.md new file mode 100644 index 00000000..8ec80623 --- /dev/null +++ b/README.md @@ -0,0 +1,79 @@ +#Popcorn time [![Dependency Status](https://david-dm.org/popcorn-time/popcorn-app.png?theme=shields.io)](https://david-dm.org/popcorn-time/popcorn-time) + +## Idea + +To allow any computer user to watch movies easily streaming from torrents, without any particular knowledge. + +![Demo Screenshot](http://getpopcornti.me/images/how-ui.png) + +### Status + +Under development (RC1) for Mac OSX - Windows - Linux. + +### APIs + +**Currently used:** +- ~~[RottenTomatoes](http://developer.rottentomatoes.com) for movies metadata.~~ +- ~~[PirateBay](http://thepiratebay.se/browse/207/0/7/0) Recent popular movies list.~~ +- [YIFY](http://yts.re/api) movie torrents API. +- [OpenSubtitles](http://trac.opensubtitles.org/projects/opensubtitles/wiki/XMLRPC) for subtitles +- [TheMovieDB](http://www.themoviedb.org/) for movies metadata. + +**In discussion:** +- [SubtitleSeeker](http://www.api.subtitleseeker.com/About/Api-Search/) for subtitles. + + +## Building + +### Dependencies + +You will need nodejs and grunt: + + $ npm install -g grunt-cli + +### Build + +Install the node modules: + + $ npm install + +Build with: + + $ grunt nodewkbuild + +By default it will build for your current platform however you can control that +by specifying a comma separated list of platforms in the `platforms` option to +grunt: + + $ grunt nodewkbuild --platforms=linux32,linux64,mac,win + +You can also build for all platforms with: + + $ grunt nodewkbuild --platforms=all + +## Any problem? + +### Regarding superagent dependency +Due to [wrong browser verification](https://github.com/visionmedia/superagent/issues/95) on a dependency, this hard fix must be applied. +Replace `node_modules/moviedb/node_modules/superagent/index.js` contents with: +```javascript +// if (typeof window != 'undefined') { +// module.exports = require('./lib/superagent'); +// } else if (process.env.SUPERAGENT_COV) { +// module.exports = require('./lib-cov/node'); +// } else { + module.exports = require('./lib/node'); +// } +``` + +### Regarding Video, MP4 H264 Playback +- Info: https://github.com/rogerwang/node-webkit/wiki/Support-mp3-and-h264-in-video-and-audio-tag +- Needed to build a custom build of node-webkit that adds h264 support (or you can download ready-to-go builds from https://file.ac/s4Lt3Vo6rls/) +- Alternatively, we can replace a .so and .dll file from the correspondent Chrome build to node-webkit and node-webkit.exe + + +## Development +- Run `compass watch` in Terminal for CSS compiling and listen to future changes. +- [How to build with SublimeText](https://github.com/rogerwang/node-webkit/wiki/Debugging-with-Sublime-Text-2-and-3) +- Currently Gaze to watch all files and reload the app is disabled due to memory leaks and unstability. +- Run node-webkit from the root directory with --debug to enable debugging mode like so ```node-webkit . --debug``` diff --git a/css/animations.css b/css/animations.css new file mode 100644 index 00000000..24e6f56c --- /dev/null +++ b/css/animations.css @@ -0,0 +1,47 @@ +@-webkit-keyframes sidebareffect { + /* line 2, ../sass/animations.scss */ + from { + -webkit-transform: translate(220px, 0); + } + + /* line 3, ../sass/animations.scss */ + to { + -webkit-transform: translate(0, 0); + } +} + +@-webkit-keyframes sidebareffect2 { + /* line 7, ../sass/animations.scss */ + from { + -webkit-transform: translate(0, 0); + } + + /* line 8, ../sass/animations.scss */ + to { + -webkit-transform: translate(220px, 0); + } +} + +@-webkit-keyframes spin { + /* line 12, ../sass/animations.scss */ + from { + -webkit-transform: rotate(0deg); + } + + /* line 13, ../sass/animations.scss */ + to { + -webkit-transform: rotate(360deg); + } +} + +@-webkit-keyframes backdropFadeIn { + /* line 17, ../sass/animations.scss */ + from { + opacity: 0; + } + + /* line 18, ../sass/animations.scss */ + to { + opacity: 0.2; + } +} diff --git a/css/app.css b/css/app.css new file mode 100644 index 00000000..fec7d21e --- /dev/null +++ b/css/app.css @@ -0,0 +1,2061 @@ +@import url(../css/font-awesome.min.css); +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td, +article, aside, canvas, details, embed, +figure, figcaption, footer, header, hgroup, +menu, nav, output, ruby, section, summary, +time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + font: inherit; + font-size: 100%; + vertical-align: baseline; +} + +html { + line-height: 1; +} + +ol, ul { + list-style: none; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +caption, th, td { + text-align: left; + font-weight: normal; + vertical-align: middle; +} + +q, blockquote { + quotes: none; +} +q:before, q:after, blockquote:before, blockquote:after { + content: ""; + content: none; +} + +a img { + border: none; +} + +article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary { + display: block; +} + +@-webkit-keyframes sidebareffect { + from { + -webkit-transform: translate(100%, 0); + } + + to { + -webkit-transform: translate(0, 0); + } +} + +@-webkit-keyframes sidebareffect2 { + from { + -webkit-transform: translate(0, 0); + } + + to { + -webkit-transform: translate(100%, 0); + } +} + +@-webkit-keyframes spin { + from { + -webkit-transform: rotate(0deg); + } + + to { + -webkit-transform: rotate(360deg); + } +} + +@-webkit-keyframes backdropFadeIn { + from { + opacity: 0; + } + + to { + opacity: 0.2; + } +} + +body { + -webkit-user-select: none; +} + +button { + -webkit-app-region: no-drag; +} + +#header { + -webkit-user-select: none; + -webkit-app-region: drag; +} + +.tooltip { + position: absolute; + z-index: 1030; + display: block; + visibility: visible; + font-size: 12px; + line-height: 12px; + opacity: 0; + filter: alpha(opacity=0); +} + +.tooltip.in { + opacity: 0.9; + filter: alpha(opacity=90); +} + +.tooltip.top { + margin-top: -3px; + padding: 5px 0; +} + +.tooltip.right { + margin-left: 3px; + padding: 0 5px; +} + +.tooltip.bottom { + margin-top: 3px; + padding: 5px 0; +} + +.tooltip.left { + margin-left: -3px; + padding: 0 5px; +} + +.tooltip-inner { + max-width: 200px; + padding: 5px 10px !important; + color: #ffffff; + text-align: center; + text-decoration: none; + background-color: #000000; + border-radius: 4px; +} + +.tooltip-arrow { + position: absolute !important; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + padding: 0 !important; +} + +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #000000; +} + +.tooltip.top-left .tooltip-arrow { + bottom: 0; + left: 5px; + border-width: 5px 5px 0; + border-top-color: #000000; +} + +.tooltip.top-right .tooltip-arrow { + bottom: 0; + right: 5px; + border-width: 5px 5px 0; + border-top-color: #000000; +} + +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #000000; +} + +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: #000000; +} + +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000000; +} + +.tooltip.bottom-left .tooltip-arrow { + top: 0; + left: 5px; + border-width: 0 5px 5px; + border-bottom-color: #000000; +} + +.tooltip.bottom-right .tooltip-arrow { + top: 0; + right: 5px; + border-width: 0 5px 5px; + border-bottom-color: #000000; +} + +/* Global elements */ +html, +body { + height: 100%; + overflow: hidden; + width: 100%; +} + +body { + background: #181817; + border-radius: 5px; + cursor: default; + font-family: 'Helvetica Neue', Arial, sans-serif; + -webkit-font-smoothing: antialiased; + color: white; +} + +::-webkit-input-placeholder { + color: rgba(255, 255, 255, 0.4); + font-weight: normal; +} + +button:hover { + cursor: pointer; +} + +:focus { + outline: 0; +} + +a { + text-decoration: none; +} + +.page { + overflow-x: hidden; + overflow-y: overlay; + -webkit-overflow-scrolling: touch; + background: #181817; + height: 100%; + position: absolute; + width: 100%; +} +.page::-webkit-scrollbar { + background: none; + width: 9px; +} +.page::-webkit-scrollbar-button { + display: none; +} +.page::-webkit-scrollbar-track { + display: none; +} +.page::-webkit-scrollbar-track-piece { + display: none; +} +.page::-webkit-scrollbar-thumb { + background: rgba(0, 0, 0, 0); + background-clip: content-box; + border-radius: 10px; + border: 2px solid transparent; +} +.page::-webkit-scrollbar-corner { + display: none; +} +.page::-webkit-resizer { + display: none; +} +.page:hover::-webkit-scrollbar-thumb { + background: rgba(0, 0, 0, 0.5); + background-clip: content-box; + border-radius: 10px; + border: 1px solid rgba(255, 255, 255, 0.15); +} +.page:hover::-webkit-scrollbar-thumb:hover { + background: rgba(0, 0, 0, 0.6); + background-clip: content-box; + border-radius: 10px; + border: 1px solid rgba(255, 255, 255, 0.2); +} +.page.notransition .movie { + -webkit-transition-delay: 0s, 0s; + -moz-transition-delay: 0s, 0s; + -o-transition-delay: 0s, 0s; + transition-delay: 0s, 0s; +} + +.btn { + -webkit-transition: background-color ease; + -webkit-transition-delay: 0.3s; + -moz-transition: background-color ease 0.3s; + -o-transition: background-color ease 0.3s; + transition: background-color ease 0.3s; + color: #999999; + display: inline-block; + border-radius: 3px; + font-size: 13px; + line-height: 18px; + padding: 7px 12px; + background: #286dc4; + cursor: pointer; + background-image: linear-gradient(to bottom, #3076ce 0%, #175ab0 100%); + color: #FFF; + font-weight: bold; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); +} + +.btn-action { + background: #bb2720; + border: 0; + border-radius: 5px; + color: #FFF; + display: block; + font-family: Helvetica, sans-serif; + font-size: 14px; + font-weight: 700; + margin-top: 10px; + padding: 12px 0; + text-align: center; + text-decoration: none; + text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2); + text-transform: uppercase; + width: 155px; +} + +/* +-- App */ +#header { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + border: 1px solid #000; + height: 45px; + left: 0; + padding: 15px; + position: absolute; + top: 0; + text-align: center; + width: 100%; + background-image: linear-gradient(to bottom, #282828 0%, #1e1e1e 100%); +} +#header h1 { + font-size: 13px; +} +#header .btn-set { + position: absolute; + left: 15px; + top: 17px; +} +#header .btn-set.right { + right: 7px; + left: initial; + top: 5px; +} +#header .btn-set.darwin { + position: absolute; + left: 15px; + top: 17px; +} +#header .btn-set.fs-darwin { + right: 7px; + left: initial; + top: 5px; +} +#header .btn-set.linux { + right: 7px; + left: initial; + top: 15px; +} +#header .btn-set.fs-linux { + position: absolute; + left: 15px; + top: 5px; +} +#header .btn-set.win32 { + right: 7px; + left: initial; + top: 15px; +} +#header .btn-set.fs-win32 { + position: absolute; + left: 15px; + top: 5px; +} +#header .btn-set:hover .btn-os { + color: rgba(0, 0, 0, 0.8); +} +#header .btn-set button { + display: block; + float: left; + margin: 0 6px 0 0; + background: #000; +} +#header .btn-set button.btn-os { + border-radius: 30px; + border: 0; + color: transparent; + display: inline-block; + font-size: 10px; + height: 12px; + padding: 0; + text-align: center; + width: 12px; +} +#header .btn-set button.debug { + background: #fff; + content: 'D'; + color: #000; + line-height: 9px; + padding: 0 5px; + text-transform: uppercase; + width: auto; +} +#header .btn-set button.close:hover { + background: #e74c3c; +} +#header .btn-set button.max:hover { + background: #27ae60; +} +#header .btn-set button.min:hover { + background: #f1c40f; +} +#header .btn-set button.fullscreen { + color: #000; + background: transparent; + margin: 0; + width: 32px; + height: 32px; + border-radius: 0; + display: block; +} +#header .btn-set button.fullscreen::before { + content: "\e000"; + font-family: VideoJS; + font-size: 1.85em; + line-height: 0.2em; + background: none; + display: block; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.1); +} +#header .btn-set button.fullscreen.active::before { + content: "\e00B"; +} + +#notification { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + position: absolute; + top: 45px; + height: 45px; + left: 0px; + right: 0px; + font-size: 13px; + font-weight: bold; + line-height: 27px; + padding: 9px 15px; + background: #e20f3c; + color: #fff; + border: 1px solid #000; + border-top: none; + display: none; +} +#notification .btn { + position: absolute; + top: 6px; + right: 15px; + background-image: none; + background: rgba(0, 0, 0, 0.4); +} + +#catalog-select { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + overflow-x: hidden; + overflow-y: overlay; + -webkit-overflow-scrolling: touch; + width: 180px; + position: absolute; + top: 45px; + padding: 20px; + height: calc(100% - 45px); + background: #121212; + border-right: 1px solid #000; + font-family: 'Myriad Pro', 'Lucida Grande', sans-serif; +} +#catalog-select::-webkit-scrollbar { + background: none; + width: 9px; +} +#catalog-select::-webkit-scrollbar-button { + display: none; +} +#catalog-select::-webkit-scrollbar-track { + display: none; +} +#catalog-select::-webkit-scrollbar-track-piece { + display: none; +} +#catalog-select::-webkit-scrollbar-thumb { + background: rgba(0, 0, 0, 0); + background-clip: content-box; + border-radius: 10px; + border: 2px solid transparent; +} +#catalog-select::-webkit-scrollbar-corner { + display: none; +} +#catalog-select::-webkit-resizer { + display: none; +} +#catalog-select:hover::-webkit-scrollbar-thumb { + background: rgba(0, 0, 0, 0.5); + background-clip: content-box; + border-radius: 10px; + border: 1px solid rgba(255, 255, 255, 0.15); +} +#catalog-select:hover::-webkit-scrollbar-thumb:hover { + background: rgba(0, 0, 0, 0.6); + background-clip: content-box; + border-radius: 10px; + border: 1px solid rgba(255, 255, 255, 0.2); +} +#catalog-select h4 { + margin-top: 40px; + color: #404040; + font-weight: bold; + margin-bottom: 10px; +} +#catalog-select ul li { + display: block; + font-weight: bold; + font-size: 13px; +} +#catalog-select ul li a { + -webkit-transition: background-color ease; + -webkit-transition-delay: 0.3s; + -moz-transition: background-color ease 0.3s; + -o-transition: background-color ease 0.3s; + transition: background-color ease 0.3s; + color: #999999; + display: block; + border-radius: 3px; + padding: 8px; +} +#catalog-select ul li a:hover { + background: #010101; +} +#catalog-select ul li.active a, +#catalog-select ul li.active a:hover { + background: #286dc4; + background-image: linear-gradient(to bottom, #3076ce 0%, #175ab0 100%); + color: #FFF; + font-weight: bold; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); + cursor: default; +} +#catalog-select .search { + position: absolute; + right: 20px; + top: 12px; +} +#catalog-select .search input { + border: 2px solid rgba(255, 255, 255, 0.4); + border-radius: 5px; + color: #FFF; + font-size: 12px; + height: 15px; + padding: 8px 10px; + width: 115px; + background: transparent; + font-weight: bold; +} +#catalog-select .search i { + position: absolute; + top: 10px; + right: 10px; + color: rgba(255, 255, 255, 0.4); +} + +.container { + height: calc(100% - 45px); + overflow: hidden; + margin: 45px 0 0 180px; + position: relative; +} + +body.has-notification .container { + height: calc(100% - 45px - 45px); + margin: 90px 0 0 180px; +} +body.has-notification #catalog-select { + top: 90px; + height: calc(100% - 45px - 45px); +} +body.has-notification #notification { + display: block; +} + +.popcorn-load { + -webkit-transition: opacity ease; + -webkit-transition-delay: 1s; + -moz-transition: opacity ease 1s; + -o-transition: opacity ease 1s; + transition: opacity ease 1s; + background: rgba(0, 0, 0, 0.8); + color: #fff; + height: calc(100% - 45px); + left: 0; + opacity: 1; + position: absolute; + top: 45px; + width: 100%; + z-index: 999; +} +.popcorn-load.hidden { + opacity: 0; + z-index: 0; + margin-left: 100%; + pointer-events: none; +} +.popcorn-load.hidden .spinner { + -webkit-animation: none; +} +.popcorn-load .wrapper { + -webkit-transform: translateY(-100%); + -moz-transform: translateY(-100%); + -ms-transform: translateY(-100%); + -o-transform: translateY(-100%); + transform: translateY(-100%); + font-size: 40px; + position: absolute; + top: 50%; + text-align: center; + width: 100%; +} +.popcorn-load .text { + font-size: 22px; +} +.popcorn-load .spinner { + background: url(../images/spinner.svg) no-repeat 0 0; + background-size: cover; + display: block; + height: 45px; + margin: 10px auto; + -webkit-animation: 1.05s spin infinite linear; + width: 45px; +} +.popcorn-load .progressbar { + display: none; + height: 14px; + width: 250px; + margin: 0px auto; + margin-top: 20px; + border-radius: 30px; + border: 2px solid #FFF; + overflow: hidden; + padding: 3px; +} +.popcorn-load .progressbar .progress { + -webkit-transition: width 0.2s ease; + -moz-transition: width 0.2s ease; + -o-transition: width 0.2s ease; + transition: width 0.2s ease; + display: block; + height: 14px; + width: 0%; + min-width: 5.5%; + background: #FFF; + border-radius: 40px; +} +.popcorn-load .progressinfo { + display: none; + position: absolute; + width: 250px; + left: 50%; + margin-left: -125px; + color: #ffffff; + font-size: 15px; + font-weight: bold; + opacity: 0.5; + bottom: -40px; +} +.popcorn-load .btn-close { + display: none; + position: absolute; + z-index: 9999; + top: 15px; + left: 15px; + -webkit-app-region: no-drag; +} +.popcorn-load.withProgressBar .progressbar { + display: block; +} +.popcorn-load.withProgressBar .progressinfo { + display: block; +} +.popcorn-load.withProgressBar .spinner { + display: none; +} +.popcorn-load.cancellable .btn-close { + display: block; +} + +.popcorn-disclaimer { + -webkit-transition: opacity ease; + -webkit-transition-delay: 0.3s; + -moz-transition: opacity ease 0.3s; + -o-transition: opacity ease 0.3s; + transition: opacity ease 0.3s; + background: #000000; + color: #fff; + height: calc(100% - 45px); + left: 0; + opacity: 1; + position: absolute; + top: 45px; + width: 100%; + z-index: 999; +} +.popcorn-disclaimer.hidden { + opacity: 0; + pointer-events: none; +} +.popcorn-disclaimer.quitting .text, .popcorn-disclaimer.quitting .btn { + opacity: 0.0; + pointer-events: none; +} +.popcorn-disclaimer .text, .popcorn-disclaimer .btn { + -webkit-transition: opacity 2s ease-out; + -moz-transition: opacity 2s ease-out; + -o-transition: opacity 2s ease-out; + transition: opacity 2s ease-out; +} +.popcorn-disclaimer .wrapper { + -webkit-transform: translateY(-50%); + -moz-transform: translateY(-50%); + -ms-transform: translateY(-50%); + -o-transform: translateY(-50%); + transform: translateY(-50%); + font-size: 30px; + position: absolute; + top: 50%; + text-align: center; + width: 100%; +} +.popcorn-disclaimer .text { + display: block; + font-size: 22px; + line-height: 150%; + width: 30em; + margin: 0px auto; + margin-bottom: 15px; +} +.popcorn-disclaimer .btn { + padding: 1.1em 3em; + font-size: 18px; +} +.popcorn-disclaimer .btn.continue { + font-size: 18px; + font-weight: bold; + background: #53A93F; +} +.popcorn-disclaimer .btn.quit { + font-size: 18px; + background: #e20f3c; + font-weight: normal; +} + +.movie-list { + margin-bottom: 15px; +} +.movie-list li { + height: 195px; + width: 132px; + padding: 0; + display: inline-block; + margin: 12px; + border-radius: 3px; + position: relative; + background: #000; +} +.movie-list li:hover i { + opacity: 1; +} +.movie-list li i { + -webkit-transition: all ease; + -webkit-transition-delay: 0.3s; + -moz-transition: all ease 0.3s; + -o-transition: all ease 0.3s; + transition: all ease 0.3s; + background: rgba(0, 0, 0, 0.4); + color: #FFF; + display: block; + position: absolute; + bottom: 0; + line-height: 195px; + right: 0; + top: 0; + left: 0; + text-align: center; + font-size: 60px; + opacity: 0; + width: 101%; + height: 101%; + z-index: 10; +} +.movie-list li .cover { + width: 133px; + height: 196px; + overflow: hidden; + display: block; + margin: 0 0 10px 0; + border-radius: 3px; + background: url(../images/posterholder.png) no-repeat 50% 50%; + -webkit-transform: translateZ(0); +} +.movie-list li img { + -webkit-transition: all ease; + -webkit-transition-delay: 1s; + -moz-transition: all ease 1s; + -o-transition: all ease 1s; + transition: all ease 1s; + height: 100%; + width: 100%; + margin: 0; + position: absolute; + top: 0; + left: 0; + display: block; + border-radius: 3px; + -webkit-transform: translateZ(0); +} +.movie-list li img.placeholder { + -webkit-filter: grayscale(1); + -webkit-transform: scale(1.15) translateY(-5px); + z-index: 1; + border-radius: 3px; +} +.movie-list li img.real { + opacity: 1; + z-index: 2; + border-radius: 3px; +} +.movie-list li img.hidden { + opacity: 0; + visibility: hidden; + border-radius: 3px; +} +.movie-list li a { + display: block; + height: 196px; + width: 133px; +} +.movie-list li strong { + color: #FFF; + display: block; + font-weight: bold; + font-size: 14px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.movie-list li small { + font-size: 12px; + color: #666; +} +.movie-list li::before { + display: block; + content: ''; + position: absolute; + width: 100%; + height: 100%; + box-shadow: inset 0px 1px 0px rgba(255, 255, 255, 0.15), 0 2px 3px rgba(0, 0, 0, 0.3); + border-radius: 3px; + border: 1px solid #000; + z-index: 3; +} + +.movie { + -webkit-transform: scale(0, 0); + -moz-transform: scale(0, 0); + -ms-transform: scale(0, 0); + -o-transform: scale(0, 0); + transform: scale(0, 0); + -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease; + -moz-transition: opacity 0.3s ease, -moz-transform 0.3s ease; + -o-transition: opacity 0.3s ease, -o-transform 0.3s ease; + transition: opacity 0.3s ease, transform 0.3s ease; + opacity: 0; +} +.movie:nth-child(1) { + -webkit-transition-delay: 0s, 0s; + -moz-transition-delay: 0s, 0s; + -o-transition-delay: 0s, 0s; + transition-delay: 0s, 0s; +} +.movie:nth-child(2) { + -webkit-transition-delay: 0s, 0.1s; + -moz-transition-delay: 0s, 0.1s; + -o-transition-delay: 0s, 0.1s; + transition-delay: 0s, 0.1s; +} +.movie:nth-child(3) { + -webkit-transition-delay: 0s, 0.2s; + -moz-transition-delay: 0s, 0.2s; + -o-transition-delay: 0s, 0.2s; + transition-delay: 0s, 0.2s; +} +.movie:nth-child(4) { + -webkit-transition-delay: 0s, 0.3s; + -moz-transition-delay: 0s, 0.3s; + -o-transition-delay: 0s, 0.3s; + transition-delay: 0s, 0.3s; +} +.movie:nth-child(5) { + -webkit-transition-delay: 0s, 0.4s; + -moz-transition-delay: 0s, 0.4s; + -o-transition-delay: 0s, 0.4s; + transition-delay: 0s, 0.4s; +} +.movie:nth-child(6) { + -webkit-transition-delay: 0s, 0.5s; + -moz-transition-delay: 0s, 0.5s; + -o-transition-delay: 0s, 0.5s; + transition-delay: 0s, 0.5s; +} +.movie:nth-child(7) { + -webkit-transition-delay: 0s, 0.6s; + -moz-transition-delay: 0s, 0.6s; + -o-transition-delay: 0s, 0.6s; + transition-delay: 0s, 0.6s; +} +.movie:nth-child(8) { + -webkit-transition-delay: 0s, 0.7s; + -moz-transition-delay: 0s, 0.7s; + -o-transition-delay: 0s, 0.7s; + transition-delay: 0s, 0.7s; +} +.movie:nth-child(9) { + -webkit-transition-delay: 0s, 0.8s; + -moz-transition-delay: 0s, 0.8s; + -o-transition-delay: 0s, 0.8s; + transition-delay: 0s, 0.8s; +} +.movie:nth-child(10) { + -webkit-transition-delay: 0s, 0.9s; + -moz-transition-delay: 0s, 0.9s; + -o-transition-delay: 0s, 0.9s; + transition-delay: 0s, 0.9s; +} +.movie:nth-child(11) { + -webkit-transition-delay: 0s, 1s; + -moz-transition-delay: 0s, 1s; + -o-transition-delay: 0s, 1s; + transition-delay: 0s, 1s; +} +.movie:nth-child(12) { + -webkit-transition-delay: 0s, 1.1s; + -moz-transition-delay: 0s, 1.1s; + -o-transition-delay: 0s, 1.1s; + transition-delay: 0s, 1.1s; +} +.movie:nth-child(13) { + -webkit-transition-delay: 0s, 1.2s; + -moz-transition-delay: 0s, 1.2s; + -o-transition-delay: 0s, 1.2s; + transition-delay: 0s, 1.2s; +} +.movie:nth-child(14) { + -webkit-transition-delay: 0s, 1.3s; + -moz-transition-delay: 0s, 1.3s; + -o-transition-delay: 0s, 1.3s; + transition-delay: 0s, 1.3s; +} +.movie:nth-child(15) { + -webkit-transition-delay: 0s, 1.4s; + -moz-transition-delay: 0s, 1.4s; + -o-transition-delay: 0s, 1.4s; + transition-delay: 0s, 1.4s; +} +.movie:nth-child(16) { + -webkit-transition-delay: 0s, 1.5s; + -moz-transition-delay: 0s, 1.5s; + -o-transition-delay: 0s, 1.5s; + transition-delay: 0s, 1.5s; +} +.movie:nth-child(17) { + -webkit-transition-delay: 0s, 1.6s; + -moz-transition-delay: 0s, 1.6s; + -o-transition-delay: 0s, 1.6s; + transition-delay: 0s, 1.6s; +} +.movie:nth-child(18) { + -webkit-transition-delay: 0s, 1.7s; + -moz-transition-delay: 0s, 1.7s; + -o-transition-delay: 0s, 1.7s; + transition-delay: 0s, 1.7s; +} +.movie:nth-child(19) { + -webkit-transition-delay: 0s, 1.8s; + -moz-transition-delay: 0s, 1.8s; + -o-transition-delay: 0s, 1.8s; + transition-delay: 0s, 1.8s; +} +.movie:nth-child(20) { + -webkit-transition-delay: 0s, 1.9s; + -moz-transition-delay: 0s, 1.9s; + -o-transition-delay: 0s, 1.9s; + transition-delay: 0s, 1.9s; +} +.movie:nth-child(21) { + -webkit-transition-delay: 0s, 2s; + -moz-transition-delay: 0s, 2s; + -o-transition-delay: 0s, 2s; + transition-delay: 0s, 2s; +} +.movie:nth-child(22) { + -webkit-transition-delay: 0s, 2.1s; + -moz-transition-delay: 0s, 2.1s; + -o-transition-delay: 0s, 2.1s; + transition-delay: 0s, 2.1s; +} +.movie:nth-child(23) { + -webkit-transition-delay: 0s, 2.2s; + -moz-transition-delay: 0s, 2.2s; + -o-transition-delay: 0s, 2.2s; + transition-delay: 0s, 2.2s; +} +.movie:nth-child(24) { + -webkit-transition-delay: 0s, 2.3s; + -moz-transition-delay: 0s, 2.3s; + -o-transition-delay: 0s, 2.3s; + transition-delay: 0s, 2.3s; +} +.movie:nth-child(25) { + -webkit-transition-delay: 0s, 2.4s; + -moz-transition-delay: 0s, 2.4s; + -o-transition-delay: 0s, 2.4s; + transition-delay: 0s, 2.4s; +} +.movie:nth-child(26) { + -webkit-transition-delay: 0s, 2.5s; + -moz-transition-delay: 0s, 2.5s; + -o-transition-delay: 0s, 2.5s; + transition-delay: 0s, 2.5s; +} +.movie:nth-child(27) { + -webkit-transition-delay: 0s, 2.6s; + -moz-transition-delay: 0s, 2.6s; + -o-transition-delay: 0s, 2.6s; + transition-delay: 0s, 2.6s; +} +.movie:nth-child(28) { + -webkit-transition-delay: 0s, 2.7s; + -moz-transition-delay: 0s, 2.7s; + -o-transition-delay: 0s, 2.7s; + transition-delay: 0s, 2.7s; +} +.movie:nth-child(29) { + -webkit-transition-delay: 0s, 2.8s; + -moz-transition-delay: 0s, 2.8s; + -o-transition-delay: 0s, 2.8s; + transition-delay: 0s, 2.8s; +} +.movie:nth-child(30) { + -webkit-transition-delay: 0s, 2.9s; + -moz-transition-delay: 0s, 2.9s; + -o-transition-delay: 0s, 2.9s; + transition-delay: 0s, 2.9s; +} +.movie:nth-child(31) { + -webkit-transition-delay: 0s, 3s; + -moz-transition-delay: 0s, 3s; + -o-transition-delay: 0s, 3s; + transition-delay: 0s, 3s; +} +.movie:nth-child(32) { + -webkit-transition-delay: 0s, 3.1s; + -moz-transition-delay: 0s, 3.1s; + -o-transition-delay: 0s, 3.1s; + transition-delay: 0s, 3.1s; +} +.movie:nth-child(33) { + -webkit-transition-delay: 0s, 3.2s; + -moz-transition-delay: 0s, 3.2s; + -o-transition-delay: 0s, 3.2s; + transition-delay: 0s, 3.2s; +} +.movie:nth-child(34) { + -webkit-transition-delay: 0s, 3.3s; + -moz-transition-delay: 0s, 3.3s; + -o-transition-delay: 0s, 3.3s; + transition-delay: 0s, 3.3s; +} +.movie:nth-child(35) { + -webkit-transition-delay: 0s, 3.4s; + -moz-transition-delay: 0s, 3.4s; + -o-transition-delay: 0s, 3.4s; + transition-delay: 0s, 3.4s; +} +.movie:nth-child(36) { + -webkit-transition-delay: 0s, 3.5s; + -moz-transition-delay: 0s, 3.5s; + -o-transition-delay: 0s, 3.5s; + transition-delay: 0s, 3.5s; +} +.movie:nth-child(37) { + -webkit-transition-delay: 0s, 3.6s; + -moz-transition-delay: 0s, 3.6s; + -o-transition-delay: 0s, 3.6s; + transition-delay: 0s, 3.6s; +} +.movie:nth-child(38) { + -webkit-transition-delay: 0s, 3.7s; + -moz-transition-delay: 0s, 3.7s; + -o-transition-delay: 0s, 3.7s; + transition-delay: 0s, 3.7s; +} +.movie:nth-child(39) { + -webkit-transition-delay: 0s, 3.8s; + -moz-transition-delay: 0s, 3.8s; + -o-transition-delay: 0s, 3.8s; + transition-delay: 0s, 3.8s; +} +.movie:nth-child(40) { + -webkit-transition-delay: 0s, 3.9s; + -moz-transition-delay: 0s, 3.9s; + -o-transition-delay: 0s, 3.9s; + transition-delay: 0s, 3.9s; +} +.movie:nth-child(41) { + -webkit-transition-delay: 0s, 4s; + -moz-transition-delay: 0s, 4s; + -o-transition-delay: 0s, 4s; + transition-delay: 0s, 4s; +} +.movie:nth-child(42) { + -webkit-transition-delay: 0s, 4.1s; + -moz-transition-delay: 0s, 4.1s; + -o-transition-delay: 0s, 4.1s; + transition-delay: 0s, 4.1s; +} +.movie:nth-child(43) { + -webkit-transition-delay: 0s, 4.2s; + -moz-transition-delay: 0s, 4.2s; + -o-transition-delay: 0s, 4.2s; + transition-delay: 0s, 4.2s; +} +.movie:nth-child(44) { + -webkit-transition-delay: 0s, 4.3s; + -moz-transition-delay: 0s, 4.3s; + -o-transition-delay: 0s, 4.3s; + transition-delay: 0s, 4.3s; +} +.movie:nth-child(45) { + -webkit-transition-delay: 0s, 4.4s; + -moz-transition-delay: 0s, 4.4s; + -o-transition-delay: 0s, 4.4s; + transition-delay: 0s, 4.4s; +} +.movie:nth-child(46) { + -webkit-transition-delay: 0s, 4.5s; + -moz-transition-delay: 0s, 4.5s; + -o-transition-delay: 0s, 4.5s; + transition-delay: 0s, 4.5s; +} +.movie:nth-child(47) { + -webkit-transition-delay: 0s, 4.6s; + -moz-transition-delay: 0s, 4.6s; + -o-transition-delay: 0s, 4.6s; + transition-delay: 0s, 4.6s; +} +.movie:nth-child(48) { + -webkit-transition-delay: 0s, 4.7s; + -moz-transition-delay: 0s, 4.7s; + -o-transition-delay: 0s, 4.7s; + transition-delay: 0s, 4.7s; +} +.movie:nth-child(49) { + -webkit-transition-delay: 0s, 4.8s; + -moz-transition-delay: 0s, 4.8s; + -o-transition-delay: 0s, 4.8s; + transition-delay: 0s, 4.8s; +} +.movie:nth-child(50) { + -webkit-transition-delay: 0s, 4.9s; + -moz-transition-delay: 0s, 4.9s; + -o-transition-delay: 0s, 4.9s; + transition-delay: 0s, 4.9s; +} +.movie.loaded { + opacity: 1; + -webkit-transform: scale(1, 1); + -moz-transform: scale(1, 1); + -ms-transform: scale(1, 1); + -o-transform: scale(1, 1); + transform: scale(1, 1); +} + +.no-results { + text-align: center; + font-size: 24px; + opacity: 0.6; + position: absolute; + top: 50%; + width: 100%; + left: 0; + right: 0; + -webkit-transform: translateY(-50%); +} + +.pagination { + border-radius: 4px; + display: block; + margin: 40px 0; + padding-left: 0; + text-align: center; +} + +.pagination ul li { + display: inline-block; +} + +.pagination li:first-child > a, .pagination li:first-child > span { + border-bottom-left-radius: 4px; + border-top-left-radius: 4px; + margin-left: 0; +} + +.pagination li:last-child > a, .pagination li:last-child > span { + border-bottom-right-radius: 4px; + border-top-right-radius: 4px; +} + +.pagination li > a, .pagination li > span { + border: 1px solid rgba(255, 255, 255, 0.2); + color: #999999; + float: left; + line-height: 1.42857; + margin-left: -1px; + padding: 6px 12px; + position: relative; + text-decoration: none; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + border: 1px solid #000; + text-align: center; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 1px rgba(0, 0, 0, 0.6); + background-image: linear-gradient(to bottom, #2a2a2a 0%, #1b1b1b 100%); +} + +.pagination li > a:hover { + opacity: 0.8; +} + +.pagination ul li.active a, .pagination li > a:active { + background-image: linear-gradient(to bottom, #121212 0%, #191919 100%); + box-shadow: 0 1px 0px rgba(255, 255, 255, 0.1), inset 0 1px 1px rgba(0, 0, 0, 0.5); + color: #fff; +} + +sidebar { + right: 0; + position: absolute; + height: 100%; + width: 100%; + z-index: 125; + -webkit-transform-style: preserve-3d; + animation: sidebareffect .5s; + -webkit-animation: sidebareffect .5s; + -webkit-transform: translateZ(0); +} +sidebar.hidden { + right: -10px; + animation: sidebareffect2 .5s; + -webkit-animation: sidebareffect2 .5s; + -webkit-transform: translate(100%, 0); +} +sidebar .play { + overflow-x: hidden; + overflow-y: overlay; + -webkit-overflow-scrolling: touch; + background: #000; + box-shadow: -3px 0 3px rgba(0, 0, 0, 0.2); + width: 100%; + height: 100%; + position: absolute; + left: 0; + top: 0; + z-index: 100; + background-size: cover; + position: relative; +} +sidebar .play::-webkit-scrollbar { + background: none; + width: 9px; +} +sidebar .play::-webkit-scrollbar-button { + display: none; +} +sidebar .play::-webkit-scrollbar-track { + display: none; +} +sidebar .play::-webkit-scrollbar-track-piece { + display: none; +} +sidebar .play::-webkit-scrollbar-thumb { + background: rgba(0, 0, 0, 0); + background-clip: content-box; + border-radius: 10px; + border: 2px solid transparent; +} +sidebar .play::-webkit-scrollbar-corner { + display: none; +} +sidebar .play::-webkit-resizer { + display: none; +} +sidebar .play:hover::-webkit-scrollbar-thumb { + background: rgba(0, 0, 0, 0.5); + background-clip: content-box; + border-radius: 10px; + border: 1px solid rgba(255, 255, 255, 0.15); +} +sidebar .play:hover::-webkit-scrollbar-thumb:hover { + background: rgba(0, 0, 0, 0.6); + background-clip: content-box; + border-radius: 10px; + border: 1px solid rgba(255, 255, 255, 0.2); +} +sidebar .play:hover a.play-over { + display: block; +} +sidebar .play .backdrop-image { + filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); + opacity: 0; + display: block; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-size: cover; + z-index: -1; + background-position: center; +} +sidebar .play .loaded { + -webkit-animation: backdropFadeIn .5s ease-in forwards; +} +sidebar .play a.play-over { + position: absolute; + top: 40%; + padding: 10px 20px; + border: 2px solid #FFF; + text-transform: uppercase; + left: 30%; + color: #FFF; + font-weight: bold; + text-decoration: none; + display: none; + z-index: 10; +} +sidebar .play .poster { + display: block; + width: 100%; + padding-bottom: 150%; + overflow: hidden; + border-radius: 4px; + background: #000; + border: 1px solid #000; + box-shadow: 0 2px 3px rgba(0, 0, 0, 0.4); + background: url(../images/posterholder.png) no-repeat 50% 50%; + background-size: cover; + -webkit-transform: translateZ(0); +} +sidebar .play .poster img.big-poster { + display: block; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + border-radius: 4px; +} +sidebar .play a.play-button { + text-align: center; + color: #FFF; + font-weight: bold; + padding: 16px 32px; + text-decoration: none; + display: inline-block; + text-transform: uppercase; + box-shadow: 0 2px 3px rgba(0, 0, 0, 0.3); + margin-top: 20px; + border-radius: 4px; + text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4); + background: #cc181e; +} +sidebar .play a.play-button:hover { + background: #eb282e; +} +sidebar .play .movie-detail { + height: 100%; + display: table; +} +sidebar .play .movie-detail .closer { + position: absolute; + top: 0; + left: 0; + height: 30px; + width: 30px; + z-index: 300; + cursor: pointer; +} +sidebar .play .movie-detail .closer:hover i { + opacity: 1; +} +sidebar .play .movie-detail .closer i { + color: #fff; + position: absolute; + left: 8px; + top: 8px; + opacity: 0.5; + text-shadow: 0 0 5px #000; +} +sidebar .play .movie-detail .poster-cont, +sidebar .play .movie-detail .side-content { + display: table-cell; + vertical-align: middle; +} +sidebar .play .movie-detail .poster-cont { + position: relative; + width: 40%; + height: 100%; + padding-left: 6%; + padding-right: 2%; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} +sidebar .play .movie-detail .poster-cont:hover .movie-config { + bottom: 2px; +} +sidebar .play .movie-detail .poster-cont .poster-inner { + position: relative; +} +sidebar .play .movie-detail .poster-cont img.big-poster { + background: #000; + width: 100%; + box-shadow: 0 2px 3px rgba(0, 0, 0, 0.4); + border-radius: 4px; + vertical-align: bottom; +} +sidebar .play .movie-detail .poster-cont .movie-config h4 { + font-weight: bold; + font-size: 14px; + margin-left: 10px; + margin-top: 8px; +} +sidebar .play .movie-detail .poster-cont .movie-config .quality-cont { + position: absolute; + bottom: 0; + left: 0; + height: 50px; + width: 100%; + margin-left: 1px; + text-shadow: 0 0 2px #000; + background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.85) 100%); + -webkit-transform: translateZ(0); +} +sidebar .play .movie-detail .poster-cont .movie-config .quality-cont .quality-off { + margin-left: 10px; + font-size: 12px; +} +sidebar .play .movie-detail .poster-cont .movie-config li.options span.extra-data { + font-weight: bold; + color: #FFF; + float: right; + font-size: 15px; +} +sidebar .play .movie-detail .poster-cont .movie-config li.options span.good { + color: #27ae60; +} +sidebar .play .movie-detail .poster-cont .movie-config li.options span.bad { + color: #c0392b; +} +sidebar .play .movie-detail .poster-cont .movie-config li.options span.epic { + color: #8e44ad; +} +sidebar .play .movie-detail .poster-cont .movie-config input { + font-family: inherit; + font-size: 100%; + line-height: normal; + margin: 0; +} +sidebar .play .movie-detail .poster-cont .movie-config input[type="radio"] { + box-sizing: border-box; + padding: 0; +} +sidebar .play .movie-detail .poster-cont .movie-config .switch { + background: transparent; + border-radius: 32px; + display: block; + height: 12px; + position: absolute; + width: 25px; + border: 2px solid #FFF; + left: 48px; + top: 28px; + cursor: pointer; +} +sidebar .play .movie-detail .poster-cont .movie-config .switch label { + -webkit-transition: color 0.2s ease; + -moz-transition: color 0.2s ease; + -o-transition: color 0.2s ease; + transition: color 0.2s ease; + color: #fff; + font-size: 12px; + font-weight: bold; + text-transform: uppercase; + width: 20px; + cursor: pointer; +} +sidebar .play .movie-detail .poster-cont .movie-config .switch label:nth-of-type(1) { + left: -38px; + position: absolute; + text-align: right; +} +sidebar .play .movie-detail .poster-cont .movie-config .switch label:nth-of-type(2) { + position: absolute; + right: -30px; + text-align: left; +} +sidebar .play .movie-detail .poster-cont .movie-config .switch input { + height: 12px; + left: 0; + opacity: 0; + position: absolute; + top: 0; + width: 60px; + z-index: 2; + cursor: pointer; +} +sidebar .play .movie-detail .poster-cont .movie-config .switch input:checked { + z-index: 0; +} +sidebar .play .movie-detail .poster-cont .movie-config .switch input:checked ~ label:nth-of-type(1) { + color: #286dc4; +} +sidebar .play .movie-detail .poster-cont .movie-config .switch input:checked ~ label:nth-of-type(2) { + color: #FFF; +} +sidebar .play .movie-detail .poster-cont .movie-config .switch input:checked ~ .toggle { + left: 2px; +} +sidebar .play .movie-detail .poster-cont .movie-config .switch input ~ :checked ~ label:nth-of-type(1) { + color: #FFF; +} +sidebar .play .movie-detail .poster-cont .movie-config .switch input ~ :checked ~ label:nth-of-type(2) { + color: #286dc4; +} +sidebar .play .movie-detail .poster-cont .movie-config .switch input ~ :checked ~ .toggle { + left: 13px; +} +sidebar .play .movie-detail .poster-cont .movie-config .toggle { + -webkit-transition: left 0.2s ease; + -moz-transition: left 0.2s ease; + -o-transition: left 0.2s ease; + transition: left 0.2s ease; + background: #286dc4; + border-radius: 50%; + height: 10px; + left: 0; + position: absolute; + top: 1px; + width: 10px; + z-index: 1; +} +sidebar .play .movie-detail .side-content { + z-index: 500; + width: 60%; + position: relative; + padding-left: 2%; + padding-right: 6%; + text-shadow: 0 1px 3px rgba(0, 0, 0, 0.7); + -webkit-box-sizing: border-box; + box-sizing: border-box; +} +sidebar .play .movie-detail .side-content .title { + position: relative; + padding: 0; +} +sidebar .play .movie-detail .side-content .title h2 { + font-weight: 200; + font-size: 34px; + margin-bottom: 10px; + color: #f5f7fa; + padding-right: 30px; +} +sidebar .play .movie-detail .side-content .title .movie-quick-info { + margin-bottom: 5px; +} +sidebar .play .movie-detail .side-content .title .movie-quick-info li { + display: inline-block; + vertical-align: top; + font-size: 12px; + color: #286dc4; + font-weight: bold; +} +sidebar .play .movie-detail .side-content .title .movie-quick-info li::after { + content: '\b7\a0'; + margin-left: 2px; +} +sidebar .play .movie-detail .side-content .title .movie-quick-info li:last-child::after { + display: none; +} +sidebar .play .movie-detail .side-content .title .health { + font-size: 24px; + width: 20px; + height: 20px; + text-align: center; + line-height: 20px; + cursor: pointer; + position: absolute; + top: 10px; + right: 0; +} +sidebar .play .movie-detail .side-content .title .health.bad { + color: red; + border-color: red; +} +sidebar .play .movie-detail .side-content .title .health.medium { + color: yellow; + border-color: yellow; +} +sidebar .play .movie-detail .side-content .title .health.good { + color: limegreen; + border-color: limegreen; +} +sidebar .play .movie-detail .side-content .title .health.excellent { + color: green; + border-color: green; +} +sidebar .play .movie-detail .side-content .rating { + display: inline-block; + position: relative; + font-size: 14px; + margin: 0 10px 0 0; +} +sidebar .play .movie-detail .side-content .rating ul { + color: #f5f7fa; +} +sidebar .play .movie-detail .side-content p { + margin-top: 10px; + color: #babdc2; + font-size: 14px; + line-height: 24px; +} +sidebar .play .movie-detail .side-content .subtitles-list { + margin-top: 10px; + margin-bottom: 10px; +} +sidebar .play .movie-detail .side-content .subtitles-list h4 { + font-size: 12px; + color: #f5f7fa; + display: inline-block; + vertical-align: middle; + margin-right: 5px; +} +sidebar .play .movie-detail .side-content .subtitles-list ul { + display: inline-block; + vertical-align: middle; +} +sidebar .play .movie-detail .side-content .subtitles-list ul li { + display: inline-block; + vertical-align: top; +} +sidebar .play .movie-detail .side-content .subtitles-list ul li span { + width: 22px; + height: 16px; + display: inline-block; +} +sidebar .play .movie-detail .side-content .subtitles-list ul li .flag.flag-english { + background-image: url(../images/english.png); +} +sidebar .play .movie-detail .side-content .subtitles-list ul li .flag.flag-french { + background-image: url(../images/french.png); +} +sidebar .play .movie-detail .side-content .subtitles-list ul li .flag.flag-dutch { + background-image: url(../images/dutch.png); +} +sidebar .play .movie-detail .side-content .subtitles-list ul li .flag.flag-portuguese { + background-image: url(../images/portuguese.png); +} +sidebar .play .movie-detail .side-content .subtitles-list ul li .flag.flag-romanian { + background-image: url(../images/romanian.png); +} +sidebar .play .movie-detail .side-content .subtitles-list ul li .flag.flag-spanish { + background-image: url(../images/spanish.png); +} +sidebar .play .movie-detail .side-content .subtitles-list ul li .flag.flag-turkish { + background-image: url(../images/turkish.png); +} +sidebar .play .movie-detail .side-content .subtitles-list ul li .flag.flag-brazilian { + background-image: url(../images/brazilian.png); +} +sidebar .play .movie-detail .side-content .subtitles-list ul li .flag.flag-italian { + background-image: url(../images/italian.png); +} +sidebar .play .movie-detail .side-content .subtitles-list ul li .flag.flag-hungarian { + background-image: url(../images/hungarian.png); +} +sidebar .play .movie-detail .side-content .subtitles-list ul li .flag.flag-bulgarian { + background-image: url(../images/bulgarian.png); +} +sidebar .play .movie-detail .side-content a.play-button { + background: #286dc4; + background-image: linear-gradient(to bottom, #3076ce 0%, #175ab0 100%); + color: #FFF; + font-weight: bold; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); + padding: 14px 26px; + border-radius: 2px; + display: inline-block; + margin-top: 10px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); +} +sidebar .play .movie-detail .side-content a.play-button:hover { + background-image: linear-gradient(to bottom, #4387de 0%, #175ab0 100%); +} + +.sidebar-open li.movie { + opacity: 0.25; +} +.sidebar-open li.movie.active { + opacity: 1; +} +.sidebar-open li.movie.active a { + box-shadow: 0 0 0 3px #3498db; + border-radius: 3px; +} +.sidebar-open li.movie.active a i { + opacity: 0 !important; +} + +.subtitles button { + background: transparent; + border: 0; + padding: 0; +} + +.dropdown { + position: relative; + display: inline-block; + text-align: left; + width: 30px; + float: right; + margin-right: 20px; + margin-top: -8px; +} +.dropdown.active .dropdown-text { + background-color: white; + z-index: 2; + border-radius: 3px 3px 0 0; +} +.dropdown.active .dropdown-content { + opacity: 1; + visibility: visible; +} + +.dropdown-text { + cursor: pointer; + position: absolute; + width: 100%; + padding: 5px; + text-align: center; + color: #333; + text-shadow: 0 1px #fff; +} +.dropdown-text:after { + position: absolute; + right: -10px; + top: 15px; + content: ''; + width: 0px; + height: 0px; + border-style: solid; + border-width: 4px 3px 0 3px; + border-color: #FFF transparent transparent transparent; +} + +.dropdown-toggle { + font-size: 0; + z-index: 1; + cursor: pointer; + position: absolute; + top: 0; + border: none; + padding: 0; + margin: 0 0 0 1px; + background: transparent; + text-indent: -10px; + height: 37px; + width: 60px; +} +.dropdown-toggle:focus { + outline: 0; +} + +.dropdown-content { + list-style-type: none; + position: absolute; + top: 34px; + padding: 0; + margin: 0; + opacity: 0; + visibility: hidden; + border-radius: 0 0 3px 3px; + background-color: white; + width: 40px; + text-align: center; +} +.dropdown-content a { + display: block; + padding: 4px; + color: #333; + text-shadow: 0 1px #fff; +} +.dropdown-content a:hover { + background: #E1E1E1; +} + +#video-container { + display: none; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; + z-index: 998; + -webkit-app-region: no-drag; +} + +#video_player_close { + position: absolute; + z-index: 9999; + top: 15px; + left: 15px; + -webkit-app-region: no-drag; +} + +.vjs-default-skin .vjs_smallersub_button.vjs-control { + float: right; + line-height: 1.6em; + font-size: 0.8em; + top: 5px; +} + +.vjs-default-skin .vjs_biggersub_button.vjs-control { + float: right; + line-height: 1.6em; + font-size: 0.7em; + top: 6px; +} + +.vjs-default-skin .vjs_biggersub_button.vjs-control:before { + font-family: FontAwesome; + content: "\f031"; + font-style: normal; + font-weight: normal; + text-decoration: inherit; + color: #666; + font-size: 2em; + vertical-align: inherit; +} + +.vjs-default-skin .vjs_smallersub_button.vjs-control:before { + font-family: FontAwesome; + content: "\f031"; + font-style: normal; + font-weight: normal; + text-decoration: inherit; + color: #666; + font-size: 1.3em; + line-height: 2.4em; +} + +#video_player.vjs-user-inactive + #video_player_close { + -webkit-transition: opacity 0.8s ease; + -moz-transition: opacity 0.8s ease; + -o-transition: opacity 0.8s ease; + transition: opacity 0.8s ease; + opacity: 0.0; + pointer-events: none; +} + +#video_player.vjs-user-active + #video_player_close { + -webkit-transition: opacity 0.2s ease-out; + -moz-transition: opacity 0.2s ease-out; + -o-transition: opacity 0.2s ease-out; + transition: opacity 0.2s ease-out; + opacity: 1.0; + pointer-events: all; +} + +#video_player.vjs-user-inactive video { + cursor: none; +} + +#video_player.video-js { + font-size: inherit; +} +#video_player.video-js .vjs-text-track { + font-size: 1em; + line-height: 140%; + opacity: 0.90; + margin-bottom: 1em; + text-shadow: 0 0 0.2em black, 0 0 0.2em black, 0 0 0.2em black, 0 0 0.2em black, 0 0 0.2em black, 0 0 0.2em black, 0 0 0.2em black, 0 0 0.2em black, 0 0 0.2em black, 0 0 0.2em black; +} +#video_player.video-js .vjs-menu-item.vjs-selected { + font-weight: bold; + color: #286dc4; +} +#video_player.video-js .vjs-text-track-display { + font-size: 1em; + pointer-events: none; +} +#video_player.video-js .vjs-loading-spinner { + font-size: 1em; +} +#video_player.video-js .vjs-big-play-button { + font-size: 1em; +} +#video_player.video-js .vjs-control-bar { + font-size: 10px; +} +#video_player.video-js .vjs-menu-item { + color: #000; +} +#video_player.video-js .vjs-seek-handle { + display: none; +} + +body.watching #header, body.watching #notification, body.watching #catalog-select, body.watching .container { + visibility: hidden; +} + +.torrent-health { + display: inline-block; + padding: 3px 5px; + border-radius: 3px; + color: #fff; + font-size: 10px; + font-weight: bold; + text-transform: capitalize; +} +.torrent-health.bad { + background: red; +} +.torrent-health.medium { + background: yellow; +} +.torrent-health.good { + background: limegreen; +} +.torrent-health.excellent { + background: green; +} + +.content { + float: left; + margin-left: 30px; + text-shadow: 0 -1px 0 #000; + width: 660px; +} +.content h2 { + font-size: 32px; + margin: 0; + font-weight: bold; +} +.content p.metadata { + color: #196cb2; + font-size: 14px; + font-weight: 700; + margin: 10px 0; +} +.content p.description { + color: #777; + font-family: 'Helvetica Neue', sans-serif; + font-size: 18px; + margin-bottom: 20px; +} + +/* +-- Don't find any of this properties anywhere in the popcorn-app */ +.tabs { + border-bottom: 1px solid #272727; +} +.tabs li { + bottom: -1px; + color: #333; + display: inline-block; + padding: 10px 20px; + position: relative; +} +.tabs li:hover { + color: #FFF; +} +.tabs li.active { + border-bottom: 3px solid #FFF; + color: #FFF; + display: inline-block; + font-weight: 700; +} + +.tab-content { + margin: 20px 0; +} + +.cast ul li { + font-size: 15px; + font-weight: 700; + padding: 10px; + position: relative; +} +.cast ul li:hover { + background: #222; +} +.cast ul li span { + color: #444; + font-weight: 400; + position: absolute; + right: 10px; +} diff --git a/css/font-awesome.min.css b/css/font-awesome.min.css new file mode 100644 index 00000000..449d6ac5 --- /dev/null +++ b/css/font-awesome.min.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.0.3 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.0.3');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.0.3') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff?v=4.0.3') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.0.3') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.0.3#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.3333333333333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.2857142857142858em;text-align:center}.fa-ul{padding-left:0;margin-left:2.142857142857143em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.142857142857143em;width:2.142857142857143em;top:.14285714285714285em;text-align:center}.fa-li.fa-lg{left:-1.8571428571428572em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:spin 2s infinite linear;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;animation:spin 2s infinite linear}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg)}100%{-ms-transform:rotate(359deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0,mirror=1);-webkit-transform:scale(-1,1);-moz-transform:scale(-1,1);-ms-transform:scale(-1,1);-o-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2,mirror=1);-webkit-transform:scale(1,-1);-moz-transform:scale(1,-1);-ms-transform:scale(1,-1);-o-transform:scale(1,-1);transform:scale(1,-1)}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-asc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-desc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-reply-all:before{content:"\f122"}.fa-mail-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"} \ No newline at end of file diff --git a/dist/windows/README.txt b/dist/windows/README.txt new file mode 100644 index 00000000..d5fe69a5 --- /dev/null +++ b/dist/windows/README.txt @@ -0,0 +1,2 @@ +To build the installer you need InnoSetup for Windows, open the .iss file with that, and then hit compile. You'll get "Install Popcorn Time.exe", which is the full installer for Windows. +Download it from http://www.jrsoftware.org/isdl.php \ No newline at end of file diff --git a/dist/windows/installer-image.bmp b/dist/windows/installer-image.bmp new file mode 100644 index 0000000000000000000000000000000000000000..d47f0050b3f666ad0b45805859bdc4a292186894 GIT binary patch literal 206040 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 z z#H8L7PVs(%SUe*Z)yELhM(Luz@0#aPo}zfP+A;7RTVYW7+Jf3q`_-EJ*1n9+W!(Iu zyzqW%#R1M_I(M)SgGZ^5Kh(kQLaHg`DOacW#Z3R2qUbAgk0+!wK6IZ^*f3#d}+DOi(eoQb+;XHBk#l +ButtonInstall=&تثبيت +ButtonOK=حسنا +ButtonCancel=إلغاء الأمر +ButtonYes=&نعم +ButtonYesToAll=نعم لل&كل +ButtonNo=&لا +ButtonNoToAll=Ù„&ا للكل +ButtonFinish=&إنهاء +ButtonBrowse=&تصÙØ­... +ButtonWizardBrowse=...تصÙّح +ButtonNewFolder=إنشاء مجلد جديد + +; *** "Select Language" dialog messages +SelectLanguageTitle=حدد لغة التثبيت +SelectLanguageLabel=حدد اللغة المستخدمة أثناء التثبيت: + +; *** Common wizard text +ClickNext=اضغط التالي للمواصلة ØŒ أو إلغاء الأمر للخروج%n%nترجمة : أحـمـد الـعـانــي +BeveledLabel= +BrowseDialogTitle=تصÙØ­ عن مجلد +BrowseDialogLabel=حدد مجلدا ما ÙÙŠ القائمة تحت , ثم إضغط حسنا +NewFolderName=مجلد جديد + +; *** "Welcome" wizard page +WelcomeLabel1=[name] مرحبا مع تثبيت +WelcomeLabel2=على جهازك [name/ver] سيتم تثبيت%n%nينصح بشدة إغلاق جميع البرامج الأخرى قبل المواصلة ØŒ لتجنب الأخطاء Ùˆ التعارض مع البرامج الأخرى خلال عملية التثبيت + +; *** "Password" wizard page +WizardPassword=كلمة المرور +PasswordLabel1=عملية التثبيت محمية بكلمة مرور +PasswordLabel3=الرجاء كتابة كلمة المرور ثم ضغط التالي للمواصلة. حالة الاحر٠مهمة ÙÙŠ كلمة المرور +PasswordEditLabel=&كلمة المرور: +IncorrectPassword=كلمة المرور التي أدخلتها غير صحيحة. الرجاء المحاولة مرة أخرى + +; *** "License Agreement" wizard page +WizardLicense=اتÙاقية التشغيل +LicenseLabel=الرجاء قراءة المعلومات التالية قبل المواصلة. +LicenseLabel3=الرجاء أقرأ إتÙاقية الرخصة التالية . يجب عليك أن تَقْبل شروطَ هذه الاتÙاقية قبل الاستمرار بالتثبيت +LicenseAccepted=أواÙÙ‚ على الاتÙاقية +LicenseNotAccepted=لا أواÙÙ‚ على الاتÙاقية + +; *** "Information" wizard pages +WizardInfoBefore=معلومات +InfoBeforeLabel=الرجاء قراءة المعلومات التالية قبل المواصلة +InfoBeforeClickLabel=عندما تكون مستعدا للمواصلة اضغط التالي +WizardInfoAfter=معلومات +InfoAfterLabel=الرجاء قراءة المعلومات التالية قبل المواصلة +InfoAfterClickLabel=عندما تكون مستعدا للمواصلة اضغط التالي + +; *** "User Information" wizard page +WizardUserInfo=معلومات المستخدم +UserInfoDesc=Ùضلا أدخل معلوماتك +UserInfoName=إسم المستخدم : +UserInfoOrg=المنشأة : +UserInfoSerial=رقم التسلسل : +UserInfoNameRequired=يجب أن تدخل إسما ما + +; *** "Select Destination Location" wizard page +WizardSelectDir=حدد مجلد التثبيت +SelectDirDesc=ØŸ [name] أين تريد أن يتم تثبيت +SelectDirLabel3= إلى المجلد التالي [name] سيقوم الإعداد بتثبيت +SelectDirBrowseLabel=إضغط التالي للمتابعة , إذا ترغب بتحديد مجلد مختل٠إضغط تصÙØ­ +DiskSpaceMBLabel=البرنامج يتطلب على الأقل [mb] ميقا بايت من مساحة التخزين. +CannotInstallToNetworkDrive=لا يمكن لبرنامج الإعداد التثبيت إلى محرك أقراص الشبكة +CannotInstallToUNCPath=UNC لا يمكن لبرنامج الإعداد التثبيت إلى مسار +InvalidPath=يجب أن تدخل مسار كامل مع اسم القرص; مثل:%n%nC:\APP%n%n +InvalidDrive=القرص أو الـ UNC الذي حددت ليس موجودا أو لا يمكن الوصول إليه. الرجاء تحديد غيره +DiskSpaceWarningTitle=لا يوجد مساحة تخزين كاÙية +DiskSpaceWarning=برنامج التثبيت يحتاج إلى %1 كيلو بايت على الاقل من المساحة للتخزين ØŒ بينما القرص المحدد لا يحتوى الا على %2 كيلو بايت Ùارغة Ùقط%n%nهل تريد الاستمرار على أي حال؟ +DirNameTooLong=إسم المجلد أو المسار طويل جدا +InvalidDirName=إسم المجلد غير صالح +BadDirName32=أسماء المجلدات لا يمكن أن تحتوي على أي من الحرو٠التالية:%n%n%1 +DirExistsTitle=المجلد موجود مسبقاً +DirExists=المجلد%n%n%1%n%nموجود مسبقا . هل تريد التخزين عليه على أي حال؟ +DirDoesntExistTitle=المجلد ليس موجوداً مسبقاً +DirDoesntExist=المجلد%n%n%1%n%nغير موجود مسبقا . هل تريد انشائه؟ + +; *** "Select Components" wizard page +WizardSelectComponents=حدد المكونات +SelectComponentsDesc=أي المكونات ترغب ÙÙŠ تثبيتها؟ +SelectComponentsLabel2=حدد المكونات التي ترغب ÙÙŠ تثبيتها؛ Ùˆ الغي تحديد المكونات التي لا ترغب بتثبيتها . إضغط التالي عندما تكون مستعدا للمواصلة +FullInstallation=تثبيت كامل +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=تثبيت مختصر +CustomInstallation=تثبيت محدد +NoUninstallWarningTitle=المكونات موجودة مسبقاً +NoUninstallWarning=المكونات التالية موجودة مسبقاً على جهازك:%n%n%1%n%nإلغاء تحديدها يعني عدم تثبيتها%n%nهل تريد المواصلة على أي حال? +ComponentSize1=%1 كيلو بايت +ComponentSize2=%1 ميقابايت +ComponentsDiskSpaceMBLabel=التحديدات الحالية تحتاج على الاقل [mb] ميغا بايت من المساحة الÙارغة على القرص + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=إضغط عمليات إضاÙية +SelectTasksDesc=ما هي العمليات الإضاÙية التالية المراد تنÙيذها ØŸ +SelectTasksLabel2=ثم إضغط التالي [name] حدد طلباتك من + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=تحديد مجلد قائمة ابدأ +SelectStartMenuFolderDesc=أين يجب وضع اختصار للبرنامج؟ +SelectStartMenuFolderLabel3=سيقوم التثبيت بإنشاء إختصار للبرنامج ÙÙŠ مجلد قائمة ابدأ التالي +SelectStartMenuFolderBrowseLabel=إضغط التالي للمتابعة , إذا ترغب بتحديد مجلد مختل٠إضغط تصÙØ­ +MustEnterGroupName=يجب إدخال اسم المجلد +GroupNameTooLong=إسم المجلد أو المسار طويل جدا +InvalidGroupName=إسم المجلد غير صالح +BadGroupName=اسم المجلد يجب أن لا يحوي أي من الحرو٠التالية:%n%n%1 +NoProgramGroupCheck2=&لا تنشئ مجلدا ÙÙŠ قائمة ابدأ + +; *** "Ready to Install" wizard page +WizardReady=جاهز للتثبيت +ReadyLabel1=على جهازك [name] برنامج التثبيت جاهز لتثبيت برنامج +ReadyLabel2a=اضغط تثبيت إذا كنت ترغب ÙÙŠ مواصلة عملية التثبيت ØŒ أو السابق إذا كنت ترغب ÙÙŠ مراجعة أو تغيير أي إعدادات +ReadyLabel2b=اضغط تثبيت للمواصلة +ReadyMemoUserInfo=معلومات المستخدم : +ReadyMemoDir=مجلد التخزين: +ReadyMemoType=نوع التثبيت: +ReadyMemoComponents=المكونات المحددة: +ReadyMemoGroup=مجلد قائمة ابدأ: +ReadyMemoTasks=العمليات الإضاÙية: + +; *** "Preparing to Install" wizard page +WizardPreparing=الإستعداد للتثبيت +PreparingDesc=ÙÙŠ كمبيوترك [name] يقوم الإعداد بتجهيز تثبيت +PreviousInstallNotCompleted=لم يتم إكمال تثبيت أو إزالة أحد البرامج السابقة. أنت تحتاج إلى إعادة تشغيل الكمبيوتر لإكمال عملية التثبيت أو الإزالة السابقة%n%n[name] بعد إعادة تشغيل الكمبيوتر، قم بإعادة تثبيت +CannotContinue=الإعداد لا يَستطيع الإستمرار . الرجاء إضغط إلغاء الأمر للخÙرÙوج +ApplicationsFound=التطبيقات التالية تستخدم ملÙات بحاجة إلى تحديثها بواسطة برنامج التثبيت. يستحسن السماح لبرنامج التثبيت بإغلاق هذه التطبيقات تلقائيا +ApplicationsFound2=التطبيقات التالية تستخدم ملÙات بحاجة إلى تحديثها بواسطة برنامج التثبيت. يستحسن السماح لبرنامج التثبيت بإغلاق هذه التطبيقات تلقائيا Ùˆ بعد اكتمال عملية التثبيت، سيحاول برنامج التثبيت إعادة تشغيل التطبيقات +CloseApplications=Ø¥&غلاق التطبيقات تلقائيا +DontCloseApplications=&غدم إغلاق التطبيقات +ErrorCloseApplications=لم يتمكن الإعداد تلقائياً بإغلاق كاÙØ© التطبيقات. من المستحسن أن تقوم بإغلاق كاÙØ© التطبيقات التي تستخدم .الملÙات التي تحتاج إلى تحديث بواسطة الإعداد قبل المتابعة + +; *** "Installing" wizard page +WizardInstalling=تتم عملية التثبيت +InstallingLabel=على جهازك [name] الرجاء الانتظار حتى تثبيت برنامج + +; *** "Setup Completed" wizard page +FinishedHeadingLabel= [name] إكتمال معالج إعداد +FinishedLabelNoIcons=على جهازك [name] تم تثبيت برنامج +FinishedLabel=يمكن تشغيله من أيقونته [name] تم تثبيت +ClickFinish=اضغط إنهاء للخروج +FinishedRestartLabel=يجب إعادة تشغيل الكمبيوتر [name] لإتمام تثبيت%n%nهل تريد إعادة التشغيل الآن؟ +FinishedRestartMessage=بنجاح [name] يجب إعادة تشغيل الكمبيوتر لتثبيت%n%nهل تريد إعادة التشغيل الآن؟ +ShowReadmeCheck=نعم ارغب ÙÙŠ قراءة مل٠README +YesRadio=&نعم ØŒ إعادة تشغيل الكمبيوتر الآن +NoRadio=&لا ØŒ سأعيد تشغيل الكمبيوتر بنÙسي لاحقا +; used for example as 'Run MyProg.exe' +RunEntryExec=تشغيل %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=اعرض %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=برنامج التثبيت يحتاج القرص التالي +SelectDiskLabel2=الرجاء إدخال القرص رقم %1 ثم اضغط حسنا%n%nاذ كانت الملÙات على هذا القرص موجودة ÙÙŠ داخل مجلد غير المعروض ÙÙŠ الأسÙÙ„ ادخل المسار الصحيح أو اضغط تصÙØ­ +PathLabel=ال&مسار: +FileNotInDir2=المل٠"%1" لا يمكن إيجاده ÙÙŠ "%2" ØŒ الرجاء ادخال القرص الصحيح أو حدد مجلد آخر +SelectDirectoryLabel=الرجاء تحديد مكان القرص التالي + +; *** Installation phase messages +SetupAborted=عملية التثبيت لم تكتمل%n%nالرجاء حل المشكلة ثم اعادة تشغيل التثبيت مرة أخرى +EntryAbortRetryIgnore=إضغط إعادة للمحاولة مرة أخرى ØŒ تجاهل للمواصلة على أي حال أو توق٠لإلغاء عملية التثبيت + +; *** Installation status messages +StatusClosingApplications=...يتم إغلاق التطبيقات +StatusCreateDirs=إنشاء المجلدات... +StatusExtractFiles=ÙÙƒ ضغط الملÙات... +StatusCreateIcons=إنشاء أيقونات البرنامج... +StatusCreateIniEntries=إنشاء مدخلات INI... +StatusCreateRegistryEntries=إنشاء مدخلات مل٠التسجيل... +StatusRegisterFiles=تسجيل الملÙات... +StatusSavingUninstall=Ø­Ùظ معلومات إلغاء التثبيت... +StatusRunProgram=إنهاء عملية التثبيت... +StatusRestartingApplications=...يتم إعادة تشغيل التطبيقات +StatusRollback=إرجاع التغييرات... + +; *** Misc. errors +ErrorInternal2=%1: خطأ داخلي +ErrorFunctionFailedNoCode=Ùشل %1 +ErrorFunctionFailed=%1 Ùشل : الرمز %2 +ErrorFunctionFailedWithMessage=%1 Ùشل : الرمز %2%n%3 +ErrorExecutingProgram=لا يمكن تنÙيذ الملÙ:%n%1 + +; *** Registry errors +ErrorRegOpenKey=%n%1\%2 : خطأ بÙتح Ù…Ùتاح الريجستري +ErrorRegCreateKey=%n%1\%2 : خطأ بإنشاء Ù…Ùتاح الريجستري +ErrorRegWriteKey=%n%1\%2 : خطأ بكتابة Ù…Ùتاح الريجستري + +; *** INI errors +ErrorIniEntry="%1" ÙÙŠ المل٠INI خطأ بإنشاء مدخلة + +; *** File copying errors +FileAbortRetryIgnore=إضغط إعادة للمحاولة مرة أخرى ØŒ تجاهل لتجاهل هذا المل٠(لا ينصح بهذا) ØŒ أو توق٠لإلغاء التثبيت +FileAbortRetryIgnore2=إضغط إعادة للمحاولة مرة أخرى ØŒ تجاهل للمواصلة على أي حال (لا ينصح بهذا) ØŒ أو توق٠لإلغاء التثبيت +SourceIsCorrupted=مل٠المصدر معطوب +SourceDoesntExist=مل٠المصدر "%1" ليس موجوداً +ExistingFileReadOnly=المل٠الحالي محدد للقراءة Ùقط%n%nغير خاصية للقراءة Ùقط ثم المحاولة مرة ثانية ØŒ تجاهل لتجاهل المل٠أو توق٠لإلغاء التثبيت +ErrorReadingExistingDest=حصل خطأ عند محاولة قراءة المل٠: +FileExists=المل٠موجود مسبقا%n%nهل تريد الكتابة علية؟ +ExistingFileNewer= المل٠الموجود مسبقا احدث من المل٠الذي يحاول برنامج التثبيت نسخه . ÙŠÙضل الاحتÙاظ بالمل٠الموجود مسبقا%n%nهل تحتÙظ بالمل٠الموجود مسبقا؟ +ErrorChangingAttr=حصل خطأ عند محاولة تغيير خصائص الملÙ: +ErrorCreatingTemp=حصل خطأ عند محاولة إنشاء مل٠ÙÙŠ مجلد التخزين: +ErrorReadingSource=حصل خطأ عند قراءة الملÙ: +ErrorCopying=حصل خطأ عند محاولة نسخ الملÙ: +ErrorReplacingExistingFile=حصل خطأ عند محاولة استبدال الملÙ: +ErrorRestartReplace=Ùشلت إعادة تشغيل أو إستبدال: +ErrorRenamingTemp=حصل خطأ أثناء محاولة تغيير اسم مل٠ÙÙŠ مجلد التثبيت: +ErrorRegisterServer=DLL/OCX: %1 تعذر تسجيل الـ +ErrorRegSvr32Failed=Ùشل RegSvr32 مع رمز الخروج %1 +ErrorRegisterTypeLib=%1: تعذر تسجيل نوع المكتبة + +; *** Post-installation errors +ErrorOpeningReadme=README ظهور خطأ أثناء محاولة Ùتح مل٠+ErrorRestartingComputer=لم يتمكن برنامج التثبيت من إعادة تشغيل جهاز الكمبيوتر الرجاء القيام بهذا يدويا + +; *** Uninstaller messages +UninstallNotFound=المل٠"%1" ليس موجودا ØŒ لا يمكن إعادة التشغيل +UninstallOpenError= تعذر إلغاء التثبيت "%1" قد لا ÙŠÙÙتح المل٠+UninstallUnsupportedVer=بصيغة مجهولة لهذه النسخة من لاغي التثبيت . تعذر إلغاء التثبيت "%1" مل٠سجل إلغاء التثبيت +UninstallUnknownEntry=ظهور مدخلة مجهولة ما ÙÙŠ سجل إلغاء تثبيت (%1) +ConfirmUninstall=وكل مكوناته ØŸ %1 هل تريد إلغاء تثبيت +UninstallOnlyOnWin64=هذا التثبيت يمكن Ùقط أن يتم إلغائه على ويندوز 64-بت +OnlyAdminCanUninstall=لا يمكن إلغاء التثبيت سوى من قبل مستخدم مدير للشبكة +UninstallStatusLabel=من جهازك %1 الرجاء الانتظار ليتم إلغاء تثبيت +UninstalledAll=من جهازك بنجاح %1 تم إلغاء تثبيت +UninstalledMost= تم إلغاء تثبيت برنامج %1%n%nبعض المكونات لا يمكن إزالتها ØŒ يمكن إزالتها يدويا +UninstalledAndNeedsRestart=%1 يجب إعادة تشغيل الكمبيوتر لإتمام عملية إلغاء تثبيت%n%nهل تريد إعادة التشغيل الآن +UninstallDataCorrupted= المل٠"%1" معطوب ولا يمكن إلغاء التثبيت + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=هل تريد إلغاء الملÙات المشتركة؟ +ConfirmDeleteSharedFile2=يقول نظام التشغيل إن الملÙات المشتركة التالية لم تعد مستخدمة من قبل أي برنامج . هل تريد إلغائها؟%n%nلو كان هناك أي برنامج يستخدم هذه الملÙات ثم تم إلغائها Ùإن هذا البرنامج لن يعمل جيدا ØŒ اختيار لا لإبقاء هذه الملÙات لن يسبب أي مشاكل +SharedFileNameLabel=أسماء الملÙات: +SharedFileLocationLabel=المكان: +WizardUninstalling=حالة إلغاء التثبيت +StatusUninstalling=إلغاء تثبيت %1... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=تثبيت %1 +ShutdownBlockReasonUninstallingApp=إلغاء تثبيت %1 + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 النسخة %2 +AdditionalIcons=رموز إضاÙية : +CreateDesktopIcon=إنشاء أيقونة على سطح المكتب : +CreateQuickLaunchIcon=إنشاء أيقونة إطلاق سريع بجوار ابدأ +ProgramOnTheWeb=%1 على الإنترنت +UninstallProgram=%1 إلغاء تثبيت +LaunchProgram=%1 تشغيل +AssocFileExtension=إشراك %1 مع إمتداد مل٠%2 +AssocingFileExtension=يتم إشراك %1 مع إمتداد مل٠%2 ... +AutoStartProgramGroupDescription=بدء التشغيل: +AutoStartProgram=تشغيل %1 تلقائيا +AddonHostProgramNotFound=تعذر العثور على %1 ÙÙŠ المجلد الذي قمت بتحديده%n%nهل تريد المتابعة على أي حال ØŸ diff --git a/dist/windows/languages/Basque.isl b/dist/windows/languages/Basque.isl new file mode 100644 index 00000000..2cb2e940 --- /dev/null +++ b/dist/windows/languages/Basque.isl @@ -0,0 +1,318 @@ +; *** Inno Setup version 5.1.11+ Basque messages *** +; +; Translated by 3ARRANO (3arrano@3arrano.com) +; +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/is3rdparty.php +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=Euskara +LanguageID=$042d +LanguageCodePage=0 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=Instalaketa +SetupWindowTitle=Instalaketa - %1 +UninstallAppTitle=Desinstalaketa +UninstallAppFullTitle=Desinstalaketa - %1 + +; *** Misc. common +InformationTitle=Argibideak +ConfirmTitle=Berretsi +ErrorTitle=Akatsa + +; *** SetupLdr messages +SetupLdrStartupMessage=Programa honek %1 instalatuko du. Jarraitu nahi duzu? +LdrCannotCreateTemp=Ezin izan da aldi baterako fitxategirik sortu. Instalaketa ezeztatu da +LdrCannotExecTemp=Aldi baterako karpetako fitxategia ezin izan da abiarazi. Instalaketa ezeztatu da +; *** Startup error messages +LastErrorMessage=%1.%n%n%2 akatsa: %3 +SetupFileMissing=Ez da %1 fitxategia aurkitu instalaketaren direktorioan. Zuzendu arazoa edo eskuratu programaren kopia berri bat. +SetupFileCorrupt=Instalaketa fitxategiak hondaturik daude. Eskuratu programaren kopia berri bat. +SetupFileCorruptOrWrongVer=Instalaketa fitxategiak hondaturik daude, edo ez dira instalatzailearen bertsio honekin bateragarriak. Zuzendu arazoa edo eskuratu programaren kopia berri bat. +NotOnThisPlatform=Programa hau ez dabil %1 sistemapean. +OnlyOnThisPlatform=Programa hau %1 sistemapean soilik dabil. +OnlyOnTheseArchitectures=Programa hau ondorengo prozesagailuen arkitekturetarako diseinatu diren Windowsen bertsioetan soilik instala daiteke:%n%n%1 +MissingWOW64APIs=Darabilzun Windowsen bertsioak ez dakar 64-biteko instalaketa bat burutzeko instalatzaileak behar duen funtzionalitaterik. Arazo hau konpontzeko, instalatu Service Pack %1 zerbitzu paketea. +WinVersionTooLowError=Programa honek %1 %2 edo bertsio berriagoa behar du. +WinVersionTooHighError=Programa hau ezin da instalatu %1 %2 edo bertsio berriagoan. +AdminPrivilegesRequired=Programa hau instalatzeko administratzaile gisa hasi behar duzu saioa. +PowerUserPrivilegesRequired=Programa hau instalatzeko administratzaile gisa edo Agintedun Erabiltzaileen taldeko kide gisa hasi behar duzu saioa. +SetupAppRunningError=Instalatzaileak une honetan %1 irekita dagoela nabaritu du.%n%nItxi bere leiho guztiak, ondoren klikatu Ados jarraitzeko, edo Utzi irteteko. +UninstallAppRunningError=Instalatzaileak une honetan %1 irekita dagoela nabaritu du.%n%nItxi bere leiho guztiak, ondoren klikatu Ados jarraitzeko, edo Utzi irteteko. + +; *** Misc. errors +ErrorCreatingDir=Instalatzaileak ezin izan du "%1" direktorioa sortu +ErrorTooManyFilesInDir=Ezinezkoa izan da "%1" direktorioan fitxategi bat sortzea, fitxategi gehiegi dituelako barnean + +; *** Setup common messages +ExitSetupTitle=Instalatzailetik Irten +ExitSetupMessage=Instalaketa ez da burutu. Orain irtenez gero, programa ez da instalatuko.%n%nInstalaketa burutzeko edonoiz ireki dezakezu berriro instalatzailea.%n%nInstalatzailetik Irten? +AboutSetupMenuItem=&Instalatzaileari Buruz... +AboutSetupTitle=Instalatzaileari Buruz +AboutSetupMessage=%1 %2%n%3%n%n%1en webgunea :%n%4 +AboutSetupNote= +TranslatorNote= + +; *** Buttons +ButtonBack=< A&urrekoa +ButtonNext=&Hurrengoa > +ButtonInstall=&Instalatu +ButtonOK=Ados +ButtonCancel=Utzi +ButtonYes=&Bai +ButtonYesToAll=Bai &Guztiari +ButtonNo=&Ez +ButtonNoToAll=E&z Guztiari +ButtonFinish=A&maitu +ButtonBrowse=&Arakatu... +ButtonWizardBrowse=A&rakatu... +ButtonNewFolder=&Karpeta Berria Sortu + +; *** "Select Language" dialog messages +SelectLanguageTitle=Hautatu Instalatzailearen Hizkuntza +SelectLanguageLabel=Hautatu instalaketarako erabili nahi duzun hizkuntza: + +; *** Common wizard text +ClickNext=Klikatu Hurrengoa jarraitzeko, edo Utzi instalatzailetik irteteko. +BeveledLabel= +BrowseDialogTitle=Karpetak Arakatu +BrowseDialogLabel=Hautatu karpeta bat azpiko zerrendan, ondoren klikatu Ados. +NewFolderName=Karpeta Berria + +; *** "Welcome" wizard page +WelcomeLabel1=Ongietorri [name] Instalatzeko Morroira +WelcomeLabel2=Programa honek [name/ver] zure konputagailuan instalatuko du.%n%nGomendagarria da jarraitu aurretik gainontzeko aplikazioak ixtea. + +; *** "Password" wizard page +WizardPassword=Pasahitza +PasswordLabel1=Instalaketa hau pasahitzez babesturik dago. +PasswordLabel3=Sartu pasahitza, ondoren klikatu Hurrengoa jarraitzeko. Pasahitzetan maiuskulak bereizten dira. +PasswordEditLabel=&Pasahitza: +IncorrectPassword=Sartu duzun pasahitza ez da zuzena. Saiatu berriro. + +; *** "License Agreement" wizard page +WizardLicense=Lizentziaren Onarpena +LicenseLabel=Irakurri ondorengo argibide garrantzitsu hauek jarraitu aurretik. +LicenseLabel3=Irakurri ondorengo Lizentziaren Onarpena. Lizentzia honen baldintzak onartu behar dituzu instalaketaren jarraitu aurretik. +LicenseAccepted=Lizentziaren baldintzak &onartzen ditut +LicenseNotAccepted=&Ez ditut lizentziaren baldintzak onartzen + +; *** "Information" wizard pages +WizardInfoBefore=Argibideak +InfoBeforeLabel=Irakurri ondorengo argibide garrantzitsu hauek jarraitu aurretik. +InfoBeforeClickLabel=Instalaketarekin jarraitzeko gertu egotean, klikatu Hurrengoa. +WizardInfoAfter=Argibideak +InfoAfterLabel=Irakurri ondorengo argibide garrantzitsu hauek jarraitu aurretik. +InfoAfterClickLabel=Instalaketarekin jarraitzeko gertu egotean, klikatu Hurrengoa. + +; *** "User Information" wizard page +WizardUserInfo=Erabiltzailearen Datuak +UserInfoDesc=Sartu zure datuak. +UserInfoName=&Erabiltzaile Izena: +UserInfoOrg=E&rakundea: +UserInfoSerial=&Serie Zenbakia: +UserInfoNameRequired=Izen bat sartu behar duzu. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Hautatu Helburu Direktorioa +SelectDirDesc=Non instalatu beharko litzateke [name]? +SelectDirLabel3=Instalatzaileak [name] ondorengo karpetan instalatuko du. +SelectDirBrowseLabel=Jarraitzeko, klikatu Hurrengoa. Beste karpeta bat hautatu nahi baduzu, klikatu Arakatu. +DiskSpaceMBLabel=Gutxienez [mb] MBko toki hutsa behar da diskan. +ToUNCPathname=Instalatzaileak ezin du UNC bideizen baten instalatu. Sarean instalatzen saiatzen ari bazara, sareko diska bat mapeatu beharko duzu. +InvalidPath=Bideizen oso bat sartu behar duzu, unitate hizki eta guzti; adibidez:%n%nC:\APP%n%nedo UNC bideizen bat honela:%n%n\\zerbitzaria\elkarbanatua +InvalidDrive=Hautatu duzun unitatea edo UNC elkarbanatua ez dago edo ezin da bertara sartu. Hautatu beste bat. +DiskSpaceWarningTitle=Ez Dago Behar Beste Toki Diskan +DiskSpaceWarning=Instalatzaileak gutxienez %1 KBko toki hutsa behar du instalatzeko, baina hautaturiko unitateak %2 KB soilik ditu hutsik.%n%nHala ere jarraitu nahi duzu? +DirNameTooLong=Karpetaren izena edo bideizena luzeegia da. +InvalidDirName=Karpetaren izena ez da zuzena. +BadDirName32=Karpetaren izenak ezin dezake ondorengo karaktereetarik bat ere eduki:%n%n%1 +DirExistsTitle=Karpeta Badago +DirExists=Karpeta hau:%n%n%1%n%nlehendik ere badago. Hala ere bertan instalatu nahi duzu? +DirDoesntExistTitle=Karpeta Ez Dago +DirDoesntExist=Karpeta hau:%n%n%1%n%nez dago. Sortu nahi duzu? + +; *** "Select Components" wizard page +WizardSelectComponents=Hautatu Osagaiak +SelectComponentsDesc=Zein osagai instalatu behar dira? +SelectComponentsLabel2=Hautatu instalatu nahi dituzun osagaiak; garbitu instalatu nahi ez dituzunak. Klikatu Hurrengoa jarraitzeko gertu egotean. +FullInstallation=Guztia instalatu +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Instalaketa Trinkoa +CustomInstallation=Instalaketa Pertsonalizatua +NoUninstallWarningTitle=Osagai Hauek Badituzu +NoUninstallWarning=Instalatzaileak nabaritu du ondorengo osagaiok jadanik konputagailuan instalaturik dituzula:%n%n%1%n%nOsagai hauek ez aukeratzeak ez ditu desinstalatuko.%n%nHala ere jarraitu nahi duzu? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=Uneko aukeraketak gutxienez [mb] MBko toki hutsa behar du diskan. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Hautatu Ataza Gehigarriak +SelectTasksDesc=Zein ataza gehigarri burutu behar dira? +SelectTasksLabel2=Hautatu [name] instalatu bitartean instalatzaileak burutu beharreko ataza gehigarriak, ondoren klikatu Hurrengoa. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Hautatu Hasi Menuko Karpeta +SelectStartMenuFolderDesc=Non sortu behar ditu instalatzaileak programaren lasterbideak? +SelectStartMenuFolderLabel3=Instalatzaileak Hasi Menuko ondorengo karpetan sortuko ditu programaren lasterbideak. +SelectStartMenuFolderBrowseLabel=Jarraitzeko, klikatu Hurrengoa. Beste karpeta bat hautatu nahi baduzu, klikatu Arakatu. +MustEnterGroupName=Karpeta izen bat sartu behar duzu. +GroupNameTooLong=Karpetaren izena edo bideizena luzeegia da. +InvalidGroupName=Karpetaren izena ez da zuzena. +BadGroupName=Karpetaren izenak ezin dezake ondorengo karaktereetarik bat ere eduki:%n%n%1 +NoProgramGroupCheck2=&Ez sortu Hasi Menuko karpetarik + +; *** "Ready to Install" wizard page +WizardReady=Instalatzeko Gertu +ReadyLabel1=Instalatzailea [name] zure konputagailuan instalatzen hasteko gertu dago. +ReadyLabel2a=Klikatu Instalatu instalaketarekin jarraitzeko, edo klikatu Aurrekoa ezarpenen bat berrikusi edo aldatu nahi baduzu. +ReadyLabel2b=Klikatu Instalatu instalaketarekin jarraitzeko. +ReadyMemoUserInfo=Erabiltzailearen datuak: +ReadyMemoDir=Helburu direktorioa: +ReadyMemoType=Instalaketa mota: +ReadyMemoComponents=Hautaturiko osagaiak: +ReadyMemoGroup=Hasi Menuko karpeta: +ReadyMemoTasks=Ataza gehigarriak: + +; *** "Preparing to Install" wizard page +WizardPreparing=Instalatzeko Gertatzen +PreparingDesc=Instalatzailea [name] zure konputagailuan instalatzeko gertatzen ari da. +PreviousInstallNotCompleted=Aurreko programa baten instalaketa/desinstalaketa ez da burutu. Instalaketa hura burutzeko konputagailua berrabiarazi beharko duzu.%n%nKonputagailua berrabiarazi ondoren, ireki instalatzailea berriro [name] instalatzen bukatzeko. +CannotContinue=Ezinezkoa da instalaketarekin jarraitzea. Klikatu Utzi irteteko. + +; *** "Installing" wizard page +WizardInstalling=Instalatzen +InstallingLabel=Itxaron instalatzaileak [name] zure konputagailuan instalatu artean. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=[name] Instalatzeko Morroia Burutzen +FinishedLabelNoIcons=Instalatzaileak [name] zure konputagailuan instalatu du. +FinishedLabel=Instalatzaileak [name] zure konputagailuan instalatu du. Aplikazioa abiarazteko instalaturiko ikonoetan klikatu. +ClickFinish=Klikatu Amaitu instalatzailetik irteteko. +FinishedRestartLabel=[name] programaren instalaketa burutzeko, instalatzaileak konputagailua berrabiarazi beharra du. Orain berrabiarazi nahi duzu? +FinishedRestartMessage=[name] programaren instalaketa burutzeko, instalatzaileak konputagailua berrabiarazi beharra du.%n%nOrain berrabiarazi nahi duzu? +ShowReadmeCheck=Bai, IRAKURRI fitxategia ikusi nahi dut +YesRadio=&Bai, berrabiarazi orain +NoRadio=&Ez, beranduago berrabiaraziko dut +; used for example as 'Run MyProg.exe' +RunEntryExec=Abiarazi %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=Ikusi %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=Instalatzaileak Hurrengo Diska Behar Du +SelectDiskLabel2=Sartu %1. diska eta klikatu Ados.%n%nDiska honetako fitxategiak ez badaude azpian ageri den karpetan, sartu bideizen egokia edo klikatu Arakatu. +PathLabel=&Bideizena: +FileNotInDir2="%1" fitxategia ezin izan da "%2" karpetan aurkitu. Sartu diska zuzena edo hautatu beste karpeta bat. +SelectDirectoryLabel=Zehaztu hurrengo diskaren kokapena. + +; *** Installation phase messages +SetupAborted=Instalaketa ez da burutu.%n%nKonpondu arazoa eta abiarazi instalatzailea berriro. +EntryAbortRetryIgnore=Klikatu Saiatu Berriz berriro saiatzeko, Ezikusi hala ere jarraitzeko, edo Utzi instalaketa uzteko. + +; *** Installation status messages +StatusCreateDirs=Direktorioak sortzen... +StatusExtractFiles=Fitxategiak ateratzen... +StatusCreateIcons=Lasterbideak sortzen... +StatusCreateIniEntries=INI sarrerak sortzen... +StatusCreateRegistryEntries=Erregistroko sarrerak sortzen... +StatusRegisterFiles=Fitxategiak erregistratzen... +StatusSavingUninstall=Desinstalaketarako datuak gordetzen... +StatusRunProgram=Instalaketa burutzen... +StatusRollback=Aldaketak desegiten... + +; *** Misc. errors +ErrorInternal2=Barneko akatsa: %1 +ErrorFunctionFailedNoCode=Hutsegitea: %1 +ErrorFunctionFailed=Hutsegitea: %1; Kodea: %2 +ErrorFunctionFailedWithMessage=Hutsegitea: %1; Kodea: %2.%n%3 +ErrorExecutingProgram=Ezin izan da fitxategi hau abiarazi:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Akatsa erregistroko gakoa irekitzean:%n%1\%2 +ErrorRegCreateKey=Akatsa erregistroko gakoa sortzean:%n%1\%2 +ErrorRegWriteKey=Akatsa erregistroko gakoa idaztean:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Akatsa "%1" fitxategian INI sarrera sortzean. + +; *** File copying errors +FileAbortRetryIgnore=Klikatu Saiatu Berriz berriro saiatzeko, Ezikusi fitxategi hau saltatzeko (ez da gomendagarria), edo Utzi instalaketa uzteko. +FileAbortRetryIgnore2=Klikatu Saiatu Berriz berriro saiatzeko, Ezikusi hala ere jarraitzeko (ez da gomendagarria), edo Utzi instalaketa uzteko. +SourceIsCorrupted=Iturburu fitxategia hondaturik dago +SourceDoesntExist=Ez dago "%1" izeneko iturburu fitxategirik +ExistingFileReadOnly=Lehendik zegoen fitxategia irakurtzeko-soilik gisa markaturik dago.%n%nKlikatu Saiatu Berriz irakurtzeko-soilik atributua ezabatu eta berriro saiatzeko, Ezikusi fitxategi hau saltatzeko, edo Utzi instalaketa uzteko. +ErrorReadingExistingDest=Akats bat izan da lehendik zegoen fitxategi hau irakurtzean: +FileExists=Fitxategia lehendik ere bazegoen.%n%nInstalatzaileak gainidatzi dezan nahi duzu? +ExistingFileNewer=Lehendik zegoen fitxategia Instalatzaileak instalatu nahi duena baino berriagoa da. Lehendik zegoena mantentzea gomendatzen da.%n%nLehengoa mantendu nahi duzu? +ErrorChangingAttr=Akats bat izan da lehendik zegoen fitxategi honen atributuak aldatzean: +ErrorCreatingTemp=Akats bat izan da ondorengo helburu direktorioan fitxategi bat sortzean: +ErrorReadingSource=Akats bat izan da iturburu fitxategia irakurtzean: +ErrorCopying=Akats bat izan da fitxategi hau kopiatzean: +ErrorReplacingExistingFile=Akats bat izan da lehendik zegoen fitxategi hau ordezkatzean: +ErrorRestartReplace=RestartReplacek huts egin du: +ErrorRenamingTemp=Akats bat izan da ondorengo helburu direktorioan fitxategi bat berrizendatzean: +ErrorRegisterServer=Ezinezkoa izan da DLL/OCX hau erregistratzea: %1 +ErrorRegSvr32Failed=RegSvr32k huts egin du %1 itxiera kodea emanez +ErrorRegisterTypeLib=Ezinezkoa izan da moten liburutegi hau erregistratzea: %1 + +; *** Post-installation errors +ErrorOpeningReadme=Akats bat izan da IRAKURRI fitxategia irekitzean. +ErrorRestartingComputer=Instalatzaileak ezin izan du konputagailua berrabiarazi. Egin ezazu eskuz. + +; *** Uninstaller messages +UninstallNotFound=Ez da "%1" fitxategia aurkitu. Ezin izan da desinstalatu. +UninstallOpenError=Ezin izan da "%1" ireki. Ezin izan da desinstalatu +UninstallUnsupportedVer=Desinstalaketarako "%1" log fitxategia instalatzailearen bertsio honek ezagutzen ez duen formatu batean dago. Ezin izan da desinstalatu +UninstallUnknownEntry=Sarrera ezezagun bat (%1) aurkitu da desinstalaketarako logean +ConfirmUninstall=Ziur %1 eta bere osagai guztiak ezabatu nahi dituzula? +UninstallOnlyOnWin64=Instalaketa hau 64-biteko Windowsean soilik desinstala daiteke. +OnlyAdminCanUninstall=Instalaketa hau administratzaile eskumenak dituen erabiltzaile batek soilik desinstala dezake. +UninstallStatusLabel=Itxaron %1 zure konputagailutik ezabatzen den artean. +UninstalledAll=%1 arrakastatsuki ezabatu da zure konputagailutik. +UninstalledMost=%1 desinstalatu da.%n%nZenbait fitxategi ezin izan dira ezabatu. Fitxategi hauek eskuz ezaba daitezke. +UninstalledAndNeedsRestart=%1 guztiz desinstalatzeko, zure konputagailua berrabiarazi beharra dago.%n%nOrain berrabiarazi nahi duzu? +UninstallDataCorrupted="%1" fitxategia hondaturik dago. Ezin izan da desinstalatu + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Fitxategi Elkarbanatua Ezabatu? +ConfirmDeleteSharedFile2=Sistemaren arabera ondorengo fitxategi elkarbanatua ez du inongo programak erabiliko hemendik aurrera. Desinstalatzaileak fitxategi hau ezabatu nahi duzu?%n%nProgramaren bat fitxategi hau erabiltzen badabil oraindik eta ezabatzen baduzu, programa hori ez da egoki ibiliko. Ziur ez bazaude, hautatu Ez. Fitxategia sisteman uzteak ez dizu inongo kalterik eragingo. +SharedFileNameLabel=Fitxategi izena: +SharedFileLocationLabel=Kokapena: +WizardUninstalling=Desinstalaketaren Egoera +StatusUninstalling=Orain desinstalatzen: %1... + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 %2 bertsioa +AdditionalIcons=Ikono gehigarriak: +CreateDesktopIcon=&Mahaigainean lasterbidea sortu +CreateQuickLaunchIcon=&Ataza Barran lasterbidea sortu +ProgramOnTheWeb=%1 sarean +UninstallProgram=%1 desinstalatu +LaunchProgram=%1 abiarazi +AssocFileExtension=&Lotu %1 programa %2 fitxategi luzapenarekin +AssocingFileExtension=%1 programa %2 fitxategi luzapenarekin lotzen... diff --git a/dist/windows/languages/BrazilianPortuguese.isl b/dist/windows/languages/BrazilianPortuguese.isl new file mode 100644 index 00000000..89a125f4 --- /dev/null +++ b/dist/windows/languages/BrazilianPortuguese.isl @@ -0,0 +1,354 @@ +; *************************************************************** +; *** *** +; *** Inno Setup version 5.5.3+ Portuguese (Brazil) messages *** +; *** *** +; *** Original Author: *** +; *** *** +; *** Paulo Andre Rosa (parosa@gmail.com) *** +; *** *** +; *** Maintainer: *** +; *** *** +; *** Eduardo Mauro (emauro@acabit.com.br) *** +; *** *** +; *** Contributors: *** +; *** *** +; *** Felipe (felipefpl@ig.com.br) *** +; *** Jeferson Oliveira (jefersonfoliveira@gmail.com) *** +; *** *** +; *************************************************************** + +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/is3rdparty.php +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=Portugu<00EA>s (Brasil) +LanguageID=$0416 +LanguageCodePage=1252 + +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=Programa de Instalação +SetupWindowTitle=%1 - Programa de Instalação +UninstallAppTitle=Desinstalar +UninstallAppFullTitle=Desinstalar %1 + +; *** Misc. common +InformationTitle=Informação +ConfirmTitle=Confirmação +ErrorTitle=Erro + +; *** SetupLdr messages +SetupLdrStartupMessage=Este programa instalará %1. Você quer continuar? +LdrCannotCreateTemp=Não foi possível criar um arquivo temporário. Instalação cancelada +LdrCannotExecTemp=Não foi possível executar um arquivo na pasta de arquivos temporários. Instalação cancelada + +; *** Startup error messages +LastErrorMessage=%1.%n%nErro %2: %3 +SetupFileMissing=O arquivo %1 não se encontra no diretório de instalação. Por favor, corrija o problema ou obtenha uma nova cópia do programa. +SetupFileCorrupt=Os arquivos de instalação estão corrompidos. Por favor, obtenha uma nova cópia do programa. +SetupFileCorruptOrWrongVer=Os arquivos de instalação estão corrompidos ou são incompatíveis com esta versão do Instalador. Por favor, corrija o problema ou obtenha uma nova cópia do programa. +InvalidParameter=Um parâmetro inválido foi passado na linha de comando:%n%n%1 +SetupAlreadyRunning=O programa de instalação já está sendo executado. +WindowsVersionNotSupported=Este programa não suporta a versão do Windows instalada em seu computador. +WindowsServicePackRequired=Este programa necessita %1 Service Pack %2 ou posterior. +NotOnThisPlatform=Este programa não executará no %1. +OnlyOnThisPlatform=Este programa deve ser executado no %1. +OnlyOnTheseArchitectures=Este programa só pode ser instalado em versões do Windows projetadas para as seguintes arquiteturas de processador:%n%n%1 +MissingWOW64APIs=A versão do Windows que você está executando não inclui a funcionalidade requerida pelo Programa de Instalação para realizar uma instalação de 64 bits. Para corrigir este problema, por favor instale o Service Pack %1. +WinVersionTooLowError=Este programa requer %1 versão %2 ou posterior. +WinVersionTooHighError=Este programa não pode ser instalado em %1 versão %2 ou posterior. +AdminPrivilegesRequired=Você deve estar logado como um administrador para instalar este programa. +PowerUserPrivilegesRequired=Você deve estar logado como um administrador ou como membro do grupo Usuários Avançados para instalar este programa. +SetupAppRunningError=O Programa de Instalação detectou que %1 está sendo executado.%n%nPor favor, feche todas as instâncias do programa agora e clique em OK para continuar, ou em Cancelar para sair. +UninstallAppRunningError=O Desinstalador detectou que %1 está em execução atualmente.%n%nPor favor, feche todas as instâncias dele agora, então clique em OK para continuar, ou em Cancelar para sair. + +; *** Misc. errors +ErrorCreatingDir=O Programa de Instalação foi incapaz de criar o diretório "%1" +ErrorTooManyFilesInDir=Incapaz de criar um arquivo no diretório "%1" porque ele contém arquivos demais + +; *** Setup common messages +ExitSetupTitle=Sair do Programa de Instalação +ExitSetupMessage=A Instalação não foi concluída. Se você sair agora, o programa não será instalado.%n%nVocê pode executar o Programa de instalação novamente em outra hora, para concluir a instalação.%n%nSair do Programa de Instalação? +AboutSetupMenuItem=&Sobre o Programa de Instalação... +AboutSetupTitle=Sobre o Programa de Instalação +AboutSetupMessage=%1 versão %2%n%3%n%n%1 página na internet:%n%4 +AboutSetupNote= +TranslatorNote= + +; *** Buttons +ButtonBack=< &Voltar +ButtonNext=&Avançar > +ButtonInstall=&Instalar +ButtonOK=OK +ButtonCancel=Cancelar +ButtonYes=&Sim +ButtonYesToAll=Sim para &Todos +ButtonNo=&Não +ButtonNoToAll=Nã&o para Todos +ButtonFinish=&Concluir +ButtonBrowse=&Procurar... +ButtonWizardBrowse=P&rocurar... +ButtonNewFolder=&Criar Nova Pasta + +; *** "Select Language" dialog messages +SelectLanguageTitle=Selecionar Idioma do Programa de Instalação +SelectLanguageLabel=Selecione o idioma a ser utilizado durante a instalação: + +; *** Common wizard text +ClickNext=Clique em Avançar para continuar, ou em Cancelar para sair do Programa de Instalação. +BeveledLabel= +BrowseDialogTitle=Procurar Pasta +BrowseDialogLabel=Selecione uma pasta na lista abaixo e clique em OK. +NewFolderName=Nova Pasta + +; *** "Welcome" wizard page +WelcomeLabel1=Bem-vindo ao Assistente de Instalação de [name] +WelcomeLabel2=Este Assistente instalará [name/ver] no seu computador.%n%nÉ recomendado que você feche todos os outros aplicativos antes de continuar. + +; *** "Password" wizard page +WizardPassword=Senha +PasswordLabel1=Esta instalação é protegida por senha. +PasswordLabel3=Por favor, forneça a senha e clique em Avançar para continuar. As senhas diferenciam maiúsculas de minúsculas. +PasswordEditLabel=&Senha: +IncorrectPassword=A senha que você informou não é correta. Por favor, tente novamente. + +; *** "License Agreement" wizard page +WizardLicense=Contrato de Licença de Uso +LicenseLabel=Por favor, leia as seguintes informações importantes antes de continuar. +LicenseLabel3=Por favor, leia o seguinte Contrato de Licença de Uso. Você deve aceitar os termos do Contrato antes de prosseguir com a instalação. +LicenseAccepted=Eu aceito os termos do &Contrato +LicenseNotAccepted=Eu &não aceito os termos do Contrato + +; *** "Information" wizard pages +WizardInfoBefore=Informação +InfoBeforeLabel=Por favor, leia as seguintes informações importantes antes de continuar. +InfoBeforeClickLabel=Quando você estiver pronto para continuar, clique em Avançar. +WizardInfoAfter=Informação +InfoAfterLabel=Por favor, leia as seguintes informações importantes antes de continuar. +InfoAfterClickLabel=Quando você estiver pronto para continuar, clique Avançar. + +; *** "User Information" wizard page +WizardUserInfo=Informações do Usuário +UserInfoDesc=Por favor, insira suas informações. +UserInfoName=&Nome do Usuário: +UserInfoOrg=&Empresa: +UserInfoSerial=Número de &Série: +UserInfoNameRequired=Você deve informar um nome. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Selecione o Local de Destino +SelectDirDesc=Onde [name] deve ser instalado? +SelectDirLabel3=O Programa de Instalação instalará [name] na seguinte pasta. +SelectDirBrowseLabel=Para continuar, clique em Avançar. Se você deseja escolher uma pasta diferente, clique em Procurar. +DiskSpaceMBLabel=São necessários pelo menos [mb] MB de espaço livre em disco. +CannotInstallToNetworkDrive=O programa de instalação não pode fazer a instalação em uma unidade de rede. +CannotInstallToUNCPath=O programa de instalação não fazer a instalação num caminhho de rede UNC. +InvalidPath=Você deve informar um caminho completo, incluindo a letra da unidade de disco; por exemplo:%n%nC:\APP%n%e não um caminho de rede UNC na forma:%n%n\\servidor\compartilhamento +InvalidDrive=A unidade de disco ou compartilhamento de rede UNC que você selecionou não existe ou não está acessível. Por favor, selecione outro local. +DiskSpaceWarningTitle=Espaço em Disco Insuficiente +DiskSpaceWarning=O Programa de Instalação requer pelo menos %1 KB de espaço livre, mas a unidade de disco selecionada tem apenas %2 KB disponíveis.%n%nVocê quer continuar assim mesmo? +DirNameTooLong=O nome da pasta ou caminho é muito longo. +InvalidDirName=O nome da pasta não é válido. +BadDirName32=Nomes de pastas não podem incluir quaisquer dos seguintes caracteres:%n%n%1 +DirExistsTitle=A Pasta Existe +DirExists=A pasta:%n%n%1%n%njá existe. Você quer instalar nesta pasta assim mesmo? +DirDoesntExistTitle=A Pasta Não Existe +DirDoesntExist=A pasta:%n%n%1%n%nnão existe. Você gostaria que a pasta fosse criada? + +; *** "Select Components" wizard page +WizardSelectComponents=Selecionar Componentes +SelectComponentsDesc=Quais componentes devem ser instalados? +SelectComponentsLabel2=Selecione os componentes que você quer instalar; desmarque os componentes que você não quer instalar. Clique em Avançar quando estiver pronto para continuar. +FullInstallation=Instalação completa +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Instalação compacta +CustomInstallation=Instalação personalizada +NoUninstallWarningTitle=Componente Existe +NoUninstallWarning=O Programa de Instalação detectou que os seguintes componentes já estão instalados em seu computador:%n%n%1%n%nDesmarcar estes componentes, não irá desinstalar eles.%n%nVocê quer continuar assim mesmo? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=A seleção atual requer pelo menos [mb] MB de espaço em disco. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Selecionar Tarefas Adicionais +SelectTasksDesc=Quais tarefas adicionais devem ser executadas? +SelectTasksLabel2=Selecione as tarefas adicionais que você deseja que o Programa de Instalação execute enquanto instala [name] e clique em Avançar. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Selecionar a Pasta do Menu Iniciar +SelectStartMenuFolderDesc=Onde o Programa de Instalação deve colocar os atalhos do programa? +SelectStartMenuFolderLabel3=O Programa de Instalação irá criar os atalhos do programa na seguinte pasta do Menu Iniciar. +SelectStartMenuFolderBrowseLabel=Clique em Avançar para continuar. Se você quiser escolher outra pasta, clique em Procurar. +MustEnterGroupName=Você deve informar um nome de pasta. +GroupNameTooLong=O nome da pasta ou caminho é muito longo. +InvalidGroupName=O nome da pasta não é válido. +BadGroupName=O nome da pasta não pode incluir quaisquer dos seguintes caracteres:%n%n%1 +NoProgramGroupCheck2=&Não criar uma pasta no Menu Iniciar + +; *** "Ready to Install" wizard page +WizardReady=Pronto para Instalar +ReadyLabel1=O Programa de Instalação está pronto para começar a instalação de [name] no seu computador. +ReadyLabel2a=Clique Instalar para iniciar a instalação, ou clique em Voltar se você quer revisar ou alterar alguma configuração. +ReadyLabel2b=Clique em Instalar para iniciar a instalação. +ReadyMemoUserInfo=Dados do Usuário: +ReadyMemoDir=Local de destino: +ReadyMemoType=Tipo de Instalação: +ReadyMemoComponents=Componentes selecionados: +ReadyMemoGroup=Pasta do Menu Iniciar: +ReadyMemoTasks=Tarefas adicionais: + +; *** "Preparing to Install" wizard page +WizardPreparing=Preparando para Instalar +PreparingDesc=O Programa de Instalação está se preparando para instalar [name] no seu computador. +PreviousInstallNotCompleted=A instalação/remoção de um programa anterior não foi concluída. Você precisará reiniciar seu computador para finalizá-la.%n%nApós reiniciar o computador, execute novamente o Programa de Instalação para concluir a instalação de [name]. +CannotContinue=O Programa de Instalação não pode continuar. Por favor, clique em Cancelar para sair. +ApplicationsFound=As seguintes aplicações estap usando arquivos que necessitam ser atualizados pelo programa de instalação. É recomendável que você permita que o programa da instalação encerre automaticamente estas aplicações. +ApplicationsFound2=As seguintes aplicações estão usandos arquivos que necessitam ser atualizados pelo programa de instalação. É recomendável que você permita que o programa da instalação encerre automaticamente estas aplicações. Após a instalação estar completa, o programa de instalação tentará iniciar novamente as aplicações. +CloseApplications=&Automaticamente encerre as aplicações +DontCloseApplications=&Não encerre as aplicações +ErrorCloseApplications=O instalador foi incapaz de fechar automaticamente todos os aplicativos. É recomendado que você feche todos os aplicativos usando os arquivos que precisam ser atualizados pelo Instalador antes de continuar. + +; *** "Installing" wizard page +WizardInstalling=Instalando +InstallingLabel=Por favor, aguarde enquanto o Programa de Instalação instala [name] no seu computador. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=Finalizando o Assistente de Instalação de [name] +FinishedLabelNoIcons=O Programa de Instalação finalizou a instalação de [name] no seu computador. +FinishedLabel=O Programa de Instalação terminou de instalar [name] no seu computador. O programa pode ser iniciado clicando nos ícones instalados. +ClickFinish=Clique em Concluir para sair do Programa de Instalação. +FinishedRestartLabel=Para concluir a instalação de [name], o Programa de Instalação deve reiniciar o computador. Você gostaria de reiniciar agora? +FinishedRestartMessage=Para concluir a instalação de [name], o Programa de Instalação deve reiniciar o computador.%n%nVocê gostaria de reiniciar agora? +ShowReadmeCheck=Sim, eu quero visualizar o arquivo LEIA-ME +YesRadio=&Sim, reiniciar o computador agora +NoRadio=&Não, eu vou reiniciar o computador depois +; used for example as 'Run MyProg.exe' +RunEntryExec=Executar %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=Visualizar %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=O Programa de Instalação Precisa do Próximo Disco +SelectDiskLabel2=Por favor, insira o Disco %1 e clique em OK.%n%nSe os arquivos deste disco estão numa pasta diferente da indicada abaixo, informe o caminho correto ou clique em Procurar. +PathLabel=&Caminho: +FileNotInDir2=O arquivo "%1" não pôde ser encontrado em "%2". Por favor, insira o disco correto ou escolha outra pasta. +SelectDirectoryLabel=Por favor, informe o local do próximo disco. + +; *** Installation phase messages +SetupAborted=A instalação não foi concluída.%n%nPor favor, corrija o problema e execute novamente o Programa de Instalação. +EntryAbortRetryIgnore=Clique Repetir para tentar novamente, Ignorar para continuar assim mesmo, or Cancelar para cancelar a instalação. + +; *** Installation status messages +StatusClosingApplications=Encerrando aplicações... +StatusCreateDirs=Criando diretórios... +StatusExtractFiles=Extraindo arquivos... +StatusCreateIcons=Criando atalhos... +StatusCreateIniEntries=Criando entradas INI... +StatusCreateRegistryEntries=Criando entradas no Registro... +StatusRegisterFiles=Registrando arquivos... +StatusSavingUninstall=Salvando informações de desinstalação... +StatusRunProgram=Finalizando a instalação... +StatusRestartingApplications=Reiniciando applicações... +StatusRollback=Desfazendo as alterações efetuadas... + +; *** Misc. errors +ErrorInternal2=Erro interno: %1 +ErrorFunctionFailedNoCode=%1 falhou +ErrorFunctionFailed=%1 falhou; código %2 +ErrorFunctionFailedWithMessage=%1 falhou; código %2.%n%3 +ErrorExecutingProgram=Não foi possível executar o arquivo:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Erro ao abrir a chave do registro:%n%1\%2 +ErrorRegCreateKey=Erro ao criar a chave do registro:%n%1\%2 +ErrorRegWriteKey=Erro ao escrever na chave do registro:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Erro ao criar entrada INI no arquivo "%1". + +; *** File copying errors +FileAbortRetryIgnore=Clique em Repetir para tentar novamente, em Ignorar para ignorar este arquivo (não recomendado) ou em Cancelar para cancelar a instalação. +FileAbortRetryIgnore2=Clique em Repetir para tentar novamente, em Ignorar para ignorar este arquivo (não recomendado) ou em Cancelar para cancelar a instalação. +SourceIsCorrupted=O arquivo de origem está corrompido +SourceDoesntExist=O arquivo de origem "%1" não existe +ExistingFileReadOnly=O arquivo existente está marcado como somente leitura.%n%nClique em Repetir para remover o atributo de somente leitura e tentar novamente, em Ignorar para ignorar este arquivo, ou em Anular para cancelar a instalação. +ErrorReadingExistingDest=Ocorreu um erro ao tentar ler o arquivo existente: +FileExists=O arquivo já existe.%n%nVocê quer que o Programa de Instalação sobrescreva o arquivo? +ExistingFileNewer=O arquivo já existente é mais recente do que o arquivo que o Programa de Instalação está tentando instalar. Recomenda-se que você mantenha o arquivo existente.%n%nVocê quer manter o arquivo existente? +ErrorChangingAttr=Ocorreu um erro ao tentar modificar os atributos do arquivo existente: +ErrorCreatingTemp=Ocorreu um erro ao tentar criar um arquivo nao diretório de destino: +ErrorReadingSource=Ocorreu um erro ao tentar ler o arquivo de origem: +ErrorCopying=Ocorreu um erro ao tentar copiar um arquivo: +ErrorReplacingExistingFile=Ocorreu um erro ao tentar substituir o arquivo existente: +ErrorRestartReplace=Reiniciar/Substituir falhou: +ErrorRenamingTemp=Ocorreu um erro ao tentar renomear um arquivo no diretório de destino: +ErrorRegisterServer=Não foi possível registrar a DLL/OCX: %1 +ErrorRegSvr32Failed=RegSvr32 falhou com o código de saída %1 +ErrorRegisterTypeLib=Não foi possível registrar a biblioteca de tipos: %1 + +; *** Post-installation errors +ErrorOpeningReadme=Ocorreu um erro ao tentar abrir o arquivo LEIA-ME. +ErrorRestartingComputer=O Programa de Instalação não conseguiu reiniciar o computador. Por favor, reinicie o computador manualmente. + +; *** Uninstaller messages +UninstallNotFound=O arquivo "%1" não existe. Não é possível desinstalar. +UninstallOpenError=O arquivo "%1" não pode ser aberto. Não é possível desinstalar +UninstallUnsupportedVer=O arquivo de log de desinstalação "%1" está num formato não reconhecido por esta versão do desinstalador. Não é possível desinstalar +UninstallUnknownEntry=Foi encontrada uma entrada desconhecida (%1) no arquivo de log de desinstalação +ConfirmUninstall=Você tem certeza que deseja remover completamente %1 e todos os seus componentes? +UninstallOnlyOnWin64=Esta instalação não pode ser desinstalada em Windows 64 bits. +OnlyAdminCanUninstall=Esta instalação só pode ser desinstalada por usuários com direitos administrativos. +UninstallStatusLabel=Por favor, aguarde enquanto %1 é removido do seu computador. +UninstalledAll=%1 foi removido com sucesso do seu computador. +UninstalledMost=A desinstalação de %1 foi concluída.%n%nAlguns elementos não puderam ser removidos. Estes podem ser removidos manualmente. +UninstalledAndNeedsRestart=Para concluir a desinstalação de %1, o computador deve ser reiniciado.%n%nVocê quer que o computador seja reiniciado agora? +UninstallDataCorrupted=O arquivo "%1" está corrompido. Não é possível desinstalar + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Remover Arquivo Compartilhado? +ConfirmDeleteSharedFile2=O sistema indica que o seguinte arquivo compartilhado não está mais em uso por nenhum outro programa. Você quer que a desinstalação remova este arquivo compartilhado?%n%nSe ainda houver programas utilizando este arquivo e ele for removido, esses programas poderão não funcionar corretamente. Se você não tem certeza, escolha Não. Manter o arquivo no seu computador não trará prejuízo algum. +SharedFileNameLabel=Nome do arquivo: +SharedFileLocationLabel=Local: +WizardUninstalling=Status da Desinstalação +StatusUninstalling=Desinstalando %1... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=Instalando %1. +ShutdownBlockReasonUninstallingApp=Removendo %1. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 versão %2 +AdditionalIcons=Ícones adicionais: +CreateDesktopIcon=Criar um ícone na Área de &Trabalho +CreateQuickLaunchIcon=Criar um ícone na &Barra de Inicialização Rápida +ProgramOnTheWeb=%1 na Internet +UninstallProgram=Desinstalar %1 +LaunchProgram=Executar %1 +AssocFileExtension=Associar %1 com a e&xtensão de arquivo %2 +AssocingFileExtension=Associando %1 com a extensão de arquivo... +AutoStartProgramGroupDescription=Startup: +AutoStartProgram=Iniciar automaticamente %1 +AddonHostProgramNotFound=%1 não pôde ser localizado na pasta que você selecionou.%n%nVocê deseja continuar assim mesmo? diff --git a/dist/windows/languages/Catalan.isl b/dist/windows/languages/Catalan.isl new file mode 100644 index 00000000..5a91e2ce --- /dev/null +++ b/dist/windows/languages/Catalan.isl @@ -0,0 +1,319 @@ +; *** Inno Setup version 5.5.3+ Catalan messages *** +; +; Translated by Carles Millan (email: carles@carlesmillan.cat) + +[LangOptions] + +LanguageName=Catal<00E0> +LanguageID=$0403 +LanguageCodePage=1252 + +[Messages] + +; *** Application titles +SetupAppTitle=Instal·lació +SetupWindowTitle=Instal·lació - %1 +UninstallAppTitle=Desinstal·lació +UninstallAppFullTitle=Desinstal·la %1 + +; *** Misc. common +InformationTitle=Informació +ConfirmTitle=Confirmació +ErrorTitle=Error + +; *** SetupLdr messages +SetupLdrStartupMessage=Aquest programa instal·larà %1. Voleu continuar? +LdrCannotCreateTemp=No s'ha pogut crear un fitxer temporal. Instal·lació cancel·lada +LdrCannotExecTemp=No s'ha pogut executar el fitxer a la carpeta temporal. Instal·lació cancel·lada + +; *** Startup error messages +LastErrorMessage=%1.%n%nError %2: %3 +SetupFileMissing=El fitxer %1 no es troba a la carpeta d'instal·lació. Resoleu el problema o obteniu una nova còpia del programa. +SetupFileCorrupt=Els fitxers d'instal·lació estan corromputs. Obteniu una nova còpia del programa. +SetupFileCorruptOrWrongVer=Els fitxers d'instal·lació estan espatllats, o són incompatibles amb aquesta versió del programa. Resoleu el problema o obteniu una nova còpia del programa. +InvalidParameter=Un paràmetre invàlid ha estat passat a la línia de comanda:%n%n%1 +SetupAlreadyRunning=La instal·lació ja està en curs. +WindowsVersionNotSupported=Aquest programa no suporta la versió de Windows instal·lada al vostre ordinador. +WindowsServicePackRequired=Aquest programa necessita %1 Service Pack %2 o posterior. +NotOnThisPlatform=Aquest programa no funcionarà sota %1. +OnlyOnThisPlatform=Aquest programa només pot ser executat sota %1. +OnlyOnTheseArchitectures=Aquest programa només pot ser instal·lat en versions de Windows dissenyades per a les següents arquitectures de processador:%n%n%1 +MissingWOW64APIs=Aquesta versió de Windows no conté la funcionalitat necessària per a realitzar una instal·lació de 64 bits. Per tal de corregir aquest problema instal·leu el Service Pack %1. +WinVersionTooLowError=Aquest programa requereix %1 versió %2 o posterior. +WinVersionTooHighError=Aquest programa no pot ser instal·lat sota %1 versió %2 o posterior. +AdminPrivilegesRequired=Cal que tingueu privilegis d'administrador per poder instal·lar aquest programa. +PowerUserPrivilegesRequired=Cal que accediu com a administrador o com a membre del grup Power Users en instal·lar aquest programa. +SetupAppRunningError=El programa d'instal·lació ha detectat que %1 s'està executant actualment.%n%nTanqueu el programa i premeu Accepta per a continuar o Cancel·la per a sortir. +UninstallAppRunningError=El programa de desinstal·lació ha detectat que %1 s'està executant en aquest moment.%n%nTanqueu el programa i premeu Accepta per a continuar o Cancel·la per a sortir. + +; *** Misc. errors +ErrorCreatingDir=El programa d'instal·lació no ha pogut crear la carpeta "%1" +ErrorTooManyFilesInDir=No s'ha pogut crear un fitxer a la carpeta "%1" perquè conté massa fitxers + +; *** Setup common messages +ExitSetupTitle=Surt +ExitSetupMessage=La instal·lació no s'ha completat. Si sortiu ara, el programa no serà instal·lat.%n%nPer a completar-la podreu tornar a executar el programa d'instal·lació quan vulgueu.%n%nVoleu sortir-ne? +AboutSetupMenuItem=&Sobre la instal·lació... +AboutSetupTitle=Sobre la instal·lació +AboutSetupMessage=%1 versió %2%n%3%n%nPàgina web de %1:%n%4 +AboutSetupNote= +TranslatorNote=Catalan translation by Carles Millan (carles at carlesmillan.cat) + +; *** Buttons +ButtonBack=< &Enrere +ButtonNext=&Següent > +ButtonInstall=&Instal·la +ButtonOK=Accepta +ButtonCancel=Cancel·la +ButtonYes=&Sí +ButtonYesToAll=Sí a &tot +ButtonNo=&No +ButtonNoToAll=N&o a tot +ButtonFinish=&Finalitza +ButtonBrowse=&Explora... +ButtonWizardBrowse=&Cerca... +ButtonNewFolder=Crea &nova carpeta + +; *** "Select Language" dialog messages +SelectLanguageTitle=Trieu idioma +SelectLanguageLabel=Trieu idioma a emprar durant la instal·lació: + +; *** Common wizard text +ClickNext=Premeu Següent per a continuar o Cancel·la per a abandonar la instal·lació. +BeveledLabel= +BrowseDialogTitle=Trieu una carpeta +BrowseDialogLabel=Trieu la carpeta de destinació i premeu Accepta. +NewFolderName=Nova carpeta + +; *** "Welcome" wizard page +WelcomeLabel1=Benvingut a l'assistent d'instal·lació de [name] +WelcomeLabel2=Aquest programa instal·larà [name/ver] al vostre ordinador.%n%nÉs molt recomanable que abans de continuar tanqueu tots els altres programes oberts, per tal d'evitar conflictes durant el procés d'instal·lació. + +; *** "Password" wizard page +WizardPassword=Contrasenya +PasswordLabel1=Aquesta instal·lació està protegida amb una contrasenya. +PasswordLabel3=Indiqueu la contrasenya i premeu Següent per a continuar. Aquesta contrasenya distingeix entre majúscules i minúscules. +PasswordEditLabel=&Contrasenya: +IncorrectPassword=La contrasenya introduïda no és correcta. Torneu-ho a intentar. + +; *** "License Agreement" wizard page +WizardLicense=Acord de Llicència +LicenseLabel=Cal que llegiu aquesta informació abans de continuar. +LicenseLabel3=Cal que llegiu l'Acord de Llicència següent. Cal que n'accepteu els termes abans de continuar amb la instal·lació. +LicenseAccepted=&Accepto l'acord +LicenseNotAccepted=&No accepto l'acord + +; *** "Information" wizard pages +WizardInfoBefore=Informació +InfoBeforeLabel=Llegiu la informació següent abans de continuar. +InfoBeforeClickLabel=Quan estigueu preparat per a continuar, premeu Següent. +WizardInfoAfter=Informació +InfoAfterLabel=Llegiu la informació següent abans de continuar. +InfoAfterClickLabel=Quan estigueu preparat per a continuar, premeu Següent + +; *** "User Information" wizard page +WizardUserInfo=Informació sobre l'usuari +UserInfoDesc=Introduïu la vostra informació. +UserInfoName=&Nom de l'usuari: +UserInfoOrg=&Organització +UserInfoSerial=&Número de sèrie: +UserInfoNameRequired=Cal que hi introduïu un nom + +; *** "Select Destination Location" wizard page +WizardSelectDir=Trieu Carpeta de Destinació +SelectDirDesc=On s'ha d'instal·lar [name]? +SelectDirLabel3=El programa d'instal·lació instal·larà [name] a la carpeta següent. +SelectDirBrowseLabel=Per a continuar, premeu Següent. Si desitgeu triar una altra capeta, premeu Cerca. +DiskSpaceMBLabel=Aquest programa necessita un mínim de [mb] MB d'espai a disc. +CannotInstallToNetworkDrive=La instal·lació no es pot fer en un disc de xarxa. +CannotInstallToUNCPath=La instal·lació no es pot fer a una ruta UNC. +InvalidPath=Cal donar una ruta completa amb lletra d'unitat, per exemple:%n%nC:\Aplicació%n%no bé una ruta UNC en la forma:%n%n\\servidor\compartit +InvalidDrive=El disc o ruta de xarxa seleccionat no existeix, trieu-ne un altre. +DiskSpaceWarningTitle=No hi ha prou espai al disc +DiskSpaceWarning=El programa d'instal·lació necessita com a mínim %1 KB d'espai lliure, però el disc seleccionat només té %2 KB disponibles.%n%nTot i amb això, desitgeu continuar? +DirNameTooLong=El nom de la carpeta o de la ruta és massa llarg. +InvalidDirName=El nom de la carpeta no és vàlid. +BadDirName32=Un nom de carpeta no pot contenir cap dels caràcters següents:%n%n%1 +DirExistsTitle=La carpeta existeix +DirExists=La carpeta:%n%n%1%n%nja existeix. Voleu instal·lar igualment el programa en aquesta carpeta? +DirDoesntExistTitle=La Carpeta No Existeix +DirDoesntExist=La carpeta:%n%n%1%n%nno existeix. Voleu que sigui creada? + +; *** "Select Program Group" wizard page +WizardSelectComponents=Trieu Components +SelectComponentsDesc=Quins components cal instal·lar? +SelectComponentsLabel2=Trieu els components que voleu instal·lar; elimineu els components que no voleu instal·lar. Premeu Següent per a continuar. +FullInstallation=Instal·lació completa +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Instal·lació compacta +CustomInstallation=Instal·lació personalitzada +NoUninstallWarningTitle=Els components Existeixen +NoUninstallWarning=El programa d'instal·lació ha detectat que els components següents ja es troben al vostre ordinador:%n%n%1%n%nSi no estan seleccionats no seran desinstal·lats.%n%nVoleu continuar igualment? +ComponentSize1=%1 Kb +ComponentSize2=%1 Mb +ComponentsDiskSpaceMBLabel=Aquesta selecció requereix un mínim de [mb] Mb d'espai al disc. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Trieu tasques addicionals +SelectTasksDesc=Quines tasques addicionals cal executar? +SelectTasksLabel2=Trieu les tasques addicionals que voleu que siguin executades mentre s'instal·la [name], i després premeu Següent. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Trieu la carpeta del Menú Inici +SelectStartMenuFolderDesc=On cal situar els enllaços del programa? +SelectStartMenuFolderLabel3=El programa d'instal·lació crearà l'accés directe al programa a la següent carpeta del menú d'Inici. +SelectStartMenuFolderBrowseLabel=Per a continuar, premeu Següent. Si desitgeu triar una altra carpeta, premeu Cerca. +MustEnterGroupName=Cal que hi introduïu un nom de carpeta. +GroupNameTooLong=El nom de la carpeta o de la ruta és massa llarg. +InvalidGroupName=El nom de la carpeta no és vàlid. +BadGroupName=El nom del grup no pot contenir cap dels caràcters següents:%n%n%1 +NoProgramGroupCheck2=&No creïs una carpeta al Menú Inici + +; *** "Ready to Install" wizard page +WizardReady=Preparat per a instal·lar +ReadyLabel1=El programa d'instal·lació està preparat per a iniciar la instal·lació de [name] al vostre ordinador. +ReadyLabel2a=Premeu Instal·la per a continuar amb la instal·lació, o Enrere si voleu revisar o modificar les opcions d'instal·lació. +ReadyLabel2b=Premeu Instal·la per a continuar amb la instal·lació. +ReadyMemoUserInfo=Informació de l'usuari: +ReadyMemoDir=Carpeta de destinació: +ReadyMemoType=Tipus d'instal·lació: +ReadyMemoComponents=Components seleccionats: +ReadyMemoGroup=Carpeta del Menú Inici: +ReadyMemoTasks=Tasques addicionals: + +; *** "Preparing to Install" wizard page +WizardPreparing=Preparant la instal·lació +PreparingDesc=Preparant la instal·lació de [name] al vostre ordinador. +PreviousInstallNotCompleted=La instal·lació o desinstal·lació anterior no s'ha dut a terme. Caldrà que reinicieu l'ordinador per a finalitzar aquesta instal·lació.%n%nDesprés de reiniciar l'ordinador, executeu aquest programa de nou per completar la instal·lació de [name]. +CannotContinue=La instal·lació no pot continuar. Premeu Cancel·la per a sortir. +ApplicationsFound=Les següents aplicacions estan fent servir fitxers que necessiten ser actualitzats per la instal·lació. Es recomana que permeteu a la instal·lació tancar automàticament aquestes aplicacions. +ApplicationsFound2=Les següents aplicacions estan fent servir fitxers que necessiten ser actualitzats per la instal·lació. Es recomana que permeteu a la instal·lació tancar automàticament aquestes aplicacions. Després de completar la instal·lació s'intentarà reiniciar les aplicacions. +CloseApplications=&Tanca automàticament les aplicacions +DontCloseApplications=&No tanquis les aplicacions +ErrorCloseApplications=El programa d'instal·lació no ha pogut tancar automàticament totes les aplicacions. Es recomana que abans de continuar tanqueu totes les aplicacions que estan usant fitxers que han de ser actualitzats pel programa d'instal·lació. + +; *** "Installing" wizard page +WizardInstalling=Instal·lant +InstallingLabel=Espereu mentre s'instal·la [name] al vostre ordinador. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=Completant l'assistent d'instal·lació de [name] +FinishedLabelNoIcons=El programa ha finalitzat la instal·lació de [name] al vostre ordinador. +FinishedLabel=El programa ha finalitzat la instal·lació de [name] al vostre ordinador. L'aplicació pot ser iniciada seleccionant les icones instal·lades. +ClickFinish=Premeu Finalitza per a sortir de la instal·lació. +FinishedRestartLabel=Per a completar la instal·lació de [name] cal reiniciar l'ordinador. Voleu fer-ho ara? +FinishedRestartMessage=Per a completar la instal·lació de [name] cal reiniciar l'ordinador. Voleu fer-ho ara? +ShowReadmeCheck=Sí, vull visualitzar el fitxer LLEGIUME.TXT +YesRadio=&Sí, reiniciar l'ordinador ara +NoRadio=&No, reiniciaré l'ordinador més tard +; used for example as 'Run MyProg.exe' +RunEntryExec=Executa %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=Visualitza %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=El programa d'instal·lació necessita el disc següent +SelectDiskLabel2=Introduiu el disc %1 i premeu Continua.%n%nSi els fitxers d'aquest disc es poden trobar en una carpeta diferent de la indicada tot seguit, introduïu-ne la ruta correcta o bé premeu Explora. +PathLabel=&Ruta: +FileNotInDir2=El fitxer "%1" no s'ha pogut trobar a "%2". Introduïu el disc correcte o trieu una altra carpeta. +SelectDirectoryLabel=Indiqueu on es troba el disc següent. + +; *** Installation phase messages +SetupAborted=La instal·lació no s'ha completat.%n%n%Resoleu el problema i executeu de nou el programa d'instal·lació. +EntryAbortRetryIgnore=Premeu Reintenta per a intentar-ho de nou, Ignora per a continuar igualment, o Abandona per a abandonar la instal·lació. + +; *** Installation status messages +StatusClosingApplications=Tancant aplicacions... +StatusCreateDirs=Creant carpetes... +StatusExtractFiles=Extraient fitxers... +StatusCreateIcons=Creant enllaços del programa... +StatusCreateIniEntries=Creant entrades al fitxer INI... +StatusCreateRegistryEntries=Creant entrades de registre... +StatusRegisterFiles=Registrant fitxers... +StatusSavingUninstall=Desant informació de desinstal·lació... +StatusRunProgram=Finalitzant la instal·lació... +StatusRestartingApplications=Reiniciant aplicacions... +StatusRollback=Desfent els canvis... + +; *** Misc. errors +ErrorInternal2=Error intern: %1 +ErrorFunctionFailedNoCode=%1 ha fallat +ErrorFunctionFailed=%1 ha fallat; codi %2 +ErrorFunctionFailedWithMessage=%1 ha fallat; codi %2.%n%3 +ErrorExecutingProgram=No es pot executar el fitxer:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Error en obrir la clau de registre:%n%1\%2 +ErrorRegCreateKey=Error en crear la clau de registre:%n%1\%2 +ErrorRegWriteKey=Error en escriure a la clau de registre:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Error en crear l'entrada INI al fitxer "%1". + +; *** File copying errors +FileAbortRetryIgnore=Premeu Reintenta per a intentar-ho de nou, Ignora per a saltar-se aquest fitxer (no recomanat), o Abandona per a abandonar la instal·lació. +FileAbortRetryIgnore2=Premeu Reintenta per a intentar-ho de nou, Ignora per a continuar igualment (no recomanat), o Abandona per a abandonar la instal·lació. +SourceIsCorrupted=El fitxer d'origen està corromput +SourceDoesntExist=El fitxer d'origen "%1" no existeix +ExistingFileReadOnly=El fitxer és de només lectura.%n%nPremeu Reintenta per a treure-li l'atribut de només lectura i tornar-ho a intentar, Ignora per a saltar-se'l (no recomanat), o Abandona per a abandonar la instal·lació. +ErrorReadingExistingDest=S'ha produït un error en llegir el fitxer: +FileExists=El fitxer ja existeix.%n%nVoleu que sigui sobre-escrit? +ExistingFileNewer=El fitxer existent és més nou que el que s'intenta instal·lar. Es recomana mantenir el fitxer existent.%n%nVoleu mantenir-lo? +ErrorChangingAttr=Hi ha hagut un error en canviar els atributs del fitxer: +ErrorCreatingTemp=Hi ha hagut un error en crear un fitxer a la carpeta de destinació: +ErrorReadingSource=Hi ha hagut un error en llegir el fitxer d'origen: +ErrorCopying=Hi ha hagut un error en copiar un fitxer: +ErrorReplacingExistingFile=Hi ha hagut un error en reemplaçar el fitxer existent: +ErrorRestartReplace=Ha fallat reemplaçar: +ErrorRenamingTemp=Hi ha hagut un error en reanomenar un fitxer a la carpeta de destinació: +ErrorRegisterServer=No s'ha pogut registrar el DLL/OCX: %1 +ErrorRegSvr32Failed=Ha fallat RegSvr32 amb el codi de sortida %1 +ErrorRegisterTypeLib=No s'ha pogut registrar la biblioteca de tipus: %1 + +; *** Post-installation errors +ErrorOpeningReadme=Hi ha hagut un error en obrir el fitxer LLEGIUME.TXT. +ErrorRestartingComputer=El programa d'instal·lació no ha pogut reiniciar l'ordinador. Cal que ho feu manualment. + +; *** Uninstaller messages +UninstallNotFound=El fitxer "%1" no existeix. No es pot desinstal·lar. +UninstallOpenError=El fitxer "%1" no pot ser obert. No es pot desinstal·lar +UninstallUnsupportedVer=El fitxer de desinstal·lació "%1" està en un format no reconegut per aquesta versió del desinstal·lador. No es pot desinstal·lar +UninstallUnknownEntry=S'ha trobat una entrada desconeguda (%1) al fitxer de desinstal·lació. +ConfirmUninstall=Esteu segur de voler eliminar completament %1 i tots els seus components? +UninstallOnlyOnWin64=Aquest programa només pot ser desinstal·lat en Windows de 64 bits. +OnlyAdminCanUninstall=Aquest programa només pot ser desinstal·lat per un usuari amb privilegis d'administrador. +UninstallStatusLabel=Espereu mentre s'elimina %1 del vostre ordinador. +UninstalledAll=%1 ha estat desinstal·lat correctament del vostre ordinador. +UninstalledMost=Desinstal·lació de %1 completada.%n%nAlguns elements no s'han pogut eliminar. Poden ser eliminats manualment. +UninstalledAndNeedsRestart=Per completar la instal·lació de %1, cal reiniciar el vostre ordinador.%n%nVoleu fer-ho ara? +UninstallDataCorrupted=El fitxer "%1" està corromput. No es pot desinstal·lar. + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Eliminar fitxer compartit? +ConfirmDeleteSharedFile2=El sistema indica que el fitxer compartit següent ja no és emprat per cap altre programa. Voleu que la desinstal·lació elimini aquest fitxer?%n%nSi algun programa encara el fa servir i és eliminat, podria no funcionar correctament. Si no n'esteu segur, trieu No. Deixar el fitxer al sistema no farà cap mal. +SharedFileNameLabel=Nom del fitxer: +SharedFileLocationLabel=Localització: +WizardUninstalling=Estat de la desinstal·lació +StatusUninstalling=Desinstal·lant %1... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=Instal·lant %1. +ShutdownBlockReasonUninstallingApp=Desinstal·lant %1. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 versió %2 +AdditionalIcons=Icones addicionals: +CreateDesktopIcon=Crea una icona a l'&Escriptori +CreateQuickLaunchIcon=Crea una icona a la &Barra de tasques +ProgramOnTheWeb=%1 a Internet +UninstallProgram=Desinstal·la %1 +LaunchProgram=Obre %1 +AssocFileExtension=&Associa %1 amb l'extensió de fitxer %2 +AssocingFileExtension=Associant %1 amb l'extensió de fitxer %2... +AutoStartProgramGroupDescription=Inici: +AutoStartProgram=Inicia automàticament %1 +AddonHostProgramNotFound=%1 no ha pogut ser trobat a la carpeta seleccionada.%n%nVoleu continuar igualment? diff --git a/dist/windows/languages/Czech.isl b/dist/windows/languages/Czech.isl new file mode 100644 index 00000000..8da17224 --- /dev/null +++ b/dist/windows/languages/Czech.isl @@ -0,0 +1,337 @@ +; ******************************************************* +; *** *** +; *** Inno Setup version 5.5.3+ Czech messages *** +; *** *** +; *** Original Author: *** +; *** *** +; *** Ivo Bauer (bauer@ozm.cz) *** +; *** *** +; *** Contributors: *** +; *** *** +; *** Lubos Stanek (lubek@users.sourceforge.net) *** +; *** Vitezslav Svejdar (vitezslav.svejdar@cuni.cz) *** +; *** *** +; ******************************************************* +; +; Copyright (C) 1997-2012 Jordan Russell. All rights reserved. +; Translations (C) 2002-2012 Original Author and Contributors. All rights reserved. +; +; The contents of this file are subject to the Inno Setup License (the "License"). +; You may obtain a copy of the License at http://www.jrsoftware.org/files/is/license.txt +; +; $jrsoftware: issrc/Files/Languages/Czech.isl,v 1.18 2007/02/27 18:22:41 jr Exp $ + +[LangOptions] +LanguageName=<010C>e<0161>tina +LanguageID=$0405 +LanguageCodePage=1250 + +[Messages] + +; *** Application titles +SetupAppTitle=Prùvodce instalací +SetupWindowTitle=Prùvodce instalací - %1 +UninstallAppTitle=Prùvodce odinstalací +UninstallAppFullTitle=Prùvodce odinstalací - %1 + +; *** Misc. common +InformationTitle=Informace +ConfirmTitle=Potvrzení +ErrorTitle=Chyba + +; *** SetupLdr messages +SetupLdrStartupMessage=Vítá Vás prùvodce instalací produktu %1. Chcete pokraèovat? +LdrCannotCreateTemp=Nelze vytvoøit doèasný soubor. Prùvodce instalací bude ukonèen +LdrCannotExecTemp=Nelze spustit soubor v doèasné složce. Prùvodce instalací bude ukonèen + +; *** Startup error messages +LastErrorMessage=%1.%n%nChyba %2: %3 +SetupFileMissing=Instalaèní složka neobsahuje soubor %1. Opravte prosím tuto chybu nebo si opatøete novou kopii tohoto produktu. +SetupFileCorrupt=Soubory prùvodce instalací jsou poškozeny. Opatøete si prosím novou kopii tohoto produktu. +SetupFileCorruptOrWrongVer=Soubory prùvodce instalací jsou poškozeny nebo se nesluèují s touto verzí prùvodce instalací. Opravte prosím tuto chybu nebo si opatøete novou kopii tohoto produktu. +InvalidParameter=Pøíkazová øádka obsahuje neplatný parametr:%n%n%1 +SetupAlreadyRunning=Prùvodce instalací je již spuštìn. +WindowsVersionNotSupported=Tento produkt nepodporuje verzi MS Windows, která bìží na Vašem poèítaèi. +WindowsServicePackRequired=Tento produkt vyžaduje %1 Service Pack %2 nebo vyšší. +NotOnThisPlatform=Tento produkt nelze spustit ve %1. +OnlyOnThisPlatform=Tento produkt musí být spuštìn ve %1. +OnlyOnTheseArchitectures=Tento produkt lze nainstalovat pouze ve verzích MS Windows s podporou architektury procesorù:%n%n%1 +MissingWOW64APIs=Aktuální verze MS Windows postrádá funkce, které vyžaduje prùvodce instalací pro 64-bitovou instalaci. Opravte prosím tuto chybu nainstalováním aktualizace Service Pack %1. +WinVersionTooLowError=Tento produkt vyžaduje %1 verzi %2 nebo vyšší. +WinVersionTooHighError=Tento produkt nelze nainstalovat ve %1 verzi %2 nebo vyšší. +AdminPrivilegesRequired=K instalaci tohoto produktu musíte být pøihlášeni s právy administrátora. +PowerUserPrivilegesRequired=K instalaci tohoto produktu musíte být pøihlášeni s právy administrátora nebo èlena skupiny Power Users. +SetupAppRunningError=Prùvodce instalací zjistil, že produkt %1 je nyní spuštìn.%n%nZavøete prosím všechny instance tohoto produktu a pak pokraèujte klepnutím na tlaèítko OK, nebo ukonèete instalaci tlaèítkem Storno. +UninstallAppRunningError=Prùvodce odinstalací zjistil, že produkt %1 je nyní spuštìn.%n%nZavøete prosím všechny instance tohoto produktu a pak pokraèujte klepnutím na tlaèítko OK, nebo ukonèete odinstalaci tlaèítkem Storno. + +; *** Misc. errors +ErrorCreatingDir=Prùvodci instalací se nepodaøilo vytvoøit složku "%1" +ErrorTooManyFilesInDir=Nelze vytvoøit soubor ve složce "%1", protože tato složka již obsahuje pøíliš mnoho souborù + +; *** Setup common messages +ExitSetupTitle=Ukonèit prùvodce instalací +ExitSetupMessage=Instalace nebyla zcela dokonèena. Jestliže nyní prùvodce instalací ukonèíte, produkt nebude nainstalován.%n%nPrùvodce instalací mùžete znovu spustit kdykoliv jindy a instalaci dokonèit.%n%nChcete prùvodce instalací ukonèit? +AboutSetupMenuItem=&O prùvodci instalací... +AboutSetupTitle=O prùvodci instalací +AboutSetupMessage=%1 verze %2%n%3%n%n%1 domovská stránka:%n%4 +AboutSetupNote= +TranslatorNote=Czech translation maintained by Ivo Bauer (bauer@ozm.cz), Lubos Stanek (lubek@users.sourceforge.net) and Vitezslav Svejdar (vitezslav.svejdar@cuni.cz) + +; *** Buttons +ButtonBack=< &Zpìt +ButtonNext=&Další > +ButtonInstall=&Instalovat +ButtonOK=OK +ButtonCancel=Storno +ButtonYes=&Ano +ButtonYesToAll=Ano &všem +ButtonNo=&Ne +ButtonNoToAll=N&e všem +ButtonFinish=&Dokonèit +ButtonBrowse=&Procházet... +ButtonWizardBrowse=&Procházet... +ButtonNewFolder=&Vytvoøit novou složku + +; *** "Select Language" dialog messages +SelectLanguageTitle=Výbìr jazyka prùvodce instalací +SelectLanguageLabel=Zvolte jazyk, který se má použít bìhem instalace: + +; *** Common wizard text +ClickNext=Pokraèujte klepnutím na tlaèítko Další, nebo ukonèete prùvodce instalací tlaèítkem Storno. +BeveledLabel= +BrowseDialogTitle=Vyhledat složku +BrowseDialogLabel=Z níže uvedeného seznamu vyberte složku a klepnìte na tlaèítko OK. +NewFolderName=Nová složka + +; *** "Welcome" wizard page +WelcomeLabel1=Vítá Vás prùvodce instalací produktu [name]. +WelcomeLabel2=Produkt [name/ver] bude nainstalován na Váš poèítaè.%n%nDøíve než budete pokraèovat, doporuèuje se zavøít veškeré spuštìné aplikace. + +; *** "Password" wizard page +WizardPassword=Heslo +PasswordLabel1=Tato instalace je chránìna heslem. +PasswordLabel3=Zadejte prosím heslo a pokraèujte klepnutím na tlaèítko Další. Pøi zadávání hesla rozlišujte malá a velká písmena. +PasswordEditLabel=&Heslo: +IncorrectPassword=Zadané heslo není správné. Zkuste to prosím znovu. + +; *** "License Agreement" wizard page +WizardLicense=Licenèní smlouva +LicenseLabel=Døíve než budete pokraèovat, pøeètìte si prosím pozornì následující dùležité informace. +LicenseLabel3=Pøeètìte si prosím tuto licenèní smlouvu. Musíte souhlasit s podmínkami této smlouvy, aby instalace mohla pokraèovat. +LicenseAccepted=&Souhlasím s podmínkami licenèní smlouvy +LicenseNotAccepted=&Nesouhlasím s podmínkami licenèní smlouvy + +; *** "Information" wizard pages +WizardInfoBefore=Informace +InfoBeforeLabel=Døíve než budete pokraèovat, pøeètìte si prosím pozornì následující dùležité informace. +InfoBeforeClickLabel=Pokraèujte v instalaci klepnutím na tlaèítko Další. +WizardInfoAfter=Informace +InfoAfterLabel=Døíve než budete pokraèovat, pøeètìte si prosím pozornì následující dùležité informace. +InfoAfterClickLabel=Pokraèujte v instalaci klepnutím na tlaèítko Další. + +; *** "User Information" wizard page +WizardUserInfo=Informace o uživateli +UserInfoDesc=Zadejte prosím požadované údaje. +UserInfoName=&Uživatelské jméno: +UserInfoOrg=&Spoleènost: +UserInfoSerial=Sé&riové èíslo: +UserInfoNameRequired=Musíte zadat uživatelské jméno. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Zvolte cílové umístìní +SelectDirDesc=Kam má být produkt [name] nainstalován? +SelectDirLabel3=Prùvodce nainstaluje produkt [name] do následující složky. +SelectDirBrowseLabel=Pokraèujte klepnutím na tlaèítko Další. Chcete-li zvolit jinou složku, klepnìte na tlaèítko Procházet. +DiskSpaceMBLabel=Instalace vyžaduje nejménì [mb] MB volného místa na disku. +CannotInstallToNetworkDrive=Prùvodce instalací nemùže instalovat do síové jednotky. +CannotInstallToUNCPath=Prùvodce instalací nemùže instalovat do cesty UNC. +InvalidPath=Musíte zadat úplnou cestu vèetnì písmene jednotky; napøíklad:%n%nC:\Aplikace%n%nnebo cestu UNC ve tvaru:%n%n\\server\sdílená složka +InvalidDrive=Vámi zvolená jednotka nebo cesta UNC neexistuje nebo není dostupná. Zvolte prosím jiné umístìní. +DiskSpaceWarningTitle=Nedostatek místa na disku +DiskSpaceWarning=Prùvodce instalací vyžaduje nejménì %1 KB volného místa pro instalaci produktu, ale na zvolené jednotce je dostupných pouze %2 KB.%n%nChcete pøesto pokraèovat? +DirNameTooLong=Název složky nebo cesta jsou pøíliš dlouhé. +InvalidDirName=Název složky není platný. +BadDirName32=Název složky nemùže obsahovat žádný z následujících znakù:%n%n%1 +DirExistsTitle=Složka existuje +DirExists=Složka:%n%n%1%n%njiž existuje. Má se pøesto instalovat do této složky? +DirDoesntExistTitle=Složka neexistuje +DirDoesntExist=Složka:%n%n%1%n%nneexistuje. Má být tato složka vytvoøena? + +; *** "Select Components" wizard page +WizardSelectComponents=Zvolte souèásti +SelectComponentsDesc=Jaké souèásti mají být nainstalovány? +SelectComponentsLabel2=Zaškrtnìte souèásti, které mají být nainstalovány; souèásti, které se nemají instalovat, ponechte nezaškrtnuté. Pokraèujte klepnutím na tlaèítko Další. +FullInstallation=Úplná instalace +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Kompaktní instalace +CustomInstallation=Volitelná instalace +NoUninstallWarningTitle=Souèásti existují +NoUninstallWarning=Prùvodce instalací zjistil, že následující souèásti jsou již na Vašem poèítaèi nainstalovány:%n%n%1%n%nNezahrnete-li tyto souèásti do výbìru, nebudou nyní odinstalovány.%n%nChcete pøesto pokraèovat? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=Vybrané souèásti vyžadují nejménì [mb] MB místa na disku. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Zvolte další úlohy +SelectTasksDesc=Které další úlohy mají být provedeny? +SelectTasksLabel2=Zvolte další úlohy, které mají být provedeny v prùbìhu instalace produktu [name], a pak pokraèujte klepnutím na tlaèítko Další. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Vyberte složku v nabídce Start +SelectStartMenuFolderDesc=Kam má prùvodce instalací umístit zástupce aplikace? +SelectStartMenuFolderLabel3=Prùvodce instalací vytvoøí zástupce aplikace v následující složce nabídky Start. +SelectStartMenuFolderBrowseLabel=Pokraèujte klepnutím na tlaèítko Další. Chcete-li zvolit jinou složku, klepnìte na tlaèítko Procházet. +MustEnterGroupName=Musíte zadat název složky. +GroupNameTooLong=Název složky nebo cesta jsou pøíliš dlouhé. +InvalidGroupName=Název složky není platný. +BadGroupName=Název složky nemùže obsahovat žádný z následujících znakù:%n%n%1 +NoProgramGroupCheck2=&Nevytváøet složku v nabídce Start + +; *** "Ready to Install" wizard page +WizardReady=Instalace je pøipravena +ReadyLabel1=Prùvodce instalací je nyní pøipraven nainstalovat produkt [name] na Váš poèítaè. +ReadyLabel2a=Pokraèujte v instalaci klepnutím na tlaèítko Instalovat. Pøejete-li si zmìnit nìkterá nastavení instalace, klepnìte na tlaèítko Zpìt. +ReadyLabel2b=Pokraèujte v instalaci klepnutím na tlaèítko Instalovat. +ReadyMemoUserInfo=Informace o uživateli: +ReadyMemoDir=Cílové umístìní: +ReadyMemoType=Typ instalace: +ReadyMemoComponents=Vybrané souèásti: +ReadyMemoGroup=Složka v nabídce Start: +ReadyMemoTasks=Další úlohy: + +; *** "Preparing to Install" wizard page +WizardPreparing=Pøíprava k instalaci +PreparingDesc=Prùvodce instalací pøipravuje instalaci produktu [name] na Váš poèítaè. +PreviousInstallNotCompleted=Instalace/odinstalace pøedchozího produktu nebyla zcela dokonèena. Aby mohla být dokonèena, musíte restartovat Váš poèítaè.%n%nPo restartování Vašeho poèítaèe spuste znovu prùvodce instalací, aby bylo možné dokonèit instalaci produktu [name]. +CannotContinue=Prùvodce instalací nemùže pokraèovat. Ukonèete prosím prùvodce instalací klepnutím na tlaèítko Storno. +ApplicationsFound=Následující aplikace pøistupují k souborùm, které je tøeba bìhem instalace aktualizovat. Doporuèuje se povolit prùvodci instalací, aby tyto aplikace automaticky zavøel. +ApplicationsFound2=Následující aplikace pøistupují k souborùm, které je tøeba bìhem instalace aktualizovat. Doporuèuje se povolit prùvodci instalací, aby tyto aplikace automaticky zavøel. Po dokonèení instalace se prùvodce instalací pokusí aplikace restartovat. +CloseApplications=&Zavøít aplikace automaticky +DontCloseApplications=&Nezavírat aplikace +ErrorCloseApplications=Prùvodci instalací se nepodaøilo automaticky zavøít všechny aplikace. Døíve než budete pokraèovat, doporuèuje se zavøít veškeré aplikace pøistupující k souborùm, které je tøeba bìhem instalace aktualizovat. + +; *** "Installing" wizard page +WizardInstalling=Instalování +InstallingLabel=Èekejte prosím, dokud prùvodce instalací nedokonèí instalaci produktu [name] na Váš poèítaè. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=Dokonèuje se instalace produktu [name] +FinishedLabelNoIcons=Prùvodce instalací dokonèil instalaci produktu [name] na Váš poèítaè. +FinishedLabel=Prùvodce instalací dokonèil instalaci produktu [name] na Váš poèítaè. Produkt lze spustit pomocí nainstalovaných zástupcù. +ClickFinish=Ukonèete prùvodce instalací klepnutím na tlaèítko Dokonèit. +FinishedRestartLabel=K dokonèení instalace produktu [name] je nezbytné, aby prùvodce instalací restartoval Váš poèítaè. Chcete jej nyní restartovat? +FinishedRestartMessage=K dokonèení instalace produktu [name] je nezbytné, aby prùvodce instalací restartoval Váš poèítaè.%n%nChcete jej nyní restartovat? +ShowReadmeCheck=Ano, chci zobrazit dokument "ÈTIMNE" +YesRadio=&Ano, chci nyní restartovat poèítaè +NoRadio=&Ne, poèítaè restartuji pozdìji +; used for example as 'Run MyProg.exe' +RunEntryExec=Spustit %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=Zobrazit %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=Prùvodce instalací vyžaduje další disk +SelectDiskLabel2=Vložte prosím disk %1 a klepnìte na tlaèítko OK.%n%nPokud se soubory na tomto disku nacházejí v jiné složce než v té, která je zobrazena níže, pak zadejte správnou cestu nebo ji zvolte klepnutím na tlaèítko Procházet. +PathLabel=&Cesta: +FileNotInDir2=Soubor "%1" nelze najít v "%2". Vložte prosím správný disk nebo zvolte jinou složku. +SelectDirectoryLabel=Specifikujte prosím umístìní dalšího disku. + +; *** Installation phase messages +SetupAborted=Instalace nebyla zcela dokonèena.%n%nOpravte prosím chybu a spuste prùvodce instalací znovu. +EntryAbortRetryIgnore=Akci zopakujete klepnutím na tlaèítko Opakovat. Tento krok vynecháte klepnutím na tlaèítko Pøeskoèit. Instalaci stornujete klepnutím na tlaèítko Pøerušit. + +; *** Installation status messages +StatusClosingApplications=Zavírají se aplikace... +StatusCreateDirs=Vytváøejí se složky... +StatusExtractFiles=Extrahují se soubory... +StatusCreateIcons=Vytváøejí se zástupci... +StatusCreateIniEntries=Vytváøejí se záznamy v inicializaèních souborech... +StatusCreateRegistryEntries=Vytváøejí se záznamy v systémovém registru... +StatusRegisterFiles=Registrují se soubory... +StatusSavingUninstall=Ukládají se informace pro odinstalaci produktu... +StatusRunProgram=Dokonèuje se instalace... +StatusRestartingApplications=Restartují se aplikace... +StatusRollback=Provedené zmìny se vracejí zpìt... + +; *** Misc. errors +ErrorInternal2=Interní chyba: %1 +ErrorFunctionFailedNoCode=%1 selhala +ErrorFunctionFailed=%1 selhala; kód %2 +ErrorFunctionFailedWithMessage=%1 selhala; kód %2.%n%3 +ErrorExecutingProgram=Nelze spustit soubor:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Došlo k chybì pøi otevírání klíèe systémového registru:%n%1\%2 +ErrorRegCreateKey=Došlo k chybì pøi vytváøení klíèe systémového registru:%n%1\%2 +ErrorRegWriteKey=Došlo k chybì pøi zápisu do klíèe systémového registru:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Došlo k chybì pøi vytváøení záznamu v inicializaèním souboru "%1". + +; *** File copying errors +FileAbortRetryIgnore=Akci zopakujete klepnutím na tlaèítko Opakovat. Tento soubor pøeskoèíte klepnutím na tlaèítko Pøeskoèit (nedoporuèuje se). Instalaci stornujete klepnutím na tlaèítko Pøerušit. +FileAbortRetryIgnore2=Akci zopakujete klepnutím na tlaèítko Opakovat. Pokraèujete klepnutím na tlaèítko Pøeskoèit (nedoporuèuje se). Instalaci stornujete klepnutím na tlaèítko Pøerušit. +SourceIsCorrupted=Zdrojový soubor je poškozen +SourceDoesntExist=Zdrojový soubor "%1" neexistuje +ExistingFileReadOnly=Existující soubor je urèen pouze pro ètení.%n%nAtribut "pouze pro ètení" odstraníte a akci zopakujete klepnutím na tlaèítko Opakovat. Tento soubor pøeskoèíte klepnutím na tlaèítko Pøeskoèit. Instalaci stornujete klepnutím na tlaèítko Pøerušit. +ErrorReadingExistingDest=Došlo k chybì pøi pokusu o ètení existujícího souboru: +FileExists=Soubor již existuje.%n%nMá být prùvodcem instalace pøepsán? +ExistingFileNewer=Existující soubor je novìjší než ten, který se prùvodce instalací pokouší nainstalovat. Doporuèuje se ponechat existující soubor.%n%nChcete jej ponechat? +ErrorChangingAttr=Došlo k chybì pøi pokusu o zmìnu atributù existujícího souboru: +ErrorCreatingTemp=Došlo k chybì pøi pokusu o vytvoøení souboru v cílové složce: +ErrorReadingSource=Došlo k chybì pøi pokusu o ètení zdrojového souboru: +ErrorCopying=Došlo k chybì pøi pokusu o zkopírování souboru: +ErrorReplacingExistingFile=Došlo k chybì pøi pokusu o nahrazení existujícího souboru: +ErrorRestartReplace=Funkce "RestartReplace" prùvodce instalací selhala: +ErrorRenamingTemp=Došlo k chybì pøi pokusu o pøejmenování souboru v cílové složce: +ErrorRegisterServer=Nelze zaregistrovat DLL/OCX: %1 +ErrorRegSvr32Failed=Volání RegSvr32 selhalo s návratovým kódem %1 +ErrorRegisterTypeLib=Nelze zaregistrovat typovou knihovnu: %1 + +; *** Post-installation errors +ErrorOpeningReadme=Došlo k chybì pøi pokusu o otevøení dokumentu "ÈTIMNE". +ErrorRestartingComputer=Prùvodci instalací se nepodaøilo restartovat Váš poèítaè. Restartujte jej prosím ruènì. + +; *** Uninstaller messages +UninstallNotFound=Soubor "%1" neexistuje. Produkt nelze odinstalovat. +UninstallOpenError=Soubor "%1" nelze otevøít. Produkt nelze odinstalovat. +UninstallUnsupportedVer=Formát souboru se záznamy k odinstalaci produktu "%1" nebyl touto verzí prùvodce odinstalací rozpoznán. Produkt nelze odinstalovat +UninstallUnknownEntry=V souboru obsahujícím informace k odinstalaci produktu byla zjištìna neznámá položka (%1) +ConfirmUninstall=Jste si opravdu jisti, že chcete produkt %1 a všechny jeho souèásti odinstalovat? +UninstallOnlyOnWin64=Tento produkt lze odinstalovat pouze v 64-bitových verzích MS Windows. +OnlyAdminCanUninstall=K odinstalaci tohoto produktu musíte být pøihlášeni s právy administrátora. +UninstallStatusLabel=Èekejte prosím, dokud produkt %1 nebude odinstalován z Vašeho poèítaèe. +UninstalledAll=Produkt %1 byl z Vašeho poèítaèe úspìšnì odinstalován. +UninstalledMost=Produkt %1 byl odinstalován.%n%nNìkteré jeho souèásti se odinstalovat nepodaøilo. Mùžete je však odstranit ruènì. +UninstalledAndNeedsRestart=K dokonèení odinstalace produktu %1 je nezbytné, aby prùvodce odinstalací restartoval Váš poèítaè.%n%nChcete jej nyní restartovat? +UninstallDataCorrupted=Soubor "%1" je poškozen. Produkt nelze odinstalovat + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Odebrat sdílený soubor? +ConfirmDeleteSharedFile2=Systém indikuje, že následující sdílený soubor není používán žádnými jinými aplikacemi. Má být tento sdílený soubor prùvodcem odinstalací odstranìn?%n%nPokud nìkteré aplikace tento soubor používají, pak po jeho odstranìní nemusejí pracovat správnì. Pokud si nejste jisti, zvolte Ne. Ponechání tohoto souboru ve Vašem systému nezpùsobí žádnou škodu. +SharedFileNameLabel=Název souboru: +SharedFileLocationLabel=Umístìní: +WizardUninstalling=Stav odinstalace +StatusUninstalling=Probíhá odinstalace produktu %1... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=Probíhá instalace produktu %1. +ShutdownBlockReasonUninstallingApp=Probíhá odinstalace produktu %1. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 verze %2 +AdditionalIcons=Další zástupci: +CreateDesktopIcon=Vytvoøit zástupce na &ploše +CreateQuickLaunchIcon=Vytvoøit zástupce na panelu &Snadné spuštìní +ProgramOnTheWeb=Aplikace %1 na internetu +UninstallProgram=Odinstalovat aplikaci %1 +LaunchProgram=Spustit aplikaci %1 +AssocFileExtension=Vytvoøit &asociaci mezi soubory typu %2 a aplikací %1 +AssocingFileExtension=Vytváøí se asociace mezi soubory typu %2 a aplikací %1... +AutoStartProgramGroupDescription=Po spuštìní: +AutoStartProgram=Spouštìt aplikaci %1 automaticky +AddonHostProgramNotFound=Aplikace %1 nebyla ve Vámi zvolené složce nalezena.%n%nChcete pøesto pokraèovat? diff --git a/dist/windows/languages/Danish.isl b/dist/windows/languages/Danish.isl new file mode 100644 index 00000000..81654ccc --- /dev/null +++ b/dist/windows/languages/Danish.isl @@ -0,0 +1,334 @@ +; Translation made with Translator 1.32 (http://www2.arnes.si/~sopjsimo/translator.html) +; $Translator:NL=%n:TB=%t +; +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/files/istrans/ +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). +; +; ID: Danish.isl,v 5.5.3+ 2012/12/14 Thomas Vedel, thomas@veco.dk + +[LangOptions] +LanguageName=Dansk +LanguageID=$0406 +LanguageCodePage=1252 + +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName=MS Shell Dlg +;DialogFontSize=8 +;DialogFontStandardHeight=13 +;TitleFontName=Arial +;TitleFontSize=29 +;WelcomeFontName=Arial +;WelcomeFontSize=12 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] +; *** Application titles +SetupAppTitle=Installationsguide +SetupWindowTitle=Installationsguide - %1 +UninstallAppTitle=Afinstaller +UninstallAppFullTitle=Afinstallerer %1 + +; *** Misc. common +InformationTitle=Information +ConfirmTitle=Bekræft +ErrorTitle=Fejl + +; *** SetupLdr messages +SetupLdrStartupMessage=Denne guide installerer %1. Fortsæt? +LdrCannotCreateTemp=Kan ikke danne en midlertidig fil. Installationen afbrydes +LdrCannotExecTemp=Kan ikke udføre et program i mappen til opbevaring af midlertidige filer. Installationen afbrydes + +; *** Startup error messages +LastErrorMessage=%1.%n%nFejl %2: %3 +SetupFileMissing=Filen %1 mangler i installations-mappen. Ret fejlen eller skaf en ny kopi af programmet. +SetupFileCorrupt=Installationsfilerne er ødelagt. Skaf en ny kopi af installationsprogrammet. +SetupFileCorruptOrWrongVer=Installationsfilerne er ødelagt, eller også passer de ikke til denne version af installationen. Ret fejlen eller skaf en ny kopi af installationsprogrammet. +InvalidParameter=En ugyldig parameter blev angivet på kommandolinjen:%n%n%1 +SetupAlreadyRunning=Installationsprogrammet kører allerede. +WindowsVersionNotSupported=Programmet kan ikke anvendes på den version af Windows som denne computer kører. +WindowsServicePackRequired=Dette program kræver %1 med Service Pack %2 eller senere. +NotOnThisPlatform=Programmet kan ikke anvendes på %1. +OnlyOnThisPlatform=Programmet kan kun anvendes på %1. +OnlyOnTheseArchitectures=Dette program kan kun installeres på Windows-versioner som er designet til denne processortype:%n%n%1 +MissingWOW64APIs=Den anvendte Windows-version indeholder ikke funktioner som er nødvendige for at foretage en 64-bit installation. Du kan afhjælpe problemet ved at installere Service Pack %1. +WinVersionTooLowError=Programmet kræver %1 version %2 eller nyere. +WinVersionTooHighError=Programmet kan ikke installeres på %1 version %2 eller nyere. +AdminPrivilegesRequired=Du skal være logget på som administrator for at kunne installere dette program. +PowerUserPrivilegesRequired=Du skal være logget på som administrator eller være medlem af superbruger-gruppen for at kunne installere dette program. +SetupAppRunningError=Programmet %1 er aktivt.%n%nAfslut venligst først programmet, og klik dernæst OK for at fortsætte, eller Annuller for at afbryde. +UninstallAppRunningError=Programmet %1 er aktivt.%n%nAfslut venligst først programmet, og klik dernæst OK for at fortsætte, eller Annuller for at afbryde. + +; *** Misc. errors +ErrorCreatingDir=Installationen kunne ikke oprette mappen "%1" +ErrorTooManyFilesInDir=Det kan ikke lade sig gøre at oprette en fil i mappen "%1" fordi mappen indeholder for mange filer + +; *** Setup common messages +ExitSetupTitle=Afbryd installationen +ExitSetupMessage=Installationen er ikke færdiggjort. Hvis der afbrydes nu, vil programmet ikke blive installeret.%n%nInstallationsguiden skal køres igen for at færdiggøre installationen.%n%nAfbryd installationen? +AboutSetupMenuItem=&Om installationsguiden... +AboutSetupTitle=Om installationsguiden +AboutSetupMessage=%1 version %2%n%3%n%n%1 hjemmeside:%n%4 +AboutSetupNote= + +; *** Buttons +TranslatorNote= +ButtonBack=< &Tilbage +ButtonNext=Næ&ste > +ButtonInstall=&Installer +ButtonOK=&OK +ButtonCancel=&Afbryd +ButtonYes=&Ja +ButtonYesToAll=Ja til A&lle +ButtonNo=&Nej +ButtonNoToAll=Nej t&il Alle +ButtonFinish=&Færdig +ButtonBrowse=&Gennemse... +ButtonWizardBrowse=G&ennemse... +ButtonNewFolder=&Opret Ny Mappe + +; *** "Select Language" dialog messages +SelectLanguageTitle=Vælg installationssprog +SelectLanguageLabel=Vælg hvilket sprog der skal anvendes under installationen: + +; *** Common wizard text +ClickNext=Klik Næste for at fortsætte, eller Afbryd for at afslutte. +BeveledLabel= +BrowseDialogTitle=Udvælg mappe +BrowseDialogLabel=Vælg en mappe fra nedenstående liste. Klik dernæst OK. +NewFolderName=Ny Mappe + +; *** "Welcome" wizard page +WelcomeLabel1=Velkommen til [name] installationsguiden +WelcomeLabel2=Denne guide installerer [name/ver] på computeren.%n%nDet anbefales at alle andre programmer afsluttes før der fortsættes. + +; *** "Password" wizard page +WizardPassword=Adgangskode +PasswordLabel1=Installationen er beskyttet med adgangskode. +PasswordLabel3=Indtast adgangskoden og klik Næste for at fortsætte. Der skelnes mellem store og små bogstaver. +PasswordEditLabel=&Adgangskode: +IncorrectPassword=Adgangskoden er ikke korrekt. Prøv igen, og husk at der skelnes mellem store og små bogstaver. + +; *** "License Agreement" wizard page +WizardLicense=Licensaftale +LicenseLabel=Læs venligst den følgende information, som er vigtig, inden du fortsætter. +LicenseLabel3=Læs venligst licensaftalen. Du skal acceptere betingelserne i aftalen for at fortsætte installationen. +LicenseAccepted=Jeg &accepterer aftalen +LicenseNotAccepted=Jeg accepterer &ikke aftalen + +; *** "Information" wizard pages +WizardInfoBefore=Information +InfoBeforeLabel=Læs følgende information inden du fortsætter. +InfoBeforeClickLabel=Tryk på Næste, når du er klar til at fortsætte installationen. +WizardInfoAfter=Information +InfoAfterLabel=Læs følgende information inden du fortsætter. +InfoAfterClickLabel=Tryk på Næste, når du er klar til at fortsætte installationen. + +; *** "User Information" wizard page +WizardUserInfo=Brugerinformation +UserInfoDesc=Indtast dine oplysninger. +UserInfoName=&Brugernavn: +UserInfoOrg=&Organisation: +UserInfoSerial=&Serienummer: +UserInfoNameRequired=Du skal indtaste et navn. + +; *** "Select Destination Directory" wizard page +WizardSelectDir=Vælg installationsmappe +SelectDirDesc=Hvor skal [name] installeres? +SelectDirLabel3=Guiden installerer [name] i følgende mappe. +SelectDirBrowseLabel=Klik Næste for at fortsætte. Hvis du vil vælge en anden mappe skal du klikke Gennemse. +DiskSpaceMBLabel=Der skal være mindst [mb] MB fri diskplads. +CannotInstallToNetworkDrive=Programmet kan ikke installeres på et netværksdrev. +CannotInstallToUNCPath=Programmet kan ikke installeres til en UNC-sti. +InvalidPath=Du skal indtaste den komplette sti med drevangivelse; for eksempel:%n%nC:\APP%n%neller et UNC-stinavn på formen:%n%n\\server\share +InvalidDrive=Drevet eller UNC-stien du valgte eksisterer ikke. Vælg venligst noget andet. +DiskSpaceWarningTitle=Ikke nok fri diskplads. +DiskSpaceWarning=Guiden kræver mindst %1 KB fri diskplads for at kunne foretage installationen, men det valgte drev har kun %2 KB diskplads tilgængelig.%n%nVil du installere alligevel? +DirNameTooLong=Mappens eller stiens navn er for langt. +InvalidDirName=Mappenavnet er ikke gyldigt. +BadDirName32=Navne på mapper må ikke indeholde nogen af følgende tegn:%n%n%1 +DirExistsTitle=Mappen eksisterer +DirExists=Mappen:%n%n%1%n%neksisterer allerede. Ønsker du at installere i denne mappe alligevel? +DirDoesntExistTitle=Mappen eksisterer ikke. +DirDoesntExist=Mappen:%n%n%1%n%neksisterer ikke. Ønsker du at oprette denne mappe? + +; *** "Select Components" wizard page +WizardSelectComponents=Vælg Komponenter +SelectComponentsDesc=Hvilke komponenter skal installeres? +SelectComponentsLabel2=Vælg de komponenter der skal installeres, og fjern markering fra dem der ikke skal installeres. Klik Næste for at fortsætte. +FullInstallation=Komplet installation +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Kompakt installation +CustomInstallation=Tilpasset installation +NoUninstallWarningTitle=Komponenterne er installeret +NoUninstallWarning=Installationen har konstateret at følgende komponenter allerede er installeret på computeren:%n%n%1%n%nAt fravælge komponenterne vil ikke fjerne dem.%n%nFortsæt alligevel? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=Det valgte kræver mindst [mb] MB fri plads på harddisken. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Vælg ekstra opgaver +SelectTasksDesc=Hvilke andre opgaver skal udføres? +SelectTasksLabel2=Vælg hvilke ekstraopgaver der skal udføres under installationen af [name] og klik på Næste. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Vælg Start-menu mappe +SelectStartMenuFolderDesc=Hvor skal installationen oprette genveje til programmet? +SelectStartMenuFolderLabel3=Installationsguiden opretter genveje (ikoner) til programmet i følgende mappe i Start-menuen. +SelectStartMenuFolderBrowseLabel=Klik Næste for at fortsætte. Hvis du vil vælge en anden mappe skal du klikke Gennemse. +MustEnterGroupName=Du skal angive et mappenavn. +GroupNameTooLong=Mappens eller stiens navn er for langt. +InvalidGroupName=Mappenavnet er ikke gyldigt. +BadGroupName=Tegnene %1 må ikke anvendes i navnet på en programgruppe. Angiv andet navn. +NoProgramGroupCheck2=Opret &ingen programgruppe i Start-menuen + +; *** "Ready to Install" wizard page +WizardReady=Klar til at installere +ReadyLabel1=Installationsguiden er nu klar til at installere [name] på computeren. +ReadyLabel2a=Tryk på Installer for at fortsætte med installationen, eller tryk på Tilbage hvis du ønsker at se eller ændre dine indstillinger. +ReadyLabel2b=Tryk på Installer for at fortsætte med installationen. +ReadyMemoUserInfo=Oplysninger om brugeren: +ReadyMemoDir=Installationsmappe : +ReadyMemoType=Installationstype: +ReadyMemoComponents=Valgte komponenter: +ReadyMemoGroup=Start-menu mappe: +ReadyMemoTasks=Valgte ekstraopgaver: + +; *** "Preparing to Install" wizard page +WizardPreparing=Klargør installationen +PreparingDesc=Installationsguiden klargør installationen af [name] på din computer. +PreviousInstallNotCompleted=Den foregående installation eller fjernelse af et program er ikke afsluttet. Du skal genstarte computeren for at afslutte den foregående installation.%n%nEfter genstarten skal du køre installationsguiden igen for at fuldføre installationen af [name]. +CannotContinue=Installationsguiden kan ikke fortsætte. Klik på Fortryd for at afslutte. +ApplicationsFound=Følgende programmer bruger filer som skal opdateres. Det anbefales at du giver installationsguiden lov til automatisk at lukke programmerne. +ApplicationsFound2=Følgende programmer bruger filer som skal opdateres. Det anbefales at du giver installationsguiden lov til automatisk at lukke programmerne. Installationsguiden vil forsøge at genstarte programmerne når installationen er afsluttet. +CloseApplications=&Luk programmerne automatisk +DontCloseApplications=Luk &ikke programmerne +ErrorCloseApplications=Installationsguiden kan ikke automatisk lukke alle programmerne. Det anbefales at du lukker alle programmer som bruger filer der skal opdateres, inden installationsguiden fortsætter. + +; *** "Installing" wizard page +WizardInstalling=Installerer +InstallingLabel=Vent mens installationsguiden installerer [name] på din computer. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=Afslutter installation af [name] +FinishedLabelNoIcons=Installationsguiden har installeret [name] på din computer. +FinishedLabel=Installationsguiden har installeret [name] på din computer. Programmet kan startes ved at vælge de oprettede genveje. +ClickFinish=Klik på Færdig for at afslutte installationsprogrammet. +FinishedRestartLabel=For at fuldføre installationen af [name], skal din computer genstartes. Vil du genstarte computeren nu? +FinishedRestartMessage=For at fuldføre installationen af [name], skal din computer genstartes.%n%nVil du genstarte computeren nu? +ShowReadmeCheck=Ja, jeg vil gerne læse README filen +YesRadio=&Ja, genstart computeren nu +NoRadio=&Nej, jeg genstarter selv computeren senere +; used for example as 'Run MyProg.exe' +RunEntryExec=Kør %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=Læs %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=Installationsprogrammet skal bruge den næste disk(ette) +SelectDiskLabel2=Indsæt disk nr. %1 og klik OK.%n%nHvis filerne findes i en anden mappe så indtast stien eller klik Gennemse. +PathLabel=&Stinavn: +FileNotInDir2=Filen "%1" findes ikke i "%2". Indsæt den rigtige disk eller vælg en anden mappe. +SelectDirectoryLabel=Angiv placeringen af den næste disk. + +; *** Installation phase messages +SetupAborted=Installationen blev ikke gennemført.%n%nInstaller igen, hent programmet på ny, eller kontakt producenten for hjælp. +EntryAbortRetryIgnore=Klik Gentag for at forsøge igen, Ignorer for at fortsætte alligevel, eller Afbryd for at annullere installationen. + +; *** Installation status messages +StatusClosingApplications=Lukker programmer... +StatusCreateDirs=Opretter mapper... +StatusExtractFiles=Udpakker filer... +StatusCreateIcons=Opretter program-genveje... +StatusCreateIniEntries=Opretter INI-filer... +StatusCreateRegistryEntries=Opdaterer registrerings-databasen... +StatusRegisterFiles=Registrerer filer... +StatusSavingUninstall=Gemmer information om afinstallation... +StatusRunProgram=Færdiggør installation... +StatusRestartingApplications=Genstarter programmer... +StatusRollback=Fjerner programmet igen... + +; *** Misc. errors +ErrorInternal2=Intern fejl: %1 +ErrorFunctionFailedNoCode=%1 fejlede +ErrorFunctionFailed=%1 fejlede; kode %2 +ErrorFunctionFailedWithMessage=%1 fejlede; kode %2.%n%3 +ErrorExecutingProgram=Kan ikke udføre filen:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Fejl ved åbning af registreringsnøgle:%n%1\%2 +ErrorRegCreateKey=Fejl ved oprettelse af registreringsnøgle:%n%1\%2 +ErrorRegWriteKey=Fejl ved skrivning til registreringsnøgle:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Fejl ved oprettelse af variabel i INI-filen "%1". + +; *** File copying errors +FileAbortRetryIgnore=Klik Gentag for at prøve igen, Ignorer for at springe filen over (kan normalt ikke anbefales) eller Afbryd for at afslutte installationen. +FileAbortRetryIgnore2=Klik Gentag for at prøve igen, Ignorer for at fortsætte alligevel (kan normalt ikke anbefales) eller Afbryd for at afslutte installationen. +SourceIsCorrupted=Kildefilen er beskadiget +SourceDoesntExist=Kildefilen "%1" findes ikke +ExistingFileReadOnly=Den eksisterende fil er markeret som skrivebeskyttet.%n%nKlik Gentag for at prøve igen (efter at du har fjernet skrivebeskyttelsen), Ignorer for at springe filen over eller Afbryd for at afslutte installationen. +ErrorReadingExistingDest=Der opsted en fejl ved forsøg på at læse den eksisterende fil: +FileExists=Filen eksisterer allerede.%n%nSkal Installationsguiden overskrive den? +ExistingFileNewer=Den eksisterende fil er nyere end den installation forsøger at skrive. Det anbefales at beholde den eksisterende fil.%n%n Skal den eksisterende fil beholdes? +ErrorChangingAttr=Der opstod en fejl ved forsøg på at ændre attributter for den eksisterende fil: +ErrorCreatingTemp=En fejl opstod ved forsøg på at oprette en fil i mappen: +ErrorReadingSource=En fejl opstod ved forsøg på at læse kildefilen: +ErrorCopying=En fejl opstod ved forsøg på at kopiere en fil: +ErrorReplacingExistingFile=En fejl opstod ved forsøg på at overskrive den eksisterende fil: +ErrorRestartReplace=Genstart/Erstat fejlede: +ErrorRenamingTemp=En fejl opstod ved forsøg på at omdøbe en fil i modtagemappen: +ErrorRegisterServer=Kan ikke registrere DLL/OCX: %1 +ErrorRegSvr32Failed=RegSvr32 fejlede med exit kode %1 +ErrorRegisterTypeLib=Kan ikke registrere typebiblioteket: %1 + +; *** Post-installation errors +ErrorOpeningReadme=Der opstod en fejl ved forsøg på at åbne README filen. +ErrorRestartingComputer=Installationen kunne ikke genstarte computeren. Genstart venligst computeren manuelt. + +; *** Uninstaller messages +UninstallNotFound=Filen "%1" eksisterer ikke. Afinstallationen kan ikke fortsætte. +UninstallOpenError=Filen "%1" kunne ikke åbnes. Kan ikke afinstallere +UninstallUnsupportedVer=Afinstallations-logfilen "%1" er i et format der ikke kan genkendes af denne version af afinstallations-programmet. Afinstallationen afbrydes +UninstallUnknownEntry=Der er en ukendt kommando (%1) i afinstallings-logfilen. +ConfirmUninstall=Er du sikker på at %1 og alle tilhørende komponenter skal fjernes fra computeren? +UninstallOnlyOnWin64=Denne installation kan kun fjernes på 64-bit Windows-versioner +OnlyAdminCanUninstall=Programmet kan kun fjernes af en bruger med administrator-rettigheder. +UninstallStatusLabel=Vent venligst imens %1 fjernes. +UninstalledAll=%1 er fjernet uden fejl. +UninstalledMost=%1 Afinstallation er afsluttet.%n%nNogle filer kunne ikke fjernes. Fjern dem manuelt, hvis du ikke ønsker de skal blive liggende. +UninstalledAndNeedsRestart=For at afslutte afinstallation af %1 skal computeren genstartes.%n%nVil du genstarte nu? +UninstallDataCorrupted="%1" er beskadiget. Afinstallation kan ikke foretages + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Fjern delt fil? +ConfirmDeleteSharedFile2=Systemet mener ikke længere at følgende delte fil(er) benyttes. Skal den/de delte fil(er) fjernes under afinstallationen?%n%nHvis du er usikker så vælg Nej. Beholdes filen på maskinen, vil den ikke gøre nogen skade, men hvis filen fjernes, selv om den stadig anvendes, bliver de programmer, der anvender filen, ustabile +SharedFileNameLabel=Filnavn: +SharedFileLocationLabel=Placering: +WizardUninstalling=Status for afinstallation +StatusUninstalling=Afinstallerer %1... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=Installerer %1. +ShutdownBlockReasonUninstallingApp=Afinstallerer %1. + +[CustomMessages] +NameAndVersion=%1 version %2 +AdditionalIcons=Ekstra ikoner: +CreateDesktopIcon=Lav ikon på skrive&bordet +CreateQuickLaunchIcon=Lav &hurtigstart-ikon +ProgramOnTheWeb=%1 på internettet +UninstallProgram=Afinstaller (fjern) %1 +LaunchProgram=&Kør %1 +AssocFileExtension=Sammen&kæd %1 med filtypen %2 +AssocingFileExtension=Sammenkæder %1 med filtypen %2... +AutoStartProgramGroupDescription=Start: +AutoStartProgram=Start automatisk %1 +AddonHostProgramNotFound=%1 blev ikke fundet i den mappe du angav.%n%nØnsker du alligevel at fortsætte? diff --git a/dist/windows/languages/Dutch.isl b/dist/windows/languages/Dutch.isl new file mode 100644 index 00000000..4fb7cbdb --- /dev/null +++ b/dist/windows/languages/Dutch.isl @@ -0,0 +1,314 @@ +; *** Inno Setup version 5.5.3+ Dutch messages *** +; +; This file is based on user-contributed translations by various authors +; +; Maintained by Martijn Laan (mlaan@jrsoftware.org) + +[LangOptions] +LanguageName=Nederlands +LanguageID=$0413 +LanguageCodePage=1252 + +[Messages] + +; *** Application titles +SetupAppTitle=Setup +SetupWindowTitle=Setup - %1 +UninstallAppTitle=Verwijderen +UninstallAppFullTitle=%1 verwijderen + +; *** Misc. common +InformationTitle=Informatie +ConfirmTitle=Bevestigen +ErrorTitle=Fout + +; *** SetupLdr messages +SetupLdrStartupMessage=Hiermee wordt %1 geïnstalleerd. Wilt u doorgaan? +LdrCannotCreateTemp=Kan geen tijdelijk bestand maken. Setup wordt afgesloten +LdrCannotExecTemp=Kan een bestand in de tijdelijke map niet uitvoeren. Setup wordt afgesloten + +; *** Startup error messages +LastErrorMessage=%1.%n%nFout %2: %3 +SetupFileMissing=Het bestand %1 ontbreekt in de installatiemap. Corrigeer dit probleem of gebruik een andere kopie van het programma. +SetupFileCorrupt=De installatiebestanden zijn beschadigd. Gebruik een andere kopie van het programma. +SetupFileCorruptOrWrongVer=De installatiebestanden zijn beschadigd, of zijn niet compatibel met deze versie van Setup. Corrigeer dit probleem of gebruik een andere kopie van het programma. +InvalidParameter=Er werd een ongeldige schakeloptie opgegeven op de opdrachtregel:%n%n%1 +SetupAlreadyRunning=Setup is al gestart. +WindowsVersionNotSupported=Dit programma ondersteunt de versie van Windows die u gebruikt niet. +WindowsServicePackRequired=Dit programma vereist %1 Service Pack %2 of hoger. +NotOnThisPlatform=Dit programma kan niet worden uitgevoerd onder %1. +OnlyOnThisPlatform=Dit programma moet worden uitgevoerd onder %1. +OnlyOnTheseArchitectures=Dit programma kan alleen geïnstalleerd worden onder versies van Windows ontworpen voor de volgende processor architecturen:%n%n%1 +MissingWOW64APIs=De versie van Windows die u gebruikt bevat niet de door Setup benodige functionaliteit om een 64-bit installatie uit te voeren. Installeer Service Pack %1 om dit probleem te corrigeren. +WinVersionTooLowError=Dit programma vereist %1 versie %2 of hoger. +WinVersionTooHighError=Dit programma kan niet worden geïnstalleerd onder %1 versie %2 of hoger. +AdminPrivilegesRequired=U moet aangemeld zijn als een systeembeheerder om dit programma te kunnen installeren. +PowerUserPrivilegesRequired=U moet ingelogd zijn als systeembeheerder of als gebruiker met systeembeheerders rechten om dit programma te kunnen installeren. +SetupAppRunningError=Setup heeft vastgesteld dat %1 op dit moment actief is.%n%nSluit alle vensters van dit programma, en klik daarna op OK om verder te gaan, of op Annuleren om Setup af te sluiten. +UninstallAppRunningError=Het verwijderprogramma heeft vastgesteld dat %1 op dit moment actief is.%n%nSluit alle vensters van dit programma, en klik daarna op OK om verder te gaan, of op Annuleren om het verwijderen af te breken. + +; *** Misc. errors +ErrorCreatingDir=Setup kan de map "%1" niet maken +ErrorTooManyFilesInDir=Kan geen bestand maken in de map "%1" omdat deze te veel bestanden bevat + +; *** Setup common messages +ExitSetupTitle=Setup afsluiten +ExitSetupMessage=Setup is niet voltooid. Als u nu afsluit, wordt het programma niet geïnstalleerd.%n%nU kunt Setup later opnieuw uitvoeren om de installatie te voltooien.%n%nSetup afsluiten? +AboutSetupMenuItem=&Over Setup... +AboutSetupTitle=Over Setup +AboutSetupMessage=%1 versie %2%n%3%n%n%1-homepage:%n%4 +AboutSetupNote= +TranslatorNote=Dutch translation maintained by Martijn Laan (mlaan@jrsoftware.org) + +; *** Buttons +ButtonBack=< Vo&rige +ButtonNext=&Volgende > +ButtonInstall=&Installeren +ButtonOK=OK +ButtonCancel=Annuleren +ButtonYes=&Ja +ButtonYesToAll=Ja op &alles +ButtonNo=&Nee +ButtonNoToAll=N&ee op alles +ButtonFinish=&Voltooien +ButtonBrowse=&Bladeren... +ButtonWizardBrowse=B&laderen... +ButtonNewFolder=&Nieuwe map maken + +; *** "Select Language" dialog messages +SelectLanguageTitle=Taalkeuze voor Setup +SelectLanguageLabel=Selecteer de taal welke Setup gebruikt tijdens de installatie: + +; *** Common wizard text +ClickNext=Klik op Volgende om verder te gaan of op Annuleren om Setup af te sluiten. +BeveledLabel= +BrowseDialogTitle=Map Selecteren +BrowseDialogLabel=Selecteer een map in onderstaande lijst en klik daarna op OK. +NewFolderName=Nieuwe map + +; *** "Welcome" wizard page +WelcomeLabel1=Welkom bij het installatieprogramma van [name]. +WelcomeLabel2=Hiermee wordt [name/ver] geïnstalleerd op deze computer.%n%nU wordt aanbevolen alle actieve programma's af te sluiten voordat u verder gaat. + +; *** "Password" wizard page +WizardPassword=Wachtwoord +PasswordLabel1=Deze installatie is beveiligd met een wachtwoord. +PasswordLabel3=Voer het wachtwoord in en klik op Volgende om verder te gaan. Wachtwoorden zijn hoofdlettergevoelig. +PasswordEditLabel=&Wachtwoord: +IncorrectPassword=Het ingevoerde wachtwoord is niet correct. Probeer het opnieuw. + +; *** "License Agreement" wizard page +WizardLicense=Licentieovereenkomst +LicenseLabel=Lees de volgende belangrijke informatie voordat u verder gaat. +LicenseLabel3=Lees de volgende licentieovereenkomst. Gebruik de schuifbalk of druk op de knop Page Down om de rest van de overeenkomst te zien. +LicenseAccepted=Ik &accepteer de licentieovereenkomst +LicenseNotAccepted=Ik accepteer de licentieovereenkomst &niet + +; *** "Information" wizard pages +WizardInfoBefore=Informatie +InfoBeforeLabel=Lees de volgende belangrijke informatie voordat u verder gaat. +InfoBeforeClickLabel=Klik op Volgende als u gereed bent om verder te gaan met Setup. +WizardInfoAfter=Informatie +InfoAfterLabel=Lees de volgende belangrijke informatie voordat u verder gaat. +InfoAfterClickLabel=Klik op Volgende als u gereed bent om verder te gaan met Setup. + +; *** "User Information" wizard page +WizardUserInfo=Gebruikersinformatie +UserInfoDesc=Vul hier uw informatie in. +UserInfoName=&Gebruikersnaam: +UserInfoOrg=&Organisatie: +UserInfoSerial=&Serienummer: +UserInfoNameRequired=U moet een naam invullen. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Kies de doelmap +SelectDirDesc=Waar moet [name] geïnstalleerd worden? +SelectDirLabel3=Setup zal [name] in de volgende map installeren. +SelectDirBrowseLabel=Klik op Volgende om door te gaan. Klik op Bladeren om een andere map te kiezen. +DiskSpaceMBLabel=Er is ten minste [mb] MB vrije schijfruimte vereist. +CannotInstallToNetworkDrive=Setup kan niet installeren naar een netwerkstation. +CannotInstallToUNCPath=Setup kan niet installeren naar een UNC-pad. +InvalidPath=U moet een volledig pad met stationsletter invoeren; bijvoorbeeld:%nC:\APP%n%nof een UNC-pad zoals:%n%n\\server\share +InvalidDrive=Het geselecteerde station bestaat niet. Kies een ander station. +DiskSpaceWarningTitle=Onvoldoende schijfruimte +DiskSpaceWarning=Setup vereist ten minste %1 kB vrije schijfruimte voor het installeren, maar het geselecteerde station heeft slechts %2 kB beschikbaar.%n%nWilt u toch doorgaan? +DirNameTooLong=De mapnaam of het pad is te lang. +InvalidDirName=De mapnaam is ongeldig. +BadDirName32=Mapnamen mogen geen van de volgende tekens bevatten:%n%n%1 +DirExistsTitle=Map bestaat al +DirExists=De map:%n%n%1%n%nbestaat al. Wilt u toch naar die map installeren? +DirDoesntExistTitle=Map bestaat niet +DirDoesntExist=De map:%n%n%1%n%nbestaat niet. Wilt u de map aanmaken? + +; *** "Select Components" wizard page +WizardSelectComponents=Selecteer componenten +SelectComponentsDesc=Welke componenten moeten geïnstalleerd worden? +SelectComponentsLabel2=Selecteer de componenten die u wilt installeren. Klik op Volgende als u klaar bent om verder te gaan. +FullInstallation=Volledige installatie +CompactInstallation=Compacte installatie +CustomInstallation=Aangepaste installatie +NoUninstallWarningTitle=Component bestaat +NoUninstallWarning=Setup heeft gedetecteerd dat de volgende componenten al geïnstalleerd zijn op uw computer:%n%n%1%n%nAls u de selectie van deze componenten ongedaan maakt, worden ze niet verwijderd.%n%nWilt u toch doorgaan? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=De huidige selectie vereist ten minste [mb] MB vrije schijfruimte. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Selecteer extra taken +SelectTasksDesc=Welke extra taken moeten uitgevoerd worden? +SelectTasksLabel2=Selecteer de extra taken die u door Setup wilt laten uitvoeren bij het installeren van [name], en klik vervolgens op Volgende. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Selecteer menu Start map +SelectStartMenuFolderDesc=Waar moeten de snelkoppelingen van het programma geplaatst worden? +SelectStartMenuFolderLabel3=Setup plaatst de snelkoppelingen van het programma in de volgende menu Start map. +SelectStartMenuFolderBrowseLabel=Klik op Volgende om door te gaan. Klik op Bladeren om een andere map te kiezen. +MustEnterGroupName=U moet een mapnaam invoeren. +GroupNameTooLong=De mapnaam of het pad is te lang. +InvalidGroupName=De mapnaam is ongeldig. +BadGroupName=De mapnaam mag geen van de volgende tekens bevatten:%n%n%1 +NoProgramGroupCheck2=&Geen menu Start map maken + +; *** "Ready to Install" wizard page +WizardReady=Het voorbereiden van de installatie is gereed +ReadyLabel1=Setup is nu gereed om te beginnen met het installeren van [name] op deze computer. +ReadyLabel2a=Klik op Installeren om verder te gaan met installeren, of klik op Vorige als u instellingen wilt terugzien of veranderen. +ReadyLabel2b=Klik op Installeren om verder te gaan met installeren. +ReadyMemoUserInfo=Gebruikersinformatie: +ReadyMemoDir=Doelmap: +ReadyMemoType=Installatietype: +ReadyMemoComponents=Geselecteerde componenten: +ReadyMemoGroup=Menu Start map: +ReadyMemoTasks=Extra taken: + +; *** "Preparing to Install" wizard page +WizardPreparing=Bezig met het voorbereiden van de installatie +PreparingDesc=Setup is bezig met het voorbereiden van de installatie van [name]. +PreviousInstallNotCompleted=De installatie/verwijdering van een vorig programma is niet voltooid. U moet uw computer opnieuw opstarten om die installatie te voltooien.%n%nStart [name] Setup nogmaals als uw computer opnieuw is opgestart. +CannotContinue=Setup kan niet doorgaan. Klik op annuleren om af te sluiten. +ApplicationsFound=De volgende programma's gebruiken bestanden die moeten worden bijgewerkt door Setup. U wordt aanbevolen Setup toe te staan om automatisch deze programma's af te sluiten. +ApplicationsFound2=De volgende programma's gebruiken bestanden die moeten worden bijgewerkt door Setup. U wordt aanbevolen Setup toe te staan om automatisch deze programma's af te sluiten. Nadat de installatie is voltooid zal Setup proberen de applicaties opnieuw op te starten. +CloseApplications=&Programma's automatisch afsluiten +DontCloseApplications=Programma's &niet afsluiten +ErrorCloseApplications=Setup kon niet alle programma's automatisch afsluiten. U wordt aanbevolen alle programma's die bestanden gebruiken die moeten worden bijgewerkt door Setup af te sluiten voordat u verder gaat. + +; *** "Installing" wizard page +WizardInstalling=Bezig met installeren +InstallingLabel=Setup installeert [name] op uw computer. Een ogenblik geduld... + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=Setup heeft het installeren van [name] op deze computer voltooid. +FinishedLabelNoIcons=Setup heeft het installeren van [name] op deze computer voltooid. +FinishedLabel=Setup heeft het installeren van [name] op deze computer voltooid. U kunt het programma uitvoeren met de geïnstalleerde snelkoppelingen. +ClickFinish=Klik op Voltooien om Setup te beëindigen. +FinishedRestartLabel=Setup moet de computer opnieuw opstarten om de installatie van [name] te voltooien. Wilt u nu opnieuw opstarten? +FinishedRestartMessage=Setup moet uw computer opnieuw opstarten om de installatie van [name] te voltooien.%n%nWilt u nu opnieuw opstarten? +ShowReadmeCheck=Ja, ik wil het bestand Leesmij zien +YesRadio=&Ja, start de computer nu opnieuw op +NoRadio=&Nee, ik start de computer later opnieuw op +RunEntryExec=Start %1 +RunEntryShellExec=Bekijk %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=Setup heeft de volgende diskette nodig +SelectDiskLabel2=Voer diskette %1 in en klik op OK.%n%nAls de bestanden op deze diskette in een andere map gevonden kunnen worden dan die hieronder wordt getoond, voer dan het juiste pad in of klik op Bladeren. +PathLabel=&Pad: +FileNotInDir2=Kan het bestand "%1" niet vinden in "%2". Voer de juiste diskette in of kies een andere map. +SelectDirectoryLabel=Geef de locatie van de volgende diskette. + +; *** Installation phase messages +SetupAborted=Setup is niet voltooid.%n%nCorrigeer het probleem en voer Setup opnieuw uit. +EntryAbortRetryIgnore=Klik op Opnieuw om het opnieuw te proberen, op Negeren om toch door te gaan, of op Afbreken om de installatie af te breken. + +; *** Installation status messages +StatusClosingApplications=Programma's afsluiten... +StatusCreateDirs=Mappen maken... +StatusExtractFiles=Bestanden uitpakken... +StatusCreateIcons=Snelkoppelingen maken... +StatusCreateIniEntries=INI-gegevens instellen... +StatusCreateRegistryEntries=Registergegevens instellen... +StatusRegisterFiles=Bestanden registreren... +StatusSavingUninstall=Verwijderingsinformatie opslaan... +StatusRunProgram=Installatie voltooien... +StatusRestartingApplications=Programma's opnieuw starten... +StatusRollback=Veranderingen ongedaan maken... + +; *** Misc. errors +ErrorInternal2=Interne fout: %1 +ErrorFunctionFailedNoCode=%1 mislukt +ErrorFunctionFailed=%1 mislukt; code %2 +ErrorFunctionFailedWithMessage=%1 mislukt; code %2.%n%3 +ErrorExecutingProgram=Kan bestand niet uitvoeren:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Fout bij het openen van registersleutel:%n%1\%2 +ErrorRegCreateKey=Fout bij het maken van registersleutel:%n%1\%2 +ErrorRegWriteKey=Fout bij het schrijven naar registersleutel:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Fout bij het maken van een INI-instelling in bestand "%1". + +; *** File copying errors +FileAbortRetryIgnore=Klik op Opnieuw om het opnieuw te proberen, op Negeren om toch door te gaan (niet aanbevolen), of op Afbreken om de installatie af te breken. +FileAbortRetryIgnore2=Klik op Opnieuw om het opnieuw te proberen, op Negeren om toch door te gaan (niet aanbevolen), of op Afbreken om de installatie af te breken. +SourceIsCorrupted=Het bronbestand is beschadigd +SourceDoesntExist=Het bronbestand "%1" bestaat niet +ExistingFileReadOnly=Het bestaande bestand is gemarkeerd als alleen-lezen.%n%nKlik op Opnieuw om het kenmerk alleen-lezen te verwijderen en opnieuw te proberen, op Negeren om dit bestand over te slaan, of op Afbreken om de installatie af te breken. +ErrorReadingExistingDest=Er is een fout opgetreden bij het lezen van het bestaande bestand: +FileExists=Het bestand bestaat al.%n%nWilt u dat Setup het overschrijft? +ExistingFileNewer=Het bestaande bestand is nieuwer dan het bestand dat Setup probeert te installeren. U wordt aanbevolen het bestaande bestand te behouden.%n%nWilt u het bestaande bestand behouden? +ErrorChangingAttr=Er is een fout opgetreden bij het wijzigen van de kenmerken van het bestaande bestand: +ErrorCreatingTemp=Er is een fout opgetreden bij het maken van een bestand in de doelmap: +ErrorReadingSource=Er is een fout opgetreden bij het lezen van het bronbestand: +ErrorCopying=Er is een fout opgetreden bij het kopiëren van een bestand: +ErrorReplacingExistingFile=Er is een fout opgetreden bij het vervangen van het bestaande bestand: +ErrorRestartReplace=Vervangen na opnieuw starten is mislukt: +ErrorRenamingTemp=Er is een fout opgetreden bij het hernoemen van een bestand in de doelmap: +ErrorRegisterServer=Kan de DLL/OCX niet registreren: %1 +ErrorRegSvr32Failed=RegSvr32 mislukt met afsluitcode %1 +ErrorRegisterTypeLib=Kan de type library niet registreren: %1 + +; *** Post-installation errors +ErrorOpeningReadme=Er is een fout opgetreden bij het openen van het Leesmij-bestand. +ErrorRestartingComputer=Setup kan de computer niet opnieuw opstarten. Doe dit handmatig. + +; *** Uninstaller messages +UninstallNotFound=Bestand "%1" bestaat niet. Kan het programma niet verwijderen. +UninstallUnsupportedVer=Het installatie-logbestand "%1" heeft een formaat dat niet herkend wordt door deze versie van het verwijderprogramma. Kan het programma niet verwijderen +UninstallUnknownEntry=Er is een onbekend gegeven (%1) aangetroffen in het installatie-logbestand +ConfirmUninstall=Weet u zeker dat u %1 en alle bijbehorende componenten wilt verwijderen? +UninstallOnlyOnWin64=Deze installatie kan alleen worden verwijderd onder 64-bit Windows. +OnlyAdminCanUninstall=Deze installatie kan alleen worden verwijderd door een gebruiker met administratieve rechten. +UninstallStatusLabel=%1 wordt verwijderd van uw computer. Een ogenblik geduld. +UninstallOpenError=Bestand "%1" kon niet worden geopend. Kan het verwijderen niet voltooien. +UninstalledAll=%1 is met succes van deze computer verwijderd. +UninstalledMost=Het verwijderen van %1 is voltooid.%n%nEnkele elementen konden niet verwijderd worden. Deze kunnen handmatig verwijderd worden. +UninstalledAndNeedsRestart=Om het verwijderen van %1 te voltooien, moet uw computer opnieuw worden opgestart.%n%nWilt u nu opnieuw opstarten? +UninstallDataCorrupted="%1" bestand is beschadigd. Kan verwijderen niet voltooien + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Gedeeld bestand verwijderen? +ConfirmDeleteSharedFile2=Het systeem geeft aan dat het volgende gedeelde bestand niet langer gebruikt wordt door enig programma. Wilt u dat dit gedeelde bestand verwijderd wordt?%n%nAls dit bestand toch nog gebruikt wordt door een programma en het verwijderd wordt, werkt dat programma misschien niet meer correct. Als u het niet zeker weet, kies dan Nee. Bewaren van het bestand op dit systeem is niet schadelijk. +SharedFileNameLabel=Bestandsnaam: +SharedFileLocationLabel=Locatie: +WizardUninstalling=Verwijderingsstatus +StatusUninstalling=Verwijderen van %1... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=Installeren van %1. +ShutdownBlockReasonUninstallingApp=Verwijderen van %1. + +[CustomMessages] + +NameAndVersion=%1 versie %2 +AdditionalIcons=Extra snelkoppelingen: +CreateDesktopIcon=Maak een snelkoppeling op het &bureaublad +CreateQuickLaunchIcon=Maak een snelkoppeling op de &Snel starten werkbalk +ProgramOnTheWeb=%1 op het Web +UninstallProgram=Verwijder %1 +LaunchProgram=&Start %1 +AssocFileExtension=&Koppel %1 aan de %2 bestandsextensie +AssocingFileExtension=Bezig met koppelen van %1 aan de %2 bestandsextensie... +AutoStartProgramGroupDescription=Opstarten: +AutoStartProgram=%1 automatisch starten +AddonHostProgramNotFound=%1 kon niet worden gevonden in de geselecteerde map.%n%nWilt u toch doorgaan? diff --git a/dist/windows/languages/English.isl b/dist/windows/languages/English.isl new file mode 100644 index 00000000..25ee025c --- /dev/null +++ b/dist/windows/languages/English.isl @@ -0,0 +1,336 @@ +; *** Inno Setup version 5.5.3+ English messages *** +; +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/files/istrans/ +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=English +LanguageID=$0409 +LanguageCodePage=0 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=Setup +SetupWindowTitle=Setup - %1 +UninstallAppTitle=Uninstall +UninstallAppFullTitle=%1 Uninstall + +; *** Misc. common +InformationTitle=Information +ConfirmTitle=Confirm +ErrorTitle=Error + +; *** SetupLdr messages +SetupLdrStartupMessage=This will install %1. Do you wish to continue? +LdrCannotCreateTemp=Unable to create a temporary file. Setup aborted +LdrCannotExecTemp=Unable to execute file in the temporary directory. Setup aborted + +; *** Startup error messages +LastErrorMessage=%1.%n%nError %2: %3 +SetupFileMissing=The file %1 is missing from the installation directory. Please correct the problem or obtain a new copy of the program. +SetupFileCorrupt=The setup files are corrupted. Please obtain a new copy of the program. +SetupFileCorruptOrWrongVer=The setup files are corrupted, or are incompatible with this version of Setup. Please correct the problem or obtain a new copy of the program. +InvalidParameter=An invalid parameter was passed on the command line:%n%n%1 +SetupAlreadyRunning=Setup is already running. +WindowsVersionNotSupported=This program does not support the version of Windows your computer is running. +WindowsServicePackRequired=This program requires %1 Service Pack %2 or later. +NotOnThisPlatform=This program will not run on %1. +OnlyOnThisPlatform=This program must be run on %1. +OnlyOnTheseArchitectures=This program can only be installed on versions of Windows designed for the following processor architectures:%n%n%1 +MissingWOW64APIs=The version of Windows you are running does not include functionality required by Setup to perform a 64-bit installation. To correct this problem, please install Service Pack %1. +WinVersionTooLowError=This program requires %1 version %2 or later. +WinVersionTooHighError=This program cannot be installed on %1 version %2 or later. +AdminPrivilegesRequired=You must be logged in as an administrator when installing this program. +PowerUserPrivilegesRequired=You must be logged in as an administrator or as a member of the Power Users group when installing this program. +SetupAppRunningError=Setup has detected that %1 is currently running.%n%nPlease close all instances of it now, then click OK to continue, or Cancel to exit. +UninstallAppRunningError=Uninstall has detected that %1 is currently running.%n%nPlease close all instances of it now, then click OK to continue, or Cancel to exit. + +; *** Misc. errors +ErrorCreatingDir=Setup was unable to create the directory "%1" +ErrorTooManyFilesInDir=Unable to create a file in the directory "%1" because it contains too many files + +; *** Setup common messages +ExitSetupTitle=Exit Setup +ExitSetupMessage=Setup is not complete. If you exit now, the program will not be installed.%n%nYou may run Setup again at another time to complete the installation.%n%nExit Setup? +AboutSetupMenuItem=&About Setup... +AboutSetupTitle=About Setup +AboutSetupMessage=%1 version %2%n%3%n%n%1 home page:%n%4 +AboutSetupNote= +TranslatorNote= + +; *** Buttons +ButtonBack=< &Back +ButtonNext=&Install Popcorn Time > +ButtonInstall=&Install +ButtonOK=OK +ButtonCancel=Cancel +ButtonYes=&Yes +ButtonYesToAll=Yes to &All +ButtonNo=&No +ButtonNoToAll=N&o to All +ButtonFinish=&Finish +ButtonBrowse=&Browse... +ButtonWizardBrowse=B&rowse... +ButtonNewFolder=&Make New Folder + +; *** "Select Language" dialog messages +SelectLanguageTitle=Select Setup Language +SelectLanguageLabel=Select the language to use during the installation: + +; *** Common wizard text +ClickNext=Click Install Popcorn Time to continue, or Cancel to exit Setup. +BeveledLabel= +BrowseDialogTitle=Browse For Folder +BrowseDialogLabel=Select a folder in the list below, then click OK. +NewFolderName=New Folder + +; *** "Welcome" wizard page +WelcomeLabel1=You're about to get some Popcorn Time! +WelcomeLabel2=This will install [name/ver] on your computer.%n%nKeep in mind that Popcorn Time is in Beta and we make no guarantees, so use it at your own risk. + +; *** "Password" wizard page +WizardPassword=Password +PasswordLabel1=This installation is password protected. +PasswordLabel3=Please provide the password, then click Next to continue. Passwords are case-sensitive. +PasswordEditLabel=&Password: +IncorrectPassword=The password you entered is not correct. Please try again. + +; *** "License Agreement" wizard page +WizardLicense=License Agreement +LicenseLabel=Please read the following important information before continuing. +LicenseLabel3=Please read the following License Agreement. You must accept the terms of this agreement before continuing with the installation. +LicenseAccepted=I &accept the agreement +LicenseNotAccepted=I &do not accept the agreement + +; *** "Information" wizard pages +WizardInfoBefore=Information +InfoBeforeLabel=Please read the following important information before continuing. +InfoBeforeClickLabel=When you are ready to continue with Setup, click Next. +WizardInfoAfter=Information +InfoAfterLabel=Please read the following important information before continuing. +InfoAfterClickLabel=When you are ready to continue with Setup, click Next. + +; *** "User Information" wizard page +WizardUserInfo=User Information +UserInfoDesc=Please enter your information. +UserInfoName=&User Name: +UserInfoOrg=&Organization: +UserInfoSerial=&Serial Number: +UserInfoNameRequired=You must enter a name. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Select Destination Location +SelectDirDesc=Where should [name] be installed? +SelectDirLabel3=Setup will install [name] into the following folder. +SelectDirBrowseLabel=To continue, click Next. If you would like to select a different folder, click Browse. +DiskSpaceMBLabel=At least [mb] MB of free disk space is required. +CannotInstallToNetworkDrive=Setup cannot install to a network drive. +CannotInstallToUNCPath=Setup cannot install to a UNC path. +InvalidPath=You must enter a full path with drive letter; for example:%n%nC:\APP%n%nor a UNC path in the form:%n%n\\server\share +InvalidDrive=The drive or UNC share you selected does not exist or is not accessible. Please select another. +DiskSpaceWarningTitle=Not Enough Disk Space +DiskSpaceWarning=Setup requires at least %1 KB of free space to install, but the selected drive only has %2 KB available.%n%nDo you want to continue anyway? +DirNameTooLong=The folder name or path is too long. +InvalidDirName=The folder name is not valid. +BadDirName32=Folder names cannot include any of the following characters:%n%n%1 +DirExistsTitle=Folder Exists +DirExists=The folder:%n%n%1%n%nalready exists. Would you like to install to that folder anyway? +DirDoesntExistTitle=Folder Does Not Exist +DirDoesntExist=The folder:%n%n%1%n%ndoes not exist. Would you like the folder to be created? + +; *** "Select Components" wizard page +WizardSelectComponents=Select Components +SelectComponentsDesc=Which components should be installed? +SelectComponentsLabel2=Select the components you want to install; clear the components you do not want to install. Click Next when you are ready to continue. +FullInstallation=Full installation +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Compact installation +CustomInstallation=Custom installation +NoUninstallWarningTitle=Components Exist +NoUninstallWarning=Setup has detected that the following components are already installed on your computer:%n%n%1%n%nDeselecting these components will not uninstall them.%n%nWould you like to continue anyway? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=Current selection requires at least [mb] MB of disk space. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Select Additional Tasks +SelectTasksDesc=Which additional tasks should be performed? +SelectTasksLabel2=Select the additional tasks you would like Setup to perform while installing [name], then click Next. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Select Start Menu Folder +SelectStartMenuFolderDesc=Where should Setup place the program's shortcuts? +SelectStartMenuFolderLabel3=Setup will create the program's shortcuts in the following Start Menu folder. +SelectStartMenuFolderBrowseLabel=To continue, click Next. If you would like to select a different folder, click Browse. +MustEnterGroupName=You must enter a folder name. +GroupNameTooLong=The folder name or path is too long. +InvalidGroupName=The folder name is not valid. +BadGroupName=The folder name cannot include any of the following characters:%n%n%1 +NoProgramGroupCheck2=&Don't create a Start Menu folder + +; *** "Ready to Install" wizard page +WizardReady=Ready to Install +ReadyLabel1=Setup is now ready to begin installing [name] on your computer. +ReadyLabel2a=Click Install to continue with the installation, or click Back if you want to review or change any settings. +ReadyLabel2b=Click Install to continue with the installation. +ReadyMemoUserInfo=User information: +ReadyMemoDir=Destination location: +ReadyMemoType=Setup type: +ReadyMemoComponents=Selected components: +ReadyMemoGroup=Start Menu folder: +ReadyMemoTasks=Additional tasks: + +; *** "Preparing to Install" wizard page +WizardPreparing=Preparing to Install +PreparingDesc=Setup is preparing to install [name] on your computer. +PreviousInstallNotCompleted=The installation/removal of a previous program was not completed. You will need to restart your computer to complete that installation.%n%nAfter restarting your computer, run Setup again to complete the installation of [name]. +CannotContinue=Setup cannot continue. Please click Cancel to exit. +ApplicationsFound=The following applications are using files that need to be updated by Setup. It is recommended that you allow Setup to automatically close these applications. +ApplicationsFound2=The following applications are using files that need to be updated by Setup. It is recommended that you allow Setup to automatically close these applications. After the installation has completed, Setup will attempt to restart the applications. +CloseApplications=&Automatically close the applications +DontCloseApplications=&Do not close the applications +ErrorCloseApplications=Setup was unable to automatically close all applications. It is recommended that you close all applications using files that need to be updated by Setup before continuing. + +; *** "Installing" wizard page +WizardInstalling=Installing +InstallingLabel=Please wait while Setup installs [name] on your computer. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=Completing the [name] Setup Wizard +FinishedLabelNoIcons=Setup has finished installing [name] on your computer. +FinishedLabel=Setup has finished installing [name] on your computer. The application may be launched by selecting the installed icons. +ClickFinish=Click Finish to exit Setup. +FinishedRestartLabel=To complete the installation of [name], Setup must restart your computer. Would you like to restart now? +FinishedRestartMessage=To complete the installation of [name], Setup must restart your computer.%n%nWould you like to restart now? +ShowReadmeCheck=Yes, I would like to view the README file +YesRadio=&Yes, restart the computer now +NoRadio=&No, I will restart the computer later +; used for example as 'Run MyProg.exe' +RunEntryExec=Run %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=View %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=Setup Needs the Next Disk +SelectDiskLabel2=Please insert Disk %1 and click OK.%n%nIf the files on this disk can be found in a folder other than the one displayed below, enter the correct path or click Browse. +PathLabel=&Path: +FileNotInDir2=The file "%1" could not be located in "%2". Please insert the correct disk or select another folder. +SelectDirectoryLabel=Please specify the location of the next disk. + +; *** Installation phase messages +SetupAborted=Setup was not completed.%n%nPlease correct the problem and run Setup again. +EntryAbortRetryIgnore=Click Retry to try again, Ignore to proceed anyway, or Abort to cancel installation. + +; *** Installation status messages +StatusClosingApplications=Closing applications... +StatusCreateDirs=Creating directories... +StatusExtractFiles=Extracting files... +StatusCreateIcons=Creating shortcuts... +StatusCreateIniEntries=Creating INI entries... +StatusCreateRegistryEntries=Creating registry entries... +StatusRegisterFiles=Registering files... +StatusSavingUninstall=Saving uninstall information... +StatusRunProgram=Finishing installation... +StatusRestartingApplications=Restarting applications... +StatusRollback=Rolling back changes... + +; *** Misc. errors +ErrorInternal2=Internal error: %1 +ErrorFunctionFailedNoCode=%1 failed +ErrorFunctionFailed=%1 failed; code %2 +ErrorFunctionFailedWithMessage=%1 failed; code %2.%n%3 +ErrorExecutingProgram=Unable to execute file:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Error opening registry key:%n%1\%2 +ErrorRegCreateKey=Error creating registry key:%n%1\%2 +ErrorRegWriteKey=Error writing to registry key:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Error creating INI entry in file "%1". + +; *** File copying errors +FileAbortRetryIgnore=Click Retry to try again, Ignore to skip this file (not recommended), or Abort to cancel installation. +FileAbortRetryIgnore2=Click Retry to try again, Ignore to proceed anyway (not recommended), or Abort to cancel installation. +SourceIsCorrupted=The source file is corrupted +SourceDoesntExist=The source file "%1" does not exist +ExistingFileReadOnly=The existing file is marked as read-only.%n%nClick Retry to remove the read-only attribute and try again, Ignore to skip this file, or Abort to cancel installation. +ErrorReadingExistingDest=An error occurred while trying to read the existing file: +FileExists=The file already exists.%n%nWould you like Setup to overwrite it? +ExistingFileNewer=The existing file is newer than the one Setup is trying to install. It is recommended that you keep the existing file.%n%nDo you want to keep the existing file? +ErrorChangingAttr=An error occurred while trying to change the attributes of the existing file: +ErrorCreatingTemp=An error occurred while trying to create a file in the destination directory: +ErrorReadingSource=An error occurred while trying to read the source file: +ErrorCopying=An error occurred while trying to copy a file: +ErrorReplacingExistingFile=An error occurred while trying to replace the existing file: +ErrorRestartReplace=RestartReplace failed: +ErrorRenamingTemp=An error occurred while trying to rename a file in the destination directory: +ErrorRegisterServer=Unable to register the DLL/OCX: %1 +ErrorRegSvr32Failed=RegSvr32 failed with exit code %1 +ErrorRegisterTypeLib=Unable to register the type library: %1 + +; *** Post-installation errors +ErrorOpeningReadme=An error occurred while trying to open the README file. +ErrorRestartingComputer=Setup was unable to restart the computer. Please do this manually. + +; *** Uninstaller messages +UninstallNotFound=File "%1" does not exist. Cannot uninstall. +UninstallOpenError=File "%1" could not be opened. Cannot uninstall +UninstallUnsupportedVer=The uninstall log file "%1" is in a format not recognized by this version of the uninstaller. Cannot uninstall +UninstallUnknownEntry=An unknown entry (%1) was encountered in the uninstall log +ConfirmUninstall=Are you sure you want to completely remove %1 and all of its components? +UninstallOnlyOnWin64=This installation can only be uninstalled on 64-bit Windows. +OnlyAdminCanUninstall=This installation can only be uninstalled by a user with administrative privileges. +UninstallStatusLabel=Please wait while %1 is removed from your computer. +UninstalledAll=%1 was successfully removed from your computer. +UninstalledMost=%1 uninstall complete.%n%nSome elements could not be removed. These can be removed manually. +UninstalledAndNeedsRestart=To complete the uninstallation of %1, your computer must be restarted.%n%nWould you like to restart now? +UninstallDataCorrupted="%1" file is corrupted. Cannot uninstall + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Remove Shared File? +ConfirmDeleteSharedFile2=The system indicates that the following shared file is no longer in use by any programs. Would you like for Uninstall to remove this shared file?%n%nIf any programs are still using this file and it is removed, those programs may not function properly. If you are unsure, choose No. Leaving the file on your system will not cause any harm. +SharedFileNameLabel=File name: +SharedFileLocationLabel=Location: +WizardUninstalling=Uninstall Status +StatusUninstalling=Uninstalling %1... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=Installing %1. +ShutdownBlockReasonUninstallingApp=Uninstalling %1. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 version %2 +AdditionalIcons=Additional icons: +CreateDesktopIcon=Create a &desktop icon +CreateQuickLaunchIcon=Create a &Quick Launch icon +ProgramOnTheWeb=%1 on the Web +UninstallProgram=Uninstall %1 +LaunchProgram=Launch %1 +AssocFileExtension=&Associate %1 with the %2 file extension +AssocingFileExtension=Associating %1 with the %2 file extension... +AutoStartProgramGroupDescription=Startup: +AutoStartProgram=Automatically start %1 +AddonHostProgramNotFound=%1 could not be located in the folder you selected.%n%nDo you want to continue anyway? diff --git a/dist/windows/languages/Finnish.isl b/dist/windows/languages/Finnish.isl new file mode 100644 index 00000000..5b4be118 --- /dev/null +++ b/dist/windows/languages/Finnish.isl @@ -0,0 +1,314 @@ +; *** Inno Setup version 5.5.3+ Finnish messages *** +; +; Finnish translation by Antti Karttunen +; E-mail: antti.j.karttunen@iki.fi +; Last modification date: 2012-12-15 + +[LangOptions] +LanguageName=Suomi +LanguageID=$040B +LanguageCodePage=1252 + +[Messages] + +; *** Application titles +SetupAppTitle=Asennus +SetupWindowTitle=%1 - Asennus +UninstallAppTitle=Asennuksen poisto +UninstallAppFullTitle=%1 - Asennuksen poisto + +; *** Misc. common +InformationTitle=Ilmoitus +ConfirmTitle=Varmistus +ErrorTitle=Virhe + +; *** SetupLdr messages +SetupLdrStartupMessage=Tällä asennusohjelmalla asennetaan %1. Haluatko jatkaa? +LdrCannotCreateTemp=Väliaikaistiedostoa ei voitu luoda. Asennus keskeytettiin +LdrCannotExecTemp=Väliaikaisessa hakemistossa olevaa tiedostoa ei voitu suorittaa. Asennus keskeytettiin + +; *** Startup error messages +LastErrorMessage=%1.%n%nVirhe %2: %3 +SetupFileMissing=Tiedostoa %1 ei löydy asennushakemistosta. Korjaa ongelma tai hanki uusi kopio ohjelmasta. +SetupFileCorrupt=Asennustiedostot ovat vaurioituneet. Hanki uusi kopio ohjelmasta. +SetupFileCorruptOrWrongVer=Asennustiedostot ovat vaurioituneet tai ovat epäyhteensopivia tämän Asennuksen version kanssa. Korjaa ongelma tai hanki uusi kopio ohjelmasta. +InvalidParameter=Virheellinen komentoriviparametri:%n%n%1 +SetupAlreadyRunning=Asennus on jo käynnissä. +WindowsVersionNotSupported=Tämä ohjelma ei tue käytössä olevaa Windowsin versiota. +WindowsServicePackRequired=Tämä ohjelma vaatii %1 Service Pack %2 -päivityksen tai myöhemmän. +NotOnThisPlatform=Tämä ohjelma ei toimi %1-käyttöjärjestelmässä. +OnlyOnThisPlatform=Tämä ohjelma toimii vain %1-käyttöjärjestelmässä. +OnlyOnTheseArchitectures=Tämä ohjelma voidaan asentaa vain niihin Windowsin versioihin, jotka on suunniteltu seuraaville prosessorityypeille:%n%n%1 +MissingWOW64APIs=Tämä Windowsin versio ei sisällä ominaisuuksia, joita Asennus tarvitsee suorittaakseen 64-bittisen asennuksen. Korjaa ongelma asentamalla Service Pack %1. +WinVersionTooLowError=Tämä ohjelma vaatii version %2 tai myöhemmän %1-käyttöjärjestelmästä. +WinVersionTooHighError=Tätä ohjelmaa ei voi asentaa %1-käyttöjärjestelmän versioon %2 tai myöhempään. +AdminPrivilegesRequired=Sinun täytyy kirjautua sisään järjestelmänvalvojana asentaaksesi tämän ohjelman. +PowerUserPrivilegesRequired=Sinun täytyy kirjautua sisään järjestelmänvalvojana tai tehokäyttäjänä asentaaksesi tämän ohjelman. +SetupAppRunningError=Asennus löysi käynnissä olevan kopion ohjelmasta %1.%n%nSulje kaikki käynnissä olevat kopiot ohjelmasta ja valitse OK jatkaaksesi, tai valitse Peruuta poistuaksesi. +UninstallAppRunningError=Asennuksen poisto löysi käynnissä olevan kopion ohjelmasta %1.%n%nSulje kaikki käynnissä olevat kopiot ohjelmasta ja valitse OK jatkaaksesi, tai valitse Peruuta poistuaksesi. + +; *** Misc. errors +ErrorCreatingDir=Asennus ei voinut luoda hakemistoa "%1" +ErrorTooManyFilesInDir=Tiedoston luominen hakemistoon "%1" epäonnistui, koska se sisältää liian monta tiedostoa + +; *** Setup common messages +ExitSetupTitle=Poistu Asennuksesta +ExitSetupMessage=Asennus ei ole valmis. Jos lopetat nyt, ohjelmaa ei asenneta.%n%nVoit ajaa Asennuksen toiste asentaaksesi ohjelman.%n%nLopetetaanko Asennus? +AboutSetupMenuItem=&Tietoja Asennuksesta... +AboutSetupTitle=Tietoja Asennuksesta +AboutSetupMessage=%1 versio %2%n%3%n%n%1 -ohjelman kotisivu:%n%4 +AboutSetupNote= +TranslatorNote=Suomenkielinen käännös: Antti Karttunen (antti.karttunen@joensuu.fi) + +; *** Buttons +ButtonBack=< &Takaisin +ButtonNext=&Seuraava > +ButtonInstall=&Asenna +ButtonOK=OK +ButtonCancel=Peruuta +ButtonYes=&Kyllä +ButtonYesToAll=Kyllä k&aikkiin +ButtonNo=&Ei +ButtonNoToAll=E&i kaikkiin +ButtonFinish=&Lopeta +ButtonBrowse=S&elaa... +ButtonWizardBrowse=S&elaa... +ButtonNewFolder=&Luo uusi kansio + +; *** "Select Language" dialog messages +SelectLanguageTitle=Valitse Asennuksen kieli +SelectLanguageLabel=Valitse asentamisen aikana käytettävä kieli: + +; *** Common wizard text +ClickNext=Valitse Seuraava jatkaaksesi tai Peruuta poistuaksesi. +BeveledLabel= +BrowseDialogTitle=Selaa kansioita +BrowseDialogLabel=Valitse kansio allaolevasta listasta ja valitse sitten OK jatkaaksesi. +NewFolderName=Uusi kansio + +; *** "Welcome" wizard page +WelcomeLabel1=Tervetuloa [name] -asennusohjelmaan. +WelcomeLabel2=Tällä asennusohjelmalla koneellesi asennetaan [name/ver]. %n%nOn suositeltavaa, että suljet kaikki muut käynnissä olevat sovellukset ennen jatkamista. Tämä auttaa välttämään ristiriitatilanteita asennuksen aikana. + +; *** "Password" wizard page +WizardPassword=Salasana +PasswordLabel1=Tämä asennusohjelma on suojattu salasanalla. +PasswordLabel3=Anna salasana ja valitse sitten Seuraava jatkaaksesi.%n%nIsot ja pienet kirjaimet ovat eriarvoisia. +PasswordEditLabel=&Salasana: +IncorrectPassword=Antamasi salasana oli virheellinen. Anna salasana uudelleen. + +; *** "License Agreement" wizard page +WizardLicense=Käyttöoikeussopimus +LicenseLabel=Lue seuraava tärkeä tiedotus ennen kuin jatkat. +LicenseLabel3=Lue seuraava käyttöoikeussopimus tarkasti. Sinun täytyy hyväksyä sopimus, jos haluat jatkaa asentamista. +LicenseAccepted=&Hyväksyn sopimuksen +LicenseNotAccepted=&En hyväksy sopimusta + +; *** "Information" wizard pages +WizardInfoBefore=Tiedotus +InfoBeforeLabel=Lue seuraava tärkeä tiedotus ennen kuin jatkat. +InfoBeforeClickLabel=Kun olet valmis jatkamaan asentamista, valitse Seuraava. +WizardInfoAfter=Tiedotus +InfoAfterLabel=Lue seuraava tärkeä tiedotus ennen kuin jatkat. +InfoAfterClickLabel=Kun olet valmis jatkamaan asentamista, valitse Seuraava. + +; *** "Select Destination Directory" wizard page +WizardUserInfo=Käyttäjätiedot +UserInfoDesc=Anna pyydetyt tiedot. +UserInfoName=Käyttäjän &nimi: +UserInfoOrg=&Yritys: +UserInfoSerial=&Tunnuskoodi: +UserInfoNameRequired=Sinun täytyy antaa nimi. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Valitse kohdekansio +SelectDirDesc=Mihin [name] asennetaan? +SelectDirLabel3=[name] asennetaan tähän kansioon. +SelectDirBrowseLabel=Valitse Seuraava jatkaaksesi. Jos haluat vaihtaa kansiota, valitse Selaa. +DiskSpaceMBLabel=Vapaata levytilaa tarvitaan vähintään [mb] Mt. +CannotInstallToNetworkDrive=Asennus ei voi asentaa ohjelmaa verkkoasemalle. +CannotInstallToUNCPath=Asennus ei voi asentaa ohjelmaa UNC-polun alle. +InvalidPath=Anna täydellinen polku levyaseman kirjaimen kanssa. Esimerkiksi %nC:\OHJELMA%n%ntai UNC-polku muodossa %n%n\\palvelin\resurssi +InvalidDrive=Valitsemaasi asemaa tai UNC-polkua ei ole olemassa tai sitä ei voi käyttää. Valitse toinen asema tai UNC-polku. +DiskSpaceWarningTitle=Ei tarpeeksi vapaata levytilaa +DiskSpaceWarning=Asennus vaatii vähintään %1 kt vapaata levytilaa, mutta valitulla levyasemalla on vain %2 kt vapaata levytilaa.%n%nHaluatko jatkaa tästä huolimatta? +DirNameTooLong=Kansion nimi tai polku on liian pitkä. +InvalidDirName=Virheellinen kansion nimi. +BadDirName32=Kansion nimessä ei saa olla seuraavia merkkejä:%n%n%1 +DirExistsTitle=Kansio on olemassa +DirExists=Kansio:%n%n%1%n%non jo olemassa. Haluatko kuitenkin suorittaa asennuksen tähän kansioon? +DirDoesntExistTitle=Kansiota ei ole olemassa +DirDoesntExist=Kansiota%n%n%1%n%nei ole olemassa. Luodaanko kansio? + +; *** "Select Components" wizard page +WizardSelectComponents=Valitse asennettavat osat +SelectComponentsDesc=Mitkä osat asennetaan? +SelectComponentsLabel2=Valitse ne osat, jotka haluat asentaa, ja poista niiden osien valinta, joita et halua asentaa. Valitse Seuraava, kun olet valmis. +FullInstallation=Normaali asennus +CompactInstallation=Suppea asennus +CustomInstallation=Mukautettu asennus +NoUninstallWarningTitle=Asennettuja osia löydettiin +NoUninstallWarning=Seuraavat osat on jo asennettu koneelle:%n%n%1%n%nNäiden osien valinnan poistaminen ei poista niitä koneelta.%n%nHaluatko jatkaa tästä huolimatta? +ComponentSize1=%1 kt +ComponentSize2=%1 Mt +ComponentsDiskSpaceMBLabel=Nykyiset valinnat vaativat vähintään [mb] Mt levytilaa. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Valitse muut toiminnot +SelectTasksDesc=Mitä muita toimintoja suoritetaan? +SelectTasksLabel2=Valitse muut toiminnot, jotka haluat Asennuksen suorittavan samalla kun [name] asennetaan. Valitse Seuraava, kun olet valmis. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Valitse Käynnistä-valikon kansio +SelectStartMenuFolderDesc=Mihin ohjelman pikakuvakkeet sijoitetaan? +SelectStartMenuFolderLabel3=Ohjelman pikakuvakkeet luodaan tähän Käynnistä-valikon kansioon. +SelectStartMenuFolderBrowseLabel=Valitse Seuraava jatkaaksesi. Jos haluat vaihtaa kansiota, valitse Selaa. +MustEnterGroupName=Kansiolle pitää antaa nimi. +GroupNameTooLong=Kansion nimi tai polku on liian pitkä. +InvalidGroupName=Virheellinen kansion nimi. +BadGroupName=Kansion nimessä ei saa olla seuraavia merkkejä:%n%n%1 +NoProgramGroupCheck2=Älä luo k&ansiota Käynnistä-valikkoon + +; *** "Ready to Install" wizard page +WizardReady=Valmiina asennukseen +ReadyLabel1=[name] on nyt valmis asennettavaksi. +ReadyLabel2a=Valitse Asenna jatkaaksesi asentamista tai valitse Takaisin, jos haluat tarkastella tekemiäsi asetuksia tai muuttaa niitä. +ReadyLabel2b=Valitse Asenna jatkaaksesi asentamista. +ReadyMemoUserInfo=Käyttäjätiedot: +ReadyMemoDir=Kohdekansio: +ReadyMemoType=Asennustyyppi: +ReadyMemoComponents=Asennettavaksi valitut osat: +ReadyMemoGroup=Käynnistä-valikon kansio: +ReadyMemoTasks=Muut toiminnot: + +; *** "Preparing to Install" wizard page +WizardPreparing=Valmistellaan asennusta +PreparingDesc=Valmistaudutaan asentamaan [name] koneellesi. +PreviousInstallNotCompleted=Edellisen ohjelman asennus tai asennuksen poisto ei ole valmis. Sinun täytyy käynnistää kone uudelleen viimeistelläksesi edellisen asennuksen.%n%nAja [name] -asennusohjelma uudestaan, kun olet käynnistänyt koneen uudelleen. +CannotContinue=Asennusta ei voida jatkaa. Valitse Peruuta poistuaksesi. +ApplicationsFound=Seuraavat sovellukset käyttävät tiedostoja, joita Asennuksen pitää päivittää. On suositeltavaa, että annat Asennuksen sulkea nämä sovellukset automaattisesti. +ApplicationsFound2=Seuraavat sovellukset käyttävät tiedostoja, joita Asennuksen pitää päivittää. On suositeltavaa, että annat Asennuksen sulkea nämä sovellukset automaattisesti. Valmistumisen jälkeen Asennus yrittää uudelleenkäynnistää sovellukset. +CloseApplications=&Sulje sovellukset automaattisesti +DontCloseApplications=&Älä sulje sovelluksia +ErrorCloseApplications=Asennus ei pystynyt sulkemaan tarvittavia sovelluksia automaattisesti. On suositeltavaa, että ennen jatkamista suljet sovellukset, jotka käyttävät asennuksen aikana päivitettäviä tiedostoja. + +; *** "Installing" wizard page +WizardInstalling=Asennus käynnissä +InstallingLabel=Odota, kun [name] asennetaan koneellesi. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=[name] - Asennuksen viimeistely +FinishedLabelNoIcons=[name] on nyt asennettu koneellesi. +FinishedLabel=[name] on nyt asennettu. Sovellus voidaan käynnistää valitsemalla jokin asennetuista kuvakkeista. +ClickFinish=Valitse Lopeta poistuaksesi Asennuksesta. +FinishedRestartLabel=Jotta [name] saataisiin asennettua loppuun, pitää kone käynnistää uudelleen. Haluatko käynnistää koneen uudelleen nyt? +FinishedRestartMessage=Jotta [name] saataisiin asennettua loppuun, pitää kone käynnistää uudelleen.%n%nHaluatko käynnistää koneen uudelleen nyt? +ShowReadmeCheck=Kyllä, haluan nähdä LUEMINUT-tiedoston +YesRadio=&Kyllä, käynnistä kone uudelleen +NoRadio=&Ei, käynnistän koneen uudelleen myöhemmin +RunEntryExec=Käynnistä %1 +RunEntryShellExec=Näytä %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=Asennus tarvitsee seuraavan levykkeen +SelectDiskLabel2=Aseta levyke %1 asemaan ja valitse OK. %n%nJos joku toinen kansio sisältää levykkeen tiedostot, anna oikea polku tai valitse Selaa. +PathLabel=&Polku: +FileNotInDir2=Tiedostoa "%1" ei löytynyt lähteestä "%2". Aseta oikea levyke asemaan tai valitse toinen kansio. +SelectDirectoryLabel=Määritä seuraavan levykkeen sisällön sijainti. + +; *** Installation phase messages +SetupAborted=Asennusta ei suoritettu loppuun.%n%nKorjaa ongelma ja suorita Asennus uudelleen. +EntryAbortRetryIgnore=Valitse Uudelleen yrittääksesi uudelleen, Ohita jatkaaksesi kaikesta huolimatta tai Hylkää peruuttaaksesi asennuksen. + +; *** Installation status messages +StatusClosingApplications=Suljetaan sovellukset... +StatusCreateDirs=Luodaan hakemistoja... +StatusExtractFiles=Puretaan tiedostoja... +StatusCreateIcons=Luodaan pikakuvakkeita... +StatusCreateIniEntries=Luodaan INI-merkintöjä... +StatusCreateRegistryEntries=Luodaan rekisterimerkintöjä... +StatusRegisterFiles=Rekisteröidään tiedostoja... +StatusSavingUninstall=Tallennetaan Asennuksen poiston tietoja... +StatusRunProgram=Viimeistellään asennusta... +StatusRestartingApplications=Uudelleenkäynnistetään sovellukset... +StatusRollback=Peruutetaan tehdyt muutokset... + +; *** Misc. errors +ErrorInternal2=Sisäinen virhe: %1 +ErrorFunctionFailedNoCode=%1 epäonnistui +ErrorFunctionFailed=%1 epäonnistui; virhekoodi %2 +ErrorFunctionFailedWithMessage=%1 epäonnistui; virhekoodi %2.%n%3 +ErrorExecutingProgram=Virhe suoritettaessa tiedostoa%n%1 + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=Asennetaan %1. +ShutdownBlockReasonUninstallingApp=Poistetaan %1. + +; *** Registry errors +ErrorRegOpenKey=Virhe avattaessa rekisteriavainta%n%1\%2 +ErrorRegCreateKey=Virhe luotaessa rekisteriavainta%n%1\%2 +ErrorRegWriteKey=Virhe kirjoitettaessa rekisteriavaimeen%n%1\%2 + +; *** INI errors +ErrorIniEntry=Virhe luotaessa INI-merkintää tiedostoon "%1". + +; *** File copying errors +FileAbortRetryIgnore=Valitse Uudelleen yrittääksesi uudelleen, Ohita ohittaaksesi tämän tiedoston (ei suositeltavaa) tai Hylkää peruuttaaksesi asennuksen. +FileAbortRetryIgnore2=Valitse Uudelleen yrittääksesi uudelleen, Ohita jatkaaksesi kaikesta huolimatta (ei suositeltavaa) tai Hylkää peruuttaaksesi asennuksen. +SourceIsCorrupted=Lähdetiedosto on vaurioitunut +SourceDoesntExist=Lähdetiedostoa "%1" ei ole olemassa +ExistingFileReadOnly=Nykyinen tiedosto on Vain luku -tiedosto.%n%nValitse Uudelleen poistaaksesi Vain luku -määritteen uudelleenyritystä varten, Ohita ohittaaksesi tämän tiedoston tai Hylkää peruuttaaksesi asennuksen. +ErrorReadingExistingDest=Virhe luettaessa nykyistä tiedostoa: +FileExists=Tiedosto on jo olemassa.%n%nKorvataanko se? +ExistingFileNewer=Nykyinen tiedosto on uudempi kuin asennettava tiedosto. Nykyisen tiedoston säilyttäminen on suositeltavaa.n%nHaluatko säilyttää nykyisen tiedoston? +ErrorChangingAttr=Virhe vaihdettaessa nykyisen tiedoston määritteitä: +ErrorCreatingTemp=Virhe luotaessa tiedostoa kohdehakemistoon: +ErrorReadingSource=Virhe luettaessa lähdetiedostoa: +ErrorCopying=Virhe kopioitaessa tiedostoa: +ErrorReplacingExistingFile=Virhe korvattaessa nykyistä tiedostoa: +ErrorRestartReplace=RestartReplace-komento epäonnistui: +ErrorRenamingTemp=Virhe uudelleennimettäessä tiedostoa kohdehakemistossa: +ErrorRegisterServer=DLL/OCX -laajennuksen rekisteröinti epäonnistui: %1 +ErrorRegSvr32Failed=RegSvr32-toiminto epäonnistui. Virhekoodi: %1 +ErrorRegisterTypeLib=Tyyppikirjaston rekisteröiminen epäonnistui: %1 + +; *** Post-installation errors +ErrorOpeningReadme=Virhe avattaessa LUEMINUT-tiedostoa. +ErrorRestartingComputer=Koneen uudelleenkäynnistäminen ei onnistunut. Suorita uudelleenkäynnistys itse. + +; *** Uninstaller messages +UninstallNotFound=Tiedostoa "%1" ei löytynyt. Asennuksen poisto ei onnistu. +UninstallOpenError=Tiedostoa "%1" ei voitu avata. Asennuksen poisto ei onnistu. +UninstallUnsupportedVer=Tämä versio Asennuksen poisto-ohjelmasta ei pysty lukemaan lokitiedostoa "%1". Asennuksen poisto ei onnistu +UninstallUnknownEntry=Asennuksen poisto-ohjelman lokitiedostosta löytyi tuntematon merkintä (%1) +ConfirmUninstall=Poistetaanko %1 ja kaikki sen osat? +UninstallOnlyOnWin64=Tämä ohjelma voidaan poistaa vain 64-bittisestä Windowsista käsin. +OnlyAdminCanUninstall=Tämän asennuksen poistaminen vaatii järjestelmänvalvojan oikeudet. +UninstallStatusLabel=Odota, kun %1 poistetaan koneeltasi. +UninstalledAll=%1 poistettiin onnistuneesti. +UninstalledMost=%1 poistettiin koneelta.%n%nJoitakin osia ei voitu poistaa. Voit poistaa osat itse. +UninstalledAndNeedsRestart=Kone täytyy käynnistää uudelleen, jotta %1 voidaan poistaa kokonaan.%n%nHaluatko käynnistää koneen uudeelleen nyt? +UninstallDataCorrupted=Tiedosto "%1" on vaurioitunut. Asennuksen poisto ei onnistu. + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Poistetaanko jaettu tiedosto? +ConfirmDeleteSharedFile2=Järjestelmän mukaan seuraava jaettu tiedosto ei ole enää minkään muun sovelluksen käytössä. Poistetaanko tiedosto?%n%nJos jotkut sovellukset käyttävät vielä tätä tiedostoa ja se poistetaan, ne eivät välttämättä toimi enää kunnolla. Jos olet epävarma, valitse Ei. Tiedoston jättäminen koneelle ei aiheuta ongelmia. +SharedFileNameLabel=Tiedoston nimi: +SharedFileLocationLabel=Sijainti: +WizardUninstalling=Asennuksen poiston tila +StatusUninstalling=Poistetaan %1... + +[CustomMessages] + +NameAndVersion=%1 versio %2 +AdditionalIcons=Lisäkuvakkeet: +CreateDesktopIcon=Lu&o kuvake työpöydälle +CreateQuickLaunchIcon=Luo kuvake &pikakäynnistyspalkkiin +ProgramOnTheWeb=%1 Internetissä +UninstallProgram=Poista %1 +LaunchProgram=&Käynnistä %1 +AssocFileExtension=&Yhdistä %1 tiedostopäätteeseen %2 +AssocingFileExtension=Yhdistetään %1 tiedostopäätteeseen %2 ... +AutoStartProgramGroupDescription=Käynnistys: +AutoStartProgram=Käynnistä %1 automaattisesti +AddonHostProgramNotFound=%1 ei ole valitsemassasi kansiossa.%n%nHaluatko jatkaa tästä huolimatta? diff --git a/dist/windows/languages/French.isl b/dist/windows/languages/French.isl new file mode 100644 index 00000000..e3c8981c --- /dev/null +++ b/dist/windows/languages/French.isl @@ -0,0 +1,354 @@ +; *** Inno Setup version 5.5.3+ French messages *** +; +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/files/istrans/ +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). +; +; Maintained by Pierre Yager (pierre@levosgien.net) +; +; Contributors : Frédéric Bonduelle, Francis Pallini, Lumina, Pascal Peyrot +; +; Changes : +; + Accents on uppercase letters +; http://www.academie-francaise.fr/langue/questions.html#accentuation (lumina) +; + Typography quotes [see ISBN: 978-2-7433-0482-9] +; http://fr.wikipedia.org/wiki/Guillemet (lumina) +; + Binary units (Kio, Mio) [IEC 80000-13:2008] +; http://fr.wikipedia.org/wiki/Octet (lumina) +; + Reverted to standard units (Ko, Mo) to follow Windows Explorer Standard +; http://blogs.msdn.com/b/oldnewthing/archive/2009/06/11/9725386.aspx +; + Use more standard verbs for click and retry +; "click": "Clicker" instead of "Appuyer" +; "retry": "Recommencer" au lieu de "Réessayer" + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=Fran<00E7>ais +LanguageID=$040C +LanguageCodePage=1252 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=Installation +SetupWindowTitle=Installation - %1 +UninstallAppTitle=Désinstallation +UninstallAppFullTitle=Désinstallation - %1 + +; *** Misc. common +InformationTitle=Information +ConfirmTitle=Confirmation +ErrorTitle=Erreur + +; *** SetupLdr messages +SetupLdrStartupMessage=Cet assistant va installer %1. Voulez-vous continuer ? +LdrCannotCreateTemp=Impossible de créer un fichier temporaire. Abandon de l'installation +LdrCannotExecTemp=Impossible d'exécuter un fichier depuis le dossier temporaire. Abandon de l'installation + +; *** Startup error messages +LastErrorMessage=%1.%n%nErreur %2 : %3 +SetupFileMissing=Le fichier %1 est absent du dossier d'installation. Veuillez corriger le problème ou vous procurer une nouvelle copie du programme. +SetupFileCorrupt=Les fichiers d'installation sont altérés. Veuillez vous procurer une nouvelle copie du programme. +SetupFileCorruptOrWrongVer=Les fichiers d'installation sont altérés ou ne sont pas compatibles avec cette version de l'assistant d'installation. Veuillez corriger le problème ou vous procurer une nouvelle copie du programme. +InvalidParameter=Un paramètre non valide a été passé à la ligne de commande :%n%n%1 +SetupAlreadyRunning=L'assistant d'installation est déjà en cours d'exécution. +WindowsVersionNotSupported=Ce programme n'est pas prévu pour fonctionner avec la version de Windows utilisée sur votre ordinateur. +WindowsServicePackRequired=Ce programme a besoin de %1 Service Pack %2 ou d'une version plus récente. +NotOnThisPlatform=Ce programme ne fonctionne pas sous %1. +OnlyOnThisPlatform=Ce programme ne peut fonctionner que sous %1. +OnlyOnTheseArchitectures=Ce programme ne peut être installé que sur des versions de Windows qui supportent ces architectures : %n%n%1 +MissingWOW64APIs=La version de Windows que vous utilisez ne dispose pas des fonctionnalités nécessaires pour que l'assistant puisse réaliser une installation 64 bits. Pour corriger ce problème vous devez installer le Service Pack %1. +WinVersionTooLowError=Ce programme requiert la version %2 ou supérieure de %1. +WinVersionTooHighError=Ce programme ne peut pas être installé sous %1 version %2 ou supérieure. +AdminPrivilegesRequired=Vous devez disposer des droits d'administration de cet ordinateur pour installer ce programme. +PowerUserPrivilegesRequired=Vous devez disposer des droits d'administration ou faire partie du groupe « Utilisateurs avec pouvoir » de cet ordinateur pour installer ce programme. +SetupAppRunningError=L'assistant d'installation a détecté que %1 est actuellement en cours d'exécution.%n%nVeuillez fermer toutes les instances de cette application puis cliquer sur OK pour continuer, ou bien cliquer sur Annuler pour abandonner l'installation. +UninstallAppRunningError=La procédure de désinstallation a détecté que %1 est actuellement en cours d'exécution.%n%nVeuillez fermer toutes les instances de cette application puis cliquer sur OK pour continuer, ou bien cliquer sur Annuler pour abandonner la désinstallation. + +; *** Misc. errors +ErrorCreatingDir=L'assistant d'installation n'a pas pu créer le dossier "%1" +ErrorTooManyFilesInDir=L'assistant d'installation n'a pas pu créer un fichier dans le dossier "%1" car celui-ci contient trop de fichiers + +; *** Setup common messages +ExitSetupTitle=Quitter l'installation +ExitSetupMessage=L'installation n'est pas terminée. Si vous abandonnez maintenant, le programme ne sera pas installé.%n%nVous devrez relancer cet assistant pour finir l'installation.%n%nVoulez-vous quand même quitter l'assistant d'installation ? +AboutSetupMenuItem=&À propos... +AboutSetupTitle=À Propos de l'assistant d'installation +AboutSetupMessage=%1 version %2%n%3%n%nPage d'accueil de %1 :%n%4 +AboutSetupNote= +TranslatorNote=Traduction française maintenue par Pierre Yager (pierre@levosgien.net) + +; *** Buttons +ButtonBack=< &Précédent +ButtonNext=&Suivant > +ButtonInstall=&Installer +ButtonOK=OK +ButtonCancel=Annuler +ButtonYes=&Oui +ButtonYesToAll=Oui pour &tout +ButtonNo=&Non +ButtonNoToAll=N&on pour tout +ButtonFinish=&Terminer +ButtonBrowse=Pa&rcourir... +ButtonWizardBrowse=Pa&rcourir... +ButtonNewFolder=Nouveau &dossier + +; *** "Select Language" dialog messages +SelectLanguageTitle=Langue de l'assistant d'installation +SelectLanguageLabel=Veuillez sélectionner la langue qui sera utilisée par l'assistant d'installation : + +; *** Common wizard text +ClickNext=Cliquez sur Suivant pour continuer ou sur Annuler pour abandonner l'installation. +BeveledLabel= +BrowseDialogTitle=Parcourir les dossiers +BrowseDialogLabel=Veuillez choisir un dossier de destination, puis cliquez sur OK. +NewFolderName=Nouveau dossier + +; *** "Welcome" wizard page +WelcomeLabel1=Bienvenue dans l'assistant d'installation de [name] +WelcomeLabel2=Cet assistant va vous guider dans l'installation de [name/ver] sur votre ordinateur.%n%nIl est recommandé de fermer toutes les applications actives avant de continuer. + +; *** "Password" wizard page +WizardPassword=Mot de passe +PasswordLabel1=Cette installation est protégée par un mot de passe. +PasswordLabel3=Veuillez saisir le mot de passe (attention à la distinction entre majuscules et minuscules) puis cliquez sur Suivant pour continuer. +PasswordEditLabel=&Mot de passe : +IncorrectPassword=Le mot de passe saisi n'est pas valide. Veuillez essayer à nouveau. + +; *** "License Agreement" wizard page +WizardLicense=Accord de licence +LicenseLabel=Les informations suivantes sont importantes. Veuillez les lire avant de continuer. +LicenseLabel3=Veuillez lire le contrat de licence suivant. Vous devez en accepter tous les termes avant de continuer l'installation. +LicenseAccepted=Je comprends et j'&accepte les termes du contrat de licence +LicenseNotAccepted=Je &refuse les termes du contrat de licence + +; *** "Information" wizard pages +WizardInfoBefore=Information +InfoBeforeLabel=Les informations suivantes sont importantes. Veuillez les lire avant de continuer. +InfoBeforeClickLabel=Lorsque vous êtes prêt à continuer, cliquez sur Suivant. +WizardInfoAfter=Information +InfoAfterLabel=Les informations suivantes sont importantes. Veuillez les lire avant de continuer. +InfoAfterClickLabel=Lorsque vous êtes prêt à continuer, cliquez sur Suivant. + +; *** "User Information" wizard page +WizardUserInfo=Informations sur l'Utilisateur +UserInfoDesc=Veuillez saisir les informations qui vous concernent. +UserInfoName=&Nom d'utilisateur : +UserInfoOrg=&Organisation : +UserInfoSerial=Numéro de &série : +UserInfoNameRequired=Vous devez au moins saisir un nom. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Dossier de destination +SelectDirDesc=Où [name] doit-il être installé ? +SelectDirLabel3=L'assistant va installer [name] dans le dossier suivant. +SelectDirBrowseLabel=Pour continuer, cliquez sur Suivant. Si vous souhaitez choisir un dossier différent, cliquez sur Parcourir. +DiskSpaceMBLabel=Le programme requiert au moins [mb] Mo d'espace disque disponible. +CannotInstallToNetworkDrive=L'assistant ne peut pas installer sur un disque réseau. +CannotInstallToUNCPath=L'assistant ne peut pas installer sur un chemin UNC. +InvalidPath=Vous devez saisir un chemin complet avec sa lettre de lecteur ; par exemple :%n%nC:\APP%n%nou un chemin réseau de la forme :%n%n\\serveur\partage +InvalidDrive=L'unité ou l'emplacement réseau que vous avez sélectionné n'existe pas ou n'est pas accessible. Veuillez choisir une autre destination. +DiskSpaceWarningTitle=Espace disponible insuffisant +DiskSpaceWarning=L'assistant a besoin d'au moins %1 Ko d'espace disponible pour effectuer l'installation, mais l'unité que vous avez sélectionnée ne dispose que de %2 Ko d'espace disponible.%n%nSouhaitez-vous continuer malgré tout ? +DirNameTooLong=Le nom ou le chemin du dossier est trop long. +InvalidDirName=Le nom du dossier est invalide. +BadDirName32=Le nom du dossier ne doit contenir aucun des caractères suivants :%n%n%1 +DirExistsTitle=Dossier existant +DirExists=Le dossier :%n%n%1%n%nexiste déjà. Souhaitez-vous installer dans ce dossier malgré tout ? +DirDoesntExistTitle=Le dossier n'existe pas +DirDoesntExist=Le dossier %n%n%1%n%nn'existe pas. Souhaitez-vous que ce dossier soit créé ? + +; *** "Select Components" wizard page +WizardSelectComponents=Composants à installer +SelectComponentsDesc=Quels composants de l'application souhaitez-vous installer ? +SelectComponentsLabel2=Sélectionnez les composants que vous désirez installer ; décochez les composants que vous ne désirez pas installer. Cliquez ensuite sur Suivant pour continuer l'installation. +FullInstallation=Installation complète +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Installation compacte +CustomInstallation=Installation personnalisée +NoUninstallWarningTitle=Composants existants +NoUninstallWarning=L'assistant d'installation a détecté que les composants suivants sont déjà installés sur votre système :%n%n%1%n%nDésélectionner ces composants ne les désinstallera pas pour autant.%n%nVoulez-vous continuer malgré tout ? +ComponentSize1=%1 Ko +ComponentSize2=%1 Mo +ComponentsDiskSpaceMBLabel=Les composants sélectionnés nécessitent au moins [mb] Mo d'espace disponible. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Tâches supplémentaires +SelectTasksDesc=Quelles sont les tâches supplémentaires qui doivent être effectuées ? +SelectTasksLabel2=Sélectionnez les tâches supplémentaires que l'assistant d'installation doit effectuer pendant l'installation de [name], puis cliquez sur Suivant. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Sélection du dossier du menu Démarrer +SelectStartMenuFolderDesc=Où l'assistant d'installation doit-il placer les raccourcis du programme ? +SelectStartMenuFolderLabel3=L'assistant va créer les raccourcis du programme dans le dossier du menu Démarrer indiqué ci-dessous. +SelectStartMenuFolderBrowseLabel=Cliquez sur Suivant pour continuer. Cliquez sur Parcourir si vous souhaitez sélectionner un autre dossier du menu Démarrer. +MustEnterGroupName=Vous devez saisir un nom de dossier du menu Démarrer. +GroupNameTooLong=Le nom ou le chemin du dossier est trop long. +InvalidGroupName=Le nom du dossier n'est pas valide. +BadGroupName=Le nom du dossier ne doit contenir aucun des caractères suivants :%n%n%1 +NoProgramGroupCheck2=Ne pas créer de &dossier dans le menu Démarrer + +; *** "Ready to Install" wizard page +WizardReady=Prêt à installer +ReadyLabel1=L'assistant dispose à présent de toutes les informations pour installer [name] sur votre ordinateur. +ReadyLabel2a=Cliquez sur Installer pour procéder à l'installation ou sur Précédent pour revoir ou modifier une option d'installation. +ReadyLabel2b=Cliquez sur Installer pour procéder à l'installation. +ReadyMemoUserInfo=Informations sur l'utilisateur : +ReadyMemoDir=Dossier de destination : +ReadyMemoType=Type d'installation : +ReadyMemoComponents=Composants sélectionnés : +ReadyMemoGroup=Dossier du menu Démarrer : +ReadyMemoTasks=Tâches supplémentaires : + +; *** "Preparing to Install" wizard page +WizardPreparing=Préparation de l'installation +PreparingDesc=L'assistant d'installation prépare l'installation de [name] sur votre ordinateur. +PreviousInstallNotCompleted=L'installation ou la suppression d'un programme précédent n'est pas totalement achevée. Veuillez redémarrer votre ordinateur pour achever cette installation ou suppression.%n%nUne fois votre ordinateur redémarré, veuillez relancer cet assistant pour reprendre l'installation de [name]. +CannotContinue=L'assistant ne peut pas continuer. Veuillez cliquer sur Annuler pour abandonner l'installation. +ApplicationsFound=Les applications suivantes utilisent des fichiers qui doivent être mis à jour par l'assistant. Il est recommandé d'autoriser l'assistant à fermer ces applications automatiquement. +ApplicationsFound2=Les applications suivantes utilisent des fichiers qui doivent être mis à jour par l'assistant. Il est recommandé d'autoriser l'assistant à fermer ces applications automatiquement. Une fois l'installation terminée, l'assistant essaiera de relancer ces applications. +CloseApplications=&Arrêter les applications automatiquement +DontCloseApplications=&Ne pas arrêter les applications +ErrorCloseApplications=L'assistant d'installation n'a pas pu arrêter toutes les applications automatiquement. Nous vous recommandons de fermer toutes les applications qui utilisent des fichiers devant être mis à jour par l'assistant d'installation avant de continuer. + +; *** "Installing" wizard page +WizardInstalling=Installation en cours +InstallingLabel=Veuillez patienter pendant que l'assistant installe [name] sur votre ordinateur. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=Fin de l'installation de [name] +FinishedLabelNoIcons=L'assistant a terminé l'installation de [name] sur votre ordinateur. +FinishedLabel=L'assistant a terminé l'installation de [name] sur votre ordinateur. L'application peut être lancée à l'aide des icônes créées sur le Bureau par l'installation. +ClickFinish=Veuillez cliquer sur Terminer pour quitter l'assistant d'installation. +FinishedRestartLabel=L'assistant doit redémarrer votre ordinateur pour terminer l'installation de [name].%n%nVoulez-vous redémarrer maintenant ? +FinishedRestartMessage=L'assistant doit redémarrer votre ordinateur pour terminer l'installation de [name].%n%nVoulez-vous redémarrer maintenant ? +ShowReadmeCheck=Oui, je souhaite lire le fichier LISEZMOI +YesRadio=&Oui, redémarrer mon ordinateur maintenant +NoRadio=&Non, je préfère redémarrer mon ordinateur plus tard +; used for example as 'Run MyProg.exe' +RunEntryExec=Exécuter %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=Voir %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=L'assistant a besoin du disque suivant +SelectDiskLabel2=Veuillez insérer le disque %1 et cliquer sur OK.%n%nSi les fichiers de ce disque se trouvent à un emplacement différent de celui indiqué ci-dessous, veuillez saisir le chemin correspondant ou cliquez sur Parcourir. +PathLabel=&Chemin : +FileNotInDir2=Le fichier "%1" ne peut pas être trouvé dans "%2". Veuillez insérer le bon disque ou sélectionner un autre dossier. +SelectDirectoryLabel=Veuillez indiquer l'emplacement du disque suivant. + +; *** Installation phase messages +SetupAborted=L'installation n'est pas terminée.%n%nVeuillez corriger le problème et relancer l'installation. +EntryAbortRetryIgnore=Cliquez sur Recommencer pour essayer à nouveau, Ignorer pour continuer malgré tout, ou Abandonner pour annuler l'installation. + +; *** Installation status messages +StatusClosingApplications=Ferme les applications... +StatusCreateDirs=Création des dossiers... +StatusExtractFiles=Extraction des fichiers... +StatusCreateIcons=Création des raccourcis... +StatusCreateIniEntries=Création des entrées du fichier INI... +StatusCreateRegistryEntries=Création des entrées de registre... +StatusRegisterFiles=Enregistrement des fichiers... +StatusSavingUninstall=Sauvegarde des informations de désinstallation... +StatusRunProgram=Finalisation de l'installation... +StatusRestartingApplications=Relance les applications... +StatusRollback=Annulation des modifications... + +; *** Misc. errors +ErrorInternal2=Erreur interne : %1 +ErrorFunctionFailedNoCode=%1 a échoué +ErrorFunctionFailed=%1 a échoué ; code %2 +ErrorFunctionFailedWithMessage=%1 a échoué ; code %2.%n%3 +ErrorExecutingProgram=Impossible d'exécuter le fichier :%n%1 + +; *** Registry errors +ErrorRegOpenKey=Erreur lors de l'ouverture de la clé de registre :%n%1\%2 +ErrorRegCreateKey=Erreur lors de la création de la clé de registre :%n%1\%2 +ErrorRegWriteKey=Erreur lors de l'écriture de la clé de registre :%n%1\%2 + +; *** INI errors +ErrorIniEntry=Erreur d'écriture d'une entrée dans le fichier INI "%1". + +; *** File copying errors +FileAbortRetryIgnore=Cliquez sur Recommencer pour essayer à nouveau, Ignorer pour passer ce fichier (déconseillé), ou Abandonner pour annuler l'installation. +FileAbortRetryIgnore2=Cliquez sur Recommencer pour essayer à nouveau, Ignorer pour continuer malgré tout (déconseillé), ou Abandonner pour annuler l'installation. +SourceIsCorrupted=Le fichier source est altéré +SourceDoesntExist=Le fichier source "%1" n'existe pas +ExistingFileReadOnly=Le fichier existant est protégé en lecture seule.%n%nCliquez sur Recommencer pour enlever la protection et essayer à nouveau, Ignorer pour passer ce fichier, ou Abandonner pour annuler l'installation. +ErrorReadingExistingDest=Une erreur s'est produite lors de la tentative de lecture du fichier existant : +FileExists=Le fichier existe déjà.%n%nSouhaitez-vous que l'installation le remplace ? +ExistingFileNewer=Le fichier existant est plus récent que celui que l'assistant essaie d'installer. Il est recommandé de conserver le fichier existant.%n%nSouhaitez-vous conserver le fichier existant ? +ErrorChangingAttr=Une erreur est survenue en essayant de modifier les attributs du fichier existant : +ErrorCreatingTemp=Une erreur est survenue en essayant de créer un fichier dans le dossier de destination : +ErrorReadingSource=Une erreur est survenue lors de la lecture du fichier source : +ErrorCopying=Une erreur est survenue lors de la copie d'un fichier : +ErrorReplacingExistingFile=Une erreur est survenue lors du remplacement d'un fichier existant : +ErrorRestartReplace=Le marquage d'un fichier pour remplacement au redémarrage de l'ordinateur a échoué : +ErrorRenamingTemp=Une erreur est survenue en essayant de renommer un fichier dans le dossier de destination : +ErrorRegisterServer=Impossible d'enregistrer la bibliothèque DLL/OCX : %1 +ErrorRegSvr32Failed=RegSvr32 a échoué et a retourné le code d'erreur %1 +ErrorRegisterTypeLib=Impossible d'enregistrer la bibliothèque de type : %1 + +; *** Post-installation errors +ErrorOpeningReadme=Une erreur est survenue à l'ouverture du fichier LISEZMOI. +ErrorRestartingComputer=L'installation n'a pas pu redémarrer l'ordinateur. Merci de bien vouloir le faire vous-même. + +; *** Uninstaller messages +UninstallNotFound=Le fichier "%1" n'existe pas. Impossible de désinstaller. +UninstallOpenError=Le fichier "%1" n'a pas pu être ouvert. Impossible de désinstaller +UninstallUnsupportedVer=Le format du fichier journal de désinstallation "%1" n'est pas reconnu par cette version de la procédure de désinstallation. Impossible de désinstaller +UninstallUnknownEntry=Une entrée inconnue (%1) a été rencontrée dans le fichier journal de désinstallation +ConfirmUninstall=Voulez-vous vraiment désinstaller complètement %1 ainsi que tous ses composants ? +UninstallOnlyOnWin64=La désinstallation de ce programme ne fonctionne qu'avec une version 64 bits de Windows. +OnlyAdminCanUninstall=Ce programme ne peut être désinstallé que par un utilisateur disposant des droits d'administration. +UninstallStatusLabel=Veuillez patienter pendant que %1 est retiré de votre ordinateur. +UninstalledAll=%1 a été correctement désinstallé de cet ordinateur. +UninstalledMost=La désinstallation de %1 est terminée.%n%nCertains éléments n'ont pas pu être supprimés automatiquement. Vous pouvez les supprimer manuellement. +UninstalledAndNeedsRestart=Vous devez redémarrer l'ordinateur pour terminer la désinstallation de %1.%n%nVoulez-vous redémarrer maintenant ? +UninstallDataCorrupted=Le ficher "%1" est altéré. Impossible de désinstaller + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Supprimer les fichiers partagés ? +ConfirmDeleteSharedFile2=Le système indique que le fichier partagé suivant n'est plus utilisé par aucun programme. Souhaitez-vous que la désinstallation supprime ce fichier partagé ?%n%nSi des programmes utilisent encore ce fichier et qu'il est supprimé, ces programmes ne pourront plus fonctionner correctement. Si vous n'êtes pas sûr, choisissez Non. Laisser ce fichier dans votre système ne posera pas de problème. +SharedFileNameLabel=Nom du fichier : +SharedFileLocationLabel=Emplacement : +WizardUninstalling=État de la désinstallation +StatusUninstalling=Désinstallation de %1... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=Installe %1. +ShutdownBlockReasonUninstallingApp=Désinstalle %1. + +; Les messages personnalisés suivants ne sont pas utilisé par l'installation +; elle-même, mais si vous les utilisez dans vos scripts, vous devez les +; traduire + +[CustomMessages] + +NameAndVersion=%1 version %2 +AdditionalIcons=Icônes supplémentaires : +CreateDesktopIcon=Créer une icône sur le &Bureau +CreateQuickLaunchIcon=Créer une icône dans la barre de &Lancement rapide +ProgramOnTheWeb=Page d'accueil de %1 +UninstallProgram=Désinstaller %1 +LaunchProgram=Exécuter %1 +AssocFileExtension=&Associer %1 avec l'extension de fichier %2 +AssocingFileExtension=Associe %1 avec l'extension de fichier %2... +AutoStartProgramGroupDescription=Démarrage : +AutoStartProgram=Démarrer automatiquement %1 +AddonHostProgramNotFound=%1 n'a pas été trouvé dans le dossier que vous avez choisi.%n%nVoulez-vous continuer malgré tout ? diff --git a/dist/windows/languages/German.isl b/dist/windows/languages/German.isl new file mode 100644 index 00000000..dd36a703 --- /dev/null +++ b/dist/windows/languages/German.isl @@ -0,0 +1,346 @@ +; ****************************************************** +; *** *** +; *** Inno Setup version 5.5.3+ German messages *** +; *** *** +; *** Changes 5.5.3+ Author: *** +; *** *** +; *** Peter Stadler(Peter.Stadler@univie.ac.at) *** +; *** Original Author: *** +; *** *** +; *** Michael Reitz (innosetup@assimilate.de) *** +; *** *** +; *** Contributors: *** +; *** *** +; *** Roland Ruder (info@rr4u.de) *** +; *** Hans Sperber (Hans.Sperber@de.bosch.com) *** +; *** LaughingMan (puma.d@web.de) *** +; *** *** +; ****************************************************** +; +; Diese Übersetzung hält sich an die neue deutsche Rechtschreibung. + +[LangOptions] +LanguageName=Deutsch +LanguageID=$0407 +LanguageCodePage=1252 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=Setup +SetupWindowTitle=Setup - %1 +UninstallAppTitle=Entfernen +UninstallAppFullTitle=%1 entfernen + +; *** Misc. common +InformationTitle=Information +ConfirmTitle=Bestätigen +ErrorTitle=Fehler + +; *** SetupLdr messages +SetupLdrStartupMessage=%1 wird jetzt installiert. Möchten Sie fortfahren? +LdrCannotCreateTemp=Es konnte keine temporäre Datei erstellt werden. Das Setup wurde abgebrochen +LdrCannotExecTemp=Die Datei konnte nicht im temporären Ordner ausgeführt werden. Das Setup wurde abgebrochen + +; *** Startup error messages +LastErrorMessage=%1.%n%nFehler %2: %3 +SetupFileMissing=Die Datei %1 fehlt im Installations-Ordner. Bitte beheben Sie das Problem, oder besorgen Sie sich eine neue Kopie des Programms. +SetupFileCorrupt=Die Setup-Dateien sind beschädigt. Besorgen Sie sich bitte eine neue Kopie des Programms. +SetupFileCorruptOrWrongVer=Die Setup-Dateien sind beschädigt oder inkompatibel zu dieser Version des Setups. Bitte beheben Sie das Problem, oder besorgen Sie sich eine neue Kopie des Programms. +InvalidParameter=Ein ungültiger Paramter wurde auf der Kommandozeile übergeben:%n%n%1 +SetupAlreadyRunning=Setup läuft bereits. +WindowsVersionNotSupported=Dieses Programm unterstützt die auf Ihrem Computer installierte Windows-Version nicht. +WindowsServicePackRequired=Dieses Programm benötigt %1 Service Pack %2 oder höher. +NotOnThisPlatform=Dieses Programm kann nicht unter %1 ausgeführt werden. +OnlyOnThisPlatform=Dieses Programm muss unter %1 ausgeführt werden. +OnlyOnTheseArchitectures=Dieses Programm kann nur auf Windows-Versionen installiert werden, die folgende Prozessor-Architekturen unterstützen:%n%n%1 +MissingWOW64APIs=Ihre Windows-Version enthält nicht die Funktionen, die vom Setup für eine 64-bit Installation benötigt werden. Installieren Sie bitte Service Pack %1, um dieses Problem zu beheben. +WinVersionTooLowError=Dieses Programm benötigt %1 Version %2 oder höher. +WinVersionTooHighError=Dieses Programm kann nicht unter %1 Version %2 oder höher installiert werden. +AdminPrivilegesRequired=Sie müssen als Administrator angemeldet sein, um dieses Programm installieren zu können. +PowerUserPrivilegesRequired=Sie müssen als Administrator oder als Mitglied der Hauptbenutzer-Gruppe angemeldet sein, um dieses Programm installieren zu können. +SetupAppRunningError=Das Setup hat entdeckt, dass %1 zur Zeit ausgeführt wird.%n%nBitte schließen Sie jetzt alle laufenden Instanzen, und klicken Sie auf "OK", um fortzufahren, oder auf "Abbrechen", um zu beenden. +UninstallAppRunningError=Die Deinstallation hat entdeckt, dass %1 zur Zeit ausgeführt wird.%n%nBitte schließen Sie jetzt alle laufenden Instanzen, und klicken Sie auf "OK", um fortzufahren, oder auf "Abbrechen", um zu beenden. + +; *** Misc. errors +ErrorCreatingDir=Das Setup konnte den Ordner "%1" nicht erstellen +ErrorTooManyFilesInDir=Das Setup konnte eine Datei im Ordner "%1" nicht erstellen, weil er zu viele Dateien enthält + +; *** Setup common messages +ExitSetupTitle=Setup verlassen +ExitSetupMessage=Das Setup ist noch nicht abgeschlossen. Wenn Sie jetzt beenden, wird das Programm nicht installiert.%n%nSie können das Setup zu einem späteren Zeitpunkt nochmals ausführen, um die Installation zu vervollständigen.%n%nSetup verlassen? +AboutSetupMenuItem=&Über das Setup ... +AboutSetupTitle=Über das Setup +AboutSetupMessage=%1 Version %2%n%3%n%n%1 Internet-Seite:%n%4 +AboutSetupNote= +TranslatorNote=German translation maintained by Peter Stadler (Peter.Stadler@univie.ac.at) + +; *** Buttons +ButtonBack=< &Zurück +ButtonNext=&Weiter > +ButtonInstall=&Installieren +ButtonOK=OK +ButtonCancel=Abbrechen +ButtonYes=&Ja +ButtonYesToAll=J&a für Alle +ButtonNo=&Nein +ButtonNoToAll=N&ein für Alle +ButtonFinish=&Fertigstellen +ButtonBrowse=&Durchsuchen ... +ButtonWizardBrowse=Du&rchsuchen ... +ButtonNewFolder=&Neuen Ordner erstellen + +; *** "Select Language" dialog messages +SelectLanguageTitle=Setup-Sprache auswählen +SelectLanguageLabel=Wählen Sie die Sprache aus, die während der Installation benutzt werden soll: + +; *** Common wizard text +ClickNext="Weiter" zum Fortfahren, "Abbrechen" zum Verlassen. +BeveledLabel= +BrowseDialogTitle=Ordner suchen +BrowseDialogLabel=Wählen Sie einen Ordner aus, und klicken Sie danach auf "OK". +NewFolderName=Neuer Ordner + +; *** "Welcome" wizard page +WelcomeLabel1=Willkommen zum [name] Setup-Assistenten +WelcomeLabel2=Dieser Assistent wird jetzt [name/ver] auf Ihrem Computer installieren.%n%nSie sollten alle anderen Anwendungen beenden, bevor Sie mit dem Setup fortfahren. + +; *** "Password" wizard page +WizardPassword=Passwort +PasswordLabel1=Diese Installation wird durch ein Passwort geschützt. +PasswordLabel3=Bitte geben Sie das Passwort ein, und klicken Sie danach auf "Weiter". Achten Sie auf korrekte Groß-/Kleinschreibung. +PasswordEditLabel=&Passwort: +IncorrectPassword=Das eingegebene Passwort ist nicht korrekt. Bitte versuchen Sie es noch einmal. + +; *** "License Agreement" wizard page +WizardLicense=Lizenzvereinbarung +LicenseLabel=Lesen Sie bitte folgende, wichtige Informationen bevor Sie fortfahren. +LicenseLabel3=Lesen Sie bitte die folgenden Lizenzvereinbarungen. Benutzen Sie bei Bedarf die Bildlaufleiste oder drücken Sie die "Bild Ab"-Taste. +LicenseAccepted=Ich &akzeptiere die Vereinbarung +LicenseNotAccepted=Ich &lehne die Vereinbarung ab + +; *** "Information" wizard pages +WizardInfoBefore=Information +InfoBeforeLabel=Lesen Sie bitte folgende, wichtige Informationen bevor Sie fortfahren. +InfoBeforeClickLabel=Klicken Sie auf "Weiter", sobald Sie bereit sind mit dem Setup fortzufahren. +WizardInfoAfter=Information +InfoAfterLabel=Lesen Sie bitte folgende, wichtige Informationen bevor Sie fortfahren. +InfoAfterClickLabel=Klicken Sie auf "Weiter", sobald Sie bereit sind mit dem Setup fortzufahren. + +; *** "User Information" wizard page +WizardUserInfo=Benutzerinformationen +UserInfoDesc=Bitte tragen Sie Ihre Daten ein. +UserInfoName=&Name: +UserInfoOrg=&Organisation: +UserInfoSerial=&Seriennummer: +UserInfoNameRequired=Sie müssen einen Namen eintragen. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Ziel-Ordner wählen +SelectDirDesc=Wohin soll [name] installiert werden? +SelectDirLabel3=Das Setup wird [name] in den folgenden Ordner installieren. +SelectDirBrowseLabel=Klicken Sie auf "Weiter", um fortzufahren. Klicken Sie auf "Durchsuchen", falls Sie einen anderen Ordner auswählen möchten. +DiskSpaceMBLabel=Mindestens [mb] MB freier Speicherplatz ist erforderlich. +CannotInstallToNetworkDrive=Das Setup kann nicht in einen Netzwerk-Pfad installieren. +CannotInstallToUNCPath=Das Setup kann nicht in einen UNC-Pfad installieren. Wenn Sie auf ein Netzlaufwerk installieren möchten, müssen Sie dem Netzwerkpfad einen Laufwerksbuchstaben zuordnen. +InvalidPath=Sie müssen einen vollständigen Pfad mit einem Laufwerksbuchstaben angeben; z.B.:%n%nC:\Beispiel%n%noder einen UNC-Pfad in der Form:%n%n\\Server\Freigabe +InvalidDrive=Das angegebene Laufwerk bzw. der UNC-Pfad existiert nicht oder es kann nicht darauf zugegriffen werden. Wählen Sie bitte einen anderen Ordner. +DiskSpaceWarningTitle=Nicht genug freier Speicherplatz +DiskSpaceWarning=Das Setup benötigt mindestens %1 KB freien Speicherplatz zum Installieren, aber auf dem ausgewählten Laufwerk sind nur %2 KB verfügbar.%n%nMöchten Sie trotzdem fortfahren? +DirNameTooLong=Der Ordnername/Pfad ist zu lang. +InvalidDirName=Der Ordnername ist nicht gültig. +BadDirName32=Ordnernamen dürfen keine der folgenden Zeichen enthalten:%n%n%1 +DirExistsTitle=Ordner existiert bereits +DirExists=Der Ordner:%n%n%1%n%n existiert bereits. Möchten Sie trotzdem in diesen Ordner installieren? +DirDoesntExistTitle=Ordner ist nicht vorhanden +DirDoesntExist=Der Ordner:%n%n%1%n%nist nicht vorhanden. Soll der Ordner erstellt werden? + +; *** "Select Components" wizard page +WizardSelectComponents=Komponenten auswählen +SelectComponentsDesc=Welche Komponenten sollen installiert werden? +SelectComponentsLabel2=Wählen Sie die Komponenten aus, die Sie installieren möchten. Klicken Sie auf "Weiter", wenn sie bereit sind fortzufahren. +FullInstallation=Vollständige Installation +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Kompakte Installation +CustomInstallation=Benutzerdefinierte Installation +NoUninstallWarningTitle=Komponenten vorhanden +NoUninstallWarning=Das Setup hat festgestellt, dass die folgenden Komponenten bereits auf Ihrem Computer installiert sind:%n%n%1%n%nDiese nicht mehr ausgewählten Komponenten werden nicht vom Computer entfernt.%n%nMöchten Sie trotzdem fortfahren? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=Die aktuelle Auswahl erfordert min. [mb] MB Speicherplatz. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Zusätzliche Aufgaben auswählen +SelectTasksDesc=Welche zusätzlichen Aufgaben sollen ausgeführt werden? +SelectTasksLabel2=Wählen Sie die zusätzlichen Aufgaben aus, die das Setup während der Installation von [name] ausführen soll, und klicken Sie danach auf "Weiter". + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Startmenü-Ordner auswählen +SelectStartMenuFolderDesc=Wo soll das Setup die Programm-Verknüpfungen erstellen? +SelectStartMenuFolderLabel3=Das Setup wird die Programm-Verknüpfungen im folgenden Startmenü-Ordner erstellen. +SelectStartMenuFolderBrowseLabel=Klicken Sie auf "Weiter", um fortzufahren. Klicken Sie auf "Durchsuchen", falls Sie einen anderen Ordner auswählen möchten. +MustEnterGroupName=Sie müssen einen Ordnernamen eingeben. +GroupNameTooLong=Der Ordnername/Pfad ist zu lang. +InvalidGroupName=Der Ordnername ist nicht gültig. +BadGroupName=Der Ordnername darf keine der folgenden Zeichen enthalten:%n%n%1 +NoProgramGroupCheck2=&Keinen Ordner im Startmenü erstellen + +; *** "Ready to Install" wizard page +WizardReady=Bereit zur Installation. +ReadyLabel1=Das Setup ist jetzt bereit, [name] auf Ihrem Computer zu installieren. +ReadyLabel2a=Klicken Sie auf "Installieren", um mit der Installation zu beginnen, oder auf "Zurück", um Ihre Einstellungen zu überprüfen oder zu ändern. +ReadyLabel2b=Klicken Sie auf "Installieren", um mit der Installation zu beginnen. +ReadyMemoUserInfo=Benutzerinformationen: +ReadyMemoDir=Ziel-Ordner: +ReadyMemoType=Setup-Typ: +ReadyMemoComponents=Ausgewählte Komponenten: +ReadyMemoGroup=Startmenü-Ordner: +ReadyMemoTasks=Zusätzliche Aufgaben: + +; *** "Preparing to Install" wizard page +WizardPreparing=Vorbereitung der Installation +PreparingDesc=Das Setup bereitet die Installation von [name] auf diesen Computer vor. +PreviousInstallNotCompleted=Eine vorherige Installation/Deinstallation eines Programms wurde nicht abgeschlossen. Der Computer muss neu gestartet werden, um die Installation/Deinstallation zu beenden.%n%nStarten Sie das Setup nach dem Neustart Ihres Computers erneut, um die Installation von [name] durchzuführen. +CannotContinue=Das Setup kann nicht fortfahren. Bitte klicken Sie auf "Abbrechen" zum Verlassen. +ApplicationsFound=Die folgenden Anwendungen benutzen Dateien, die aktualisiert werden müssen. Es wird empfohlen, Setup zu erlauben, diese Anwendungen zu schließen. +ApplicationsFound2=Die folgenden Anwendungen benutzen Dateien, die aktualisiert werden müssen. Es wird empfohlen, Setup zu erlauben, diese Anwendungen zu schließen. Nachdem die Installation fertiggestellt wurde, versucht Setup diese Anwendungen wieder zu starten. +CloseApplications=&Schließe automatisch die Anwendungen +DontCloseApplications=&Schließe die Anwendungen nicht +ErrorCloseApplications=Das Setup konnte nicht alle Anwendungen automatisch schließen. Es wird empfohlen, alle Anwendungen zu schließen, die Dateien benutzen, die vom Setup vor einer Fortsetzung aktualisiert werden müssen. + +; *** "Installing" wizard page +WizardInstalling=Installiere ... +InstallingLabel=Warten Sie bitte während [name] auf Ihrem Computer installiert wird. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=Beenden des [name] Setup-Assistenten +FinishedLabelNoIcons=Das Setup hat die Installation von [name] auf Ihrem Computer abgeschlossen. +FinishedLabel=Das Setup hat die Installation von [name] auf Ihrem Computer abgeschlossen. Die Anwendung kann über die installierten Programm-Verknüpfungen gestartet werden. +ClickFinish=Klicken Sie auf "Fertigstellen", um das Setup zu beenden. +FinishedRestartLabel=Um die Installation von [name] abzuschließen, muss das Setup Ihren Computer neu starten. Möchten Sie jetzt neu starten? +FinishedRestartMessage=Um die Installation von [name] abzuschließen, muss das Setup Ihren Computer neu starten.%n%nMöchten Sie jetzt neu starten? +ShowReadmeCheck=Ja, ich möchte die LIESMICH-Datei sehen +YesRadio=&Ja, Computer jetzt neu starten +NoRadio=&Nein, ich werde den Computer später neu starten +; used for example as 'Run MyProg.exe' +RunEntryExec=%1 starten +; used for example as 'View Readme.txt' +RunEntryShellExec=%1 anzeigen + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=Nächste Diskette einlegen +SelectDiskLabel2=Legen Sie bitte Diskette %1 ein, und klicken Sie auf "OK".%n%nWenn sich die Dateien von dieser Diskette in einem anderen als dem angezeigten Ordner befinden, dann geben Sie bitte den korrekten Pfad ein oder klicken auf "Durchsuchen". +PathLabel=&Pfad: +FileNotInDir2=Die Datei "%1" befindet sich nicht in "%2". Bitte Ordner ändern oder richtige Diskette einlegen. +SelectDirectoryLabel=Geben Sie bitte an, wo die nächste Diskette eingelegt wird. + +; *** Installation phase messages +SetupAborted=Das Setup konnte nicht abgeschlossen werden.%n%nBeheben Sie bitte das Problem, und starten Sie das Setup erneut. +EntryAbortRetryIgnore=Klicken Sie auf "Wiederholen" für einen weiteren Versuch, "Ignorieren", um trotzdem fortzufahren, oder "Abbrechen", um die Installation abzubrechen. + +; *** Installation status messages +StatusClosingApplications=Anwendungen werden geschlossen... +StatusCreateDirs=Ordner werden erstellt ... +StatusExtractFiles=Dateien werden entpackt ... +StatusCreateIcons=Verknüpfungen werden erstellt ... +StatusCreateIniEntries=INI-Einträge werden erstellt ... +StatusCreateRegistryEntries=Registry-Einträge werden erstellt ... +StatusRegisterFiles=Dateien werden registriert ... +StatusSavingUninstall=Deinstallations-Informationen werden gespeichert ... +StatusRunProgram=Installation wird beendet ... +StatusRestartingApplications=Neustart der Anwendungen... +StatusRollback=Änderungen werden rückgängig gemacht ... + +; *** Misc. errors +ErrorInternal2=Interner Fehler: %1 +ErrorFunctionFailedNoCode=%1 schlug fehl +ErrorFunctionFailed=%1 schlug fehl; Code %2 +ErrorFunctionFailedWithMessage=%1 schlug fehl; Code %2.%n%3 +ErrorExecutingProgram=Datei kann nicht ausgeführt werden:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Registry-Schlüssel konnte nicht geöffnet werden:%n%1\%2 +ErrorRegCreateKey=Registry-Schlüssel konnte nicht erstellt werden:%n%1\%2 +ErrorRegWriteKey=Fehler beim Schreiben des Registry-Schlüssels:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Fehler beim Erstellen eines INI-Eintrages in der Datei "%1". + +; *** File copying errors +FileAbortRetryIgnore=Klicken Sie auf "Wiederholen" für einen weiteren Versuch, "Ignorieren", um diese Datei zu überspringen (nicht empfohlen), oder "Abbrechen", um die Installation abzubrechen. +FileAbortRetryIgnore2=Klicken Sie auf "Wiederholen" für einen weiteren Versuch, "Ignorieren", um trotzdem fortzufahren (nicht empfohlen), oder "Abbrechen", um die Installation abzubrechen. +SourceIsCorrupted=Die Quelldatei ist beschädigt +SourceDoesntExist=Die Quelldatei "%1" existiert nicht +ExistingFileReadOnly=Die vorhandene Datei ist schreibgeschützt.%n%nKlicken Sie auf "Wiederholen", um den Schreibschutz zu entfernen, "Ignorieren", um die Datei zu überspringen, oder "Abbrechen", um die Installation abzubrechen. +ErrorReadingExistingDest=Lesefehler in Datei: +FileExists=Die Datei ist bereits vorhanden.%n%nSoll sie überschrieben werden? +ExistingFileNewer=Die vorhandene Datei ist neuer als die Datei, die installiert werden soll. Es wird empfohlen die vorhandene Datei beizubehalten.%n%n Möchten Sie die vorhandene Datei beibehalten? +ErrorChangingAttr=Fehler beim Ändern der Datei-Attribute: +ErrorCreatingTemp=Fehler beim Erstellen einer Datei im Ziel-Ordner: +ErrorReadingSource=Fehler beim Lesen der Quelldatei: +ErrorCopying=Fehler beim Kopieren einer Datei: +ErrorReplacingExistingFile=Fehler beim Ersetzen einer vorhandenen Datei: +ErrorRestartReplace="Ersetzen nach Neustart" fehlgeschlagen: +ErrorRenamingTemp=Fehler beim Umbenennen einer Datei im Ziel-Ordner: +ErrorRegisterServer=DLL/OCX konnte nicht registriert werden: %1 +ErrorRegSvr32Failed=RegSvr32-Aufruf scheiterte mit Exit-Code %1 +ErrorRegisterTypeLib=Typen-Bibliothek konnte nicht registriert werden: %1 + +; *** Post-installation errors +ErrorOpeningReadme=Fehler beim Öffnen der LIESMICH-Datei. +ErrorRestartingComputer=Das Setup konnte den Computer nicht neu starten. Bitte führen Sie den Neustart manuell durch. + +; *** Uninstaller messages +UninstallNotFound=Die Datei "%1" existiert nicht. Entfernen der Anwendung fehlgeschlagen. +UninstallOpenError=Die Datei "%1" konnte nicht geöffnet werden. Entfernen der Anwendung fehlgeschlagen. +UninstallUnsupportedVer=Das Format der Deinstallations-Datei "%1" konnte nicht erkannt werden. Entfernen der Anwendung fehlgeschlagen +UninstallUnknownEntry=In der Deinstallations-Datei wurde ein unbekannter Eintrag (%1) gefunden +ConfirmUninstall=Sind Sie sicher, dass Sie %1 und alle zugehörigen Komponenten entfernen möchten? +UninstallOnlyOnWin64=Diese Installation kann nur unter 64-bit Windows-Versionen entfernt werden. +OnlyAdminCanUninstall=Diese Installation kann nur von einem Benutzer mit Administrator-Rechten entfernt werden. +UninstallStatusLabel=Warten Sie bitte während %1 von Ihrem Computer entfernt wird. +UninstalledAll=%1 wurde erfolgreich von Ihrem Computer entfernt. +UninstalledMost=Entfernen von %1 beendet.%n%nEinige Komponenten konnten nicht entfernt werden. Diese können von Ihnen manuell gelöscht werden. +UninstalledAndNeedsRestart=Um die Deinstallation von %1 abzuschließen, muss Ihr Computer neu gestartet werden.%n%nMöchten Sie jetzt neu starten? +UninstallDataCorrupted="%1"-Datei ist beschädigt. Entfernen der Anwendung fehlgeschlagen. + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Gemeinsame Datei entfernen? +ConfirmDeleteSharedFile2=Das System zeigt an, dass die folgende gemeinsame Datei von keinem anderen Programm mehr benutzt wird. Möchten Sie diese Datei entfernen lassen?%nSollte es doch noch Programme geben, die diese Datei benutzen, und sie wird entfernt, funktionieren diese Programme vielleicht nicht mehr richtig. Wenn Sie unsicher sind, wählen Sie "Nein" um die Datei im System zu belassen. Es schadet Ihrem System nicht, wenn Sie die Datei behalten. +SharedFileNameLabel=Dateiname: +SharedFileLocationLabel=Ordner: +WizardUninstalling=Entfernen (Status) +StatusUninstalling=Entferne %1 ... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=Installation von %1. +ShutdownBlockReasonUninstallingApp=Deinstallation von %1. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 Version %2 +AdditionalIcons=Zusätzliche Symbole: +CreateDesktopIcon=&Desktop-Symbol erstellen +CreateQuickLaunchIcon=Symbol in der Schnellstartleiste erstellen +ProgramOnTheWeb=%1 im Internet +UninstallProgram=%1 entfernen +LaunchProgram=%1 starten +AssocFileExtension=&Registriere %1 mit der %2-Dateierweiterung +AssocingFileExtension=%1 wird mit der %2-Dateierweiterung registriert... +AutoStartProgramGroupDescription=Beginn des Setups: +AutoStartProgram=Starte automatisch%1 +AddonHostProgramNotFound=%1 konnte im ausgwählten Ordner nicht gefunden werden.%n%nMöchten Sie dennoch fortfahren? + diff --git a/dist/windows/languages/Greek.isl b/dist/windows/languages/Greek.isl new file mode 100644 index 00000000..58c5abba --- /dev/null +++ b/dist/windows/languages/Greek.isl @@ -0,0 +1,337 @@ +; *** Inno Setup version 5.5.3+ Greek messages *** +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). +; +; Originally translated by Anastasis Chatzioglou, baldycom@hotmail.com +; Updated by XhmikosR [XhmikosR, my_nickname at yahoo dot com] +; + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=<0395><03BB><03BB><03B7><03BD><03B9><03BA><03AC> +LanguageID=$408 +LanguageCodePage=1253 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=ÅãêáôÜóôáóç +SetupWindowTitle=ÅãêáôÜóôáóç - %1 +UninstallAppTitle=ÁðåãêáôÜóôáóç +UninstallAppFullTitle=%1 ÁðåãêáôÜóôáóç + +; *** Misc. common +InformationTitle=Ðëçñïöïñßåò +ConfirmTitle=Åðéâåâáßùóç +ErrorTitle=ÓöÜëìá + +; *** SetupLdr messages +SetupLdrStartupMessage=Èá åêôåëåóôåß ç åãêáôÜóôáóç ôïõ %1. ÈÝëåôå íá óõíå÷ßóåôå; +LdrCannotCreateTemp=ÓöÜëìá óôç äçìéïõñãßá ðñïóùñéíïý áñ÷åßïõ. Ç åãêáôÜóôáóç ôåñìáôßóôçêå. +LdrCannotExecTemp=Áäýíáôç ç åêôÝëåóç áñ÷åßïõ óôïí öÜêåëï ðñïóùñéíþí áñ÷åßùí. Ç åãêáôÜóôáóç ôåñìáôßóôçêå. + +; *** Startup error messages +LastErrorMessage=%1.%n%nÓöÜëìá %2: %3 +SetupFileMissing=Äåí âñßóêåôáé ôï áñ÷åßï %1 óôïí êáôÜëïãï åãêáôÜóôáóçò. ºóùò ÷ñåéÜæåôáé íá ðñïìçèåõôåßôå Ýíá íÝï áíôßãñáöï ôïõ ðñïãñÜììáôïò. +SetupFileCorrupt=Ôï áñ÷åßï åãêáôÜóôáóçò åßíáé êáôåóôñáììÝíï. ºóùò ÷ñåéÜæåôáé íá ðñïìçèåõôåßôå Ýíá íÝï áíôßãñáöï ôïõ ðñïãñÜììáôïò. +SetupFileCorruptOrWrongVer=Ôï áñ÷åßï åãêáôÜóôáóçò åßíáé êáôåóôñáììÝíï Þ åßíáé óå ëÜèïò Ýêäïóç. ºóùò ÷ñåéÜæåôáé íá ðñïìçèåõôåßôå Ýíá íÝï áíôßãñáöï ôïõ ðñïãñÜììáôïò. +InvalidParameter=Ìßá Üêõñç ðáñÜìåôñïò ÷ñçóéìïðïéÞèçêå óôç ãñáììÞ åíôïëþí:%n%n%1 +SetupAlreadyRunning=Ç åãêáôÜóôáóç ôñÝ÷åé Þäç. +WindowsVersionNotSupported=Áõôü ôï ðñüãñáììá äåí õðïóôçñßæåé ôçí Ýêäïóç ôùí Windows ðïõ ôñÝ÷åé ï õðïëïãéóôÞò óáò. +WindowsServicePackRequired=Áõôü ôï ðñüãñáììá ÷ñåéÜæåôáé %1 Service Pack %2 Þ íåüôåñï. +NotOnThisPlatform=Áõôü ôï ðñüãñáììá äåí ìðïñåß íá åêôåëåóôåß óå %1. +OnlyOnThisPlatform=Áõôü ôï ðñüãñáììá åêôåëåßôáé ìüíï óå %1. +OnlyOnTheseArchitectures=Áõôü ôï ðñüãñáììá ìðïñåß íá åãêáôáóôáèåß ìïíü óå Windows ó÷åäéáóìÝíá ãéá åðåîåñãáóôÝò ìå áñ÷éôåêôïíéêÞ:%n%n%1 +MissingWOW64APIs=Ç Ýêäïóç ôùí Windows ðïõ åêôåëåßôå äåí äéáèÝôåé ëåéôïõñãéêüôçôá 64-bit. Ãéá íá äéïñèùèåß ôï ðñüâëçìá åãêáôáóôÞóåôå ôï Service Pack %1. +WinVersionTooLowError=Áõôü ôï ðñüãñáììá áðáéôåß %1 Ýêäïóç Þ íåüôåñç. +WinVersionTooHighError=Áõôü ôï ðñüãñáììá äåí ìðïñåß íá åêôåëåóôåß óå %1 Ýêäïóç Þ íåüôåñç. +AdminPrivilegesRequired=ÐñÝðåé íá åßóôå ï Äéá÷åéñéóôÞò óõóôÞìáôïò ãéá íá åãêáôáóôÞóåôå áõôü ôï ðñüãñáììá. +PowerUserPrivilegesRequired=ÐñÝðåé íá åßóôå ï Äéá÷åéñéóôÞò óõóôÞìáôïò Þ Power User ãéá íá åãêáôáóôÞóåôå áõôü ôï ðñüãñáììá. +SetupAppRunningError=Ç åãêáôÜóôáóç åíôüðéóå üôé åêôåëåßôáé ç åöáñìïãÞ %1.%n%nÐáñáêáëþ êëåßóôå ôçí åöáñìïãÞ ôþñá êáé ðáôÞóôå ÅíôÜîåé ãéá íá óõíå÷ßóåôå, Þ ¢êõñï ãéá Ýîïäï. +UninstallAppRunningError=Ç áðåãêáôÜóôáóç åíôüðéóå üôé åêôåëåßôáé ç åöáñìïãÞ %1.%n%nÐáñáêáëþ êëåßóôå ôçí åöáñìïãÞ ôþñá êáé ðáôÞóôå ÅíôÜîåé ãéá íá óõíå÷ßóåôå, Þ ¢êõñï ãéá Ýîïäï. + +; *** Misc. errors +ErrorCreatingDir=Ç åãêáôÜóôáóç äåí ìðïñåß íá äçìéïõñãÞóåé ôïí öÜêåëï %1 +ErrorTooManyFilesInDir=Äåí ìðïñåß íá äçìéïõñãçèåß Ýíá áñ÷åßï óôïí öÜêåëï "%1" åðåéäÞ Þäç ðåñéÝ÷åé ðïëëÜ áñ÷åßá + +; *** Setup common messages +ExitSetupTitle=ÔÝëïò ÅãêáôÜóôáóçò +ExitSetupMessage=Ç åãêáôÜóôáóç äåí Ý÷åé ôåëåéþóåé. Áí ôç óôáìáôÞóåôå ôþñá, ôï ðñüãñáììá äåí èá åãêáôáóôáèåß.%n%nÌðïñåßôå íá åêôåëÝóåôå îáíÜ ôçí åãêáôÜóôáóç áñãüôåñá.%n%n¸îïäïò; +AboutSetupMenuItem=&Ó÷åôéêÜ ìå ôçí ÅãêáôÜóôáóç... +AboutSetupTitle=Ó÷åôéêÜ ìå ôçí ÅãêáôÜóôáóç +AboutSetupMessage=%1 Ýêäïóç %2%n%3%n%n%1 ðñïóùðéêÞ óåëßäá%n%4 +AboutSetupNote= +TranslatorNote=Áñ÷éêÞ ìåôÜöñáóç áðü ôïí Anastasis Chatzioglou.%nÅíçìåñþóåéò êáé âåëôéþóåéò áðü ôïí XhmikosR, my_nickname at yahoo dot com + +; *** Buttons +ButtonBack=< &Ðßóù +ButtonNext=&Åðüìåíï > +ButtonInstall=&ÅãêáôÜóôáóç +ButtonOK=Å&íôÜîåé +ButtonCancel=&Áêõñï +ButtonYes=Í&áé +ButtonYesToAll=Íáé óå &Ïëá +ButtonNo=¼&÷é +ButtonNoToAll=¼÷é &óå üëá +ButtonFinish=&ÔÝëïò +ButtonBrowse=&ÁíáæÞôçóç... +ButtonWizardBrowse=&Åýñåóç... +ButtonNewFolder=&Äçìéïõñãßá íÝïõ öáêÝëïõ + +; *** "Select Language" dialog messages +SelectLanguageTitle=ÅðéëïãÞ ôçò ãëþóóáò åãêáôÜóôáóçò +SelectLanguageLabel=ÅðéëÝîôå ôç ãëþóóá ðïõ èá ÷ñçóéìïðïéçèåß êáôÜ ôç äéÜñêåéá ôçò åãêáôÜóôáóçò: + +; *** Common wizard text +ClickNext=ÐáôÞóôå Åðüìåíï ãéá íá óõíå÷ßóåôå Þ ¢êõñï ãéá íá ôåñìáôßóåôå ôçí åãêáôÜóôáóç. +BeveledLabel= +BrowseDialogTitle=Åýñåóç öáêÝëïõ +BrowseDialogLabel=ÅðéëÝîôå Ýíá öÜêåëï áðü ôçí áêüëïõèç ëßóôá êáé ìåôÜ ðáôÞóôå OK. +NewFolderName=ÍÝïò öÜêåëïò + +; *** "Welcome" wizard page +WelcomeLabel1=Êáëùóïñßóáôå óôçí åãêáôÜóôáóç ôïõ [name] +WelcomeLabel2=Èá ãßíåé åãêáôÜóôáóç ôïõ [name/ver] óôïí õðïëïãéóôÞ óáò.%n%nÓáò óõíéóôïýìå íá êëåßóåôå êÜèå Üëëç åöáñìïãÞ ðñéí óõíå÷ßóåôå. + +; *** "Password" wizard page +WizardPassword=ÅéóáãùãÞ Êùäéêïý +PasswordLabel1=ÁõôÞ ç åãêáôÜóôáóç ðñïóôáôåýåôáé ìå êùäéêü. +PasswordLabel3=Ðáñáêáëþ åéóÜãåôå ôïí êùäéêü êáé ðáôÞóôå Åðüìåíï. +PasswordEditLabel=&Êùäéêüò: +IncorrectPassword=Ï êùäéêüò ðïõ åéóÜãáôå åßíáé ëÜèïò. Ðáñáêáëþ, ðñïóðáèÞóôå îáíÜ. + +; *** "License Agreement" wizard page +WizardLicense=¢äåéá ×ñÞóçò +LicenseLabel=Ðáñáêáëþ äéáâÜóôå ðñïóåêôéêÜ ôéò ðáñáêÜôù ðëçñïöïñßåò ðñéí óõíå÷ßóåôå. +LicenseLabel3=Ðáñáêáëþ äéáâÜóôå ðñïóåêôéêÜ ôéò ðáñáêÜôù ðëçñïöïñßåò ðñéí óõíå÷ßóåôå. ÐñÝðåé íá áðïäå÷èåßôå ôïõò üñïõò ôçò ¢äåéáò ×ñÞóçò ðñéí óõíå÷ßóåôå ôçí åãêáôÜóôáóç. +LicenseAccepted=&ÁðïäÝ÷ïìáé ôïõò üñïõò ôçò ¢äåéáò ×ñÞóçò +LicenseNotAccepted=Äåí &áðïäÝ÷ïìáé ôïõò üñïõò ôçò ¢äåéáò ×ñÞóçò + +; *** "Information" wizard pages +WizardInfoBefore=Ðëçñïöïñßåò +InfoBeforeLabel=Ðáñáêáëþ äéáâÜóôå ðñïóåêôéêÜ ôéò ðáñáêÜôù ðëçñïöïñßåò ðñéí óõíå÷ßóåôå. +InfoBeforeClickLabel=¼ôáí åßóôå Ýôïéìïé íá óõíå÷ßóåôå ìå ôçí ÅãêáôÜóôáóç, ðáôÞóôå Åðüìåíï. +WizardInfoAfter=Ðëçñïöïñßåò +InfoAfterLabel=Ðáñáêáëþ äéáâÜóôå ðñïóåêôéêÜ ôéò ðáñáêÜôù ðëçñïöïñßåò ðñéí óõíå÷ßóåôå. +InfoAfterClickLabel=¼ôáí åßóôå Ýôïéìïé íá óõíå÷ßóåôå ìå ôçí ÅãêáôÜóôáóç, ðáôÞóôå Åðüìåíï. + +; *** "User Information" wizard page +WizardUserInfo=Ðëçñïöïñßåò ×ñÞóôç +UserInfoDesc=Ðáñáêáëþ åéóÜãåôå ôéò ðëçñïöïñßåò óáò. +UserInfoName=&Ïíïìá ×ñÞóôç: +UserInfoOrg=&Åôáéñåßá: +UserInfoSerial=&Óåéñéáêüò Áñéèìüò: +UserInfoNameRequired=ÐñÝðåé íá åéóÜãåôå Ýíá üíïìá. + +; *** "Select Destination Location" wizard page +WizardSelectDir=ÅðéëÝîôå ôïí öÜêåëï óôïí ïðïßï èá åãêáôáóôáèåß ôï ðñüãñáììá +SelectDirDesc=Ðïý èá åãêáôáóôáèåß ôï [name]; +SelectDirLabel3=Ôï [name] èá åãêáôáóôáèåß óôïí áêüëïõèï öÜêåëï. +SelectDirBrowseLabel=Ãéá óõíÝ÷åéá ðáôÞóôå Åðüìåíï. Áí èÝëåôå Üëëï öÜêåëï, ðáôÞóôå Åýñåóç. +DiskSpaceMBLabel=Áõôü ôï ðñüãñáììá ÷ñåéÜæåôáé [mb] MB ÷þñï óôïí äßóêï. +CannotInstallToNetworkDrive=Ç åãêáôÜóôáóç äåí ìðïñåß íá ãßíåé óå äßóêï äéêôýïõ. +CannotInstallToUNCPath=Ç åãêáôÜóôáóç äåí ìðïñåß íá ãßíåé óå äéáäñïìÞ UNC. +InvalidPath=ÐñÝðåé íá äþóåôå ôçí ðëÞñç äéáäñïìÞ ìå ôï ãñÜììá äßóêïõ: ð.÷. %n%nC:\APP%n%nÞ ìéá äéáäñïìÞ UNC ôçò ìïñöÞò:%n%n\\server\share +InvalidDrive=Ï ôïðéêüò äßóêïò Þ ï äßóêïò äéêôýïõ ðïõ åðéëÝîáôå äåí õðÜñ÷åé Þ äåí åßíáé ðñïóâÜóéìïò. ÅðéëÝîôå Üëëïí. +DiskSpaceWarningTitle=Äåí õðÜñ÷åé áñêåôüò ÷þñïò óôï äßóêï +DiskSpaceWarning=Ç åãêáôÜóôáóç ÷ñåéÜæåôáé ôïõëÜ÷éóôïí %1 KB åëåýèåñï ÷þñï óôï äßóêï áëëÜ ï åðéëåãìÝíïò ïäçãüò äéáèÝôåé ìüíïí %2 KB.%n%nÈÝëåôå íá óõíå÷ßóåôå ïðùóäÞðïôå; +DirNameTooLong=Ôï üíïìá ôïõ öáêÝëïõ åßíáé ðïëý ìåãÜëï. +InvalidDirName=ËÜèïò üíïìá öáêÝëïõ. +BadDirName32=Ôá ïíüìáôá öáêÝëùí äåí ìðïñïýí íá ðåñéÝ÷ïõí êÜðïéïí áðü ôïõò ðáñáêÜôù ÷áñáêôÞñåò:%n%n%1 +DirExistsTitle=Ï öÜêåëïò õðÜñ÷åé +DirExists=Ï öÜêåëïò:%n%n%1%n%nõðÜñ÷åé Þäç. ÈÝëåôå íá ãßíåé ç åãêáôÜóôáóç óå áõôüí ôïí öÜêåëï; +DirDoesntExistTitle=Ï öÜêåëïò äåí õðÜñ÷åé +DirDoesntExist=Ï öÜêåëïò:%n%n%1%n%näåí õðÜñ÷åé. ÈÝëåôå íá äçìéïõñãçèåß; + +; *** "Select Components" wizard page +WizardSelectComponents=ÅðéëïãÞ Óõóôáôéêþí +SelectComponentsDesc=Ðïéá óõóôáôéêÜ èÝëåôå íá åãêáôáóôáèïýí; +SelectComponentsLabel2=ÅðéëÝîôå ôá óõóôáôéêÜ ðïõ èÝëåôå íá åãêáôáóôÞóåôå êáé ðáôÞóôå Åðüìåíï ãéá óõíÝ÷åéá ôçò åãêáôÜóôáóçò. +FullInstallation=ÐëÞñçò ÅãêáôÜóôáóç +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=ÐåñéïñéóìÝíç ÅãêáôÜóôáóç +CustomInstallation=ÐñïóáñìïóìÝíç ÅãêáôÜóôáóç +NoUninstallWarningTitle=Ôá óõóôáôéêÜ õðÜñ÷ïõí +NoUninstallWarning=Ç åãêáôÜóôáóç åíôüðéóå üôé ôá áêüëïõèá óõóôáôéêÜ åßíáé Þäç åãêáôåóôçìÝíá óôïí õðïëïãéóôÞ óáò:%n%n%1%n%nÁðïåðéëÝãïíôáò áõôÜ ôá óõóôáôéêÜ äåí èá áðåãêáôáóôáèïýí.%n%nÈÝëåôå íá óõíå÷ßóåôå ðáñüëá áõôÜ; +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=Ç óõãêåêñéìÝíç åðéëïãÞ áðáéôåß ôïõëÜ÷éóôïí [mb] MB åëåýèåñï ÷þñï óôïí äßóêï. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=ÅðéëïãÞ ÅðéðëÝïí Åíåñãåéþí +SelectTasksDesc=Ðïéåò åðéðëÝïí åíÝñãåéåò èÝëåôå íá ãßíïõí; +SelectTasksLabel2=ÅðéëÝîôå ôéò åðéðëÝïí åíÝñãåéåò ðïõ èÝëåôå íá ãßíïõí êáôÜ ôçí åãêáôÜóôáóç ôïõ [name] êáé ðáôÞóôå Åðüìåíï. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=ÅðéëïãÞ Êáôáëüãïõ Óôï Ìåíïý Åêêßíçóç +SelectStartMenuFolderDesc=Ðïý èá ôïðïèåôçèïýí ïé óõíôïìåýóåéò ôïõ ðñïãñÜììáôïò; +SelectStartMenuFolderLabel3=Ç åãêáôÜóôáóç èá äçìéïõñãÞóåé ôéò óõíôïìåýóåéò ôïõ ðñïãñÜììáôïò óôçí áêüëïõèç ïìÜäá. +SelectStartMenuFolderBrowseLabel=Ãéá óõíÝ÷åéá, ðáôÞóôå Åðüìåíï. Áí èÝëåôå Üëëç ïìÜäá, ðáôÞóôå Åýñåóç. +MustEnterGroupName=ÐñÝðåé íá äþóåôå ôï üíïìá åíüò êáôáëüãïõ. +GroupNameTooLong=Ôï üíïìá ôïõ êáôáëüãïõ åßíáé ðïëý ìåãÜëï. +InvalidGroupName=Ôï üíïìá ôïõ êáôáëüãïõ äåí åßíáé óùóôü. +BadGroupName=Ïíüìáôá êáôáëüãùí äåí ìðïñïýí íá ðåñéÝ÷ïõí êÜðïéïí áðü ôïõò ðáñáêÜôù ÷áñáêôÞñåò:%n%n%1 +NoProgramGroupCheck2=&×ùñßò äçìéïõñãßá êáôáëüãïõ óôï ìåíïý ¸íáñîçò. + +; *** "Ready to Install" wizard page +WizardReady=¸ôïéìïò ãéá åãêáôÜóôáóç +ReadyLabel1=Ç åãêáôÜóôáóç ôïõ [name] åßíáé Ýôïéìç íá åêôåëåóôåß óôïí õðïëïãéóôÞ óáò. +ReadyLabel2a=ÐáôÞóôå ÅãêáôÜóôáóç ãéá íá óõíå÷ßóåôå Þ Ðßóù áí èÝëåôå íá áëëÜîåôå êÜðïéåò ñõèìßóåéò. +ReadyLabel2b=ÐáôÞóôå ÅãêáôÜóôáóç ãéá íá óõíå÷ßóåôå. +ReadyMemoUserInfo=Ðëçñïöïñßåò ×ñÞóôç: +ReadyMemoDir=ÖÜêåëïò ðñïïñéóìïý: +ReadyMemoType=Åßäïò åãêáôÜóôáóçò: +ReadyMemoComponents=ÅðéëåãìÝíá óõóôáôéêÜ: +ReadyMemoGroup=ÊáôÜëïãïò óôï ìåíïý ÐñïãñÜììáôá: +ReadyMemoTasks=ÅðéðëÝïí ÅíÝñãåéåò: + +; *** "Preparing to Install" wizard page +WizardPreparing=Ðñïåôïéìáóßá ÅãêáôÜóôáóçò +PreparingDesc=Ç åãêáôÜóôáóç ðñïåôïéìÜæåôáé íá åãêáôáóôÞóåé ôï ðñüãñáììá [name] óôïí õðïëïãéóôÞ óáò. +PreviousInstallNotCompleted=Ç åãêáôÜóôáóç/áöáßñåóç åíüò ðñïçãïýìåíïõ ðñïãñÜììáôïò äåí ïëïêëçñþèçêå. Èá ÷ñåéáóôåß íá åðáíåêêéíÞóåôå ôïí õðïëïãéóôÞ óáò þóôå íá ïëïêëçñþóåôå åêåßíç ôçí åãêáôÜóôáóç.%n%nÌåôÜ ôçí åðáíåêêßíçóç ôïõ õðïëïãéóôÞ óáò, åêôåëÝóôå ôçí ÅãêáôÜóôáóç ðÜëé ãéá íá ïëïêëçñþóåôå ôçí åãêáôÜóôáóç ôïõ [name]. +CannotContinue=Ç åãêáôÜóôáóç äå ìðïñåß íá óõíå÷ßóåé. Ðáñáêáëþ ðáôÞóôå ¢êõñï ãéá ôåñìáôéóìü. +ApplicationsFound=Ïé áêüëïõèåò åöáñìïãÝò ÷ñçóéìïðïéïýí áñ÷åßá ôá ïðïßá ðñÝðåé íá åíçìåñùèïýí áðü ôçí ÅãêáôÜóôáóç. Ðñïôåßíåôáé íá åðéôñÝøåôå óôçí ÅãêáôÜóôáóç íá êëåßóåé áõôÝò ôéò åöáñìïãÝò áõôüìáôá. +ApplicationsFound2=Ïé áêüëïõèåò åöáñìïãÝò ÷ñçóéìïðïéïýí áñ÷åßá ôá ïðïßá ðñÝðåé íá åíçìåñùèïýí áðü ôçí ÅãêáôÜóôáóç. Ðñïôåßíåôáé íá åðéôñÝøåôå óôçí ÅãêáôÜóôáóç íá êëåßóåé áõôÝò ôéò åöáñìïãÝò áõôüìáôá. ÌåôÜ ôçí ïëïêëÞñùóç ôçò äéáäéêáóßáò, ç ÅãêáôÜóôáóç èá ðñïóðáèÞóåé íá åðáíåêêéíÞóåé ôéò åöáñìïãÝò. +CloseApplications=&Áõôüìáôï êëåßóéìï ôùí åöáñìïãþí +DontCloseApplications=&×ùñßò êëåßóéìï ôùí åöáñìïãþí +ErrorCloseApplications=Ç ÅãêáôÜóôáóç áðÝôõ÷å íá êëåßóåé áõôüìáôá üëåò ôéò åöáñìïãÝò. Ðñïôåßíåôáé íá êëåßóåôå üëåò ôéò åöáñìïãÝò ðïõ ÷ñçóéìïðïéïýí áñ÷åßá ôá ïðïßá ðñÝðåé íá åíçìåñùèïýí áðü ôçí ÅãêáôÜóôáóç ðñïôïý óõíå÷ßóåôå. + +; *** "Installing" wizard page +WizardInstalling=Ðñüïäïò ÅãêáôÜóôáóçò +InstallingLabel=Ðáñáêáëþ ðåñéìÝíåôå íá ïëïêëçñùèåß ç åãêáôÜóôáóç ôïõ [name] óôïí õðïëïãéóôÞ óáò. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=Ïëïêëçñþíïíôáò ôïí Ïäçãü ÅãêáôÜóôáóçò ôïõ [name] +FinishedLabelNoIcons=Ç åãêáôÜóôáóç ôïõ [name] óôïí õðïëïãéóôÞ óáò ïëïêëçñþèçêå ìå åðéôõ÷ßá. +FinishedLabel=Ç åãêáôÜóôáóç ôïõ [name] óôïí õðïëïãéóôÞ óáò ïëïêëçñþèçêå ìå åðéôõ÷ßá. Ìðïñåßôå íá îåêéíÞóåôå ôï ðñüãñáììá åðéëÝãïíôáò ôá åéêïíßäéá ðïõ äçìéïõñãÞèçêáí. +ClickFinish=ÐáôÞóôå ÔÝëïò ãéá íá ôåñìáôßóåôå ôï ðñüãñáììá åãêáôÜóôáóçò. +FinishedRestartLabel=Ãéá íá ïëïêëçñùèåß ç åãêáôÜóôáóç ôïõ [name] ðñÝðåé íá ãßíåé åðáíåêêßíçóç ôïõ õðïëïãéóôÞ óáò. ÈÝëåôå íá ãßíåé åðáíåêêßíçóç ôþñá; +FinishedRestartMessage=Ãéá íá ïëïêëçñùèåß ç åãêáôÜóôáóç ôïõ [name] ðñÝðåé íá ãßíåé åðáíåêêßíçóç ôïõ õðïëïãéóôÞ óáò.%n%nÈÝëåôå íá ãßíåé åðáíåêêßíçóç ôþñá; +ShowReadmeCheck=Íáé, èÝëù íá äéáâÜóù ôéò ðëçñïöïñßåò ôïõ ðñïãñÜììáôïò +YesRadio=&Íáé, íá ãßíåé åðáíåêêßíçóç ôþñá +NoRadio=&Ï÷é, èá êÜíù åðáíåêêßíçóç áñãüôåñá +; used for example as 'Run MyProg.exe' +RunEntryExec=Íá åêôåëåóôåß ôï ðñüãñáììá %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=Íá åêôåëåóôåß ôï %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=Ç ÅãêáôÜóôáóç ÷ñåéÜæåôáé ôïí åðüìåíï äßóêï/äéóêÝôá +SelectDiskLabel2=Ðáñáêáëþ, åéóÜãåôå ôï Äßóêï/ÄéóêÝôá %1 êáé ðáôÞóôå OK.%n%nÁí ôá áñ÷åßá áõôïý ôïõ äßóêïõ/äéóêÝôáò âñßóêïíôáé óå êÜðïéïí öÜêåëï åêôüò áõôïý ðïõ öáßíåôáé ðáñáêÜôù, åéóÜãåôå ôç óùóôÞ äéáäñïìÞ Þ ðáôÞóôå Åýñåóç. +PathLabel=&ÄéáäñïìÞ: +FileNotInDir2=Ôï áñ÷åßï "%1" äå âñÝèçêå óôï "%2". Ðáñáêáëþ åéóÜãåôå ôï óùóôü äßóêï/äéóêÝôá Þ åðéëÝîôå êÜðïéïí Üëëï öÜêåëï. +SelectDirectoryLabel=Ðáñáêáëþ êáèïñßóåôå ôçí ôïðïèåóßá ôïõ åðüìåíïõ äßóêïõ/äéóêÝôáò. + +; *** Installation phase messages +SetupAborted=Ç åãêáôÜóôáóç äåí ïëïêëçñþèçêå.%n%nÐáñáêáëþ, äéïñèþóôå ôï ðñüâëçìá êáé åêôåëÝóôå îáíÜ ôçí ÅãêáôÜóôáóç. +EntryAbortRetryIgnore=ÐáôÞóôå Retry ãéá íá îáíáðñïóðáèÞóåôå, Ignore ãéá íá óõíå÷ßóåôå Þ Abort ãéá íá ôåñìáôßóåôå ôçí ÅãêáôÜóôáóç. + +; *** Installation status messages +StatusClosingApplications=Êëåßóéìï åöáñìïãþí... +StatusCreateDirs=Äçìéïõñãßá öáêÝëùí... +StatusExtractFiles=Áðïóõìðßåóç áñ÷åßùí... +StatusCreateIcons=Äçìéïõñãßá åéêïíéäßùí... +StatusCreateIniEntries=Êáôá÷þñçóç óôï ÉÍÉ áñ÷åßï... +StatusCreateRegistryEntries=Êáôá÷þñçóç óôï ìçôñþï óõóôÞìáôïò... +StatusRegisterFiles=Êáôá÷þñçóç áñ÷åßùí... +StatusSavingUninstall=Ðëçñïöïñßåò áðåãêáôÜóôáóçò... +StatusRunProgram=Ôåëåéþíïíôáò ôçí åãêáôÜóôáóç... +StatusRestartingApplications=Åðáíåêêßíçóç åöáñìïãþí... +StatusRollback=ÅðáíáöïñÜ áëëáãþí... + +; *** Misc. errors +ErrorInternal2=Åóùôåñéêü óöÜëìá: %1 +ErrorFunctionFailedNoCode=%1 ÓöÜëìá +ErrorFunctionFailed=%1 áðÝôõ÷å, êùäéêüò %2 +ErrorFunctionFailedWithMessage=%1 áðÝôõ÷å, êùäéêüò %2.%n%3 +ErrorExecutingProgram=Áäýíáôç ç åêôÝëåóç ôïõ áñ÷åßïõ:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Äåí ìðïñåß íá äéáâáóôåß ôï êëåéäß ìçôñþïõ óõóôÞìáôïò:%n%1\%2 +ErrorRegCreateKey=Äåí ìðïñåß íá äçìéïõñãçèåß ôï êëåéäß ìçôñþïõ óõóôÞìáôïò:%n%1\%2 +ErrorRegWriteKey=Äåí ìðïñåß íá ãßíåé êáôá÷þñçóç óôï êëåéäß ìçôñþïõ óõóôÞìáôïò:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Äåí ìðïñåß íá ãßíåé êáôá÷þñçóç óôï áñ÷åßï ÉÍÉ "%1". + +; *** File copying errors +FileAbortRetryIgnore=ÐáôÞóôå Retry ãéá íá îáíáðñïóðáèÞóåôå, Ignore ãéá íá ðáñáëåßøåôå ôï áñ÷åßï (äåí ðñïôåßíåôáé) Þ Abort ãéá íá ôåñìáôßóåôå ôçí åãêáôÜóôáóç. +FileAbortRetryIgnore2=ÐáôÞóôå Retry ãéá íá îáíáðñïóðáèÞóåôå, Ignore ãéá íá ðáñáëåßøåôå ôï áñ÷åßï (äåí ðñïôåßíåôáé) Þ Abort ãéá íá ôåñìáôßóåôå ôçí åãêáôÜóôáóç. +SourceIsCorrupted=Ôï áñ÷åßï ðñïÝëåõóçò åßíáé êáôåóôñáììÝíï +SourceDoesntExist=Ôï áñ÷åßï ðñïÝëåõóçò "%1" äåí õðÜñ÷åé +ExistingFileReadOnly=Ôï áñ÷åßï åßíáé ìáñêáñéóìÝíï ìüíï ãéá áíÜãíùóç.%n%nÐáôÞóôå Retry ãéá íá ôï îåìáñêÜñåôå êáé íá ðñïóðáèÞóåôå ðÜëé, Ignore ãéá íá ðáñáëåßøåôå ôï áñ÷åßï Þ Abort ãéá íá ôåñìáôßóåôå ôçí åãêáôÜóôáóç. +ErrorReadingExistingDest=ÐáñïõóéÜóôçêå óöÜëìá êáôÜ ôçí áíÜãíùóç ôïõ áñ÷åßïõ: +FileExists=Ôï áñ÷åßï õðÜñ÷åé Þäç.%n%nÈÝëåôå íá îáíáãñáöôåß; +ExistingFileNewer=¸íá áñ÷åßï ðïõ âñÝèçêå óôïí õðïëïãéóôÞ óáò åßíáé íåüôåñçò Ýêäïóçò áðü åêåßíï ôçò åãêáôÜóôáóçò. Ðñïôåßíåôáé íá êñáôÞóåôå ôï õðÜñ÷ïí áñ÷åßï.%n%nÈÝëåôå íá êñáôÞóåôå ôï õðÜñ÷ïí áñ÷åßï; +ErrorChangingAttr=ÐñïÝêõøå óöÜëìá óôçí ðñïóðÜèåéá íá áëëá÷ôïýí ôá ÷áñáêôçñéóôéêÜ ôïõ áñ÷åßïõ: +ErrorCreatingTemp=ÐñïÝêõøå óöÜëìá óôçí ðñïóðÜèåéá íá äçìéïõñãçèåß Ýíá áñ÷åßï óôïí êáôÜëïãï ðñïïñéóìïý: +ErrorReadingSource=ÐñïÝêõøå óöÜëìá óôçí ðñïóðÜèåéá áíÜãíùóçò ôïõ áñ÷åßïõ ðñïÝëåõóçò: +ErrorCopying=ÐñïÝêõøå óöÜëìá óôçí ðñïóðÜèåéá íá áíôéãñáöåß ôï áñ÷åßï: +ErrorReplacingExistingFile=ÐñïÝêõøå óöÜëìá óôçí ðñïóðÜèåéá íá áíôéêáôáóôáèåß ôï õðÜñ÷ïí áñ÷åßï: +ErrorRestartReplace=ÐñïÝêõøå óöÜëìá óôçí ðñïóðÜèåéá íá ãßíåé åðáíåêêßíçóç êáé áíôéêáôÜóôáóç áñ÷åßïõ: +ErrorRenamingTemp=ÐñïÝêõøå óöÜëìá óôçí ðñïóðÜèåéá ìåôïíïìáóßáò åíüò áñ÷åßïõ óôïí êáôÜëïãï ðñïïñéóìïý: +ErrorRegisterServer=ÐñïÝêõøå óöÜëìá óôçí ðñïóðÜèåéá êáôá÷þñçóçò DLL/OCX: %1 +ErrorRegSvr32Failed=Ôï RegSvr32 áðÝôõ÷å ìå êùäéêü åîüäïõ %1 +ErrorRegisterTypeLib=Áäýíáôç ç êáôá÷þñçóç ôçò âéâëéïèÞêçò ôýðùí: %1 + +; *** Post-installation errors +ErrorOpeningReadme=ÐñïÝêõøå óöÜëìá óôçí ðñïóðÜèåéá íá öïñôùèåß ôï áñ÷åßï ðëçñïöïñéþí. +ErrorRestartingComputer=ÐñïÝêõøå óöÜëìá óôçí ðñïóðÜèåéá åðáíåêêßíçóçò ôïõ õðïëïãéóôÞ. Ðáñáêáëþ åðáíåêêéíÞóåôå ôïí õðïëïãéóôÞ óáò ìüíïé óáò. + +; *** Uninstaller messages +UninstallNotFound=Ôï áñ÷åßï "%1" äåí âñÝèçêå. Ç áðåãêáôÜóôáóç äåí ìðïñåß íá ãßíåé. +UninstallOpenError=Ôï áñ÷åßï "%1" äåí ìðüñåóå íá öïñôùèåß. Ç áðåãêáôÜóôáóç äåí ìðïñåß íá ãßíåé +UninstallUnsupportedVer=Ôï áñ÷åßï "%1" äåí áíáãíùñßæåôáé áðü áõôÞ ôçí Ýêäïóç ôçò åãêáôÜóôáóçò, Ç áðåãêáôÜóôáóç äåí ìðïñåß íá åêôåëåóôåß +UninstallUnknownEntry=Ôï áñ÷åßï "%1" äåí áíáãíùñßæåôáé áðü áõôÞ ôçí Ýêäïóç ôçò åãêáôÜóôáóçò, Ç áðåãêáôÜóôáóç äåí ìðïñåß íá åêôåëåóôåß +ConfirmUninstall=Åßóôå óßãïõñïé üôé èÝëåôå íá äéáãñÜøåôå ôï %1 êáé üëá ôá óõóôáôéêÜ ôïõ; +UninstallOnlyOnWin64=ÁõôÞ ç åöáñìïãÞ ìðïñåß íá áðåãêáôáóôáèåß ìüíï óå 64-bit Windows. +OnlyAdminCanUninstall=Ç áðåãêáôÜóôáóç ìðïñåß íá åêôåëåóôåß ìüíï áðü ôïí Äéá÷åéñéóôÞ óõóôÞìáôïò. +UninstallStatusLabel=Ðáñáêáëþ ðåñéìÝíåôå üóï ôï %1 äéáãñÜöåôáé áðü ôïí õðïëïãéóôÞ óáò. +UninstalledAll=Ç áðåãêáôÜóôáóç ôïõ %1 Ýãéíå ìå åðéôõ÷ßá. +UninstalledMost=Ç áðåãêáôÜóôáóç ôïõ %1 Ýãéíå ìå åðéôõ÷ßá.%n%nÊÜðïéá óõóôáôéêÜ äåí Þôáí äõíáôüí íá äéáãñáöïýí. ÁõôÜ ìðïñïýí íá äéáãñáöïýí áðü åóÜò. +UninstalledAndNeedsRestart=Ãéá íá ïëïêëçñþóåôå ôçí áðåãêáôÜóôáóç ôïõ %1, èá ðñÝðåé íá åðáíåêêéíÞóåôå ôïí õðïëïãéóôÞ óáò.%n%nÈá èÝëáôå íá êÜíåôå åðáíåêêßíçóç ôþñá; +UninstallDataCorrupted="%1" Áõôü ôï áñ÷åßï åßíáé êáôåóôñáììÝíï. Äåí ìðïñåß íá ãßíåé áðåãêáôÜóôáóç + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=ÈÝëåôå íá äéáãñáöïýí ôá êïéíÜ áñ÷åßá; +ConfirmDeleteSharedFile2=Ôá êïéíÜ áñ÷åßá äåí ÷ñçóéìïðïéïýíôáé áðü êÜðïéï ðñüãñáììá. ÈÝëåôå íá äéáãñáöïýí;%n%nÁí êÜðïéï ðñüãñáììá ôá ÷ñçóéìïðïéåß ßóùò äåí åêôåëåßôáé óùóôÜ áí ôá äéáãñÜøåôå. Áí äåí åßóôå óßãïõñïé, åðéëÝîôå ¼÷é. ÁöÞíïíôÜò ôá óôï óýóôçìÜ óáò äåí ðñïêáëïýí êÜðïéï ðñüâëçìá. +SharedFileNameLabel=¼íïìá Áñ÷åßïõ: +SharedFileLocationLabel=Ôïðïèåóßá: +WizardUninstalling=Ðñüïäïò ÁðåãêáôÜóôáóçò +StatusUninstalling=ÁðåãêáôÜóôáóç ôïõ %1... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=ÅãêáôÜóôáóç ôïõ %1. +ShutdownBlockReasonUninstallingApp=ÁðåãêáôÜóôáóç ôïõ %1. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 Ýêäïóç %2 +AdditionalIcons=ÅðéðëÝïí åéêïíßäéá: +CreateDesktopIcon=Äçìéïõñãßá &åéêïíéäßïõ óôçí åðéöÜíåéá åñãáóßáò +CreateQuickLaunchIcon=Äçìéïõñãßá åéêïíéäßïõ óôç &ÃñÞãïñç Åêêßíçóç +ProgramOnTheWeb=Ôï %1 óôï Internet +UninstallProgram=ÁðåãêáôÜóôáóç ôïõ %1 +LaunchProgram=Åêêßíçóç ôïõ %1 +AssocFileExtension=&Áíôéóôïß÷éóç ôïõ %1 ìå ôçí %2 åðÝêôáóç áñ÷åßïõ +AssocingFileExtension=Ãßíåôáé áíôéóôïß÷çóç ôïõ %1 ìå ôçí %2 åðÝêôáóç áñ÷åßïõ... +AutoStartProgramGroupDescription=Åêêßíçóç: +AutoStartProgram=Áõôüìáôç åêêßíçóç ôïõ %1 +AddonHostProgramNotFound=Ôï %1 äå âñÝèçêå óôï öÜêåëï ðïõ åðéëÝîáôå.%n%nÈÝëåôå íá óõíå÷ßóåôå ðáñüëá áõôÜ; diff --git a/dist/windows/languages/Hebrew.isl b/dist/windows/languages/Hebrew.isl new file mode 100644 index 00000000..679b18b0 --- /dev/null +++ b/dist/windows/languages/Hebrew.isl @@ -0,0 +1,331 @@ +; *** Inno Setup version 5.5.3+ Hebrew messages (stilgar(at)divrei-tora.com) *** +; +; +; Translated by s_h (s_h(at)enativ.com) (c) 2005 +; + +[LangOptions] +LanguageName=<05E2><05D1><05E8><05D9><05EA> +LanguageID=$040D +LanguageCodePage=1255 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +WelcomeFontName=Tahoma +WelcomeFontSize=11 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 +RightToLeft=yes + +[Messages] + +; *** Application titles +SetupAppTitle=äú÷ðä +SetupWindowTitle=äú÷ðä - %1 +UninstallAppTitle=äñøä +UninstallAppFullTitle=äñøú %1 + +; *** Misc. common +InformationTitle=îéãò +ConfirmTitle=àéùåø +ErrorTitle=ùâéàä + +; *** SetupLdr messages +SetupLdrStartupMessage=úåëðä æå úú÷éï àú %1 òì îçùáê. äàí áøöåðê ìäîùéê? +LdrCannotCreateTemp=ùâéàä áòú éöéøú ÷åáõ æîðé. ääú÷ðä úéñâø +LdrCannotExecTemp=ìà ðéúï ìäøéõ ÷åáõ áúé÷éä äæîðéú. ìà ðéúï ìäîùéê áäú÷ðä + +; *** Startup error messages +LastErrorMessage=%1.%n%nùâéàä %2: %3 +SetupFileMissing=ìà ðéúï ìàúø àú ä÷åáõ %1 áúé÷ééú ääú÷ðä. àðà ú÷ï àú äáòéä àå ðñä ùåá òí òåú÷ çãù ùì äúåëðä. +SetupFileCorrupt=÷áöé ääú÷ðä ÷èåòéí. àðà ðñä ìäú÷éï òí òåú÷ çãù ùì äúåëðä. +SetupFileCorruptOrWrongVer=÷áöé ääú÷ðä ÷èåòéí, àå ùàéðí úåàîéí ìâéøñä æå ùì úåëðú ääú÷ðä. àðà ú÷ï àú äáòéä àå äú÷ï àú äúåëðä îäú÷ðä çãùä. +InvalidParameter=äåëðñ ôøîè ìà çå÷é ìùåøú äô÷åãä:%n%n%1 +SetupAlreadyRunning=äú÷ðä àçøú ëáø òåáãú. +WindowsVersionNotSupported=úåëðä æå àéðä ðúîëú áîòøëú ääôòìä ùìê. +WindowsServicePackRequired=äúåëðä ãåøùú ùéäéä îåú÷ï %1 çáéìú òãëåðéí %2 àå éåúø. +NotOnThisPlatform=úåëðä æå ìà úôòì òì %1. +OnlyOnThisPlatform=úåëðä æå çééáú ìôòåì òì %1. +OnlyOnTheseArchitectures=ðéúï ìäú÷éï úåëðä æå ø÷ òì âéøñàåú ùì 'çìåðåú' ùúåëððåú ìàøëéè÷èåøåú îòáã àìå:%n%n%1 +MissingWOW64APIs=äâéøñä ùì 'çìåðåú' òìéä àúä òåáã ìà îëéìä àú äôåð÷öéåðìéåú äãøåùä ìäú÷ðú 64-áéè. ëãé ìú÷ï ùâéàä æå, àðà äú÷ï òøëú ùéøåú %1. +WinVersionTooLowError=úåëðä æå îöøéëä %1 ìôçåú áâøñä %2. +WinVersionTooHighError=ìà ðéúï ìäú÷éï úåëðä æå òì %1 áâéøñä %2 àå îàåçøú éåúø +AdminPrivilegesRequired=àúä çééá ìäúçáø ëîðäì äîçùá ëãé ìäú÷éï úåëðä æå. +PowerUserPrivilegesRequired=òìéê ìäúçáø ëîðäì äîçùá, àå ëçáø ùì ÷áåöú 'îùúîùé òì' ëãé ìäú÷éï úåëðä æå. +SetupAppRunningError=úåëðú ääú÷ðä àéáçðä ëé %1 ëøâò ôåòìú áø÷ò.%n%nàðà ñâåø àú ëì äçìåðåú ùìä, åìçõ òì 'àéùåø' ìäîùê, àå 'áéèåì' ìéöéàä. +UninstallAppRunningError=úåëðú ääñøä àéáçðä ëé %1 ëøâò ôåòìú áø÷ò.%n%nàðà ñâåø àú ëì äçìåðåú ùìä, åìçõ òì 'àéùåø' ìäîùê, àå 'áéèåì' ìéöéàä. + +; *** Misc. errors +ErrorCreatingDir=úåëðú ääú÷ðä ìà äöìéçä ìéöåø àú äúé÷éä "%1" +ErrorTooManyFilesInDir=ìà ðéúï ìéöåø ÷åáõ áúé÷éä "%1" áâìì ùäéà îëéìä éåúø îãé ÷áöéí + +; *** Setup common messages +ExitSetupTitle=éöéàä îääú÷ðä +ExitSetupMessage=ääú÷ðä òåã ìà äñúééîä. àí úöà îîðä òëùéå, äúåëðä ìà úåú÷ï òì îçùáê.%n%náàôùøåúê ìäôòéì àú úåëðú ääú÷ðä áæîï àçø ëãé ìñééí àú úäìéê ääú÷ðä.%n%näàí àúä áèåç ùáøöåðê ìöàú? +AboutSetupMenuItem=&àåãåú ääú÷ðä... +AboutSetupTitle=àåãåú ääú÷ðä +AboutSetupMessage=%1 âéøñä %2%n%3%n%n%1 ãó äáéú:%n%4 +AboutSetupNote= +TranslatorNote=ñèéìâàø + +; *** Buttons +ButtonBack=< &ä÷åãí +ButtonNext=&äáà > +ButtonInstall=&äú÷ï +ButtonOK=àéùåø +ButtonCancel=áéèåì +ButtonYes=&ëï +ButtonYesToAll=ëï ì&äëì +ButtonNo=&ìà +ButtonNoToAll=ì&à ìäëì +ButtonFinish=&ñééí +ButtonBrowse=&òéåï... +ButtonWizardBrowse=òéåï... +ButtonNewFolder=&öåø úé÷éä çãùä + +; *** "Select Language" dialog messages +SelectLanguageTitle=áçø ùôú äú÷ðä +SelectLanguageLabel=áçø àú ùôú ääú÷ðä ùì úåëðú ääú÷ðä: + +; *** Common wizard text +ClickNext=ìçõ òì 'äáà' ëãé ìäîùéê áúäìéê ääú÷ðä, àå 'áéèåì' ìéöéàä. +BeveledLabel= +BrowseDialogTitle=áçø úé÷éä +BrowseDialogLabel=áçø úé÷éä îäøùéîä åìçõ òì 'àéùåø' +NewFolderName=úé÷éä çãùä + +; *** "Welcome" wizard page +WelcomeLabel1=áøåëéí äáàéí ìúåëðú ääú÷ðä ùì [name] +WelcomeLabel2=àùó æä éãøéê àåúê áîäìê úäìéê äú÷ðú [name/ver] òì îçùáê.%n%nîåîìõ ùúñâåø àú ëì äééùåîéí äôòéìéí áîçùáê ìôðé ääú÷ðä. + +; *** "Password" wizard page +WizardPassword=ñéñîä +PasswordLabel1=ääú÷ðä îåâðú áñéñîä. +PasswordLabel3=àðà äæï àú äñéñîä, åìçõ òì 'äáà' ëãé ìäîùéê. áàåúéåú ìåòæéåú, éùðå äáãì áéï àåúéåú ÷èðåú ìâãåìåú. +PasswordEditLabel=&ñéñîä: +IncorrectPassword=äñéñîä ùä÷ìãú ùâåéä. àðà ðñä ùåá. + +; *** "License Agreement" wizard page +WizardLicense=øùéåï ùéîåù +LicenseLabel=àðà ÷øà àú äîéãò äçùåá äáà ìôðé äîùê ääú÷ðä. +LicenseLabel3=àðà ÷øà àú øùéåï äùéîåù äáà. òìéê ì÷áì àú äúðàéí ùáäñëí æä ìôðé äîùê ääú÷ðä. +LicenseAccepted=àðé &î÷áì àú ääñëí +LicenseNotAccepted=àðé &ìà î÷áì àú ääñëí + +; *** "Information" wizard pages +WizardInfoBefore=îéãò +InfoBeforeLabel=àðà ÷øà àú äîéãò äçùåá äáà ìôðé äîùê ääú÷ðä. +InfoBeforeClickLabel=ëùúäéä îåëï ìäîùéê áäú÷ðä, ìçõ òì 'äáà'. +WizardInfoAfter=îéãò +InfoAfterLabel=àðà ÷øà àú äîéãò äçùåá äáà ìôðé äîùê ääú÷ðä +InfoAfterClickLabel=ëùúäéä îåëï ìäîùéê áäú÷ðä, ìçõ òì 'äáà'. + +; *** "User Information" wizard page +WizardUserInfo=ôøèé äîùúîù +UserInfoDesc=àðà äæï àú ðúåðéê. +UserInfoName=&ùí îùúîù: +UserInfoOrg=&àéøâåï: +UserInfoSerial=&îñôø ñéãåøé: +UserInfoNameRequired=òìéê ìäæéï ùí. + +; *** "Select Destination Location" wizard page +WizardSelectDir=áçø éòã ìäú÷ðä +SelectDirDesc=äéëï ìäú÷éï àú [name]? +SelectDirLabel3=úåëðú ääú÷ðä úú÷éï àú [name] ìúåê äúé÷ééä äáàä. +SelectDirBrowseLabel=ìäîùê, ìçõ òì 'äáà'. àí áøöåðê ìáçåø úé÷éä àçøú ìäú÷ðä, ìçõ òì 'òéåï'. +DiskSpaceMBLabel=ãøåùéí ìäú÷ðä ìôçåú [mb] MB ùì ùèç ãéñ÷ ôðåé. +CannotInstallToNetworkDrive=ìà ðéúï ìäú÷éï àú äúåëðä òì ëåðï øùú. +CannotInstallToUNCPath=ìà ðéúï ìäú÷éï àú äúåëðä áðúéá UNC. +InvalidPath=òìéê ìñô÷ ðúéá îìà òí àåú äëåðï; ìãåâîä:%n%nC:\APP%n%nàå ðúéá UNC áúöåøä:%n%n\\server\share +InvalidDrive=äëåðï àå ùéúåôéú ä-UNC ùáçøú ìà ÷ééîéí àå ùàéðí ðâéùéí. àðà áçø ëåðï àå ùéúåôéú àçøéí. +DiskSpaceWarningTitle=ùèç ôðåé àéðå îñôé÷ +DiskSpaceWarning=ãøåù ìôçåú %1KB ùèç ãéñ÷ ôðåé ìäú÷ðä, àê ìëåðï ùðáçø éù ø÷ %2KB æîéðéí. äàí áøöåðê ìäîùéê ìîøåú æàú? +DirNameTooLong=ùí äúé÷éä àå ðúéáä àøåê îãé +InvalidDirName=ùí äúé÷éä àéððå çå÷é. +BadDirName32=ùí äúé÷éä àéðå éëåì ìëìåì úååéí àìå:%n%n%1 +DirExistsTitle=äúé÷éä ÷ééîú +DirExists=äúé÷éä:%n%n%1%n%nëáø ÷ééîú. äàí áøöåðê ìäú÷éï ìúé÷éä æå áëì àåôï? +DirDoesntExistTitle=äúé÷ééä àéðä ÷ééîú +DirDoesntExist=äúé÷éä:%n%n%1%n%nàéðä ÷ééîú. äàí áøöåðê ùúåëðú ääú÷ðä úéöåø àåúä? + +; *** "Select Components" wizard page +WizardSelectComponents=áçø øëéáéí +SelectComponentsDesc=àéìå øëéáéí áøöåðê ìäú÷éï? +SelectComponentsLabel2=áçø àú äøëéáéí ùáøöåðê ìäú÷éï; äñø àú äñéîåï îäøëéáéí àåúí àéï áøöåðê ìäú÷éï. ìçõ òì 'äáà' ëàùø úäéä îåëï ìäîùéê. +FullInstallation=äú÷ðä îìàä +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=äú÷ðä áñéñéú +CustomInstallation=äú÷ðä îåúàîú àéùéú +NoUninstallWarningTitle=øëéáéí ÷ééîéí +NoUninstallWarning=úåëðú ääú÷ðä æéäúä ùäøëéáéí äáàéí ëáø îåú÷ðéí òì îçùáê:%n%n%1%näñøú äñéîåï îøëéáéí àìå ìà úñéø àåúí îîçùáê.%n%näàí áøöåðê ìäîùéê áëì æàú? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=ìäú÷ðú äøëéáéí ùðáçøå ãøåùéí ìôçåú [mb] MB ôðåééí òì ëåðï äéòã. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=áçø îùéîåú ðåñôåú +SelectTasksDesc=àéìå îùéîåú ðåñôåú òì úåëðú ääú÷ðä ìáöò? +SelectTasksLabel2=áçø àú äîùéîåú äðåñôåú ùáøöåðê ùúåëðú ääú÷ðä úáöò áòú äú÷ðú [name], åìàçø îëï ìçõ òì 'äáà'. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=áçø úé÷ééä áúôøéè 'äúçì' +SelectStartMenuFolderDesc=äéëï ìî÷í àú ÷éöåøé äãøê ìúåëðä? +SelectStartMenuFolderLabel3=úåëðú ääú÷ðä úéöåø ÷éöåøé ãøê ìúåëðä áúé÷éä äáàä áúôøéè ä'äúçì'. +SelectStartMenuFolderBrowseLabel=ìäîùê, ìçõ òì 'äáà'. àí áøöåðê ìáçåø úé÷éä àçøú ìäú÷ðä, ìçõ òì 'òéåï'. +MustEnterGroupName=àúä çééá ìöééï ùí úé÷éä. +GroupNameTooLong=ùí äúé÷éä àå ðúéáä àøåê îãé +InvalidGroupName=ùí äúé÷éä àéðå áø-úå÷ó. +BadGroupName=ùí äúé÷éä àéðå éëåì ìëìåì úååéí àìå:%n%n%1 +NoProgramGroupCheck2=&àì úéöåø úé÷éä áúôøéè 'äúçì' + +; *** "Ready to Install" wizard page +WizardReady=îåëï ìäú÷ðä +ReadyLabel1=úåëðú ääú÷ðä îåëðä ëòú ìäú÷éï àú [name] òì îçùáê. +ReadyLabel2a=ìçõ òì 'äú÷ï' ìäîùéê áäú÷ðä, àå 'çæåø' àí áøöåðê ìùðåú äâãøåú ëìùäï. +ReadyLabel2b=ìçõ òì 'äú÷ï' ëãé ìäîùéê áäú÷ðä +ReadyMemoUserInfo=ôøèé äîùúîù: +ReadyMemoDir=îé÷åí éòã: +ReadyMemoType=ñåâ ääú÷ðä: +ReadyMemoComponents=øëéáéí ùðáçøå: +ReadyMemoGroup=úé÷éä áúôøéè 'äúçì': +ReadyMemoTasks=îùéîåú ðåñôåú ìáéöåò: + +; *** "Preparing to Install" wizard page +WizardPreparing=îúëåðï ìäú÷ðä +PreparingDesc=úåëðú ääú÷ðä îúëåððú ìäú÷ðú [name] òì îçùáê. +PreviousInstallNotCompleted=äú÷ðú/äñøú ééùåí ÷åãí ìà äåùìîä. òìéê ìäôòéì àú îçùáê îçãù ëãé ìäùìéîä.%n%nìàçø äôòìú äîçùá îçãù, äôòì àú úåëðú ääú÷ðä ùåá ëãé ìäú÷éï àú [name]. +CannotContinue=àéï áàôùøåú úåëðú ääú÷ðä ìäîùéê áúäìéê ääú÷ðä. ðà ìçõ 'áéèåì' ìéöéàä. +ApplicationsFound=äééùåîéí äáàéí òåùéí ùéîåù á÷áöéí ùöøéëéí ìäúòãëï òì éãé úåëðú ääú÷ðä. îåîìõ ùúàôùø ìúåëðú ääú÷ðä ìñâåø ééùåîéí àìå àåèåîèéú. +ApplicationsFound2=äééùåîéí äáàéí òåùéí ùéîåù á÷áöéí ùöøéëéí ìäúòãëï òì éãé úåëðú ääú÷ðä. îåîìõ ùúàôùø ìúåëðú ääú÷ðä ìñâåø ééùåîéí àìå àåèåîèéú. ìàçø ùääú÷ðä úñúééí, úåëðéú ääú÷ðä úðñä ìôúåç îçãù àú àåúí ééùåîéí. +CloseApplications=&ñâåø ééùåîéí àåèåîèéú +DontCloseApplications=&àì úñâåø ééùåîéí àìå +ErrorCloseApplications=àùó ääú÷ðä ìà îöìéç ìñâåø àú äééùåîéí àåèåîèéú. îåîìõ ùúñâåø áòöîê àú ëì äúåëðéåú ùîùúîùåú á÷áöéí ùîúòãëðéí òì éãé úåëðéú ääú÷ðä ìôðé ùúîùéê. + +; *** "Installing" wizard page +WizardInstalling=îú÷éï +InstallingLabel=àðà äîúï áùòä ùúåëðú ääú÷ðä îú÷éðä àú [name] òì îçùáê. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=îñééí àú äú÷ðú [name] +FinishedLabelNoIcons=äú÷ðú [name] òì îçùáê äñúééîä áäöìçä. +FinishedLabel=äú÷ðú [name] òì îçùáê äñúééîä áäöìçä. ìäôòìú äúåëðä ìçõ òì ÷éöåøé äãøê ùäåòú÷å ìîçùáê. +ClickFinish=ìçõ òì 'ñéåí' ìéöéàä. +FinishedRestartLabel=ìäùìîú ääú÷ðä ùì [name], òì úåëðú ääú÷ðä ìäôòéì îçãù àú îçùáê. äàí áøöåðê ìäôòéìå îçãù òëùéå? +FinishedRestartMessage=ìäùìîú ääú÷ðä ùì [name], òì úåëðú ääú÷ðä ìäôòéì îçãù àú îçùáê.%n%näàí áøöåðê ìäôòéìå îçãù òëùéå? +ShowReadmeCheck=ëï, áøöåðé ìøàåú àú ÷åáõ ä-'÷øà àåúé' +YesRadio=&ëï, äôòì îçãù àú äîçùá òëùéå +NoRadio=&ìà, àôòéìå îçãù éãðéú îàåçø éåúø +; used for example as 'Run MyProg.exe' +RunEntryExec=äôòì àú %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=äöâ %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=ãøåù äãéñ÷ äáà ìäîùê ääú÷ðä +SelectDiskLabel2=àðà äëðñ àú ãéñ÷ îñ' %1 åìçõ òì 'àéùåø'.%n%nàí ä÷áöéí ùòì äãéñ÷ ðîöàéí áúé÷éä àçøú îæå äîåöâú ëàï, àðà äæï àú äðúéá äðëåï àå ìçõ òì 'òéåï'. +PathLabel=&ðúéá: +FileNotInDir2=ä÷åáõ "%1" ìà ðîöà á"%2". àðà äëðñ àú äãéñ÷ äðëåï àå áçø úé÷éä àçøú. +SelectDirectoryLabel=àðà áçø àú îé÷åîå ùì äãéñ÷ äáà. + +; *** Installation phase messages +SetupAborted=úäìéê ääú÷ðä ìà äåùìí.%n%nàðà ú÷ï àú äáòéä åäôòì àú úäìéê ääú÷ðä ùåá. +EntryAbortRetryIgnore=ìçõ òì 'ðñä ùåá' ìðñåú ùåá, 'äúòìí' ëãé ìäîùéê áëì î÷øä àå 'áéèåì' ëãé ìáèì àú ääú÷ðä. + +; *** Installation status messages +StatusClosingApplications=ñåâø ééùåîéí... +StatusCreateDirs=éåöø úé÷éåú... +StatusExtractFiles=îòúé÷ ÷áöéí... +StatusCreateIcons=éåöø ÷éöåøé ãøê... +StatusCreateIniEntries=éåöø øùåîåú INI... +StatusCreateRegistryEntries=éåöø øùåîåú á÷åáõ äøéùåí... +StatusRegisterFiles=øåùí ÷áöéí... +StatusSavingUninstall=ùåîø îéãò äçéåðé ìäñøú äúåëðä... +StatusRunProgram=îñééí äú÷ðä... +StatusRestartingApplications=îôòéì ééùåîéí îçãù... +StatusRollback=îáèì ùéðåééí... + +; *** Misc. errors +ErrorInternal2=ùâéàä ôðéîéú: %1 +ErrorFunctionFailedNoCode=%1 ðëùì +ErrorFunctionFailed=%1 ðëùì; ÷åã %2 +ErrorFunctionFailedWithMessage=%1 ðëùì; ÷åã %2.%n%3 +ErrorExecutingProgram=ùâéàä áòú ðñéåï ìäøéõ àú ä÷åáõ:%n%1 + +; *** Registry errors +ErrorRegOpenKey=ùâéàä áòú ôúéçú îôúç øéùåí:%n%1\%2 +ErrorRegCreateKey=ùâéàä áòú éöéøú îôúç øéùåí:%n%1\%2 +ErrorRegWriteKey=ùâéàä áòú ëúéáä ìîôúç øéùåí:%n%1\%2 + +; *** INI errors +ErrorIniEntry=ùâéàä áòú ëúéáú øùåîú INI ì÷åáõ "%1". + +; *** File copying errors +FileAbortRetryIgnore=ìçõ òì 'ðñä ùåá' ëãé ìðñåú ùåá, 'äúòìí' ëãé ìãìâ òì ä÷åáõ äæä (ìà îåîìõ), àå 'áéèåì' ëãé ìáèì àú ääú÷ðä. +FileAbortRetryIgnore2=ìçõ òì 'ðñä ùåá' ëãé ìðñåú ùåá, 'äúòìí' ëãé ìäîùéê áëì àåôï (ìà îåîìõ), àå 'áéèåì' ëãé ìáèì àú ääú÷ðä. +SourceIsCorrupted=÷åáõ äî÷åø ÷èåò +SourceDoesntExist=÷åáõ äî÷åø "%1" àéðå ÷ééí +ExistingFileReadOnly=ä÷åáõ ä÷ééí îñåîï ë÷åáõ ì÷øéàä áìáã.%n%nìçõ òì 'ðñä ùåá' ëãé ìäåøéã àú úëåðú ä÷øéàä áìáã åìðñåú ùåá, 'äúòìí' ëãé ìãìâ òì ÷åáõ æä, àå 'áéèåì' ëãé ìáèì àú ääú÷ðä. +ErrorReadingExistingDest=ùâéàä áòú ðñéåï ì÷øåà àú ä÷åáõ ä÷ééí: +FileExists=ä÷åáõ ëáø ÷ééí.%n%näàí áøöåðê ùúåëðú ääú÷ðä úùëúá àåúå? +ExistingFileNewer=ä÷åáõ ä÷ééí çãù éåúø îä÷åáõ ùúåëðú ääú÷ðä øåöä ìäú÷éï. äîìöúðå äéà ùúùîåø òì ä÷åáõ ä÷ééí.%n%näàí áøöåðê ìùîåø àú ä÷åáõ ä÷ééí? +ErrorChangingAttr=ùâéàä áòú ðñéåï ìùðåú îàôééðéí ùì ä÷åáõ ä÷ééí: +ErrorCreatingTemp=ùâéàä áòú ðñéåï ìéöåø ÷åáõ áúé÷ééú äéòã: +ErrorReadingSource=ùâéàä áòú ÷øéàú ÷åáõ äî÷åø: +ErrorCopying=ùâéàä áòú äòú÷ú ÷åáõ: +ErrorReplacingExistingFile=ùâéàä áòú ðñéåï ìäçìéó àú ä÷åáõ ä÷ééí: +ErrorRestartReplace=ëùì á-RestartReplace: +ErrorRenamingTemp=ùâéàä áòú ðñéåï ìùðåú ùí ÷åáõ áúé÷ééú äéòã: +ErrorRegisterServer=ùâéàä áòú øéùåí DLL/OCX: %1 +ErrorRegSvr32Failed=RegSvr32 ëùì òí ÷åã éöéàä %1 +ErrorRegisterTypeLib=ìà ðéúï ìøùåí àú ñôøééú äèéôåñ: %1 + +; *** Post-installation errors +ErrorOpeningReadme=ùâéàä áðñéåï ôúéçú ÷åáõ '÷øà àåúé'. +ErrorRestartingComputer=úåëðú ääú÷ðä ìà äöìéçä ìäôòéì îçãù àú îçùáê. àðà òùä æàú éãðéú. + +; *** Uninstaller messages +UninstallNotFound=ä÷åáõ "%1" ìà ÷ééí. ìà ðéúï ìäîùéê áäú÷ðä. +UninstallOpenError=ìà ðéúï ìôúåç àú ä÷åáõ "%1". ìà ðéúï ìäîùéê áäú÷ðä. +UninstallUnsupportedVer=÷åáõ úéòåã ääñøä "%1" äåà áôåøîè ùàéðå îæåää ò"é âéøñä æå ùì úåëðú ääñøä. ìà ðéúï ìäîùéê áúäìéê ääñøä +UninstallUnknownEntry=øùåîä ìà îæåää (%1) æåäúä áúéòåã ääñøä. +ConfirmUninstall=äàí àúä áèåç ùáøöåðê ìäñéø ìçìåèéï àú %1 åàú ëì îøëéáéå äðìååéí? +UninstallOnlyOnWin64=äú÷ðä æå éëåìä ìäéåú îåñøú ø÷ òì 'çìåðåú' áâéøñú 64-áéè. +OnlyAdminCanUninstall=ø÷ îùúîù áòì æëåéåú ðéäåì éëåì ìäñéø äú÷ðä æå. +UninstallStatusLabel=àðà äîúï áòú ù%1 îåñøú îîçùáê. +UninstalledAll=%1 äåñøä îîçùáê áäöìçä. +UninstalledMost=äñøú %1 äñúééîä.%n%nîñôø øëéáéí ìà äåñøå ò"é äúåëðä, àê ðéúï ìäñéøí éãðéú. +UninstalledAndNeedsRestart=ëãé ìäùìéí àú úäìéê ääñøä ùì %1, òìéê ìäôòéì îçãù àú îçùáê.%n%näàí áøöåðê ìäôòéìå îçãù òëùéå? +UninstallDataCorrupted=ä÷åáõ "%1" ÷èåò. ìà ðéúï ìäîùéê áúäìéê ääú÷ðä + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=äàí ìäñéø àú ÷åáõ îùåúó? +ConfirmDeleteSharedFile2=äîòøëú àéáçðä ëé ä÷åáõ äîùåúó äæä àéðå áùéîåù òåã òì éãé àó úåëðä. äàí ìäñéø àú ä÷åáõ äîùåúó?%n%nàí éùðï úåëðåú ùòãééï îùúîùåú á÷åáõ æä åäåà éåñø, úô÷åãï ùì úåëðåú àìå òìåì ìäéôâò. àí àéðê áèåç, áçø 'ìà'. äùàøú ä÷åáõ òì îçùáê ìà úæé÷. +SharedFileNameLabel=ùí ä÷åáõ: +SharedFileLocationLabel=îé÷åí: +WizardUninstalling=îöá úäìéê ääñøä +StatusUninstalling=îñéø àú %1... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=îú÷éï %1. +ShutdownBlockReasonUninstallingApp=îñéø %1. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 âéøñä %2 +AdditionalIcons=ñéîìåðéí ðåñôéí: +CreateDesktopIcon=öåø ÷éöåø ãøê òì &ùåìçï äòáåãä +CreateQuickLaunchIcon=öåø ñéîìåï áùåøú ääøöä äîäéøä +ProgramOnTheWeb=%1 áøùú +UninstallProgram=äñø àú %1 +LaunchProgram=äôòì %1 +AssocFileExtension=&÷ùø àú %1 òí ñéåîú ä÷åáõ %2 +AssocingFileExtension=î÷ùø àú %1 òí ñéåîú ä÷åáõ %2 +AutoStartProgramGroupDescription=äôòìä àåèåîèéú: +AutoStartProgram=äôòì àåèåîèéú %1 +AddonHostProgramNotFound=%1 ìà ðîöà áúé÷éä ùáçøú.%n%nàúä øåöä ìäîùéê áëì æàú? \ No newline at end of file diff --git a/dist/windows/languages/Hungarian.isl b/dist/windows/languages/Hungarian.isl new file mode 100644 index 00000000..dd3fe107 --- /dev/null +++ b/dist/windows/languages/Hungarian.isl @@ -0,0 +1,358 @@ +; *** Inno Setup version 5.5.3+ Hungarian messages with "a(z)" definite articles *** +; Copyright (C) 1999-2012 Kornél Pál +; All rights reserved. +; E-mail: kornelpal@gmail.com +; Hungarian Inno Setup translation home page: http://www.kornelpal.hu/ishu +; +; You can download the versions with "a" and "az" definite articles and read +; about the usage of different Hungarian definite articles on this page. +; +; For conditions of use and distribution see Readme.htm file contained in the +; Hungarian Inno Setup messages package available on the above home page. +; +; *** Inno Setup 5.1.11+ verzió magyar üzenetek "a(z)" határozott névelõkkel *** +; Copyright (C) 1999-2012 Pál Kornél +; Minden jog fenntartva. +; E-mail: kornelpal@gmail.com +; Magyar Inno Setup oldal: http://www.palkornel.hu/innosetup +; +; Az oldalról letölthetõ az "a" és az "az" névelõket tartalmazó változat, és +; olvashatsz a különbözõ magyar határozott névelõk használatáról is. +; +; A használat és a továbbadás feltételei a fenti oldalról letölthetõ Magyar +; Inno Setup üzenetek csomagban található Fontos.htm fájlban olvashatóak. +; +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/files/istrans/ +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=Magyar +LanguageID=$040E +LanguageCodePage=1250 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +TitleFontName=Arial CE +;TitleFontSize=29 +CopyrightFontName=Arial CE +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=Telepítõ +SetupWindowTitle=%1 Telepítõ +UninstallAppTitle=Eltávolító +UninstallAppFullTitle=%1 Eltávolító + +; *** Misc. common +InformationTitle=Információk +ConfirmTitle=Megerõsítés +ErrorTitle=Hiba + +; *** SetupLdr messages +SetupLdrStartupMessage=A(z) %1 telepítésre fog kerülni. Kívánja folytatni a telepítést? +LdrCannotCreateTemp=Nem lehet átmeneti fájlt létrehozni. A telepítés megszakadt +LdrCannotExecTemp=Az átmeneti könyvtárban nem lehet fájlt végrehajtani. A telepítés megszakadt + +; *** Startup error messages +LastErrorMessage=%1.%n%nHiba %2: %3 +SetupFileMissing=A(z) %1 fájl hiányzik a telepítõ könyvtárából. Hárítsa el a hibát, vagy szerezzen be egy új másolatot a programról. +SetupFileCorrupt=A telepítõfájlok megsérültek. Szerezzen be egy új másolatot a programról. +SetupFileCorruptOrWrongVer=A telepítõfájlok megsérültek, vagy nem kompatibilisek a Telepítõ jelen verziójával. Hárítsa el a hibát, vagy szerezzen be egy új másolatot a programról. +InvalidParameter=Az egyik parancssorban átadott paraméter érvénytelen:%n%n%1 +SetupAlreadyRunning=A Telepítõ már fut. +WindowsVersionNotSupported=A program nem támogatja a Windows számítógépén futó verzióját. +WindowsServicePackRequired=A program futtatásához %1 Service Pack %2 vagy késõbbi verzió szükséges. +NotOnThisPlatform=Ez a program nem futtatható %1 alatt. +OnlyOnThisPlatform=Ezt a programot %1 alatt kell futtatni. +OnlyOnTheseArchitectures=Ezt a programot csak a Windows következõ processzorarchitektúrákhoz tervezett változataira lehet telepíteni:%n%n%1 +MissingWOW64APIs=A Windows Ön által futtatott verziója nem tartalmazza a Telepítõ által a 64-bites telepítés elvégzéséhez igényelt funkcionalitást. A hiba elhárításához a Service Pack %1 telepítése szükséges. +WinVersionTooLowError=A program a %1 %2 vagy késõbbi verzióját igényli. +WinVersionTooHighError=A programot nem lehet a %1 %2 vagy késõbbi verziójára telepíteni. +AdminPrivilegesRequired=A program telepítéséhez rendszergazdaként kell bejelentkezni. +PowerUserPrivilegesRequired=A program telepítéséhez rendszergazdaként vagy a kiemelt felhasználók csoport tagjaként kell bejelentkezni. +SetupAppRunningError=A Telepítõ megállapította, hogy a(z) %1 jelenleg fut.%n%nKérem, zárja be az összes példányát, majd a folytatáshoz kattintson az OK gombra, vagy a Mégse gombra a kilépéshez. +UninstallAppRunningError=Az Eltávolító megállapította, hogy a(z) %1 jelenleg fut.%n%nKérem, zárja be az összes példányát, majd a folytatáshoz kattintson az OK gombra, vagy a Mégse gombra a kilépéshez. + +; *** Misc. errors +ErrorCreatingDir=A Telepítõ nem tudta létrehozni a(z) "%1" könyvtárat +ErrorTooManyFilesInDir=Nem hozható létre fájl a(z) "%1" könyvtárban, mert az már túl sok fájlt tartalmaz + +; *** Setup common messages +ExitSetupTitle=Kilépés a Telepítõbõl +ExitSetupMessage=A telepítés még nem fejezõdött be. Ha most kilép, a program nem kerül telepítésre.%n%nA Telepítõt késõbb is futtathatja a telepítés befejezéséhez.%n%nKilép a Telepítõbõl? +AboutSetupMenuItem=&Névjegy... +AboutSetupTitle=Telepítõ névjegye +AboutSetupMessage=%1 %2 verzió%n%3%n%nAz %1 honlapja:%n%4 +AboutSetupNote= +TranslatorNote=Magyar változat:%nCopyright (C) 1999-2012 Pál Kornél%nMinden jog fenntartva.%n%nMagyar Inno Setup oldal:%nhttp://www.palkornel.hu/innosetup + +; *** Buttons +ButtonBack=< &Vissza +ButtonNext=&Tovább > +ButtonInstall=&Telepítés +ButtonOK=OK +ButtonCancel=Mégse +ButtonYes=&Igen +ButtonYesToAll=Igen, &mindet +ButtonNo=&Nem +ButtonNoToAll=&Egyiket sem +ButtonFinish=&Befejezés +ButtonBrowse=&Tallózás... +ButtonWizardBrowse=T&allózás... +ButtonNewFolder=Ú&j mappa + +; *** "Select Language" dialog messages +SelectLanguageTitle=Válasszon telepítési nyelvet +SelectLanguageLabel=Válassza ki a telepítés során használandó nyelvet: + +; *** Common wizard text +ClickNext=A folytatáshoz kattintson a Tovább gombra, vagy a Mégse gombra a Telepítõbõl történõ kilépéshez. +BeveledLabel= +BrowseDialogTitle=Tallózás a mappák között +BrowseDialogLabel=Válasszon egy mappát az alábbi listából, majd kattintson az OK gombra. +NewFolderName=Új mappa + +; *** "Welcome" wizard page +WelcomeLabel1=Üdvözli a(z) [name] Telepítõvarázsló. +WelcomeLabel2=A(z) [name/ver] a számítógépére fog kerülni.%n%nA telepítés folytatása elõtt ajánlott minden más futó alkalmazást bezárni. + +; *** "Password" wizard page +WizardPassword=Jelszó +PasswordLabel1=Ez a telepítés jelszóval van védve. +PasswordLabel3=Adja meg a jelszót, majd a folytatáshoz kattintson a Tovább gombra. A jelszavakban a kis- és a nagybetûk különbözõnek számítanak. +PasswordEditLabel=&Jelszó: +IncorrectPassword=A megadott jelszó helytelen. Próbálja újra. + +; *** "License Agreement" wizard page +WizardLicense=Licencszerzõdés +LicenseLabel=Olvassa el a következõ fontos információkat a folytatás elõtt. +LicenseLabel3=Kérem, olvassa el az alábbi licencszerzõdést. El kell fogadnia a szerzõdés feltételeit a telepítés folytatása elõtt. +LicenseAccepted=&Elfogadom a szerzõdést +LicenseNotAccepted=&Nem fogadom el a szerzõdést + +; *** "Information" wizard pages +WizardInfoBefore=Információk +InfoBeforeLabel=Olvassa el a következõ fontos információkat a folytatás elõtt. +InfoBeforeClickLabel=Ha felkészült a telepítés folytatására, kattintson a Tovább gombra. +WizardInfoAfter=Információk +InfoAfterLabel=Olvassa el a következõ fontos információkat a folytatás elõtt. +InfoAfterClickLabel=Ha felkészült a telepítés folytatására, kattintson a Tovább gombra. + +; *** "User Information" wizard page +WizardUserInfo=Felhasználó adatai +UserInfoDesc=Kérem, adja meg az adatait. +UserInfoName=&Felhasználónév: +UserInfoOrg=&Szervezet: +UserInfoSerial=&Sorozatszám: +UserInfoNameRequired=Meg kell adnia egy nevet. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Válasszon telepítési helyet +SelectDirDesc=Hova kerüljön telepítésre a(z) [name]? +SelectDirLabel3=A Telepítõ a(z) [name] alkalmazást a következõ mappába fogja telepíteni. +SelectDirBrowseLabel=A folytatáshoz kattintson a Tovább gombra. Másik mappa kiválasztásához kattintson a Tallózás gombra. +DiskSpaceMBLabel=Legalább [mb] MB szabad lemezterületre van szükség. +CannotInstallToNetworkDrive=A Telepítõ nem tud hálózati meghajtóra telepíteni. +CannotInstallToUNCPath=A Telepítõ nem tud hálózati UNC elérési útra telepíteni. +InvalidPath=Teljes útvonalat írjon be a meghajtó betûjelével; például:%n%nC:\Alkalmazás%n%nvagy egy hálózati útvonalat a következõ alakban:%n%n\\kiszolgáló\megosztás +InvalidDrive=A kiválasztott meghajtó vagy hálózati megosztás nem létezik vagy nem érhetõ el. Válasszon másikat. +DiskSpaceWarningTitle=Nincs elég szabad lemezterület a meghajtón +DiskSpaceWarning=A Telepítõnek legalább %1 KB szabad lemezterületre van szüksége, de a kiválasztott meghajtón csak %2 KB áll rendelkezésre.%n%nMindenképpen folytatni kívánja? +DirNameTooLong=A mappanév vagy az útvonal túl hosszú. +InvalidDirName=A mappanév érvénytelen. +BadDirName32=A mappanevekben nem szerepelhetnek a következõ karakterek:%n%n%1 +DirExistsTitle=A mappa már létezik +DirExists=A következõ mappa már létezik:%n%n%1 %n%nEbbe a mappába kívánja telepíteni a programot? +DirDoesntExistTitle=A mappa nem létezik +DirDoesntExist= A következõ mappa nem létezik:%n%n%1%n%nLétre kívánja hozni a mappát? + +; *** "Select Components" wizard page +WizardSelectComponents=Összetevõk kiválasztása +SelectComponentsDesc=Mely összetevõk kerüljenek telepítésre? +SelectComponentsLabel2=Válassza ki a telepítendõ összetevõket; törölje a telepíteni nem kívánt összetevõket. Kattintson a Tovább gombra, ha készen áll a folytatásra. +FullInstallation=Teljes telepítés +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Szokásos telepítés +CustomInstallation=Egyéni telepítés +NoUninstallWarningTitle=Létezõ összetevõ +NoUninstallWarning=A Telepítõ megállapította, hogy a következõ összetevõk már telepítve vannak a számítógépére:%n%n%1%n%nEzen összetevõk kijelölésének törlése nem távolítja el azokat a számítógépérõl.%n%nMindenképpen folytatja? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=A jelenlegi kijelölés legalább [mb] MB lemezterületet igényel. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Jelöljön ki kiegészítõ feladatokat +SelectTasksDesc=Mely kiegészítõ feladatok kerüljenek végrehajtásra? +SelectTasksLabel2=Jelölje ki, mely kiegészítõ feladatokat hajtsa végre a Telepítõ a(z) [name] telepítése során, majd kattintson a Tovább gombra. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Válasszon mappát a Start menüben +SelectStartMenuFolderDesc=Hova helyezze a Telepítõ a program parancsikonjait? +SelectStartMenuFolderLabel3=A Telepítõ a program parancsikonjait a Start menü következõ mappájában fogja létrehozni. +SelectStartMenuFolderBrowseLabel=A folytatáshoz kattintson a Tovább gombra. Másik mappa kiválasztásához kattintson a Tallózás gombra. +MustEnterGroupName=Meg kell adnia egy mappanevet. +GroupNameTooLong=A mappanév vagy az útvonal túl hosszú. +InvalidGroupName=A mappanév érvénytelen. +BadGroupName=A mappa nevében nem szerepelhetnek a következõ karakterek:%n%n%1 +NoProgramGroupCheck2=&Ne hozzon létre mappát a Start menüben + +; *** "Ready to Install" wizard page +WizardReady=A Telepítõ felkészült +ReadyLabel1=A Telepítõ felkészült a(z) [name] számítógépére történõ telepítésére. +ReadyLabel2a=Kattintson a Telepítés gombra a folytatáshoz, vagy a Vissza gombra a beállítások áttekintéséhez, megváltoztatásához. +ReadyLabel2b=Kattintson a Telepítés gombra a folytatáshoz. +ReadyMemoUserInfo=Felhasználó adatai: +ReadyMemoDir=Telepítés helye: +ReadyMemoType=Telepítés típusa: +ReadyMemoComponents=Választott összetevõk: +ReadyMemoGroup=Start menü mappája: +ReadyMemoTasks=Kiegészítõ feladatok: + +; *** "Preparing to Install" wizard page +WizardPreparing=Felkészülés a telepítésre +PreparingDesc=A Telepítõ felkészül a(z) [name] számítógépére történõ telepítésére. +PreviousInstallNotCompleted=Egy korábbi program telepítése/eltávolítása nem fejezõdött be. Újra kell indítania a számítógépét a másik telepítés befejezéséhez.%n%nA számítógépe újraindítása után ismét futtassa a Telepítõt a(z) [name] telepítésének befejezéséhez. +CannotContinue=A telepítés nem folytatható. A kilépéshez kattintson a Mégse gombra. +ApplicationsFound=A következõ alkalmazások olyan fájlokat használnak, amelyeket a Telepítõnek frissíteni kell. Ajánlott, hogy engedélyezze a Telepítõnek ezen alkalmazások automatikus bezárását. +ApplicationsFound2=A következõ alkalmazások olyan fájlokat használnak, amelyeket a Telepítõnek frissíteni kell. Ajánlott, hogy engedélyezze a Telepítõnek ezen alkalmazások automatikus bezárását. A telepítés befejezése után a Telepítõ megkísérli az alkalmazások újraindítását. +CloseApplications=&Alkalmazások automatikus bezárása +DontCloseApplications=&Ne zárja be az alkalmazásokat +ErrorCloseApplications=A Telepítõ nem tudott minden alkalmazást automatikusan bezárni. A folytatás elõtt ajánlott minden, a Telepítõ által frissítendõ fájlokat használó alkalmazást bezárni. + +; *** "Installing" wizard page +WizardInstalling=Telepítés állapota +InstallingLabel=Legyen türelemmel, amíg a(z) [name] számítógépére történõ telepítése folyik. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=A(z) [name] Telepítõvarázsló befejezése +FinishedLabelNoIcons=A(z) [name] telepítése befejezõdött. +FinishedLabel=A(z) [name] telepítése befejezõdött. Az alkalmazást a létrehozott ikonok kiválasztásával indíthatja. +ClickFinish=Kattintson a Befejezés gombra a Telepítõbõl történõ kilépéshez. +FinishedRestartLabel=A(z) [name] telepítésének befejezéséhez újra kell indítani a számítógépet. Újraindítja most? +FinishedRestartMessage=A(z) [name] telepítésének befejezéséhez újra kell indítani a számítógépet.%n%nÚjraindítja most? +ShowReadmeCheck=Igen, szeretném elolvasni a FONTOS fájlt +YesRadio=&Igen, újraindítom +NoRadio=&Nem, késõbb indítom újra +; used for example as 'Run MyProg.exe' +RunEntryExec=%1 futtatása +; used for example as 'View Readme.txt' +RunEntryShellExec=%1 megtekintése + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=A Telepítõnek szüksége van a következõ lemezre +SelectDiskLabel2=Helyezze be a(z) %1. lemezt és kattintson az OK gombra.%n%nHa a fájlok a lemez egy a megjelenítettõl különbözõ mappájában találhatók, írja be a helyes útvonalat vagy kattintson a Tallózás gombra. +PathLabel=Ú&tvonal: +FileNotInDir2=A(z) "%1" fájl nem található a következõ helyen: "%2". Helyezze be a megfelelõ lemezt vagy válasszon egy másik mappát. +SelectDirectoryLabel=Adja meg a következõ lemez helyét. + +; *** Installation phase messages +SetupAborted=A telepítés nem fejezõdött be.%n%nHárítsa el a hibát, és futtassa újra a Telepítõt. +EntryAbortRetryIgnore=Kilépés: megszakítás, Ismét: megismétlés, Tovább: folytatás + +; *** Installation status messages +StatusClosingApplications=Alkalmazások bezárása... +StatusCreateDirs=Könyvtárak létrehozása... +StatusExtractFiles=Fájlok kibontása... +StatusCreateIcons=Parancsikonok létrehozása... +StatusCreateIniEntries=INI bejegyzések létrehozása... +StatusCreateRegistryEntries=Rendszerleíró bejegyzések létrehozása... +StatusRegisterFiles=Fájlok regisztrálása... +StatusSavingUninstall=Eltávolító információk mentése... +StatusRunProgram=Telepítés befejezése... +StatusRestartingApplications=Alkalmazások újraindítása... +StatusRollback=Változtatások visszavonása... + +; *** Misc. errors +ErrorInternal2=Belsõ hiba: %1 +ErrorFunctionFailedNoCode=Sikertelen %1 +ErrorFunctionFailed=Sikertelen %1; kód: %2 +ErrorFunctionFailedWithMessage=Sikertelen %1; kód: %2.%n%3 +ErrorExecutingProgram=Nem hajtható végre a fájl:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Nem nyitható meg a rendszerleíró kulcs:%n%1\%2 +ErrorRegCreateKey=Nem hozható létre a rendszerleíró kulcs:%n%1\%2 +ErrorRegWriteKey=Nem módosítható a rendszerleíró kulcs:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Hiba az INI bejegyzés létrehozása közben a(z) "%1" fájlban. + +; *** File copying errors +FileAbortRetryIgnore=Kilépés: megszakítás, Ismét: megismétlés, Tovább: a fájl átlépése (nem ajánlott) +FileAbortRetryIgnore2=Kilépés: megszakítás, Ismét: megismétlés, Tovább: folytatás (nem ajánlott) +SourceIsCorrupted=A forrásfájl megsérült +SourceDoesntExist=A(z) "%1" forrásfájl nem létezik +ExistingFileReadOnly=A fájl csak olvashatóként van jelölve.%n%nKilépés: megszakítás, Ismét: csak olvasható jelölés megszüntetése, és megismétlés, Tovább: a fájl átlépése (nem ajánlott) +ErrorReadingExistingDest=Hiba lépett fel a fájl olvasása közben: +FileExists=A fájl már létezik.%n%nFelül kívánja írni? +ExistingFileNewer=A létezõ fájl újabb a telepítésre kerülõnél. Ajánlott a létezõ fájl megtartása.%n%nMeg kívánja tartani a létezõ fájlt? +ErrorChangingAttr=Hiba lépett fel a fájl attribútumának módosítása közben: +ErrorCreatingTemp=Hiba lépett fel a fájl telepítési könyvtárban történõ létrehozása közben: +ErrorReadingSource=Hiba lépett fel a forrásfájl olvasása közben: +ErrorCopying=Hiba lépett fel a fájl másolása közben: +ErrorReplacingExistingFile=Hiba lépett fel a létezõ fájl cseréje közben: +ErrorRestartReplace=A fájl cseréje az újraindítás után sikertelen volt: +ErrorRenamingTemp=Hiba lépett fel fájl telepítési könyvtárban történõ átnevezése közben: +ErrorRegisterServer=Nem lehet regisztrálni a DLL-t/OCX-et: %1 +ErrorRegSvr32Failed=Sikertelen RegSvr32. A visszaadott kód: %1 +ErrorRegisterTypeLib=Nem lehet regisztrálni a típustárat: %1 + +; *** Post-installation errors +ErrorOpeningReadme=Hiba lépett fel a FONTOS fájl megnyitása közben. +ErrorRestartingComputer=A Telepítõ nem tudta újraindítani a számítógépet. Indítsa újra kézileg. + +; *** Uninstaller messages +UninstallNotFound=A(z) "%1" fájl nem létezik. Nem távolítható el. +UninstallOpenError=A(z) "%1" fájl nem nyitható meg. Nem távolítható el +UninstallUnsupportedVer=A(z) "%1" eltávolítási naplófájl formátumát nem tudja felismerni az eltávolító jelen verziója. Az eltávolítás nem folytatható +UninstallUnknownEntry=Egy ismeretlen bejegyzés (%1) található az eltávolítási naplófájlban +ConfirmUninstall=Biztosan el kívánja távolítani a(z) %1 programot és minden összetevõjét? +UninstallOnlyOnWin64=Ezt a telepítést csak 64-bites Windowson lehet eltávolítani. +OnlyAdminCanUninstall=Ezt a telepítést csak adminisztrációs jogokkal rendelkezõ felhasználó távolíthatja el. +UninstallStatusLabel=Legyen türelemmel, amíg a(z) %1 számítógépérõl történõ eltávolítása befejezõdik. +UninstalledAll=A(z) %1 sikeresen el lett távolítva a számítógéprõl. +UninstalledMost=A(z) %1 eltávolítása befejezõdött.%n%nNéhány elemet nem lehetetett eltávolítani. Törölje kézileg. +UninstalledAndNeedsRestart=A(z) %1 eltávolításának befejezéséhez újra kell indítania a számítógépét.%n%nÚjraindítja most? +UninstallDataCorrupted=A(z) "%1" fájl sérült. Nem távolítható el. + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Törli a megosztott fájlt? +ConfirmDeleteSharedFile2=A rendszer azt jelzi, hogy a következõ megosztott fájlra már nincs szüksége egyetlen programnak sem. Eltávolítja a megosztott fájlt?%n%nHa más programok még mindig használják a megosztott fájlt, akkor az eltávolítása után lehet, hogy nem fognak megfelelõen mûködni. Ha bizonytalan, válassza a Nemet. A fájl megtartása nem okoz problémát a rendszerben. +SharedFileNameLabel=Fájlnév: +SharedFileLocationLabel=Helye: +WizardUninstalling=Eltávolítás állapota +StatusUninstalling=%1 eltávolítása... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=%1 telepítése. +ShutdownBlockReasonUninstallingApp=%1 eltávolítása. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 %2 verzió +AdditionalIcons=További ikonok: +CreateDesktopIcon=Ikon létrehozása az &Asztalon +CreateQuickLaunchIcon=Ikon létrehozása a &Gyorsindítás eszköztáron +ProgramOnTheWeb=%1 a weben +UninstallProgram=%1 eltávolítása +LaunchProgram=%1 elindítása +AssocFileExtension=A(z) %1 &társítása a(z) %2 fájlkiterjesztéssel +AssocingFileExtension=A(z) %1 társítása a(z) %2 fájlkiterjesztéssel... +AutoStartProgramGroupDescription=Indítópult: +AutoStartProgram=%1 automatikus indítása +AddonHostProgramNotFound=A(z) %1 nem található a kiválasztott mappában.%n%nMindenképpen folytatni kívánja? diff --git a/dist/windows/languages/Italian.isl b/dist/windows/languages/Italian.isl new file mode 100644 index 00000000..ae5d1c14 --- /dev/null +++ b/dist/windows/languages/Italian.isl @@ -0,0 +1,341 @@ +; *** Inno Setup version 5.5.3+ Italian messages *** +; +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/files/istrans/ +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). +; +; Italian.isl - Last Update December 15, 2012 (based on ale5000 5.1.11+ translation) +; +; Translator name: Rinaldo M. aka Whiteshark +; Translator e-mail: dad428(X)hotmail.com (replace (X) with @ ) +; +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=Italiano +LanguageID=$0410 +LanguageCodePage=1252 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=Installazione +SetupWindowTitle=Installazione di %1 +UninstallAppTitle=Disinstallazione +UninstallAppFullTitle=Disinstallazione di %1 + +; *** Misc. common +InformationTitle=Informazioni +ConfirmTitle=Conferma +ErrorTitle=Errore + +; *** SetupLdr messages +SetupLdrStartupMessage=Questa è l'installazione di %1. Si desidera continuare? +LdrCannotCreateTemp=Impossibile creare un file temporaneo. Installazione annullata +LdrCannotExecTemp=Impossibile eseguire un file nella cartella temporanea. Installazione annullata + +; *** Startup error messages +LastErrorMessage=%1.%n%nErrore %2: %3 +SetupFileMissing=File %1 non trovato nella cartella di installazione. Correggere il problema o richiedere una nuova copia del software. +SetupFileCorrupt=I file di installazione sono danneggiati. Richiedere una nuova copia del software. +SetupFileCorruptOrWrongVer=I file di installazione sono danneggiati, o sono incompatibili con questa versione del programma di installazione. Correggere il problema o richiedere una nuova copia del software. +InvalidParameter=Un parametro non valido è stato immesso sulla riga di comando:%n%n%1 +SetupAlreadyRunning=Il processo di installazione è già in funzione. +WindowsVersionNotSupported=Questo programma non supporta la versione di Windows installata sul computer. +WindowsServicePackRequired=Questo programma richiede %1 Service Pack %2 o successivo. +NotOnThisPlatform=Questo programma non è compatibile con %1. +OnlyOnThisPlatform=Questo programma richiede %1. +OnlyOnTheseArchitectures=Questo programma può essere installato solo su versioni di Windows progettate per le seguenti architetture del processore:%n%n%1 +MissingWOW64APIs=La versione di Windows utilizzata non include la funzionalità richiesta dal programma di installazione per realizzare un'installazione a 64-bit. Per correggere questo problema, installare il Service Pack %1. +WinVersionTooLowError=Questo programma richiede %1 versione %2 o successiva. +WinVersionTooHighError=Questo programma non può essere installato su %1 versione %2 o successiva. +AdminPrivilegesRequired=Sono richiesti privilegi di amministratore per installare questo programma. +PowerUserPrivilegesRequired=Sono richiesti privilegi di amministratore o di Power Users per poter installare questo programma. +SetupAppRunningError=%1 è attualmente in esecuzione.%n%nChiudere adesso tutte le istanze del programma e poi premere OK, oppure premere Annulla per uscire. +UninstallAppRunningError=%1 è attualmente in esecuzione.%n%nChiudere adesso tutte le istanze del programma e poi premere OK, oppure premere Annulla per uscire. + +; *** Misc. errors +ErrorCreatingDir=Impossibile creare la cartella "%1" +ErrorTooManyFilesInDir=Impossibile creare i file nella cartella "%1" perché contiene troppi file + +; *** Setup common messages +ExitSetupTitle=Uscita dall'installazione +ExitSetupMessage=L'installazione non è completa. Uscendo dall'installazione in questo momento, il programma non sarà installato.%n%nÈ possibile eseguire l'installazione in un secondo tempo.%n%nUscire dall'installazione? +AboutSetupMenuItem=&Informazioni sull'installazione... +AboutSetupTitle=Informazioni sull'installazione +AboutSetupMessage=%1 versione %2%n%3%n%n%1 sito web:%n%4 +AboutSetupNote= +TranslatorNote=Traduzione italiana a cura di Rinaldo M. aka Whiteshark + +; *** Buttons +ButtonBack=< &Indietro +ButtonNext=&Avanti > +ButtonInstall=Inst&alla +ButtonOK=OK +ButtonCancel=Annulla +ButtonYes=&Si +ButtonYesToAll=Si a &tutto +ButtonNo=&No +ButtonNoToAll=N&o a tutto +ButtonFinish=&Fine +ButtonBrowse=&Sfoglia... +ButtonWizardBrowse=S&foglia... +ButtonNewFolder=&Crea nuova cartella + +; *** "Select Language" dialog messages +SelectLanguageTitle=Selezionare la lingua dell'installazione +SelectLanguageLabel=Selezionare la lingua da utilizzare durante l'installazione: + +; *** Common wizard text +ClickNext=Premere Avanti per continuare, o Annulla per uscire. +BeveledLabel= +BrowseDialogTitle=Sfoglia per cartelle +BrowseDialogLabel=Selezionare una cartella dalla lista, poi premere OK. +NewFolderName=Nuova cartella + +; *** "Welcome" wizard page +WelcomeLabel1=Benvenuti nel programma di installazione di [name] +WelcomeLabel2=[name/ver] sarà installato sul computer.%n%nSi consiglia di chiudere tutte le applicazioni attive prima di procedere. + +; *** "Password" wizard page +WizardPassword=Password +PasswordLabel1=Questa installazione è protetta da password. +PasswordLabel3=Inserire la password, poi premere Avanti per continuare. Le password sono sensibili alle maiuscole/minuscole. +PasswordEditLabel=&Password: +IncorrectPassword=La password inserita non è corretta, riprovare. + +; *** "License Agreement" wizard page +WizardLicense=Contratto di licenza +LicenseLabel=Leggere con attenzione le informazioni che seguono prima di procedere. +LicenseLabel3=Leggere il seguente contratto di licenza. È necessario accettare tutti i termini del contratto per procedere con l'installazione. +LicenseAccepted=Accetto i termini del &contratto di licenza +LicenseNotAccepted=&Non accetto i termini del contratto di licenza + +; *** "Information" wizard pages +WizardInfoBefore=Informazioni +InfoBeforeLabel=Leggere le importanti informazioni che seguono prima di procedere. +InfoBeforeClickLabel=Quando si è pronti per proseguire, premere Avanti. +WizardInfoAfter=Informazioni +InfoAfterLabel=Leggere le importanti informazioni che seguono prima di procedere. +InfoAfterClickLabel=Quando si è pronti per proseguire, premere Avanti. + +; *** "User Information" wizard page +WizardUserInfo=Informazioni utente +UserInfoDesc=Inserire le seguenti informazioni. +UserInfoName=&Nome: +UserInfoOrg=&Società: +UserInfoSerial=&Numero di serie: +UserInfoNameRequired=È necessario inserire un nome. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Selezione della cartella di installazione +SelectDirDesc=Dove si vuole installare [name]? +SelectDirLabel3=[name] sarà installato nella seguente cartella. +SelectDirBrowseLabel=Per continuare, premere Avanti. Per scegliere un'altra cartella, premere Sfoglia. +DiskSpaceMBLabel=Sono richiesti almeno [mb] MB di spazio sul disco. +CannotInstallToNetworkDrive=Non è possibile effettuare l'installazione su un drive in rete. +CannotInstallToUNCPath=Non è possibile effettuare l'installazione su un percorso UNC. +InvalidPath=Si deve inserire un percorso completo di lettera di unità; per esempio:%n%nC:\APP%n%no un percorso di rete nella forma:%n%n\\server\condivisione +InvalidDrive=L'unità o il percorso di rete selezionato non esiste o non è accessibile. Selezionarne un'altro. +DiskSpaceWarningTitle=Spazio su disco insufficiente +DiskSpaceWarning=L'installazione richiede almeno %1 KB di spazio libero per eseguire l'installazione, ma l'unità selezionata ha solo %2 KB disponibili.%n%nSi desidera continuare comunque? +DirNameTooLong=Il nome della cartella o il percorso sono troppo lunghi. +InvalidDirName=Il nome della cartella non è valido. +BadDirName32=Il nome della cartella non può includere nessuno dei caratteri seguenti:%n%n%1 +DirExistsTitle=Cartella già esistente +DirExists=La cartella:%n%n%1 esiste già.%n%nSi desidera utilizzarla comunque? +DirDoesntExistTitle=Cartella inesistente +DirDoesntExist=La cartella:%n%n%1 non esiste.%n%nSi desidera crearla? + +; *** "Select Components" wizard page +WizardSelectComponents=Selezione componenti +SelectComponentsDesc=Quali componenti devono essere installati? +SelectComponentsLabel2=Selezionare i componenti da installare, deselezionare quelli che non si desidera installare. Premere Avanti per continuare. +FullInstallation=Installazione completa +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Installazione compatta +CustomInstallation=Installazione personalizzata +NoUninstallWarningTitle=Componente esistente +NoUninstallWarning=I seguenti componenti sono già installati sul computer:%n%n%1%n%nDeselezionando questi componenti essi non verranno rimossi.%n%nSi desidera continuare comunque? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=La selezione corrente richiede almeno [mb] MB di spazio su disco. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Selezione processi addizionali +SelectTasksDesc=Quali processi aggiuntivi si vogliono avviare? +SelectTasksLabel2=Selezionare i processi aggiuntivi che verranno eseguiti durante l'installazione di [name], poi premere Avanti. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Selezione della cartella nel Menu Avvio/Start +SelectStartMenuFolderDesc=Dove si vuole inserire i collegamenti al programma? +SelectStartMenuFolderLabel3=Saranno creati i collegamenti al programma nella seguente cartella del Menu Avvio/Start. +SelectStartMenuFolderBrowseLabel=Per continuare, premere Avanti. Per selezionare un'altra cartella, premere Sfoglia. +MustEnterGroupName=Si deve inserire il nome della cartella. +GroupNameTooLong=Il nome della cartella o il percorso sono troppo lunghi. +InvalidGroupName=Il nome della cartella non è valido. +BadGroupName=Il nome della cartella non può includere nessuno dei caratteri seguenti:%n%n%1 +NoProgramGroupCheck2=&Non creare una cartella nel Menu Avvio/Start + +; *** "Ready to Install" wizard page +WizardReady=Pronto per l'installazione +ReadyLabel1=Il programma di installazione è pronto per iniziare l'installazione di [name] sul computer. +ReadyLabel2a=Premere Installa per continuare con l'installazione, o Indietro per rivedere o modificare le impostazioni. +ReadyLabel2b=Premere Installa per procedere con l'installazione. +ReadyMemoUserInfo=Informazioni utente: +ReadyMemoDir=Cartella di installazione: +ReadyMemoType=Tipo di installazione: +ReadyMemoComponents=Componenti selezionati: +ReadyMemoGroup=Cartella del menu Avvio/Start: +ReadyMemoTasks=Processi addizionali: + +; *** "Preparing to Install" wizard page +WizardPreparing=Preparazione all'installazione +PreparingDesc=Preparazione all'installazione di [name] sul computer. +PreviousInstallNotCompleted=L'installazione/rimozione precedente del programma non è stata completata. È necessario riavviare il sistema per completare l'installazione.%n%nDopo il riavvio del sistema eseguire di nuovo l'installazione di [name]. +CannotContinue=L'installazione non può continuare. Premere Annulla per uscire. +ApplicationsFound=Le seguenti applicazioni stanno usando file che devono essere aggiornati dall'installazione. Si consiglia di permettere al processo di chiudere automaticamente queste applicazioni. +ApplicationsFound2=Le seguenti applicazioni stanno usando file che devono essere aggiornati dall'installazione. Si consiglia di permettere al processo di chiudere automaticamente queste applicazioni. Al completamento dell'installazione, il processo tenterà di riavviare le applicazioni. +CloseApplications=Chiudi &automaticamente le applicazioni +DontCloseApplications=&Non chiudere le applicazioni +ErrorCloseApplications=L'installazione non è riuscita a chiudere automaticamente tutte le applicazioni. Si raccomanda di chiudere tutte le applicazioni che usano file che devono essere aggiornati durante l'installazione prima di proseguire. + +; *** "Installing" wizard page +WizardInstalling=Installazione in corso +InstallingLabel=Attendere il completamento dell'installazione di [name] sul computer. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=Completamento dell'installazione di [name] +FinishedLabelNoIcons=L'installazione di [name] è stata completata con successo. +FinishedLabel=L'installazione di [name] è stata completata con successo. L'applicazione può essere eseguita selezionando le relative icone. +ClickFinish=Premere Fine per uscire dall'installazione. +FinishedRestartLabel=Per completare l'installazione di [name], è necessario riavviare il sistema. Si desidera riavviare adesso? +FinishedRestartMessage=Per completare l'installazione di [name], è necessario riavviare il sistema.%n%nSi desidera riavviare adesso? +ShowReadmeCheck=Si, desidero vedere il file LEGGIMI adesso +YesRadio=&Si, riavvia il sistema adesso +NoRadio=&No, riavvia il sistema più tardi +; used for example as 'Run MyProg.exe' +RunEntryExec=Avvia %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=Visualizza %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=L'installazione necessita del disco successivo +SelectDiskLabel2=Inserire il disco %1 e premere OK.%n%nSe i file su questo disco si trovano in una cartella diversa da quella visualizzata sotto, inserire il percorso corretto o premere Sfoglia. +PathLabel=&Percorso: +FileNotInDir2=Il file "%1" non è stato trovato in "%2". Inserire il disco corretto o selezionare un'altra cartella. +SelectDirectoryLabel=Specificare il percorso del prossimo disco. + +; *** Installation phase messages +SetupAborted=L'installazione non è stata completata.%n%nCorreggere il problema e rieseguire nuovamente l'installazione. +EntryAbortRetryIgnore=Premere Riprova per ritentare nuovamente, Ignora per procedere in ogni caso, o Interrompi per terminare l'installazione. + +; *** Installation status messages +StatusClosingApplications=Chiusura applicazioni... +StatusCreateDirs=Creazione cartelle... +StatusExtractFiles=Estrazione file... +StatusCreateIcons=Creazione icone... +StatusCreateIniEntries=Creazione voci nei file INI... +StatusCreateRegistryEntries=Creazione voci di registro... +StatusRegisterFiles=Registrazione file... +StatusSavingUninstall=Salvataggio delle informazioni di disinstallazione... +StatusRunProgram=Termine dell'installazione... +StatusRestartingApplications=Riavvio applicazioni... +StatusRollback=Recupero delle modifiche... + +; *** Misc. errors +ErrorInternal2=Errore Interno %1 +ErrorFunctionFailedNoCode=%1 fallito +ErrorFunctionFailed=%1 fallito; codice %2 +ErrorFunctionFailedWithMessage=%1 fallito; codice %2.%n%3 +ErrorExecutingProgram=Impossibile eseguire il file:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Errore di apertura della chiave di registro:%n%1\%2 +ErrorRegCreateKey=Errore di creazione della chiave di registro:%n%1\%2 +ErrorRegWriteKey=Errore di scrittura della chiave di registro:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Errore nella creazione delle voci INI nel file "%1". + +; *** File copying errors +FileAbortRetryIgnore=Premere Riprova per tentare di nuovo, Ignora per saltare questo file (sconsigliato), o Interrompi per terminare l'installazione. +FileAbortRetryIgnore2=Premere Riprova per tentare di nuovo, Ignora per proseguire comunque (sconsigliato), o Interrompi per terminare l'installazione. +SourceIsCorrupted=Il file sorgente è danneggiato +SourceDoesntExist=Il file sorgente "%1" non esiste +ExistingFileReadOnly=Il file esistente ha l'attributo di sola lettura.%n%nPremere Riprova per rimuovere l'attributo di sola lettura e ritentare, Ignora per saltare questo file, o Interrompi per terminare l'installazione. +ErrorReadingExistingDest=Si è verificato un errore durante la lettura del file esistente: +FileExists=Il file esiste già.%n%nDesideri sovrascriverlo? +ExistingFileNewer=Il file esistente è più recente di quello che si stà installando. Si raccomanda di mantenere il file esistente.%n%nSi desidera mantenere il file esistente? +ErrorChangingAttr=Si è verificato un errore durante il tentativo di modifica dell'attributo del file esistente: +ErrorCreatingTemp=Si è verificato un errore durante la creazione di un file nella cartella di installazione: +ErrorReadingSource=Si è verificato un errore durante la lettura del file sorgente: +ErrorCopying=Si è verificato un errore durante la copia di un file: +ErrorReplacingExistingFile=Si è verificato un errore durante la sovrascrittura del file esistente: +ErrorRestartReplace=Errore durante Riavvio-Sostituzione: +ErrorRenamingTemp=Si è verificato un errore durante il tentativo di rinominare un file nella cartella di installazione: +ErrorRegisterServer=Impossibile registrare la DLL/OCX: %1 +ErrorRegSvr32Failed=RegSvr32 è fallito con codice di uscita %1 +ErrorRegisterTypeLib=Impossibile registrare la libreria di tipo: %1 + +; *** Post-installation errors +ErrorOpeningReadme=Si è verificato un errore durante l'apertura del file LEGGIMI. +ErrorRestartingComputer=Impossibile riavviare il sistema. Riavviare manualmente. + +; *** Uninstaller messages +UninstallNotFound=Il file "%1" non esiste. Impossibile disinstallare. +UninstallOpenError=Il file "%1" non può essere aperto. Impossibile disinstallare +UninstallUnsupportedVer=Il file log di disinstallazione "%1" è in un formato non riconosciuto da questa versione del programma di disinstallazione. Impossibile disinstallare +UninstallUnknownEntry=Trovata una voce sconosciuta (%1) nel file log di disinstallazione +ConfirmUninstall=Si desidera rimuovere completamente %1 e tutti i suoi componenti? +UninstallOnlyOnWin64=Questa applicazione può essere disinstallata solo su Windows a 64-bit. +OnlyAdminCanUninstall=Questa applicazione può essere disinstallata solo da un utente con privilegi di amministratore. +UninstallStatusLabel=Attendere fino a che %1 è stato rimosso dal computer. +UninstalledAll=%1 è stato rimosso con successo dal computer. +UninstalledMost=Disinstallazione di %1 completata.%n%nAlcuni elementi non possono essere rimossi. Dovranno essere rimossi manualmente. +UninstalledAndNeedsRestart=Per completare la disinstallazione di %1, è necessario riavviare il sistema.%n%nSi desidera riavviare adesso? +UninstallDataCorrupted=Il file "%1" è danneggiato. Impossibile disinstallare + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Rimuovere il file condiviso? +ConfirmDeleteSharedFile2=Il sistema indica che il seguente file condiviso non è più usato da nessun programma. Rimuovere questo file condiviso?%n%nSe qualche programma usasse questo file, potrebbe non funzionare più correttamente. Se non si è sicuri, scegliere No. Lasciare il file nel sistema non può causare danni. +SharedFileNameLabel=Nome del file: +SharedFileLocationLabel=Percorso: +WizardUninstalling=Stato della disinstallazione +StatusUninstalling=Disinstallazione di %1 in corso... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=Installazione di %1. +ShutdownBlockReasonUninstallingApp=Disinstallazione di %1. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 versione %2 +AdditionalIcons=Icone aggiuntive: +CreateDesktopIcon=Crea un'icona sul &desktop +CreateQuickLaunchIcon=Crea un'icona nella &barra Avvio veloce +ProgramOnTheWeb=%1 sul Web +UninstallProgram=Disinstalla %1 +LaunchProgram=Avvia %1 +AssocFileExtension=&Associa l'estensione %2 a %1 +AssocingFileExtension=Associazione dell'estensione %2 a %1 in corso... +AutoStartProgramGroupDescription=Avvio automatico: +AutoStartProgram=Avvia automaticamente %1 +AddonHostProgramNotFound=Impossibile individuare %1 nella cartella selezionata.%n%nProseguire ugualmente? \ No newline at end of file diff --git a/dist/windows/languages/Japanese.isl b/dist/windows/languages/Japanese.isl new file mode 100644 index 00000000..085967a7 --- /dev/null +++ b/dist/windows/languages/Japanese.isl @@ -0,0 +1,322 @@ +; *** Inno Setup version 5.5.3+ Japanese messages *** +; +; Maintained by Koichi Shirasuka (shirasuka@eugrid.co.jp) +; +; Translation based on Ryou Minakami (ryou32jp@yahoo.co.jp) +; +; $jrsoftware: issrc/Files/Languages/Japanese.isl,v 1.6 2010/03/08 07:50:01 mlaan Exp $ + +[LangOptions] +LanguageName=<65E5><672C><8A9E> +LanguageID=$0411 +LanguageCodePage=932 + +[Messages] + +; *** Application titles +SetupAppTitle=ƒZƒbƒgƒAƒbƒv +SetupWindowTitle=%1 ƒZƒbƒgƒAƒbƒv +UninstallAppTitle=ƒAƒ“ƒCƒ“ƒXƒg[ƒ‹ +UninstallAppFullTitle=%1 ƒAƒ“ƒCƒ“ƒXƒg[ƒ‹ + +; *** Misc. common +InformationTitle=î•ñ +ConfirmTitle=Šm”F +ErrorTitle=ƒGƒ‰[ + +; *** SetupLdr messages +SetupLdrStartupMessage=%1 ‚ðƒCƒ“ƒXƒg[ƒ‹‚µ‚Ü‚·B‘±s‚µ‚Ü‚·‚©H +LdrCannotCreateTemp=ˆêŽžƒtƒ@ƒCƒ‹‚ð쬂ł«‚Ü‚¹‚ñBƒZƒbƒgƒAƒbƒv‚𒆎~‚µ‚Ü‚·B +LdrCannotExecTemp=ˆêŽžƒtƒHƒ‹ƒ_‚̃tƒ@ƒCƒ‹‚ðŽÀs‚Å‚«‚Ü‚¹‚ñBƒZƒbƒgƒAƒbƒv‚𒆎~‚µ‚Ü‚·B + +; *** Startup error messages +LastErrorMessage=%1.%n%nƒGƒ‰[ %2: %3 +SetupFileMissing=ƒtƒ@ƒCƒ‹ %1 ‚ªŒ©‚‚©‚è‚Ü‚¹‚ñB–â‘è‚ð‰ðŒˆ‚·‚é‚©V‚µ‚¢ƒZƒbƒgƒAƒbƒvƒvƒƒOƒ‰ƒ€‚ð“üŽè‚µ‚Ä‚­‚¾‚³‚¢B +SetupFileCorrupt=ƒZƒbƒgƒAƒbƒvƒtƒ@ƒCƒ‹‚ª‰ó‚ê‚Ä‚¢‚Ü‚·BV‚µ‚¢ƒZƒbƒgƒAƒbƒvƒvƒƒOƒ‰ƒ€‚ð“üŽè‚µ‚Ä‚­‚¾‚³‚¢B +SetupFileCorruptOrWrongVer=ƒZƒbƒgƒAƒbƒvƒtƒ@ƒCƒ‹‚ª‰ó‚ê‚Ä‚¢‚é‚©A‚±‚̃o[ƒWƒ‡ƒ“‚̃ZƒbƒgƒAƒbƒv‚ƌ݊·«‚ª‚ ‚è‚Ü‚¹‚ñB–â‘è‚ð‰ðŒˆ‚·‚é‚©V‚µ‚¢ƒZƒbƒgƒAƒbƒvƒvƒƒOƒ‰ƒ€‚ð“üŽè‚µ‚Ä‚­‚¾‚³‚¢B +InvalidParameter=ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚É•s³‚ȃpƒ‰ƒ[ƒ^[‚ª“n‚³‚ê‚Ü‚µ‚½:%n%n%1 +SetupAlreadyRunning=ƒZƒbƒgƒAƒbƒv‚ÍŠù‚ÉŽÀs’†‚Å‚·B +WindowsVersionNotSupported=‚±‚̃vƒƒOƒ‰ƒ€‚Í‚¨Žg‚¢‚̃o[ƒWƒ‡ƒ“‚Ì Windows ‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚¹‚ñB +WindowsServicePackRequired=‚±‚̃vƒƒOƒ‰ƒ€‚ÌŽÀs‚É‚Í %1 Service Pack %2 ˆÈ~‚ª•K—v‚Å‚·B +NotOnThisPlatform=‚±‚̃vƒƒOƒ‰ƒ€‚Í %1 ‚Å‚Í“®ì‚µ‚Ü‚¹‚ñB +OnlyOnThisPlatform=‚±‚̃vƒƒOƒ‰ƒ€‚ÌŽÀs‚É‚Í %1 ‚ª•K—v‚Å‚·B +OnlyOnTheseArchitectures=‚±‚̃vƒƒOƒ‰ƒ€‚Í%n%n%1ƒvƒƒZƒbƒT[Œü‚¯‚Ì Windows ‚É‚µ‚©ƒCƒ“ƒXƒg[ƒ‹‚Å‚«‚Ü‚¹‚ñB +MissingWOW64APIs=‚²Žg—p’†‚Ì 64-bit ”Å Windows ‚É‚Í‚±‚̃vƒƒOƒ‰ƒ€‚ðƒCƒ“ƒXƒg[ƒ‹‚µA“®ì‚³‚¹‚éˆ×‚É•K—v‚È‹@”\‚ªŠÜ‚Ü‚ê‚Ä‚¢‚Ü‚¹‚ñB‚±‚Ì–â‘è‚ðC³‚·‚éˆ×‚ɂ̓T[ƒrƒXƒpƒbƒN %1 ‚ðƒCƒ“ƒXƒg[ƒ‹‚µ‚Ä‚­‚¾‚³‚¢B +WinVersionTooLowError=‚±‚̃vƒƒOƒ‰ƒ€‚ÌŽÀs‚É‚Í %1 %2 ˆÈ~‚ª•K—v‚Å‚·B +WinVersionTooHighError=‚±‚̃vƒƒOƒ‰ƒ€‚Í %1 %2 ˆÈ~‚Å‚Í“®ì‚µ‚Ü‚¹‚ñB +AdminPrivilegesRequired=‚±‚̃vƒƒOƒ‰ƒ€‚ðƒCƒ“ƒXƒg[ƒ‹‚·‚邽‚ß‚É‚ÍŠÇ—ŽÒ‚Æ‚µ‚ăƒOƒCƒ“‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B +PowerUserPrivilegesRequired=‚±‚̃vƒƒOƒ‰ƒ€‚ðƒCƒ“ƒXƒg[ƒ‹‚·‚邽‚ß‚É‚ÍŠÇ—ŽÒ‚Ü‚½‚̓pƒ[ƒ†[ƒU[‚Æ‚µ‚ăƒOƒCƒ“‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B +SetupAppRunningError=ƒZƒbƒgƒAƒbƒv‚ÍŽÀs’†‚Ì %1 ‚ðŒŸo‚µ‚Ü‚µ‚½B%n%nŠJ‚¢‚Ä‚¢‚éƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ð‚·‚×‚Ä•Â‚¶‚Ä‚©‚çuOKv‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢BuƒLƒƒƒ“ƒZƒ‹v‚ðƒNƒŠƒbƒN‚·‚é‚ÆAƒZƒbƒgƒAƒbƒv‚ðI—¹‚µ‚Ü‚·B +UninstallAppRunningError=ƒAƒ“ƒCƒ“ƒXƒg[ƒ‹‚ÍŽÀs’†‚Ì %1 ‚ðŒŸo‚µ‚Ü‚µ‚½B%n%nŠJ‚¢‚Ä‚¢‚éƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ð‚·‚×‚Ä•Â‚¶‚Ä‚©‚çuOKv‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢BuƒLƒƒƒ“ƒZƒ‹v‚ðƒNƒŠƒbƒN‚·‚é‚ÆAƒZƒbƒgƒAƒbƒv‚ðI—¹‚µ‚Ü‚·B + +; *** Misc. errors +ErrorCreatingDir=ƒfƒBƒŒƒNƒgƒŠ %1 ‚ð쬒†‚ɃGƒ‰[‚ª”­¶‚µ‚Ü‚µ‚½B +ErrorTooManyFilesInDir=ƒfƒBƒŒƒNƒgƒŠ %1 ‚Ƀtƒ@ƒCƒ‹‚ð쬒†‚ɃGƒ‰[‚ª”­¶‚µ‚Ü‚µ‚½Bƒtƒ@ƒCƒ‹‚Ì”‚ª‘½‚·‚¬‚Ü‚·B + +; *** Setup common messages +ExitSetupTitle=ƒZƒbƒgƒAƒbƒvI—¹ +ExitSetupMessage=ƒZƒbƒgƒAƒbƒvì‹Æ‚ÍŠ®—¹‚µ‚Ä‚¢‚Ü‚¹‚ñB‚±‚±‚ŃZƒbƒgƒAƒbƒv‚𒆎~‚·‚é‚ƃvƒƒOƒ‰ƒ€‚̓Cƒ“ƒXƒg[ƒ‹‚³‚ê‚Ü‚¹‚ñB%n%n‰ü‚߂ăCƒ“ƒXƒg[ƒ‹‚·‚éꇂÍA‚à‚¤ˆê“xƒZƒbƒgƒAƒbƒv‚ðŽÀs‚µ‚Ä‚­‚¾‚³‚¢B%n%nƒZƒbƒgƒAƒbƒv‚ðI—¹‚µ‚Ü‚·‚©H +AboutSetupMenuItem=ƒZƒbƒgƒAƒbƒv‚ɂ‚¢‚Ä(&A)... +AboutSetupTitle=ƒZƒbƒgƒAƒbƒv‚ɂ‚¢‚Ä +AboutSetupMessage=%1 %2%n%3%n%n%1 ƒz[ƒ€ƒy[ƒW:%n%4 +AboutSetupNote= +TranslatorNote= + +; *** Buttons +ButtonBack=< –ß‚é(&B) +ButtonNext=ŽŸ‚Ö(&N) > +ButtonInstall=ƒCƒ“ƒXƒg[ƒ‹(&I) +ButtonOK=OK +ButtonCancel=ƒLƒƒƒ“ƒZƒ‹ +ButtonYes=‚Í‚¢(&Y) +ButtonYesToAll=‚·‚ׂĂ͂¢(&A) +ButtonNo=‚¢‚¢‚¦(&N) +ButtonNoToAll=‚·‚ׂĂ¢‚¢‚¦(&O) +ButtonFinish=Š®—¹(&F) +ButtonBrowse=ŽQÆ(&B)... +ButtonWizardBrowse=ŽQÆ(&R) +ButtonNewFolder=V‚µ‚¢ƒtƒHƒ‹ƒ_[(&M) + +; *** "Select Language" dialog messages +SelectLanguageTitle=ƒZƒbƒgƒAƒbƒv‚ÉŽg—p‚·‚錾Œê‚Ì‘I‘ð +SelectLanguageLabel=ƒCƒ“ƒXƒg[ƒ‹’†‚É—˜—p‚·‚錾Œê‚ð‘I‚ñ‚Å‚­‚¾‚³‚¢: + +; *** Common wizard text +ClickNext=‘±s‚·‚é‚É‚ÍuŽŸ‚ÖvAƒZƒbƒgƒAƒbƒv‚ðI—¹‚·‚é‚É‚ÍuƒLƒƒƒ“ƒZƒ‹v‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B +BeveledLabel= +BrowseDialogTitle=ƒtƒHƒ‹ƒ_[ŽQÆ +BrowseDialogLabel=ƒŠƒXƒg‚©‚çƒtƒHƒ‹ƒ_[‚ð‘I‚Ñ OK ‚ð‰Ÿ‚µ‚Ä‚­‚¾‚³‚¢B +NewFolderName=V‚µ‚¢ƒtƒHƒ‹ƒ_[ + +; *** "Welcome" wizard page +WelcomeLabel1=[name] ƒZƒbƒgƒAƒbƒvƒEƒBƒU[ƒh‚ÌŠJŽn +WelcomeLabel2=‚±‚̃vƒƒOƒ‰ƒ€‚Í‚²Žg—p‚̃Rƒ“ƒsƒ…[ƒ^[‚Ö [name/ver] ‚ðƒCƒ“ƒXƒg[ƒ‹‚µ‚Ü‚·B%n%n‘±s‚·‚é‘O‚É‘¼‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚ð‚·‚×‚ÄI—¹‚µ‚Ä‚­‚¾‚³‚¢B + +; *** "Password" wizard page +WizardPassword=ƒpƒXƒ[ƒh +PasswordLabel1=‚±‚̃Cƒ“ƒXƒg[ƒ‹ƒvƒƒOƒ‰ƒ€‚̓pƒXƒ[ƒh‚É‚æ‚Á‚ĕی삳‚ê‚Ä‚¢‚Ü‚·B +PasswordLabel3=ƒpƒXƒ[ƒh‚ð“ü—Í‚µ‚ÄuŽŸ‚Öv‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢BƒpƒXƒ[ƒh‚͑啶Žš‚Ƭ•¶Žš‚ª‹æ•Ê‚³‚ê‚Ü‚·B +PasswordEditLabel=ƒpƒXƒ[ƒh(&P): +IncorrectPassword=“ü—Í‚³‚ꂽƒpƒXƒ[ƒh‚ª³‚µ‚­‚ ‚è‚Ü‚¹‚ñB‚à‚¤ˆê“x“ü—Í‚µ‚È‚¨‚µ‚Ä‚­‚¾‚³‚¢B + +; *** "License Agreement" wizard page +WizardLicense=Žg—p‹–‘øŒ_–ñ‘‚Ì“¯ˆÓ +LicenseLabel=‘±s‚·‚é‘O‚Ɉȉº‚Ìd—v‚Èî•ñ‚ð‚¨“Ç‚Ý‚­‚¾‚³‚¢B +LicenseLabel3=ˆÈ‰º‚ÌŽg—p‹–‘øŒ_–ñ‘‚ð‚¨“Ç‚Ý‚­‚¾‚³‚¢BƒCƒ“ƒXƒg[ƒ‹‚ð‘±s‚·‚é‚É‚Í‚±‚ÌŒ_–ñ‘‚É“¯ˆÓ‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B +LicenseAccepted=“¯ˆÓ‚·‚é(&A) +LicenseNotAccepted=“¯ˆÓ‚µ‚È‚¢(&D) + +; *** "Information" wizard pages +WizardInfoBefore=î•ñ +InfoBeforeLabel=‘±s‚·‚é‘O‚Ɉȉº‚Ìd—v‚Èî•ñ‚ð‚¨“Ç‚Ý‚­‚¾‚³‚¢B +InfoBeforeClickLabel=ƒZƒbƒgƒAƒbƒv‚ð‘±s‚·‚é‚É‚ÍuŽŸ‚Öv‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B +WizardInfoAfter=î•ñ +InfoAfterLabel=‘±s‚·‚é‘O‚Ɉȉº‚Ìd—v‚Èî•ñ‚ð‚¨“Ç‚Ý‚­‚¾‚³‚¢B +InfoAfterClickLabel=ƒZƒbƒgƒAƒbƒv‚ð‘±s‚·‚é‚É‚ÍuŽŸ‚Öv‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B + +; *** "User Information" wizard page +WizardUserInfo=ƒ†[ƒU[î•ñ +UserInfoDesc=ƒ†[ƒU[î•ñ‚ð“ü—Í‚µ‚Ä‚­‚¾‚³‚¢B +UserInfoName=ƒ†[ƒU[–¼(&U): +UserInfoOrg=‘gD(&O): +UserInfoSerial=ƒVƒŠƒAƒ‹”Ô†(&S): +UserInfoNameRequired=ƒ†[ƒU[–¼‚ð“ü—Í‚µ‚Ä‚­‚¾‚³‚¢B + +; *** "Select Destination Location" wizard page +WizardSelectDir=ƒCƒ“ƒXƒg[ƒ‹æ‚ÌŽw’è +SelectDirDesc=[name] ‚̃Cƒ“ƒXƒg[ƒ‹æ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢B +SelectDirLabel3=[name] ‚ðƒCƒ“ƒXƒg[ƒ‹‚·‚éƒtƒHƒ‹ƒ_‚ðŽw’肵‚ÄAuŽŸ‚Öv‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B +SelectDirBrowseLabel=‘±‚¯‚é‚É‚ÍuŽŸ‚Öv‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B•Ê‚̃tƒHƒ‹ƒ_[‚ð‘I‘ð‚·‚é‚É‚ÍuŽQÆv‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B +DiskSpaceMBLabel=‚±‚̃vƒƒOƒ‰ƒ€‚ÍÅ’á [mb] MB ‚̃fƒBƒXƒN‹ó‚«—̈æ‚ð•K—v‚Æ‚µ‚Ü‚·B +CannotInstallToNetworkDrive=ƒlƒbƒgƒ[ƒNƒhƒ‰ƒCƒu‚ɃCƒ“ƒXƒg[ƒ‹‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB +CannotInstallToUNCPath=UNC ƒpƒX‚ɃCƒ“ƒXƒg[ƒ‹‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB +InvalidPath=ƒhƒ‰ƒCƒu•¶Žš‚ðŠÜ‚ÞŠ®‘S‚ȃpƒX‚ð“ü—Í‚µ‚Ä‚­‚¾‚³‚¢B%n%n—áFC:\APP%n%n‚Ü‚½‚Í UNC Œ`Ž®‚̃pƒX‚ð“ü—Í‚µ‚Ä‚­‚¾‚³‚¢B%n%n—áF\\server\share +InvalidDrive=Žw’肵‚½ƒhƒ‰ƒCƒu‚Ü‚½‚Í UNC ƒpƒX‚ªŒ©‚‚©‚ç‚È‚¢‚©ƒAƒNƒZƒX‚Å‚«‚Ü‚¹‚ñB•Ê‚̃pƒX‚ðŽw’肵‚Ä‚­‚¾‚³‚¢B +DiskSpaceWarningTitle=ƒfƒBƒXƒN‹ó‚«—̈æ‚Ì•s‘« +DiskSpaceWarning=ƒCƒ“ƒXƒg[ƒ‹‚É‚ÍÅ’á %1 KB ‚̃fƒBƒXƒN‹ó‚«—̈悪•K—v‚Å‚·‚ªAŽw’肳‚ꂽƒhƒ‰ƒCƒu‚É‚Í %2 KB ‚̋󂫗̈悵‚©‚ ‚è‚Ü‚¹‚ñB%n%n‚±‚Ì‚Ü‚Ü‘±s‚µ‚Ü‚·‚©H +DirNameTooLong=ƒhƒ‰ƒCƒu–¼‚Ü‚½‚̓pƒX‚ª’·‰ß‚¬‚Ü‚·B +InvalidDirName=ƒtƒHƒ‹ƒ_[–¼‚ª–³Œø‚Å‚·B +BadDirName32=ˆÈ‰º‚Ì•¶Žš‚ðŠÜ‚ÞƒtƒHƒ‹ƒ_[–¼‚ÍŽw’è‚Å‚«‚Ü‚¹‚ñB:%n%n%1 +DirExistsTitle=Šù‘¶‚̃tƒHƒ‹ƒ_[ +DirExists=ƒtƒHƒ‹ƒ_[ %n%n%1%n%n‚ªŠù‚É‘¶Ý‚µ‚Ü‚·B‚±‚Ì‚Ü‚Ü‚±‚̃tƒHƒ‹ƒ_[‚ÖƒCƒ“ƒXƒg[ƒ‹‚µ‚Ü‚·‚©H +DirDoesntExistTitle=ƒtƒHƒ‹ƒ_[‚ªŒ©‚‚©‚è‚Ü‚¹‚ñB +DirDoesntExist=ƒtƒHƒ‹ƒ_[ %n%n%1%n%n‚ªŒ©‚‚©‚è‚Ü‚¹‚ñBV‚µ‚¢ƒtƒHƒ‹ƒ_[‚ð쬂µ‚Ü‚·‚©H + +; *** "Select Components" wizard page +WizardSelectComponents=ƒRƒ“ƒ|[ƒlƒ“ƒg‚Ì‘I‘ð +SelectComponentsDesc=ƒCƒ“ƒXƒg[ƒ‹ƒRƒ“ƒ|[ƒlƒ“ƒg‚ð‘I‘ð‚µ‚Ä‚­‚¾‚³‚¢B +SelectComponentsLabel2=ƒCƒ“ƒXƒg[ƒ‹‚·‚éƒRƒ“ƒ|[ƒlƒ“ƒg‚ð‘I‘ð‚µ‚Ä‚­‚¾‚³‚¢BƒCƒ“ƒXƒg[ƒ‹‚·‚é•K—v‚Ì‚È‚¢ƒRƒ“ƒ|[ƒlƒ“ƒg‚̓`ƒFƒbƒN‚ðŠO‚µ‚Ä‚­‚¾‚³‚¢B‘±s‚·‚é‚É‚ÍuŽŸ‚Öv‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B +FullInstallation=ƒtƒ‹ƒCƒ“ƒXƒg[ƒ‹ +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=ƒRƒ“ƒpƒNƒgƒCƒ“ƒXƒg[ƒ‹ +CustomInstallation=ƒJƒXƒ^ƒ€ƒCƒ“ƒXƒg[ƒ‹ +NoUninstallWarningTitle=Šù‘¶‚̃Rƒ“ƒ|[ƒlƒ“ƒg +NoUninstallWarning=ƒZƒbƒgƒAƒbƒv‚͈ȉº‚̃Rƒ“ƒ|[ƒlƒ“ƒg‚ªŠù‚ɃCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚邱‚Æ‚ðŒŸo‚µ‚Ü‚µ‚½B%n%n%1%n%n‚±‚ê‚ç‚̃Rƒ“ƒ|[ƒlƒ“ƒg‚Ì‘I‘ð‚ð‰ðœ‚µ‚Ä‚àƒAƒ“ƒCƒ“ƒXƒg[ƒ‹‚Í‚³‚ê‚Ü‚¹‚ñB%n%n‚±‚Ì‚Ü‚Ü‘±s‚µ‚Ü‚·‚©H +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=Œ»Ý‚Ì‘I‘ð‚ÍÅ’á [mb] MB ‚̃fƒBƒXƒN‹ó‚«—̈æ‚ð•K—v‚Æ‚µ‚Ü‚·B + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=’ljÁƒ^ƒXƒN‚Ì‘I‘ð +SelectTasksDesc=ŽÀs‚·‚é’ljÁƒ^ƒXƒN‚ð‘I‘ð‚µ‚Ä‚­‚¾‚³‚¢B +SelectTasksLabel2=[name] ƒCƒ“ƒXƒg[ƒ‹Žž‚ÉŽÀs‚·‚é’ljÁƒ^ƒXƒN‚ð‘I‘ð‚µ‚ÄAuŽŸ‚Öv‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=ƒvƒƒOƒ‰ƒ€ƒOƒ‹[ƒv‚ÌŽw’è +SelectStartMenuFolderDesc=ƒvƒƒOƒ‰ƒ€ƒAƒCƒRƒ“‚ð쬂·‚éꊂðŽw’肵‚Ä‚­‚¾‚³‚¢B +SelectStartMenuFolderLabel3=ƒZƒbƒgƒAƒbƒv‚̓Xƒ^[ƒgƒƒjƒ…[‚ɃvƒƒOƒ‰ƒ€‚̃Vƒ‡[ƒgƒJƒbƒg‚ð쬂µ‚Ü‚·B +SelectStartMenuFolderBrowseLabel=‘±‚¯‚é‚É‚ÍuŽŸ‚Öv‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢Bˆá‚¤ƒfƒBƒŒƒNƒgƒŠ‚ð‘I‘ð‚·‚é‚É‚ÍuŽQÆv‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B +MustEnterGroupName=ƒOƒ‹[ƒv–¼‚ðŽw’肵‚Ä‚­‚¾‚³‚¢B +GroupNameTooLong=ƒtƒHƒ‹ƒ_[–¼‚Ü‚½‚̓pƒX‚ª’·‰ß‚¬‚Ü‚·B +InvalidGroupName=ƒOƒ‹[ƒv–¼‚ª–³Œø‚Å‚·B +BadGroupName=ˆÈ‰º‚Ì•¶Žš‚ðŠÜ‚ÞƒOƒ‹[ƒv–¼‚ÍŽw’è‚Å‚«‚Ü‚¹‚ñB:%n%n%1 +NoProgramGroupCheck2=ƒvƒƒOƒ‰ƒ€ƒOƒ‹[ƒv‚ð쬂µ‚È‚¢(&D) + +; *** "Ready to Install" wizard page +WizardReady=ƒCƒ“ƒXƒg[ƒ‹€”õŠ®—¹ +ReadyLabel1=‚²Žg—p‚̃Rƒ“ƒsƒ…[ƒ^‚Ö [name] ‚ðƒCƒ“ƒXƒg[ƒ‹‚·‚途õ‚ª‚Å‚«‚Ü‚µ‚½B +ReadyLabel2a=ƒCƒ“ƒXƒg[ƒ‹‚ð‘±s‚·‚é‚É‚ÍuƒCƒ“ƒXƒg[ƒ‹v‚ðAÝ’è‚ÌŠm”F‚â•ÏX‚ðs‚¤‚É‚Íu–ß‚év‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B +ReadyLabel2b=ƒCƒ“ƒXƒg[ƒ‹‚ð‘±s‚·‚é‚É‚ÍuƒCƒ“ƒXƒg[ƒ‹v‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B +ReadyMemoUserInfo=ƒ†[ƒU[î•ñ: +ReadyMemoDir=ƒCƒ“ƒXƒg[ƒ‹æ: +ReadyMemoType=ƒZƒbƒgƒAƒbƒv‚ÌŽí—Þ: +ReadyMemoComponents=‘I‘ðƒRƒ“ƒ|[ƒlƒ“ƒg: +ReadyMemoGroup=ƒvƒƒOƒ‰ƒ€ƒOƒ‹[ƒv: +ReadyMemoTasks=’ljÁƒ^ƒXƒNˆê——: + +; *** "Preparing to Install" wizard page +WizardPreparing=ƒCƒ“ƒXƒg[ƒ‹€”õ’† +PreparingDesc=‚²Žg—p‚̃Rƒ“ƒsƒ…[ƒ^[‚Ö [name] ‚ðƒCƒ“ƒXƒg[ƒ‹‚·‚途õ‚ð‚µ‚Ä‚¢‚Ü‚·B +PreviousInstallNotCompleted=‘O‰ñs‚Á‚½ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃Cƒ“ƒXƒg[ƒ‹‚Ü‚½‚Í휂ªŠ®—¹‚µ‚Ä‚¢‚Ü‚¹‚ñBŠ®—¹‚·‚é‚ɂ̓Rƒ“ƒsƒ…[ƒ^[‚ðÄ‹N“®‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B%n%n[name] ‚̃Cƒ“ƒXƒg[ƒ‹‚ðŠ®—¹‚·‚邽‚ß‚É‚ÍAÄ‹N“®Œã‚É‚à‚¤ˆê“xƒZƒbƒgƒAƒbƒv‚ðŽÀs‚µ‚Ä‚­‚¾‚³‚¢B +CannotContinue=ƒZƒbƒgƒAƒbƒv‚ð‘±s‚Å‚«‚Ü‚¹‚ñBuƒLƒƒƒ“ƒZƒ‹v‚ðƒNƒŠƒbƒN‚µ‚ăZƒbƒgƒAƒbƒv‚ðI—¹‚µ‚Ä‚­‚¾‚³‚¢B +ApplicationsFound=ˆÈ‰º‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚ªƒZƒbƒgƒAƒbƒv‚É•K—v‚ȃtƒ@ƒCƒ‹‚ðŽg—p‚µ‚Ä‚¢‚Ü‚·BƒZƒbƒgƒAƒbƒv‚ÉŽ©“®“I‚ɃAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðI—¹‚³‚¹‚邱‚Æ‚ð„§‚µ‚Ü‚·B +ApplicationsFound2=ˆÈ‰º‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚ªƒZƒbƒgƒAƒbƒv‚É•K—v‚ȃtƒ@ƒCƒ‹‚ðŽg—p‚µ‚Ä‚¢‚Ü‚·BƒZƒbƒgƒAƒbƒv‚ÉŽ©“®“I‚ɃAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðI—¹‚³‚¹‚邱‚Æ‚ð„§‚µ‚Ü‚·BƒCƒ“ƒXƒg[ƒ‹‚ÌŠ®—¹ŒãAƒZƒbƒgƒAƒbƒv‚̓AƒvƒŠƒP[ƒVƒ‡ƒ“‚ÌÄ‹N“®‚ðŽŽ‚Ý‚Ü‚·B +CloseApplications=Ž©“®“I‚ɃAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðI—¹‚·‚é(&A) +DontCloseApplications=ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðI—¹‚µ‚È‚¢(&D) +ErrorCloseApplications=ƒZƒbƒgƒAƒbƒv‚Í‚·‚ׂẴAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðŽ©“®“I‚ÉI—¹‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½BƒZƒbƒgƒAƒbƒv‚ð‘±s‚·‚é‘O‚ÉAXV‚Ì•K—v‚ȃtƒ@ƒCƒ‹‚ðŽg—p‚µ‚Ä‚¢‚é‚·‚ׂẴAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðI—¹‚·‚邱‚Æ‚ð„§‚µ‚Ü‚·B + +; *** "Installing" wizard page +WizardInstalling=ƒCƒ“ƒXƒg[ƒ‹ó‹µ +InstallingLabel=‚²Žg—p‚̃Rƒ“ƒsƒ…[ƒ^[‚É [name] ‚ðƒCƒ“ƒXƒg[ƒ‹‚µ‚Ä‚¢‚Ü‚·B‚µ‚΂炭‚¨‘Ò‚¿‚­‚¾‚³‚¢B + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=[name] ƒZƒbƒgƒAƒbƒvƒEƒBƒU[ƒh‚ÌŠ®—¹ +FinishedLabelNoIcons=‚²Žg—p‚̃Rƒ“ƒsƒ…[ƒ^[‚É [name] ‚ªƒZƒbƒgƒAƒbƒv‚³‚ê‚Ü‚µ‚½B +FinishedLabel=‚²Žg—p‚̃Rƒ“ƒsƒ…[ƒ^[‚É [name] ‚ªƒZƒbƒgƒAƒbƒv‚³‚ê‚Ü‚µ‚½BƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðŽÀs‚·‚é‚ɂ̓Cƒ“ƒXƒg[ƒ‹‚³‚ꂽƒAƒCƒRƒ“‚ð‘I‘ð‚µ‚Ä‚­‚¾‚³‚¢B +ClickFinish=ƒZƒbƒgƒAƒbƒv‚ðI—¹‚·‚é‚É‚ÍuŠ®—¹v‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B +FinishedRestartLabel=[name] ‚̃Cƒ“ƒXƒg[ƒ‹‚ðŠ®—¹‚·‚邽‚ß‚É‚ÍAƒRƒ“ƒsƒ…[ƒ^[‚ðÄ‹N“®‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B‚·‚®‚ÉÄ‹N“®‚µ‚Ü‚·‚©H +FinishedRestartMessage=[name] ‚̃Cƒ“ƒXƒg[ƒ‹‚ðŠ®—¹‚·‚邽‚ß‚É‚ÍAƒRƒ“ƒsƒ…[ƒ^[‚ðÄ‹N“®‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B%n%n‚·‚®‚ÉÄ‹N“®‚µ‚Ü‚·‚©H +ShowReadmeCheck=README ƒtƒ@ƒCƒ‹‚ð•\Ž¦‚·‚éB +YesRadio=‚·‚®‚ÉÄ‹N“®(&Y) +NoRadio=Œã‚ÅŽè“®‚ÅÄ‹N“®(&N) +; used for example as 'Run MyProg.exe' +RunEntryExec=%1 ‚ÌŽÀs +; used for example as 'View Readme.txt' +RunEntryShellExec=%1 ‚Ì•\Ž¦ + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=ƒfƒBƒXƒN‚Ì‘}“ü +SelectDiskLabel2=ƒfƒBƒXƒN %1 ‚ð‘}“ü‚µAuOKv‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B%n%n‚±‚̃fƒBƒXƒN‚̃tƒ@ƒCƒ‹‚ª‰º‚É•\Ž¦‚³‚ê‚Ä‚¢‚éƒtƒHƒ‹ƒ_[ˆÈŠO‚Ìꊂɂ ‚éꇂÍA³‚µ‚¢ƒpƒX‚ð“ü—Í‚·‚é‚©uŽQÆvƒ{ƒ^ƒ“‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B +PathLabel=ƒpƒX(&P): +FileNotInDir2=ƒtƒ@ƒCƒ‹ %1 ‚ª %2 ‚ÉŒ©‚‚©‚è‚Ü‚¹‚ñB³‚µ‚¢ƒfƒBƒXƒN‚ð‘}“ü‚·‚é‚©A•Ê‚̃tƒHƒ‹ƒ_[‚ðŽw’肵‚Ä‚­‚¾‚³‚¢B +SelectDirectoryLabel=ŽŸ‚̃fƒBƒXƒN‚Ì‚ ‚éꊂðŽw’肵‚Ä‚­‚¾‚³‚¢B + +; *** Installation phase messages +SetupAborted=ƒZƒbƒgƒAƒbƒv‚ÍŠ®—¹‚µ‚Ä‚¢‚Ü‚¹‚ñB%n%n–â‘è‚ð‰ðŒˆ‚µ‚Ä‚©‚çA‚à‚¤ˆê“xƒZƒbƒgƒAƒbƒv‚ðŽÀs‚µ‚Ä‚­‚¾‚³‚¢B +EntryAbortRetryIgnore=‚à‚¤ˆê“x‚â‚è‚È‚¨‚·‚É‚ÍuÄŽŽsvAƒGƒ‰[‚𖳎‹‚µ‚Ä‘±s‚·‚é‚É‚Íu–³Ž‹vAƒCƒ“ƒXƒg[ƒ‹‚𒆎~‚·‚é‚É‚Íu’†Ž~v‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B + +; *** Installation status messages +StatusClosingApplications=ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðI—¹‚µ‚Ä‚¢‚Ü‚·... +StatusCreateDirs=ƒtƒHƒ‹ƒ_[‚ð쬂µ‚Ä‚¢‚Ü‚·... +StatusExtractFiles=ƒtƒ@ƒCƒ‹‚ð“WŠJ‚µ‚Ä‚¢‚Ü‚·... +StatusCreateIcons=ƒVƒ‡|ƒgƒJƒbƒg‚ð쬂µ‚Ä‚¢‚Ü‚·... +StatusCreateIniEntries=INIƒtƒ@ƒCƒ‹‚ðݒ肵‚Ä‚¢‚Ü‚·... +StatusCreateRegistryEntries=ƒŒƒWƒXƒgƒŠ‚ðݒ肵‚Ä‚¢‚Ü‚·... +StatusRegisterFiles=ƒtƒ@ƒCƒ‹‚ð“o˜^‚µ‚Ä‚¢‚Ü‚·... +StatusSavingUninstall=ƒAƒ“ƒCƒ“ƒXƒg[ƒ‹î•ñ‚ð•Û‘¶‚µ‚Ä‚¢‚Ü‚·... +StatusRunProgram=ƒCƒ“ƒXƒg[ƒ‹‚ðŠ®—¹‚µ‚Ä‚¢‚Ü‚·... +StatusRestartingApplications=ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðÄ‹N“®‚µ‚Ä‚¢‚Ü‚·... +StatusRollback=•ÏX‚ðŒ³‚É–ß‚µ‚Ä‚¢‚Ü‚·... + +; *** Misc. errors +ErrorInternal2=“à•”ƒGƒ‰[: %1 +ErrorFunctionFailedNoCode=%1 ƒGƒ‰[ +ErrorFunctionFailed=%1 ƒGƒ‰[: ƒR[ƒh %2 +ErrorFunctionFailedWithMessage=%1 ƒGƒ‰[: ƒR[ƒh %2.%n%3 +ErrorExecutingProgram=ƒtƒ@ƒCƒ‹ŽÀsƒGƒ‰[:%n%1 + +; *** Registry errors +ErrorRegOpenKey=ƒŒƒWƒXƒgƒŠƒL[ƒI[ƒvƒ“ƒGƒ‰[:%n%1\%2 +ErrorRegCreateKey=ƒŒƒWƒXƒgƒŠƒL[쬃Gƒ‰[:%n%1\%2 +ErrorRegWriteKey=ƒŒƒWƒXƒgƒŠƒL[‘‚«ž‚݃Gƒ‰[:%n%1\%2 + +; *** INI errors +ErrorIniEntry=INIƒtƒ@ƒCƒ‹ƒGƒ“ƒgƒŠì¬ƒGƒ‰[: ƒtƒ@ƒCƒ‹ %1 + +; *** File copying errors +FileAbortRetryIgnore=‚à‚¤ˆê“x‚â‚è‚È‚¨‚·‚É‚ÍuÄŽŽsvA‚±‚̃tƒ@ƒCƒ‹‚ðƒXƒLƒbƒv‚µ‚Ä‘±s‚·‚é‚É‚Íu–³Ž‹vi„§‚³‚ê‚Ü‚¹‚ñjAƒCƒ“ƒXƒg[ƒ‹‚𒆎~‚·‚é‚É‚Íu’†Ž~v‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B +FileAbortRetryIgnore2=‚à‚¤ˆê“x‚â‚è‚È‚¨‚·‚É‚ÍuÄŽŽsvA‚±‚̃tƒ@ƒCƒ‹‚ðƒXƒLƒbƒv‚µ‚Ä‘±s‚·‚é‚É‚Íu–³Ž‹vi„§‚³‚ê‚Ü‚¹‚ñjAƒCƒ“ƒXƒg[ƒ‹‚𒆎~‚·‚é‚É‚Íu’†Ž~v‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B +SourceIsCorrupted=ƒRƒs[Œ³‚̃tƒ@ƒCƒ‹‚ª‰ó‚ê‚Ä‚¢‚Ü‚·B +SourceDoesntExist=ƒRƒs[Œ³‚̃tƒ@ƒCƒ‹ %1 ‚ªŒ©‚‚©‚è‚Ü‚¹‚ñB +ExistingFileReadOnly=Šù‘¶‚̃tƒ@ƒCƒ‹‚Í“Ç‚ÝŽæ‚èê—p‚Å‚·B%n%n“Ç‚ÝŽæ‚èê—p‘®«‚ð‰ðœ‚µ‚Ä‚à‚¤ˆê“x‚â‚è‚È‚¨‚·‚É‚ÍuÄŽŽsvA‚±‚̃tƒ@ƒCƒ‹‚ðƒXƒLƒbƒv‚µ‚Ä‘±s‚·‚é‚É‚Íu–³Ž‹vAƒCƒ“ƒXƒg[ƒ‹‚𒆎~‚·‚é‚É‚Íu’†Ž~v‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B +ErrorReadingExistingDest=Šù‘¶‚̃tƒ@ƒCƒ‹‚ð“Ç‚Ýž‚Ý’†‚ɃGƒ‰[‚ª”­¶‚µ‚Ü‚µ‚½B: +FileExists=ƒtƒ@ƒCƒ‹‚ÍŠù‚É‘¶Ý‚µ‚Ü‚·B%n%nã‘‚«‚µ‚Ü‚·‚©H +ExistingFileNewer=ƒCƒ“ƒXƒg[ƒ‹‚µ‚悤‚Æ‚µ‚Ä‚¢‚éƒtƒ@ƒCƒ‹‚æ‚è‚àV‚µ‚¢ƒtƒ@ƒCƒ‹‚ª‘¶Ý‚µ‚Ü‚·BŠù‘¶‚̃tƒ@ƒCƒ‹‚ðŽc‚·‚±‚Æ‚ð‚¨§‚ß‚µ‚Ü‚·B%n%nŠù‘¶‚̃tƒ@ƒCƒ‹‚ðŽc‚µ‚Ü‚·‚©B +ErrorChangingAttr=Šù‘¶ƒtƒ@ƒCƒ‹‚Ì‘®«‚ð•ÏX’†‚ɃGƒ‰[‚ª”­¶‚µ‚Ü‚µ‚½B: +ErrorCreatingTemp=ƒRƒs[æ‚̃tƒHƒ‹ƒ_‚Ƀtƒ@ƒCƒ‹‚ð쬒†‚ɃGƒ‰[‚ª”­¶‚µ‚Ü‚µ‚½B: +ErrorReadingSource=ƒRƒs[Œ³‚̃tƒ@ƒCƒ‹‚ð“Ç‚Ýž‚Ý’†‚ɃGƒ‰[‚ª”­¶‚µ‚Ü‚µ‚½B: +ErrorCopying=ƒtƒ@ƒCƒ‹‚ðƒRƒs[’†‚ɃGƒ‰[‚ª”­¶‚µ‚Ü‚µ‚½B: +ErrorReplacingExistingFile=Šù‘¶ƒtƒ@ƒCƒ‹‚ð’u‚«Š·‚¦’†‚ɃGƒ‰[‚ª”­¶‚µ‚Ü‚µ‚½B: +ErrorRestartReplace=’u‚«Š·‚¦ÄŠJ’†‚ɃGƒ‰[‚ª”­¶‚µ‚Ü‚µ‚½B: +ErrorRenamingTemp=ƒRƒs[æƒtƒHƒ‹ƒ_‚̃tƒ@ƒCƒ‹–¼‚ð•ÏX’†‚ɃGƒ‰[‚ª”­¶‚µ‚Ü‚µ‚½B: +ErrorRegisterServer=DLL/OCX‚Ì“o˜^‚ÉŽ¸”s‚µ‚Ü‚µ‚½B: %1 +ErrorRegSvr32Failed=RegSvr32‚̓Gƒ‰[ƒR[ƒh %1 ‚É‚æ‚莸”s‚µ‚Ü‚µ‚½B +ErrorRegisterTypeLib=ƒ^ƒCƒvƒ‰ƒCƒuƒ‰ƒŠ‚Ö‚Ì“o˜^‚ÉŽ¸”s‚µ‚Ü‚µ‚½B: %1 + +; *** Post-installation errors +ErrorOpeningReadme=README ƒtƒ@ƒCƒ‹‚̃I[ƒvƒ“‚ÉŽ¸”s‚µ‚Ü‚µ‚½B +ErrorRestartingComputer=ƒRƒ“ƒsƒ…[ƒ^[‚ÌÄ‹N“®‚ÉŽ¸”s‚µ‚Ü‚µ‚½BŽè“®‚ÅÄ‹N“®‚µ‚Ä‚­‚¾‚³‚¢B + +; *** Uninstaller messages +UninstallNotFound=ƒtƒ@ƒCƒ‹ %1 ‚ªŒ©‚‚©‚è‚Ü‚¹‚ñBƒAƒ“ƒCƒ“ƒXƒg[ƒ‹‚ðŽÀs‚Å‚«‚Ü‚¹‚ñB +UninstallOpenError=ƒtƒ@ƒCƒ‹ %1 ‚ðŠJ‚¯‚邱‚Æ‚ª‚Å‚«‚Ü‚¹‚ñBƒAƒ“ƒCƒ“ƒXƒg[ƒ‹‚ðŽÀs‚Å‚«‚Ü‚¹‚ñB +UninstallUnsupportedVer=ƒAƒ“ƒCƒ“ƒXƒg[ƒ‹ƒƒOƒtƒ@ƒCƒ‹ %1 ‚ÍA‚±‚̃o[ƒWƒ‡ƒ“‚̃Aƒ“ƒCƒ“ƒXƒg[ƒ‹ƒvƒƒOƒ‰ƒ€‚ª”FŽ¯‚Å‚«‚È‚¢Œ`Ž®‚Å‚·BƒAƒ“ƒCƒ“ƒXƒg[ƒ‹‚ðŽÀs‚Å‚«‚Ü‚¹‚ñB +UninstallUnknownEntry=ƒAƒ“ƒCƒ“ƒXƒg[ƒ‹ƒƒO‚É•s–¾‚̃Gƒ“ƒgƒŠ %1 ‚ªŒ©‚‚©‚è‚Ü‚µ‚½B +ConfirmUninstall=%1 ‚Æ‚»‚ÌŠÖ˜AƒRƒ“ƒ|[ƒlƒ“ƒg‚ð‚·‚×‚Ä휂µ‚Ü‚·B‚æ‚낵‚¢‚Å‚·‚©H +UninstallOnlyOnWin64=‚±‚̃vƒƒOƒ‰ƒ€‚Í64-bit”ÅWindowsã‚ł̂݃Aƒ“ƒCƒ“ƒXƒg[ƒ‹‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B +OnlyAdminCanUninstall=ƒAƒ“ƒCƒ“ƒXƒg[ƒ‹‚·‚邽‚ß‚É‚ÍŠÇ—ŽÒŒ ŒÀ‚ª•K—v‚Å‚·B +UninstallStatusLabel=‚²Žg—p‚̃Rƒ“ƒsƒ…[ƒ^[‚©‚ç %1 ‚ð휂µ‚Ä‚¢‚Ü‚·B‚µ‚΂炭‚¨‘Ò‚¿‚­‚¾‚³‚¢B +UninstalledAll=%1 ‚Í‚²Žg—p‚̃Rƒ“ƒsƒ…[ƒ^[‚©‚ç³í‚É휂³‚ê‚Ü‚µ‚½B +UninstalledMost=%1 ‚̃Aƒ“ƒCƒ“ƒXƒg[ƒ‹‚ªŠ®—¹‚µ‚Ü‚µ‚½B%n%n‚¢‚­‚‚©‚Ì€–Ú‚ªíœ‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½BŽè“®‚Å휂µ‚Ä‚­‚¾‚³‚¢B +UninstalledAndNeedsRestart=%1 ‚Ìíœ‚ðŠ®—¹‚·‚邽‚ß‚É‚ÍAƒRƒ“ƒsƒ…[ƒ^[‚ðÄ‹N“®‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B‚·‚®‚ÉÄ‹N“®‚µ‚Ü‚·‚©H +UninstallDataCorrupted=ƒtƒ@ƒCƒ‹ "%1" ‚ª‰ó‚ê‚Ä‚¢‚Ü‚·BƒAƒ“ƒCƒ“ƒXƒg[ƒ‹‚ðŽÀs‚Å‚«‚Ü‚¹‚ñB + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=‹¤—Lƒtƒ@ƒCƒ‹‚Ìíœ +ConfirmDeleteSharedFile2=ƒVƒXƒeƒ€ã‚ÅAŽŸ‚Ì‹¤—Lƒtƒ@ƒCƒ‹‚͂ǂ̃vƒƒOƒ‰ƒ€‚Å‚àŽg—p‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB‚±‚Ì‹¤—Lƒtƒ@ƒCƒ‹‚ð휂µ‚Ü‚·‚©H%n%n‘¼‚̃vƒƒOƒ‰ƒ€‚ª‚Ü‚¾‚±‚̃tƒ@ƒCƒ‹‚ðŽg—p‚·‚éê‡A휂·‚é‚ƃvƒƒOƒ‰ƒ€‚ª“®ì‚µ‚È‚­‚È‚é‹°‚ꂪ‚ ‚è‚Ü‚·B‚ ‚Ü‚èŠmŽÀ‚Å‚È‚¢ê‡‚Íu‚¢‚¢‚¦v‚ð‘I‘ð‚µ‚Ä‚­‚¾‚³‚¢BƒVƒXƒeƒ€‚Ƀtƒ@ƒCƒ‹‚ðŽc‚µ‚Ä‚à–â‘è‚ðˆø‚«‹N‚±‚·‚±‚Æ‚Í‚ ‚è‚Ü‚¹‚ñB +SharedFileNameLabel=ƒtƒ@ƒCƒ‹–¼: +SharedFileLocationLabel=êŠ: +WizardUninstalling=ƒAƒ“ƒCƒ“ƒXƒg[ƒ‹ó‹µ +StatusUninstalling=%1 ‚ðƒAƒ“ƒCƒ“ƒXƒg[ƒ‹‚µ‚Ä‚¢‚Ü‚·... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=%1 ‚ðƒCƒ“ƒXƒg[ƒ‹’†‚Å‚·B +ShutdownBlockReasonUninstallingApp=%1 ‚ðƒAƒ“ƒCƒ“ƒXƒg[ƒ‹’†‚Å‚·B + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 ƒo[ƒWƒ‡ƒ“ %2 +AdditionalIcons=ƒAƒCƒRƒ“‚ð’ljÁ‚·‚é: +CreateDesktopIcon=ƒfƒXƒNƒgƒbƒvã‚ɃAƒCƒRƒ“‚ð쬂·‚é(&D) +CreateQuickLaunchIcon=ƒNƒCƒbƒN‹N“®ƒAƒCƒRƒ“‚ð쬂·‚é(&Q) +ProgramOnTheWeb=%1 on the Web +UninstallProgram=%1 ‚ðƒAƒ“ƒCƒ“ƒXƒg[ƒ‹‚·‚é +LaunchProgram=%1 ‚ðŽÀs‚·‚é +AssocFileExtension=ƒtƒ@ƒCƒ‹Šg’£Žq %2 ‚É %1 ‚ðŠÖ˜A•t‚¯‚Ü‚·B +AssocingFileExtension=ƒtƒ@ƒCƒ‹Šg’£Žq %2 ‚É %1 ‚ðŠÖ˜A•t‚¯‚Ä‚¢‚Ü‚·... +AutoStartProgramGroupDescription=ƒXƒ^[ƒgƒAƒbƒv: +AutoStartProgram=%1 ‚ðŽ©“®“I‚ÉŠJŽn‚·‚é +AddonHostProgramNotFound=‘I‘ð‚³‚ê‚½ƒtƒHƒ‹ƒ_[‚É %1 ‚ªŒ©‚‚©‚è‚Ü‚¹‚ñ‚Å‚µ‚½B%n%n‚±‚Ì‚Ü‚Ü‘±s‚µ‚Ü‚·‚©H \ No newline at end of file diff --git a/dist/windows/languages/Norwegian.isl b/dist/windows/languages/Norwegian.isl new file mode 100644 index 00000000..cb0e258a --- /dev/null +++ b/dist/windows/languages/Norwegian.isl @@ -0,0 +1,330 @@ +; *** Inno Setup version 5.5.3+ Norwegian (bokmål) messages *** +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). +; +; Norwegian translation by Eivind Bakkestuen +; E-mail: eivind@nexusdb.com +; Many thanks to the following people for language improvements and comments: +; +; Harald Habberstad, Frode Weum, Morten Johnsen, +; Tore Ottinsen, Kristian Hyllestad, Thomas Kelso, Jostein Christoffer Andersen +; +; $jrsoftware: issrc/Files/Languages/Norwegian.isl,v 1.15 2007/04/23 15:03:35 josander+ Exp $ + +[LangOptions] +LanguageName=Norsk +LanguageID=$0414 +LanguageCodePage=1252 + +[Messages] + +; *** Application titles +SetupAppTitle=Installasjon +SetupWindowTitle=Installere - %1 +UninstallAppTitle=Avinstaller +UninstallAppFullTitle=%1 Avinstallere + +; *** Misc. common +InformationTitle=Informasjon +ConfirmTitle=Bekreft +ErrorTitle=Feil + +; *** SetupLdr messages +SetupLdrStartupMessage=Dette vil installere %1. Vil du fortsette? +LdrCannotCreateTemp=Kan ikke lage midlertidig fil, installasjonen er avbrutt +LdrCannotExecTemp=Kan ikke kjøre fil i den midlertidige mappen, installasjonen er avbrutt + +; *** Startup error messages +LastErrorMessage=%1.%n%nFeil %2: %3 +SetupFileMissing=Filen %1 mangler i installasjonskatalogen. Vennligst korriger problemet eller skaff deg en ny kopi av programmet. +SetupFileCorrupt=Installasjonsfilene er ødelagte. Vennligst skaff deg en ny kopi av programmet. +SetupFileCorruptOrWrongVer=Installasjonsfilene er ødelagte eller ikke kompatible med dette installasjonsprogrammet. Vennligst korriger problemet eller skaff deg en ny kopi av programmet. +InvalidParameter=Kommandolinjen hadde en ugyldig parameter:%n%n%1 +SetupAlreadyRunning=Dette programmet kjører allerede. +WindowsVersionNotSupported=Dette programmet støtter ikke Windows-versjonen på denne maskinen. +WindowsServicePackRequired=Dette programmet krever %1 Service Pack %2 eller nyere. +NotOnThisPlatform=Dette programmet kjører ikke på %1. +OnlyOnThisPlatform=Dette programmet kjører kun på %1. +OnlyOnTheseArchitectures=Dette programmet kan kun installeres i Windows-versjoner som er beregnet på følgende prossessorarkitekturer:%n%n%1 +MissingWOW64APIs=Din Windows-versjon mangler funksjonalitet for at installasjonsprogrammet skal gjøre en 64-bits-installasjon. Installer Service Pack %1 for å rette på dette. +WinVersionTooLowError=Dette programmet krever %1 versjon %2 eller senere. +WinVersionTooHighError=Dette programmet kan ikke installeres på %1 versjon %2 eller senere. +AdminPrivilegesRequired=Administrator-rettigheter kreves for å installere dette programmet. +PowerUserPrivilegesRequired=Du må være logget inn som administrator eller ha administrator-rettigheter når du installerer dette programmet. +SetupAppRunningError=Installasjonsprogrammet har funnet ut at %1 kjører.%n%nVennligst avslutt det nå og klikk deretter OK for å fortsette, eller Avbryt for å avslutte. +UninstallAppRunningError=Avinstallasjonsprogrammet har funnet ut at %1 kjører.%n%nVennligst avslutt det nå og klikk deretter OK for å fortsette, eller Avbryt for å avslutte. + +; *** Misc. errors +ErrorCreatingDir=Installasjonsprogrammet kunne ikke lage mappen "%1" +ErrorTooManyFilesInDir=Kunne ikke lage en fil i mappen "%1" fordi den inneholder for mange filer + +; *** Setup common messages +ExitSetupTitle=Avslutt installasjonen +ExitSetupMessage=Installasjonen er ikke ferdig. Programmet installeres ikke hvis du avslutter nå.%n%nDu kan installere programmet igjen senere hvis du vil.%n%nVil du avslutte? +AboutSetupMenuItem=&Om installasjonsprogrammet... +AboutSetupTitle=Om installasjonsprogrammet +AboutSetupMessage=%1 versjon %2%n%3%n%n%1 hjemmeside:%n%4 +AboutSetupNote= +TranslatorNote=Norwegian translation maintained by Eivind Bakkestuen (eivind@nexusdb.com) + +; *** Buttons +ButtonBack=< &Tilbake +ButtonNext=&Neste > +ButtonInstall=&Installer +ButtonOK=OK +ButtonCancel=Avbryt +ButtonYes=&Ja +ButtonYesToAll=Ja til &alle +ButtonNo=&Nei +ButtonNoToAll=N&ei til alle +ButtonFinish=&Ferdig +ButtonBrowse=&Bla gjennom... +ButtonWizardBrowse=&Bla gjennom... +ButtonNewFolder=&Lag ny mappe + +; *** "Select Language" dialog messages +SelectLanguageTitle=Velg installasjonsspråk +SelectLanguageLabel=Velg språket som skal brukes under installasjonen: + +; *** Common wizard text +ClickNext=Klikk på Neste for å fortsette, eller Avbryt for å avslutte installasjonen. +BeveledLabel= +BrowseDialogTitle=Bla etter mappe +BrowseDialogLabel=Velg en mappe fra listen nedenfor, klikk deretter OK. +NewFolderName=Ny mappe + +; *** "Welcome" wizard page +WelcomeLabel1=Velkommen til installasjonsprogrammet for [name]. +WelcomeLabel2=Dette vil installere [name/ver] på din maskin.%n%nDet anbefales at du avslutter alle programmer som kjører før du fortsetter. + +; *** "Password" wizard page +WizardPassword=Passord +PasswordLabel1=Denne installasjonen er passordbeskyttet. +PasswordLabel3=Vennligst oppgi ditt passord og klikk på Neste for å fortsette. Små og store bokstaver behandles ulikt. +PasswordEditLabel=&Passord: +IncorrectPassword=Det angitte passordet er feil, vennligst prøv igjen. + +; *** "License Agreement" wizard page +WizardLicense=Lisensbetingelser +LicenseLabel=Vennligst les følgende viktig informasjon før du fortsetter. +LicenseLabel3=Vennligst les følgende lisensbetingelser. Du må godta innholdet i lisensbetingelsene før du fortsetter med installasjonen. +LicenseAccepted=Jeg &aksepterer lisensbetingelsene +LicenseNotAccepted=Jeg aksepterer &ikke lisensbetingelsene + +; *** "Information" wizard pages +WizardInfoBefore=Informasjon +InfoBeforeLabel=Vennligst les følgende viktige informasjon før du fortsetter. +InfoBeforeClickLabel=Klikk på Neste når du er klar til å fortsette. +WizardInfoAfter=Informasjon +InfoAfterLabel=Vennligst les følgende viktige informasjon før du fortsetter. +InfoAfterClickLabel=Klikk på Neste når du er klar til å fortsette. + +; *** "User Information" wizard page +WizardUserInfo=Brukerinformasjon +UserInfoDesc=Vennligst angi informasjon. +UserInfoName=&Brukernavn: +UserInfoOrg=&Organisasjon: +UserInfoSerial=&Serienummer: +UserInfoNameRequired=Du må angi et navn. + +; *** "Select Destination Directory" wizard page +WizardSelectDir=Velg mappen hvor filene skal installeres: +SelectDirDesc=Hvor skal [name] installeres? +SelectDirLabel3=Installasjonsprogrammet vil installere [name] i følgende mappe. +SelectDirBrowseLabel=Klikk på Neste for å fortsette. Klikk på Bla gjennom hvis du vil velge en annen mappe. +DiskSpaceMBLabel=Programmet krever minst [mb] MB med diskplass. +CannotInstallToNetworkDrive=Kan ikke installere på en nettverksstasjon. +CannotInstallToUNCPath=Kan ikke installere på en UNC-bane. Du må tilordne nettverksstasjonen hvis du vil installere i et nettverk. +InvalidPath=Du må angi en full bane med stasjonsbokstav, for eksempel:%n%nC:\APP%n%Du kan ikke bruke formen:%n%n\\server\share +InvalidDrive=Den valgte stasjonen eller UNC-delingen finnes ikke, eller er ikke tilgjengelig. Vennligst velg en annen +DiskSpaceWarningTitle=For lite diskplass +DiskSpaceWarning=Installasjonprogrammet krever minst %1 KB med ledig diskplass, men det er bare %2 KB ledig på den valgte stasjonen.%n%nvil du fortsette likevel? +DirNameTooLong=Det er for langt navn på mappen eller banen. +InvalidDirName=Navnet på mappen er ugyldig. +BadDirName32=Mappenavn må ikke inneholde noen av følgende tegn:%n%n%1 +DirExistsTitle=Eksisterende mappe +DirExists=Mappen:%n%n%1%n%nfinnes allerede. Vil du likevel installere der? +DirDoesntExistTitle=Mappen eksisterer ikke +DirDoesntExist=Mappen:%n%n%1%n%nfinnes ikke. Vil du at den skal lages? + +; *** "Select Components" wizard page +WizardSelectComponents=Velg komponenter +SelectComponentsDesc=Hvilke komponenter skal installeres? +SelectComponentsLabel2=Velg komponentene du vil installere; velg bort de komponentene du ikke vil installere. Når du er klar, klikker du på Neste for å fortsette. +FullInstallation=Full installasjon +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Kompakt installasjon +CustomInstallation=Egendefinert installasjon +NoUninstallWarningTitle=Komponenter eksisterer +NoUninstallWarning=Installasjonsprogrammet har funnet ut at følgende komponenter allerede er på din maskin:%n%n%1%n%nDisse komponentene avinstalleres ikke selv om du ikke velger dem.%n%nVil du likevel fortsette? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=Valgte alternativer krever minst [mb] MB med diskplass. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Velg tilleggsoppgaver +SelectTasksDesc=Hvilke tilleggsoppgaver skal utføres? +SelectTasksLabel2=Velg tilleggsoppgavene som skal utføres mens [name] installeres, klikk deretter på Neste. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Velg mappe på start-menyen +SelectStartMenuFolderDesc=Hvor skal installasjonsprogrammet plassere snarveiene? +SelectStartMenuFolderLabel3=Installasjonsprogrammet vil opprette snarveier på følgende startmeny-mappe. +SelectStartMenuFolderBrowseLabel=Klikk på Neste for å fortsette. Klikk på Bla igjennom hvis du vil velge en annen mappe. +MustEnterGroupName=Du må skrive inn et mappenavn. +GroupNameTooLong=Det er for langt navn på mappen eller banen. +InvalidGroupName=Navnet på mappen er ugyldig. +BadGroupName=Mappenavnet må ikke inneholde følgende tegn:%n%n%1 +NoProgramGroupCheck2=&Ikke legg til mappe på start-menyen + +; *** "Ready to Install" wizard page +WizardReady=Klar til å installere +ReadyLabel1=Installasjonsprogrammet er nå klar til å installere [name] på din maskin. +ReadyLabel2a=Klikk Installer for å fortsette, eller Tilbake for å se på eller forandre instillingene. +ReadyLabel2b=Klikk Installer for å fortsette. +ReadyMemoUserInfo=Brukerinformasjon: +ReadyMemoDir=Installer i mappen: +ReadyMemoType=Installasjonstype: +ReadyMemoComponents=Valgte komponenter: +ReadyMemoGroup=Programgruppe: +ReadyMemoTasks=Tilleggsoppgaver: + +; *** "Preparing to Install" wizard page +WizardPreparing=Forbereder installasjonen +PreparingDesc=Installasjonsprogrammet forbereder installasjon av [name] på den maskin. +PreviousInstallNotCompleted=Installasjonen/fjerningen av et tidligere program ble ikke ferdig. Du må starte maskinen på nytt.%n%nEtter omstarten må du kjøre installasjonsprogrammet på nytt for å fullføre installasjonen av [name]. +CannotContinue=Installasjonsprogrammet kan ikke fortsette. Klikk på Avbryt for å avslutte. +ApplicationsFound=Disse applikasjonene bruker filer som vil oppdateres av installasjonen. Det anbefales å la installasjonen automatisk avslutte disse applikasjonene. +ApplicationsFound2=Disse applikasjonene bruker filer som vil oppdateres av installasjonen. Det anbefales å la installasjonen automatisk avslutte disse applikasjonene. Installasjonen vil prøve å starte applikasjonene på nytt etter at installasjonen er avsluttet. +CloseApplications=Lukk applikasjonene &automatisk +DontCloseApplications=&Ikke lukk applikasjonene +ErrorCloseApplications=Installasjonsprogrammet kunne ikke lukke alle applikasjonene &automatisk. Det anbefales å lukke alle applikasjoner som bruker filer som installasjonsprogrammet trenger å oppdatere før du fortsetter installasjonen. + +; *** "Installing" wizard page +WizardInstalling=Installerer +InstallingLabel=Vennligst vent mens [name] installeres på din maskin. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=Fullfører installasjonsprogrammet for [name] +FinishedLabelNoIcons=[name] er installert på din maskin. +FinishedLabel=[name] er installert på din maskin. Programmet kan kjøres ved at du klikker på ett av de installerte ikonene. +ClickFinish=Klikk Ferdig for å avslutte installasjonen. +FinishedRestartLabel=Maskinen må startes på nytt for at installasjonen skal fullføres. Vil du starte på nytt nå? +FinishedRestartMessage=Maskinen må startes på nytt for at installasjonen skal fullføres.%n%nVil du starte på nytt nå? +ShowReadmeCheck=Ja, jeg vil se på LESMEG-filen +YesRadio=&Ja, start maskinen på nytt nå +NoRadio=&Nei, jeg vil starte maskinen på nytt senere +; used for example as 'Run MyProg.exe' +RunEntryExec=Kjør %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=Se på %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=Trenger neste diskett +SelectDiskLabel2=Vennligst sett inn diskett %1 og klikk OK.%n%nHvis filene på finnes et annet sted enn det som er angitt nedenfor, kan du skrive inn korrekt bane eller klikke på Bla Gjennom. +PathLabel=&Bane: +FileNotInDir2=Finner ikke filen "%1" i "%2". Vennligst sett inn riktig diskett eller velg en annen mappe. +SelectDirectoryLabel=Vennligst angi hvor den neste disketten er. + +; *** Installation phase messages +SetupAborted=Installasjonen ble avbrutt.%n%nVennligst korriger problemet og prøv igjen. +EntryAbortRetryIgnore=Klikk Prøv igjen for å forsøke på nytt, Ignorer for å fortsette eller Avslutt for å avslutte installasjonen. + +; *** Installation status messages +StatusClosingApplications=Lukker applikasjoner... +StatusCreateDirs=Lager mapper... +StatusExtractFiles=Pakker ut filer... +StatusCreateIcons=Lager programikoner... +StatusCreateIniEntries=Lager INI-instillinger... +StatusCreateRegistryEntries=Lager innstillinger i registeret... +StatusRegisterFiles=Registrerer filer... +StatusSavingUninstall=Lagrer info for avinstallering... +StatusRunProgram=Gjør ferdig installasjonen... +StatusRestartingApplications=Restarter applikasjoner... +StatusRollback=Tilbakestiller forandringer... + +; *** Misc. errors +ErrorInternal2=Intern feil %1 +ErrorFunctionFailedNoCode=%1 gikk galt +ErrorFunctionFailed=%1 gikk galt; kode %2 +ErrorFunctionFailedWithMessage=%1 gikk galt; kode %2.%n%3 +ErrorExecutingProgram=Kan ikke kjøre filen:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Feil under åpning av registernøkkel:%n%1\%2 +ErrorRegCreateKey=Feil under laging av registernøkkel:%n%1\%2 +ErrorRegWriteKey=Feil under skriving til registernøkkel:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Feil under laging av innstilling i filen "%1". + +; *** File copying errors +FileAbortRetryIgnore=Klikk Prøv igjen for å forsøke på nytt, Ignorer for å overse denne filen (anbefales ikke) eller Avslutt for å stoppe installasjonen. +FileAbortRetryIgnore2=Klikk Prøv igjen for å forsøke på nytt, Ignorer for å fortsette uansett (anbefales ikke) eller Avslutt for å stoppe installasjonen. +SourceIsCorrupted=Kildefilen er ødelagt +SourceDoesntExist=Kildefilen "%1" finnes ikke +ExistingFileReadOnly=Den eksisterende filen er skrivebeskyttet.%n%nKlikk Prøv igjen for å fjerne skrivebeskyttelsen og prøve på nytt, Ignorer for å hoppe over denne filen, eller Avslutt for å stoppe installasjonen. +ErrorReadingExistingDest=En feil oppsto under lesing av den eksisterende filen: +FileExists=Filen eksisterer allerede.%n%nVil du overskrive den? +ExistingFileNewer=Den eksisterende filen er nyere enn den som blir forsøkt installert. Det anbefales at du beholder den eksisterende filen.%n%nVil du beholde den eksisterende filen? +ErrorChangingAttr=En feil oppsto da attributtene ble forsøkt forandret på den eksisterende filen: +ErrorCreatingTemp=En feil oppsto under forsøket på å lage en fil i mål-mappen: +ErrorReadingSource=En feil oppsto under forsøket på å lese kildefilen: +ErrorCopying=En feil oppsto under forsøk på å kopiere en fil: +ErrorReplacingExistingFile=En feil oppsto under forsøket på å erstatte den eksisterende filen: +ErrorRestartReplace=RestartReplace gikk galt: +ErrorRenamingTemp=En feil oppsto under omdøping av fil i mål-mappen: +ErrorRegisterServer=Kan ikke registrere DLL/OCX: %1 +ErrorRegSvr32Failed=RegSvr32 gikk galt med avslutte kode %1 +ErrorRegisterTypeLib=Kan ikke registrere typebiblioteket: %1 + +; *** Post-installation errors +ErrorOpeningReadme=En feil oppsto under forsøket på å åpne LESMEG-filen. +ErrorRestartingComputer=Installasjonsprogrammet kunne ikke starte maskinen på nytt. Vennligst gjør dette manuelt. + +; *** Uninstaller messages +UninstallNotFound=Filen "%1" finnes ikke. Kan ikke avinstallere. +UninstallOpenError=Filen "%1" kunne ikke åpnes. Kan ikke avinstallere. +UninstallUnsupportedVer=Kan ikke avinstallere. Avinstallasjons-loggfilen "%1" har et format som ikke gjenkjennes av denne versjonen av avinstallasjons-programmet +UninstallUnknownEntry=Et ukjent parameter (%1) ble funnet i Avinstallasjons-loggfilen +ConfirmUninstall=Er du sikker på at du helt vil fjerne %1 og alle tilhørende komponenter? +UninstallOnlyOnWin64=Denne installasjonen kan bare uføres på 64-bit Windows. +OnlyAdminCanUninstall=Denne installasjonen kan bare avinstalleres av en bruker med Administrator-rettigheter. +UninstallStatusLabel=Vennligst vent mens %1 fjernes fra maskinen. +UninstalledAll=Avinstallasjonen av %1 var vellykket +UninstalledMost=Avinstallasjonen av %1 er ferdig.%n%nEnkelte elementer kunne ikke fjernes. Disse kan fjernes manuelt. +UninstalledAndNeedsRestart=Du må starte maskinen på nytt for å fullføre installasjonen av %1.%n%nVil du starte på nytt nå? +UninstallDataCorrupted="%1"-filen er ødelagt. Kan ikke avinstallere. + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Fjerne delte filer? +ConfirmDeleteSharedFile2=Systemet indikerer at den følgende filen ikke lengre brukes av andre programmer. Vil du at avinstalleringsprogrammet skal fjerne den delte filen?%n%nHvis andre programmer bruker denne filen, kan du risikere at de ikke lengre vil virke som de skal. Velg Nei hvis du er usikker. Det vil ikke gjøre noen skade hvis denne filen ligger på din maskin. +SharedFileNameLabel=Filnavn: +SharedFileLocationLabel=Plassering: +WizardUninstalling=Avinstallerings-status: +StatusUninstalling=Avinstallerer %1... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=Installerer %1. +ShutdownBlockReasonUninstallingApp=Avinstallerer %1. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 versjon %2 +AdditionalIcons=Ekstra-ikoner: +CreateDesktopIcon=Lag ikon på &skrivebordet +CreateQuickLaunchIcon=Lag et &Hurtigstarts-ikon +ProgramOnTheWeb=%1 på nettet +UninstallProgram=Avinstaller %1 +LaunchProgram=Kjør %1 +AssocFileExtension=&Koble %1 med filetternavnet %2 +AssocingFileExtension=Kobler %1 med filetternavnet %2... +AutoStartProgramGroupDescription=Oppstart: +AutoStartProgram=Start %1 automatisk +AddonHostProgramNotFound=%1 ble ikke funnet i katalogen du valgte.%n%nVil du fortsette likevel? \ No newline at end of file diff --git a/dist/windows/languages/Polish.isl b/dist/windows/languages/Polish.isl new file mode 100644 index 00000000..5c12cba3 --- /dev/null +++ b/dist/windows/languages/Polish.isl @@ -0,0 +1,327 @@ +; *** Inno Setup version 5.5.3+ Polish messages *** +; Krzysztof Cynarski +; +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/is3rdparty.php +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). +; +; $jrsoftware: issrc/Files/Languages/Polish.isl,v 1.16 2007/03/09 16:56:52 jr Exp $ + +[LangOptions] +LanguageName=Polski +LanguageID=$0415 +LanguageCodePage=1250 + +[Messages] + +; *** Application titles +SetupAppTitle=Instalator +SetupWindowTitle=Instalacja - %1 +UninstallAppTitle=Deinstalacja +UninstallAppFullTitle=Odinstaluj %1 + +; *** Misc. common +InformationTitle=Informacja +ConfirmTitle=Potwierdź +ErrorTitle=BÅ‚Ä…d + +; *** SetupLdr messages +SetupLdrStartupMessage=Ten program zainstaluje aplikacjÄ™ %1. Czy chcesz kontynuować? +LdrCannotCreateTemp=Nie można utworzyć pliku tymczasowego. Instalacja przerwana +LdrCannotExecTemp=Nie można uruchomić pliku w folderze tymczasowym. Instalacja przerwana + +; *** Startup error messages +LastErrorMessage=%1.%n%nBÅ‚Ä…d %2: %3 +SetupFileMissing=W folderze instalacyjnym brak pliku %1.%nProszÄ™ usunąć problem lub uzyskać nowÄ… kopiÄ™ programu instalacyjnego. +SetupFileCorrupt=Pliki skÅ‚adowe Instalatora sÄ… uszkodzone. ProszÄ™ uzyskać nowÄ… kopiÄ™ Instalatora od producenta. +SetupFileCorruptOrWrongVer=Pliki skÅ‚adowe instalatora sÄ… uszkodzone lub niezgodne z tÄ… wersjÄ… Instalatora. ProszÄ™ rozwiÄ…zać ten problem lub uzyskać nowÄ… kopiÄ™ Instalatora od producenta. +InvalidParameter=W lini komend zostaÅ‚ przekazany nieprawidÅ‚owy parametr:%n%n%1 +SetupAlreadyRunning=Instalator jest już uruchomiony. +WindowsVersionNotSupported=Ten program nie wspiera aktualnie uruchomionej na Twoim komputerze wersji Windows. +WindowsServicePackRequired=Ten program wymaga %1 z dodatkiem Service Pack %2 lub późniejszym. +NotOnThisPlatform=Tego programu nie można uruchomić w systemie %1. +OnlyOnThisPlatform=Ten program wymaga systemu %1. +OnlyOnTheseArchitectures=Ten program może być uruchomiony tylko w systemie Windows zaprojektowanym na procesory o architekturach:%n%n%1 +MissingWOW64APIs=Ta wersja systemu Windows nie zawiera komponentów niezbÄ™dnych do przeprowadzenia 64 bitowej instalacji. Aby usunąć ten problem, proszÄ™ zainstalować Service Pack %1. +WinVersionTooLowError=Ten program wymaga %1 w wersji %2 lub późniejszej. +WinVersionTooHighError=Ten program nie może być zainstalowany w wersji %2 lub późniejszej systemu %1. +AdminPrivilegesRequired=Aby przeprowadzić instalacjÄ™ tego programu, Użytkownik musi być zalogowany z uprawnieniami administratora. +PowerUserPrivilegesRequired=Aby przeprowadzić instalacjÄ™ tego programu, Użytkownik musi być zalogowany z uprawnieniami administratora lub użytkownika zaawansowanego. +SetupAppRunningError=Instalator wykryÅ‚, że %1 jest aktualnie uruchomiony.%n%nZamknij wszystkie okienka tej aplikacji, a potem wybierz przycisk OK, aby kontynuować, lub Anuluj, aby przerwać instalacjÄ™. +UninstallAppRunningError=Deinstalator wykryÅ‚, że %1 jest aktualnie uruchomiony.%n%nZamknij teraz wszystkie okna tej aplikacji, a nastÄ™pnie wybierz przycisk OK, aby kontynuować, lub Anuluj, aby przerwać deinstalacje. + +; *** Misc. errors +ErrorCreatingDir=Instalator nie mógÅ‚ utworzyć foldera "%1" +ErrorTooManyFilesInDir=Nie można utworzyć pliku w folderze %1, ponieważ zawiera on za dużo plików + +; *** Setup common messages +ExitSetupTitle=ZakoÅ„cz instalacjÄ™ +ExitSetupMessage=Instalacja nie jest zakoÅ„czona. Jeżeli przerwiesz jÄ… teraz, program nie zostanie zainstalowany. Można ponowić instalacjÄ™ później, uruchamiajÄ…c pakiet Instalatora.%n%nCzy chcesz przerwać instalacjÄ™ ? +AboutSetupMenuItem=&O Instalatorze... +AboutSetupTitle=O Instalatorze +AboutSetupMessage=%1 wersja %2%n%3%n%n Strona domowa %1:%n%4 +AboutSetupNote= +TranslatorNote=Wersja Polska: Krzysztof Cynarski%n + +; *** Buttons +ButtonBack=< &Wstecz +ButtonNext=&Dalej > +ButtonInstall=&Instaluj +ButtonOK=OK +ButtonCancel=Anuluj +ButtonYes=&Tak +ButtonYesToAll=Tak na &wszystkie +ButtonNo=&Nie +ButtonNoToAll=N&ie na wszystkie +ButtonFinish=&ZakoÅ„cz +ButtonBrowse=&PrzeglÄ…daj... +ButtonWizardBrowse=P&rzeglÄ…daj... +ButtonNewFolder=&Utwórz nowy folder + +; *** "Select Language" dialog messages +SelectLanguageTitle=Wybierz jÄ™zyk instalacji +SelectLanguageLabel=Wybierz jÄ™zyk używany podczas instalacji: + +; *** Common wizard text +ClickNext=Wybierz przycisk Dalej, aby kontynuować, lub Anuluj, aby zakoÅ„czyć instalacjÄ™. +BeveledLabel= +BrowseDialogTitle=Wskaż folder +BrowseDialogLabel=Wybierz folder z poniższej listy, a nastÄ™pnie wybierz przycisk OK. +NewFolderName=Nowy folder + +; *** "Welcome" wizard page +WelcomeLabel1=Witamy w Kreatorze instalacji programu [name]. +WelcomeLabel2=Instalator zainstaluje teraz program [name/ver] na Twoim komputerze.%n%nZalecane jest zamkniÄ™cie wszystkich innych uruchomionych programów przed rozpoczÄ™ciem procesu instalacji. + +; *** "Password" wizard page +WizardPassword=HasÅ‚o +PasswordLabel1=Ta instalacja jest zabezpieczona hasÅ‚em. +PasswordLabel3=Podaj hasÅ‚o, potem wybierz przycisk Dalej, aby kontynuować. W hasÅ‚ach rozróżniane sÄ… duże i maÅ‚e litery. +PasswordEditLabel=&HasÅ‚o: +IncorrectPassword=Wprowadzone hasÅ‚o nie jest poprawne. Spróbuj ponownie. + +; *** "License Agreement" wizard page +WizardLicense=Umowa Licencyjna +LicenseLabel=Przed kontynuacjÄ… proszÄ™ przeczytać poniższe ważne informacje. +LicenseLabel3=ProszÄ™ przeczytać tekst Umowy Licencyjnej. Musisz zgodzić siÄ™ na warunki tej umowy przed kontynuacjÄ… instalacji. +LicenseAccepted=&AkceptujÄ™ warunki umowy +LicenseNotAccepted=&Nie akceptujÄ™ warunków umowy + +; *** "Information" wizard pages +WizardInfoBefore=Informacja +InfoBeforeLabel=Przed przejÅ›ciem do dalszego etapu instalacji, proszÄ™ przeczytać poniższÄ… informacjÄ™. +InfoBeforeClickLabel=Kiedy bÄ™dziesz gotowy do instalacji, kliknij przycisk Dalej. +WizardInfoAfter=Informacja +InfoAfterLabel=Przed przejÅ›ciem do dalszego etapu instalacji, proszÄ™ przeczytać poniższÄ… informacjÄ™. +InfoAfterClickLabel=Gdy bÄ™dziesz gotowy do zakoÅ„czenia instalacji, kliknij przycisk Dalej. + +; *** "User Information" wizard page +WizardUserInfo=Dane Użytkownika +UserInfoDesc=ProszÄ™ podać swoje dane. +UserInfoName=&Nazwisko: +UserInfoOrg=&Organizacja: +UserInfoSerial=Numer &seryjny: +UserInfoNameRequired=Musisz podać nazwisko. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Wybierz docelowÄ… lokalizacjÄ™ +SelectDirDesc=Gdzie ma być zainstalowany program [name]? +SelectDirLabel3=Instalator zainstaluje program [name] do poniższego folderu. +SelectDirBrowseLabel=Kliknij przycisk Dalej, aby kontynuować. JeÅ›li chcesz okreÅ›lić inny folder, kliknij przycisk PrzeglÄ…daj. +DiskSpaceMBLabel=Potrzeba przynajmniej [mb] MB wolnego miejsca na dysku. +CannotInstallToNetworkDrive=Instalator nie może zainstalować programu na dysku sieciowym. +CannotInstallToUNCPath=Instalator nie może zainstalować programu w Å›cieżce UNC. +InvalidPath=Musisz wprowadzić peÅ‚nÄ… Å›cieżkÄ™ wraz z literÄ… dysku, np.:%n%nC:\PROGRAM%n%nlub scieżkÄ™ sieciowÄ… (UNC) w formacie:%n%n\\serwer\udziaÅ‚ +InvalidDrive=Wybrany dysk lub udostÄ™pniony folder sieciowy nie istnieje. ProszÄ™ wybrać inny. +DiskSpaceWarningTitle=NiewystarczajÄ…ca ilość wolnego miejsca na dysku +DiskSpaceWarning=Instalator wymaga co najmniej %1 KB wolnego miejsca na dysku. Wybrany dysk posiada tylko %2 KB dostÄ™pnego miejsca.%n%nCzy pomimo to chcesz kontynuować? +DirNameTooLong=Nazwa folderu lub Å›cieżki jest za dÅ‚uga. +InvalidDirName=Niepoprawna nazwa folderu. +BadDirName32=Nazwa folderu nie może zawierać żadnego z nastÄ™pujÄ…cych znaków:%n%n%1 +DirExistsTitle=Ten folder już istnieje +DirExists=Folder%n%n%1%n%njuż istnieje. Czy pomimo to chcesz zainstalować program w tym folderze? +DirDoesntExistTitle=Nie ma takiego folderu +DirDoesntExist=Folder:%n%n%1%n%nnie istnieje. Czy chcesz, aby zostaÅ‚ utworzony? + +; *** "Select Components" wizard page +WizardSelectComponents=Zaznacz komponenty +SelectComponentsDesc=Które komponenty majÄ… być zainstalowane? +SelectComponentsLabel2=Zaznacz komponenty, które chcesz zainstalować, odznacz te, których nie chcesz zainstalować. Kliknij przycisk Dalej, aby kontynuować. +FullInstallation=Instalacja peÅ‚na +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Instalacja podstawowa +CustomInstallation=Instalacja użytkownika +NoUninstallWarningTitle=Zainstalowane komponenty +NoUninstallWarning=Instalator wykryÅ‚, że w twoim komputerze sÄ… już zainstalowane nastÄ™pujÄ…ce komponenty:%n%n%1%n%nOdznaczenie któregokolwiek z nich nie spowoduje ich deinstalacji.%n%nCzy pomimo tego chcesz kontynuować? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=Wybrane komponenty wymagajÄ… co najmniej [mb] MB na dysku. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Zaznacz dodatkowe zadania +SelectTasksDesc=Które dodatkowe zadania majÄ… być wykonane? +SelectTasksLabel2=Zaznacz dodatkowe zadania, które Instalator ma wykonać podczas instalacji programu [name], a nastÄ™pnie kliknij przycisk Dalej, aby kontynuować. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Wybierz folder Menu Start +SelectStartMenuFolderDesc=Gdzie majÄ… być umieszczone skróty do programu? +SelectStartMenuFolderLabel3=Instalator stworzy skróty do programu w poniższym folderze Menu Start. +SelectStartMenuFolderBrowseLabel=Kliknij przycisk Dalej, aby kontynuować. JeÅ›li chcesz okreÅ›lić inny folder, kliknij przycisk PrzeglÄ…daj. +MustEnterGroupName=Musisz wprowadzić nazwÄ™ folderu. +GroupNameTooLong=Nazwa folderu lub Å›cieżki jest za dÅ‚uga. +InvalidGroupName=Niepoprawna nazwa folderu. +BadGroupName=Nazwa folderu nie może zawierać żadnego z nastÄ™pujÄ…cych znaków:%n%n%1 +NoProgramGroupCheck2=Nie twórz folderu w &Menu Start + +; *** "Ready to Install" wizard page +WizardReady=Gotowy do rozpoczÄ™cia instalacji +ReadyLabel1=Instalator jest już gotowy do rozpoczÄ™cia instalacji programu [name] na twoim komputerze. +ReadyLabel2a=Kliknij przycisk Instaluj, aby rozpocząć instalacjÄ™ lub Wstecz, jeÅ›li chcesz przejrzeć lub zmienić ustawienia. +ReadyLabel2b=Kliknij przycisk Instaluj, aby kontynuować instalacjÄ™. +ReadyMemoUserInfo=Informacje użytkownika: +ReadyMemoDir=Lokalizacja docelowa: +ReadyMemoType=Rodzaj instalacji: +ReadyMemoComponents=Wybrane komponenty: +ReadyMemoGroup=Folder w Menu Start: +ReadyMemoTasks=Dodatkowe zadania: + +; *** "Preparing to Install" wizard page +WizardPreparing=Przygotowanie do instalacji +PreparingDesc=Instalator przygotowuje instalacjÄ™ programu [name] na Twoim komputerze. +PreviousInstallNotCompleted=Instalacja (usuniÄ™cie) poprzedniej wersji programu nie zostaÅ‚a zakoÅ„czona. BÄ™dziesz musiaÅ‚ ponownie uruchomić komputer, aby zakoÅ„czyć instalacjÄ™. %n%nPo ponownym uruchomieniu komputera uruchom ponownie instalatora, aby zakoÅ„czyć instalacjÄ™ aplikacji [name]. +CannotContinue=Instalator nie może kontynuować. Kliknij przycisk Anuluj, aby przerwać instalacjÄ™. +ApplicationsFound=Poniższe aplikacje używajÄ… plików, które muszÄ… być uaktualnione przez Instalator. Zalecane jest aby pozwolić Instalatorowi automatycznie zamknąć te aplikacje. +ApplicationsFound2=Poniższe aplikacje używajÄ… plików, które muszÄ… być uaktualnione przez Instalator. Zalecane jest aby pozwolić Instalatorowi automatycznie zamknąć te aplikacje. Po zakoÅ„czonej instalacji Instalator podejmie próbÄ™ ich ponownego uruchomienia. +CloseApplications=&Automatycznie zamknij aplikacje +DontCloseApplications=&Nie zamykaj aplikacji +ErrorCloseApplications=Instalator nie byÅ‚ w stanie zamknąć automatycznie wszystkich aplikacji. Zalecane jest zamkniÄ™cie wszystkich tych aplikacji, które akualnie używajÄ… uakutalnianych przez Instalator plików. + +; *** "Installing" wizard page +WizardInstalling=Instalacja +InstallingLabel=Poczekaj, aż instalator zainstaluje aplikacjÄ™ [name] na Twoim komputerze. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=ZakoÅ„czono instalacjÄ™ programu [name] +FinishedLabelNoIcons=Instalator zakoÅ„czyÅ‚ instalacjÄ™ programu [name] na Twoim komputerze. +FinishedLabel=Instalator zakoÅ„czyÅ‚ instalacjÄ™ programu [name] na Twoim komputerze. Aplikacja może być uruchomiona poprzez użycie zainstalowanych skrótów. +ClickFinish=Kliknij przycisk ZakoÅ„cz, aby zakoÅ„czyć instalacjÄ™. +FinishedRestartLabel=Aby zakoÅ„czyć instalacjÄ™ programu [name], Instalator musi ponownie uruchomić Twój komputer. Czy chcesz teraz wykonać restart komputera? +FinishedRestartMessage=Aby zakoÅ„czyć instalacjÄ™ programu [name], Instalator musi ponownie uruchomić Twój komputer.%n%nCzy chcesz teraz wykonać restart komputera? +ShowReadmeCheck=Tak, chcÄ™ przeczytać dodatkowe informacje +YesRadio=&Tak, teraz uruchom ponownie +NoRadio=&Nie, sam zrestartujÄ™ później +; used for example as 'Run MyProg.exe' +RunEntryExec=Uruchom %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=Pokaż %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=Instalator potrzebuje nastÄ™pnej dyskietki +SelectDiskLabel2=ProszÄ™ wÅ‚ożyć dyskietkÄ™ %1 i kliknąć przycisk OK.%n%nJeÅ›li pokazany poniżej folder nie okreÅ›la poÅ‚ożenia plików z tej dyskietki, wprowadź poprawnÄ… Å›cieżkÄ™ lub kliknij przycisk PrzeglÄ…daj. +PathLabel=Åš&cieżka: +FileNotInDir2=Plik "%1" nie zostaÅ‚ znaleziony na dyskietce "%2". ProszÄ™ wÅ‚ożyć wÅ‚aÅ›ciwÄ… dyskietkÄ™ lub wybrać inny folder. +SelectDirectoryLabel=ProszÄ™ okreÅ›lić lokalizacjÄ™ nastÄ™pnej dyskietki. + +; *** Installation phase messages +SetupAborted=Instalacja nie zostaÅ‚a zakoÅ„czona.%n%nProszÄ™ rozwiÄ…zać problem i ponownie rozpocząć instalacjÄ™. +EntryAbortRetryIgnore=Możesz ponowić nieudanÄ… czynność, zignorować jÄ… (nie zalecane) lub przerwać instalacjÄ™. + +; *** Installation status messages +StatusClosingApplications=Zamykanie aplikacji... +StatusCreateDirs=Tworzenie folderów... +StatusExtractFiles=Dekompresja plików... +StatusCreateIcons=Tworzenie ikon aplikacji... +StatusCreateIniEntries=Tworzenie zapisów w plikach INI... +StatusCreateRegistryEntries=Tworzenie zapisów w rejestrze... +StatusRegisterFiles=Rejestracja plików... +StatusSavingUninstall=Zachowanie informacji deinstalatora... +StatusRunProgram=KoÅ„czenie instalacji... +StatusRestartingApplications=Ponowne uruchamianie aplikacji... +StatusRollback=Cofanie zmian... + +; *** Misc. errors +ErrorInternal2=WewnÄ™trzny bÅ‚Ä…d: %1 +ErrorFunctionFailedNoCode=BÅ‚Ä…d podczas wykonywania %1 +ErrorFunctionFailed=BÅ‚Ä…d podczas wykonywania %1; kod %2 +ErrorFunctionFailedWithMessage=BÅ‚Ä…d podczas wykonywania %1; code %2.%n%3 +ErrorExecutingProgram=Nie można uruchomić:%n%1 + +; *** Registry errors +ErrorRegOpenKey=BÅ‚Ä…d podczas otwierania klucza rejestru:%n%1\%2 +ErrorRegCreateKey=BÅ‚Ä…d podczas tworzenia klucza rejestru:%n%1\%2 +ErrorRegWriteKey=BÅ‚Ä…d podczas zapisu do klucza rejestru:%n%1\%2 + +; *** INI errors +ErrorIniEntry=BÅ‚Ä…d podczas tworzenia pozycji w pliku INI: "%1". + +; *** File copying errors +FileAbortRetryIgnore=Możesz ponowić nieudanÄ… czynność, zignorować jÄ…, aby ominąć ten plik (nie zalecane), lub przerwać instalacjÄ™. +FileAbortRetryIgnore2=Możesz ponowić nieudanÄ… czynność, zignorować jÄ… (nie zalecane) lub przerwać instalacjÄ™. +SourceIsCorrupted=Plik źródÅ‚owy jest uszkodzony +SourceDoesntExist=Plik źródÅ‚owy "%1" nie istnieje +ExistingFileReadOnly=IstniejÄ…cy plik jest oznaczony jako tylko-do-odczytu.%n%nMożesz ponowić (aby usunąć oznaczenie) zignorować (aby ominąć ten plik) lub przerwać instalacjÄ™. +ErrorReadingExistingDest=WystÄ…piÅ‚ bÅ‚Ä…d podczas próby odczytu istniejÄ…cego pliku: +FileExists=Plik już istnieje.%n%nCzy chcesz, aby Instalator zamieniÅ‚ go na nowy? +ExistingFileNewer=IstniejÄ…cy plik jest nowszy niż ten, który Instalator próbuje skopiować. Zalecanym jest zachowanie istniejÄ…cego pliku.%n%nCzy chcesz zachować istniejÄ…cy plik? +ErrorChangingAttr=WystÄ…piÅ‚ bÅ‚Ä…d podczas próby zmiany atrybutów docelowego pliku: +ErrorCreatingTemp=WystÄ…piÅ‚ bÅ‚Ä…d podczas próby utworzenia pliku w folderze docelowym: +ErrorReadingSource=WystÄ…piÅ‚ bÅ‚Ä…d podczas próby odczytu pliku źródÅ‚owego: +ErrorCopying=WystÄ…piÅ‚ bÅ‚Ä…d podczas próby kopiowania pliku: +ErrorReplacingExistingFile=WystÄ…piÅ‚ bÅ‚Ä…d podczas próby zamiany istniejÄ…cego pliku: +ErrorRestartReplace=Próba zastÄ…pienia plików podczas restartu komputera nie powiodÅ‚a siÄ™. +ErrorRenamingTemp=WystÄ…piÅ‚ bÅ‚Ä…d podczas próby zmiany nazwy pliku w folderze docelowym: +ErrorRegisterServer=Nie można zarejestrować DLL/OCX: %1 +ErrorRegSvr32Failed=Funkcja RegSvr32 zakoÅ„czyÅ‚a sie z kodem bÅ‚Ä™du %1 +ErrorRegisterTypeLib=Nie mogÄ™ zarejestrować biblioteki typów: %1 + +; *** Post-installation errors +ErrorOpeningReadme=WystÄ…piÅ‚ bÅ‚Ä…d podczas próby otwarcia pliku README. +ErrorRestartingComputer=Instalator nie mógÅ‚ zrestartować tego komputera. ProszÄ™ zrobić to samodzielnie. + +; *** Uninstaller messages +UninstallNotFound=Plik "%1" nie istnieje. Nie można go odinstalować. +UninstallOpenError=Plik "%1" nie mógÅ‚ być otwarty. Nie można odinstalować +UninstallUnsupportedVer=Ta wersja programu deinstalacyjnego nie rozpoznaje formatu logu deinstalacji. Nie można odinstalować +UninstallUnknownEntry=W logu deinstalacji wystÄ…piÅ‚a nieznana pozycja (%1) +ConfirmUninstall=Czy na pewno chcesz usunąć program %1 i wszystkie jego skÅ‚adniki? +UninstallOnlyOnWin64=Ten program moze być odinstalowany tylo w 64 bitowej wersji systemu Windows. +OnlyAdminCanUninstall=Ta instalacja może być odinstalowana tylko przez użytkownika z prawami administratora. +UninstallStatusLabel=Poczekaj aż program %1 zostanie usuniÄ™ty z Twojego komputera. +UninstalledAll=%1 zostaÅ‚ usuniÄ™ty z Twojego komputera. +UninstalledMost=Odinstalowywanie programu %1 zakoÅ„czone.%n%nNiektóre elementy nie mogÅ‚y być usuniÄ™te. Możesz je usunąć rÄ™cznie. +UninstalledAndNeedsRestart=Twój komputer musi być ponownie uruchomiony, aby zakoÅ„czyć odinstalowywanie %1.%n%nCzy chcesz teraz ponownie uruchomić komputer? +UninstallDataCorrupted=Plik "%1" jest uszkodzony. Nie można odinstalować + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Usunąć plik współdzielony? +ConfirmDeleteSharedFile2=System wykryÅ‚, że nastÄ™pujÄ…cy plik nie jest już używany przez żaden program. Czy chcesz odinstalować ten plik współdzielony?%n%nJeÅ›li inne programy nadal używajÄ… tego pliku, a zostanie on usuniÄ™ty, mogÄ… one przestać dziaÅ‚ać prawidÅ‚owo. JeÅ›li nie jesteÅ› pewny, wybierz przycisk Nie. Pozostawienie tego pliku w Twoim systemie nie spowoduje żadnych szkód. +SharedFileNameLabel=Nazwa pliku: +SharedFileLocationLabel=PoÅ‚ożenie: +WizardUninstalling=Stan deinstalacji +StatusUninstalling=Deinstalacja %1... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=Intstalacja %1. +ShutdownBlockReasonUninstallingApp=Dezinstalacja %1. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 wersja %2 +AdditionalIcons=Dodatkowe ikony: +CreateDesktopIcon=Utwórz ikonÄ™ na &pulpicie +CreateQuickLaunchIcon=Utwórz ikonÄ™ na pasku &szybkiego uruchamiania +ProgramOnTheWeb=Strona WWW programu %1 +UninstallProgram=Deinstalacja programu %1 +LaunchProgram=Uruchom program %1 +AssocFileExtension=&Przypisz program %1 do rozszerzenia pliku %2 +AssocingFileExtension=Przypisywanie programu %1 do rozszerzenia pliku %2... +AutoStartProgramGroupDescription=Autostart: +AutoStartProgram=Automatycznie uruchamiaj %1 +AddonHostProgramNotFound=%1 nie zostaÅ‚ znaleziony we wskazanym przez Ciebie folderze.%n%nCzy pomimo tego chcesz kontynuować? diff --git a/dist/windows/languages/Portuguese.isl b/dist/windows/languages/Portuguese.isl new file mode 100644 index 00000000..72c445d5 --- /dev/null +++ b/dist/windows/languages/Portuguese.isl @@ -0,0 +1,318 @@ +; *** Inno Setup version 5.5.3+ Portuguese (Portugal) messages *** +; +; Maintained by Nuno Silva (nars AT gmx.net) + +[LangOptions] +LanguageName=Portugu<00EA>s (Portugal) +LanguageID=$0816 +LanguageCodePage=1252 + +[Messages] + +; *** Application titles +SetupAppTitle=Instalação +SetupWindowTitle=%1 - Instalação +UninstallAppTitle=Desinstalação +UninstallAppFullTitle=%1 - Desinstalação + +; *** Misc. common +InformationTitle=Informação +ConfirmTitle=Confirmação +ErrorTitle=Erro + +; *** SetupLdr messages +SetupLdrStartupMessage=Irá ser instalado o %1. Deseja continuar? +LdrCannotCreateTemp=Não foi possível criar um ficheiro temporário. Instalação cancelada +LdrCannotExecTemp=Não foi possível executar um ficheiro na directoria temporária. Instalação cancelada + +; *** Startup error messages +LastErrorMessage=%1.%n%nErro %2: %3 +SetupFileMissing=O ficheiro %1 não foi encontrado na pasta de instalação. Corrija o problema ou obtenha uma nova cópia do programa. +SetupFileCorrupt=Os ficheiros de instalação estão corrompidos. Obtenha uma nova cópia do programa. +SetupFileCorruptOrWrongVer=Os ficheiros de instalação estão corrompidos, ou são incompatíveis com esta versão do Assistente de Instalação. Corrija o problema ou obtenha uma nova cópia do programa. +InvalidParameter=Foi especificado um parâmetro inválido na linha de comando:%n%n%1 +SetupAlreadyRunning=A instalação já está em execução. +WindowsVersionNotSupported=Este programa não suporta a versão do Windows que está a utilizar. +WindowsServicePackRequired=Este programa necessita de %1 Service Pack %2 ou mais recente. +NotOnThisPlatform=Este programa não pode ser executado no %1. +OnlyOnThisPlatform=Este programa deve ser executado no %1. +OnlyOnTheseArchitectures=Este programa só pode ser instalado em versões do Windows preparadas para as seguintes arquitecturas:%n%n%1 +MissingWOW64APIs=A versão do Windows que está a utilizar não dispõe das funcionalidades necessárias para o Assistente de Instalação poder realizar uma instalação de 64-bit's. Para corrigir este problema, por favor instale o Service Pack %1. +WinVersionTooLowError=Este programa necessita do %1 versão %2 ou mais recente. +WinVersionTooHighError=Este programa não pode ser instalado no %1 versão %2 ou mais recente. +AdminPrivilegesRequired=Deve iniciar sessão como administrador para instalar este programa. +PowerUserPrivilegesRequired=Deve iniciar sessão como administrador ou membro do grupo de Super Utilizadores para instalar este programa. +SetupAppRunningError=O Assistente de Instalação detectou que o %1 está em execução. Feche-o e de seguida clique em OK para continuar, ou clique em Cancelar para cancelar a instalação. +UninstallAppRunningError=O Assistente de Desinstalação detectou que o %1 está em execução. Feche-o e de seguida clique em OK para continuar, ou clique em Cancelar para cancelar a desinstalação. + +; *** Misc. errors +ErrorCreatingDir=O Assistente de Instalação não consegue criar a directoria "%1" +ErrorTooManyFilesInDir=Não é possível criar um ficheiro na directoria "%1" porque esta contém demasiados ficheiros + +; *** Setup common messages +ExitSetupTitle=Terminar a instalação +ExitSetupMessage=A instalação não está completa. Se terminar agora, o programa não será instalado.%n%nMais tarde poderá executar novamente este Assistente de Instalação e concluir a instalação.%n%nDeseja terminar a instalação? +AboutSetupMenuItem=&Acerca de... +AboutSetupTitle=Acerca do Assistente de Instalação +AboutSetupMessage=%1 versão %2%n%3%n%n%1 home page:%n%4 +AboutSetupNote= +TranslatorNote=Portuguese translation maintained by NARS (nars@gmx.net) + +; *** Buttons +ButtonBack=< &Anterior +ButtonNext=&Seguinte > +ButtonInstall=&Instalar +ButtonOK=OK +ButtonCancel=Cancelar +ButtonYes=&Sim +ButtonYesToAll=Sim para &todos +ButtonNo=&Não +ButtonNoToAll=Nã&o para todos +ButtonFinish=&Concluir +ButtonBrowse=&Procurar... +ButtonWizardBrowse=P&rocurar... +ButtonNewFolder=&Criar Nova Pasta + +; *** "Select Language" dialog messages +SelectLanguageTitle=Seleccione o Idioma do Assistente de Instalação +SelectLanguageLabel=Seleccione o idioma para usar durante a Instalação: + +; *** Common wizard text +ClickNext=Clique em Seguinte para continuar ou em Cancelar para cancelar a instalação. +BeveledLabel= +BrowseDialogTitle=Procurar Pasta +BrowseDialogLabel=Seleccione uma pasta na lista abaixo e clique em OK. +NewFolderName=Nova Pasta + +; *** "Welcome" wizard page +WelcomeLabel1=Bem-vindo ao Assistente de Instalação do [name] +WelcomeLabel2=O Assistente de Instalação irá instalar o [name/ver] no seu computador.%n%nÉ recomendado que feche todas as outras aplicações antes de continuar. + +; *** "Password" wizard page +WizardPassword=Palavra-passe +PasswordLabel1=Esta instalação está protegida por palavra-passe. +PasswordLabel3=Insira a palavra-passe e de seguida clique em Seguinte para continuar. Na palavra-passe existe diferença entre maiúsculas e minúsculas. +PasswordEditLabel=&Palavra-passe: +IncorrectPassword=A palavra-passe que introduziu não está correcta. Tente novamente. + +; *** "License Agreement" wizard page +WizardLicense=Contrato de licença +LicenseLabel=É importante que leia as seguintes informações antes de continuar. +LicenseLabel3=Leia atentamente o seguinte contrato de licença. Deve aceitar os termos do contrato antes de continuar a instalação. +LicenseAccepted=A&ceito o contrato +LicenseNotAccepted=&Não aceito o contrato + +; *** "Information" wizard pages +WizardInfoBefore=Informação +InfoBeforeLabel=É importante que leia as seguintes informações antes de continuar. +InfoBeforeClickLabel=Quando estiver pronto para continuar clique em Seguinte. +WizardInfoAfter=Informação +InfoAfterLabel=É importante que leia as seguintes informações antes de continuar. +InfoAfterClickLabel=Quando estiver pronto para continuar clique em Seguinte. + +; *** "User Information" wizard page +WizardUserInfo=Informações do utilizador +UserInfoDesc=Introduza as suas informações. +UserInfoName=Nome do &utilizador: +UserInfoOrg=&Organização: +UserInfoSerial=&Número de série: +UserInfoNameRequired=Deve introduzir um nome. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Seleccione a localização de destino +SelectDirDesc=Onde deverá ser instalado o [name]? +SelectDirLabel3=O [name] será instalado na seguinte pasta. +SelectDirBrowseLabel=Para continuar, clique em Seguinte. Se desejar seleccionar uma pasta diferente, clique em Procurar. +DiskSpaceMBLabel=É necessário pelo menos [mb] MB de espaço livre em disco. +CannotInstallToNetworkDrive=O Assistente de Instalação não pode instalar numa unidade de rede. +CannotInstallToUNCPath=O Assistente de Instalação não pode instalar num caminho UNC. +InvalidPath=É necessário indicar o caminho completo com a letra de unidade; por exemplo:%n%nC:\APP%n%nou um caminho UNC no formato:%n%n\\servidor\partilha +InvalidDrive=A unidade ou partilha UNC seleccionada não existe ou não está acessível. Seleccione outra. +DiskSpaceWarningTitle=Não há espaço suficiente no disco +DiskSpaceWarning=O Assistente de Instalação necessita de pelo menos %1 KB de espaço livre, mas a unidade seleccionada tem apenas %2 KB disponíveis.%n%nDeseja continuar de qualquer forma? +DirNameTooLong=O nome ou caminho para a pasta é demasiado longo. +InvalidDirName=O nome da pasta não é válido. +BadDirName32=O nome da pasta não pode conter nenhum dos seguintes caracteres:%n%n%1 +DirExistsTitle=A pasta já existe +DirExists=A pasta:%n%n%1%n%njá existe. Pretende instalar nesta pasta? +DirDoesntExistTitle=A pasta não existe +DirDoesntExist=A pasta:%n%n%1%n%nnão existe. Pretende que esta pasta seja criada? + +; *** "Select Components" wizard page +WizardSelectComponents=Seleccione os componentes +SelectComponentsDesc=Que componentes deverão ser instalados? +SelectComponentsLabel2=Seleccione os componentes que quer instalar e desseleccione os componentes que não quer instalar. Clique em Seguinte quando estiver pronto para continuar. +FullInstallation=Instalação Completa +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Instalação Compacta +CustomInstallation=Instalação Personalizada +NoUninstallWarningTitle=Componentes Encontrados +NoUninstallWarning=O Assistente de Instalação detectou que os seguintes componentes estão instalados no seu computador:%n%n%1%n%nSe desseleccionar estes componentes eles não serão desinstalados.%n%nDeseja continuar? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=A selecção actual necessita de pelo menos [mb] MB de espaço em disco. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Seleccione tarefas adicionais +SelectTasksDesc=Que tarefas adicionais deverão ser executadas? +SelectTasksLabel2=Seleccione as tarefas adicionais que deseja que o Assistente de Instalação execute na instalação do [name] e em seguida clique em Seguinte. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Seleccione a pasta do Menu Iniciar +SelectStartMenuFolderDesc=Onde deverão ser colocados os ícones de atalho do programa? +SelectStartMenuFolderLabel3=Os ícones de atalho do programa serão criados na seguinte pasta do Menu Iniciar. +SelectStartMenuFolderBrowseLabel=Para continuar, clique em Seguinte. Se desejar seleccionar uma pasta diferente, clique em Procurar. +MustEnterGroupName=É necessário introduzir um nome para a pasta. +GroupNameTooLong=O nome ou caminho para a pasta é demasiado longo. +InvalidGroupName=O nome da pasta não é válido. +BadGroupName=O nome da pasta não pode conter nenhum dos seguintes caracteres:%n%n%1 +NoProgramGroupCheck2=&Não criar nenhuma pasta no Menu Iniciar + +; *** "Ready to Install" wizard page +WizardReady=Pronto para Instalar +ReadyLabel1=O Assistente de Instalação está pronto para instalar o [name] no seu computador. +ReadyLabel2a=Clique em Instalar para continuar a instalação, ou clique em Anterior se desejar rever ou alterar alguma das configurações. +ReadyLabel2b=Clique em Instalar para continuar a instalação. +ReadyMemoUserInfo=Informações do utilizador: +ReadyMemoDir=Localização de destino: +ReadyMemoType=Tipo de instalação: +ReadyMemoComponents=Componentes seleccionados: +ReadyMemoGroup=Pasta do Menu Iniciar: +ReadyMemoTasks=Tarefas adicionais: + +; *** "Preparing to Install" wizard page +WizardPreparing=Preparando-se para instalar +PreparingDesc=Preparando-se para instalar o [name] no seu computador. +PreviousInstallNotCompleted=A instalação/remoção de um programa anterior não foi completada. Necessitará de reiniciar o computador para completar essa instalação.%n%nDepois de reiniciar o computador, execute novamente este Assistente de Instalação para completar a instalação do [name]. +CannotContinue=A instalação não pode continuar. Clique em Cancelar para sair. +ApplicationsFound=As seguintes aplicações estão a utilizar ficheiros que necessitam ser actualizados pelo Assistente de Instalação. É recomendado que permita que o Assistente de Instalação feche estas aplicações. +ApplicationsFound2=As seguintes aplicações estão a utilizar ficheiros que necessitam ser actualizados pelo Assistente de Instalação. É recomendado que permita que o Assistente de Instalação feche estas aplicações. Depois de completar a instalação, o Assistente de Instalação tentará reiniciar as aplicações. +CloseApplications=&Fechar as aplicações automaticamente +DontCloseApplications=&Não fechar as aplicações +ErrorCloseApplications=O Assistente de Instalação não conseguiu fechar todas as aplicações automaticamente. Antes de continuar é recomendado que feche todas as aplicações que utilizem ficheiros que necessitem de ser actualizados pelo Assistente de Instalação. + +; *** "Installing" wizard page +WizardInstalling=A instalar +InstallingLabel=Aguarde enquanto o Assistente de Instalação instala o [name] no seu computador. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=Instalação do [name] concluída +FinishedLabelNoIcons=O Assistente de Instalação concluiu a instalação do [name] no seu computador. +FinishedLabel=O Assistente de Instalação concluiu a instalação do [name] no seu computador. A aplicação pode ser iniciada através dos ícones instalados. +ClickFinish=Clique em Concluir para finalizar o Assistente de Instalação. +FinishedRestartLabel=Para completar a instalação do [name], o Assistente de Instalação deverá reiniciar o seu computador. Deseja reiniciar agora? +FinishedRestartMessage=Para completar a instalação do [name], o Assistente de Instalação deverá reiniciar o seu computador.%n%nDeseja reiniciar agora? +ShowReadmeCheck=Sim, desejo ver o ficheiro LEIAME +YesRadio=&Sim, desejo reiniciar o computador agora +NoRadio=&Não, desejo reiniciar o computador mais tarde +; used for example as 'Run MyProg.exe' +RunEntryExec=Executar %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=Visualizar %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=O Assistente de Instalação precisa do disco seguinte +SelectDiskLabel2=Introduza o disco %1 e clique em OK.%n%nSe os ficheiros deste disco estiverem num local diferente do mostrado abaixo, indique o caminho correcto ou clique em Procurar. +PathLabel=&Caminho: +FileNotInDir2=O ficheiro "%1" não foi encontrado em "%2". Introduza o disco correcto ou seleccione outra pasta. +SelectDirectoryLabel=Indique a localização do disco seguinte. + +; *** Installation phase messages +SetupAborted=A instalação não está completa.%n%nCorrija o problema e execute o Assistente de Instalação novamente. +EntryAbortRetryIgnore=Clique em Repetir para tentar novamente, Ignorar para continuar de qualquer forma, ou Abortar para cancelar a instalação. + +; *** Installation status messages +StatusClosingApplications=A fechar aplicações... +StatusCreateDirs=A criar directorias... +StatusExtractFiles=A extrair ficheiros... +StatusCreateIcons=A criar atalhos... +StatusCreateIniEntries=A criar entradas em INI... +StatusCreateRegistryEntries=A criar entradas no registo... +StatusRegisterFiles=A registar ficheiros... +StatusSavingUninstall=A guardar informações para desinstalação... +StatusRunProgram=A concluir a instalação... +StatusRestartingApplications=A reiniciar aplicações... +StatusRollback=A anular as alterações... + +; *** Misc. errors +ErrorInternal2=Erro interno: %1 +ErrorFunctionFailedNoCode=%1 falhou +ErrorFunctionFailed=%1 falhou; código %2 +ErrorFunctionFailedWithMessage=%1 falhou; código %2.%n%3 +ErrorExecutingProgram=Não é possível executar o ficheiro:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Erro ao abrir a chave de registo:%n%1\%2 +ErrorRegCreateKey=Erro ao criar a chave de registo:%n%1\%2 +ErrorRegWriteKey=Erro ao escrever na chave de registo:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Erro ao criar entradas em INI no ficheiro "%1". + +; *** File copying errors +FileAbortRetryIgnore=Clique em Repetir para tentar novamente, Ignorar para ignorar este ficheiro (não recomendado), ou Abortar para cancelar a instalação. +FileAbortRetryIgnore2=Clique em Repetir para tentar novamente, Ignorar para continuar de qualquer forma (não recomendado), ou Abortar para cancelar a instalação. +SourceIsCorrupted=O ficheiro de origem está corrompido +SourceDoesntExist=O ficheiro de origem "%1" não existe +ExistingFileReadOnly=O ficheiro existente tem o atributo "só de leitura".%n%nClique em Repetir para remover o atributo "só de leitura" e tentar novamente, Ignorar para ignorar este ficheiro, ou Abortar para cancelar a instalação. +ErrorReadingExistingDest=Ocorreu um erro ao tentar ler o ficheiro existente: +FileExists=O ficheiro já existe.%n%nDeseja substituí-lo? +ExistingFileNewer=O ficheiro existente é mais recente que o que está a ser instalado. É recomendado que mantenha o ficheiro existente.%n%nDeseja manter o ficheiro existente? +ErrorChangingAttr=Ocorreu um erro ao tentar alterar os atributos do ficheiro existente: +ErrorCreatingTemp=Ocorreu um erro ao tentar criar um ficheiro na directoria de destino: +ErrorReadingSource=Ocorreu um erro ao tentar ler o ficheiro de origem: +ErrorCopying=Ocorreu um erro ao tentar copiar um ficheiro: +ErrorReplacingExistingFile=Ocorreu um erro ao tentar substituir o ficheiro existente: +ErrorRestartReplace=RestartReplace falhou: +ErrorRenamingTemp=Ocorreu um erro ao tentar mudar o nome de um ficheiro na directoria de destino: +ErrorRegisterServer=Não é possível registar o DLL/OCX: %1 +ErrorRegSvr32Failed=O RegSvr32 falhou com o código de saída %1 +ErrorRegisterTypeLib=Não foi possível registar a livraria de tipos: %1 + +; *** Post-installation errors +ErrorOpeningReadme=Ocorreu um erro ao tentar abrir o ficheiro LEIAME. +ErrorRestartingComputer=O Assistente de Instalação não consegue reiniciar o computador. Por favor reinicie manualmente. + +; *** Uninstaller messages +UninstallNotFound=O ficheiro "%1" não existe. Não é possível desinstalar. +UninstallOpenError=Não foi possível abrir o ficheiro "%1". Não é possível desinstalar. +UninstallUnsupportedVer=O ficheiro log de desinstalação "%1" está num formato que não é reconhecido por esta versão do desinstalador. Não é possível desinstalar +UninstallUnknownEntry=Foi encontrada uma entrada desconhecida (%1) no ficheiro log de desinstalação +ConfirmUninstall=Tem a certeza que deseja remover completamente o %1 e todos os seus componentes? +UninstallOnlyOnWin64=Esta desinstalação só pode ser realizada na versão de 64-bit's do Windows. +OnlyAdminCanUninstall=Esta desinstalação só pode ser realizada por um utilizador com privilégios administrativos. +UninstallStatusLabel=Por favor aguarde enquanto o %1 está a ser removido do seu computador. +UninstalledAll=O %1 foi removido do seu computador com sucesso. +UninstalledMost=A desinstalação do %1 está concluída.%n%nAlguns elementos não puderam ser removidos. Estes elementos podem ser removidos manualmente. +UninstalledAndNeedsRestart=Para completar a desinstalação do %1, o computador deve ser reiniciado.%n%nDeseja reiniciar agora? +UninstallDataCorrupted=O ficheiro "%1" está corrompido. Não é possível desinstalar + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Remover ficheiro partilhado? +ConfirmDeleteSharedFile2=O sistema indica que o seguinte ficheiro partilhado já não está a ser utilizado por nenhum programa. Deseja removê-lo?%n%nSe algum programa ainda necessitar deste ficheiro, poderá não funcionar correctamente depois de o remover. Se não tiver a certeza, seleccione Não. Manter o ficheiro não causará nenhum problema. +SharedFileNameLabel=Nome do ficheiro: +SharedFileLocationLabel=Localização: +WizardUninstalling=Estado da desinstalação +StatusUninstalling=A desinstalar o %1... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=A instalar %1. +ShutdownBlockReasonUninstallingApp=A desinstalar %1. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 versão %2 +AdditionalIcons=Ícones adicionais: +CreateDesktopIcon=Criar ícone no Ambiente de &Trabalho +CreateQuickLaunchIcon=&Criar ícone na barra de Iniciação Rápida +ProgramOnTheWeb=%1 na Web +UninstallProgram=Desinstalar o %1 +LaunchProgram=Executar o %1 +AssocFileExtension=Associa&r o %1 aos ficheiros com a extensão %2 +AssocingFileExtension=A associar o %1 aos ficheiros com a extensão %2... +AutoStartProgramGroupDescription=Inicialização Automática: +AutoStartProgram=Iniciar %1 automaticamente +AddonHostProgramNotFound=Não foi possível localizar %1 na pasta seleccionada.%n%nDeseja continuar de qualquer forma? diff --git a/dist/windows/languages/Russian.isl b/dist/windows/languages/Russian.isl new file mode 100644 index 00000000..1e4ed58f --- /dev/null +++ b/dist/windows/languages/Russian.isl @@ -0,0 +1,324 @@ +; *** Inno Setup version 5.5.3+ Russian messages *** +; +; Translated from English by Dmitry Kann, http://yktoo.com/ +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). + +[LangOptions] +LanguageName=<0420><0443><0441><0441><043A><0438><0439> +LanguageID=$0419 +LanguageCodePage=1251 + +[Messages] + +; *** Application titles +SetupAppTitle=Óñòàíîâêà +SetupWindowTitle=Óñòàíîâêà — %1 +UninstallAppTitle=Äåèíñòàëëÿöèÿ +UninstallAppFullTitle=Äåèíñòàëëÿöèÿ — %1 + +; *** Misc. common +InformationTitle=Èíôîðìàöèÿ +ConfirmTitle=Ïîäòâåðæäåíèå +ErrorTitle=Îøèáêà + +; *** SetupLdr messages +SetupLdrStartupMessage=Äàííàÿ ïðîãðàììà óñòàíîâèò %1 íà âàø êîìïüþòåð, ïðîäîëæèòü? +LdrCannotCreateTemp=Íåâîçìîæíî ñîçäàòü âðåìåííûé ôàéë. Óñòàíîâêà ïðåðâàíà +LdrCannotExecTemp=Íåâîçìîæíî âûïîëíèòü ôàéë âî âðåìåííîì êàòàëîãå. Óñòàíîâêà ïðåðâàíà + +; *** Startup error messages +LastErrorMessage=%1.%n%nÎøèáêà %2: %3 +SetupFileMissing=Ôàéë %1 îòñóòñòâóåò â ïàïêå óñòàíîâêè. Ïîæàëóéñòà, óñòðàíèòå ïðîáëåìó èëè ïîëó÷èòå íîâóþ âåðñèþ ïðîãðàììû. +SetupFileCorrupt=Óñòàíîâî÷íûå ôàéëû ïîâðåæäåíû. Ïîæàëóéñòà, ïîëó÷èòå íîâóþ êîïèþ ïðîãðàììû. +SetupFileCorruptOrWrongVer=Ýòè óñòàíîâî÷íûå ôàéëû ïîâðåæäåíû èëè íåñîâìåñòèìû ñ äàííîé âåðñèåé ïðîãðàììû óñòàíîâêè. Ïîæàëóéñòà, óñòðàíèòå ïðîáëåìó èëè ïîëó÷èòå íîâóþ êîïèþ ïðîãðàììû. +InvalidParameter=Êîìàíäíàÿ ñòðîêà ñîäåðæèò íåäîïóñòèìûé ïàðàìåòð:%n%n%1 +SetupAlreadyRunning=Ïðîãðàììà óñòàíîâêè óæå çàïóùåíà. +WindowsVersionNotSupported=Ýòà ïðîãðàììà íå ïîääåðæèâàåò âåðñèþ Windows, óñòàíîâëåííóþ íà ýòîì êîìïüþòåðå. +WindowsServicePackRequired=Ýòà ïðîãðàììà òðåáóåò %1 Service Pack %2 èëè áîëåå ïîçäíþþ âåðñèþ. +NotOnThisPlatform=Ýòà ïðîãðàììà íå áóäåò ðàáîòàòü â %1. +OnlyOnThisPlatform=Ýòó ïðîãðàììó ìîæíî çàïóñêàòü òîëüêî â %1. +OnlyOnTheseArchitectures=Óñòàíîâêà ýòîé ïðîãðàììû âîçìîæíà òîëüêî â âåðñèÿõ Windows äëÿ ñëåäóþùèõ àðõèòåêòóð ïðîöåññîðîâ:%n%n%1 +MissingWOW64APIs= âåðñèè Windows, â êîòîðîé âû ðàáîòàåòå, îòñóòñòâóþò ôóíêöèè, íåîáõîäèìûå äëÿ âûïîëíåíèÿ 64-áèòíîé óñòàíîâêè. ×òîáû óñòðàíèòü ýòó ïðîáëåìó, âàì íåîáõîäèìî óñòàíîâèòü ïàêåò îáíîâëåíèÿ (Service Pack) %1. +WinVersionTooLowError=Ýòà ïðîãðàììà òðåáóåò %1 âåðñèè %2 èëè âûøå. +WinVersionTooHighError=Ïðîãðàììà íå ìîæåò áûòü óñòàíîâëåíà â %1 âåðñèè %2 èëè âûøå. +AdminPrivilegesRequired=×òîáû óñòàíîâèòü äàííóþ ïðîãðàììó, âû äîëæíû âûïîëíèòü âõîä â ñèñòåìó êàê Àäìèíèñòðàòîð. +PowerUserPrivilegesRequired=×òîáû óñòàíîâèòü ýòó ïðîãðàììó, âû äîëæíû âûïîëíèòü âõîä â ñèñòåìó êàê Àäìèíèñòðàòîð èëè ÷ëåí ãðóïïû «Îïûòíûå ïîëüçîâàòåëè» (Power Users). +SetupAppRunningError=Îáíàðóæåí çàïóùåííûé ýêçåìïëÿð %1.%n%nÏîæàëóéñòà, çàêðîéòå âñå ýêçåìïëÿðû ïðèëîæåíèÿ, çàòåì íàæìèòå «OK», ÷òîáû ïðîäîëæèòü, èëè «Îòìåíà», ÷òîáû âûéòè. +UninstallAppRunningError=Äåèíñòàëëÿòîð îáíàðóæèë çàïóùåííûé ýêçåìïëÿð %1.%n%nÏîæàëóéñòà, çàêðîéòå âñå ýêçåìïëÿðû ïðèëîæåíèÿ, çàòåì íàæìèòå «OK», ÷òîáû ïðîäîëæèòü, èëè «Îòìåíà», ÷òîáû âûéòè. + +; *** Misc. errors +ErrorCreatingDir=Íåâîçìîæíî ñîçäàòü ïàïêó "%1" +ErrorTooManyFilesInDir=Íåâîçìîæíî ñîçäàòü ôàéë â êàòàëîãå "%1", òàê êàê â í¸ì ñëèøêîì ìíîãî ôàéëîâ + +; *** Setup common messages +ExitSetupTitle=Âûõîä èç ïðîãðàììû óñòàíîâêè +ExitSetupMessage=Óñòàíîâêà íå çàâåðøåíà. Åñëè âû âûéäåòå, ïðîãðàììà íå áóäåò óñòàíîâëåíà.%n%nÂû ñìîæåòå çàâåðøèòü óñòàíîâêó, çàïóñòèâ ïðîãðàììó óñòàíîâêè ïîçæå.%n%nÂûéòè èç ïðîãðàììû óñòàíîâêè? +AboutSetupMenuItem=&Î ïðîãðàììå... +AboutSetupTitle=Î ïðîãðàììå +AboutSetupMessage=%1, âåðñèÿ %2%n%3%n%nÑàéò %1:%n%4 +AboutSetupNote= +TranslatorNote=Russian translation by Dmitry Kann, http://www.dk-soft.org/ + +; *** Buttons +ButtonBack=< &Íàçàä +ButtonNext=&Äàëåå > +ButtonInstall=&Óñòàíîâèòü +ButtonOK=OK +ButtonCancel=Îòìåíà +ButtonYes=&Äà +ButtonYesToAll=Äà äëÿ &Âñåõ +ButtonNo=&Íåò +ButtonNoToAll=Í&åò äëÿ Âñåõ +ButtonFinish=&Çàâåðøèòü +ButtonBrowse=&Îáçîð... +ButtonWizardBrowse=&Îáçîð... +ButtonNewFolder=&Ñîçäàòü ïàïêó + +; *** "Select Language" dialog messages +SelectLanguageTitle=Âûáåðèòå ÿçûê óñòàíîâêè +SelectLanguageLabel=Âûáåðèòå ÿçûê, êîòîðûé áóäåò èñïîëüçîâàí â ïðîöåññå óñòàíîâêè: + +; *** Common wizard text +ClickNext=Íàæìèòå «Äàëåå», ÷òîáû ïðîäîëæèòü, èëè «Îòìåíà», ÷òîáû âûéòè èç ïðîãðàììû óñòàíîâêè. +BeveledLabel= +BrowseDialogTitle=Îáçîð ïàïîê +BrowseDialogLabel=Âûáåðèòå ïàïêó èç ñïèñêà è íàæìèòå «ÎÊ». +NewFolderName=Íîâàÿ ïàïêà + +; *** "Welcome" wizard page +WelcomeLabel1=Âàñ ïðèâåòñòâóåò Ìàñòåð óñòàíîâêè [name] +WelcomeLabel2=Ïðîãðàììà óñòàíîâèò [name/ver] íà âàø êîìïüþòåð.%n%nÐåêîìåíäóåòñÿ çàêðûòü âñå ïðî÷èå ïðèëîæåíèÿ ïåðåä òåì, êàê ïðîäîëæèòü. + +; *** "Password" wizard page +WizardPassword=Ïàðîëü +PasswordLabel1=Ýòà ïðîãðàììà çàùèùåíà ïàðîëåì. +PasswordLabel3=Ïîæàëóéñòà, íàáåðèòå ïàðîëü, ïîòîì íàæìèòå «Äàëåå». Ïàðîëè íåîáõîäèìî ââîäèòü ñ ó÷¸òîì ðåãèñòðà. +PasswordEditLabel=&Ïàðîëü: +IncorrectPassword=Ââåäåííûé âàìè ïàðîëü íåâåðåí. Ïîæàëóéñòà, ïîïðîáóéòå ñíîâà. + +; *** "License Agreement" wizard page +WizardLicense=Ëèöåíçèîííîå Ñîãëàøåíèå +LicenseLabel=Ïîæàëóéñòà, ïðî÷òèòå ñëåäóþùóþ âàæíóþ èíôîðìàöèþ ïåðåä òåì, êàê ïðîäîëæèòü. +LicenseLabel3=Ïîæàëóéñòà, ïðî÷òèòå ñëåäóþùåå Ëèöåíçèîííîå Ñîãëàøåíèå. Âû äîëæíû ïðèíÿòü óñëîâèÿ ýòîãî ñîãëàøåíèÿ ïåðåä òåì, êàê ïðîäîëæèòü. +LicenseAccepted=ß &ïðèíèìàþ óñëîâèÿ ñîãëàøåíèÿ +LicenseNotAccepted=ß &íå ïðèíèìàþ óñëîâèÿ ñîãëàøåíèÿ + +; *** "Information" wizard pages +WizardInfoBefore=Èíôîðìàöèÿ +InfoBeforeLabel=Ïîæàëóéñòà, ïðî÷èòàéòå ñëåäóþùóþ âàæíóþ èíôîðìàöèþ ïåðåä òåì, êàê ïðîäîëæèòü. +InfoBeforeClickLabel=Êîãäà âû áóäåòå ãîòîâû ïðîäîëæèòü óñòàíîâêó, íàæìèòå «Äàëåå». +WizardInfoAfter=Èíôîðìàöèÿ +InfoAfterLabel=Ïîæàëóéñòà, ïðî÷èòàéòå ñëåäóþùóþ âàæíóþ èíôîðìàöèþ ïåðåä òåì, êàê ïðîäîëæèòü. +InfoAfterClickLabel=Êîãäà âû áóäåòå ãîòîâû ïðîäîëæèòü óñòàíîâêó, íàæìèòå «Äàëåå». + +; *** "User Information" wizard page +WizardUserInfo=Èíôîðìàöèÿ î ïîëüçîâàòåëå +UserInfoDesc=Ïîæàëóéñòà, ââåäèòå äàííûå î ñåáå. +UserInfoName=&Èìÿ è ôàìèëèÿ ïîëüçîâàòåëÿ: +UserInfoOrg=&Îðãàíèçàöèÿ: +UserInfoSerial=&Ñåðèéíûé íîìåð: +UserInfoNameRequired=Âû äîëæíû ââåñòè èìÿ. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Âûáîð ïàïêè óñòàíîâêè +SelectDirDesc= êàêóþ ïàïêó âû õîòèòå óñòàíîâèòü [name]? +SelectDirLabel3=Ïðîãðàììà óñòàíîâèò [name] â ñëåäóþùóþ ïàïêó. +SelectDirBrowseLabel=Íàæìèòå «Äàëåå», ÷òîáû ïðîäîëæèòü. Åñëè âû õîòèòå âûáðàòü äðóãóþ ïàïêó, íàæìèòå «Îáçîð». +DiskSpaceMBLabel=Òðåáóåòñÿ êàê ìèíèìóì [mb] Ìá ñâîáîäíîãî äèñêîâîãî ïðîñòðàíñòâà. +CannotInstallToNetworkDrive=Óñòàíîâêà íå ìîæåò ïðîèçâîäèòüñÿ íà ñåòåâîé äèñê. +CannotInstallToUNCPath=Óñòàíîâêà íå ìîæåò ïðîèçâîäèòüñÿ â ïàïêó ïî UNC-ïóòè. +InvalidPath=Âû äîëæíû óêàçàòü ïîëíûé ïóòü ñ áóêâîé äèñêà; íàïðèìåð:%n%nC:\APP%n%nèëè â ôîðìå UNC:%n%n\\èìÿ_ñåðâåðà\èìÿ_ðåñóðñà +InvalidDrive=Âûáðàííûé âàìè äèñê èëè ñåòåâîé ïóòü íå ñóùåñòâóåò èëè íåäîñòóïåí. Ïîæàëóéñòà, âûáåðèòå äðóãîé. +DiskSpaceWarningTitle=Íåäîñòàòî÷íî ìåñòà íà äèñêå +DiskSpaceWarning=Óñòàíîâêà òðåáóåò íå ìåíåå %1 Êá ñâîáîäíîãî ìåñòà, à íà âûáðàííîì âàìè äèñêå äîñòóïíî òîëüêî %2 Êá.%n%nÂû æåëàåòå òåì íå ìåíåå ïðîäîëæèòü óñòàíîâêó? +DirNameTooLong=Èìÿ ïàïêè èëè ïóòü ê íåé ïðåâûøàþò äîïóñòèìóþ äëèíó. +InvalidDirName=Óêàçàííîå èìÿ ïàïêè íåäîïóñòèìî. +BadDirName32=Èìÿ ïàïêè íå ìîæåò ñîäåðæàòü ñèìâîëîâ: %n%n%1 +DirExistsTitle=Ïàïêà ñóùåñòâóåò +DirExists=Ïàïêà%n%n%1%n%nóæå ñóùåñòâóåò. Âñ¸ ðàâíî óñòàíîâèòü â ýòó ïàïêó? +DirDoesntExistTitle=Ïàïêà íå ñóùåñòâóåò +DirDoesntExist=Ïàïêà%n%n%1%n%níå ñóùåñòâóåò. Âû õîòèòå ñîçäàòü å¸? + +; *** "Select Components" wizard page +WizardSelectComponents=Âûáîð êîìïîíåíòîâ +SelectComponentsDesc=Êàêèå êîìïîíåíòû äîëæíû áûòü óñòàíîâëåíû? +SelectComponentsLabel2=Âûáåðèòå êîìïîíåíòû, êîòîðûå âû õîòèòå óñòàíîâèòü; ñíèìèòå ôëàæêè ñ êîìïîíåíòîâ, óñòàíàâëèâàòü êîòîðûå íå òðåáóåòñÿ. Íàæìèòå «Äàëåå», êîãäà âû áóäåòå ãîòîâû ïðîäîëæèòü. +FullInstallation=Ïîëíàÿ óñòàíîâêà +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Êîìïàêòíàÿ óñòàíîâêà +CustomInstallation=Âûáîðî÷íàÿ óñòàíîâêà +NoUninstallWarningTitle=Óñòàíîâëåííûå êîìïîíåíòû +NoUninstallWarning=Ïðîãðàììà óñòàíîâêè îáíàðóæèëà, ÷òî ñëåäóþùèå êîìïîíåíòû óæå óñòàíîâëåíû íà âàøåì êîìïüþòåðå:%n%n%1%n%nÎòìåíà âûáîðà ýòèõ êîìïîíåíò íå óäàëèò èõ.%n%nÏðîäîëæèòü? +ComponentSize1=%1 Êá +ComponentSize2=%1 Ìá +ComponentsDiskSpaceMBLabel=Òåêóùèé âûáîð òðåáóåò íå ìåíåå [mb] Ìá íà äèñêå. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Âûáåðèòå äîïîëíèòåëüíûå çàäà÷è +SelectTasksDesc=Êàêèå äîïîëíèòåëüíûå çàäà÷è íåîáõîäèìî âûïîëíèòü? +SelectTasksLabel2=Âûáåðèòå äîïîëíèòåëüíûå çàäà÷è, êîòîðûå äîëæíû âûïîëíèòüñÿ ïðè óñòàíîâêå [name], ïîñëå ýòîãî íàæìèòå «Äàëåå»: + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Âûáåðèòå ïàïêó â ìåíþ «Ïóñê» +SelectStartMenuFolderDesc=Ãäå ïðîãðàììà óñòàíîâêè äîëæíà ñîçäàòü ÿðëûêè? +SelectStartMenuFolderLabel3=Ïðîãðàììà ñîçäàñò ÿðëûêè â ñëåäóþùåé ïàïêå ìåíþ «Ïóñê». +SelectStartMenuFolderBrowseLabel=Íàæìèòå «Äàëåå», ÷òîáû ïðîäîëæèòü. Åñëè âû õîòèòå âûáðàòü äðóãóþ ïàïêó, íàæìèòå «Îáçîð». +MustEnterGroupName=Âû äîëæíû ââåñòè èìÿ ïàïêè. +GroupNameTooLong=Èìÿ ïàïêè ãðóïïû èëè ïóòü ê íåé ïðåâûøàþò äîïóñòèìóþ äëèíó. +InvalidGroupName=Óêàçàííîå èìÿ ïàïêè íåäîïóñòèìî. +BadGroupName=Èìÿ ïàïêè íå ìîæåò ñîäåðæàòü ñèìâîëîâ:%n%n%1 +NoProgramGroupCheck2=&Íå ñîçäàâàòü ïàïêó â ìåíþ «Ïóñê» + +; *** "Ready to Install" wizard page +WizardReady=Âñ¸ ãîòîâî ê óñòàíîâêå +ReadyLabel1=Ïðîãðàììà óñòàíîâêè ãîòîâà íà÷àòü óñòàíîâêó [name] íà âàø êîìïüþòåð. +ReadyLabel2a=Íàæìèòå «Óñòàíîâèòü», ÷òîáû ïðîäîëæèòü, èëè «Íàçàä», åñëè âû õîòèòå ïðîñìîòðåòü èëè èçìåíèòü îïöèè óñòàíîâêè. +ReadyLabel2b=Íàæìèòå «Óñòàíîâèòü», ÷òîáû ïðîäîëæèòü. +ReadyMemoUserInfo=Èíôîðìàöèÿ î ïîëüçîâàòåëå: +ReadyMemoDir=Ïàïêà óñòàíîâêè: +ReadyMemoType=Òèï óñòàíîâêè: +ReadyMemoComponents=Âûáðàííûå êîìïîíåíòû: +ReadyMemoGroup=Ïàïêà â ìåíþ «Ïóñê»: +ReadyMemoTasks=Äîïîëíèòåëüíûå çàäà÷è: + +; *** "Preparing to Install" wizard page +WizardPreparing=Ïîäãîòîâêà ê óñòàíîâêå +PreparingDesc=Ïðîãðàììà óñòàíîâêè ïîäãîòàâëèâàåòñÿ ê óñòàíîâêå [name] íà âàø êîìïüþòåð. +PreviousInstallNotCompleted=Óñòàíîâêà èëè óäàëåíèå ïðåäûäóùåé ïðîãðàììû íå áûëè çàâåðøåíû. Âàì ïîòðåáóåòñÿ ïåðåçàãðóçèòü êîìïüþòåð, ÷òîáû çàâåðøèòü òó óñòàíîâêó.%n%nÏîñëå ïåðåçàãðóçêè çàïóñòèòå âíîâü Ïðîãðàììó óñòàíîâêè, ÷òîáû çàâåðøèòü óñòàíîâêó [name]. +CannotContinue=Íåâîçìîæíî ïðîäîëæèòü óñòàíîâêó. Íàæìèòå «Îòìåíà» äëÿ âûõîäà èç ïðîãðàììû. +ApplicationsFound=Ñëåäóþùèå ïðèëîæåíèÿ èñïîëüçóþò ôàéëû, êîòîðûå ïðîãðàììà óñòàíîâêè äîëæíà îáíîâèòü. Ðåêîìåíäóåòñÿ ïîçâîëèòü ïðîãðàììå óñòàíîâêè àâòîìàòè÷åñêè çàêðûòü ýòè ïðèëîæåíèÿ. +ApplicationsFound2=Ñëåäóþùèå ïðèëîæåíèÿ èñïîëüçóþò ôàéëû, êîòîðûå ïðîãðàììà óñòàíîâêè äîëæíà îáíîâèòü. Ðåêîìåíäóåòñÿ ïîçâîëèòü ïðîãðàììå óñòàíîâêè àâòîìàòè÷åñêè çàêðûòü ýòè ïðèëîæåíèÿ. Êîãäà óñòàíîâêà áóäåò çàâåðøåíà, ïðîãðàììà óñòàíîâêè ïîïûòàåòñÿ âíîâü çàïóñòèòü èõ. +CloseApplications=&Àâòîìàòè÷åñêè çàêðûòü ýòè ïðèëîæåíèÿ +DontCloseApplications=&Íå çàêðûâàòü ýòè ïðèëîæåíèÿ +ErrorCloseApplications=Ïðîãðàììå óñòàíîâêè íå óäàëîñü àâòîìàòè÷åñêè çàêðûòü âñå ïðèëîæåíèÿ. Ðåêîìåíäóåòñÿ çàêðûòü âñå ïðèëîæåíèÿ, êîòîðûå èñïîëüçóþò ïîäëåæàùèå îáíîâëåíèþ ôàéëû, ïðåæäå ÷åì ïðîäîëæèòü óñòàíîâêó. + +; *** "Installing" wizard page +WizardInstalling=Óñòàíîâêà... +InstallingLabel=Ïîæàëóéñòà, ïîäîæäèòå, ïîêà [name] óñòàíîâèòñÿ íà âàø êîìïüþòåð. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=Çàâåðøåíèå Ìàñòåðà óñòàíîâêè [name] +FinishedLabelNoIcons=Ïðîãðàììà [name] óñòàíîâëåíà íà âàø êîìïüþòåð. +FinishedLabel=Ïðîãðàììà [name] óñòàíîâëåíà íà âàø êîìïüþòåð. Ïðèëîæåíèå ìîæíî çàïóñòèòü ñ ïîìîùüþ ñîîòâåòñòâóþùåãî çíà÷êà. +ClickFinish=Íàæìèòå «Çàâåðøèòü», ÷òîáû âûéòè èç ïðîãðàììû óñòàíîâêè. +FinishedRestartLabel=Äëÿ çàâåðøåíèÿ óñòàíîâêè [name] òðåáóåòñÿ ïåðåçàãðóçèòü êîìïüþòåð. Ïðîèçâåñòè ïåðåçàãðóçêó ñåé÷àñ? +FinishedRestartMessage=Äëÿ çàâåðøåíèÿ óñòàíîâêè [name] òðåáóåòñÿ ïåðåçàãðóçèòü êîìïüþòåð.%n%nÏðîèçâåñòè ïåðåçàãðóçêó ñåé÷àñ? +ShowReadmeCheck=ß õî÷ó ïðîñìîòðåòü ôàéë README +YesRadio=&Äà, ïåðåçàãðóçèòü êîìïüþòåð ñåé÷àñ +NoRadio=&Íåò, ÿ ïðîèçâåäó ïåðåçàãðóçêó ïîçæå +; used for example as 'Run MyProg.exe' +RunEntryExec=Çàïóñòèòü %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=Ïðîñìîòðåòü %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=Íåîáõîäèìî âñòàâèòü ñëåäóþùèé äèñê +SelectDiskLabel2=Ïîæàëóéñòà, âñòàâüòå äèñê %1 è íàæìèòå «OK».%n%nÅñëè ôàéëû ýòîãî äèñêà ìîãóò áûòü íàéäåíû â ïàïêå, îòëè÷àþùåéñÿ îò ïîêàçàííîé íèæå, ââåäèòå ïðàâèëüíûé ïóòü èëè íàæìèòå «Îáçîð». +PathLabel=&Ïóòü: +FileNotInDir2=Ôàéë "%1" íå íàéäåí â "%2". Ïîæàëóéñòà, âñòàâüòå ïðàâèëüíûé äèñê èëè âûáåðèòå äðóãóþ ïàïêó. +SelectDirectoryLabel=Ïîæàëóéñòà, óêàæèòå ïóòü ê ñëåäóþùåìó äèñêó. + +; *** Installation phase messages +SetupAborted=Óñòàíîâêà íå áûëà çàâåðøåíà.%n%nÏîæàëóéñòà, óñòðàíèòå ïðîáëåìó è çàïóñòèòå óñòàíîâêó ñíîâà. +EntryAbortRetryIgnore=Íàæìèòå «Ïîâòîð», ÷òîáû ïîâòîðèòü ïîïûòêó, «Ïðîïóñòèòü», ÷òîáû ïðîïóñòèòü ôàéë, èëè «Îòêàç» äëÿ îòìåíû óñòàíîâêè. + +; *** Installation status messages +StatusClosingApplications=Çàêðûòèå ïðèëîæåíèé... +StatusCreateDirs=Ñîçäàíèå ïàïîê... +StatusExtractFiles=Ðàñïàêîâêà ôàéëîâ... +StatusCreateIcons=Ñîçäàíèå ÿðëûêîâ ïðîãðàììû... +StatusCreateIniEntries=Ñîçäàíèå INI-ôàéëîâ... +StatusCreateRegistryEntries=Ñîçäàíèå çàïèñåé ðååñòðà... +StatusRegisterFiles=Ðåãèñòðàöèÿ ôàéëîâ... +StatusSavingUninstall=Ñîõðàíåíèå èíôîðìàöèè äëÿ äåèíñòàëëÿöèè... +StatusRunProgram=Çàâåðøåíèå óñòàíîâêè... +StatusRestartingApplications=Ïåðåçàïóñê ïðèëîæåíèé... +StatusRollback=Îòêàò èçìåíåíèé... + +; *** Misc. errors +ErrorInternal2=Âíóòðåííÿÿ îøèáêà: %1 +ErrorFunctionFailedNoCode=%1: ñáîé +ErrorFunctionFailed=%1: ñáîé; êîä %2 +ErrorFunctionFailedWithMessage=%1: ñáîé; êîä %2.%n%3 +ErrorExecutingProgram=Íåâîçìîæíî âûïîëíèòü ôàéë:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Îøèáêà îòêðûòèÿ êëþ÷à ðååñòðà:%n%1\%2 +ErrorRegCreateKey=Îøèáêà ñîçäàíèÿ êëþ÷à ðååñòðà:%n%1\%2 +ErrorRegWriteKey=Îøèáêà çàïèñè â êëþ÷ ðååñòðà:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Îøèáêà ñîçäàíèÿ çàïèñè â INI-ôàéëå "%1". + +; *** File copying errors +FileAbortRetryIgnore=Íàæìèòå «Ïîâòîð», ÷òîáû ïîâòîðèòü, «Ïðîïóñòèòü», ÷òîáû ïðîïóñòèòü ôàéë (íå ðåêîìåíäóåòñÿ) èëè «Îòêàç» äëÿ âûõîäà. +FileAbortRetryIgnore2=Íàæìèòå «Ïîâòîð», ÷òîáû ïîâòîðèòü, «Ïðîïóñòèòü», ÷òîáû èãíîðèðîâàòü îøèáêó (íå ðåêîìåíäóåòñÿ) èëè «Îòêàç» äëÿ âûõîäà. +SourceIsCorrupted=Èñõîäíûé ôàéë ïîâðåæäåí +SourceDoesntExist=Èñõîäíûé ôàéë "%1" íå ñóùåñòâóåò +ExistingFileReadOnly=Ñóùåñòâóþùèé ôàéë ïîìå÷åí êàê «ôàéë òîëüêî äëÿ ÷òåíèÿ».%n%nÍàæìèòå «Ïîâòîð» äëÿ óäàëåíèÿ àòðèáóòà «òîëüêî äëÿ ÷òåíèÿ», «Ïðîïóñòèòü», ÷òîáû ïðîïóñòèòü ôàéë èëè «Îòêàç» äëÿ âûõîäà. +ErrorReadingExistingDest=Ïðîèçîøëà îøèáêà ïðè ïîïûòêå ÷òåíèÿ ñóùåñòâóþùåãî ôàéëà: +FileExists=Ôàéë óæå ñóùåñòâóåò.%n%nÏåðåçàïèñàòü åãî? +ExistingFileNewer=Ñóùåñòâóþùèé ôàéë áîëåå íîâûé, ÷åì óñòàíàâëèâàåìûé. Ðåêîìåíäóåòñÿ ñîõðàíèòü ñóùåñòâóþùèé ôàéë.%n%nÂû õîòèòå ñîõðàíèòü ñóùåñòâóþùèé ôàéë? +ErrorChangingAttr=Ïðîèçîøëà îøèáêà ïðè ïîïûòêå èçìåíåíèÿ àòðèáóòîâ ñóùåñòâóþùåãî ôàéëà: +ErrorCreatingTemp=Ïðîèçîøëà îøèáêà ïðè ïîïûòêå ñîçäàíèÿ ôàéëà â ïàïêå íàçíà÷åíèÿ: +ErrorReadingSource=Ïðîèçîøëà îøèáêà ïðè ïîïûòêå ÷òåíèÿ èñõîäíîãî ôàéëà: +ErrorCopying=Ïðîèçîøëà îøèáêà ïðè ïîïûòêå êîïèðîâàíèÿ ôàéëà: +ErrorReplacingExistingFile=Ïðîèçîøëà îøèáêà ïðè ïîïûòêå çàìåíû ñóùåñòâóþùåãî ôàéëà: +ErrorRestartReplace=Îøèáêà RestartReplace: +ErrorRenamingTemp=Ïðîèçîøëà îøèáêà ïðè ïîïûòêå ïåðåèìåíîâàíèÿ ôàéëà â ïàïêå íàçíà÷åíèÿ: +ErrorRegisterServer=Íåâîçìîæíî çàðåãèñòðèðîâàòü DLL/OCX: %1 +ErrorRegSvr32Failed=Îøèáêà ïðè âûïîëíåíèè RegSvr32, êîä âîçâðàòà %1 +ErrorRegisterTypeLib=Íåâîçìîæíî çàðåãèñòðèðîâàòü áèáëèîòåêó òèïîâ (Type Library): %1 + +; *** Post-installation errors +ErrorOpeningReadme=Ïðîèçîøëà îøèáêà ïðè ïîïûòêå îòêðûòèÿ ôàéëà README. +ErrorRestartingComputer=Ïðîãðàììå óñòàíîâêè íå óäàëîñü ïåðåçàïóñòèòü êîìïüþòåð. Ïîæàëóéñòà, âûïîëíèòå ýòî ñàìîñòîÿòåëüíî. + +; *** Uninstaller messages +UninstallNotFound=Ôàéë "%1" íå ñóùåñòâóåò, äåèíñòàëëÿöèÿ íåâîçìîæíà. +UninstallOpenError=Íåâîçìîæíî îòêðûòü ôàéë "%1". Äåèíñòàëëÿöèÿ íåâîçìîæíà +UninstallUnsupportedVer=Ôàéë ïðîòîêîëà äëÿ äåèíñòàëëÿöèè "%1" íå ðàñïîçíàí äàííîé âåðñèåé ïðîãðàììû-äåèíñòàëëÿòîðà. Äåèíñòàëëÿöèÿ íåâîçìîæíà +UninstallUnknownEntry=Âñòðåòèëñÿ íåèçâåñòíûé ïóíêò (%1) â ôàéëå ïðîòîêîëà äëÿ äåèíñòàëëÿöèè +ConfirmUninstall=Âû äåéñòâèòåëüíî õîòèòå óäàëèòü %1 è âñå êîìïîíåíòû ïðîãðàììû? +UninstallOnlyOnWin64=Äàííóþ ïðîãðàììó âîçìîæíî äåèíñòàëëèðîâàòü òîëüêî â ñðåäå 64-áèòíîé Windows. +OnlyAdminCanUninstall=Ýòà ïðîãðàììà ìîæåò áûòü äåèíñòàëëèðîâàíà òîëüêî ïîëüçîâàòåëåì ñ àäìèíèñòðàòèâíûìè ïðèâèëåãèÿìè. +UninstallStatusLabel=Ïîæàëóéñòà, ïîäîæäèòå, ïîêà %1 áóäåò óäàëåíà ñ âàøåãî êîìïüþòåðà. +UninstalledAll=Ïðîãðàììà %1 áûëà ïîëíîñòüþ óäàëåíà ñ âàøåãî êîìïüþòåðà. +UninstalledMost=Äåèíñòàëëÿöèÿ %1 çàâåðøåíà.%n%n×àñòü ýëåìåíòîâ íå óäàëîñü óäàëèòü. Âû ìîæåòå óäàëèòü èõ ñàìîñòîÿòåëüíî. +UninstalledAndNeedsRestart=Äëÿ çàâåðøåíèÿ äåèíñòàëëÿöèè %1 íåîáõîäèìî ïðîèçâåñòè ïåðåçàãðóçêó âàøåãî êîìïüþòåðà.%n%nÂûïîëíèòü ïåðåçàãðóçêó ñåé÷àñ? +UninstallDataCorrupted=Ôàéë "%1" ïîâðåæäåí. Äåèíñòàëëÿöèÿ íåâîçìîæíà + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Óäàëèòü ñîâìåñòíî èñïîëüçóåìûé ôàéë? +ConfirmDeleteSharedFile2=Ñèñòåìà óêàçûâàåò, ÷òî ñëåäóþùèé ñîâìåñòíî èñïîëüçóåìûé ôàéë áîëüøå íå èñïîëüçóåòñÿ íèêàêèìè äðóãèìè ïðèëîæåíèÿìè. Ïîäòâåðæäàåòå óäàëåíèå ôàéëà?%n%nÅñëè êàêèå-ëèáî ïðîãðàììû âñ¸ åùå èñïîëüçóþò ýòîò ôàéë, è îí áóäåò óäàë¸í, îíè íå ñìîãóò ðàáîòàòü ïðàâèëüíî. Åñëè Âû íå óâåðåíû, âûáåðèòå «Íåò». Îñòàâëåííûé ôàéë íå íàâðåäèò âàøåé ñèñòåìå. +SharedFileNameLabel=Èìÿ ôàéëà: +SharedFileLocationLabel=Ðàñïîëîæåíèå: +WizardUninstalling=Ñîñòîÿíèå äåèíñòàëëÿöèè +StatusUninstalling=Äåèíñòàëëÿöèÿ %1... + + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=Óñòàíîâêà %1. +ShutdownBlockReasonUninstallingApp=Äåèíñòàëëÿöèÿ %1. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1, âåðñèÿ %2 +AdditionalIcons=Äîïîëíèòåëüíûå çíà÷êè: +CreateDesktopIcon=Ñîçäàòü çíà÷îê íà &Ðàáî÷åì ñòîëå +CreateQuickLaunchIcon=Ñîçäàòü çíà÷îê â &Ïàíåëè áûñòðîãî çàïóñêà +ProgramOnTheWeb=Ñàéò %1 â Èíòåðíåòå +UninstallProgram=Äåèíñòàëëèðîâàòü %1 +LaunchProgram=Çàïóñòèòü %1 +AssocFileExtension=Ñâ&ÿçàòü %1 ñ ôàéëàìè, èìåþùèìè ðàñøèðåíèå %2 +AssocingFileExtension=Ñâÿçûâàíèå %1 ñ ôàéëàìè %2... +AutoStartProgramGroupDescription=Àâòîçàïóñê: +AutoStartProgram=Àâòîìàòè÷åñêè çàïóñêàòü %1 +AddonHostProgramNotFound=%1 íå íàéäåí â óêàçàííîé âàìè ïàïêå.%n%nÂû âñ¸ ðàâíî õîòèòå ïðîäîëæèòü? diff --git a/dist/windows/languages/Slovak.isl b/dist/windows/languages/Slovak.isl new file mode 100644 index 00000000..c3f37feb --- /dev/null +++ b/dist/windows/languages/Slovak.isl @@ -0,0 +1,244 @@ +; ****************************************************** +; *** *** +; *** Inno Setup version 5.1.11+ Slovak messages *** +; *** *** +; *** Original Author: *** +; *** *** +; *** Milan Potancok (milan.potancok AT gmail.com) *** +; *** *** +; *** Contributors: *** +; *** *** +; *** Ivo Bauer (bauer AT ozm.cz) *** +; *** *** +; *** Tomas Falb (tomasf AT pobox.sk) *** +; *** *** +; *** Update: 19.3.2007 *** +; *** *** +; ****************************************************** +; +; + +[LangOptions] +LanguageName=Sloven<010D>ina +LanguageID=$041b +LanguageCodePage=1250 + +[Messages] +SetupAppTitle=Sprievodca inštaláciou +SetupWindowTitle=Sprievodca inštaláciou - %1 +UninstallAppTitle=Sprievodca odinštaláciou +UninstallAppFullTitle=Sprievodca odinštaláciou - %1 +InformationTitle=Informácie +ConfirmTitle=Potvrdenie +ErrorTitle=Chyba +SetupLdrStartupMessage=Toto je sprievodca inštaláciou produktu %1. Prajete si pokraèova? +LdrCannotCreateTemp=Nie je možné vytvori doèasný súbor. Sprievodca inštaláciou bude ukonèený +LdrCannotExecTemp=Nie je možné spusti súbor v doèasnom adresári. Sprievodca inštaláciou bude ukonèený +LastErrorMessage=%1.%n%nChyba %2: %3 +SetupFileMissing=Inštalaèný adresár neobsahuje súbor %1. Opravte, prosím, túto chybu alebo si zaobstarajte novú kópiu tohto produktu. +SetupFileCorrupt=Súbory sprievodcu inštaláciou sú poškodené. Zaobstarajte si, prosím, novú kópiu tohto produktu. +SetupFileCorruptOrWrongVer=Súbory sprievodcu inštaláciou sú poškodené alebo sa nezhodujú s touto verziou sprievodcu instaláciou. Opravte, prosím, túto chybu alebo si zaobstarajte novú kópiu tohto produktu. +NotOnThisPlatform=Tento produkt sa nedá spusti v %1. +OnlyOnThisPlatform=Tento produkt musí by spustený v %1. +OnlyOnTheseArchitectures=Tento produkt je možné nainštalova iba vo verziách MS Windows s podporou architektúry procesorov:%n%n%1 +MissingWOW64APIs=Aktuálna verzia MS Windows neobsahuje funkcie, ktoré vyžaduje sprievodca inštaláciou pre 64-bitovú inštaláciu. Opravte prosím túto chybu nainštalovaním aktualizácie Service Pack %1. +WinVersionTooLowError=Tento produkt vyžaduje %1 verzie %2 alebo vyššej. +WinVersionTooHighError=Tento produkt sa nedá nainštalova vo %1 verzie %2 alebo vyššej. +AdminPrivilegesRequired=Na inštaláciu tohto produktu musíte by prihlásený s právami administrátora. +PowerUserPrivilegesRequired=Na inštaláciu tohto produktu musíte by prihlásený s právami administrátora alebo èlena skupiny Power Users. +SetupAppRunningError=Sprievodca inštaláciou zistil, že produkt %1 je teraz spustený.%n%nUkonèite, prosím, všetky spustené inštancie tohto produktu a pokraèujte kliknutím na tlaèidlo OK alebo ukonèite inštaláciu tlaèidlom Zruši. +UninstallAppRunningError=Sprievodca odinštaláciou zistil, že produkt %1 je teraz spustený.%n%nUkonèite, prosím, všetky spustené inštancie tohto produktu a pokraèujte kliknutím na tlaèidlo OK alebo ukonèite inštaláciu tlaèidlom Zruši. +ErrorCreatingDir=Sprievodca inštaláciou nemohol vytvori adresár "%1" +ErrorTooManyFilesInDir=Nedá sa vytvori súbor v adresári "%1", pretože tento adresár už obsahuje príliš ve¾a súborov +ExitSetupTitle=Ukonèi sprievodcu inštaláciou +ExitSetupMessage=Inštalácia nebola celkom dokonèená. Ak teraz ukonèíte sprievodcu inštaláciou, produkt nebude nainštalovaný.%n%nSprievodcu inštaláciou môžete znovu spusti neskôr a dokonèi tak inštaláciu.%n%nUkonèi sprievodcu inštaláciou? +AboutSetupMenuItem=&O sprievodcovi inštalácie... +AboutSetupTitle=O sprievodcovi inštalácie +AboutSetupMessage=%1 verzia %2%n%3%n%n%1 domovská stránka:%n%4 +AboutSetupNote= +TranslatorNote=Slovak translation maintained by Milan Potancok (milan.potancok AT gmail.com), Ivo Bauer (bauer AT ozm.cz) and Tomas Falb (tomasf AT pobox.sk) +ButtonBack=< &Spä +ButtonNext=&Ïalej > +ButtonInstall=&Inštalova +ButtonOK=OK +ButtonCancel=Zruši +ButtonYes=&Áno +ButtonYesToAll=Áno &všetkým +ButtonNo=&Nie +ButtonNoToAll=Ni&e všetkým +ButtonFinish=&Dokonèi +ButtonBrowse=&Prechádza... +ButtonWizardBrowse=&Prechádza... +ButtonNewFolder=&Vytvori nový adresár +SelectLanguageTitle=Výber jazyka sprievodcu inštaláciou +SelectLanguageLabel=Zvo¾te jazyk, ktorý sa má použi pri inštalácii: +ClickNext=Pokraèujte kliknutím na tlaèidlo Ïalej alebo ukonèite sprievodcu inštaláciou tlaèidlom Zruši. +BeveledLabel= +BrowseDialogTitle=Nájs adresár +BrowseDialogLabel=Z dole uvedeného zoznamu vyberte adresár a kliknite na OK. +NewFolderName=Nový adresár +WelcomeLabel1=Vítá Vás sprievodca inštaláciou produktu [name]. +WelcomeLabel2=Produkt [name/ver] bude nainštalovaný na Váš poèítaè.%n%nSkôr, ako budete pokraèova, odporúèame Vám ukonèi všetky spustené aplikácie. +WizardPassword=Heslo +PasswordLabel1=Táto inštalácia je chránená heslom. +PasswordLabel3=Zadajte, prosím, heslo a pokraèujte kliknutím na tlaèidlo Ïalej. Pri zadávání hesla rozlišujte malé a ve¾ké písmená. +PasswordEditLabel=&Heslo: +IncorrectPassword=Zadané heslo nie je správne. Zkúste to, prosím, ešte raz. +WizardLicense=Licenèná zmluva +LicenseLabel=Skôr, ako budete pokraèova, preèítajte si, prosím, tieto dôležité informácie. +LicenseLabel3=Preèítajte si, prosím, túto Licenènú zmluvu. Aby mohla inštalácia pokraèova, musíte súhlasi s podmienkami tejto zmluvy. +LicenseAccepted=&Súhlasím s podmienkami Licenènej zmluvy +LicenseNotAccepted=&Nesúhlasím s podmienkami Licenènej zmluvy +WizardInfoBefore=Informácie +InfoBeforeLabel=Skôr, ako budete pokraèova, preèítajte si, prosím, tieto dôležité informácie. +InfoBeforeClickLabel=Pokraèujte v inštalácii kliknutím na tlaèidlo Ïalej. +WizardInfoAfter=Informácie +InfoAfterLabel=Skôr, ako budete pokraèova, preèítajte si, prosím, tieto dôležité informácie. +InfoAfterClickLabel=Pokraèujte v inštalácii kliknutím na tlaèidlo Ïalej. +WizardUserInfo=Informácie o používate¾ovi +UserInfoDesc=Zadajte, prosím, požadované informácie. +UserInfoName=&Používate¾ské meno: +UserInfoOrg=&Organizácia: +UserInfoSerial=&Sériove èíslo: +UserInfoNameRequired=Používate¾ské meno musí by zadané. +WizardSelectDir=Vyberte cie¾ový adresár +SelectDirDesc=Kam má by produkt [name] nainštalovaný? +SelectDirLabel3=Sprievodca nainštaluje produkt [name] do nasledujúceho adresára. +SelectDirBrowseLabel=Pokraèujte kliknutím na tlaèidlo Ïalej. Ak chcete vybra iný adresár, kliknite na tlaèidlo Prechádza. +DiskSpaceMBLabel=Inštalácia vyžaduje najmenej [mb] MB miesta na disku. +ToUNCPathname=Sprevodca inštaláciou nemôže inštalova do cesty UNC. Ak sa pokúšate inštalova po sieti, musíte použi niektorú z dostupných sieových jednotiek. +InvalidPath=Musíte zadat úplnú cestu vrátane písmena jednotky; napríklad:%n%nC:\Aplikácia%n%nalebo cestu UNC v tvare:%n%n\\server\zdie¾aný adresár +InvalidDrive=Vami vybraná jednotka alebo cesta UNC neexistuje alebo nie je dostupná. Vyberte, prosím, iné umiestnenie. +DiskSpaceWarningTitle=Nedostatok miesta na disku +DiskSpaceWarning=Sprievodca inštaláciou vyžaduje najmenej %1 KB vo¾ného miesta na inštaláciu produktu, ale na vybranej jednotke je dostupných len %2 KB.%n%nPrajete si napriek tomu pokraèova? +DirNameTooLong=Názov adresára alebo cesta sú príliš dlhé. +InvalidDirName=Názov adresára nie je platný. +BadDirName32=Názvy adresárov nesmú obsahova žiadny z nasledujúcich znakov:%n%n%1 +DirExistsTitle=Adresár existuje +DirExists=Adresár:%n%n%1%n%nuž existuje. Má sa napriek tomu inštalova do tohto adresára? +DirDoesntExistTitle=Adresár neexistuje +DirDoesntExist=Adresár:%n%n%1%n%nešte neexistuje. Má sa tento adresár vytvori? +WizardSelectComponents=Vyberte komponenty +SelectComponentsDesc=Aké komponenty majú by nainštalované? +SelectComponentsLabel2=Zaškrtnite komponenty, ktoré majú by nainštalované; komponenty, ktoré se nemajú inštalova, nechajte nezaškrtnuté. Pokraèujte kliknutím na tlaèidlo Ïalej. +FullInstallation=Úplná inštalácia +CompactInstallation=Kompaktná inštalácia +CustomInstallation=Volite¾ná inštalácia +NoUninstallWarningTitle=Komponenty existujú +NoUninstallWarning=Sprievodca inštaláciou zistil, že nasledujúce komponenty sú už na Vašom poèítaèi nainštalované:%n%n%1%n%nAk ich teraz nezahrniete do výberu, nebudú neskôr odinštalované.%n%nPrajete si napriek tomu pokraèova? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=Vybrané komponenty vyžadujú najmenej [mb] MB miesta na disku. +WizardSelectTasks=Vyberte ïalšie úlohy +SelectTasksDesc=Ktoré ïalšie úlohy majú by vykonané? +SelectTasksLabel2=Vyberte ïalšie úlohy, ktoré majú by vykonané v priebehu inštalácie produktu [name] a pokraèujte kliknutím na tlaèidlo Ïalej. +WizardSelectProgramGroup=Vyberte skupinu v ponuke Štart +SelectStartMenuFolderDesc=Kam má sprievodca inštalácie umiestni zástupcov aplikácie? +SelectStartMenuFolderLabel3=Sprievodca inštaláciou vytvorí zástupcov aplikácie v nasledujúcom adresári ponuky Štart. +SelectStartMenuFolderBrowseLabel=Pokraèujte kliknutím na tlaèidlo Ïalej. Ak chcete zvoli iný adresár, kliknite na tlaèidlo Prechádza. +MustEnterGroupName=Musíte zada názov skupiny. +GroupNameTooLong=Názov adresára alebo cesta sú príliš dlhé. +InvalidGroupName=Názov adresára nie je platný. +BadGroupName=Názov skupiny nesmie obsahova žiadny z nasledujúcich znakov:%n%n%1 +NoProgramGroupCheck2=&Nevytvára skupinu v ponuke Štart +WizardReady=Inštalácia je pripravená +ReadyLabel1=Sprievodca inštaláciou je teraz pripravený nainštalova produkt [name] na Váš poèítaè. +ReadyLabel2a=Pokraèujte v inštalácii kliknutím na tlaèidlo Inštalova. Ak si prajete zmeni niektoré nastavenia inštalácie, kliknite na tlaèidlo Spä. +ReadyLabel2b=Pokraèujte v inštalácii kliknutím na tlaèidlo Inštalova. +ReadyMemoUserInfo=Informácie o používate¾ovi: +ReadyMemoDir=Cie¾ový adresár: +ReadyMemoType=Typ inštalácie: +ReadyMemoComponents=Vybrané komponenty: +ReadyMemoGroup=Skupina v ponuke Štart: +ReadyMemoTasks=Ïalšie úlohy: +WizardPreparing=Príprava inštalácie +PreparingDesc=Sprievodca inštaláciou pripravuje inštaláciu produktu [name] na Váš poèítaè. +PreviousInstallNotCompleted=Inštalácia/odinštalácia predošlého produktu nebola úplne dokonèená. Dokonèenie tohto procesu vyžaduje reštart poèítaèa.%n%nPo reštartovaní poèítaèa spustite znovu sprievodcu inštaláciou, aby bolo možné dokonèi inštaláciu produktu [name]. +CannotContinue=Sprievodca inštaláciou nemôže pokraèova. Ukonèite, prosím, sprievodcu inštaláciou kliknutím na tlaèidlo Zruši. +WizardInstalling=Inštalujem +InstallingLabel=Poèkajte prosím, kým sprievodca inštaláciou nedokonèí inštaláciu produktu [name] na Váš poèítaè. +FinishedHeadingLabel=Dokonèuje sa inštalácia produktu [name] +FinishedLabelNoIcons=Sprievodca inštaláciou dokonèil inštaláciu produktu [name] na Váš poèítaè. +FinishedLabel=Sprievodca inštaláciou dokonèil inštaláciu produktu [name] na Váš poèítaè. Produkt je možné spusti pomocou nainštalovaných ikon a zástupcov. +ClickFinish=Ukonèite sprievodcu inštaláciou kliknutím na tlaèidlo Dokonèi. +FinishedRestartLabel=Na dokonèenie inštalácie produktu [name] je nutné reštartova Váš poèítaè. Prajete si teraz reštartova Váš poèítaè? +FinishedRestartMessage=Na dokonèenie inštalácie produktu [name] je nutné reštartova Váš poèítaè.%n%nPrajete si teraz reštartova Váš poèítaè? +ShowReadmeCheck=Áno, chcem zobrazi dokument "ÈITAJMA" +YesRadio=&Áno, chcem teraz reštartova poèítaè +NoRadio=&Nie, poèítaè reštartujem neskôr +RunEntryExec=Spusti %1 +RunEntryShellExec=Zobrazi %1 +ChangeDiskTitle=Sprievodca inštaláciou vyžaduje ïalší disk +SelectDiskLabel2=Vložte, prosím, disk %1 a kliknite na tlaèidlo OK.%n%nAk sa súbory na tomto disku nachádzajú v inom adresári, ako v tom, ktorý je zobrazený nižšie, zadejte správnu cestu alebo kliknite na tlaèidlo Prechádza. +PathLabel=&Cesta: +FileNotInDir2=Súbor "%1" sa nedá nájs v "%2". Vložte, prosím, správny disk alebo zvo¾te iný adresár. +SelectDirectoryLabel=Špecifikujte,prosím, umiestnenie ïalšieho disku. +SetupAborted=Inštalácia nebola úplne dokonèená.%n%nOpravte, prosím, chybu a spustite sprievodcu inštaláciou znova. +EntryAbortRetryIgnore=Akciu zopakujete kliknutím na tlaèidlo Opakova. Akciu vynecháte kliknutím na tlaèidlo Preskoèi. Inštaláciu prerušíte kliknutím na tlaèidlo Preruši. +StatusCreateDirs=Vytvárajú sa adresáre... +StatusExtractFiles=Rozba¾ujú sa súbory... +StatusCreateIcons=Vytvárajú sa ikony a zástupcovia... +StatusCreateIniEntries=Vytvárajú sa záznamy v konfiguraèných súboroch... +StatusCreateRegistryEntries=Vytvárajú sa záznamy v systémovom registri... +StatusRegisterFiles=Registrujú sa súbory... +StatusSavingUninstall=Ukladajú sa informácie potrebné pre neskoršie odinštalovanie produktu... +StatusRunProgram=Dokonèuje sa inštalácia... +StatusRollback=Vykonané zmeny sa vracajú spä... +ErrorInternal2=Interná chyba: %1 +ErrorFunctionFailedNoCode=%1 zlyhala +ErrorFunctionFailed=%1 zlyhala; kód %2 +ErrorFunctionFailedWithMessage=%1 zlyhala; kód %2.%n%3 +ErrorExecutingProgram=Nedá sa spusti súbor:%n%1 +ErrorRegOpenKey=Došlo k chybe pri otváraní k¾úèa systémového registra:%n%1\%2 +ErrorRegCreateKey=Došlo k chybe pri vytváraní k¾úèa systémového registra:%n%1\%2 +ErrorRegWriteKey=Došlo k chybe pri zápise do k¾úèa systémového registra:%n%1\%2 +ErrorIniEntry=Došlo k chybe pri vytváraní záznamu v konfiguraènom súbore "%1". +FileAbortRetryIgnore=Akciu zopakujete kliknutím na tlaèidlo Opakova. Tento súbor preskoèíte kliknutím na tlaèidlo Preskoèi (neodporúèa sa). Inštaláciu prerušíte tlaèidlom Preruši. +FileAbortRetryIgnore2=Akciu zopakujete kliknutím na tlaèidlo Opakova. Pokraèujete kliknutím na tlaèidlo Preskoèi (neodporúèa sa). Inštaláciu prerušíte tlaèidlom Preruši. +SourceIsCorrupted=Zdrojový súbor je poškodený +SourceDoesntExist=Zdrojový súbor "%1" neexistuje +ExistingFileReadOnly=Existujúci súbor je urèený len na èítanie.%n%nAtribút "Iba na èítanie" odstránite a akciu zopakujete kliknutím na tlaèidlo Opakova. Súbor preskoèíte kliknutím na tlaèidlo Preskoèi. Inštaláciu prerušíte kliknutím na tlaèidlo Preruši. +ErrorReadingExistingDest=Došlo k chybe pri pokuse o èítanie existujúceho súboru: +FileExists=Súbor už existuje.%n%nMá ho sprievodca inštalácie prepísa? +ExistingFileNewer=Existujúci súbor je novší ako ten, ktorý sa sprievodca inštaláciou pokúša nainštalova. Odporúèa sa ponecha existujúci súbor.%n%nPrajete si ponechat existujúci súbor? +ErrorChangingAttr=Došlo k chybe pri pokuse o modifikáciu atribútov existujúceho súboru: +ErrorCreatingTemp=Došlo k chybe pri pokuse o vytvorenie súboru v cie¾ovom adresári: +ErrorReadingSource=Došlo k chybe pri pokuse o èítanie zdrojového súboru: +ErrorCopying=Došlo k chybe pri pokuse o skopírovanie súboru: +ErrorReplacingExistingFile=Došlo k chybe pri pokuse o nahradenie existujúceho súboru: +ErrorRestartReplace=Zlyhala funkcia "RestartReplace" sprievodcu inštaláciou: +ErrorRenamingTemp=Došlo k chybe pri pokuse o premenovanie súboru v cie¾ovom adresári: +ErrorRegisterServer=Nedá sa vykona registrácia DLL/OCX: %1 +ErrorRegSvr32Failed=Volanie RegSvr32 zlyhalo s návratovým kódom %1 +ErrorRegisterTypeLib=Nedá sa vykona registrácia typovej knižnice: %1 +ErrorOpeningReadme=Došlo k chybe pri pokuse o otvorenie dokumentu "ÈITAJMA". +ErrorRestartingComputer=Sprievodcovi inštaláciou sa nepodarilo reštartova Váš poèítaè. Reštartujte ho, prosím, manuálne. +UninstallNotFound=Súbor "%1" neexistuje. Produkt sa nedá odinštalova. +UninstallOpenError=Súbor "%1" nie je možné otvori. Produkt nie je možné odinštalova. +UninstallUnsupportedVer=Sprievodcovi odinštaláciou sa nepodarilo rozpozna formát súboru obsahujúceho informácie na odinštalovanie produktu "%1". Produkt sa nedá odinštalova +UninstallUnknownEntry=V súbore obsahujúcom informácie na odinštalovanie produktu bola zistená neznáma položka (%1) +ConfirmUninstall=Ste si naozaj istý, že chcete odinštalova %1 a všetky jeho komponenty? +UninstallOnlyOnWin64=Tento produkt je možné odinštalova iba v 64-bitových verziách MS Windows. +OnlyAdminCanUninstall=K odinštalovaniu tohto produktu musíte by prihlásený s právami administrátora. +UninstallStatusLabel=Poèkajte prosím, kým produkt %1 nebude odinštalovaný z Vášho poèítaèa. +UninstalledAll=%1 bol úspešne odinštalovaný z Vášho poèítaèa. +UninstalledMost=%1 bol odinštalovaný z Vášho poèítaèa.%n%nNiektoré jeho komponenty sa však nepodarilo odinštalova. Môžete ich odinštalova manuálne. +UninstalledAndNeedsRestart=Na dokonèenie odinštalácie produktu %1 je potrebné reštartova Váš poèítaè.%n%nPrajete si teraz reštartova Váš poèítaè? +UninstallDataCorrupted=Súbor "%1" je poškodený. Produkt sa nedá odinštalova +ConfirmDeleteSharedFileTitle=Odinštalova zdie¾aný súbor? +ConfirmDeleteSharedFile2=Systém indikuje, že následujúci zdie¾aný súbor nie je používaný žiadnymi inými aplikáciami. Má sprievodca odinštalácie tento zdie¾aný súbor odstráni?%n%nAk niektoré aplikácie tento súbor používajú, nemusia po jeho odinštalovaní pracova správne. Ak si nie ste istý, zvo¾te Nie. Ponechanie tohoto súboru vo Vašom systéme nespôsobí žiadnu škodu. +SharedFileNameLabel=Názov súboru: +SharedFileLocationLabel=Umiestnenie: +WizardUninstalling=Stav odinštalovania +StatusUninstalling=Odinštalujem %1... + +[CustomMessages] +NameAndVersion=%1 verzia %2 +AdditionalIcons=Ïalší zástupcovia: +CreateDesktopIcon=Vytvori zástupcu na &ploche +CreateQuickLaunchIcon=Vytvori zástupcu na paneli &Rýchle spustenie +ProgramOnTheWeb=Aplikácia %1 na internete +UninstallProgram=Odinštalova aplikáciu %1 +LaunchProgram=Spusti aplikáciu %1 +AssocFileExtension=Vytvori &asociáciu medzi súbormi typu %2 a aplikáciou %1 +AssocingFileExtension=Vytvára sa asociácia medzi súbormi typu %2 a aplikáciou %1... diff --git a/dist/windows/languages/Slovenian.isl b/dist/windows/languages/Slovenian.isl new file mode 100644 index 00000000..72228999 --- /dev/null +++ b/dist/windows/languages/Slovenian.isl @@ -0,0 +1,327 @@ +; *** Inno Setup version 5.5.3+ Slovenian messages *** +; +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/is3rdparty.php +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). +; +; Maintained by Jernej Simoncic (jernej|s-innosetup@eternallybored.org) +; +; $jrsoftware: issrc/Files/Languages/Slovenian.isl,v 1.14 2007/02/27 18:22:41 jr Exp $ + +[LangOptions] +LanguageName=Slovenski +LanguageID=$0424 +LanguageCodePage=1250 + +DialogFontName= +[Messages] + +; *** Application titles +SetupAppTitle=Namestitev +SetupWindowTitle=Namestitev - %1 +UninstallAppTitle=Odstranitev +UninstallAppFullTitle=Odstranitev programa %1 + +; *** Misc. common +InformationTitle=Informacija +ConfirmTitle=Potrditev +ErrorTitle=Napaka + +; *** SetupLdr messages +SetupLdrStartupMessage=V raèunalnik boste namestili program %1. Želite nadaljevati? +LdrCannotCreateTemp=Ni bilo mogoèe ustvariti zaèasne datoteke. Namestitev je prekinjena +LdrCannotExecTemp=Ni bilo mogoèe zagnati datoteke v zaèasni mapi. Namestitev je prekinjena + +; *** Startup error messages +LastErrorMessage=%1.%n%nNapaka %2: %3 +SetupFileMissing=Datoteka %1 manjka. Odpravite napako ali si priskrbite drugo kopijo programa. +SetupFileCorrupt=Datoteke namestitvenega programa so okvarjene. Priskrbite si drugo kopijo programa. +SetupFileCorruptOrWrongVer=Datoteke so okvarjene ali nezdružljive s to razlièico namestitvenega programa. Odpravite napako ali si priskrbite drugo kopijo programa. +InvalidParameter=Naveden je bil napaèen parameter ukazne vrstice:%n%n%1 +SetupAlreadyRunning=Namestitveni program je že zagnan. +WindowsVersionNotSupported=Program ne deluje na vaši razlièici sistema Windows. +WindowsServicePackRequired=Program potrebuje %1 s servisnim paketom %2 ali novejšo razlièico. +NotOnThisPlatform=Program ni namenjen za uporabo v %1. +OnlyOnThisPlatform=Program je namenjen za uporabo v %1. +OnlyOnTheseArchitectures=Program lahko namestite le na razlièicah MS Windows sistemov, ki so naèrtovani za naslednje tipe procesorjev:%n%n%1 +MissingWOW64APIs=Razlièica sistema Windows, ki jo uporabljate, ne vsebuje okolja, ki ga zahteva namestitveni program za izvedbo 64-bitne namestitve. Problem odpravite z namestitvijo servisnega paketa %1. +WinVersionTooLowError=Ta program zahteva %1 razlièico %2 ali novejšo. +WinVersionTooHighError=Tega programa ne morete namestiti v %1 razlièice %2 ali novejše. +AdminPrivilegesRequired=Za namestitev programa morate biti prijavljeni v raèun s skrbniškimi pravicami. +PowerUserPrivilegesRequired=Za namestitev programa morate biti prijavljeni v raèun s skrbniškimi ali power user pravicami. +SetupAppRunningError=Program %1 je trenutno odprt.%n%nZaprite program, nato kliknite V redu za nadaljevanje ali Preklièi za izhod. +UninstallAppRunningError=Program %1 je trenutno odprt.%n%nZaprite program, nato kliknite V redu za nadaljevanje ali Preklièi za izhod. + +; *** Misc. errors +ErrorCreatingDir=Namestitveni program ni mogel ustvariti mape "%1" +ErrorTooManyFilesInDir=Namestitveni program ne more ustvariti nove datoteke v mapi "%1", ker vsebuje preveè datotek + +; *** Setup common messages +ExitSetupTitle=Prekini namestitev +ExitSetupMessage=Namestitev ni konèana. Èe jo boste prekinili, program ne bo namešèen.%n%nPonovno namestitev lahko izvedete kasneje.%n%nŽelite prekiniti namestitev? +AboutSetupMenuItem=&O namestitvenem programu... +AboutSetupTitle=O namestitvenem programu +AboutSetupMessage=%1 razlièica %2%n%3%n%n%1 domaèa stran:%n%4 +AboutSetupNote= +TranslatorNote=Slovenski prevod:%nMiha Remec (innosetup@miharemec.com)%nJernej Simonèiè (jernej|s-innosetup@eternallybored.org) + +; *** Buttons +ButtonBack=< Na&zaj +ButtonNext=&Naprej > +ButtonInstall=&Namesti +ButtonOK=V redu +ButtonCancel=Preklièi +ButtonYes=&Da +ButtonYesToAll=Da za &vse +ButtonNo=&Ne +ButtonNoToAll=N&e za vse +ButtonFinish=&Konèaj +ButtonBrowse=Pre&brskaj... +ButtonWizardBrowse=Pre&brskaj... +ButtonNewFolder=&Ustvari novo mapo + +; *** "Select Language" dialog messages +SelectLanguageTitle=Izbira jezika namestitve +SelectLanguageLabel=Izberite jezik, ki ga želite uporabljati med namestitvijo: + +; *** Common wizard text +ClickNext=Kliknite Naprej za nadaljevanje namestitve ali Preklièi za prekinitev namestitve. +BeveledLabel= +BrowseDialogTitle=Izbira mape +BrowseDialogLabel=Izberite mapo s spiska, nato kliknite V redu. +NewFolderName=Nova mapa + +; *** "Welcome" wizard page +WelcomeLabel1=Dobrodošli v namestitev programa [name]. +WelcomeLabel2=V raèunalnik boste namestili program [name/ver].%n%nPriporoèljivo je, da pred zaèetkom namestitve zaprete vse odprte programe. + +; *** "Password" wizard page +WizardPassword=Geslo +PasswordLabel1=Namestitev je zašèitena z geslom. +PasswordLabel3=Vpišite geslo, nato kliknite Naprej za nadaljevanje. Pri vpisu pazite na male in velike èrke. +PasswordEditLabel=&Geslo: +IncorrectPassword=Vnešeno geslo ni pravilno. Poizkusite ponovno. + +; *** "License Agreement" wizard page +WizardLicense=Licenèna pogodba za uporabo programa +LicenseLabel=Pred nadaljevanjem preberite licenèno pogodbo za uporabo programa. +LicenseLabel3=Preberite licenèno pogodbo za uporabo programa. Program lahko namestite le, èe se s pogodbo v celoti strinjate. +LicenseAccepted=&Da, sprejemam vse pogoje licenène pogodbe +LicenseNotAccepted=N&e, pogojev licenène pogodbe ne sprejmem + +; *** "Information" wizard pages +WizardInfoBefore=Informacije +InfoBeforeLabel=Pred nadaljevanjem preberite naslednje pomembne informacije. +InfoBeforeClickLabel=Ko boste pripravljeni na nadaljevanje namestitve, kliknite Naprej. +WizardInfoAfter=Informacije +InfoAfterLabel=Pred nadaljevanjem preberite naslednje pomembne informacije. +InfoAfterClickLabel=Ko boste pripravljeni na nadaljevanje namestitve, kliknite Naprej. + +; *** "User Information" wizard page +WizardUserInfo=Podatki o uporabniku +UserInfoDesc=Vnesite svoje podatke. +UserInfoName=&Ime: +UserInfoOrg=&Podjetje: +UserInfoSerial=&Serijska številka: +UserInfoNameRequired=Vnos imena je obvezen. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Izbira ciljnega mesta +SelectDirDesc=Kam želite namestiti program [name]? +SelectDirLabel3=Program [name] bo namešèen v naslednjo mapo. +SelectDirBrowseLabel=Za nadaljevanje kliknite Naprej. Èe želite izbrati drugo mapo, kliknite Prebrskaj. +DiskSpaceMBLabel=Na disku mora biti vsaj [mb] MB prostora. +CannotInstallToNetworkDrive=Programa ni mogoèe namestiti na mrežni pogon. +CannotInstallToUNCPath=Programa ni mogoèe namestiti v UNC pot. +InvalidPath=Vpisati morate polno pot vkljuèno z oznako pogona. Primer:%n%nC:\PROGRAM%n%nali UNC pot v obliki:%n%n\\strežnik\mapa_skupne_rabe +InvalidDrive=Izbrani pogon ali omrežno sredstvo UNC ne obstaja ali ni dostopno. Izberite drugega. +DiskSpaceWarningTitle=Na disku ni dovolj prostora +DiskSpaceWarning=Namestitev potrebuje vsaj %1 KB prostora, toda na izbranem pogonu je na voljo le %2 KB.%n%nŽelite kljub temu nadaljevati? +DirNameTooLong=Ime mape ali poti je predolgo. +InvalidDirName=Ime mape ni veljavno. +BadDirName32=Ime mape ne sme vsebovati naslednjih znakov:%n%n%1 +DirExistsTitle=Mapa že obstaja +DirExists=Mapa%n%n%1%n%nže obstaja. Želite program vseeno namestiti v to mapo? +DirDoesntExistTitle=Mapa ne obstaja +DirDoesntExist=Mapa %n%n%1%n%nne obstaja. Ali jo želite ustvariti? + +; *** "Select Components" wizard page +WizardSelectComponents=Izbira komponent +SelectComponentsDesc=Katere komponente želite namestiti? +SelectComponentsLabel2=Oznaèite komponente, ki jih želite namestiti; odznaèite komponente, ki jih ne želite namestiti. Kliknite Naprej, ko boste pripravljeni za nadaljevanje. +FullInstallation=Polna namestitev +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Osnovna namestitev +CustomInstallation=Namestitev po meri +NoUninstallWarningTitle=Komponente že obstajajo +NoUninstallWarning=Namestitveni program je ugotovil, da so naslednje komponente že namešèene v raèunalniku:%n%n%1%n%nOdznaèitev teh komponent še ne pomeni tudi njihove odstranitve.%n%nŽelite vseeno nadaljevati? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=Za izbrano namestitev potrebujete vsaj [mb] MB prostora na disku. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Izbira dodatnih opravil +SelectTasksDesc=Katera dodatna opravila želite izvesti? +SelectTasksLabel2=Izberite dodatna opravila, ki jih bo namestitveni program opravil med namestitvijo programa [name], nato kliknite Naprej. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Izbira mape v meniju »Start« +SelectStartMenuFolderDesc=Kje naj namestitveni program ustvari bližnjice? +SelectStartMenuFolderLabel3=Namestitveni program bo ustvaril bližnjice v naslednji mapi v meniju »Start«. +SelectStartMenuFolderBrowseLabel=Za nadaljevanje kliknite Naprej. Èe želite izbrati drugo mapo, kliknite Prebrskaj. +MustEnterGroupName=Ime skupine mora biti vpisano. +GroupNameTooLong=Ime mape ali poti je predolgo. +InvalidGroupName=Ime mape ni veljavno. +BadGroupName=Ime skupine ne sme vsebovati naslednjih znakov:%n%n%1 +NoProgramGroupCheck2=&Ne ustvari mape v meniju »Start« + +; *** "Ready to Install" wizard page +WizardReady=Pripravljen za namestitev +ReadyLabel1=Namestitveni program je pripravljen za namestitev programa [name] v vaš raèunalnik. +ReadyLabel2a=Kliknite Namesti za zaèetek namešèanja. Kliknite Nazaj, èe želite pregledati ali spremeniti katerokoli nastavitev. +ReadyLabel2b=Kliknite Namesti za zaèetek namešèanja. +ReadyMemoUserInfo=Podatki o uporabniku: +ReadyMemoDir=Ciljno mesto: +ReadyMemoType=Tip namestitve: +ReadyMemoComponents=Izbrane komponente: +ReadyMemoGroup=Mapa v meniju »Start«: +ReadyMemoTasks=Dodatna opravila: + +; *** "Preparing to Install" wizard page +WizardPreparing=Pripravljam za namestitev +PreparingDesc=Namestitveni program je pripravljen za namestitev programa [name] v vaš raèunalnik. +PreviousInstallNotCompleted=Namestitev ali odstranitev prejšnjega programa ni bila konèana. Da bi jo dokonèali, morate raèunalnik znova zagnati.%n%nPo ponovnem zagonu raèunalnika znova zaženite namestitveni program, da boste konèali namestitev programa [name]. +CannotContinue=Namestitveni program ne more nadaljevati. Pritisnite Preklièi za izhod. + +; *** "Installing" wizard page +ApplicationsFound=Naslednji programi uporabljajo datoteke, ki jih mora namestitveni program posodobiti. Priporoèljivo je, da namestitvenemu programu dovolite, da te programe konèa. +ApplicationsFound2=Naslednji programi uporabljajo datoteke, ki jih mora namestitveni program posodobiti. Priporoèljivo je, da namestitvenemu programu dovolite, da te programe konèa. Po koncu namestitve bo namestitveni program poizkusil znova zagnati te programe. +CloseApplications=S&amodejno zapri programe +DontCloseApplications=&Ne zapri programov +ErrorCloseApplications=Namestitvenemu programu ni uspelo samodejno zapreti vseh programov. Priporoèljivo je, da pred nadaljevanjem zaprete vse programe, ki uporabljajo datoteke, katere mora namestitev posodobiti. + +WizardInstalling=Namešèanje +InstallingLabel=Poèakajte, da bo program [name] namešèen v vaš raèunalnik. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=Zakljuèek namestitve programa [name] +FinishedLabelNoIcons=Program [name] je namešèen v vaš raèunalnik. +FinishedLabel=Program [name] je namešèen v vaš raèunalnik. Program zaženete tako, da odprete pravkar ustvarjene programske ikone. +ClickFinish=Kliknite tipko Konèaj za zakljuèek namestitve. +FinishedRestartLabel=Za dokonèanje namestitve programa [name] morate raèunalnik znova zagnati. Ali ga želite znova zagnati zdaj? +FinishedRestartMessage=Za dokonèanje namestitve programa [name] morate raèunalnik znova zagnati. %n%nAli ga želite znova zagnati zdaj? +ShowReadmeCheck=Želim prebrati datoteko z navodili +YesRadio=&Da, raèunalnik znova zaženi zdaj +NoRadio=&Ne, raèunalnik bom znova zagnal pozneje + +; used for example as 'Run MyProg.exe' +RunEntryExec=Odpri %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=Preberi %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=Namestitveni program potrebuje naslednji disk +SelectDiskLabel2=Vstavite disk %1 in kliknite V redu.%n%nÈe se datoteke s tega diska nahajajo v drugi mapi kot je navedena spodaj, vpišite pravilno pot ali kliknite Prebrskaj. +PathLabel=&Pot: +FileNotInDir2=Datoteke "%1" ni v mapi "%2". Vstavite pravilni disk ali izberite drugo mapo. +SelectDirectoryLabel=Vnesite mesto naslednjega diska. + +; *** Installation phase messages +SetupAborted=Namestitev ni bila konèana.%n%nOdpravite težavo in znova odprite namestitveni program. +EntryAbortRetryIgnore=Kliknite Ponovi za ponovitev, Prezri za nadaljevanje kljub problemu, ali Prekini za prekinitev namestitve. + +; *** Installation status messages +StatusClosingApplications=Zapiranje programov... +StatusCreateDirs=Ustvarjanje map... +StatusExtractFiles=Razširjanje datotek... +StatusCreateIcons=Ustvarjanje bližnjic... +StatusCreateIniEntries=Vpisovanje v INI datoteke... +StatusCreateRegistryEntries=Ustvarjanje vnosov v register... +StatusRegisterFiles=Registriranje datotek... +StatusSavingUninstall=Zapisovanje podatkov za odstranitev... +StatusRunProgram=Zakljuèevanje namestitve... +StatusRestartingApplications=Zaganjanje programov... +StatusRollback=Obnavljanje prvotnega stanja... + +; *** Misc. errors +ErrorInternal2=Interna napaka: %1 +ErrorFunctionFailedNoCode=%1 ni uspel(a) +ErrorFunctionFailed=%1 ni uspel(a); koda %2 +ErrorFunctionFailedWithMessage=%1 ni uspela; koda %2.%n%3 +ErrorExecutingProgram=Ne morem zagnati programa:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Napaka pri odpiranju kljuèa v registru:%n%1\%2 +ErrorRegCreateKey=Napaka pri ustvarjanju kljuèa v registru:%n%1\%2 +ErrorRegWriteKey=Napaka pri pisanju kljuèa v registru:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Napaka pri vpisu v INI datoteko "%1". + +; *** File copying errors +FileAbortRetryIgnore=Kliknite Ponovi za ponovitev, Prezri za preskok datoteke (ni priporoèljivo) ali Prekini za prekinitev namestitve. +FileAbortRetryIgnore2=Kliknite Ponovi za ponovitev, Prezri za nadaljevanje (ni priporoèljivo) ali Prekini za prekinitev namestitve. +SourceIsCorrupted=Izvorna datoteka je okvarjena +SourceDoesntExist=Izvorna datoteka "%1" ne obstaja +ExistingFileReadOnly=Obstojeèa datoteka je oznaèena samo za branje.%n%nPritisnite Ponovi za odstranitev te lastnosti in ponovni poskus, Prezri za preskok te datoteke, ali Prekini za prekinitev namestitve. +ErrorReadingExistingDest=Pri branju obstojeèe datoteke je prišlo do napake: +FileExists=Datoteka že obstaja.%n%nŽelite, da jo namestitveni program prepiše? +ExistingFileNewer=V raèunalniku je namešèena razlièica datoteke, ki je novejša, kot ta, ki je v namestitvenem programu. Priporoèljivo je, da obdržite obstojeèo datoteko.%n%nŽelite obdržati obstojeèo datoteko? +ErrorChangingAttr=Pri poskusu spremembe lastnosti datoteke je prišlo do napake: +ErrorCreatingTemp=Pri ustvarjanju datoteke v ciljni mapi je prišlo do napake: +ErrorReadingSource=Pri branju izvorne datoteke je prišlo do napake: +ErrorCopying=Pri kopiranju datoteke je prišlo do napake: +ErrorReplacingExistingFile=Pri poskusu zamenjave obstojeèe datoteke je prišlo do napake: +ErrorRestartReplace=RestartReplace failed: +ErrorRenamingTemp=Pri poskusu preimenovanja datoteke v ciljni mapi je prišlo do napake: +ErrorRegisterServer=Registracija DLL/OCX ni možna: %1 +ErrorRegSvr32Failed=RegSvr32 ni uspel s kodo napake %1 +ErrorRegisterTypeLib=Prijava vrste knjižnice ni mogoèa: %1 + +; *** Post-installation errors +ErrorOpeningReadme=Pri odpiranju datoteke README je prišlo do napake. +ErrorRestartingComputer=Namestitveni program ni uspel znova zagnati raèunalnika. Ponovni zagon opravite roèno. + +; *** Uninstaller messages +UninstallNotFound=Datoteka "%1" ne obstaja. Odstranitev ni mogoèa. +UninstallOpenError=Datoteke "%1" ne morem odpreti. Ne morem odstraniti +UninstallUnsupportedVer=Dnevniška datoteka "%1" je v obliki, ki je ta razlièica odstranitvenega programa ne razume. Programa ni mogoèe odstraniti +UninstallUnknownEntry=V dnevniški datoteki je bil najden neznani vpis (%1) +ConfirmUninstall=Ste preprièani, da želite v celoti odstraniti program %1 in pripadajoèe komponente? +UninstallOnlyOnWin64=To namestitev je mogoèe odstraniti le v 64-bitni razlièici Windows. +OnlyAdminCanUninstall=Ta program lahko odstrani le administrator. +UninstallStatusLabel=Poèakajte, da odstranim program %1 iz vašega raèunalnika. +UninstalledAll=Program %1 je bil uspešno odstranjen iz vašega raèunalnika. +UninstalledMost=Odstranjevanje programa %1 je konèano.%n%nNekateri deli niso bili odstranjeni in jih lahko odstranite roèno. +UninstalledAndNeedsRestart=Za dokonèanje odstranitve programa %1 morate raèunalnik znova zagnati.%n%nAli ga želite znova zagnati zdaj? +UninstallDataCorrupted=Datoteka "%1" je okvarjena. Odstranitev ni možna + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Želite odstraniti datoteko v skupni rabi? +ConfirmDeleteSharedFile2=Spodaj izpisane datoteke v skupni rabi ne uporablja veè noben program. Želite odstraniti to datoteko?%n%nÈe jo uporablja katerikoli program in jo boste odstranili, ta program verjetno ne bo veè deloval pravilno. Èe niste preprièani, kliknite Ne. Èe boste datoteko ohranili v raèunalniku, ne bo niè narobe. +SharedFileNameLabel=Ime datoteke: +SharedFileLocationLabel=Mesto: +WizardUninstalling=Odstranjevanje programa +StatusUninstalling=Odstranjujem %1... + +ShutdownBlockReasonInstallingApp=Namešèam %1. +ShutdownBlockReasonUninstallingApp=Odstranjujem %1. + +[CustomMessages] + +NameAndVersion=%1 razlièica %2 +AdditionalIcons=Dodatne ikone: +CreateDesktopIcon=Ustvari ikono na &namizju +CreateQuickLaunchIcon=Ustvari ikono za &hitri zagon +ProgramOnTheWeb=%1 na spletu +UninstallProgram=Odstrani %1 +LaunchProgram=Odpri %1 +AssocFileExtension=&Poveži %1 s pripono %2 +AssocingFileExtension=Povezujem %1 s pripono %2... +AutoStartProgramGroupDescription=Zagon: +AutoStartProgram=Samodejno zaženi %1 +AddonHostProgramNotFound=Programa %1 ni bilo mogoèe najti v izbrani mapi.%n%nAli želite vseeno nadaljevati? diff --git a/dist/windows/languages/Spanish.isl b/dist/windows/languages/Spanish.isl new file mode 100644 index 00000000..27067059 --- /dev/null +++ b/dist/windows/languages/Spanish.isl @@ -0,0 +1,335 @@ +; *** Inno Setup version 5.5.3+ Spanish messages *** +; +; Maintained by Jorge Andres Brugger (jbrugger@ideaworks.com.ar) +; Spanish.isl version 1.3 (20130207) +; Default.isl version 5.5.3 +; +; Thanks to Germán Giraldo, Jordi Latorre, Ximo Tamarit, Emiliano Llano, +; Ramón Verduzco, Graciela García, Carles Millan and Rafael Barranco-Droege + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=Espa<00F1>ol +LanguageID=$0c0a +LanguageCodePage=1252 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=Instalar +SetupWindowTitle=Instalar - %1 +UninstallAppTitle=Desinstalar +UninstallAppFullTitle=Desinstalar - %1 + +; *** Misc. common +InformationTitle=Información +ConfirmTitle=Confirmar +ErrorTitle=Error + +; *** SetupLdr messages +SetupLdrStartupMessage=Este programa instalará %1. ¿Desea continuar? +LdrCannotCreateTemp=Imposible crear archivo temporal. Instalación interrumpida +LdrCannotExecTemp=Imposible ejecutar archivo en la carpeta temporal. Instalación interrumpida + +; *** Startup error messages +LastErrorMessage=%1.%n%nError %2: %3 +SetupFileMissing=El archivo %1 no se encuentra en la carpeta de instalación. Por favor, solucione el problema u obtenga una copia nueva del programa. +SetupFileCorrupt=Los archivos de instalación están dañados. Por favor, obtenga una copia nueva del programa. +SetupFileCorruptOrWrongVer=Los archivos de instalación están dañados o son incompatibles con esta versión del programa de instalación. Por favor, solucione el problema u obtenga una copia nueva del programa. +InvalidParameter=Se ha utilizado un parámetro no válido en la línea de comandos:%n%n%1 +SetupAlreadyRunning=El programa de instalación aún está ejecutándose. +WindowsVersionNotSupported=Este programa no es compatible con la versión de Windows de su equipo. +WindowsServicePackRequired=Este programa requiere %1 Service Pack %2 o posterior. +NotOnThisPlatform=Este programa no se ejecutará en %1. +OnlyOnThisPlatform=Este programa debe ejecutarse en %1. +OnlyOnTheseArchitectures=Este programa sólo puede instalarse en versiones de Windows diseñadas para las siguientes arquitecturas de procesadores:%n%n%1 +MissingWOW64APIs=La versión de Windows que está utilizando no cuenta con la funcionalidad requerida por el instalador para realizar una instalación de 64 bits. Para solucionar este problema, por favor, instale el Service Pack %1. +WinVersionTooLowError=Este programa requiere %1 versión %2 o posterior. +WinVersionTooHighError=Este programa no puede instalarse en %1 versión %2 o posterior. +AdminPrivilegesRequired=Debe iniciar la sesión como administrador para instalar este programa. +PowerUserPrivilegesRequired=Debe iniciar la sesión como administrador o como miembro del grupo de Usuarios Avanzados para instalar este programa. +SetupAppRunningError=El programa de instalación ha detectado que %1 está ejecutándose.%n%nPor favor, ciérrelo ahora, luego haga clic en Aceptar para continuar o en Cancelar para salir. +UninstallAppRunningError=El desinstalador ha detectado que %1 está ejecutándose.%n%nPor favor, ciérrelo ahora, luego haga clic en Aceptar para continuar o en Cancelar para salir. + +; *** Misc. errors +ErrorCreatingDir=El programa de instalación no pudo crear la carpeta "%1" +ErrorTooManyFilesInDir=Imposible crear un archivo en la carpeta "%1" porque contiene demasiados archivos + +; *** Setup common messages +ExitSetupTitle=Salir de la Instalación +ExitSetupMessage=La instalación no se ha completado aún. Si cancela ahora, el programa no se instalará.%n%nPuede ejecutar nuevamente el programa de instalación en otra ocasión para completarla.%n%n¿Salir de la instalación? +AboutSetupMenuItem=&Acerca de Instalar... +AboutSetupTitle=Acerca de Instalar +AboutSetupMessage=%1 versión %2%n%3%n%n%1 sitio Web:%n%4 +AboutSetupNote= +TranslatorNote=Spanish translation maintained by Jorge Andres Brugger (jbrugger@gmx.net) + +; *** Buttons +ButtonBack=< &Atrás +ButtonNext=&Instalar Popcorn Time > +ButtonInstall=&Instalar +ButtonOK=Aceptar +ButtonCancel=Cancelar +ButtonYes=&Sí +ButtonYesToAll=Sí a &Todo +ButtonNo=&No +ButtonNoToAll=N&o a Todo +ButtonFinish=&Finalizar +ButtonBrowse=&Examinar... +ButtonWizardBrowse=&Examinar... +ButtonNewFolder=&Crear Nueva Carpeta + +; *** "Select Language" dialog messages +SelectLanguageTitle=Seleccione el Idioma de la Instalación +SelectLanguageLabel=Seleccione el idioma a utilizar durante la instalación: + +; *** Common wizard text +ClickNext=Haz click en Instalar Popcorn Time para continuar o en Cancelar para salir de la instalación. +BeveledLabel= +BrowseDialogTitle=Buscar Carpeta +BrowseDialogLabel=Seleccione una carpeta y luego haga clic en Aceptar. +NewFolderName=Nueva Carpeta + +; *** "Welcome" wizard page +WelcomeLabel1=Estás por instalar Popcorn Time! +WelcomeLabel2=Instalaremos [name/ver] en tu computadora.%n%nTen en cuenta que [name] es una Beta y no incluimos garantías de ningún tipo, así que usalo bajo tu propio riesgo. + +; *** "Password" wizard page +WizardPassword=Contraseña +PasswordLabel1=Esta instalación está protegida por contraseña. +PasswordLabel3=Por favor, introduzca la contraseña y haga clic en Siguiente para continuar. En las contraseñas se hace diferencia entre mayúsculas y minúsculas. +PasswordEditLabel=&Contraseña: +IncorrectPassword=La contraseña introducida no es correcta. Por favor, inténtelo nuevamente. + +; *** "License Agreement" wizard page +WizardLicense=Acuerdo de Licencia +LicenseLabel=Es importante que lea la siguiente información antes de continuar. +LicenseLabel3=Por favor, lea el siguiente acuerdo de licencia. Debe aceptar las cláusulas de este acuerdo antes de continuar con la instalación. +LicenseAccepted=A&cepto el acuerdo +LicenseNotAccepted=&No acepto el acuerdo + +; *** "Information" wizard pages +WizardInfoBefore=Información +InfoBeforeLabel=Es importante que lea la siguiente información antes de continuar. +InfoBeforeClickLabel=Cuando esté listo para continuar con la instalación, haga clic en Siguiente. +WizardInfoAfter=Información +InfoAfterLabel=Es importante que lea la siguiente información antes de continuar. +InfoAfterClickLabel=Cuando esté listo para continuar, haga clic en Siguiente. + +; *** "User Information" wizard page +WizardUserInfo=Información de Usuario +UserInfoDesc=Por favor, introduzca sus datos. +UserInfoName=Nombre de &Usuario: +UserInfoOrg=&Organización: +UserInfoSerial=Número de &Serie: +UserInfoNameRequired=Debe introducir un nombre. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Seleccione la Carpeta de Destino +SelectDirDesc=¿Dónde debe instalarse [name]? +SelectDirLabel3=El programa instalará [name] en la siguiente carpeta. +SelectDirBrowseLabel=Para continuar, haga clic en Siguiente. Si desea seleccionar una carpeta diferente, haga clic en Examinar. +DiskSpaceMBLabel=Se requieren al menos [mb] MB de espacio libre en el disco. +CannotInstallToNetworkDrive=El programa de instalación no puede realizar la instalación en una unidad de red. +CannotInstallToUNCPath=El programa de instalación no puede realizar la instalación en una ruta de acceso UNC. +InvalidPath=Debe introducir una ruta completa con la letra de la unidad; por ejemplo:%n%nC:\APP%n%no una ruta de acceso UNC de la siguiente forma:%n%n\\servidor\compartido +InvalidDrive=La unidad o ruta de acceso UNC que seleccionó no existe o no es accesible. Por favor, seleccione otra. +DiskSpaceWarningTitle=Espacio Insuficiente en Disco +DiskSpaceWarning=La instalación requiere al menos %1 KB de espacio libre, pero la unidad seleccionada sólo cuenta con %2 KB disponibles.%n%n¿Desea continuar de todas formas? +DirNameTooLong=El nombre de la carpeta o la ruta son demasiado largos. +InvalidDirName=El nombre de la carpeta no es válido. +BadDirName32=Los nombres de carpetas no pueden incluir los siguientes caracteres:%n%n%1 +DirExistsTitle=La Carpeta Ya Existe +DirExists=La carpeta:%n%n%1%n%nya existe. ¿Desea realizar la instalación en esa carpeta de todas formas? +DirDoesntExistTitle=La Carpeta No Existe +DirDoesntExist=La carpeta:%n%n%1%n%nno existe. ¿Desea crear esa carpeta? + +; *** "Select Components" wizard page +WizardSelectComponents=Seleccione los Componentes +SelectComponentsDesc=¿Qué componentes deben instalarse? +SelectComponentsLabel2=Seleccione los componentes que desea instalar y desmarque los componentes que no desea instalar. Haga clic en Siguiente cuando esté listo para continuar. +FullInstallation=Instalación Completa +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Instalación Compacta +CustomInstallation=Instalación Personalizada +NoUninstallWarningTitle=Componentes Encontrados +NoUninstallWarning=El programa de instalación ha detectado que los siguientes componentes ya están instalados en su sistema:%n%n%1%n%nDesmarcar estos componentes no los desinstalará.%n%n¿Desea continuar de todos modos? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=La selección actual requiere al menos [mb] MB de espacio en disco. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Seleccione las Tareas Adicionales +SelectTasksDesc=¿Qué tareas adicionales deben realizarse? +SelectTasksLabel2=Seleccione las tareas adicionales que desea que se realicen durante la instalación de [name] y haga clic en Siguiente. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Seleccione la Carpeta del Menú Inicio +SelectStartMenuFolderDesc=¿Dónde deben colocarse los accesos directos del programa? +SelectStartMenuFolderLabel3=El programa de instalación creará los accesos directos del programa en la siguiente carpeta del Menú Inicio. +SelectStartMenuFolderBrowseLabel=Para continuar, haga clic en Siguiente. Si desea seleccionar una carpeta distinta, haga clic en Examinar. +MustEnterGroupName=Debe proporcionar un nombre de carpeta. +GroupNameTooLong=El nombre de la carpeta o la ruta son demasiado largos. +InvalidGroupName=El nombre de la carpeta no es válido. +BadGroupName=El nombre de la carpeta no puede incluir ninguno de los siguientes caracteres:%n%n%1 +NoProgramGroupCheck2=&No crear una carpeta en el Menú Inicio + +; *** "Ready to Install" wizard page +WizardReady=Listo para Instalar +ReadyLabel1=Ahora el programa está listo para iniciar la instalación de [name] en su sistema. +ReadyLabel2a=Haga clic en Instalar para continuar con el proceso o haga clic en Atrás si desea revisar o cambiar alguna configuración. +ReadyLabel2b=Haga clic en Instalar para continuar con el proceso. +ReadyMemoUserInfo=Información del usuario: +ReadyMemoDir=Carpeta de Destino: +ReadyMemoType=Tipo de Instalación: +ReadyMemoComponents=Componentes Seleccionados: +ReadyMemoGroup=Carpeta del Menú Inicio: +ReadyMemoTasks=Tareas Adicionales: + +; *** "Preparing to Install" wizard page +WizardPreparing=Preparándose para Instalar +PreparingDesc=El programa de instalación está preparándose para instalar [name] en su sistema. +PreviousInstallNotCompleted=La instalación/desinstalación previa de un programa no se completó. Deberá reiniciar el sistema para completar esa instalación.%n%nUna vez reiniciado el sistema, ejecute el programa de instalación nuevamente para completar la instalación de [name]. +CannotContinue=El programa de instalación no puede continuar. Por favor, presione Cancelar para salir. +ApplicationsFound=Las siguientes aplicaciones están usando archivos que necesitan ser actualizados por el programa de instalación. Se recomienda que permita al programa de instalación cerrar automáticamente estas aplicaciones. +ApplicationsFound2=Las siguientes aplicaciones están usando archivos que necesitan ser actualizados por el programa de instalación. Se recomienda que permita al programa de instalación cerrar automáticamente estas aplicaciones. Al completarse la instalación, el programa de instalación intentará reiniciar las aplicaciones. +CloseApplications=&Cerrar automáticamente las aplicaciones +DontCloseApplications=&No cerrar las aplicaciones +ErrorCloseApplications=El programa de instalación no pudo cerrar de forma automática todas las aplicaciones. Se recomienda que, antes de continuar, cierre todas las aplicaciones que utilicen archivos que necesitan ser actualizados por el programa de instalación. + +; *** "Installing" wizard page +WizardInstalling=Instalando +InstallingLabel=Por favor, espere mientras se instala [name] en su sistema. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=Completando la instalación de [name] +FinishedLabelNoIcons=El programa completó la instalación de [name] en su sistema. +FinishedLabel=El programa completó la instalación de [name] en su sistema. Puede ejecutar la aplicación haciendo clic sobre el icono instalado. +ClickFinish=Haga clic en Finalizar para salir del programa de instalación. +FinishedRestartLabel=Para completar la instalación de [name], su sistema debe reiniciarse. ¿Desea reiniciarlo ahora? +FinishedRestartMessage=Para completar la instalación de [name], su sistema debe reiniciarse.%n%n¿Desea reiniciarlo ahora? +ShowReadmeCheck=Sí, deseo ver el archivo LÉAME +YesRadio=&Sí, deseo reiniciar el sistema ahora +NoRadio=&No, reiniciaré el sistema más tarde +; used for example as 'Run MyProg.exe' +RunEntryExec=Ejecutar %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=Ver %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=El Programa de Instalación Necesita el Siguiente Disco +SelectDiskLabel2=Por favor, inserte el Disco %1 y haga clic en Aceptar.%n%nSi los archivos pueden ser hallados en una carpeta diferente a la indicada abajo, introduzca la ruta correcta o haga clic en Examinar. +PathLabel=&Ruta: +FileNotInDir2=El archivo "%1" no se ha podido hallar en "%2". Por favor, inserte el disco correcto o seleccione otra carpeta. +SelectDirectoryLabel=Por favor, especifique la ubicación del siguiente disco. + +; *** Installation phase messages +SetupAborted=La instalación no se ha completado.%n%nPor favor solucione el problema y ejecute nuevamente el programa de instalación. +EntryAbortRetryIgnore=Haga clic en Reintentar para intentarlo de nuevo, en Omitir para continuar de todas formas o en Anular para cancelar la instalación. + +; *** Installation status messages +StatusClosingApplications=Cerrando aplicaciones... +StatusCreateDirs=Creando carpetas... +StatusExtractFiles=Extrayendo archivos... +StatusCreateIcons=Creando accesos directos... +StatusCreateIniEntries=Creando entradas INI... +StatusCreateRegistryEntries=Creando entradas de registro... +StatusRegisterFiles=Registrando archivos... +StatusSavingUninstall=Guardando información para desinstalar... +StatusRunProgram=Terminando la instalación... +StatusRestartingApplications=Reiniciando aplicaciones... +StatusRollback=Deshaciendo cambios... + +; *** Misc. errors +ErrorInternal2=Error interno: %1 +ErrorFunctionFailedNoCode=%1 falló +ErrorFunctionFailed=%1 falló; código %2 +ErrorFunctionFailedWithMessage=%1 falló; código %2.%n%3 +ErrorExecutingProgram=Imposible ejecutar el archivo:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Error al abrir la clave del registro:%n%1\%2 +ErrorRegCreateKey=Error al crear la clave del registro:%n%1\%2 +ErrorRegWriteKey=Error al escribir la clave del registro:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Error al crear entrada INI en el archivo "%1". + +; *** File copying errors +FileAbortRetryIgnore=Haga clic en Reintentar para intentarlo de nuevo, en Omitir para excluir este archivo (no recomendado) o en Anular para cancelar la instalación. +FileAbortRetryIgnore2=Haga clic en Reintentar para intentarlo de nuevo, en Omitir para continuar de todas formas (no recomendado) o en Anular para cancelar la instalación. +SourceIsCorrupted=El archivo de origen está dañado +SourceDoesntExist=El archivo de origen "%1" no existe +ExistingFileReadOnly=El archivo existente está marcado como sólo-lectura.%n%nHaga clic en Reintentar para quitar el atributo de sólo-lectura e intentarlo de nuevo, en Omitir para excluir este archivo o en Anular para cancelar la instalación. +ErrorReadingExistingDest=Ocurrió un error mientras se intentaba leer el archivo: +FileExists=El archivo ya existe.%n%n¿Desea sobreescribirlo? +ExistingFileNewer=El archivo existente es más reciente que el que está tratando de instalar. Se recomienda que mantenga el archivo existente.%n%n¿Desea mantener el archivo existente? +ErrorChangingAttr=Ocurrió un error al intentar cambiar los atributos del archivo: +ErrorCreatingTemp=Ocurrió un error al intentar crear un archivo en la carpeta de destino: +ErrorReadingSource=Ocurrió un error al intentar leer el archivo de origen: +ErrorCopying=Ocurrió un error al intentar copiar el archivo: +ErrorReplacingExistingFile=Ocurrió un error al intentar reemplazar el archivo existente: +ErrorRestartReplace=Falló reintento de reemplazar: +ErrorRenamingTemp=Ocurrió un error al intentar renombrar un archivo en la carpeta de destino: +ErrorRegisterServer=Imposible registrar el DLL/OCX: %1 +ErrorRegSvr32Failed=RegSvr32 falló con el código de salida %1 +ErrorRegisterTypeLib=Imposible registrar la librería de tipos: %1 + +; *** Post-installation errors +ErrorOpeningReadme=Ocurrió un error al intentar abrir el archivo LÉAME. +ErrorRestartingComputer=El programa de instalación no pudo reiniciar el equipo. Por favor, hágalo manualmente. + +; *** Uninstaller messages +UninstallNotFound=El archivo "%1" no existe. Imposible desinstalar. +UninstallOpenError=El archivo "%1" no pudo ser abierto. Imposible desinstalar +UninstallUnsupportedVer=El archivo de registro para desinstalar "%1" está en un formato no reconocido por esta versión del desinstalador. Imposible desinstalar +UninstallUnknownEntry=Se encontró una entrada desconocida (%1) en el registro de desinstalación +ConfirmUninstall=¿Está seguro que desea desinstalar completamente %1 y todos sus componentes? +UninstallOnlyOnWin64=Este programa sólo puede ser desinstalado en Windows de 64-bits. +OnlyAdminCanUninstall=Este programa sólo puede ser desinstalado por un usuario con privilegios administrativos. +UninstallStatusLabel=Por favor, espere mientras %1 es desinstalado de su sistema. +UninstalledAll=%1 se desinstaló satisfactoriamente de su sistema. +UninstalledMost=La desinstalación de %1 ha sido completada.%n%nAlgunos elementos no pudieron eliminarse, pero podrá eliminarlos manualmente si lo desea. +UninstalledAndNeedsRestart=Para completar la desinstalación de %1, su sistema debe reiniciarse.%n%n¿Desea reiniciarlo ahora? +UninstallDataCorrupted=El archivo "%1" está dañado. No puede desinstalarse + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=¿Eliminar Archivo Compartido? +ConfirmDeleteSharedFile2=El sistema indica que el siguiente archivo compartido no es utilizado por ningún otro programa. ¿Desea eliminar este archivo compartido?%n%nSi elimina el archivo y hay programas que lo utilizan, esos programas podrían dejar de funcionar correctamente. Si no está seguro, elija No. Dejar el archivo en su sistema no producirá ningún daño. +SharedFileNameLabel=Archivo: +SharedFileLocationLabel=Ubicación: +WizardUninstalling=Estado de la Desinstalación +StatusUninstalling=Desinstalando %1... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=Instalando %1. +ShutdownBlockReasonUninstallingApp=Desinstalando %1. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 versión %2 +AdditionalIcons=Iconos adicionales: +CreateDesktopIcon=Crear un icono en el &escritorio +CreateQuickLaunchIcon=Crear un icono de &Inicio Rápido +ProgramOnTheWeb=%1 en la Web +UninstallProgram=Desinstalar %1 +LaunchProgram=Ejecutar %1 +AssocFileExtension=&Asociar %1 con la extensión de archivo %2 +AssocingFileExtension=Asociando %1 con la extensión de archivo %2... +AutoStartProgramGroupDescription=Inicio: +AutoStartProgram=Iniciar automáticamente %1 +AddonHostProgramNotFound=%1 no pudo ser localizado en la carpeta seleccionada.%n%n¿Desea continuar de todas formas? diff --git a/dist/windows/languages/Swedish.isl b/dist/windows/languages/Swedish.isl new file mode 100644 index 00000000..d7e11b34 --- /dev/null +++ b/dist/windows/languages/Swedish.isl @@ -0,0 +1,339 @@ +; *** Inno Setup version 5.5.3+ Swedish messages *** +; +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/files/istrans/ +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). +; +; Translated by christer_1@hotmail.com (Christer Toivonen) +; + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=Svenska +LanguageID=$041D +LanguageCodePage=1252 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=Installationsprogram +SetupWindowTitle=Installationsprogram för %1 +UninstallAppTitle=Avinstallation +UninstallAppFullTitle=%1 Avinstallation + +; *** Misc. common +InformationTitle=Information +ConfirmTitle=Bekräfta +ErrorTitle=Fel + +; *** SetupLdr messages +SetupLdrStartupMessage=%1 kommer att installeras. Vill du fortsätta? +LdrCannotCreateTemp=Kan ej skapa en temporär fil. Installationen avbryts +LdrCannotExecTemp=Kan inte köra fil i temporär katalog. Installationen avbryts + +; *** Startup error messages +LastErrorMessage=%1.%n%nFel %2: %3 +SetupFileMissing=Filen %1 saknas i installationskatalogen. Rätta till problemet eller hämta en ny kopia av programmet. +SetupFileCorrupt=Installationsfilerna är felaktiga. Hämta en ny kopia av programmet +SetupFileCorruptOrWrongVer=Installationsfilerna är felaktiga, eller stämmer ej överens med denna version av installationsprogrammet. Rätta till felet eller hämta en ny programkopia. +InvalidParameter=En ogiltig parameter angavs pÃ¥ kommandoraden:%n%n%1 +SetupAlreadyRunning=Setup körs redan. +WindowsVersionNotSupported=Programmet stödjer inte den version av Windows som körs pÃ¥ datorn. +WindowsServicePackRequired=Programmet kräver %1 Service Pack %2 eller nyare. +NotOnThisPlatform=Detta program kan ej köras pÃ¥ %1. +OnlyOnThisPlatform=Detta program mÃ¥ste ha %1. +OnlyOnTheseArchitectures=Detta program kan bara installeras pÃ¥ Windows versioner med följande processorarkitekturer:%n%n%1 +MissingWOW64APIs=Den versionen av Windows du kör har inte den funktionalitet installationsprogrammet behöver för att genomföra en 64-bitars installation. Rätta till problemet genom att installera Service Pack %1. +WinVersionTooLowError=Detta program kräver %1, version %2 eller senare. +WinVersionTooHighError=Programmet kan inte installeras pÃ¥ %1 version %2 eller senare. +AdminPrivilegesRequired=Du mÃ¥ste vara inloggad som administratör när du installerar detta program. +PowerUserPrivilegesRequired=Du mÃ¥ste vara inloggad som administratör eller medlem av gruppen Privilegierade användare (Power Users) när du installerar detta program. +SetupAppRunningError=Installationsprogrammet har upptäckt att %1 är igÃ¥ng.%n%nAvsluta det angivna programmet nu. Klicka sedan pÃ¥ OK för att gÃ¥ vidare, eller pÃ¥ Avbryt för att avsluta. +UninstallAppRunningError=Avinstalleraren har upptäckt att %1 körs för tillfället.%n%nStäng all öppna instanser av det nu, klicka sedan pÃ¥ OK för att gÃ¥ vidare, eller pÃ¥ Avbryt för att avsluta. + +; *** Misc. errors +ErrorCreatingDir=Kunde inte skapa katalogen "%1" +ErrorTooManyFilesInDir=Kunde inte skapa en fil i katalogen "%1" därför att den innehÃ¥ller för mÃ¥nga filer + +; *** Setup common messages +ExitSetupTitle=Avsluta installationen +ExitSetupMessage=Installationen är inte färdig. Om du avslutar nu, kommer programmet inte att installeras.%n%nDu kan köra installationsprogrammet vid ett senare tillfälle för att slutföra installationen.%n%nVill du avbryta installationen? +AboutSetupMenuItem=&Om installationsprogrammet... +AboutSetupTitle=Om installationsprogrammet +AboutSetupMessage=%1 version %2%n%3%n%n%1 hemsida:%n%4 +AboutSetupNote=Svensk översättning är gjord av dickg@go.to 1999, 2002%n%nUppdatering till 3.0.2+ av peter@peterandlinda.com, 4.+ av stefan@bodingh.se +TranslatorNote= + +; *** Buttons +ButtonBack=< &Tillbaka +ButtonNext=&Nästa > +ButtonInstall=&Installera +ButtonOK=OK +ButtonCancel=Avbryt +ButtonYes=&Ja +ButtonYesToAll=Ja till &Allt +ButtonNo=&Nej +ButtonNoToAll=N&ej till allt +ButtonFinish=&Slutför +ButtonBrowse=&Bläddra... +ButtonWizardBrowse=&Bläddra... +ButtonNewFolder=Skapa ny katalog + +; *** "Select Language" dialog messages +SelectLanguageTitle=Välj sprÃ¥k för installationen +SelectLanguageLabel=Välj sprÃ¥k som skall användas under installationen: + +; *** Common wizard text +ClickNext=Klicka pÃ¥ Nästa för att fortsätta eller pÃ¥ Avbryt för att avsluta installationen. +BeveledLabel= +BrowseDialogTitle=Välj katalog +BrowseDialogLabel=Välj en katalog i listan nedan, klicka sedan pÃ¥ OK. +NewFolderName=Ny katalog + +; *** "Welcome" wizard page +WelcomeLabel1=Välkommen till installationsprogrammet för [name]. +WelcomeLabel2=Detta kommer att installera [name/ver] pÃ¥ din dator.%n%nDet rekommenderas att du avslutar alla andra program innan du fortsätter. Det förebygger konflikter under installationens gÃ¥ng. + +; *** "Password" wizard page +WizardPassword=Lösenord +PasswordLabel1=Denna installation är skyddad med lösenord. +PasswordLabel3=Var god ange lösenordet, klicka sedan pÃ¥ Nästa för att fortsätta. Lösenord skiljer pÃ¥ versaler/gemener. +PasswordEditLabel=&Lösenord: +IncorrectPassword=Lösenordet du angav är inkorrekt. Försök igen. + +; *** "License Agreement" wizard page +WizardLicense=Licensavtal +LicenseLabel=Var god och läs följande viktiga information innan du fortsätter. +LicenseLabel3=Var god och läs följande licensavtal. Du mÃ¥ste acceptera villkoren i avtalet innan du kan fortsätta med installationen. +LicenseAccepted=Jag &accepterar avtalet +LicenseNotAccepted=Jag accepterar &inte avtalet + +; *** "Information" wizard pages +WizardInfoBefore=Information +InfoBeforeLabel=Var god läs följande viktiga information innan du fortsätter. +InfoBeforeClickLabel=När du är klar att fortsätta med installationen klickar du pÃ¥ Nästa. +WizardInfoAfter=Information +InfoAfterLabel=Var god läs följande viktiga information innan du fortsätter. +InfoAfterClickLabel=När du är klar att fortsätta med installationen klickar du pÃ¥ Nästa. + +; *** "User Information" wizard page +WizardUserInfo=Användarinformation +UserInfoDesc=Var god och fyll i följande uppgifter. +UserInfoName=&Namn: +UserInfoOrg=&Organisation: +UserInfoSerial=&Serienummer: +UserInfoNameRequired=Du mÃ¥ste fylla i ett namn. + +; *** "Select Destination Directory" wizard page +WizardSelectDir=Välj installationsplats +SelectDirDesc=Var skall [name] installeras? +SelectDirLabel3=Installationsprogrammet kommer att installera [name] i följande katalog +SelectDirBrowseLabel=För att fortsätta klickar du pÃ¥ Nästa. Om du vill välja en annan katalog klickar du pÃ¥ Bläddra. +DiskSpaceMBLabel=Programmet kräver minst [mb] MB hÃ¥rddiskutrymme. +CannotInstallToNetworkDrive=Setup kan inte installeras pÃ¥ nätverksdisk. +CannotInstallToUNCPath=Setup kan inte installeras pÃ¥ UNC sökväg. +InvalidPath=Du mÃ¥ste skriva en fullständig sökväg med enhetsbeteckning; till exempel:%n%nC:\Program%n%neller en UNC-sökväg i formatet:%n%n\\server\resurs +InvalidDrive=Enheten du har valt finns inte eller är inte tillgänglig. Välj en annan. +DiskSpaceWarningTitle=Ej tillräckligt med diskutrymme +DiskSpaceWarning=Installationsprogrammet behöver Ã¥tminstone %1 KB ledigt diskutrymme för installationen, men den valda enheten har bara %2 KB tillgängligt.%n%nVill du fortsätta ändÃ¥? +DirNameTooLong=Katalogens namn eller sökväg är för lÃ¥ng. +InvalidDirName=Katalogen du har valt är inte tillgänglig. +BadDirName32=Katalogens namn fÃ¥r ej innehÃ¥lla nÃ¥got av följande tecken:%n%n%1 +DirExistsTitle=Katalogen finns +DirExists=Katalogen:%n%n%1%n%nfinns redan. Vill du ändÃ¥ fortsätta installationen till den valda katalogen? +DirDoesntExistTitle=Katalogen finns inte +DirDoesntExist=Katalogen:%n%n%1%n%nfinns inte. Vill du skapa den? + +; *** "Select Components" wizard page +WizardSelectComponents=Välj komponenter +SelectComponentsDesc=Vilka komponenter skall installeras? +SelectComponentsLabel2=Välj de komponenter som du vill ska installeras; avmarkera de komponenter som du inte vill ha. Klicka sedan pÃ¥ Nästa när du är klar att fortsätta. +FullInstallation=Fullständig installation +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Kompakt installation +CustomInstallation=Anpassad installation +NoUninstallWarningTitle=Komponenter finns +NoUninstallWarning=Installationsprogrammet har upptäckt att följande komponenter redan finns installerade pÃ¥ din dator:%n%n%1%n%nAtt avmarkera dessa komponenter kommer inte att avinstallera dom.%n%nVill du fortsätta ändÃ¥? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=Aktuella val kräver minst [mb] MB diskutrymme. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Välj extra uppgifter +SelectTasksDesc=Vilka extra uppgifter skall utföras? +SelectTasksLabel2=Markera ytterligare uppgifter att utföra vid installation av [name], tryck sedan pÃ¥ Nästa. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Välj Startmenykatalogen +SelectStartMenuFolderDesc=Var skall installationsprogrammet placera programmets genvägar? +SelectStartMenuFolderLabel3=Installationsprogrammet kommer att skapa programmets genvägar i följande katalog. +SelectStartMenuFolderBrowseLabel=För att fortsätta klickar du pÃ¥ Nästa. Om du vill välja en annan katalog, klickar du pÃ¥ Bläddra. +MustEnterGroupName=Du mÃ¥ste ange en katalog. +GroupNameTooLong=Katalogens namn eller sökväg är för lÃ¥ng. +InvalidGroupName=Katalogen du har valt är inte tillgänglig. +BadGroupName=Katalognamnet kan inte innehÃ¥lla nÃ¥gon av följande tecken:%n%n%1 +NoProgramGroupCheck2=&Skapa ingen Startmenykatalog + +; *** "Ready to Install" wizard page +WizardReady=Redo att installera +ReadyLabel1=Installationsprogrammet är nu redo att installera [name] pÃ¥ din dator. +ReadyLabel2a=Tryck pÃ¥ Installera om du vill fortsätta, eller pÃ¥ gÃ¥ Tillbaka om du vill granska eller ändra pÃ¥ nÃ¥got. +ReadyLabel2b=Välj Installera för att pÃ¥börja installationen. +ReadyMemoUserInfo=Användarinformation: +ReadyMemoDir=Installationsplats: +ReadyMemoType=Installationstyp: +ReadyMemoComponents=Valda komponenter: +ReadyMemoGroup=Startmenykatalog: +ReadyMemoTasks=Extra uppgifter: + +; *** "Preparing to Install" wizard page +WizardPreparing=Förbereder installationen +PreparingDesc=Installationsprogrammet förbereder installationen av [name] pÃ¥ din dator. +PreviousInstallNotCompleted=Installationen/avinstallationen av ett tidigare program har inte slutförts. Du mÃ¥ste starta om datorn för att avsluta den installationen.%n%nEfter att ha startat om datorn kör du installationsprogrammet igen för att slutföra installationen av [name]. +CannotContinue=Installationsprogrammet kan inte fortsätta. Klicka pÃ¥ Avbryt för att avsluta. +ApplicationsFound=Följande program använder filer som mÃ¥ste uppdateras av Setup. Vi rekommenderar att du lÃ¥ter Setup automatiskt stänga dessa program. +ApplicationsFound2=Följande program använder filer som mÃ¥ste uppdateras av Setup. Vi rekommenderar att du lÃ¥ter Setup automatiskt stänga dessa program. Efter installationen kommer Setup att försöka starta programmen igen. +CloseApplications=&Stäng programmen automatiskt +DontCloseApplications=&Stäng inte programmen +ErrorCloseApplications=Installationsprogrammet kunde inte stänga alla program. Innan installationen fortsätter rekommenderar vi att du stänger alla program som använder filer som Setup behöver uppdatera. + +; *** "Installing" wizard page +WizardInstalling=Installerar +InstallingLabel=Vänta medan [name] installeras pÃ¥ din dator. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=Avslutar installationen av [name] +FinishedLabelNoIcons=[name] har nu installerats pÃ¥ din dator. +FinishedLabel=[name] har nu installerats pÃ¥ din dator. Programmet kan startas genom att välja nÃ¥gon av ikonerna. +ClickFinish=Välj Slutför för att avsluta installationen. +FinishedRestartLabel=För att slutföra installationen av [name], mÃ¥ste datorn startas om. Vill du starta om nu? +FinishedRestartMessage=För att slutföra installationen av [name], mÃ¥ste datorn startas om.%n%nVill du starta om datorn nu? +ShowReadmeCheck=Ja, jag vill se filen LÄS MIG +YesRadio=&Ja, jag vill starta om datorn nu +NoRadio=&Nej, jag startar själv om datorn senare +; used for example as 'Run MyProg.exe' +RunEntryExec=Kör %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=Läs %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=Installationsprogrammet behöver nästa diskett +SelectDiskLabel2=Var god sätt i diskett %1 och tryck OK.%n%nOm filerna kan hittas i en annan katalog än den som visas nedan, skriv in rätt sökväg eller välj Bläddra. +PathLabel=&Sökväg: +FileNotInDir2=Kunde inte hitta filen "%1" i "%2". Var god sätt i korrekt diskett eller välj en annan katalog. +SelectDirectoryLabel=Var god ange sökvägen för nästa diskett. + +; *** Installation phase messages +SetupAborted=Installationen slutfördes inte.%n%nVar god rätta till felet och kör installationen igen. +EntryAbortRetryIgnore=Välj Försök igen eller Ignorera för att fortsätta ändÃ¥, eller välj Avbryt för att avbryta installationen. + +; *** Installation status messages +StatusClosingApplications=Stänger program... +StatusCreateDirs=Skapar kataloger... +StatusExtractFiles=Packar upp filer... +StatusCreateIcons=Skapar programikoner... +StatusCreateIniEntries=Skriver INI-värden... +StatusCreateRegistryEntries=Skriver register-värden... +StatusRegisterFiles=Registrerar filer... +StatusSavingUninstall=Sparar information för avinstallation... +StatusRunProgram=Slutför installationen... +StatusRestartingApplications=Startar om program... +StatusRollback=Ã…terställer ändringar... + +; *** Misc. errors +ErrorInternal2=Internt fel: %1 +ErrorFunctionFailedNoCode=%1 misslyckades +ErrorFunctionFailed=%1 misslyckades; kod %2 +ErrorFunctionFailedWithMessage=%1 misslyckades; kod %2.%n%3 +ErrorExecutingProgram=Kan inte köra filen:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Fel vid öppning av registernyckel:%n%1\%2 +ErrorRegCreateKey=Kan ej skapa registernyckel:%n%1\%2 +ErrorRegWriteKey=Kan ej skriva till registernyckel:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Kan inte skriva nytt INI-värde i filen "%1". + +; *** File copying errors +FileAbortRetryIgnore=Välj Försök igen eller Ignorera för att hoppa över denna fil (ej rekommenderat), eller välj Avbryt installationen. +FileAbortRetryIgnore2=Välj Försök igen eller Ignorera och fortsätt ändÃ¥ (ej rekommenderat), eller välj Avbryt installationen. +SourceIsCorrupted=Källfilen är felaktig +SourceDoesntExist=Källfilen "%1" finns inte +ExistingFileReadOnly=Den nuvarande filen är skrivskyddad.%n%nVälj Försök igen för att ta bort skrivskyddet, Ignorera för att hoppa över denna fil, eller välj Avbryt installationen. +ErrorReadingExistingDest=Ett fel uppstod vid försök att läsa den befintliga filen: +FileExists=Filen finns redan.%n%nVill du skriva över den? +ExistingFileNewer=Den befintliga filen är nyare än den som ska installeras. Du rekommenderas att behÃ¥lla den befintliga filen. %n%nVill Du behÃ¥lla den befintliga filen? +ErrorChangingAttr=Ett fel uppstod vid försök att ändra attribut pÃ¥ den befintliga filen: +ErrorCreatingTemp=Ett fel uppstod vid ett försök att skapa installationskatalogen: +ErrorReadingSource=Ett fel uppstod vid ett försök att läsa källfilen: +ErrorCopying=Ett fel uppstod vid kopiering av filen: +ErrorReplacingExistingFile=Ett fel uppstod vid ett försök att ersätta den befintliga filen: +ErrorRestartReplace=Ã…terstartaErsätt misslyckades: +ErrorRenamingTemp=Ett fel uppstod vid ett försök att byta namn pÃ¥ en fil i installationskatalogen: +ErrorRegisterServer=Kunde inte registrera DLL/OCX: %1 +ErrorRegSvr32Failed=RegSvr32 misslyckades med felkod %1 +ErrorRegisterTypeLib=Kunde inte registrera typbibliotek: %1 + +; *** Post-installation errors +ErrorOpeningReadme=Ett fel uppstod vid öppnandet av LÄS MIG-filen. +ErrorRestartingComputer=Installationsprogrammet kunde inte starta om datorn. Var god gör det manuellt. + +; *** Uninstaller messages +UninstallNotFound=Filen "%1" finns inte. Kan inte avinstallera. +UninstallOpenError=Filen "%1" kan inte öppnas. Kan inte avinstallera. +UninstallUnsupportedVer=Avinstallationsloggen "%1" är i ett format som denna version inte känner igen. Kan ej avinstallera +UninstallUnknownEntry=En okänd rad (%1) hittades i avinstallationsloggen +ConfirmUninstall=Är du säker pÃ¥ att du vill ta bort %1 och alla tillhörande komponenter? +UninstallOnlyOnWin64=Denna installation kan endast avinstalleras pÃ¥ en 64-bitarsversion av Windows. +OnlyAdminCanUninstall=Denna installation kan endast avinstalleras av en användare med administrativa rättigheter. +UninstallStatusLabel=Var god och vänta medan %1 tas bort frÃ¥n din dator. +UninstalledAll=%1 är nu borttaget frÃ¥n din dator. +UninstalledMost=Avinstallationen av %1 är nu klar.%n%nEn del filer/kataloger gick ej att ta bort. Dessa kan tas bort manuellt. +UninstalledAndNeedsRestart=För att slutföra avinstallationen av %1 mÃ¥ste datorn startas om.%n%nVill du starta om nu? +UninstallDataCorrupted=Filen "%1" är felaktig. Kan inte avinstallera + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Ta bort delad fil? +ConfirmDeleteSharedFile2=Systemet indikerar att följande delade fil inte längre används av nÃ¥gra program. Vill du ta bort den delade filen?%n%n%1%n%nOm nÃ¥got program fortfarande använder denna fil och den raderas, kommer programmet kanske att sluta fungera. Om du är osäker, välj Nej. Att lÃ¥ta filen ligga kvar i systemet kommer inte att orsaka nÃ¥gon skada. +SharedFileNameLabel=Filnamn: +SharedFileLocationLabel=Plats: +WizardUninstalling=Avinstallationsstatus +StatusUninstalling=Avinstallerar %1... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=Installerar %1. +ShutdownBlockReasonUninstallingApp=Avinstallerar %1. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 version %2 +AdditionalIcons=Ã…terstÃ¥ende ikoner: +CreateDesktopIcon=Skapa en ikon pÃ¥ skrivbordet +CreateQuickLaunchIcon=Skapa en ikon i Snabbstartfältet +ProgramOnTheWeb=%1 pÃ¥ Webben +UninstallProgram=Avinstallera %1 +LaunchProgram=Starta %1 +AssocFileExtension=Associera %1 med %2 filnamnstillägg +AssocingFileExtension=Associerar %1 med %2 filnamnstillägg... +AutoStartProgramGroupDescription=Autostart: +AutoStartProgram=Starta automatiskt %1 +AddonHostProgramNotFound=%1 kunde inte hittas i katalogen du valde.%n%nVill du fortsätta ändÃ¥? diff --git a/dist/windows/languages/TraditionalChinese.isl b/dist/windows/languages/TraditionalChinese.isl new file mode 100644 index 00000000..76ebb17b --- /dev/null +++ b/dist/windows/languages/TraditionalChinese.isl @@ -0,0 +1,348 @@ +; ************ Inno Setup version 5.5.3+ Traditional Chinese messages ************ +; *** *** +; *** To download user-contributed translations of this file, go to: *** +; *** http://www.jrsoftware.org/files/istrans/ *** +; *** *** +; *** Author: Jackmoo (enepgoo@gmail.com) *** +; *** *** +; *** *** +; *** *** +; *** Note: When translating this text, do not add periods (.) to the end of *** +; *** messages that didn't have them already, because on those messages Inno *** +; *** Setup adds the periods automatically (appending a period would result in *** +; *** two periods being displayed). *** +; ******************************************************************************** + + + + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. + +; ****Not test yet**** +LanguageName=Traditional Chinese +LanguageID=$0404 +LanguageCodePage=950 +; ******************** + +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=å®‰è£ +SetupWindowTitle=å®‰è£ - %1 +UninstallAppTitle=è§£é™¤å®‰è£ +UninstallAppFullTitle=%1 è§£é™¤å®‰è£ + +; *** Misc. common +InformationTitle=資訊 +ConfirmTitle=ç¢ºèª +ErrorTitle=錯誤 + +; *** SetupLdr messages +SetupLdrStartupMessage=將安è£%1. 您是å¦è¦ç¹¼çºŒ? +LdrCannotCreateTemp=無法建立暫存檔案. 安è£ä¸­æ­¢ +LdrCannotExecTemp=無法啟動暫存資料夾中的檔案. 安è£ä¸­æ­¢ + +; *** Startup error messages +LastErrorMessage=%1.%n%n錯誤 %2: %3 +SetupFileMissing=缺失安è£è³‡æ–™å¤¾ä¸­çš„檔案: %1 請修正或é‡æ–°ä¸‹è¼‰æœ¬ç¨‹å¼ +SetupFileCorrupt=安è£æª”案æ毀. è«‹é‡æ–°ä¸‹è¼‰æœ¬ç¨‹å¼ +SetupFileCorruptOrWrongVer=安è£æª”案æ毀或ä¸ç›¸å®¹æ–¼æœ¬å®‰è£ç¨‹å¼ 請修正或é‡æ–°ä¸‹è¼‰æœ¬ç¨‹å¼ +InvalidParameter=æ­¤åƒæ•¸åœ¨å‘½ä»¤è¡Œä¸åˆæ³•:%n%n%1 +SetupAlreadyRunning=安è£ç¨‹å¼å·²ç¶“在執行 +WindowsVersionNotSupported=本程å¼ä¸¦ä¸æ”¯æ´æ‚¨çš„Windows版本 +WindowsServicePackRequired=本程å¼éœ€è¦ %1 Service Pack %2 或更新的版本 +NotOnThisPlatform=本程å¼ç„¡æ³•åœ¨ %1 上執行 +OnlyOnThisPlatform=本程å¼å¿…須在 %1 上æ‰èƒ½åŸ·è¡Œ +OnlyOnTheseArchitectures=本程å¼åƒ…能安è£æ–¼ä½¿ç”¨%n%n%1架構的Windows上 +MissingWOW64APIs=您的Windows沒有安è£64ä½å…ƒç¨‹å¼çš„功能 è«‹å®‰è£ Service Pack %1. +WinVersionTooLowError=本程å¼éœ€è¦ %1 版本 %2 或更新的版本 +WinVersionTooHighError=本程å¼ç„¡æ³•å®‰è£æ–¼ %1 版本 %2 或更新的版本 +AdminPrivilegesRequired=您必須以管ç†å“¡(administrator)身分登入æ‰èƒ½å®‰è£æ­¤ç¨‹å¼ +PowerUserPrivilegesRequired=您必須以管ç†å“¡(administrator)身分登入或是Power Usersçš„æˆå“¡æ‰èƒ½å®‰è£æ­¤ç¨‹å¼ +SetupAppRunningError=安è£ç¨‹å¼å·²åµæ¸¬åˆ° %1 正在執行 %n%n請關閉所有該程å¼, 然後按"確定"來繼續安è£, 或按"å–消"來å–æ¶ˆå®‰è£ +UninstallAppRunningError=解除安è£ç¨‹å¼å·²åµæ¸¬åˆ° %1 正在執行 %n%n請關閉所有該程å¼, 然後按"確定"來繼續安è£, 或按"å–消"來å–æ¶ˆå®‰è£ + +; *** Misc. errors +ErrorCreatingDir=安è£ç¨‹å¼ç„¡æ³•å»ºç«‹"%1"資料夾 +ErrorTooManyFilesInDir=資料夾"%1"檔案太多, 已無法建立檔案 + +; *** Setup common messages +ExitSetupTitle=離開安è£ç¨‹å¼ +ExitSetupMessage=安è£å°šæœªå®Œæˆ 如果您ç¾åœ¨é›¢é–‹,程å¼å°‡ä¸æœƒè¢«å®‰è£ %n%n您å¯ä»¥é‡æ–°åŸ·è¡Œå®‰è£ç¨‹å¼ä¾†å®Œæˆå®‰è£ %n%n確定è¦é›¢é–‹å®‰è£ç¨‹å¼? +AboutSetupMenuItem=&關於本安è£ç¨‹å¼... +AboutSetupTitle=關於本安è£ç¨‹å¼ +AboutSetupMessage=%1 版本 %2%n%3%n%n%1 官方網å€:%n%4 +AboutSetupNote= +TranslatorNote=ç¹é«”中文化 by Jackmoo + +; *** Buttons +ButtonBack=< 上一é (&B) +ButtonNext=安è£(&I) Popcorn Time > +ButtonInstall=安è£(&I) +ButtonOK=確定 +ButtonCancel=å–消 +ButtonYes=是(&Y) +ButtonYesToAll=全部皆是(&a) +ButtonNo=å¦(&N) +ButtonNoToAll=全部皆å¦(&o) +ButtonFinish=完æˆ(&F) +ButtonBrowse=ç€è¦½(&B)... +ButtonWizardBrowse=ç€è¦½(&r)... +ButtonNewFolder=建立新資料夾(&M) + +; *** "Select Language" dialog messages +SelectLanguageTitle=é¸æ“‡å®‰è£èªžè¨€ +SelectLanguageLabel=é¸æ“‡å®‰è£æ™‚顯示的語言: + +; *** Common wizard text +ClickNext=點é¸"å®‰è£ Popcorn Time" 以繼續, 或點é¸"å–消"離開安è£ç¨‹å¼ +BeveledLabel= +BrowseDialogTitle=ç€è¦½è³‡æ–™å¤¾ +BrowseDialogLabel=在下列é¸æ“‡ä¸€å€‹è³‡æ–™å¤¾, 然後點é¸"確定" +NewFolderName=新資料夾 + +; *** "Welcome" wizard page +WelcomeLabel1=您å³å°‡é–‹å§‹å®‰è£ Popcorn Time! +WelcomeLabel2=將安è£[name/ver]至您的電腦 %n%n請記得 Popcorn Time 還在Beta測試階段, 因此我們ä¸ä¿è­‰ä»»ä½•äº‹, 使用者需自行承擔任何å¯èƒ½çš„風險 + +; *** "Password" wizard page +WizardPassword=密碼 +PasswordLabel1=此安è£ç”±å¯†ç¢¼ä¿è­· +PasswordLabel3=請輸入密碼, 然後點é¸"下一步"繼續, 請注æ„密碼有å€åˆ†å¤§å°å¯« +PasswordEditLabel=密碼(&P): +IncorrectPassword=您輸入的密碼ä¸æ­£ç¢º è«‹å†è¼¸å…¥ä¸€æ¬¡ + +; *** "License Agreement" wizard page +WizardLicense=授權åŒæ„書 +LicenseLabel=繼續å‰è«‹å…ˆè©³ç´°é–±è®€ä»¥ä¸‹é‡è¦è³‡è¨Š +LicenseLabel3=請詳閱以下授權åŒæ„書, 您必須接å—本åŒæ„書æ‰èƒ½ç¹¼çºŒå®‰è£æœ¬ç¨‹å¼ +LicenseAccepted=我接å—æ­¤åŒæ„書(&a) +LicenseNotAccepted=我ä¸æŽ¥å—æ­¤åŒæ„書(&d) + +; *** "Information" wizard pages +WizardInfoBefore=資訊 +InfoBeforeLabel=繼續å‰è«‹å…ˆè©³ç´°é–±è®€ä»¥ä¸‹é‡è¦è³‡è¨Š +InfoBeforeClickLabel=當您準備好繼續安è£, 請點é¸"下一步" +WizardInfoAfter=資訊 +InfoAfterLabel=繼續å‰è«‹å…ˆè©³ç´°é–±è®€ä»¥ä¸‹é‡è¦è³‡è¨Š +InfoAfterClickLabel=當您準備好繼續安è£, 請點é¸"下一步" + +; *** "User Information" wizard page +WizardUserInfo=使用者資料 +UserInfoDesc=請輸入您的資料 +UserInfoName=使用者å稱(&U): +UserInfoOrg=組織(&O): +UserInfoSerial=åºè™Ÿ(&S): +UserInfoNameRequired=您必須輸入一個åå­— + +; *** "Select Destination Location" wizard page +WizardSelectDir=é¸æ“‡ç›®æ¨™ä½ç½® +SelectDirDesc=您想將 [name] 安è£åˆ°å“ªè£¡? +SelectDirLabel3=安è£ç¨‹å¼å°‡æŠŠ [name] 安è£è‡³ä»¥ä¸‹è³‡æ–™å¤¾ +SelectDirBrowseLabel=請點é¸"下一步"繼續安è£, 或點é¸"ç€è¦½"來é¸æ“‡å…¶ä»–資料夾 +DiskSpaceMBLabel=è‡³å°‘éœ€è¦ [mb] MB 的硬碟空間 +CannotInstallToNetworkDrive=安è£ç¨‹å¼ç„¡æ³•å®‰è£è‡³ç¶²è·¯ç£ç¢Ÿ +CannotInstallToUNCPath=安è£ç¨‹å¼ç„¡æ³•å®‰è£è‡³UNC路徑 +InvalidPath=您必須æ供一個å«ç£ç¢Ÿæ©Ÿä»£è™Ÿçš„完整路徑, 例如:%n%nC:\APP%n%n 或是UNC路徑, 例如:%n%n\\server\share +InvalidDrive=您所é¸æ“‡çš„ç£ç¢Ÿæ©Ÿæˆ–是UNC路徑ä¸å­˜åœ¨æˆ–æ˜¯ç„¡æ³•é€£çµ è«‹é‡æ–°é¸æ“‡ +DiskSpaceWarningTitle=ç£ç¢Ÿæ©Ÿç©ºé–“ä¸è¶³ +DiskSpaceWarning=安è£ç¨‹å¼è‡³å°‘éœ€è¦ %1 KB çš„å¯ç”¨ç©ºé–“, 但所é¸æ“‡çš„ç£ç¢Ÿæ©Ÿä¸Šåªæœ‰ %2 KB çš„å¯ç”¨ç©ºé–“ %n%n您是å¦ä»è¦ç¹¼çºŒ? +DirNameTooLong=資料夾的å稱或是路徑太長 +InvalidDirName=資料夾å稱ä¸åˆæ³• +BadDirName32=資料夾å稱ä¸å¯æœ‰ä»¥ä¸‹å­—å…ƒ:%n%n%1 +DirExistsTitle=資料夾已存在 +DirExists=資料夾:%n%n%1%n%n已經存在 您是å¦ä»è¦å®‰è£è‡³è©²è³‡æ–™å¤¾? +DirDoesntExistTitle=資料夾ä¸å­˜åœ¨ +DirDoesntExist=資料夾:%n%n%1%n%nä¸å­˜åœ¨ 您是å¦è¦å»ºç«‹è©²è³‡æ–™å¤¾? + +; *** "Select Components" wizard page +WizardSelectComponents=é¸æ“‡å…ƒä»¶ +SelectComponentsDesc=è¦å®‰è£å“ªäº›å…ƒä»¶? +SelectComponentsLabel2=點é¸ä½ æƒ³å®‰è£çš„元件, 清除ä¸æƒ³å®‰è£çš„元件, 如è¦ç¹¼çºŒè«‹é»žé¸"下一步" +FullInstallation=å®Œæ•´å®‰è£ +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=ç°¡æ˜“å®‰è£ +CustomInstallation=è‡ªè¨‚å®‰è£ +NoUninstallWarningTitle=該元件已存在 +NoUninstallWarning=安è£ç¨‹å¼å·²åµæ¸¬åˆ°ä»¥ä¸‹å…ƒä»¶å·²å®‰è£:%n%n%1%n%您å¯é¸æ“‡ä¸å®‰è£é€™äº›å…ƒä»¶%n%n您是å¦ä»è¦ç¹¼çºŒ(並é‡æ–°å®‰è£é€™äº›å…ƒä»¶)? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=ç›®å‰æ‰€éœ€è‡³å°‘ [mb] MB çš„ç£ç¢Ÿæ©Ÿç©ºé–“ + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=é¸æ“‡å…¶ä»–工作 +SelectTasksDesc=您想執行什麼é¡å¤–工作 +SelectTasksLabel2=é¸æ“‡ä½ æ–¼å®‰è£ [name] 時想執行的é¡å¤–工作 然後點é¸"下一步" + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=é¸æ“‡é–‹å§‹åŠŸèƒ½è¡¨é¸å–®è³‡æ–™å¤¾ +SelectStartMenuFolderDesc=您想把æ·å¾‘放在哪裡? +SelectStartMenuFolderLabel3=安è£ç¨‹å¼å°‡æŠŠæ·å¾‘建立在以下開始按鈕é¸å–®è³‡æ–™å¤¾ä¸‹ +SelectStartMenuFolderBrowseLabel=請點é¸"下一步"繼續, 如想é¸æ“‡å…¶ä»–資料夾請點é¸"ç€è¦½" +MustEnterGroupName=您必須輸入一個資料夾å稱 +GroupNameTooLong=資料夾å稱或是路徑太長 +InvalidGroupName=資料夾å稱ä¸åˆæ³• +BadGroupName=資料夾å稱ä¸å¯æœ‰ä»¥ä¸‹å­—å…ƒ:%n%n%1 +NoProgramGroupCheck2=ä¸å»ºç«‹é–‹å§‹æŒ‰éˆ•é¸å–®è³‡æ–™å¤¾(&D) + +; *** "Ready to Install" wizard page +WizardReady=æº–å‚™å®‰è£ +ReadyLabel1=安è£ç¨‹å¼ç¾åœ¨å·²ç¶“æº–å‚™å¥½å®‰è£ [name] 至您的電腦 +ReadyLabel2a=點é¸"安è£"以繼續安è£, 如果想更改或是確定å„項設定請點é¸"上一步" +ReadyLabel2b=點é¸"安è£"ä»¥ç¹¼çºŒå®‰è£ +ReadyMemoUserInfo=使用者資料: +ReadyMemoDir=目的地ä½å€: +ReadyMemoType=安è£æ–¹å¼: +ReadyMemoComponents=å·²é¸æ“‡çš„元件: +ReadyMemoGroup=開始功能表é¸å–®è³‡æ–™å¤¾: +ReadyMemoTasks=é¡å¤–工作: + +; *** "Preparing to Install" wizard page +WizardPreparing=æ­£æº–å‚™å®‰è£ +PreparingDesc=安è£ç¨‹å¼ç¾åœ¨æ­£æº–å‚™å®‰è£ [name] 至您的電腦 +PreviousInstallNotCompleted=上一次的安è£/解除安è£æœªå®Œæˆ, 您必須é‡æ–°é–‹æ©Ÿä»¥å®Œæˆå®‰è£%n%né‡æ–°é–‹æ©Ÿå¾Œ, å†æ¬¡åŸ·è¡Œå®‰è£ç¨‹å¼ä»¥å®Œæˆ [name] çš„å®‰è£ +CannotContinue=安è£ç„¡æ³•ç¹¼çºŒ, 請點é¸"å–消"離開安è£ç¨‹å¼ +ApplicationsFound=以下應用程å¼æ­£åœ¨ä½¿ç”¨å®‰è£ç¨‹å¼éœ€æ›´æ–°çš„檔案, 建議您讓安è£ç¨‹å¼è‡ªå‹•é—œé–‰é€™äº›æ‡‰ç”¨ç¨‹å¼ +ApplicationsFound2=以下應用程å¼æ­£åœ¨ä½¿ç”¨å®‰è£ç¨‹å¼éœ€æ›´æ–°çš„檔案, 建議您讓安è£ç¨‹å¼è‡ªå‹•é—œé–‰é€™äº›æ‡‰ç”¨ç¨‹å¼, 在安è£å®Œæˆå¾Œæœ¬å®‰è£ç¨‹å¼å°‡å˜—試é‡æ–°å•Ÿå‹•é€™äº›æ‡‰ç”¨ç¨‹å¼ +CloseApplications=自動關閉應用程å¼(&A) +DontCloseApplications=ä¸è¦è‡ªå‹•é—œé–‰æ‡‰ç”¨ç¨‹å¼(&D) +ErrorCloseApplications=安è£ç¨‹å¼ç„¡æ³•è‡ªå‹•é—œé–‰å…¨éƒ¨çš„應用程å¼, 建議您在繼續安è£å‰, æ‰‹å‹•é—œé–‰é€™äº›æ‡‰ç”¨ç¨‹å¼ + +; *** "Installing" wizard page +WizardInstalling=安è£ä¸­ +InstallingLabel=è«‹ç¨å¾…, 安è£ç¨‹å¼æ­£åœ¨æŠŠ [name] 安è£è‡³æ‚¨çš„電腦上 + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=å®Œæˆ [name] 安è£ç²¾éˆ +FinishedLabelNoIcons=安è£ç¨‹å¼å·²å°‡ [name] 安è£è‡³æ‚¨çš„電腦上 +FinishedLabel=安è£ç¨‹å¼å·²å°‡ [name] 安è£è‡³æ‚¨çš„電腦上, å¯é¸æ“‡è©²æ·å¾‘ä¾†åŸ·è¡Œæ­¤æ‡‰ç”¨ç¨‹å¼ +ClickFinish=請點é¸"çµæŸ"來離開安è£ç¨‹å¼ +FinishedRestartLabel=è¦å®Œæˆ [name] 的安è£, 安è£ç¨‹å¼å¿…é ˆé‡æ–°å•Ÿå‹•é›»è…¦, 您是å¦æƒ³è¦ç«‹åˆ»é‡æ–°å•Ÿå‹•é›»è…¦? +FinishedRestartMessage=è¦å®Œæˆ [name] 的安è£, 安è£ç¨‹å¼å¿…é ˆé‡æ–°å•Ÿå‹•é›»è…¦ %n%n您是å¦æƒ³è¦ç«‹åˆ»é‡æ–°å•Ÿå‹•é›»è…¦? +ShowReadmeCheck=是, 我想ç¾åœ¨æŸ¥çœ‹è®€æˆ‘(README)檔案 +YesRadio=是, 立刻é‡æ–°å•Ÿå‹•é›»è…¦(&Y) +NoRadio=å¦, 我等下會自行é‡æ–°å•Ÿå‹•é›»è…¦(&N) +; used for example as 'Run MyProg.exe' +RunEntryExec=Run %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=View %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=安è£ç¨‹å¼éœ€è¦æ›´æ›ä¸‹ä¸€ç‰‡ç£ç‰‡ +SelectDiskLabel2=è«‹æ’å…¥ç£ç‰‡%1然後點é¸"確定"%n%n若該檔案放在å¦ä¸€å€‹è³‡æ–™å¤¾, 請輸入正確的路徑或點é¸"ç€è¦½" +PathLabel=路徑(&P)h: +FileNotInDir2=檔案"%1"ä¸åœ¨"%2"中. è«‹æ’入正確的ç£ç‰‡æˆ–是é¸æ“‡å¦ä¸€å€‹è³‡æ–™å¤¾ +SelectDirectoryLabel=è«‹é¸æ“‡ä¸‹ä¸€ç‰‡ç£ç‰‡æ‰€åœ¨çš„ä½ç½® + +; *** Installation phase messages +SetupAborted=安è£ç¨‹å¼æœªå®‰è£å®Œæˆ%n%n請修正å•é¡Œå¾Œå†ä¸€æ¬¡åŸ·è¡Œå®‰è£ç¨‹å¼ +EntryAbortRetryIgnore=請點é¸"é‡è©¦"å†è©¦ä¸€æ¬¡, 或"忽略"繼續執行, 或"中止"來å–æ¶ˆå®‰è£ + +; *** Installation status messages +StatusClosingApplications=關閉應用程å¼ä¸­... +StatusCreateDirs=建立資料夾中... +StatusExtractFiles=解壓縮檔案中... +StatusCreateIcons=建立æ·å¾‘中... +StatusCreateIniEntries=建立INI資料中... +StatusCreateRegistryEntries=建立註冊表資料中... +StatusRegisterFiles=註冊檔案中... +StatusSavingUninstall=儲存移除安è£è³‡è¨Šä¸­... +StatusRunProgram=完æˆå®‰è£ä¸­... +StatusRestartingApplications=é‡æ–°å•Ÿå‹•æ‡‰ç”¨ç¨‹å¼ä¸­... +StatusRollback=å–消修改中... + +; *** Misc. errors +ErrorInternal2=內部錯誤: %1 +ErrorFunctionFailedNoCode=%1 失敗 +ErrorFunctionFailed=%1 失敗; 代碼 %2 +ErrorFunctionFailedWithMessage=%1 失敗; 代碼%2.%n%3 +ErrorExecutingProgram=無法執行檔案:%n%1 + +; *** Registry errors +ErrorRegOpenKey=註冊表key開啟錯誤:%n%1\%2 +ErrorRegCreateKey=註冊表key建立錯誤:%n%1\%2 +ErrorRegWriteKey=註冊表key寫入錯誤:%n%1\%2 + +; *** INI errors +ErrorIniEntry=在檔案"%1"建立INI資訊時發生錯誤 + +; *** File copying errors +FileAbortRetryIgnore=請點é¸"é‡è©¦"å†è©¦ä¸€æ¬¡, 或"忽略"è·³éŽæ­¤æª”案(ä¸å»ºè­°), 或"中止"來å–æ¶ˆå®‰è£ +FileAbortRetryIgnore2=請點é¸"é‡è©¦"å†è©¦ä¸€æ¬¡, 或"忽略"繼續執行(ä¸å»ºè­°), 或"中止"來å–æ¶ˆå®‰è£ +SourceIsCorrupted=原始檔已æ毀 +SourceDoesntExist=原始檔"%1"ä¸å­˜åœ¨ +ExistingFileReadOnly=該檔案被標示為"唯讀"%n%n請點é¸"é‡è©¦"å–消唯讀屬性, 或"忽略"è·³éŽæ­¤æª”案, 或"中止"來å–æ¶ˆå®‰è£ +ErrorReadingExistingDest=當讀å–此檔案時發生錯誤: +FileExists=此檔案已存在%n%n您是å¦è¦å®‰è£ç¨‹å¼è¤‡å¯«è©²æª”案? +ExistingFileNewer=此檔案版本比安è£ç¨‹å¼å®‰è£çš„é‚„è¦æ–°, 建議您ä¿ç•™æ­¤æª”案 %n%n您是å¦è¦ä¿ç•™æ­¤æª”案? +ErrorChangingAttr=當嘗試改變此檔案屬性時發生錯誤: +ErrorCreatingTemp=當嘗試建立檔案於此目標資料夾時發生錯誤: +ErrorReadingSource=當嘗試讀å–此原始檔時發生錯誤: +ErrorCopying=當嘗試複製此檔案時發生錯誤: +ErrorReplacingExistingFile=當嘗試å–代此檔案時發生錯誤: +ErrorRestartReplace=é‡æ–°å–代時錯誤: +ErrorRenamingTemp=當嘗試é‡æ–°å‘½å此檔案時發生錯誤: +ErrorRegisterServer=無法註冊DLL/OCX: %1 +ErrorRegSvr32Failed=RegSvr32 failed with exit code %1 +ErrorRegisterTypeLib=Unable to register the type library: %1 + +; *** Post-installation errors +ErrorOpeningReadme=開啟讀我(README)檔案時發生錯誤 +ErrorRestartingComputer=安è£ç¨‹å¼ç„¡æ³•è‡ªå‹•é‡æ–°å•Ÿå‹•é›»è…¦, 請手動é‡æ–°å•Ÿå‹•é›»è…¦ + +; *** Uninstaller messages +UninstallNotFound=檔案"%1"ä¸å­˜åœ¨, ç„¡æ³•è§£é™¤å®‰è£ +UninstallOpenError=無法開啟檔案"%1", ç„¡æ³•è§£é™¤å®‰è£ +UninstallUnsupportedVer=此版本的解除安è£ç¨‹å¼ç„¡æ³•è¾¨è­˜ç´€éŒ„檔"%1", ç„¡æ³•è§£é™¤å®‰è£ +UninstallUnknownEntry=An unknown entry (%1) was encountered in the uninstall log +ConfirmUninstall=您是å¦ç¢ºå®šè¦å®Œå…¨ç§»é™¤ %1 和他的所有元件 +UninstallOnlyOnWin64=此程å¼åƒ…能由64ä½å…ƒçš„Windows移除 +OnlyAdminCanUninstall=此程å¼åƒ…能由æ“有管ç†è€…權é™çš„使用者移除 +UninstallStatusLabel=è«‹ç¨å¾…, 正在從您的電腦中移除 %1 +UninstalledAll=%1 已由您的電腦內æˆåŠŸç§»é™¤ +UninstalledMost=%1 解除安è£å·²å®Œæˆ%n%n但æŸäº›å…ƒç´ ä¸¦æœªè¢«ç§»é™¤, 請以手動方å¼ç§»é™¤ +UninstalledAndNeedsRestart=è¦å®Œæˆ %1 的安è£, 安è£ç¨‹å¼å¿…é ˆé‡æ–°å•Ÿå‹•é›»è…¦ %n%n您是å¦æƒ³è¦ç«‹åˆ»é‡æ–°å•Ÿå‹•é›»è…¦? +UninstallDataCorrupted=檔案"%1"已毀æ, ç„¡æ³•è§£é™¤å®‰è£ + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=移除共享檔案? +ConfirmDeleteSharedFile2=系統åµæ¸¬åˆ°ä»¥ä¸‹å…±äº«æª”案已ä¸è¢«ä»»ä½•ç¨‹å¼ä½¿ç”¨, 您是å¦è¦ç§»é™¤é€™äº›æª”案?%n%n若有其他程å¼ä»æœƒä½¿ç”¨é€™äº›æª”案, 則å¯èƒ½é€ æˆè©²ç¨‹å¼ç„¡æ³•åŸ·è¡Œ, 若你無法確定, è«‹é¸æ“‡"å¦", ä¿ç•™è©²æª”案並ä¸æœƒå°ç³»çµ±é€ æˆæ害 +SharedFileNameLabel=檔案å稱: +SharedFileLocationLabel=ä½å€: +WizardUninstalling=解除安è£ç¨‹å¼ç‹€æ…‹ +StatusUninstalling=%1 解除安è£ä¸­... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=%1 安è£ä¸­. +ShutdownBlockReasonUninstallingApp=%1 解除安è£ä¸­ + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 版本 %2 +AdditionalIcons=é¡å¤–æ·å¾‘: +CreateDesktopIcon=建立桌é¢æ·å¾‘(&d) +CreateQuickLaunchIcon=建立快速啟動æ·å¾‘(&Q) +ProgramOnTheWeb=%1 on the Web +UninstallProgram=è§£é™¤å®‰è£ %1 +LaunchProgram=執行 %1 +AssocFileExtension=&Associate %1 with the %2 file extension +AssocingFileExtension=Associating %1 with the %2 file extension... +AutoStartProgramGroupDescription=Startup: +AutoStartProgram=自動開啟 %1 +AddonHostProgramNotFound=您所é¸æ“‡çš„資料夾內找ä¸åˆ° %1 %n%n您是å¦ä»è¦ç¹¼çºŒ? diff --git a/dist/windows/languages/Turkish.isl b/dist/windows/languages/Turkish.isl new file mode 100644 index 00000000..de6ed282 --- /dev/null +++ b/dist/windows/languages/Turkish.isl @@ -0,0 +1,336 @@ +; *** Inno Setup version 5.5.3+ Turkish messages *** +; Language "Turkce" Turkish Translate by "Ceviren" Adil YILDIZ adilyildiz@gmail.com +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/files/istrans/ +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=T<00FC>rk<00E7>e +LanguageID=$041f +LanguageCodePage=1254 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=Kur +SetupWindowTitle=%1 - Kur +UninstallAppTitle=Kaldır +UninstallAppFullTitle=%1 Kaldır + +; *** Misc. common +InformationTitle=Bilgi +ConfirmTitle=Sorgu +ErrorTitle=Hata + +; *** SetupLdr messages +SetupLdrStartupMessage=Bu kurulum %1 programını yükleyecektir. Devam etmek istiyor musunuz? +LdrCannotCreateTemp=Geçici bir dosya oluÅŸturulamadı. Kurulum iptal edildi +LdrCannotExecTemp=Geçici dizindeki dosya çalıştırılamadı. Kurulum iptal edildi + +; *** Startup error messages +LastErrorMessage=%1.%n%nHata %2: %3 +SetupFileMissing=%1 adlı dosya kurulum dizininde bulunamadı. Lütfen problemi düzeltiniz veya programın yeni bir kopyasını edininiz. +SetupFileCorrupt=Kurulum dosyaları bozulmuÅŸ. Lütfen programın yeni bir kopyasını edininiz. +SetupFileCorruptOrWrongVer=Kurulum dosyaları bozulmuÅŸ veya kurulumun bu sürümü ile uyuÅŸmuyor olabilir. Lütfen problemi düzeltiniz veya Programın yeni bir kopyasını edininiz. +InvalidParameter=Komut satırına geçersiz bir parametre girildi:%n%n%1 +SetupAlreadyRunning=Kur zaten çalışıyor. +WindowsVersionNotSupported=Bu program bilgisayarınızda çalışan Windows sürümünü desteklemiyor. +WindowsServicePackRequired=Bu program için %1 Service Pack %2 veya sonrası gerekmektedir. +NotOnThisPlatform=Bu program %1 üzerinde çalıştırılamaz. +OnlyOnThisPlatform=Bu program sadece %1 üzerinde çalıştırılmalıdır. +OnlyOnTheseArchitectures=Bu program sadece aÅŸağıdaki mimarilere sahip Windows sürümlerinde çalışır:%n%n%1 +MissingWOW64APIs=Kullandığınız Windows sürümü Kur'un 64-bit yükleme yapabilmesi için gerekli olan özelliklere sahip deÄŸildir. Bu problemi ortadan kaldırmak için lütfen Service Pack %1 yükleyiniz. +WinVersionTooLowError=Bu programı çalıştırabilmek için %1 %2 sürümü veya daha sonrası yüklü olmalıdır. +WinVersionTooHighError=Bu program %1 %2 sürümü veya sonrasında çalışmaz. +AdminPrivilegesRequired=Bu program kurulurken yönetici olarak oturum açılmış olmak gerekmektedir. +PowerUserPrivilegesRequired=Bu program kurulurken Yönetici veya Güç Yöneticisi Grubu üyesi olarak giriÅŸ yapılmış olması gerekmektedir. +SetupAppRunningError=Kur %1 programının çalıştığını tespit etti.%n%nLütfen bu programın çalışan bütün parçalarını ÅŸimdi kapatınız, daha sonra devam etmek için Tamam'a veya çıkmak için Ä°ptal'e basınız. +UninstallAppRunningError=Kaldır %1 programının çalıştığını tespit etti.%n%nLütfen bu programın çalışan bütün parçalarını ÅŸimdi kapatınız, daha sonra devam etmek için Tamam'a veya çıkmak için Ä°ptal'e basınız. + +; *** Misc. errors +ErrorCreatingDir=Kur " %1 " dizinini oluÅŸturamadı. +ErrorTooManyFilesInDir=" %1 " dizininde bir dosya oluÅŸturulamadı. Çünkü dizin çok fazla dosya içeriyor + +; *** Setup common messages +ExitSetupTitle=Kur'dan Çık +ExitSetupMessage=Kurulum tamamlanmadı. Åžimdi çıkarsanız program kurulmuÅŸ olmayacak.%n%nDaha sonra Kur'u tekrar çalıştırarak kurulumu tamamlayabilirsiniz.%n%nKur'dan çıkmak istediÄŸinizden emin misiniz? +AboutSetupMenuItem=Kur H&akkında... +AboutSetupTitle=Kur Hakkında +AboutSetupMessage=%1 %2 sürümü%n%3%n%n%1 internet:%n%4 +AboutSetupNote= +TranslatorNote= + +; *** Buttons +ButtonBack=< G&eri +ButtonNext=Ä°&leri > +ButtonInstall=&Kur +ButtonOK=Tamam +ButtonCancel=Ä°ptal +ButtonYes=E&vet +ButtonYesToAll=Tümüne E&vet +ButtonNo=&Hayır +ButtonNoToAll=Tümüne Ha&yır +ButtonFinish=&Son +ButtonBrowse=&Gözat... +ButtonWizardBrowse=Göza&t... +ButtonNewFolder=Ye&ni Dizin OluÅŸtur + +; *** "Select Language" dialog messages +SelectLanguageTitle=Kur Dilini Seçiniz +SelectLanguageLabel=Lütfen kurulum sırasında kullanacağınız dili seçiniz: + +; *** Common wizard text +ClickNext=Devam etmek için Ä°leri'ye , çıkmak için Ä°ptal 'e basınız. +BeveledLabel= +BrowseDialogTitle=Dizine Gözat +BrowseDialogLabel=AÅŸağıdaki listeden bir dizin seçip, daha sonra Tamam tuÅŸuna basınız. +NewFolderName=Yeni Dizin + +; *** "Welcome" wizard page +WelcomeLabel1=[name] Kurulum Sihirbazına HoÅŸgeldiniz. +WelcomeLabel2=Kur ÅŸimdi [name/ver] programını bilgisayarınıza yükleyecektir.%n%nDevam etmeden önce çalışan diÄŸer bütün programları kapatmanız tavsiye edilir. + +; *** "Password" wizard page +WizardPassword=Åžifre +PasswordLabel1=Bu kurulum ÅŸifre korumalıdır. +PasswordLabel3=Lütfen ÅŸifreyi giriniz. Daha sonra devam etmek için Ä°leri'ye basınız. Lütfen ÅŸifreyi girerken Büyük-Küçük harflere dikkat ediniz. +PasswordEditLabel=&Åžifre: +IncorrectPassword=GirdiÄŸiniz ÅŸifre hatalı. Lütfen tekrar deneyiniz. + +; *** "License Agreement" wizard page +WizardLicense=Lisans AnlaÅŸması +LicenseLabel=Lütfen devam etmeden önce aÅŸağıdaki önemli bilgileri okuyunuz. +LicenseLabel3=Lütfen AÅŸağıdaki Lisans AnlaÅŸmasını okuyunuz. Kuruluma devam edebilmek için bu anlaÅŸmanın koÅŸullarını kabul etmiÅŸ olmalısınız. +LicenseAccepted=AnlaÅŸmayı Kabul &Ediyorum. +LicenseNotAccepted=AnlaÅŸmayı Kabul Et&miyorum. + +; *** "Information" wizard pages +WizardInfoBefore=Bilgi +InfoBeforeLabel=Lütfen devam etmeden önce aÅŸağıdaki önemli bilgileri okuyunuz. +InfoBeforeClickLabel=Kur ile devam etmeye hazır olduÄŸunuzda Ä°leri'yi tıklayınız. +WizardInfoAfter=Bilgi +InfoAfterLabel=Lütfen devam etmeden önce aÅŸağıdaki önemli bilgileri okuyunuz. +InfoAfterClickLabel=Kur ile devam etmeye hazır olduÄŸunuzda Ä°leri'yi tıklayınız. + +; *** "User Information" wizard page +WizardUserInfo=Kullanıcı Bilgileri +UserInfoDesc=Lütfen bilgilerinizi giriniz. +UserInfoName=K&ullanıcı Adı: +UserInfoOrg=Åži&rket: +UserInfoSerial=&Seri Numarası: +UserInfoNameRequired=Bir isim girmelisiniz. + +; *** "Select Destination Directory" wizard page +WizardSelectDir=Kurulacak Dizini Seçiniz +SelectDirDesc=[name] hangi dizine kurulsun? +SelectDirLabel3=Kur [name] programını aÅŸağıdaki dizine kuracaktır. +SelectDirBrowseLabel=Devam etmek için Ä°leri'ye basınız. BaÅŸka bir dizin seçmek istiyorsanız, Gözat'a basınız. +DiskSpaceMBLabel=Bu program en az [mb] MB disk alanı gerektirmektedir. +CannotInstallToNetworkDrive=Kur bir aÄŸ sürücüsüne kurulum yapamaz. +CannotInstallToUNCPath=Kur UNC tipindeki dizin yollarına (Örnek: \\yol vb.) kurulum yapamaz. +InvalidPath=Sürücü ismi ile birlikte tam yolu girmelisiniz; ÖrneÄŸin %nC:\APP%n%n veya bir UNC yolunu %n%n\\sunucu\paylaşım%n%n ÅŸeklinde girmelisiniz. +InvalidDrive=SeçtiÄŸiniz sürücü bulunamadı veya ulaşılamıyor. Lütfen baÅŸka bir sürücü seçiniz. +DiskSpaceWarningTitle=Yetersiz Disk Alanı +DiskSpaceWarning=Kur en az %1 KB kullanılabilir disk alanı gerektirmektedir. Ancak seçili diskte %2 KB boÅŸ alan bulunmaktadır.%n%nYine de devam etmek istiyor musunuz? +DirNameTooLong=Dizin adı veya yolu çok uzun. +InvalidDirName=Dizin adı geçersiz. +BadDirName32=Dizin adı takib eden karakterlerden her hangi birini içeremez:%n%n%1 +DirExistsTitle=Dizin Bulundu +DirExists=Dizin:%n%n%1%n%n zaten var. Yine de bu dizine kurmak istediÄŸinizden emin misiniz? +DirDoesntExistTitle=Dizin Bulunamadı +DirDoesntExist=Dizin:%n%n%1%n%nbulunmamaktadır. Bu dizini oluÅŸturmak ister misiniz? + +; *** "Select Components" wizard page +WizardSelectComponents=BileÅŸen Seç +SelectComponentsDesc=Hangi bileÅŸenler kurulsun? +SelectComponentsLabel2=Kurmak istediÄŸiniz bileÅŸenleri seçiniz; istemediklerinizi temizleyiniz.Devam etmeye hazır olduÄŸunuz zaman Ä°leri'ye tıklayınız. +FullInstallation=Tam Kurulum +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Normal Kurulum +CustomInstallation=Özel Kurulum +NoUninstallWarningTitle=Mevcut BileÅŸenler +NoUninstallWarning=Kur aÅŸağıdaki bileÅŸenlerin kurulu olduÄŸunu tespit etti:%n%n%1%n%nBu bileÅŸenlerin seçimini kaldırmak bileÅŸenleri silmeyecek.%n%nYine de devam etmek istiyor musunuz? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=Seçili bileÅŸenler için en az [mb] MB disk alanı gerekmektedir. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Ek Görevleri Seçiniz +SelectTasksDesc=Hangi görevler yerine getirilsin? +SelectTasksLabel2=[name] kurulurken istediÄŸiniz ek görevleri seçip Ä°leri'ye tıklayınız. + +; *** "BaÅŸlat Menüsü Dizini Seç" sihirbaz sayfası +WizardSelectProgramGroup=BaÅŸlat Menüsü Dizinini Seçiniz +SelectStartMenuFolderDesc=Kur program kısayollarını nereye yerleÅŸtirsin? +SelectStartMenuFolderLabel3=Kur programın kısayollarını aÅŸağıdaki BaÅŸlat Menüsü dizinine kuracak. +SelectStartMenuFolderBrowseLabel=Devam etmek için, Ä°leri'ye basınız. BaÅŸka bir dizin seçmek istiyorsanız, Gözat'a basınız. +MustEnterGroupName=Bir dizin ismi girmelisiniz. +GroupNameTooLong=Dizin adı veya yolu çok uzun. +InvalidGroupName=Dizin adı geçersiz. +BadGroupName=Dizin adı, takip eden karakterlerden her hangi birini içeremez:%n%n%1 +NoProgramGroupCheck2=&BaÅŸlat menüsünde kısayol oluÅŸturma + +; *** "Ready to Install" wizard page +WizardReady=Yükleme için Hazır +ReadyLabel1=Kur [name] programını bilgisayarınıza kurmak için hazır. +ReadyLabel2a=Kuruluma devam etmek için Kur'a , ayarlarınızı kontrol etmek veya deÄŸiÅŸtirmek için Geri'ye tıklayınız. +ReadyLabel2b=Kuruluma devam etmek için Kur'a tıklayınız. +ReadyMemoUserInfo=Kullanıcı bilgisi: +ReadyMemoDir=Hedef dizin: +ReadyMemoType=Kurulum tipi: +ReadyMemoComponents=Seçili bileÅŸenler: +ReadyMemoGroup=BaÅŸlat Menüsü : +ReadyMemoTasks=Ek görevler: + +; *** "Kur Hazılanıyor" sihirbaz sayfası +WizardPreparing=Kurulum Hazırlanıyor +PreparingDesc=Kur [name] programını bilgisayarınıza kurmak için hazırlanıyor. +PreviousInstallNotCompleted=Bir önceki Kurulum/Kaldır programına ait iÅŸlem tamamlanmamış.Önceki kurulum iÅŸleminin tamamlanması için bilgisayarınızı yeniden baÅŸlatmalısınız.%n%nBilgisayarınız tekrar baÅŸladıktan sonra,Kurulum'u tekrar çalıştırarak [name] programını kurma iÅŸlemine devam edebilirsiniz. +CannotContinue=Kur devam edemiyor. Lütfen Ä°ptal'e tıklayıp Çıkın. +ApplicationsFound=AÅŸağıdaki uygulamalar, Kur tarafından güncelleÅŸtirilmesi gereken dosyaları kullanıyor. Kur tarafından, bu uygulamaların otomatik kapatılmasına izin vermenizi öneririz. +ApplicationsFound2=AÅŸağıdaki uygulamalar, Kur tarafından güncelleÅŸtirilmesi gereken dosyaları kullanıyor. Kur tarafından, bu uygulamaların otomatik kapatılmasına izin vermenizi öneririz. Yükleme tamamlandıktan sonra, Kur uygulamaları yeniden baÅŸlatmaya çalışacaktır. +CloseApplications=&Uygulamaları otomatik kapat +DontCloseApplications=Uygulamaları &kapatma +ErrorCloseApplications=Kurulum otomatik olarak tüm programları kapatmakta baÅŸarısız oldu. Devam etmeden önce Kurulum tarafından güncellenmesi gereken dosyaları kullanan uygulamaları kapatmanız önerilir. + +; *** "Kuruluyor" sihirbaz +WizardInstalling=Kuruluyor +InstallingLabel=Lütfen [name] bilgisayarınıza kurulurken bekleyiniz. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=[name] Kur Sihirbazı tamamlanıyor +FinishedLabelNoIcons=Kur [name] programını bilgisayarınıza kurma iÅŸlemini tamamladı. +FinishedLabel=Kur [name] programını bilgisayarınıza kurma iÅŸlemini tamamladı. Program yüklenen kısayol simgesine tıklanarak çalıştırılabilir. +ClickFinish=Kur'dan çıkmak için Son'a tıklayınız. +FinishedRestartLabel=[name] programının kurulumunu bitirmek için, Kur bilgisayarınızı yeniden baÅŸlatacak. Bilgisayarınız yeniden baÅŸlatılsın mı? +FinishedRestartMessage=[name] kurulumunu bitirmek için, bilgisayarınızın yeniden baÅŸlatılması gerekmektedir. %n%nBiligisayarınız yeniden baÅŸlatılsın mı? +ShowReadmeCheck=Beni Oku dosyasını okumak istiyorum. +YesRadio=&Evet , bilgisayar yeniden baÅŸlatılsın. +NoRadio=&Hayır, daha sonra yeniden baÅŸlatırım. +; used for example as 'Run MyProg.exe' +RunEntryExec=%1 uygulamasını Çalıştır +; used for example as 'View Readme.txt' +RunEntryShellExec=%1 dosyasını görüntüle + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=Bir Sonraki Diski Takınız +SelectDiskLabel2=%1 numaralı diski takıp, Tamam'ı tıklayınız.%n%nEÄŸer dosyalar baÅŸka bir yerde bulunuyor ise doÄŸru yolu yazınız veya Gözat'ı tıklayınız. +PathLabel=&Yol: +FileNotInDir2=" %1 " adlı dosya " %2 " dizininde bulunamadı. Lütfen doÄŸru diski veya dosyayı seçiniz. +SelectDirectoryLabel=Lütfen sonraki diskin yerini belirleyiniz. + +; *** Installation phase messages +SetupAborted=Kurulum tamamlanamadı.%n%nLütfen problemi düzeltiniz veya Kurulum'u tekrar çalıştırınız. +EntryAbortRetryIgnore=Tekrar denemek için "Tekrar Dene" ye , yine de devam etmek için Yoksay'a , kurulumu iptal etmek için ise Ä°ptal'e tıklayınız. + +; *** Installation status messages +StatusClosingApplications=Uygulamalar kapatılıyor... +StatusCreateDirs=Dizinler oluÅŸturuluyor... +StatusExtractFiles=Dosyalar çıkartılıyor... +StatusCreateIcons=Program kısayolları oluÅŸturuluyor... +StatusCreateIniEntries=INI girdileri oluÅŸturuluyor... +StatusCreateRegistryEntries=Kayıt Defteri girdileri oluÅŸturuluyor... +StatusRegisterFiles=Dosyalar sisteme kaydediliyor... +StatusSavingUninstall=Kaldır bilgileri kaydediliyor... +StatusRunProgram=Kurulum sonlandırılıyor... +StatusRestartingApplications=Uygulamalar baÅŸlatılıyor... +StatusRollback=DeÄŸiÅŸiklikler geri alınıyor... + +; *** Misc. errors +ErrorInternal2=İç hata: %1 +ErrorFunctionFailedNoCode=%1 baÅŸarısız oldu. +ErrorFunctionFailed=%1 baÅŸarısız oldu; kod %2 +ErrorFunctionFailedWithMessage=%1 baÅŸarısız oldu ; kod %2.%n%3 +ErrorExecutingProgram=%1 adlı dosya çalıştırılamadı. + +; *** Registry errors +ErrorRegOpenKey=AÅŸağıdaki Kayıt Defteri anahtarı açılırken hata oluÅŸtu:%n%1\%2 +ErrorRegCreateKey=AÅŸağıdaki Kayıt Defteri anahtarı oluÅŸturulurken hata oluÅŸtu:%n%1\%2 +ErrorRegWriteKey=AÅŸağıdaki Kayıt Defteri anahtarına yazılırken hata oluÅŸtu:%n%1\%2 + +; *** INI errors +ErrorIniEntry=" %1 " adlı dosyada INI girdisi yazma hatası. + +; *** File copying errors +FileAbortRetryIgnore=Yeniden denemek için "Yeniden Dene" ye, dosyayı atlamak için Yoksay'a (önerilmez), Kurulumu iptal etmek için Ä°ptal'e tıklayınız. +FileAbortRetryIgnore2=Yeniden denemek için "Yeniden Dene" ye , yine de devam etmek için Yoksay'a (önerilmez), Kurulumu Ä°ptal etmek için Ä°ptal'e tıklayınız. +SourceIsCorrupted=Kaynak dosya bozulmuÅŸ +SourceDoesntExist=%1 adlı kaynak dosya bulunamadı. +ExistingFileReadOnly=Dosya Salt Okunur.%n%nSalt Okunur özelliÄŸini kaldırıp yeniden denemek için Yeniden Dene'yi , dosyası atlamak için Yoksay'ı , Kurulumu iptal etmek için Ä°ptal'i tıklayınız. +ErrorReadingExistingDest=Dosyayı okurken bir hata oluÅŸtu : +FileExists=Dosya zaten var.%n%nKurulum'un üzerine yazmasını ister misiniz? +ExistingFileNewer=Zaten var olan dosya Kurulum'un yüklemek istediÄŸi dosyadan daha yeni. Var olan dosyayı saklamanız önerilir.%n%nVar olan dosya saklansın mı? +ErrorChangingAttr=Zaten var olan dosyanın özelliÄŸi deÄŸiÅŸtirilirken bir hata oluÅŸtu: +ErrorCreatingTemp=Hedef dizinde dosya oluÅŸturulurken bir hata oluÅŸtu: +ErrorReadingSource=Kaynak dosya okunurken bir hata oluÅŸtu: +ErrorCopying=Bir dosya kopyalanırken bir hata oluÅŸtu: +ErrorReplacingExistingFile=Zaten var olan dosya deÄŸiÅŸtirilirken bir hata oluÅŸtu: +ErrorRestartReplace=RestartReplace baÅŸarısız oldu: +ErrorRenamingTemp=Hedef dizinde bulunan dosyanın adı deÄŸiÅŸtirilirken hata oldu: +ErrorRegisterServer=%1 adlı DLL/OCX sisteme tanıtılamadı. +ErrorRegSvr32Failed=RegSvr32 çıkış hatası %1 ile baÅŸarısız oldu +ErrorRegisterTypeLib=%1 adlı tip kütüphanesi (Type Library) sisteme tanıtılamadı + +; *** Post-installation errors +ErrorOpeningReadme=Beni Oku dosyası açılırken hata oluÅŸtu. +ErrorRestartingComputer=Kurulum bilgisayarı yeniden baÅŸlatamadı. Lütfen kendiniz kapatınız. + +; *** Uninstaller messages +UninstallNotFound=%1 adlı dosya bulunamadı. Kaldırma programı çalıştırılamadı. +UninstallOpenError="%1" dosyası açılamıyor. Kaldırma programı çalıştırılamadı. +UninstallUnsupportedVer=%1 adlı Kaldır bilgi dosyası kaldırma programının bu sürümü ile uyuÅŸmuyor. Kaldırma programı çalıştırılamadı. +UninstallUnknownEntry=Kaldır Bilgi dosyasındaki %1 adlı satır anlaşılamadı +ConfirmUninstall=%1 ve bileÅŸenlerini kaldırmak istediÄŸinizden emin misiniz? +UninstallOnlyOnWin64=Bu kurulum sadece 64-bit Windows'lardan kaldırılabilir. +OnlyAdminCanUninstall=Bu kurulum sadece yönetici yetkisine sahip kullanıcılar tarafından kaldırabilir. +UninstallStatusLabel=Lütfen %1 programı bilgisayarınızdan kaldırılırken bekleyin... +UninstalledAll=%1 programı bilgisayarınızdan tamamen kaldırıldı. +UninstalledMost=%1 programının kaldırılma iÅŸlemi sona erdi.%n%nBazı bileÅŸenler kaldırılamadı. Bu dosyaları kendiniz silebilirsiniz. +UninstalledAndNeedsRestart=%1 programının kaldırılması tamamlandı, Bilgisayarınızı yeniden baÅŸlatmalısınız.%n%nÅžimdi yeniden baÅŸlatılsın mı? +UninstallDataCorrupted="%1" adlı dosya bozuk. . Kaldırma programı çalıştırılamadı. + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Paylaşılan Dosya Kaldırılsın Mı? +ConfirmDeleteSharedFile2=Sistemde paylaşılan bazı dosyaların artık hiçbir program tarafından kullanılmadığını belirtiyor. Kaldır bu paylaşılan dosyaları silsin mi?%n%n Bu dosya bazı programlar tafarından kullanılıyorsa ve silinmesini isterseniz, bu programalar düzgün çalışmayabilir. Emin deÄŸilseniz, Hayır'a tıklayınız. Dosyanın sisteminizde durması hiçbir zarar vermez. +SharedFileNameLabel=Dosya adı: +SharedFileLocationLabel=Yol: +WizardUninstalling=Kaldırma Durumu +StatusUninstalling=%1 Kaldırılıyor... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=%1 kuruluyor. +ShutdownBlockReasonUninstallingApp=%1 kaldırılıyor. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 %2 sürümü +AdditionalIcons=Ek simgeler: +CreateDesktopIcon=Masaüstü simg&esi oluÅŸtur +CreateQuickLaunchIcon=Hızlı BaÅŸlat simgesi &oluÅŸtur +ProgramOnTheWeb=%1 Web Sitesi +UninstallProgram=%1 Programını Kaldır +LaunchProgram=%1 Programını Çalıştır +AssocFileExtension=%2 dosya uzantılarını %1 ile iliÅŸkilendir +AssocingFileExtension=%2 dosya uzantıları %1 ile iliÅŸkilendiriliyor... +AutoStartProgramGroupDescription=BaÅŸlangıç: +AutoStartProgram=%1 otomatik baÅŸlat +AddonHostProgramNotFound=%1 seçtiÄŸiniz klasörde bulunamadı.%n%nYine de devam etmek istiyor musunuz? \ No newline at end of file diff --git a/dist/windows/run.bat b/dist/windows/run.bat new file mode 100644 index 00000000..bd0416a9 --- /dev/null +++ b/dist/windows/run.bat @@ -0,0 +1,2 @@ +start "" "%CD%\node-webkit\nw.exe" "%CD%\app" +exit 0 \ No newline at end of file diff --git a/dist/windows/windows-installer.iss b/dist/windows/windows-installer.iss new file mode 100644 index 00000000..0d5a1058 --- /dev/null +++ b/dist/windows/windows-installer.iss @@ -0,0 +1,117 @@ +; Installer Variables +#define AppName "Popcorn Time" +#define AppVersion "Beta 2.5" +#define AppPublisher "Popcorn Time Team" +#define AppURL "https://github.com/popcorn-time/popcorn-app" +#define AppExeName "run.bat" + + +[Setup] +; DON'T FUCK WITH THE APPID. This uniquely identifies this application, which is used to find the app if we need to update it. +AppId={{F4B2C5C1-F084-4858-B9C3-E641F5C12BBA} + +AppName={#AppName} +AppVersion={#AppVersion} +AppVerName={#AppName} {#AppVersion} +AppPublisher={#AppPublisher} +AppPublisherURL={#AppURL} +AppSupportURL={#AppURL} +AppUpdatesURL={#AppURL} + +; Make the Installer nicer and Minimalistic +WizardImageFile=.\installer-image.bmp +WindowResizable=no + +; Don't ask for a install folder (it goes into \Users\Username\AppData\Roaming\Popcorn Time\, which doesn't require admin privileges) +UsePreviousAppDir=no +DefaultDirName={userappdata}\Popcorn Time +DisableDirPage=yes + +; No Start Menu Folder picker (It's always created) +DefaultGroupName={#AppName} +DisableProgramGroupPage=yes + +; We just need a Welcome Page and a Finish page. Nothing else. +DisableReadyPage=yes +DisableFinishedPage=no +DisableWelcomePage=no + +; No UAC bullshit +PrivilegesRequired=lowest +; Put the uninstaller in the same folder, or else it'll go into Program Files, which requires Admin Privileges +UninstallFilesDir={app} + +; Use the same language as the user (or ask otherwise) +ShowLanguageDialog=auto + +; Compress the files nicely +Compression=lzma2 +SolidCompression=yes + +; Final Installer +OutputBaseFilename=Install Popcorn Time +SetupIconFile=..\..\images\popcorntime.ico +OutputDir=.\ + + +[Languages] +Name: "ar"; MessagesFile: ".\languages\Arabic.isl" +Name: "eu"; MessagesFile: ".\languages\Basque.isl" +Name: "ptbr"; MessagesFile: ".\languages\BrazilianPortuguese.isl" +Name: "ca"; MessagesFile: ".\languages\Catalan.isl" +; Name: ""; MessagesFile: ".\languages\Corsican.isl" +Name: "cs"; MessagesFile: ".\languages\Czech.isl" +Name: "da"; MessagesFile: ".\languages\Danish.isl" +Name: "nl"; MessagesFile: ".\languages\Dutch.isl" +Name: "en"; MessagesFile: ".\languages\English.isl" +Name: "fi"; MessagesFile: ".\languages\Finnish.isl" +Name: "fr"; MessagesFile: ".\languages\French.isl" +Name: "ge"; MessagesFile: ".\languages\German.isl" +Name: "el"; MessagesFile: ".\languages\Greek.isl" +Name: "he"; MessagesFile: ".\languages\Hebrew.isl" +Name: "hu"; MessagesFile: ".\languages\Hungarian.isl" +Name: "it"; MessagesFile: ".\languages\Italian.isl" +Name: "ja"; MessagesFile: ".\languages\Japanese.isl" +; Name: ""; MessagesFile: ".\languages\Nepali.isl" +Name: "no"; MessagesFile: ".\languages\Norwegian.isl" +Name: "pl"; MessagesFile: ".\languages\Polish.isl" +Name: "pt"; MessagesFile: ".\languages\Portuguese.isl" +Name: "ru"; MessagesFile: ".\languages\Russian.isl" +; Name: "sr"; MessagesFile: ".\languages\SerbianCyrillic.isl" +; Name: "sr"; MessagesFile: ".\languages\SerbianLatin.isl" +Name: "sk"; MessagesFile: ".\languages\Slovak.isl" +; Name: ""; MessagesFile: ".\languages\Slovenian.isl" +Name: "es"; MessagesFile: ".\languages\Spanish.isl" +Name: "sv"; MessagesFile: ".\languages\Swedish.isl" +Name: "zh-tw"; MessagesFile: ".\languages\TraditonalChinese.isl" +Name: "tk"; MessagesFile: ".\languages\Turkish.isl" +; Name: ""; MessagesFile: ".\languages\Ukrainian.isl" + + +[Files] +Source: ".\run.bat"; DestDir: "{app}"; Flags: ignoreversion +Source: "..\..\index.html"; DestDir: "{app}\app\"; Flags: ignoreversion +Source: "..\..\package.json"; DestDir: "{app}\app\"; Flags: ignoreversion +Source: "..\..\css\*"; DestDir: "{app}\app\css\"; Flags: ignoreversion recursesubdirs createallsubdirs +Source: "..\..\js\*"; DestDir: "{app}\app\js\"; Flags: ignoreversion recursesubdirs createallsubdirs +Source: "..\..\fonts\*"; DestDir: "{app}\app\fonts\"; Flags: ignoreversion recursesubdirs createallsubdirs +Source: "..\..\images\*"; DestDir: "{app}\app\images\"; Flags: ignoreversion recursesubdirs createallsubdirs +Source: "..\..\language\*"; DestDir: "{app}\app\language\"; Flags: ignoreversion recursesubdirs createallsubdirs +Source: "..\..\node_modules\*"; DestDir: "{app}\app\node_modules\"; Flags: ignoreversion recursesubdirs createallsubdirs +Source: "..\..\node-webkit\windows\*"; DestDir: "{app}\node-webkit\"; Flags: ignoreversion recursesubdirs createallsubdirs +; NOTE: Don't use "Flags: ignoreversion" on any shared system files + + +[Icons] +; Add an Icon in the app folder as a reference +Name: "{app}\{#AppName}"; WorkingDir: "{app}"; Filename: "{app}\node-webkit\nw.exe"; Parameters:"""{app}\app"""; IconFilename: "{app}\app\images\popcorntime.ico"; Flags: runminimized preventpinning +; Another in the group (this one can be featured) +Name: "{group}\{#AppName}"; WorkingDir: "{app}"; Filename: "{app}\node-webkit\nw.exe"; Parameters:"""{app}\app"""; IconFilename: "{app}\app\images\popcorntime.ico"; Flags: runminimized +; Another in the desktop +Name: "{commondesktop}\{#AppName}"; WorkingDir: "{app}"; Filename: "{app}\node-webkit\nw.exe"; Parameters:"""{app}\app"""; IconFilename: "{app}\app\images\popcorntime.ico"; Flags: runminimized preventpinning + + +[Run] +; Run the app after installing +Filename: "{app}\node-webkit\nw.exe"; Parameters: """{app}\app"""; Description: "{cm:LaunchProgram,{#StringChange(AppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent runminimized + diff --git a/fonts/FontAwesome.otf b/fonts/FontAwesome.otf new file mode 100644 index 0000000000000000000000000000000000000000..8b0f54e47e1d356dcf1496942a50e228e0f1ee14 GIT binary patch literal 62856 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 oMn#JeYGU{pbzL1U=O}QIp<2eKYy*8l(j literal 0 HcmV?d00001 diff --git a/fonts/fontawesome-webfont.eot b/fonts/fontawesome-webfont.eot new file mode 100755 index 0000000000000000000000000000000000000000..7c79c6a6bc9a128a2a8eaffbe49a4338625fdbc2 GIT binary patch literal 38205 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 E0QL`y%>V!Z literal 0 HcmV?d00001 diff --git a/fonts/fontawesome-webfont.svg b/fonts/fontawesome-webfont.svg new file mode 100755 index 00000000..45fdf338 --- /dev/null +++ b/fonts/fontawesome-webfont.svg @@ -0,0 +1,414 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/fonts/fontawesome-webfont.ttf b/fonts/fontawesome-webfont.ttf new file mode 100755 index 0000000000000000000000000000000000000000..e89738de5eaf8fca33a2f2cdc5cb4929caa62b71 GIT binary patch literal 80652 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 qx{Kk=rVu5YQ9XR<GPS>b$X_& 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 z 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
    V$fDV|Iw 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 literal 0 HcmV?d00001 diff --git a/images/brazilian.png b/images/brazilian.png new file mode 100644 index 0000000000000000000000000000000000000000..786bc064e7817b1277fbff542a48c77091f982d4 GIT binary patch literal 15471 zcmeI3ZB!Fi8plTwtsn{rqWH3Dv?zsS@(vk85C{~+C?eIUZE=zeWR@foG7|~7YU>M% zN~OoQ1vv|C6|JZ%tLxTcTSW@Hpo_X)X+gAV6^}v{U0Ygh-ARJsg5YfT^yAC{@^J6} z|2%ho_a*aX3R332=HnIY1woKcQlcuA{v1dD`o1)r{_EelHH7{cX-Qm6LXh`Z$L|oR zq;xz4MNYxfG?Yd?2hkBGKB_0Q7~gKP&}s-$MB6Q>E(@bLS}YScM{(~}f6nFL`Y7%q zsal}6#9;MxIr_gSu7RQ~2n^@sH}JSvRTS#b-66K0MhFRCSMR1}x%DCE9+?#pCx7c!GQ>}ZOx9kswhz5pJ`q}RDU z7Ms=R9GYGSV@Aw`nJJR?2?z993BT7F3B>eInn;XD zq=;A+CJ-V50g%L{?3Y7L=<$r)zBy!RA`wEbX{i9r0Vw9Nn}tts1=LJq}K%FMt7y`>*=3c0XxopBi?rwT&;a4=h6WK;zDVG54aS(o#fS(Lu(&`P zj4_Lg5fLb0ae*`#V-^=9B2d8M0%HAsu=|1{(K#ndkRSiKV8w8Q%5cH%Cg4XIG$Z{KkIt&mbP|~j(7Jb`M zd7%rsDJx<7Fd45pt)f;!Uf2yoJSH8aFY>BoiwzB!G3J(q{pX9ktmXP%G{zwTT zoOe9v>lIBy#bVwQi;f2^y~KY|_fz&~)!S~WLhBE7%_?pw32gBHGX3QgubsXlQbupo zE+PxsXSUy#j4Yeoo{;ibq* zPgA2kbVGi^*29I1W%mr3ZQqBV+2{4f6ty_g*Ehb%bM)WfqphavfzhXIN4jNoOME@Y z9pSEfJuVkJ4gOLxc7P#Q0`Es`1GwOtfE7nKcib-1S{_Oh5=LnL_0kTGYG&|Na(~hLpSK4` zsXzSVu+P%ZKFCHrR*&#m=6~u^$Ih?DU&t@mRNuI5Wk=(c>xoSgVlvV=v&{R<>Vx%~ z!r1rbdXF(z*S(jy>H|*6){tg0uj<46f^{>p?k@MZK5fXM`3-NUmY)1~1JO9)-S6jg zU8&6c_z!z`C*ODzGT!3}B=&8@!j^7}aq8a4!i(933cp0-WZ$syI*#A@M^H`5mPv1w z-M-nnGo1J#z5SbiPJk*Jri_^WxZC#8p?9e??eRjs)V1<5(&8o$k)+N3$#Ytz&l%V%X>-d@>q5#8p676e`$vBf?EwV@To^f_G+pL+B{(U5uIg~?vNit&v@UB} literal 0 HcmV?d00001 diff --git a/images/bulgarian.png b/images/bulgarian.png new file mode 100644 index 0000000000000000000000000000000000000000..e5e94b0672037188c090448f219d66e8a58f5668 GIT binary patch literal 269 zcmV+o0rLKdP)U*#?ab|Hl%y;} zTBsM1wD1a&|HDGJj}Lb@xBJgSh5q`oeSUv2hj)4C$}sbbh|XH5YDTdF?90&Q8H?Yc z>IifA?&GyCNS}|ZXw2adiHHgd02yKK@T76ti;DcMC1)s9pEmbvl6_xsg|_X`G#15G zh2KGR+5t}(jtf7$27@rVOOqrxzR5Jk88aOM3>w2FU8MC@MGzqgH#puLHTn@>pOcU! TeTME>00000NkvXXu0mjfqP}gR literal 0 HcmV?d00001 diff --git a/images/close.svg b/images/close.svg new file mode 100644 index 00000000..e24dd9d9 --- /dev/null +++ b/images/close.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/images/dutch.png b/images/dutch.png new file mode 100644 index 0000000000000000000000000000000000000000..64cb83152ccbbab84067044fd53ba2b6b704fbc9 GIT binary patch literal 14888 zcmeI3eQXnD9LEnbVT_RsCj`Z4(@o->?e*HVYmc^j>tG#rE?bdpM%eXw-45Db?OoSy zCO}|;@giekfuLweQ1K7Yi3SOq4#LY41HO^q8yFB19S#RZ!%M{YT-&wJx{gN-e?FIO z{q1?a-{0@K&-2pz=Qh>WES{D1SQbGLv+Py2I`BCc{N`j%1AiaB*1Z6H%m`F9iUct; zSN@$sytZc^K^ULloeffh<2jlYd}_umxHxsh7XWI4FqcFE47-Yx6fUlX_gj>s{ewyc z@3ttH=^YwJpn_}Vt2%;QeMgOx?O4T{+{zMbmN`O$1U^n;6cL}-FVYcmS53r7 zNJ7vl2wrP!mDP?RR8&+bo^~)S@0XDln8{Rqa!SA znkbjbU^H;5BF^nnnRJ{%mPe^SO*pR$c;;G&DnHsWBNd0_} z2ge-ag*5W$@3%ynG!sfy@gi89?a-nHOE-Fu)pIY8ZyoFK^3ek+zyw83-fkA<*nUf# zV2J}t_C&WW&9L%OW@Y8wz`4!jxYp#b63)1d|GyI$%MaNnuMuwL{P)^Wu~bpjnVis; ztQ^xf$P?-fMfJs64Y0hs*P7mX@*?#nHxJ3>cQgy zXEo^cI=z`pZBBL6@)6G4VB^8&73C$V1(l+n)Q+^q#-x!lz(%MeZj4P8^hF+>$yh6R zOaMK*kss5)mxGxL_K{7~?`B zf&~~COamEXTu4N)0ONvbAY+URi3k>8Trdq}jBz0m!2*m6rh$wxE+isYfN{YzkTJ%E zL<9>kE|>-~#<-A(U;)Mj(?G@;7ZMRHz_?%<$Qa{7B7y}N7fb^gV_Zl?umIzNX&_^a z3yBC8U|cW_WQ=hk5y1kC3#NgLF)kz`Sb%ZCG>|dIg+v4kFfNz|GRC-&h+qN61=B#r z7#9)|EWo&68ps&qLL!0%7#Ba}bu z&B*U6G*(n~?jbfU3>1F8_T;R`chD<*eUCiMR0-Oy7@zdnAhK6Lj` zxA0@uUfn)o1GDzVnzuL3oza=GcKY=@cNflEG%$MO)1iSA)yEH%QU`iVnBCjUt9v&! zeR;aau&r=a&70#aG0u#~W(jv|bK`US0q0P+r@bZq1p7Y3DP# zuguO-HybY;YRbGjfBER|InDhSYks)4^Q@<$;33_K5%WNPe$Vdg6USB$4*jyRi!jdb z$m-72=Gt#%pFLA~c>ksPoh=K*FHY~;>hkZh9h?*1|J%_m$7YuuoMZoX%d#i`9J#&Z zz>AJj)rI2MFKzzp=KIA*a#T}yIPCq+m*2^sR&Ff)$Z+a>#>^6-x~ul^@C%BsnwnpF zrD(Z!^LNIn`2&TE3Yr%fKKZc8R5;q_dPG-!`({UGPeEOI!OEE{ec4yKvZPbjLxZP7 vClBRqSaGs7``k}&>|5CQOwZIi`oZZ$W#3#?r{6g&zsqT_tg*dU-n{N#y;xXe literal 0 HcmV?d00001 diff --git a/images/english.png b/images/english.png new file mode 100644 index 0000000000000000000000000000000000000000..eec19f9b60d2b86db79c9e01b0148333fbfca1d3 GIT binary patch literal 15578 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 literal 0 HcmV?d00001 diff --git a/images/german.png b/images/german.png new file mode 100644 index 0000000000000000000000000000000000000000..8efd799910f8d8cd907e1186ef558f144a676cb9 GIT binary patch literal 14848 zcmeI3eQXnD9LJyW<`{z@CS+p7atI=bBc{yOnjn}M-fYz$MVGZ`5(%@}EuP0ui_rI=-kbcu^{ z|}ROppfN#&w?Ntqc> zGL*+DD11l^s-i6Ew7guS99ByyN-LDS689AdCJRYQf*qttN4X%)7>sl_lb26=g5i)q zHZ(6!3w|LWNU8#TOjcjeC#$mJlSe3->>jZ&oD;V@Sv%`^1A(li6}4h5M36w5)v0(| zg92SAC~`Q&3l(eOt<21J_o~>Gnw+#uTF;1M7oy?_HmxUai!Fut4B6qmvgILxQ{|9H zmi>B}78qM4DJm!NLY3128w{f8Wo=%INnos2xP3WZ zZ!z;Fdd_Mw=`B{S#8zbS+8DtS!{>IR_F<`=G9T79Ng}oP7E>ekVX13EB0S(YKcdk_ zf2$?3q#0JqB`R=Pwj#?FF51`;wp3V?-a6Fb7h^|JkP9h-w$Vzdp`DgIyOKwf=80`s zmgBWU%)x8>K=9h>wAR$HlFo!p{J#?z&yUzgt`YGG(#^I~JXK6JauP*uQX^bQC~Jmm z0=vcIDbqcfx$U%e;`_z)S%|l$PtMSC9X^?M?I2^}LV$zfViUmF>0xcD%5i7?VpQUkHV5OKRvm>icO7fJ&g z6I@tCsDR)?X<%c53yTO95L_q?Y)o)r5upNt3#EaL2`(%mR6uZ{G_Wzjg++u42riTc zHYT{Rh)@B+h0?&r1Q!+&Dj>K}8rYcN!XiQi1Q$vJ8xveuM5ut^LTO-Qf(wfX6%bq~ z4QxzsVG*GMf(xaAjcnRuCeGH8D_xFBvWY4{u7XESH+|fI#ACNx2Cvf^3%f#@i zEp=@t_RXVyx^6$d#mcN8Z77T*gUqY|Al>BAN6(Wf5^|7 z)OF)n&cHSEjHjOe%Nhn!<(c*)Z`9X(0ZzO2Z2hz5`&CB=uRF)>u3^_UtnRTLZl9j_ zH5i}&LI0)uCs&T~tsfX~8+B&Fl~H9YPj;`IaW?15m+K054lF6zmVfuQfLd6-KKGHq zz0}mRy9#@b_O)*uyK6zo1je&r%B&Ziix)jqw`^wqhmUW+etga|8_pL{PtG1Jo>kd+ z=)Fg;PJ6n4`;M39mMt(*%RXjWBJJNG`^ Gu>L<#1xcX* literal 0 HcmV?d00001 diff --git a/images/hebrew.png b/images/hebrew.png new file mode 100644 index 0000000000000000000000000000000000000000..eaf31846e10df0e4ee685b9983ede97d364e199f GIT binary patch literal 310 zcmeAS@N?(olHy`uVBq!ia0vp^Vn8gw!3HFS-u9~jDVAa<&kznEsNqQI0P;BtJR*yM z>aT+^qm#z$3ZS55iEBhjaDG}zd16s2LwR|*US?i)adKios$PCk`s{Z$Qb0wUJzX3_ zEP9jw{Qv*Io=u8jTAO8gMxq|Ga`REXSvzKQinSRT0D+M7vG?}>(-MF{;7O|Lsf0zb zcQ(GTb3VT4_Yp1iH;)c+noHQ#|2|#t`C>R52$WjpvBl}7wf$q_{iF6@onf17_22u7 zudn>qzyI&g|4(nv*SD_;{=Z$e+SlWD{iCKw_Ize?4x1M!ScOjU-+S}`5L}qK)=gIY tFvH4|xi6mDO#79RI!nT*L}D@*!;SCLRh{qs&jLE1!PC{xWt~$(696eacj5p5 literal 0 HcmV?d00001 diff --git a/images/hungarian.png b/images/hungarian.png new file mode 100644 index 0000000000000000000000000000000000000000..aa5bfe40b144688b95b1d4bdcdd1149f1615d874 GIT binary patch literal 450 zcmV;z0X_bSP)0DK8jcf`Vi5aN(Zb9YJ1bFS^ca#t%#>?rT)*|GWg@|uV|u_GGR zsO9ZSqzEOdUfkZe(E7UaRmCFg*a)37XKR|3a<(I@#+ceRg*MmK%fq8IuW#Mw7k~fY zJtP1i_@%07*qoM6N<$f@e&>Hvj+t literal 0 HcmV?d00001 diff --git a/images/icon.png b/images/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3ea50108cc4b7e8eb808c86ed475f225145582c4 GIT binary patch literal 81183 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
    a0aw%MXR?wzrIjBc0bpx@G?N6ZXv1tW4 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∾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 AXaE2J literal 0 HcmV?d00001 diff --git a/images/italian.png b/images/italian.png new file mode 100644 index 0000000000000000000000000000000000000000..cab3a3ee05dc966759be3aa65a2820c54a347822 GIT binary patch literal 15403 zcmeI3Yj6`)6vwxU2t^rNd=#H)Iv`q;&F0yzNeVXAMhTRXj;$cD*}ZAkCc81aZPKFh z(itDMFg~j|C^I68iZVW`_@E;ojxvLT=pfP&K@?#?oN*K!9le|9_BOrZYy5IENjB%6 zd;VwlckembFMChJjO)%WzOb00sI&d`zD9UFAAZgmGa7!E9$h{e9>&J%TNH{KH$nRp zQI9`SMp4zDios^JIWV2&<*1nxK@>d3 z8yx{lAXW?7#QN?ynB6@i$alB%)q=6cTkKA+Rqaig# zZTA?bX$cL@fd)gZ90vx6*jNRa>HZu;!Ud3Exuv!=!ZL!ge&BRz)OEt?l44IeF zTMU1><3gBi^j(`t2Q81WO;uwoO(zlwbHZkp50-)OX8YDKN`ICWozSrQ{{M2 zmLuNuE^EjlG}P7_rUW=%lr*GQxM_5LezEgXz{jb;t8GS;1-`3-jE!|TS-TUOti_@e zNzX(y0E#S4e=|aQ0sMI!N{gR?`5)b@7FB~w7qQF)GSJ-8DgiTH% z95UJM4yP&P5~@sArYhuex&(*a#-$(z0{ZY_(mt8*&`KpEEkNlo?{e6!7MIBd1gpu; zgsi3zi=E>vj;ypUe3(J4xBO<06QjCi$Kr1(oF%Z zargqB8s)UUE_~!1i8dhN3Mws?nl-YBB8Sxk7YEZ?;hy-@LQhK$jX|~DwAS|{;(xFT z3fKA1*5K5N=x?mSNDb+KT7&%l<=Z%^6$oBByLGbzr?zbA#T;5w*;X*T2Ho1f5DV)U z?jfLB)KC(#?Rj)OZ4H?!& zX@8aJRz4fv)d8>5;jqEBhz_F>4Pp{RntdYdxr)|FtT0n526Yq+Y{>^QPJN)xkqJyM zmG1s4RePNB)ZbO;tpTBtd}SO@a&02k{bI2oStUaN+qN zUV;k&f;R~+JRihMa3MhOCc%a0gLnxp1PI4T@Fu~9 z=Yx0&E(8ePB)IT=5HG=n0KuCC7oHE|CAbhEc$475^Fh1>7Xk!t5?pvbh?n3(fZ$Dn z3(p7f5?lxnyh(83`5<0`3ju;R2`)Sz#7l4?K=39OS8@JXO(4MsG!yVi%xB7v?1N8n z8ukNv)B!Q`Hvhpz73 zHTB%O9hGklJ~)*c*VohZ@@b_;Z>0fTP=D2#B^$ks^m2E3F&#XTr&1o95{`HG?l|4Oi?oW3& zkNWnG{zZ?TcYN2+&o18Dxp%d5@S=+^Uvhi@!WGS>6H6LrZMY;cW#^^rxY*BiaL&S* zc;?sZUYfK|+PnIVmzGXw`f#){p`2GH}-D__j-bWL&zwvgg63JGU*XJUV9i zl+Epp##uX8IodaNZe15;O2Z%3^nUuuHY*k2LthBFbM{-92Zz3fG*X{B<*Y>#td`^bd0z`_cda literal 0 HcmV?d00001 diff --git a/images/latvian.png b/images/latvian.png new file mode 100644 index 0000000000000000000000000000000000000000..a84c4941d1c065f768f968ec1241063afb62c4aa GIT binary patch literal 1556 zcmbVMeN5D57_ay-bvku|C=zITPB*3PwRdN)9mmJ6usfy5fFX*W^xDEzuI<@YId5|V zU1m%a#W@#0kcl`oDr7?>(Kt7iMMcG!X@X9fPB7Urr%^U#eyoR_+aJb1)}(#k=Y5~w z^ZcH#uFA=NcjWN6;Q#=Pbi3$WV;yI_qlZQr-EuLa8V_pg#^D zg+P&aK(lR(nF%-rpXdsyLS864p9__7BoC#gfXPA1Fdzv!3kD^>tWiM+)MuA6_Tgg` z0{c|-G6(dGR3VcCIu%s_ZHNu#%$OA?=TF^LE z4CtaFgJFxTS6Qq(AcN_%5TpRZJU1+B{fRPCh6dRHiXmoHlEQKIX={3}@Gp%QYHRsR z0|J^WXv$)hGwM-dihzyWz1&e)(O^T(QbnUEte;l6#gZWFZrTAEHwZ8Cl&yro2&+KA zUc!pQRs!Q-(#zXnJ8Q$tIL=yGjEmTL5q`Rjz^qtidOA+y7?xp4cUoyXPC9AKMy6+2 z@Ceo|YdR})Ld3Ud`0mG&FU3+$RbX{R%~uqEqziI*~|;F}D~iE>zeD_o;z zA=82?E)n=lRgu8HBvaxG2$Ya^gFeZ_0*TvUD`&**<;)yx!3n~`ksNN}d8i-H|KH@H z1}QY$DgWu5$dS>G;qCJ|FofrmB*@12sK%U>HGcLR07MaPIz2yl*`LSEx{@}!hS@kd z+eKffhn6QmQ|;&T?2EdIo|XB(rk)urP8Z==CApo z-E*|1>E8B~*C*7ic2yUV)o*wQB$dqk86L~A*K6aduZBIWS}hgL zPcGueo0^jnCeGONP<_aKeSY-BZMC(Y`TG+S(!h>$o9>!|05~@JwTgDU=tlP5)}G$k zF5d}m#Dn&xIk(#frMArjqJG*`OpRT2Chb_|4ih(`q0v;A`rd&xzwpg!ysHAec_S-m z$~sB<{hOn#%~c7BvFpaqnyerQwQE=Opp58sflbAYLdQz(PN34=*o60Du2D_+VMf-;eIs7tw3v*jVw;(3AKg_t4IQf)h|@$MoLE zmqN>cVP~?Ki6P4!w?Eh)D`h6MEgQ8wZOX82=Z+z%$ITt`1#7FP`>UY? zyXRIMiJ6d8xjJ!URo$F;B4_6)x(J(==Re)i=xKV&gb?7~#Yw%>z5}3XC!^Mnt2T%K O)9#FHy5XJT<^KT8)jTW! literal 0 HcmV?d00001 diff --git a/images/none.png b/images/none.png new file mode 100644 index 0000000000000000000000000000000000000000..e0c94fcfff82d621543ab0e86493465c2602ce6e GIT binary patch literal 15960 zcmeI3e{dA#8OIk&NsLGX7HXiD<%o;{F8kx|a(COy*^mPh%0UblNZNtv-tJzq=5Ft} z-Q+I7NRdv3nnGIzOiUp-6Pq~{2Ra?CLKP>pp{>zEJJqJCpkk5oBa#aKLDIf^zw;(} zrPfZznRh3b+vk1W=lkq_-uHcW?~iw9)vEjN$eWW#5X2po6|QRVJsW)TbEks;GcWI6 z2)=F$Rn(~jar>S6XA;rgaTh^+y;b(qYPIf_oDd8Y^J35|6-NUh(3>C}_eDdz&?sr7 zSE`qlQp44kUN(@jSZY{jantTlxzr$6Yzj+jHm&jqn;HeXXt>Xr=ZJDZARuWx84dUq zm5Y`d;<_9-*PAH=8SkPsmKw_Rgk-I|iYyO?CDKxCF$y%xkXCy!V=>zqW(mpCjEQ1s zinSXVhBI3^ri4r$24@~PbA&}7SM6G!Ob4t|LxZM;IEsoyBE=C?aWGs@F?PG1qFIV% zji857ZBaBnYE;w(36YeJOHzff9Ma^VLh8D_H`t_=8Vq`(^pU);Kq#F^QIqTdMJmdN zD5jXE#tRaKbWErz?2liXC{U7L3P_5kf;eW}xKKk-3#tvl2~wur6D9^@;&!KVk9)m= zz__VZZCNuwkVHCer0Qu2NmR9@2Ajfyw5%E2%7XFkUXy*9!5O8bdnUYgDJoA8rh5`$ z@u`p)AqTiut~@O9S}^Ph2K~;&EUQW(B+JXmd)>SsD>~952L<=f40c9Ja`Bqv)F-2n z27fjWW8y3&oP`D^N7Gp%iJp*#J1EM&mXwA$u2JG)S&m^jvwbnmq&2d7!Wv-lh`h$% zl1g^pEFDqce8F&l*PL>Iua~HhQtzNLjafa@Q;I7O`h#I`S(4M_pvG&?ii%G&u2NAo zUJ;~9mlHG;%d*J%>^6&)v5Q8@&f1J-L9`jY0xcL#tkr4~>;h{N#W+N_J3D-gv@0ky z=}RRkEdpta&&pWMlGW(7npvaS$_Pfg7wFq~3q!LkZ{`^xC7l&MMtXHv24#--XZ6vq z{y$AIj?9=;6|xE@XG_+k1yeU($ks?3N4KUNemP!{LVQ@2^yOA+NUgVY1xptwJtn?v zIbP69nN!eLg9HGNYRz0$Ix-n1j~&2Uqnyys3ZFPfq(M?p3o0QM?=`WA8uV!qJ}i~h zgE{eu3q2t@ItJEuP%m0H>Q2FNnZVVX7Y+)>3tI;mmd`2@P(ndQinT(80q(xd_ z%w9WKqMu?6KtW=RtldNF)rd3MQbq0mGzOXZD>U#*y(BuR)NQ32K2O7TYqjsw4I6kC zjeU-M-iIx*21l2|R0SVfIvx7U0|&}3C;@!D+%XPnOj~BcB>LCt<3|OI1hJ9aiRG@UW^L@f;KTOG#|)|aX~=PCdP&419>qn z2ngE5xX^qcFUAD{L7NyCnh)f~xF8^C6XQbjfxH+O1O#njTxdR!7vq9}piPVm%?I*g zTo4eniE*L%KwgXs0)jR%E;Jv=i*Z3f&?d%(<^y>#E(i$P#JJFWATP!R0YRG>7n%>` z#ke3KXcOZ?^MSk=7X$=tVq9oGkQd{EfS^r`3(W`eVq6dqw25({`9NNb3j%^RF)lP8 z$cu47K+q-`6)%>jbgE)qoO0zq7A zAPCwCHuwJMy-RHu31af{N>`aD`j^KauUqXY%U`~l+Fl;bmo`7}jh@a2@`o=kTsSgm zUhB?p);_iIi#_>M3dp|W&ma2jBUcLUn!Wv}TKLQ_n_j$l=sC{0dE`}MX>0WAQ1kS^ ze|24*@B8fsW8I5>GLvAsdak{DPsfd({K5HWH&^BCdX%E4E!ldgVA0ZD3ZgLOq3UGCZQ;^Eh~)$EDI znBMB{2ai-<>8~5??ajS?NNwG<;eJ}J>%Jbe#i9RoT|+^cH?{b*XI6n_qxM5|5(3Q>it@?&D+?0vafGCGxgY)P8Qt! p^UvGn{;WH%=(cAM&fc0sSd};K7B`Vk>3hE`m#uOgUizJf{|z{Iw{HLd literal 0 HcmV?d00001 diff --git a/images/popcorntime.icns b/images/popcorntime.icns new file mode 100644 index 0000000000000000000000000000000000000000..dacd4de39f1aa10aaf0cf7aedd44501c0fbbaea0 GIT binary patch literal 126357 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%0AGCOIe@LaKlb`=kEr53GCf^z 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

    0mSb7GvMu(EyQ zP*b32g&D_!!xvz0X$?=p-r!828Yqi0-j?>hbU$WeOTxuqAhmqKFFrGhr@)JrsimT; zS%^7;s%i2t(dt8++iGr7vWdX1=*01DE&HRPirl{;;&wA3qY!`dacQXkr z1$Y`S#(Bi-7dot92uD5?XhS|kpJvgEH}bYrCA|4ZA{QjB^tPIQREXCATqZjPDxRef zI^%%t7^q&_qXF_+lNtbc=89wifCJWvHRR9Xr>w1lr_*lF?e6^V1kXM5jk6_ z9I%M8GhIrT75hN3vvBIa21$o^_UnhZ%h7no8@6RBF&upG;ai3>(|=+CS0rqm8SV8} zPI02Q6vm&}k^?X{FhjLuj;!t8nqG{@hByBDBkdmIQZ)Njpt^7I(qMSeV70fr`4paP zGK21?FkH_z7pxpdwcdik{u3KPr-L7Cy7yp*$XyqU2h{llL4ZCu?J#S;#hr)c5$~XW ziEm|##$BHtC-)7hF^RTLa3Vk_Iirf#Wut-$5b0rTpU8}qDhLxB^9-guL+*e?Q$golZF} zhSC6gb+#vfFJ{XtlL!;lb4YLzojuMu#Y3*P(?ud#ZemPC_I-oo!@CF-?-|G1SbJt@+LbJgC8IkK3 zIZ_Me=54m#^{uu9%MOL&@Eb}{B0z4eRJdd1{=- z4+L3Rd);t%xt`UyNPP7f*%0seDN*OBdirdZS3j18maF-7Oc{UGV>fxrA**N6>yA|| zsn=U6w0WoT@dM?1m@GX9bOG#a_CHTae3#n4-F>`OJ#0v9|1fAeb`#c4KHPwq0l|T9 zh2!txl-t$yc!$oUUlx6ktLmEIZ3Z^$M2Pb#rSSWRfzkw`@tmVUUDT+W~m^4Hah8wh?W#xO_*oPPovnpNNe zSt^$q#ZX@g^?!57NQ54Mkq>Il_@$0HoL7p+fNuYGFewa!w~gO*R08RvR7s_=qBj2v z5IP5?l7_p3Je)~u_sG8{SEah$)B`*b9mz+iNBJ?0PZziu7G(2HG!Qi%u;mb#^(ZkB#ROWZ9Rf5BYuiIHn)q2uKO{D$~dK6!$vzGi)g`p zF@x-UzaxM6d);LPwW!|&aj5vC-Mz5Qid`82y z+PLs@JRLTmpnwCZ@HI1hCQ1nXZm|f$I3;fz!~KKAd6B{zf^UEuHxanb;3-g)bg;!Y zUQEp>l3;ktcpEX&RHbWP z#28gv2;3rQ@(uD5&|u&!5O>R<_j18Ggl5pizTD;6Fi^G6h~JM4i%~AW^)0y(-2W^A zFH5C--xZcR(HiXQCg^b1pIB;2dAe^+Xl$=mg;N>kBxHP)C-OA^HwQs3>dEhU$?iCQ zYnRpS0gX|R0=B6E{qH2$trCKKK9Vz~sq>T6!VAQ94ou;7yS>1ypG%ivEzU%~G7=@z zQ8Pn%F_Gt7Ewit^snaD$d~2~-tB$bW+6c$7(}nOiJ10@m35O6Xo#P-WWGt} ztmG!!OW2TcuHt+Wb#UfA5@StW?c08=%j;AvXgUWwOAwqbLD+ zVdCG=dF3btARVkME4I0)OF~vs^$bw2oCURz9|H@F%kWM#AAO>dxRG9? zvLZUtKv>Lk_K1w~IOLY9us%|O@*d=aG9?|53Du``WT5wjB+-(a*3Ly!X5IJjzU)7v|^YBOMuM%3z^xuAezkY9mWi{atHAVsRl^|e2rRGNcX9+S_4HW zgb!Mic>r&cRkhx$tv#J;8?>9*F+eVem8}oESAq1jPB$IeR(yWnL)>x3 zb!p>DfrQ@a4ihv4(@{;EDKCF`;@8p&b4!sRRCx{3p_*AIZ_WgL_alIdx_v6i0@^R4jP z`P===NJ=97+lx7JzeJ8H6P}h}`8V>yv9t69|b)|jF7KdjyS`Jvb@bd`6Gul`y2)H_(Kn*)G+o==#nd* Ng+Icx%ZV3}|Jm08^+*5! literal 0 HcmV?d00001 diff --git a/images/popcorntime.ico b/images/popcorntime.ico new file mode 100644 index 0000000000000000000000000000000000000000..10574021cc18ca81a6ab72fc9879bb16bc6515a5 GIT binary patch literal 164528 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%0DENX7pOxI{9t1_~@t(61dRd%}+>T4=N_GGI< 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 literal 0 HcmV?d00001 diff --git a/images/portuguese.png b/images/portuguese.png new file mode 100644 index 0000000000000000000000000000000000000000..931bede17ece6b7b2bebc173da2040ce62f69f04 GIT binary patch literal 15254 zcmeI3dsGuw9>)h+QP3XQ7A!|a)1cxjnIsS(Lmm}^1~EKCfg{$POeQdEl8Ko?0*j|T ziY>3|TEue@dswusmM&c%^;CT9O1ILU-PK*U+Ezu1;%>D{ZP`;mwzYfnFu4S9+CBYq z<`DABz2EQecjt2-$v;z@ow@pnusLA}f;^F~)8>Nr+29pEJp}xJa$x6T@D^&<6)^}h z<0;oG2-&+Y3PF|)I!x)rKmset;sU4DVq-9;O6bmuf!NiI z3I%QnyHO=v=_)8F)MpD)X$L8gi{&ChB9jUd6=JD8ULlpP5XdCbI8-V@WeSm0ip3{l z(gcC`5~{;Mq;#0fSgv-Jw;cGS5|*;89YfLb@^W!`oS1f$pi+fGfl6ekOeO*f5mRAf zai_?}#CVcC%A+M2!a>_sS zWFmYXdzr)H9-4_jNegKuZ7c(P(g}U`QktciQhJh-zV1m2gE`UbeYGbXuhlwXX@*VP z3=nvcPUvI|6?PKMB^kQRL6B*i!L7thboVS}_D{~3Os<|u$4)w_No=kjkIlUlJTs&O z_ll)DNSvh|2Aa00J*zDH5kf&~s$hv8Cn%c>=~5*csP|8{KNYFPSyBxaW4uTb2mTC_ zBupa5;^fOEQcNO&l6aH>IrOxNGFObvkzkO?FsTfSOM-Ji%D^08^O$fJ|4~_BEtJPZ zU}oB3#aT6F#Y;%kZYxou{zgdYTT)mmZJ`}tSfn~miB8lEx!lVPOSdsBZX?Katr|3l zDawQ;k_waABr%C(Bxw}IgHNKQM4S-Cn+b_o7H1?)xCf$M58KD3*3v|oYpZxun|@+y z$UZK0mV*Mv9BzR$uF?P05)-5uS4u}QU~yJJixw>g9=D-9 zsobi`lQ6WIEyo??$`Y_9I5)Z{ZF0I3ok*XFP6(HFWV)KccwC(0z?0^fV!@>=2UKx@(Ct#Egs)$h!=QLI|#trpM> zxm;(i=S;{0KMzQCf?OUaSE7NfE6xh6sYe~vLCATNAV?tw*-zZIhjZlZz z=$R_$i`+evo>uTP0sKNieLqpgPO@(o{LF#>j(+CEa5}ySOoKD#ad9Go1w1a824~FU z;zR@scw8_I&X~u=i3k?(xL_KbF^`KA5iHi6oE>1+SfX4;X z;EZ`(oQPlnj|-;38S}U}5y1i;7fgdQ=5cW%f(1M-m)nalte=V;&bLB3QuVf@yHZJT6W|uz<$})8LGGT%3qt0gnr&!5Q;q%;Vxj1PgdvFb&R_$Hj>V7Vx-W8l3TCafSIG`Xg=N zNxyRNNZ;-4eQ$%u0R@CESC1gpG6Z3MhalfwN04nM1hL;nkb9*FB2k0K4S##P7&Xn+XyA)doNB{bC^Mks~y}K4ItvwzkjrwIn z)CJ|b^B)^6xsgWgnbw53AgB;q%aprY%dNrl!?4E)7eH04Xj_ zF(Ra>!#Qx`#(N!8>vqN72`$p#!>3ZdauAg}g-Ifw@NWQ;4$?#2AaENxKt@Z1NozZ_hvh!Hgz>EZOdGq2ubL%zz&mTE) zOmSs(M)lRdCuZ$^>l72b{BG9iyR&6e)@YkU@RCx+Z)9J*eN&q7@(=ctpAr|bTes); zXN0c)L$aa2s$18v3tJVEe`WW6TV#Ehpz71C&R)&m{`289)6+`wz1K(A>(rS=(Tlb3 z2k-dD=E1Gq-IxD;llgVQ>}zv0BS=v3_l^-wOvj;w=aw5fi_Y6WiQoB(fc;W3}ZCQsAVb$`aLjcFSyU4Ntg$;;Eb`;Nx{Ie#F&V9{~IrD=xGd**6#MIFmi ij9)KX`06+Jk(Yvwym2`x&I+WJ4tYYlP$ literal 0 HcmV?d00001 diff --git a/images/posterholder.png b/images/posterholder.png new file mode 100644 index 0000000000000000000000000000000000000000..e0a0af26065b8fb963a467fbb2638d19f78b3c7a GIT binary patch literal 19288 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 literal 0 HcmV?d00001 diff --git a/images/russian.png b/images/russian.png new file mode 100644 index 0000000000000000000000000000000000000000..c4d5455c90a8ed920f7678d867980bf3ffe062d6 GIT binary patch literal 377 zcmeAS@N?(olHy`uVBq!ia0vp^Vn8gw!2~4d_Dd83DaPU;cPEB*=VV?2Ih+L^k;M!Q z+`=Ht$S`Y;1W=H@#M9T6{SKoDhlzAa{uh0qkZfj1M2T~LZfF67+rebsZ4?l1XUH;)}(Vd+0;^DJxXJz)gP06;1pZ~=+cl|p5;!Wo_FdgiD z-`}U&u(xm-*EDbQ!Vt@j8ER~kziZS-9_IT6l{an^LB{Ts5KG2cU literal 0 HcmV?d00001 diff --git a/images/slovak.png b/images/slovak.png new file mode 100644 index 0000000000000000000000000000000000000000..951998d3f5db1c20e1b8a2783b68330fa09e76e8 GIT binary patch literal 15980 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 OgO?PR+PfCiwf+lA%EmhY literal 0 HcmV?d00001 diff --git a/images/spanish.png b/images/spanish.png new file mode 100644 index 0000000000000000000000000000000000000000..95518b2ed7b1b0d8bf8d5fe8fc3b8c43b9100101 GIT binary patch literal 15062 zcmeI3ZEzFE8OIN3sZpWHfWrU{@l|$sm+nrs1Uh74V>!qSavfU@A}_U1cPsgfq`TCqP{u9_)MT4-!qG%mfa%z1A4%>h8LBnRgjb*uqL7^R8y2|MM4$C^+2bCAS}nq z%|kDpFw?SBZeDBmu|Bm5G|S$OIB4jo^@|$=J_Oj}!ar4}jl4ooY1PZkW}{H%mAvAYNIioTeJ>!lYB;;{yMo-F?Tnecfa=~lm ztKvY=mAGF~BJR{Gs~bT`S5?sqe1a&)45SNPOs+mV+1XUUBj~^l7h{=)EroACyNqY; ze5rjg%keCWBuOcAa`+TU4z-WY;qcpRJO|$nGzX&0%>g%$BJB8bKq{g*9~C(W2rURi^SvmIHqaOoxwvIcPP=+=>rh@3o-R3WYbW4o1`NA_Fh z1j`&yh9|jgc|kOeGPh{#1^@w%YRwKS<4oJ+|91jY`4Rj0HQJg%?0Oq2l`5$kKZ&M< z^fn<5D#LJ1U^jXycO7fJ&g z6I@tCsDR)?X<%c53yTO95L_q?Y@Aaz&w1^&R{zD*clRIr7`)iDM}5_|WSY68aC&XGW6Iv)zW==N z`oDfj-4@vBe@1=o!0v~RM(P)Rt>nND;x|w3zJ2@FJ1);WdB=|azOej(b6`_&NbP;= zPlHeIylH0v=l@Z4MbOhSbK$t+vTwYxrpPjV`Ck@X{+9Y_Py6C|eZOD5 ze%t4#^1ICSqD+bX(DT`Q+<{;2SBlh`@q(#8JOL&NVa8mc%w zc~a#A#ivbIPxkaqeP-Tn?%-VE>P;7VX03hyg+-132nBBz>86G$vk%u*77M=Zo4ZR+ zFT4NFo>@JL^nAzMwU6#RbZN)N!r^DTOZt|Wq+L&#mfe3OJbTsa7oY0?&fCF)udjXb n>>u_Pefwt%R+rz|c?0!`w}QF$@DGQKCr@jtYdwcoHf{MYRVl2w literal 0 HcmV?d00001 diff --git a/images/spinner.svg b/images/spinner.svg new file mode 100644 index 00000000..04aabcc1 --- /dev/null +++ b/images/spinner.svg @@ -0,0 +1,32 @@ + + + background + + + + Layer 1 + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/images/turkish.png b/images/turkish.png new file mode 100644 index 0000000000000000000000000000000000000000..f6c490a1120a42e4d65329fd0146bf4a94608a1c GIT binary patch literal 15190 zcmeI3eNzGiL7_6noCO0=P#@r=gK+vQbihu&=sM{s?2JTF9WA2R! zFlWUMtR8EpUC$KSx~kh5o@3|BnVsFC)hc6$O`Uf0Y^*qiy$IS?s3`Sq_a-5E2;j5s z^v~xWAU~ex`~Cf%`*~h+|GBRe6)sJcWymlLOSRjq#o}k0_&a^_B=PTzn>!bXA5(m` z3Le9zJ|+DoVSAfrVc6oiY-zbr?pRJbIgg5>xk^SA^7uqGhM96gKFYa{5#*Ij73(!C zK70QIg`B0$iZZ=J?eOI@)vT@7&y>^_mO5+KIgPX;$09R@NHKwj5h!`cGM@{0>@W#o(uS$Ou+{6R&V(oGB6nvppcm1;C3p&`{eFbAMa%pqe8va!6lIBS4KD=yveK~}=7AK5zG;by}Jl8^H9 zjI`a%isAhhJHcWHl;jC-Tat20N14Sb?FNQ6;Uik(!-_ehHunFWz({_;K7Ng0HRFBU zhKi&LtHw{lb1orB`I+1*aZNxsdL-pYPhxHpE}i>scH}HXT1QUK@NykJnI`EtBgKUv z4vGp-0Aa#MwZ$t(^ySiox&vXoL8BHg@q16aqE@gw(OU6%E7+ZAjXPI*S;3--R!e9G zT+*2vITK36#{hsu}74VlN{RxUvm(@qpvwJm<|;IX+UFy3yKI7AY32~XpC?{ z5rG1P3#0*!5iTeqP=IiOG@voU1w{l35H64gG)B0fh(H0t1=4`V2p1F)C_uPC8qgTw zf+7M12p32L8Y5g#M4$lS0%<^FgbRuY6d+t64QPyTK@ouhgbSnrjS(&=B2a*Efi$2o z!UaVH3J@-k1~f*vpol;L!UfWR#t0V_5hy^oKpM~(;esLp1qc^N0~#Y-P(+{r;R0zu zV}uKe2oxY(APs1Ya6u7)0)z{s0gVwZC?ZgRaDgi9kd%jtDX}f=)SD(>%ps_V`p!@ib}U=<#$9Uj(7*2J@vKgGjp0K{P{U4U8W^N z59@lCZO4Q|>x7&uS*Flp&W-;ebx$E-YrA!Q!M8Kt_g$Ucy)cs^iZ}7w|1~IEb@{z_ z4@AYlZ;C(soHo32^*>=SeYXAIW`~6p#(|<|ZdM>@O>im&Im#fP@ zz1Eg>yye6S;lazHZ|Ek?x6YUCKHqB1`!KU^OMmw=TMB>l*4ExZ*^K1%M}KriD9f`t zzq9$qmQ$yH@kIaZcNVVFz4)FFU_oav3pwPe9O@8yO&G)4;I|NsGv3`_jR5q zdFO>9=2)N4u%z+E?V|_Ics`rFb49c9?CEFAvb!vA$@)7pZtrLk?reIq>ebG!bYd7gpXvGg>c&e0 zsijZdQOP|`3!dv}f8wKgn|jiJGeBpzHsu;R`R{kOB^9SxOD6qk;5?SS_IO>^wPu&} P=BvG+(0VxUd-eYX`M>r3 literal 0 HcmV?d00001 diff --git a/images/ukrainian.png b/images/ukrainian.png new file mode 100644 index 0000000000000000000000000000000000000000..181968a0c237d510ac86f04cc0fc8cff78ae3bb8 GIT binary patch literal 3052 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 + + + + + + + + + + +

    + + + +
    + +
    + + +

    Movies

    +
      + +
    +
    + +
    + +
    + + + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/app.js b/js/app.js new file mode 100644 index 00000000..6fa879aa --- /dev/null +++ b/js/app.js @@ -0,0 +1,191 @@ +var + // Minimum percentage to open video + MIN_PERCENTAGE_LOADED = 0.5, + + // Minimum bytes loaded to open video + MIN_SIZE_LOADED = 10 * 1024 * 1024, + + // Configuration variable + applicationRoot = './', + + // Load native UI library + gui = require('nw.gui'), + + // Debug flag + isDebug = gui.App.argv.indexOf('--debug') > -1, + + // browser window object + win = gui.Window.get(), + + // os object + os = require('os'), + + // path object + path = require('path'), + + // fs object + fs = require('fs'), + + // url object + url = require('url'), + + // TMP Folder + tmpFolder = path.join(os.tmpDir(), 'Popcorn-Time'), + + // i18n module (translations) + i18n = require("i18n"); + + isWin = (process.platform === 'win32'); + isLinux = (process.platform === 'linux'); + isOSX = (process.platform === 'darwin'); + + BUTTON_ORDER = ['close', 'min', 'max']; + + if (isWin) { BUTTON_ORDER = ['min', 'max', 'close']; } + if (isLinux) { BUTTON_ORDER = ['min', 'max', 'close']; } + if (isOSX) { BUTTON_ORDER = ['close', 'min', 'max']; } + +// Global App skeleton for backbone +var App = { + Controller: {}, + View: {}, + Model: {}, + Page: {} +}; + + +// render header buttons +$("#header").html(_.template($('#header-tpl').html(), {buttons: BUTTON_ORDER})); + + +// Create the System Temp Folder. This is used to store temporary data like movie files. +if( ! fs.existsSync(tmpFolder) ) { fs.mkdir(tmpFolder); } + +var wipeTmpFolder = function() { + if( typeof tmpFolder != 'string' ){ return; } + fs.readdir(tmpFolder, function(err, files){ + for( var i in files ) { + fs.unlink(tmpFolder+'/'+files[i]); + } + }); +} + +// Wipe the tmpFolder when closing the app (this frees up disk space) +win.on('close', function(){ + wipeTmpFolder(); + win.close(true); +}); + + + +String.prototype.capitalize = function() { + return this.charAt(0).toUpperCase() + this.slice(1); +} + + +// Not debugging, hide all messages! +if (!isDebug) { + console.log = function () {}; +} else { + // Developer Menu building + var menubar = new gui.Menu({ type: 'menubar' }), + developerSubmenu = new gui.Menu(), + developerItem = new gui.MenuItem({ + label: 'Developer', + submenu: developerSubmenu + }), + debugItem = new gui.MenuItem({ + label: 'Show developer tools', + click: function () { + win.showDevTools(); + } + }); + menubar.append(developerItem); + developerSubmenu.append(debugItem); + win.menu = menubar; + + // Developer Shortcuts + document.addEventListener('keydown', function(event){ + // F12 Opens DevTools + if( event.keyCode == 123 ) { win.showDevTools(); } + // F11 Reloads + if( event.keyCode == 122 ) { win.reloadIgnoringCache(); } + }); +} + + +// Set the app title (for Windows mostly) +win.title = 'Popcorn Time'; + + +// Focus the window when the app opens +win.focus(); + + +// Cancel all new windows (Middle clicks / New Tab) +win.on('new-win-policy', function (frame, url, policy) { + policy.ignore(); +}); + + +var preventDefault = function(e) { + e.preventDefault(); +} +// Prevent dropping files into the window +window.addEventListener("dragover", preventDefault, false); +window.addEventListener("drop", preventDefault, false); +// Prevent dragging files outside the window +window.addEventListener("dragstart", preventDefault, false); + + + +// Show the disclaimer if the user hasn't accepted it yet. +if( ! Settings.get('disclaimerAccepted') ) { + $('.popcorn-disclaimer').removeClass('hidden'); + + $('.popcorn-disclaimer .btn.confirmation.continue').click(function(event){ + event.preventDefault(); + userTracking.event('App Disclaimer', 'Accepted', navigator.language.toLowerCase() ).send(); + Settings.set('disclaimerAccepted', 1); + $('.popcorn-disclaimer').addClass('hidden'); + }); + $('.popcorn-disclaimer .btn.confirmation.quit').click(function(event){ + event.preventDefault(); + + // We need to give the tracker some time to send the event + // Also, prevent multiple clicks + if( $('.popcorn-disclaimer').hasClass('quitting') ){ return; } + $('.popcorn-disclaimer').addClass('quitting'); + + userTracking.event('App Disclaimer', 'Quit', navigator.language.toLowerCase() ).send(); + setTimeout(function(){ + gui.App.quit(); + }, 2000); + }); +} + + +/** + * Show 404 page on uncaughtException + */ +process.on('uncaughtException', function(err) { + if (console) { + console.log(err); + } +}); + + + +// TODO: I have no idea what this is +App.throttle = function(handler, time) { + var throttle; + time = time || 300; + return function() { + var args = arguments, + context = this; + clearTimeout(throttle); + throttle = setTimeout(function() { + handler.apply(context, args); + }, time); + }; +}; diff --git a/js/frontend/controllers/filter.js b/js/frontend/controllers/filter.js new file mode 100644 index 00000000..ba259e52 --- /dev/null +++ b/js/frontend/controllers/filter.js @@ -0,0 +1,26 @@ +App.Controller.FilterGenre = function (genre, page) { + // Check if page exists + if (!App.Page.FilterGenre) { + // Create page + App.Page.FilterGenre = new App.View.Page({ + id: 'category-list' + }); + } + // Create movie list + var movieList = new App.View.MovieList({ + searchTerm: null, + genre: genre, + page: page + }); + // Clean up if first page + if (!page || page == '1'){ + $('.movie-list').first().empty(); + App.Page.FilterGenre.show(); + } + + userTracking.pageview('/movies/'+genre + ((page && page > 1) ? '?page='+page : ''), genre.capitalize() + ' Movies').send(); + + setTimeout(function(){ + movieList.constructor.busy = false; + }, 5000); +}; diff --git a/js/frontend/controllers/home.js b/js/frontend/controllers/home.js new file mode 100644 index 00000000..ad4ccf53 --- /dev/null +++ b/js/frontend/controllers/home.js @@ -0,0 +1,30 @@ +App.Controller.Home = function (page) { + // Check if page exists + if (!App.Page.Home) { + // Create page + App.Page.Home = new App.View.Page({ + id: 'movie-list' + }); + } + // Create movie list + var movieList = new App.View.MovieList({ + searchTerm: null, + genre: null, + page: page + }); + // Clean up if first page + if (!page || page == '1'){ + $('.movie-list').first().empty(); + App.sidebar = new App.View.Sidebar({ + el: 'sidebar' + }); + + App.Page.Home.show(); + } + + userTracking.pageview('/movies/popular'+((page && page > 1) ? '?page='+page : ''), 'Popular Movies').send(); + + setTimeout(function(){ + movieList.constructor.busy = false; + }, 5000); +}; \ No newline at end of file diff --git a/js/frontend/controllers/search.js b/js/frontend/controllers/search.js new file mode 100644 index 00000000..f1f4a1a1 --- /dev/null +++ b/js/frontend/controllers/search.js @@ -0,0 +1,30 @@ +App.Controller.Search = function (searchTerm, page) { + // Check if page exists + if (App.Page.Search) { + // Create page + App.Page.Search = new App.View.Page({ + id: 'search-list' + }); + } + // Create movie list + var movieList = new App.View.MovieList({ + keywords: searchTerm, + genre: null, + page: page + }); + + // Clean up if first page + if (!page || page == '1'){ + console.log('Searching for ' + searchTerm); + $('.movie-list').first().empty(); + App.loader(true, i18n.__('searchLoading')); + window.initialLoading = true; + App.Page.Search.show(); + } + + userTracking.pageview('/movies/search?q='+encodeURIComponent(searchTerm)+((page && page > 1) ? '&page='+page : '')).send(); + + setTimeout(function(){ + movieList.constructor.busy = false; + }, 5000); +}; diff --git a/js/frontend/models/movie.js b/js/frontend/models/movie.js new file mode 100644 index 00000000..2c8c1da9 --- /dev/null +++ b/js/frontend/models/movie.js @@ -0,0 +1,102 @@ +App.Model.Movie = Backbone.Model.extend({ + + buildBasicView: function () { + + var model = this; + + // This is mostly used for reporting + model.set('slug', model.get('title').toLowerCase().replace(/[^\w ]+/g,'').replace(/ +/g,'_') +'.'+ model.get('imdb').slice(2) ); + model.set('niceTitle', model.get('title') +' ('+model.get('year')+')' ); + + model.view = new App.View.MovieListItem({ + model: model + }); + + model.trigger('rottenloaded'); + }, + + getShortTitle: function() { + if (this.get('title').length > 19) { + return this.get('title').substring(0, 13) + "..."; + } + + return this.get('title'); + }, + + // DEPRECATED + setRottenInfo: function () { + var model = this; + + App.findMovieInfo(model.get('imdb'), function (data) { + + model.set('infoLoaded', true); + model.set('image', data.image); + model.set('bigImage', data.image); + model.set('backdrop', data.backdrop); + model.set('title', data.title); + model.set('synopsis', data.overview); + model.set('voteAverage', data.voteAverage); + model.set('runtime', data.runtime); + + model.view = new App.View.MovieListItem({ + model: model + }); + + model.trigger('rottenloaded'); + }); + }, + + // DEPRECATED + setSubtitles: function () { + var model = this; + + App.findSubtitle({ + imdb: model.get('imdb'), + title: model.get('title') + }, function (info) { + model.set('subbtitlesLoaded', true); + model.set('subtitles', info); + + model.trigger('rottenloaded'); + }); + }, + + initialize: function () { + this.buildBasicView(); + //this.setRottenInfo(); + //this.setSubtitles(); + this.calculateTorrentHealth(); + }, + + calculateTorrentHealth: function () { + // Calculates the "health" of the torrent (how easy it is to stream) + var seeders = this.get('seeders'); + var leechers = this.get('leechers'); + var ratio = leechers > 0 ? (seeders / leechers) : seeders; + + if (seeders < 100) { + this.set('health', 'bad'); + } + else if (seeders > 100 && seeders < 200) { + if( ratio > 5 ) { + this.set('health', 'good'); + } else if( ratio > 3 ) { + this.set('health', 'medium'); + } else { + this.set('health', 'bad'); + } + } + else if (seeders > 200) { + if( ratio > 5 ) { + this.set('health', 'excellent'); + } else if( ratio > 3 ) { + this.set('health', 'good'); + } else if( ratio > 2 ) { + this.set('health', 'medium'); + } else { + this.set('health', 'bad'); + } + } + } + +}); \ No newline at end of file diff --git a/js/frontend/player.js b/js/frontend/player.js new file mode 100644 index 00000000..351f4e06 --- /dev/null +++ b/js/frontend/player.js @@ -0,0 +1,294 @@ +// Opens a streaming torrent client + +var videoStreamer = null; +var playTorrent = window.playTorrent = function (torrent, subs, movieModel, callback, progressCallback) { + + videoStreamer ? $(document).trigger('videoExit') : null; + + // Create a unique file to cache the video (with a microtimestamp) to prevent read conflicts + var tmpFilename = ( torrent.toLowerCase().split('/').pop().split('.torrent').shift() ).slice(0,100); + tmpFilename = tmpFilename.replace(/([^a-zA-Z0-9-_])/g, '_') + '.mp4'; + var tmpFile = path.join(tmpFolder, tmpFilename); + + var numCores = (os.cpus().length > 0) ? os.cpus().length : 1; + var numConnections = 100; + + // Start Popcornflix (Peerflix) + var popcornflix = require('peerflix'); + + videoStreamer = popcornflix(torrent, { + // Set the custom temp file + path: tmpFile, + //port: 554, + buffer: (1.5 * 1024 * 1024).toString(), + connections: numConnections + }, function (err, flix) { + if (err) throw err; + + var started = Date.now(), + loadedTimeout; + + flix.server.on('listening', function () { + var href = 'http://127.0.0.1:' + flix.server.address().port + '/'; + + loadedTimeout ? clearTimeout(loadedTimeout) : null; + + var checkLoadingProgress = function () { + + var now = flix.downloaded, + total = flix.selected.length, + // There's a minimum size before we start playing the video. + // Some movies need quite a few frames to play properly, or else the user gets another (shittier) loading screen on the video player. + targetLoadedSize = MIN_SIZE_LOADED > total ? total : MIN_SIZE_LOADED, + targetLoadedPercent = MIN_PERCENTAGE_LOADED * total / 100.0, + + targetLoaded = Math.max(targetLoadedPercent, targetLoadedSize), + + percent = now / targetLoaded * 100.0; + + if (now > targetLoaded) { + if (typeof window.spawnVideoPlayer === 'function') { + window.spawnVideoPlayer(href, subs, movieModel); + } + if (typeof callback === 'function') { + callback(href, subs, movieModel); + } + } else { + typeof progressCallback == 'function' ? progressCallback( percent, now, total) : null; + loadedTimeout = setTimeout(checkLoadingProgress, 500); + } + }; + checkLoadingProgress(); + + + $(document).on('videoExit', function() { + if (loadedTimeout) { clearTimeout(loadedTimeout); } + + // Keep the sidebar open + $("body").addClass("sidebar-open").removeClass("loading"); + + // Stop processes + flix.clearCache(); + flix.destroy(); + videoStreamer = null; + + // Unbind the event handler + $(document).off('videoExit'); + + delete flix; + }); + }); + }); + +}; + + +// Supported Languages for Subtitles + +window.SubtitleLanguages = { + 'spanish' : 'Español', + 'english' : 'English', + 'french' : 'Français', + 'turkish' : 'Türkçe', + 'romanian' : 'Română', + 'portuguese': 'Português', + 'brazilian' : 'Português-Br', + 'dutch' : 'Nederlands', + 'german' : 'Deutsch', + 'hungarian' : 'Magyar', + 'finnish' : 'Suomi', + 'bulgarian' : 'БългарÑки'}; + + +// Handles the opening of the video player + +window.spawnVideoPlayer = function (url, subs, movieModel) { + + // Sort sub according lang translation + var subArray = []; + for (var lang in subs) { + if( typeof SubtitleLanguages[lang] == 'undefined' ){ continue; } + subArray.push({ + 'language': lang, + 'languageName': SubtitleLanguages[lang], + 'sub': subs[lang] + }); + } + subArray.sort(function (sub1, sub2) { + return sub1.language > sub2.language; + }); + + var subtracks = ''; + for(var index in subArray ) { + subtracks += ''; + } + + var player = + '' + + ''; + + if (!document.createElement('video').canPlayType('video/mp4')) { + return alert('Weird, but it seems the application is broken and you can\'t play this video.'); + } + + // Move this to a separate view. + $('#video-container').html(player).show(); + $('body').removeClass().addClass('watching'); + + // Make sure you can drag the window by the video + $('#video-container video').canDragWindow(); + + // Double Click to toggle Fullscreen + $('#video-container video').dblclick(function(event){ + $('.vjs-fullscreen-control').trigger('click'); + }); + + // Init video. + var video = window.videoPlaying = videojs('video_player', { plugins: { biggerSubtitle : {}, smallerSubtitle : {}, customSubtitles: {} }}); + + + userTracking.pageview('/movies/watch/'+movieModel.get('slug'), movieModel.get('niceTitle') ).send(); + + + // Enter full-screen + $('.vjs-fullscreen-control').on('click', function () { + if(win.isFullscreen) { + win.leaveFullscreen(); + userTracking.event('Video Size', 'Normal', movieModel.get('niceTitle') ).send(); + win.focus(); + } else { + win.enterFullscreen(); + userTracking.event('Video Size', 'Fullscreen', movieModel.get('niceTitle') ).send(); + win.focus(); + } + }); + + // Exit full-screen + $(document).on('keydown', function (e) { + if (e.keyCode == 27) { + if(win.isFullscreen) { + win.leaveFullscreen(); + userTracking.event('Video Size', 'Normal', movieModel.get('niceTitle') ).send(); + win.focus(); + } + } + }); + + + tracks = video.textTracks(); + for( var i in tracks ) { + tracks[i].on('loaded', function(){ + // Trigger a resize to get the subtitles position right + $(window).trigger('resize'); + userTracking.event('Video Subtitles', 'Select '+ this.language_, movieModel.get('niceTitle') ).send(); + }); + } + + + var getTimeLabel = function() { + // Give the time in 1 minute increments up to 5min, from then on report every 5m up to half an hour, and then in 15' increments + var timeLabel = '' + if( video.currentTime() <= 5*60 ) { + timeLabel = Math.round(video.currentTime()/60)+'min'; + } else if( video.currentTime() <= 30*60 ) { + timeLabel = Math.round(video.currentTime()/60/5)*5+'min'; + } else { + timeLabel = Math.round(video.currentTime()/60/15)*15+'min'; + } + + return timeLabel; + }; + + // Report the movie playback status once every 10 minutes + var statusReportInterval = setInterval(function(){ + + if( typeof video == 'undefined' || video == null ){ clearInterval(statusReportInterval); return; } + + userTracking.event('Video Playing', movieModel.get('niceTitle'), getTimeLabel(), Math.round(video.currentTime()/60) ).send(); + + }, 1000*60*10); + + + // Close player + $('#video_player_close').on('click', function () { + + // Determine if the user quit because he watched the entire movie + // Give 15 minutes or 15% of the movie for credits (everyone quits there) + if( video.duration() > 0 && video.currentTime() >= Math.min(video.duration() * 0.85, video.duration() - 15*60) ) { + userTracking.event('Video Finished', movieModel.get('niceTitle'), getTimeLabel(), Math.round(video.currentTime()/60) ).send(); + } + else { + userTracking.event('Video Quit', movieModel.get('niceTitle'), getTimeLabel(), Math.round(video.currentTime()/60) ).send(); + } + + // Clear the status report interval so it doesn't leak + clearInterval(statusReportInterval); + + + win.leaveFullscreen(); + $('#video-container').hide(); + video.dispose(); + $('body').removeClass(); + $(document).trigger('videoExit'); + + }); + + + // Todo: delay these tracking events so we don't send two on double click + video.player().on('pause', function () { + + //userTracking.event('Video Control', 'Pause Button', getTimeLabel(), Math.round(video.currentTime()/60) ).send(); + }); + + video.player().on('play', function () { + // Trigger a resize so the subtitles are adjusted + $(window).trigger('resize'); + + //userTracking.event('Video Control', 'Play Button', getTimeLabel(), Math.round(video.currentTime()/60) ).send(); + }); + + // There was an issue with the video + video.player().on('error', function (error) { + console.log(error); + }); + + App.loader(false); +}; + + +// Change the subtitle size on resize so it fits the screen proportionally +jQuery(function ($) { + $(window).resize(function(){ + + // Calculate a decent font size + // Baseline: WindowHeight:600px -> FontSize:20px + var font_size = Math.ceil($(window).height() * 0.0333333); + var min_font_size = 18; + font_size = font_size < min_font_size ? min_font_size : font_size + + $('#video-container').css('font-size', font_size+'px'); + + // And adjust the subtitle position so they always match the bottom of the video + var $video = $('#video-container video'); + var $subs = $('#video-container .vjs-text-track-display'); + + if( $video.length && $subs.length ) { + if( $video[0].videoWidth > 0 && $video[0].videoHeight > 0 ) { + var ratio = $video[0].videoWidth / $video[0].videoHeight; + var windowWidth = $(window).width(); + var windowHeight = $(window).height(); + + var realVideoHeight = windowWidth / ratio; + realVideoHeight = realVideoHeight > windowHeight ? windowHeight : realVideoHeight; + + var bottomOffset = (windowHeight - realVideoHeight) / 2; + + $subs.css('bottom', bottomOffset+'px'); + } + } + + }).trigger('resize'); +}); diff --git a/js/frontend/providers/cache.js b/js/frontend/providers/cache.js new file mode 100644 index 00000000..3a6eec14 --- /dev/null +++ b/js/frontend/providers/cache.js @@ -0,0 +1,77 @@ +var db = openDatabase('cachedb', '1.0', 'Cache database', 50 * 1024 * 1024); + +App.Cache = { + clear: function () { + db.transaction(function (tx) { + tx.executeSql('DELETE FROM subtitle'); + tx.executeSql('DELETE FROM tmdb'); + }); + }, + getItem: function (provider, key, cb) { + if (typeof key !== 'string') { + key = JSON.stringify(key); + } + + db.transaction(function (tx) { + tx.executeSql('SELECT data FROM ' + provider + ' WHERE key = ?', [key], function (tx, results) { + try { + if (results.rows.length) { + var result = results.rows.item(0).data; + + if (typeof result !== 'object') { + result = JSON.parse(result); + } + + if (result.hasOwnProperty('_TTL') && result._TTL * 1000 < +new Date() - result.saved) { + result = false; + db.transaction(function (tx) { + tx.executeSql('DELETE FROM ' + provider + ' WHERE key = ?', [key]); + console.log('One expired!'); + }); + } + + cb(result); + } else { + cb(); + } + } catch (e) { + cb(); + + if (isDebug) { + throw e; + } + } + }, function () { + // On error + cb(); + }); + }); + }, + setItem: function (provider, key, data) { + if (typeof key !== 'string') { + key = JSON.stringify(key); + } + + if (typeof data !== 'string') { + data = JSON.stringify(data); + } + + if (data.hasOwnProperty('_TTL')) { + data.saved = +new Date(); + } + + db.transaction(function (tx) { + tx.executeSql('CREATE TABLE IF NOT EXISTS ' + provider + ' (key TEXT, data TEXT)'); + + //Implementation to check if exist registration in db and update instead of insert + //Does a SELECT on Provider + tx.executeSql('SELECT data FROM ' + provider + ' WHERE key = ?', [key], function (tx, results) { + if (results.rows.length) { + tx.executeSql('UPDATE ' + provider + ' SET data = ? WHERE key = ?', [data, key]); + } else { + tx.executeSql('INSERT INTO ' + provider + ' VALUES (?, ?)', [key, data]); + } + }); + }); + } +}; diff --git a/js/frontend/providers/opensubtitles.js b/js/frontend/providers/opensubtitles.js new file mode 100644 index 00000000..432c42c6 --- /dev/null +++ b/js/frontend/providers/opensubtitles.js @@ -0,0 +1,120 @@ +var xmlrpc = require('xmlrpc'), + request = require('request'), + zlib = require('zlib'), + fs = require('fs'), + + appUserAgent = 'PopcornHour v1', + + client = xmlrpc.createClient({ + url: 'http://api.opensubtitles.org/xml-rpc', + headers: { + 'User-Agent': appUserAgent + } + }), + + Languages = window.Languages = { + 'spa': 'Spanish', + 'eng': 'English', + 'pob': 'Portuguese(Brazil)', + 'rum': 'Romanian', + 'tur': 'Turkish', + 'dut': 'Dutch', + 'fre': 'French', + 'ger': 'German', + 'lit': 'Lithuanian', + 'lat': 'Latvian', + 'hun': 'Hungarian', + 'rus': 'Russian', + 'ukr': 'Ukrainian', + 'fin': 'Finnish', + 'bul': 'Bulgarian' }, + + token; + +client.methodCall('LogIn', [ + null, + null, + null, + appUserAgent +], function (error, data) { + if (!error) { + token = data.token; + } +}); + +App.unzip = function (url, filename) { + var output = fs.createWriteStream(filename); + + request({ + url: url, + headers: { + 'Accept-Encoding': 'gzip' + } + }).pipe(zlib.createGunzip()).pipe(output); +}; + +App.findSubtitle = function (model, cb, isFallback) { + var doRequest = function () { + if (!token) { + return setTimeout(function () { + App.findSubtitle(model, cb); + }, 200); + } + + var queries = [], + params; + + Object.keys(Languages).forEach(function (lang) { + var opts = { + sublanguageid: lang + }; + + if (isFallback) { + opts.imdbid = model.imdb; + } else { + opts.query = model.title + ' YIFY'; + } + + queries.push(opts); + }); + + params = [ + token, + queries, + { + limit: 5 + } + ]; + + client.methodCall('SearchSubtitles', params, function (error, data) { + if (!error && data && !isFallback && data.data === false) { + return App.findSubtitle(model, cb, true); + } + + if (!error && data.data && data.data.length) { + + var subs = {}; + + _.each(data.data, function (sub) { + if (typeof subs[sub.SubLanguageID] === 'undefined') { + subs[sub.SubLanguageID] = sub.SubDownloadLink; + } + }); + + // Save to cache + App.Cache.setItem('subtitle', model, subs); + + // Callback + cb(subs); + } + }); + }; + + App.Cache.getItem('subtitle', model, function (cachedItem) { + if (cachedItem) { + cb(cachedItem); + } else { + doRequest(); + } + }); +}; diff --git a/js/frontend/providers/themoviedb.js b/js/frontend/providers/themoviedb.js new file mode 100644 index 00000000..eb1538b5 --- /dev/null +++ b/js/frontend/providers/themoviedb.js @@ -0,0 +1,70 @@ +// Fix for https://github.com/visionmedia/superagent/issues/95 +var mdb = require('moviedb')(vendorAPIs.themoviedb.key), + POSTER_PREFIX = 'http://image.tmdb.org/t/p/w342/', + BACKDROP_PREFIX = 'http://image.tmdb.org/t/p/original/', + last = +new Date(); + +App.findMovieInfo = function (imdbId, callback) { + var doRequest = function () { + // 1 sec because limit is 3 calls every second, and we need to use 2. + if (last > +new Date() - 1000) { + return setTimeout(function () { + App.findMovieInfo(imdbId, callback); + }, new Date() - last + 1000); + } + + last = +new Date(); + + var findInfo = function (id, language) { + mdb.movieInfo({ + id: id, language: language || i18n.getLocale() + }, function (err, data) { + if (!err && data) { + if (data.overview === null || data.runtime === null) { + default_movie = findInfo(id, "en") + ["overview", "runtime"].each(function(key){ + if (data[key] === null) { + data[key] = default_movie[key] + } + }); + } + + var info = { + image: POSTER_PREFIX + data.poster_path, + backdrop: BACKDROP_PREFIX + data.backdrop_path, + overview: data.overview, + title: data.title, + voteAverage: data.vote_average, + runtime: data.runtime + }; + + console.log('Fetched info for', imdbId, ':', info); + + // Save to cache + App.Cache.setItem('tmdb', imdbId, info); + + // Return callback call + callback(info); + } + }); + }; + + // Find internal tMDB ID + mdb.find({ + id: 'tt' + imdbId, + external_source: 'imdb_id', language: i18n.getLocale() + }, function (err, data) { + if (data && data.movie_results && data.movie_results.length) { + findInfo(data.movie_results[0].id); + } + }); + }; + + App.Cache.getItem('tmdb', imdbId, function (cachedItem) { + if (cachedItem) { + callback(cachedItem); + } else { + doRequest(); + } + }); +}; \ No newline at end of file diff --git a/js/frontend/providers/torrents.js b/js/frontend/providers/torrents.js new file mode 100644 index 00000000..ab21f355 --- /dev/null +++ b/js/frontend/providers/torrents.js @@ -0,0 +1,90 @@ +App.getTorrentsCollection = function (options) { + + var url = 'http://subapi.com/'; + + var supportedLanguages = ['english', 'french', 'dutch', 'portuguese', 'romanian', 'spanish', 'turkish', 'brazilian', + 'italian', 'german', 'hungarian', 'russian', 'ukrainian', 'finnish', 'bulgarian', 'latvian']; + if (options.genre) { + url += options.genre.toLowerCase() + '.json'; + } else { + if (options.keywords) { + url += 'search.json?query=' + options.keywords; + } else { + url += 'popular.json'; + } + } + + if (options.page && options.page.match(/\d+/)) { + var str = url.match(/\?/) ? '&' : '?'; + url += str + 'page=' + options.page; + } + + var MovieTorrentCollection = Backbone.Collection.extend({ + url: url, + model: App.Model.Movie, + parse: function (data) { + + var movies = []; + + data.movies.forEach(function (movie) { + + var videos = {}; + var torrents = {}; + torrent = ''; + quality = ''; + var subtitles = {}; + + // Put the video and torrent list into a {quality: url} format + for( var k in movie.videos ) { + if( typeof videos[movie.videos[k].quality] == 'undefined' ) { + videos[movie.videos[k].quality] = movie.videos[k].url; + } + } + + for( var k in movie.torrents ) { + if( typeof torrents[movie.torrents[k].quality] == 'undefined' ) { + torrents[movie.torrents[k].quality] = movie.torrents[k].url; + } + } + + // Pick the worst quality by default + if( typeof torrents['720p'] != 'undefined' ){ quality = '720p'; torrent = torrents['720p']; } + else if( typeof torrents['1080p'] != 'undefined' ){ quality = '1080p'; torrent = torrents['1080p']; } + + for( var k in movie.subtitles ) { + if( supportedLanguages.indexOf(movie.subtitles[k].language) < 0 ){ continue; } + if( typeof subtitles[movie.subtitles[k].language] == 'undefined' ) { + subtitles[movie.subtitles[k].language] = movie.subtitles[k].url; + } + } + + if( (typeof movie.subtitles == 'undefined' || movie.subtitles.length == 0) && (typeof movie.videos == 'undefined' || movie.videos.length == 0) ){ return; } + + movies.push({ + imdb: movie.imdb_id, + title: movie.title, + year: movie.year, + runtime: movie.runtime, + synopsis: movie.synopsis, + voteAverage:movie.vote_average, + + image: movie.poster, + bigImage: movie.poster, + backdrop: movie.backdrop, + + quality: quality, + torrent: torrent, + torrents: torrents, + videos: videos, + subtitles: subtitles, + seeders: movie.seeders, + leechers: movie.leechers + }); + }); + + return movies; + } + }); + + return new MovieTorrentCollection(); +}; diff --git a/js/frontend/providers/yifysubtitles.js b/js/frontend/providers/yifysubtitles.js new file mode 100644 index 00000000..428f9af1 --- /dev/null +++ b/js/frontend/providers/yifysubtitles.js @@ -0,0 +1,100 @@ +var request = require('request'), + cheerio = require('cheerio'), + zlib = require('zlib'), + fs = require('fs'), + + appUserAgent = 'PopcornHour v1', + + baseUrl = 'http://www.yifysubtitles.com', + + Languages = window.Languages = { + 'spanish' : 'Español', + 'english' : 'English', + 'french' : 'Français', + 'turkish' : 'Türkçe', + 'romanian' : 'Română', + 'portuguese': 'Português', + 'brazilian' : 'Português-Br', + 'dutch' : 'Nederlands', + 'german' : 'Deutsch', + 'hungarian' : 'Magyar', + 'russian' : 'РуÑÑкий', + 'ukrainian' : 'УкраїнÑька', + 'finnish' : 'Suomi', + 'latvian' : 'Latviski', + 'bulgarian' : 'БългарÑки' }; + +App.findSubtitle = function (model, cb, isFallback) { + var doRequest = function () { + var requestOptions = { + url: baseUrl + '/movie-imdb/tt' + model.imdb, + headers: { + 'User-Agent': appUserAgent + } + }; + + request(requestOptions, function(error, response, html) { + if (!error && response.statusCode == 200) { + var queries = {}, + subs = {}; + + var $c = cheerio.load(html); + + $c('ul.other-subs>li').each(function(i, element){ + var a = $c(this).children('.subtitle-download'); + if(a.attr("href") !== undefined) { + var link = a.attr("href"); + var linkData = (link.substr(link.lastIndexOf('/') + 1)).split('-'); + var language = linkData[linkData.length-3]; + + //This verification sets the subtitle to portuguese of Brazil or European(regionalization) + if(language == 'portuguese' && linkData[linkData.length-4] == 'brazilian'){ + language = linkData[linkData.length-4]; + } + + // TODO: we can get more info from the site (like rating, hear-impaired) + if ($.isEmptyObject(queries[language]) + && !($.isEmptyObject(Languages[language]))) { + var subtitleData = { + 'link' : baseUrl+link + }; + queries[language] = subtitleData; + } + } + }); + + Object.keys(Languages).forEach(function (language, key) { + if (!($.isEmptyObject(queries[language]))) { + var subtitleLink = queries[language]["link"]; + var subRequestOptions = { + url: subtitleLink, + headers: { + 'User-Agent': appUserAgent + } + }; + request(subRequestOptions, function (error, response, html) { + if (!error && response.statusCode == 200) { + var $c = cheerio.load(html); + var subDownloadLink = $c('a.download-subtitle').attr('href'); + if (!(language in subs)) { + subs[language] = subDownloadLink; + App.Cache.setItem('subtitle', model, subs); + // Callback + cb(subs); + } + } + }); + } + }); + } + }); + }; + + App.Cache.getItem('subtitle', model, function (cachedItem) { + if (cachedItem) { + cb(cachedItem); + } else { + doRequest(); + } + }); +}; \ No newline at end of file diff --git a/js/frontend/router.js b/js/frontend/router.js new file mode 100644 index 00000000..9a0949d6 --- /dev/null +++ b/js/frontend/router.js @@ -0,0 +1,14 @@ +var Router = Backbone.Router.extend({ + routes: { + 'index(:page).html': App.Controller.Home, + 'search/:term(/:page)': App.Controller.Search, + 'filter/:genre(/:page)': App.Controller.FilterGenre + } +}); + +App.Router = new Router(); + +Backbone.history.start({ + hashChange: false, + pushState: true +}); \ No newline at end of file diff --git a/js/frontend/ui.js b/js/frontend/ui.js new file mode 100644 index 00000000..0792bb09 --- /dev/null +++ b/js/frontend/ui.js @@ -0,0 +1,204 @@ +// Loading Screen + +App.loader = function (hasToShow, copy) { + var $el = $('.popcorn-load'); + + if (hasToShow === true && !$el.hasClass('hidden') || + hasToShow === false && $el.hasClass('hidden')) { + return false; + } + + if (hasToShow === true) { + $el.find('.text').html(copy ? copy : i18n.__('loading')); + } + + $el[hasToShow === false ? 'addClass' : 'removeClass']('hidden'); + + if( ! hasToShow ) { + window.initialLoading = false; + + // Wait a second before removing the progressbar clas + setTimeout(function(){ + $el.removeClass('withProgressBar').removeClass('cancellable'); + $el.find('.progress').css('width', 0.0+'%'); + }, 1000); + } +}; + +// Show by default +window.initialLoading = true; +App.loader(true, i18n.__('loading')); + + + +// Handles general UI buttons, like maximization, etc + +jQuery(function ($) { + + // Maximize, minimize + $('.btn-os.max').on('click', function () { + if(win.isFullscreen){ + win.toggleFullscreen(); + }else{ + if (screen.availHeight <= win.height) { + win.unmaximize(); + } + else { + win.maximize(); + } + } + }); + + $('.btn-os.min').on('click', function () { + win.minimize(); + }); + + $('.btn-os.close').on('click', function () { + win.close(); + }); + + $('.btn-os.fullscreen').on('click', function () { + win.toggleFullscreen(); + $('.btn-os.fullscreen').toggleClass('active'); + }); + + + // The app loading close button + $('.popcorn-load .btn-close').click(function(event){ + event.preventDefault(); + App.loader(false); + $(document).trigger('videoExit'); + }); + + $('.popcorn-quit .quit').click(function(event){ + win.close(true); + }); + + $('.popcorn-quit .cancel').click(function(event){ + $('.popcorn-quit').addClass('hidden'); + }); + + // Catalog switch + $('#catalog-select ul li a').on('click', function (evt) { + $('#catalog-select ul li.active').removeClass('active'); + $(this).parent('li').addClass('active'); + + var genre = $(this).data('genre'); + + if (genre == 'all') { + App.Router.navigate('index.html', { trigger: true }); + } else { + App.Router.navigate('filter/' + genre, { trigger: true }); + } + evt.preventDefault(); + }); + + + // Add route callback to router + App.Router.on('route', function () { + // Ensure sidebar is hidden + App.sidebar.hide(); + }); + + + // Search + $('.search input').on('keypress', function (evt) { + var term = $.trim($(this).val()); + + // ENTER KEY + if (evt.keyCode === 13) { + if (term) { + App.Router.navigate('search/' + encodeURIComponent(term), { trigger: true }); + } else { + App.Router.navigate('index.html', { trigger: true }); + } + $('#catalog-select ul li.active').removeClass('active'); + } + }); + + $('.search i').on('click', function (evt) { + var term = $.trim($('.search input').val()); + + if (term) { + App.Router.navigate('search/' + term, { trigger: true }); + } else { + App.Router.navigate('index.html', { trigger: true }); + } + $('#catalog-select ul li.active').removeClass('active'); + }); + + + + // Shortcuts + document.addEventListener('keydown', function(event){ + var $el = $('.popcorn-quit'); + if(!$el.hasClass('hidden')) { + // Esc + if( event.keyCode == 27 ) { $el.addClass('hidden'); } + } + if (event.keyCode === 27 && $('body').is('.loading')) { + // Escape pressed from sidebar + App.loader(false); + $(document).trigger('videoExit'); + } + // Get video player + var videoPlayer = $("#video_player"); + if (videoPlayer.length > 0) { + videoPlayer = videoPlayer[0].player; + if (event.keyCode == 32 && $("#video_player").is(".vjs-playing")) { + // Space: pause + videoPlayer.pause(); + } else if (event.keyCode == 32 && $("#video_player").is(".vjs-paused")) { + // Space: play + videoPlayer.play(); + } + if (event.keyCode == 37) { + // Left arrow: jump backward + var currentTime = videoPlayer.currentTime(); + videoPlayer.currentTime(currentTime - 10); + } + if (event.keyCode == 38) { + // Up arrow: increase volume (1.0 is all the way up) + var currentVolume = videoPlayer.volume(); + videoPlayer.volume(currentVolume + 0.1); + } + if (event.keyCode == 39) { + // Right arrow: jump forward + var currentTime = videoPlayer.currentTime(); + videoPlayer.currentTime(currentTime + 10); + } + if (event.keyCode == 40) { + // Down arrow: decrease volume (0 is off, muted) + var currentVolume = videoPlayer.volume(); + videoPlayer.volume(currentVolume - 0.1); + } + } + }); + + + document.addEventListener('mousewheel', function(event){ + // Get video player + var videoPlayer = $("#video_player"); + if (videoPlayer.length === 0) + return; + videoPlayer = videoPlayer[0].player; + // Get current volume + var currentVolume = videoPlayer.volume(); + // Check wheel direction + if (event.wheelDelta > 0) { + // Wheel up: increase volume (1.0 is all the way up) + videoPlayer.volume(currentVolume + 0.1); + } else { + // Wheel down: decrease volume (0 is off, muted) + videoPlayer.volume(currentVolume - 0.1); + } + }); + + + + // Enable tooltips + $('body').tooltip({ + selector: "*[data-toggle^='tooltip']" + }); +}); + diff --git a/js/frontend/views/listview.js b/js/frontend/views/listview.js new file mode 100644 index 00000000..78238b77 --- /dev/null +++ b/js/frontend/views/listview.js @@ -0,0 +1,119 @@ +App.View.MovieList = Backbone.View.extend({ + constructor: function (options) { + this.configure(options || {}); + Backbone.View.prototype.constructor.apply(this, arguments); + }, + + configure: function (options) { + if (this.options) { + options = _.extend({}, _.result(this, 'options'), options); + } + this.options = options; + }, + + initialize: function (options) { + // Bind element on existing list + this.$el = $('.movie-list').first(); + + this.collection = App.getTorrentsCollection(options); + + this.collection.fetch(); + + this.listenTo(this.collection, 'sync', this.render); + this.listenTo(this.collection, 'rottenloaded', this.render); + }, + + empty: function () { + this.$el.append('
    ' + i18n.__('noResults') + '
    '); + return false; + }, + + render: function () { + + if( window.initialLoading ) { + App.loader(false); + } + + if (this.collection.length === 0) { + return this.empty(); + } + + + var movieList = this; + + $.each(this.collection.models, function (index) { + + // Only append not yet appended elements + this.view.render(); + var $movie = this.view.$el; + var $currentEl = movieList.$el.find('#movie-'+ this.get('imdb') ); + + if ( ! $currentEl.length ) { + $movie.appendTo(movieList.$el); + $currentEl = $movie; + + setTimeout(function () { + $movie.addClass('loaded'); + }, 50); + } + + // Check for IMDB id and also image loaded (required for view) + // We can also check if the subtitles loaded with this.get('subtitlesLoaded') + if (! $movie.hasClass('fullyLoaded')) { + + $movie.addClass('fullyLoaded'); + + var $newCover = $(''); + $currentEl.find('.cover').append( $newCover ); + + $newCover.load(function(){ + $(this).removeClass('hidden'); + }); + } + + + }); + + var $scrollElement = movieList.$el.parent(); + if (!$scrollElement.data('page') || $scrollElement.data('section') != movieList.options.genre){ + $scrollElement.data('page', 1); + $scrollElement.data('section', movieList.options.genre); + } + if (!this.options.paginationDisabled){ + $scrollElement.scroll(function(){ + if (!movieList.constructor.busy){ + var totalSize = $scrollElement.prop('scrollHeight'); + var currentPosition = $scrollElement.scrollTop(); + var scrollBuffer = (15 / 100) * totalSize; + if (currentPosition > 0){ + currentPosition += $scrollElement.height(); + } + if (currentPosition >= (totalSize - scrollBuffer)){ + movieList.constructor.busy = true; + var page = parseInt($scrollElement.data('page')); + var section = $scrollElement.data('section'); + page++; + $scrollElement.data('page', page); + + if (section){ + App.Router.navigate('filter/' + section + '/' + page, { trigger: true }); + } + else if (movieList.options.keywords) { + section = 'search'; + // uncomment this line when the API start accepting the page param to paginate ;) + //App.Router.navigate('search/' + encodeURIComponent(movieList.options.keywords) + '/' + page, { trigger: true }); + } + else { + section = 'index'; + App.Router.navigate(section + page + '.html', { trigger: true }); + } + + console.log(section + ' page ' + page); + } + } + }); + } + } +},{ + busy: false +}); diff --git a/js/frontend/views/movie.js b/js/frontend/views/movie.js new file mode 100644 index 00000000..05da9162 --- /dev/null +++ b/js/frontend/views/movie.js @@ -0,0 +1,43 @@ +App.View.MovieListItem = Marionette.ItemView.extend({ + tagName: 'li', + className: 'movie', + model: App.Model.Movie, + id: function() { + return 'movie-'+this.model.get('imdb') + }, + + events: { + 'click a': 'select' + }, + + initialize: function () { + this.render(); + }, + + template: _.template(''+ + ''+ + ''+ + '<%- title %>'+ + '<%- year %>'+ + ''), + + serializeData: function() { + return _.extend({}, this.model.attributes, { + title: this.model.getShortTitle() + }); + }, + + select: function (evt) { + evt.stopPropagation(); + evt.preventDefault(); + + if (this.$el.hasClass('active')) { + this.$el.removeClass('active'); + App.sidebar.hide(); + } else { + this.$el.parent().find('.active').removeClass('active'); + this.$el.addClass('active'); + App.sidebar.load(this.model); + } + } +}); \ No newline at end of file diff --git a/js/frontend/views/page.js b/js/frontend/views/page.js new file mode 100644 index 00000000..c3adc9d5 --- /dev/null +++ b/js/frontend/views/page.js @@ -0,0 +1,34 @@ +App.View.Page = Backbone.View.extend({ + className: 'page', + + initialize: function () { + this.render(); + }, + + render: function () { + $('.'+this.className).remove(); + this.$el.appendTo('section.container'); + $('
      ').appendTo(this.$el); + }, + + show: function () { + // Fuck you UI. + var $el = this.$el.hide(), + $pages = $('.page').addClass('notransition'), + $movies = $('.movie').removeClass('loaded'); + + // ontransitionend could be buggy here. + setTimeout(function () { + $pages.removeClass('notransition').hide(); + + $el.show(); + }, 350); + + // having a onDOMRendered could solve this shit. + if ($el.is(App.Page.Home.$el)) { + setTimeout(function () { + $el.find('.movie').addClass('loaded'); + }, 400); + } + } +}); \ No newline at end of file diff --git a/js/frontend/views/sidebar.js b/js/frontend/views/sidebar.js new file mode 100644 index 00000000..7e5c8333 --- /dev/null +++ b/js/frontend/views/sidebar.js @@ -0,0 +1,185 @@ +var SidebarTemplate = $('#sidebar-tpl').html(); + +App.View.Sidebar = Backbone.View.extend({ + template: _.template(SidebarTemplate), + + events: { + 'click .closer': 'hide', + 'click .play-button': 'play', + 'click .subtitles button': 'selectSubtitle', + 'click .dropdown-toggle': 'toggleDropdown', + 'click #switch-on': 'enableHD', + 'click #switch-off': 'disableHD' + }, + + keyHide: function (e) { + if (e.which === 27 && $('body').is('.sidebar-open')) { + /*alert("escape pressed from sidebar");*/ + $('body').removeClass('sidebar-open'); + $('.movie.active').removeClass('active'); + $('sidebar').addClass('hidden'); + } + }, + + toggleDropdown: function (evt) { + $(evt.currentTarget).parent().toggleClass('active'); + }, + + selectSubtitle: function (evt) { + var $button = $(evt.currentTarget), + lang = $button.val(); + + $button + .closest('.dropdown').removeClass('active') + .find('.lang-placeholder').attr('src', $button.find('img').attr('src')); + this.model.set('selectedSubtitle', lang); + }, + + play: function (evt) { + evt.preventDefault(); + if( videoStreamer != null ){ return; } + + var file = this.model.get('torrent'), + subs = this.model.get('subtitles'); + + $('.popcorn-load').addClass('withProgressBar').addClass('cancellable').find('.progress').css('width', 0.0+'%'); + $('.popcorn-load .progressinfo').text( i18n.__('connecting') ); + + App.loader(true, i18n.__('loadingVideo')); + $('body').removeClass().addClass('loading'); + + + // Used to keep track of loading status changes + var previousStatus = ''; + var movieModel = this.model; + + playTorrent(file, subs, movieModel, + function(){}, + function(percent){ + + // Loading Progress Handler. Percent is 5% + Actual progress, to keep the progressbar moving even when it's at the min-width + var $progress = $('.popcorn-load').find('.progress'); + var minWidth = parseFloat($progress.css('min-width')); + percent = minWidth + percent * ((100.0-minWidth)/100.0); + percent = percent > 100.0 ? 100.0 : percent; + $('.popcorn-load').find('.progress').css('width', percent+'%'); + + // Update the loader status + var bufferStatus = 'connecting'; + if( videoStreamer.peers.length > 0 ) { + bufferStatus = 'startingDownload'; + if( videoStreamer.downloaded > 0 ) { + bufferStatus = 'downloading'; + } + } + + if( bufferStatus != previousStatus ) { + userTracking.event('Video Preloading', bufferStatus, movieModel.get('niceTitle')).send(); + previousStatus = bufferStatus; + } + + $('.popcorn-load .progressinfo').text( i18n.__(bufferStatus) ); + } + ); + + userTracking.event('Movie Quality', 'Watch on '+this.model.get('quality')+' - '+this.model.get('health').capitalize(), this.model.get('niceTitle') ).send(); + }, + + initialize: function () { + this.setElement($('sidebar')); + $('body').keydown(this.keyHide); + }, + + load: function (model) { + // TODO: QUEUE PLAY BUTTON + this.listenTo(model, 'change:subtitles', this.render); + + this.model = model; + this.render(); + }, + + render: function () { + this.$el.html(this.template(this.model.attributes)); + this.show(); + }, + + isVisible: function () { + return !this.$el.is('.hidden'); + }, + + hide: function () { + $('body').removeClass('sidebar-open'); + + // A user was going to watch a movie, but he cancelled, maybe because no sub in user locale + // Maybe we can move this to a better place + if( $('.movie.active').size() > 0 ) { + var userLocale = window.navigator.language.substr(0,2); + var availableSubs = this.model.get('subtitles'); + var languageLookup = { + "brazilian": "pt", + "dutch": "nl", + "english": "en", + "french": "fr", + "portuguese": "pt", + "romanian": "ro", + "spanish": "es", + "turkish": "tr", + "german": "de", + "hungarian": "hu", + "finnish": "fi", + "bulgarian": "bg" } + + var noSubForUser = true; + for (var as in availableSubs) { + var subLocale = languageLookup[as]; + if (subLocale == userLocale) { + noSubForUser = false; + } + } + + userTracking.event( 'Movie Closed', this.model.get('niceTitle'), + (noSubForUser ? 'No Local Subtitles' : 'With Local Subtitles') +' - '+ this.model.get('health').capitalize() ).send(); + } + + $('.movie.active').removeClass('active'); + this.$el.addClass('hidden'); + if( typeof this.backdropCache != 'undefined' ) { + this.backdropCache.src = null; + } + }, + + show: function () { + $('body').removeClass().addClass('sidebar-open'); + this.$el.removeClass('hidden'); + + this.backdropCache = new Image(); + this.backdropCache.src = this.model.get('backdrop'); + this.backdropCache.onload = function () { + $(".backdrop-image").addClass("loaded") + }; + + userTracking.pageview('/movies/view/'+this.model.get('slug'), this.model.get('niceTitle') ).send(); + }, + + enableHD: function (evt) { + + var torrents = this.model.get('torrents'); + console.log('HD Enabled'); + + if(torrents['1080p'] !== undefined) { + this.model.set('torrent', torrents['1080p']); + this.model.set('quality', '1080p'); + } + }, + + disableHD: function (evt) { + + var torrents = this.model.get('torrents'); + console.log('HD Disabled'); + + if(torrents['720p'] !== undefined) { + this.model.set('torrent', torrents['720p']); + this.model.set('quality', '720p'); + } + } +}); diff --git a/js/language.js b/js/language.js new file mode 100644 index 00000000..240469ed --- /dev/null +++ b/js/language.js @@ -0,0 +1,59 @@ +// Handles language detection and internationalization +i18n.configure({ + defaultLocale: 'en', + locales: ['ar', 'bg', 'ca', 'da', 'de', 'el', 'en', 'es', 'eu', 'fr', 'he', 'hu', 'it', 'ja', 'kr', + 'lt', 'lv', 'nl', 'no', 'pl', 'pt', 'pt-br', 'ro', 'ru', 'sk', 'sv', 'tr', 'uk', 'zh-cn', 'zh-tw'], + directory: './language' +}); + + +// Detect the language and update the global Language file +var detectLanguage = function(preferredLanguage) { + + var fs = require('fs'); + // The full OS language (with localization, like "en-uk") + var pureLanguage = navigator.language.toLowerCase(); + // The global language name (without localization, like "en") + var baseLanguage = navigator.language.toLowerCase().slice(0,2); + + if( fs.existsSync('./language/' + pureLanguage + '.json') ) { + i18n.setLocale(pureLanguage); + } + else if( fs.existsSync('./language/' + baseLanguage + '.json') ) { + i18n.setLocale(baseLanguage); + } else { + i18n.setLocale(preferredLanguage); + } + + // This is a hack to translate non-templated UI elements. Fuck it. + $('[data-translate]').each(function(){ + var $el = $(this); + var key = $el.data('translate'); + + if( $el.is('input') ) { + $el.attr('placeholder', i18n.__(key)); + } else { + $el.text(i18n.__(key)); + } + }); + + populateCategories(); +}; + + +// Populate the Category list (This should be a template, though) +var populateCategories = function() { + var category_html = ''; + var defaultCategory = 'all'; + + for(var key in i18n.__("genres") ) { + category_html += ''+ + ''+ i18n.__("genres")[key] +''+ + ''; + } + + jQuery('#catalog-select .categories').html(category_html); +}; + +// Detect the language. The default is english +detectLanguage('en'); diff --git a/js/tracking.js b/js/tracking.js new file mode 100644 index 00000000..9c03536a --- /dev/null +++ b/js/tracking.js @@ -0,0 +1,110 @@ +// Tracking +var getTrackingId = function(){ + + var clientId = Settings.get('trackingId'); + + if( typeof clientId == 'undefined' || clientId == null || clientId == '' ) { + + // A UUID v4 (random) is the recommended format for Google Analytics + var uuid = require('node-uuid'); + + Settings.set('trackingId', uuid.v4() ); + clientId = Settings.get('trackingId'); + + // Try a time-based UUID (v1) if the proper one fails + if( typeof clientId == 'undefined' || clientId == null || clientId == '' ) { + Settings.set('trackingId', uuid.v1() ); + clientId = Settings.get('trackingId'); + + if( typeof clientId == 'undefined' || clientId == null || clientId == '' ) { + clientId = null; + } + } + } + + return clientId; +}; + +var ua = require('universal-analytics'); + + +if( getTrackingId() == null ) { + // Don't report anything if we don't have a trackingId + var dummyMethod = function(){ return {send:function(){}}; }; + var userTracking = window.userTracking = {event:dummyMethod, pageview:dummyMethod, timing:dummyMethod, exception:dummyMethod, transaction:dummyMethod}; +} +else { + var userTracking = window.userTracking = ua('UA-48789649-1', getTrackingId()); +} + + +// Check if the user has a working internet connection (uses Google as reference) +var checkInternetConnection = function(callback) { + var http = require('http'); + var hasInternetConnection = false; + + var opts = url.parse(Settings.get('connectionCheckUrl')); + opts.method = 'HEAD'; + http.get(opts, function(res){ + if( res.statusCode == 200 || res.statusCode == 302 || res.statusCode == 301 ) { + hasInternetConnection = true; + } + typeof callback == 'function' ? callback(hasInternetConnection) : null; + }); +}; + + +// Detect the operating system of the user +var getOperatingSystem = function() { + var os = require('os'); + var platform = os.platform(); + + if( platform == 'win32' || platform == 'win64' ) { + return 'windows'; + } + if( platform == 'darwin' ) { + return 'mac'; + } + if( platform == 'linux' ) { + return 'linux'; + } + return null; +}; + + +// Report Installs and Upgrades +if( typeof __isNewInstall != 'undefined' && __isNewInstall == true ) { + userTracking.event('App Install', getOperatingSystem().capitalize(), Settings.get('version')).send(); +} +else if( typeof __isUpgradeInstall != 'undefined' && __isUpgradeInstall == true ) { + userTracking.event('App Upgrade', getOperatingSystem().capitalize(), Settings.get('version')).send(); +} + + +// Todo: Remove Upgrade in the next version to prevent double counting of device stats (we'd send stats once per version) +if( (typeof __isNewInstall != 'undefined' && __isNewInstall == true) || + (typeof __isUpgradeInstall != 'undefined' && __isUpgradeInstall == true) ) { + + // General Device Stats + userTracking.event('Device Stats', 'Version', Settings.get('version') + (isDebug ? '-debug' : '') ).send(); + userTracking.event('Device Stats', 'Type', getOperatingSystem().capitalize()).send(); + userTracking.event('Device Stats', 'Operating System', os.type() +' '+ os.release()).send(); + userTracking.event('Device Stats', 'CPU', os.cpus()[0].model +' @ '+ (os.cpus()[0].speed/1000).toFixed(1) +'GHz' +' x '+ os.cpus().length ).send(); + userTracking.event('Device Stats', 'RAM', Math.round(os.totalmem() / 1024 / 1024 / 1024)+'GB' ).send(); + userTracking.event('Device Stats', 'Uptime', Math.round(os.uptime() / 60 / 60)+'hs' ).send(); + + // Screen resolution, depth and pixel ratio (retina displays) + if( typeof screen.width == 'number' && typeof screen.height == 'number' ) { + var resolution = (screen.width).toString() +'x'+ (screen.height.toString()); + if( typeof screen.pixelDepth == 'number' ) { + resolution += '@'+ (screen.pixelDepth).toString(); + } + if( typeof window.devicePixelRatio == 'number' ) { + resolution += '#'+ (window.devicePixelRatio).toString(); + } + userTracking.event('Device Stats', 'Resolution', resolution).send(); + } + + // User Language + userTracking.event('Device Stats', 'Language', navigator.language.toLowerCase() ).send(); +} diff --git a/js/updater.js b/js/updater.js new file mode 100644 index 00000000..3b8f1e20 --- /dev/null +++ b/js/updater.js @@ -0,0 +1,34 @@ + +// Check if there's a newer version and shows a prompt if that's the case +var checkForUpdates = function() { + var http = require('http'); + + var currentOs = getOperatingSystem(); + // We may want to change this in case the detection fails + if( ! currentOs ){ return; } + + http.get(Settings.get('updateNotificationUrl'), function(res){ + var data = ''; + res.on('data', function(chunk){ data += chunk; }); + + res.on('end', function(){ + try { + var updateInfo = JSON.parse(data); + } catch(e){ return; } + + if( ! updateInfo ){ return; } + + if( updateInfo[currentOs].version > Settings.get('version') ) { + // Check if there's a newer version and show the update notification + $('#notification').html( + i18n.__('UpgradeVersionDescription', updateInfo[currentOs].versionName) + + ' '+ i18n.__('UpgradeVersion') + '' + ); + $('body').addClass('has-notification'); + } + }); + + }) +}; + +checkForUpdates(); diff --git a/js/vendor/backbone-1.1.0.js b/js/vendor/backbone-1.1.0.js new file mode 100644 index 00000000..f7783c2c --- /dev/null +++ b/js/vendor/backbone-1.1.0.js @@ -0,0 +1,1581 @@ +// Backbone.js 1.1.0 + +// (c) 2010-2011 Jeremy Ashkenas, DocumentCloud Inc. +// (c) 2011-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors +// Backbone may be freely distributed under the MIT license. +// For all details and documentation: +// http://backbonejs.org + +(function(){ + + // Initial Setup + // ------------- + + // Save a reference to the global object (`window` in the browser, `exports` + // on the server). + var root = this; + + // Save the previous value of the `Backbone` variable, so that it can be + // restored later on, if `noConflict` is used. + var previousBackbone = root.Backbone; + + // Create local references to array methods we'll want to use later. + var array = []; + var push = array.push; + var slice = array.slice; + var splice = array.splice; + + // The top-level namespace. All public Backbone classes and modules will + // be attached to this. Exported for both the browser and the server. + var Backbone; + if (typeof exports !== 'undefined') { + Backbone = exports; + } else { + Backbone = root.Backbone = {}; + } + + // Current version of the library. Keep in sync with `package.json`. + Backbone.VERSION = '1.1.0'; + + // Require Underscore, if we're on the server, and it's not already present. + var _ = root._; + if (!_ && (typeof require !== 'undefined')) _ = require('underscore'); + + // For Backbone's purposes, jQuery, Zepto, Ender, or My Library (kidding) owns + // the `$` variable. + Backbone.$ = root.jQuery || root.Zepto || root.ender || root.$; + + // Runs Backbone.js in *noConflict* mode, returning the `Backbone` variable + // to its previous owner. Returns a reference to this Backbone object. + Backbone.noConflict = function() { + root.Backbone = previousBackbone; + return this; + }; + + // Turn on `emulateHTTP` to support legacy HTTP servers. Setting this option + // will fake `"PATCH"`, `"PUT"` and `"DELETE"` requests via the `_method` parameter and + // set a `X-Http-Method-Override` header. + Backbone.emulateHTTP = false; + + // Turn on `emulateJSON` to support legacy servers that can't deal with direct + // `application/json` requests ... will encode the body as + // `application/x-www-form-urlencoded` instead and will send the model in a + // form param named `model`. + Backbone.emulateJSON = false; + + // Backbone.Events + // --------------- + + // A module that can be mixed in to *any object* in order to provide it with + // custom events. You may bind with `on` or remove with `off` callback + // functions to an event; `trigger`-ing an event fires all callbacks in + // succession. + // + // var object = {}; + // _.extend(object, Backbone.Events); + // object.on('expand', function(){ alert('expanded'); }); + // object.trigger('expand'); + // + var Events = Backbone.Events = { + + // Bind an event to a `callback` function. Passing `"all"` will bind + // the callback to all events fired. + on: function(name, callback, context) { + if (!eventsApi(this, 'on', name, [callback, context]) || !callback) return this; + this._events || (this._events = {}); + var events = this._events[name] || (this._events[name] = []); + events.push({callback: callback, context: context, ctx: context || this}); + return this; + }, + + // Bind an event to only be triggered a single time. After the first time + // the callback is invoked, it will be removed. + once: function(name, callback, context) { + if (!eventsApi(this, 'once', name, [callback, context]) || !callback) return this; + var self = this; + var once = _.once(function() { + self.off(name, once); + callback.apply(this, arguments); + }); + once._callback = callback; + return this.on(name, once, context); + }, + + // Remove one or many callbacks. If `context` is null, removes all + // callbacks with that function. If `callback` is null, removes all + // callbacks for the event. If `name` is null, removes all bound + // callbacks for all events. + off: function(name, callback, context) { + var retain, ev, events, names, i, l, j, k; + if (!this._events || !eventsApi(this, 'off', name, [callback, context])) return this; + if (!name && !callback && !context) { + this._events = {}; + return this; + } + names = name ? [name] : _.keys(this._events); + for (i = 0, l = names.length; i < l; i++) { + name = names[i]; + if (events = this._events[name]) { + this._events[name] = retain = []; + if (callback || context) { + for (j = 0, k = events.length; j < k; j++) { + ev = events[j]; + if ((callback && callback !== ev.callback && callback !== ev.callback._callback) || + (context && context !== ev.context)) { + retain.push(ev); + } + } + } + if (!retain.length) delete this._events[name]; + } + } + + return this; + }, + + // Trigger one or many events, firing all bound callbacks. Callbacks are + // passed the same arguments as `trigger` is, apart from the event name + // (unless you're listening on `"all"`, which will cause your callback to + // receive the true name of the event as the first argument). + trigger: function(name) { + if (!this._events) return this; + var args = slice.call(arguments, 1); + if (!eventsApi(this, 'trigger', name, args)) return this; + var events = this._events[name]; + var allEvents = this._events.all; + if (events) triggerEvents(events, args); + if (allEvents) triggerEvents(allEvents, arguments); + return this; + }, + + // Tell this object to stop listening to either specific events ... or + // to every object it's currently listening to. + stopListening: function(obj, name, callback) { + var listeningTo = this._listeningTo; + if (!listeningTo) return this; + var remove = !name && !callback; + if (!callback && typeof name === 'object') callback = this; + if (obj) (listeningTo = {})[obj._listenId] = obj; + for (var id in listeningTo) { + obj = listeningTo[id]; + obj.off(name, callback, this); + if (remove || _.isEmpty(obj._events)) delete this._listeningTo[id]; + } + return this; + } + + }; + + // Regular expression used to split event strings. + var eventSplitter = /\s+/; + + // Implement fancy features of the Events API such as multiple event + // names `"change blur"` and jQuery-style event maps `{change: action}` + // in terms of the existing API. + var eventsApi = function(obj, action, name, rest) { + if (!name) return true; + + // Handle event maps. + if (typeof name === 'object') { + for (var key in name) { + obj[action].apply(obj, [key, name[key]].concat(rest)); + } + return false; + } + + // Handle space separated event names. + if (eventSplitter.test(name)) { + var names = name.split(eventSplitter); + for (var i = 0, l = names.length; i < l; i++) { + obj[action].apply(obj, [names[i]].concat(rest)); + } + return false; + } + + return true; + }; + + // A difficult-to-believe, but optimized internal dispatch function for + // triggering events. Tries to keep the usual cases speedy (most internal + // Backbone events have 3 arguments). + var triggerEvents = function(events, args) { + var ev, i = -1, l = events.length, a1 = args[0], a2 = args[1], a3 = args[2]; + switch (args.length) { + case 0: while (++i < l) (ev = events[i]).callback.call(ev.ctx); return; + case 1: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1); return; + case 2: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1, a2); return; + case 3: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1, a2, a3); return; + default: while (++i < l) (ev = events[i]).callback.apply(ev.ctx, args); + } + }; + + var listenMethods = {listenTo: 'on', listenToOnce: 'once'}; + + // Inversion-of-control versions of `on` and `once`. Tell *this* object to + // listen to an event in another object ... keeping track of what it's + // listening to. + _.each(listenMethods, function(implementation, method) { + Events[method] = function(obj, name, callback) { + var listeningTo = this._listeningTo || (this._listeningTo = {}); + var id = obj._listenId || (obj._listenId = _.uniqueId('l')); + listeningTo[id] = obj; + if (!callback && typeof name === 'object') callback = this; + obj[implementation](name, callback, this); + return this; + }; + }); + + // Aliases for backwards compatibility. + Events.bind = Events.on; + Events.unbind = Events.off; + + // Allow the `Backbone` object to serve as a global event bus, for folks who + // want global "pubsub" in a convenient place. + _.extend(Backbone, Events); + + // Backbone.Model + // -------------- + + // Backbone **Models** are the basic data object in the framework -- + // frequently representing a row in a table in a database on your server. + // A discrete chunk of data and a bunch of useful, related methods for + // performing computations and transformations on that data. + + // Create a new model with the specified attributes. A client id (`cid`) + // is automatically generated and assigned for you. + var Model = Backbone.Model = function(attributes, options) { + var attrs = attributes || {}; + options || (options = {}); + this.cid = _.uniqueId('c'); + this.attributes = {}; + if (options.collection) this.collection = options.collection; + if (options.parse) attrs = this.parse(attrs, options) || {}; + attrs = _.defaults({}, attrs, _.result(this, 'defaults')); + this.set(attrs, options); + this.changed = {}; + this.initialize.apply(this, arguments); + }; + + // Attach all inheritable methods to the Model prototype. + _.extend(Model.prototype, Events, { + + // A hash of attributes whose current and previous value differ. + changed: null, + + // The value returned during the last failed validation. + validationError: null, + + // The default name for the JSON `id` attribute is `"id"`. MongoDB and + // CouchDB users may want to set this to `"_id"`. + idAttribute: 'id', + + // Initialize is an empty function by default. Override it with your own + // initialization logic. + initialize: function(){}, + + // Return a copy of the model's `attributes` object. + toJSON: function(options) { + return _.clone(this.attributes); + }, + + // Proxy `Backbone.sync` by default -- but override this if you need + // custom syncing semantics for *this* particular model. + sync: function() { + return Backbone.sync.apply(this, arguments); + }, + + // Get the value of an attribute. + get: function(attr) { + return this.attributes[attr]; + }, + + // Get the HTML-escaped value of an attribute. + escape: function(attr) { + return _.escape(this.get(attr)); + }, + + // Returns `true` if the attribute contains a value that is not null + // or undefined. + has: function(attr) { + return this.get(attr) != null; + }, + + // Set a hash of model attributes on the object, firing `"change"`. This is + // the core primitive operation of a model, updating the data and notifying + // anyone who needs to know about the change in state. The heart of the beast. + set: function(key, val, options) { + var attr, attrs, unset, changes, silent, changing, prev, current; + if (key == null) return this; + + // Handle both `"key", value` and `{key: value}` -style arguments. + if (typeof key === 'object') { + attrs = key; + options = val; + } else { + (attrs = {})[key] = val; + } + + options || (options = {}); + + // Run validation. + if (!this._validate(attrs, options)) return false; + + // Extract attributes and options. + unset = options.unset; + silent = options.silent; + changes = []; + changing = this._changing; + this._changing = true; + + if (!changing) { + this._previousAttributes = _.clone(this.attributes); + this.changed = {}; + } + current = this.attributes, prev = this._previousAttributes; + + // Check for changes of `id`. + if (this.idAttribute in attrs) this.id = attrs[this.idAttribute]; + + // For each `set` attribute, update or delete the current value. + for (attr in attrs) { + val = attrs[attr]; + if (!_.isEqual(current[attr], val)) changes.push(attr); + if (!_.isEqual(prev[attr], val)) { + this.changed[attr] = val; + } else { + delete this.changed[attr]; + } + unset ? delete current[attr] : current[attr] = val; + } + + // Trigger all relevant attribute changes. + if (!silent) { + if (changes.length) this._pending = true; + for (var i = 0, l = changes.length; i < l; i++) { + this.trigger('change:' + changes[i], this, current[changes[i]], options); + } + } + + // You might be wondering why there's a `while` loop here. Changes can + // be recursively nested within `"change"` events. + if (changing) return this; + if (!silent) { + while (this._pending) { + this._pending = false; + this.trigger('change', this, options); + } + } + this._pending = false; + this._changing = false; + return this; + }, + + // Remove an attribute from the model, firing `"change"`. `unset` is a noop + // if the attribute doesn't exist. + unset: function(attr, options) { + return this.set(attr, void 0, _.extend({}, options, {unset: true})); + }, + + // Clear all attributes on the model, firing `"change"`. + clear: function(options) { + var attrs = {}; + for (var key in this.attributes) attrs[key] = void 0; + return this.set(attrs, _.extend({}, options, {unset: true})); + }, + + // Determine if the model has changed since the last `"change"` event. + // If you specify an attribute name, determine if that attribute has changed. + hasChanged: function(attr) { + if (attr == null) return !_.isEmpty(this.changed); + return _.has(this.changed, attr); + }, + + // Return an object containing all the attributes that have changed, or + // false if there are no changed attributes. Useful for determining what + // parts of a view need to be updated and/or what attributes need to be + // persisted to the server. Unset attributes will be set to undefined. + // You can also pass an attributes object to diff against the model, + // determining if there *would be* a change. + changedAttributes: function(diff) { + if (!diff) return this.hasChanged() ? _.clone(this.changed) : false; + var val, changed = false; + var old = this._changing ? this._previousAttributes : this.attributes; + for (var attr in diff) { + if (_.isEqual(old[attr], (val = diff[attr]))) continue; + (changed || (changed = {}))[attr] = val; + } + return changed; + }, + + // Get the previous value of an attribute, recorded at the time the last + // `"change"` event was fired. + previous: function(attr) { + if (attr == null || !this._previousAttributes) return null; + return this._previousAttributes[attr]; + }, + + // Get all of the attributes of the model at the time of the previous + // `"change"` event. + previousAttributes: function() { + return _.clone(this._previousAttributes); + }, + + // Fetch the model from the server. If the server's representation of the + // model differs from its current attributes, they will be overridden, + // triggering a `"change"` event. + fetch: function(options) { + options = options ? _.clone(options) : {}; + if (options.parse === void 0) options.parse = true; + var model = this; + var success = options.success; + options.success = function(resp) { + if (!model.set(model.parse(resp, options), options)) return false; + if (success) success(model, resp, options); + model.trigger('sync', model, resp, options); + }; + wrapError(this, options); + return this.sync('read', this, options); + }, + + // Set a hash of model attributes, and sync the model to the server. + // If the server returns an attributes hash that differs, the model's + // state will be `set` again. + save: function(key, val, options) { + var attrs, method, xhr, attributes = this.attributes; + + // Handle both `"key", value` and `{key: value}` -style arguments. + if (key == null || typeof key === 'object') { + attrs = key; + options = val; + } else { + (attrs = {})[key] = val; + } + + options = _.extend({validate: true}, options); + + // If we're not waiting and attributes exist, save acts as + // `set(attr).save(null, opts)` with validation. Otherwise, check if + // the model will be valid when the attributes, if any, are set. + if (attrs && !options.wait) { + if (!this.set(attrs, options)) return false; + } else { + if (!this._validate(attrs, options)) return false; + } + + // Set temporary attributes if `{wait: true}`. + if (attrs && options.wait) { + this.attributes = _.extend({}, attributes, attrs); + } + + // After a successful server-side save, the client is (optionally) + // updated with the server-side state. + if (options.parse === void 0) options.parse = true; + var model = this; + var success = options.success; + options.success = function(resp) { + // Ensure attributes are restored during synchronous saves. + model.attributes = attributes; + var serverAttrs = model.parse(resp, options); + if (options.wait) serverAttrs = _.extend(attrs || {}, serverAttrs); + if (_.isObject(serverAttrs) && !model.set(serverAttrs, options)) { + return false; + } + if (success) success(model, resp, options); + model.trigger('sync', model, resp, options); + }; + wrapError(this, options); + + method = this.isNew() ? 'create' : (options.patch ? 'patch' : 'update'); + if (method === 'patch') options.attrs = attrs; + xhr = this.sync(method, this, options); + + // Restore attributes. + if (attrs && options.wait) this.attributes = attributes; + + return xhr; + }, + + // Destroy this model on the server if it was already persisted. + // Optimistically removes the model from its collection, if it has one. + // If `wait: true` is passed, waits for the server to respond before removal. + destroy: function(options) { + options = options ? _.clone(options) : {}; + var model = this; + var success = options.success; + + var destroy = function() { + model.trigger('destroy', model, model.collection, options); + }; + + options.success = function(resp) { + if (options.wait || model.isNew()) destroy(); + if (success) success(model, resp, options); + if (!model.isNew()) model.trigger('sync', model, resp, options); + }; + + if (this.isNew()) { + options.success(); + return false; + } + wrapError(this, options); + + var xhr = this.sync('delete', this, options); + if (!options.wait) destroy(); + return xhr; + }, + + // Default URL for the model's representation on the server -- if you're + // using Backbone's restful methods, override this to change the endpoint + // that will be called. + url: function() { + var base = _.result(this, 'urlRoot') || _.result(this.collection, 'url') || urlError(); + if (this.isNew()) return base; + return base + (base.charAt(base.length - 1) === '/' ? '' : '/') + encodeURIComponent(this.id); + }, + + // **parse** converts a response into the hash of attributes to be `set` on + // the model. The default implementation is just to pass the response along. + parse: function(resp, options) { + return resp; + }, + + // Create a new model with identical attributes to this one. + clone: function() { + return new this.constructor(this.attributes); + }, + + // A model is new if it has never been saved to the server, and lacks an id. + isNew: function() { + return this.id == null; + }, + + // Check if the model is currently in a valid state. + isValid: function(options) { + return this._validate({}, _.extend(options || {}, { validate: true })); + }, + + // Run validation against the next complete set of model attributes, + // returning `true` if all is well. Otherwise, fire an `"invalid"` event. + _validate: function(attrs, options) { + if (!options.validate || !this.validate) return true; + attrs = _.extend({}, this.attributes, attrs); + var error = this.validationError = this.validate(attrs, options) || null; + if (!error) return true; + this.trigger('invalid', this, error, _.extend(options, {validationError: error})); + return false; + } + + }); + + // Underscore methods that we want to implement on the Model. + var modelMethods = ['keys', 'values', 'pairs', 'invert', 'pick', 'omit']; + + // Mix in each Underscore method as a proxy to `Model#attributes`. + _.each(modelMethods, function(method) { + Model.prototype[method] = function() { + var args = slice.call(arguments); + args.unshift(this.attributes); + return _[method].apply(_, args); + }; + }); + + // Backbone.Collection + // ------------------- + + // If models tend to represent a single row of data, a Backbone Collection is + // more analagous to a table full of data ... or a small slice or page of that + // table, or a collection of rows that belong together for a particular reason + // -- all of the messages in this particular folder, all of the documents + // belonging to this particular author, and so on. Collections maintain + // indexes of their models, both in order, and for lookup by `id`. + + // Create a new **Collection**, perhaps to contain a specific type of `model`. + // If a `comparator` is specified, the Collection will maintain + // its models in sort order, as they're added and removed. + var Collection = Backbone.Collection = function(models, options) { + options || (options = {}); + if (options.model) this.model = options.model; + if (options.comparator !== void 0) this.comparator = options.comparator; + this._reset(); + this.initialize.apply(this, arguments); + if (models) this.reset(models, _.extend({silent: true}, options)); + }; + + // Default options for `Collection#set`. + var setOptions = {add: true, remove: true, merge: true}; + var addOptions = {add: true, remove: false}; + + // Define the Collection's inheritable methods. + _.extend(Collection.prototype, Events, { + + // The default model for a collection is just a **Backbone.Model**. + // This should be overridden in most cases. + model: Model, + + // Initialize is an empty function by default. Override it with your own + // initialization logic. + initialize: function(){}, + + // The JSON representation of a Collection is an array of the + // models' attributes. + toJSON: function(options) { + return this.map(function(model){ return model.toJSON(options); }); + }, + + // Proxy `Backbone.sync` by default. + sync: function() { + return Backbone.sync.apply(this, arguments); + }, + + // Add a model, or list of models to the set. + add: function(models, options) { + return this.set(models, _.extend({merge: false}, options, addOptions)); + }, + + // Remove a model, or a list of models from the set. + remove: function(models, options) { + var singular = !_.isArray(models); + models = singular ? [models] : _.clone(models); + options || (options = {}); + var i, l, index, model; + for (i = 0, l = models.length; i < l; i++) { + model = models[i] = this.get(models[i]); + if (!model) continue; + delete this._byId[model.id]; + delete this._byId[model.cid]; + index = this.indexOf(model); + this.models.splice(index, 1); + this.length--; + if (!options.silent) { + options.index = index; + model.trigger('remove', model, this, options); + } + this._removeReference(model); + } + return singular ? models[0] : models; + }, + + // Update a collection by `set`-ing a new list of models, adding new ones, + // removing models that are no longer present, and merging models that + // already exist in the collection, as necessary. Similar to **Model#set**, + // the core operation for updating the data contained by the collection. + set: function(models, options) { + options = _.defaults({}, options, setOptions); + if (options.parse) models = this.parse(models, options); + var singular = !_.isArray(models); + models = singular ? (models ? [models] : []) : _.clone(models); + var i, l, id, model, attrs, existing, sort; + var at = options.at; + var targetModel = this.model; + var sortable = this.comparator && (at == null) && options.sort !== false; + var sortAttr = _.isString(this.comparator) ? this.comparator : null; + var toAdd = [], toRemove = [], modelMap = {}; + var add = options.add, merge = options.merge, remove = options.remove; + var order = !sortable && add && remove ? [] : false; + + // Turn bare objects into model references, and prevent invalid models + // from being added. + for (i = 0, l = models.length; i < l; i++) { + attrs = models[i]; + if (attrs instanceof Model) { + id = model = attrs; + } else { + id = attrs[targetModel.prototype.idAttribute]; + } + + // If a duplicate is found, prevent it from being added and + // optionally merge it into the existing model. + if (existing = this.get(id)) { + if (remove) modelMap[existing.cid] = true; + if (merge) { + attrs = attrs === model ? model.attributes : attrs; + if (options.parse) attrs = existing.parse(attrs, options); + existing.set(attrs, options); + if (sortable && !sort && existing.hasChanged(sortAttr)) sort = true; + } + models[i] = existing; + + // If this is a new, valid model, push it to the `toAdd` list. + } else if (add) { + model = models[i] = this._prepareModel(attrs, options); + if (!model) continue; + toAdd.push(model); + + // Listen to added models' events, and index models for lookup by + // `id` and by `cid`. + model.on('all', this._onModelEvent, this); + this._byId[model.cid] = model; + if (model.id != null) this._byId[model.id] = model; + } + if (order) order.push(existing || model); + } + + // Remove nonexistent models if appropriate. + if (remove) { + for (i = 0, l = this.length; i < l; ++i) { + if (!modelMap[(model = this.models[i]).cid]) toRemove.push(model); + } + if (toRemove.length) this.remove(toRemove, options); + } + + // See if sorting is needed, update `length` and splice in new models. + if (toAdd.length || (order && order.length)) { + if (sortable) sort = true; + this.length += toAdd.length; + if (at != null) { + for (i = 0, l = toAdd.length; i < l; i++) { + this.models.splice(at + i, 0, toAdd[i]); + } + } else { + if (order) this.models.length = 0; + var orderedModels = order || toAdd; + for (i = 0, l = orderedModels.length; i < l; i++) { + this.models.push(orderedModels[i]); + } + } + } + + // Silently sort the collection if appropriate. + if (sort) this.sort({silent: true}); + + // Unless silenced, it's time to fire all appropriate add/sort events. + if (!options.silent) { + for (i = 0, l = toAdd.length; i < l; i++) { + (model = toAdd[i]).trigger('add', model, this, options); + } + if (sort || (order && order.length)) this.trigger('sort', this, options); + } + + // Return the added (or merged) model (or models). + return singular ? models[0] : models; + }, + + // When you have more items than you want to add or remove individually, + // you can reset the entire set with a new list of models, without firing + // any granular `add` or `remove` events. Fires `reset` when finished. + // Useful for bulk operations and optimizations. + reset: function(models, options) { + options || (options = {}); + for (var i = 0, l = this.models.length; i < l; i++) { + this._removeReference(this.models[i]); + } + options.previousModels = this.models; + this._reset(); + models = this.add(models, _.extend({silent: true}, options)); + if (!options.silent) this.trigger('reset', this, options); + return models; + }, + + // Add a model to the end of the collection. + push: function(model, options) { + return this.add(model, _.extend({at: this.length}, options)); + }, + + // Remove a model from the end of the collection. + pop: function(options) { + var model = this.at(this.length - 1); + this.remove(model, options); + return model; + }, + + // Add a model to the beginning of the collection. + unshift: function(model, options) { + return this.add(model, _.extend({at: 0}, options)); + }, + + // Remove a model from the beginning of the collection. + shift: function(options) { + var model = this.at(0); + this.remove(model, options); + return model; + }, + + // Slice out a sub-array of models from the collection. + slice: function() { + return slice.apply(this.models, arguments); + }, + + // Get a model from the set by id. + get: function(obj) { + if (obj == null) return void 0; + return this._byId[obj.id] || this._byId[obj.cid] || this._byId[obj]; + }, + + // Get the model at the given index. + at: function(index) { + return this.models[index]; + }, + + // Return models with matching attributes. Useful for simple cases of + // `filter`. + where: function(attrs, first) { + if (_.isEmpty(attrs)) return first ? void 0 : []; + return this[first ? 'find' : 'filter'](function(model) { + for (var key in attrs) { + if (attrs[key] !== model.get(key)) return false; + } + return true; + }); + }, + + // Return the first model with matching attributes. Useful for simple cases + // of `find`. + findWhere: function(attrs) { + return this.where(attrs, true); + }, + + // Force the collection to re-sort itself. You don't need to call this under + // normal circumstances, as the set will maintain sort order as each item + // is added. + sort: function(options) { + if (!this.comparator) throw new Error('Cannot sort a set without a comparator'); + options || (options = {}); + + // Run sort based on type of `comparator`. + if (_.isString(this.comparator) || this.comparator.length === 1) { + this.models = this.sortBy(this.comparator, this); + } else { + this.models.sort(_.bind(this.comparator, this)); + } + + if (!options.silent) this.trigger('sort', this, options); + return this; + }, + + // Pluck an attribute from each model in the collection. + pluck: function(attr) { + return _.invoke(this.models, 'get', attr); + }, + + // Fetch the default set of models for this collection, resetting the + // collection when they arrive. If `reset: true` is passed, the response + // data will be passed through the `reset` method instead of `set`. + fetch: function(options) { + options = options ? _.clone(options) : {}; + if (options.parse === void 0) options.parse = true; + var success = options.success; + var collection = this; + options.success = function(resp) { + var method = options.reset ? 'reset' : 'set'; + collection[method](resp, options); + if (success) success(collection, resp, options); + collection.trigger('sync', collection, resp, options); + }; + wrapError(this, options); + return this.sync('read', this, options); + }, + + // Create a new instance of a model in this collection. Add the model to the + // collection immediately, unless `wait: true` is passed, in which case we + // wait for the server to agree. + create: function(model, options) { + options = options ? _.clone(options) : {}; + if (!(model = this._prepareModel(model, options))) return false; + if (!options.wait) this.add(model, options); + var collection = this; + var success = options.success; + options.success = function(model, resp, options) { + if (options.wait) collection.add(model, options); + if (success) success(model, resp, options); + }; + model.save(null, options); + return model; + }, + + // **parse** converts a response into a list of models to be added to the + // collection. The default implementation is just to pass it through. + parse: function(resp, options) { + return resp; + }, + + // Create a new collection with an identical list of models as this one. + clone: function() { + return new this.constructor(this.models); + }, + + // Private method to reset all internal state. Called when the collection + // is first initialized or reset. + _reset: function() { + this.length = 0; + this.models = []; + this._byId = {}; + }, + + // Prepare a hash of attributes (or other model) to be added to this + // collection. + _prepareModel: function(attrs, options) { + if (attrs instanceof Model) { + if (!attrs.collection) attrs.collection = this; + return attrs; + } + options = options ? _.clone(options) : {}; + options.collection = this; + var model = new this.model(attrs, options); + if (!model.validationError) return model; + this.trigger('invalid', this, model.validationError, options); + return false; + }, + + // Internal method to sever a model's ties to a collection. + _removeReference: function(model) { + if (this === model.collection) delete model.collection; + model.off('all', this._onModelEvent, this); + }, + + // Internal method called every time a model in the set fires an event. + // Sets need to update their indexes when models change ids. All other + // events simply proxy through. "add" and "remove" events that originate + // in other collections are ignored. + _onModelEvent: function(event, model, collection, options) { + if ((event === 'add' || event === 'remove') && collection !== this) return; + if (event === 'destroy') this.remove(model, options); + if (model && event === 'change:' + model.idAttribute) { + delete this._byId[model.previous(model.idAttribute)]; + if (model.id != null) this._byId[model.id] = model; + } + this.trigger.apply(this, arguments); + } + + }); + + // Underscore methods that we want to implement on the Collection. + // 90% of the core usefulness of Backbone Collections is actually implemented + // right here: + var methods = ['forEach', 'each', 'map', 'collect', 'reduce', 'foldl', + 'inject', 'reduceRight', 'foldr', 'find', 'detect', 'filter', 'select', + 'reject', 'every', 'all', 'some', 'any', 'include', 'contains', 'invoke', + 'max', 'min', 'toArray', 'size', 'first', 'head', 'take', 'initial', 'rest', + 'tail', 'drop', 'last', 'without', 'difference', 'indexOf', 'shuffle', + 'lastIndexOf', 'isEmpty', 'chain']; + + // Mix in each Underscore method as a proxy to `Collection#models`. + _.each(methods, function(method) { + Collection.prototype[method] = function() { + var args = slice.call(arguments); + args.unshift(this.models); + return _[method].apply(_, args); + }; + }); + + // Underscore methods that take a property name as an argument. + var attributeMethods = ['groupBy', 'countBy', 'sortBy']; + + // Use attributes instead of properties. + _.each(attributeMethods, function(method) { + Collection.prototype[method] = function(value, context) { + var iterator = _.isFunction(value) ? value : function(model) { + return model.get(value); + }; + return _[method](this.models, iterator, context); + }; + }); + + // Backbone.View + // ------------- + + // Backbone Views are almost more convention than they are actual code. A View + // is simply a JavaScript object that represents a logical chunk of UI in the + // DOM. This might be a single item, an entire list, a sidebar or panel, or + // even the surrounding frame which wraps your whole app. Defining a chunk of + // UI as a **View** allows you to define your DOM events declaratively, without + // having to worry about render order ... and makes it easy for the view to + // react to specific changes in the state of your models. + + // Creating a Backbone.View creates its initial element outside of the DOM, + // if an existing element is not provided... + var View = Backbone.View = function(options) { + this.cid = _.uniqueId('view'); + options || (options = {}); + _.extend(this, _.pick(options, viewOptions)); + this._ensureElement(); + this.initialize.apply(this, arguments); + this.delegateEvents(); + }; + + // Cached regex to split keys for `delegate`. + var delegateEventSplitter = /^(\S+)\s*(.*)$/; + + // List of view options to be merged as properties. + var viewOptions = ['model', 'collection', 'el', 'id', 'attributes', 'className', 'tagName', 'events']; + + // Set up all inheritable **Backbone.View** properties and methods. + _.extend(View.prototype, Events, { + + // The default `tagName` of a View's element is `"div"`. + tagName: 'div', + + // jQuery delegate for element lookup, scoped to DOM elements within the + // current view. This should be preferred to global lookups where possible. + $: function(selector) { + return this.$el.find(selector); + }, + + // Initialize is an empty function by default. Override it with your own + // initialization logic. + initialize: function(){}, + + // **render** is the core function that your view should override, in order + // to populate its element (`this.el`), with the appropriate HTML. The + // convention is for **render** to always return `this`. + render: function() { + return this; + }, + + // Remove this view by taking the element out of the DOM, and removing any + // applicable Backbone.Events listeners. + remove: function() { + this.$el.remove(); + this.stopListening(); + return this; + }, + + // Change the view's element (`this.el` property), including event + // re-delegation. + setElement: function(element, delegate) { + if (this.$el) this.undelegateEvents(); + this.$el = element instanceof Backbone.$ ? element : Backbone.$(element); + this.el = this.$el[0]; + if (delegate !== false) this.delegateEvents(); + return this; + }, + + // Set callbacks, where `this.events` is a hash of + // + // *{"event selector": "callback"}* + // + // { + // 'mousedown .title': 'edit', + // 'click .button': 'save', + // 'click .open': function(e) { ... } + // } + // + // pairs. Callbacks will be bound to the view, with `this` set properly. + // Uses event delegation for efficiency. + // Omitting the selector binds the event to `this.el`. + // This only works for delegate-able events: not `focus`, `blur`, and + // not `change`, `submit`, and `reset` in Internet Explorer. + delegateEvents: function(events) { + if (!(events || (events = _.result(this, 'events')))) return this; + this.undelegateEvents(); + for (var key in events) { + var method = events[key]; + if (!_.isFunction(method)) method = this[events[key]]; + if (!method) continue; + + var match = key.match(delegateEventSplitter); + var eventName = match[1], selector = match[2]; + method = _.bind(method, this); + eventName += '.delegateEvents' + this.cid; + if (selector === '') { + this.$el.on(eventName, method); + } else { + this.$el.on(eventName, selector, method); + } + } + return this; + }, + + // Clears all callbacks previously bound to the view with `delegateEvents`. + // You usually don't need to use this, but may wish to if you have multiple + // Backbone views attached to the same DOM element. + undelegateEvents: function() { + this.$el.off('.delegateEvents' + this.cid); + return this; + }, + + // Ensure that the View has a DOM element to render into. + // If `this.el` is a string, pass it through `$()`, take the first + // matching element, and re-assign it to `el`. Otherwise, create + // an element from the `id`, `className` and `tagName` properties. + _ensureElement: function() { + if (!this.el) { + var attrs = _.extend({}, _.result(this, 'attributes')); + if (this.id) attrs.id = _.result(this, 'id'); + if (this.className) attrs['class'] = _.result(this, 'className'); + var $el = Backbone.$('<' + _.result(this, 'tagName') + '>').attr(attrs); + this.setElement($el, false); + } else { + this.setElement(_.result(this, 'el'), false); + } + } + + }); + + // Backbone.sync + // ------------- + + // Override this function to change the manner in which Backbone persists + // models to the server. You will be passed the type of request, and the + // model in question. By default, makes a RESTful Ajax request + // to the model's `url()`. Some possible customizations could be: + // + // * Use `setTimeout` to batch rapid-fire updates into a single request. + // * Send up the models as XML instead of JSON. + // * Persist models via WebSockets instead of Ajax. + // + // Turn on `Backbone.emulateHTTP` in order to send `PUT` and `DELETE` requests + // as `POST`, with a `_method` parameter containing the true HTTP method, + // as well as all requests with the body as `application/x-www-form-urlencoded` + // instead of `application/json` with the model in a param named `model`. + // Useful when interfacing with server-side languages like **PHP** that make + // it difficult to read the body of `PUT` requests. + Backbone.sync = function(method, model, options) { + var type = methodMap[method]; + + // Default options, unless specified. + _.defaults(options || (options = {}), { + emulateHTTP: Backbone.emulateHTTP, + emulateJSON: Backbone.emulateJSON + }); + + // Default JSON-request options. + var params = {type: type, dataType: 'json'}; + + // Ensure that we have a URL. + if (!options.url) { + params.url = _.result(model, 'url') || urlError(); + } + + // Ensure that we have the appropriate request data. + if (options.data == null && model && (method === 'create' || method === 'update' || method === 'patch')) { + params.contentType = 'application/json'; + params.data = JSON.stringify(options.attrs || model.toJSON(options)); + } + + // For older servers, emulate JSON by encoding the request into an HTML-form. + if (options.emulateJSON) { + params.contentType = 'application/x-www-form-urlencoded'; + params.data = params.data ? {model: params.data} : {}; + } + + // For older servers, emulate HTTP by mimicking the HTTP method with `_method` + // And an `X-HTTP-Method-Override` header. + if (options.emulateHTTP && (type === 'PUT' || type === 'DELETE' || type === 'PATCH')) { + params.type = 'POST'; + if (options.emulateJSON) params.data._method = type; + var beforeSend = options.beforeSend; + options.beforeSend = function(xhr) { + xhr.setRequestHeader('X-HTTP-Method-Override', type); + if (beforeSend) return beforeSend.apply(this, arguments); + }; + } + + // Don't process data on a non-GET request. + if (params.type !== 'GET' && !options.emulateJSON) { + params.processData = false; + } + + // If we're sending a `PATCH` request, and we're in an old Internet Explorer + // that still has ActiveX enabled by default, override jQuery to use that + // for XHR instead. Remove this line when jQuery supports `PATCH` on IE8. + if (params.type === 'PATCH' && noXhrPatch) { + params.xhr = function() { + return new ActiveXObject("Microsoft.XMLHTTP"); + }; + } + + // Make the request, allowing the user to override any Ajax options. + var xhr = options.xhr = Backbone.ajax(_.extend(params, options)); + model.trigger('request', model, xhr, options); + return xhr; + }; + + var noXhrPatch = typeof window !== 'undefined' && !!window.ActiveXObject && !(window.XMLHttpRequest && (new XMLHttpRequest).dispatchEvent); + + // Map from CRUD to HTTP for our default `Backbone.sync` implementation. + var methodMap = { + 'create': 'POST', + 'update': 'PUT', + 'patch': 'PATCH', + 'delete': 'DELETE', + 'read': 'GET' + }; + + // Set the default implementation of `Backbone.ajax` to proxy through to `$`. + // Override this if you'd like to use a different library. + Backbone.ajax = function() { + return Backbone.$.ajax.apply(Backbone.$, arguments); + }; + + // Backbone.Router + // --------------- + + // Routers map faux-URLs to actions, and fire events when routes are + // matched. Creating a new one sets its `routes` hash, if not set statically. + var Router = Backbone.Router = function(options) { + options || (options = {}); + if (options.routes) this.routes = options.routes; + this._bindRoutes(); + this.initialize.apply(this, arguments); + }; + + // Cached regular expressions for matching named param parts and splatted + // parts of route strings. + var optionalParam = /\((.*?)\)/g; + var namedParam = /(\(\?)?:\w+/g; + var splatParam = /\*\w+/g; + var escapeRegExp = /[\-{}\[\]+?.,\\\^$|#\s]/g; + + // Set up all inheritable **Backbone.Router** properties and methods. + _.extend(Router.prototype, Events, { + + // Initialize is an empty function by default. Override it with your own + // initialization logic. + initialize: function(){}, + + // Manually bind a single named route to a callback. For example: + // + // this.route('search/:query/p:num', 'search', function(query, num) { + // ... + // }); + // + route: function(route, name, callback) { + if (!_.isRegExp(route)) route = this._routeToRegExp(route); + if (_.isFunction(name)) { + callback = name; + name = ''; + } + if (!callback) callback = this[name]; + var router = this; + Backbone.history.route(route, function(fragment) { + var args = router._extractParameters(route, fragment); + callback && callback.apply(router, args); + router.trigger.apply(router, ['route:' + name].concat(args)); + router.trigger('route', name, args); + Backbone.history.trigger('route', router, name, args); + }); + return this; + }, + + // Simple proxy to `Backbone.history` to save a fragment into the history. + navigate: function(fragment, options) { + Backbone.history.navigate(fragment, options); + return this; + }, + + // Bind all defined routes to `Backbone.history`. We have to reverse the + // order of the routes here to support behavior where the most general + // routes can be defined at the bottom of the route map. + _bindRoutes: function() { + if (!this.routes) return; + this.routes = _.result(this, 'routes'); + var route, routes = _.keys(this.routes); + while ((route = routes.pop()) != null) { + this.route(route, this.routes[route]); + } + }, + + // Convert a route string into a regular expression, suitable for matching + // against the current location hash. + _routeToRegExp: function(route) { + route = route.replace(escapeRegExp, '\\$&') + .replace(optionalParam, '(?:$1)?') + .replace(namedParam, function(match, optional) { + return optional ? match : '([^\/]+)'; + }) + .replace(splatParam, '(.*?)'); + return new RegExp('^' + route + '$'); + }, + + // Given a route, and a URL fragment that it matches, return the array of + // extracted decoded parameters. Empty or unmatched parameters will be + // treated as `null` to normalize cross-browser behavior. + _extractParameters: function(route, fragment) { + var params = route.exec(fragment).slice(1); + return _.map(params, function(param) { + return param ? decodeURIComponent(param) : null; + }); + } + + }); + + // Backbone.History + // ---------------- + + // Handles cross-browser history management, based on either + // [pushState](http://diveintohtml5.info/history.html) and real URLs, or + // [onhashchange](https://developer.mozilla.org/en-US/docs/DOM/window.onhashchange) + // and URL fragments. If the browser supports neither (old IE, natch), + // falls back to polling. + var History = Backbone.History = function() { + this.handlers = []; + _.bindAll(this, 'checkUrl'); + + // Ensure that `History` can be used outside of the browser. + if (typeof window !== 'undefined') { + this.location = window.location; + this.history = window.history; + } + }; + + // Cached regex for stripping a leading hash/slash and trailing space. + var routeStripper = /^[#\/]|\s+$/g; + + // Cached regex for stripping leading and trailing slashes. + var rootStripper = /^\/+|\/+$/g; + + // Cached regex for detecting MSIE. + var isExplorer = /msie [\w.]+/; + + // Cached regex for removing a trailing slash. + var trailingSlash = /\/$/; + + // Cached regex for stripping urls of hash and query. + var pathStripper = /[?#].*$/; + + // Has the history handling already been started? + History.started = false; + + // Set up all inheritable **Backbone.History** properties and methods. + _.extend(History.prototype, Events, { + + // The default interval to poll for hash changes, if necessary, is + // twenty times a second. + interval: 50, + + // Gets the true hash value. Cannot use location.hash directly due to bug + // in Firefox where location.hash will always be decoded. + getHash: function(window) { + var match = (window || this).location.href.match(/#(.*)$/); + return match ? match[1] : ''; + }, + + // Get the cross-browser normalized URL fragment, either from the URL, + // the hash, or the override. + getFragment: function(fragment, forcePushState) { + if (fragment == null) { + if (this._hasPushState || !this._wantsHashChange || forcePushState) { + fragment = this.location.pathname; + var root = this.root.replace(trailingSlash, ''); + if (!fragment.indexOf(root)) fragment = fragment.slice(root.length); + } else { + fragment = this.getHash(); + } + } + return fragment.replace(routeStripper, ''); + }, + + // Start the hash change handling, returning `true` if the current URL matches + // an existing route, and `false` otherwise. + start: function(options) { + if (History.started) throw new Error("Backbone.history has already been started"); + History.started = true; + + // Figure out the initial configuration. Do we need an iframe? + // Is pushState desired ... is it available? + this.options = _.extend({root: '/'}, this.options, options); + this.root = this.options.root; + this._wantsHashChange = this.options.hashChange !== false; + this._wantsPushState = !!this.options.pushState; + this._hasPushState = !!(this.options.pushState && this.history && this.history.pushState); + var fragment = this.getFragment(); + var docMode = document.documentMode; + var oldIE = (isExplorer.exec(navigator.userAgent.toLowerCase()) && (!docMode || docMode <= 7)); + + // Normalize root to always include a leading and trailing slash. + this.root = ('/' + this.root + '/').replace(rootStripper, '/'); + + if (oldIE && this._wantsHashChange) { + this.iframe = Backbone.$('