Merge branch 'release/4.3.5'

# Conflicts:
#	CHANGELOG.md
#	CotEditor.xcodeproj/project.pbxproj
#	CotEditor/CotEditor.help/Contents/Resources/en.lproj/CotEditor.helpindex
#	CotEditor/CotEditor.help/Contents/Resources/en.lproj/pgs/releasenotes.html
#	CotEditor/CotEditor.help/Contents/Resources/ja.lproj/CotEditor.helpindex
#	CotEditor/CotEditor.help/Contents/Resources/ja.lproj/pgs/releasenotes.html
#	CotEditor/Sources/Document.swift
#	CotEditor/fr.lproj/Main.strings
This commit is contained in:
1024jp 2022-09-17 10:20:06 +09:00
commit 7b64dbc9b6
28 changed files with 168 additions and 300 deletions

View File

@ -2,7 +2,7 @@
Change Log
==========================
4.4.0 (531)
4.4.0-beta (531)
--------------------------
### New Features
@ -39,12 +39,27 @@ Change Log
- [trivial] Improve the basic regular expression syntax reference.
- [trivial] Improve the status bar display.
- [dev] Update the build environment to Xcode 14.0 beta 6.
- [non-AppStore ver.] Update Sparkle to 2.2.2.
4.3.5 (529)
--------------------------
### Improvements
- [non-AppStore ver.] Update Sparkle from 2.2.1 to 2.2.2.
### Fixes
- Fix an issue that memory could leak when the opacity toolbar item is used.
- Fix an issue that the option “Give execute permission” in the save dialog was applied to the document even when the save operation was canceled.
- Address an issue since macOS 12.4 that the buttons in the save dialog became occasionally unresponsive when the application is running in some specific Japanese environment.
- Fix an issue that memory could leak when the opacity toolbar item is used.
- Fix an issue that the column of the outline pane was narrower than the list width.
- Fix an issue that the width of the line number view was not updated when the content was changed on disk.
- Fix some typos.
- [non-AppStore ver.] Fix an issue that a message about the software update in the General pane was hidden.
@ -62,7 +77,7 @@ Change Log
### Fixes
- Fix an issue that the application could hang up when an opened document shared in iCloud Drive was modified in another machine.
- Fix an issue that the application could hang up when an opened document shared in iCloud Drive was modified in another machine.
- Fix an issue that document windows sometimes did not shift the initial position from the last window.
- Fix an issue that the scrollable area of the editor in vertical layout orientation could be clipped wrongly when scaled.
- Fix an issue that some text was not localized.

View File

