diff --git a/README.md b/README.md index 1cb078e77..eb0175544 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,9 @@ make. You can also create a dev build at `build/` with `npm run build`. `npm lint` and `npm test` will lint and test the source code respectively. +`npm pot` will create a POT template file for localization at +`src/locale/po/template.pot`. See Localization below for more information. + `npm nw` will build NW.js-based apps in `dist/nw`. In order to build Windows apps on OS X or Linux, you will need to have [Wine](https://www.winehq.org/) and [makensis](http://nsis.sourceforge.net/) installed. diff --git a/package.json b/package.json index 1035c86e2..1347cce28 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "Twine", - "version": "2.1.0b4", + "version": "2.1.0b5", "author": "Chris Klimas ", "description": "a GUI for creating nonlinear stories", "license": "GPL-3.0", @@ -39,6 +39,7 @@ "jed": "^1.1.0", "jquery": "^2.1.4", "jszip": "^2.5.0", + "mkdirp": "^0.5.1", "moment": "^2.10.3", "osenv": "^0.1.3", "scroll-to-element": "^2.0.0", @@ -53,6 +54,7 @@ "vuex": "^0.6.3" }, "devDependencies": { + "acorn": "^4.0.3", "babel-core": "^6.18.2", "babel-loader": "^6.2.8", "babel-preset-es2015": "^6.18.0", @@ -63,11 +65,14 @@ "ejs": "^2.5.2", "ejs-loader": "^0.3.0", "eslint": "^3.10.2", + "estraverse": "^4.2.0", "extract-text-webpack-plugin": "^1.0.1", "file-loader": "^0.9.0", "fs-extra": "^1.0.0", "glob": "^7.1.1", + "html-loader": "^0.4.4", "html-webpack-plugin": "^2.24.1", + "htmlparser2": "^3.9.2", "jscs": "^3.0.7", "json-loader": "^0.5.4", "karma": "^1.3.0", @@ -81,6 +86,7 @@ "less-plugin-clean-css": "^1.5.1", "nw-builder": "^3.1.2", "po2json": "^0.4.5", + "pofile": "^1.0.2", "raw-loader": "^0.5.1", "rimraf": "^2.5.4", "sinon": "^2.0.0-pre.4", diff --git a/scripts/build-nw.js b/scripts/build-nw.js index ffc864c7a..d6ae817ad 100644 --- a/scripts/build-nw.js +++ b/scripts/build-nw.js @@ -8,7 +8,7 @@ fsExtra.copySync('package.json', 'dist/web/package.json'); var nw = new NwBuilder({ files: 'dist/web/**', platforms: ['osx64', 'win32', 'win64', 'linux32', 'linux64'], - version: '0.18.7', + version: '0.18.8', buildDir: 'dist/nw', cacheDir: 'nw-cache/', macIcns: 'src/common/img/logo.icns', diff --git a/scripts/extract-pot.js b/scripts/extract-pot.js index 32feab716..486412721 100644 --- a/scripts/extract-pot.js +++ b/scripts/extract-pot.js @@ -3,136 +3,193 @@ Creates src/locale/po/template.pot by scanning the application source. */ 'use strict'; +const acorn = require('acorn'); +const estraverse = require('estraverse'); const fs = require('fs'); +const htmlParser = require('htmlparser2'); const glob = require('glob'); -let strings = {}; +const poFile = require('pofile'); -function addMatch(fileName, match) { +let result = new poFile(); + +function addItem(location, string, pluralString, comment) { /* - matches[1] is the localization comment, if any. It may have - extra newlines and comment slashes in it. + Clean up the comment. + */ - matches[2] is the actual string to translate. + if (comment) { + comment = comment.trim().replace(/[\t\r\n]+/g, ' '); + } - matches[3] is the plural form of the string, if any. + /* + Check for an existing item. */ - const text = match[2]; + let existing = result.items.find(item => item.msgid === string); - if (!strings[text]) { - strings[text] = { locations: [] }; - } + if (existing) { + existing.references.push(location); - if (strings[text].locations.indexOf(fileName) === -1) { - strings[text].locations.push(fileName); - } - - if (match[1]) { - strings[text].comment = match[1].replace(/[\t\r\n]|(\/\/)/g, ''); + if (comment) { + existing.extractedComments.push(comment); + } } + else { + let item = new poFile.Item(); - strings[text].plural = match[3]; -} + item.msgid = string; + item.msgid_plural = pluralString; + item.references = [location]; -/* -In templates, we look for Vue filters, optionally preceded by a HTML -comment with a localization note preceded by "L10n:". -*/ + if (pluralString) { + item.msgstr = ['', '']; + } -glob.sync('src/**/*.html').forEach(fileName => { - let match; - const source = fs.readFileSync(fileName, { encoding: 'utf8' }); - const templateRegexp = new RegExp( - /* Optional localization note in a HTML comment. */ - /(?:[\s*])?/.source + + if (comment) { + item.extractedComments = [comment]; + } - /* Opening moustache. */ - /{{{? */.source + + result.items.push(item); + } +} - /* String to localize and say filter. */ - /['"]([^}]*?)['"] *\| *say/.source + +/* +Parse .html files for text in this format: +{{ 'Simple string' | say }} +{{ 'Singular string' | sayPlural 'Plural string' }} +*/ - /* Optional pluralization. */ - /(?:Plural *['"](.+)['"].*)?/.source + +const templateRegexp = new RegExp( + /* Opening moustache. */ + /{{{? */.source + - /* Closing moustache. */ - / *}}}?/.source, + /* String to localize and say filter. */ + /['"]([^}]*?)['"] *\| *say/.source + - 'gm' - ); + /* Optional pluralization. */ + /(?:Plural *['"](.+)['"].*)?/.source + - while (match = templateRegexp.exec(source)) { - addMatch(fileName, match); - } -}); + /* Closing moustache. */ + / *}}}?/.source, -/* -In JavaScript files, we look for say or sayPlural function invocations, -with localization comments that begin with "L10n:". -*/ + 'gm' +); -glob.sync('src/**/*.js').forEach(fileName => { - let match; +glob.sync('src/**/*.html').forEach(fileName => { const source = fs.readFileSync(fileName, { encoding: 'utf8' }); - const jsRegexp = new RegExp( - /* - An optional localization note, set off by a line comment. Note that we - have to strip out extra //s and tabs if the comment extends over - multiple lines. - */ - /(?:L10n: *([\s\S]*?)\s*)?/.source + - - /* The beginning of the say() or sayPlural() call. */ - /say(?:Plural)?\(/.source + - - /* The first argument, the text to localize. */ - /['"](.*?)['"]/.source + - - /* An optional second argument, the plural form. */ - /(?:, *['"](.*?)['"])?/.source + - - /* Extra arguments we don't care about, and closing paren. */ - /.*\)/.source, - - 'gm' - ); + const parser = new htmlParser.Parser({ + ontext(text) { + let match; + + while (match = templateRegexp.exec(text.trim())) { + /* + The first captured expression is a comment, if any. + The third is the plural form of the string, if any. + */ + + addItem(fileName, match[1], match[2]); + } + } + }); - while (match = jsRegexp.exec(source)) { - addMatch(fileName, match); - } + parser.write(source); }); /* -Create the .pot file. -http://pology.nedohodnik.net/doc/user/en_US/ch-poformat.html has -a nice introduction to the format. +Parse .js files for say() and sayPlural() calls. */ -fs.writeFileSync( - 'src/locale/po/template.pot', - Object.keys(strings).reduce((result, text) => { - let entry = strings[text]; - - result += `#: ${entry.locations.join(' ')}\n`; +glob.sync('src/**/*.js').forEach(fileName => { + /* + Simplifies an expression (e.g. 'a compound ' + ' string') to a single + value. + */ - if (entry.comment) { - result += `#. ${entry.comment}\n`; + function parseValue(node) { + switch (node.type) { + case 'Literal': + /* + We can't use .value here because we need to keep the strings + intact with Unicode escapes. + */ + + return node.raw.replace(/^['"]/, '').replace(/['"]$/, ''); + break; + + case 'BinaryExpression': + if (node.operator === '+') { + return parseValue(node.left) + parseValue(node.right); + } + + throw new Error( + `Don't know how to parse operator ${node.operator}` + ); + break; + + default: + throw new Error(`Don't know how to parse value of ${node.type}`); } + } - if (entry.plural) { - result += `msgid "${text.replace(/"/g, '\"')}"\n` + - `msgid_plural "${text.replace(/"/g, '\"')}"\n` + - 'msgstr[0] ""\n' + - 'msgstr[1] ""\n\n'; + let comments = []; + const ast = acorn.parse( + fs.readFileSync(fileName, { encoding: 'utf8' }), + { + ecmaVersion: 6, + locations: true, + onComment: comments } - else { - result += `msgid "${text.replace(/"/g, '\"')}"\n` + - 'msgstr ""\n\n'; + ); + + estraverse.traverse( + ast, + { + enter: function(node, parent) { + if (node.type === 'CallExpression') { + let funcName; + + if (node.callee.type === 'Identifier') { + funcName = node.callee.name; + } + else if (node.callee.type === 'MemberExpression') { + funcName = node.callee.property.name; + } + + /* + Check for a comment that ended 0-2 lines before this call. + */ + + const precedingComment = comments.find(comment => + Math.abs(comment.loc.end.line - node.loc.start.line) < 3 && + /^\s*L10n/.test(comment.value) + ); + + if (funcName === 'say') { + addItem( + fileName + ':' + node.loc.start.line, + parseValue(node.arguments[0]), + null, + precedingComment ? precedingComment.value : null + ); + } + + if (funcName === 'sayPlural') { + addItem( + fileName + ':' + node.loc.start.line, + parseValue(node.arguments[0]), + parseValue(node.arguments[1]), + precedingComment ? precedingComment.value : null + ); + } + } + } } + ); +}); - return result; - }, ''), +fs.writeFileSync( + 'src/locale/po/template.pot', + result.toString(), { encoding: 'utf8' } ); - -console.log('Wrote src/locale/po/template.pot.\n'); +console.log(`Wrote ${result.items.length} extracted strings to src/locale/po/template.pot.\n`); diff --git a/src/data/actions.js b/src/data/actions.js index 7525520e4..55a089013 100644 --- a/src/data/actions.js +++ b/src/data/actions.js @@ -268,6 +268,7 @@ const actions = module.exports = { const format = { name: props.name, + version: props.version, url, properties: props }; @@ -348,6 +349,7 @@ const actions = module.exports = { store.state.storyFormat.formats.forEach(format => { if (typeof format.version !== 'string' || format.version === '') { + console.warn(`Deleting unversioned story format ${format.name}`); actions.deleteFormat(store, format.id); } }); diff --git a/src/data/local-storage/story-format.js b/src/data/local-storage/story-format.js index 441e739f5..f5fc86c4d 100644 --- a/src/data/local-storage/story-format.js +++ b/src/data/local-storage/story-format.js @@ -1,12 +1,14 @@ -// Functions for moving story formats in and out of local storage. +/* Functions for moving story formats in and out of local storage. */ const uuid = require('tiny-uuid'); const { createFormat } = require('../actions'); module.exports = { save(store) { - // Delete existing formats in local storage, since we aren't bothering to - // preserve ids. + /* + Delete existing formats in local storage, since we aren't bothering to + preserve ids. + */ const previouslySerialized = window.localStorage.getItem('twine-storyformats'); @@ -17,15 +19,17 @@ module.exports = { }); } - // Save new ones. + /* Save new ones. */ let ids = []; store.state.storyFormat.formats.forEach(format => { const id = uuid(); - // We have to remove the `properties` property if it exists, - // as that is dynamically added when loading. + /* + We have to remove the `properties` property if it exists, as that + is dynamically added when loading. + */ ids.push(id); window.localStorage.setItem( diff --git a/src/dialogs/app-donation/index.html b/src/dialogs/app-donation/index.html index 7d718972c..ecb916e98 100644 --- a/src/dialogs/app-donation/index.html +++ b/src/dialogs/app-donation/index.html @@ -1,5 +1,5 @@ - +

{{{ "If you love Twine as much as I do, please consider helping it grow with a donation. Twine is an open source project that will always be free to use — and with your help, Twine will continue to thrive." | say }}} diff --git a/src/dialogs/app-update/index.js b/src/dialogs/app-update/index.js index 03bbacb92..2d74f90c0 100644 --- a/src/dialogs/app-update/index.js +++ b/src/dialogs/app-update/index.js @@ -33,20 +33,21 @@ module.exports = { confirm({ message: - // L10n: The will have a version number, i.e. - // 2.0.6, interpolated into it. - locale.say( - 'A new version of Twine, ' + - ', has been released.' - ).replace('><', '>' + version + '<'), + /* + L10n: The will have a version number, i.e. + 2.0.6, interpolated into it. + */ + locale.say('A new version of Twine, , has been released.').replace('><', '>' + version + '<'), buttonLabel: '' + locale.say('Download'), cancelLabel: - // L10n: A polite rejection of a request, in the sense that the answer - // may change in the future. + /* + L10n: A polite rejection of a request, in the sense that the answer + may change in the future. + */ locale.say('Not Right Now'), buttonClass: diff --git a/src/dialogs/formats/index.js b/src/dialogs/formats/index.js index 025b704de..2f607b4b1 100644 --- a/src/dialogs/formats/index.js +++ b/src/dialogs/formats/index.js @@ -89,11 +89,9 @@ module.exports = Vue.extend({ .then(format => { this.error = ''; this.working = false; - this.loadNext(); - - // Show the tab the format will be loaded into. + this.loadedFormats.push(format); - if (format.proofing) { + if (format.properties.proofing) { this.$refs.tabs.active = 1; } else { @@ -136,7 +134,7 @@ module.exports = Vue.extend({ getters: { allFormats: state => { - var result = state.storyFormat.formats.map( + let result = state.storyFormat.formats.map( format => ({ name: format.name, version: format.version }) ); diff --git a/src/dialogs/formats/item.html b/src/dialogs/formats/item.html index bf05fe5bb..dfb3b4607 100644 --- a/src/dialogs/formats/item.html +++ b/src/dialogs/formats/item.html @@ -1,15 +1,33 @@ - + - {{ format.name }} {{ format.properties.version }} - - {{{ author }}} - +

+ {{ format.name }} {{ format.properties.version }} + + {{{ author }}} + +

+
+
+ + {{ format.name.slice(0,2) }} +
+ +
+

+ {{{ format.properties.description }}} +

+ +

+ License: {{{ format.properties.license }}} +

+
+
- + diff --git a/src/dialogs/formats/item.js b/src/dialogs/formats/item.js index a117e045c..76115ff12 100644 --- a/src/dialogs/formats/item.js +++ b/src/dialogs/formats/item.js @@ -25,10 +25,22 @@ module.exports = Vue.extend({ }, author() { - return this.format.properties.author ? locale.say( + if (this.format.properties.author) { /* L10n: %s is the name of an author. */ - 'by %s', this.format.properties.author - ) : ''; + return locale.say('by %s', this.format.properties.author); + } + + return ''; + }, + + /* + Calculates the image source relative to the format's path. + */ + + imageSrc() { + const path = this.format.url.replace(/\/[^\/]*?$/, ''); + + return path + '/' + this.format.properties.image; } }, diff --git a/src/dialogs/formats/item.less b/src/dialogs/formats/item.less index 7623d1a77..891315acc 100644 --- a/src/dialogs/formats/item.less +++ b/src/dialogs/formats/item.less @@ -1,11 +1,22 @@ +@import '../../common/metrics.less'; + tr.format-item { img { - height: 2rem; - width: auto; + width: 3rem; + height: auto; + } + + .detail { + display: flex; + align-items: center; + } + + .icon { + margin-right: @len-small; } .selector { - vertical-align: middle; + vertical-align: top; text-align: center; } } diff --git a/src/dialogs/story-format/detail.html b/src/dialogs/story-format/detail.html deleted file mode 100644 index 12ddcf7d8..000000000 --- a/src/dialogs/story-format/detail.html +++ /dev/null @@ -1,27 +0,0 @@ -
-
- - -
- - {{ format.name.slice(0,2) }} -
- -

- {{ format.name }} {{ format.version }} - -
- by {{{ format.properties.author }}} -
- - -
- License: {{{ format.properties.license }}} -
-

- -

- {{{ format.properties.description }}} -

-
-
diff --git a/src/dialogs/story-format/detail.js b/src/dialogs/story-format/detail.js deleted file mode 100644 index 3c80a9b02..000000000 --- a/src/dialogs/story-format/detail.js +++ /dev/null @@ -1,27 +0,0 @@ -/* -Shows detail about a selected format. -*/ - -const Vue = require('vue'); -require('./detail.less'); - -module.exports = Vue.extend({ - props: { - working: true, - format: null - }, - - computed: { - /* - Calculates the image source relative to the format's path. - */ - - imageSrc() { - const path = this.format.url.replace(/\/[^\/]*?$/, ''); - - return path + '/' + this.format.properties.image; - } - }, - - template: require('./detail.html') -}); diff --git a/src/dialogs/story-format/detail.less b/src/dialogs/story-format/detail.less deleted file mode 100644 index 686ce2ce2..000000000 --- a/src/dialogs/story-format/detail.less +++ /dev/null @@ -1,28 +0,0 @@ -@import '../../common/colors.less'; -@import '../../common/metrics.less'; - -.format-detail { - display: flex; - align-items: center; - border-left: @len-hairline solid @color-form-line; - margin-left: @len-large; - padding-left: @len-large; - - .icon { - float: left; - margin-right: @len-medium; - padding-bottom: @len-small; - - img { - width: 5rem; - } - } - - .main-info { - margin-top: 0; - } - - .detail { - clear: both; - } -} diff --git a/src/dialogs/story-format/index.html b/src/dialogs/story-format/index.html index 0e9d04e79..c8c976771 100644 --- a/src/dialogs/story-format/index.html +++ b/src/dialogs/story-format/index.html @@ -9,10 +9,9 @@ {{ 'Loading...' | say }}

-
-
- -
- -
+ + + + +
diff --git a/src/dialogs/story-format/index.js b/src/dialogs/story-format/index.js index c6101e105..4a9fd1750 100644 --- a/src/dialogs/story-format/index.js +++ b/src/dialogs/story-format/index.js @@ -110,7 +110,6 @@ module.exports = Vue.extend({ }, components: { - 'format-detail': require('./detail'), 'format-item': require('./item'), 'modal-dialog': require('../../ui/modal-dialog') } diff --git a/src/dialogs/story-format/item.html b/src/dialogs/story-format/item.html index 0a30fc509..a74d5b03a 100644 --- a/src/dialogs/story-format/item.html +++ b/src/dialogs/story-format/item.html @@ -1,4 +1,30 @@ -

- - -

+ + + + + + +

+ {{ format.name }} {{ format.properties.version }} + + {{{ author }}} + +

+
+
+ + {{ format.name.slice(0,2) }} +
+ +
+

+ {{{ format.properties.description }}} +

+ +

+ License: {{{ format.properties.license }}} +

+
+
+ + diff --git a/src/dialogs/story-format/item.js b/src/dialogs/story-format/item.js index a72c10395..320dd98c8 100644 --- a/src/dialogs/story-format/item.js +++ b/src/dialogs/story-format/item.js @@ -25,6 +25,16 @@ module.exports = Vue.extend({ selected() { return this.story.storyFormat === this.format.name && this.story.storyFormatVersion === this.format.version; + }, + + /* + Calculates the image source relative to the format's path. + */ + + imageSrc() { + const path = this.format.url.replace(/\/[^\/]*?$/, ''); + + return path + '/' + this.format.properties.image; } }, diff --git a/src/dialogs/story-stats/index.js b/src/dialogs/story-stats/index.js index ee279b114..ebc2dedba 100644 --- a/src/dialogs/story-stats/index.js +++ b/src/dialogs/story-stats/index.js @@ -38,9 +38,6 @@ module.exports = Vue.extend({ }, wordCount() { - // L10n: Word in the sense of individual words in a sentence. - // This does not actually include the count, as it is used in a - // table. return this.story.passages.reduce( (count, passage) => count + passage.text.split(/\s+/).length, 0 diff --git a/src/locale/po/da.po b/src/locale/po/da.po index 64a15a151..608ce47c4 100755 --- a/src/locale/po/da.po +++ b/src/locale/po/da.po @@ -1,1152 +1,823 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# msgid "" msgstr "" "Project-Id-Version: \n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-09-04 01:33+0200\n" -"PO-Revision-Date: 2015-09-08 15:50+0200\n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 1.8.4\n" +"X-Generator: Poedit 1.8.11\n" "Last-Translator: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Language: da\n" -#: templates/localeview.html:4 -msgid "Please choose which language you would like to use with Twine." -msgstr "Vælg hvilket sprog du ønsker at bruge med Twine." +#: src/dialogs/about/index.html +msgid "About Twine" +msgstr "Om Twine" -#: templates/localeview.html:12 -msgid "English" -msgstr "Engelsk" +#: src/dialogs/about/index.html +msgid "" +"Twine is an open-source tool for telling interactive, nonlinear stories." +msgstr "" +"Twine er et open-source værktøj til at fortælle interaktive, ikke-lineære " +"historier." -#: templates/localeview.html:19 -msgid "Spanish" -msgstr "Spansk" +#: src/dialogs/about/index.html +msgid "" +"This application is released under the \\x3ca href=\"http:\\/\\/www.gnu.org/" +"licenses/gpl-3.0.html\">GPL v3\\x3c/a> license, but any work created with it " +"may be released under any terms, including commercial ones." +msgstr "" +"Dette program er udgivet under \\x3ca href=\"http:\\/\\/www.gnu.org/licenses/" +"gpl-3.0.html\">GPL v3\\x3c/a> licensen, men alle værker skabt med det må " +"udgives under alle slags vilkår, inklusiv kommercielle." -#: templates/storyeditview/passageeditmodal.html:8 -msgid "Passage Name" -msgstr "Navn på afsnit" +#: src/dialogs/about/index.html +msgid "Help Twine Grow With A Donation" +msgstr "Hjælp Twine med at vokse ved at give en donation" -#. L10n: this is the noun form, as in tags you would apply to content. -#: templates/storyeditview/passageeditmodal.html:22 -msgid "Tag" -msgstr "Mærkat" +#: src/dialogs/about/index.html +msgid "Source Code Repository" +msgstr "Kildekodearkiv" -#. L10n: A noun, i.e. what a tag is named. -#: templates/storyeditview/passageeditmodal.html:28 -msgid "Tag name" -msgstr "Navn på mærkat" +#: src/dialogs/about/index.html +msgid "Translations" +msgstr "Oversættelser" + +#: src/dialogs/about/index.html +msgid "Libraries" +msgstr "Biblioteker" -#: templates/storyeditview/passageeditmodal.html:36 +#: src/dialogs/about/index.html +msgid "Fonts" +msgstr "Fonte" + +#: src/dialogs/about/index.html msgid "" -"Enter the body text of your passage here. To link to another passage, put " -"two square brackets around its name, [[like this]]." +"Source Sans Pro and Source Code Pro were designed by Paul D. Hunt under the " +"guidance of Robert Slimbach for \\x3ca href=\"http:\\/\\/adobe.com/\">Adobe" +"\\x3c/a>\\x3cbr> Nunito was designed by \\x3ca href=\"http:\\/\\/code." +"newtypography.co.uk/\">Vernon Adams\\x3c/a>" msgstr "" -"Indtast brødteksten på din passager her. Sæt to firkantede parenteser rundt " -"om navnet for at linke, [[sådan her]]." - -#. L10n: %s is the name of the thing to be deleted. -#: templates/storyeditview/passageitemview.html:16 -#, php-format -msgid "Delete “%s”" -msgstr "Slet “%s”" - -#. L10n: %s is the name of the thing to be edited. -#: templates/storyeditview/passageitemview.html:21 -#, php-format -msgid "Edit “%s”" -msgstr "Redigér “%s”" - -#: templates/storyeditview/passageitemview.html:24 -msgid "Test story starting here" -msgstr "Test historien herfra" +"Source Sans Pro og Source Code Pro er designet af Paul D. Hunt under " +"vejledning af Robert Slimbach for \\x3ca href=\"http:\\/\\/adobe.com/" +"\">Adobe\\x3c/a>\\x3cbr> Nunito er designet af \\x3ca href=\"http:\\/\\/code." +"newtypography.co.uk/\">Vernon Adams\\x3c/a>" + +#: src/dialogs/about/index.html +msgid "Icons" +msgstr "Ikoner" -#. L10n: %s is a name of a passage -#: templates/storyeditview/passageitemview.html:28 -#, php-format -msgid "Set “%s” as starting point" -msgstr "Sæt “%s” som startpunkt" +#: src/dialogs/about/index.html +msgid "Document designed by Rob Gill from the Noun Project" +msgstr "Document er designet af Rob Gill fra The Noun Project" -#: templates/storyeditview/renamestorymodal.html:8 -#: templates/storyeditview/toolbar.html:31 -#: templates/storylistview/storyitemview.html:36 -msgid "Rename Story" -msgstr "Omdøb historie" +#: src/dialogs/about/index.html +msgid "Question designed by Henry Ryder from the Noun Project" +msgstr "Question er designet af Henry Ryder fra The Noun Project" -#: templates/storyeditview/renamestorymodal.html:14 -msgid "What should this story's name be?" -msgstr "Hvad er navnet på denne historie?" +#: src/dialogs/about/index.html +msgid "Smile designed by jelio dimitrov from the Noun Project" +msgstr "Smile er designet af jelio dimitrov fra The Noun Project" -#: templates/storyeditview/renamestorymodal.html:24 -msgid "Please enter a name." -msgstr "Indtast et navn." +#: src/dialogs/app-donation/index.html +msgid "" +"If you love Twine as much as I do, please consider helping it grow with a " +"donation. Twine is an open source project that will always be free to use " +"— and with your help, Twine will continue to thrive." +msgstr "" +"Hvis du elsker Twine så meget som jeg gør, så overvej venligst at hjælpe det " +"med at vokse med en donation. Twine er et open-source værktøj, der altid vil " +"være gratis at bruge og med din hjælp vil Twine fortsætte med at trives." -#: templates/storyeditview/renamestorymodal.html:28 -#: templates/storylistview/formatitem.html:7 -#: templates/storylistview/storylistview.html:25 -#: templates/storylistview/storylistview.html:50 -msgid "Cancel" -msgstr "Annullér" +#: src/dialogs/app-donation/index.html +msgid "Chris Klimas, Twine creator" +msgstr "Chris Klimas, Twine skaber" -#: templates/storyeditview/renamestorymodal.html:29 -msgid "Save" -msgstr "Gem" +#: src/dialogs/app-donation/index.html +msgid "No Thanks" +msgstr "Nej tak" -#: templates/storyeditview/scripteditmodal.html:8 -msgid "JavaScript" -msgstr "JavaScript" +#: src/dialogs/app-donation/index.html +msgid "Donate" +msgstr "Donér" -#: templates/storyeditview/scripteditmodal.html:14 +#: src/dialogs/app-donation/index.html msgid "" -"Any JavaScript entered here will immediately run when your story is opened " -"in a Web browser." +"This message will only be shown to you once.<br>If you'd like to " +"donate to Twine development in the future, you can do so at <a href=" +"\"http:\\/\\/twinery.org/donate\" target=\"_blank\">http://twinery.org/" +"donate</a>." msgstr "" -"Javascript indtastet her vil blive kørt med det samme når din historie åbnes " -"i en browser." +"Denne besked vil kun blive vist én gang.<br>Hvis du ønsker at donere " +"til udviklingen af Twine i fremtiden kan det gøres på <a href=\"http:\\/" +"\\/twinery.org/donate\" target=\"_blank\">http://twinery.org/donate</" +"a>." -#: templates/storyeditview/searchmodal.html:7 +#: src/dialogs/formats/index.html +msgid "Story Formats" +msgstr "Historieformater" + +#: src/dialogs/formats/index.html +msgid "" +"Story formats control the appearance and behavior of stories during play." +msgstr "" +"Historieformater styrer udseende og opførsel af historier når der spilles." + +#: src/dialogs/formats/index.html +msgid "Use as Default" +msgstr "Anvend som standard" + +#: src/dialogs/formats/index.html +msgid "" +"Proofing formats create a versions of stories tailored for editing and " +"proofreading." +msgstr "" +"Korrekturformater skaber versioner af historier skræddersyet til redigering " +"og korrekturlæsning." + +#: src/dialogs/formats/index.html +msgid "Use" +msgstr "Anvend" + +#: src/dialogs/formats/index.html src/story-list-view/list-toolbar/index.js +msgid "Add" +msgstr "Tilføj" + +#: src/dialogs/formats/index.html src/dialogs/story-format/index.html +msgid "Loading..." +msgstr "Indhenter..." + +#: src/dialogs/formats/item.html +msgid "Set this format as default for stories" +msgstr "Sæt dette format som standard for historier" + +#: src/dialogs/formats/item.html +msgid "Remove this format" +msgstr "Fjern dette format" + +#: src/dialogs/story-format/index.html +msgid "Story Format" +msgstr "Historieformat" + +#: src/dialogs/story-format/index.html +msgid "" +"A story format controls the appearance and behavior of your story during " +"play." +msgstr "" +"Historieformatet bestemmer udseende og opførsel af din historie når den " +"spilles." + +#: src/dialogs/story-import/index.html +#: src/story-list-view/list-toolbar/index.html +msgid "Import From File" +msgstr "Importér fra fil" + +#: src/dialogs/story-import/index.html +msgid "Import this file:" +msgstr "Importér denne fil:" + +#: src/dialogs/story-import/index.html src/dialogs/confirm/index.js +#: src/dialogs/prompt/index.js +msgid "Cancel" +msgstr "Afbryd" + +#: src/dialogs/story-import/index.html +msgid "Working..." +msgstr "Arbejder..." + +#: src/dialogs/story-import/index.html +msgid "" +"Some stories you are importing already exist in your library. Please choose " +"which to replace. Any other stories in your file will be imported as well." +msgstr "" +"Nogle af de historier du importerer findes allerede i dit bibliotek. Vælg " +"venligst hvilke der skal erstattes. Alle andre historier i din fil vil også " +"blive importeret." + +#: src/dialogs/story-import/index.html +msgid "Don't Import Any Stories" +msgstr "Importér ikke nogen historier" + +#: src/dialogs/story-search/index.html msgid "Find and Replace" -msgstr "Find og erstat" +msgstr "Søg og erstat" -#: templates/storyeditview/searchmodal.html:12 +#: src/dialogs/story-search/index.html msgid "Search For" msgstr "Søg efter" -#: templates/storyeditview/searchmodal.html:18 +#: src/dialogs/story-search/index.html msgid "Include passage names" -msgstr "Inkludér afsnitnavne" +msgstr "Inkludér passagenavne" -#. L10n: As in uppercase or lowercase letters. -#: templates/storyeditview/searchmodal.html:23 +#: src/dialogs/story-search/index.html msgid "Match case" -msgstr "Match store og små bogstaver" +msgstr "Match små og store bogstaver" -#. L10n: A technical term, see https://en.wikipedia.org/wiki/Regular_expression. -#: templates/storyeditview/searchmodal.html:29 +#: src/dialogs/story-search/index.html msgid "Regular expression" msgstr "Regulært udtryk" -#: templates/storyeditview/searchmodal.html:34 +#: src/dialogs/story-search/index.html msgid "Replace With" msgstr "Erstat med" -#: templates/storyeditview/searchmodal.html:40 +#: src/dialogs/story-search/index.html msgid "Expand all search results" msgstr "Udvid alle søgeresultater" -#: templates/storyeditview/searchmodal.html:44 +#: src/dialogs/story-search/index.html msgid "Collapse all search results" msgstr "Fold alle søgeresultater sammen" -#: templates/storyeditview/searchmodal.html:49 +#: src/dialogs/story-search/index.html msgid "Replace All" msgstr "Erstat alle" -#: templates/storyeditview/searchmodal.html:57 +#: src/dialogs/story-search/index.html +msgid "%d passage matches." +msgid_plural "%d passage matches." +msgstr[0] "%d passage matcher." +msgstr[1] "%d passager matcher." + +#: src/dialogs/story-search/index.html msgid "Searching..." msgstr "Søger..." -#. L10n: %d is a number of text matches after a search. -#: templates/storyeditview/searchmodalresult.html:13 -#, php-format +#: src/dialogs/story-search/result.html msgid "%d match" -msgid_plural "%d matches" +msgid_plural "%d match" msgstr[0] "%d match" -msgstr[1] "%d matches" +msgstr[1] "%d match" -#: templates/storyeditview/searchmodalresult.html:22 +#: src/dialogs/story-search/result.html msgid "Replace in this passage" -msgstr "Erstat dette afsnit" +msgstr "Erstat i denne passage" -#: templates/storyeditview/searchmodalresult.html:23 +#: src/dialogs/story-search/result.html msgid "Replace in Passage" -msgstr "Erstat i afsnit" +msgstr "Erstat i passage" -#: templates/storyeditview/statsmodal.html:8 -#: templates/storyeditview/toolbar.html:39 +#: src/dialogs/story-stats/index.html +#: src/story-edit-view/story-toolbar/story-menu/index.html msgid "Story Statistics" -msgstr "Historie statistikker" +msgstr "Historiestatistikker" -#: templates/storyeditview/statsmodal.html:38 -#, php-format -msgid "This story was last changed at %s" -msgstr "Denne historie blev sidst ændret %s" +#: src/editors/javascript/index.html +msgid "JavaScript" +msgstr "JavaScript" -#. L10n: %s is the IFID of the story. Please keep the element around it. -#: templates/storyeditview/statsmodal.html:45 -#, php-format +#: src/editors/javascript/index.html msgid "" -"The IFID for this story is %s. What's an IFID?)" +"Any JavaScript entered here will immediately run when your story is opened " +"in a Web browser." msgstr "" -"IFID'et for denne historie er %s. Hvad er et IFID?)" +"Javascript indtastet her vil blive kørt med det samme når din historie åbnes " +"i en browser." -#: templates/storyeditview/storyformatmodal.html:7 -msgid "Story Format" -msgstr "Historie format" +#: src/editors/passage/index.html +msgid "Passage Name" +msgstr "Navn på passage" -#: templates/storyeditview/storyformatmodal.html:12 -msgid "" -"A story format controls the appearance and behavior of your story during " -"play." -msgstr "" -"Historieformatet bestemmer udseende og opførsel af din historie når den " -"spilles." +#: src/editors/passage/index.html +msgid "A passage already exists with this name." +msgstr "Der findes allerede en passage med dette navn" -#: templates/storyeditview/storyformatmodal.html:16 -#: templates/storylistview/modals/formatsmodal.html:58 -msgid "Loading..." -msgstr "Indlæser..." +#: src/editors/passage/tag-editor.html +msgid "Tag" +msgstr "Mærkat" + +#: src/editors/passage/tag-editor.html +msgid "Tag name" +msgstr "Navn på mærkat" -#: templates/storyeditview/stylesheeteditmodal.html:8 +#: src/editors/stylesheet/index.html msgid "Stylesheet" msgstr "Stylesheet" -#: templates/storyeditview/stylesheeteditmodal.html:14 +#: src/editors/stylesheet/index.html msgid "" "Any CSS entered here will override the default appearance of your story." msgstr "CSS indtastet her vil overskrive standardudseendet på din historie." -#: templates/storyeditview/toolbar.html:5 -msgid "Go to the story list" -msgstr "Gå til historielisten" +#: src/locale/view/index.html +msgid "Please choose which language you would like to use with Twine." +msgstr "Vælg hvilket sprog du ønsker at bruge med Twine." -#: templates/storyeditview/toolbar.html:19 -msgid "Edit Story JavaScript" -msgstr "Redigér historiens JavaScript" +#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +msgid "Hi!" +msgstr "Hej!" -#: templates/storyeditview/toolbar.html:23 -msgid "Edit Story Stylesheet" -msgstr "Redigér historiens Stylesheet" +#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +msgid "" +"Twine is an open-source tool for telling interactive, nonlinear stories. " +"There are a few things you should know before you get started." +msgstr "" +"Twne er et open-source værktøj til at fortælle interaktive, ikke-lineære " +"historier. Der er et par ting du bør vide inden du starter." -#: templates/storyeditview/toolbar.html:27 -msgid "Change Story Format" -msgstr "Ændr historieformat" +#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +msgid "Tell Me More" +msgstr "Fortæl mig mere" -#: templates/storyeditview/toolbar.html:35 -msgid "Snap to Grid" -msgstr "Fastgør til gitter" +#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +msgid "Skip" +msgstr "Skip" -#: templates/storyeditview/toolbar.html:45 -msgid "View Proofing Copy" -msgstr "Vis korrekturkopi" +#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +msgid "New here?" +msgstr "Er du ny her?" -#: templates/storyeditview/toolbar.html:49 -#: templates/storylistview/storyitemview.html:32 -msgid "Publish to File" -msgstr "Udgiv til fil" +#: src/nw/patches/welcome-view/replacement-template.html +msgid "" +"<strong>If you've never used Twine before,</strong> then " +"welcome! The <a href=\"http://twinery.org/2guide\" target=\"_blank\">" +"Twine 2 Guide</a> and the official wiki in general, are a great place " +"to learn. Keep in mind that some articles on the wiki at large were written " +"for Twine 1, which is a little bit different than this version. But most of " +"the concepts are the same." +msgstr "" +"<strong>Hvis du aldrig har brugt Twine før,</strong> så " +"velkommen! <a href=\"http://twinery.org/2guide\" target=\"_blank\">" +"Twine 2 Guiden</a> og den officielle wiki i det hele taget, er et " +"fremragende sted at lære. Husk på at nogle artikler på wiki'en er skrevet " +"til Twine 1, som er en smule anderledes end denne version. Men i det store " +"hele er koncepterne de samme." + +#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +msgid "" +"You can also get help over at the <a href=\"http://twinery.org/forum\" " +"target=\"_blank\">Twine forum, too." +msgstr "" +"Du kan også få hjælp i <a href=\"http://twinery.org/forum\" target=" +"\"_blank\">Twine forummet" -#: templates/storyeditview/toolbar.html:62 -msgid "Quick Find" -msgstr "Hurtig søgning" +#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +msgid "" +"<strong>If you have used Twine 1 before,</strong> the guide also " +"has details on what has changed in this version. Chief among them is a new " +"default story format, Harlowe. But if you find you prefer the Twine 1 " +"scripting syntax, try using SugarCube instead." +msgstr "" +"<strong>Hvis du har brugt Twine 1 før,</strong> så indeholder " +"denne guide også detaljer om hvad der er nyt i denne version. Først og " +"fremmest er der et nyt standard historieformat, Harlowe. Men hvis du " +"foretrækker syntaksen i Twine 1 scripts, så prøv at bruge SugarCube i stedet." -#: templates/storyeditview/toolbar.html:63 -msgid "Find and replace across the entire story" -msgstr "Søg og erstat i hele historien" +#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +msgid "OK" +msgstr "Ok" -#: templates/storyeditview/toolbar.html:67 +#: src/nw/patches/welcome-view/replacement-template.html +msgid "Your work is automatically saved." +msgstr "Dit arbejde gemmes automatisk." + +#: src/nw/patches/welcome-view/replacement-template.html +msgid "" +"There's now a folder named Twine in your Documents folder. Inside that is a " +"Stories folder, where all your work will be saved. Twine saves as you work, " +"so you don't have to worry about remembering to save it yourself. You can " +"always open the folder your stories are saved to by using the <b>Show " +"Library</b> item in the <b>Twine</b> menu." +msgstr "" +"Der er nu en folder der hedder Twine i din Dokumenter. I den er der en " +"folder der hedder Historier, hvor al dit arbejde bliver gemt. Twine gemmer " +"mens du arbejder så du behøver ikke at bekymre dig om at gemme selv. Du kan " +"altid åbne mappen dine historier er gemt i ved at bruge <b>Vis " +"Bibliotek</b> knappen i <b>Twine</b> menuen." + +#: src/nw/patches/welcome-view/replacement-template.html +msgid "" +"Because Twine is always saving your work, the files in your story library " +"will be locked from editing while Twine is open." +msgstr "" +"Da Twine altid gemmer dit arbejde er filerne i dit historiebibliotek låst så " +"længe Twine er åben." + +#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +msgid "That's it!" +msgstr "Det var alt!" + +#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +msgid "Thanks for reading, and have fun with Twine." +msgstr "Tak fordi du læste og god fornøjelse med Twine." + +#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +msgid "Go to the Story List" +msgstr "Gå til historielisten" + +#: src/story-edit-view/passage-item/passage-menu/index.html +msgid "Test story starting here" +msgstr "Test historien herfra" + +#: src/story-edit-view/story-toolbar/index.html +msgid "Go to the story list" +msgstr "Gå til historielisten" + +#: src/story-edit-view/story-toolbar/index.html msgid "Show only story structure" msgstr "Vis kun historiestruktur" -#: templates/storyeditview/toolbar.html:71 +#: src/story-edit-view/story-toolbar/index.html msgid "Show only passage titles" -msgstr "Vis kun titler på afsnit" +msgstr "Vis kun titler på passager" -#: templates/storyeditview/toolbar.html:75 +#: src/story-edit-view/story-toolbar/index.html msgid "Show passage titles and excerpts" -msgstr "Vis titler på afsnit og uddrag" +msgstr "Vis kun passagetitler og uddrag" -#: templates/storyeditview/toolbar.html:81 +#: src/story-edit-view/story-toolbar/index.html msgid "Play this story in test mode" -msgstr "Afspil denne historie i testtilstand" +msgstr "Spil denne historie i testtilstand" -#. L10n: The verb form, to try something or to check it for problems. -#: templates/storyeditview/toolbar.html:84 +#: src/story-edit-view/story-toolbar/index.html msgid "Test" msgstr "Test" -#: templates/storyeditview/toolbar.html:88 +#: src/story-edit-view/story-toolbar/index.html msgid "Play this story" msgstr "Spil denne historie" -#. L10n: The verb form, as in playing a game. -#: templates/storyeditview/toolbar.html:91 +#: src/story-edit-view/story-toolbar/index.html msgid "Play" msgstr "Spil" -#: templates/storyeditview/toolbar.html:95 +#: src/story-edit-view/story-toolbar/index.html msgid "Add a new passage" -msgstr "Tilføj et nyt afsnit" +msgstr "Tilføj ny passage" -#. L10n: This does not actually show the count here, as it is used in a table. -#: templates/storyeditview/toolbar.html:96 -#: js/views/storyeditview/modals/statsmodal.js:75 +#: src/story-edit-view/story-toolbar/index.html msgid "Passage" -msgid_plural "Passages" -msgstr[0] "Afsnit" -msgstr[1] "Afsnit" - -#. L10n: %s is the name of an author. -#: templates/storyformatdetail.html:26 -#, php-format -msgid "by %s" -msgstr "af %s" - -#. L10n: %s is the name of a software license. -#: templates/storyformatdetail.html:39 -#, php-format -msgid "License: %s" -msgstr "Licens: %s" - -#: templates/storylistview/formatitem.html:5 -msgid "Are you sure?" -msgstr "Er du sikker?" - -#: templates/storylistview/formatitem.html:6 -msgid "Remove" -msgstr "Fjern" - -#: templates/storylistview/formatitem.html:12 -msgid "Remove this format" -msgstr "Fjern dette format" - -#: templates/storylistview/formatitem.html:14 -msgid "Set this format as default for stories" -msgstr "Sæt dette format som standard for historier" - -#: templates/storylistview/modals/aboutmodal.html:8 -msgid "About Twine" -msgstr "Om Twine" - -#. L10n: This is the noun form, to describe a version of the software. e.g. 'I am using Twine build 123' -#: templates/storylistview/modals/aboutmodal.html:14 -msgid "Build" -msgstr "Byg" - -#: templates/storylistview/modals/aboutmodal.html:21 -msgid "" -"Twine is an open-source tool for telling interactive, nonlinear stories." -msgstr "" -"Twine er et open-source værktøj til at fortælle interaktive, ikke-lineære " -"historier." - -#: templates/storylistview/modals/aboutmodal.html:25 -msgid "" -"Twine 2.0 is released under the GPL v3 license, but any work created with it may be " -"released under any terms, including commercial ones. Source Code Repository" -msgstr "" -"Twine 2.0 er frigivet under GPL v3 licensen, men alle værker skabt med det må udgives " -"under hvilken som helst slags vilkår, inklusiv kommercielle. Kildekode" - -#: templates/storylistview/modals/aboutmodal.html:31 -msgid "Help Twine Grow With A Donation" -msgstr "Hjælp Twine med at vokse med en donation" - -#. L10n: This is the noun form, as program code. -#: templates/storylistview/modals/aboutmodal.html:39 -msgid "Code" -msgstr "Kode" - -#: templates/storylistview/modals/aboutmodal.html:55 -msgid "Libraries" -msgstr "Biblioteker" - -#: templates/storylistview/modals/aboutmodal.html:74 -msgid "Fonts" -msgstr "Fonte" - -#: templates/storylistview/modals/aboutmodal.html:78 -msgid "" -"Source Sans Pro and Source Code Pro were designed by Paul D. Hunt under the " -"guidance of Robert Slimbach for Adobe
Nunito was designed by
Vernon Adams" -msgstr "" -"Source Sans Pro og Source Code Pro er designet af Paul D. Hunt under " -"vejledning af Robert Slimbach for Adobe
Nunito er designet af
Vernon Adams" - -#: templates/storylistview/modals/aboutmodal.html:82 -msgid "Icons" -msgstr "Ikoner" +msgstr "Passage" -#: templates/storylistview/modals/aboutmodal.html:87 -msgid "Document designed by Rob Gill from the Noun Project" -msgstr "Document designet af Rob Gill fra The Noun Project" +#: src/story-edit-view/story-toolbar/story-menu/index.html +msgid "Edit Story JavaScript" +msgstr "Redigér historiens JavaScript" -#: templates/storylistview/modals/aboutmodal.html:88 -msgid "Question designed by Henry Ryder from the Noun Project" -msgstr "Question designet af Henry Ryder fra The Noun Project" +#: src/story-edit-view/story-toolbar/story-menu/index.html +msgid "Edit Story Stylesheet" +msgstr "Redigér historiens Stylesheet" -#: templates/storylistview/modals/aboutmodal.html:89 -msgid "Smile designed by jelio dimitrov from the Noun Project" -msgstr "Smile designet af jelio dimitrov fra The Noun Project" +#: src/story-edit-view/story-toolbar/story-menu/index.html +msgid "Change Story Format" +msgstr "Ændr historieformat" -#. L10n: The will have a version number, i.e. 2.0.6, interpolated into it. -#: templates/storylistview/modals/appupdatemodal.html:10 -msgid "" -"A new version of Twine, , has been released." -msgstr "En ny udgave af Twine, , er frigivet." +#: src/story-edit-view/story-toolbar/story-menu/index.html +#: src/story-list-view/story-item/item-menu/index.html +msgid "Rename Story" +msgstr "Omdøb historie" -#. L10n: A polite rejection of a request, in the sense that the answer may change in the future. -#: templates/storylistview/modals/appupdatemodal.html:18 -msgid "Not Right Now" -msgstr "Ikke lige nu" +#: src/story-edit-view/story-toolbar/story-menu/index.html +msgid "Snap to Grid" +msgstr "Fastgør til gitter" -#: templates/storylistview/modals/appupdatemodal.html:21 -msgid "Download" -msgstr "Download" +#: src/story-edit-view/story-toolbar/story-menu/index.html +msgid "View Proofing Copy" +msgstr "Vis korrekturkopi" -#: templates/storylistview/modals/donatemodal.html:6 -msgid "" -"If you love Twine as much as I do, please consider helping it grow with a " -"donation. Twine is as an open source project that will always be free to use " -"— and with your help, Twine will continue to thrive." -msgstr "" -"Hvis du elsker Twine så meget som jeg gør så overvej venligst at hjælpe det " -"med at vokse med en donation. Twine er et open-source værktøj, der altid vil " -"være gratis at bruge og med din hjælp vil Twine fortsætte med at trives." +#: src/story-edit-view/story-toolbar/story-menu/index.html +#: src/story-list-view/story-item/item-menu/index.html +msgid "Publish to File" +msgstr "Udgiv som fil" -#: templates/storylistview/modals/donatemodal.html:10 -msgid "Chris Klimas, Twine creator" -msgstr "Chris Klimas, Twine skaber" +#: src/story-edit-view/story-toolbar/story-search/index.html +msgid "Quick Find" +msgstr "Hurtig søgning" -#: templates/storylistview/modals/donatemodal.html:16 -msgid "Donate" -msgstr "Donér" +#: src/story-edit-view/story-toolbar/story-search/index.html +msgid "Find and replace across the entire story" +msgstr "Søg og erstat i hele historien" -#: templates/storylistview/modals/donatemodal.html:17 -msgid "No Thanks" -msgstr "Nej tak" +#: src/story-list-view/index.html +msgid "Drop a story file to import" +msgstr "Træk og slip historiefil for at importere" -#: templates/storylistview/modals/donatemodal.html:21 -msgid "This message will only be shown to you once.
" -msgstr "Denne besked vil kun blive vist én gang.
" +#: src/story-list-view/index.html +msgid "Sort By" +msgstr "Sorter efter" -#: templates/storylistview/modals/formatsmodal.html:9 -msgid "Story Formats" -msgstr "Historieformater" +#: src/story-list-view/index.html +msgid "Last changed date" +msgstr "Dato for sidste ændring" -#: templates/storylistview/modals/formatsmodal.html:10 -msgid "Proofing Formats" -msgstr "Korrekturformater" +#: src/story-list-view/index.html +msgid "Edit Date" +msgstr "Redigér dato" -#: templates/storylistview/modals/formatsmodal.html:11 -msgid "Add a New Format" -msgstr "Tilføj et nyt format" +#: src/story-list-view/index.html +msgid "Story name" +msgstr "Historienavn" -#: templates/storylistview/modals/formatsmodal.html:20 -msgid "" -"Story formats control the appearance and behavior of stories during play." -msgstr "" -"Historieformater styrer udseende og opførsel af historier når der spilles." +#: src/story-list-view/index.html +msgid "Name" +msgstr "Navn" -#: templates/storylistview/modals/formatsmodal.html:30 +#: src/story-list-view/index.html msgid "" -"Proofing formats create a versions of stories tailored for editing and " -"proofreading." +"There are no stories saved in Twine right now. To get started, you can " +"either create a new story or import an existing one from a file." msgstr "" -"Korrekturformater skaber versioner af historier skræddersyet til redigering " -"og korrekturlæsning." - -#. L10n: Address in the sense of a URL. -#: templates/storylistview/modals/formatsmodal.html:42 -msgid "To add a story format, enter its address below." -msgstr "For at tilføje et historieformat, indtast adressen nedenfor." - -#: templates/storylistview/modals/formatsmodal.html:50 -#: templates/storylistview/storylistview.html:26 -msgid "Add" -msgstr "Tilføj" - -#: templates/storylistview/storyitemview.html:24 -msgid "Play Story" -msgstr "Spil historie" - -#: templates/storylistview/storyitemview.html:28 -msgid "Test Story" -msgstr "Test historie" - -#: templates/storylistview/storyitemview.html:40 -msgid "Duplicate Story" -msgstr "Dublér historie" - -#: templates/storylistview/storyitemview.html:46 -msgid "Delete Story" -msgstr "Slet historie" +"Der er ingen historier gemt i Twine lige nu. For at begynde kan du enten " +"oprette en ny historie eller importere en eksisterende fra en fil." -#: templates/storylistview/storylistview.html:5 +#: src/story-list-view/list-toolbar/index.html src/nw/directories.js +#: src/nw/menus.js msgid "Twine" msgstr "Twine" -#: templates/storylistview/storylistview.html:9 +#: src/story-list-view/list-toolbar/index.html msgid "Create a brand-new story" msgstr "Opret en splinterny historie" -#: templates/storylistview/storylistview.html:10 +#: src/story-list-view/list-toolbar/index.html msgid "Story" msgstr "Historie" -#: templates/storylistview/storylistview.html:17 -msgid "What should your story be named?
(You can change this later.)" -msgstr "Hvad skal din historie kaldes?
(Kan ændres senere.)" - -#: templates/storylistview/storylistview.html:34 +#: src/story-list-view/list-toolbar/index.html msgid "Import a published story or Twine archive" msgstr "Importér en udgivet historie eller et Twine arkiv" -#: templates/storylistview/storylistview.html:35 -msgid "Import From File" -msgstr "Importér fra fil" - -#: templates/storylistview/storylistview.html:42 -msgid "Import this file:" -msgstr "Importer denne fil:" - -#: templates/storylistview/storylistview.html:59 -msgid "Importing..." -msgstr "Importerer..." - -#: templates/storylistview/storylistview.html:67 +#: src/story-list-view/list-toolbar/index.html msgid "Save all stories to a Twine archive file" -msgstr "Gem alle historier til en Twine arkivfil." +msgstr "Gem alle historier til en Twine arkivfil" -#: templates/storylistview/storylistview.html:68 +#: src/story-list-view/list-toolbar/index.html msgid "Archive" msgstr "Arkiv" -#: templates/storylistview/storylistview.html:73 +#: src/story-list-view/list-toolbar/index.html msgid "Work with story and proofing formats" msgstr "Arbejd med historie- og korrekturformater" -#: templates/storylistview/storylistview.html:74 +#: src/story-list-view/list-toolbar/index.html msgid "Formats" msgstr "Formater" -#: templates/storylistview/storylistview.html:79 +#: src/story-list-view/list-toolbar/index.html msgid "Change the language Twine uses" msgstr "Ændr det sprog Twine bruger" -#: templates/storylistview/storylistview.html:80 +#: src/story-list-view/list-toolbar/index.html msgid "Language" msgstr "Sprog" -#: templates/storylistview/storylistview.html:85 +#: src/story-list-view/list-toolbar/index.html msgid "Browse online help" msgstr "Gennemse online hjælp" -#: templates/storylistview/storylistview.html:86 +#: src/story-list-view/list-toolbar/index.html msgid "Help" msgstr "Hjælp" -#: templates/storylistview/storylistview.html:101 +#: src/story-list-view/list-toolbar/index.html msgid "version" msgstr "version" -#: templates/storylistview/storylistview.html:103 +#: src/story-list-view/list-toolbar/index.html msgid "Report a bug" msgstr "Rapportér en fejl" -#: templates/storylistview/storylistview.html:111 -msgid "Stories" -msgstr "Historier" +#: src/story-list-view/list-toolbar/theme-switcher.html +msgid "Use light theme" +msgstr "Anvend lyst tema" -#: templates/storylistview/storylistview.html:114 -msgid "Sort By" -msgstr "Sorter efter" +#: src/story-list-view/list-toolbar/theme-switcher.html +msgid "Use dark theme" +msgstr "Anvend mørkt tema" -#: templates/storylistview/storylistview.html:116 -msgid "Last changed date" -msgstr "Dato for sidste ændring" - -#: templates/storylistview/storylistview.html:117 -msgid "Edit Date" -msgstr "Redigér dato" - -#: templates/storylistview/storylistview.html:120 -msgid "Story name" -msgstr "Historienavn" - -#: templates/storylistview/storylistview.html:121 -msgid "Name" -msgstr "Navn" - -#: templates/storylistview/storylistview.html:128 -msgid "" -"There are no stories saved in Twine right now. To get started, you can " -"either create a new story or import an existing one from a file." -msgstr "" -"Der er ingen historier gemt i Twine lige nu. For at begynde kan du enten " -"oprette en ny historie eller importerer en eksisterende fra en fil." - -#: templates/welcomeview.html:6 -msgid "Hi!" -msgstr "Hej!" - -#: templates/welcomeview.html:10 -msgid "" -"Twine is an open-source tool for telling interactive, nonlinear stories. " -"There are a few things you should know before you get started." -msgstr "" -"Twne er et open-source værktøj til at fortælle interaktive, ikke-lineære " -"historier. Der er et par ting du bør vide inden du starter." - -#: templates/welcomeview.html:14 -msgid "Tell Me More" -msgstr "Fortæl mig mere" - -#: templates/welcomeview.html:15 -msgid "Skip" -msgstr "Skip" +#: src/story-list-view/story-item/item-menu/index.html +msgid "Play Story" +msgstr "Spil historie" -#: templates/welcomeview.html:23 -msgid "New here?" -msgstr "Er du ny her?" +#: src/story-list-view/story-item/item-menu/index.html +msgid "Test Story" +msgstr "Test historie" -#: templates/welcomeview.html:27 -msgid "" -"If you've never used Twine before, then welcome! The Twine 2 Guide " -"and the official wiki in general, are a great place to learn. Keep in mind " -"that some articles on the wiki at large were written for Twine 1, which is a " -"little bit different than this version. But most of the concepts are the " -"same." -msgstr "" -"Hvis du aldrig har brugt Twine før, så velkommen! Twine 2 Guiden og " -"den officielle wiki i det hele taget, er et fremragende sted at lære. Husk " -"på at nogle artikler på wiki'en er skrevet til Twine 1, som er en smule " -"anderledes end denne version. Men i det store hele er koncepterne de samme." +#: src/story-list-view/story-item/item-menu/index.html +msgid "Duplicate Story" +msgstr "Dublér historie" -#: templates/welcomeview.html:31 -msgid "" -"You can also get help over at the Twine forum, too." -msgstr "" -"Du kan også få hjælp i Twine forummet." +#: src/story-list-view/story-item/item-menu/index.html +msgid "Delete Story" +msgstr "Slet historie" -#: templates/welcomeview.html:35 +#: src/welcome/index.html msgid "" -"If you have used Twine 1 before, the guide also has details " -"on what has changed in this version. Chief among them is a new default story " -"format, Harlowe. But if you find you prefer the Twine 1 scripting syntax, " -"try using SugarCube instead." +"<strong>If you've never used Twine before,</strong> then " +"welcome! The <a href=\"http://twinery.org/2guide\" target=\"_blank\">" +"Twine 2 Guide</a> and the official wiki in general, are a great place " +"to learn. Keep in mind that some articles on the wiki at larger were written " +"for Twine 1, which is a little bit different than this version. But most of " +"the concepts are the same." msgstr "" -"Hvis du har brugt Twine 1 før så indeholder denne guide " -"også detaljer om hvad der er nyt i denne version. Først og fremmest er der " -"et nyt standard historieformat, Harlowe. Men hvis du foretrækker syntaksen i " -"Twine 1 scripts, så prøv at bruge SugarCube i stedet." - -#: templates/welcomeview.html:39 templates/welcomeview.html:63 -#: templates/welcomeviewnw.html:23 -msgid "OK" -msgstr "Ok" - -#: templates/welcomeview.html:47 +"<strong>Hvis du aldrig har brugt Twine før,</strong> så " +"velkommen! <a href=\"http://twinery.org/2guide\" target=\"_blank\">" +"Twine 2 Guiden</a> og den officielle wiki i det hele taget, er et " +"fremragende sted at lære. Husk på at nogle artikler på wiki'en er skrevet " +"til Twine 1, som er en smule anderledes end denne version. Men i det store " +"hele er koncepterne de samme." + +#: src/welcome/index.html msgid "Your work is saved only in your browser." msgstr "Dit arbejde er kun gemt i din browser." -#: templates/welcomeview.html:51 +#: src/welcome/index.html msgid "" "That means you don't need to create an account to use Twine 2, and " "everything you create isn't stored on a server somewhere else — it " "stays right in your browser." msgstr "" -"Det betyder at du ikke behøver at oprette en ny konto for bruge Twine 2 og " -"alt hvad du skaber er ikke gemt på en server et eller andet sted — det " -"bliver lige her i din browser." +"Det betyder at du ikke behøver at oprette en ny konto for at bruge Twine 2 " +"og alt hvad du skaber er ikke gemt på en server et eller andet sted — " +"det bliver lige her i din browser." -#: templates/welcomeview.html:55 +#: src/welcome/index.html msgid "" -"Two very important things to remember, though. Since your work is " -"saved only in your browser, if you clear its saved data, then you'll lose " -"your work! Not good. Remember to use that  Archive button often. You can also publish " -"individual stories to files using the menu on " -"each story in the story list. Both archive and story files can always be re-" -"imported into Twine." +"Two <b>very important</b> things to remember, though. Since your " +"work is saved only in your browser, if you clear its saved data, then you'll " +"lose your work! Not good. Remember to use that <i class=\"fa fa-briefcase" +"\"></i> <strong>Archive</strong> button often. You " +"can also publish individual stories to files using the <i class=\"fa fa-" +"cog\"></i> menu on each story in the story list. Both archive and " +"story files can always be re-imported into Twine." msgstr "" -"Der er dog to meget vigtige ting at huske. Da dit arbejde kun gemmes " -"i din browser mister du det hele hvis du sletter browserens gemte data! Det " -"er noget skidt. Husk at bruge  " -"Arkivknappen ofte. Du kan også udgive individuelle " -"historier til filer ved at bruge menuen på hver " -"historie i listen. Både arkivet og historiefilerne kan altid gen-indlæses i " -"Twine." - -#: templates/welcomeview.html:59 +"Der er dog to <b>meget vigtige</b> ting at huske. Da dit arbejde " +"kun gemmes i din browser, mister du det hele, hvis du sletter browserens " +"gemte data! Det er noget skidt. Husk at bruge <i class=\"fa fa-briefcase" +"\"></i> <strong>Arkivknappen</strong> ofte. Du kan " +"også udgive individuelle historier som filer ved at bruge <i class=\"fa " +"fa-cog\"></i> menuen på hver historie i listen. Både arkivet og " +"historiefilerne kan altid genindlæses i Twine." + +#: src/welcome/index.html msgid "" -"Secondly, anyone who can use this browser can see and make changes to " -"your work. So if you've got a nosy kid brother, look into setting up a " -"separate profile for yourself." +"Secondly, <b>anyone who can use this browser can see and make changes " +"to your work</b>. So if you've got a nosy kid brother, look into " +"setting up a separate profile for yourself." msgstr "" -"For det andet, alle der bruger denne browser kan se og ændre dit arbejde. Så hvis du har en nysgerrig lillebror så overvej at sætte en separat " -"profil op til dig selv." +"For det andet, <b>alle der bruger denne browser kan se og ændre dit " +"arbejde</b>. Så hvis du har en nysgerrig lillebror så overvej at sætte " +"en separat profil op til dig selv." -#: templates/welcomeview.html:71 -msgid "That's it!" -msgstr "Det var alt!" +#: src/data/story-format.js +msgid "Untitled Story Format" +msgstr "Unavngivet historieformat" -#: templates/welcomeview.html:75 -msgid "Thanks for reading, and have fun with Twine." -msgstr "Tak for at læse og god fornøjelse med Twine." +#: src/data/story.js +msgid "Untitled Story" +msgstr "Unavngiven historie" -#: templates/welcomeview.html:79 -msgid "Go to the Story List" -msgstr "Gå til historielisten" +#: src/data/story.js src/story-edit-view/index.js +msgid "Untitled Passage" +msgstr "Unavngiven passage" -#: templates/welcomeviewnw.html:7 -msgid "Your work is automatically saved." -msgstr "Dit arbejde gemmes automatisk" +#: src/data/story.js +msgid "Tap this passage, then the pencil icon to edit it." +msgstr "Tryk på denne passage og derefter på blyantikonet for at redigere den." -#: templates/welcomeviewnw.html:11 -msgid "" -"There's now a folder named Twine in your Documents folder. Inside that is a " -"Stories folder, where all your work will be saved. Twine saves as you work, " -"so you don't have to worry about remembering to save it yourself. You can " -"always open the folder your stories are saved to by using the Show " -"Library item in the Twine menu." -msgstr "" -"Der er nu en mappe der hedder Twine i din Dokumentmappe. I den er der en " -"folder der hedder Historier, hvor al fit arbejde bliver gemt. Twine gemmer " -"mens du arbejder så du behøver ikke at bekymre dig om at gemme selv. Du kan " -"altid åbne mappen dine historier er gemt i ved at bruge Vis Bibliotek " -"knappen i Twine menuen." +#: src/data/story.js +msgid "Double-click this passage to edit it." +msgstr "Dobbeltklik på denne passage for at redigere den." -#: templates/welcomeviewnw.html:15 +#. The will have a version number, i.e. 2.0.6, interpolated into it. +#: src/dialogs/app-update/index.js msgid "" -"Because Twine is always saving your work, the files in your story library " -"will be locked from editing while Twine is open." -msgstr "" -"Da Twine altid gemmer dit arbejde er filerne i dit historiebibliotek låst så " -"længe Twine er åben." +"A new version of Twine, , has been released." +msgstr "En ny udgave af Twine, , er frigivet." -#: templates/welcomeviewnw.html:19 -msgid "" -"If you'd like to open a Twine story file you received from someone else, you " -"can import it into your library using the " -"Import From File link in the story list." -msgstr "" -"Hvis du gerne vil åbne en Twine historie du har modtaget fra en anden kan du " -"importere den til dit bibliotek ved at bruge Importer fra fil linket i historielisten." - -#. L10n: %1$s is a filename; %2$s is the error message. -#: js/app.js:226 -msgid "“%1$s” could not be saved (%2$s)." -msgstr "“%1$s” kunne ikke gemmes (%2$s)." - -#. L10n: %s is the error message. -#: js/app.js:283 -#, javascript-format -msgid "An error occurred while publishing your story. (%s)" -msgstr "Der opstod en fejl under udgivelsen af din historie. (%s)" - -#: js/app.js:314 -msgid "Twine Archive.html" -msgstr "Twine Arkiv.html" +#: src/dialogs/app-update/index.js +msgid "Download" +msgstr "Download" -#. L10n: An internal error. %s is a bad sort criterion. -#: js/collections/storycollection.js:35 -#, javascript-format -msgid "don't know how to sort stories by %s" -msgstr "kan ikke sortere historier efter %s" +#. A polite rejection of a request, in the sense that the answer may change in the future. +#: src/dialogs/app-update/index.js +msgid "Not Right Now" +msgstr "Ikke lige nu" -#: js/models/passage.js:19 -msgid "Untitled Passage" -msgstr "Unavngivet Afsnit" +#. %s is the name of an author. +#: src/dialogs/formats/item.js +msgid "by %s" +msgstr "af %s" -#: js/models/passage.js:21 -msgid "Tap this passage, then the pencil icon to edit it." -msgstr "Tryk på dette afsnit og derefter på blyantikonet for at redigere det." +#: src/dialogs/formats/item.js +msgid "Are you sure?" +msgstr "Er du sikker?" -#: js/models/passage.js:22 -msgid "Double-click this passage to edit it." -msgstr "Dobbeltklik på dette afsnit for at redigere det." +#: src/dialogs/formats/item.js +msgid "Remove" +msgstr "Fjern" -#: js/models/passage.js:78 -msgid "You must give this passage a name." -msgstr "Du skal give dette afsnit et nyt navn." +#: src/dialogs/story-import/index.js +msgid "Don't Replace Any Stories" +msgstr "Erstat ikke nogen historier" -#: js/models/passage.js:85 -#, javascript-format -msgid "" -"There is already a passage named \"%s.\" Please give this one a unique name." -msgstr "" -"Der findes allerede et afsnit med navnet \"%s\". Giv dette afsnit et nyt " -"navn." +#. Character in the sense of individual letters in a word. This does not actually include the count, as it is used in a table. +#: src/dialogs/story-stats/index.js +msgid "Character" +msgid_plural "Character" +msgstr[0] "Karakter" +msgstr[1] "Karakterer" -#: js/models/story.js:16 -msgid "Untitled Story" -msgstr "Unavngivet historie" +#. Word in the sense of individual words in a sentence. This does not actually include the count, as it is used in a table. +#: src/dialogs/story-stats/index.js +msgid "Word" +msgid_plural "Word" +msgstr[0] "Ord" +msgstr[1] "Ord" + +#. Links in the sense of hypertext links. This does not actually include the count, as it is used in a table. +#: src/dialogs/story-stats/index.js +msgid "Link" +msgid_plural "Link" +msgstr[0] "Link" +msgstr[1] "Links" -#: js/models/story.js:112 -msgid "There is no starting point set for this story." -msgstr "Der er ikke noget begyndelsespunkt for denne historie." +#: src/editors/passage/index.js +msgid "Editing \\u201c%s\\u201d" +msgstr "Redigerer \\u201c%s\\u201d" -#: js/models/story.js:115 -msgid "The passage set as starting point for this story does not exist." -msgstr "Afsnittet valgt som begyndelsespunkt for denne historier findes ikke." +#. This is the folder name on OS X, Linux, and recent versions of Windows that a user's documents are stored in, relative to the user's home directory. If you need to use a space in this name, then it should have two backslashes (\\) in front of it. Regardless, this must have a single forward slash (/) as its first character. +#: src/nw/directories.js +msgid "/Documents" +msgstr "/Dokumenter" -#: js/models/storyformat.js:38 -msgid "Untitled Story Format" -msgstr "Unavngivet historieformat" +#. This is the folder name on Windows XP that a user's documents are stored in, relative to the user's home directory. This is used if a folder with the name given by the translation key '/Documents' does not exist. If you need to use a space in this name, then it should have two backslashes (\\) in front of it. Regardless, this must have a single forward slash (/) as its first character. +#: src/nw/directories.js +msgid "My\\ Documents" +msgstr "Mine\\ Dokumenter" -#: js/nwui.js:81 +#: src/nw/directories.js +msgid "Stories" +msgstr "Historier" + +#: src/nw/menus.js msgid "Toggle Fullscreen" msgstr "Skift til/fra fuldskærm" -#: js/nwui.js:100 +#: src/nw/menus.js msgid "Quit" -msgstr "Quit" +msgstr "Afslut" -#: js/nwui.js:115 +#: src/nw/menus.js msgid "Edit" msgstr "Redigér" -#: js/nwui.js:120 +#: src/nw/menus.js msgid "Undo" msgstr "Fortryd" -#: js/nwui.js:132 +#: src/nw/menus.js msgid "Cut" msgstr "Klip" -#: js/nwui.js:142 +#: src/nw/menus.js msgid "Copy" msgstr "Kopiér" -#: js/nwui.js:152 +#: src/nw/menus.js msgid "Paste" msgstr "Indsæt" -#: js/nwui.js:162 js/views/storyeditview/passageitemview.js:171 -#: js/views/storyeditview/storyeditview.js:126 +#: src/nw/menus.js src/story-edit-view/passage-item/index.js msgid "Delete" msgstr "Slet" -#: js/nwui.js:182 +#: src/nw/menus.js msgid "Show Library" msgstr "Vis bibliotek" -#. L10n: This is the folder name on OS X, Linux, and recent versions of -#. Windows that a user's documents are stored in, relative to the -#. user's home directory. If you need to use a space in this name, -#. then it should have two backslashes (\\) in front of it. -#. Regardless, this must have a single forward slash (/) as its first -#. character. -#: js/nwui.js:239 -msgid "/Documents" -msgstr "/Dokumenter" - -#. L10n: This is the folder name on Windows XP that a user's -#. documents are stored in, relative to the user's home directory. -#. This is used if a folder with the name given by the translation -#. key '/Documents' does not exist. If you need to use a space in -#. this name, then it should have two backslashes (\\) in front of it. -#. Regardless, this must have a single forward slash (/) as its first character. -#: js/nwui.js:249 js/nwui.js:250 -msgid "/My\\ Documents" -msgstr "/Mine\\ Dokumenter" - -#. L10n: '/Twine' is a suitable name for Twine-related files to exist -#. under on the user's hard drive. '/Stories' is a suitable name for -#. story files specifically. If you need to use a space in this name, -#. then it should have two backslashes in front of it. Regardless, -#. this must have a single forward slash (/) as its first character. -#: js/nwui.js:260 js/nwui.js:264 -msgid "/Twine" -msgstr "/Twine" - -#: js/nwui.js:260 -msgid "/Stories" -msgstr "/Historier" - -#. L10n: %s is the error message. -#: js/nwui.js:430 -#, javascript-format -msgid "An error occurred while saving your story (%s)." -msgstr "Der opstod en fejl under lagring af din historie (%s)." - -#. L10n: %s is the error message. -#: js/nwui.js:457 -#, javascript-format -msgid "An error occurred while deleting your story (%s)." -msgstr "Der opstod en fejl under sletning af din historie (%s)." - -#. L10n: Locking in the sense of preventing changes to a file. %s is the error message. -#: js/nwui.js:527 -#, javascript-format -msgid "An error occurred while locking your library (%s)." -msgstr "Der opstod en fejl ved låsning af dit bibliotek (%s)." - -#. L10n: Unlocking in the sense of allowing changes to a file. %s is the error message. -#: js/nwui.js:556 -#, javascript-format -msgid "An error occurred while unlocking your library (%s)." -msgstr "Der opstod en fejl da dit bibliotek (%s) skulle låses op." - -#. L10n: An internal error message related to UI components. -#: js/ui.js:166 -#, javascript-format -msgid "Don't know how to do bubble action %s" -msgstr "Kan ikke udføre bobbelhandling %s" - -#. L10n: An internal error message related to UI components. -#: js/ui.js:219 -#, javascript-format -msgid "Don't know how to do collapse action %s" -msgstr "Kan ikke udføre foldehandling %s" - -#. L10n: An internal error when changing locale. -#: js/views/localeview.js:27 -#, javascript-format -msgid "Can't set locale to nonstring: %s" -msgstr "Kan ikke sætte sprog til ikke-streng: %s" - -#: js/views/storyeditview/editors/passageeditor.js:120 -#: js/views/storyeditview/storyeditview.js:563 -#, javascript-format -msgid "Editing “%s”" -msgstr "Redigerer \"%s\"" - -#: js/views/storyeditview/editors/passageeditor.js:211 -msgid "Any changes to the passage you're editing haven't been saved yet. " -msgstr "Alle ændringer til afsnittet du redigerer er ikke gemt endnu." - -#. L10n: Matched in the sense of matching a search criteria. %d is the number of passages. -#: js/views/storyeditview/modals/searchmodal.js:94 -#, javascript-format -msgid "%d passage matches." -msgid_plural "%d passages match." -msgstr[0] "%d afsnit matcher." -msgstr[1] "%d afsnit matcher." - -#: js/views/storyeditview/modals/searchmodal.js:102 -msgid "No matching passages found." -msgstr "Ingen matchende afsnit fundet." - -#. L10n: replacement in the sense of text search and replace. %d is the number. -#: js/views/storyeditview/modals/searchmodal.js:183 -#, javascript-format -msgid "%d replacement was made in" -msgid_plural "%d replacements were made in" -msgstr[0] "%d erstatning foretaget i" -msgstr[1] "%d erstatninger foretaget i" - -#. L10n: %d is a number of passages. -#: js/views/storyeditview/modals/searchmodal.js:187 -#, javascript-format -msgid "%d passage" -msgid_plural "%d passages" -msgstr[0] "%d afsnit" -msgstr[1] "%d afsnit" - -#. L10n: This is the formatting used to combine two pluralizations. -#. In English, %1$s equals "2 replacements were made in" and %2$s equals "5 passages." -#. This is a way to reshape the sentence as needed. -#: js/views/storyeditview/modals/searchmodal.js:192 -msgid "%1$s %2$s" -msgstr "%1$s %2$s" - -#. L10n: Character in the sense of individual letters in a word. -#. This does not actually show the count here, as it is used in a table. -#: js/views/storyeditview/modals/statsmodal.js:68 -msgid "Character" -msgid_plural "Characters" -msgstr[0] "Karakter" -msgstr[1] "Karakterer" - -#. L10n: Word in the sense of individual words in a sentence. -#. This does not actually show the count here, as it is used in a table. -#: js/views/storyeditview/modals/statsmodal.js:72 -msgid "Word" -msgid_plural "Words" -msgstr[0] "Ord" -msgstr[1] "Ord" - -#. L10n: Links in the sense of hypertext links. -#. This does not actually show the count here, as it is used in a table. -#: js/views/storyeditview/modals/statsmodal.js:79 -msgid "Link" -msgid_plural "Links" -msgstr[0] "Link" -msgstr[1] "Links" - -#. L10n: Links in the sense of hypertext links. -#. This does not actually show the count here, as it is used in a table. -#: js/views/storyeditview/modals/statsmodal.js:83 -msgid "Broken Link" -msgid_plural "Broken Links" -msgstr[0] "Brudt link" -msgstr[1] "Brudte links" - -#. L10n: %1$s is the name of the story format, %2$s is the error message. -#: js/views/storyeditview/modals/storyformatmodal.js:96 -#: js/views/storylistview/modals/formatsmodal.js:74 -msgid "The story format “%1$s” could not be loaded (%2$s)." -msgstr "Historieformatet “%1$s” kunne ikke indhentes (%2$s)." - -#: js/views/storyeditview/passageitemview.js:165 -#, javascript-format -msgid "Are you sure you want to delete “%s”? " -msgstr "Er du sikker på du vil slette “%s”? " - -#: js/views/storyeditview/passageitemview.js:169 -msgid "(Hold the Shift key when deleting to skip this message.)" -msgstr "(Hold Shift nede når du sletter for at skippe denne besked.)" - -#. L10n: An internal error related to handling user input. -#: js/views/storyeditview/passageitemview.js:461 -msgid "Don't see either mouse or touch coordinates on event" -msgstr "Kan ikke finde hverken muse- eller berøringskoordinater på handling" - -#. L10n: An internal error related to user input. -#: js/views/storyeditview/passageitemview.js:523 -msgid "Couldn't find original touch ID in movement event" -msgstr "Kunne ikke finde oprindelige berørings ID i bevægelseshandling" - -#. L10n: %s is the error message. -#: js/views/storyeditview/storyeditview.js:43 -#: js/views/storyeditview/storyeditview.js:64 -#, javascript-format -msgid "A problem occurred while saving your changes (%s)." -msgstr "Der opstod en fejl under lagring af dine ændringer (%s)." - -#. L10n: This message is always shown with more than one passage. -#. %d is the number of passages. -#: js/views/storyeditview/storyeditview.js:122 -#, javascript-format -msgid "Are you sure you want to delete this passage?" -msgid_plural "" -"Are you sure you want to delete these %d passages? This cannot be undone." -msgstr[0] "Er du sikker på du vil slette dette afsnit?" -msgstr[1] "" -"Er du sikker på du vil slette disse %d afsnit? Dette kan ikke fortrydes." - -#: js/views/storyeditview/storyeditview.js:268 -msgid "This story does not have a starting point. " -msgstr "Denne historie har ikke noget begyndelsespunkt." - -#: js/views/storyeditview/storyeditview.js:282 -msgid "" -"Refreshed the playable version of your story in the previously-opened tab or " -"window." -msgstr "" -"Genindlæste den spilbare version af din historie i det tidligere åbnede tab " -"eller vindue." - -#: js/views/storyeditview/storyeditview.js:312 -#: js/views/storyeditview/storyeditview.js:352 -#: js/views/storylistview/storyitemview.js:110 -msgid "" -"This story does not have a starting point. Use the icon on a passage to set this." -msgstr "" -"Denne historie har ikke noget begyndelsespunkt. Brug ikonet på et afsnit for at vælge det." - -#: js/views/storyeditview/storyeditview.js:325 -msgid "" -"Refreshed the test version of your story in the previously-opened tab or " -"window." -msgstr "" -"Genindlæste testversionen af din historie i det tidligere åbnede tab eller " -"vindue." - -#. L10n: This refers to when a story was last saved by the user -#. %s will be replaced with a localized date and time -#: js/views/storyeditview/storyeditview.js:573 -#: js/views/storyeditview/toolbar.js:94 -#, javascript-format -msgid "Last saved at %s" -msgstr "Sidst gemt %s" - -#: js/views/storylistview/modals/formatsmodal.js:137 -msgid "The story format at %1$s could not be added (%2$s)." -msgstr "Historieformatet på %1$s kunne ikke tilføjes (%2$s)." - -#. L10n: An internal error related to story formats. -#: js/views/storylistview/modals/formatsmodal.js:246 -msgid "Don't know what kind of format to set as default" -msgstr "Kan ikke finde format til at sætte som standard." - -#: js/views/storylistview/storagequota.js:21 -#: js/views/storylistview/storagequota.js:44 -#: js/views/storylistview/storagequota.js:49 -#, javascript-format -msgid "%d%% space available" -msgstr "%d%% plads tilgængelig" +#: src/story-edit-view/story-toolbar/story-menu/index.js +#: src/story-list-view/story-item/item-menu/index.js +msgid "Rename" +msgstr "Omdøb" -#: js/views/storylistview/storyitemview.js:80 -#: js/views/storylistview/storyitemview.js:94 -msgid "" -"This story does not have a starting point. Edit this story and use the icon on a passage to set this." -msgstr "" -"Denne historie har ikke noget begyndelsespunkt. Redigér historien og brug ikonet på et afsnit for at vælge det." +#: src/story-edit-view/story-toolbar/story-menu/index.js +#: src/story-list-view/story-item/item-menu/index.js +msgid "Please enter a name." +msgstr "Indtast et navn." -#: js/views/storylistview/storyitemview.js:123 -#, javascript-format -msgid "" -"Are you sure you want to delete “%s”? This cannot be undone." -msgstr "" -"Er du sikker på at du vil slette “%s”? Dette kan ikke forstrydes." +#: src/story-list-view/list-toolbar/index.js +msgid "Twine Archive.html" +msgstr "Twine Arkiv.html" -#: js/views/storylistview/storyitemview.js:125 +#: src/story-list-view/story-item/item-menu/index.js msgid "Delete Forever" msgstr "Slet for evigt" -#: js/views/storylistview/storyitemview.js:137 -#, javascript-format -msgid "What should “%s” be renamed to?" -msgstr "Hvad skal “%s” omdøbes til?" - -#: js/views/storylistview/storyitemview.js:138 -msgid "Rename" -msgstr "Omdøb" - -#: js/views/storylistview/storyitemview.js:155 +#: src/story-list-view/story-item/item-menu/index.js msgid "What should the duplicate be named?" msgstr "Hvad skal dubletten hedde?" -#: js/views/storylistview/storyitemview.js:156 +#: src/story-list-view/story-item/item-menu/index.js msgid "Duplicate" msgstr "Dublér" -#: js/views/storylistview/storyitemview.js:162 -#, javascript-format +#: src/story-list-view/story-item/item-menu/index.js msgid "%s Copy" -msgstr "%s Copy" - -#. L10n: %d is a number of stories. -#: js/views/storylistview/storylistview.js:251 -#, javascript-format -msgid "%d story was imported." -msgid_plural "%d stories were imported." -msgstr[0] "%d historie blev importeret." -msgstr[1] "%d historier blev importeret." - -#. L10n: %d is a number of stories -#: js/views/storylistview/storylistview.js:341 -#, javascript-format -msgid "%d Story" -msgid_plural "%d Stories" -msgstr[0] "%d historie" -msgstr[1] "%d historier" +msgstr "%s Kopiér" + +#: src/ui/quota-gauge/index.js +msgid "%d%% space available" +msgstr "%d%% plads tilgængelig" diff --git a/src/locale/po/de.po b/src/locale/po/de.po index 26bbdbe6d..7c88868af 100644 --- a/src/locale/po/de.po +++ b/src/locale/po/de.po @@ -487,7 +487,7 @@ msgstr "Geschichte testen" #: templates/storylistview/storyitemview.html:40 msgid "Duplicate Story" -msgstr "Geschichte dublizieren" +msgstr "Geschichte duplizieren" #: templates/storylistview/storyitemview.html:46 msgid "Delete Story" diff --git a/src/locale/po/fr.po b/src/locale/po/fr.po index 1f7bc6396..10bc53836 100644 --- a/src/locale/po/fr.po +++ b/src/locale/po/fr.po @@ -2,587 +2,439 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-06-30 22:38-0400\n" -"PO-Revision-Date: 2015-07-06 15:59+0100\n" +"POT-Creation-Date: \n" +"PO-Revision-Date: 2016-12-13 09:18+0100\n" +"Last-Translator: Valentin Rocher \n" +"Language-Team: \n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"Last-Translator: Valentin Rocher \n" -"Language-Team: \n" -"X-Generator: Poedit 1.7.5\n" -"Language: fr\n" +"X-Generator: Poedit 1.8.7.1\n" -#: templates/localeview.html:4 -msgid "Please choose which language you would like to use with Twine." -msgstr "Veuillez choisir le langage à utiliser dans Twine." +#: src/dialogs/about/index.html +msgid "About Twine" +msgstr "À propos de Twine" + +#: src/dialogs/about/index.html +msgid "" +"Twine is an open-source tool for telling interactive, nonlinear stories." +msgstr "" +"Twine est un outil open-source pour raconter des histoires interactives et " +"non-linéaires." -#: templates/storyeditview/passageeditmodal.html:8 -msgid "Passage Name" -msgstr "Nom du Passage" +#: src/dialogs/about/index.html +msgid "" +"This application is released under the \\x3ca href=\"http:\\/\\/www.gnu.org/" +"licenses/gpl-3.0.html\">GPL v3\\x3c/a> license, but any work created with it " +"may be released under any terms, including commercial ones." +msgstr "" +"Cette application est distribuée sous la license \\x3ca href=\"https:\\/\\/" +"www.gnu.org/licenses/gpl-3.0.fr.html\">GPL v3\\x3c/a>, mais toute oeuvre " +"créée via ce logiciel peut être distribuée sous n'importe quels termes, y " +"compris commerciaux." -#. L10n: this is the noun form, as in tags you would apply to content. -#: templates/storyeditview/passageeditmodal.html:22 -msgid "Tag" -msgstr "Balise" +#: src/dialogs/about/index.html +msgid "Help Twine Grow With A Donation" +msgstr "Aidez Twine à Grandir Grâce À Un Don" -#. L10n: A noun, i.e. what a tag is named. -#: templates/storyeditview/passageeditmodal.html:28 -msgid "Tag name" -msgstr "Nom de la balise" +#: src/dialogs/about/index.html +msgid "Source Code Repository" +msgstr "Dépôt de Code Source" -#: templates/storyeditview/passageeditmodal.html:36 +#: src/dialogs/about/index.html +msgid "Translations" +msgstr "Traductions" + +#: src/dialogs/about/index.html +msgid "Libraries" +msgstr "Bibliothèques" + +#: src/dialogs/about/index.html +msgid "Fonts" +msgstr "Polices de caractère" + +#: src/dialogs/about/index.html msgid "" -"Enter the body text of your passage here. To link to another passage, put " -"two square brackets around its name, [[like this]]." +"Source Sans Pro and Source Code Pro were designed by Paul D. Hunt under the " +"guidance of Robert Slimbach for \\x3ca href=\"http:\\/\\/adobe.com/\">Adobe" +"\\x3c/a>\\x3cbr> Nunito was designed by \\x3ca href=\"http:\\/\\/code." +"newtypography.co.uk/\">Vernon Adams\\x3c/a>" msgstr "" -"Entrez le texte de votre passage ici. Pour ajouter un lien vers un autre " -"passage, entourez son nom de deux crochets, [[comme ça]]." +"Source Sans Pro et Source Code Pro ont été conçus par Paul D. Hunt sous la " +"direction de Robert Slimbach pour \\x3ca href=\"http:\\/\\/adobe.com/" +"\">Adobe\\x3c/a>\\x3cbr>. Nunito a été conçue par \\x3ca href=\"http:\\/\\/" +"code.newtypography.co.uk/\">Vernon Adams\\x3c/a>." -#. L10n: %s is the name of the thing to be deleted. -#: templates/storyeditview/passageitemview.html:16 -#, php-format -msgid "Delete “%s”" -msgstr "Supprimer “%s”" - -#. L10n: %s is the name of the thing to be edited. -#: templates/storyeditview/passageitemview.html:21 -#, php-format -msgid "Edit “%s”" -msgstr "Modifier “%s”" - -#: templates/storyeditview/passageitemview.html:24 -msgid "Test story starting here" -msgstr "Début de l'histoire de test" - -#. L10n: %s is a name of a passage -#: templates/storyeditview/passageitemview.html:28 -#, php-format -msgid "Set “%s” as starting point" -msgstr "Choisir “%s” comme point de départ" - -#: templates/storyeditview/renamestorymodal.html:8 -#: templates/storyeditview/toolbar.html:31 -#: templates/storylistview/storyitemview.html:36 -msgid "Rename Story" -msgstr "Renommer l'Histoire" +#: src/dialogs/about/index.html +msgid "Icons" +msgstr "Icônes" -#: templates/storyeditview/renamestorymodal.html:14 -msgid "What should this story's name be?" -msgstr "Quel nom voulez-vous donnez à cette histoire ?" +#: src/dialogs/about/index.html +msgid "Document designed by Rob Gill from the Noun Project" +msgstr "Document conçu par Rob Gill pour le Noun Project" -#: templates/storyeditview/renamestorymodal.html:24 -msgid "Please enter a name." -msgstr "Veuillez entrer un nom." +#: src/dialogs/about/index.html +msgid "Question designed by Henry Ryder from the Noun Project" +msgstr "Question conçue par Henry Ryder pour le Noun Project" + +#: src/dialogs/about/index.html +msgid "Smile designed by jelio dimitrov from the Noun Project" +msgstr "Sourire conçu par jelio dimitrov pour le Noun Project" + +#: src/dialogs/app-donation/index.html +msgid "" +"If you love Twine as much as I do, please consider helping it grow with a " +"donation. Twine is an open source project that will always be free to use " +"— and with your help, Twine will continue to thrive." +msgstr "" +"Si vous aimez Twine autant que moi, pensez à l'aider à grandir via un don. " +"Twine est un projet open source qui sera toujours gratuit — et avec " +"votre aide, Twine continuera à grandir." + +#: src/dialogs/app-donation/index.html +msgid "Chris Klimas, Twine creator" +msgstr "Chris Klimas, créateur de Twine" + +#: src/dialogs/app-donation/index.html +msgid "No Thanks" +msgstr "Non Merci" + +#: src/dialogs/app-donation/index.html +msgid "Donate" +msgstr "Faire un don" + +#: src/dialogs/app-donation/index.html +msgid "" +"This message will only be shown to you once.<br>If you'd like to " +"donate to Twine development in the future, you can do so at <a href=\\" +"\"http:\\/\\/twinery.org/donate\\\" target=\\\"_blank\\\">http://twinery." +"org/donate</a>." +msgstr "" +"Ce message sera affiché une seule fois.<br>Si vous voulez faire une " +"donation pour le développement de Twine un peu plus tard, vous pouvez le " +"faire à l'adresse <a href=\\\"http:\\/\\/twinery.org/donate\\\" target=\\" +"\"_blank\\\">http://twinery.org/donate</a>." + +#: src/dialogs/formats/index.html +msgid "" +"Story formats control the appearance and behavior of stories during play." +msgstr "" +"Les formats d'histoire contrôlent l'apparence et le comportement des " +"histoires durant la lecture." + +#: src/dialogs/formats/index.html +msgid "Use as Default" +msgstr "Utiliser par Défaut" + +#: src/dialogs/formats/index.html +msgid "" +"Proofing formats create a versions of stories tailored for editing and " +"proofreading." +msgstr "" +"Les formats de correction créent une version des histoires dédiée à " +"l'édition et à la correction." + +#: src/dialogs/formats/index.html +msgid "Use" +msgstr "Utiliser" + +#: src/dialogs/formats/index.html src/story-list-view/list-toolbar/index.js:24 +msgid "Add" +msgstr "Ajouter" + +#: src/dialogs/formats/index.html src/dialogs/story-format/index.html +msgid "Loading..." +msgstr "Chargement..." -#: templates/storyeditview/renamestorymodal.html:28 -#: templates/storylistview/formatitem.html:7 -#: templates/storylistview/storylistview.html:25 -#: templates/storylistview/storylistview.html:50 +#: src/dialogs/story-format/index.html +msgid "Story Format" +msgstr "Format d'Histoire" + +#: src/dialogs/story-format/index.html +msgid "" +"A story format controls the appearance and behavior of your story during " +"play." +msgstr "" +"Un format d'histoire contrôle l'apparence et le comportement de votre " +"histoire durant le jeu" + +#: src/dialogs/story-import/index.html +#: src/story-list-view/list-toolbar/index.html +msgid "Import From File" +msgstr "Importer depuis un Fichier" + +#: src/dialogs/story-import/index.html +msgid "Import this file:" +msgstr "Importer ce fichier :" + +#: src/dialogs/story-import/index.html src/dialogs/confirm/index.js:31 +#: src/dialogs/prompt/index.js:15 msgid "Cancel" msgstr "Annuler" -#: templates/storyeditview/renamestorymodal.html:29 -msgid "Save" -msgstr "Sauvegarder" +#: src/dialogs/story-import/index.html +msgid "Working..." +msgstr "En cours..." -#: templates/storyeditview/scripteditmodal.html:8 -msgid "JavaScript" -msgstr "JavaScript" - -#: templates/storyeditview/scripteditmodal.html:14 +#: src/dialogs/story-import/index.html msgid "" -"Any JavaScript entered here will immediately run when your story is opened " -"in a Web browser." +"Some stories you are importing already exist in your library. Please choose " +"which to replace. Any other stories in your file will be imported as well." msgstr "" -"Tout JavaScript ajouté ici sera lancé dès que votre histoire sera ouverte " -"dans un navigateur Web." +"Certaines histoires que vous cherchez à importer existent déjà dans votre " +"bibliothèque. Veuillez choisir celui qui sera remplacé. Toutes les autres " +"histoires dans votre fichier seront aussi importées." + +#: src/dialogs/story-import/index.html +msgid "Don't Import Any Stories" +msgstr "N'importer Aucune Histoire" -#: templates/storyeditview/searchmodal.html:7 +#: src/dialogs/story-search/index.html msgid "Find and Replace" msgstr "Chercher et Remplacer" -#: templates/storyeditview/searchmodal.html:12 +#: src/dialogs/story-search/index.html msgid "Search For" msgstr "Rechercher" -#: templates/storyeditview/searchmodal.html:18 +#: src/dialogs/story-search/index.html msgid "Include passage names" msgstr "Inclure le nom des passages" -#. L10n: As in uppercase or lowercase letters. -#: templates/storyeditview/searchmodal.html:23 +#: src/dialogs/story-search/index.html msgid "Match case" msgstr "Respecter la casse" -#. L10n: A technical term, see https://en.wikipedia.org/wiki/Regular_expression. -#: templates/storyeditview/searchmodal.html:29 +#: src/dialogs/story-search/index.html msgid "Regular expression" msgstr "Expression régulière" -#: templates/storyeditview/searchmodal.html:34 +#: src/dialogs/story-search/index.html msgid "Replace With" msgstr "Remplacer Par" -#: templates/storyeditview/searchmodal.html:40 -msgid "Expand all search results" -msgstr "Déplier les résultats de recherche" - -#: templates/storyeditview/searchmodal.html:44 -msgid "Collapse all search results" -msgstr "Replier tous les résultats de recherche" - -#: templates/storyeditview/searchmodal.html:49 +#: src/dialogs/story-search/index.html msgid "Replace All" msgstr "Remplacer Tout" -#: templates/storyeditview/searchmodal.html:57 +#: src/dialogs/story-search/index.html +msgid "%d passage matches." +msgid_plural "%d passages match." +msgstr[0] "%d passage correspondant." +msgstr[1] "%d passages correspondants." + +#: src/dialogs/story-search/index.html msgid "Searching..." msgstr "Recherche..." -#. L10n: %d is a number of text matches after a search. -#: templates/storyeditview/searchmodalresult.html:13 -#, php-format +#: src/dialogs/story-search/result.html msgid "%d match" msgid_plural "%d matches" msgstr[0] "%d résultat" msgstr[1] "%d résultats" -#: templates/storyeditview/searchmodalresult.html:22 -msgid "Replace in this passage" -msgstr "Remplacer dans ce passage" - -#: templates/storyeditview/searchmodalresult.html:23 +#: src/dialogs/story-search/result.html msgid "Replace in Passage" msgstr "Remplacer dans le passage" -#: templates/storyeditview/statsmodal.html:8 -#: templates/storyeditview/toolbar.html:39 +#: src/dialogs/story-stats/index.html +#: src/story-edit-view/story-toolbar/story-menu/index.html msgid "Story Statistics" msgstr "Statistiques de l'Histoire" -#: templates/storyeditview/statsmodal.html:38 -#, php-format -msgid "This story was last changed at %s" -msgstr "Cette histoire à été modifiée pour la dernière fois à %s" +#: src/editors/javascript/index.html +msgid "JavaScript" +msgstr "JavaScript" -#. L10n: %s is the IFID of the story. Please keep the element around it. -#: templates/storyeditview/statsmodal.html:45 -#, php-format +#: src/editors/javascript/index.html msgid "" -"The IFID for this story is %s. What's an IFID?)" +"Any JavaScript entered here will immediately run when your story is opened " +"in a Web browser." msgstr "" -"L'IFID pour cette histoire est %s. Qu'est-ce qu'un " -"IFID?)" - -#: templates/storyeditview/storyformatmodal.html:7 -msgid "Story Format" -msgstr "Format d'Histoire" +"Tout JavaScript ajouté ici sera lancé dès que votre histoire sera ouverte " +"dans un navigateur Web." -#: templates/storyeditview/storyformatmodal.html:12 -msgid "" -"A story format controls the appearance and behavior of your story during " -"play." -msgstr "" -"Un format d'histoire contrôle l'apparence et le comportement de votre " -"histoire durant le jeu" +#: src/editors/passage/index.html +msgid "A passage already exists with this name." +msgstr "Un passage existe déjà avec ce nom." -#: templates/storyeditview/storyformatmodal.html:16 -#: templates/storylistview/modals/formatsmodal.html:58 -msgid "Loading..." -msgstr "Chargement..." +#: src/editors/passage/tag-editor.html +msgid "Tag" +msgstr "Balise" -#: templates/storyeditview/stylesheeteditmodal.html:8 +#: src/editors/stylesheet/index.html msgid "Stylesheet" msgstr "Feuille de style" -#: templates/storyeditview/stylesheeteditmodal.html:14 +#: src/editors/stylesheet/index.html msgid "" "Any CSS entered here will override the default appearance of your story." msgstr "" "Tout CSS ajouté ici remplacera l'apparence par défaut de votre histoire" -#: templates/storyeditview/toolbar.html:5 -msgid "Go to the story list" -msgstr "Aller à la liste des histoires" - -#: templates/storyeditview/toolbar.html:19 -msgid "Edit Story JavaScript" -msgstr "Modifier le JavaScript de l'Histoire" - -#: templates/storyeditview/toolbar.html:23 -msgid "Edit Story Stylesheet" -msgstr "Modifier la Feuille de Style de l'Histoire" - -#: templates/storyeditview/toolbar.html:27 -msgid "Change Story Format" -msgstr "Modifier le Format de l'Histoire" - -#: templates/storyeditview/toolbar.html:35 -msgid "Snap to Grid" -msgstr "Coller à la Grille" - -#: templates/storyeditview/toolbar.html:45 -msgid "View Proofing Copy" -msgstr "Voir Épreuve de Correction" - -#: templates/storyeditview/toolbar.html:49 -#: templates/storylistview/storyitemview.html:32 -msgid "Publish to File" -msgstr "Publier vers un Fichier" - -#: templates/storyeditview/toolbar.html:62 -msgid "Quick Find" -msgstr "Recherche Rapide" - -#: templates/storyeditview/toolbar.html:63 -msgid "Find and replace across the entire story" -msgstr "Chercher et remplacer dans toute l'histoire" - -#: templates/storyeditview/toolbar.html:67 -msgid "Show only story structure" -msgstr "Montrer uniquement la structure de l'histoire" - -#: templates/storyeditview/toolbar.html:71 -msgid "Show only passage titles" -msgstr "Montrer uniquement le titre des passages" - -#: templates/storyeditview/toolbar.html:75 -msgid "Show passage titles and excerpts" -msgstr "Montrer le titre des passages et les extraits" - -#: templates/storyeditview/toolbar.html:81 -msgid "Play this story in test mode" -msgstr "Lancer cette histoire en mode test" - -#. L10n: The verb form, to try something or to check it for problems. -#: templates/storyeditview/toolbar.html:84 -msgid "Test" -msgstr "Test" - -#: templates/storyeditview/toolbar.html:88 -msgid "Play this story" -msgstr "Lancer cette histoire" - -#. L10n: The verb form, as in playing a game. -#: templates/storyeditview/toolbar.html:91 -msgid "Play" -msgstr "Lancer" - -#: templates/storyeditview/toolbar.html:95 -msgid "Add a new passage" -msgstr "Ajouter un nouveau passage" - -#. L10n: This does not actually show the count here, as it is used in a table. -#: templates/storyeditview/toolbar.html:96 -#: js/views/storyeditview/modals/statsmodal.js:75 -msgid "Passage" -msgid_plural "Passages" -msgstr[0] "Passage" -msgstr[1] "Passages" - -#. L10n: %s is the name of an author. -#: templates/storyformatdetail.html:26 -#, php-format -msgid "by %s" -msgstr "par %s" - -#. L10n: %s is the name of a software license. -#: templates/storyformatdetail.html:39 -#, php-format -msgid "License: %s" -msgstr "Licence : %s" - -#: templates/storylistview/formatitem.html:5 -msgid "Are you sure?" -msgstr "Êtes-vous sûr ?" - -#: templates/storylistview/formatitem.html:6 -msgid "Remove" -msgstr "Supprimer" - -#: templates/storylistview/formatitem.html:12 -msgid "Remove this format" -msgstr "Supprimer ce format" - -#: templates/storylistview/formatitem.html:14 -msgid "Set this format as default for stories" -msgstr "Choisir ce format comme format par défaut pour toutes les histoires" - -#: templates/storylistview/modals/aboutmodal.html:8 -msgid "About Twine" -msgstr "À propos de Twine" +#: src/locale/view/index.html +msgid "Please choose which language you would like to use with Twine." +msgstr "Veuillez choisir le langage à utiliser dans Twine." -#. L10n: This is the noun form, to describe a version of the software. e.g. 'I am using Twine build 123' -#: templates/storylistview/modals/aboutmodal.html:14 -msgid "Build" -msgstr "Version" +#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +msgid "Hi!" +msgstr "Salut !" -#: templates/storylistview/modals/aboutmodal.html:21 +#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html msgid "" -"Twine is an open-source tool for telling interactive, nonlinear stories." +"Twine is an open-source tool for telling interactive, nonlinear stories. " +"There are a few things you should know before you get started." msgstr "" "Twine est un outil open-source pour raconter des histoires interactives et " -"non-linéaires." - -#: templates/storylistview/modals/aboutmodal.html:25 -msgid "" -"Twine 2.0 is released under the GPL v3 license, but any work created with it may be " -"released under any terms, including commercial ones. Source Code Repository" -msgstr "" -"Twine 2.0 est distribué sous la licence GPL v3, mais toute œuvre créée via Twine peut " -"être distribuée sous n'importe quels termes, y compris commerciaux. Dépôt du code source" - -#: templates/storylistview/modals/aboutmodal.html:31 -msgid "Help Twine Grow With A Donation" -msgstr "Aidez Twine à Grandir Grâce À Un Don" - -#. L10n: This is the noun form, as program code. -#: templates/storylistview/modals/aboutmodal.html:39 -msgid "Code" -msgstr "Code" - -#: templates/storylistview/modals/aboutmodal.html:54 -msgid "Translations" -msgstr "Traductions" - -#: templates/storylistview/modals/aboutmodal.html:61 -msgid "Libraries" -msgstr "Bibliothèques" - -#: templates/storylistview/modals/aboutmodal.html:80 -msgid "Fonts" -msgstr "Polices de caractère" - -#: templates/storylistview/modals/aboutmodal.html:84 -msgid "" -"Source Sans Pro and Source Code Pro were designed by Paul D. Hunt under the " -"guidance of Robert Slimbach for Adobe
Nunito was designed by
Vernon Adams" -msgstr "" -"Source Sans Pro et Source Code Pro ont été créées par Paul D. Hunt avec " -"l'aide de Robert Slimbach pour Adobe
Nunito a été créée par
Vernon Adams" - -#: templates/storylistview/modals/aboutmodal.html:88 -msgid "Icons" -msgstr "Icônes" +"non-linéaires. Il y a quelques détails que vous devriez connaître avant de " +"vous lancer." -#: templates/storylistview/modals/aboutmodal.html:93 -msgid "Document designed by Rob Gill from the Noun Project" -msgstr "Document conçu par Rob Gill pour le Noun Project" +#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +msgid "Tell Me More" +msgstr "En Savoir Plus" -#: templates/storylistview/modals/aboutmodal.html:94 -msgid "Question designed by Henry Ryder from the Noun Project" -msgstr "Question conçue par Henry Ryder pour le Noun Project" +#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +msgid "Skip" +msgstr "Passer" -#: templates/storylistview/modals/aboutmodal.html:95 -msgid "Smile designed by jelio dimitrov from the Noun Project" -msgstr "Sourire conçu par jelio dimitrov pour le Noun Project" +#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +msgid "New here?" +msgstr "Nouveau venu ?" -#. L10n: The will have a version number, i.e. 2.0.6, interpolated into it. -#: templates/storylistview/modals/appupdatemodal.html:10 +#: src/nw/patches/welcome-view/replacement-template.html msgid "" -"A new version of Twine, , has been released." +"<strong>If you've never used Twine before,</strong> then " +"welcome! The <a href=\\\"http://twinery.org/2guide\\\" target=\\\"_blank\\" +"\">Twine 2 Guide</a> and the official wiki in general, are a great " +"place to learn. Keep in mind that some articles on the wiki at large were " +"written for Twine 1, which is a little bit different than this version. But " +"most of the concepts are the same." msgstr "" -"Une nouvelle version de Twine, , vient de " -"sortir." - -#. L10n: A polite rejection of a request, in the sense that the answer may change in the future. -#: templates/storylistview/modals/appupdatemodal.html:18 -msgid "Not Right Now" -msgstr "Pas En Ce Moment" - -#: templates/storylistview/modals/appupdatemodal.html:21 -msgid "Download" -msgstr "Télécharger" - -#: templates/storylistview/modals/donatemodal.html:6 +"<strong>Si vous n'avez jamais utilisé Twine auparavant,</strong> " +"bienvenue à vous ! Le href=\\\"http://twinery.org/2guide\\\" target=\\" +"\"_blank\\\">Guide de Twine 2</a>, et le wiki officiel en général, " +"sont de bons endroits pour apprendre. Gardez à l'esprit le fait que certains " +"articles du wiki ont été écrits pour Twine 1, qui est un peu différent de " +"cette version. Cependant, la plupart des concepts restent les mêmes." + +#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html msgid "" -"If you love Twine as much as I do, please consider helping it grow with a " -"donation. Twine is as an open source project that will always be free to use " -"— and with your help, Twine will continue to thrive." +"<strong>If you have used Twine 1 before,</strong> the guide also " +"has details on what has changed in this version. Chief among them is a new " +"default story format, Harlowe. But if you find you prefer the Twine 1 " +"scripting syntax, try using SugarCube instead." msgstr "" -"Si vous aimez Twine autant que moi, réfléchissez à l'aider via une donation. " -"Twine est un projet open-source qui sera toujours gratuit à utiliser — " -"et avec votre aide, Twine continuera à prospérer." - -#: templates/storylistview/modals/donatemodal.html:10 -msgid "Chris Klimas, Twine creator" -msgstr "Chris Klimas, créateur de Twine" +"<strong>Si vous avez déjà utilisés Twine 1,</strong> ce guide " +"comprend aussi des détails sur ce qui a changé dans cette version. La " +"différence principale est le nouveau format d'histoire par défaut, Harlowe. " +"Si vous préférez utiliser la syntaxe de script de Twine 1, préférez plutôt " +"SugarCube." -#: templates/storylistview/modals/donatemodal.html:16 -msgid "Donate" -msgstr "Faire un don" - -#: templates/storylistview/modals/donatemodal.html:17 -msgid "No Thanks" -msgstr "Non Merci" - -#: templates/storylistview/modals/donatemodal.html:21 -msgid "This message will only be shown to you once.
" -msgstr "Ce message n'apparaîtra qu'une seule fois.
" - -#: templates/storylistview/modals/formatsmodal.html:9 -msgid "Story Formats" -msgstr "Formats d'Histoire" - -#: templates/storylistview/modals/formatsmodal.html:10 -msgid "Proofing Formats" -msgstr "Formats de Correction" +#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +msgid "OK" +msgstr "OK" -#: templates/storylistview/modals/formatsmodal.html:11 -msgid "Add a New Format" -msgstr "Ajouter un Nouveau Format" +#: src/nw/patches/welcome-view/replacement-template.html +msgid "Your work is automatically saved." +msgstr "Votre travail est sauvegardé automatiquement." -#: templates/storylistview/modals/formatsmodal.html:20 +#: src/nw/patches/welcome-view/replacement-template.html msgid "" -"Story formats control the appearance and behavior of stories during play." +"There's now a folder named Twine in your Documents folder. Inside that is a " +"Stories folder, where all your work will be saved. Twine saves as you work, " +"so you don't have to worry about remembering to save it yourself. You can " +"always open the folder your stories are saved to by using the <b>Show " +"Library</b> item in the <b>Twine</b> menu." msgstr "" -"Les formats d'histoire contrôlent l'apparence et le comportement des " -"histoires durant la lecture." - -#: templates/storylistview/modals/formatsmodal.html:30 +"Il y a maintenant un dossier appellé Twine dans votre dossier Documents. Il " +"contient un dossier Stories, où votre travail sera sauvegardé. Twine " +"sauvegarde au fur et à mesure de votre travail, pour que vous n'ayez pas à " +"vous en rappeler vous-même. Vous pouvez ouvrir le document où vos histoires " +"sont sauvegardées en utilisant le choix <b>Montrer la bibliothèque</" +"b> dans le menu <b>Twine</b>." + +#: src/nw/patches/welcome-view/replacement-template.html msgid "" -"Proofing formats create a versions of stories tailored for editing and " -"proofreading." -msgstr "" -"Les formats de correction créent une version des histoires dédiée à " -"l'édition et à la correction." - -#. L10n: Address in the sense of a URL. -#: templates/storylistview/modals/formatsmodal.html:42 -msgid "To add a story format, enter its address below." -msgstr "Pour ajouter un format d'histoire, entrez son adresse web ci-dessous." - -#: templates/storylistview/modals/formatsmodal.html:50 -#: templates/storylistview/storylistview.html:26 -msgid "Add" -msgstr "Ajouter" - -#: templates/storylistview/storyitemview.html:24 -msgid "Play Story" -msgstr "Lancer l'Histoire" - -#: templates/storylistview/storyitemview.html:28 -msgid "Test Story" -msgstr "Tester l'Histoire" - -#: templates/storylistview/storyitemview.html:40 -msgid "Duplicate Story" -msgstr "Dupliquer l'Histoire" - -#: templates/storylistview/storyitemview.html:46 -msgid "Delete Story" -msgstr "Supprimer l'Histoire" - -#: templates/storylistview/storylistview.html:5 -msgid "Twine" -msgstr "Twine" - -#: templates/storylistview/storylistview.html:9 -msgid "Create a brand-new story" -msgstr "Créer une histoire toute fraîche" - -#: templates/storylistview/storylistview.html:10 -msgid "Story" -msgstr "Histoire" - -#: templates/storylistview/storylistview.html:17 -msgid "What should your story be named?
(You can change this later.)" +"Because Twine is always saving your work, the files in your story library " +"will be locked from editing while Twine is open." msgstr "" -"Quel nom voulez-vous utiliser pour votre histoire ?
(Vous pourrez le " -"changer après.)" - -#: templates/storylistview/storylistview.html:34 -msgid "Import a published story or Twine archive" -msgstr "Importer une histoire publiée ou une archive Twine" +"Vu que Twine est toujours en train de sauvegarder votre travail, les " +"fichiers dans votre bibliothèque d'histoires seront verrouillés tant que " +"Twine est ouvert." -#: templates/storylistview/storylistview.html:35 -msgid "Import From File" -msgstr "Importer depuis un Fichier" +#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +msgid "That's it!" +msgstr "C'est tout !" -#: templates/storylistview/storylistview.html:42 -msgid "Import this file:" -msgstr "Importer ce fichier :" +#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +msgid "Thanks for reading, and have fun with Twine." +msgstr "Merci d'avoir lu, et amusez-vous bien avec Twine." -#: templates/storylistview/storylistview.html:59 -msgid "Importing..." -msgstr "Import en cours..." +#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +msgid "Go to the Story List" +msgstr "Aller à la Liste des Histoires" -#: templates/storylistview/storylistview.html:67 -msgid "Save all stories to a Twine archive file" -msgstr "Sauvegarder toutes les histoires dans un fichier d'archive Twine" +#: src/story-edit-view/story-toolbar/index.html +msgid "Test" +msgstr "Test" -#: templates/storylistview/storylistview.html:68 -msgid "Archive" -msgstr "Archive" +#: src/story-edit-view/story-toolbar/index.html +msgid "Play" +msgstr "Lancer" -#: templates/storylistview/storylistview.html:73 -msgid "Work with story and proofing formats" -msgstr "Utiliser les formats d'histoire et de correction" +#: src/story-edit-view/story-toolbar/index.html +msgid "Passage" +msgstr "Passage" -#: templates/storylistview/storylistview.html:74 -msgid "Formats" -msgstr "Formats" +#: src/story-edit-view/story-toolbar/story-menu/index.html +msgid "Edit Story JavaScript" +msgstr "Modifier le JavaScript de l'Histoire" -#: templates/storylistview/storylistview.html:79 -msgid "Change the language Twine uses" -msgstr "Changer la langue utilisée par Twine" +#: src/story-edit-view/story-toolbar/story-menu/index.html +msgid "Edit Story Stylesheet" +msgstr "Modifier la Feuille de Style de l'Histoire" -#: templates/storylistview/storylistview.html:80 -msgid "Language" -msgstr "Langue" +#: src/story-edit-view/story-toolbar/story-menu/index.html +msgid "Change Story Format" +msgstr "Modifier le Format de l'Histoire" -#: templates/storylistview/storylistview.html:85 -msgid "Browse online help" -msgstr "Parcourir l'aide en ligne" +#: src/story-edit-view/story-toolbar/story-menu/index.html +#: src/story-list-view/story-item/item-menu/index.html +msgid "Rename Story" +msgstr "Renommer l'Histoire" -#: templates/storylistview/storylistview.html:86 -msgid "Help" -msgstr "Aide" +#: src/story-edit-view/story-toolbar/story-menu/index.html +msgid "Snap to Grid" +msgstr "Coller à la Grille" -#: templates/storylistview/storylistview.html:101 -msgid "version" -msgstr "version" +#: src/story-edit-view/story-toolbar/story-menu/index.html +msgid "View Proofing Copy" +msgstr "Voir Épreuve de Correction" -#: templates/storylistview/storylistview.html:103 -msgid "Report a bug" -msgstr "Signaler un bug" +#: src/story-edit-view/story-toolbar/story-menu/index.html +#: src/story-list-view/story-item/item-menu/index.html +msgid "Publish to File" +msgstr "Publier vers un Fichier" -#: templates/storylistview/storylistview.html:111 -msgid "Stories" -msgstr "Histoires" +#: src/story-list-view/index.html +msgid "Drop a story file to import" +msgstr "Déposer un fichier d'histoire pour l'importer" -#: templates/storylistview/storylistview.html:114 +#: src/story-list-view/index.html msgid "Sort By" msgstr "Trier Par" -#: templates/storylistview/storylistview.html:116 -msgid "Last changed date" -msgstr "Date de dernière modification" - -#: templates/storylistview/storylistview.html:117 +#: src/story-list-view/index.html msgid "Edit Date" msgstr "Date d'édition" -#: templates/storylistview/storylistview.html:120 -msgid "Story name" -msgstr "Nom de l'histoire" - -#: templates/storylistview/storylistview.html:121 +#: src/story-list-view/index.html msgid "Name" msgstr "Nom" -#: templates/storylistview/storylistview.html:128 +#: src/story-list-view/index.html msgid "" "There are no stories saved in Twine right now. To get started, you can " "either create a new story or import an existing one from a file." @@ -591,77 +443,76 @@ msgstr "" "commencer, vous pouvez soit créer une nouvelle histoire soit en importer une " "depuis un fichier." -#: templates/welcomeview.html:6 -msgid "Hi!" -msgstr "Salut !" +#: src/story-list-view/list-toolbar/index.html src/nw/directories.js:69 +#: src/nw/menus.js:17 src/nw/menus.js:39 +msgid "Twine" +msgstr "Twine" -#: templates/welcomeview.html:10 -msgid "" -"Twine is an open-source tool for telling interactive, nonlinear stories. " -"There are a few things you should know before you get started." -msgstr "" -"Twine est un outil open-source pour raconter des histoires interactives et " -"non-linéaires. Il y a quelques détails que vous devriez connaître avant de " -"vous lancer." +#: src/story-list-view/list-toolbar/index.html +msgid "Story" +msgstr "Histoire" -#: templates/welcomeview.html:14 -msgid "Tell Me More" -msgstr "En Savoir Plus" +#: src/story-list-view/list-toolbar/index.html +msgid "Archive" +msgstr "Archive" -#: templates/welcomeview.html:15 -msgid "Skip" -msgstr "Passer" +#: src/story-list-view/list-toolbar/index.html +msgid "Formats" +msgstr "Formats" -#: templates/welcomeview.html:23 -msgid "New here?" -msgstr "Nouveau venu ?" +#: src/story-list-view/list-toolbar/index.html +msgid "Language" +msgstr "Langue" -#: templates/welcomeview.html:27 -msgid "" -"If you've never used Twine before, then welcome! The Twine 2 Guide " -"and the official wiki in general, are a great place to learn. Keep in mind " -"that some articles on the wiki at large were written for Twine 1, which is a " -"little bit different than this version. But most of the concepts are the " -"same." -msgstr "" -"Si vous n'avez encore jamais utilisé Twine, alors " -"bienvenue ! Le Guide de Twine 2, et le wiki officiel en général, sont de très bons " -"endroits pour apprendre. N'oubliez pas que certains articles du wiki ont été " -"écrits pour Twine 1, qui est un petit peu différent de cette version. La " -"plupart des concepts sont cependant les mêmes." - -#: templates/welcomeview.html:31 -msgid "" -"You can also get help over at the Twine forum, too." -msgstr "" -"Vous pouvez aussi obtenir de l'aide sur le forum de Twine." +#: src/story-list-view/list-toolbar/index.html +msgid "Help" +msgstr "Aide" -#: templates/welcomeview.html:35 -msgid "" -"If you have used Twine 1 before, the guide also has details " -"on what has changed in this version. Chief among them is a new default story " -"format, Harlowe. But if you find you prefer the Twine 1 scripting syntax, " -"try using SugarCube instead." -msgstr "" -"Si vous avez déjà utilisé Twine 1, ce guide comporte des détails " -"sur ce qui a changé dans cette version. Le principal est un nouveau format " -"d'histoire, Harlowe. Si vous préférez utiliser la syntaxe de script de Twine " -"1, essayez d'utiliser SugarCube à la place." +#: src/story-list-view/list-toolbar/index.html +msgid "version" +msgstr "version" -#: templates/welcomeview.html:39 templates/welcomeview.html:63 -#: templates/welcomeviewnw.html:23 -msgid "OK" -msgstr "OK" +#: src/story-list-view/list-toolbar/index.html +msgid "Report a bug" +msgstr "Signaler un bug" + +#: src/story-list-view/story-item/item-menu/index.html +msgid "Play Story" +msgstr "Lancer l'Histoire" -#: templates/welcomeview.html:47 +#: src/story-list-view/story-item/item-menu/index.html +msgid "Test Story" +msgstr "Tester l'Histoire" + +#: src/story-list-view/story-item/item-menu/index.html +msgid "Duplicate Story" +msgstr "Dupliquer l'Histoire" + +#: src/story-list-view/story-item/item-menu/index.html +msgid "Delete Story" +msgstr "Supprimer l'Histoire" + +#: src/welcome/index.html +msgid "" +"<strong>If you've never used Twine before,</strong> then " +"welcome! The <a href=\\\"http://twinery.org/2guide\\\" target=\\\"_blank\\" +"\">Twine 2 Guide</a> and the official wiki in general, are a great " +"place to learn. Keep in mind that some articles on the wiki at larger were " +"written for Twine 1, which is a little bit different than this version. But " +"most of the concepts are the same." +msgstr "" +"<strong>Si vous n'avez jamais utilisé Twine auparavant,</strong> " +"bienvenue à vous ! Le href=\\\"http://twinery.org/2guide\\\" target=\\" +"\"_blank\\\">Guide de Twine 2</a>, et le wiki officiel en général, " +"sont de bons endroits pour apprendre. Gardez à l'esprit le fait que certains " +"articles du wiki ont été écrits pour Twine 1, qui est un peu différent de " +"cette version. Cependant, la plupart des concepts restent les mêmes." + +#: src/welcome/index.html msgid "Your work is saved only in your browser." msgstr "Votre travail est sauvegardé uniquement dans votre navigateur." -#: templates/welcomeview.html:51 +#: src/welcome/index.html msgid "" "That means you don't need to create an account to use Twine 2, and " "everything you create isn't stored on a server somewhere else — it " @@ -671,497 +522,740 @@ msgstr "" "Twine 2, et que tout ce que vous créez n'est pas gardé dans un serveur " "quelque part, mais reste bien au chaud dans votre navigateur." -#: templates/welcomeview.html:55 +#: src/welcome/index.html msgid "" -"Two very important things to remember, though. Since your work is " -"saved only in your browser, if you clear its saved data, then you'll lose " -"your work! Not good. Remember to use that  Archive button often. You can also publish " -"individual stories to files using the menu on " -"each story in the story list. Both archive and story files can always be re-" -"imported into Twine." +"Two <b>very important</b> things to remember, though. Since your " +"work is saved only in your browser, if you clear its saved data, then you'll " +"lose your work! Not good. Remember to use that <i class=\\\"fa fa-" +"briefcase\\\"></i> <strong>Archive</strong> button " +"often. You can also publish individual stories to files using the <i " +"class=\\\"fa fa-cog\\\"></i> menu on each story in the story list. " +"Both archive and story files can always be re-imported into Twine." msgstr "" -"Deux choses très importantes à noter, cela dit. Étant donné que votre " -"travail est sauvegardé uniquement dans votre navigateur, si vous effacez ses " -"données, vous perdrez votre travail ! Pas glop. N'oubliez pas d'utiliser le " -"bouton  Archive " -"régulièrement. Vous pouvez aussi publier des histoires une par une en " -"utilisant le menu dans chaque histoire de la " -"liste. L'archive et les fichiers d'histoire peuvent être importées de " -"nouveau dans Twine." - -#: templates/welcomeview.html:59 +"Deux choses <b>très importantes</b> à retenir, cependant. Comme " +"votre travail est sauvegardé uniquement dans votre navigateur, si vous " +"supprimez les données sauvegardées, vous perdrez votre travail ! Pas glop. " +"Pensez à utiliser le bouton <i class=\\\"fa fa-briefcase\\\"></i>" +" <strong>Archive</strong> assez souvent. Vous pouvez aussi " +"publier des histoires individuelles en utilisant le menu <i class=\\\"fa " +"fa-cog\\\"></i> sur chaque histoire de la liste d'histoires. Les " +"archives et les fichiers d'histoire peuvent être ré-importés dans Twine." + +#: src/welcome/index.html msgid "" -"Secondly, anyone who can use this browser can see and make changes to " -"your work. So if you've got a nosy kid brother, look into setting up a " -"separate profile for yourself." +"Secondly, <b>anyone who can use this browser can see and make changes " +"to your work</b>. So if you've got a nosy kid brother, look into " +"setting up a separate profile for yourself." msgstr "" -"De plus, n'importe qui qui utilise ce navigateur peut voir et changer " -"votre travail. Si vous avez un petit frère fouineur, pensez à vous créer " -"un profil séparé juste pour vous." - -#: templates/welcomeview.html:71 -msgid "That's it!" -msgstr "C'est tout !" - -#: templates/welcomeview.html:75 -msgid "Thanks for reading, and have fun with Twine." -msgstr "Merci d'avoir lu, et amusez-vous bien avec Twine." - -#: templates/welcomeview.html:79 -msgid "Go to the Story List" -msgstr "Aller à la Liste des Histoires" +"De plus, <b>n'importe qui ayant accès à ce navigateur peut voir et " +"changer votre travail</b>. Si vous avez un petit frère fouineur, " +"essayez de créer un profil séparé pour vous-même." -#: templates/welcomeviewnw.html:7 -msgid "Your work is automatically saved." -msgstr "Votre travail est sauvegardé automatiquement." +#: src/data/actions.js:262 +msgid "a story format named “%s” already exists" +msgstr "un format d'histoire nommé “%s” existe déjà" -#: templates/welcomeviewnw.html:11 -msgid "" -"There's now a folder named Twine in your Documents folder. Inside that is a " -"Stories folder, where all your work will be saved. Twine saves as you work, " -"so you don't have to worry about remembering to save it yourself. You can " -"always open the folder your stories are saved to by using the Show " -"Library item in the Twine menu." -msgstr "" -"Il y a maintenant un dossier nommé Twine dans votre dossier Documents. A " -"l'intérieur vous trouverez un dossier Histoires, où tout votre travail sera " -"sauvegardé. Twine sauvegarde au cours de votre travail, pour que vous n'ayez " -"pas à penser à le sauver vous-même. Vous pouvez toujours ouvrir le dossier " -"où vos histoires sont sauvegardées en utilisant le choix Montrer la " -"Bibliothèque dans le menu Twine" - -#: templates/welcomeviewnw.html:15 -msgid "" -"Because Twine is always saving your work, the files in your story library " -"will be locked from editing while Twine is open." -msgstr "" -"Vu que Twine est toujours en train de sauvegarder votre travail, les " -"fichiers dans votre bibliothèque d'histoires seront verrouillés tant que " -"Twine est ouvert." +#: src/data/publish.js:75 +msgid "There is no starting point set for this story." +msgstr "Il n'y a pas de point de départ défini pour cette histoire." -#: templates/welcomeviewnw.html:19 -msgid "" -"If you'd like to open a Twine story file you received from someone else, you " -"can import it into your library using the " -"Import From File link in the story list." +#: src/data/publish.js:81 +msgid "The passage set as starting point for this story does not exist." msgstr "" -"Si vous voulez ouvrir une histoire Twine que vous avez reçu de quelqu'un " -"d'autre, vous pouvez l'importer dans votre bibliothèque en utilisant Importer depuis un Fichier dans la " -"liste des histoires." - -#. L10n: %1$s is a filename; %2$s is the error message. -#: js/app.js:226 -msgid "“%1$s” could not be saved (%2$s)." -msgstr "“%1$s” n'a pas pu être sauvegardé (%2$s)." - -#. L10n: %s is the error message. -#: js/app.js:283 -#, javascript-format -msgid "An error occurred while publishing your story. (%s)" -msgstr "Une erreur est survenue lors de la publication de votre histoire. (%s)" +"Le passage défini comme point de départ pour cette histoire n'existe pas." -#: js/app.js:314 -msgid "Twine Archive.html" -msgstr "Twine Archive.html" +#: src/data/story-format.js:7 +msgid "Untitled Story Format" +msgstr "Format d'Histoire sans Titre." -#. L10n: An internal error. %s is a bad sort criterion. -#: js/collections/storycollection.js:35 -#, javascript-format -msgid "don't know how to sort stories by %s" -msgstr "impossible de trier les histoires par %s" +#: src/data/story.js:190 +msgid "Untitled Story" +msgstr "Histoire sans Titre." -#: js/models/passage.js:19 +#: src/data/story.js:207 src/story-edit-view/index.js:195 msgid "Untitled Passage" msgstr "Passage sans titre" -#: js/models/passage.js:21 +#: src/data/story.js:210 msgid "Tap this passage, then the pencil icon to edit it." msgstr "Cliquez sur ce passage, puis sur l'icône du crayon pour le modifier." -#: js/models/passage.js:22 +#: src/data/story.js:211 msgid "Double-click this passage to edit it." msgstr "Double-cliquez sur ce passage pour le modifier." -#: js/models/passage.js:78 -msgid "You must give this passage a name." -msgstr "Vous devez donner un nom à ce passage." - -#: js/models/passage.js:85 -#, javascript-format +#. L10n: The will have a version number, i.e. 2.0.6, interpolated into it. +#: src/dialogs/app-update/index.js:40 msgid "" -"There is already a passage named \"%s.\" Please give this one a unique name." -msgstr "" -"Il y a déjà un passage nommé \"%s\". Veuillez donner à ce passage un nom " -"unique." - -#: js/models/story.js:16 -msgid "Untitled Story" -msgstr "Histoire sans Titre." - -#: js/models/story.js:112 -msgid "There is no starting point set for this story." -msgstr "Il n'y a pas de point de départ défini pour cette histoire." - -#: js/models/story.js:115 -msgid "The passage set as starting point for this story does not exist." +"A new version of Twine, , has been released." msgstr "" -"Le passage défini comme point de départ pour cette histoire n'existe pas." - -#: js/models/storyformat.js:38 -msgid "Untitled Story Format" -msgstr "Format d'Histoire sans Titre." - -#: js/nwui.js:81 -msgid "Toggle Fullscreen" -msgstr "Passer en Mode Plein Écran." +"Une nouvelle version de Twine, , vient de " +"sortir." -#: js/nwui.js:100 -msgid "Quit" -msgstr "Quitter" +#: src/dialogs/app-update/index.js:44 +msgid "Download" +msgstr "Télécharger" -#: js/nwui.js:115 -msgid "Edit" -msgstr "Modifier" +#. L10n: A polite rejection of a request, in the sense that the answer may change in the future. +#: src/dialogs/app-update/index.js:51 +msgid "Not Right Now" +msgstr "Pas En Ce Moment" -#: js/nwui.js:120 -msgid "Undo" -msgstr "Annuler" +#. L10n: %1$s is the name of the story format; %2$s is +#: src/dialogs/formats/index.js:60 +msgid "The story format “%1$s” could not be loaded (%2$s)." +msgstr "Le format d'histoire “%1$s” n'a pas pu être chargé (%2$s)." -#: js/nwui.js:132 -msgid "Cut" -msgstr "Couper" +#: src/dialogs/formats/index.js:102 +msgid "The story format at %1$s could not be added (%2$s)." +msgstr "Le format d'histoire %1$s n'a pas pu être rajouté (%2$s)." -#: js/nwui.js:142 -msgid "Copy" -msgstr "Copier" +#. L10n: %s is the name of an author. +#: src/dialogs/formats/item.js:30 +msgid "by %s" +msgstr "par %s" -#: js/nwui.js:152 -msgid "Paste" -msgstr "Coller" +#: src/dialogs/formats/item.js:51 +msgid "Are you sure?" +msgstr "Êtes-vous sûr ?" -#: js/nwui.js:162 js/views/storyeditview/passageitemview.js:171 -#: js/views/storyeditview/storyeditview.js:126 -msgid "Delete" +#: src/dialogs/formats/item.js:53 +msgid "Remove" msgstr "Supprimer" -#: js/nwui.js:182 -msgid "Show Library" -msgstr "Montrer la Bibliothèque" - -#. L10n: This is the folder name on OS X, Linux, and recent versions of -#. Windows that a user's documents are stored in, relative to the -#. user's home directory. If you need to use a space in this name, -#. then it should have two backslashes (\\) in front of it. -#. Regardless, this must have a single forward slash (/) as its first -#. character. -#: js/nwui.js:239 -msgid "/Documents" -msgstr "/Documents" - -#. L10n: This is the folder name on Windows XP that a user's -#. documents are stored in, relative to the user's home directory. -#. This is used if a folder with the name given by the translation -#. key '/Documents' does not exist. If you need to use a space in -#. this name, then it should have two backslashes (\\) in front of it. -#. Regardless, this must have a single forward slash (/) as its first character. -#: js/nwui.js:249 js/nwui.js:250 -msgid "/My\\ Documents" -msgstr "/Mes\\ Documents" - -#. L10n: '/Twine' is a suitable name for Twine-related files to exist -#. under on the user's hard drive. '/Stories' is a suitable name for -#. story files specifically. If you need to use a space in this name, -#. then it should have two backslashes in front of it. Regardless, -#. this must have a single forward slash (/) as its first character. -#: js/nwui.js:260 js/nwui.js:264 -msgid "/Twine" -msgstr "/Twine" - -#: js/nwui.js:260 -msgid "/Stories" -msgstr "/Histoires" - -#. L10n: %s is the error message. -#: js/nwui.js:430 -#, javascript-format -msgid "An error occurred while saving your story (%s)." -msgstr "Une erreur est survenue pendant la sauvegarde de votre histoire (%s)." - -#. L10n: %s is the error message. -#: js/nwui.js:457 -#, javascript-format -msgid "An error occurred while deleting your story (%s)." -msgstr "Une erreur est survenue pendant la suppression de votre histoire (%s)." - -#. L10n: Locking in the sense of preventing changes to a file. %s is the error message. -#: js/nwui.js:527 -#, javascript-format -msgid "An error occurred while locking your library (%s)." -msgstr "" -"Une erreur est survenue pendant le verrouillage de votre bibliothèque (%s)." - -#. L10n: Unlocking in the sense of allowing changes to a file. %s is the error message. -#: js/nwui.js:556 -#, javascript-format -msgid "An error occurred while unlocking your library (%s)." -msgstr "" -"Une erreur est survenue pendant le déverrouillage de votre bibliothèque (%s)." - -#. L10n: An internal error message related to UI components. -#: js/ui.js:166 -#, javascript-format -msgid "Don't know how to do bubble action %s" -msgstr "Impossible d'effectuer l'action de bulle %s" - -#. L10n: An internal error message related to UI components. -#: js/ui.js:219 -#, javascript-format -msgid "Don't know how to do collapse action %s" -msgstr "Impossible de replier %s" - -#. L10n: An internal error when changing locale. -#: js/views/localeview.js:27 -#, javascript-format -msgid "Can't set locale to nonstring: %s" -msgstr "Impossible de changer la locale vers : %s" - -#: js/views/storyeditview/editors/passageeditor.js:120 -#: js/views/storyeditview/storyeditview.js:563 -#, javascript-format -msgid "Editing “%s”" -msgstr "Modification \"%s\"" - -#: js/views/storyeditview/editors/passageeditor.js:211 -msgid "Any changes to the passage you're editing haven't been saved yet. " -msgstr "" -"Les changements sur le passage que vous modifiez n'ont pas encore été " -"sauvegardés." +#: src/dialogs/story-import/index.js:56 +msgid "Don\\'t Replace Any Stories" +msgstr "Ne Remplacer Aucune Histoire" -#. L10n: Matched in the sense of matching a search criteria. %d is the number of passages. -#: js/views/storyeditview/modals/searchmodal.js:94 -#, javascript-format -msgid "%d passage matches." -msgid_plural "%d passages match." -msgstr[0] "%d passage correspondant." -msgstr[1] "%d passages correspondants." +#: src/dialogs/story-import/index.js:59 +msgid "Replace %d Story" +msgid_plural "Replace %d Stories" +msgstr[0] "Remplacer %d Histoire" +msgstr[1] "Remplacer %d Histoires" -#: js/views/storyeditview/modals/searchmodal.js:102 -msgid "No matching passages found." -msgstr "Pas de passages correspondants." - -#. L10n: replacement in the sense of text search and replace. %d is the number. -#: js/views/storyeditview/modals/searchmodal.js:183 -#, javascript-format -msgid "%d replacement was made in" -msgid_plural "%d replacements were made in" -msgstr[0] "%d remplacement effectué dans" -msgstr[1] "%d remplacements effectués dans" - -#. L10n: %d is a number of passages. -#: js/views/storyeditview/modals/searchmodal.js:187 -#, javascript-format -msgid "%d passage" -msgid_plural "%d passages" -msgstr[0] "%d passage" -msgstr[1] "%d passages" - -#. L10n: This is the formatting used to combine two pluralizations. -#. In English, %1$s equals "2 replacements were made in" and %2$s equals "5 passages." -#. This is a way to reshape the sentence as needed. -#: js/views/storyeditview/modals/searchmodal.js:192 -msgid "%1$s %2$s" -msgstr "%1$s %2$s" - -#. L10n: Character in the sense of individual letters in a word. -#. This does not actually show the count here, as it is used in a table. -#: js/views/storyeditview/modals/statsmodal.js:68 +#: src/dialogs/story-stats/index.js:37 msgid "Character" msgid_plural "Characters" msgstr[0] "Caractère" msgstr[1] "Caractères" -#. L10n: Word in the sense of individual words in a sentence. -#. This does not actually show the count here, as it is used in a table. -#: js/views/storyeditview/modals/statsmodal.js:72 +#: src/dialogs/story-stats/index.js:51 msgid "Word" msgid_plural "Words" msgstr[0] "Mot" msgstr[1] "Mots" -#. L10n: Links in the sense of hypertext links. -#. This does not actually show the count here, as it is used in a table. -#: js/views/storyeditview/modals/statsmodal.js:79 +#: src/dialogs/story-stats/index.js:85 msgid "Link" msgid_plural "Links" msgstr[0] "Lien" msgstr[1] "Liens" -#. L10n: Links in the sense of hypertext links. -#. This does not actually show the count here, as it is used in a table. -#: js/views/storyeditview/modals/statsmodal.js:83 +#: src/dialogs/story-stats/index.js:98 msgid "Broken Link" msgid_plural "Broken Links" msgstr[0] "Lien Brisé" msgstr[1] "Liens Brisés" -#. L10n: %1$s is the name of the story format, %2$s is the error message. -#: js/views/storyeditview/modals/storyformatmodal.js:96 -#: js/views/storylistview/modals/formatsmodal.js:74 -msgid "The story format “%1$s” could not be loaded (%2$s)." -msgstr "Le format d'histoire “%1$s” n'a pas pu être chargé (%2$s)." +#: src/editors/passage/index.js:37 +msgid "" +"Enter the body text of your passage here. To link to another passage, put " +"two square brackets around its name, [[like this]]." +msgstr "" +"Entrez le texte de votre passage ici. Pour ajouter un lien vers un autre " +"passage, entourez son nom de deux crochets, [[comme ça]]." -#: js/views/storyeditview/passageitemview.js:165 -#, javascript-format -msgid "Are you sure you want to delete “%s”? " -msgstr "Êtes-vous sûr de vouloir supprimer “%s” ?" +#: src/editors/passage/index.js:181 +msgid "Editing \\u201c%s\\u201d" +msgstr "Édition de \\u201c%s\\u201d" -#: js/views/storyeditview/passageitemview.js:169 -msgid "(Hold the Shift key when deleting to skip this message.)" -msgstr "" -"(Gardez la touche Maj appuyée lors de la suppression pour ne plus afficher " -"ce message.)" +#. L10n: %1$s is a filename; %2$s is the error message. +#: src/file/save.js:71 +msgid "“%1$s” could not be saved (%2$s)." +msgstr "“%1$s” n'a pas pu être sauvegardé (%2$s)." -#. L10n: An internal error related to handling user input. -#: js/views/storyeditview/passageitemview.js:461 -msgid "Don't see either mouse or touch coordinates on event" -msgstr "Impossible de déterminer les coordonnées de curseur pour l'évènement" - -#. L10n: An internal error related to user input. -#: js/views/storyeditview/passageitemview.js:523 -msgid "Couldn't find original touch ID in movement event" -msgstr "Impossible de trouver la touch ID pour l'évènement" - -#. L10n: %s is the error message. -#: js/views/storyeditview/storyeditview.js:43 -#: js/views/storyeditview/storyeditview.js:64 -#, javascript-format -msgid "A problem occurred while saving your changes (%s)." -msgstr "Un problème est survenu lors de la sauvegarde des modifications (%s)." - -#. L10n: This message is always shown with more than one passage. -#. %d is the number of passages. -#: js/views/storyeditview/storyeditview.js:122 -#, javascript-format -msgid "Are you sure you want to delete this passage?" -msgid_plural "" -"Are you sure you want to delete these %d passages? This cannot be undone." -msgstr[0] "Êtes-vous sûr de vouloir supprimer %d passage ?" -msgstr[1] "" -"Êtes-vous sûr de vouloir supprimer ces %d passages ? Cette action ne peut " -"être annulée." +#. L10n: This is the folder name on OS X, Linux, and recent versions of Windows that a user's documents are stored in, relative to the user's home directory. If you need to use a space in this name, then it should have two backslashes (\\) in front of it. Regardless, this must have a single forward slash (/) as its first character. +#: src/nw/directories.js:38 +msgid "/Documents" +msgstr "/Documents" -#: js/views/storyeditview/storyeditview.js:268 -msgid "This story does not have a starting point. " -msgstr "Cette histoire n'a pas de point de départ." +#: src/nw/directories.js:51 +msgid "My\\\\ Documents" +msgstr "Mes\\\\ Documents" -#: js/views/storyeditview/storyeditview.js:282 -msgid "" -"Refreshed the playable version of your story in the previously-opened tab or " -"window." -msgstr "" -"Version jouable de votre histoire mise à jour dans la fenêtre ou l'onglet " -"précédemment ouvert(e)." +#: src/nw/directories.js:70 +msgid "Stories" +msgstr "Histoires" -#: js/views/storyeditview/storyeditview.js:312 -#: js/views/storyeditview/storyeditview.js:352 -#: js/views/storylistview/storyitemview.js:110 -msgid "" -"This story does not have a starting point. Use the icon on a passage to set this." -msgstr "" -"Cette histoire n'a pas de point de départ. Utilisez l'icône sur un passage pour en sélectionner un." +#: src/nw/menus.js:27 +msgid "Toggle Fullscreen" +msgstr "Passer en Mode Plein Écran." -#: js/views/storyeditview/storyeditview.js:325 -msgid "" -"Refreshed the test version of your story in the previously-opened tab or " -"window." -msgstr "" -"Version de test de votre histoire mise à jour dans la fenêtre ou l'onglet " -"précédemment ouvert(e)." - -#. L10n: This refers to when a story was last saved by the user -#. %s will be replaced with a localized date and time -#: js/views/storyeditview/storyeditview.js:573 -#: js/views/storyeditview/toolbar.js:94 -#, javascript-format -msgid "Last saved at %s" -msgstr "Dernière sauvegarde à %s" - -#: js/views/storylistview/modals/formatsmodal.js:137 -msgid "The story format at %1$s could not be added (%2$s)." -msgstr "Le format d'histoire %1$s n'a pas pu être rajouté (%2$s)." +#: src/nw/menus.js:44 +msgid "Quit" +msgstr "Quitter" -#. L10n: An internal error related to story formats. -#: js/views/storylistview/modals/formatsmodal.js:246 -msgid "Don't know what kind of format to set as default" -msgstr "Impossible de déterminer quel format à utiliser par défaut." +#: src/nw/menus.js:61 +msgid "Edit" +msgstr "Modifier" -#: js/views/storylistview/storagequota.js:21 -#: js/views/storylistview/storagequota.js:44 -#: js/views/storylistview/storagequota.js:49 -#, javascript-format -msgid "%d%% space available" -msgstr "Place restante : %d%%" +#: src/nw/menus.js:66 +msgid "Undo" +msgstr "Annuler" -#: js/views/storylistview/storyitemview.js:80 -#: js/views/storylistview/storyitemview.js:94 -msgid "" -"This story does not have a starting point. Edit this story and use the icon on a passage to set this." -msgstr "" -"Cette histoire n'a pas de point de départ. Modifiez cette histoire et " -"utilisez l'icône sur un passage pour en " -"sélectionner un." +#: src/nw/menus.js:79 +msgid "Cut" +msgstr "Couper" + +#: src/nw/menus.js:88 +msgid "Copy" +msgstr "Copier" + +#: src/nw/menus.js:97 +msgid "Paste" +msgstr "Coller" + +#: src/nw/menus.js:106 src/story-edit-view/passage-item/index.js:275 +msgid "Delete" +msgstr "Supprimer" -#: js/views/storylistview/storyitemview.js:123 -#, javascript-format +#: src/nw/menus.js:118 +msgid "Show Library" +msgstr "Montrer la Bibliothèque" + +#: src/story-edit-view/passage-item/index.js:260 +#: src/story-list-view/story-item/item-menu/index.js:78 msgid "" "Are you sure you want to delete “%s”? This cannot be undone." msgstr "" "Êtes-vous sûr de vouloir supprimer “%s” ? Cette action ne peut " "être annulée." -#: js/views/storylistview/storyitemview.js:125 -msgid "Delete Forever" -msgstr "Supprimer pour Toujours" +#: src/story-edit-view/passage-item/index.js:267 +msgid "(Hold the Shift key when deleting to skip this message.)" +msgstr "" +"(Gardez la touche Maj appuyée lors de la suppression pour ne plus afficher " +"ce message.)" -#: js/views/storylistview/storyitemview.js:137 -#, javascript-format +#: src/story-edit-view/story-toolbar/story-menu/index.js:46 +#: src/story-list-view/story-item/item-menu/index.js:100 msgid "What should “%s” be renamed to?" msgstr "Quel doit être le nouveau nom de “%s” ?" -#: js/views/storylistview/storyitemview.js:138 +#: src/story-edit-view/story-toolbar/story-menu/index.js:51 +#: src/story-list-view/story-item/item-menu/index.js:105 msgid "Rename" msgstr "Renommer" -#: js/views/storylistview/storyitemview.js:155 +#: src/story-edit-view/story-toolbar/story-menu/index.js:55 +#: src/story-list-view/story-item/item-menu/index.js:109 +#: src/story-list-view/story-item/item-menu/index.js:128 +msgid "Please enter a name." +msgstr "Veuillez entrer un nom." + +#: src/story-list-view/index.js:79 +msgid "%d Story" +msgid_plural "%d Stories" +msgstr[0] "%d Histoire" +msgstr[1] "%d Histoires" + +#: src/story-list-view/list-toolbar/index.js:21 +msgid "What should your story be named?
(You can change this later.)" +msgstr "" +"Quel nom voulez-vous utiliser pour votre histoire ?
(Vous pourrez le " +"changer après.)" + +#: src/story-list-view/list-toolbar/index.js:30 +msgid "A story with this name already exists." +msgstr "Une histoire avec ce nom existe déjà." + +#: src/story-list-view/list-toolbar/index.js:60 +msgid "Twine Archive.html" +msgstr "Twine Archive.html" + +#: src/story-list-view/story-item/item-menu/index.js:84 +msgid "Delete Forever" +msgstr "Supprimer pour Toujours" + +#: src/story-list-view/story-item/item-menu/index.js:122 msgid "What should the duplicate be named?" msgstr "Quel doit être le nom de la copie ?" -#: js/views/storylistview/storyitemview.js:156 +#: src/story-list-view/story-item/item-menu/index.js:124 msgid "Duplicate" msgstr "Dupliquer" -#: js/views/storylistview/storyitemview.js:162 -#, javascript-format +#: src/story-list-view/story-item/item-menu/index.js:126 msgid "%s Copy" msgstr "Copie de %s" -#. L10n: %d is a number of stories. -#: js/views/storylistview/storylistview.js:251 -#, javascript-format -msgid "%d story was imported." -msgid_plural "%d stories were imported." -msgstr[0] "%d histoire a été importée." -msgstr[1] "%d histoires ont été importées." - -#. L10n: %d is a number of stories -#: js/views/storylistview/storylistview.js:341 -#, javascript-format -msgid "%d Story" -msgid_plural "%d Stories" -msgstr[0] "%d Histoire" -msgstr[1] "%d Histoires" +#: src/ui/quota-gauge/index.js:24 +msgid "%d%% space available" +msgstr "Place restante : %d%%" + +#~ msgid "" +#~ "This message will only be shown to you once.<br>If you'd like to " +#~ "donate to Twine development in the future, you can do so at <a href=" +#~ "\"http:\\/\\/twinery.org/donate\" target=\"_blank\">http://twinery.org/" +#~ "donate</a>." +#~ msgstr "" +#~ "Ce message apparaîtra une seule fois.<br>Si vous voulez faire un " +#~ "don pour le développement de Twine dans le futur, vous pouvez le faire à " +#~ "l'adresse <a href=\"http:\\/\\/twinery.org/donate\" target=\"_blank" +#~ "\">http://twinery.org/donate</a>." + +#~ msgid "Story Formats" +#~ msgstr "Formats d'Histoire" + +#~ msgid "Set this format as default for stories" +#~ msgstr "Choisir ce format comme format par défaut pour toutes les histoires" + +#~ msgid "Remove this format" +#~ msgstr "Supprimer ce format" + +#~ msgid "Expand all search results" +#~ msgstr "Déplier les résultats de recherche" + +#~ msgid "Collapse all search results" +#~ msgstr "Replier tous les résultats de recherche" + +#~ msgid "Replace in this passage" +#~ msgstr "Remplacer dans ce passage" + +#~ msgid "Passage Name" +#~ msgstr "Nom du Passage" + +#~ msgid "Tag name" +#~ msgstr "Nom de la balise" + +#~ msgid "" +#~ "<strong>If you've never used Twine before,</strong> then " +#~ "welcome! The <a href=\"http://twinery.org/2guide\" target=\"_blank" +#~ "\">Twine 2 Guide</a> and the official wiki in general, are a " +#~ "great place to learn. Keep in mind that some articles on the wiki at " +#~ "large were written for Twine 1, which is a little bit different than this " +#~ "version. But most of the concepts are the same." +#~ msgstr "" +#~ "<strong>Si vous n'avez jamais utilisé Twine auparavant,</" +#~ "strong> bienvenue ! Le <a href=\"http://twinery.org/2guide\" target=" +#~ "\"_blank\">Guide de Twine 2</a> et le wiki officiel en général " +#~ "sont de bons endroits pour apprendre. Gardez en tête que certains " +#~ "articles du wiki on été écrits pour Twine 1, qui est un peu différent de " +#~ "cette version. Cependant, la plupart des concepts restent les mêmes." + +#~ msgid "" +#~ "You can also get help over at the <a href=\"http://twinery.org/forum\" " +#~ "target=\"_blank\">Twine forum, too." +#~ msgstr "" +#~ "Vous pouvez aussi obtenir de l'aide dans le <a href=\"http://twinery." +#~ "org/forum\" target=\"_blank\">forum de Twine." + +#~ msgid "Test story starting here" +#~ msgstr "Début de l'histoire de test" + +#~ msgid "Go to the story list" +#~ msgstr "Aller à la liste des histoires" + +#~ msgid "Show only story structure" +#~ msgstr "Montrer uniquement la structure de l'histoire" + +#~ msgid "Show only passage titles" +#~ msgstr "Montrer uniquement le titre des passages" + +#~ msgid "Show passage titles and excerpts" +#~ msgstr "Montrer le titre des passages et les extraits" + +#~ msgid "Play this story in test mode" +#~ msgstr "Lancer cette histoire en mode test" + +#~ msgid "Play this story" +#~ msgstr "Lancer cette histoire" + +#~ msgid "Add a new passage" +#~ msgstr "Ajouter un nouveau passage" + +#~ msgid "Quick Find" +#~ msgstr "Recherche Rapide" + +#~ msgid "Find and replace across the entire story" +#~ msgstr "Chercher et remplacer dans toute l'histoire" + +#~ msgid "Last changed date" +#~ msgstr "Date de dernière modification" + +#~ msgid "Story name" +#~ msgstr "Nom de l'histoire" + +#~ msgid "Create a brand-new story" +#~ msgstr "Créer une histoire toute fraîche" + +#~ msgid "Import a published story or Twine archive" +#~ msgstr "Importer une histoire publiée ou une archive Twine" + +#~ msgid "Save all stories to a Twine archive file" +#~ msgstr "Sauvegarder toutes les histoires dans un fichier d'archive Twine" + +#~ msgid "Work with story and proofing formats" +#~ msgstr "Utiliser les formats d'histoire et de correction" + +#~ msgid "Change the language Twine uses" +#~ msgstr "Changer la langue utilisée par Twine" + +#~ msgid "Browse online help" +#~ msgstr "Parcourir l'aide en ligne" + +#~ msgid "Use light theme" +#~ msgstr "Utiliser le thème clair" + +#~ msgid "Use dark theme" +#~ msgstr "Utiliser le thème sombre" + +#~ msgid "" +#~ "<strong>If you've never used Twine before,</strong> then " +#~ "welcome! The <a href=\"http://twinery.org/2guide\" target=\"_blank" +#~ "\">Twine 2 Guide</a> and the official wiki in general, are a " +#~ "great place to learn. Keep in mind that some articles on the wiki at " +#~ "larger were written for Twine 1, which is a little bit different than " +#~ "this version. But most of the concepts are the same." +#~ msgstr "" +#~ "<strong>Si vous n'avez jamais utilisé Twine auparavant,</" +#~ "strong> bienvenue ! Le <a href=\"http://twinery.org/2guide\" target=" +#~ "\"_blank\">Guide de Twine 2</a> et le wiki officiel en général " +#~ "sont de bons endroits pour apprendre. Gardez en tête que certains " +#~ "articles du wiki on été écrits pour Twine 1, qui est un peu différent de " +#~ "cette version. Cependant, la plupart des concepts restent les mêmes." + +#~ msgid "" +#~ "Two <b>very important</b> things to remember, though. Since " +#~ "your work is saved only in your browser, if you clear its saved data, " +#~ "then you'll lose your work! Not good. Remember to use that <i class=" +#~ "\"fa fa-briefcase\"></i> <strong>Archive</" +#~ "strong> button often. You can also publish individual stories to files " +#~ "using the <i class=\"fa fa-cog\"></i> menu on each story in " +#~ "the story list. Both archive and story files can always be re-imported " +#~ "into Twine." +#~ msgstr "" +#~ "Deux choses <b>très importantes</b> à noter, cependant. Étant " +#~ "donné que votre travail est sauvé uniquement dans votre navigateur, si " +#~ "vous effacez les données de navigation, vous perdez votre travail ! Pas " +#~ "terrible. Pensez à utiliser souvent le bouton <i class=\"fa fa-" +#~ "briefcase\"></i> <strong>Archive</strong>. Vous " +#~ "pouvez aussi exporter des histoires individuelles vers des fichiers en " +#~ "utilisant le <i class=\"fa fa-cog\"></i>menu dans chaque " +#~ "histoire de la liste d'histoire. L'archive et les fichiers d'histoire " +#~ "peuvent toujours être ré-importés dans Twine." + +#~ msgid "Don't Replace Any Stories" +#~ msgstr "Ne Remplacer Aucune Histoire" + +#~ msgid "My\\ Documents" +#~ msgstr "Mes\\ Documents" + +#~ msgid "Delete “%s”" +#~ msgstr "Supprimer “%s”" + +#~ msgid "Edit “%s”" +#~ msgstr "Modifier “%s”" + +#~ msgid "Set “%s” as starting point" +#~ msgstr "Choisir “%s” comme point de départ" + +#~ msgid "What should this story's name be?" +#~ msgstr "Quel nom voulez-vous donnez à cette histoire ?" + +#~ msgid "Save" +#~ msgstr "Sauvegarder" + +#~ msgid "This story was last changed at %s" +#~ msgstr "Cette histoire à été modifiée pour la dernière fois à %s" + +#~ msgid "" +#~ "The IFID for this story is %s. What's an IFID?)" +#~ msgstr "" +#~ "L'IFID pour cette histoire est %s. Qu'est-ce qu'un " +#~ "IFID?)" + +#~ msgid "License: %s" +#~ msgstr "Licence : %s" + +#~ msgid "Build" +#~ msgstr "Version" + +#~ msgid "" +#~ "Twine 2.0 is released under the GPL v3 license, but any work created with it may be " +#~ "released under any terms, including commercial ones. Source Code Repository" +#~ msgstr "" +#~ "Twine 2.0 est distribué sous la licence GPL v3, mais toute œuvre créée via Twine " +#~ "peut être distribuée sous n'importe quels termes, y compris commerciaux. " +#~ "Dépôt du code " +#~ "source" + +#~ msgid "Code" +#~ msgstr "Code" + +#~ msgid "" +#~ "Source Sans Pro and Source Code Pro were designed by Paul D. Hunt under " +#~ "the guidance of Robert Slimbach for Adobe
Nunito was designed by Vernon Adams" +#~ msgstr "" +#~ "Source Sans Pro et Source Code Pro ont été créées par Paul D. Hunt avec " +#~ "l'aide de Robert Slimbach pour Adobe
Nunito a été créée par
Vernon Adams" + +#~ msgid "" +#~ "If you love Twine as much as I do, please consider helping it grow with a " +#~ "donation. Twine is as an open source project that will always be free to " +#~ "use — and with your help, Twine will continue to thrive." +#~ msgstr "" +#~ "Si vous aimez Twine autant que moi, réfléchissez à l'aider via une " +#~ "donation. Twine est un projet open-source qui sera toujours gratuit à " +#~ "utiliser — et avec votre aide, Twine continuera à prospérer." + +#~ msgid "This message will only be shown to you once.
" +#~ msgstr "Ce message n'apparaîtra qu'une seule fois.
" + +#~ msgid "Proofing Formats" +#~ msgstr "Formats de Correction" + +#~ msgid "Add a New Format" +#~ msgstr "Ajouter un Nouveau Format" + +#~ msgid "To add a story format, enter its address below." +#~ msgstr "" +#~ "Pour ajouter un format d'histoire, entrez son adresse web ci-dessous." + +#~ msgid "Importing..." +#~ msgstr "Import en cours..." + +#~ msgid "" +#~ "If you've never used Twine before, then welcome! The Twine 2 Guide and the official wiki in general, are a great place to learn. Keep in " +#~ "mind that some articles on the wiki at large were written for Twine 1, " +#~ "which is a little bit different than this version. But most of the " +#~ "concepts are the same." +#~ msgstr "" +#~ "Si vous n'avez encore jamais utilisé Twine, alors " +#~ "bienvenue ! Le Guide de Twine 2, et le wiki officiel en général, sont de très " +#~ "bons endroits pour apprendre. N'oubliez pas que certains articles du wiki " +#~ "ont été écrits pour Twine 1, qui est un petit peu différent de cette " +#~ "version. La plupart des concepts sont cependant les mêmes." + +#~ msgid "" +#~ "You can also get help over at the Twine forum, too." +#~ msgstr "" +#~ "Vous pouvez aussi obtenir de l'aide sur le forum de Twine." + +#~ msgid "" +#~ "If you have used Twine 1 before, the guide also has " +#~ "details on what has changed in this version. Chief among them is a new " +#~ "default story format, Harlowe. But if you find you prefer the Twine 1 " +#~ "scripting syntax, try using SugarCube instead." +#~ msgstr "" +#~ "Si vous avez déjà utilisé Twine 1, ce guide comporte des " +#~ "détails sur ce qui a changé dans cette version. Le principal est un " +#~ "nouveau format d'histoire, Harlowe. Si vous préférez utiliser la syntaxe " +#~ "de script de Twine 1, essayez d'utiliser SugarCube à la place." + +#~ msgid "" +#~ "Two very important things to remember, though. Since your work is " +#~ "saved only in your browser, if you clear its saved data, then you'll lose " +#~ "your work! Not good. Remember to use that  Archive button often. You can also publish " +#~ "individual stories to files using the menu on " +#~ "each story in the story list. Both archive and story files can always be " +#~ "re-imported into Twine." +#~ msgstr "" +#~ "Deux choses très importantes à noter, cela dit. Étant donné que " +#~ "votre travail est sauvegardé uniquement dans votre navigateur, si vous " +#~ "effacez ses données, vous perdrez votre travail ! Pas glop. N'oubliez pas " +#~ "d'utiliser le bouton  " +#~ "Archive régulièrement. Vous pouvez aussi publier des " +#~ "histoires une par une en utilisant le menu " +#~ "dans chaque histoire de la liste. L'archive et les fichiers d'histoire " +#~ "peuvent être importées de nouveau dans Twine." + +#~ msgid "" +#~ "Secondly, anyone who can use this browser can see and make changes to " +#~ "your work. So if you've got a nosy kid brother, look into setting up " +#~ "a separate profile for yourself." +#~ msgstr "" +#~ "De plus, n'importe qui qui utilise ce navigateur peut voir et changer " +#~ "votre travail. Si vous avez un petit frère fouineur, pensez à vous " +#~ "créer un profil séparé juste pour vous." + +#~ msgid "" +#~ "There's now a folder named Twine in your Documents folder. Inside that is " +#~ "a Stories folder, where all your work will be saved. Twine saves as you " +#~ "work, so you don't have to worry about remembering to save it yourself. " +#~ "You can always open the folder your stories are saved to by using the " +#~ "Show Library item in the Twine menu." +#~ msgstr "" +#~ "Il y a maintenant un dossier nommé Twine dans votre dossier Documents. A " +#~ "l'intérieur vous trouverez un dossier Histoires, où tout votre travail " +#~ "sera sauvegardé. Twine sauvegarde au cours de votre travail, pour que " +#~ "vous n'ayez pas à penser à le sauver vous-même. Vous pouvez toujours " +#~ "ouvrir le dossier où vos histoires sont sauvegardées en utilisant le " +#~ "choix Montrer la Bibliothèque dans le menu Twine" + +#~ msgid "" +#~ "If you'd like to open a Twine story file you received from someone else, " +#~ "you can import it into your library using the Import From File link in the story list." +#~ msgstr "" +#~ "Si vous voulez ouvrir une histoire Twine que vous avez reçu de quelqu'un " +#~ "d'autre, vous pouvez l'importer dans votre bibliothèque en utilisant Importer depuis un Fichier dans la " +#~ "liste des histoires." + +#~ msgid "An error occurred while publishing your story. (%s)" +#~ msgstr "" +#~ "Une erreur est survenue lors de la publication de votre histoire. (%s)" + +#~ msgid "don't know how to sort stories by %s" +#~ msgstr "impossible de trier les histoires par %s" + +#~ msgid "You must give this passage a name." +#~ msgstr "Vous devez donner un nom à ce passage." + +#~ msgid "" +#~ "There is already a passage named \"%s.\" Please give this one a unique " +#~ "name." +#~ msgstr "" +#~ "Il y a déjà un passage nommé \"%s\". Veuillez donner à ce passage un nom " +#~ "unique." + +#~ msgid "/My\\ Documents" +#~ msgstr "/Mes\\ Documents" + +#~ msgid "/Twine" +#~ msgstr "/Twine" + +#~ msgid "/Stories" +#~ msgstr "/Histoires" + +#~ msgid "An error occurred while saving your story (%s)." +#~ msgstr "" +#~ "Une erreur est survenue pendant la sauvegarde de votre histoire (%s)." + +#~ msgid "An error occurred while deleting your story (%s)." +#~ msgstr "" +#~ "Une erreur est survenue pendant la suppression de votre histoire (%s)." + +#~ msgid "An error occurred while locking your library (%s)." +#~ msgstr "" +#~ "Une erreur est survenue pendant le verrouillage de votre bibliothèque " +#~ "(%s)." + +#~ msgid "An error occurred while unlocking your library (%s)." +#~ msgstr "" +#~ "Une erreur est survenue pendant le déverrouillage de votre bibliothèque " +#~ "(%s)." + +#~ msgid "Don't know how to do bubble action %s" +#~ msgstr "Impossible d'effectuer l'action de bulle %s" + +#~ msgid "Don't know how to do collapse action %s" +#~ msgstr "Impossible de replier %s" + +#~ msgid "Can't set locale to nonstring: %s" +#~ msgstr "Impossible de changer la locale vers : %s" + +#~ msgid "Editing “%s”" +#~ msgstr "Modification \"%s\"" + +#~ msgid "Any changes to the passage you're editing haven't been saved yet. " +#~ msgstr "" +#~ "Les changements sur le passage que vous modifiez n'ont pas encore été " +#~ "sauvegardés." + +#~ msgid "No matching passages found." +#~ msgstr "Pas de passages correspondants." + +#~ msgid "%d replacement was made in" +#~ msgid_plural "%d replacements were made in" +#~ msgstr[0] "%d remplacement effectué dans" +#~ msgstr[1] "%d remplacements effectués dans" + +#~ msgid "%d passage" +#~ msgid_plural "%d passages" +#~ msgstr[0] "%d passage" +#~ msgstr[1] "%d passages" + +#~ msgid "%1$s %2$s" +#~ msgstr "%1$s %2$s" + +#~ msgid "Are you sure you want to delete “%s”? " +#~ msgstr "Êtes-vous sûr de vouloir supprimer “%s” ?" + +#~ msgid "Don't see either mouse or touch coordinates on event" +#~ msgstr "" +#~ "Impossible de déterminer les coordonnées de curseur pour l'évènement" + +#~ msgid "Couldn't find original touch ID in movement event" +#~ msgstr "Impossible de trouver la touch ID pour l'évènement" + +#~ msgid "A problem occurred while saving your changes (%s)." +#~ msgstr "" +#~ "Un problème est survenu lors de la sauvegarde des modifications (%s)." + +#~ msgid "Are you sure you want to delete this passage?" +#~ msgid_plural "" +#~ "Are you sure you want to delete these %d passages? This cannot be undone." +#~ msgstr[0] "Êtes-vous sûr de vouloir supprimer %d passage ?" +#~ msgstr[1] "" +#~ "Êtes-vous sûr de vouloir supprimer ces %d passages ? Cette action ne peut " +#~ "être annulée." + +#~ msgid "This story does not have a starting point. " +#~ msgstr "Cette histoire n'a pas de point de départ." + +#~ msgid "" +#~ "Refreshed the playable version of your story in the previously-opened tab " +#~ "or window." +#~ msgstr "" +#~ "Version jouable de votre histoire mise à jour dans la fenêtre ou l'onglet " +#~ "précédemment ouvert(e)." + +#~ msgid "" +#~ "This story does not have a starting point. Use the icon on a passage to set this." +#~ msgstr "" +#~ "Cette histoire n'a pas de point de départ. Utilisez l'icône sur un passage pour en sélectionner un." + +#~ msgid "" +#~ "Refreshed the test version of your story in the previously-opened tab or " +#~ "window." +#~ msgstr "" +#~ "Version de test de votre histoire mise à jour dans la fenêtre ou l'onglet " +#~ "précédemment ouvert(e)." + +#~ msgid "Last saved at %s" +#~ msgstr "Dernière sauvegarde à %s" + +#~ msgid "Don't know what kind of format to set as default" +#~ msgstr "Impossible de déterminer quel format à utiliser par défaut." + +#~ msgid "" +#~ "This story does not have a starting point. Edit this story and use the icon on a passage to set this." +#~ msgstr "" +#~ "Cette histoire n'a pas de point de départ. Modifiez cette histoire et " +#~ "utilisez l'icône sur un passage pour en " +#~ "sélectionner un." + +#~ msgid "%d story was imported." +#~ msgid_plural "%d stories were imported." +#~ msgstr[0] "%d histoire a été importée." +#~ msgstr[1] "%d histoires ont été importées." diff --git a/src/locale/po/pt-pt.po b/src/locale/po/pt-pt.po new file mode 100644 index 000000000..eead4f554 --- /dev/null +++ b/src/locale/po/pt-pt.po @@ -0,0 +1,793 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.11\n" +"Last-Translator: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: pt_PT\n" + +#: src/dialogs/about/index.html +msgid "About Twine" +msgstr "Sobre o Twine" + +#: src/dialogs/about/index.html +msgid "" +"Twine is an open-source tool for telling interactive, nonlinear stories." +msgstr "" +"O Twine é uma ferramenta de código-fonte aberto para contar histórias " +"interativas e não-lineares." + +#: src/dialogs/about/index.html +msgid "" +"This application is released under the \\x3ca href=\"http:\\/\\/www.gnu.org/" +"licenses/gpl-3.0.html\">GPL v3\\x3c/a> license, but any work created with it " +"may be released under any terms, including commercial ones." +msgstr "" +"Esta aplicação foi lançada nos termos da licença \\x3ca href=\"http:\\/\\/" +"www.gnu.org/licenses/gpl-3.0.html\">GPL v3\\x3c/a>, mas as obras criadas com " +"ela podem ser lançadas de acordo com os termos de quaisquer outras licenças, " +"incluindo as de natureza comercial." + +#: src/dialogs/about/index.html +msgid "Help Twine Grow With A Donation" +msgstr "Ajude o Twine a crescer com uma doação" + +#: src/dialogs/about/index.html +msgid "Source Code Repository" +msgstr "Repositório do código-fonte" + +#: src/dialogs/about/index.html +msgid "Translations" +msgstr "Traduções" + +#: src/dialogs/about/index.html +msgid "Libraries" +msgstr "Bibliotecas" + +#: src/dialogs/about/index.html +msgid "Fonts" +msgstr "Fontes" + +#: src/dialogs/about/index.html +msgid "" +"Source Sans Pro and Source Code Pro were designed by Paul D. Hunt under the " +"guidance of Robert Slimbach for \\x3ca href=\"http:\\/\\/adobe.com/\">Adobe" +"\\x3c/a>\\x3cbr> Nunito was designed by \\x3ca href=\"http:\\/\\/code." +"newtypography.co.uk/\">Vernon Adams\\x3c/a>" +msgstr "" +"As fontes Source Sans Pro e Source Code Pro foram projetadas por Paul D. " +"Hunt sob a orientação de Robert Slimbach para a \\x3ca href=\"http:\\/\\/" +"adobe.com/\">Adobe\\x3c/a>\\x3cbr>. A fonte Nunito foi projetada por \\x3ca " +"href=\"http:\\/\\/code.newtypography.co.uk/\">Vernon Adams\\x3c/a>" + +#: src/dialogs/about/index.html +msgid "Icons" +msgstr "Ícones" + +#: src/dialogs/about/index.html +msgid "Document designed by Rob Gill from the Noun Project" +msgstr "Ícone \"Documento\" projetado por Rob Gill do Noun Project" + +#: src/dialogs/about/index.html +msgid "Question designed by Henry Ryder from the Noun Project" +msgstr "Ícone \"Pergunta\" projetado por Henry Ryder do Noun Project" + +#: src/dialogs/about/index.html +msgid "Smile designed by jelio dimitrov from the Noun Project" +msgstr "Ícone \"Sorriso\" projetado por dimitrov jelio do Noun Project" + +#: src/dialogs/app-donation/index.html +msgid "" +"If you love Twine as much as I do, please consider helping it grow with a " +"donation. Twine is an open source project that will always be free to use " +"— and with your help, Twine will continue to thrive." +msgstr "" +"Se gosta tanto do Twine como eu, então, ajude-o a crescer com uma doação. O " +"Twine é um projeto de código-fonte aberto que será sempre de utilização " +"gratuita — e com a sua ajuda, poderá continuar a prosperar." + +#: src/dialogs/app-donation/index.html +msgid "Chris Klimas, Twine creator" +msgstr "Chris Klimas, o criador do Twine" + +#: src/dialogs/app-donation/index.html +msgid "No Thanks" +msgstr "Não, obrigado" + +#: src/dialogs/app-donation/index.html +msgid "Donate" +msgstr "Doar" + +#: src/dialogs/app-donation/index.html +msgid "" +"This message will only be shown to you once.<br>If you'd like to " +"donate to Twine development in the future, you can do so at <a href=\\" +"\"http:\\/\\/twinery.org/donate\\\" target=\\\"_blank\\\">http://twinery." +"org/donate</a>." +msgstr "" +"Esta mensagem só lhe será apresentada uma única vez.<br>Se quiser " +"fazer fazer um donativo para apoiar o desenvolvimento do Twine no futuro, " +"pode fazê-lo <a href=\\\"http:\\/\\/twinery.org/donate\\\" target=\\" +"\"_blank\\\">http://twinery.org/donate</a>." + +#: src/dialogs/formats/index.html +msgid "" +"Story formats control the appearance and behavior of stories during play." +msgstr "" +"Os formatos de história controlam a aparência e o comportamento das " +"histórias durante o jogo." + +#: src/dialogs/formats/index.html +msgid "Use as Default" +msgstr "Usar por defeito" + +#: src/dialogs/formats/index.html +msgid "" +"Proofing formats create a versions of stories tailored for editing and " +"proofreading." +msgstr "" +"Os formatos de revisão de texto criam versões das histórias especialmente " +"adaptadas para edição e revisão." + +#: src/dialogs/formats/index.html +msgid "Use" +msgstr "Usar" + +#: src/dialogs/formats/index.html src/story-list-view/list-toolbar/index.js:24 +msgid "Add" +msgstr "Adicionar" + +#: src/dialogs/formats/index.html src/dialogs/story-format/index.html +msgid "Loading..." +msgstr "A carregar..." + +#: src/dialogs/story-format/index.html +msgid "Story Format" +msgstr "Formato de história" + +#: src/dialogs/story-format/index.html +msgid "" +"A story format controls the appearance and behavior of your story during " +"play." +msgstr "" +"O formato de história controla a aparência e o comportamento da história " +"durante o jogo." + +#: src/dialogs/story-import/index.html +#: src/story-list-view/list-toolbar/index.html +msgid "Import From File" +msgstr "Importar do arquivo" + +#: src/dialogs/story-import/index.html +msgid "Import this file:" +msgstr "Importe este arquivo:" + +#: src/dialogs/story-import/index.html src/dialogs/confirm/index.js:31 +#: src/dialogs/prompt/index.js:15 +msgid "Cancel" +msgstr "Cancelar" + +#: src/dialogs/story-import/index.html +msgid "Working..." +msgstr "A processar..." + +#: src/dialogs/story-import/index.html +msgid "" +"Some stories you are importing already exist in your library. Please choose " +"which to replace. Any other stories in your file will be imported as well." +msgstr "" +"Algumas das histórias que está a importar já se encontram na sua biblioteca. " +"Indique-nos as que pretende substituir. Quaisquer outras histórias no seu " +"ficheiro serão também importadas." + +#: src/dialogs/story-import/index.html +msgid "Don't Import Any Stories" +msgstr "Não importar nenhumas histórias" + +#: src/dialogs/story-search/index.html +msgid "Find and Replace" +msgstr "Encontrar e Substituir" + +#: src/dialogs/story-search/index.html +msgid "Search For" +msgstr "Procurar por" + +#: src/dialogs/story-search/index.html +msgid "Include passage names" +msgstr "Incluir os nomes das passagens" + +#: src/dialogs/story-search/index.html +msgid "Match case" +msgstr "Diferenciar maiúsculas de minúsculas" + +#: src/dialogs/story-search/index.html +msgid "Regular expression" +msgstr "Expressão normal" + +#: src/dialogs/story-search/index.html +msgid "Replace With" +msgstr "Substituir por" + +#: src/dialogs/story-search/index.html +msgid "Replace All" +msgstr "Substituir tudo" + +#: src/dialogs/story-search/index.html +msgid "%d passage matches." +msgid_plural "%d passages match." +msgstr[0] "%d passagem encontrada." +msgstr[1] "%d passagens encontradas." + +#: src/dialogs/story-search/index.html +msgid "Searching..." +msgstr "A pesquisar..." + +#: src/dialogs/story-search/result.html +msgid "%d match" +msgid_plural "%d matches" +msgstr[0] "%d ocorrência" +msgstr[1] "%d ocorrências" + +#: src/dialogs/story-search/result.html +msgid "Replace in Passage" +msgstr "Substituir na passagem" + +#: src/dialogs/story-stats/index.html +#: src/story-edit-view/story-toolbar/story-menu/index.html +msgid "Story Statistics" +msgstr "Estatísticas da história" + +#: src/editors/javascript/index.html +msgid "JavaScript" +msgstr "JavaScript" + +#: src/editors/javascript/index.html +msgid "" +"Any JavaScript entered here will immediately run when your story is opened " +"in a Web browser." +msgstr "" +"Qualquer código de JavaScript aqui introduzido vai correr assim que a " +"história for aberta no navegador." + +#: src/editors/passage/index.html +msgid "A passage already exists with this name." +msgstr "Já existe uma passagem com este nome." + +#: src/editors/passage/tag-editor.html +msgid "Tag" +msgstr "Etiqueta" + +#: src/editors/stylesheet/index.html +msgid "Stylesheet" +msgstr "Folha de estilo" + +#: src/editors/stylesheet/index.html +msgid "" +"Any CSS entered here will override the default appearance of your story." +msgstr "" +"Qualquer fragmento de código CSS introduzido aqui irá alterar a aparência " +"padrão da sua história." + +#: src/locale/view/index.html +msgid "Please choose which language you would like to use with Twine." +msgstr "Quer trabalhar no Twine em que língua?" + +#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +msgid "Hi!" +msgstr "Olá!" + +#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +msgid "" +"Twine is an open-source tool for telling interactive, nonlinear stories. " +"There are a few things you should know before you get started." +msgstr "" +"O Twine é uma ferramenta de código-fonte aberto para contar histórias " +"interativas e não-lineares. Há algumas coisas que é melhor saber antes de " +"começar." + +#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +msgid "Tell Me More" +msgstr "Quero saber mais" + +#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +msgid "Skip" +msgstr "Saltar" + +#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +msgid "New here?" +msgstr "É a primeira vez aqui?" + +#: src/nw/patches/welcome-view/replacement-template.html +msgid "" +"<strong>If you've never used Twine before,</strong> then " +"welcome! The <a href=\\\"http://twinery.org/2guide\\\" target=\\\"_blank\\" +"\">Twine 2 Guide</a> and the official wiki in general, are a great " +"place to learn. Keep in mind that some articles on the wiki at large were " +"written for Twine 1, which is a little bit different than this version. But " +"most of the concepts are the same." +msgstr "" +"<strong>Se nunca usou o Twine antes,</strong> então, seja bem-" +"vindo(a)! O <a href=\\\"http://twinery.org/2guide\\\" target=\\\"_blank\\" +"\">Guia do Twine 2</a> e a wiki oficial são, normalmente, ótimos " +"recursos para aprender. Tenha presente que muitos dos artigos da wiki foram " +"escritos para o Twine 1, que é um pouco diferente desta versão. Mas a " +"maioria dos conceitos é a mesma." + +#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +msgid "" +"<strong>If you have used Twine 1 before,</strong> the guide also " +"has details on what has changed in this version. Chief among them is a new " +"default story format, Harlowe. But if you find you prefer the Twine 1 " +"scripting syntax, try using SugarCube instead." +msgstr "" +"<strong>Se já usou o Twine 1 antes,</strong> o guia poderá dar-" +"lhe mais informações sobre o que mudou nesta nova versão. A principal " +"alteração é o novo formato de história por defeito, o Harlowe. Mas se achar " +"que prefere a sintaxe da linguagem do Twine 1, pode continuar a usar o " +"formato SugarCube." + +#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +msgid "OK" +msgstr "OK" + +#: src/nw/patches/welcome-view/replacement-template.html +msgid "Your work is automatically saved." +msgstr "O seu trabalho é guardado automaticamente." + +#: src/nw/patches/welcome-view/replacement-template.html +msgid "" +"There's now a folder named Twine in your Documents folder. Inside that is a " +"Stories folder, where all your work will be saved. Twine saves as you work, " +"so you don't have to worry about remembering to save it yourself. You can " +"always open the folder your stories are saved to by using the <b>Show " +"Library</b> item in the <b>Twine</b> menu." +msgstr "" +"Foi criada uma pasta chamada Twine na sua pasta de Documentos. Lá dentro " +"está a pasta \"Histórias\", onde todo o seu trabalho será guardado. O Twine " +"vai guardando o documento enquanto trabalha, portanto não tem de se " +"preocupar em guardá-lo. Pode sempre abrir a pasta onde as suas histórias são " +"guardadas, usando o item de <b>Mostrar Biblioteca</b> no menu do " +"<b>Twine</b>." + +#: src/nw/patches/welcome-view/replacement-template.html +msgid "" +"Because Twine is always saving your work, the files in your story library " +"will be locked from editing while Twine is open." +msgstr "" +"Como o Twine está sempre a guardar o seu trabalho, os ficheiros na sua " +"biblioteca de histórias ficarão trancados e não poderão ser editados " +"enquanto o Twine estiver aberto." + +#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +msgid "That's it!" +msgstr "E é isto!" + +#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +msgid "Thanks for reading, and have fun with Twine." +msgstr "Obrigado pela atenção, e divirta-se com o Twine." + +#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +msgid "Go to the Story List" +msgstr "Ir para a Lista de Histórias" + +#: src/story-edit-view/story-toolbar/index.html +msgid "Test" +msgstr "Testar" + +#: src/story-edit-view/story-toolbar/index.html +msgid "Play" +msgstr "Jogar" + +#: src/story-edit-view/story-toolbar/index.html +msgid "Passage" +msgstr "Passagem" + +#: src/story-edit-view/story-toolbar/story-menu/index.html +msgid "Edit Story JavaScript" +msgstr "Editar o código JavaScript da história" + +#: src/story-edit-view/story-toolbar/story-menu/index.html +msgid "Edit Story Stylesheet" +msgstr "Editar a folha de estilos da história" + +#: src/story-edit-view/story-toolbar/story-menu/index.html +msgid "Change Story Format" +msgstr "Mudar o formato de história" + +#: src/story-edit-view/story-toolbar/story-menu/index.html +#: src/story-list-view/story-item/item-menu/index.html +msgid "Rename Story" +msgstr "Mudar o nome da história" + +#: src/story-edit-view/story-toolbar/story-menu/index.html +msgid "Snap to Grid" +msgstr "Ajustar à grelha" + +#: src/story-edit-view/story-toolbar/story-menu/index.html +msgid "View Proofing Copy" +msgstr "Ver uma cópia para revisão" + +#: src/story-edit-view/story-toolbar/story-menu/index.html +#: src/story-list-view/story-item/item-menu/index.html +msgid "Publish to File" +msgstr "Publicar como ficheiro" + +#: src/story-list-view/index.html +msgid "Drop a story file to import" +msgstr "Largue aqui um arquivo para o importar" + +#: src/story-list-view/index.html +msgid "Sort By" +msgstr "Dispor por" + +#: src/story-list-view/index.html +msgid "Edit Date" +msgstr "Data da última edição" + +#: src/story-list-view/index.html +msgid "Name" +msgstr "Nome" + +#: src/story-list-view/index.html +msgid "" +"There are no stories saved in Twine right now. To get started, you can " +"either create a new story or import an existing one from a file." +msgstr "" +"Neste momento, não há histórias gravadas no Twine. Para começar, crie uma " +"nova história ou importe uma de um ficheiro." + +#: src/story-list-view/list-toolbar/index.html src/nw/directories.js:69 +#: src/nw/menus.js:17 src/nw/menus.js:39 +msgid "Twine" +msgstr "Twine" + +#: src/story-list-view/list-toolbar/index.html +msgid "Story" +msgstr "História" + +#: src/story-list-view/list-toolbar/index.html +msgid "Archive" +msgstr "Arquivo" + +#: src/story-list-view/list-toolbar/index.html +msgid "Formats" +msgstr "Formatos" + +#: src/story-list-view/list-toolbar/index.html +msgid "Language" +msgstr "Idioma" + +#: src/story-list-view/list-toolbar/index.html +msgid "Help" +msgstr "Ajuda" + +#: src/story-list-view/list-toolbar/index.html +msgid "version" +msgstr "versão" + +#: src/story-list-view/list-toolbar/index.html +msgid "Report a bug" +msgstr "Reportar um erro" + +#: src/story-list-view/story-item/item-menu/index.html +msgid "Play Story" +msgstr "Jogar a história" + +#: src/story-list-view/story-item/item-menu/index.html +msgid "Test Story" +msgstr "Testar a história" + +#: src/story-list-view/story-item/item-menu/index.html +msgid "Duplicate Story" +msgstr "Duplicar a história" + +#: src/story-list-view/story-item/item-menu/index.html +msgid "Delete Story" +msgstr "Apagar a história" + +#: src/welcome/index.html +msgid "" +"<strong>If you've never used Twine before,</strong> then " +"welcome! The <a href=\\\"http://twinery.org/2guide\\\" target=\\\"_blank\\" +"\">Twine 2 Guide</a> and the official wiki in general, are a great " +"place to learn. Keep in mind that some articles on the wiki at larger were " +"written for Twine 1, which is a little bit different than this version. But " +"most of the concepts are the same." +msgstr "" +"<strong>Se nunca usou o Twine antes,</strong> então, seja bem-" +"vindo(a)! O <a href=\\\"http://twinery.org/2guide\\\" target=\\\"_blank\\" +"\">Guia do Twine 2</a> e a wiki oficial são, normalmente, ótimos " +"recursos para aprender. Tenha presente que muitos dos artigos da wiki foram " +"escritos para o Twine 1, que é um pouco diferente desta versão. Mas a " +"maioria dos conceitos é a mesma." + +#: src/welcome/index.html +msgid "Your work is saved only in your browser." +msgstr "O seu trabalho é gravado apenas no seu navegador." + +#: src/welcome/index.html +msgid "" +"That means you don't need to create an account to use Twine 2, and " +"everything you create isn't stored on a server somewhere else — it " +"stays right in your browser." +msgstr "" +"Isto significa que não precisa de criar uma conta para usar o Twine 2 e que " +"tudo o que criar não fica alojado num servidor sabe-se lá onde — mas " +"fica guardado aqui no seu navegador." + +#: src/welcome/index.html +msgid "" +"Two <b>very important</b> things to remember, though. Since your " +"work is saved only in your browser, if you clear its saved data, then you'll " +"lose your work! Not good. Remember to use that <i class=\\\"fa fa-" +"briefcase\\\"></i> <strong>Archive</strong> button " +"often. You can also publish individual stories to files using the <i " +"class=\\\"fa fa-cog\\\"></i> menu on each story in the story list. " +"Both archive and story files can always be re-imported into Twine." +msgstr "" +"Duas coisas <b>muito importantes</b>de que não se deve esquecer. " +"Como o seu trabalho é apenas guardado no navegador, se lhe limpar o " +"histórico ou os dados guardados, vai perder todo o seu trabalho! O que, " +"convenhamos, não é nada bom. Lembre-se de usar o botão do <i class=\\\"fa " +"fa-briefcase\\\"></i> <strong>Arquivo</strong> " +"frequentemente. Também pode passar histórias individuais para ficheiros, " +"usando o menu <i class=\\\"fa fa-cog\\\"></i> em cada história " +"da lista de histórias. Tanto os arquivos como os ficheiros da história podem " +"ser sempre reimportados para o Twine." + +#: src/welcome/index.html +msgid "" +"Secondly, <b>anyone who can use this browser can see and make changes " +"to your work</b>. So if you've got a nosy kid brother, look into " +"setting up a separate profile for yourself." +msgstr "" +"Em segundo lugar, <b>qualquer um que usar este navegador pode ver e " +"fazer alterações ao seu trabalho</b>. Portanto, se tiver um irmãozinho " +"abelhudo, talvez valha a pena aprender a configurar um perfil separado só " +"para si." + +#: src/data/actions.js:262 +msgid "a story format named “%s” already exists" +msgstr "Já existe um formato de história chamado “%s”" + +#: src/data/publish.js:75 +msgid "There is no starting point set for this story." +msgstr "Não foi definido nenhum ponto de partida para esta história." + +#: src/data/publish.js:81 +msgid "The passage set as starting point for this story does not exist." +msgstr "" +"A passagem definida como ponto de partida para esta história não existe." + +#: src/data/story-format.js:7 +msgid "Untitled Story Format" +msgstr "Formato de história sem título" + +#: src/data/story.js:190 +msgid "Untitled Story" +msgstr "História sem título" + +#: src/data/story.js:207 src/story-edit-view/index.js:195 +msgid "Untitled Passage" +msgstr "Passagem sem título" + +#: src/data/story.js:210 +msgid "Tap this passage, then the pencil icon to edit it." +msgstr "Toque nesta passagem e, em seguida, no ícone do lápis para editá-la." + +#: src/data/story.js:211 +msgid "Double-click this passage to edit it." +msgstr "Faça duplo-clique nesta passagem para editá-la." + +#. L10n: The will have a version number, i.e. 2.0.6, interpolated into it. +#: src/dialogs/app-update/index.js:40 +msgid "" +"A new version of Twine, , has been released." +msgstr "" +"Foi lançada uma nova versão do Twine, a versão ." + +#: src/dialogs/app-update/index.js:44 +msgid "Download" +msgstr "Descarregar" + +#. L10n: A polite rejection of a request, in the sense that the answer may change in the future. +#: src/dialogs/app-update/index.js:51 +msgid "Not Right Now" +msgstr "Agora não" + +#. L10n: %1$s is the name of the story format; %2$s is +#: src/dialogs/formats/index.js:60 +msgid "The story format “%1$s” could not be loaded (%2$s)." +msgstr "" +"O formato de história “%1$s” não pôde ser carregado (%2$s)." + +#: src/dialogs/formats/index.js:102 +msgid "The story format at %1$s could not be added (%2$s)." +msgstr "O formato de história em %1$s não pôde ser adicionado (%2$s)." + +#. L10n: %s is the name of an author. +#: src/dialogs/formats/item.js:30 +msgid "by %s" +msgstr "por %s" + +#: src/dialogs/formats/item.js:51 +msgid "Are you sure?" +msgstr "Tem a certeza?" + +#: src/dialogs/formats/item.js:53 +msgid "Remove" +msgstr "Remover" + +#: src/dialogs/story-import/index.js:56 +msgid "Don\\'t Replace Any Stories" +msgstr "Não substituir nenhuma das histórias" + +#: src/dialogs/story-import/index.js:59 +msgid "Replace %d Story" +msgid_plural "Replace %d Stories" +msgstr[0] "Substituir %d história" +msgstr[1] "Substituir %d histórias" + +#: src/dialogs/story-stats/index.js:37 +msgid "Character" +msgid_plural "Characters" +msgstr[0] "Caráter" +msgstr[1] "Caraters" + +#: src/dialogs/story-stats/index.js:51 +msgid "Word" +msgid_plural "Words" +msgstr[0] "Palavra" +msgstr[1] "Palavras" + +#: src/dialogs/story-stats/index.js:85 +msgid "Link" +msgid_plural "Links" +msgstr[0] "Ligação" +msgstr[1] "Ligações" + +#: src/dialogs/story-stats/index.js:98 +msgid "Broken Link" +msgid_plural "Broken Links" +msgstr[0] "Ligação quebrada" +msgstr[1] "Ligações quebradas" + +#: src/editors/passage/index.js:37 +msgid "" +"Enter the body text of your passage here. To link to another passage, put " +"two square brackets around its name, [[like this]]." +msgstr "" +"Insira o texto da sua passagem aqui. Para fazer uma ligação a outra " +"passagem, ponha colchetes duplos à volta do nome, [[assim]]." + +#: src/editors/passage/index.js:181 +msgid "Editing \\u201c%s\\u201d" +msgstr "A editar \\u201c%s\\u201d" + +#. L10n: %1$s is a filename; %2$s is the error message. +#: src/file/save.js:71 +msgid "“%1$s” could not be saved (%2$s)." +msgstr "“%1$s” não pôde ser guardado (%2$s)." + +#. L10n: This is the folder name on OS X, Linux, and recent versions of Windows that a user's documents are stored in, relative to the user's home directory. If you need to use a space in this name, then it should have two backslashes (\\) in front of it. Regardless, this must have a single forward slash (/) as its first character. +#: src/nw/directories.js:38 +msgid "/Documents" +msgstr "/Documentos" + +#: src/nw/directories.js:51 +msgid "My\\\\ Documents" +msgstr "Meus\\\\ documentos" + +#: src/nw/directories.js:70 +msgid "Stories" +msgstr "Histórias" + +#: src/nw/menus.js:27 +msgid "Toggle Fullscreen" +msgstr "Alternar ecrã completo" + +#: src/nw/menus.js:44 +msgid "Quit" +msgstr "Sair" + +#: src/nw/menus.js:61 +msgid "Edit" +msgstr "Editar" + +#: src/nw/menus.js:66 +msgid "Undo" +msgstr "Desfazer" + +#: src/nw/menus.js:79 +msgid "Cut" +msgstr "Cortar" + +#: src/nw/menus.js:88 +msgid "Copy" +msgstr "Copiar" + +#: src/nw/menus.js:97 +msgid "Paste" +msgstr "Colar" + +#: src/nw/menus.js:106 src/story-edit-view/passage-item/index.js:275 +msgid "Delete" +msgstr "Apagar" + +#: src/nw/menus.js:118 +msgid "Show Library" +msgstr "Mostrar Biblioteca" + +#: src/story-edit-view/passage-item/index.js:260 +#: src/story-list-view/story-item/item-menu/index.js:78 +msgid "" +"Are you sure you want to delete “%s”? This cannot be undone." +msgstr "" +"Tem a certeza de que quer apagar “%s”? Esta ação não pode ser " +"anulada." + +#: src/story-edit-view/passage-item/index.js:267 +msgid "(Hold the Shift key when deleting to skip this message.)" +msgstr "(Mantenha premida a tecla Shift ao apagar para ignorar esta mensagem.)" + +#: src/story-edit-view/story-toolbar/story-menu/index.js:46 +#: src/story-list-view/story-item/item-menu/index.js:100 +msgid "What should “%s” be renamed to?" +msgstr "Qual deve ser o novo nome de “%s”?" + +#: src/story-edit-view/story-toolbar/story-menu/index.js:51 +#: src/story-list-view/story-item/item-menu/index.js:105 +msgid "Rename" +msgstr "Mudar o nome" + +#: src/story-edit-view/story-toolbar/story-menu/index.js:55 +#: src/story-list-view/story-item/item-menu/index.js:109 +#: src/story-list-view/story-item/item-menu/index.js:128 +msgid "Please enter a name." +msgstr "Indique um nome, por favor." + +#: src/story-list-view/index.js:79 +msgid "%d Story" +msgid_plural "%d Stories" +msgstr[0] "%d história" +msgstr[1] "%d histórias" + +#: src/story-list-view/list-toolbar/index.js:21 +msgid "What should your story be named?
(You can change this later.)" +msgstr "" +"Como é que a sua história se vai chamar?
(Pode alterar o nome mais tarde.)" + +#: src/story-list-view/list-toolbar/index.js:30 +msgid "A story with this name already exists." +msgstr "Já existe uma história com esse nome." + +#: src/story-list-view/list-toolbar/index.js:60 +msgid "Twine Archive.html" +msgstr "Twine Archive.html" + +#: src/story-list-view/story-item/item-menu/index.js:84 +msgid "Delete Forever" +msgstr "Apagar para sempre" + +#: src/story-list-view/story-item/item-menu/index.js:122 +msgid "What should the duplicate be named?" +msgstr "Que nome quer dar ao duplicado?" + +#: src/story-list-view/story-item/item-menu/index.js:124 +msgid "Duplicate" +msgstr "Duplicar" + +#: src/story-list-view/story-item/item-menu/index.js:126 +msgid "%s Copy" +msgstr "%s Copiar" + +#: src/ui/quota-gauge/index.js:24 +msgid "%d%% space available" +msgstr "espaço disponível: %d%%" diff --git a/src/locale/po/template.pot b/src/locale/po/template.pot index 8758f04c9..533f5505e 100644 --- a/src/locale/po/template.pot +++ b/src/locale/po/template.pot @@ -1,3 +1,6 @@ +msgid "" +msgstr "" + #: src/dialogs/about/index.html msgid "About Twine" msgstr "" @@ -7,7 +10,7 @@ msgid "Twine is an open-source tool for telling interactive, nonlinear stories." msgstr "" #: src/dialogs/about/index.html -msgid "This application is released under the \x3ca href="http:\/\/www.gnu.org/licenses/gpl-3.0.html">GPL v3\x3c/a> license, but any work created with it may be released under any terms, including commercial ones." +msgid "This application is released under the \\x3ca href=\"http:\\/\\/www.gnu.org/licenses/gpl-3.0.html\">GPL v3\\x3c/a> license, but any work created with it may be released under any terms, including commercial ones." msgstr "" #: src/dialogs/about/index.html @@ -31,7 +34,7 @@ msgid "Fonts" msgstr "" #: src/dialogs/about/index.html -msgid "Source Sans Pro and Source Code Pro were designed by Paul D. Hunt under the guidance of Robert Slimbach for \x3ca href="http:\/\/adobe.com/">Adobe\x3c/a>\x3cbr> Nunito was designed by \x3ca href="http:\/\/code.newtypography.co.uk/">Vernon Adams\x3c/a>" +msgid "Source Sans Pro and Source Code Pro were designed by Paul D. Hunt under the guidance of Robert Slimbach for \\x3ca href=\"http:\\/\\/adobe.com/\">Adobe\\x3c/a>\\x3cbr> Nunito was designed by \\x3ca href=\"http:\\/\\/code.newtypography.co.uk/\">Vernon Adams\\x3c/a>" msgstr "" #: src/dialogs/about/index.html @@ -67,11 +70,7 @@ msgid "Donate" msgstr "" #: src/dialogs/app-donation/index.html -msgid "This message will only be shown to you once.<br>If you'd like to donate to Twine development in the future, you can do so at <a href=\"http:\/\/twinery.org/donate\" target=\"_blank\">http://twinery.org/donate</a>." -msgstr "" - -#: src/dialogs/formats/index.html -msgid "Story Formats" +msgid "This message will only be shown to you once.<br>If you'd like to donate to Twine development in the future, you can do so at <a href=\\\"http:\\/\\/twinery.org/donate\\\" target=\\\"_blank\\\">http://twinery.org/donate</a>." msgstr "" #: src/dialogs/formats/index.html @@ -90,22 +89,16 @@ msgstr "" msgid "Use" msgstr "" -#: src/dialogs/formats/index.html src/story-list-view/list-toolbar/index.js +#: src/dialogs/formats/index.html +#: src/story-list-view/list-toolbar/index.js:24 msgid "Add" msgstr "" -#: src/dialogs/formats/index.html src/dialogs/story-format/index.html +#: src/dialogs/formats/index.html +#: src/dialogs/story-format/index.html msgid "Loading..." msgstr "" -#: src/dialogs/formats/item.html -msgid "Set this format as default for stories" -msgstr "" - -#: src/dialogs/formats/item.html -msgid "Remove this format" -msgstr "" - #: src/dialogs/story-format/index.html msgid "Story Format" msgstr "" @@ -114,7 +107,8 @@ msgstr "" msgid "A story format controls the appearance and behavior of your story during play." msgstr "" -#: src/dialogs/story-import/index.html src/story-list-view/list-toolbar/index.html +#: src/dialogs/story-import/index.html +#: src/story-list-view/list-toolbar/index.html msgid "Import From File" msgstr "" @@ -122,7 +116,9 @@ msgstr "" msgid "Import this file:" msgstr "" -#: src/dialogs/story-import/index.html src/dialogs/confirm/index.js src/dialogs/prompt/index.js +#: src/dialogs/story-import/index.html +#: src/dialogs/confirm/index.js:31 +#: src/dialogs/prompt/index.js:15 msgid "Cancel" msgstr "" @@ -162,21 +158,13 @@ msgstr "" msgid "Replace With" msgstr "" -#: src/dialogs/story-search/index.html -msgid "Expand all search results" -msgstr "" - -#: src/dialogs/story-search/index.html -msgid "Collapse all search results" -msgstr "" - #: src/dialogs/story-search/index.html msgid "Replace All" msgstr "" #: src/dialogs/story-search/index.html msgid "%d passage matches." -msgid_plural "%d passage matches." +msgid_plural "%d passages match." msgstr[0] "" msgstr[1] "" @@ -186,19 +174,16 @@ msgstr "" #: src/dialogs/story-search/result.html msgid "%d match" -msgid_plural "%d match" +msgid_plural "%d matches" msgstr[0] "" msgstr[1] "" -#: src/dialogs/story-search/result.html -msgid "Replace in this passage" -msgstr "" - #: src/dialogs/story-search/result.html msgid "Replace in Passage" msgstr "" -#: src/dialogs/story-stats/index.html src/story-edit-view/story-toolbar/story-menu/index.html +#: src/dialogs/story-stats/index.html +#: src/story-edit-view/story-toolbar/story-menu/index.html msgid "Story Statistics" msgstr "" @@ -210,10 +195,6 @@ msgstr "" msgid "Any JavaScript entered here will immediately run when your story is opened in a Web browser." msgstr "" -#: src/editors/passage/index.html -msgid "Passage Name" -msgstr "" - #: src/editors/passage/index.html msgid "A passage already exists with this name." msgstr "" @@ -222,10 +203,6 @@ msgstr "" msgid "Tag" msgstr "" -#: src/editors/passage/tag-editor.html -msgid "Tag name" -msgstr "" - #: src/editors/stylesheet/index.html msgid "Stylesheet" msgstr "" @@ -238,39 +215,44 @@ msgstr "" msgid "Please choose which language you would like to use with Twine." msgstr "" -#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +#: src/nw/patches/welcome-view/replacement-template.html +#: src/welcome/index.html msgid "Hi!" msgstr "" -#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +#: src/nw/patches/welcome-view/replacement-template.html +#: src/welcome/index.html msgid "Twine is an open-source tool for telling interactive, nonlinear stories. There are a few things you should know before you get started." msgstr "" -#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +#: src/nw/patches/welcome-view/replacement-template.html +#: src/welcome/index.html msgid "Tell Me More" msgstr "" -#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +#: src/nw/patches/welcome-view/replacement-template.html +#: src/welcome/index.html msgid "Skip" msgstr "" -#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +#: src/nw/patches/welcome-view/replacement-template.html +#: src/welcome/index.html msgid "New here?" msgstr "" #: src/nw/patches/welcome-view/replacement-template.html -msgid "<strong>If you've never used Twine before,</strong> then welcome! The <a href=\"http://twinery.org/2guide\" target=\"_blank\">Twine 2 Guide</a> and the official wiki in general, are a great place to learn. Keep in mind that some articles on the wiki at large were written for Twine 1, which is a little bit different than this version. But most of the concepts are the same." +msgid "<strong>If you've never used Twine before,</strong> then welcome! The <a href=\\\"http://twinery.org/2guide\\\" target=\\\"_blank\\\">Twine 2 Guide</a> and the official wiki in general, are a great place to learn. Keep in mind that some articles on the wiki at large were written for Twine 1, which is a little bit different than this version. But most of the concepts are the same." msgstr "" -#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html -msgid "You can also get help over at the <a href="http://twinery.org/forum" target="_blank">Twine forum, too." -msgstr "" - -#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +#: src/nw/patches/welcome-view/replacement-template.html +#: src/welcome/index.html msgid "<strong>If you have used Twine 1 before,</strong> the guide also has details on what has changed in this version. Chief among them is a new default story format, Harlowe. But if you find you prefer the Twine 1 scripting syntax, try using SugarCube instead." msgstr "" -#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +#: src/nw/patches/welcome-view/replacement-template.html +#: src/nw/patches/welcome-view/replacement-template.html +#: src/welcome/index.html +#: src/welcome/index.html msgid "OK" msgstr "" @@ -286,58 +268,29 @@ msgstr "" msgid "Because Twine is always saving your work, the files in your story library will be locked from editing while Twine is open." msgstr "" -#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +#: src/nw/patches/welcome-view/replacement-template.html +#: src/welcome/index.html msgid "That's it!" msgstr "" -#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +#: src/nw/patches/welcome-view/replacement-template.html +#: src/welcome/index.html msgid "Thanks for reading, and have fun with Twine." msgstr "" -#: src/nw/patches/welcome-view/replacement-template.html src/welcome/index.html +#: src/nw/patches/welcome-view/replacement-template.html +#: src/welcome/index.html msgid "Go to the Story List" msgstr "" -#: src/story-edit-view/passage-item/passage-menu/index.html -msgid "Test story starting here" -msgstr "" - -#: src/story-edit-view/story-toolbar/index.html -msgid "Go to the story list" -msgstr "" - -#: src/story-edit-view/story-toolbar/index.html -msgid "Show only story structure" -msgstr "" - -#: src/story-edit-view/story-toolbar/index.html -msgid "Show only passage titles" -msgstr "" - -#: src/story-edit-view/story-toolbar/index.html -msgid "Show passage titles and excerpts" -msgstr "" - -#: src/story-edit-view/story-toolbar/index.html -msgid "Play this story in test mode" -msgstr "" - #: src/story-edit-view/story-toolbar/index.html msgid "Test" msgstr "" -#: src/story-edit-view/story-toolbar/index.html -msgid "Play this story" -msgstr "" - #: src/story-edit-view/story-toolbar/index.html msgid "Play" msgstr "" -#: src/story-edit-view/story-toolbar/index.html -msgid "Add a new passage" -msgstr "" - #: src/story-edit-view/story-toolbar/index.html msgid "Passage" msgstr "" @@ -354,7 +307,8 @@ msgstr "" msgid "Change Story Format" msgstr "" -#: src/story-edit-view/story-toolbar/story-menu/index.html src/story-list-view/story-item/item-menu/index.html +#: src/story-edit-view/story-toolbar/story-menu/index.html +#: src/story-list-view/story-item/item-menu/index.html msgid "Rename Story" msgstr "" @@ -366,18 +320,11 @@ msgstr "" msgid "View Proofing Copy" msgstr "" -#: src/story-edit-view/story-toolbar/story-menu/index.html src/story-list-view/story-item/item-menu/index.html +#: src/story-edit-view/story-toolbar/story-menu/index.html +#: src/story-list-view/story-item/item-menu/index.html msgid "Publish to File" msgstr "" -#: src/story-edit-view/story-toolbar/story-search/index.html -msgid "Quick Find" -msgstr "" - -#: src/story-edit-view/story-toolbar/story-search/index.html -msgid "Find and replace across the entire story" -msgstr "" - #: src/story-list-view/index.html msgid "Drop a story file to import" msgstr "" @@ -386,18 +333,10 @@ msgstr "" msgid "Sort By" msgstr "" -#: src/story-list-view/index.html -msgid "Last changed date" -msgstr "" - #: src/story-list-view/index.html msgid "Edit Date" msgstr "" -#: src/story-list-view/index.html -msgid "Story name" -msgstr "" - #: src/story-list-view/index.html msgid "Name" msgstr "" @@ -406,50 +345,29 @@ msgstr "" msgid "There are no stories saved in Twine right now. To get started, you can either create a new story or import an existing one from a file." msgstr "" -#: src/story-list-view/list-toolbar/index.html src/nw/directories.js src/nw/menus.js -msgid "Twine" -msgstr "" - #: src/story-list-view/list-toolbar/index.html -msgid "Create a brand-new story" +#: src/nw/directories.js:69 +#: src/nw/menus.js:17 +#: src/nw/menus.js:39 +msgid "Twine" msgstr "" #: src/story-list-view/list-toolbar/index.html msgid "Story" msgstr "" -#: src/story-list-view/list-toolbar/index.html -msgid "Import a published story or Twine archive" -msgstr "" - -#: src/story-list-view/list-toolbar/index.html -msgid "Save all stories to a Twine archive file" -msgstr "" - #: src/story-list-view/list-toolbar/index.html msgid "Archive" msgstr "" -#: src/story-list-view/list-toolbar/index.html -msgid "Work with story and proofing formats" -msgstr "" - #: src/story-list-view/list-toolbar/index.html msgid "Formats" msgstr "" -#: src/story-list-view/list-toolbar/index.html -msgid "Change the language Twine uses" -msgstr "" - #: src/story-list-view/list-toolbar/index.html msgid "Language" msgstr "" -#: src/story-list-view/list-toolbar/index.html -msgid "Browse online help" -msgstr "" - #: src/story-list-view/list-toolbar/index.html msgid "Help" msgstr "" @@ -462,14 +380,6 @@ msgstr "" msgid "Report a bug" msgstr "" -#: src/story-list-view/list-toolbar/theme-switcher.html -msgid "Use light theme" -msgstr "" - -#: src/story-list-view/list-toolbar/theme-switcher.html -msgid "Use dark theme" -msgstr "" - #: src/story-list-view/story-item/item-menu/index.html msgid "Play Story" msgstr "" @@ -487,7 +397,7 @@ msgid "Delete Story" msgstr "" #: src/welcome/index.html -msgid "<strong>If you've never used Twine before,</strong> then welcome! The <a href=\"http://twinery.org/2guide\" target=\"_blank\">Twine 2 Guide</a> and the official wiki in general, are a great place to learn. Keep in mind that some articles on the wiki at larger were written for Twine 1, which is a little bit different than this version. But most of the concepts are the same." +msgid "<strong>If you've never used Twine before,</strong> then welcome! The <a href=\\\"http://twinery.org/2guide\\\" target=\\\"_blank\\\">Twine 2 Guide</a> and the official wiki in general, are a great place to learn. Keep in mind that some articles on the wiki at larger were written for Twine 1, which is a little bit different than this version. But most of the concepts are the same." msgstr "" #: src/welcome/index.html @@ -499,160 +409,238 @@ msgid "That means you don't need to create an account to use Twine 2, and everyt msgstr "" #: src/welcome/index.html -msgid "Two <b>very important</b> things to remember, though. Since your work is saved only in your browser, if you clear its saved data, then you'll lose your work! Not good. Remember to use that <i class=\"fa fa-briefcase\"></i> <strong>Archive</strong> button often. You can also publish individual stories to files using the <i class=\"fa fa-cog\"></i> menu on each story in the story list. Both archive and story files can always be re-imported into Twine." +msgid "Two <b>very important</b> things to remember, though. Since your work is saved only in your browser, if you clear its saved data, then you'll lose your work! Not good. Remember to use that <i class=\\\"fa fa-briefcase\\\"></i> <strong>Archive</strong> button often. You can also publish individual stories to files using the <i class=\\\"fa fa-cog\\\"></i> menu on each story in the story list. Both archive and story files can always be re-imported into Twine." msgstr "" #: src/welcome/index.html msgid "Secondly, <b>anyone who can use this browser can see and make changes to your work</b>. So if you've got a nosy kid brother, look into setting up a separate profile for yourself." msgstr "" -#: src/data/story-format.js +#: src/data/actions.js:262 +msgid "a story format named “%s” already exists" +msgstr "" + +#: src/data/publish.js:75 +msgid "There is no starting point set for this story." +msgstr "" + +#: src/data/publish.js:81 +msgid "The passage set as starting point for this story does not exist." +msgstr "" + +#: src/data/story-format.js:7 msgid "Untitled Story Format" msgstr "" -#: src/data/story.js +#: src/data/story.js:190 msgid "Untitled Story" msgstr "" -#: src/data/story.js src/story-edit-view/index.js +#: src/data/story.js:207 +#: src/story-edit-view/index.js:195 msgid "Untitled Passage" msgstr "" -#: src/data/story.js +#: src/data/story.js:210 msgid "Tap this passage, then the pencil icon to edit it." msgstr "" -#: src/data/story.js +#: src/data/story.js:211 msgid "Double-click this passage to edit it." msgstr "" -#: src/dialogs/app-update/index.js -#. The will have a version number, i.e. 2.0.6, interpolated into it.locale.say('A new version of Twine, ' +', has been released.').replace('><', '>' + version + '<'),buttonLabel:'' +locale. +#. L10n: The will have a version number, i.e. 2.0.6, interpolated into it. +#: src/dialogs/app-update/index.js:40 +msgid "A new version of Twine, , has been released." +msgstr "" + +#: src/dialogs/app-update/index.js:44 msgid "Download" msgstr "" -#: src/dialogs/app-update/index.js -#. A polite rejection of a request, in the sense that the answer may change in the future.locale. +#. L10n: A polite rejection of a request, in the sense that the answer may change in the future. +#: src/dialogs/app-update/index.js:51 msgid "Not Right Now" msgstr "" -#: src/dialogs/formats/item.js -#. %s is the name of an author. */'by %s', this.format.properties.author) : '';}},methods: {removeFormat() {confirm({message:locale. +#. L10n: %1$s is the name of the story format; %2$s is +#: src/dialogs/formats/index.js:60 +msgid "The story format “%1$s” could not be loaded (%2$s)." +msgstr "" + +#: src/dialogs/formats/index.js:102 +msgid "The story format at %1$s could not be added (%2$s)." +msgstr "" + +#. L10n: %s is the name of an author. +#: src/dialogs/formats/item.js:30 +msgid "by %s" +msgstr "" + +#: src/dialogs/formats/item.js:51 msgid "Are you sure?" msgstr "" -#: src/dialogs/formats/item.js +#: src/dialogs/formats/item.js:53 msgid "Remove" msgstr "" -#: src/dialogs/story-import/index.js -msgid "Don\" +#: src/dialogs/story-import/index.js:56 +msgid "Don\\'t Replace Any Stories" msgstr "" -#: src/dialogs/story-stats/index.js -#. Character in the sense of individual letters in a word. This does not actually include the count, as it is used in a table.return locale. +#: src/dialogs/story-import/index.js:59 +msgid "Replace %d Story" +msgid_plural "Replace %d Stories" +msgstr[0] "" +msgstr[1] "" + +#: src/dialogs/story-stats/index.js:37 msgid "Character" -msgid_plural "Character" +msgid_plural "Characters" msgstr[0] "" msgstr[1] "" -#: src/dialogs/story-stats/index.js -#. Word in the sense of individual words in a sentence. This does not actually include the count, as it is used in a table.return this.story.passages.reduce((count, passage) => count + passage.text.split(/\s+/).length,0);},wordDesc() { L10n: Word in the sense of individual words in a sentence. This does not actually include the count, as it is used in a table.return locale. +#: src/dialogs/story-stats/index.js:51 msgid "Word" -msgid_plural "Word" +msgid_plural "Words" msgstr[0] "" msgstr[1] "" -#: src/dialogs/story-stats/index.js -#. Links in the sense of hypertext links. This does not actually include the count, as it is used in a table.return locale. +#: src/dialogs/story-stats/index.js:85 msgid "Link" -msgid_plural "Link" +msgid_plural "Links" +msgstr[0] "" +msgstr[1] "" + +#: src/dialogs/story-stats/index.js:98 +msgid "Broken Link" +msgid_plural "Broken Links" msgstr[0] "" msgstr[1] "" -#: src/editors/passage/index.js -msgid "Editing \u201c%s\u201d" +#: src/editors/passage/index.js:37 +msgid "Enter the body text of your passage here. To link to another passage, put two square brackets around its name, [[like this]]." +msgstr "" + +#: src/editors/passage/index.js:181 +msgid "Editing \\u201c%s\\u201d" +msgstr "" + +#. L10n: %1$s is a filename; %2$s is the error message. +#: src/file/save.js:71 +msgid "“%1$s” could not be saved (%2$s)." msgstr "" -#: src/nw/directories.js -#. This is the folder name on OS X, Linux, and recent versions of Windows that a user's documents are stored in, relative to the user's home directory. If you need to use a space in this name, then it should have two backslashes (\\) in front of it. Regardless, this must have a single forward slash (/) as its first character.let docPath = path.join(homePath, locale. +#. L10n: This is the folder name on OS X, Linux, and recent versions of Windows that a user's documents are stored in, relative to the user's home directory. If you need to use a space in this name, then it should have two backslashes (\\) in front of it. Regardless, this must have a single forward slash (/) as its first character. +#: src/nw/directories.js:38 msgid "/Documents" msgstr "" -#: src/nw/directories.js -#. This is the folder name on Windows XP that a user's documents are stored in, relative to the user's home directory. This is used if a folder with the name given by the translation key '/Documents' does not exist. If you need to use a space in this name, then it should have two backslashes (\\) in front of it. Regardless, this must have a single forward slash (/) as its first character.docPath = path.join(homePath, locale. -msgid "My\\ Documents" +#: src/nw/directories.js:51 +msgid "My\\\\ Documents" msgstr "" -#: src/nw/directories.js +#: src/nw/directories.js:70 msgid "Stories" msgstr "" -#: src/nw/menus.js +#: src/nw/menus.js:27 msgid "Toggle Fullscreen" msgstr "" -#: src/nw/menus.js +#: src/nw/menus.js:44 msgid "Quit" msgstr "" -#: src/nw/menus.js +#: src/nw/menus.js:61 msgid "Edit" msgstr "" -#: src/nw/menus.js +#: src/nw/menus.js:66 msgid "Undo" msgstr "" -#: src/nw/menus.js +#: src/nw/menus.js:79 msgid "Cut" msgstr "" -#: src/nw/menus.js +#: src/nw/menus.js:88 msgid "Copy" msgstr "" -#: src/nw/menus.js +#: src/nw/menus.js:97 msgid "Paste" msgstr "" -#: src/nw/menus.js src/story-edit-view/passage-item/index.js +#: src/nw/menus.js:106 +#: src/story-edit-view/passage-item/index.js:275 msgid "Delete" msgstr "" -#: src/nw/menus.js +#: src/nw/menus.js:118 msgid "Show Library" msgstr "" -#: src/story-edit-view/story-toolbar/story-menu/index.js src/story-list-view/story-item/item-menu/index.js +#: src/story-edit-view/passage-item/index.js:260 +#: src/story-list-view/story-item/item-menu/index.js:78 +msgid "Are you sure you want to delete “%s”? This cannot be undone." +msgstr "" + +#: src/story-edit-view/passage-item/index.js:267 +msgid "(Hold the Shift key when deleting to skip this message.)" +msgstr "" + +#: src/story-edit-view/story-toolbar/story-menu/index.js:46 +#: src/story-list-view/story-item/item-menu/index.js:100 +msgid "What should “%s” be renamed to?" +msgstr "" + +#: src/story-edit-view/story-toolbar/story-menu/index.js:51 +#: src/story-list-view/story-item/item-menu/index.js:105 msgid "Rename" msgstr "" -#: src/story-edit-view/story-toolbar/story-menu/index.js src/story-list-view/story-item/item-menu/index.js +#: src/story-edit-view/story-toolbar/story-menu/index.js:55 +#: src/story-list-view/story-item/item-menu/index.js:109 +#: src/story-list-view/story-item/item-menu/index.js:128 msgid "Please enter a name." msgstr "" -#: src/story-list-view/list-toolbar/index.js +#: src/story-list-view/index.js:79 +msgid "%d Story" +msgid_plural "%d Stories" +msgstr[0] "" +msgstr[1] "" + +#: src/story-list-view/list-toolbar/index.js:21 +msgid "What should your story be named?
(You can change this later.)" +msgstr "" + +#: src/story-list-view/list-toolbar/index.js:30 +msgid "A story with this name already exists." +msgstr "" + +#: src/story-list-view/list-toolbar/index.js:60 msgid "Twine Archive.html" msgstr "" -#: src/story-list-view/story-item/item-menu/index.js +#: src/story-list-view/story-item/item-menu/index.js:84 msgid "Delete Forever" msgstr "" -#: src/story-list-view/story-item/item-menu/index.js +#: src/story-list-view/story-item/item-menu/index.js:122 msgid "What should the duplicate be named?" msgstr "" -#: src/story-list-view/story-item/item-menu/index.js +#: src/story-list-view/story-item/item-menu/index.js:124 msgid "Duplicate" msgstr "" -#: src/story-list-view/story-item/item-menu/index.js +#: src/story-list-view/story-item/item-menu/index.js:126 msgid "%s Copy" msgstr "" -#: src/ui/quota-gauge/index.js +#: src/ui/quota-gauge/index.js:24 msgid "%d%% space available" msgstr "" - diff --git a/src/locale/view/img/flags/pt-pt.svg b/src/locale/view/img/flags/pt-pt.svg new file mode 100644 index 000000000..5c19329c5 --- /dev/null +++ b/src/locale/view/img/flags/pt-pt.svg @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/locale/view/index.js b/src/locale/view/index.js index 4c2a69438..87afa966d 100644 --- a/src/locale/view/index.js +++ b/src/locale/view/index.js @@ -21,6 +21,7 @@ module.exports = Vue.extend({ { label: 'Français', code: 'fr' }, { label: 'Italiano', code: 'it' }, { label: 'Nederlands', code: 'nl' }, + { label: 'Português', code: 'pt-pt' }, { label: 'Português Brasileiro', code: 'pt-br' }, { label: 'Suomi', code: 'fi' }, { label: 'Svenska', code: 'sv' } diff --git a/src/nw/directories.js b/src/nw/directories.js index 3190b9897..120a7c162 100644 --- a/src/nw/directories.js +++ b/src/nw/directories.js @@ -27,26 +27,27 @@ const Directories = module.exports = { If the user doesn't have a Documents folder, check for "My Documents" instead (thanks Windows). */ - - // L10n: This is the folder name on OS X, Linux, and recent - // versions of Windows that a user's documents are stored in, - // relative to the user's home directory. If you need to use a - // space in this name, then it should have two backslashes (\\) - // in front of it. Regardless, this must have a single forward - // slash (/) as its first character. - let docPath = path.join(homePath, locale.say('/Documents')); + + /* + L10n: This is the folder name on OS X, Linux, and recent versions of + Windows that a user's documents are stored in, relative to the user's + home directory. If you need to use a space in this name, then it should + have two backslashes (\\) in front of it. + */ + let docPath = path.join(homePath, locale.say('Documents')); if (fs.existsSync(docPath)) { return docPath; } - // L10n: This is the folder name on Windows XP that a user's - // documents are stored in, relative to the user's home - // directory. This is used if a folder with the name given - // by the translation key '/Documents' does not exist. If - // you need to use a space in // this name, then it should have - // two backslashes (\\) in front of it. Regardless, this - // must have a single forward slash (/) as its first character. + /* + L10n: This is the folder name on Windows XP that a user's + documents are stored in, relative to the user's home + directory. This is used if a folder with the name given + by the translation key '/Documents' does not exist. If + you need to use a space in this name, then it should have + two backslashes (\\) in front of it. + */ docPath = path.join(homePath, locale.say('My\\ Documents')); if (fs.existsSync(docPath)) { @@ -70,26 +71,6 @@ const Directories = module.exports = { ); }, - /* - Creates a path if it doesn't exist, along with any intermediary directories - needed. - */ - - createPath(newPath) { - const fs = require('fs'); - const path = require('path'); - - let intermediatePath = newPath.startsWith(path.sep) ? path.sep : ''; - - newPath.split(path.sep).forEach(dir => { - intermediatePath = path.join(intermediatePath, dir); - - if (!fs.existsSync(intermediatePath)) { - fs.mkdirSync(intermediatePath); - } - }); - }, - /* Locks the story directory to prevent the user from changing it outside of Twine. diff --git a/src/nw/index.js b/src/nw/index.js index ab3bbcdd0..5b5f46f0e 100644 --- a/src/nw/index.js +++ b/src/nw/index.js @@ -21,6 +21,10 @@ module.exports = { return; } + if (window.location.hash !== '') { + return; + } + require('core-js'); require('./index.less'); @@ -29,6 +33,7 @@ module.exports = { try { const gui = require('nw.gui'); + const mkdirp = require('mkdirp'); const directories = require('./directories'); const menus = require('./menus'); const patchQuotaGauge = require('./patches/quota-gauge'); @@ -58,7 +63,7 @@ module.exports = { startupTask = 'adding the debugger keyboard shortcut'; document.addEventListener('keyup', e => { - if (e.which == 68 && e.shiftKey && e.altKey && e.ctrlKey) { + if (e.which === 68 && e.shiftKey && e.altKey && e.ctrlKey) { win.showDevTools(); } }); @@ -68,7 +73,7 @@ module.exports = { startupTask = 'checking for the presence of a Documents or My ' + 'Documents directory in your user directory'; - directories.createPath(directories.storiesPath()); + mkdirp.sync(directories.storiesPath()); /* Open external links outside the app. */ @@ -99,13 +104,10 @@ module.exports = { starting afresh and screw up our model IDs. */ - if (!global.nwFirstRun) { - startupTask = 'initially synchronizing story files'; - storyFile.loadAll(); - startupTask = 'initially locking your Stories directory'; - directories.lockStories(); - global.nwFirstRun = true; - } + startupTask = 'initially synchronizing story files'; + storyFile.loadAll(); + startupTask = 'initially locking your Stories directory'; + directories.lockStories(); /* Monkey patch the store module to save to a file under diff --git a/src/nw/menus.js b/src/nw/menus.js index dd6777c90..5fbd4ee65 100644 --- a/src/nw/menus.js +++ b/src/nw/menus.js @@ -1,7 +1,7 @@ -// Sets up menus in the NW.js version. +/* Sets up menus in the NW.js version. */ module.exports = { - // Adds menus to a NW.js window. + /* Adds menus to a NW.js window. */ addTo(win) { const directories = require('./directories'); @@ -11,15 +11,17 @@ module.exports = { const nativeMenuBar = new gui.Menu({ type: 'menubar' }); let mainMenu; - if (process.platform == 'darwin') { - // create Mac menus. + if (global.process.platform === 'darwin') { + /* Create Mac menus. */ nativeMenuBar.createMacBuiltin(locale.say('Twine')); mainMenu = nativeMenuBar.items.filter(item => item.label === '')[0]; - - // Add a fullscreen item. This is on OS X only for now, because it's - // hard to reverse on other platforms if you don't remember the - // keyboard shortcut. + + /* + Add a fullscreen item. This is on OS X only for now, because it's + hard to reverse on other platforms if you don't remember the + keyboard shortcut. + */ mainMenu.submenu.insert(new gui.MenuItem({ label: locale.say('Toggle Fullscreen'), @@ -31,7 +33,7 @@ module.exports = { }), 0); } else { - // Create a basic menu on other platforms. + /* Create a basic menu on other platforms. */ mainMenu = new gui.MenuItem({ label: locale.say('Twine'), @@ -53,7 +55,7 @@ module.exports = { ); nativeMenuBar.append(mainMenu); - // ... And a stand-in Edit menu. + /* ... And a stand-in Edit menu. */ const editMenu = new gui.MenuItem({ label: locale.say('Edit'), @@ -110,7 +112,7 @@ module.exports = { nativeMenuBar.append(editMenu); } - // Add a menu item to show the story library. + /* Add a menu item to show the story library. */ mainMenu.submenu.insert(new gui.MenuItem({ label: locale.say('Show Library'), diff --git a/src/ui/buttons.less b/src/ui/buttons.less index f6a9b2b92..24dc0fa8e 100644 --- a/src/ui/buttons.less +++ b/src/ui/buttons.less @@ -102,6 +102,25 @@ button, a.button { box-shadow: none; background: none; } + + &.danger { + color: @color-text; + background: none; + box-shadow: none; + + &:hover { + color: @color-danger; + background: none; + } + + .theme-dark & { + color: @color-text-dark; + + &:hover { + color: @color-danger; + } + } + } } .theme-dark & { diff --git a/story-formats/harlowe-2.0.0/format.js b/story-formats/harlowe-2.0.0/format.js index 5177d5e3a..aa6414376 100644 --- a/story-formats/harlowe-2.0.0/format.js +++ b/story-formats/harlowe-2.0.0/format.js @@ -1 +1 @@ -window.storyFormat({"name":"Harlowe","version":"2.0.0","author":"Leon Arnott","description":"The default story format for Twine 2. See its documentation.","image":"icon.svg","url":"http://twinery.org/","proofing":false,"source":"\n\n\n\n{{STORY_NAME}}\n\n\n\n\n\n\n\n{{STORY_DATA}}\n\n\n\n\n\n\n","setup": function(){"use strict";}}); \ No newline at end of file +window.storyFormat({"name":"Harlowe","version":"2.0.0","author":"Leon Arnott","description":"The default story format for Twine 2. See its documentation.","image":"icon.svg","url":"http://twinery.org/","license":"Zlib","proofing":false,"source":"\n\n\n\n{{STORY_NAME}}\n\n\n\n\n\n\n\n{{STORY_DATA}}\n\n\n\n\n\n\n","setup": function(){"use strict";}}); \ No newline at end of file diff --git a/webpack.config.js b/webpack.config.js index 3dbf3d73a..b7f68ece7 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -22,7 +22,7 @@ module.exports = { is expecting a string as output, not a function. */ { test: /\.ejs$/, exclude: /index\.ejs$/, loader: 'ejs' }, - { test: /\.html$/, loader: 'raw' }, + { test: /\.html$/, loader: 'html' }, { test: /\.less$/, loader: ExtractTextPlugin.extract('style-loader', 'css-loader!less-loader') }, { test: /\.json$/, loader: 'json' } ],