@ -395,10 +395,10 @@
<objects>
<viewController id="q0M-8Q-aM1" customClass="UpdatesViewController" customModule="CotEditor" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" translatesAutoresizingMaskIntoConstraints="NO" id="LLa-wu-mor">
<rect key="frame" x="0.0" y="0.0" width="580" height="99"/>
<rect key="frame" x="0.0" y="0.0" width="580" height="103"/>
<subviews>
<button verticalHuggingPriority="750" verticalCompressionResistancePriority="751" tag="-1" translatesAutoresizingMaskIntoConstraints="NO" id="eh0-fN-8C5">
<rect key="frame" x="130" y="57" width="222" height="18"/>
<rect key="frame" x="130" y="61" width="222" height="18"/>
<buttonCell key="cell" type="check" title="Check for updates automatically" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="3423">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="system"/>
@ -408,7 +408,7 @@
</connections>
</button>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="751" tag="-1" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="lSi-dW-Eg4">
<rect key="frame" x="18" y="58" width="108" height="16"/>
<rect key="frame" x="18" y="62" width="108" height="16"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" alignment="right" title="Software update:" usesSingleLineMode="YES" id="geU-63-sAC">
<font key="font" metaFont="system"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@ -416,7 +416,7 @@
</textFieldCell>
</textField>
<button verticalHuggingPriority="750" verticalCompressionResistancePriority="751" tag="-1" translatesAutoresizingMaskIntoConstraints="NO" id="FJU-WB-SQP">
<rect key="frame" x="130" y="35" width="259" height="18"/>
<rect key="frame" x="130" y="39" width="259" height="18"/>
<buttonCell key="cell" type="check" title="Update to pre-releases when available" bezelStyle="regularSquare" imagePosition="left" inset="2" id="4aT-ka-sbv">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="system"/>
@ -426,7 +426,7 @@
</connections>
</button>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" verticalCompressionResistancePriority="751" tag="-2" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="dyM-Pb-Ay4">
<rect key="frame" x="150" y="8" width="412" height="24"/>
<rect key="frame" x="150" y="8" width="412" height="28"/>
<textFieldCell key="cell" controlSize="small" sendsActionOnEndEditing="YES" title="Regardless of this setting, new pre-releases are always included while using a pre-release." id="chR-VY-cuI">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@ -434,7 +434,7 @@
</textFieldCell>
</textField>
<box verticalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="9j3-BL-0Mu">
<rect key="frame" x="20" y="86" width="540" height="5"/>
<rect key="frame" x="20" y="90" width="540" height="5"/>
</box>
</subviews>
<constraints>
@ -443,7 +443,6 @@
<constraint firstItem="lSi-dW-Eg4" firstAttribute="baseline" secondItem="eh0-fN-8C5" secondAttribute="baseline" id="GXP-ey-68V"/>
<constraint firstItem="lSi-dW-Eg4" firstAttribute="leading" secondItem="LLa-wu-mor" secondAttribute="leading" constant="20" symbolic="YES" id="KLl-Cd-slR"/>
<constraint firstItem="eh0-fN-8C5" firstAttribute="leading" secondItem="lSi-dW-Eg4" secondAttribute="trailing" constant="8" symbolic="YES" id="NnR-c2-aUX"/>
<constraint firstAttribute="bottom" secondItem="FJU-WB-SQP" secondAttribute="bottom" priority="751" constant="8" id="PHC-tL-mcq"/>
<constraint firstItem="9j3-BL-0Mu" firstAttribute="leading" secondItem="LLa-wu-mor" secondAttribute="leading" constant="20" symbolic="YES" id="Peg-z2-ye7"/>
<constraint firstItem="9j3-BL-0Mu" firstAttribute="top" secondItem="LLa-wu-mor" secondAttribute="top" constant="10" id="YRP-MT-gVv"/>
<constraint firstAttribute="trailing" secondItem="9j3-BL-0Mu" secondAttribute="trailing" constant="20" symbolic="YES" id="Ygt-p7-MQ7"/>

View File

@ -1,42 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.Storyboard.XIB" version="3.0" toolsVersion="17503.1" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" initialViewController="yaW-ka-qKo">
<dependencies>
<deployment identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17503.1"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--View Controller-->
<scene sceneID="j99-ea-IO6">
<objects>
<viewController id="yaW-ka-qKo" sceneMemberID="viewController">
<view key="view" id="2gd-Li-J8K">
<rect key="frame" x="0.0" y="0.0" width="212" height="36"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<subviews>
<button translatesAutoresizingMaskIntoConstraints="NO" id="nZM-DA-dgh">
<rect key="frame" x="18" y="9" width="174" height="18"/>
<buttonCell key="cell" type="check" title="Give execute permission" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="KjO-BV-esE">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<binding destination="yaW-ka-qKo" name="value" keyPath="representedObject.isExecutable" id="rGr-g7-vEG"/>
</connections>
</button>
</subviews>
<constraints>
<constraint firstItem="nZM-DA-dgh" firstAttribute="centerX" secondItem="2gd-Li-J8K" secondAttribute="centerX" id="HgL-Pg-FjO"/>
<constraint firstItem="nZM-DA-dgh" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="2gd-Li-J8K" secondAttribute="leading" constant="20" symbolic="YES" id="IrP-wE-6fg"/>
<constraint firstItem="nZM-DA-dgh" firstAttribute="top" secondItem="2gd-Li-J8K" secondAttribute="top" constant="10" id="JMH-Jd-fld"/>
<constraint firstAttribute="bottom" secondItem="nZM-DA-dgh" secondAttribute="bottom" constant="10" id="Vls-FA-Zx0"/>
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="nZM-DA-dgh" secondAttribute="trailing" constant="20" symbolic="YES" id="poh-BO-soJ"/>
</constraints>
</view>
</viewController>
<customObject id="r0f-ks-8VQ" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="165" y="132"/>
</scene>
</scenes>
</document>

View File

@ -63,7 +63,23 @@
<li><span class="trivial">trivial</span>: Improve the basic regular expression syntax reference.</li>
<li><span class="trivial">trivial</span>: Improve the status bar display.</li>
<li><span class="trivial">dev</span>: Update the build environment to Xcode 14.0.</li>
<li><span class="label">non-AppStore ver.</span>: Update Sparkle to 2.2.2.</li>
</ul>
</section>
</article>
<article>
<header>
<h1>CotEditor 4.3.5</h1>
<p>release: <time>2022-09-17</time></p>
</header>
<section>
<h2>Improvements</h2>
<ul>
<li><span class="label">non-AppStore ver.</span>: Update Sparkle from 2.2.1 to 2.2.2.</li>
</ul>
</section>
@ -73,6 +89,13 @@
<ul>
<li>Fix an issue that memory could leak when the opacity toolbar item is used.</li>
<li>Fix an issue that the option “Give execute permission” in the save dialog was applied to the document even when the save operation was canceled.</li>
<li>Address an issue since macOS 12.4 that the buttons in the save dialog became occasionally unresponsive when the application is running in some specific Japanese environment.</li>
<li>Fix an issue that the column of the outline pane was narrower than the list width.</li>
<li>Fix an issue that memory could leak when the opacity toolbar item is used.</li>
<li>Fix an issue that the width of the line number view was not updated when the content was changed on disk.</li>
<li>Fix some typos.</li>
<li><span class="label">non-AppStore ver.</span>: Fix an issue that a message about the software update in the General pane was hidden.</li>
</ul>
</section>
</article>

View File

@ -63,7 +63,23 @@
<li><span class="trivial">trivial</span>: 正規表現の基本文法表示を改良</li>
<li><span class="trivial">trivial</span>: ステータスバーの表示を最適化</li>
<li><span class="trivial">開発</span>: 開発環境をXcode 14.0 (macOS 13 SDK)に更新</li>
<li><span class="label">非AppStore版</span>: Sparkleを2.2.2に更新</li>
</ul>
</section>
</article>
<article>
<header>
<h1>CotEditor 4.3.5</h1>
<p>リリース: <time>2022-09-17</time></p>
</header>
<section>
<h2>改良</h2>
<ul>
<li><span class="label">非AppStore版</span>: Sparkleを2.2.1から2.2.2に更新</li>
</ul>
</section>
@ -73,6 +89,13 @@
<ul>
<li>不透明度ツールバー項目を表示しているとメモリリークが起こる可能性があった不具合を修正</li>
<li>保存ダイアログの「実行権を付与」オプションの変更が保存をキャンセルしたときにも引き継がれていた不具合を修正</li>
<li>特定の環境下で日本語環境のとき保存ダイアログのボタンが無反応になることがあるmacOS 12.4以降の不具合に対処</li>
<li>不透明度ツールバー項目を使用するとメモリがリークした不具合を修正</li>
<li>アウトラインインスペクタのカラムの幅がリストの幅より狭くなっていた不具合を修正</li>
<li>ディスク上のファイル変更によりエディタが更新された時に行番号ビューの幅が更新されなかった不具合を修正</li>
<li>いくつかのタイポを修正</li>
<li><span class="label">非AppStore版</span>: 「一般」環境設定のソフトウェア・アップデートに関する補足説明が非表示になっていた不具合を修正</li>
</ul>
</section>
</article>

View File

@ -1,15 +1,14 @@
//
// SaveDocumentAccessory.strings (Turkish)
// DelegateContext.swift
//
// CotEditor
// https://coteditor.com
//
// Created by Emir SARI on 2022-01-28.
// Localized by Emir SARI
// Created by 1024jjp on 2022-09-16.
//
// ---------------------------------------------------------------------------
//
// © 2022 1024jp
// © 2022 1024jjp
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -24,5 +23,11 @@
// limitations under the License.
//
/* Class = "NSButtonCell"; title = "Give execute permission"; ObjectID = "KjO-BV-esE"; */
"KjO-BV-esE.title" = "Çalıştırma izni ver";
import Foundation.NSObjCRuntime
struct DelegateContext {
var delegate: Any?
var selector: Selector?
var contextInfo: UnsafeMutableRawPointer?
}

View File

@ -67,14 +67,14 @@ final class Document: NSDocument, AdditionalDocumentPreparing, EncodingHolder {
// MARK: Private Properties
private lazy var printPanelAccessoryController = PrintPanelAccessoryController.instantiate(storyboard: ProcessInfo.processInfo.operatingSystemVersion.majorVersion >= 13 ? "PrintPanelAccessoryVentura" : "PrintPanelAccessory")
private var savePanelAccessoryController: NSViewController?
private var readingEncoding: String.Encoding? // encoding to read document file
private var suppressesInconsistentLineEndingAlert = false
private var isExternalUpdateAlertShown = false
private var fileData: Data?
private var shouldSaveXattr = true
@objc private dynamic var isExecutable = false // bind in save panel accessory view
dynamic var isExecutable = false
@objc private dynamic var isExecutableFromLastRunSavePanel = false // bind in save panel accessory view
private var sytnaxUpdateObserver: AnyCancellable?
private var textStorageObserver: AnyCancellable?
@ -515,6 +515,15 @@ final class Document: NSDocument, AdditionalDocumentPreparing, EncodingHolder {
}
override func runModalSavePanel(for saveOperation: NSDocument.SaveOperationType, delegate: Any?, didSave didSaveSelector: Selector?, contextInfo: UnsafeMutableRawPointer?) {
self.isExecutableFromLastRunSavePanel = self.isExecutable
let context = DelegateContext(delegate: delegate, selector: didSaveSelector, contextInfo: contextInfo)
super.runModalSavePanel(for: saveOperation, delegate: self, didSave: #selector(document(_:didCloseSavePanel:contextInfo:)), contextInfo: bridgeWrapped(context))
}
/// avoid let system add the standard save panel accessory (pop-up menu for document type change)
override var shouldRunSavePanelWithAccessoryView: Bool {
@ -543,9 +552,19 @@ final class Document: NSDocument, AdditionalDocumentPreparing, EncodingHolder {
}
// set accessory view
self.savePanelAccessoryController = .instantiate(storyboard: "SaveDocumentAccessory")
self.savePanelAccessoryController?.representedObject = self
savePanel.accessoryView = self.savePanelAccessoryController?.view
let checkbox = NSButton(checkboxWithTitle: "Give execute permission".localized, target: nil, action: nil)
checkbox.bind(.value, to: self, withKeyPath: #keyPath(isExecutableFromLastRunSavePanel))
checkbox.translatesAutoresizingMaskIntoConstraints = false
let accessoryView = NSView()
accessoryView.addSubview(checkbox)
NSLayoutConstraint.activate([
checkbox.centerXAnchor.constraint(equalTo: accessoryView.centerXAnchor),
checkbox.leadingAnchor.constraint(greaterThanOrEqualToSystemSpacingAfter: accessoryView.leadingAnchor, multiplier: 1),
accessoryView.trailingAnchor.constraint(greaterThanOrEqualToSystemSpacingAfter: checkbox.trailingAnchor, multiplier: 1),
checkbox.topAnchor.constraint(equalToSystemSpacingBelow: accessoryView.topAnchor, multiplier: 0.5),
accessoryView.bottomAnchor.constraint(equalToSystemSpacingBelow: checkbox.bottomAnchor, multiplier: 0.5),
])
savePanel.accessoryView = accessoryView
return true
}
@ -598,7 +617,6 @@ final class Document: NSDocument, AdditionalDocumentPreparing, EncodingHolder {
override func close() {
self.textStorageObserver?.cancel()
self.savePanelAccessoryController?.representedObject = nil
super.close()
}
@ -1061,6 +1079,29 @@ final class Document: NSDocument, AdditionalDocumentPreparing, EncodingHolder {
// MARK: Private Methods
/// callback from save panel after calling `runModalSavePanel(for:didSave:contextInfo)`.
@objc private func document(_ document: NSDocument, didCloseSavePanel didAccept: Bool, contextInfo: UnsafeMutableRawPointer) {
if didAccept {
self.isExecutable = self.isExecutableFromLastRunSavePanel
}
// manually invoke the original delegate method
guard
let context: DelegateContext = bridgeUnwrapped(contextInfo),
let delegate = context.delegate as? NSObject,
let selector = context.selector,
let objcClass = objc_getClass(delegate.className) as? AnyClass,
let method = class_getMethodImplementation(objcClass, selector)
else { return assertionFailure() }
typealias Signature = @convention(c) (AnyObject, Selector, AnyObject, Bool, UnsafeMutableRawPointer?) -> Void
let function = unsafeBitCast(method, to: Signature.self)
function(delegate, selector, self, didAccept, context.contextInfo)
}
/// transfer file information to UI
private func applyContentToWindow() {

View File

@ -260,14 +260,6 @@ final class DocumentController: NSDocumentController {
// MARK: Private Methods
private struct DelegateContext {
var delegate: Any?
var selector: Selector?
var contextInfo: UnsafeMutableRawPointer?
}
/// transient document to be replaced or nil
private var transientDocumentToReplace: Document? {

View File

@ -378,7 +378,12 @@ final class LineNumberView: NSView {
self.textViewSubscriptions.removeAll()
NotificationCenter.default.publisher(for: NSText.didChangeNotification, object: textView)
// observe content change
NotificationCenter.default.publisher(for: NSTextStorage.didProcessEditingNotification, object: nil)
.compactMap { $0.object as? NSTextStorage }
.receive(on: RunLoop.main) // touch textView on main thread
.filter { [weak self] in $0 == self?.textView?.textStorage }
.filter { $0.editedMask.contains(.editedCharacters) }
.receive(on: DispatchQueue.main)
.sink { [weak self] _ in
// -> The digit of the line numbers affect thickness.

View File

@ -92,6 +92,10 @@ final class OutlineViewController: NSViewController {
super.viewWillAppear()
// Workaround a long-standing issue in single column table views.
// cf. [#1365](https://github.com/coteditor/CotEditor/pull/1365)
self.outlineView?.sizeLastColumnToFit()
self.fontSizeObserver = UserDefaults.standard.publisher(for: .outlineViewFontSize, initial: true)
.sink { [weak self] _ in
self?.outlineView?.reloadData()

View File

@ -63,7 +63,7 @@
/* Class = "NSTextFieldCell"; title = "Line wrapping:"; ObjectID = "P1I-gs-RgX"; */
"P1I-gs-RgX.title" = "Zeilenumbruch:";
/* Class = "NSButtonCell"; title = "Wrap lines to editor width"; ObjectID = "3274"; */
"3274.title" = "Zeilen an Editorbreite anpasen";
"3274.title" = "Zeilen an Editorbreite anpassen";
/* Class = "NSButtonCell"; title = "Indent wrapped lines by:"; ObjectID = "mCq-92-2sT"; */
"mCq-92-2sT.title" = "Umgebrochene Zeilen einrücken um:";
/* Class = "NSTextFieldCell"; title = "spaces"; ObjectID = "P9V-pV-PAX"; */

View File

@ -221,6 +221,9 @@
"Keep CotEditors Edition" = "CotEditors Version behalten";
"Update" = "Aktualisieren";
// Save panel options
"Give execute permission" = "Ausführungsrecht geben";
/* MARK: Document Window */

View File

@ -1,28 +0,0 @@
//
// SaveDocumentAccessory.strings (German)
//
// CotEditor
// https://coteditor.com
//
// Created by 1024jp on 2016-03-06.
// Localized by 1024jp
//
// ---------------------------------------------------------------------------
//
// © 2016 CotEditor Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
/* Class = "NSButtonCell"; title = "Give execute permission"; ObjectID = "KjO-BV-esE"; */
"KjO-BV-esE.title" = "Ausführungsrecht geben";

View File

@ -221,6 +221,9 @@
"Keep CotEditors Edition" = "Keep CotEditors Edition";
"Update" = "Update";
// Save panel options
"Give execute permission" = "Give execute permission";
/* MARK: Document Window */

View File

@ -1,28 +0,0 @@
//
// SaveDocumentAccessory.strings (English (UK))
//
// CotEditor
// https://coteditor.com
//
// Created by Alex Newson on 2022-01-30.
// Localized by 1024jp
//
// ---------------------------------------------------------------------------
//
// © 2022 1024jp
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
/* Class = "NSButtonCell"; title = "Give execute permission"; ObjectID = "KjO-BV-esE"; */
"KjO-BV-esE.title" = "Give execute permission";

View File

@ -221,6 +221,9 @@
"Keep CotEditors Edition" = "Garder la version dans CotEditor";
"Update" = "Rafraîchir";
// Save panel options
"Give execute permission" = "Donner la permission déxécution";
/* MARK: Document Window */

View File

@ -1,28 +0,0 @@
//
// SaveDocumentAccessory.strings (French)
//
// CotEditor
// https://coteditor.com
//
// Created by Aurélien Roy on 2019-04-26.
// Localized by Aurélien Roy
//
// ---------------------------------------------------------------------------
//
// © 2015-2022 CotEditor Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
/* Class = "NSButtonCell"; title = "Give execute permission"; ObjectID = "KjO-BV-esE"; */
"KjO-BV-esE.title" = "Donner la permission déxécution";

View File

@ -221,6 +221,9 @@
"Keep CotEditors Edition" = "Mantieni la versione di CotEditor";
"Update" = "Aggiorna";
// Save panel options
"Give execute permission" = "Assegna i permessi di esecuzione";
/* MARK: Document Window */

View File

@ -1,28 +0,0 @@
//
// SaveDocumentAccessory.strings (Italian)
//
// CotEditor
// https://coteditor.com
//
// Created by 1024jp on 2016-09-28.
// Localized by Agostino Maiello
//
// ---------------------------------------------------------------------------
//
// © 2016 CotEditor Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
/* Class = "NSButtonCell"; title = "Give execute permission"; ObjectID = "KjO-BV-esE"; */
"KjO-BV-esE.title" = "Assegna i permessi di esecuzione";

View File

@ -221,6 +221,9 @@
"Keep CotEditors Edition" = "CotEditorの編集内容を保持";
"Update" = "更新";
// Save panel options
"Give execute permission" = "実行権を付与";
/* MARK: Document Window */

View File

@ -1,28 +0,0 @@
//
// SaveDocumentAccessory.strings (Japanese)
//
// CotEditor
// https://coteditor.com
//
// Created by 1024jp on 2016-03-06.
// Localized by 1024jp
//
// ---------------------------------------------------------------------------
//
// © 2016 CotEditor Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
/* Class = "NSButtonCell"; title = "Give execute permission"; ObjectID = "KjO-BV-esE"; */
"KjO-BV-esE.title" = "実行権を付与";

View File

@ -221,6 +221,9 @@
"Keep CotEditors Edition" = "Manter Edição do CotEditor";
"Update" = "Atualizar";
// Save panel options
"Give execute permission" = "Conceder permissão de execução";
/* MARK: Document Window */

View File

@ -1,28 +0,0 @@
//
// SaveDocumentAccessory.strings (Portuguese)
//
// CotEditor
// https://coteditor.com
//
// Created by BR Lingo on 2018-01-15.
// Localized by BR Lingo
//
// ---------------------------------------------------------------------------
//
// © 2018 CotEditor Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
/* Class = "NSButtonCell"; title = "Give execute permission"; ObjectID = "KjO-BV-esE"; */
"KjO-BV-esE.title" = "Conceder permissão de execução";

View File

@ -221,6 +221,9 @@
"Keep CotEditors Edition" = "CotEditor Değişikliklerini Tut";
"Update" = "Güncelle";
// Save panel options
"Give execute permission" = "Çalıştırma izni ver";
/* MARK: Document Window */

View File

@ -221,6 +221,9 @@
"Keep CotEditors Edition" = "保留CotEditor编辑的内容";
"Update" = "更新";
// Save panel options
"Give execute permission" = "付与执行权限";
/* MARK: Document Window */

View File

@ -1,28 +0,0 @@
//
// SaveDocumentAccessory.strings (Simplified Chinese)
//
// CotEditor
// https://coteditor.com
//
// Created by 1024jp on 2016-03-06.
// Localized by onevcat
//
// ---------------------------------------------------------------------------
//
// © 2016 CotEditor Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
/* Class = "NSButtonCell"; title = "Give execute permission"; ObjectID = "KjO-BV-esE"; */
"KjO-BV-esE.title" = "付与执行权限";

View File

@ -221,6 +221,9 @@
"Keep CotEditors Edition" = "保留CotEditor編輯的內容";
"Update" = "更新";
// Save panel options
"Give execute permission" = "付與執行許可權";
/* MARK: Document Window */

View File

@ -1,28 +0,0 @@
//
// SaveDocumentAccessory.strings (Traditional Chinese)
//
// CotEditor
// https://coteditor.com
//
// Created by 1024jp on 2016-03-06.
// zh-Hant localization by Shiki Suen based on OnevCat's zh-Hans localization.
//
// ---------------------------------------------------------------------------
//
// © 2016 CotEditor Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
/* Class = "NSButtonCell"; title = "Give execute permission"; ObjectID = "KjO-BV-esE"; */
"KjO-BV-esE.title" = "付與執行許可權";