Compare commits
47 Commits
macmenu
...
ba23208a7a
| Author | SHA1 | Date | |
|---|---|---|---|
| ba23208a7a | |||
| ed5a602332 | |||
| 347681e604 | |||
| 505ab9e2a6 | |||
| c787e14a69 | |||
| 29c5783a66 | |||
|
|
ddc75f7cd0 | ||
| f976fea418 | |||
| 2846e4907b | |||
| c828f86b74 | |||
| 040e2a7b5f | |||
| b566096b1f | |||
| 2bee79c064 | |||
|
|
91696963ae | ||
| 1623ca315a | |||
| 3cfb25db9a | |||
| 36854d19f4 | |||
| 3f7ebd2f6c | |||
| 291a98ea97 | |||
| 24a0b581f3 | |||
| 369aa13be3 | |||
| b964fdc77f | |||
| d6d2703c93 | |||
| c6068ba23d | |||
| fbdd858fbd | |||
| 8333f17199 | |||
| 30eb06cba7 | |||
| 0a45cd7c22 | |||
| fc417b30e5 | |||
|
|
8568f6d4ef | ||
| 8832c2daa9 | |||
| da9d7d6989 | |||
| 317d296507 | |||
| f24743e381 | |||
| fd4af282af | |||
| 4de03dd02e | |||
|
|
bfaf702606 | ||
| 3203d7f598 | |||
| cbd006bae7 | |||
|
|
fc13a497d3 | ||
| 183a61b2f6 | |||
|
|
ae07c5fe44 | ||
| a33381557b | |||
| 6d8ec6a54a | |||
| dd3209e3ff | |||
| 088066197f | |||
|
|
3a8e907f28 |
3
.git-blame-ignore-revs
Normal file
3
.git-blame-ignore-revs
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
# .git-blame-ignore-revs
|
||||||
|
# CR LF to LF
|
||||||
|
ed5a6023326fd2ab420ded76976501be33e0b389
|
||||||
5
.gitattributes
vendored
Normal file
5
.gitattributes
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
*.txt text eol=lf
|
||||||
|
*.cpp text eol=lf
|
||||||
|
*.h text eol=lf
|
||||||
|
*.ui text eol=lf
|
||||||
|
*.qml text eol=lf
|
||||||
2
.github/workflows/macos.yml
vendored
2
.github/workflows/macos.yml
vendored
@@ -12,7 +12,7 @@ jobs:
|
|||||||
- name: Install Qt
|
- name: Install Qt
|
||||||
uses: jurplel/install-qt-action@v4
|
uses: jurplel/install-qt-action@v4
|
||||||
with:
|
with:
|
||||||
version: '6.8.1'
|
version: '6.9.1'
|
||||||
modules: 'qtimageformats'
|
modules: 'qtimageformats'
|
||||||
- name: Install Conan and Dependencies
|
- name: Install Conan and Dependencies
|
||||||
id: conan
|
id: conan
|
||||||
|
|||||||
8
.github/workflows/reuse-check.yml
vendored
8
.github/workflows/reuse-check.yml
vendored
@@ -7,9 +7,11 @@ name: REUSE Compliance Check
|
|||||||
on: [push, pull_request]
|
on: [push, pull_request]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
test:
|
reuse-compliance-check:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: REUSE Compliance Check
|
- name: REUSE Compliance Check
|
||||||
uses: fsfe/reuse-action@v2
|
uses: fsfe/reuse-action@v5
|
||||||
|
|||||||
26
.github/workflows/ubuntu.yml
vendored
26
.github/workflows/ubuntu.yml
vendored
@@ -3,30 +3,6 @@ name: Ubuntu CI
|
|||||||
on: [push, pull_request]
|
on: [push, pull_request]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
ubuntu-22-04-build:
|
|
||||||
runs-on: ubuntu-22.04
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- name: Get build dept.
|
|
||||||
run: |
|
|
||||||
sudo apt update
|
|
||||||
sudo apt install cmake qtbase5-dev libqt5svg5-dev qttools5-dev libexiv2-dev
|
|
||||||
- name: Build it
|
|
||||||
run: |
|
|
||||||
mkdir build
|
|
||||||
cd build
|
|
||||||
cmake ../ -DPREFER_QT_5=ON
|
|
||||||
make
|
|
||||||
cpack -G DEB
|
|
||||||
- name: Try install it
|
|
||||||
run: |
|
|
||||||
cd build
|
|
||||||
sudo apt install ./*.deb
|
|
||||||
- uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: ubuntu-22.04-deb-package
|
|
||||||
path: build/*.deb
|
|
||||||
|
|
||||||
ubuntu-24-04-build:
|
ubuntu-24-04-build:
|
||||||
runs-on: ubuntu-24.04
|
runs-on: ubuntu-24.04
|
||||||
steps:
|
steps:
|
||||||
@@ -39,7 +15,7 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
cmake ../ -DPREFER_QT_5=OFF
|
cmake ../
|
||||||
make
|
make
|
||||||
cpack -G DEB
|
cpack -G DEB
|
||||||
- name: Try install it
|
- name: Try install it
|
||||||
|
|||||||
44
.github/workflows/windows.yml
vendored
44
.github/workflows/windows.yml
vendored
@@ -8,7 +8,7 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- qt_ver: '6.8.1'
|
- qt_ver: '6.9.1'
|
||||||
vs: '2022'
|
vs: '2022'
|
||||||
aqt_arch: 'win64_msvc2022_64'
|
aqt_arch: 'win64_msvc2022_64'
|
||||||
msvc_arch: 'x64'
|
msvc_arch: 'x64'
|
||||||
@@ -44,7 +44,7 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- qt_ver: '6.8.1'
|
- qt_ver: '6.9.1'
|
||||||
vs: '2022'
|
vs: '2022'
|
||||||
aqt_arch: 'win64_msvc2022_64'
|
aqt_arch: 'win64_msvc2022_64'
|
||||||
msvc_arch: 'x64'
|
msvc_arch: 'x64'
|
||||||
@@ -71,44 +71,52 @@ jobs:
|
|||||||
:: ------ dep ------
|
:: ------ dep ------
|
||||||
set CMAKE_PREFIX_PATH=%PWD%/dependencies_bin
|
set CMAKE_PREFIX_PATH=%PWD%/dependencies_bin
|
||||||
mkdir dependencies_src
|
mkdir dependencies_src
|
||||||
:: ===== exiv2 =====
|
echo ::group::===== exiv2 =====
|
||||||
curl -fsSL -o exiv2_bin.zip https://github.com/Exiv2/exiv2/releases/download/v0.28.3/exiv2-0.28.3-2019msvc64.zip
|
curl -fsSL -o exiv2_bin.zip https://github.com/Exiv2/exiv2/releases/download/v0.28.5/exiv2-0.28.5-2022msvc-AMD64.zip
|
||||||
7z x exiv2_bin.zip -y
|
7z x exiv2_bin.zip -y
|
||||||
ren .\exiv2-0.28.3-2019msvc64 dependencies_bin
|
ren .\exiv2-0.28.5-2022msvc-AMD64 dependencies_bin
|
||||||
:: ===== zlib =====
|
echo ::endgroup::
|
||||||
|
echo ::group::===== zlib =====
|
||||||
curl -fsSL -o zlib_src.zip https://zlib.net/zlib131.zip
|
curl -fsSL -o zlib_src.zip https://zlib.net/zlib131.zip
|
||||||
7z x zlib_src.zip -y -o"dependencies_src"
|
7z x zlib_src.zip -y -o"dependencies_src"
|
||||||
ren .\dependencies_src\zlib-1.3.1 zlib || goto :error
|
ren .\dependencies_src\zlib-1.3.1 zlib || goto :error
|
||||||
cmake ./dependencies_src/zlib -Bbuild_dependencies/zlib -DCMAKE_INSTALL_PREFIX="dependencies_bin" || goto :error
|
cmake ./dependencies_src/zlib -Bbuild_dependencies/zlib -DCMAKE_INSTALL_PREFIX="dependencies_bin" || goto :error
|
||||||
cmake --build build_dependencies/zlib --config Release --target=install || goto :error
|
cmake --build build_dependencies/zlib --config Release --target=install || goto :error
|
||||||
curl -fsSL -o expat_src.zip https://github.com/libexpat/libexpat/archive/R_2_6_2.zip
|
curl -fsSL -o expat_src.zip https://github.com/libexpat/libexpat/archive/R_2_6_2.zip
|
||||||
:: ===== AOM for libavif AVI decoding support =====
|
echo ::endgroup::
|
||||||
git clone -q -b v3.10.0 --depth 1 https://aomedia.googlesource.com/aom dependencies_src/aom
|
echo ::group::===== AOM for libavif AVI decoding support =====
|
||||||
|
git clone -q -b v3.12.0 --depth 1 https://aomedia.googlesource.com/aom dependencies_src/aom
|
||||||
cmake ./dependencies_src/aom -Bbuild_dependencies/aom -DCMAKE_INSTALL_PREFIX="dependencies_bin" -DENABLE_DOCS=OFF -DBUILD_SHARED_LIBS=ON -DAOM_TARGET_CPU=generic -DENABLE_TESTS=OFF -DENABLE_TESTDATA=OFF -DENABLE_TOOLS=OFF -DENABLE_EXAMPLES=0 || goto :error
|
cmake ./dependencies_src/aom -Bbuild_dependencies/aom -DCMAKE_INSTALL_PREFIX="dependencies_bin" -DENABLE_DOCS=OFF -DBUILD_SHARED_LIBS=ON -DAOM_TARGET_CPU=generic -DENABLE_TESTS=OFF -DENABLE_TESTDATA=OFF -DENABLE_TOOLS=OFF -DENABLE_EXAMPLES=0 || goto :error
|
||||||
cmake --build build_dependencies/aom --config Release --target=install || goto :error
|
cmake --build build_dependencies/aom --config Release --target=install || goto :error
|
||||||
:: ===== libavif =====
|
echo ::endgroup::
|
||||||
curl -fsSL -o libavif-v1_1_1.zip https://github.com/AOMediaCodec/libavif/archive/v1.1.1.zip
|
echo ::group::===== libavif =====
|
||||||
7z x libavif-v1_1_1.zip -y -o"dependencies_src"
|
curl -fsSL -o libavif-v1_2_1.zip https://github.com/AOMediaCodec/libavif/archive/v1.2.1.zip
|
||||||
ren .\dependencies_src\libavif-1.1.1 libavif || goto :error
|
7z x libavif-v1_2_1.zip -y -o"dependencies_src"
|
||||||
cmake ./dependencies_src/libavif -Bbuild_dependencies/libavif -DCMAKE_INSTALL_PREFIX="dependencies_bin" -DAVIF_CODEC_AOM=ON -DAVIF_LOCAL_LIBYUV=ON
|
ren .\dependencies_src\libavif-1.2.1 libavif || goto :error
|
||||||
|
cmake ./dependencies_src/libavif -Bbuild_dependencies/libavif -DCMAKE_INSTALL_PREFIX="dependencies_bin" -DAVIF_CODEC_AOM=ON -DAVIF_LIBYUV=LOCAL
|
||||||
cmake --build build_dependencies/libavif --config Release --target=install || goto :error
|
cmake --build build_dependencies/libavif --config Release --target=install || goto :error
|
||||||
:: ===== expat =====
|
echo ::endgroup::
|
||||||
|
echo ::group::===== expat =====
|
||||||
7z x expat_src.zip -y -o"dependencies_src"
|
7z x expat_src.zip -y -o"dependencies_src"
|
||||||
ren .\dependencies_src\libexpat-R_2_6_2 expat || goto :error
|
ren .\dependencies_src\libexpat-R_2_6_2 expat || goto :error
|
||||||
cmake ./dependencies_src/expat/expat -Bbuild_dependencies/expat -DCMAKE_INSTALL_PREFIX="dependencies_bin" || goto :error
|
cmake ./dependencies_src/expat/expat -Bbuild_dependencies/expat -DCMAKE_INSTALL_PREFIX="dependencies_bin" || goto :error
|
||||||
cmake --build build_dependencies/expat --config Release --target=install || goto :error
|
cmake --build build_dependencies/expat --config Release --target=install || goto :error
|
||||||
:: ===== ECM =====
|
echo ::endgroup::
|
||||||
|
echo ::group::===== ECM =====
|
||||||
git clone -q https://invent.kde.org/frameworks/extra-cmake-modules.git dependencies_src/extra-cmake-modules
|
git clone -q https://invent.kde.org/frameworks/extra-cmake-modules.git dependencies_src/extra-cmake-modules
|
||||||
cmake .\dependencies_src\extra-cmake-modules -Bbuild_dependencies/extra-cmake-modules -DCMAKE_INSTALL_PREFIX="dependencies_bin" -DBUILD_TESTING=OFF || goto :error
|
cmake .\dependencies_src\extra-cmake-modules -Bbuild_dependencies/extra-cmake-modules -DCMAKE_INSTALL_PREFIX="dependencies_bin" -DBUILD_TESTING=OFF || goto :error
|
||||||
cmake --build build_dependencies/extra-cmake-modules --config Release --target=install || goto :error
|
cmake --build build_dependencies/extra-cmake-modules --config Release --target=install || goto :error
|
||||||
:: ===== KArchive =====
|
echo ::endgroup::
|
||||||
|
echo ::group::===== KArchive =====
|
||||||
git clone -q https://invent.kde.org/frameworks/karchive.git dependencies_src/karchive
|
git clone -q https://invent.kde.org/frameworks/karchive.git dependencies_src/karchive
|
||||||
cmake .\dependencies_src\karchive -Bbuild_dependencies/karchive -DWITH_LIBZSTD=OFF -DWITH_BZIP2=OFF -DWITH_LIBLZMA=OFF -DCMAKE_INSTALL_PREFIX="dependencies_bin" || goto :error
|
cmake .\dependencies_src\karchive -Bbuild_dependencies/karchive -DBUILD_TESTING=OFF -DWITH_LIBZSTD=OFF -DWITH_BZIP2=OFF -DWITH_LIBLZMA=OFF -DCMAKE_INSTALL_PREFIX="dependencies_bin" || goto :error
|
||||||
cmake --build build_dependencies/karchive --config Release --target=install || goto :error
|
cmake --build build_dependencies/karchive --config Release --target=install || goto :error
|
||||||
:: ===== KImageFormats =====
|
echo ::endgroup::
|
||||||
|
echo ::group::===== KImageFormats =====
|
||||||
git clone -q https://invent.kde.org/frameworks/kimageformats.git dependencies_src/kimageformats
|
git clone -q https://invent.kde.org/frameworks/kimageformats.git dependencies_src/kimageformats
|
||||||
cmake .\dependencies_src\kimageformats -Bbuild_dependencies/kimageformats -DKDE_INSTALL_QTPLUGINDIR=%QT_ROOT_DIR%\plugins || goto :error
|
cmake .\dependencies_src\kimageformats -Bbuild_dependencies/kimageformats -DKDE_INSTALL_QTPLUGINDIR=%QT_ROOT_DIR%\plugins || goto :error
|
||||||
cmake --build build_dependencies/kimageformats --config Release --target=install || goto :error
|
cmake --build build_dependencies/kimageformats --config Release --target=install || goto :error
|
||||||
|
echo ::endgroup::
|
||||||
:: ------ app ------
|
:: ------ app ------
|
||||||
cmake -Bbuild . -DCMAKE_INSTALL_PREFIX="%PWD%\build\"
|
cmake -Bbuild . -DCMAKE_INSTALL_PREFIX="%PWD%\build\"
|
||||||
cmake --build build --config Release
|
cmake --build build --config Release
|
||||||
|
|||||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -11,6 +11,8 @@
|
|||||||
|
|
||||||
# Generic Build Dir
|
# Generic Build Dir
|
||||||
[Bb]uild/
|
[Bb]uild/
|
||||||
|
cmake-build-*/
|
||||||
|
|
||||||
# IDE/Editor config folders
|
# IDE/Editor config folders
|
||||||
.vscode/
|
.vscode/
|
||||||
|
.idea/
|
||||||
|
|||||||
28
.reuse/dep5
28
.reuse/dep5
@@ -1,28 +0,0 @@
|
|||||||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
|
||||||
Upstream-Name: Pineapple Pictures
|
|
||||||
Source: https://github.com/BLumia/pineapple-pictures
|
|
||||||
|
|
||||||
# Config files
|
|
||||||
Files: .gitignore appveyor.yml .github/*
|
|
||||||
Copyright: None
|
|
||||||
License: CC0-1.0
|
|
||||||
|
|
||||||
# README, resource files and Metadata files
|
|
||||||
Files: README*.md NEWS assets/*.rc assets/*.qrc dist/*
|
|
||||||
Copyright: None
|
|
||||||
License: CC0-1.0
|
|
||||||
|
|
||||||
# Translation files
|
|
||||||
# See assets/plain/translators.html for a list of translators
|
|
||||||
Files: app/translations/*.ts assets/plain/translators.html
|
|
||||||
Copyright: Translators from hosted.weblate.org
|
|
||||||
License: MIT
|
|
||||||
|
|
||||||
# Assets
|
|
||||||
Files: assets/icons/*.svg
|
|
||||||
Copyright: 2022 Gary Wang
|
|
||||||
License: MIT
|
|
||||||
|
|
||||||
Files: assets/icons/app-icon.*
|
|
||||||
Copyright: 2020 Lovelyblack
|
|
||||||
License: MIT
|
|
||||||
@@ -1,16 +1,15 @@
|
|||||||
# SPDX-FileCopyrightText: 2022 - 2024 Gary Wang <git@blumia.net>
|
# SPDX-FileCopyrightText: 2022 - 2025 Gary Wang <git@blumia.net>
|
||||||
#
|
#
|
||||||
# SPDX-License-Identifier: MIT
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 3.16)
|
cmake_minimum_required(VERSION 3.16)
|
||||||
|
|
||||||
project(pineapple-pictures VERSION 0.9.0) # don't forget to update NEWS file and AppStream metadata.
|
project(pineapple-pictures VERSION 1.1.0) # don't forget to update NEWS file and AppStream metadata.
|
||||||
|
|
||||||
include (GNUInstallDirs)
|
include(GNUInstallDirs)
|
||||||
include (FeatureSummary)
|
include(FeatureSummary)
|
||||||
|
|
||||||
option (EXIV2_METADATA_SUPPORT "Better image metadata support via libexiv2" ON)
|
option (EXIV2_METADATA_SUPPORT "Better image metadata support via libexiv2" ON)
|
||||||
option (PREFER_QT_5 "Prefer to use Qt 5" OFF)
|
|
||||||
option (TRANSLATION_RESOURCE_EMBEDDING "Embedding .qm translation files inside resource" OFF)
|
option (TRANSLATION_RESOURCE_EMBEDDING "Embedding .qm translation files inside resource" OFF)
|
||||||
|
|
||||||
set (CMAKE_CXX_STANDARD 17)
|
set (CMAKE_CXX_STANDARD 17)
|
||||||
@@ -18,33 +17,21 @@ set (CMAKE_CXX_STANDARD_REQUIRED ON)
|
|||||||
set (CMAKE_AUTOMOC ON)
|
set (CMAKE_AUTOMOC ON)
|
||||||
set (CMAKE_AUTORCC ON)
|
set (CMAKE_AUTORCC ON)
|
||||||
|
|
||||||
if (PREFER_QT_5)
|
find_package(QT NAMES Qt6 REQUIRED COMPONENTS Core)
|
||||||
find_package(QT NAMES Qt5 REQUIRED COMPONENTS Core)
|
|
||||||
else ()
|
|
||||||
find_package(QT NAMES Qt6 REQUIRED COMPONENTS Core)
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
if (${QT_VERSION_MAJOR} EQUAL "5")
|
set (QT_MINIMUM_VERSION "6.4")
|
||||||
set (QT_MINIMUM_VERSION "5.15.2")
|
|
||||||
else ()
|
|
||||||
set (QT_MINIMUM_VERSION "6.4")
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
find_package(Qt${QT_VERSION_MAJOR} ${QT_MINIMUM_VERSION} REQUIRED
|
find_package(Qt${QT_VERSION_MAJOR} ${QT_MINIMUM_VERSION} REQUIRED
|
||||||
COMPONENTS Widgets Svg LinguistTools
|
COMPONENTS Widgets Svg SvgWidgets LinguistTools
|
||||||
OPTIONAL_COMPONENTS DBus
|
OPTIONAL_COMPONENTS DBus
|
||||||
)
|
)
|
||||||
|
|
||||||
if (${QT_VERSION_MAJOR} EQUAL "6")
|
|
||||||
find_package(Qt${QT_DEFAULT_MAJOR_VERSION} ${QT_MINIMUM_VERSION} CONFIG REQUIRED SvgWidgets)
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
if (EXIV2_METADATA_SUPPORT)
|
if (EXIV2_METADATA_SUPPORT)
|
||||||
find_package(Exiv2)
|
find_package(exiv2)
|
||||||
set_package_properties(Exiv2 PROPERTIES
|
set_package_properties(exiv2 PROPERTIES
|
||||||
URL "https://www.exiv2.org"
|
URL "https://www.exiv2.org"
|
||||||
DESCRIPTION "image metadata support"
|
DESCRIPTION "image metadata support"
|
||||||
TYPE OPTIONAL
|
TYPE RECOMMENDED
|
||||||
PURPOSE "Bring better image metadata support"
|
PURPOSE "Bring better image metadata support"
|
||||||
)
|
)
|
||||||
endif ()
|
endif ()
|
||||||
@@ -117,37 +104,36 @@ add_executable (${EXE_NAME}
|
|||||||
${PPIC_RC_FILES}
|
${PPIC_RC_FILES}
|
||||||
)
|
)
|
||||||
|
|
||||||
if (${QT_VERSION_MAJOR} EQUAL "6")
|
set(ADD_TRANSLATIONS_ADDITIONAL_ARGS)
|
||||||
if (TRANSLATION_RESOURCE_EMBEDDING)
|
|
||||||
qt_add_translations(${EXE_NAME} TS_FILES ${PPIC_TS_FILES})
|
if (Qt6_VERSION VERSION_GREATER_EQUAL "6.9.0")
|
||||||
else()
|
set(ADD_TRANSLATIONS_ADDITIONAL_ARGS MERGE_QT_TRANSLATIONS)
|
||||||
qt_add_translations(${EXE_NAME} TS_FILES ${PPIC_TS_FILES} QM_FILES_OUTPUT_VARIABLE PPIC_QM_FILES)
|
endif()
|
||||||
endif()
|
|
||||||
|
if (TRANSLATION_RESOURCE_EMBEDDING)
|
||||||
|
qt_add_translations(${EXE_NAME} ${ADD_TRANSLATIONS_ADDITIONAL_ARGS} TS_FILES ${PPIC_TS_FILES})
|
||||||
else()
|
else()
|
||||||
qt_create_translation(PPIC_QM_FILES ${PPIC_CPP_FILES_FOR_I18N} ${PPIC_TS_FILES})
|
qt_add_translations(${EXE_NAME} ${ADD_TRANSLATIONS_ADDITIONAL_ARGS} TS_FILES ${PPIC_TS_FILES} QM_FILES_OUTPUT_VARIABLE PPIC_QM_FILES)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_sources(${EXE_NAME} PRIVATE ${PPIC_QM_FILES})
|
target_sources(${EXE_NAME} PRIVATE ${PPIC_QM_FILES})
|
||||||
|
|
||||||
target_link_libraries (${EXE_NAME} Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Svg)
|
target_link_libraries (${EXE_NAME} Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Svg Qt${QT_VERSION_MAJOR}::SvgWidgets)
|
||||||
if (${QT_VERSION_MAJOR} EQUAL "6")
|
|
||||||
target_link_libraries (${EXE_NAME} Qt::SvgWidgets)
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
if (Exiv2_FOUND)
|
if (exiv2_FOUND)
|
||||||
if(NOT TARGET Exiv2::exiv2lib AND TARGET exiv2lib)
|
if(NOT TARGET Exiv2::exiv2lib AND TARGET exiv2lib)
|
||||||
# for exiv2 0.27.x
|
# for exiv2 0.27.x and (macOS?) conan build
|
||||||
add_library(Exiv2::exiv2lib ALIAS exiv2lib)
|
add_library(Exiv2::exiv2lib ALIAS exiv2lib)
|
||||||
endif()
|
endif()
|
||||||
target_link_libraries (${EXE_NAME}
|
target_link_libraries (${EXE_NAME}
|
||||||
Exiv2::exiv2lib
|
Exiv2::exiv2lib
|
||||||
)
|
)
|
||||||
target_compile_definitions(${EXE_NAME} PRIVATE
|
target_compile_definitions(${EXE_NAME} PRIVATE
|
||||||
HAVE_EXIV2_VERSION="${Exiv2_VERSION}"
|
HAVE_EXIV2_VERSION="${exiv2_VERSION}"
|
||||||
)
|
)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
if (TARGET Qt5::DBus OR TARGET Qt6::DBus)
|
if (TARGET Qt6::DBus)
|
||||||
target_link_libraries (${EXE_NAME}
|
target_link_libraries (${EXE_NAME}
|
||||||
Qt${QT_VERSION_MAJOR}::DBus
|
Qt${QT_VERSION_MAJOR}::DBus
|
||||||
)
|
)
|
||||||
|
|||||||
42
LICENSE
42
LICENSE
@@ -1,21 +1,21 @@
|
|||||||
MIT License
|
MIT License
|
||||||
|
|
||||||
Copyright (c) 2025 BLumia
|
Copyright (c) 2025 BLumia
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
in the Software without restriction, including without limitation the rights
|
in the Software without restriction, including without limitation the rights
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
furnished to do so, subject to the following conditions:
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
The above copyright notice and this permission notice shall be included in all
|
||||||
copies or substantial portions of the Software.
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
SOFTWARE.
|
SOFTWARE.
|
||||||
|
|||||||
69
NEWS
69
NEWS
@@ -1,3 +1,70 @@
|
|||||||
|
Version 1.1.0
|
||||||
|
~~~~~~~~~~~~~
|
||||||
|
Released: 2025-07-06
|
||||||
|
|
||||||
|
Features:
|
||||||
|
* New option to disable built-in close window animation
|
||||||
|
* New option to disable gallery looping
|
||||||
|
* Support load m3u8 as image gallery playlist
|
||||||
|
|
||||||
|
Miscellaneous:
|
||||||
|
* Drop Qt 5 support
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Heimen Stoffels, albanobattistella, தமிழ்நேரம்
|
||||||
|
|
||||||
|
Version 1.0.0
|
||||||
|
~~~~~~~~~~~~~
|
||||||
|
Released: 2025-05-03
|
||||||
|
|
||||||
|
Features:
|
||||||
|
* Support enforces windowed mode on start-up
|
||||||
|
* Reload image automatically when current image gets updated
|
||||||
|
|
||||||
|
Bugfixes:
|
||||||
|
* Display correct text language on macOS
|
||||||
|
|
||||||
|
Miscellaneous:
|
||||||
|
* Use native text for shortcut editor's label
|
||||||
|
* Display native commandline message when possible
|
||||||
|
* Merge Qt translations into app applications as well
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Heimen Stoffels, albanobattistella, mmahhi
|
||||||
|
|
||||||
|
Version 0.9.2
|
||||||
|
~~~~~~~~~~~~~
|
||||||
|
Released: 2025-03-05
|
||||||
|
|
||||||
|
Bugfixes:
|
||||||
|
* Refer to the right exiv2 CMake module so it can be found on Linux
|
||||||
|
|
||||||
|
Miscellaneous:
|
||||||
|
* Convert DEP5 to REUSE.toml for better REUSE compliance
|
||||||
|
* Update translations
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Pino Toscano, TamilNeram
|
||||||
|
|
||||||
|
Version 0.9.1
|
||||||
|
~~~~~~~~~~~~~
|
||||||
|
Released: 2025-01-25
|
||||||
|
|
||||||
|
Features:
|
||||||
|
* Option to double-click to fullscreen
|
||||||
|
* Build-time option to embed translation resources
|
||||||
|
|
||||||
|
Bugfixes:
|
||||||
|
* Fix window size not adjusted when open file on macOS
|
||||||
|
* Should center window according to available screen geometry
|
||||||
|
|
||||||
|
Miscellaneous:
|
||||||
|
* Change close window bahavior on macOS
|
||||||
|
* Update translations
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
albanobattistella, Sabri Ünal
|
||||||
|
|
||||||
Version 0.9.0
|
Version 0.9.0
|
||||||
~~~~~~~~~~~~~
|
~~~~~~~~~~~~~
|
||||||
Released: 2024-12-08
|
Released: 2024-12-08
|
||||||
@@ -90,7 +157,7 @@ Version 0.7.1
|
|||||||
Released: 2023-07-08
|
Released: 2023-07-08
|
||||||
|
|
||||||
Features:
|
Features:
|
||||||
* TIF and TIFF format files in the same folder will now be automatedly added to the gallery
|
* TIF and TIFF format files in the same folder will now be automatically added to the gallery
|
||||||
* Built-in window resizing now also supports Linux desktop. (macOS might also works as well)
|
* Built-in window resizing now also supports Linux desktop. (macOS might also works as well)
|
||||||
|
|
||||||
Bugfixes:
|
Bugfixes:
|
||||||
|
|||||||
@@ -21,10 +21,9 @@ Pineapple Pictures is a lightweight image viewer that allows you view JPEG, PNG,
|
|||||||
- Archlinux AUR: [pineapple-pictures](https://aur.archlinux.org/packages/pineapple-pictures/) | [pineapple-pictures-git](https://aur.archlinux.org/packages/pineapple-pictures-git/)
|
- Archlinux AUR: [pineapple-pictures](https://aur.archlinux.org/packages/pineapple-pictures/) | [pineapple-pictures-git](https://aur.archlinux.org/packages/pineapple-pictures-git/)
|
||||||
- [Itch.io Store](https://blumia.itch.io/pineapple-pictures)
|
- [Itch.io Store](https://blumia.itch.io/pineapple-pictures)
|
||||||
|
|
||||||
### Maintained by contributors / curtain distro's package maintainers
|
### Maintained by contributors / certain distro's package maintainers
|
||||||
|
|
||||||
- Debian (since bullseye) or Ubuntu (since 21.04): `sudo apt install pineapple-pictures`
|
[](https://repology.org/project/pineapple-pictures/versions)
|
||||||
- Nix / NixOS: [pineapple-pictures](https://search.nixos.org/packages?channel=unstable&show=pineapple-pictures&from=0&size=50&sort=relevance&type=packages&query=pineapple-pictures) (maintained by @wineee)
|
|
||||||
|
|
||||||
## Help Translation!
|
## Help Translation!
|
||||||
|
|
||||||
|
|||||||
@@ -24,8 +24,7 @@
|
|||||||
|
|
||||||
### 由贡献者/对应发行版的打包人员维护
|
### 由贡献者/对应发行版的打包人员维护
|
||||||
|
|
||||||
- Debian (自 bullseye 起) 或 Ubuntu (自 21.04 起): `sudo apt install pineapple-pictures`
|
[](https://repology.org/project/pineapple-pictures/versions)
|
||||||
- Nix / NixOS: [pineapple-pictures](https://search.nixos.org/packages?channel=unstable&show=pineapple-pictures&from=0&size=50&sort=relevance&type=packages&query=pineapple-pictures) (由 [@wineee](https://github.com/wineee) 维护)
|
|
||||||
|
|
||||||
## 帮助翻译!
|
## 帮助翻译!
|
||||||
|
|
||||||
|
|||||||
33
REUSE.toml
Normal file
33
REUSE.toml
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
version = 1
|
||||||
|
SPDX-PackageName = "Pineapple Pictures"
|
||||||
|
SPDX-PackageDownloadLocation = "https://github.com/BLumia/pineapple-pictures"
|
||||||
|
|
||||||
|
[[annotations]]
|
||||||
|
path = [".gitignore", "appveyor.yml", ".github/**"]
|
||||||
|
precedence = "aggregate"
|
||||||
|
SPDX-FileCopyrightText = "None"
|
||||||
|
SPDX-License-Identifier = "CC0-1.0"
|
||||||
|
|
||||||
|
[[annotations]]
|
||||||
|
path = ["README**.md", "NEWS", "assets/**.rc", "assets/**.qrc", "dist/**"]
|
||||||
|
precedence = "aggregate"
|
||||||
|
SPDX-FileCopyrightText = "None"
|
||||||
|
SPDX-License-Identifier = "CC0-1.0"
|
||||||
|
|
||||||
|
[[annotations]]
|
||||||
|
path = ["app/translations/**.ts", "assets/plain/translators.html"]
|
||||||
|
precedence = "aggregate"
|
||||||
|
SPDX-FileCopyrightText = "Translators from hosted.weblate.org"
|
||||||
|
SPDX-License-Identifier = "MIT"
|
||||||
|
|
||||||
|
[[annotations]]
|
||||||
|
path = "assets/icons/**.svg"
|
||||||
|
precedence = "aggregate"
|
||||||
|
SPDX-FileCopyrightText = "2022 Gary Wang"
|
||||||
|
SPDX-License-Identifier = "MIT"
|
||||||
|
|
||||||
|
[[annotations]]
|
||||||
|
path = "assets/icons/app-icon.**"
|
||||||
|
precedence = "aggregate"
|
||||||
|
SPDX-FileCopyrightText = "2020 Lovelyblack"
|
||||||
|
SPDX-License-Identifier = "MIT"
|
||||||
@@ -1,179 +1,181 @@
|
|||||||
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
||||||
//
|
//
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
#include "aboutdialog.h"
|
#include "aboutdialog.h"
|
||||||
|
|
||||||
#include <QAbstractButton>
|
#include <QAbstractButton>
|
||||||
#include <QDialogButtonBox>
|
#include <QDialogButtonBox>
|
||||||
#include <QTextBrowser>
|
#include <QTextBrowser>
|
||||||
#include <QTabWidget>
|
#include <QTabWidget>
|
||||||
#include <QVBoxLayout>
|
#include <QVBoxLayout>
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
#include <QLabel>
|
#include <QLabel>
|
||||||
#include <QPushButton>
|
#include <QPushButton>
|
||||||
#include <QFile>
|
#include <QFile>
|
||||||
|
|
||||||
AboutDialog::AboutDialog(QWidget *parent)
|
using namespace Qt::Literals::StringLiterals;
|
||||||
: QDialog(parent)
|
|
||||||
, m_tabWidget(new QTabWidget)
|
AboutDialog::AboutDialog(QWidget *parent)
|
||||||
, m_buttonBox(new QDialogButtonBox)
|
: QDialog(parent)
|
||||||
, m_helpTextEdit(new QTextBrowser)
|
, m_tabWidget(new QTabWidget)
|
||||||
, m_aboutTextEdit(new QTextBrowser)
|
, m_buttonBox(new QDialogButtonBox)
|
||||||
, m_specialThanksTextEdit(new QTextBrowser)
|
, m_helpTextEdit(new QTextBrowser)
|
||||||
, m_licenseTextEdit(new QTextBrowser)
|
, m_aboutTextEdit(new QTextBrowser)
|
||||||
, m_3rdPartyLibsTextEdit(new QTextBrowser)
|
, m_specialThanksTextEdit(new QTextBrowser)
|
||||||
{
|
, m_licenseTextEdit(new QTextBrowser)
|
||||||
this->setWindowTitle(tr("About"));
|
, m_3rdPartyLibsTextEdit(new QTextBrowser)
|
||||||
|
{
|
||||||
const QStringList helpStr {
|
this->setWindowTitle(tr("About"));
|
||||||
QStringLiteral("<p>%1</p>").arg(tr("Launch application with image file path as argument to load the file.")),
|
|
||||||
QStringLiteral("<p>%1</p>").arg(tr("Drag and drop image file onto the window is also supported.")),
|
const QStringList helpStr {
|
||||||
QStringLiteral("<p>%1</p>").arg(tr("None of the operations in this application will alter the pictures on disk.")),
|
u"<p>%1</p>"_s.arg(tr("Launch application with image file path as argument to load the file.")),
|
||||||
QStringLiteral("<p>%1</p>").arg(tr("Context menu option explanation:")),
|
u"<p>%1</p>"_s.arg(tr("Drag and drop image file onto the window is also supported.")),
|
||||||
QStringLiteral("<ul>"),
|
u"<p>%1</p>"_s.arg(tr("None of the operations in this application will alter the pictures on disk.")),
|
||||||
// blumia: Chain two arg() here since it seems lupdate will remove one of them if we use
|
u"<p>%1</p>"_s.arg(tr("Context menu option explanation:")),
|
||||||
// the old `arg(QCoreApp::translate(), tr())` way, but it's worth to mention
|
u"<ul>"_s,
|
||||||
// `arg(QCoreApp::translate(), this->tr())` works, but lupdate will complain about the usage.
|
// blumia: Chain two arg() here since it seems lupdate will remove one of them if we use
|
||||||
QStringLiteral("<li><b>%1</b>:<br/>%2</li>")
|
// the old `arg(QCoreApp::translate(), tr())` way, but it's worth to mention
|
||||||
.arg(QCoreApplication::translate("MainWindow", "Stay on top"))
|
// `arg(QCoreApp::translate(), this->tr())` works, but lupdate will complain about the usage.
|
||||||
.arg(tr("Make window stay on top of all other windows.")),
|
u"<li><b>%1</b>:<br/>%2</li>"_s
|
||||||
QStringLiteral("<li><b>%1</b>:<br/>%2</li>")
|
.arg(QCoreApplication::translate("MainWindow", "Stay on top"))
|
||||||
.arg(QCoreApplication::translate("MainWindow", "Protected mode"))
|
.arg(tr("Make window stay on top of all other windows.")),
|
||||||
.arg(tr("Avoid close window accidentally. (eg. by double clicking the window)")),
|
u"<li><b>%1</b>:<br/>%2</li>"_s
|
||||||
QStringLiteral("<li><b>%1</b>:<br/>%2</li>")
|
.arg(QCoreApplication::translate("MainWindow", "Protected mode"))
|
||||||
.arg(QCoreApplication::translate("MainWindow", "Keep transformation", "The 'transformation' means the flip/rotation status that currently applied to the image view"))
|
.arg(tr("Avoid close window accidentally. (eg. by double clicking the window)")),
|
||||||
.arg(tr("Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.")),
|
u"<li><b>%1</b>:<br/>%2</li>"_s
|
||||||
QStringLiteral("</ul>")
|
.arg(QCoreApplication::translate("MainWindow", "Keep transformation", "The 'transformation' means the flip/rotation status that currently applied to the image view"))
|
||||||
};
|
.arg(tr("Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.")),
|
||||||
|
u"</ul>"_s
|
||||||
const QStringList aboutStr {
|
};
|
||||||
QStringLiteral("<center><img width='128' height='128' src=':/icons/app-icon.svg'/><br/>"),
|
|
||||||
qApp->applicationDisplayName(),
|
const QStringList aboutStr {
|
||||||
(QStringLiteral("<br/>") + tr("Version: %1").arg(
|
u"<center><img width='128' height='128' src=':/icons/app-icon.svg'/><br/>"_s,
|
||||||
#ifdef GIT_DESCRIBE_VERSION_STRING
|
qApp->applicationDisplayName(),
|
||||||
GIT_DESCRIBE_VERSION_STRING
|
(u"<br/>"_s + tr("Version: %1").arg(
|
||||||
#else
|
#ifdef GIT_DESCRIBE_VERSION_STRING
|
||||||
qApp->applicationVersion()
|
GIT_DESCRIBE_VERSION_STRING
|
||||||
#endif // GIT_DESCRIBE_VERSION_STRING
|
#else
|
||||||
)),
|
qApp->applicationVersion()
|
||||||
QStringLiteral("<hr/>"),
|
#endif // GIT_DESCRIBE_VERSION_STRING
|
||||||
tr("Copyright (c) %1 %2", "%1 is year, %2 is the name of copyright holder(s)")
|
)),
|
||||||
.arg(QStringLiteral("2025"), QStringLiteral("<a href='https://github.com/BLumia'>@BLumia</a>")),
|
u"<hr/>"_s,
|
||||||
QStringLiteral("<br/>"),
|
tr("Copyright (c) %1 %2", "%1 is year, %2 is the name of copyright holder(s)")
|
||||||
tr("Logo designed by %1").arg(QStringLiteral("<a href='https://github.com/Lovelyblack'>@Lovelyblack</a>")),
|
.arg(u"2025"_s, u"<a href='https://github.com/BLumia'>@BLumia</a>"_s),
|
||||||
QStringLiteral("<hr/>"),
|
u"<br/>"_s,
|
||||||
tr("Built with Qt %1 (%2)").arg(QT_VERSION_STR, QSysInfo::buildCpuArchitecture()),
|
tr("Logo designed by %1").arg(u"<a href='https://github.com/Lovelyblack'>@Lovelyblack</a>"_s),
|
||||||
QStringLiteral("<br/><a href='%1'>%2</a>").arg("https://github.com/BLumia/pineapple-pictures", tr("Source code")),
|
u"<hr/>"_s,
|
||||||
QStringLiteral("</center>")
|
tr("Built with Qt %1 (%2)").arg(QT_VERSION_STR, QSysInfo::buildCpuArchitecture()),
|
||||||
};
|
QStringLiteral("<br/><a href='%1'>%2</a>").arg("https://github.com/BLumia/pineapple-pictures", tr("Source code")),
|
||||||
|
u"</center>"_s
|
||||||
QFile translaterHtml(":/plain/translators.html");
|
};
|
||||||
bool canOpenFile = translaterHtml.open(QIODevice::ReadOnly);
|
|
||||||
const QByteArray & translatorList = canOpenFile ? translaterHtml.readAll() : QByteArrayLiteral("");
|
QFile translaterHtml(u":/plain/translators.html"_s);
|
||||||
|
bool canOpenFile = translaterHtml.open(QIODevice::ReadOnly);
|
||||||
const QStringList specialThanksStr {
|
const QByteArray & translatorList = canOpenFile ? translaterHtml.readAll() : QByteArrayLiteral("");
|
||||||
QStringLiteral("<h1 align='center'>%1</h1><a href='%2'>%3</a><p>%4</p>").arg(
|
|
||||||
tr("Contributors"),
|
const QStringList specialThanksStr {
|
||||||
QStringLiteral("https://github.com/BLumia/pineapple-pictures/graphs/contributors"),
|
u"<h1 align='center'>%1</h1><a href='%2'>%3</a><p>%4</p>"_s.arg(
|
||||||
tr("List of contributors on GitHub"),
|
tr("Contributors"),
|
||||||
tr("Thanks to all people who contributed to this project.")
|
u"https://github.com/BLumia/pineapple-pictures/graphs/contributors"_s,
|
||||||
),
|
tr("List of contributors on GitHub"),
|
||||||
|
tr("Thanks to all people who contributed to this project.")
|
||||||
QStringLiteral("<h1 align='center'>%1</h1><p>%2</p>%3").arg(
|
),
|
||||||
tr("Translators"),
|
|
||||||
tr("I would like to thank the following people who volunteered to translate this application."),
|
u"<h1 align='center'>%1</h1><p>%2</p>%3"_s.arg(
|
||||||
translatorList
|
tr("Translators"),
|
||||||
)
|
tr("I would like to thank the following people who volunteered to translate this application."),
|
||||||
};
|
translatorList
|
||||||
|
)
|
||||||
const QStringList licenseStr {
|
};
|
||||||
QStringLiteral("<h1 align='center'><b>%1</b></h1>").arg(tr("Your Rights")),
|
|
||||||
QStringLiteral("<p>%1</p><p>%2</p><ul><li>%3</li><li>%4</li><li>%5</li><li>%6</li></ul>").arg(
|
const QStringList licenseStr {
|
||||||
tr("%1 is released under the MIT License."), // %1
|
u"<h1 align='center'><b>%1</b></h1>"_s.arg(tr("Your Rights")),
|
||||||
tr("This license grants people a number of freedoms:"), // %2
|
u"<p>%1</p><p>%2</p><ul><li>%3</li><li>%4</li><li>%5</li><li>%6</li></ul>"_s.arg(
|
||||||
tr("You are free to use %1, for any purpose"), // %3
|
tr("%1 is released under the MIT License."), // %1
|
||||||
tr("You are free to distribute %1"), // %4
|
tr("This license grants people a number of freedoms:"), // %2
|
||||||
tr("You can study how %1 works and change it"), // %5
|
tr("You are free to use %1, for any purpose"), // %3
|
||||||
tr("You can distribute changed versions of %1") // %6
|
tr("You are free to distribute %1"), // %4
|
||||||
).arg(QStringLiteral("<i>%1</i>")),
|
tr("You can study how %1 works and change it"), // %5
|
||||||
QStringLiteral("<p>%1</p>").arg(tr("The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.")),
|
tr("You can distribute changed versions of %1") // %6
|
||||||
QStringLiteral("<hr/><pre>%2</pre>")
|
).arg(u"<i>%1</i>"_s),
|
||||||
};
|
u"<p>%1</p>"_s.arg(tr("The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.")),
|
||||||
|
u"<hr/><pre>%2</pre>"_s
|
||||||
const QString mitLicense(QStringLiteral(R"(Expat/MIT License
|
};
|
||||||
|
|
||||||
Copyright (c) 2025 BLumia
|
const QString mitLicense(QStringLiteral(R"(Expat/MIT License
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Copyright (c) 2025 BLumia
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
in the Software without restriction, including without limitation the rights
|
||||||
furnished to do so, subject to the following conditions:
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
The above copyright notice and this permission notice shall be included in all
|
furnished to do so, subject to the following conditions:
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
copies or substantial portions of the Software.
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
SOFTWARE.
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
)"));
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
const QStringList thirdPartyLibsStr {
|
)"));
|
||||||
QStringLiteral("<h1 align='center'><b>%1</b></h1>").arg(tr("Third-party Libraries used by %1")),
|
|
||||||
tr("%1 is built on the following free software libraries:", "Free as in freedom"),
|
const QStringList thirdPartyLibsStr {
|
||||||
QStringLiteral("<ul>"),
|
u"<h1 align='center'><b>%1</b></h1>"_s.arg(tr("Third-party Libraries used by %1")),
|
||||||
#ifdef HAVE_EXIV2_VERSION
|
tr("%1 is built on the following free software libraries:", "Free as in freedom"),
|
||||||
QStringLiteral("<li><a href='%1'>%2</a>: %3</li>").arg("https://www.exiv2.org/", "Exiv2", "GPLv2"),
|
u"<ul>"_s,
|
||||||
#endif // EXIV2_VERSION
|
#ifdef HAVE_EXIV2_VERSION
|
||||||
QStringLiteral("<li><a href='%1'>%2</a>: %3</li>").arg("https://www.qt.io/", "Qt", "GPLv2 + GPLv3 + LGPLv2.1 + LGPLv3"),
|
u"<li><a href='%1'>%2</a>: %3</li>"_s.arg("https://www.exiv2.org/", "Exiv2", "GPLv2"),
|
||||||
QStringLiteral("</ul>")
|
#endif // EXIV2_VERSION
|
||||||
};
|
u"<li><a href='%1'>%2</a>: %3</li>"_s.arg("https://www.qt.io/", "Qt", "GPLv2 + GPLv3 + LGPLv2.1 + LGPLv3"),
|
||||||
|
u"</ul>"_s
|
||||||
m_helpTextEdit->setText(helpStr.join('\n'));
|
};
|
||||||
|
|
||||||
m_aboutTextEdit->setText(aboutStr.join('\n'));
|
m_helpTextEdit->setText(helpStr.join('\n'));
|
||||||
m_aboutTextEdit->setOpenExternalLinks(true);
|
|
||||||
|
m_aboutTextEdit->setText(aboutStr.join('\n'));
|
||||||
m_specialThanksTextEdit->setText(specialThanksStr.join('\n'));
|
m_aboutTextEdit->setOpenExternalLinks(true);
|
||||||
m_specialThanksTextEdit->setOpenExternalLinks(true);
|
|
||||||
|
m_specialThanksTextEdit->setText(specialThanksStr.join('\n'));
|
||||||
m_licenseTextEdit->setText(licenseStr.join('\n').arg(qApp->applicationDisplayName(), mitLicense));
|
m_specialThanksTextEdit->setOpenExternalLinks(true);
|
||||||
|
|
||||||
m_3rdPartyLibsTextEdit->setText(thirdPartyLibsStr.join('\n').arg(QStringLiteral("<i>%1</i>").arg(qApp->applicationDisplayName())));
|
m_licenseTextEdit->setText(licenseStr.join('\n').arg(qApp->applicationDisplayName(), mitLicense));
|
||||||
m_3rdPartyLibsTextEdit->setOpenExternalLinks(true);
|
|
||||||
|
m_3rdPartyLibsTextEdit->setText(thirdPartyLibsStr.join('\n').arg(u"<i>%1</i>"_s).arg(qApp->applicationDisplayName()));
|
||||||
m_tabWidget->addTab(m_helpTextEdit, tr("&Help"));
|
m_3rdPartyLibsTextEdit->setOpenExternalLinks(true);
|
||||||
m_tabWidget->addTab(m_aboutTextEdit, tr("&About"));
|
|
||||||
m_tabWidget->addTab(m_specialThanksTextEdit, tr("&Special Thanks"));
|
m_tabWidget->addTab(m_helpTextEdit, tr("&Help"));
|
||||||
m_tabWidget->addTab(m_licenseTextEdit, tr("&License"));
|
m_tabWidget->addTab(m_aboutTextEdit, tr("&About"));
|
||||||
m_tabWidget->addTab(m_3rdPartyLibsTextEdit, tr("&Third-party Libraries"));
|
m_tabWidget->addTab(m_specialThanksTextEdit, tr("&Special Thanks"));
|
||||||
|
m_tabWidget->addTab(m_licenseTextEdit, tr("&License"));
|
||||||
m_buttonBox->setStandardButtons(QDialogButtonBox::Close);
|
m_tabWidget->addTab(m_3rdPartyLibsTextEdit, tr("&Third-party Libraries"));
|
||||||
connect(m_buttonBox, QOverload<QAbstractButton *>::of(&QDialogButtonBox::clicked), this, [this](){
|
|
||||||
this->close();
|
m_buttonBox->setStandardButtons(QDialogButtonBox::Close);
|
||||||
});
|
connect(m_buttonBox, QOverload<QAbstractButton *>::of(&QDialogButtonBox::clicked), this, [this](){
|
||||||
|
this->close();
|
||||||
setLayout(new QVBoxLayout);
|
});
|
||||||
|
|
||||||
layout()->addWidget(m_tabWidget);
|
setLayout(new QVBoxLayout);
|
||||||
layout()->addWidget(m_buttonBox);
|
|
||||||
|
layout()->addWidget(m_tabWidget);
|
||||||
setMinimumSize(361, 161); // not sure why it complain "Unable to set geometry"
|
layout()->addWidget(m_buttonBox);
|
||||||
setWindowFlag(Qt::WindowContextHelpButtonHint, false);
|
|
||||||
}
|
setMinimumSize(361, 161); // not sure why it complain "Unable to set geometry"
|
||||||
|
setWindowFlag(Qt::WindowContextHelpButtonHint, false);
|
||||||
AboutDialog::~AboutDialog()
|
}
|
||||||
{
|
|
||||||
|
AboutDialog::~AboutDialog()
|
||||||
}
|
{
|
||||||
|
|
||||||
QSize AboutDialog::sizeHint() const
|
}
|
||||||
{
|
|
||||||
return QSize(520, 350);
|
QSize AboutDialog::sizeHint() const
|
||||||
}
|
{
|
||||||
|
return QSize(520, 350);
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,36 +1,36 @@
|
|||||||
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
||||||
//
|
//
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
#ifndef ABOUTDIALOG_H
|
#ifndef ABOUTDIALOG_H
|
||||||
#define ABOUTDIALOG_H
|
#define ABOUTDIALOG_H
|
||||||
|
|
||||||
#include <QDialog>
|
#include <QDialog>
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
class QTextBrowser;
|
class QTextBrowser;
|
||||||
class QTabWidget;
|
class QTabWidget;
|
||||||
class QDialogButtonBox;
|
class QDialogButtonBox;
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
|
||||||
class AboutDialog : public QDialog
|
class AboutDialog : public QDialog
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
explicit AboutDialog(QWidget *parent = nullptr);
|
explicit AboutDialog(QWidget *parent = nullptr);
|
||||||
~AboutDialog() override;
|
~AboutDialog() override;
|
||||||
|
|
||||||
QSize sizeHint() const override;
|
QSize sizeHint() const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QTabWidget * m_tabWidget = nullptr;
|
QTabWidget * m_tabWidget = nullptr;
|
||||||
QDialogButtonBox * m_buttonBox = nullptr;
|
QDialogButtonBox * m_buttonBox = nullptr;
|
||||||
|
|
||||||
QTextBrowser * m_helpTextEdit = nullptr;
|
QTextBrowser * m_helpTextEdit = nullptr;
|
||||||
QTextBrowser * m_aboutTextEdit = nullptr;
|
QTextBrowser * m_aboutTextEdit = nullptr;
|
||||||
QTextBrowser * m_specialThanksTextEdit = nullptr;
|
QTextBrowser * m_specialThanksTextEdit = nullptr;
|
||||||
QTextBrowser * m_licenseTextEdit = nullptr;
|
QTextBrowser * m_licenseTextEdit = nullptr;
|
||||||
QTextBrowser * m_3rdPartyLibsTextEdit = nullptr;
|
QTextBrowser * m_3rdPartyLibsTextEdit = nullptr;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // ABOUTDIALOG_H
|
#endif // ABOUTDIALOG_H
|
||||||
|
|||||||
@@ -1,163 +1,153 @@
|
|||||||
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
||||||
//
|
//
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
#include "actionmanager.h"
|
#include "actionmanager.h"
|
||||||
|
|
||||||
#include "mainwindow.h"
|
#include "mainwindow.h"
|
||||||
|
|
||||||
#include <QGuiApplication>
|
#include <QGuiApplication>
|
||||||
#include <QSvgRenderer>
|
#include <QSvgRenderer>
|
||||||
#include <QPainter>
|
#include <QPainter>
|
||||||
|
|
||||||
#define ICON_NAME(name)\
|
#define ICON_NAME(name)\
|
||||||
QStringLiteral(":/icons/" #name ".svg")
|
QStringLiteral(":/icons/" #name ".svg")
|
||||||
|
|
||||||
#define ACTION_NAME(s) QStringLiteral(STRIFY(s))
|
#define ACTION_NAME(s) QStringLiteral(STRIFY(s))
|
||||||
#define STRIFY(s) #s
|
#define STRIFY(s) #s
|
||||||
|
|
||||||
ActionManager::ActionManager()
|
QIcon ActionManager::loadHidpiIcon(const QString &resp, QSize sz)
|
||||||
{
|
{
|
||||||
|
QSvgRenderer r(resp);
|
||||||
}
|
QPixmap pm = QPixmap(sz * qApp->devicePixelRatio());
|
||||||
|
pm.fill(Qt::transparent);
|
||||||
ActionManager::~ActionManager()
|
QPainter p(&pm);
|
||||||
{
|
r.render(&p);
|
||||||
|
pm.setDevicePixelRatio(qApp->devicePixelRatio());
|
||||||
}
|
return QIcon(pm);
|
||||||
|
}
|
||||||
QIcon ActionManager::loadHidpiIcon(const QString &resp, QSize sz)
|
|
||||||
{
|
void ActionManager::setupAction(MainWindow *mainWindow)
|
||||||
QSvgRenderer r(resp);
|
{
|
||||||
QPixmap pm = QPixmap(sz * qApp->devicePixelRatio());
|
auto create_action = [] (QWidget *w, QAction **a, QString i, QString an, bool iconFromTheme = false) {
|
||||||
pm.fill(Qt::transparent);
|
*a = new QAction(w);
|
||||||
QPainter p(&pm);
|
if (!i.isNull())
|
||||||
r.render(&p);
|
(*a)->setIcon(iconFromTheme ? QIcon::fromTheme(i) : ActionManager::loadHidpiIcon(i));
|
||||||
pm.setDevicePixelRatio(qApp->devicePixelRatio());
|
(*a)->setObjectName(an);
|
||||||
return QIcon(pm);
|
w->addAction(*a);
|
||||||
}
|
};
|
||||||
|
#define CREATE_NEW_ICON_ACTION(w, a, i) create_action(w, &a, ICON_NAME(i), ACTION_NAME(a))
|
||||||
void ActionManager::setupAction(MainWindow *mainWindow)
|
CREATE_NEW_ICON_ACTION(mainWindow, actionActualSize, zoom-original);
|
||||||
{
|
CREATE_NEW_ICON_ACTION(mainWindow, actionToggleMaximize, view-fullscreen);
|
||||||
auto create_action = [] (QWidget *w, QAction **a, QString i, QString an, bool iconFromTheme = false) {
|
CREATE_NEW_ICON_ACTION(mainWindow, actionZoomIn, zoom-in);
|
||||||
*a = new QAction(w);
|
CREATE_NEW_ICON_ACTION(mainWindow, actionZoomOut, zoom-out);
|
||||||
if (!i.isNull())
|
CREATE_NEW_ICON_ACTION(mainWindow, actionToggleCheckerboard, view-background-checkerboard);
|
||||||
(*a)->setIcon(iconFromTheme ? QIcon::fromTheme(i) : ActionManager::loadHidpiIcon(i));
|
CREATE_NEW_ICON_ACTION(mainWindow, actionRotateClockwise, object-rotate-right);
|
||||||
(*a)->setObjectName(an);
|
#undef CREATE_NEW_ICON_ACTION
|
||||||
w->addAction(*a);
|
|
||||||
};
|
#define CREATE_NEW_ACTION(w, a) create_action(w, &a, QString(), ACTION_NAME(a))
|
||||||
#define CREATE_NEW_ICON_ACTION(w, a, i) create_action(w, &a, ICON_NAME(i), ACTION_NAME(a))
|
#define CREATE_NEW_THEMEICON_ACTION(w, a, i) create_action(w, &a, QLatin1String(STRIFY(i)), ACTION_NAME(a), true)
|
||||||
CREATE_NEW_ICON_ACTION(mainWindow, actionActualSize, zoom-original);
|
CREATE_NEW_ACTION(mainWindow, actionRotateCounterClockwise);
|
||||||
CREATE_NEW_ICON_ACTION(mainWindow, actionToggleMaximize, view-fullscreen);
|
CREATE_NEW_ACTION(mainWindow, actionPrevPicture);
|
||||||
CREATE_NEW_ICON_ACTION(mainWindow, actionZoomIn, zoom-in);
|
CREATE_NEW_ACTION(mainWindow, actionNextPicture);
|
||||||
CREATE_NEW_ICON_ACTION(mainWindow, actionZoomOut, zoom-out);
|
|
||||||
CREATE_NEW_ICON_ACTION(mainWindow, actionToggleCheckerboard, view-background-checkerboard);
|
CREATE_NEW_ACTION(mainWindow, actionTogglePauseAnimation);
|
||||||
CREATE_NEW_ICON_ACTION(mainWindow, actionRotateClockwise, object-rotate-right);
|
CREATE_NEW_ACTION(mainWindow, actionAnimationNextFrame);
|
||||||
#undef CREATE_NEW_ICON_ACTION
|
|
||||||
|
CREATE_NEW_THEMEICON_ACTION(mainWindow, actionOpen, document-open);
|
||||||
#define CREATE_NEW_ACTION(w, a) create_action(w, &a, QString(), ACTION_NAME(a))
|
CREATE_NEW_ACTION(mainWindow, actionHorizontalFlip);
|
||||||
#define CREATE_NEW_THEMEICON_ACTION(w, a, i) create_action(w, &a, QLatin1String(STRIFY(i)), ACTION_NAME(a), true)
|
CREATE_NEW_ACTION(mainWindow, actionFitInView);
|
||||||
CREATE_NEW_ACTION(mainWindow, actionRotateCounterClockwise);
|
CREATE_NEW_ACTION(mainWindow, actionFitByWidth);
|
||||||
CREATE_NEW_ACTION(mainWindow, actionPrevPicture);
|
CREATE_NEW_THEMEICON_ACTION(mainWindow, actionCopyPixmap, edit-copy);
|
||||||
CREATE_NEW_ACTION(mainWindow, actionNextPicture);
|
CREATE_NEW_ACTION(mainWindow, actionCopyFilePath);
|
||||||
|
CREATE_NEW_THEMEICON_ACTION(mainWindow, actionPaste, edit-paste);
|
||||||
CREATE_NEW_ACTION(mainWindow, actionTogglePauseAnimation);
|
CREATE_NEW_THEMEICON_ACTION(mainWindow, actionTrash, edit-delete);
|
||||||
CREATE_NEW_ACTION(mainWindow, actionAnimationNextFrame);
|
CREATE_NEW_ACTION(mainWindow, actionToggleStayOnTop);
|
||||||
|
CREATE_NEW_ACTION(mainWindow, actionToggleProtectMode);
|
||||||
CREATE_NEW_THEMEICON_ACTION(mainWindow, actionOpen, document-open);
|
CREATE_NEW_ACTION(mainWindow, actionToggleAvoidResetTransform);
|
||||||
CREATE_NEW_ACTION(mainWindow, actionHorizontalFlip);
|
CREATE_NEW_ACTION(mainWindow, actionSettings);
|
||||||
CREATE_NEW_ACTION(mainWindow, actionFitInView);
|
CREATE_NEW_THEMEICON_ACTION(mainWindow, actionHelp, system-help);
|
||||||
CREATE_NEW_ACTION(mainWindow, actionFitByWidth);
|
CREATE_NEW_THEMEICON_ACTION(mainWindow, actionLocateInFileManager, system-file-manager);
|
||||||
CREATE_NEW_THEMEICON_ACTION(mainWindow, actionCopyPixmap, edit-copy);
|
CREATE_NEW_THEMEICON_ACTION(mainWindow, actionProperties, document-properties);
|
||||||
CREATE_NEW_ACTION(mainWindow, actionCopyFilePath);
|
CREATE_NEW_ACTION(mainWindow, actionQuitApp);
|
||||||
CREATE_NEW_THEMEICON_ACTION(mainWindow, actionPaste, edit-paste);
|
#undef CREATE_NEW_ACTION
|
||||||
CREATE_NEW_THEMEICON_ACTION(mainWindow, actionTrash, edit-delete);
|
#undef CREATE_NEW_THEMEICON_ACTION
|
||||||
CREATE_NEW_ACTION(mainWindow, actionToggleStayOnTop);
|
|
||||||
CREATE_NEW_ACTION(mainWindow, actionToggleProtectMode);
|
retranslateUi(mainWindow);
|
||||||
CREATE_NEW_ACTION(mainWindow, actionToggleAvoidResetTransform);
|
|
||||||
CREATE_NEW_ACTION(mainWindow, actionSettings);
|
QMetaObject::connectSlotsByName(mainWindow);
|
||||||
CREATE_NEW_THEMEICON_ACTION(mainWindow, actionHelp, system-help);
|
}
|
||||||
CREATE_NEW_THEMEICON_ACTION(mainWindow, actionLocateInFileManager, system-file-manager);
|
|
||||||
CREATE_NEW_THEMEICON_ACTION(mainWindow, actionProperties, document-properties);
|
void ActionManager::retranslateUi(MainWindow *mainWindow)
|
||||||
CREATE_NEW_ACTION(mainWindow, actionQuitApp);
|
{
|
||||||
#undef CREATE_NEW_ACTION
|
Q_UNUSED(mainWindow);
|
||||||
#undef CREATE_NEW_THEMEICON_ACTION
|
|
||||||
|
actionOpen->setText(QCoreApplication::translate("MainWindow", "&Open...", nullptr));
|
||||||
retranslateUi(mainWindow);
|
|
||||||
|
actionActualSize->setText(QCoreApplication::translate("MainWindow", "Actual size", nullptr));
|
||||||
QMetaObject::connectSlotsByName(mainWindow);
|
actionToggleMaximize->setText(QCoreApplication::translate("MainWindow", "Toggle maximize", nullptr));
|
||||||
}
|
actionZoomIn->setText(QCoreApplication::translate("MainWindow", "Zoom in", nullptr));
|
||||||
|
actionZoomOut->setText(QCoreApplication::translate("MainWindow", "Zoom out", nullptr));
|
||||||
void ActionManager::retranslateUi(MainWindow *mainWindow)
|
actionToggleCheckerboard->setText(QCoreApplication::translate("MainWindow", "Toggle Checkerboard", nullptr));
|
||||||
{
|
actionRotateClockwise->setText(QCoreApplication::translate("MainWindow", "Rotate right", nullptr));
|
||||||
Q_UNUSED(mainWindow);
|
actionRotateCounterClockwise->setText(QCoreApplication::translate("MainWindow", "Rotate left", nullptr));
|
||||||
|
|
||||||
actionOpen->setText(QCoreApplication::translate("MainWindow", "&Open...", nullptr));
|
actionPrevPicture->setText(QCoreApplication::translate("MainWindow", "Previous image", nullptr));
|
||||||
|
actionNextPicture->setText(QCoreApplication::translate("MainWindow", "Next image", nullptr));
|
||||||
actionActualSize->setText(QCoreApplication::translate("MainWindow", "Actual size", nullptr));
|
|
||||||
actionToggleMaximize->setText(QCoreApplication::translate("MainWindow", "Toggle maximize", nullptr));
|
actionTogglePauseAnimation->setText(QCoreApplication::translate("MainWindow", "Pause/Resume Animation", nullptr));
|
||||||
actionZoomIn->setText(QCoreApplication::translate("MainWindow", "Zoom in", nullptr));
|
actionAnimationNextFrame->setText(QCoreApplication::translate("MainWindow", "Animation Go to Next Frame", nullptr));
|
||||||
actionZoomOut->setText(QCoreApplication::translate("MainWindow", "Zoom out", nullptr));
|
|
||||||
actionToggleCheckerboard->setText(QCoreApplication::translate("MainWindow", "Toggle Checkerboard", nullptr));
|
actionHorizontalFlip->setText(QCoreApplication::translate("MainWindow", "Flip &Horizontally", nullptr));
|
||||||
actionRotateClockwise->setText(QCoreApplication::translate("MainWindow", "Rotate right", nullptr));
|
actionFitInView->setText(QCoreApplication::translate("MainWindow", "Fit to view", nullptr));
|
||||||
actionRotateCounterClockwise->setText(QCoreApplication::translate("MainWindow", "Rotate left", nullptr));
|
actionFitByWidth->setText(QCoreApplication::translate("MainWindow", "Fit to width", nullptr));
|
||||||
|
actionCopyPixmap->setText(QCoreApplication::translate("MainWindow", "Copy P&ixmap", nullptr));
|
||||||
actionPrevPicture->setText(QCoreApplication::translate("MainWindow", "Previous image", nullptr));
|
actionCopyFilePath->setText(QCoreApplication::translate("MainWindow", "Copy &File Path", nullptr));
|
||||||
actionNextPicture->setText(QCoreApplication::translate("MainWindow", "Next image", nullptr));
|
actionPaste->setText(QCoreApplication::translate("MainWindow", "&Paste", nullptr));
|
||||||
|
actionTrash->setText(QCoreApplication::translate("MainWindow", "Move to Trash", nullptr));
|
||||||
actionTogglePauseAnimation->setText(QCoreApplication::translate("MainWindow", "Pause/Resume Animation", nullptr));
|
actionToggleStayOnTop->setText(QCoreApplication::translate("MainWindow", "Stay on top", nullptr));
|
||||||
actionAnimationNextFrame->setText(QCoreApplication::translate("MainWindow", "Animation Go to Next Frame", nullptr));
|
actionToggleProtectMode->setText(QCoreApplication::translate("MainWindow", "Protected mode", nullptr));
|
||||||
|
actionToggleAvoidResetTransform->setText(QCoreApplication::translate("MainWindow", "Keep transformation", "The 'transformation' means the flip/rotation status that currently applied to the image view"));
|
||||||
actionHorizontalFlip->setText(QCoreApplication::translate("MainWindow", "Flip &Horizontally", nullptr));
|
actionSettings->setText(QCoreApplication::translate("MainWindow", "Configure...", nullptr));
|
||||||
actionFitInView->setText(QCoreApplication::translate("MainWindow", "Fit to view", nullptr));
|
actionHelp->setText(QCoreApplication::translate("MainWindow", "Help", nullptr));
|
||||||
actionFitByWidth->setText(QCoreApplication::translate("MainWindow", "Fit to width", nullptr));
|
#ifdef Q_OS_WIN
|
||||||
actionCopyPixmap->setText(QCoreApplication::translate("MainWindow", "Copy P&ixmap", nullptr));
|
actionLocateInFileManager->setText(
|
||||||
actionCopyFilePath->setText(QCoreApplication::translate("MainWindow", "Copy &File Path", nullptr));
|
QCoreApplication::translate(
|
||||||
actionPaste->setText(QCoreApplication::translate("MainWindow", "&Paste", nullptr));
|
"MainWindow", "Show in File Explorer",
|
||||||
actionTrash->setText(QCoreApplication::translate("MainWindow", "Move to Trash", nullptr));
|
"File Explorer is the name of explorer.exe under Windows"
|
||||||
actionToggleStayOnTop->setText(QCoreApplication::translate("MainWindow", "Stay on top", nullptr));
|
)
|
||||||
actionToggleProtectMode->setText(QCoreApplication::translate("MainWindow", "Protected mode", nullptr));
|
);
|
||||||
actionToggleAvoidResetTransform->setText(QCoreApplication::translate("MainWindow", "Keep transformation", "The 'transformation' means the flip/rotation status that currently applied to the image view"));
|
#else
|
||||||
actionSettings->setText(QCoreApplication::translate("MainWindow", "Configure...", nullptr));
|
actionLocateInFileManager->setText(QCoreApplication::translate("MainWindow", "Show in directory", nullptr));
|
||||||
actionHelp->setText(QCoreApplication::translate("MainWindow", "Help", nullptr));
|
#endif // Q_OS_WIN
|
||||||
#ifdef Q_OS_WIN
|
actionProperties->setText(QCoreApplication::translate("MainWindow", "Properties", nullptr));
|
||||||
actionLocateInFileManager->setText(
|
actionQuitApp->setText(QCoreApplication::translate("MainWindow", "Quit", nullptr));
|
||||||
QCoreApplication::translate(
|
}
|
||||||
"MainWindow", "Show in File Explorer",
|
|
||||||
"File Explorer is the name of explorer.exe under Windows"
|
void ActionManager::setupShortcuts()
|
||||||
)
|
{
|
||||||
);
|
actionOpen->setShortcut(QKeySequence::Open);
|
||||||
#else
|
actionActualSize->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_0));
|
||||||
actionLocateInFileManager->setText(QCoreApplication::translate("MainWindow", "Show in directory", nullptr));
|
actionZoomIn->setShortcut(QKeySequence::ZoomIn);
|
||||||
#endif // Q_OS_WIN
|
actionZoomOut->setShortcut(QKeySequence::ZoomOut);
|
||||||
actionProperties->setText(QCoreApplication::translate("MainWindow", "Properties", nullptr));
|
actionPrevPicture->setShortcuts({
|
||||||
actionQuitApp->setText(QCoreApplication::translate("MainWindow", "Quit", nullptr));
|
QKeySequence(Qt::Key_PageUp),
|
||||||
}
|
QKeySequence(Qt::Key_Left),
|
||||||
|
});
|
||||||
void ActionManager::setupShortcuts()
|
actionNextPicture->setShortcuts({
|
||||||
{
|
QKeySequence(Qt::Key_PageDown),
|
||||||
actionOpen->setShortcut(QKeySequence::Open);
|
QKeySequence(Qt::Key_Right),
|
||||||
actionActualSize->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_0));
|
});
|
||||||
actionZoomIn->setShortcut(QKeySequence::ZoomIn);
|
actionHorizontalFlip->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_R));
|
||||||
actionZoomOut->setShortcut(QKeySequence::ZoomOut);
|
actionCopyPixmap->setShortcut(QKeySequence::Copy);
|
||||||
actionPrevPicture->setShortcuts({
|
actionPaste->setShortcut(QKeySequence::Paste);
|
||||||
QKeySequence(Qt::Key_PageUp),
|
actionTrash->setShortcut(QKeySequence::Delete);
|
||||||
QKeySequence(Qt::Key_Left),
|
actionHelp->setShortcut(QKeySequence::HelpContents);
|
||||||
});
|
actionSettings->setShortcut(QKeySequence::Preferences);
|
||||||
actionNextPicture->setShortcuts({
|
actionProperties->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_I));
|
||||||
QKeySequence(Qt::Key_PageDown),
|
actionQuitApp->setShortcuts({
|
||||||
QKeySequence(Qt::Key_Right),
|
QKeySequence(Qt::Key_Space),
|
||||||
});
|
QKeySequence(Qt::Key_Escape)
|
||||||
actionHorizontalFlip->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_R));
|
});
|
||||||
actionCopyPixmap->setShortcut(QKeySequence::Copy);
|
}
|
||||||
actionPaste->setShortcut(QKeySequence::Paste);
|
|
||||||
actionTrash->setShortcut(QKeySequence::Delete);
|
|
||||||
actionHelp->setShortcut(QKeySequence::HelpContents);
|
|
||||||
actionSettings->setShortcut(QKeySequence::Preferences);
|
|
||||||
actionProperties->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_I));
|
|
||||||
actionQuitApp->setShortcuts({
|
|
||||||
QKeySequence(Qt::Key_Space),
|
|
||||||
QKeySequence(Qt::Key_Escape)
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,58 +1,58 @@
|
|||||||
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
// SPDX-FileCopyrightText: 2025 Gary Wang <git@blumia.net>
|
||||||
//
|
//
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
#ifndef ACTIONMANAGER_H
|
#ifndef ACTIONMANAGER_H
|
||||||
#define ACTIONMANAGER_H
|
#define ACTIONMANAGER_H
|
||||||
|
|
||||||
#include <QAction>
|
#include <QAction>
|
||||||
|
|
||||||
class MainWindow;
|
class MainWindow;
|
||||||
|
|
||||||
class ActionManager
|
class ActionManager
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
ActionManager();
|
explicit ActionManager() = default;
|
||||||
~ActionManager();
|
~ActionManager() = default;
|
||||||
|
|
||||||
void setupAction(MainWindow * mainWindow);
|
void setupAction(MainWindow * mainWindow);
|
||||||
void retranslateUi(MainWindow *MainWindow);
|
void retranslateUi(MainWindow *MainWindow);
|
||||||
void setupShortcuts();
|
void setupShortcuts();
|
||||||
|
|
||||||
static QIcon loadHidpiIcon(const QString &resp, QSize sz = QSize(32, 32));
|
static QIcon loadHidpiIcon(const QString &resp, QSize sz = QSize(32, 32));
|
||||||
|
|
||||||
public:
|
public:
|
||||||
QAction *actionOpen;
|
QAction *actionOpen;
|
||||||
|
|
||||||
QAction *actionActualSize;
|
QAction *actionActualSize;
|
||||||
QAction *actionToggleMaximize;
|
QAction *actionToggleMaximize;
|
||||||
QAction *actionZoomIn;
|
QAction *actionZoomIn;
|
||||||
QAction *actionZoomOut;
|
QAction *actionZoomOut;
|
||||||
QAction *actionToggleCheckerboard;
|
QAction *actionToggleCheckerboard;
|
||||||
QAction *actionRotateClockwise;
|
QAction *actionRotateClockwise;
|
||||||
QAction *actionRotateCounterClockwise;
|
QAction *actionRotateCounterClockwise;
|
||||||
|
|
||||||
QAction *actionPrevPicture;
|
QAction *actionPrevPicture;
|
||||||
QAction *actionNextPicture;
|
QAction *actionNextPicture;
|
||||||
|
|
||||||
QAction *actionTogglePauseAnimation;
|
QAction *actionTogglePauseAnimation;
|
||||||
QAction *actionAnimationNextFrame;
|
QAction *actionAnimationNextFrame;
|
||||||
|
|
||||||
QAction *actionHorizontalFlip;
|
QAction *actionHorizontalFlip;
|
||||||
QAction *actionFitInView;
|
QAction *actionFitInView;
|
||||||
QAction *actionFitByWidth;
|
QAction *actionFitByWidth;
|
||||||
QAction *actionCopyPixmap;
|
QAction *actionCopyPixmap;
|
||||||
QAction *actionCopyFilePath;
|
QAction *actionCopyFilePath;
|
||||||
QAction *actionPaste;
|
QAction *actionPaste;
|
||||||
QAction *actionTrash;
|
QAction *actionTrash;
|
||||||
QAction *actionToggleStayOnTop;
|
QAction *actionToggleStayOnTop;
|
||||||
QAction *actionToggleProtectMode;
|
QAction *actionToggleProtectMode;
|
||||||
QAction *actionToggleAvoidResetTransform;
|
QAction *actionToggleAvoidResetTransform;
|
||||||
QAction *actionSettings;
|
QAction *actionSettings;
|
||||||
QAction *actionHelp;
|
QAction *actionHelp;
|
||||||
QAction *actionLocateInFileManager;
|
QAction *actionLocateInFileManager;
|
||||||
QAction *actionProperties;
|
QAction *actionProperties;
|
||||||
QAction *actionQuitApp;
|
QAction *actionQuitApp;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // ACTIONMANAGER_H
|
#endif // ACTIONMANAGER_H
|
||||||
|
|||||||
@@ -1,59 +1,57 @@
|
|||||||
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
||||||
//
|
//
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
#include "bottombuttongroup.h"
|
#include "bottombuttongroup.h"
|
||||||
|
|
||||||
#include "opacityhelper.h"
|
#include "opacityhelper.h"
|
||||||
|
|
||||||
#include <functional>
|
#include <QToolButton>
|
||||||
|
#include <QVBoxLayout>
|
||||||
#include <QToolButton>
|
#include <QDebug>
|
||||||
#include <QVBoxLayout>
|
|
||||||
#include <QDebug>
|
BottomButtonGroup::BottomButtonGroup(const std::vector<QAction *> &actionList, QWidget *parent)
|
||||||
|
: QGroupBox (parent)
|
||||||
BottomButtonGroup::BottomButtonGroup(const std::vector<QAction *> &actionList, QWidget *parent)
|
, m_opacityHelper(new OpacityHelper(this))
|
||||||
: QGroupBox (parent)
|
{
|
||||||
, m_opacityHelper(new OpacityHelper(this))
|
QHBoxLayout * mainLayout = new QHBoxLayout(this);
|
||||||
{
|
mainLayout->setSizeConstraint(QLayout::SetFixedSize);
|
||||||
QHBoxLayout * mainLayout = new QHBoxLayout(this);
|
this->setLayout(mainLayout);
|
||||||
mainLayout->setSizeConstraint(QLayout::SetFixedSize);
|
this->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
|
||||||
this->setLayout(mainLayout);
|
this->setStyleSheet("BottomButtonGroup {"
|
||||||
this->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
|
"border: 1px solid gray;"
|
||||||
this->setStyleSheet("BottomButtonGroup {"
|
"border-top-left-radius: 10px;"
|
||||||
"border: 1px solid gray;"
|
"border-top-right-radius: 10px;"
|
||||||
"border-top-left-radius: 10px;"
|
"border-style: none;"
|
||||||
"border-top-right-radius: 10px;"
|
"background-color:rgba(0,0,0,120)"
|
||||||
"border-style: none;"
|
"}"
|
||||||
"background-color:rgba(0,0,0,120)"
|
"QToolButton {"
|
||||||
"}"
|
"background:transparent;"
|
||||||
"QToolButton {"
|
"}"
|
||||||
"background:transparent;"
|
"QToolButton:!focus {"
|
||||||
"}"
|
"border-style: none;"
|
||||||
"QToolButton:!focus {"
|
"}");
|
||||||
"border-style: none;"
|
|
||||||
"}");
|
auto newActionBtn = [this](QAction * action) -> QToolButton * {
|
||||||
|
QToolButton * btn = new QToolButton(this);
|
||||||
auto newActionBtn = [this](QAction * action) -> QToolButton * {
|
btn->setDefaultAction(action);
|
||||||
QToolButton * btn = new QToolButton(this);
|
btn->setIconSize(QSize(32, 32));
|
||||||
btn->setDefaultAction(action);
|
btn->setFixedSize(40, 40);
|
||||||
btn->setIconSize(QSize(32, 32));
|
return btn;
|
||||||
btn->setFixedSize(40, 40);
|
};
|
||||||
return btn;
|
|
||||||
};
|
for (QAction * action : actionList) {
|
||||||
|
addButton(newActionBtn(action));
|
||||||
for (QAction * action : actionList) {
|
}
|
||||||
addButton(newActionBtn(action));
|
}
|
||||||
}
|
|
||||||
}
|
void BottomButtonGroup::setOpacity(qreal opacity, bool animated)
|
||||||
|
{
|
||||||
void BottomButtonGroup::setOpacity(qreal opacity, bool animated)
|
m_opacityHelper->setOpacity(opacity, animated);
|
||||||
{
|
}
|
||||||
m_opacityHelper->setOpacity(opacity, animated);
|
|
||||||
}
|
void BottomButtonGroup::addButton(QAbstractButton *button)
|
||||||
|
{
|
||||||
void BottomButtonGroup::addButton(QAbstractButton *button)
|
layout()->addWidget(button);
|
||||||
{
|
updateGeometry();
|
||||||
layout()->addWidget(button);
|
}
|
||||||
updateGeometry();
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,27 +1,27 @@
|
|||||||
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
||||||
//
|
//
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
#ifndef BOTTOMBUTTONGROUP_H
|
#ifndef BOTTOMBUTTONGROUP_H
|
||||||
#define BOTTOMBUTTONGROUP_H
|
#define BOTTOMBUTTONGROUP_H
|
||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include <QAbstractButton>
|
#include <QAbstractButton>
|
||||||
#include <QGroupBox>
|
#include <QGroupBox>
|
||||||
|
|
||||||
class OpacityHelper;
|
class OpacityHelper;
|
||||||
class BottomButtonGroup : public QGroupBox
|
class BottomButtonGroup : public QGroupBox
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
explicit BottomButtonGroup(const std::vector<QAction *> & actionList, QWidget *parent = nullptr);
|
explicit BottomButtonGroup(const std::vector<QAction *> & actionList, QWidget *parent = nullptr);
|
||||||
|
|
||||||
void setOpacity(qreal opacity, bool animated = true);
|
void setOpacity(qreal opacity, bool animated = true);
|
||||||
void addButton(QAbstractButton *button);
|
void addButton(QAbstractButton *button);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
OpacityHelper * m_opacityHelper;
|
OpacityHelper * m_opacityHelper;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // BOTTOMBUTTONGROUP_H
|
#endif // BOTTOMBUTTONGROUP_H
|
||||||
|
|||||||
@@ -1,138 +1,138 @@
|
|||||||
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
||||||
//
|
//
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
#include "exiv2wrapper.h"
|
#include "exiv2wrapper.h"
|
||||||
|
|
||||||
#ifdef HAVE_EXIV2_VERSION
|
#ifdef HAVE_EXIV2_VERSION
|
||||||
#include <exiv2/exiv2.hpp>
|
#include <exiv2/exiv2.hpp>
|
||||||
#else // HAVE_EXIV2_VERSION
|
#else // HAVE_EXIV2_VERSION
|
||||||
namespace Exiv2 {
|
namespace Exiv2 {
|
||||||
class Image {};
|
class Image {};
|
||||||
}
|
}
|
||||||
#endif // HAVE_EXIV2_VERSION
|
#endif // HAVE_EXIV2_VERSION
|
||||||
|
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
|
||||||
#include <QFile>
|
#include <QFile>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
|
||||||
Exiv2Wrapper::Exiv2Wrapper()
|
Exiv2Wrapper::Exiv2Wrapper()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Exiv2Wrapper::~Exiv2Wrapper()
|
Exiv2Wrapper::~Exiv2Wrapper()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_EXIV2_VERSION // stupid AppleClang...
|
#ifdef HAVE_EXIV2_VERSION // stupid AppleClang...
|
||||||
template<typename Collection, typename Iterator>
|
template<typename Collection, typename Iterator>
|
||||||
void Exiv2Wrapper::cacheSection(Collection collection)
|
void Exiv2Wrapper::cacheSection(Collection collection)
|
||||||
{
|
{
|
||||||
const Collection& exifData = collection;
|
const Collection& exifData = collection;
|
||||||
Iterator it = exifData.begin(), end = exifData.end();
|
Iterator it = exifData.begin(), end = exifData.end();
|
||||||
for (; it != end; ++it) {
|
for (; it != end; ++it) {
|
||||||
QString key = QString::fromUtf8(it->key().c_str());
|
QString key = QString::fromUtf8(it->key().c_str());
|
||||||
if (it->tagName().substr(0, 2) == "0x") continue;
|
if (it->tagName().substr(0, 2) == "0x") continue;
|
||||||
// We might get exceptions like "No namespace info available for XMP prefix `Item'"
|
// We might get exceptions like "No namespace info available for XMP prefix `Item'"
|
||||||
// when trying to get tagLabel() data from a Xmpdatum if the tag is not common-used.
|
// when trying to get tagLabel() data from a Xmpdatum if the tag is not common-used.
|
||||||
// We don't care for those rare tags so let's just use a try-cache...
|
// We don't care for those rare tags so let's just use a try-cache...
|
||||||
try {
|
try {
|
||||||
QString label = QString::fromLocal8Bit(it->tagLabel().c_str());
|
QString label = QString::fromLocal8Bit(it->tagLabel().c_str());
|
||||||
std::ostringstream stream;
|
std::ostringstream stream;
|
||||||
stream << *it;
|
stream << *it;
|
||||||
QString value = QString::fromUtf8(stream.str().c_str());
|
QString value = QString::fromUtf8(stream.str().c_str());
|
||||||
m_metadataValue.insert(key, value);
|
m_metadataValue.insert(key, value);
|
||||||
m_metadataLabel.insert(key, label);
|
m_metadataLabel.insert(key, label);
|
||||||
qDebug() << key << label << value;
|
qDebug() << key << label << value;
|
||||||
#if EXIV2_TEST_VERSION(0, 28, 0)
|
#if EXIV2_TEST_VERSION(0, 28, 0)
|
||||||
} catch (Exiv2::Error & err) {
|
} catch (Exiv2::Error & err) {
|
||||||
#else // 0.27.x
|
#else // 0.27.x
|
||||||
} catch (Exiv2::AnyError & err) {
|
} catch (Exiv2::AnyError & err) {
|
||||||
#endif // EXIV2_TEST_VERSION(0, 28, 0)
|
#endif // EXIV2_TEST_VERSION(0, 28, 0)
|
||||||
qWarning() << "Error loading key" << key << ":" << err.what();
|
qWarning() << "Error loading key" << key << ":" << err.what();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif // HAVE_EXIV2_VERSION
|
#endif // HAVE_EXIV2_VERSION
|
||||||
|
|
||||||
bool Exiv2Wrapper::load(const QString &filePath)
|
bool Exiv2Wrapper::load(const QString &filePath)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_EXIV2_VERSION
|
#ifdef HAVE_EXIV2_VERSION
|
||||||
QByteArray filePathByteArray = QFile::encodeName(filePath);
|
QByteArray filePathByteArray = QFile::encodeName(filePath);
|
||||||
try {
|
try {
|
||||||
m_exivImage.reset(Exiv2::ImageFactory::open(filePathByteArray.constData()).release());
|
m_exivImage.reset(Exiv2::ImageFactory::open(filePathByteArray.constData()).release());
|
||||||
m_exivImage->readMetadata();
|
m_exivImage->readMetadata();
|
||||||
} catch (const Exiv2::Error& error) {
|
} catch (const Exiv2::Error& error) {
|
||||||
m_errMsg = QString::fromUtf8(error.what());
|
m_errMsg = QString::fromUtf8(error.what());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
#else // HAVE_EXIV2_VERSION
|
#else // HAVE_EXIV2_VERSION
|
||||||
Q_UNUSED(filePath);
|
Q_UNUSED(filePath);
|
||||||
return false;
|
return false;
|
||||||
#endif // HAVE_EXIV2_VERSION
|
#endif // HAVE_EXIV2_VERSION
|
||||||
}
|
}
|
||||||
|
|
||||||
void Exiv2Wrapper::cacheSections()
|
void Exiv2Wrapper::cacheSections()
|
||||||
{
|
{
|
||||||
#ifdef HAVE_EXIV2_VERSION
|
#ifdef HAVE_EXIV2_VERSION
|
||||||
if (m_exivImage->checkMode(Exiv2::mdExif) & Exiv2::amRead) {
|
if (m_exivImage->checkMode(Exiv2::mdExif) & Exiv2::amRead) {
|
||||||
cacheSection<Exiv2::ExifData, Exiv2::ExifData::const_iterator>(m_exivImage->exifData());
|
cacheSection<Exiv2::ExifData, Exiv2::ExifData::const_iterator>(m_exivImage->exifData());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_exivImage->checkMode(Exiv2::mdIptc) & Exiv2::amRead) {
|
if (m_exivImage->checkMode(Exiv2::mdIptc) & Exiv2::amRead) {
|
||||||
cacheSection<Exiv2::IptcData, Exiv2::IptcData::const_iterator>(m_exivImage->iptcData());
|
cacheSection<Exiv2::IptcData, Exiv2::IptcData::const_iterator>(m_exivImage->iptcData());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_exivImage->checkMode(Exiv2::mdXmp) & Exiv2::amRead) {
|
if (m_exivImage->checkMode(Exiv2::mdXmp) & Exiv2::amRead) {
|
||||||
cacheSection<Exiv2::XmpData, Exiv2::XmpData::const_iterator>(m_exivImage->xmpData());
|
cacheSection<Exiv2::XmpData, Exiv2::XmpData::const_iterator>(m_exivImage->xmpData());
|
||||||
}
|
}
|
||||||
|
|
||||||
// qDebug() << m_metadataValue;
|
// qDebug() << m_metadataValue;
|
||||||
// qDebug() << m_metadataLabel;
|
// qDebug() << m_metadataLabel;
|
||||||
#endif // HAVE_EXIV2_VERSION
|
#endif // HAVE_EXIV2_VERSION
|
||||||
}
|
}
|
||||||
|
|
||||||
QString Exiv2Wrapper::comment() const
|
QString Exiv2Wrapper::comment() const
|
||||||
{
|
{
|
||||||
#ifdef HAVE_EXIV2_VERSION
|
#ifdef HAVE_EXIV2_VERSION
|
||||||
return m_exivImage->comment().c_str();
|
return m_exivImage->comment().c_str();
|
||||||
#else // HAVE_EXIV2_VERSION
|
#else // HAVE_EXIV2_VERSION
|
||||||
return QString();
|
return QString();
|
||||||
#endif // HAVE_EXIV2_VERSION
|
#endif // HAVE_EXIV2_VERSION
|
||||||
}
|
}
|
||||||
|
|
||||||
QString Exiv2Wrapper::label(const QString &key) const
|
QString Exiv2Wrapper::label(const QString &key) const
|
||||||
{
|
{
|
||||||
return m_metadataLabel.value(key);
|
return m_metadataLabel.value(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString Exiv2Wrapper::value(const QString &key) const
|
QString Exiv2Wrapper::value(const QString &key) const
|
||||||
{
|
{
|
||||||
return m_metadataValue.value(key);
|
return m_metadataValue.value(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString Exiv2Wrapper::XmpValue(const QString &rawValue)
|
QString Exiv2Wrapper::XmpValue(const QString &rawValue)
|
||||||
{
|
{
|
||||||
QString ignored;
|
QString ignored;
|
||||||
return Exiv2Wrapper::XmpValue(rawValue, ignored);
|
return Exiv2Wrapper::XmpValue(rawValue, ignored);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString Exiv2Wrapper::XmpValue(const QString &rawValue, QString &language)
|
QString Exiv2Wrapper::XmpValue(const QString &rawValue, QString &language)
|
||||||
{
|
{
|
||||||
if (rawValue.size() > 6 && rawValue.startsWith(QLatin1String("lang=\""))) {
|
if (rawValue.size() > 6 && rawValue.startsWith(QLatin1String("lang=\""))) {
|
||||||
int pos = rawValue.indexOf('"', 6);
|
int pos = rawValue.indexOf('"', 6);
|
||||||
|
|
||||||
if (pos != -1) {
|
if (pos != -1) {
|
||||||
language = rawValue.mid(6, pos - 6);
|
language = rawValue.mid(6, pos - 6);
|
||||||
return (rawValue.mid(pos + 2));
|
return (rawValue.mid(pos + 2));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
language.clear();
|
language.clear();
|
||||||
return rawValue;
|
return rawValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,43 +1,43 @@
|
|||||||
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
||||||
//
|
//
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
#ifndef EXIV2WRAPPER_H
|
#ifndef EXIV2WRAPPER_H
|
||||||
#define EXIV2WRAPPER_H
|
#define EXIV2WRAPPER_H
|
||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
#include <QString>
|
#include <QString>
|
||||||
#include <QMap>
|
#include <QMap>
|
||||||
|
|
||||||
namespace Exiv2 {
|
namespace Exiv2 {
|
||||||
class Image;
|
class Image;
|
||||||
}
|
}
|
||||||
|
|
||||||
class Exiv2Wrapper
|
class Exiv2Wrapper
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
Exiv2Wrapper();
|
Exiv2Wrapper();
|
||||||
~Exiv2Wrapper();
|
~Exiv2Wrapper();
|
||||||
|
|
||||||
bool load(const QString& filePath);
|
bool load(const QString& filePath);
|
||||||
void cacheSections();
|
void cacheSections();
|
||||||
|
|
||||||
QString comment() const;
|
QString comment() const;
|
||||||
QString label(const QString & key) const;
|
QString label(const QString & key) const;
|
||||||
QString value(const QString & key) const;
|
QString value(const QString & key) const;
|
||||||
|
|
||||||
static QString XmpValue(const QString &rawValue);
|
static QString XmpValue(const QString &rawValue);
|
||||||
static QString XmpValue(const QString &rawValue, QString & language);
|
static QString XmpValue(const QString &rawValue, QString & language);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::unique_ptr<Exiv2::Image> m_exivImage;
|
std::unique_ptr<Exiv2::Image> m_exivImage;
|
||||||
QMap<QString, QString> m_metadataValue;
|
QMap<QString, QString> m_metadataValue;
|
||||||
QMap<QString, QString> m_metadataLabel;
|
QMap<QString, QString> m_metadataLabel;
|
||||||
QString m_errMsg;
|
QString m_errMsg;
|
||||||
|
|
||||||
template<typename Collection, typename Iterator>
|
template<typename Collection, typename Iterator>
|
||||||
void cacheSection(Collection collection);
|
void cacheSection(Collection collection);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // EXIV2WRAPPER_H
|
#endif // EXIV2WRAPPER_H
|
||||||
|
|||||||
@@ -1,147 +1,136 @@
|
|||||||
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
||||||
// SPDX-FileCopyrightText: 2023 Tad Young <yyc12321@outlook.com>
|
// SPDX-FileCopyrightText: 2023 Tad Young <yyc12321@outlook.com>
|
||||||
//
|
//
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
#include "framelesswindow.h"
|
#include "framelesswindow.h"
|
||||||
|
|
||||||
#include <QMouseEvent>
|
#include <QMouseEvent>
|
||||||
#include <QHoverEvent>
|
#include <QHoverEvent>
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
#include <QVBoxLayout>
|
#include <QVBoxLayout>
|
||||||
#include <QWindow>
|
#include <QWindow>
|
||||||
|
|
||||||
FramelessWindow::FramelessWindow(QWidget *parent)
|
FramelessWindow::FramelessWindow(QWidget *parent)
|
||||||
: QWidget(parent)
|
: QWidget(parent)
|
||||||
, m_centralLayout(new QVBoxLayout(this))
|
, m_centralLayout(new QVBoxLayout(this))
|
||||||
, m_oldCursorShape(Qt::ArrowCursor)
|
, m_oldCursorShape(Qt::ArrowCursor)
|
||||||
, m_oldEdges()
|
, m_oldEdges()
|
||||||
{
|
{
|
||||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
this->setWindowFlags(Qt::Window | Qt::FramelessWindowHint | Qt::WindowMinMaxButtonsHint);
|
||||||
this->setWindowFlags(Qt::Window | Qt::FramelessWindowHint | Qt::WindowMinMaxButtonsHint);
|
this->setMouseTracking(true);
|
||||||
#else
|
this->setAttribute(Qt::WA_Hover, true);
|
||||||
// There is a bug in Qt 5 that will make pressing Meta+Up cause the app
|
this->installEventFilter(this);
|
||||||
// fullscreen under Windows, see QTBUG-91226 to learn more.
|
|
||||||
// The bug seems no longer exists in Qt 6 (I only tested it under Qt 6.3.0).
|
m_centralLayout->setContentsMargins(QMargins());
|
||||||
this->setWindowFlags(Qt::Window | Qt::FramelessWindowHint | Qt::WindowMinimizeButtonHint);
|
}
|
||||||
#endif // QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
|
||||||
this->setMouseTracking(true);
|
void FramelessWindow::setCentralWidget(QWidget *widget)
|
||||||
this->setAttribute(Qt::WA_Hover, true);
|
{
|
||||||
this->installEventFilter(this);
|
if (m_centralWidget) {
|
||||||
|
m_centralLayout->removeWidget(m_centralWidget);
|
||||||
m_centralLayout->setContentsMargins(QMargins());
|
m_centralWidget->deleteLater();
|
||||||
}
|
}
|
||||||
|
|
||||||
void FramelessWindow::setCentralWidget(QWidget *widget)
|
m_centralLayout->addWidget(widget);
|
||||||
{
|
m_centralWidget = widget;
|
||||||
if (m_centralWidget) {
|
}
|
||||||
m_centralLayout->removeWidget(m_centralWidget);
|
|
||||||
m_centralWidget->deleteLater();
|
void FramelessWindow::installResizeCapture(QObject* widget)
|
||||||
}
|
{
|
||||||
|
widget->installEventFilter(this);
|
||||||
m_centralLayout->addWidget(widget);
|
}
|
||||||
m_centralWidget = widget;
|
|
||||||
}
|
bool FramelessWindow::eventFilter(QObject* o, QEvent* e)
|
||||||
|
{
|
||||||
void FramelessWindow::installResizeCapture(QObject* widget)
|
switch (e->type()) {
|
||||||
{
|
case QEvent::HoverMove:
|
||||||
widget->installEventFilter(this);
|
{
|
||||||
}
|
QWidget* wg = qobject_cast<QWidget*>(o);
|
||||||
|
if (wg != nullptr)
|
||||||
bool FramelessWindow::eventFilter(QObject* o, QEvent* e)
|
return mouseHover(static_cast<QHoverEvent*>(e), wg);
|
||||||
{
|
|
||||||
switch (e->type()) {
|
break;
|
||||||
case QEvent::HoverMove:
|
}
|
||||||
{
|
case QEvent::MouseButtonPress:
|
||||||
QWidget* wg = qobject_cast<QWidget*>(o);
|
return mousePress(static_cast<QMouseEvent*>(e));
|
||||||
if (wg != nullptr)
|
}
|
||||||
return mouseHover(static_cast<QHoverEvent*>(e), wg);
|
|
||||||
|
return QWidget::eventFilter(o, e);
|
||||||
break;
|
}
|
||||||
}
|
|
||||||
case QEvent::MouseButtonPress:
|
bool FramelessWindow::mouseHover(QHoverEvent* event, QWidget* wg)
|
||||||
return mousePress(static_cast<QMouseEvent*>(e));
|
{
|
||||||
}
|
if (!isMaximized() && !isFullScreen()) {
|
||||||
|
QWindow* win = window()->windowHandle();
|
||||||
return QWidget::eventFilter(o, e);
|
Qt::Edges edges = this->getEdgesByPos(wg->mapToGlobal(event->oldPos()), win->frameGeometry());
|
||||||
}
|
|
||||||
|
// backup & restore cursor shape
|
||||||
bool FramelessWindow::mouseHover(QHoverEvent* event, QWidget* wg)
|
if (edges && !m_oldEdges)
|
||||||
{
|
// entering the edge. backup cursor shape
|
||||||
if (!isMaximized() && !isFullScreen()) {
|
m_oldCursorShape = win->cursor().shape();
|
||||||
QWindow* win = window()->windowHandle();
|
if (!edges && m_oldEdges)
|
||||||
Qt::Edges edges = this->getEdgesByPos(wg->mapToGlobal(event->oldPos()), win->frameGeometry());
|
// leaving the edge. restore cursor shape
|
||||||
|
win->setCursor(m_oldCursorShape);
|
||||||
// backup & restore cursor shape
|
|
||||||
if (edges && !m_oldEdges)
|
// save the latest edges status
|
||||||
// entering the edge. backup cursor shape
|
m_oldEdges = edges;
|
||||||
m_oldCursorShape = win->cursor().shape();
|
|
||||||
if (!edges && m_oldEdges)
|
// show resize cursor shape if cursor is within border
|
||||||
// leaving the edge. restore cursor shape
|
if (edges) {
|
||||||
win->setCursor(m_oldCursorShape);
|
win->setCursor(this->getCursorByEdge(edges, Qt::ArrowCursor));
|
||||||
|
return true;
|
||||||
// save the latest edges status
|
}
|
||||||
m_oldEdges = edges;
|
}
|
||||||
|
|
||||||
// show resize cursor shape if cursor is within border
|
return false;
|
||||||
if (edges) {
|
}
|
||||||
win->setCursor(this->getCursorByEdge(edges, Qt::ArrowCursor));
|
|
||||||
return true;
|
bool FramelessWindow::mousePress(QMouseEvent* event)
|
||||||
}
|
{
|
||||||
}
|
if (event->buttons() & Qt::LeftButton && !isMaximized() && !isFullScreen()) {
|
||||||
|
QWindow* win = window()->windowHandle();
|
||||||
return false;
|
Qt::Edges edges = this->getEdgesByPos(event->globalPosition().toPoint(), win->frameGeometry());
|
||||||
}
|
if (edges) {
|
||||||
|
win->startSystemResize(edges);
|
||||||
bool FramelessWindow::mousePress(QMouseEvent* event)
|
return true;
|
||||||
{
|
}
|
||||||
if (event->buttons() & Qt::LeftButton && !isMaximized() && !isFullScreen()) {
|
}
|
||||||
QWindow* win = window()->windowHandle();
|
|
||||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
return false;
|
||||||
Qt::Edges edges = this->getEdgesByPos(event->globalPosition().toPoint(), win->frameGeometry());
|
}
|
||||||
#else
|
|
||||||
Qt::Edges edges = this->getEdgesByPos(event->globalPos(), win->frameGeometry());
|
Qt::CursorShape FramelessWindow::getCursorByEdge(const Qt::Edges& edges, Qt::CursorShape default_cursor)
|
||||||
#endif // QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
{
|
||||||
if (edges) {
|
if ((edges == (Qt::TopEdge | Qt::LeftEdge)) || (edges == (Qt::RightEdge | Qt::BottomEdge)))
|
||||||
win->startSystemResize(edges);
|
return Qt::SizeFDiagCursor;
|
||||||
return true;
|
else if ((edges == (Qt::TopEdge | Qt::RightEdge)) || (edges == (Qt::LeftEdge | Qt::BottomEdge)))
|
||||||
}
|
return Qt::SizeBDiagCursor;
|
||||||
}
|
else if (edges & (Qt::TopEdge | Qt::BottomEdge))
|
||||||
|
return Qt::SizeVerCursor;
|
||||||
return false;
|
else if (edges & (Qt::LeftEdge | Qt::RightEdge))
|
||||||
}
|
return Qt::SizeHorCursor;
|
||||||
|
else
|
||||||
Qt::CursorShape FramelessWindow::getCursorByEdge(const Qt::Edges& edges, Qt::CursorShape default_cursor)
|
return default_cursor;
|
||||||
{
|
}
|
||||||
if ((edges == (Qt::TopEdge | Qt::LeftEdge)) || (edges == (Qt::RightEdge | Qt::BottomEdge)))
|
|
||||||
return Qt::SizeFDiagCursor;
|
Qt::Edges FramelessWindow::getEdgesByPos(const QPoint gpos, const QRect& winrect)
|
||||||
else if ((edges == (Qt::TopEdge | Qt::RightEdge)) || (edges == (Qt::LeftEdge | Qt::BottomEdge)))
|
{
|
||||||
return Qt::SizeBDiagCursor;
|
const int borderWidth = 8;
|
||||||
else if (edges & (Qt::TopEdge | Qt::BottomEdge))
|
Qt::Edges edges;
|
||||||
return Qt::SizeVerCursor;
|
|
||||||
else if (edges & (Qt::LeftEdge | Qt::RightEdge))
|
int x = gpos.x() - winrect.x();
|
||||||
return Qt::SizeHorCursor;
|
int y = gpos.y() - winrect.y();
|
||||||
else
|
|
||||||
return default_cursor;
|
if (x < borderWidth)
|
||||||
}
|
edges |= Qt::LeftEdge;
|
||||||
|
if (x > (winrect.width() - borderWidth))
|
||||||
Qt::Edges FramelessWindow::getEdgesByPos(const QPoint gpos, const QRect& winrect)
|
edges |= Qt::RightEdge;
|
||||||
{
|
if (y < borderWidth)
|
||||||
const int borderWidth = 8;
|
edges |= Qt::TopEdge;
|
||||||
Qt::Edges edges;
|
if (y > (winrect.height() - borderWidth))
|
||||||
|
edges |= Qt::BottomEdge;
|
||||||
int x = gpos.x() - winrect.x();
|
|
||||||
int y = gpos.y() - winrect.y();
|
return edges;
|
||||||
|
}
|
||||||
if (x < borderWidth)
|
|
||||||
edges |= Qt::LeftEdge;
|
|
||||||
if (x > (winrect.width() - borderWidth))
|
|
||||||
edges |= Qt::RightEdge;
|
|
||||||
if (y < borderWidth)
|
|
||||||
edges |= Qt::TopEdge;
|
|
||||||
if (y > (winrect.height() - borderWidth))
|
|
||||||
edges |= Qt::BottomEdge;
|
|
||||||
|
|
||||||
return edges;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,39 +1,39 @@
|
|||||||
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
||||||
//
|
//
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
#ifndef FRAMELESSWINDOW_H
|
#ifndef FRAMELESSWINDOW_H
|
||||||
#define FRAMELESSWINDOW_H
|
#define FRAMELESSWINDOW_H
|
||||||
|
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
class QVBoxLayout;
|
class QVBoxLayout;
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
|
||||||
class FramelessWindow : public QWidget
|
class FramelessWindow : public QWidget
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
explicit FramelessWindow(QWidget *parent = nullptr);
|
explicit FramelessWindow(QWidget *parent = nullptr);
|
||||||
|
|
||||||
void setCentralWidget(QWidget * widget);
|
void setCentralWidget(QWidget * widget);
|
||||||
void installResizeCapture(QObject* widget);
|
void installResizeCapture(QObject* widget);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
bool eventFilter(QObject *o, QEvent *e) override;
|
bool eventFilter(QObject *o, QEvent *e) override;
|
||||||
bool mouseHover(QHoverEvent* event, QWidget* wg);
|
bool mouseHover(QHoverEvent* event, QWidget* wg);
|
||||||
bool mousePress(QMouseEvent* event);
|
bool mousePress(QMouseEvent* event);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Qt::Edges m_oldEdges;
|
Qt::Edges m_oldEdges;
|
||||||
Qt::CursorShape m_oldCursorShape;
|
Qt::CursorShape m_oldCursorShape;
|
||||||
|
|
||||||
Qt::CursorShape getCursorByEdge(const Qt::Edges& edges, Qt::CursorShape default_cursor);
|
Qt::CursorShape getCursorByEdge(const Qt::Edges& edges, Qt::CursorShape default_cursor);
|
||||||
Qt::Edges getEdgesByPos(const QPoint pos, const QRect& winrect);
|
Qt::Edges getEdgesByPos(const QPoint pos, const QRect& winrect);
|
||||||
|
|
||||||
QVBoxLayout * m_centralLayout = nullptr;
|
QVBoxLayout * m_centralLayout = nullptr;
|
||||||
QWidget * m_centralWidget = nullptr; // just a pointer, doesn't take the ownership.
|
QWidget * m_centralWidget = nullptr; // just a pointer, doesn't take the ownership.
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // FRAMELESSWINDOW_H
|
#endif // FRAMELESSWINDOW_H
|
||||||
|
|||||||
@@ -1,367 +1,371 @@
|
|||||||
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
||||||
//
|
//
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
#include "graphicsview.h"
|
#include "graphicsview.h"
|
||||||
|
|
||||||
#include "graphicsscene.h"
|
#include "graphicsscene.h"
|
||||||
#include "settings.h"
|
#include "settings.h"
|
||||||
|
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <QMouseEvent>
|
#include <QMouseEvent>
|
||||||
#include <QScrollBar>
|
#include <QScrollBar>
|
||||||
#include <QMimeData>
|
#include <QMimeData>
|
||||||
#include <QImageReader>
|
#include <QImageReader>
|
||||||
#include <QStyleOptionGraphicsItem>
|
#include <QStyleOptionGraphicsItem>
|
||||||
|
|
||||||
GraphicsView::GraphicsView(QWidget *parent)
|
GraphicsView::GraphicsView(QWidget *parent)
|
||||||
: QGraphicsView (parent)
|
: QGraphicsView (parent)
|
||||||
{
|
{
|
||||||
setDragMode(QGraphicsView::ScrollHandDrag);
|
setDragMode(QGraphicsView::ScrollHandDrag);
|
||||||
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||||
setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||||
setResizeAnchor(QGraphicsView::AnchorUnderMouse);
|
setResizeAnchor(QGraphicsView::AnchorUnderMouse);
|
||||||
setTransformationAnchor(QGraphicsView::AnchorUnderMouse);
|
setTransformationAnchor(QGraphicsView::AnchorUnderMouse);
|
||||||
setStyleSheet("background-color: rgba(0, 0, 0, 220);"
|
setStyleSheet("background-color: rgba(0, 0, 0, 220);"
|
||||||
"border-radius: 3px;");
|
"border-radius: 3px;");
|
||||||
setAcceptDrops(false);
|
setAcceptDrops(false);
|
||||||
setCheckerboardEnabled(false);
|
setCheckerboardEnabled(false);
|
||||||
|
|
||||||
connect(horizontalScrollBar(), &QScrollBar::valueChanged, this, &GraphicsView::viewportRectChanged);
|
connect(horizontalScrollBar(), &QScrollBar::valueChanged, this, &GraphicsView::viewportRectChanged);
|
||||||
connect(verticalScrollBar(), &QScrollBar::valueChanged, this, &GraphicsView::viewportRectChanged);
|
connect(verticalScrollBar(), &QScrollBar::valueChanged, this, &GraphicsView::viewportRectChanged);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GraphicsView::showFileFromPath(const QString &filePath)
|
void GraphicsView::showFileFromPath(const QString &filePath)
|
||||||
{
|
{
|
||||||
emit navigatorViewRequired(false, transform());
|
emit navigatorViewRequired(false, transform());
|
||||||
|
|
||||||
if (filePath.endsWith(".svg")) {
|
if (filePath.endsWith(".svg")) {
|
||||||
showSvg(filePath);
|
showSvg(filePath);
|
||||||
} else {
|
} else {
|
||||||
QImageReader imageReader(filePath);
|
QImageReader imageReader(filePath);
|
||||||
imageReader.setAutoTransform(true);
|
imageReader.setAutoTransform(true);
|
||||||
imageReader.setDecideFormatFromContent(true);
|
imageReader.setDecideFormatFromContent(true);
|
||||||
#if QT_VERSION > QT_VERSION_CHECK(6, 0, 0)
|
imageReader.setAllocationLimit(0);
|
||||||
imageReader.setAllocationLimit(0);
|
|
||||||
#endif //QT_VERSION > QT_VERSION_CHECK(6, 0, 0)
|
// Since if the image format / plugin does not support this feature, imageFormat() will returns an invalid format.
|
||||||
|
// So we cannot use imageFormat() and check if it returns QImage::Format_Invalid to detect if we support the file.
|
||||||
// Since if the image format / plugin does not support this feature, imageFormat() will returns an invalid format.
|
// QImage::Format imageFormat = imageReader.imageFormat();
|
||||||
// So we cannot use imageFormat() and check if it returns QImage::Format_Invalid to detect if we support the file.
|
if (imageReader.format().isEmpty()) {
|
||||||
// QImage::Format imageFormat = imageReader.imageFormat();
|
showText(tr("File is not a valid image"));
|
||||||
if (imageReader.format().isEmpty()) {
|
} else if (imageReader.supportsAnimation() && imageReader.imageCount() > 1) {
|
||||||
showText(tr("File is not a valid image"));
|
showAnimated(filePath);
|
||||||
} else if (imageReader.supportsAnimation() && imageReader.imageCount() > 1) {
|
} else if (!imageReader.canRead()) {
|
||||||
showAnimated(filePath);
|
showText(tr("Image data is invalid or currently unsupported"));
|
||||||
} else if (!imageReader.canRead()) {
|
} else {
|
||||||
showText(tr("Image data is invalid or currently unsupported"));
|
QPixmap && pixmap = QPixmap::fromImageReader(&imageReader);
|
||||||
} else {
|
if (pixmap.isNull()) {
|
||||||
QPixmap && pixmap = QPixmap::fromImageReader(&imageReader);
|
showText(tr("Image data is invalid or currently unsupported"));
|
||||||
if (pixmap.isNull()) {
|
} else {
|
||||||
showText(tr("Image data is invalid or currently unsupported"));
|
pixmap.setDevicePixelRatio(devicePixelRatioF());
|
||||||
} else {
|
showImage(pixmap);
|
||||||
pixmap.setDevicePixelRatio(devicePixelRatioF());
|
}
|
||||||
showImage(pixmap);
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
void GraphicsView::showImage(const QPixmap &pixmap)
|
||||||
|
{
|
||||||
void GraphicsView::showImage(const QPixmap &pixmap)
|
resetTransform();
|
||||||
{
|
scene()->showImage(pixmap);
|
||||||
resetTransform();
|
displayScene();
|
||||||
scene()->showImage(pixmap);
|
}
|
||||||
displayScene();
|
|
||||||
}
|
void GraphicsView::showImage(const QImage &image)
|
||||||
|
{
|
||||||
void GraphicsView::showImage(const QImage &image)
|
resetTransform();
|
||||||
{
|
scene()->showImage(QPixmap::fromImage(image));
|
||||||
resetTransform();
|
displayScene();
|
||||||
scene()->showImage(QPixmap::fromImage(image));
|
}
|
||||||
displayScene();
|
|
||||||
}
|
void GraphicsView::showText(const QString &text)
|
||||||
|
{
|
||||||
void GraphicsView::showText(const QString &text)
|
resetTransform();
|
||||||
{
|
scene()->showText(text);
|
||||||
resetTransform();
|
displayScene();
|
||||||
scene()->showText(text);
|
}
|
||||||
displayScene();
|
|
||||||
}
|
void GraphicsView::showSvg(const QString &filepath)
|
||||||
|
{
|
||||||
void GraphicsView::showSvg(const QString &filepath)
|
resetTransform();
|
||||||
{
|
scene()->showSvg(filepath);
|
||||||
resetTransform();
|
displayScene();
|
||||||
scene()->showSvg(filepath);
|
}
|
||||||
displayScene();
|
|
||||||
}
|
void GraphicsView::showAnimated(const QString &filepath)
|
||||||
|
{
|
||||||
void GraphicsView::showAnimated(const QString &filepath)
|
resetTransform();
|
||||||
{
|
scene()->showAnimated(filepath);
|
||||||
resetTransform();
|
displayScene();
|
||||||
scene()->showAnimated(filepath);
|
}
|
||||||
displayScene();
|
|
||||||
}
|
GraphicsScene *GraphicsView::scene() const
|
||||||
|
{
|
||||||
GraphicsScene *GraphicsView::scene() const
|
return qobject_cast<GraphicsScene*>(QGraphicsView::scene());
|
||||||
{
|
}
|
||||||
return qobject_cast<GraphicsScene*>(QGraphicsView::scene());
|
|
||||||
}
|
void GraphicsView::setScene(GraphicsScene *scene)
|
||||||
|
{
|
||||||
void GraphicsView::setScene(GraphicsScene *scene)
|
return QGraphicsView::setScene(scene);
|
||||||
{
|
}
|
||||||
return QGraphicsView::setScene(scene);
|
|
||||||
}
|
qreal GraphicsView::scaleFactor() const
|
||||||
|
{
|
||||||
qreal GraphicsView::scaleFactor() const
|
return QStyleOptionGraphicsItem::levelOfDetailFromTransform(transform());
|
||||||
{
|
}
|
||||||
return QStyleOptionGraphicsItem::levelOfDetailFromTransform(transform());
|
|
||||||
}
|
void GraphicsView::resetTransform()
|
||||||
|
{
|
||||||
void GraphicsView::resetTransform()
|
if (!shouldAvoidTransform()) {
|
||||||
{
|
QGraphicsView::resetTransform();
|
||||||
if (!m_avoidResetTransform) {
|
}
|
||||||
QGraphicsView::resetTransform();
|
}
|
||||||
}
|
|
||||||
}
|
void GraphicsView::zoomView(qreal scaleFactor)
|
||||||
|
{
|
||||||
void GraphicsView::zoomView(qreal scaleFactor)
|
m_enableFitInView = false;
|
||||||
{
|
scale(scaleFactor, scaleFactor);
|
||||||
m_enableFitInView = false;
|
applyTransformationModeByScaleFactor();
|
||||||
scale(scaleFactor, scaleFactor);
|
emit navigatorViewRequired(!isThingSmallerThanWindowWith(transform()), transform());
|
||||||
applyTransformationModeByScaleFactor();
|
}
|
||||||
emit navigatorViewRequired(!isThingSmallerThanWindowWith(transform()), transform());
|
|
||||||
}
|
// This is always according to user's view.
|
||||||
|
// the direction of the rotation will NOT be clockwise because the y-axis points downwards.
|
||||||
// This is always according to user's view.
|
void GraphicsView::rotateView(bool clockwise)
|
||||||
// the direction of the rotation will NOT be clockwise because the y-axis points downwards.
|
{
|
||||||
void GraphicsView::rotateView(bool clockwise)
|
resetScale();
|
||||||
{
|
|
||||||
resetScale();
|
QTransform tf(0, clockwise ? 1 : -1, 0,
|
||||||
|
clockwise ? -1 : 1, 0, 0,
|
||||||
QTransform tf(0, clockwise ? 1 : -1, 0,
|
0, 0, 1);
|
||||||
clockwise ? -1 : 1, 0, 0,
|
tf = transform() * tf;
|
||||||
0, 0, 1);
|
setTransform(tf);
|
||||||
tf = transform() * tf;
|
}
|
||||||
setTransform(tf);
|
|
||||||
}
|
void GraphicsView::flipView(bool horizontal)
|
||||||
|
{
|
||||||
void GraphicsView::flipView(bool horizontal)
|
QTransform tf(horizontal ? -1 : 1, 0, 0,
|
||||||
{
|
0, horizontal ? 1 : -1, 0,
|
||||||
QTransform tf(horizontal ? -1 : 1, 0, 0,
|
0, 0, 1);
|
||||||
0, horizontal ? 1 : -1, 0,
|
tf = transform() * tf;
|
||||||
0, 0, 1);
|
setTransform(tf);
|
||||||
tf = transform() * tf;
|
|
||||||
setTransform(tf);
|
// Ensure the navigation view is also flipped.
|
||||||
|
emit navigatorViewRequired(!isThingSmallerThanWindowWith(transform()), transform());
|
||||||
// Ensure the navigation view is also flipped.
|
}
|
||||||
emit navigatorViewRequired(!isThingSmallerThanWindowWith(transform()), transform());
|
|
||||||
}
|
void GraphicsView::resetScale()
|
||||||
|
{
|
||||||
void GraphicsView::resetScale()
|
setTransform(resetScale(transform()));
|
||||||
{
|
applyTransformationModeByScaleFactor();
|
||||||
setTransform(resetScale(transform()));
|
emit navigatorViewRequired(!isThingSmallerThanWindowWith(transform()), transform());
|
||||||
applyTransformationModeByScaleFactor();
|
}
|
||||||
emit navigatorViewRequired(!isThingSmallerThanWindowWith(transform()), transform());
|
|
||||||
}
|
void GraphicsView::fitInView(const QRectF &rect, Qt::AspectRatioMode aspectRadioMode)
|
||||||
|
{
|
||||||
void GraphicsView::fitInView(const QRectF &rect, Qt::AspectRatioMode aspectRadioMode)
|
QGraphicsView::fitInView(rect, aspectRadioMode);
|
||||||
{
|
applyTransformationModeByScaleFactor();
|
||||||
QGraphicsView::fitInView(rect, aspectRadioMode);
|
}
|
||||||
applyTransformationModeByScaleFactor();
|
|
||||||
}
|
void GraphicsView::fitByOrientation(Qt::Orientation ori, bool scaleDownOnly)
|
||||||
|
{
|
||||||
void GraphicsView::fitByOrientation(Qt::Orientation ori, bool scaleDownOnly)
|
resetScale();
|
||||||
{
|
|
||||||
resetScale();
|
QRectF viewRect = this->viewport()->rect().adjusted(2, 2, -2, -2);
|
||||||
|
QRectF imageRect = transform().mapRect(sceneRect());
|
||||||
QRectF viewRect = this->viewport()->rect().adjusted(2, 2, -2, -2);
|
|
||||||
QRectF imageRect = transform().mapRect(sceneRect());
|
qreal ratio;
|
||||||
|
|
||||||
qreal ratio;
|
if (ori == Qt::Horizontal) {
|
||||||
|
ratio = viewRect.width() / imageRect.width();
|
||||||
if (ori == Qt::Horizontal) {
|
} else {
|
||||||
ratio = viewRect.width() / imageRect.width();
|
ratio = viewRect.height() / imageRect.height();
|
||||||
} else {
|
}
|
||||||
ratio = viewRect.height() / imageRect.height();
|
|
||||||
}
|
if (scaleDownOnly && ratio > 1) ratio = 1;
|
||||||
|
|
||||||
if (scaleDownOnly && ratio > 1) ratio = 1;
|
scale(ratio, ratio);
|
||||||
|
centerOn(imageRect.top(), 0);
|
||||||
scale(ratio, ratio);
|
m_enableFitInView = false;
|
||||||
centerOn(imageRect.top(), 0);
|
|
||||||
m_enableFitInView = false;
|
applyTransformationModeByScaleFactor();
|
||||||
|
emit navigatorViewRequired(!isThingSmallerThanWindowWith(transform()), transform());
|
||||||
applyTransformationModeByScaleFactor();
|
}
|
||||||
emit navigatorViewRequired(!isThingSmallerThanWindowWith(transform()), transform());
|
|
||||||
}
|
void GraphicsView::displayScene()
|
||||||
|
{
|
||||||
void GraphicsView::displayScene()
|
if (shouldAvoidTransform()) {
|
||||||
{
|
emit navigatorViewRequired(!isThingSmallerThanWindowWith(transform()), transform());
|
||||||
if (m_avoidResetTransform) {
|
return;
|
||||||
emit navigatorViewRequired(!isThingSmallerThanWindowWith(transform()), transform());
|
}
|
||||||
return;
|
|
||||||
}
|
if (isSceneBiggerThanView()) {
|
||||||
|
fitInView(sceneRect(), Qt::KeepAspectRatio);
|
||||||
if (isSceneBiggerThanView()) {
|
}
|
||||||
fitInView(sceneRect(), Qt::KeepAspectRatio);
|
|
||||||
}
|
m_enableFitInView = true;
|
||||||
|
m_firstUserMediaLoaded = true;
|
||||||
m_enableFitInView = true;
|
}
|
||||||
}
|
|
||||||
|
bool GraphicsView::isSceneBiggerThanView() const
|
||||||
bool GraphicsView::isSceneBiggerThanView() const
|
{
|
||||||
{
|
if (!isThingSmallerThanWindowWith(transform())) {
|
||||||
if (!isThingSmallerThanWindowWith(transform())) {
|
return true;
|
||||||
return true;
|
} else {
|
||||||
} else {
|
return false;
|
||||||
return false;
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
// Automately do fit in view when viewport(window) smaller than image original size.
|
||||||
// Automately do fit in view when viewport(window) smaller than image original size.
|
void GraphicsView::setEnableAutoFitInView(bool enable)
|
||||||
void GraphicsView::setEnableAutoFitInView(bool enable)
|
{
|
||||||
{
|
m_enableFitInView = enable;
|
||||||
m_enableFitInView = enable;
|
}
|
||||||
}
|
|
||||||
|
bool GraphicsView::avoidResetTransform() const
|
||||||
bool GraphicsView::avoidResetTransform() const
|
{
|
||||||
{
|
return m_avoidResetTransform;
|
||||||
return m_avoidResetTransform;
|
}
|
||||||
}
|
|
||||||
|
void GraphicsView::setAvoidResetTransform(bool avoidReset)
|
||||||
void GraphicsView::setAvoidResetTransform(bool avoidReset)
|
{
|
||||||
{
|
m_avoidResetTransform = avoidReset;
|
||||||
m_avoidResetTransform = avoidReset;
|
}
|
||||||
}
|
|
||||||
|
inline double zeroOrOne(double number)
|
||||||
inline double zeroOrOne(double number)
|
{
|
||||||
{
|
return qFuzzyIsNull(number) ? 0 : (number > 0 ? 1 : -1);
|
||||||
return qFuzzyIsNull(number) ? 0 : (number > 0 ? 1 : -1);
|
}
|
||||||
}
|
|
||||||
|
// Note: this only works if we only have 90 degree based rotation
|
||||||
// Note: this only works if we only have 90 degree based rotation
|
// and no shear/translate.
|
||||||
// and no shear/translate.
|
QTransform GraphicsView::resetScale(const QTransform & orig)
|
||||||
QTransform GraphicsView::resetScale(const QTransform & orig)
|
{
|
||||||
{
|
return QTransform(zeroOrOne(orig.m11()), zeroOrOne(orig.m12()),
|
||||||
return QTransform(zeroOrOne(orig.m11()), zeroOrOne(orig.m12()),
|
zeroOrOne(orig.m21()), zeroOrOne(orig.m22()),
|
||||||
zeroOrOne(orig.m21()), zeroOrOne(orig.m22()),
|
orig.dx(), orig.dy());
|
||||||
orig.dx(), orig.dy());
|
}
|
||||||
}
|
|
||||||
|
void GraphicsView::toggleCheckerboard(bool invertCheckerboardColor)
|
||||||
void GraphicsView::toggleCheckerboard(bool invertCheckerboardColor)
|
{
|
||||||
{
|
setCheckerboardEnabled(!m_checkerboardEnabled, invertCheckerboardColor);
|
||||||
setCheckerboardEnabled(!m_checkerboardEnabled, invertCheckerboardColor);
|
}
|
||||||
}
|
|
||||||
|
void GraphicsView::mousePressEvent(QMouseEvent *event)
|
||||||
void GraphicsView::mousePressEvent(QMouseEvent *event)
|
{
|
||||||
{
|
if (shouldIgnoreMousePressMoveEvent(event)) {
|
||||||
if (shouldIgnoreMousePressMoveEvent(event)) {
|
event->ignore();
|
||||||
event->ignore();
|
// blumia: return here, or the QMouseEvent event transparency won't
|
||||||
// blumia: return here, or the QMouseEvent event transparency won't
|
// work if we set a QGraphicsView::ScrollHandDrag drag mode.
|
||||||
// work if we set a QGraphicsView::ScrollHandDrag drag mode.
|
return;
|
||||||
return;
|
}
|
||||||
}
|
|
||||||
|
return QGraphicsView::mousePressEvent(event);
|
||||||
return QGraphicsView::mousePressEvent(event);
|
}
|
||||||
}
|
|
||||||
|
void GraphicsView::mouseMoveEvent(QMouseEvent *event)
|
||||||
void GraphicsView::mouseMoveEvent(QMouseEvent *event)
|
{
|
||||||
{
|
if (shouldIgnoreMousePressMoveEvent(event)) {
|
||||||
if (shouldIgnoreMousePressMoveEvent(event)) {
|
event->ignore();
|
||||||
event->ignore();
|
}
|
||||||
}
|
|
||||||
|
return QGraphicsView::mouseMoveEvent(event);
|
||||||
return QGraphicsView::mouseMoveEvent(event);
|
}
|
||||||
}
|
|
||||||
|
void GraphicsView::mouseReleaseEvent(QMouseEvent *event)
|
||||||
void GraphicsView::mouseReleaseEvent(QMouseEvent *event)
|
{
|
||||||
{
|
if (event->button() == Qt::ForwardButton || event->button() == Qt::BackButton) {
|
||||||
if (event->button() == Qt::ForwardButton || event->button() == Qt::BackButton) {
|
event->ignore();
|
||||||
event->ignore();
|
} else {
|
||||||
} else {
|
QGraphicsItem *item = itemAt(event->pos());
|
||||||
QGraphicsItem *item = itemAt(event->pos());
|
if (!item) {
|
||||||
if (!item) {
|
event->ignore();
|
||||||
event->ignore();
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
return QGraphicsView::mouseReleaseEvent(event);
|
||||||
return QGraphicsView::mouseReleaseEvent(event);
|
}
|
||||||
}
|
|
||||||
|
void GraphicsView::wheelEvent(QWheelEvent *event)
|
||||||
void GraphicsView::wheelEvent(QWheelEvent *event)
|
{
|
||||||
{
|
event->ignore();
|
||||||
event->ignore();
|
// blumia: no need for calling parent method.
|
||||||
// blumia: no need for calling parent method.
|
}
|
||||||
}
|
|
||||||
|
void GraphicsView::resizeEvent(QResizeEvent *event)
|
||||||
void GraphicsView::resizeEvent(QResizeEvent *event)
|
{
|
||||||
{
|
if (m_enableFitInView) {
|
||||||
if (m_enableFitInView) {
|
bool originalSizeSmallerThanWindow = isThingSmallerThanWindowWith(resetScale(transform()));
|
||||||
bool originalSizeSmallerThanWindow = isThingSmallerThanWindowWith(resetScale(transform()));
|
if (originalSizeSmallerThanWindow && scaleFactor() >= 1) {
|
||||||
if (originalSizeSmallerThanWindow && scaleFactor() >= 1) {
|
// no longer need to do fitInView()
|
||||||
// no longer need to do fitInView()
|
// but we leave the m_enableFitInView value unchanged in case
|
||||||
// but we leave the m_enableFitInView value unchanged in case
|
// user resize down the window again.
|
||||||
// user resize down the window again.
|
} else if (originalSizeSmallerThanWindow && scaleFactor() < 1) {
|
||||||
} else if (originalSizeSmallerThanWindow && scaleFactor() < 1) {
|
resetScale();
|
||||||
resetScale();
|
} else {
|
||||||
} else {
|
fitInView(sceneRect(), Qt::KeepAspectRatio);
|
||||||
fitInView(sceneRect(), Qt::KeepAspectRatio);
|
}
|
||||||
}
|
} else {
|
||||||
} else {
|
emit navigatorViewRequired(!isThingSmallerThanWindowWith(transform()), transform());
|
||||||
emit navigatorViewRequired(!isThingSmallerThanWindowWith(transform()), transform());
|
}
|
||||||
}
|
return QGraphicsView::resizeEvent(event);
|
||||||
return QGraphicsView::resizeEvent(event);
|
}
|
||||||
}
|
|
||||||
|
bool GraphicsView::isThingSmallerThanWindowWith(const QTransform &transform) const
|
||||||
bool GraphicsView::isThingSmallerThanWindowWith(const QTransform &transform) const
|
{
|
||||||
{
|
return rect().size().expandedTo(transform.mapRect(sceneRect()).size().toSize())
|
||||||
return rect().size().expandedTo(transform.mapRect(sceneRect()).size().toSize())
|
== rect().size();
|
||||||
== rect().size();
|
}
|
||||||
}
|
|
||||||
|
bool GraphicsView::shouldIgnoreMousePressMoveEvent(const QMouseEvent *event) const
|
||||||
bool GraphicsView::shouldIgnoreMousePressMoveEvent(const QMouseEvent *event) const
|
{
|
||||||
{
|
if (event->buttons() == Qt::NoButton) {
|
||||||
if (event->buttons() == Qt::NoButton) {
|
return true;
|
||||||
return true;
|
}
|
||||||
}
|
|
||||||
|
QGraphicsItem *item = itemAt(event->pos());
|
||||||
QGraphicsItem *item = itemAt(event->pos());
|
if (!item) {
|
||||||
if (!item) {
|
return true;
|
||||||
return true;
|
}
|
||||||
}
|
|
||||||
|
if (isThingSmallerThanWindowWith(transform())) {
|
||||||
if (isThingSmallerThanWindowWith(transform())) {
|
return true;
|
||||||
return true;
|
}
|
||||||
}
|
|
||||||
|
return false;
|
||||||
return false;
|
}
|
||||||
}
|
|
||||||
|
void GraphicsView::setCheckerboardEnabled(bool enabled, bool invertColor)
|
||||||
void GraphicsView::setCheckerboardEnabled(bool enabled, bool invertColor)
|
{
|
||||||
{
|
m_checkerboardEnabled = enabled;
|
||||||
m_checkerboardEnabled = enabled;
|
bool isLightCheckerboard = Settings::instance()->useLightCheckerboard() ^ invertColor;
|
||||||
bool isLightCheckerboard = Settings::instance()->useLightCheckerboard() ^ invertColor;
|
if (m_checkerboardEnabled) {
|
||||||
if (m_checkerboardEnabled) {
|
// Prepare background check-board pattern
|
||||||
// Prepare background check-board pattern
|
QPixmap tilePixmap(0x20, 0x20);
|
||||||
QPixmap tilePixmap(0x20, 0x20);
|
tilePixmap.fill(isLightCheckerboard ? QColor(220, 220, 220, 170) : QColor(35, 35, 35, 170));
|
||||||
tilePixmap.fill(isLightCheckerboard ? QColor(220, 220, 220, 170) : QColor(35, 35, 35, 170));
|
QPainter tilePainter(&tilePixmap);
|
||||||
QPainter tilePainter(&tilePixmap);
|
constexpr QColor color(45, 45, 45, 170);
|
||||||
constexpr QColor color(45, 45, 45, 170);
|
constexpr QColor invertedColor(210, 210, 210, 170);
|
||||||
constexpr QColor invertedColor(210, 210, 210, 170);
|
tilePainter.fillRect(0, 0, 0x10, 0x10, isLightCheckerboard ? invertedColor : color);
|
||||||
tilePainter.fillRect(0, 0, 0x10, 0x10, isLightCheckerboard ? invertedColor : color);
|
tilePainter.fillRect(0x10, 0x10, 0x10, 0x10, isLightCheckerboard ? invertedColor : color);
|
||||||
tilePainter.fillRect(0x10, 0x10, 0x10, 0x10, isLightCheckerboard ? invertedColor : color);
|
tilePainter.end();
|
||||||
tilePainter.end();
|
|
||||||
|
setBackgroundBrush(tilePixmap);
|
||||||
setBackgroundBrush(tilePixmap);
|
} else {
|
||||||
} else {
|
setBackgroundBrush(Qt::transparent);
|
||||||
setBackgroundBrush(Qt::transparent);
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
void GraphicsView::applyTransformationModeByScaleFactor()
|
||||||
void GraphicsView::applyTransformationModeByScaleFactor()
|
{
|
||||||
{
|
if (this->scaleFactor() < 1) {
|
||||||
if (this->scaleFactor() < 1) {
|
scene()->trySetTransformationMode(Qt::SmoothTransformation, this->scaleFactor());
|
||||||
scene()->trySetTransformationMode(Qt::SmoothTransformation, this->scaleFactor());
|
} else {
|
||||||
} else {
|
scene()->trySetTransformationMode(Qt::FastTransformation, this->scaleFactor());
|
||||||
scene()->trySetTransformationMode(Qt::FastTransformation, this->scaleFactor());
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
bool GraphicsView::shouldAvoidTransform() const
|
||||||
|
{
|
||||||
|
return m_firstUserMediaLoaded && m_avoidResetTransform;
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,76 +1,79 @@
|
|||||||
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
||||||
//
|
//
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
#ifndef GRAPHICSVIEW_H
|
#ifndef GRAPHICSVIEW_H
|
||||||
#define GRAPHICSVIEW_H
|
#define GRAPHICSVIEW_H
|
||||||
|
|
||||||
#include <QGraphicsView>
|
#include <QGraphicsView>
|
||||||
#include <QUrl>
|
#include <QUrl>
|
||||||
|
|
||||||
class GraphicsScene;
|
class GraphicsScene;
|
||||||
class GraphicsView : public QGraphicsView
|
class GraphicsView : public QGraphicsView
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
GraphicsView(QWidget *parent = nullptr);
|
GraphicsView(QWidget *parent = nullptr);
|
||||||
|
|
||||||
void showFileFromPath(const QString &filePath);
|
void showFileFromPath(const QString &filePath);
|
||||||
|
|
||||||
void showImage(const QPixmap &pixmap);
|
void showImage(const QPixmap &pixmap);
|
||||||
void showImage(const QImage &image);
|
void showImage(const QImage &image);
|
||||||
void showText(const QString &text);
|
void showText(const QString &text);
|
||||||
void showSvg(const QString &filepath);
|
void showSvg(const QString &filepath);
|
||||||
void showAnimated(const QString &filepath);
|
void showAnimated(const QString &filepath);
|
||||||
|
|
||||||
GraphicsScene * scene() const;
|
GraphicsScene * scene() const;
|
||||||
void setScene(GraphicsScene *scene);
|
void setScene(GraphicsScene *scene);
|
||||||
|
|
||||||
qreal scaleFactor() const;
|
qreal scaleFactor() const;
|
||||||
|
|
||||||
void resetTransform();
|
void resetTransform();
|
||||||
void zoomView(qreal scaleFactor);
|
void zoomView(qreal scaleFactor);
|
||||||
void rotateView(bool clockwise = true);
|
void rotateView(bool clockwise = true);
|
||||||
void flipView(bool horizontal = true);
|
void flipView(bool horizontal = true);
|
||||||
void resetScale();
|
void resetScale();
|
||||||
void fitInView(const QRectF &rect, Qt::AspectRatioMode aspectRadioMode = Qt::IgnoreAspectRatio);
|
void fitInView(const QRectF &rect, Qt::AspectRatioMode aspectRadioMode = Qt::IgnoreAspectRatio);
|
||||||
void fitByOrientation(Qt::Orientation ori = Qt::Horizontal, bool scaleDownOnly = false);
|
void fitByOrientation(Qt::Orientation ori = Qt::Horizontal, bool scaleDownOnly = false);
|
||||||
|
|
||||||
void displayScene();
|
void displayScene();
|
||||||
bool isSceneBiggerThanView() const;
|
bool isSceneBiggerThanView() const;
|
||||||
void setEnableAutoFitInView(bool enable = true);
|
void setEnableAutoFitInView(bool enable = true);
|
||||||
|
|
||||||
bool avoidResetTransform() const;
|
bool avoidResetTransform() const;
|
||||||
void setAvoidResetTransform(bool avoidReset);
|
void setAvoidResetTransform(bool avoidReset);
|
||||||
|
|
||||||
static QTransform resetScale(const QTransform & orig);
|
static QTransform resetScale(const QTransform & orig);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void navigatorViewRequired(bool required, QTransform transform);
|
void navigatorViewRequired(bool required, QTransform transform);
|
||||||
void viewportRectChanged();
|
void viewportRectChanged();
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void toggleCheckerboard(bool invertCheckerboardColor = false);
|
void toggleCheckerboard(bool invertCheckerboardColor = false);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void mousePressEvent(QMouseEvent * event) override;
|
void mousePressEvent(QMouseEvent * event) override;
|
||||||
void mouseMoveEvent(QMouseEvent * event) override;
|
void mouseMoveEvent(QMouseEvent * event) override;
|
||||||
void mouseReleaseEvent(QMouseEvent * event) override;
|
void mouseReleaseEvent(QMouseEvent * event) override;
|
||||||
void wheelEvent(QWheelEvent *event) override;
|
void wheelEvent(QWheelEvent *event) override;
|
||||||
void resizeEvent(QResizeEvent *event) override;
|
void resizeEvent(QResizeEvent *event) override;
|
||||||
|
|
||||||
bool isThingSmallerThanWindowWith(const QTransform &transform) const;
|
bool isThingSmallerThanWindowWith(const QTransform &transform) const;
|
||||||
bool shouldIgnoreMousePressMoveEvent(const QMouseEvent *event) const;
|
bool shouldIgnoreMousePressMoveEvent(const QMouseEvent *event) const;
|
||||||
void setCheckerboardEnabled(bool enabled, bool invertColor = false);
|
void setCheckerboardEnabled(bool enabled, bool invertColor = false);
|
||||||
void applyTransformationModeByScaleFactor();
|
void applyTransformationModeByScaleFactor();
|
||||||
|
|
||||||
// Consider switch to 3 state for "no fit", "always fit" and "fit when view is smaller"?
|
inline bool shouldAvoidTransform() const;
|
||||||
// ... or even more? e.g. "fit/snap width" things...
|
|
||||||
// Currently it's "no fit" when it's false and "fit when view is smaller" when it's true.
|
// Consider switch to 3 state for "no fit", "always fit" and "fit when view is smaller"?
|
||||||
bool m_enableFitInView = false;
|
// ... or even more? e.g. "fit/snap width" things...
|
||||||
bool m_avoidResetTransform = false;
|
// Currently it's "no fit" when it's false and "fit when view is smaller" when it's true.
|
||||||
bool m_checkerboardEnabled = false;
|
bool m_enableFitInView = false;
|
||||||
bool m_useLightCheckerboard = false;
|
bool m_avoidResetTransform = false;
|
||||||
};
|
bool m_checkerboardEnabled = false;
|
||||||
|
bool m_useLightCheckerboard = false;
|
||||||
#endif // GRAPHICSVIEW_H
|
bool m_firstUserMediaLoaded = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // GRAPHICSVIEW_H
|
||||||
|
|||||||
190
app/main.cpp
190
app/main.cpp
@@ -1,87 +1,103 @@
|
|||||||
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
||||||
//
|
//
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
#include "mainwindow.h"
|
#include "mainwindow.h"
|
||||||
|
|
||||||
#include "playlistmanager.h"
|
#include "playlistmanager.h"
|
||||||
#include "settings.h"
|
#include "settings.h"
|
||||||
|
|
||||||
#ifdef Q_OS_MACOS
|
#ifdef Q_OS_MACOS
|
||||||
#include "fileopeneventhandler.h"
|
#include "fileopeneventhandler.h"
|
||||||
#endif // Q_OS_MACOS
|
#endif // Q_OS_MACOS
|
||||||
|
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
#include <QCommandLineParser>
|
#include <QCommandLineParser>
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
#include <QTranslator>
|
#include <QTranslator>
|
||||||
#include <QUrl>
|
#include <QUrl>
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
using namespace Qt::Literals::StringLiterals;
|
||||||
{
|
|
||||||
QCoreApplication::setApplicationName("Pineapple Pictures");
|
int main(int argc, char *argv[])
|
||||||
QCoreApplication::setApplicationVersion(PPIC_VERSION_STRING);
|
{
|
||||||
QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Settings::instance()->hiDpiScaleFactorBehavior());
|
QCoreApplication::setApplicationName(u"Pineapple Pictures"_s);
|
||||||
|
QCoreApplication::setApplicationVersion(PPIC_VERSION_STRING);
|
||||||
QApplication a(argc, argv);
|
QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Settings::instance()->hiDpiScaleFactorBehavior());
|
||||||
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
|
|
||||||
a.setAttribute(Qt::ApplicationAttribute::AA_UseHighDpiPixmaps);
|
QApplication a(argc, argv);
|
||||||
#endif
|
|
||||||
|
QTranslator translator;
|
||||||
QTranslator translator;
|
#if defined(TRANSLATION_RESOURCE_EMBEDDING)
|
||||||
#if defined(TRANSLATION_RESOURCE_EMBEDDING)
|
const QString qmDir = u":/i18n/"_s;
|
||||||
const QString qmDir = QLatin1String(":/i18n/");
|
#elif defined(QM_FILE_INSTALL_ABSOLUTE_DIR)
|
||||||
#elif defined(QM_FILE_INSTALL_ABSOLUTE_DIR)
|
const QString qmDir = QT_STRINGIFY(QM_FILE_INSTALL_ABSOLUTE_DIR);
|
||||||
const QString qmDir = QT_STRINGIFY(QM_FILE_INSTALL_ABSOLUTE_DIR);
|
#else
|
||||||
#else
|
const QString qmDir = QDir(QCoreApplication::applicationDirPath()).absoluteFilePath("translations");
|
||||||
const QString qmDir = QDir(QCoreApplication::applicationDirPath()).absoluteFilePath("translations");
|
#endif
|
||||||
#endif
|
if (translator.load(QLocale(), u"PineapplePictures"_s, u"_"_s, qmDir)) {
|
||||||
if (translator.load(QLocale(), QLatin1String("PineapplePictures"), QLatin1String("_"), qmDir)) {
|
QCoreApplication::installTranslator(&translator);
|
||||||
QCoreApplication::installTranslator(&translator);
|
}
|
||||||
}
|
|
||||||
|
QGuiApplication::setApplicationDisplayName(QCoreApplication::translate("main", "Pineapple Pictures"));
|
||||||
QGuiApplication::setApplicationDisplayName(QCoreApplication::translate("main", "Pineapple Pictures"));
|
|
||||||
|
// commandline options
|
||||||
// commandline options
|
QCommandLineOption supportedImageFormats(u"supported-image-formats"_s, QCoreApplication::translate("main", "List supported image format suffixes, and quit program."));
|
||||||
QCommandLineOption supportedImageFormats(QStringLiteral("supported-image-formats"), QCoreApplication::translate("main", "List supported image format suffixes, and quit program."));
|
// parse commandline arguments
|
||||||
// parse commandline arguments
|
QCommandLineParser parser;
|
||||||
QCommandLineParser parser;
|
parser.addOption(supportedImageFormats);
|
||||||
parser.addOption(supportedImageFormats);
|
parser.addPositionalArgument("File list", QCoreApplication::translate("main", "File list."));
|
||||||
parser.addPositionalArgument("File list", QCoreApplication::translate("main", "File list."));
|
parser.addHelpOption();
|
||||||
parser.addHelpOption();
|
parser.process(a);
|
||||||
parser.process(a);
|
|
||||||
|
if (parser.isSet(supportedImageFormats)) {
|
||||||
if (parser.isSet(supportedImageFormats)) {
|
#if QT_VERSION < QT_VERSION_CHECK(6, 9, 0)
|
||||||
fputs(qPrintable(MainWindow::supportedImageFormats().join(QChar('\n'))), stdout);
|
fputs(qPrintable(MainWindow::supportedImageFormats().join(QChar('\n'))), stdout);
|
||||||
::exit(EXIT_SUCCESS);
|
::exit(EXIT_SUCCESS);
|
||||||
}
|
#else
|
||||||
|
QCommandLineParser::showMessageAndExit(QCommandLineParser::MessageType::Information,
|
||||||
MainWindow w;
|
MainWindow::supportedImageFormats().join(QChar('\n')));
|
||||||
w.show();
|
#endif
|
||||||
|
}
|
||||||
#ifdef Q_OS_MACOS
|
|
||||||
FileOpenEventHandler * fileOpenEventHandler = new FileOpenEventHandler(&a);
|
MainWindow w;
|
||||||
a.installEventFilter(fileOpenEventHandler);
|
w.show();
|
||||||
a.connect(fileOpenEventHandler, &FileOpenEventHandler::fileOpen, [&w](const QUrl & url){
|
|
||||||
if (w.isHidden()) {
|
#ifdef Q_OS_MACOS
|
||||||
w.setWindowOpacity(1);
|
FileOpenEventHandler * fileOpenEventHandler = new FileOpenEventHandler(&a);
|
||||||
w.showNormal();
|
a.installEventFilter(fileOpenEventHandler);
|
||||||
} else {
|
a.connect(fileOpenEventHandler, &FileOpenEventHandler::fileOpen, [&w](const QUrl & url){
|
||||||
w.activateWindow();
|
if (w.isHidden()) {
|
||||||
}
|
w.setWindowOpacity(1);
|
||||||
w.showUrls({url});
|
w.showNormal();
|
||||||
w.initWindowSize();
|
} else {
|
||||||
});
|
w.activateWindow();
|
||||||
#endif // Q_OS_MACOS
|
}
|
||||||
|
w.showUrls({url});
|
||||||
QStringList urlStrList = parser.positionalArguments();
|
w.initWindowSize();
|
||||||
QList<QUrl> && urlList = PlaylistManager::convertToUrlList(urlStrList);
|
});
|
||||||
|
|
||||||
if (!urlList.isEmpty()) {
|
// Handle dock icon clicks to show hidden window
|
||||||
w.showUrls(urlList);
|
a.connect(&a, &QApplication::applicationStateChanged, [&w](Qt::ApplicationState state) {
|
||||||
}
|
if (state == Qt::ApplicationActive && w.isHidden()) {
|
||||||
|
w.showUrls({});
|
||||||
w.initWindowSize();
|
w.galleryCurrent(true, true);
|
||||||
|
w.setWindowOpacity(1);
|
||||||
return QApplication::exec();
|
w.showNormal();
|
||||||
}
|
w.raise();
|
||||||
|
w.activateWindow();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
#endif // Q_OS_MACOS
|
||||||
|
|
||||||
|
QStringList urlStrList = parser.positionalArguments();
|
||||||
|
QList<QUrl> && urlList = PlaylistManager::convertToUrlList(urlStrList);
|
||||||
|
|
||||||
|
if (!urlList.isEmpty()) {
|
||||||
|
w.showUrls(urlList);
|
||||||
|
}
|
||||||
|
|
||||||
|
w.initWindowSize();
|
||||||
|
|
||||||
|
return QApplication::exec();
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
// SPDX-FileCopyrightText: 2025 Gary Wang <git@blumia.net>
|
||||||
//
|
//
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
@@ -32,6 +32,7 @@
|
|||||||
#include <QFile>
|
#include <QFile>
|
||||||
#include <QTimer>
|
#include <QTimer>
|
||||||
#include <QFileDialog>
|
#include <QFileDialog>
|
||||||
|
#include <QFileSystemWatcher>
|
||||||
#include <QStandardPaths>
|
#include <QStandardPaths>
|
||||||
#include <QStringBuilder>
|
#include <QStringBuilder>
|
||||||
#include <QProcess>
|
#include <QProcess>
|
||||||
@@ -43,10 +44,13 @@
|
|||||||
#include <QDBusConnectionInterface>
|
#include <QDBusConnectionInterface>
|
||||||
#endif // HAVE_QTDBUS
|
#endif // HAVE_QTDBUS
|
||||||
|
|
||||||
|
using namespace Qt::Literals::StringLiterals;
|
||||||
|
|
||||||
MainWindow::MainWindow(QWidget *parent)
|
MainWindow::MainWindow(QWidget *parent)
|
||||||
: FramelessWindow(parent)
|
: FramelessWindow(parent)
|
||||||
, m_am(new ActionManager)
|
, m_am(new ActionManager)
|
||||||
, m_pm(new PlaylistManager(this))
|
, m_pm(new PlaylistManager(this))
|
||||||
|
, m_fileSystemWatcher(new QFileSystemWatcher(this))
|
||||||
{
|
{
|
||||||
if (Settings::instance()->stayOnTop()) {
|
if (Settings::instance()->stayOnTop()) {
|
||||||
this->setWindowFlag(Qt::WindowStaysOnTopHint);
|
this->setWindowFlag(Qt::WindowStaysOnTopHint);
|
||||||
@@ -54,28 +58,24 @@ MainWindow::MainWindow(QWidget *parent)
|
|||||||
|
|
||||||
this->setAttribute(Qt::WA_TranslucentBackground, true);
|
this->setAttribute(Qt::WA_TranslucentBackground, true);
|
||||||
this->setMinimumSize(350, 330);
|
this->setMinimumSize(350, 330);
|
||||||
this->setWindowIcon(QIcon(":/icons/app-icon.svg"));
|
this->setWindowIcon(QIcon(u":/icons/app-icon.svg"_s));
|
||||||
this->setMouseTracking(true);
|
this->setMouseTracking(true);
|
||||||
this->setAcceptDrops(true);
|
this->setAcceptDrops(true);
|
||||||
|
|
||||||
m_pm->setAutoLoadFilterSuffixes(supportedImageFormats());
|
m_pm->setAutoLoadFilterSuffixes(supportedImageFormats());
|
||||||
|
|
||||||
m_fadeOutAnimation = new QPropertyAnimation(this, "windowOpacity");
|
m_fadeOutAnimation = new QPropertyAnimation(this, "windowOpacity"_ba);
|
||||||
m_fadeOutAnimation->setDuration(300);
|
m_fadeOutAnimation->setDuration(300);
|
||||||
m_fadeOutAnimation->setStartValue(1);
|
m_fadeOutAnimation->setStartValue(1);
|
||||||
m_fadeOutAnimation->setEndValue(0);
|
m_fadeOutAnimation->setEndValue(0);
|
||||||
m_floatUpAnimation = new QPropertyAnimation(this, "geometry");
|
m_floatUpAnimation = new QPropertyAnimation(this, "geometry"_ba);
|
||||||
m_floatUpAnimation->setDuration(300);
|
m_floatUpAnimation->setDuration(300);
|
||||||
m_floatUpAnimation->setEasingCurve(QEasingCurve::OutCirc);
|
m_floatUpAnimation->setEasingCurve(QEasingCurve::OutCirc);
|
||||||
m_exitAnimationGroup = new QParallelAnimationGroup(this);
|
m_exitAnimationGroup = new QParallelAnimationGroup(this);
|
||||||
m_exitAnimationGroup->addAnimation(m_fadeOutAnimation);
|
m_exitAnimationGroup->addAnimation(m_fadeOutAnimation);
|
||||||
m_exitAnimationGroup->addAnimation(m_floatUpAnimation);
|
m_exitAnimationGroup->addAnimation(m_floatUpAnimation);
|
||||||
connect(m_exitAnimationGroup, &QParallelAnimationGroup::finished,
|
connect(m_exitAnimationGroup, &QParallelAnimationGroup::finished,
|
||||||
#ifdef Q_OS_MAC
|
this, &MainWindow::doCloseWindow);
|
||||||
this, &QWidget::hide);
|
|
||||||
#else
|
|
||||||
this, &QWidget::close);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
GraphicsScene * scene = new GraphicsScene(this);
|
GraphicsScene * scene = new GraphicsScene(this);
|
||||||
|
|
||||||
@@ -90,7 +90,7 @@ MainWindow::MainWindow(QWidget *parent)
|
|||||||
m_gv->fitInView(m_gv->sceneRect(), Qt::KeepAspectRatio);
|
m_gv->fitInView(m_gv->sceneRect(), Qt::KeepAspectRatio);
|
||||||
|
|
||||||
connect(m_graphicsView, &GraphicsView::navigatorViewRequired,
|
connect(m_graphicsView, &GraphicsView::navigatorViewRequired,
|
||||||
this, [ = ](bool required, const QTransform & tf){
|
this, [this](bool required, const QTransform & tf){
|
||||||
m_gv->setTransform(GraphicsView::resetScale(tf));
|
m_gv->setTransform(GraphicsView::resetScale(tf));
|
||||||
m_gv->fitInView(m_gv->sceneRect(), Qt::KeepAspectRatio);
|
m_gv->fitInView(m_gv->sceneRect(), Qt::KeepAspectRatio);
|
||||||
m_gv->setVisible(required);
|
m_gv->setVisible(required);
|
||||||
@@ -139,14 +139,15 @@ MainWindow::MainWindow(QWidget *parent)
|
|||||||
m_gv->setOpacity(0, false);
|
m_gv->setOpacity(0, false);
|
||||||
m_closeButton->setOpacity(0, false);
|
m_closeButton->setOpacity(0, false);
|
||||||
|
|
||||||
connect(m_pm, &PlaylistManager::totalCountChanged, this, [this](int galleryFileCount) {
|
connect(m_pm, &PlaylistManager::totalCountChanged, this, &MainWindow::updateGalleryButtonsVisibility);
|
||||||
m_prevButton->setVisible(galleryFileCount > 1);
|
|
||||||
m_nextButton->setVisible(galleryFileCount > 1);
|
|
||||||
});
|
|
||||||
|
|
||||||
connect(m_pm->model(), &PlaylistModel::modelReset, this, std::bind(&MainWindow::galleryCurrent, this, false, false));
|
connect(m_pm->model(), &PlaylistModel::modelReset, this, std::bind(&MainWindow::galleryCurrent, this, false, false));
|
||||||
connect(m_pm, &PlaylistManager::currentIndexChanged, this, std::bind(&MainWindow::galleryCurrent, this, true, false));
|
connect(m_pm, &PlaylistManager::currentIndexChanged, this, std::bind(&MainWindow::galleryCurrent, this, true, false));
|
||||||
|
|
||||||
|
connect(m_fileSystemWatcher, &QFileSystemWatcher::fileChanged, this, [this](){
|
||||||
|
QTimer::singleShot(500, this, std::bind(&MainWindow::galleryCurrent, this, false, true));
|
||||||
|
});
|
||||||
|
|
||||||
QShortcut * fullscreenShorucut = new QShortcut(QKeySequence(QKeySequence::FullScreen), this);
|
QShortcut * fullscreenShorucut = new QShortcut(QKeySequence(QKeySequence::FullScreen), this);
|
||||||
connect(fullscreenShorucut, &QShortcut::activated,
|
connect(fullscreenShorucut, &QShortcut::activated,
|
||||||
this, &MainWindow::toggleFullscreen);
|
this, &MainWindow::toggleFullscreen);
|
||||||
@@ -174,10 +175,20 @@ MainWindow::~MainWindow()
|
|||||||
void MainWindow::showUrls(const QList<QUrl> &urls)
|
void MainWindow::showUrls(const QList<QUrl> &urls)
|
||||||
{
|
{
|
||||||
if (!urls.isEmpty()) {
|
if (!urls.isEmpty()) {
|
||||||
m_graphicsView->showFileFromPath(urls.first().toLocalFile());
|
const QUrl & firstUrl = urls.first();
|
||||||
|
if (urls.count() == 1) {
|
||||||
|
const QString lowerCaseUrlPath(firstUrl.path().toLower());
|
||||||
|
if (lowerCaseUrlPath.endsWith(".m3u8") || lowerCaseUrlPath.endsWith(".m3u")) {
|
||||||
|
m_pm->loadM3U8Playlist(firstUrl);
|
||||||
|
galleryCurrent(true, true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
m_graphicsView->showFileFromPath(firstUrl.toLocalFile());
|
||||||
m_pm->loadPlaylist(urls);
|
m_pm->loadPlaylist(urls);
|
||||||
} else {
|
} else {
|
||||||
m_graphicsView->showText(tr("File url list is empty"));
|
m_graphicsView->showText(tr("File url list is empty"));
|
||||||
|
m_pm->setPlaylist(urls);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -193,6 +204,9 @@ void MainWindow::initWindowSize()
|
|||||||
case Settings::WindowSizeBehavior::Maximized:
|
case Settings::WindowSizeBehavior::Maximized:
|
||||||
showMaximized();
|
showMaximized();
|
||||||
break;
|
break;
|
||||||
|
case Settings::WindowSizeBehavior::Windowed:
|
||||||
|
showNormal();
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
adjustWindowSizeBySceneRect();
|
adjustWindowSizeBySceneRect();
|
||||||
break;
|
break;
|
||||||
@@ -242,6 +256,9 @@ void MainWindow::clearGallery()
|
|||||||
|
|
||||||
void MainWindow::galleryPrev()
|
void MainWindow::galleryPrev()
|
||||||
{
|
{
|
||||||
|
const bool loopGallery = Settings::instance()->loopGallery();
|
||||||
|
if (!loopGallery && m_pm->isFirstIndex()) return;
|
||||||
|
|
||||||
QModelIndex index = m_pm->previousIndex();
|
QModelIndex index = m_pm->previousIndex();
|
||||||
if (index.isValid()) {
|
if (index.isValid()) {
|
||||||
m_pm->setCurrentIndex(index);
|
m_pm->setCurrentIndex(index);
|
||||||
@@ -251,6 +268,9 @@ void MainWindow::galleryPrev()
|
|||||||
|
|
||||||
void MainWindow::galleryNext()
|
void MainWindow::galleryNext()
|
||||||
{
|
{
|
||||||
|
const bool loopGallery = Settings::instance()->loopGallery();
|
||||||
|
if (!loopGallery && m_pm->isLastIndex()) return;
|
||||||
|
|
||||||
QModelIndex index = m_pm->nextIndex();
|
QModelIndex index = m_pm->nextIndex();
|
||||||
if (index.isValid()) {
|
if (index.isValid()) {
|
||||||
m_pm->setCurrentIndex(index);
|
m_pm->setCurrentIndex(index);
|
||||||
@@ -262,12 +282,19 @@ void MainWindow::galleryNext()
|
|||||||
void MainWindow::galleryCurrent(bool showLoadImageHintWhenEmpty, bool reloadImage)
|
void MainWindow::galleryCurrent(bool showLoadImageHintWhenEmpty, bool reloadImage)
|
||||||
{
|
{
|
||||||
QModelIndex index = m_pm->curIndex();
|
QModelIndex index = m_pm->curIndex();
|
||||||
|
bool shouldResetfileWatcher = true;
|
||||||
if (index.isValid()) {
|
if (index.isValid()) {
|
||||||
if (reloadImage) m_graphicsView->showFileFromPath(m_pm->localFileByIndex(index));
|
const QString & localFilePath(m_pm->localFileByIndex(index));
|
||||||
|
if (reloadImage) m_graphicsView->showFileFromPath(localFilePath);
|
||||||
|
shouldResetfileWatcher = !updateFileWatcher(localFilePath);
|
||||||
setWindowTitle(m_pm->urlByIndex(index).fileName());
|
setWindowTitle(m_pm->urlByIndex(index).fileName());
|
||||||
} else if (showLoadImageHintWhenEmpty && m_pm->totalCount() <= 0) {
|
} else if (showLoadImageHintWhenEmpty && m_pm->totalCount() <= 0) {
|
||||||
m_graphicsView->showText(QCoreApplication::translate("GraphicsScene", "Drag image here"));
|
m_graphicsView->showText(QCoreApplication::translate("GraphicsScene", "Drag image here"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
updateGalleryButtonsVisibility();
|
||||||
|
|
||||||
|
if (shouldResetfileWatcher) updateFileWatcher();
|
||||||
}
|
}
|
||||||
|
|
||||||
QStringList MainWindow::supportedImageFormats()
|
QStringList MainWindow::supportedImageFormats()
|
||||||
@@ -290,7 +317,7 @@ void MainWindow::showEvent(QShowEvent *event)
|
|||||||
return FramelessWindow::showEvent(event);
|
return FramelessWindow::showEvent(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::enterEvent(QT_ENTER_EVENT *event)
|
void MainWindow::enterEvent(QEnterEvent *event)
|
||||||
{
|
{
|
||||||
m_bottomButtonGroup->setOpacity(1);
|
m_bottomButtonGroup->setOpacity(1);
|
||||||
m_gv->setOpacity(1);
|
m_gv->setOpacity(1);
|
||||||
@@ -331,11 +358,7 @@ void MainWindow::mouseMoveEvent(QMouseEvent *event)
|
|||||||
{
|
{
|
||||||
if (event->buttons() & Qt::LeftButton && m_clickedOnWindow && !isMaximized() && !isFullScreen()) {
|
if (event->buttons() & Qt::LeftButton && m_clickedOnWindow && !isMaximized() && !isFullScreen()) {
|
||||||
if (!window()->windowHandle()->startSystemMove()) {
|
if (!window()->windowHandle()->startSystemMove()) {
|
||||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
|
||||||
move(event->globalPosition().toPoint() - m_oldMousePos);
|
move(event->globalPosition().toPoint() - m_oldMousePos);
|
||||||
#else
|
|
||||||
move(event->globalPos() - m_oldMousePos);
|
|
||||||
#endif // QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
|
||||||
}
|
}
|
||||||
event->accept();
|
event->accept();
|
||||||
}
|
}
|
||||||
@@ -437,13 +460,11 @@ void MainWindow::contextMenuEvent(QContextMenuEvent *event)
|
|||||||
QMenu * menu = new QMenu;
|
QMenu * menu = new QMenu;
|
||||||
QMenu * copyMenu = new QMenu(tr("&Copy"));
|
QMenu * copyMenu = new QMenu(tr("&Copy"));
|
||||||
QUrl currentFileUrl = currentImageFileUrl();
|
QUrl currentFileUrl = currentImageFileUrl();
|
||||||
QImage clipboardImage;
|
|
||||||
QUrl clipboardFileUrl;
|
|
||||||
|
|
||||||
QAction * copyPixmap = m_am->actionCopyPixmap;
|
QAction * copyPixmap = m_am->actionCopyPixmap;
|
||||||
QAction * copyFilePath = m_am->actionCopyFilePath;
|
QAction * copyFilePath = m_am->actionCopyFilePath;
|
||||||
|
|
||||||
copyMenu->setIcon(QIcon::fromTheme(QLatin1String("edit-copy")));
|
copyMenu->setIcon(QIcon::fromTheme(u"edit-copy"_s));
|
||||||
copyMenu->addAction(copyPixmap);
|
copyMenu->addAction(copyPixmap);
|
||||||
if (currentFileUrl.isValid()) {
|
if (currentFileUrl.isValid()) {
|
||||||
copyMenu->addAction(copyFilePath);
|
copyMenu->addAction(copyFilePath);
|
||||||
@@ -570,12 +591,16 @@ void MainWindow::centerWindow()
|
|||||||
|
|
||||||
void MainWindow::closeWindow()
|
void MainWindow::closeWindow()
|
||||||
{
|
{
|
||||||
QRect windowRect(this->geometry());
|
if (Settings::instance()->useBuiltInCloseAnimation()) {
|
||||||
m_floatUpAnimation->setStartValue(windowRect);
|
QRect windowRect(this->geometry());
|
||||||
m_floatUpAnimation->setEndValue(windowRect.adjusted(0, -80, 0, 0));
|
m_floatUpAnimation->setStartValue(windowRect);
|
||||||
m_floatUpAnimation->setStartValue(QRect(this->geometry().x(), this->geometry().y(), this->geometry().width(), this->geometry().height()));
|
m_floatUpAnimation->setEndValue(windowRect.adjusted(0, -80, 0, 0));
|
||||||
m_floatUpAnimation->setEndValue(QRect(this->geometry().x(), this->geometry().y()-80, this->geometry().width(), this->geometry().height()));
|
m_floatUpAnimation->setStartValue(QRect(this->geometry().x(), this->geometry().y(), this->geometry().width(), this->geometry().height()));
|
||||||
m_exitAnimationGroup->start();
|
m_floatUpAnimation->setEndValue(QRect(this->geometry().x(), this->geometry().y()-80, this->geometry().width(), this->geometry().height()));
|
||||||
|
m_exitAnimationGroup->start();
|
||||||
|
} else {
|
||||||
|
doCloseWindow();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::updateWidgetsPosition()
|
void MainWindow::updateWidgetsPosition()
|
||||||
@@ -593,8 +618,7 @@ void MainWindow::toggleProtectedMode()
|
|||||||
{
|
{
|
||||||
m_protectedMode = !m_protectedMode;
|
m_protectedMode = !m_protectedMode;
|
||||||
m_closeButton->setVisible(!m_protectedMode);
|
m_closeButton->setVisible(!m_protectedMode);
|
||||||
m_prevButton->setVisible(!m_protectedMode);
|
updateGalleryButtonsVisibility();
|
||||||
m_nextButton->setVisible(!m_protectedMode);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::toggleStayOnTop()
|
void MainWindow::toggleStayOnTop()
|
||||||
@@ -770,7 +794,7 @@ void MainWindow::on_actionTrash_triggered()
|
|||||||
if (result == QMessageBox::Yes) {
|
if (result == QMessageBox::Yes) {
|
||||||
bool succ = file.moveToTrash();
|
bool succ = file.moveToTrash();
|
||||||
if (!succ) {
|
if (!succ) {
|
||||||
QMessageBox::warning(this, "Failed to move file to trash",
|
QMessageBox::warning(this, tr("Failed to move file to trash"),
|
||||||
tr("Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation."));
|
tr("Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation."));
|
||||||
} else {
|
} else {
|
||||||
m_pm->removeAt(index);
|
m_pm->removeAt(index);
|
||||||
@@ -881,9 +905,9 @@ void MainWindow::on_actionLocateInFileManager_triggered()
|
|||||||
QDesktopServices::openUrl(folderUrl);
|
QDesktopServices::openUrl(folderUrl);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
QDBusInterface fm1Iface(QStringLiteral("org.freedesktop.FileManager1"),
|
QDBusInterface fm1Iface(u"org.freedesktop.FileManager1"_s,
|
||||||
QStringLiteral("/org/freedesktop/FileManager1"),
|
u"/org/freedesktop/FileManager1"_s,
|
||||||
QStringLiteral("org.freedesktop.FileManager1"));
|
u"org.freedesktop.FileManager1"_s);
|
||||||
fm1Iface.setTimeout(1000);
|
fm1Iface.setTimeout(1000);
|
||||||
fm1Iface.callWithArgumentList(QDBus::Block, "ShowItems", {
|
fm1Iface.callWithArgumentList(QDBus::Block, "ShowItems", {
|
||||||
QStringList{currentFileUrl.toString()},
|
QStringList{currentFileUrl.toString()},
|
||||||
@@ -901,3 +925,29 @@ void MainWindow::on_actionQuitApp_triggered()
|
|||||||
{
|
{
|
||||||
quitAppAction(false);
|
quitAppAction(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MainWindow::doCloseWindow()
|
||||||
|
{
|
||||||
|
#ifdef Q_OS_MAC
|
||||||
|
this->hide();
|
||||||
|
#else
|
||||||
|
this->close();
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
bool MainWindow::updateFileWatcher(const QString &basePath)
|
||||||
|
{
|
||||||
|
m_fileSystemWatcher->removePaths(m_fileSystemWatcher->files());
|
||||||
|
if (!basePath.isEmpty()) return m_fileSystemWatcher->addPath(basePath);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::updateGalleryButtonsVisibility()
|
||||||
|
{
|
||||||
|
const int galleryFileCount = m_pm->totalCount();
|
||||||
|
const bool loopGallery = Settings::instance()->loopGallery();
|
||||||
|
m_prevButton->setVisible(!m_protectedMode && galleryFileCount > 1);
|
||||||
|
m_nextButton->setVisible(!m_protectedMode && galleryFileCount > 1);
|
||||||
|
m_prevButton->setEnabled(loopGallery || !m_pm->isFirstIndex());
|
||||||
|
m_nextButton->setEnabled(loopGallery || !m_pm->isLastIndex());
|
||||||
|
}
|
||||||
|
|||||||
266
app/mainwindow.h
266
app/mainwindow.h
@@ -1,132 +1,134 @@
|
|||||||
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
// SPDX-FileCopyrightText: 2025 Gary Wang <git@blumia.net>
|
||||||
//
|
//
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
#ifndef MAINWINDOW_H
|
#ifndef MAINWINDOW_H
|
||||||
#define MAINWINDOW_H
|
#define MAINWINDOW_H
|
||||||
|
|
||||||
#include "framelesswindow.h"
|
#include "framelesswindow.h"
|
||||||
|
|
||||||
#include <QParallelAnimationGroup>
|
#include <QParallelAnimationGroup>
|
||||||
#include <QPropertyAnimation>
|
#include <QPropertyAnimation>
|
||||||
#include <QPushButton>
|
#include <QPushButton>
|
||||||
|
|
||||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
QT_BEGIN_NAMESPACE
|
||||||
typedef QEnterEvent QT_ENTER_EVENT;
|
class QGraphicsOpacityEffect;
|
||||||
#else
|
class QGraphicsView;
|
||||||
typedef QEvent QT_ENTER_EVENT;
|
class QFileSystemWatcher;
|
||||||
#endif // QT_VERSION_CHECK(6, 0, 0)
|
QT_END_NAMESPACE
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
class ActionManager;
|
||||||
class QGraphicsOpacityEffect;
|
class PlaylistManager;
|
||||||
class QGraphicsView;
|
class ToolButton;
|
||||||
QT_END_NAMESPACE
|
class GraphicsView;
|
||||||
|
class NavigatorView;
|
||||||
class ActionManager;
|
class BottomButtonGroup;
|
||||||
class PlaylistManager;
|
class MainWindow : public FramelessWindow
|
||||||
class ToolButton;
|
{
|
||||||
class GraphicsView;
|
Q_OBJECT
|
||||||
class NavigatorView;
|
|
||||||
class BottomButtonGroup;
|
public:
|
||||||
class MainWindow : public FramelessWindow
|
explicit MainWindow(QWidget *parent = nullptr);
|
||||||
{
|
~MainWindow() override;
|
||||||
Q_OBJECT
|
|
||||||
|
void showUrls(const QList<QUrl> &urls);
|
||||||
public:
|
void initWindowSize();
|
||||||
explicit MainWindow(QWidget *parent = nullptr);
|
void adjustWindowSizeBySceneRect();
|
||||||
~MainWindow() override;
|
QUrl currentImageFileUrl() const;
|
||||||
|
|
||||||
void showUrls(const QList<QUrl> &urls);
|
void clearGallery();
|
||||||
void initWindowSize();
|
void galleryPrev();
|
||||||
void adjustWindowSizeBySceneRect();
|
void galleryNext();
|
||||||
QUrl currentImageFileUrl() const;
|
void galleryCurrent(bool showLoadImageHintWhenEmpty, bool reloadImage);
|
||||||
|
|
||||||
void clearGallery();
|
static QStringList supportedImageFormats();
|
||||||
void galleryPrev();
|
|
||||||
void galleryNext();
|
protected slots:
|
||||||
void galleryCurrent(bool showLoadImageHintWhenEmpty, bool reloadImage);
|
void showEvent(QShowEvent *event) override;
|
||||||
|
void enterEvent(QEnterEvent *event) override;
|
||||||
static QStringList supportedImageFormats();
|
void leaveEvent(QEvent *event) override;
|
||||||
|
void mousePressEvent(QMouseEvent *event) override;
|
||||||
protected slots:
|
void mouseMoveEvent(QMouseEvent *event) override;
|
||||||
void showEvent(QShowEvent *event) override;
|
void mouseReleaseEvent(QMouseEvent *event) override;
|
||||||
void enterEvent(QT_ENTER_EVENT *event) override;
|
void mouseDoubleClickEvent(QMouseEvent *event) override;
|
||||||
void leaveEvent(QEvent *event) override;
|
void wheelEvent(QWheelEvent *event) override;
|
||||||
void mousePressEvent(QMouseEvent *event) override;
|
void resizeEvent(QResizeEvent *event) override;
|
||||||
void mouseMoveEvent(QMouseEvent *event) override;
|
void contextMenuEvent(QContextMenuEvent *event) override;
|
||||||
void mouseReleaseEvent(QMouseEvent *event) override;
|
void dragEnterEvent(QDragEnterEvent *event) override;
|
||||||
void mouseDoubleClickEvent(QMouseEvent *event) override;
|
void dragMoveEvent(QDragMoveEvent *event) override;
|
||||||
void wheelEvent(QWheelEvent *event) override;
|
void dropEvent(QDropEvent *event) override;
|
||||||
void resizeEvent(QResizeEvent *event) override;
|
|
||||||
void contextMenuEvent(QContextMenuEvent *event) override;
|
void centerWindow();
|
||||||
void dragEnterEvent(QDragEnterEvent *event) override;
|
void closeWindow();
|
||||||
void dragMoveEvent(QDragMoveEvent *event) override;
|
void updateWidgetsPosition();
|
||||||
void dropEvent(QDropEvent *event) override;
|
void toggleProtectedMode();
|
||||||
|
void toggleStayOnTop();
|
||||||
void centerWindow();
|
void toggleAvoidResetTransform();
|
||||||
void closeWindow();
|
bool stayOnTop() const;
|
||||||
void updateWidgetsPosition();
|
bool canPaste() const;
|
||||||
void toggleProtectedMode();
|
void quitAppAction(bool force = false);
|
||||||
void toggleStayOnTop();
|
void toggleFullscreen();
|
||||||
void toggleAvoidResetTransform();
|
void toggleMaximize();
|
||||||
bool stayOnTop() const;
|
|
||||||
bool canPaste() const;
|
protected:
|
||||||
void quitAppAction(bool force = false);
|
QSize sizeHint() const override;
|
||||||
void toggleFullscreen();
|
|
||||||
void toggleMaximize();
|
private slots:
|
||||||
|
void on_actionOpen_triggered();
|
||||||
protected:
|
|
||||||
QSize sizeHint() const override;
|
void on_actionActualSize_triggered();
|
||||||
|
void on_actionToggleMaximize_triggered();
|
||||||
private slots:
|
void on_actionZoomIn_triggered();
|
||||||
void on_actionOpen_triggered();
|
void on_actionZoomOut_triggered();
|
||||||
|
void on_actionToggleCheckerboard_triggered();
|
||||||
void on_actionActualSize_triggered();
|
void on_actionRotateClockwise_triggered();
|
||||||
void on_actionToggleMaximize_triggered();
|
void on_actionRotateCounterClockwise_triggered();
|
||||||
void on_actionZoomIn_triggered();
|
|
||||||
void on_actionZoomOut_triggered();
|
void on_actionPrevPicture_triggered();
|
||||||
void on_actionToggleCheckerboard_triggered();
|
void on_actionNextPicture_triggered();
|
||||||
void on_actionRotateClockwise_triggered();
|
|
||||||
void on_actionRotateCounterClockwise_triggered();
|
void on_actionTogglePauseAnimation_triggered();
|
||||||
|
void on_actionAnimationNextFrame_triggered();
|
||||||
void on_actionPrevPicture_triggered();
|
|
||||||
void on_actionNextPicture_triggered();
|
void on_actionHorizontalFlip_triggered();
|
||||||
|
void on_actionFitInView_triggered();
|
||||||
void on_actionTogglePauseAnimation_triggered();
|
void on_actionFitByWidth_triggered();
|
||||||
void on_actionAnimationNextFrame_triggered();
|
void on_actionCopyPixmap_triggered();
|
||||||
|
void on_actionCopyFilePath_triggered();
|
||||||
void on_actionHorizontalFlip_triggered();
|
void on_actionPaste_triggered();
|
||||||
void on_actionFitInView_triggered();
|
void on_actionTrash_triggered();
|
||||||
void on_actionFitByWidth_triggered();
|
void on_actionToggleStayOnTop_triggered();
|
||||||
void on_actionCopyPixmap_triggered();
|
void on_actionToggleProtectMode_triggered();
|
||||||
void on_actionCopyFilePath_triggered();
|
void on_actionToggleAvoidResetTransform_triggered();
|
||||||
void on_actionPaste_triggered();
|
void on_actionSettings_triggered();
|
||||||
void on_actionTrash_triggered();
|
void on_actionHelp_triggered();
|
||||||
void on_actionToggleStayOnTop_triggered();
|
void on_actionProperties_triggered();
|
||||||
void on_actionToggleProtectMode_triggered();
|
void on_actionLocateInFileManager_triggered();
|
||||||
void on_actionToggleAvoidResetTransform_triggered();
|
void on_actionQuitApp_triggered();
|
||||||
void on_actionSettings_triggered();
|
|
||||||
void on_actionHelp_triggered();
|
void doCloseWindow();
|
||||||
void on_actionProperties_triggered();
|
|
||||||
void on_actionLocateInFileManager_triggered();
|
private:
|
||||||
void on_actionQuitApp_triggered();
|
bool updateFileWatcher(const QString & basePath = QString());
|
||||||
|
void updateGalleryButtonsVisibility();
|
||||||
private:
|
|
||||||
ActionManager *m_am;
|
private:
|
||||||
PlaylistManager *m_pm;
|
ActionManager *m_am;
|
||||||
|
PlaylistManager *m_pm;
|
||||||
QPoint m_oldMousePos;
|
|
||||||
QPropertyAnimation *m_fadeOutAnimation;
|
QPoint m_oldMousePos;
|
||||||
QPropertyAnimation *m_floatUpAnimation;
|
QPropertyAnimation *m_fadeOutAnimation;
|
||||||
QParallelAnimationGroup *m_exitAnimationGroup;
|
QPropertyAnimation *m_floatUpAnimation;
|
||||||
ToolButton *m_closeButton;
|
QParallelAnimationGroup *m_exitAnimationGroup;
|
||||||
ToolButton *m_prevButton;
|
QFileSystemWatcher *m_fileSystemWatcher;
|
||||||
ToolButton *m_nextButton;
|
ToolButton *m_closeButton;
|
||||||
GraphicsView *m_graphicsView;
|
ToolButton *m_prevButton;
|
||||||
NavigatorView *m_gv;
|
ToolButton *m_nextButton;
|
||||||
BottomButtonGroup *m_bottomButtonGroup;
|
GraphicsView *m_graphicsView;
|
||||||
bool m_protectedMode = false;
|
NavigatorView *m_gv;
|
||||||
bool m_clickedOnWindow = false;
|
BottomButtonGroup *m_bottomButtonGroup;
|
||||||
};
|
bool m_protectedMode = false;
|
||||||
|
bool m_clickedOnWindow = false;
|
||||||
#endif // MAINWINDOW_H
|
};
|
||||||
|
|
||||||
|
#endif // MAINWINDOW_H
|
||||||
|
|||||||
@@ -1,110 +1,110 @@
|
|||||||
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
||||||
//
|
//
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
#include "metadatadialog.h"
|
#include "metadatadialog.h"
|
||||||
|
|
||||||
#include <QDialogButtonBox>
|
#include <QDialogButtonBox>
|
||||||
#include <QPainter>
|
#include <QPainter>
|
||||||
#include <QStyledItemDelegate>
|
#include <QStyledItemDelegate>
|
||||||
#include <QTreeView>
|
#include <QTreeView>
|
||||||
#include <QVBoxLayout>
|
#include <QVBoxLayout>
|
||||||
#include <QHeaderView>
|
#include <QHeaderView>
|
||||||
|
|
||||||
#include "metadatamodel.h"
|
#include "metadatamodel.h"
|
||||||
|
|
||||||
class PropertyTreeView : public QTreeView
|
class PropertyTreeView : public QTreeView
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit PropertyTreeView(QWidget* parent) : QTreeView(parent) {}
|
explicit PropertyTreeView(QWidget* parent) : QTreeView(parent) {}
|
||||||
~PropertyTreeView() {}
|
~PropertyTreeView() {}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void rowsInserted(const QModelIndex& parent, int start, int end) override
|
void rowsInserted(const QModelIndex& parent, int start, int end) override
|
||||||
{
|
{
|
||||||
QTreeView::rowsInserted(parent, start, end);
|
QTreeView::rowsInserted(parent, start, end);
|
||||||
if (!parent.isValid()) {
|
if (!parent.isValid()) {
|
||||||
// we are inserting a section group
|
// we are inserting a section group
|
||||||
for (int row = start; row <= end; ++row) {
|
for (int row = start; row <= end; ++row) {
|
||||||
setupSection(row);
|
setupSection(row);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// we are inserting a property
|
// we are inserting a property
|
||||||
setRowHidden(parent.row(), QModelIndex(), false);
|
setRowHidden(parent.row(), QModelIndex(), false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void reset() override
|
void reset() override
|
||||||
{
|
{
|
||||||
QTreeView::reset();
|
QTreeView::reset();
|
||||||
if (model()) {
|
if (model()) {
|
||||||
for (int row = 0; row < model()->rowCount(); ++row) {
|
for (int row = 0; row < model()->rowCount(); ++row) {
|
||||||
setupSection(row);
|
setupSection(row);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void setupSection(int row)
|
void setupSection(int row)
|
||||||
{
|
{
|
||||||
expand(model()->index(row, 0));
|
expand(model()->index(row, 0));
|
||||||
setFirstColumnSpanned(row, QModelIndex(), true);
|
setFirstColumnSpanned(row, QModelIndex(), true);
|
||||||
setRowHidden(row, QModelIndex(), !model()->hasChildren(model()->index(row, 0)));
|
setRowHidden(row, QModelIndex(), !model()->hasChildren(model()->index(row, 0)));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class PropertyTreeItemDelegate : public QStyledItemDelegate
|
class PropertyTreeItemDelegate : public QStyledItemDelegate
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
PropertyTreeItemDelegate(QObject* parent)
|
PropertyTreeItemDelegate(QObject* parent)
|
||||||
: QStyledItemDelegate(parent)
|
: QStyledItemDelegate(parent)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const override
|
void paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const override
|
||||||
{
|
{
|
||||||
QStyleOptionViewItem opt = option;
|
QStyleOptionViewItem opt = option;
|
||||||
if (!index.parent().isValid()) {
|
if (!index.parent().isValid()) {
|
||||||
opt.font.setBold(true);
|
opt.font.setBold(true);
|
||||||
opt.features.setFlag(QStyleOptionViewItem::Alternate);
|
opt.features.setFlag(QStyleOptionViewItem::Alternate);
|
||||||
}
|
}
|
||||||
QStyledItemDelegate::paint(painter, opt, index);
|
QStyledItemDelegate::paint(painter, opt, index);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
MetadataDialog::MetadataDialog(QWidget *parent)
|
MetadataDialog::MetadataDialog(QWidget *parent)
|
||||||
: QDialog(parent)
|
: QDialog(parent)
|
||||||
, m_treeView(new PropertyTreeView(this))
|
, m_treeView(new PropertyTreeView(this))
|
||||||
{
|
{
|
||||||
m_treeView->setRootIsDecorated(false);
|
m_treeView->setRootIsDecorated(false);
|
||||||
m_treeView->setIndentation(0);
|
m_treeView->setIndentation(0);
|
||||||
m_treeView->setItemDelegate(new PropertyTreeItemDelegate(m_treeView));
|
m_treeView->setItemDelegate(new PropertyTreeItemDelegate(m_treeView));
|
||||||
m_treeView->header()->resizeSection(0, sizeHint().width() / 2);
|
m_treeView->header()->resizeSection(0, sizeHint().width() / 2);
|
||||||
|
|
||||||
setWindowTitle(tr("Image Metadata"));
|
setWindowTitle(tr("Image Metadata"));
|
||||||
|
|
||||||
QDialogButtonBox * buttonBox = new QDialogButtonBox(QDialogButtonBox::Close);
|
QDialogButtonBox * buttonBox = new QDialogButtonBox(QDialogButtonBox::Close);
|
||||||
|
|
||||||
setLayout(new QVBoxLayout);
|
setLayout(new QVBoxLayout);
|
||||||
layout()->addWidget(m_treeView);
|
layout()->addWidget(m_treeView);
|
||||||
layout()->addWidget(buttonBox);
|
layout()->addWidget(buttonBox);
|
||||||
|
|
||||||
connect(buttonBox, &QDialogButtonBox::rejected, this, &QDialog::close);
|
connect(buttonBox, &QDialogButtonBox::rejected, this, &QDialog::close);
|
||||||
|
|
||||||
setWindowFlag(Qt::WindowContextHelpButtonHint, false);
|
setWindowFlag(Qt::WindowContextHelpButtonHint, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
MetadataDialog::~MetadataDialog()
|
MetadataDialog::~MetadataDialog()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MetadataDialog::setMetadataModel(MetadataModel * model)
|
void MetadataDialog::setMetadataModel(MetadataModel * model)
|
||||||
{
|
{
|
||||||
m_treeView->setModel(model);
|
m_treeView->setModel(model);
|
||||||
}
|
}
|
||||||
|
|
||||||
QSize MetadataDialog::sizeHint() const
|
QSize MetadataDialog::sizeHint() const
|
||||||
{
|
{
|
||||||
return QSize(520, 350);
|
return QSize(520, 350);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,30 +1,30 @@
|
|||||||
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
||||||
//
|
//
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
#ifndef METADATADIALOG_H
|
#ifndef METADATADIALOG_H
|
||||||
#define METADATADIALOG_H
|
#define METADATADIALOG_H
|
||||||
|
|
||||||
#include <QDialog>
|
#include <QDialog>
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
class QTreeView;
|
class QTreeView;
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
|
||||||
class MetadataModel;
|
class MetadataModel;
|
||||||
class MetadataDialog : public QDialog
|
class MetadataDialog : public QDialog
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
explicit MetadataDialog(QWidget * parent);
|
explicit MetadataDialog(QWidget * parent);
|
||||||
~MetadataDialog() override;
|
~MetadataDialog() override;
|
||||||
|
|
||||||
void setMetadataModel(MetadataModel * model);
|
void setMetadataModel(MetadataModel * model);
|
||||||
|
|
||||||
QSize sizeHint() const override;
|
QSize sizeHint() const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QTreeView * m_treeView = nullptr;
|
QTreeView * m_treeView = nullptr;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // METADATADIALOG_H
|
#endif // METADATADIALOG_H
|
||||||
|
|||||||
@@ -1,318 +1,320 @@
|
|||||||
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
||||||
//
|
//
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
#include "metadatamodel.h"
|
#include "metadatamodel.h"
|
||||||
#include "exiv2wrapper.h"
|
#include "exiv2wrapper.h"
|
||||||
|
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <QDateTime>
|
#include <QDateTime>
|
||||||
#include <QFileInfo>
|
#include <QFileInfo>
|
||||||
#include <QImageReader>
|
#include <QImageReader>
|
||||||
|
|
||||||
MetadataModel::MetadataModel(QObject *parent)
|
using namespace Qt::Literals::StringLiterals;
|
||||||
: QAbstractItemModel(parent)
|
|
||||||
{
|
MetadataModel::MetadataModel(QObject *parent)
|
||||||
|
: QAbstractItemModel(parent)
|
||||||
}
|
{
|
||||||
|
|
||||||
MetadataModel::~MetadataModel()
|
}
|
||||||
{
|
|
||||||
|
MetadataModel::~MetadataModel()
|
||||||
}
|
{
|
||||||
|
|
||||||
void MetadataModel::setFile(const QString &imageFilePath)
|
}
|
||||||
{
|
|
||||||
QFileInfo fileInfo(imageFilePath);
|
void MetadataModel::setFile(const QString &imageFilePath)
|
||||||
// It'll be fine if we don't re-use the image reader we pass to the graphics scene for now.
|
{
|
||||||
QImageReader imgReader(imageFilePath);
|
QFileInfo fileInfo(imageFilePath);
|
||||||
imgReader.setAutoTransform(true);
|
// It'll be fine if we don't re-use the image reader we pass to the graphics scene for now.
|
||||||
imgReader.setDecideFormatFromContent(true);
|
QImageReader imgReader(imageFilePath);
|
||||||
|
imgReader.setAutoTransform(true);
|
||||||
const QString & itemTypeString = tr("%1 File").arg(QString(imgReader.format().toUpper()));
|
imgReader.setDecideFormatFromContent(true);
|
||||||
const QString & sizeString = QLocale().formattedDataSize(fileInfo.size());
|
|
||||||
const QString & birthTimeString = QLocale().toString(fileInfo.birthTime(), QLocale::LongFormat);
|
const QString & itemTypeString = tr("%1 File").arg(QString(imgReader.format().toUpper()));
|
||||||
const QString & lastModifiedTimeString = QLocale().toString(fileInfo.lastModified(), QLocale::LongFormat);
|
const QString & sizeString = QLocale().formattedDataSize(fileInfo.size());
|
||||||
const QString & imageDimensionsString = imageSize(imgReader.size());
|
const QString & birthTimeString = QLocale().toString(fileInfo.birthTime(), QLocale::LongFormat);
|
||||||
const QString & imageRatioString = imageSizeRatio(imgReader.size());
|
const QString & lastModifiedTimeString = QLocale().toString(fileInfo.lastModified(), QLocale::LongFormat);
|
||||||
|
const QString & imageDimensionsString = imageSize(imgReader.size());
|
||||||
appendSection(QStringLiteral("Description"), tr("Description", "Section name."));
|
const QString & imageRatioString = imageSizeRatio(imgReader.size());
|
||||||
appendSection(QStringLiteral("Origin"), tr("Origin", "Section name."));
|
|
||||||
appendSection(QStringLiteral("Image"), tr("Image", "Section name."));
|
appendSection(u"Description"_s, tr("Description", "Section name."));
|
||||||
appendSection(QStringLiteral("Camera"), tr("Camera", "Section name."));
|
appendSection(u"Origin"_s, tr("Origin", "Section name."));
|
||||||
appendSection(QStringLiteral("AdvancedPhoto"), tr("Advanced photo", "Section name."));
|
appendSection(u"Image"_s, tr("Image", "Section name."));
|
||||||
appendSection(QStringLiteral("GPS"), tr("GPS", "Section name."));
|
appendSection(u"Camera"_s, tr("Camera", "Section name."));
|
||||||
appendSection(QStringLiteral("File"), tr("File", "Section name."));
|
appendSection(u"AdvancedPhoto"_s, tr("Advanced photo", "Section name."));
|
||||||
|
appendSection(u"GPS"_s, tr("GPS", "Section name."));
|
||||||
if (imgReader.supportsOption(QImageIOHandler::Size)) {
|
appendSection(u"File"_s, tr("File", "Section name."));
|
||||||
appendProperty(QStringLiteral("Image"), QStringLiteral("Image.Dimensions"),
|
|
||||||
tr("Dimensions"), imageDimensionsString);
|
if (imgReader.supportsOption(QImageIOHandler::Size)) {
|
||||||
appendProperty(QStringLiteral("Image"), QStringLiteral("Image.SizeRatio"),
|
appendProperty(u"Image"_s, u"Image.Dimensions"_s,
|
||||||
tr("Aspect ratio"), imageRatioString);
|
tr("Dimensions"), imageDimensionsString);
|
||||||
}
|
appendProperty(u"Image"_s, u"Image.SizeRatio"_s,
|
||||||
if (imgReader.supportsAnimation() && imgReader.imageCount() > 1) {
|
tr("Aspect ratio"), imageRatioString);
|
||||||
appendProperty(QStringLiteral("Image"), QStringLiteral("Image.FrameCount"),
|
}
|
||||||
tr("Frame count"), QString::number(imgReader.imageCount()));
|
if (imgReader.supportsAnimation() && imgReader.imageCount() > 1) {
|
||||||
}
|
appendProperty(u"Image"_s, u"Image.FrameCount"_s,
|
||||||
|
tr("Frame count"), QString::number(imgReader.imageCount()));
|
||||||
appendProperty(QStringLiteral("File"), QStringLiteral("File.Name"),
|
}
|
||||||
tr("Name"), fileInfo.fileName());
|
|
||||||
appendProperty(QStringLiteral("File"), QStringLiteral("File.ItemType"),
|
appendProperty(u"File"_s, u"File.Name"_s,
|
||||||
tr("Item type"), itemTypeString);
|
tr("Name"), fileInfo.fileName());
|
||||||
appendProperty(QStringLiteral("File"), QStringLiteral("File.Path"),
|
appendProperty(u"File"_s, u"File.ItemType"_s,
|
||||||
tr("Folder path"), QDir::toNativeSeparators(fileInfo.path()));
|
tr("Item type"), itemTypeString);
|
||||||
appendProperty(QStringLiteral("File"), QStringLiteral("File.Size"),
|
appendProperty(u"File"_s, u"File.Path"_s,
|
||||||
tr("Size"), sizeString);
|
tr("Folder path"), QDir::toNativeSeparators(fileInfo.path()));
|
||||||
appendProperty(QStringLiteral("File"), QStringLiteral("File.CreatedTime"),
|
appendProperty(u"File"_s, u"File.Size"_s,
|
||||||
tr("Date created"), birthTimeString);
|
tr("Size"), sizeString);
|
||||||
appendProperty(QStringLiteral("File"), QStringLiteral("File.LastModified"),
|
appendProperty(u"File"_s, u"File.CreatedTime"_s,
|
||||||
tr("Date modified"), lastModifiedTimeString);
|
tr("Date created"), birthTimeString);
|
||||||
|
appendProperty(u"File"_s, u"File.LastModified"_s,
|
||||||
Exiv2Wrapper wrapper;
|
tr("Date modified"), lastModifiedTimeString);
|
||||||
if (wrapper.load(imageFilePath)) {
|
|
||||||
wrapper.cacheSections();
|
Exiv2Wrapper wrapper;
|
||||||
|
if (wrapper.load(imageFilePath)) {
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("Description"),
|
wrapper.cacheSections();
|
||||||
QStringLiteral("Xmp.dc.title"), tr("Title"), true);
|
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("Description"),
|
appendExivPropertyIfExist(wrapper, u"Description"_s,
|
||||||
QStringLiteral("Exif.Image.ImageDescription"), tr("Subject"), true);
|
u"Xmp.dc.title"_s, tr("Title"), true);
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("Description"),
|
appendExivPropertyIfExist(wrapper, u"Description"_s,
|
||||||
QStringLiteral("Exif.Image.Rating"), tr("Rating"));
|
u"Exif.Image.ImageDescription"_s, tr("Subject"), true);
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("Description"),
|
appendExivPropertyIfExist(wrapper, u"Description"_s,
|
||||||
QStringLiteral("Xmp.dc.subject"), tr("Tags"));
|
u"Exif.Image.Rating"_s, tr("Rating"));
|
||||||
appendPropertyIfNotEmpty(QStringLiteral("Description"), QStringLiteral("Description.Comments"),
|
appendExivPropertyIfExist(wrapper, u"Description"_s,
|
||||||
tr("Comments"), wrapper.comment());
|
u"Xmp.dc.subject"_s, tr("Tags"));
|
||||||
|
appendPropertyIfNotEmpty(u"Description"_s, u"Description.Comments"_s,
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("Origin"),
|
tr("Comments"), wrapper.comment());
|
||||||
QStringLiteral("Exif.Image.Artist"), tr("Authors"));
|
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("Origin"),
|
appendExivPropertyIfExist(wrapper, u"Origin"_s,
|
||||||
QStringLiteral("Exif.Photo.DateTimeOriginal"), tr("Date taken"));
|
u"Exif.Image.Artist"_s, tr("Authors"));
|
||||||
// FIXME: We may fetch the same type of metadata from different metadata collection.
|
appendExivPropertyIfExist(wrapper, u"Origin"_s,
|
||||||
// Current implementation is not pretty and may need to do a rework...
|
u"Exif.Photo.DateTimeOriginal"_s, tr("Date taken"));
|
||||||
// appendExivPropertyIfExist(wrapper, QStringLiteral("Origin"),
|
// FIXME: We may fetch the same type of metadata from different metadata collection.
|
||||||
// QStringLiteral("Xmp.xmp.CreatorTool"), tr("Program name"));
|
// Current implementation is not pretty and may need to do a rework...
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("Origin"),
|
// appendExivPropertyIfExist(wrapper, QStringLiteral("Origin"),
|
||||||
QStringLiteral("Exif.Image.Software"), tr("Program name"));
|
// QStringLiteral("Xmp.xmp.CreatorTool"), tr("Program name"));
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("Origin"),
|
appendExivPropertyIfExist(wrapper, u"Origin"_s,
|
||||||
QStringLiteral("Exif.Image.Copyright"), tr("Copyright"));
|
u"Exif.Image.Software"_s, tr("Program name"));
|
||||||
|
appendExivPropertyIfExist(wrapper, u"Origin"_s,
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("Image"),
|
u"Exif.Image.Copyright"_s, tr("Copyright"));
|
||||||
QStringLiteral("Exif.Image.XResolution"), tr("Horizontal resolution"));
|
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("Image"),
|
appendExivPropertyIfExist(wrapper, u"Image"_s,
|
||||||
QStringLiteral("Exif.Image.YResolution"), tr("Vertical resolution"));
|
u"Exif.Image.XResolution"_s, tr("Horizontal resolution"));
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("Image"),
|
appendExivPropertyIfExist(wrapper, u"Image"_s,
|
||||||
QStringLiteral("Exif.Image.ResolutionUnit"), tr("Resolution unit"));
|
u"Exif.Image.YResolution"_s, tr("Vertical resolution"));
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("Image"),
|
appendExivPropertyIfExist(wrapper, u"Image"_s,
|
||||||
QStringLiteral("Exif.Photo.ColorSpace"), tr("Colour representation"));
|
u"Exif.Image.ResolutionUnit"_s, tr("Resolution unit"));
|
||||||
|
appendExivPropertyIfExist(wrapper, u"Image"_s,
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("Camera"),
|
u"Exif.Photo.ColorSpace"_s, tr("Colour representation"));
|
||||||
QStringLiteral("Exif.Image.Make"), tr("Camera maker"));
|
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("Camera"),
|
appendExivPropertyIfExist(wrapper, u"Camera"_s,
|
||||||
QStringLiteral("Exif.Image.Model"), tr("Camera model"));
|
u"Exif.Image.Make"_s, tr("Camera maker"));
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("Camera"),
|
appendExivPropertyIfExist(wrapper, u"Camera"_s,
|
||||||
QStringLiteral("Exif.Photo.FNumber"), tr("F-stop"));
|
u"Exif.Image.Model"_s, tr("Camera model"));
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("Camera"),
|
appendExivPropertyIfExist(wrapper, u"Camera"_s,
|
||||||
QStringLiteral("Exif.Photo.ExposureTime"), tr("Exposure time"));
|
u"Exif.Photo.FNumber"_s, tr("F-stop"));
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("Camera"),
|
appendExivPropertyIfExist(wrapper, u"Camera"_s,
|
||||||
QStringLiteral("Exif.Photo.ISOSpeedRatings"), tr("ISO speed"));
|
u"Exif.Photo.ExposureTime"_s, tr("Exposure time"));
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("Camera"),
|
appendExivPropertyIfExist(wrapper, u"Camera"_s,
|
||||||
QStringLiteral("Exif.Photo.ExposureBiasValue"), tr("Exposure bias"));
|
u"Exif.Photo.ISOSpeedRatings"_s, tr("ISO speed"));
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("Camera"),
|
appendExivPropertyIfExist(wrapper, u"Camera"_s,
|
||||||
QStringLiteral("Exif.Photo.FocalLength"), tr("Focal length"));
|
u"Exif.Photo.ExposureBiasValue"_s, tr("Exposure bias"));
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("Camera"),
|
appendExivPropertyIfExist(wrapper, u"Camera"_s,
|
||||||
QStringLiteral("Exif.Photo.MaxApertureValue"), tr("Max aperture"));
|
u"Exif.Photo.FocalLength"_s, tr("Focal length"));
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("Camera"),
|
appendExivPropertyIfExist(wrapper, u"Camera"_s,
|
||||||
QStringLiteral("Exif.Photo.MeteringMode"), tr("Metering mode"));
|
u"Exif.Photo.MaxApertureValue"_s, tr("Max aperture"));
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("Camera"),
|
appendExivPropertyIfExist(wrapper, u"Camera"_s,
|
||||||
QStringLiteral("Exif.Photo.SubjectDistance"), tr("Subject distance"));
|
u"Exif.Photo.MeteringMode"_s, tr("Metering mode"));
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("Camera"),
|
appendExivPropertyIfExist(wrapper, u"Camera"_s,
|
||||||
QStringLiteral("Exif.Photo.Flash"), tr("Flash mode"));
|
u"Exif.Photo.SubjectDistance"_s, tr("Subject distance"));
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("Camera"),
|
appendExivPropertyIfExist(wrapper, u"Camera"_s,
|
||||||
QStringLiteral("Exif.Photo.FocalLengthIn35mmFilm"), tr("35mm focal length"));
|
u"Exif.Photo.Flash"_s, tr("Flash mode"));
|
||||||
|
appendExivPropertyIfExist(wrapper, u"Camera"_s,
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("AdvancedPhoto"),
|
u"Exif.Photo.FocalLengthIn35mmFilm"_s, tr("35mm focal length"));
|
||||||
QStringLiteral("Exif.Photo.LensModel"), tr("Lens model"));
|
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("AdvancedPhoto"),
|
appendExivPropertyIfExist(wrapper, u"AdvancedPhoto"_s,
|
||||||
QStringLiteral("Exif.Photo.Contrast"), tr("Contrast"));
|
u"Exif.Photo.LensModel"_s, tr("Lens model"));
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("AdvancedPhoto"),
|
appendExivPropertyIfExist(wrapper, u"AdvancedPhoto"_s,
|
||||||
QStringLiteral("Exif.Photo.BrightnessValue"), tr("Brightness"));
|
u"Exif.Photo.Contrast"_s, tr("Contrast"));
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("AdvancedPhoto"),
|
appendExivPropertyIfExist(wrapper, u"AdvancedPhoto"_s,
|
||||||
QStringLiteral("Exif.Photo.ExposureProgram"), tr("Exposure program"));
|
u"Exif.Photo.BrightnessValue"_s, tr("Brightness"));
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("AdvancedPhoto"),
|
appendExivPropertyIfExist(wrapper, u"AdvancedPhoto"_s,
|
||||||
QStringLiteral("Exif.Photo.Saturation"), tr("Saturation"));
|
u"Exif.Photo.ExposureProgram"_s, tr("Exposure program"));
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("AdvancedPhoto"),
|
appendExivPropertyIfExist(wrapper, u"AdvancedPhoto"_s,
|
||||||
QStringLiteral("Exif.Photo.Sharpness"), tr("Sharpness"));
|
u"Exif.Photo.Saturation"_s, tr("Saturation"));
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("AdvancedPhoto"),
|
appendExivPropertyIfExist(wrapper, u"AdvancedPhoto"_s,
|
||||||
QStringLiteral("Exif.Photo.WhiteBalance"), tr("White balance"));
|
u"Exif.Photo.Sharpness"_s, tr("Sharpness"));
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("AdvancedPhoto"),
|
appendExivPropertyIfExist(wrapper, u"AdvancedPhoto"_s,
|
||||||
QStringLiteral("Exif.Photo.DigitalZoomRatio"), tr("Digital zoom"));
|
u"Exif.Photo.WhiteBalance"_s, tr("White balance"));
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("AdvancedPhoto"),
|
appendExivPropertyIfExist(wrapper, u"AdvancedPhoto"_s,
|
||||||
QStringLiteral("Exif.Photo.ExifVersion"), tr("EXIF version"));
|
u"Exif.Photo.DigitalZoomRatio"_s, tr("Digital zoom"));
|
||||||
|
appendExivPropertyIfExist(wrapper, u"AdvancedPhoto"_s,
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("GPS"),
|
u"Exif.Photo.ExifVersion"_s, tr("EXIF version"));
|
||||||
QStringLiteral("Exif.GPSInfo.GPSLatitudeRef"), tr("Latitude reference"));
|
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("GPS"),
|
appendExivPropertyIfExist(wrapper, u"GPS"_s,
|
||||||
QStringLiteral("Exif.GPSInfo.GPSLatitude"), tr("Latitude"));
|
u"Exif.GPSInfo.GPSLatitudeRef"_s, tr("Latitude reference"));
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("GPS"),
|
appendExivPropertyIfExist(wrapper, u"GPS"_s,
|
||||||
QStringLiteral("Exif.GPSInfo.GPSLongitudeRef"), tr("Longitude reference"));
|
u"Exif.GPSInfo.GPSLatitude"_s, tr("Latitude"));
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("GPS"),
|
appendExivPropertyIfExist(wrapper, u"GPS"_s,
|
||||||
QStringLiteral("Exif.GPSInfo.GPSLongitude"), tr("Longitude"));
|
u"Exif.GPSInfo.GPSLongitudeRef"_s, tr("Longitude reference"));
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("GPS"),
|
appendExivPropertyIfExist(wrapper, u"GPS"_s,
|
||||||
QStringLiteral("Exif.GPSInfo.GPSAltitudeRef"), tr("Altitude reference"));
|
u"Exif.GPSInfo.GPSLongitude"_s, tr("Longitude"));
|
||||||
appendExivPropertyIfExist(wrapper, QStringLiteral("GPS"),
|
appendExivPropertyIfExist(wrapper, u"GPS"_s,
|
||||||
QStringLiteral("Exif.GPSInfo.GPSAltitude"), tr("Altitude"));
|
u"Exif.GPSInfo.GPSAltitudeRef"_s, tr("Altitude reference"));
|
||||||
|
appendExivPropertyIfExist(wrapper, u"GPS"_s,
|
||||||
}
|
u"Exif.GPSInfo.GPSAltitude"_s, tr("Altitude"));
|
||||||
}
|
|
||||||
|
}
|
||||||
QString MetadataModel::imageSize(const QSize &size)
|
}
|
||||||
{
|
|
||||||
QString imageSize;
|
QString MetadataModel::imageSize(const QSize &size)
|
||||||
|
{
|
||||||
if (size.isValid()) {
|
QString imageSize;
|
||||||
imageSize = tr("%1 x %2").arg(QString::number(size.width()), QString::number(size.height()));
|
|
||||||
} else {
|
if (size.isValid()) {
|
||||||
imageSize = QLatin1Char('-');
|
imageSize = tr("%1 x %2").arg(QString::number(size.width()), QString::number(size.height()));
|
||||||
}
|
} else {
|
||||||
|
imageSize = QLatin1Char('-');
|
||||||
return imageSize;
|
}
|
||||||
}
|
|
||||||
|
return imageSize;
|
||||||
int simplegcd(int a, int b) {
|
}
|
||||||
return b == 0 ? a : simplegcd(b, a % b);
|
|
||||||
}
|
int simplegcd(int a, int b) {
|
||||||
|
return b == 0 ? a : simplegcd(b, a % b);
|
||||||
QString MetadataModel::imageSizeRatio(const QSize &size)
|
}
|
||||||
{
|
|
||||||
if (!size.isValid()) {
|
QString MetadataModel::imageSizeRatio(const QSize &size)
|
||||||
return QStringLiteral("-");
|
{
|
||||||
}
|
if (!size.isValid()) {
|
||||||
int gcd = simplegcd(size.width(), size.height());
|
return QStringLiteral("-");
|
||||||
return tr("%1 : %2").arg(QString::number(size.width() / gcd), QString::number(size.height() / gcd));
|
}
|
||||||
}
|
int gcd = simplegcd(size.width(), size.height());
|
||||||
|
return tr("%1 : %2").arg(QString::number(size.width() / gcd), QString::number(size.height() / gcd));
|
||||||
bool MetadataModel::appendSection(const QString §ionKey, QStringView sectionDisplayName)
|
}
|
||||||
{
|
|
||||||
if (m_sections.contains(sectionKey)) {
|
bool MetadataModel::appendSection(const QString §ionKey, QStringView sectionDisplayName)
|
||||||
return false;
|
{
|
||||||
}
|
if (m_sections.contains(sectionKey)) {
|
||||||
|
return false;
|
||||||
m_sections.append(sectionKey);
|
}
|
||||||
m_sectionProperties[sectionKey] = qMakePair<QString, QList<QString> >(sectionDisplayName.toString(), {});
|
|
||||||
|
m_sections.append(sectionKey);
|
||||||
return true;
|
m_sectionProperties[sectionKey] = qMakePair<QString, QList<QString> >(sectionDisplayName.toString(), {});
|
||||||
}
|
|
||||||
|
return true;
|
||||||
bool MetadataModel::appendPropertyIfNotEmpty(const QString §ionKey, const QString &propertyKey, const QString &propertyDisplayName, const QString &propertyValue)
|
}
|
||||||
{
|
|
||||||
if (propertyValue.isEmpty()) return false;
|
bool MetadataModel::appendPropertyIfNotEmpty(const QString §ionKey, const QString &propertyKey, const QString &propertyDisplayName, const QString &propertyValue)
|
||||||
|
{
|
||||||
return appendProperty(sectionKey, propertyKey, propertyDisplayName, propertyValue);
|
if (propertyValue.isEmpty()) return false;
|
||||||
}
|
|
||||||
|
return appendProperty(sectionKey, propertyKey, propertyDisplayName, propertyValue);
|
||||||
bool MetadataModel::appendProperty(const QString §ionKey, const QString &propertyKey, QStringView propertyDisplayName, QStringView propertyValue)
|
}
|
||||||
{
|
|
||||||
if (!m_sections.contains(sectionKey)) {
|
bool MetadataModel::appendProperty(const QString §ionKey, const QString &propertyKey, QStringView propertyDisplayName, QStringView propertyValue)
|
||||||
return false;
|
{
|
||||||
}
|
if (!m_sections.contains(sectionKey)) {
|
||||||
|
return false;
|
||||||
QList<QString> & propertyList = m_sectionProperties[sectionKey].second;
|
}
|
||||||
if (!propertyList.contains(propertyKey)) {
|
|
||||||
propertyList.append(propertyKey);
|
QList<QString> & propertyList = m_sectionProperties[sectionKey].second;
|
||||||
}
|
if (!propertyList.contains(propertyKey)) {
|
||||||
|
propertyList.append(propertyKey);
|
||||||
m_properties[propertyKey] = qMakePair<QString, QString>(propertyDisplayName.toString(), propertyValue.toString());
|
}
|
||||||
|
|
||||||
return true;
|
m_properties[propertyKey] = qMakePair<QString, QString>(propertyDisplayName.toString(), propertyValue.toString());
|
||||||
}
|
|
||||||
|
return true;
|
||||||
bool MetadataModel::appendExivPropertyIfExist(const Exiv2Wrapper &wrapper, const QString §ionKey, const QString &exiv2propertyKey, const QString &propertyDisplayName, bool isXmpString)
|
}
|
||||||
{
|
|
||||||
const QString & value = wrapper.value(exiv2propertyKey);
|
bool MetadataModel::appendExivPropertyIfExist(const Exiv2Wrapper &wrapper, const QString §ionKey, const QString &exiv2propertyKey, const QString &propertyDisplayName, bool isXmpString)
|
||||||
if (!value.isEmpty()) {
|
{
|
||||||
appendProperty(sectionKey, exiv2propertyKey,
|
const QString & value = wrapper.value(exiv2propertyKey);
|
||||||
propertyDisplayName.isEmpty() ? wrapper.label(exiv2propertyKey) : propertyDisplayName,
|
if (!value.isEmpty()) {
|
||||||
isXmpString ? Exiv2Wrapper::XmpValue(value) : value);
|
appendProperty(sectionKey, exiv2propertyKey,
|
||||||
return true;
|
propertyDisplayName.isEmpty() ? wrapper.label(exiv2propertyKey) : propertyDisplayName,
|
||||||
}
|
isXmpString ? Exiv2Wrapper::XmpValue(value) : value);
|
||||||
return false;
|
return true;
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
QModelIndex MetadataModel::index(int row, int column, const QModelIndex &parent) const
|
}
|
||||||
{
|
|
||||||
if (!hasIndex(row, column, parent)) {
|
QModelIndex MetadataModel::index(int row, int column, const QModelIndex &parent) const
|
||||||
return QModelIndex();
|
{
|
||||||
}
|
if (!hasIndex(row, column, parent)) {
|
||||||
|
return QModelIndex();
|
||||||
if (!parent.isValid()) {
|
}
|
||||||
return createIndex(row, column, RowType::SectionRow);
|
|
||||||
} else {
|
if (!parent.isValid()) {
|
||||||
// internalid param: row means nth section it belongs to.
|
return createIndex(row, column, RowType::SectionRow);
|
||||||
return createIndex(row, column, RowType::PropertyRow + parent.row());
|
} else {
|
||||||
}
|
// internalid param: row means nth section it belongs to.
|
||||||
}
|
return createIndex(row, column, RowType::PropertyRow + parent.row());
|
||||||
|
}
|
||||||
QModelIndex MetadataModel::parent(const QModelIndex &child) const
|
}
|
||||||
{
|
|
||||||
if (!child.isValid()) {
|
QModelIndex MetadataModel::parent(const QModelIndex &child) const
|
||||||
return QModelIndex();
|
{
|
||||||
}
|
if (!child.isValid()) {
|
||||||
|
return QModelIndex();
|
||||||
if (child.internalId() == RowType::SectionRow) {
|
}
|
||||||
return QModelIndex();
|
|
||||||
} else {
|
if (child.internalId() == RowType::SectionRow) {
|
||||||
return createIndex(child.internalId() - RowType::PropertyRow, 0, SectionRow);
|
return QModelIndex();
|
||||||
}
|
} else {
|
||||||
}
|
return createIndex(child.internalId() - RowType::PropertyRow, 0, SectionRow);
|
||||||
|
}
|
||||||
int MetadataModel::rowCount(const QModelIndex &parent) const
|
}
|
||||||
{
|
|
||||||
if (!parent.isValid()) {
|
int MetadataModel::rowCount(const QModelIndex &parent) const
|
||||||
return m_sections.count();
|
{
|
||||||
}
|
if (!parent.isValid()) {
|
||||||
|
return m_sections.count();
|
||||||
if (parent.internalId() == RowType::SectionRow) {
|
}
|
||||||
const QString & sectionKey = m_sections[parent.row()];
|
|
||||||
return m_sectionProperties[sectionKey].second.count();
|
if (parent.internalId() == RowType::SectionRow) {
|
||||||
}
|
const QString & sectionKey = m_sections[parent.row()];
|
||||||
|
return m_sectionProperties[sectionKey].second.count();
|
||||||
return 0;
|
}
|
||||||
}
|
|
||||||
|
return 0;
|
||||||
int MetadataModel::columnCount(const QModelIndex &) const
|
}
|
||||||
{
|
|
||||||
// Always key(display name) and value.
|
int MetadataModel::columnCount(const QModelIndex &) const
|
||||||
return 2;
|
{
|
||||||
}
|
// Always key(display name) and value.
|
||||||
|
return 2;
|
||||||
QVariant MetadataModel::data(const QModelIndex &index, int role) const
|
}
|
||||||
{
|
|
||||||
if (!index.isValid()) {
|
QVariant MetadataModel::data(const QModelIndex &index, int role) const
|
||||||
return QVariant();
|
{
|
||||||
}
|
if (!index.isValid()) {
|
||||||
|
return QVariant();
|
||||||
if (role != Qt::DisplayRole) {
|
}
|
||||||
return QVariant();
|
|
||||||
}
|
if (role != Qt::DisplayRole) {
|
||||||
|
return QVariant();
|
||||||
if (index.internalId() == RowType::SectionRow) {
|
}
|
||||||
return (index.column() == 0) ? m_sectionProperties[m_sections[index.row()]].first
|
|
||||||
: QVariant();
|
if (index.internalId() == RowType::SectionRow) {
|
||||||
} else {
|
return (index.column() == 0) ? m_sectionProperties[m_sections[index.row()]].first
|
||||||
int sectionIndex = index.internalId() - RowType::PropertyRow;
|
: QVariant();
|
||||||
const QString & sectionKey = m_sections[sectionIndex];
|
} else {
|
||||||
const QList<QString> & propertyList = m_sectionProperties[sectionKey].second;
|
int sectionIndex = index.internalId() - RowType::PropertyRow;
|
||||||
return (index.column() == 0) ? m_properties[propertyList[index.row()]].first
|
const QString & sectionKey = m_sections[sectionIndex];
|
||||||
: m_properties[propertyList[index.row()]].second;
|
const QList<QString> & propertyList = m_sectionProperties[sectionKey].second;
|
||||||
}
|
return (index.column() == 0) ? m_properties[propertyList[index.row()]].first
|
||||||
}
|
: m_properties[propertyList[index.row()]].second;
|
||||||
|
}
|
||||||
QVariant MetadataModel::headerData(int section, Qt::Orientation orientation, int role) const
|
}
|
||||||
{
|
|
||||||
if (orientation == Qt::Vertical || role != Qt::DisplayRole) {
|
QVariant MetadataModel::headerData(int section, Qt::Orientation orientation, int role) const
|
||||||
return QVariant();
|
{
|
||||||
}
|
if (orientation == Qt::Vertical || role != Qt::DisplayRole) {
|
||||||
|
return QVariant();
|
||||||
return section == 0 ? tr("Property") : tr("Value");
|
}
|
||||||
}
|
|
||||||
|
return section == 0 ? tr("Property") : tr("Value");
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,52 +1,52 @@
|
|||||||
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
||||||
//
|
//
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
#ifndef METADATAMODEL_H
|
#ifndef METADATAMODEL_H
|
||||||
#define METADATAMODEL_H
|
#define METADATAMODEL_H
|
||||||
|
|
||||||
#include <QAbstractItemModel>
|
#include <QAbstractItemModel>
|
||||||
|
|
||||||
class Exiv2Wrapper;
|
class Exiv2Wrapper;
|
||||||
class MetadataModel : public QAbstractItemModel
|
class MetadataModel : public QAbstractItemModel
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit MetadataModel(QObject *parent = nullptr);
|
explicit MetadataModel(QObject *parent = nullptr);
|
||||||
~MetadataModel();
|
~MetadataModel();
|
||||||
|
|
||||||
void setFile(const QString & imageFilePath);
|
void setFile(const QString & imageFilePath);
|
||||||
static QString imageSize(const QSize &size);
|
static QString imageSize(const QSize &size);
|
||||||
static QString imageSizeRatio(const QSize &size);
|
static QString imageSizeRatio(const QSize &size);
|
||||||
bool appendSection(const QString & sectionKey, QStringView sectionDisplayName);
|
bool appendSection(const QString & sectionKey, QStringView sectionDisplayName);
|
||||||
bool appendPropertyIfNotEmpty(const QString & sectionKey, const QString & propertyKey,
|
bool appendPropertyIfNotEmpty(const QString & sectionKey, const QString & propertyKey,
|
||||||
const QString & propertyDisplayName, const QString & propertyValue = QString());
|
const QString & propertyDisplayName, const QString & propertyValue = QString());
|
||||||
bool appendProperty(const QString & sectionKey, const QString & propertyKey,
|
bool appendProperty(const QString & sectionKey, const QString & propertyKey,
|
||||||
QStringView propertyDisplayName, QStringView propertyValue = QString());
|
QStringView propertyDisplayName, QStringView propertyValue = QString());
|
||||||
bool appendExivPropertyIfExist(const Exiv2Wrapper & wrapper, const QString & sectionKey,
|
bool appendExivPropertyIfExist(const Exiv2Wrapper & wrapper, const QString & sectionKey,
|
||||||
const QString & exiv2propertyKey, const QString & propertyDisplayName = QString(),
|
const QString & exiv2propertyKey, const QString & propertyDisplayName = QString(),
|
||||||
bool isXmpString = false);
|
bool isXmpString = false);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
enum RowType : quintptr {
|
enum RowType : quintptr {
|
||||||
SectionRow,
|
SectionRow,
|
||||||
PropertyRow,
|
PropertyRow,
|
||||||
};
|
};
|
||||||
|
|
||||||
QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override;
|
QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override;
|
||||||
QModelIndex parent(const QModelIndex &child) const override;
|
QModelIndex parent(const QModelIndex &child) const override;
|
||||||
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
|
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
|
||||||
int columnCount(const QModelIndex & = QModelIndex()) const override;
|
int columnCount(const QModelIndex & = QModelIndex()) const override;
|
||||||
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
|
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
|
||||||
QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override;
|
QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override;
|
||||||
|
|
||||||
// [SECTION_KEY]
|
// [SECTION_KEY]
|
||||||
QList<QString> m_sections;
|
QList<QString> m_sections;
|
||||||
// {SECTION_KEY: (SECTION_DISPLAY_NAME, [PROPERTY_KEY])}
|
// {SECTION_KEY: (SECTION_DISPLAY_NAME, [PROPERTY_KEY])}
|
||||||
QMap<QString, QPair<QString, QList<QString> > > m_sectionProperties;
|
QMap<QString, QPair<QString, QList<QString> > > m_sectionProperties;
|
||||||
// {PROPERTY_KEY: (PROPERTY_DISPLAY_NAME, PROPERTY_VALUE)}
|
// {PROPERTY_KEY: (PROPERTY_DISPLAY_NAME, PROPERTY_VALUE)}
|
||||||
QMap<QString, QPair<QString, QString> > m_properties;
|
QMap<QString, QPair<QString, QString> > m_properties;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // METADATAMODEL_H
|
#endif // METADATAMODEL_H
|
||||||
|
|||||||
@@ -1,86 +1,86 @@
|
|||||||
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
||||||
//
|
//
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
#include "navigatorview.h"
|
#include "navigatorview.h"
|
||||||
|
|
||||||
#include "graphicsview.h"
|
#include "graphicsview.h"
|
||||||
#include "opacityhelper.h"
|
#include "opacityhelper.h"
|
||||||
|
|
||||||
#include <QMouseEvent>
|
#include <QMouseEvent>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
|
||||||
NavigatorView::NavigatorView(QWidget *parent)
|
NavigatorView::NavigatorView(QWidget *parent)
|
||||||
: QGraphicsView (parent)
|
: QGraphicsView (parent)
|
||||||
, m_viewportRegion(this->rect())
|
, m_viewportRegion(this->rect())
|
||||||
, m_opacityHelper(new OpacityHelper(this))
|
, m_opacityHelper(new OpacityHelper(this))
|
||||||
{
|
{
|
||||||
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||||
setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||||
setStyleSheet("background-color: rgba(0, 0, 0, 120);"
|
setStyleSheet("background-color: rgba(0, 0, 0, 120);"
|
||||||
"border-radius: 3px;");
|
"border-radius: 3px;");
|
||||||
}
|
}
|
||||||
|
|
||||||
// doesn't take or manage its ownership
|
// doesn't take or manage its ownership
|
||||||
void NavigatorView::setMainView(GraphicsView *mainView)
|
void NavigatorView::setMainView(GraphicsView *mainView)
|
||||||
{
|
{
|
||||||
m_mainView = mainView;
|
m_mainView = mainView;
|
||||||
}
|
}
|
||||||
|
|
||||||
void NavigatorView::setOpacity(qreal opacity, bool animated)
|
void NavigatorView::setOpacity(qreal opacity, bool animated)
|
||||||
{
|
{
|
||||||
m_opacityHelper->setOpacity(opacity, animated);
|
m_opacityHelper->setOpacity(opacity, animated);
|
||||||
}
|
}
|
||||||
|
|
||||||
void NavigatorView::updateMainViewportRegion()
|
void NavigatorView::updateMainViewportRegion()
|
||||||
{
|
{
|
||||||
if (m_mainView != nullptr) {
|
if (m_mainView != nullptr) {
|
||||||
m_viewportRegion = mapFromScene(m_mainView->mapToScene(m_mainView->rect()));
|
m_viewportRegion = mapFromScene(m_mainView->mapToScene(m_mainView->rect()));
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void NavigatorView::mousePressEvent(QMouseEvent *event)
|
void NavigatorView::mousePressEvent(QMouseEvent *event)
|
||||||
{
|
{
|
||||||
m_mouseDown = true;
|
m_mouseDown = true;
|
||||||
|
|
||||||
if (m_mainView) {
|
if (m_mainView) {
|
||||||
m_mainView->centerOn(mapToScene(event->pos()));
|
m_mainView->centerOn(mapToScene(event->pos()));
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
event->accept();
|
event->accept();
|
||||||
}
|
}
|
||||||
|
|
||||||
void NavigatorView::mouseMoveEvent(QMouseEvent *event)
|
void NavigatorView::mouseMoveEvent(QMouseEvent *event)
|
||||||
{
|
{
|
||||||
if (m_mouseDown && m_mainView) {
|
if (m_mouseDown && m_mainView) {
|
||||||
m_mainView->centerOn(mapToScene(event->pos()));
|
m_mainView->centerOn(mapToScene(event->pos()));
|
||||||
update();
|
update();
|
||||||
event->accept();
|
event->accept();
|
||||||
} else {
|
} else {
|
||||||
event->ignore();
|
event->ignore();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void NavigatorView::mouseReleaseEvent(QMouseEvent *event)
|
void NavigatorView::mouseReleaseEvent(QMouseEvent *event)
|
||||||
{
|
{
|
||||||
m_mouseDown = false;
|
m_mouseDown = false;
|
||||||
|
|
||||||
event->accept();
|
event->accept();
|
||||||
}
|
}
|
||||||
|
|
||||||
void NavigatorView::wheelEvent(QWheelEvent *event)
|
void NavigatorView::wheelEvent(QWheelEvent *event)
|
||||||
{
|
{
|
||||||
event->ignore();
|
event->ignore();
|
||||||
return QGraphicsView::wheelEvent(event);
|
return QGraphicsView::wheelEvent(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
void NavigatorView::paintEvent(QPaintEvent *event)
|
void NavigatorView::paintEvent(QPaintEvent *event)
|
||||||
{
|
{
|
||||||
QGraphicsView::paintEvent(event);
|
QGraphicsView::paintEvent(event);
|
||||||
|
|
||||||
QPainter painter(viewport());
|
QPainter painter(viewport());
|
||||||
painter.setPen(QPen(Qt::gray, 2));
|
painter.setPen(QPen(Qt::gray, 2));
|
||||||
painter.drawRect(m_viewportRegion.boundingRect());
|
painter.drawRect(m_viewportRegion.boundingRect());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,38 +1,38 @@
|
|||||||
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
||||||
//
|
//
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
#ifndef NAVIGATORVIEW_H
|
#ifndef NAVIGATORVIEW_H
|
||||||
#define NAVIGATORVIEW_H
|
#define NAVIGATORVIEW_H
|
||||||
|
|
||||||
#include <QGraphicsView>
|
#include <QGraphicsView>
|
||||||
|
|
||||||
class OpacityHelper;
|
class OpacityHelper;
|
||||||
class GraphicsView;
|
class GraphicsView;
|
||||||
class NavigatorView : public QGraphicsView
|
class NavigatorView : public QGraphicsView
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
NavigatorView(QWidget *parent = nullptr);
|
NavigatorView(QWidget *parent = nullptr);
|
||||||
|
|
||||||
void setMainView(GraphicsView *mainView);
|
void setMainView(GraphicsView *mainView);
|
||||||
void setOpacity(qreal opacity, bool animated = true);
|
void setOpacity(qreal opacity, bool animated = true);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void updateMainViewportRegion();
|
void updateMainViewportRegion();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void mousePressEvent(QMouseEvent * event) override;
|
void mousePressEvent(QMouseEvent * event) override;
|
||||||
void mouseMoveEvent(QMouseEvent * event) override;
|
void mouseMoveEvent(QMouseEvent * event) override;
|
||||||
void mouseReleaseEvent(QMouseEvent * event) override;
|
void mouseReleaseEvent(QMouseEvent * event) override;
|
||||||
|
|
||||||
void wheelEvent(QWheelEvent *event) override;
|
void wheelEvent(QWheelEvent *event) override;
|
||||||
void paintEvent(QPaintEvent *event) override;
|
void paintEvent(QPaintEvent *event) override;
|
||||||
|
|
||||||
bool m_mouseDown = false;
|
bool m_mouseDown = false;
|
||||||
QPolygon m_viewportRegion;
|
QPolygon m_viewportRegion;
|
||||||
QGraphicsView *m_mainView = nullptr;
|
QGraphicsView *m_mainView = nullptr;
|
||||||
OpacityHelper *m_opacityHelper = nullptr;
|
OpacityHelper *m_opacityHelper = nullptr;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // NAVIGATORVIEW_H
|
#endif // NAVIGATORVIEW_H
|
||||||
|
|||||||
@@ -1,31 +1,31 @@
|
|||||||
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
||||||
//
|
//
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
#include "opacityhelper.h"
|
#include "opacityhelper.h"
|
||||||
|
|
||||||
#include <QGraphicsOpacityEffect>
|
#include <QGraphicsOpacityEffect>
|
||||||
#include <QPropertyAnimation>
|
#include <QPropertyAnimation>
|
||||||
|
|
||||||
OpacityHelper::OpacityHelper(QWidget *parent)
|
OpacityHelper::OpacityHelper(QWidget *parent)
|
||||||
: QObject(parent)
|
: QObject(parent)
|
||||||
, m_opacityFx(new QGraphicsOpacityEffect(parent))
|
, m_opacityFx(new QGraphicsOpacityEffect(parent))
|
||||||
, m_opacityAnimation(new QPropertyAnimation(m_opacityFx, "opacity"))
|
, m_opacityAnimation(new QPropertyAnimation(m_opacityFx, "opacity"))
|
||||||
{
|
{
|
||||||
parent->setGraphicsEffect(m_opacityFx);
|
parent->setGraphicsEffect(m_opacityFx);
|
||||||
|
|
||||||
m_opacityAnimation->setDuration(300);
|
m_opacityAnimation->setDuration(300);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OpacityHelper::setOpacity(qreal opacity, bool animated)
|
void OpacityHelper::setOpacity(qreal opacity, bool animated)
|
||||||
{
|
{
|
||||||
if (!animated) {
|
if (!animated) {
|
||||||
m_opacityFx->setOpacity(opacity);
|
m_opacityFx->setOpacity(opacity);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_opacityAnimation->stop();
|
m_opacityAnimation->stop();
|
||||||
m_opacityAnimation->setStartValue(m_opacityFx->opacity());
|
m_opacityAnimation->setStartValue(m_opacityFx->opacity());
|
||||||
m_opacityAnimation->setEndValue(opacity);
|
m_opacityAnimation->setEndValue(opacity);
|
||||||
m_opacityAnimation->start();
|
m_opacityAnimation->start();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,27 +1,27 @@
|
|||||||
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
||||||
//
|
//
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
#ifndef OPACITYHELPER_H
|
#ifndef OPACITYHELPER_H
|
||||||
#define OPACITYHELPER_H
|
#define OPACITYHELPER_H
|
||||||
|
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
class QGraphicsOpacityEffect;
|
class QGraphicsOpacityEffect;
|
||||||
class QPropertyAnimation;
|
class QPropertyAnimation;
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
|
||||||
class OpacityHelper : QObject
|
class OpacityHelper : QObject
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
OpacityHelper(QWidget * parent);
|
OpacityHelper(QWidget * parent);
|
||||||
|
|
||||||
void setOpacity(qreal opacity, bool animated = true);
|
void setOpacity(qreal opacity, bool animated = true);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
QGraphicsOpacityEffect * m_opacityFx;
|
QGraphicsOpacityEffect * m_opacityFx;
|
||||||
QPropertyAnimation * m_opacityAnimation;
|
QPropertyAnimation * m_opacityAnimation;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // OPACITYHELPER_H
|
#endif // OPACITYHELPER_H
|
||||||
|
|||||||
@@ -1,255 +1,283 @@
|
|||||||
// SPDX-FileCopyrightText: 2024 Gary Wang <git@blumia.net>
|
// SPDX-FileCopyrightText: 2025 Gary Wang <git@blumia.net>
|
||||||
//
|
//
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
#include "playlistmanager.h"
|
#include "playlistmanager.h"
|
||||||
|
|
||||||
#include <QCollator>
|
#include <QCollator>
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
#include <QFileInfo>
|
#include <QFileInfo>
|
||||||
#include <QUrl>
|
#include <QUrl>
|
||||||
|
|
||||||
PlaylistModel::PlaylistModel(QObject *parent)
|
PlaylistModel::PlaylistModel(QObject *parent)
|
||||||
: QAbstractListModel(parent)
|
: QAbstractListModel(parent)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
PlaylistModel::~PlaylistModel()
|
PlaylistModel::~PlaylistModel()
|
||||||
{
|
= default;
|
||||||
|
|
||||||
}
|
void PlaylistModel::setPlaylist(const QList<QUrl> &urls)
|
||||||
|
{
|
||||||
void PlaylistModel::setPlaylist(const QList<QUrl> &urls)
|
beginResetModel();
|
||||||
{
|
m_playlist = urls;
|
||||||
beginResetModel();
|
endResetModel();
|
||||||
m_playlist = urls;
|
}
|
||||||
endResetModel();
|
|
||||||
}
|
QModelIndex PlaylistModel::loadPlaylist(const QList<QUrl> & urls)
|
||||||
|
{
|
||||||
QModelIndex PlaylistModel::loadPlaylist(const QList<QUrl> & urls)
|
if (urls.isEmpty()) return {};
|
||||||
{
|
if (urls.count() == 1) {
|
||||||
if (urls.isEmpty()) return QModelIndex();
|
return loadPlaylist(urls.constFirst());
|
||||||
if (urls.count() == 1) {
|
} else {
|
||||||
return loadPlaylist(urls.constFirst());
|
setPlaylist(urls);
|
||||||
} else {
|
return index(0);
|
||||||
setPlaylist(urls);
|
}
|
||||||
return index(0);
|
}
|
||||||
}
|
|
||||||
}
|
QModelIndex PlaylistModel::loadPlaylist(const QUrl &url)
|
||||||
|
{
|
||||||
QModelIndex PlaylistModel::loadPlaylist(const QUrl &url)
|
QFileInfo info(url.toLocalFile());
|
||||||
{
|
QDir dir(info.path());
|
||||||
QFileInfo info(url.toLocalFile());
|
QString && currentFileName = info.fileName();
|
||||||
QDir dir(info.path());
|
|
||||||
QString && currentFileName = info.fileName();
|
if (dir.path() == m_currentDir) {
|
||||||
|
int idx = indexOf(url);
|
||||||
if (dir.path() == m_currentDir) {
|
return idx == -1 ? appendToPlaylist(url) : index(idx);
|
||||||
int idx = indexOf(url);
|
}
|
||||||
return idx == -1 ? appendToPlaylist(url) : index(idx);
|
|
||||||
}
|
QStringList entryList = dir.entryList(
|
||||||
|
m_autoLoadSuffixes,
|
||||||
QStringList entryList = dir.entryList(
|
QDir::Files | QDir::NoSymLinks, QDir::NoSort);
|
||||||
m_autoLoadSuffixes,
|
|
||||||
QDir::Files | QDir::NoSymLinks, QDir::NoSort);
|
QCollator collator;
|
||||||
|
collator.setNumericMode(true);
|
||||||
QCollator collator;
|
|
||||||
collator.setNumericMode(true);
|
std::sort(entryList.begin(), entryList.end(), collator);
|
||||||
|
|
||||||
std::sort(entryList.begin(), entryList.end(), collator);
|
QList<QUrl> playlist;
|
||||||
|
|
||||||
QList<QUrl> playlist;
|
int idx = -1;
|
||||||
|
for (int i = 0; i < entryList.count(); i++) {
|
||||||
int idx = -1;
|
const QString & fileName = entryList.at(i);
|
||||||
for (int i = 0; i < entryList.count(); i++) {
|
const QString & oneEntry = dir.absoluteFilePath(fileName);
|
||||||
const QString & fileName = entryList.at(i);
|
const QUrl & url = QUrl::fromLocalFile(oneEntry);
|
||||||
const QString & oneEntry = dir.absoluteFilePath(fileName);
|
playlist.append(url);
|
||||||
const QUrl & url = QUrl::fromLocalFile(oneEntry);
|
if (fileName == currentFileName) {
|
||||||
playlist.append(url);
|
idx = i;
|
||||||
if (fileName == currentFileName) {
|
}
|
||||||
idx = i;
|
}
|
||||||
}
|
if (idx == -1) {
|
||||||
}
|
idx = playlist.count();
|
||||||
if (idx == -1) {
|
playlist.append(url);
|
||||||
idx = playlist.count();
|
}
|
||||||
playlist.append(url);
|
m_currentDir = dir.path();
|
||||||
}
|
|
||||||
m_currentDir = dir.path();
|
setPlaylist(playlist);
|
||||||
|
|
||||||
setPlaylist(playlist);
|
return index(idx);
|
||||||
|
}
|
||||||
return index(idx);
|
|
||||||
}
|
QModelIndex PlaylistModel::appendToPlaylist(const QUrl &url)
|
||||||
|
{
|
||||||
QModelIndex PlaylistModel::appendToPlaylist(const QUrl &url)
|
const int lastIndex = rowCount();
|
||||||
{
|
beginInsertRows(QModelIndex(), lastIndex, lastIndex);
|
||||||
const int lastIndex = rowCount();
|
m_playlist.append(url);
|
||||||
beginInsertRows(QModelIndex(), lastIndex, lastIndex);
|
endInsertRows();
|
||||||
m_playlist.append(url);
|
return index(lastIndex);
|
||||||
endInsertRows();
|
}
|
||||||
return index(lastIndex);
|
|
||||||
}
|
bool PlaylistModel::removeAt(int index)
|
||||||
|
{
|
||||||
bool PlaylistModel::removeAt(int index)
|
if (index < 0 || index >= rowCount()) return false;
|
||||||
{
|
beginRemoveRows(QModelIndex(), index, index);
|
||||||
if (index < 0 || index >= rowCount()) return false;
|
m_playlist.removeAt(index);
|
||||||
beginRemoveRows(QModelIndex(), index, index);
|
endRemoveRows();
|
||||||
m_playlist.removeAt(index);
|
return true;
|
||||||
endRemoveRows();
|
}
|
||||||
return true;
|
|
||||||
}
|
int PlaylistModel::indexOf(const QUrl &url) const
|
||||||
|
{
|
||||||
int PlaylistModel::indexOf(const QUrl &url) const
|
return m_playlist.indexOf(url);
|
||||||
{
|
}
|
||||||
return m_playlist.indexOf(url);
|
|
||||||
}
|
QUrl PlaylistModel::urlByIndex(int index) const
|
||||||
|
{
|
||||||
QUrl PlaylistModel::urlByIndex(int index) const
|
return m_playlist.value(index);
|
||||||
{
|
}
|
||||||
return m_playlist.value(index);
|
|
||||||
}
|
QStringList PlaylistModel::autoLoadFilterSuffixes() const
|
||||||
|
{
|
||||||
QStringList PlaylistModel::autoLoadFilterSuffixes() const
|
return m_autoLoadSuffixes;
|
||||||
{
|
}
|
||||||
return m_autoLoadSuffixes;
|
|
||||||
}
|
QHash<int, QByteArray> PlaylistModel::roleNames() const
|
||||||
|
{
|
||||||
QHash<int, QByteArray> PlaylistModel::roleNames() const
|
QHash<int, QByteArray> result = QAbstractListModel::roleNames();
|
||||||
{
|
result.insert(UrlRole, "url");
|
||||||
QHash<int, QByteArray> result = QAbstractListModel::roleNames();
|
return result;
|
||||||
result.insert(UrlRole, "url");
|
}
|
||||||
return result;
|
|
||||||
}
|
int PlaylistModel::rowCount(const QModelIndex &parent) const
|
||||||
|
{
|
||||||
int PlaylistModel::rowCount(const QModelIndex &parent) const
|
return m_playlist.count();
|
||||||
{
|
}
|
||||||
return m_playlist.count();
|
|
||||||
}
|
QVariant PlaylistModel::data(const QModelIndex &index, int role) const
|
||||||
|
{
|
||||||
QVariant PlaylistModel::data(const QModelIndex &index, int role) const
|
if (!index.isValid()) return {};
|
||||||
{
|
|
||||||
if (!index.isValid()) return QVariant();
|
switch (role) {
|
||||||
|
case Qt::DisplayRole:
|
||||||
switch (role) {
|
return m_playlist.at(index.row()).fileName();
|
||||||
case Qt::DisplayRole:
|
case UrlRole:
|
||||||
return m_playlist.at(index.row()).fileName();
|
return m_playlist.at(index.row());
|
||||||
case UrlRole:
|
}
|
||||||
return m_playlist.at(index.row());
|
|
||||||
}
|
return {};
|
||||||
|
}
|
||||||
return QVariant();
|
|
||||||
}
|
PlaylistManager::PlaylistManager(QObject *parent)
|
||||||
|
: QObject(parent)
|
||||||
PlaylistManager::PlaylistManager(QObject *parent)
|
{
|
||||||
: QObject(parent)
|
connect(&m_model, &PlaylistModel::rowsRemoved, this,
|
||||||
{
|
[this](const QModelIndex &, int, int) {
|
||||||
connect(&m_model, &PlaylistModel::rowsRemoved, this,
|
if (m_model.rowCount() <= m_currentIndex) {
|
||||||
[this](const QModelIndex &, int, int) {
|
setProperty("currentIndex", m_currentIndex - 1);
|
||||||
if (m_model.rowCount() <= m_currentIndex) {
|
}
|
||||||
setProperty("currentIndex", m_currentIndex - 1);
|
});
|
||||||
}
|
|
||||||
});
|
auto onRowCountChanged = [this](){
|
||||||
|
emit totalCountChanged(m_model.rowCount());
|
||||||
auto onRowCountChanged = [this](){
|
};
|
||||||
emit totalCountChanged(m_model.rowCount());
|
|
||||||
};
|
connect(&m_model, &PlaylistModel::rowsInserted, this, onRowCountChanged);
|
||||||
|
connect(&m_model, &PlaylistModel::rowsRemoved, this, onRowCountChanged);
|
||||||
connect(&m_model, &PlaylistModel::rowsInserted, this, onRowCountChanged);
|
connect(&m_model, &PlaylistModel::modelReset, this, onRowCountChanged);
|
||||||
connect(&m_model, &PlaylistModel::rowsRemoved, this, onRowCountChanged);
|
}
|
||||||
connect(&m_model, &PlaylistModel::modelReset, this, onRowCountChanged);
|
|
||||||
}
|
PlaylistManager::~PlaylistManager()
|
||||||
|
{
|
||||||
PlaylistManager::~PlaylistManager()
|
|
||||||
{
|
}
|
||||||
|
|
||||||
}
|
PlaylistModel *PlaylistManager::model()
|
||||||
|
{
|
||||||
PlaylistModel *PlaylistManager::model()
|
return &m_model;
|
||||||
{
|
}
|
||||||
return &m_model;
|
|
||||||
}
|
void PlaylistManager::setPlaylist(const QList<QUrl> &urls)
|
||||||
|
{
|
||||||
void PlaylistManager::setPlaylist(const QList<QUrl> &urls)
|
m_model.setPlaylist(urls);
|
||||||
{
|
}
|
||||||
m_model.setPlaylist(urls);
|
|
||||||
}
|
QModelIndex PlaylistManager::loadPlaylist(const QList<QUrl> &urls)
|
||||||
|
{
|
||||||
QModelIndex PlaylistManager::loadPlaylist(const QList<QUrl> &urls)
|
QModelIndex idx = m_model.loadPlaylist(urls);
|
||||||
{
|
setProperty("currentIndex", idx.row());
|
||||||
QModelIndex idx = m_model.loadPlaylist(urls);
|
return idx;
|
||||||
setProperty("currentIndex", idx.row());
|
}
|
||||||
return idx;
|
|
||||||
}
|
QModelIndex PlaylistManager::loadPlaylist(const QUrl &url)
|
||||||
|
{
|
||||||
QModelIndex PlaylistManager::loadPlaylist(const QUrl &url)
|
QModelIndex idx = m_model.loadPlaylist(url);
|
||||||
{
|
setProperty("currentIndex", idx.row());
|
||||||
QModelIndex idx = m_model.loadPlaylist(url);
|
return idx;
|
||||||
setProperty("currentIndex", idx.row());
|
}
|
||||||
return idx;
|
|
||||||
}
|
QModelIndex PlaylistManager::loadM3U8Playlist(const QUrl &url)
|
||||||
|
{
|
||||||
int PlaylistManager::totalCount() const
|
QFile file(url.toLocalFile());
|
||||||
{
|
if (file.open(QIODevice::ReadOnly | QIODevice::Text)) {
|
||||||
return m_model.rowCount();
|
QList<QUrl> urls;
|
||||||
}
|
while (!file.atEnd()) {
|
||||||
|
QString line = file.readLine();
|
||||||
QModelIndex PlaylistManager::previousIndex() const
|
if (line.startsWith('#')) {
|
||||||
{
|
continue;
|
||||||
int count = totalCount();
|
}
|
||||||
if (count == 0) return QModelIndex();
|
QFileInfo fileInfo(file);
|
||||||
|
QUrl item = QUrl::fromUserInput(line, fileInfo.absolutePath());
|
||||||
return m_model.index(m_currentIndex - 1 < 0 ? count - 1 : m_currentIndex - 1);
|
urls.append(item);
|
||||||
}
|
}
|
||||||
|
return loadPlaylist(urls);
|
||||||
QModelIndex PlaylistManager::nextIndex() const
|
} else {
|
||||||
{
|
return {};
|
||||||
int count = totalCount();
|
}
|
||||||
if (count == 0) return QModelIndex();
|
}
|
||||||
|
|
||||||
return m_model.index(m_currentIndex + 1 == count ? 0 : m_currentIndex + 1);
|
int PlaylistManager::totalCount() const
|
||||||
}
|
{
|
||||||
|
return m_model.rowCount();
|
||||||
QModelIndex PlaylistManager::curIndex() const
|
}
|
||||||
{
|
|
||||||
return m_model.index(m_currentIndex);
|
QModelIndex PlaylistManager::previousIndex() const
|
||||||
}
|
{
|
||||||
|
int count = totalCount();
|
||||||
void PlaylistManager::setCurrentIndex(const QModelIndex &index)
|
if (count == 0) return {};
|
||||||
{
|
|
||||||
if (index.isValid() && index.row() >= 0 && index.row() < totalCount()) {
|
return m_model.index(isFirstIndex() ? count - 1 : m_currentIndex - 1);
|
||||||
setProperty("currentIndex", index.row());
|
}
|
||||||
}
|
|
||||||
}
|
QModelIndex PlaylistManager::nextIndex() const
|
||||||
|
{
|
||||||
QUrl PlaylistManager::urlByIndex(const QModelIndex &index)
|
int count = totalCount();
|
||||||
{
|
if (count == 0) return {};
|
||||||
return m_model.urlByIndex(index.row());
|
|
||||||
}
|
return m_model.index(isLastIndex() ? 0 : m_currentIndex + 1);
|
||||||
|
}
|
||||||
QString PlaylistManager::localFileByIndex(const QModelIndex &index)
|
|
||||||
{
|
QModelIndex PlaylistManager::curIndex() const
|
||||||
return urlByIndex(index).toLocalFile();
|
{
|
||||||
}
|
return m_model.index(m_currentIndex);
|
||||||
|
}
|
||||||
bool PlaylistManager::removeAt(const QModelIndex &index)
|
|
||||||
{
|
bool PlaylistManager::isFirstIndex() const
|
||||||
return m_model.removeAt(index.row());
|
{
|
||||||
}
|
return m_currentIndex == 0;
|
||||||
|
}
|
||||||
void PlaylistManager::setAutoLoadFilterSuffixes(const QStringList &nameFilters)
|
|
||||||
{
|
bool PlaylistManager::isLastIndex() const
|
||||||
m_model.setProperty("autoLoadFilterSuffixes", nameFilters);
|
{
|
||||||
}
|
return m_currentIndex + 1 == totalCount();
|
||||||
|
}
|
||||||
QList<QUrl> PlaylistManager::convertToUrlList(const QStringList &files)
|
|
||||||
{
|
void PlaylistManager::setCurrentIndex(const QModelIndex &index)
|
||||||
QList<QUrl> urlList;
|
{
|
||||||
for (const QString & str : std::as_const(files)) {
|
if (index.isValid() && index.row() >= 0 && index.row() < totalCount()) {
|
||||||
QUrl url = QUrl::fromLocalFile(str);
|
setProperty("currentIndex", index.row());
|
||||||
if (url.isValid()) {
|
}
|
||||||
urlList.append(url);
|
}
|
||||||
}
|
|
||||||
}
|
QUrl PlaylistManager::urlByIndex(const QModelIndex &index)
|
||||||
|
{
|
||||||
return urlList;
|
return m_model.urlByIndex(index.row());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString PlaylistManager::localFileByIndex(const QModelIndex &index)
|
||||||
|
{
|
||||||
|
return urlByIndex(index).toLocalFile();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool PlaylistManager::removeAt(const QModelIndex &index)
|
||||||
|
{
|
||||||
|
return m_model.removeAt(index.row());
|
||||||
|
}
|
||||||
|
|
||||||
|
void PlaylistManager::setAutoLoadFilterSuffixes(const QStringList &nameFilters)
|
||||||
|
{
|
||||||
|
m_model.setProperty("autoLoadFilterSuffixes", nameFilters);
|
||||||
|
}
|
||||||
|
|
||||||
|
QList<QUrl> PlaylistManager::convertToUrlList(const QStringList &files)
|
||||||
|
{
|
||||||
|
QList<QUrl> urlList;
|
||||||
|
for (const QString & str : std::as_const(files)) {
|
||||||
|
QUrl url = QUrl::fromLocalFile(str);
|
||||||
|
if (url.isValid()) {
|
||||||
|
urlList.append(url);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return urlList;
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,85 +1,88 @@
|
|||||||
// SPDX-FileCopyrightText: 2024 Gary Wang <git@blumia.net>
|
// SPDX-FileCopyrightText: 2025 Gary Wang <git@blumia.net>
|
||||||
//
|
//
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <QUrl>
|
#include <QUrl>
|
||||||
#include <QAbstractListModel>
|
#include <QAbstractListModel>
|
||||||
|
|
||||||
class PlaylistModel : public QAbstractListModel
|
class PlaylistModel : public QAbstractListModel
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
enum PlaylistRole {
|
enum PlaylistRole {
|
||||||
UrlRole = Qt::UserRole
|
UrlRole = Qt::UserRole
|
||||||
};
|
};
|
||||||
Q_ENUM(PlaylistRole)
|
Q_ENUM(PlaylistRole)
|
||||||
Q_PROPERTY(QStringList autoLoadFilterSuffixes MEMBER m_autoLoadSuffixes NOTIFY autoLoadFilterSuffixesChanged)
|
Q_PROPERTY(QStringList autoLoadFilterSuffixes MEMBER m_autoLoadSuffixes NOTIFY autoLoadFilterSuffixesChanged)
|
||||||
|
|
||||||
explicit PlaylistModel(QObject *parent = nullptr);
|
explicit PlaylistModel(QObject *parent = nullptr);
|
||||||
~PlaylistModel();
|
~PlaylistModel() override;
|
||||||
|
|
||||||
void setPlaylist(const QList<QUrl> & urls);
|
void setPlaylist(const QList<QUrl> & urls);
|
||||||
QModelIndex loadPlaylist(const QList<QUrl> & urls);
|
QModelIndex loadPlaylist(const QList<QUrl> & urls);
|
||||||
QModelIndex loadPlaylist(const QUrl & url);
|
QModelIndex loadPlaylist(const QUrl & url);
|
||||||
QModelIndex appendToPlaylist(const QUrl & url);
|
QModelIndex appendToPlaylist(const QUrl & url);
|
||||||
bool removeAt(int index);
|
bool removeAt(int index);
|
||||||
int indexOf(const QUrl & url) const;
|
int indexOf(const QUrl & url) const;
|
||||||
QUrl urlByIndex(int index) const;
|
QUrl urlByIndex(int index) const;
|
||||||
QStringList autoLoadFilterSuffixes() const;
|
QStringList autoLoadFilterSuffixes() const;
|
||||||
|
|
||||||
QHash<int, QByteArray> roleNames() const override;
|
QHash<int, QByteArray> roleNames() const override;
|
||||||
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
|
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
|
||||||
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
|
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void autoLoadFilterSuffixesChanged(QStringList suffixes);
|
void autoLoadFilterSuffixesChanged(QStringList suffixes);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// model data
|
// model data
|
||||||
QList<QUrl> m_playlist;
|
QList<QUrl> m_playlist;
|
||||||
// properties
|
// properties
|
||||||
QStringList m_autoLoadSuffixes = {};
|
QStringList m_autoLoadSuffixes = {};
|
||||||
// internal
|
// internal
|
||||||
QString m_currentDir;
|
QString m_currentDir;
|
||||||
};
|
};
|
||||||
|
|
||||||
class PlaylistManager : public QObject
|
class PlaylistManager : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
Q_PROPERTY(int currentIndex MEMBER m_currentIndex NOTIFY currentIndexChanged)
|
Q_PROPERTY(int currentIndex MEMBER m_currentIndex NOTIFY currentIndexChanged)
|
||||||
Q_PROPERTY(QStringList autoLoadFilterSuffixes WRITE setAutoLoadFilterSuffixes)
|
Q_PROPERTY(QStringList autoLoadFilterSuffixes WRITE setAutoLoadFilterSuffixes)
|
||||||
Q_PROPERTY(PlaylistModel * model READ model CONSTANT)
|
Q_PROPERTY(PlaylistModel * model READ model CONSTANT)
|
||||||
|
|
||||||
explicit PlaylistManager(QObject *parent = nullptr);
|
explicit PlaylistManager(QObject *parent = nullptr);
|
||||||
~PlaylistManager();
|
~PlaylistManager();
|
||||||
|
|
||||||
PlaylistModel * model();
|
PlaylistModel * model();
|
||||||
|
|
||||||
void setPlaylist(const QList<QUrl> & url);
|
void setPlaylist(const QList<QUrl> & url);
|
||||||
Q_INVOKABLE QModelIndex loadPlaylist(const QList<QUrl> & urls);
|
Q_INVOKABLE QModelIndex loadPlaylist(const QList<QUrl> & urls);
|
||||||
Q_INVOKABLE QModelIndex loadPlaylist(const QUrl & url);
|
Q_INVOKABLE QModelIndex loadPlaylist(const QUrl & url);
|
||||||
|
Q_INVOKABLE QModelIndex loadM3U8Playlist(const QUrl & url);
|
||||||
int totalCount() const;
|
|
||||||
QModelIndex previousIndex() const;
|
int totalCount() const;
|
||||||
QModelIndex nextIndex() const;
|
QModelIndex previousIndex() const;
|
||||||
QModelIndex curIndex() const;
|
QModelIndex nextIndex() const;
|
||||||
void setCurrentIndex(const QModelIndex & index);
|
QModelIndex curIndex() const;
|
||||||
QUrl urlByIndex(const QModelIndex & index);
|
bool isFirstIndex() const;
|
||||||
QString localFileByIndex(const QModelIndex & index);
|
bool isLastIndex() const;
|
||||||
bool removeAt(const QModelIndex & index);
|
void setCurrentIndex(const QModelIndex & index);
|
||||||
|
QUrl urlByIndex(const QModelIndex & index);
|
||||||
void setAutoLoadFilterSuffixes(const QStringList &nameFilters);
|
QString localFileByIndex(const QModelIndex & index);
|
||||||
|
bool removeAt(const QModelIndex & index);
|
||||||
static QList<QUrl> convertToUrlList(const QStringList & files);
|
|
||||||
|
void setAutoLoadFilterSuffixes(const QStringList &nameFilters);
|
||||||
signals:
|
|
||||||
void currentIndexChanged(int index);
|
static QList<QUrl> convertToUrlList(const QStringList & files);
|
||||||
void totalCountChanged(int count);
|
|
||||||
|
signals:
|
||||||
private:
|
void currentIndexChanged(int index);
|
||||||
int m_currentIndex = -1;
|
void totalCountChanged(int count);
|
||||||
PlaylistModel m_model;
|
|
||||||
};
|
private:
|
||||||
|
int m_currentIndex = -1;
|
||||||
|
PlaylistModel m_model;
|
||||||
|
};
|
||||||
|
|||||||
430
app/settings.cpp
430
app/settings.cpp
@@ -1,204 +1,226 @@
|
|||||||
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
||||||
//
|
//
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
#include "settings.h"
|
#include "settings.h"
|
||||||
|
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
#include <QStandardPaths>
|
#include <QStandardPaths>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
#include <QAction>
|
#include <QAction>
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
#include <QKeySequence>
|
#include <QKeySequence>
|
||||||
#include <QMetaEnum>
|
#include <QMetaEnum>
|
||||||
|
|
||||||
namespace QEnumHelper
|
namespace QEnumHelper
|
||||||
{
|
{
|
||||||
template <typename E>
|
template <typename E>
|
||||||
E fromString(const QString &text, const E defaultValue)
|
E fromString(const QString &text, const E defaultValue)
|
||||||
{
|
{
|
||||||
bool ok;
|
bool ok;
|
||||||
E result = static_cast<E>(QMetaEnum::fromType<E>().keyToValue(text.toUtf8(), &ok));
|
E result = static_cast<E>(QMetaEnum::fromType<E>().keyToValue(text.toUtf8(), &ok));
|
||||||
if (!ok) {
|
if (!ok) {
|
||||||
return defaultValue;
|
return defaultValue;
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename E>
|
template <typename E>
|
||||||
QString toString(E value)
|
QString toString(E value)
|
||||||
{
|
{
|
||||||
const int intValue = static_cast<int>(value);
|
const int intValue = static_cast<int>(value);
|
||||||
return QString::fromUtf8(QMetaEnum::fromType<E>().valueToKey(intValue));
|
return QString::fromUtf8(QMetaEnum::fromType<E>().valueToKey(intValue));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Settings *Settings::m_settings_instance = nullptr;
|
Settings *Settings::m_settings_instance = nullptr;
|
||||||
|
|
||||||
Settings *Settings::instance()
|
Settings *Settings::instance()
|
||||||
{
|
{
|
||||||
if (!m_settings_instance) {
|
if (!m_settings_instance) {
|
||||||
m_settings_instance = new Settings;
|
m_settings_instance = new Settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
return m_settings_instance;
|
return m_settings_instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Settings::stayOnTop()
|
bool Settings::stayOnTop() const
|
||||||
{
|
{
|
||||||
return m_qsettings->value("stay_on_top", true).toBool();
|
return m_qsettings->value("stay_on_top", true).toBool();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Settings::useLightCheckerboard()
|
bool Settings::useBuiltInCloseAnimation() const
|
||||||
{
|
{
|
||||||
return m_qsettings->value("use_light_checkerboard", false).toBool();
|
return m_qsettings->value("use_built_in_close_animation", true).toBool();
|
||||||
}
|
}
|
||||||
|
|
||||||
Settings::DoubleClickBehavior Settings::doubleClickBehavior() const
|
bool Settings::useLightCheckerboard() const
|
||||||
{
|
{
|
||||||
QString result = m_qsettings->value("double_click_behavior", "Close").toString();
|
return m_qsettings->value("use_light_checkerboard", false).toBool();
|
||||||
|
}
|
||||||
return QEnumHelper::fromString<DoubleClickBehavior>(result, DoubleClickBehavior::Close);
|
|
||||||
}
|
bool Settings::loopGallery() const
|
||||||
|
{
|
||||||
Settings::MouseWheelBehavior Settings::mouseWheelBehavior() const
|
return m_qsettings->value("loop_gallery", true).toBool();
|
||||||
{
|
}
|
||||||
QString result = m_qsettings->value("mouse_wheel_behavior", "Zoom").toString();
|
|
||||||
|
Settings::DoubleClickBehavior Settings::doubleClickBehavior() const
|
||||||
return QEnumHelper::fromString<MouseWheelBehavior>(result, MouseWheelBehavior::Zoom);
|
{
|
||||||
}
|
QString result = m_qsettings->value("double_click_behavior", "Close").toString();
|
||||||
|
|
||||||
Settings::WindowSizeBehavior Settings::initWindowSizeBehavior() const
|
return QEnumHelper::fromString<DoubleClickBehavior>(result, DoubleClickBehavior::Close);
|
||||||
{
|
}
|
||||||
QString result = m_qsettings->value("init_window_size_behavior", "Auto").toString();
|
|
||||||
|
Settings::MouseWheelBehavior Settings::mouseWheelBehavior() const
|
||||||
return QEnumHelper::fromString<WindowSizeBehavior>(result, WindowSizeBehavior::Auto);
|
{
|
||||||
}
|
QString result = m_qsettings->value("mouse_wheel_behavior", "Zoom").toString();
|
||||||
|
|
||||||
Qt::HighDpiScaleFactorRoundingPolicy Settings::hiDpiScaleFactorBehavior() const
|
return QEnumHelper::fromString<MouseWheelBehavior>(result, MouseWheelBehavior::Zoom);
|
||||||
{
|
}
|
||||||
QString result = m_qsettings->value("hidpi_scale_factor_behavior", "PassThrough").toString();
|
|
||||||
|
Settings::WindowSizeBehavior Settings::initWindowSizeBehavior() const
|
||||||
return QEnumHelper::fromString<Qt::HighDpiScaleFactorRoundingPolicy>(result, Qt::HighDpiScaleFactorRoundingPolicy::PassThrough);
|
{
|
||||||
}
|
QString result = m_qsettings->value("init_window_size_behavior", "Auto").toString();
|
||||||
|
|
||||||
void Settings::setStayOnTop(bool on)
|
return QEnumHelper::fromString<WindowSizeBehavior>(result, WindowSizeBehavior::Auto);
|
||||||
{
|
}
|
||||||
m_qsettings->setValue("stay_on_top", on);
|
|
||||||
m_qsettings->sync();
|
Qt::HighDpiScaleFactorRoundingPolicy Settings::hiDpiScaleFactorBehavior() const
|
||||||
}
|
{
|
||||||
|
QString result = m_qsettings->value("hidpi_scale_factor_behavior", "PassThrough").toString();
|
||||||
void Settings::setUseLightCheckerboard(bool light)
|
|
||||||
{
|
return QEnumHelper::fromString<Qt::HighDpiScaleFactorRoundingPolicy>(result, Qt::HighDpiScaleFactorRoundingPolicy::PassThrough);
|
||||||
m_qsettings->setValue("use_light_checkerboard", light);
|
}
|
||||||
m_qsettings->sync();
|
|
||||||
}
|
void Settings::setStayOnTop(bool on)
|
||||||
|
{
|
||||||
void Settings::setDoubleClickBehavior(DoubleClickBehavior dcb)
|
m_qsettings->setValue("stay_on_top", on);
|
||||||
{
|
m_qsettings->sync();
|
||||||
m_qsettings->setValue("double_click_behavior", QEnumHelper::toString(dcb));
|
}
|
||||||
m_qsettings->sync();
|
|
||||||
}
|
void Settings::setUseBuiltInCloseAnimation(bool on)
|
||||||
|
{
|
||||||
void Settings::setMouseWheelBehavior(MouseWheelBehavior mwb)
|
m_qsettings->setValue("use_built_in_close_animation", on);
|
||||||
{
|
m_qsettings->sync();
|
||||||
m_qsettings->setValue("mouse_wheel_behavior", QEnumHelper::toString(mwb));
|
}
|
||||||
m_qsettings->sync();
|
|
||||||
}
|
void Settings::setUseLightCheckerboard(bool light)
|
||||||
|
{
|
||||||
void Settings::setInitWindowSizeBehavior(WindowSizeBehavior wsb)
|
m_qsettings->setValue("use_light_checkerboard", light);
|
||||||
{
|
m_qsettings->sync();
|
||||||
m_qsettings->setValue("init_window_size_behavior", QEnumHelper::toString(wsb));
|
}
|
||||||
m_qsettings->sync();
|
|
||||||
}
|
void Settings::setLoopGallery(bool on)
|
||||||
|
{
|
||||||
void Settings::setHiDpiScaleFactorBehavior(Qt::HighDpiScaleFactorRoundingPolicy hidpi)
|
m_qsettings->setValue("loop_gallery", on);
|
||||||
{
|
m_qsettings->sync();
|
||||||
m_qsettings->setValue("hidpi_scale_factor_behavior", QEnumHelper::toString(hidpi));
|
}
|
||||||
m_qsettings->sync();
|
|
||||||
}
|
void Settings::setDoubleClickBehavior(DoubleClickBehavior dcb)
|
||||||
|
{
|
||||||
void Settings::applyUserShortcuts(QWidget *widget)
|
m_qsettings->setValue("double_click_behavior", QEnumHelper::toString(dcb));
|
||||||
{
|
m_qsettings->sync();
|
||||||
m_qsettings->beginGroup("shortcuts");
|
}
|
||||||
const QStringList shortcutNames = m_qsettings->allKeys();
|
|
||||||
for (const QString & name : shortcutNames) {
|
void Settings::setMouseWheelBehavior(MouseWheelBehavior mwb)
|
||||||
QList<QKeySequence> shortcuts = m_qsettings->value(name).value<QList<QKeySequence>>();
|
{
|
||||||
setShortcutsForAction(widget, name, shortcuts, false);
|
m_qsettings->setValue("mouse_wheel_behavior", QEnumHelper::toString(mwb));
|
||||||
}
|
m_qsettings->sync();
|
||||||
m_qsettings->endGroup();
|
}
|
||||||
}
|
|
||||||
|
void Settings::setInitWindowSizeBehavior(WindowSizeBehavior wsb)
|
||||||
bool Settings::setShortcutsForAction(QWidget *widget, const QString &objectName,
|
{
|
||||||
QList<QKeySequence> shortcuts, bool writeConfig)
|
m_qsettings->setValue("init_window_size_behavior", QEnumHelper::toString(wsb));
|
||||||
{
|
m_qsettings->sync();
|
||||||
QAction * targetAction = nullptr;
|
}
|
||||||
for (QAction * action : widget->actions()) {
|
|
||||||
if (action->objectName() == objectName) {
|
void Settings::setHiDpiScaleFactorBehavior(Qt::HighDpiScaleFactorRoundingPolicy hidpi)
|
||||||
targetAction = action;
|
{
|
||||||
} else {
|
m_qsettings->setValue("hidpi_scale_factor_behavior", QEnumHelper::toString(hidpi));
|
||||||
for (const QKeySequence & shortcut : std::as_const(shortcuts)) {
|
m_qsettings->sync();
|
||||||
if (action->shortcuts().contains(shortcut)) {
|
}
|
||||||
return false;
|
|
||||||
}
|
void Settings::applyUserShortcuts(QWidget *widget)
|
||||||
}
|
{
|
||||||
}
|
m_qsettings->beginGroup("shortcuts");
|
||||||
}
|
const QStringList shortcutNames = m_qsettings->allKeys();
|
||||||
|
for (const QString & name : shortcutNames) {
|
||||||
if (targetAction) {
|
QList<QKeySequence> shortcuts = m_qsettings->value(name).value<QList<QKeySequence>>();
|
||||||
targetAction->setShortcuts(shortcuts);
|
setShortcutsForAction(widget, name, shortcuts, false);
|
||||||
}
|
}
|
||||||
|
m_qsettings->endGroup();
|
||||||
if (targetAction && writeConfig) {
|
}
|
||||||
m_qsettings->beginGroup("shortcuts");
|
|
||||||
m_qsettings->setValue(objectName, QVariant::fromValue(shortcuts));
|
bool Settings::setShortcutsForAction(QWidget *widget, const QString &objectName,
|
||||||
m_qsettings->endGroup();
|
QList<QKeySequence> shortcuts, bool writeConfig)
|
||||||
m_qsettings->sync();
|
{
|
||||||
}
|
QAction * targetAction = nullptr;
|
||||||
|
for (QAction * action : widget->actions()) {
|
||||||
return true;
|
if (action->objectName() == objectName) {
|
||||||
}
|
targetAction = action;
|
||||||
|
} else {
|
||||||
#if defined(FLAG_PORTABLE_MODE_SUPPORT) && defined(Q_OS_WIN)
|
for (const QKeySequence & shortcut : std::as_const(shortcuts)) {
|
||||||
#include <windows.h>
|
if (action->shortcuts().contains(shortcut)) {
|
||||||
// QCoreApplication::applicationDirPath() parses the "applicationDirPath" from arg0, which...
|
return false;
|
||||||
// 1. rely on a QApplication object instance
|
}
|
||||||
// but we need to call QGuiApplication::setHighDpiScaleFactorRoundingPolicy() before QApplication get created
|
}
|
||||||
// 2. arg0 is NOT garanteed to be the path of execution
|
}
|
||||||
// see also: https://stackoverflow.com/questions/383973/is-args0-guaranteed-to-be-the-path-of-execution
|
}
|
||||||
// This function is here mainly for #1.
|
|
||||||
QString getApplicationDirPath()
|
if (targetAction) {
|
||||||
{
|
targetAction->setShortcuts(shortcuts);
|
||||||
WCHAR buffer[MAX_PATH];
|
}
|
||||||
GetModuleFileNameW(NULL, buffer, MAX_PATH);
|
|
||||||
QString appPath = QString::fromWCharArray(buffer);
|
if (targetAction && writeConfig) {
|
||||||
|
m_qsettings->beginGroup("shortcuts");
|
||||||
return appPath.left(appPath.lastIndexOf('\\'));
|
m_qsettings->setValue(objectName, QVariant::fromValue(shortcuts));
|
||||||
}
|
m_qsettings->endGroup();
|
||||||
#endif // defined(FLAG_PORTABLE_MODE_SUPPORT) && defined(Q_OS_WIN)
|
m_qsettings->sync();
|
||||||
|
}
|
||||||
Settings::Settings()
|
|
||||||
: QObject(qApp)
|
return true;
|
||||||
{
|
}
|
||||||
QString configPath;
|
|
||||||
|
#if defined(FLAG_PORTABLE_MODE_SUPPORT) && defined(Q_OS_WIN)
|
||||||
#if defined(FLAG_PORTABLE_MODE_SUPPORT) && defined(Q_OS_WIN)
|
#include <windows.h>
|
||||||
QString portableConfigDirPath = QDir(getApplicationDirPath()).absoluteFilePath("data");
|
// QCoreApplication::applicationDirPath() parses the "applicationDirPath" from arg0, which...
|
||||||
QFileInfo portableConfigDirInfo(portableConfigDirPath);
|
// 1. rely on a QApplication object instance
|
||||||
if (portableConfigDirInfo.exists() && portableConfigDirInfo.isDir() && portableConfigDirInfo.isWritable()) {
|
// but we need to call QGuiApplication::setHighDpiScaleFactorRoundingPolicy() before QApplication get created
|
||||||
// we can use it.
|
// 2. arg0 is NOT garanteed to be the path of execution
|
||||||
configPath = portableConfigDirPath;
|
// see also: https://stackoverflow.com/questions/383973/is-args0-guaranteed-to-be-the-path-of-execution
|
||||||
}
|
// This function is here mainly for #1.
|
||||||
#endif // defined(FLAG_PORTABLE_MODE_SUPPORT) && defined(Q_OS_WIN)
|
QString getApplicationDirPath()
|
||||||
|
{
|
||||||
if (configPath.isEmpty()) {
|
WCHAR buffer[MAX_PATH];
|
||||||
// Should be %LOCALAPPDATA%\<APPNAME> under Windows, ~/.config/<APPNAME> under Linux.
|
GetModuleFileNameW(NULL, buffer, MAX_PATH);
|
||||||
configPath = QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation);
|
QString appPath = QString::fromWCharArray(buffer);
|
||||||
}
|
|
||||||
|
return appPath.left(appPath.lastIndexOf('\\'));
|
||||||
m_qsettings = new QSettings(QDir(configPath).absoluteFilePath("config.ini"), QSettings::IniFormat, this);
|
}
|
||||||
|
#endif // defined(FLAG_PORTABLE_MODE_SUPPORT) && defined(Q_OS_WIN)
|
||||||
qRegisterMetaType<QList<QKeySequence>>();
|
|
||||||
}
|
Settings::Settings()
|
||||||
|
: QObject(qApp)
|
||||||
|
{
|
||||||
|
QString configPath;
|
||||||
|
|
||||||
|
#if defined(FLAG_PORTABLE_MODE_SUPPORT) && defined(Q_OS_WIN)
|
||||||
|
QString portableConfigDirPath = QDir(getApplicationDirPath()).absoluteFilePath("data");
|
||||||
|
QFileInfo portableConfigDirInfo(portableConfigDirPath);
|
||||||
|
if (portableConfigDirInfo.exists() && portableConfigDirInfo.isDir() && portableConfigDirInfo.isWritable()) {
|
||||||
|
// we can use it.
|
||||||
|
configPath = portableConfigDirPath;
|
||||||
|
}
|
||||||
|
#endif // defined(FLAG_PORTABLE_MODE_SUPPORT) && defined(Q_OS_WIN)
|
||||||
|
|
||||||
|
if (configPath.isEmpty()) {
|
||||||
|
// Should be %LOCALAPPDATA%\<APPNAME> under Windows, ~/.config/<APPNAME> under Linux.
|
||||||
|
configPath = QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation);
|
||||||
|
}
|
||||||
|
|
||||||
|
m_qsettings = new QSettings(QDir(configPath).absoluteFilePath("config.ini"), QSettings::IniFormat, this);
|
||||||
|
|
||||||
|
qRegisterMetaType<QList<QKeySequence>>();
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
133
app/settings.h
133
app/settings.h
@@ -1,64 +1,69 @@
|
|||||||
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
||||||
//
|
//
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <QSettings>
|
#include <QSettings>
|
||||||
|
|
||||||
class Settings : public QObject
|
class Settings : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
enum DoubleClickBehavior {
|
enum DoubleClickBehavior {
|
||||||
Ignore,
|
Ignore,
|
||||||
Close,
|
Close,
|
||||||
Maximize,
|
Maximize,
|
||||||
FullScreen,
|
FullScreen,
|
||||||
};
|
};
|
||||||
Q_ENUM(DoubleClickBehavior)
|
Q_ENUM(DoubleClickBehavior)
|
||||||
|
|
||||||
enum MouseWheelBehavior {
|
enum MouseWheelBehavior {
|
||||||
Zoom,
|
Zoom,
|
||||||
Switch,
|
Switch,
|
||||||
};
|
};
|
||||||
Q_ENUM(MouseWheelBehavior)
|
Q_ENUM(MouseWheelBehavior)
|
||||||
|
|
||||||
enum WindowSizeBehavior {
|
enum WindowSizeBehavior {
|
||||||
Auto,
|
Auto,
|
||||||
Maximized,
|
Maximized,
|
||||||
};
|
Windowed,
|
||||||
Q_ENUM(WindowSizeBehavior)
|
};
|
||||||
|
Q_ENUM(WindowSizeBehavior)
|
||||||
static Settings *instance();
|
|
||||||
|
static Settings *instance();
|
||||||
bool stayOnTop();
|
|
||||||
bool useLightCheckerboard();
|
bool stayOnTop() const;
|
||||||
DoubleClickBehavior doubleClickBehavior() const;
|
bool useBuiltInCloseAnimation() const;
|
||||||
MouseWheelBehavior mouseWheelBehavior() const;
|
bool useLightCheckerboard() const;
|
||||||
WindowSizeBehavior initWindowSizeBehavior() const;
|
bool loopGallery() const;
|
||||||
Qt::HighDpiScaleFactorRoundingPolicy hiDpiScaleFactorBehavior() const;
|
DoubleClickBehavior doubleClickBehavior() const;
|
||||||
|
MouseWheelBehavior mouseWheelBehavior() const;
|
||||||
void setStayOnTop(bool on);
|
WindowSizeBehavior initWindowSizeBehavior() const;
|
||||||
void setUseLightCheckerboard(bool light);
|
Qt::HighDpiScaleFactorRoundingPolicy hiDpiScaleFactorBehavior() const;
|
||||||
void setDoubleClickBehavior(DoubleClickBehavior dcb);
|
|
||||||
void setMouseWheelBehavior(MouseWheelBehavior mwb);
|
void setStayOnTop(bool on);
|
||||||
void setInitWindowSizeBehavior(WindowSizeBehavior wsb);
|
void setUseBuiltInCloseAnimation(bool on);
|
||||||
void setHiDpiScaleFactorBehavior(Qt::HighDpiScaleFactorRoundingPolicy hidpi);
|
void setUseLightCheckerboard(bool light);
|
||||||
|
void setLoopGallery(bool on);
|
||||||
void applyUserShortcuts(QWidget * widget);
|
void setDoubleClickBehavior(DoubleClickBehavior dcb);
|
||||||
bool setShortcutsForAction(QWidget * widget, const QString & objectName,
|
void setMouseWheelBehavior(MouseWheelBehavior mwb);
|
||||||
QList<QKeySequence> shortcuts, bool writeConfig = true);
|
void setInitWindowSizeBehavior(WindowSizeBehavior wsb);
|
||||||
|
void setHiDpiScaleFactorBehavior(Qt::HighDpiScaleFactorRoundingPolicy hidpi);
|
||||||
private:
|
|
||||||
Settings();
|
void applyUserShortcuts(QWidget * widget);
|
||||||
|
bool setShortcutsForAction(QWidget * widget, const QString & objectName,
|
||||||
static Settings *m_settings_instance;
|
QList<QKeySequence> shortcuts, bool writeConfig = true);
|
||||||
|
|
||||||
QSettings *m_qsettings;
|
private:
|
||||||
|
Settings();
|
||||||
signals:
|
|
||||||
|
static Settings *m_settings_instance;
|
||||||
public slots:
|
|
||||||
};
|
QSettings *m_qsettings;
|
||||||
|
|
||||||
|
signals:
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
};
|
||||||
|
|||||||
@@ -1,177 +1,200 @@
|
|||||||
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
||||||
//
|
//
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
#include "settingsdialog.h"
|
#include "settingsdialog.h"
|
||||||
|
|
||||||
#include "settings.h"
|
#include "settings.h"
|
||||||
#include "shortcutedit.h"
|
#include "shortcutedit.h"
|
||||||
|
|
||||||
#include <QAction>
|
#include <QAction>
|
||||||
#include <QCheckBox>
|
#include <QCheckBox>
|
||||||
#include <QComboBox>
|
#include <QComboBox>
|
||||||
#include <QFormLayout>
|
#include <QFormLayout>
|
||||||
#include <QKeySequenceEdit>
|
#include <QKeySequenceEdit>
|
||||||
#include <QScrollArea>
|
#include <QScrollArea>
|
||||||
#include <QSplitter>
|
#include <QSplitter>
|
||||||
#include <QStringListModel>
|
#include <QStringListModel>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
|
|
||||||
SettingsDialog::SettingsDialog(QWidget *parent)
|
SettingsDialog::SettingsDialog(QWidget *parent)
|
||||||
: QDialog(parent)
|
: QDialog(parent)
|
||||||
, m_stayOnTop(new QCheckBox)
|
, m_stayOnTop(new QCheckBox)
|
||||||
, m_useLightCheckerboard(new QCheckBox)
|
, m_useBuiltInCloseAnimation(new QCheckBox)
|
||||||
, m_doubleClickBehavior(new QComboBox)
|
, m_useLightCheckerboard(new QCheckBox)
|
||||||
, m_mouseWheelBehavior(new QComboBox)
|
, m_loopGallery(new QCheckBox)
|
||||||
, m_initWindowSizeBehavior(new QComboBox)
|
, m_doubleClickBehavior(new QComboBox)
|
||||||
, m_hiDpiRoundingPolicyBehavior(new QComboBox)
|
, m_mouseWheelBehavior(new QComboBox)
|
||||||
{
|
, m_initWindowSizeBehavior(new QComboBox)
|
||||||
this->setWindowTitle(tr("Settings"));
|
, m_hiDpiRoundingPolicyBehavior(new QComboBox)
|
||||||
|
{
|
||||||
QHBoxLayout * mainLayout = new QHBoxLayout(this);
|
this->setWindowTitle(tr("Settings"));
|
||||||
QTabWidget * settingsTabs = new QTabWidget(this);
|
|
||||||
mainLayout->addWidget(settingsTabs);
|
QHBoxLayout * mainLayout = new QHBoxLayout(this);
|
||||||
|
QTabWidget * settingsTabs = new QTabWidget(this);
|
||||||
QWidget * settingsFormHolder = new QWidget;
|
mainLayout->addWidget(settingsTabs);
|
||||||
QFormLayout * settingsForm = new QFormLayout(settingsFormHolder);
|
|
||||||
settingsTabs->addTab(settingsFormHolder, tr("Options"));
|
QWidget * settingsFormHolder = new QWidget;
|
||||||
|
QFormLayout * settingsForm = new QFormLayout(settingsFormHolder);
|
||||||
QSplitter * shortcutEditorSplitter = new QSplitter;
|
settingsTabs->addTab(settingsFormHolder, tr("Options"));
|
||||||
shortcutEditorSplitter->setOrientation(Qt::Vertical);
|
|
||||||
shortcutEditorSplitter->setChildrenCollapsible(false);
|
QSplitter * shortcutEditorSplitter = new QSplitter;
|
||||||
QScrollArea * shortcutScrollArea = new QScrollArea;
|
shortcutEditorSplitter->setOrientation(Qt::Vertical);
|
||||||
shortcutEditorSplitter->addWidget(shortcutScrollArea);
|
shortcutEditorSplitter->setChildrenCollapsible(false);
|
||||||
shortcutScrollArea->setWidgetResizable(true);
|
QScrollArea * shortcutScrollArea = new QScrollArea;
|
||||||
shortcutScrollArea->setMinimumHeight(200);
|
shortcutEditorSplitter->addWidget(shortcutScrollArea);
|
||||||
QWidget * shortcutsFormHolder = new QWidget;
|
shortcutScrollArea->setWidgetResizable(true);
|
||||||
QFormLayout * shortcutsForm = new QFormLayout(shortcutsFormHolder);
|
shortcutScrollArea->setMinimumHeight(200);
|
||||||
shortcutScrollArea->setWidget(shortcutsFormHolder);
|
QWidget * shortcutsFormHolder = new QWidget;
|
||||||
settingsTabs->addTab(shortcutEditorSplitter, tr("Shortcuts"));
|
QFormLayout * shortcutsForm = new QFormLayout(shortcutsFormHolder);
|
||||||
|
shortcutScrollArea->setWidget(shortcutsFormHolder);
|
||||||
for (const QAction * action : parent->actions()) {
|
settingsTabs->addTab(shortcutEditorSplitter, tr("Shortcuts"));
|
||||||
ShortcutEdit * shortcutEdit = new ShortcutEdit;
|
|
||||||
shortcutEdit->setObjectName(QLatin1String("shortcut_") + action->objectName());
|
for (const QAction * action : parent->actions()) {
|
||||||
shortcutEdit->setShortcuts(action->shortcuts());
|
ShortcutEdit * shortcutEdit = new ShortcutEdit;
|
||||||
shortcutsForm->addRow(action->text(), shortcutEdit);
|
shortcutEdit->setObjectName(QLatin1String("shortcut_") + action->objectName());
|
||||||
connect(shortcutEdit, &ShortcutEdit::editButtonClicked, this, [=](){
|
shortcutEdit->setShortcuts(action->shortcuts());
|
||||||
if (shortcutEditorSplitter->count() == 1) shortcutEditorSplitter->addWidget(new QWidget);
|
shortcutsForm->addRow(action->text(), shortcutEdit);
|
||||||
ShortcutEditor * shortcutEditor = new ShortcutEditor(shortcutEdit);
|
connect(shortcutEdit, &ShortcutEdit::editButtonClicked, this, [=](){
|
||||||
shortcutEditor->setDescription(tr("Editing shortcuts for action \"%1\":").arg(action->text()));
|
if (shortcutEditorSplitter->count() == 1) shortcutEditorSplitter->addWidget(new QWidget);
|
||||||
QWidget * oldEditor = shortcutEditorSplitter->replaceWidget(1, shortcutEditor);
|
ShortcutEditor * shortcutEditor = new ShortcutEditor(shortcutEdit);
|
||||||
shortcutEditorSplitter->setSizes({shortcutEditorSplitter->height(), 1});
|
shortcutEditor->setDescription(tr("Editing shortcuts for action \"%1\":").arg(action->text()));
|
||||||
oldEditor->deleteLater();
|
QWidget * oldEditor = shortcutEditorSplitter->replaceWidget(1, shortcutEditor);
|
||||||
});
|
shortcutEditorSplitter->setSizes({shortcutEditorSplitter->height(), 1});
|
||||||
connect(shortcutEdit, &ShortcutEdit::applyShortcutsRequested, this, [=](QList<QKeySequence> newShortcuts){
|
oldEditor->deleteLater();
|
||||||
bool succ = Settings::instance()->setShortcutsForAction(parent, shortcutEdit->objectName().mid(9),
|
});
|
||||||
newShortcuts);
|
connect(shortcutEdit, &ShortcutEdit::applyShortcutsRequested, this, [=](QList<QKeySequence> newShortcuts){
|
||||||
if (!succ) {
|
bool succ = Settings::instance()->setShortcutsForAction(parent, shortcutEdit->objectName().mid(9),
|
||||||
QMessageBox::warning(this, tr("Failed to set shortcuts"),
|
newShortcuts);
|
||||||
tr("Please check if shortcuts are duplicated with existing shortcuts."));
|
if (!succ) {
|
||||||
}
|
QMessageBox::warning(this, tr("Failed to set shortcuts"),
|
||||||
shortcutEdit->setShortcuts(action->shortcuts());
|
tr("Please check if shortcuts are duplicated with existing shortcuts."));
|
||||||
});
|
}
|
||||||
}
|
shortcutEdit->setShortcuts(action->shortcuts());
|
||||||
|
});
|
||||||
static QList< QPair<Settings::DoubleClickBehavior, QString> > _dc_options {
|
}
|
||||||
{ Settings::DoubleClickBehavior::Ignore, tr("Do nothing") },
|
|
||||||
{ Settings::DoubleClickBehavior::Close, tr("Close the window") },
|
static QList< QPair<Settings::DoubleClickBehavior, QString> > _dc_options {
|
||||||
{ Settings::DoubleClickBehavior::Maximize, tr("Toggle maximize") },
|
{ Settings::DoubleClickBehavior::Ignore, tr("Do nothing") },
|
||||||
{ Settings::DoubleClickBehavior::FullScreen, tr("Toggle fullscreen") }
|
{ Settings::DoubleClickBehavior::Close, tr("Close the window") },
|
||||||
};
|
{ Settings::DoubleClickBehavior::Maximize, tr("Toggle maximize") },
|
||||||
|
{ Settings::DoubleClickBehavior::FullScreen, tr("Toggle fullscreen") }
|
||||||
static QList< QPair<Settings::MouseWheelBehavior, QString> > _mw_options {
|
};
|
||||||
{ Settings::MouseWheelBehavior::Zoom, tr("Zoom in and out") },
|
|
||||||
{ Settings::MouseWheelBehavior::Switch, tr("View next or previous item") }
|
static QList< QPair<Settings::MouseWheelBehavior, QString> > _mw_options {
|
||||||
};
|
{ Settings::MouseWheelBehavior::Zoom, tr("Zoom in and out") },
|
||||||
|
{ Settings::MouseWheelBehavior::Switch, tr("View next or previous item") }
|
||||||
static QList< QPair<Settings::WindowSizeBehavior, QString> > _iws_options {
|
};
|
||||||
{ Settings::WindowSizeBehavior::Auto, tr("Auto size") },
|
|
||||||
{ Settings::WindowSizeBehavior::Maximized, tr("Maximized") }
|
static QList< QPair<Settings::WindowSizeBehavior, QString> > _iws_options {
|
||||||
};
|
{ Settings::WindowSizeBehavior::Auto, tr("Auto size") },
|
||||||
|
{ Settings::WindowSizeBehavior::Maximized, tr("Maximized") },
|
||||||
static QList< QPair<Qt::HighDpiScaleFactorRoundingPolicy, QString> > _hidpi_options {
|
{ Settings::WindowSizeBehavior::Windowed, tr("Windowed") }
|
||||||
{ Qt::HighDpiScaleFactorRoundingPolicy::Round, tr("Round (Integer scaling)", "This option means round up for .5 and above") },
|
};
|
||||||
{ Qt::HighDpiScaleFactorRoundingPolicy::Ceil, tr("Ceil (Integer scaling)", "This option means always round up") },
|
|
||||||
{ Qt::HighDpiScaleFactorRoundingPolicy::Floor, tr("Floor (Integer scaling)", "This option means always round down") },
|
static QList< QPair<Qt::HighDpiScaleFactorRoundingPolicy, QString> > _hidpi_options {
|
||||||
{ Qt::HighDpiScaleFactorRoundingPolicy::PassThrough, tr("Follow system (Fractional scaling)", "This option means don't round") }
|
{ Qt::HighDpiScaleFactorRoundingPolicy::Round, tr("Round (Integer scaling)", "This option means round up for .5 and above") },
|
||||||
};
|
{ Qt::HighDpiScaleFactorRoundingPolicy::Ceil, tr("Ceil (Integer scaling)", "This option means always round up") },
|
||||||
|
{ Qt::HighDpiScaleFactorRoundingPolicy::Floor, tr("Floor (Integer scaling)", "This option means always round down") },
|
||||||
QStringList dcbDropDown;
|
{ Qt::HighDpiScaleFactorRoundingPolicy::PassThrough, tr("Follow system (Fractional scaling)", "This option means don't round") }
|
||||||
for (const QPair<Settings::DoubleClickBehavior, QString> & dcOption : _dc_options) {
|
};
|
||||||
dcbDropDown.append(dcOption.second);
|
|
||||||
}
|
QStringList dcbDropDown;
|
||||||
|
for (const QPair<Settings::DoubleClickBehavior, QString> & dcOption : _dc_options) {
|
||||||
QStringList mwbDropDown;
|
dcbDropDown.append(dcOption.second);
|
||||||
for (const QPair<Settings::MouseWheelBehavior, QString> & mwOption : _mw_options) {
|
}
|
||||||
mwbDropDown.append(mwOption.second);
|
|
||||||
}
|
QStringList mwbDropDown;
|
||||||
|
for (const QPair<Settings::MouseWheelBehavior, QString> & mwOption : _mw_options) {
|
||||||
QStringList iwsbDropDown;
|
mwbDropDown.append(mwOption.second);
|
||||||
for (const QPair<Settings::WindowSizeBehavior, QString> & iwsOption : _iws_options) {
|
}
|
||||||
iwsbDropDown.append(iwsOption.second);
|
|
||||||
}
|
QStringList iwsbDropDown;
|
||||||
|
for (const QPair<Settings::WindowSizeBehavior, QString> & iwsOption : _iws_options) {
|
||||||
QStringList hidpiDropDown;
|
iwsbDropDown.append(iwsOption.second);
|
||||||
for (const QPair<Qt::HighDpiScaleFactorRoundingPolicy, QString> & hidpiOption : _hidpi_options) {
|
}
|
||||||
hidpiDropDown.append(hidpiOption.second);
|
|
||||||
}
|
QStringList hidpiDropDown;
|
||||||
|
for (const QPair<Qt::HighDpiScaleFactorRoundingPolicy, QString> & hidpiOption : _hidpi_options) {
|
||||||
settingsForm->addRow(tr("Stay on top when start-up"), m_stayOnTop);
|
hidpiDropDown.append(hidpiOption.second);
|
||||||
settingsForm->addRow(tr("Use light-color checkerboard"), m_useLightCheckerboard);
|
}
|
||||||
settingsForm->addRow(tr("Double-click behavior"), m_doubleClickBehavior);
|
|
||||||
settingsForm->addRow(tr("Mouse wheel behavior"), m_mouseWheelBehavior);
|
settingsForm->addRow(tr("Stay on top when start-up"), m_stayOnTop);
|
||||||
settingsForm->addRow(tr("Default window size"), m_initWindowSizeBehavior);
|
settingsForm->addRow(tr("Use built-in close window animation"), m_useBuiltInCloseAnimation);
|
||||||
settingsForm->addRow(tr("HiDPI scale factor rounding policy"), m_hiDpiRoundingPolicyBehavior);
|
settingsForm->addRow(tr("Use light-color checkerboard"), m_useLightCheckerboard);
|
||||||
|
settingsForm->addRow(tr("Loop the loaded gallery"), m_loopGallery);
|
||||||
m_stayOnTop->setChecked(Settings::instance()->stayOnTop());
|
settingsForm->addRow(tr("Double-click behavior"), m_doubleClickBehavior);
|
||||||
m_useLightCheckerboard->setChecked(Settings::instance()->useLightCheckerboard());
|
settingsForm->addRow(tr("Mouse wheel behavior"), m_mouseWheelBehavior);
|
||||||
m_doubleClickBehavior->setModel(new QStringListModel(dcbDropDown));
|
settingsForm->addRow(tr("Default window size"), m_initWindowSizeBehavior);
|
||||||
Settings::DoubleClickBehavior dcb = Settings::instance()->doubleClickBehavior();
|
settingsForm->addRow(tr("HiDPI scale factor rounding policy"), m_hiDpiRoundingPolicyBehavior);
|
||||||
m_doubleClickBehavior->setCurrentIndex(static_cast<int>(dcb));
|
|
||||||
m_mouseWheelBehavior->setModel(new QStringListModel(mwbDropDown));
|
m_stayOnTop->setChecked(Settings::instance()->stayOnTop());
|
||||||
Settings::MouseWheelBehavior mwb = Settings::instance()->mouseWheelBehavior();
|
m_useBuiltInCloseAnimation->setChecked(Settings::instance()->useBuiltInCloseAnimation());
|
||||||
m_mouseWheelBehavior->setCurrentIndex(static_cast<int>(mwb));
|
m_useLightCheckerboard->setChecked(Settings::instance()->useLightCheckerboard());
|
||||||
m_initWindowSizeBehavior->setModel(new QStringListModel(iwsbDropDown));
|
m_loopGallery->setChecked(Settings::instance()->loopGallery());
|
||||||
Settings::WindowSizeBehavior iwsb = Settings::instance()->initWindowSizeBehavior();
|
m_doubleClickBehavior->setModel(new QStringListModel(dcbDropDown));
|
||||||
m_initWindowSizeBehavior->setCurrentIndex(static_cast<int>(iwsb));
|
Settings::DoubleClickBehavior dcb = Settings::instance()->doubleClickBehavior();
|
||||||
m_hiDpiRoundingPolicyBehavior->setModel(new QStringListModel(hidpiDropDown));
|
m_doubleClickBehavior->setCurrentIndex(static_cast<int>(dcb));
|
||||||
Qt::HighDpiScaleFactorRoundingPolicy hidpi = Settings::instance()->hiDpiScaleFactorBehavior();
|
m_mouseWheelBehavior->setModel(new QStringListModel(mwbDropDown));
|
||||||
for (int i = 0; i < _hidpi_options.count(); i++) {
|
Settings::MouseWheelBehavior mwb = Settings::instance()->mouseWheelBehavior();
|
||||||
if (_hidpi_options.at(i).first == hidpi) {
|
m_mouseWheelBehavior->setCurrentIndex(static_cast<int>(mwb));
|
||||||
m_hiDpiRoundingPolicyBehavior->setCurrentIndex(i);
|
m_initWindowSizeBehavior->setModel(new QStringListModel(iwsbDropDown));
|
||||||
break;
|
Settings::WindowSizeBehavior iwsb = Settings::instance()->initWindowSizeBehavior();
|
||||||
}
|
m_initWindowSizeBehavior->setCurrentIndex(static_cast<int>(iwsb));
|
||||||
}
|
m_hiDpiRoundingPolicyBehavior->setModel(new QStringListModel(hidpiDropDown));
|
||||||
|
Qt::HighDpiScaleFactorRoundingPolicy hidpi = Settings::instance()->hiDpiScaleFactorBehavior();
|
||||||
connect(m_stayOnTop, &QCheckBox::stateChanged, this, [ = ](int state){
|
for (int i = 0; i < _hidpi_options.count(); i++) {
|
||||||
Settings::instance()->setStayOnTop(state == Qt::Checked);
|
if (_hidpi_options.at(i).first == hidpi) {
|
||||||
});
|
m_hiDpiRoundingPolicyBehavior->setCurrentIndex(i);
|
||||||
|
break;
|
||||||
connect(m_useLightCheckerboard, &QCheckBox::stateChanged, this, [ = ](int state){
|
}
|
||||||
Settings::instance()->setUseLightCheckerboard(state == Qt::Checked);
|
}
|
||||||
});
|
|
||||||
|
#if QT_VERSION >= QT_VERSION_CHECK(6, 7, 0)
|
||||||
connect(m_doubleClickBehavior, QOverload<int>::of(&QComboBox::currentIndexChanged), this, [ = ](int index){
|
# define QCHECKBOX_CHECKSTATECHANGED QCheckBox::checkStateChanged
|
||||||
Settings::instance()->setDoubleClickBehavior(_dc_options.at(index).first);
|
# define QT_CHECKSTATE Qt::CheckState
|
||||||
});
|
#else
|
||||||
|
# define QCHECKBOX_CHECKSTATECHANGED QCheckBox::stateChanged
|
||||||
connect(m_mouseWheelBehavior, QOverload<int>::of(&QComboBox::currentIndexChanged), this, [ = ](int index){
|
# define QT_CHECKSTATE int
|
||||||
Settings::instance()->setMouseWheelBehavior(_mw_options.at(index).first);
|
#endif // QT_VERSION >= QT_VERSION_CHECK(6, 7, 0)
|
||||||
});
|
|
||||||
|
connect(m_stayOnTop, &QCHECKBOX_CHECKSTATECHANGED, this, [ = ](QT_CHECKSTATE state){
|
||||||
connect(m_initWindowSizeBehavior, QOverload<int>::of(&QComboBox::currentIndexChanged), this, [ = ](int index){
|
Settings::instance()->setStayOnTop(state == Qt::Checked);
|
||||||
Settings::instance()->setInitWindowSizeBehavior(_iws_options.at(index).first);
|
});
|
||||||
});
|
|
||||||
|
connect(m_useBuiltInCloseAnimation, &QCHECKBOX_CHECKSTATECHANGED, this, [ = ](QT_CHECKSTATE state){
|
||||||
connect(m_hiDpiRoundingPolicyBehavior, QOverload<int>::of(&QComboBox::currentIndexChanged), this, [ = ](int index){
|
Settings::instance()->setUseBuiltInCloseAnimation(state == Qt::Checked);
|
||||||
Settings::instance()->setHiDpiScaleFactorBehavior(_hidpi_options.at(index).first);
|
});
|
||||||
});
|
|
||||||
|
connect(m_useLightCheckerboard, &QCHECKBOX_CHECKSTATECHANGED, this, [ = ](QT_CHECKSTATE state){
|
||||||
adjustSize();
|
Settings::instance()->setUseLightCheckerboard(state == Qt::Checked);
|
||||||
setWindowFlag(Qt::WindowContextHelpButtonHint, false);
|
});
|
||||||
}
|
|
||||||
|
connect(m_loopGallery, &QCHECKBOX_CHECKSTATECHANGED, this, [ = ](QT_CHECKSTATE state){
|
||||||
SettingsDialog::~SettingsDialog()
|
Settings::instance()->setLoopGallery(state == Qt::Checked);
|
||||||
{
|
});
|
||||||
|
|
||||||
}
|
connect(m_doubleClickBehavior, QOverload<int>::of(&QComboBox::currentIndexChanged), this, [ = ](int index){
|
||||||
|
Settings::instance()->setDoubleClickBehavior(_dc_options.at(index).first);
|
||||||
|
});
|
||||||
|
|
||||||
|
connect(m_mouseWheelBehavior, QOverload<int>::of(&QComboBox::currentIndexChanged), this, [ = ](int index){
|
||||||
|
Settings::instance()->setMouseWheelBehavior(_mw_options.at(index).first);
|
||||||
|
});
|
||||||
|
|
||||||
|
connect(m_initWindowSizeBehavior, QOverload<int>::of(&QComboBox::currentIndexChanged), this, [ = ](int index){
|
||||||
|
Settings::instance()->setInitWindowSizeBehavior(_iws_options.at(index).first);
|
||||||
|
});
|
||||||
|
|
||||||
|
connect(m_hiDpiRoundingPolicyBehavior, QOverload<int>::of(&QComboBox::currentIndexChanged), this, [ = ](int index){
|
||||||
|
Settings::instance()->setHiDpiScaleFactorBehavior(_hidpi_options.at(index).first);
|
||||||
|
});
|
||||||
|
|
||||||
|
adjustSize();
|
||||||
|
setWindowFlag(Qt::WindowContextHelpButtonHint, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
SettingsDialog::~SettingsDialog()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,33 +1,35 @@
|
|||||||
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
||||||
//
|
//
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
#ifndef SETTINGSDIALOG_H
|
#ifndef SETTINGSDIALOG_H
|
||||||
#define SETTINGSDIALOG_H
|
#define SETTINGSDIALOG_H
|
||||||
|
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <QDialog>
|
#include <QDialog>
|
||||||
|
|
||||||
class QCheckBox;
|
class QCheckBox;
|
||||||
class QComboBox;
|
class QComboBox;
|
||||||
class SettingsDialog : public QDialog
|
class SettingsDialog : public QDialog
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
explicit SettingsDialog(QWidget *parent = nullptr);
|
explicit SettingsDialog(QWidget *parent = nullptr);
|
||||||
~SettingsDialog();
|
~SettingsDialog();
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QCheckBox * m_stayOnTop = nullptr;
|
QCheckBox * m_stayOnTop = nullptr;
|
||||||
QCheckBox * m_useLightCheckerboard = nullptr;
|
QCheckBox * m_useBuiltInCloseAnimation = nullptr;
|
||||||
QComboBox * m_doubleClickBehavior = nullptr;
|
QCheckBox * m_useLightCheckerboard = nullptr;
|
||||||
QComboBox * m_mouseWheelBehavior = nullptr;
|
QCheckBox * m_loopGallery = nullptr;
|
||||||
QComboBox * m_initWindowSizeBehavior = nullptr;
|
QComboBox * m_doubleClickBehavior = nullptr;
|
||||||
QComboBox * m_hiDpiRoundingPolicyBehavior = nullptr;
|
QComboBox * m_mouseWheelBehavior = nullptr;
|
||||||
};
|
QComboBox * m_initWindowSizeBehavior = nullptr;
|
||||||
|
QComboBox * m_hiDpiRoundingPolicyBehavior = nullptr;
|
||||||
#endif // SETTINGSDIALOG_H
|
};
|
||||||
|
|
||||||
|
#endif // SETTINGSDIALOG_H
|
||||||
|
|||||||
@@ -40,11 +40,6 @@ ShortcutEditor::ShortcutEditor(ShortcutEdit * shortcutEdit, QWidget * parent)
|
|||||||
reloadShortcuts();
|
reloadShortcuts();
|
||||||
}
|
}
|
||||||
|
|
||||||
ShortcutEditor::~ShortcutEditor()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void ShortcutEditor::setDescription(const QString &desc)
|
void ShortcutEditor::setDescription(const QString &desc)
|
||||||
{
|
{
|
||||||
m_descriptionLabel->setText(desc);
|
m_descriptionLabel->setText(desc);
|
||||||
@@ -63,9 +58,7 @@ void ShortcutEditor::reloadShortcuts()
|
|||||||
shortcuts.append(QKeySequence());
|
shortcuts.append(QKeySequence());
|
||||||
for (const QKeySequence & shortcut : shortcuts) {
|
for (const QKeySequence & shortcut : shortcuts) {
|
||||||
QKeySequenceEdit * keyseqEdit = new QKeySequenceEdit(this);
|
QKeySequenceEdit * keyseqEdit = new QKeySequenceEdit(this);
|
||||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 4, 0)
|
|
||||||
keyseqEdit->setClearButtonEnabled(true);
|
keyseqEdit->setClearButtonEnabled(true);
|
||||||
#endif // QT_VERSION >= QT_VERSION_CHECK(6, 4, 0)
|
|
||||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 5, 0)
|
#if QT_VERSION >= QT_VERSION_CHECK(6, 5, 0)
|
||||||
keyseqEdit->setMaximumSequenceLength(1);
|
keyseqEdit->setMaximumSequenceLength(1);
|
||||||
#endif // QT_VERSION >= QT_VERSION_CHECK(6, 5, 0)
|
#endif // QT_VERSION >= QT_VERSION_CHECK(6, 5, 0)
|
||||||
@@ -105,8 +98,8 @@ ShortcutEdit::ShortcutEdit(QWidget *parent)
|
|||||||
|
|
||||||
connect(this, &ShortcutEdit::shortcutsChanged, this, [=](){
|
connect(this, &ShortcutEdit::shortcutsChanged, this, [=](){
|
||||||
QStringList shortcutTexts;
|
QStringList shortcutTexts;
|
||||||
for (const QKeySequence & shortcut : m_shortcuts) {
|
for (const QKeySequence & shortcut : std::as_const(m_shortcuts)) {
|
||||||
shortcutTexts.append(shortcut.toString());
|
shortcutTexts.append(shortcut.toString(QKeySequence::NativeText));
|
||||||
}
|
}
|
||||||
m_shortcutsLabel->setText(shortcutTexts.isEmpty() ? tr("No shortcuts") : shortcutTexts.join(", "));
|
m_shortcutsLabel->setText(shortcutTexts.isEmpty() ? tr("No shortcuts") : shortcutTexts.join(", "));
|
||||||
m_shortcutsLabel->setDisabled(shortcutTexts.isEmpty());
|
m_shortcutsLabel->setDisabled(shortcutTexts.isEmpty());
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ class ShortcutEditor : public QWidget
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
explicit ShortcutEditor(ShortcutEdit * shortcutEdit, QWidget * parent = nullptr);
|
explicit ShortcutEditor(ShortcutEdit * shortcutEdit, QWidget * parent = nullptr);
|
||||||
~ShortcutEditor();
|
~ShortcutEditor() = default;
|
||||||
|
|
||||||
void setDescription(const QString & desc);
|
void setDescription(const QString & desc);
|
||||||
|
|
||||||
|
|||||||
@@ -1,38 +1,38 @@
|
|||||||
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
||||||
//
|
//
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
#include "toolbutton.h"
|
#include "toolbutton.h"
|
||||||
|
|
||||||
#include "actionmanager.h"
|
#include "actionmanager.h"
|
||||||
#include "opacityhelper.h"
|
#include "opacityhelper.h"
|
||||||
|
|
||||||
#include <QPainter>
|
#include <QPainter>
|
||||||
#include <QGraphicsOpacityEffect>
|
#include <QGraphicsOpacityEffect>
|
||||||
#include <QPropertyAnimation>
|
#include <QPropertyAnimation>
|
||||||
|
|
||||||
ToolButton::ToolButton(bool hoverColor, QWidget *parent)
|
ToolButton::ToolButton(bool hoverColor, QWidget *parent)
|
||||||
: QPushButton(parent)
|
: QPushButton(parent)
|
||||||
, m_opacityHelper(new OpacityHelper(this))
|
, m_opacityHelper(new OpacityHelper(this))
|
||||||
{
|
{
|
||||||
setFlat(true);
|
setFlat(true);
|
||||||
QString qss = "QPushButton {"
|
QString qss = "QPushButton {"
|
||||||
"background: transparent;"
|
"background: transparent;"
|
||||||
"}";
|
"}";
|
||||||
if (hoverColor) {
|
if (hoverColor) {
|
||||||
qss += "QPushButton:hover {"
|
qss += "QPushButton:hover {"
|
||||||
"background: red;"
|
"background: red;"
|
||||||
"}";
|
"}";
|
||||||
}
|
}
|
||||||
setStyleSheet(qss);
|
setStyleSheet(qss);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ToolButton::setIconResourcePath(const QString &iconp)
|
void ToolButton::setIconResourcePath(const QString &iconp)
|
||||||
{
|
{
|
||||||
this->setIcon(ActionManager::loadHidpiIcon(iconp, this->iconSize()));
|
this->setIcon(ActionManager::loadHidpiIcon(iconp, this->iconSize()));
|
||||||
}
|
}
|
||||||
|
|
||||||
void ToolButton::setOpacity(qreal opacity, bool animated)
|
void ToolButton::setOpacity(qreal opacity, bool animated)
|
||||||
{
|
{
|
||||||
m_opacityHelper->setOpacity(opacity, animated);
|
m_opacityHelper->setOpacity(opacity, animated);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,25 +1,25 @@
|
|||||||
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
|
||||||
//
|
//
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
#ifndef TOOLBUTTON_H
|
#ifndef TOOLBUTTON_H
|
||||||
#define TOOLBUTTON_H
|
#define TOOLBUTTON_H
|
||||||
|
|
||||||
#include <QPushButton>
|
#include <QPushButton>
|
||||||
|
|
||||||
class OpacityHelper;
|
class OpacityHelper;
|
||||||
class ToolButton : public QPushButton
|
class ToolButton : public QPushButton
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
ToolButton(bool hoverColor = false, QWidget * parent = nullptr);
|
ToolButton(bool hoverColor = false, QWidget * parent = nullptr);
|
||||||
void setIconResourcePath(const QString &iconp);
|
void setIconResourcePath(const QString &iconp);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void setOpacity(qreal opacity, bool animated = true);
|
void setOpacity(qreal opacity, bool animated = true);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
OpacityHelper * m_opacityHelper;
|
OpacityHelper * m_opacityHelper;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // TOOLBUTTON_H
|
#endif // TOOLBUTTON_H
|
||||||
|
|||||||
@@ -4,169 +4,169 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>AboutDialog</name>
|
<name>AboutDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="27"/>
|
<location filename="../aboutdialog.cpp" line="29"/>
|
||||||
<source>About</source>
|
<source>About</source>
|
||||||
<translation>Quant a</translation>
|
<translation>Quant a</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="30"/>
|
<location filename="../aboutdialog.cpp" line="32"/>
|
||||||
<source>Launch application with image file path as argument to load the file.</source>
|
<source>Launch application with image file path as argument to load the file.</source>
|
||||||
<translation>Inicia l'aplicació amb el camí del fitxer de la imatge com a argument per carregar la imatge.</translation>
|
<translation>Inicia l'aplicació amb el camí del fitxer de la imatge com a argument per carregar la imatge.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="31"/>
|
<location filename="../aboutdialog.cpp" line="33"/>
|
||||||
<source>Drag and drop image file onto the window is also supported.</source>
|
<source>Drag and drop image file onto the window is also supported.</source>
|
||||||
<translation>També podeu arrossegar i deixar anar un fitxer d'imatge a la finestra.</translation>
|
<translation>També podeu arrossegar i deixar anar un fitxer d'imatge a la finestra.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="32"/>
|
<location filename="../aboutdialog.cpp" line="34"/>
|
||||||
<source>None of the operations in this application will alter the pictures on disk.</source>
|
<source>None of the operations in this application will alter the pictures on disk.</source>
|
||||||
<translation>Cap de les operacions en aquesta aplicació alterarà els fitxers d'imatge.</translation>
|
<translation>Cap de les operacions en aquesta aplicació alterarà els fitxers d'imatge.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="33"/>
|
<location filename="../aboutdialog.cpp" line="35"/>
|
||||||
<source>Context menu option explanation:</source>
|
<source>Context menu option explanation:</source>
|
||||||
<translation>Explicació de les opcions del menú contextual:</translation>
|
<translation>Explicació de les opcions del menú contextual:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="40"/>
|
<location filename="../aboutdialog.cpp" line="42"/>
|
||||||
<source>Make window stay on top of all other windows.</source>
|
<source>Make window stay on top of all other windows.</source>
|
||||||
<translation>Manté la finestra a sobre de totes les altres finestres.</translation>
|
<translation>Manté la finestra a sobre de totes les altres finestres.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="43"/>
|
<location filename="../aboutdialog.cpp" line="45"/>
|
||||||
<source>Avoid close window accidentally. (eg. by double clicking the window)</source>
|
<source>Avoid close window accidentally. (eg. by double clicking the window)</source>
|
||||||
<translation>Evita que es tanqui la finestra accidentalment (com ara en fer doble clic a la finestra)</translation>
|
<translation>Evita que es tanqui la finestra accidentalment (com ara en fer doble clic a la finestra)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="46"/>
|
<location filename="../aboutdialog.cpp" line="48"/>
|
||||||
<source>Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.</source>
|
<source>Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="53"/>
|
<location filename="../aboutdialog.cpp" line="55"/>
|
||||||
<source>Version: %1</source>
|
<source>Version: %1</source>
|
||||||
<translation>Versió: %1</translation>
|
<translation>Versió: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="64"/>
|
<location filename="../aboutdialog.cpp" line="66"/>
|
||||||
<source>Logo designed by %1</source>
|
<source>Logo designed by %1</source>
|
||||||
<translation>Logotip dissenyat por %1</translation>
|
<translation>Logotip dissenyat por %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="66"/>
|
<location filename="../aboutdialog.cpp" line="68"/>
|
||||||
<source>Built with Qt %1 (%2)</source>
|
<source>Built with Qt %1 (%2)</source>
|
||||||
<translation>Creat amb Qt %1 (%2)</translation>
|
<translation>Creat amb Qt %1 (%2)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="67"/>
|
<location filename="../aboutdialog.cpp" line="69"/>
|
||||||
<source>Source code</source>
|
<source>Source code</source>
|
||||||
<translation>Codi font</translation>
|
<translation>Codi font</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="77"/>
|
<location filename="../aboutdialog.cpp" line="79"/>
|
||||||
<source>Contributors</source>
|
<source>Contributors</source>
|
||||||
<translation>Col·laboradors</translation>
|
<translation>Col·laboradors</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="79"/>
|
<location filename="../aboutdialog.cpp" line="81"/>
|
||||||
<source>List of contributors on GitHub</source>
|
<source>List of contributors on GitHub</source>
|
||||||
<translation>Llista de col·laboradors al GitHub</translation>
|
<translation>Llista de col·laboradors al GitHub</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="80"/>
|
<location filename="../aboutdialog.cpp" line="82"/>
|
||||||
<source>Thanks to all people who contributed to this project.</source>
|
<source>Thanks to all people who contributed to this project.</source>
|
||||||
<translation>Gràcies a totes les persones que han col·laborat en aquest projecte.</translation>
|
<translation>Gràcies a totes les persones que han col·laborat en aquest projecte.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="84"/>
|
<location filename="../aboutdialog.cpp" line="86"/>
|
||||||
<source>Translators</source>
|
<source>Translators</source>
|
||||||
<translation>Traductors</translation>
|
<translation>Traductors</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="85"/>
|
<location filename="../aboutdialog.cpp" line="87"/>
|
||||||
<source>I would like to thank the following people who volunteered to translate this application.</source>
|
<source>I would like to thank the following people who volunteered to translate this application.</source>
|
||||||
<translation>M'agradaria donar les gràcies a les persones següents per oferir-se a traduir aquesta aplicació.</translation>
|
<translation>M'agradaria donar les gràcies a les persones següents per oferir-se a traduir aquesta aplicació.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="129"/>
|
<location filename="../aboutdialog.cpp" line="131"/>
|
||||||
<source>%1 is built on the following free software libraries:</source>
|
<source>%1 is built on the following free software libraries:</source>
|
||||||
<comment>Free as in freedom</comment>
|
<comment>Free as in freedom</comment>
|
||||||
<translation>%1 està construït sobre les biblioteques de programari lliure següents:</translation>
|
<translation>%1 està construït sobre les biblioteques de programari lliure següents:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="153"/>
|
<location filename="../aboutdialog.cpp" line="155"/>
|
||||||
<source>&Special Thanks</source>
|
<source>&Special Thanks</source>
|
||||||
<translation>&Especial agraïment</translation>
|
<translation>&Especial agraïment</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="155"/>
|
<location filename="../aboutdialog.cpp" line="157"/>
|
||||||
<source>&Third-party Libraries</source>
|
<source>&Third-party Libraries</source>
|
||||||
<translation>&Biblioteques de tercers</translation>
|
<translation>&Biblioteques de tercers</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="91"/>
|
<location filename="../aboutdialog.cpp" line="93"/>
|
||||||
<source>Your Rights</source>
|
<source>Your Rights</source>
|
||||||
<translation>Els vostres drets</translation>
|
<translation>Els vostres drets</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="61"/>
|
<location filename="../aboutdialog.cpp" line="63"/>
|
||||||
<source>Copyright (c) %1 %2</source>
|
<source>Copyright (c) %1 %2</source>
|
||||||
<comment>%1 is year, %2 is the name of copyright holder(s)</comment>
|
<comment>%1 is year, %2 is the name of copyright holder(s)</comment>
|
||||||
<translation>Copyright (c) %1 %2</translation>
|
<translation>Copyright (c) %1 %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="93"/>
|
<location filename="../aboutdialog.cpp" line="95"/>
|
||||||
<source>%1 is released under the MIT License.</source>
|
<source>%1 is released under the MIT License.</source>
|
||||||
<translation>%1 es publica sota la llicència MIT.</translation>
|
<translation>%1 es publica sota la llicència MIT.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="94"/>
|
<location filename="../aboutdialog.cpp" line="96"/>
|
||||||
<source>This license grants people a number of freedoms:</source>
|
<source>This license grants people a number of freedoms:</source>
|
||||||
<translation>Aquesta llicència atorga a les persones diverses llibertats:</translation>
|
<translation>Aquesta llicència atorga a les persones diverses llibertats:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="95"/>
|
<location filename="../aboutdialog.cpp" line="97"/>
|
||||||
<source>You are free to use %1, for any purpose</source>
|
<source>You are free to use %1, for any purpose</source>
|
||||||
<translation>Sou lliure de fer servir %1 per a qualsevol propòsit</translation>
|
<translation>Sou lliure de fer servir %1 per a qualsevol propòsit</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="96"/>
|
<location filename="../aboutdialog.cpp" line="98"/>
|
||||||
<source>You are free to distribute %1</source>
|
<source>You are free to distribute %1</source>
|
||||||
<translation>Sou lliure de distribuir %1</translation>
|
<translation>Sou lliure de distribuir %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="97"/>
|
<location filename="../aboutdialog.cpp" line="99"/>
|
||||||
<source>You can study how %1 works and change it</source>
|
<source>You can study how %1 works and change it</source>
|
||||||
<translation>Podeu estudiar com funciona %1 i modificar-lo</translation>
|
<translation>Podeu estudiar com funciona %1 i modificar-lo</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="98"/>
|
<location filename="../aboutdialog.cpp" line="100"/>
|
||||||
<source>You can distribute changed versions of %1</source>
|
<source>You can distribute changed versions of %1</source>
|
||||||
<translation>Podeu distribuir les versions modificades de %1</translation>
|
<translation>Podeu distribuir les versions modificades de %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="100"/>
|
<location filename="../aboutdialog.cpp" line="102"/>
|
||||||
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
|
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
|
||||||
<translation>La llicència del MIT us garanteix aquesta llibertat. No és permès que ningú us la tregui.</translation>
|
<translation>La llicència del MIT us garanteix aquesta llibertat. No és permès que ningú us la tregui.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="128"/>
|
<location filename="../aboutdialog.cpp" line="130"/>
|
||||||
<source>Third-party Libraries used by %1</source>
|
<source>Third-party Libraries used by %1</source>
|
||||||
<translation>Biblioteques de tercers que fa servir %1</translation>
|
<translation>Biblioteques de tercers que fa servir %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="151"/>
|
<location filename="../aboutdialog.cpp" line="153"/>
|
||||||
<source>&Help</source>
|
<source>&Help</source>
|
||||||
<translation>Aj&uda</translation>
|
<translation>Aj&uda</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="152"/>
|
<location filename="../aboutdialog.cpp" line="154"/>
|
||||||
<source>&About</source>
|
<source>&About</source>
|
||||||
<translation>&Quant a</translation>
|
<translation>&Quant a</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="154"/>
|
<location filename="../aboutdialog.cpp" line="156"/>
|
||||||
<source>&License</source>
|
<source>&License</source>
|
||||||
<translation>&Llicència</translation>
|
<translation>&Llicència</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -174,7 +174,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>GraphicsScene</name>
|
<name>GraphicsScene</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="269"/>
|
<location filename="../mainwindow.cpp" line="276"/>
|
||||||
<location filename="../graphicsscene.cpp" line="100"/>
|
<location filename="../graphicsscene.cpp" line="100"/>
|
||||||
<source>Drag image here</source>
|
<source>Drag image here</source>
|
||||||
<translation>Arrossegueu una imatge aquí</translation>
|
<translation>Arrossegueu una imatge aquí</translation>
|
||||||
@@ -187,13 +187,13 @@
|
|||||||
<translation type="vanished">La llista d'ubicacions de fitxer és buida</translation>
|
<translation type="vanished">La llista d'ubicacions de fitxer és buida</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../graphicsview.cpp" line="52"/>
|
<location filename="../graphicsview.cpp" line="50"/>
|
||||||
<source>File is not a valid image</source>
|
<source>File is not a valid image</source>
|
||||||
<translation>El fitxer no és una imatge vàlida</translation>
|
<translation>El fitxer no és una imatge vàlida</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../graphicsview.cpp" line="56"/>
|
<location filename="../graphicsview.cpp" line="54"/>
|
||||||
<location filename="../graphicsview.cpp" line="60"/>
|
<location filename="../graphicsview.cpp" line="58"/>
|
||||||
<source>Image data is invalid or currently unsupported</source>
|
<source>Image data is invalid or currently unsupported</source>
|
||||||
<translation>Les dades de la imatge no són vàlides o no són compatibles</translation>
|
<translation>Les dades de la imatge no són vàlides o no són compatibles</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -209,38 +209,43 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MainWindow</name>
|
<name>MainWindow</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="180"/>
|
<location filename="../mainwindow.cpp" line="181"/>
|
||||||
<location filename="../mainwindow.cpp" line="540"/>
|
<location filename="../mainwindow.cpp" line="545"/>
|
||||||
<source>File url list is empty</source>
|
<source>File url list is empty</source>
|
||||||
<translation>La llista d'ubicacions és buida</translation>
|
<translation>La llista d'ubicacions és buida</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="438"/>
|
<location filename="../mainwindow.cpp" line="445"/>
|
||||||
<source>&Copy</source>
|
<source>&Copy</source>
|
||||||
<translation>&Copia</translation>
|
<translation>&Copia</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="548"/>
|
<location filename="../mainwindow.cpp" line="553"/>
|
||||||
<source>Image data is invalid</source>
|
<source>Image data is invalid</source>
|
||||||
<translation>Les dades de la imatge no són vàlides</translation>
|
<translation>Les dades de la imatge no són vàlides</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="555"/>
|
<location filename="../mainwindow.cpp" line="560"/>
|
||||||
<source>Not supported mimedata: %1</source>
|
<source>Not supported mimedata: %1</source>
|
||||||
<translation>El tipus MIME no és compatible: %1</translation>
|
<translation>El tipus MIME no és compatible: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="764"/>
|
<location filename="../mainwindow.cpp" line="759"/>
|
||||||
<source>Image From Clipboard</source>
|
<source>Image From Clipboard</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="782"/>
|
<location filename="../mainwindow.cpp" line="777"/>
|
||||||
<source>Are you sure you want to move "%1" to recycle bin?</source>
|
<source>Are you sure you want to move "%1" to recycle bin?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="787"/>
|
<location filename="../mainwindow.cpp" line="781"/>
|
||||||
|
<source>Failed to move file to trash</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="782"/>
|
||||||
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
|
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -261,19 +266,19 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="118"/>
|
<location filename="../actionmanager.cpp" line="118"/>
|
||||||
<location filename="../aboutdialog.cpp" line="39"/>
|
<location filename="../aboutdialog.cpp" line="41"/>
|
||||||
<source>Stay on top</source>
|
<source>Stay on top</source>
|
||||||
<translation>Mantén a sobre</translation>
|
<translation>Mantén a sobre</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="119"/>
|
<location filename="../actionmanager.cpp" line="119"/>
|
||||||
<location filename="../aboutdialog.cpp" line="42"/>
|
<location filename="../aboutdialog.cpp" line="44"/>
|
||||||
<source>Protected mode</source>
|
<source>Protected mode</source>
|
||||||
<translation>Mode protegit</translation>
|
<translation>Mode protegit</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="120"/>
|
<location filename="../actionmanager.cpp" line="120"/>
|
||||||
<location filename="../aboutdialog.cpp" line="45"/>
|
<location filename="../aboutdialog.cpp" line="47"/>
|
||||||
<source>Keep transformation</source>
|
<source>Keep transformation</source>
|
||||||
<comment>The 'transformation' means the flip/rotation status that currently applied to the image view</comment>
|
<comment>The 'transformation' means the flip/rotation status that currently applied to the image view</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@@ -359,7 +364,7 @@
|
|||||||
<translation>Imatge següent</translation>
|
<translation>Imatge següent</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="781"/>
|
<location filename="../mainwindow.cpp" line="776"/>
|
||||||
<location filename="../actionmanager.cpp" line="117"/>
|
<location filename="../actionmanager.cpp" line="117"/>
|
||||||
<source>Move to Trash</source>
|
<source>Move to Trash</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@@ -402,314 +407,314 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MetadataModel</name>
|
<name>MetadataModel</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="41"/>
|
<location filename="../metadatamodel.cpp" line="43"/>
|
||||||
<source>Origin</source>
|
<source>Origin</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Origen</translation>
|
<translation>Origen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="42"/>
|
<location filename="../metadatamodel.cpp" line="44"/>
|
||||||
<source>Image</source>
|
<source>Image</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Imatge</translation>
|
<translation>Imatge</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="46"/>
|
<location filename="../metadatamodel.cpp" line="48"/>
|
||||||
<source>File</source>
|
<source>File</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Fitxer</translation>
|
<translation>Fitxer</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="43"/>
|
<location filename="../metadatamodel.cpp" line="45"/>
|
||||||
<source>Camera</source>
|
<source>Camera</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Càmera</translation>
|
<translation>Càmera</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="33"/>
|
<location filename="../metadatamodel.cpp" line="35"/>
|
||||||
<source>%1 File</source>
|
<source>%1 File</source>
|
||||||
<translation>Fitxer %1</translation>
|
<translation>Fitxer %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="40"/>
|
<location filename="../metadatamodel.cpp" line="42"/>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Descripció</translation>
|
<translation>Descripció</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="44"/>
|
<location filename="../metadatamodel.cpp" line="46"/>
|
||||||
<source>Advanced photo</source>
|
<source>Advanced photo</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Foto avançada</translation>
|
<translation>Foto avançada</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="45"/>
|
<location filename="../metadatamodel.cpp" line="47"/>
|
||||||
<source>GPS</source>
|
<source>GPS</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>GPS</translation>
|
<translation>GPS</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="50"/>
|
<location filename="../metadatamodel.cpp" line="52"/>
|
||||||
<source>Dimensions</source>
|
<source>Dimensions</source>
|
||||||
<translation>Dimensions</translation>
|
<translation>Dimensions</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="52"/>
|
<location filename="../metadatamodel.cpp" line="54"/>
|
||||||
<source>Aspect ratio</source>
|
<source>Aspect ratio</source>
|
||||||
<translation>Relació d'aspecte</translation>
|
<translation>Relació d'aspecte</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="56"/>
|
<location filename="../metadatamodel.cpp" line="58"/>
|
||||||
<source>Frame count</source>
|
<source>Frame count</source>
|
||||||
<translation>Núm. d'imatges</translation>
|
<translation>Núm. d'imatges</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="60"/>
|
<location filename="../metadatamodel.cpp" line="62"/>
|
||||||
<source>Name</source>
|
<source>Name</source>
|
||||||
<translation>Nom</translation>
|
<translation>Nom</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="62"/>
|
<location filename="../metadatamodel.cpp" line="64"/>
|
||||||
<source>Item type</source>
|
<source>Item type</source>
|
||||||
<translation>Tipus d'element</translation>
|
<translation>Tipus d'element</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="64"/>
|
<location filename="../metadatamodel.cpp" line="66"/>
|
||||||
<source>Folder path</source>
|
<source>Folder path</source>
|
||||||
<translation>Camí de la carpeta</translation>
|
<translation>Camí de la carpeta</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="66"/>
|
<location filename="../metadatamodel.cpp" line="68"/>
|
||||||
<source>Size</source>
|
<source>Size</source>
|
||||||
<translation>Mida</translation>
|
<translation>Mida</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="68"/>
|
<location filename="../metadatamodel.cpp" line="70"/>
|
||||||
<source>Date created</source>
|
<source>Date created</source>
|
||||||
<translation>Data de creació</translation>
|
<translation>Data de creació</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="70"/>
|
<location filename="../metadatamodel.cpp" line="72"/>
|
||||||
<source>Date modified</source>
|
<source>Date modified</source>
|
||||||
<translation>Data de modificació</translation>
|
<translation>Data de modificació</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="77"/>
|
<location filename="../metadatamodel.cpp" line="79"/>
|
||||||
<source>Title</source>
|
<source>Title</source>
|
||||||
<translation>Títol</translation>
|
<translation>Títol</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="79"/>
|
<location filename="../metadatamodel.cpp" line="81"/>
|
||||||
<source>Subject</source>
|
<source>Subject</source>
|
||||||
<translation>Tema</translation>
|
<translation>Tema</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="81"/>
|
<location filename="../metadatamodel.cpp" line="83"/>
|
||||||
<source>Rating</source>
|
<source>Rating</source>
|
||||||
<translation>Valoració</translation>
|
<translation>Valoració</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="83"/>
|
<location filename="../metadatamodel.cpp" line="85"/>
|
||||||
<source>Tags</source>
|
<source>Tags</source>
|
||||||
<translation>Etiquetes</translation>
|
<translation>Etiquetes</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="85"/>
|
<location filename="../metadatamodel.cpp" line="87"/>
|
||||||
<source>Comments</source>
|
<source>Comments</source>
|
||||||
<translation>Comentaris</translation>
|
<translation>Comentaris</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="88"/>
|
<location filename="../metadatamodel.cpp" line="90"/>
|
||||||
<source>Authors</source>
|
<source>Authors</source>
|
||||||
<translation>Autors</translation>
|
<translation>Autors</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="90"/>
|
<location filename="../metadatamodel.cpp" line="92"/>
|
||||||
<source>Date taken</source>
|
<source>Date taken</source>
|
||||||
<translation>Data de la foto</translation>
|
<translation>Data de la foto</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="96"/>
|
<location filename="../metadatamodel.cpp" line="98"/>
|
||||||
<source>Program name</source>
|
<source>Program name</source>
|
||||||
<translation>Nom del programa</translation>
|
<translation>Nom del programa</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="98"/>
|
<location filename="../metadatamodel.cpp" line="100"/>
|
||||||
<source>Copyright</source>
|
<source>Copyright</source>
|
||||||
<translation>Copyright</translation>
|
<translation>Copyright</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="101"/>
|
<location filename="../metadatamodel.cpp" line="103"/>
|
||||||
<source>Horizontal resolution</source>
|
<source>Horizontal resolution</source>
|
||||||
<translation>Resolució horitzontal</translation>
|
<translation>Resolució horitzontal</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="103"/>
|
<location filename="../metadatamodel.cpp" line="105"/>
|
||||||
<source>Vertical resolution</source>
|
<source>Vertical resolution</source>
|
||||||
<translation>Resolució vertical</translation>
|
<translation>Resolució vertical</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="105"/>
|
<location filename="../metadatamodel.cpp" line="107"/>
|
||||||
<source>Resolution unit</source>
|
<source>Resolution unit</source>
|
||||||
<translation>Unitat de resolució</translation>
|
<translation>Unitat de resolució</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="107"/>
|
<location filename="../metadatamodel.cpp" line="109"/>
|
||||||
<source>Colour representation</source>
|
<source>Colour representation</source>
|
||||||
<translation>Representació del color</translation>
|
<translation>Representació del color</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="110"/>
|
<location filename="../metadatamodel.cpp" line="112"/>
|
||||||
<source>Camera maker</source>
|
<source>Camera maker</source>
|
||||||
<translation>Fabricant de la càmera</translation>
|
<translation>Fabricant de la càmera</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="112"/>
|
<location filename="../metadatamodel.cpp" line="114"/>
|
||||||
<source>Camera model</source>
|
<source>Camera model</source>
|
||||||
<translation>Model de la càmera</translation>
|
<translation>Model de la càmera</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="114"/>
|
<location filename="../metadatamodel.cpp" line="116"/>
|
||||||
<source>F-stop</source>
|
<source>F-stop</source>
|
||||||
<translation>Relació focal</translation>
|
<translation>Relació focal</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="116"/>
|
<location filename="../metadatamodel.cpp" line="118"/>
|
||||||
<source>Exposure time</source>
|
<source>Exposure time</source>
|
||||||
<translation>Temps d'exposició</translation>
|
<translation>Temps d'exposició</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="118"/>
|
<location filename="../metadatamodel.cpp" line="120"/>
|
||||||
<source>ISO speed</source>
|
<source>ISO speed</source>
|
||||||
<translation>Sensibilitat ISO</translation>
|
<translation>Sensibilitat ISO</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="120"/>
|
<location filename="../metadatamodel.cpp" line="122"/>
|
||||||
<source>Exposure bias</source>
|
<source>Exposure bias</source>
|
||||||
<translation>Compensació d'exposició</translation>
|
<translation>Compensació d'exposició</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="122"/>
|
<location filename="../metadatamodel.cpp" line="124"/>
|
||||||
<source>Focal length</source>
|
<source>Focal length</source>
|
||||||
<translation>Distància focal</translation>
|
<translation>Distància focal</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="124"/>
|
<location filename="../metadatamodel.cpp" line="126"/>
|
||||||
<source>Max aperture</source>
|
<source>Max aperture</source>
|
||||||
<translation>Obertura màxima</translation>
|
<translation>Obertura màxima</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="126"/>
|
<location filename="../metadatamodel.cpp" line="128"/>
|
||||||
<source>Metering mode</source>
|
<source>Metering mode</source>
|
||||||
<translation>Mode de mesura</translation>
|
<translation>Mode de mesura</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="128"/>
|
<location filename="../metadatamodel.cpp" line="130"/>
|
||||||
<source>Subject distance</source>
|
<source>Subject distance</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="130"/>
|
<location filename="../metadatamodel.cpp" line="132"/>
|
||||||
<source>Flash mode</source>
|
<source>Flash mode</source>
|
||||||
<translation>Mode del flaix</translation>
|
<translation>Mode del flaix</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="132"/>
|
<location filename="../metadatamodel.cpp" line="134"/>
|
||||||
<source>35mm focal length</source>
|
<source>35mm focal length</source>
|
||||||
<translation>Distància focal de 35 mm</translation>
|
<translation>Distància focal de 35 mm</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="135"/>
|
<location filename="../metadatamodel.cpp" line="137"/>
|
||||||
<source>Lens model</source>
|
<source>Lens model</source>
|
||||||
<translation>Model de lent</translation>
|
<translation>Model de lent</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="137"/>
|
<location filename="../metadatamodel.cpp" line="139"/>
|
||||||
<source>Contrast</source>
|
<source>Contrast</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="139"/>
|
<location filename="../metadatamodel.cpp" line="141"/>
|
||||||
<source>Brightness</source>
|
<source>Brightness</source>
|
||||||
<translation>Brillantor</translation>
|
<translation>Brillantor</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="141"/>
|
<location filename="../metadatamodel.cpp" line="143"/>
|
||||||
<source>Exposure program</source>
|
<source>Exposure program</source>
|
||||||
<translation>Programa d'exposició</translation>
|
<translation>Programa d'exposició</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="143"/>
|
<location filename="../metadatamodel.cpp" line="145"/>
|
||||||
<source>Saturation</source>
|
<source>Saturation</source>
|
||||||
<translation>Saturació</translation>
|
<translation>Saturació</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="145"/>
|
<location filename="../metadatamodel.cpp" line="147"/>
|
||||||
<source>Sharpness</source>
|
<source>Sharpness</source>
|
||||||
<translation>Nitidesa</translation>
|
<translation>Nitidesa</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="147"/>
|
<location filename="../metadatamodel.cpp" line="149"/>
|
||||||
<source>White balance</source>
|
<source>White balance</source>
|
||||||
<translation>Balanç de blancs</translation>
|
<translation>Balanç de blancs</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="149"/>
|
<location filename="../metadatamodel.cpp" line="151"/>
|
||||||
<source>Digital zoom</source>
|
<source>Digital zoom</source>
|
||||||
<translation>Zoom digital</translation>
|
<translation>Zoom digital</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="151"/>
|
<location filename="../metadatamodel.cpp" line="153"/>
|
||||||
<source>EXIF version</source>
|
<source>EXIF version</source>
|
||||||
<translation>Versió de l'EXIF</translation>
|
<translation>Versió de l'EXIF</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="154"/>
|
<location filename="../metadatamodel.cpp" line="156"/>
|
||||||
<source>Latitude reference</source>
|
<source>Latitude reference</source>
|
||||||
<translation>Referència de la latitud</translation>
|
<translation>Referència de la latitud</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="156"/>
|
<location filename="../metadatamodel.cpp" line="158"/>
|
||||||
<source>Latitude</source>
|
<source>Latitude</source>
|
||||||
<translation>Latitud</translation>
|
<translation>Latitud</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="158"/>
|
<location filename="../metadatamodel.cpp" line="160"/>
|
||||||
<source>Longitude reference</source>
|
<source>Longitude reference</source>
|
||||||
<translation>Referència de la longitud</translation>
|
<translation>Referència de la longitud</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="160"/>
|
<location filename="../metadatamodel.cpp" line="162"/>
|
||||||
<source>Longitude</source>
|
<source>Longitude</source>
|
||||||
<translation>Longitud</translation>
|
<translation>Longitud</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="162"/>
|
<location filename="../metadatamodel.cpp" line="164"/>
|
||||||
<source>Altitude reference</source>
|
<source>Altitude reference</source>
|
||||||
<translation>Referència de l'altitud</translation>
|
<translation>Referència de l'altitud</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="164"/>
|
<location filename="../metadatamodel.cpp" line="166"/>
|
||||||
<source>Altitude</source>
|
<source>Altitude</source>
|
||||||
<translation>Altitud</translation>
|
<translation>Altitud</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="174"/>
|
<location filename="../metadatamodel.cpp" line="176"/>
|
||||||
<source>%1 x %2</source>
|
<source>%1 x %2</source>
|
||||||
<translation>%1 x %2</translation>
|
<translation>%1 x %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="192"/>
|
<location filename="../metadatamodel.cpp" line="194"/>
|
||||||
<source>%1 : %2</source>
|
<source>%1 : %2</source>
|
||||||
<translation>%1 : %2</translation>
|
<translation>%1 : %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="317"/>
|
<location filename="../metadatamodel.cpp" line="319"/>
|
||||||
<source>Property</source>
|
<source>Property</source>
|
||||||
<translation>Propietat</translation>
|
<translation>Propietat</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="317"/>
|
<location filename="../metadatamodel.cpp" line="319"/>
|
||||||
<source>Value</source>
|
<source>Value</source>
|
||||||
<translation>Valor</translation>
|
<translation>Valor</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -717,126 +722,141 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>SettingsDialog</name>
|
<name>SettingsDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="29"/>
|
<location filename="../settingsdialog.cpp" line="31"/>
|
||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation>Paràmetres</translation>
|
<translation>Paràmetres</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="37"/>
|
<location filename="../settingsdialog.cpp" line="39"/>
|
||||||
<source>Options</source>
|
<source>Options</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="49"/>
|
<location filename="../settingsdialog.cpp" line="51"/>
|
||||||
<source>Shortcuts</source>
|
<source>Shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="59"/>
|
<location filename="../settingsdialog.cpp" line="61"/>
|
||||||
<source>Editing shortcuts for action "%1":</source>
|
<source>Editing shortcuts for action "%1":</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="68"/>
|
<location filename="../settingsdialog.cpp" line="70"/>
|
||||||
<source>Failed to set shortcuts</source>
|
<source>Failed to set shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="69"/>
|
<location filename="../settingsdialog.cpp" line="71"/>
|
||||||
<source>Please check if shortcuts are duplicated with existing shortcuts.</source>
|
<source>Please check if shortcuts are duplicated with existing shortcuts.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="76"/>
|
<location filename="../settingsdialog.cpp" line="78"/>
|
||||||
<source>Do nothing</source>
|
<source>Do nothing</source>
|
||||||
<translation>No facis res</translation>
|
<translation>No facis res</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="77"/>
|
<location filename="../settingsdialog.cpp" line="79"/>
|
||||||
<source>Close the window</source>
|
<source>Close the window</source>
|
||||||
<translation>Tanca la finestra</translation>
|
<translation>Tanca la finestra</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="78"/>
|
<location filename="../settingsdialog.cpp" line="80"/>
|
||||||
<source>Toggle maximize</source>
|
<source>Toggle maximize</source>
|
||||||
<translation>Commuta la maximització</translation>
|
<translation>Commuta la maximització</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="79"/>
|
<location filename="../settingsdialog.cpp" line="81"/>
|
||||||
<source>Toggle fullscreen</source>
|
<source>Toggle fullscreen</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="83"/>
|
<location filename="../settingsdialog.cpp" line="85"/>
|
||||||
<source>Zoom in and out</source>
|
<source>Zoom in and out</source>
|
||||||
<translation>Amplia i redueix</translation>
|
<translation>Amplia i redueix</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="84"/>
|
<location filename="../settingsdialog.cpp" line="86"/>
|
||||||
<source>View next or previous item</source>
|
<source>View next or previous item</source>
|
||||||
<translation>Mostra l'element següent o l'anterior</translation>
|
<translation>Mostra l'element següent o l'anterior</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="88"/>
|
<location filename="../settingsdialog.cpp" line="90"/>
|
||||||
<source>Auto size</source>
|
<source>Auto size</source>
|
||||||
<translation>Mida automàtica</translation>
|
<translation>Mida automàtica</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="89"/>
|
<location filename="../settingsdialog.cpp" line="91"/>
|
||||||
<source>Maximized</source>
|
<source>Maximized</source>
|
||||||
<translation>Maximitza</translation>
|
<translation>Maximitza</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="93"/>
|
<location filename="../settingsdialog.cpp" line="92"/>
|
||||||
|
<source>Windowed</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="96"/>
|
||||||
<source>Round (Integer scaling)</source>
|
<source>Round (Integer scaling)</source>
|
||||||
<comment>This option means round up for .5 and above</comment>
|
<comment>This option means round up for .5 and above</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="94"/>
|
<location filename="../settingsdialog.cpp" line="97"/>
|
||||||
<source>Ceil (Integer scaling)</source>
|
<source>Ceil (Integer scaling)</source>
|
||||||
<comment>This option means always round up</comment>
|
<comment>This option means always round up</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="95"/>
|
<location filename="../settingsdialog.cpp" line="98"/>
|
||||||
<source>Floor (Integer scaling)</source>
|
<source>Floor (Integer scaling)</source>
|
||||||
<comment>This option means always round down</comment>
|
<comment>This option means always round down</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="96"/>
|
<location filename="../settingsdialog.cpp" line="99"/>
|
||||||
<source>Follow system (Fractional scaling)</source>
|
<source>Follow system (Fractional scaling)</source>
|
||||||
<comment>This option means don't round</comment>
|
<comment>This option means don't round</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="119"/>
|
<location filename="../settingsdialog.cpp" line="122"/>
|
||||||
<source>Stay on top when start-up</source>
|
<source>Stay on top when start-up</source>
|
||||||
<translation>Mantingues a sobre a l'inici</translation>
|
<translation>Mantingues a sobre a l'inici</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="120"/>
|
<location filename="../settingsdialog.cpp" line="123"/>
|
||||||
|
<source>Use built-in close window animation</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="124"/>
|
||||||
<source>Use light-color checkerboard</source>
|
<source>Use light-color checkerboard</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="121"/>
|
<location filename="../settingsdialog.cpp" line="125"/>
|
||||||
|
<source>Loop the loaded gallery</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="126"/>
|
||||||
<source>Double-click behavior</source>
|
<source>Double-click behavior</source>
|
||||||
<translation>Comportament del doble clic</translation>
|
<translation>Comportament del doble clic</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="122"/>
|
<location filename="../settingsdialog.cpp" line="127"/>
|
||||||
<source>Mouse wheel behavior</source>
|
<source>Mouse wheel behavior</source>
|
||||||
<translation>Comportament de la roda del ratolí</translation>
|
<translation>Comportament de la roda del ratolí</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="123"/>
|
<location filename="../settingsdialog.cpp" line="128"/>
|
||||||
<source>Default window size</source>
|
<source>Default window size</source>
|
||||||
<translation>Mida de la finestra per defecte</translation>
|
<translation>Mida de la finestra per defecte</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="124"/>
|
<location filename="../settingsdialog.cpp" line="129"/>
|
||||||
<source>HiDPI scale factor rounding policy</source>
|
<source>HiDPI scale factor rounding policy</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -844,7 +864,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>ShortcutEdit</name>
|
<name>ShortcutEdit</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../shortcutedit.cpp" line="111"/>
|
<location filename="../shortcutedit.cpp" line="109"/>
|
||||||
<source>No shortcuts</source>
|
<source>No shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -852,7 +872,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>ShortcutEditor</name>
|
<name>ShortcutEditor</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../shortcutedit.cpp" line="77"/>
|
<location filename="../shortcutedit.cpp" line="75"/>
|
||||||
<source>Shortcut #%1</source>
|
<source>Shortcut #%1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -860,17 +880,17 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>main</name>
|
<name>main</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="43"/>
|
<location filename="../main.cpp" line="42"/>
|
||||||
<source>Pineapple Pictures</source>
|
<source>Pineapple Pictures</source>
|
||||||
<translation>Pineapple Pictures</translation>
|
<translation>Pineapple Pictures</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="46"/>
|
<location filename="../main.cpp" line="45"/>
|
||||||
<source>List supported image format suffixes, and quit program.</source>
|
<source>List supported image format suffixes, and quit program.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="50"/>
|
<location filename="../main.cpp" line="49"/>
|
||||||
<source>File list.</source>
|
<source>File list.</source>
|
||||||
<translation>Llista de fitxers.</translation>
|
<translation>Llista de fitxers.</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|||||||
@@ -4,42 +4,42 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>AboutDialog</name>
|
<name>AboutDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="27"/>
|
<location filename="../aboutdialog.cpp" line="29"/>
|
||||||
<source>About</source>
|
<source>About</source>
|
||||||
<translation>Über</translation>
|
<translation>Über</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="30"/>
|
<location filename="../aboutdialog.cpp" line="32"/>
|
||||||
<source>Launch application with image file path as argument to load the file.</source>
|
<source>Launch application with image file path as argument to load the file.</source>
|
||||||
<translation>Starten Sie die Anwendung mit dem Bilddateipfad als Argument zum Laden der Datei.</translation>
|
<translation>Starten Sie die Anwendung mit dem Bilddateipfad als Argument zum Laden der Datei.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="31"/>
|
<location filename="../aboutdialog.cpp" line="33"/>
|
||||||
<source>Drag and drop image file onto the window is also supported.</source>
|
<source>Drag and drop image file onto the window is also supported.</source>
|
||||||
<translation>Das Ziehen und Ablegen von Bilddateien in das Fenster wird ebenfalls unterstützt.</translation>
|
<translation>Das Ziehen und Ablegen von Bilddateien in das Fenster wird ebenfalls unterstützt.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="32"/>
|
<location filename="../aboutdialog.cpp" line="34"/>
|
||||||
<source>None of the operations in this application will alter the pictures on disk.</source>
|
<source>None of the operations in this application will alter the pictures on disk.</source>
|
||||||
<translation>Keine der Änderungen in dieser Anwendung modifizieren die abgespeicherten Bilder.</translation>
|
<translation>Keine der Änderungen in dieser Anwendung modifizieren die abgespeicherten Bilder.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="33"/>
|
<location filename="../aboutdialog.cpp" line="35"/>
|
||||||
<source>Context menu option explanation:</source>
|
<source>Context menu option explanation:</source>
|
||||||
<translation>Erklärung der Kontextmenüoptionen:</translation>
|
<translation>Erklärung der Kontextmenüoptionen:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="40"/>
|
<location filename="../aboutdialog.cpp" line="42"/>
|
||||||
<source>Make window stay on top of all other windows.</source>
|
<source>Make window stay on top of all other windows.</source>
|
||||||
<translation>Sicher stellen, dass das Fenster über allen anderen Fenstern bleibt.</translation>
|
<translation>Sicher stellen, dass das Fenster über allen anderen Fenstern bleibt.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="43"/>
|
<location filename="../aboutdialog.cpp" line="45"/>
|
||||||
<source>Avoid close window accidentally. (eg. by double clicking the window)</source>
|
<source>Avoid close window accidentally. (eg. by double clicking the window)</source>
|
||||||
<translation>Es vermeiden, das Fenster versehentlich zu schließen. (z.B. durch Doppelklick auf das Fenster)</translation>
|
<translation>Es vermeiden, das Fenster versehentlich zu schließen. (z.B. durch Doppelklick auf das Fenster)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="53"/>
|
<location filename="../aboutdialog.cpp" line="55"/>
|
||||||
<source>Version: %1</source>
|
<source>Version: %1</source>
|
||||||
<translation>Version: %1</translation>
|
<translation>Version: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -48,129 +48,129 @@
|
|||||||
<translation type="vanished">Copyright © 2020 %1</translation>
|
<translation type="vanished">Copyright © 2020 %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="64"/>
|
<location filename="../aboutdialog.cpp" line="66"/>
|
||||||
<source>Logo designed by %1</source>
|
<source>Logo designed by %1</source>
|
||||||
<translation>Logo entworfen von %1</translation>
|
<translation>Logo entworfen von %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="66"/>
|
<location filename="../aboutdialog.cpp" line="68"/>
|
||||||
<source>Built with Qt %1 (%2)</source>
|
<source>Built with Qt %1 (%2)</source>
|
||||||
<translation>Gemacht mit Qt %1 (%2)</translation>
|
<translation>Gemacht mit Qt %1 (%2)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="67"/>
|
<location filename="../aboutdialog.cpp" line="69"/>
|
||||||
<source>Source code</source>
|
<source>Source code</source>
|
||||||
<translation>Quellcode</translation>
|
<translation>Quellcode</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="77"/>
|
<location filename="../aboutdialog.cpp" line="79"/>
|
||||||
<source>Contributors</source>
|
<source>Contributors</source>
|
||||||
<translation>Mitwirkenden</translation>
|
<translation>Mitwirkenden</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="79"/>
|
<location filename="../aboutdialog.cpp" line="81"/>
|
||||||
<source>List of contributors on GitHub</source>
|
<source>List of contributors on GitHub</source>
|
||||||
<translation>Liste der Mitwirkenden auf GitHub</translation>
|
<translation>Liste der Mitwirkenden auf GitHub</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="80"/>
|
<location filename="../aboutdialog.cpp" line="82"/>
|
||||||
<source>Thanks to all people who contributed to this project.</source>
|
<source>Thanks to all people who contributed to this project.</source>
|
||||||
<translation>Vielen Dank an alle, die zu diesem Projekt beigetragen haben.</translation>
|
<translation>Vielen Dank an alle, die zu diesem Projekt beigetragen haben.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="84"/>
|
<location filename="../aboutdialog.cpp" line="86"/>
|
||||||
<source>Translators</source>
|
<source>Translators</source>
|
||||||
<translation>Übersetzer</translation>
|
<translation>Übersetzer</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="85"/>
|
<location filename="../aboutdialog.cpp" line="87"/>
|
||||||
<source>I would like to thank the following people who volunteered to translate this application.</source>
|
<source>I would like to thank the following people who volunteered to translate this application.</source>
|
||||||
<translation>Ich möchte den folgenden Personen danken, die sich freiwillig zur Übersetzung dieser Anwendung gemeldet haben.</translation>
|
<translation>Ich möchte den folgenden Personen danken, die sich freiwillig zur Übersetzung dieser Anwendung gemeldet haben.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="129"/>
|
<location filename="../aboutdialog.cpp" line="131"/>
|
||||||
<source>%1 is built on the following free software libraries:</source>
|
<source>%1 is built on the following free software libraries:</source>
|
||||||
<comment>Free as in freedom</comment>
|
<comment>Free as in freedom</comment>
|
||||||
<translation>%1 basiert auf den folgenden freien Softwarebibliotheken:</translation>
|
<translation>%1 basiert auf den folgenden freien Softwarebibliotheken:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="153"/>
|
<location filename="../aboutdialog.cpp" line="155"/>
|
||||||
<source>&Special Thanks</source>
|
<source>&Special Thanks</source>
|
||||||
<translation>&Besonderer Dank</translation>
|
<translation>&Besonderer Dank</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="155"/>
|
<location filename="../aboutdialog.cpp" line="157"/>
|
||||||
<source>&Third-party Libraries</source>
|
<source>&Third-party Libraries</source>
|
||||||
<translation>&Bibliotheken von Drittanbietern</translation>
|
<translation>&Bibliotheken von Drittanbietern</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="91"/>
|
<location filename="../aboutdialog.cpp" line="93"/>
|
||||||
<source>Your Rights</source>
|
<source>Your Rights</source>
|
||||||
<translation>Ihre Rechte</translation>
|
<translation>Ihre Rechte</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="46"/>
|
<location filename="../aboutdialog.cpp" line="48"/>
|
||||||
<source>Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.</source>
|
<source>Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="61"/>
|
<location filename="../aboutdialog.cpp" line="63"/>
|
||||||
<source>Copyright (c) %1 %2</source>
|
<source>Copyright (c) %1 %2</source>
|
||||||
<comment>%1 is year, %2 is the name of copyright holder(s)</comment>
|
<comment>%1 is year, %2 is the name of copyright holder(s)</comment>
|
||||||
<translation>Copyright (c) %1 %2</translation>
|
<translation>Copyright (c) %1 %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="93"/>
|
<location filename="../aboutdialog.cpp" line="95"/>
|
||||||
<source>%1 is released under the MIT License.</source>
|
<source>%1 is released under the MIT License.</source>
|
||||||
<translation>%1 wird unter der MIT-Lizenz veröffentlicht.</translation>
|
<translation>%1 wird unter der MIT-Lizenz veröffentlicht.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="94"/>
|
<location filename="../aboutdialog.cpp" line="96"/>
|
||||||
<source>This license grants people a number of freedoms:</source>
|
<source>This license grants people a number of freedoms:</source>
|
||||||
<translation>Diese Lizenz gewährt Menschen eine Reihe von Freiheiten:</translation>
|
<translation>Diese Lizenz gewährt Menschen eine Reihe von Freiheiten:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="95"/>
|
<location filename="../aboutdialog.cpp" line="97"/>
|
||||||
<source>You are free to use %1, for any purpose</source>
|
<source>You are free to use %1, for any purpose</source>
|
||||||
<translation>Sie dürfen %1 für jeden Zweck verwenden</translation>
|
<translation>Sie dürfen %1 für jeden Zweck verwenden</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="96"/>
|
<location filename="../aboutdialog.cpp" line="98"/>
|
||||||
<source>You are free to distribute %1</source>
|
<source>You are free to distribute %1</source>
|
||||||
<translation>Sie dürfen %1 verteilen</translation>
|
<translation>Sie dürfen %1 verteilen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="97"/>
|
<location filename="../aboutdialog.cpp" line="99"/>
|
||||||
<source>You can study how %1 works and change it</source>
|
<source>You can study how %1 works and change it</source>
|
||||||
<translation>Sie können untersuchen, wie %1 funktioniert, und es ändern</translation>
|
<translation>Sie können untersuchen, wie %1 funktioniert, und es ändern</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="98"/>
|
<location filename="../aboutdialog.cpp" line="100"/>
|
||||||
<source>You can distribute changed versions of %1</source>
|
<source>You can distribute changed versions of %1</source>
|
||||||
<translation>Sie können geänderte Versionen von %1 verteilen</translation>
|
<translation>Sie können geänderte Versionen von %1 verteilen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="100"/>
|
<location filename="../aboutdialog.cpp" line="102"/>
|
||||||
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
|
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
|
||||||
<translation>Die MIT-Lizenz garantiert Ihnen diese Freiheit. Niemand darf es jemals wegnehmen.</translation>
|
<translation>Die MIT-Lizenz garantiert Ihnen diese Freiheit. Niemand darf es jemals wegnehmen.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="128"/>
|
<location filename="../aboutdialog.cpp" line="130"/>
|
||||||
<source>Third-party Libraries used by %1</source>
|
<source>Third-party Libraries used by %1</source>
|
||||||
<translation>Von %1 verwendete Bibliotheken von Drittanbietern</translation>
|
<translation>Von %1 verwendete Bibliotheken von Drittanbietern</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="151"/>
|
<location filename="../aboutdialog.cpp" line="153"/>
|
||||||
<source>&Help</source>
|
<source>&Help</source>
|
||||||
<translation>&Hilfe</translation>
|
<translation>&Hilfe</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="152"/>
|
<location filename="../aboutdialog.cpp" line="154"/>
|
||||||
<source>&About</source>
|
<source>&About</source>
|
||||||
<translation>&Über</translation>
|
<translation>&Über</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="154"/>
|
<location filename="../aboutdialog.cpp" line="156"/>
|
||||||
<source>&License</source>
|
<source>&License</source>
|
||||||
<translation>&Lizenz</translation>
|
<translation>&Lizenz</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -178,7 +178,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>GraphicsScene</name>
|
<name>GraphicsScene</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="269"/>
|
<location filename="../mainwindow.cpp" line="276"/>
|
||||||
<location filename="../graphicsscene.cpp" line="100"/>
|
<location filename="../graphicsscene.cpp" line="100"/>
|
||||||
<source>Drag image here</source>
|
<source>Drag image here</source>
|
||||||
<translation>Ziehen Sie das Bild hierher</translation>
|
<translation>Ziehen Sie das Bild hierher</translation>
|
||||||
@@ -191,13 +191,13 @@
|
|||||||
<translation type="vanished">Die Datei-URL-Liste ist leer</translation>
|
<translation type="vanished">Die Datei-URL-Liste ist leer</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../graphicsview.cpp" line="52"/>
|
<location filename="../graphicsview.cpp" line="50"/>
|
||||||
<source>File is not a valid image</source>
|
<source>File is not a valid image</source>
|
||||||
<translation>Datei ist kein gültiges Bild</translation>
|
<translation>Datei ist kein gültiges Bild</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../graphicsview.cpp" line="56"/>
|
<location filename="../graphicsview.cpp" line="54"/>
|
||||||
<location filename="../graphicsview.cpp" line="60"/>
|
<location filename="../graphicsview.cpp" line="58"/>
|
||||||
<source>Image data is invalid or currently unsupported</source>
|
<source>Image data is invalid or currently unsupported</source>
|
||||||
<translation>Bilddaten sind ungültig oder werden derzeit nicht unterstützt</translation>
|
<translation>Bilddaten sind ungültig oder werden derzeit nicht unterstützt</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -213,38 +213,43 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MainWindow</name>
|
<name>MainWindow</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="180"/>
|
<location filename="../mainwindow.cpp" line="181"/>
|
||||||
<location filename="../mainwindow.cpp" line="540"/>
|
<location filename="../mainwindow.cpp" line="545"/>
|
||||||
<source>File url list is empty</source>
|
<source>File url list is empty</source>
|
||||||
<translation>Die Datei-URL-Liste ist leer</translation>
|
<translation>Die Datei-URL-Liste ist leer</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="438"/>
|
<location filename="../mainwindow.cpp" line="445"/>
|
||||||
<source>&Copy</source>
|
<source>&Copy</source>
|
||||||
<translation>&Kopieren</translation>
|
<translation>&Kopieren</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="548"/>
|
<location filename="../mainwindow.cpp" line="553"/>
|
||||||
<source>Image data is invalid</source>
|
<source>Image data is invalid</source>
|
||||||
<translation>Bilddaten sind ungültig</translation>
|
<translation>Bilddaten sind ungültig</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="555"/>
|
<location filename="../mainwindow.cpp" line="560"/>
|
||||||
<source>Not supported mimedata: %1</source>
|
<source>Not supported mimedata: %1</source>
|
||||||
<translation>Nicht unterstützte Mimedaten: %1</translation>
|
<translation>Nicht unterstützte Mimedaten: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="764"/>
|
<location filename="../mainwindow.cpp" line="759"/>
|
||||||
<source>Image From Clipboard</source>
|
<source>Image From Clipboard</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="782"/>
|
<location filename="../mainwindow.cpp" line="777"/>
|
||||||
<source>Are you sure you want to move "%1" to recycle bin?</source>
|
<source>Are you sure you want to move "%1" to recycle bin?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="787"/>
|
<location filename="../mainwindow.cpp" line="781"/>
|
||||||
|
<source>Failed to move file to trash</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="782"/>
|
||||||
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
|
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -265,19 +270,19 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="118"/>
|
<location filename="../actionmanager.cpp" line="118"/>
|
||||||
<location filename="../aboutdialog.cpp" line="39"/>
|
<location filename="../aboutdialog.cpp" line="41"/>
|
||||||
<source>Stay on top</source>
|
<source>Stay on top</source>
|
||||||
<translation>Oben bleiben</translation>
|
<translation>Oben bleiben</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="119"/>
|
<location filename="../actionmanager.cpp" line="119"/>
|
||||||
<location filename="../aboutdialog.cpp" line="42"/>
|
<location filename="../aboutdialog.cpp" line="44"/>
|
||||||
<source>Protected mode</source>
|
<source>Protected mode</source>
|
||||||
<translation>Geschützter Modus</translation>
|
<translation>Geschützter Modus</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="120"/>
|
<location filename="../actionmanager.cpp" line="120"/>
|
||||||
<location filename="../aboutdialog.cpp" line="45"/>
|
<location filename="../aboutdialog.cpp" line="47"/>
|
||||||
<source>Keep transformation</source>
|
<source>Keep transformation</source>
|
||||||
<comment>The 'transformation' means the flip/rotation status that currently applied to the image view</comment>
|
<comment>The 'transformation' means the flip/rotation status that currently applied to the image view</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@@ -363,7 +368,7 @@
|
|||||||
<translation>Nächstes Bild</translation>
|
<translation>Nächstes Bild</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="781"/>
|
<location filename="../mainwindow.cpp" line="776"/>
|
||||||
<location filename="../actionmanager.cpp" line="117"/>
|
<location filename="../actionmanager.cpp" line="117"/>
|
||||||
<source>Move to Trash</source>
|
<source>Move to Trash</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@@ -406,314 +411,314 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MetadataModel</name>
|
<name>MetadataModel</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="41"/>
|
<location filename="../metadatamodel.cpp" line="43"/>
|
||||||
<source>Origin</source>
|
<source>Origin</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Ursprung</translation>
|
<translation>Ursprung</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="42"/>
|
<location filename="../metadatamodel.cpp" line="44"/>
|
||||||
<source>Image</source>
|
<source>Image</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Bild</translation>
|
<translation>Bild</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="46"/>
|
<location filename="../metadatamodel.cpp" line="48"/>
|
||||||
<source>File</source>
|
<source>File</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Datei</translation>
|
<translation>Datei</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="43"/>
|
<location filename="../metadatamodel.cpp" line="45"/>
|
||||||
<source>Camera</source>
|
<source>Camera</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Fotoapparat</translation>
|
<translation>Fotoapparat</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="33"/>
|
<location filename="../metadatamodel.cpp" line="35"/>
|
||||||
<source>%1 File</source>
|
<source>%1 File</source>
|
||||||
<translation>%1-Datei</translation>
|
<translation>%1-Datei</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="40"/>
|
<location filename="../metadatamodel.cpp" line="42"/>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Beschreibung</translation>
|
<translation>Beschreibung</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="44"/>
|
<location filename="../metadatamodel.cpp" line="46"/>
|
||||||
<source>Advanced photo</source>
|
<source>Advanced photo</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Erweitertes Foto</translation>
|
<translation>Erweitertes Foto</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="45"/>
|
<location filename="../metadatamodel.cpp" line="47"/>
|
||||||
<source>GPS</source>
|
<source>GPS</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>GPS</translation>
|
<translation>GPS</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="50"/>
|
<location filename="../metadatamodel.cpp" line="52"/>
|
||||||
<source>Dimensions</source>
|
<source>Dimensions</source>
|
||||||
<translation>Maße</translation>
|
<translation>Maße</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="52"/>
|
<location filename="../metadatamodel.cpp" line="54"/>
|
||||||
<source>Aspect ratio</source>
|
<source>Aspect ratio</source>
|
||||||
<translation>Seitenverhältnis</translation>
|
<translation>Seitenverhältnis</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="56"/>
|
<location filename="../metadatamodel.cpp" line="58"/>
|
||||||
<source>Frame count</source>
|
<source>Frame count</source>
|
||||||
<translation>Framezahl</translation>
|
<translation>Framezahl</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="60"/>
|
<location filename="../metadatamodel.cpp" line="62"/>
|
||||||
<source>Name</source>
|
<source>Name</source>
|
||||||
<translation>Name</translation>
|
<translation>Name</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="62"/>
|
<location filename="../metadatamodel.cpp" line="64"/>
|
||||||
<source>Item type</source>
|
<source>Item type</source>
|
||||||
<translation>Objekttyp</translation>
|
<translation>Objekttyp</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="64"/>
|
<location filename="../metadatamodel.cpp" line="66"/>
|
||||||
<source>Folder path</source>
|
<source>Folder path</source>
|
||||||
<translation>Ordnerpfad</translation>
|
<translation>Ordnerpfad</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="66"/>
|
<location filename="../metadatamodel.cpp" line="68"/>
|
||||||
<source>Size</source>
|
<source>Size</source>
|
||||||
<translation>Größe</translation>
|
<translation>Größe</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="68"/>
|
<location filename="../metadatamodel.cpp" line="70"/>
|
||||||
<source>Date created</source>
|
<source>Date created</source>
|
||||||
<translation>Datum erstellt</translation>
|
<translation>Datum erstellt</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="70"/>
|
<location filename="../metadatamodel.cpp" line="72"/>
|
||||||
<source>Date modified</source>
|
<source>Date modified</source>
|
||||||
<translation>Datum geändert</translation>
|
<translation>Datum geändert</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="77"/>
|
<location filename="../metadatamodel.cpp" line="79"/>
|
||||||
<source>Title</source>
|
<source>Title</source>
|
||||||
<translation>Titel</translation>
|
<translation>Titel</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="79"/>
|
<location filename="../metadatamodel.cpp" line="81"/>
|
||||||
<source>Subject</source>
|
<source>Subject</source>
|
||||||
<translation>Betreff</translation>
|
<translation>Betreff</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="81"/>
|
<location filename="../metadatamodel.cpp" line="83"/>
|
||||||
<source>Rating</source>
|
<source>Rating</source>
|
||||||
<translation>Bewertung</translation>
|
<translation>Bewertung</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="83"/>
|
<location filename="../metadatamodel.cpp" line="85"/>
|
||||||
<source>Tags</source>
|
<source>Tags</source>
|
||||||
<translation>Tags</translation>
|
<translation>Tags</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="85"/>
|
<location filename="../metadatamodel.cpp" line="87"/>
|
||||||
<source>Comments</source>
|
<source>Comments</source>
|
||||||
<translation>Kommentare</translation>
|
<translation>Kommentare</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="88"/>
|
<location filename="../metadatamodel.cpp" line="90"/>
|
||||||
<source>Authors</source>
|
<source>Authors</source>
|
||||||
<translation>Autoren</translation>
|
<translation>Autoren</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="90"/>
|
<location filename="../metadatamodel.cpp" line="92"/>
|
||||||
<source>Date taken</source>
|
<source>Date taken</source>
|
||||||
<translation>Datum genommen</translation>
|
<translation>Datum genommen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="96"/>
|
<location filename="../metadatamodel.cpp" line="98"/>
|
||||||
<source>Program name</source>
|
<source>Program name</source>
|
||||||
<translation>Programmname</translation>
|
<translation>Programmname</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="98"/>
|
<location filename="../metadatamodel.cpp" line="100"/>
|
||||||
<source>Copyright</source>
|
<source>Copyright</source>
|
||||||
<translation>Copyright</translation>
|
<translation>Copyright</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="101"/>
|
<location filename="../metadatamodel.cpp" line="103"/>
|
||||||
<source>Horizontal resolution</source>
|
<source>Horizontal resolution</source>
|
||||||
<translation>Horizontale Auflösung</translation>
|
<translation>Horizontale Auflösung</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="103"/>
|
<location filename="../metadatamodel.cpp" line="105"/>
|
||||||
<source>Vertical resolution</source>
|
<source>Vertical resolution</source>
|
||||||
<translation>Vertikale Auflösung</translation>
|
<translation>Vertikale Auflösung</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="105"/>
|
<location filename="../metadatamodel.cpp" line="107"/>
|
||||||
<source>Resolution unit</source>
|
<source>Resolution unit</source>
|
||||||
<translation>Auflösungseinheit</translation>
|
<translation>Auflösungseinheit</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="107"/>
|
<location filename="../metadatamodel.cpp" line="109"/>
|
||||||
<source>Colour representation</source>
|
<source>Colour representation</source>
|
||||||
<translation>Farbdarstellung</translation>
|
<translation>Farbdarstellung</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="110"/>
|
<location filename="../metadatamodel.cpp" line="112"/>
|
||||||
<source>Camera maker</source>
|
<source>Camera maker</source>
|
||||||
<translation>Kamerahersteller</translation>
|
<translation>Kamerahersteller</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="112"/>
|
<location filename="../metadatamodel.cpp" line="114"/>
|
||||||
<source>Camera model</source>
|
<source>Camera model</source>
|
||||||
<translation>Kameramodell</translation>
|
<translation>Kameramodell</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="114"/>
|
<location filename="../metadatamodel.cpp" line="116"/>
|
||||||
<source>F-stop</source>
|
<source>F-stop</source>
|
||||||
<translation>Blendenzahl</translation>
|
<translation>Blendenzahl</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="116"/>
|
<location filename="../metadatamodel.cpp" line="118"/>
|
||||||
<source>Exposure time</source>
|
<source>Exposure time</source>
|
||||||
<translation>Belichtungszeit</translation>
|
<translation>Belichtungszeit</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="118"/>
|
<location filename="../metadatamodel.cpp" line="120"/>
|
||||||
<source>ISO speed</source>
|
<source>ISO speed</source>
|
||||||
<translation>ISO-Geschwindigkeit</translation>
|
<translation>ISO-Geschwindigkeit</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="120"/>
|
<location filename="../metadatamodel.cpp" line="122"/>
|
||||||
<source>Exposure bias</source>
|
<source>Exposure bias</source>
|
||||||
<translation>Belichtungskorrektur</translation>
|
<translation>Belichtungskorrektur</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="122"/>
|
<location filename="../metadatamodel.cpp" line="124"/>
|
||||||
<source>Focal length</source>
|
<source>Focal length</source>
|
||||||
<translation>Brennweite</translation>
|
<translation>Brennweite</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="124"/>
|
<location filename="../metadatamodel.cpp" line="126"/>
|
||||||
<source>Max aperture</source>
|
<source>Max aperture</source>
|
||||||
<translation>Maximale Blende</translation>
|
<translation>Maximale Blende</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="126"/>
|
<location filename="../metadatamodel.cpp" line="128"/>
|
||||||
<source>Metering mode</source>
|
<source>Metering mode</source>
|
||||||
<translation>Messmodus</translation>
|
<translation>Messmodus</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="128"/>
|
<location filename="../metadatamodel.cpp" line="130"/>
|
||||||
<source>Subject distance</source>
|
<source>Subject distance</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="130"/>
|
<location filename="../metadatamodel.cpp" line="132"/>
|
||||||
<source>Flash mode</source>
|
<source>Flash mode</source>
|
||||||
<translation>Flash-Modus</translation>
|
<translation>Flash-Modus</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="132"/>
|
<location filename="../metadatamodel.cpp" line="134"/>
|
||||||
<source>35mm focal length</source>
|
<source>35mm focal length</source>
|
||||||
<translation>35 mm Brennweite</translation>
|
<translation>35 mm Brennweite</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="135"/>
|
<location filename="../metadatamodel.cpp" line="137"/>
|
||||||
<source>Lens model</source>
|
<source>Lens model</source>
|
||||||
<translation>Objektivmodell</translation>
|
<translation>Objektivmodell</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="137"/>
|
<location filename="../metadatamodel.cpp" line="139"/>
|
||||||
<source>Contrast</source>
|
<source>Contrast</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="139"/>
|
<location filename="../metadatamodel.cpp" line="141"/>
|
||||||
<source>Brightness</source>
|
<source>Brightness</source>
|
||||||
<translation>Helligkeit</translation>
|
<translation>Helligkeit</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="141"/>
|
<location filename="../metadatamodel.cpp" line="143"/>
|
||||||
<source>Exposure program</source>
|
<source>Exposure program</source>
|
||||||
<translation>Belichtungsprogramm</translation>
|
<translation>Belichtungsprogramm</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="143"/>
|
<location filename="../metadatamodel.cpp" line="145"/>
|
||||||
<source>Saturation</source>
|
<source>Saturation</source>
|
||||||
<translation>Sättigung</translation>
|
<translation>Sättigung</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="145"/>
|
<location filename="../metadatamodel.cpp" line="147"/>
|
||||||
<source>Sharpness</source>
|
<source>Sharpness</source>
|
||||||
<translation>Schärfe</translation>
|
<translation>Schärfe</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="147"/>
|
<location filename="../metadatamodel.cpp" line="149"/>
|
||||||
<source>White balance</source>
|
<source>White balance</source>
|
||||||
<translation>Weißabgleich</translation>
|
<translation>Weißabgleich</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="149"/>
|
<location filename="../metadatamodel.cpp" line="151"/>
|
||||||
<source>Digital zoom</source>
|
<source>Digital zoom</source>
|
||||||
<translation>Digitaler Zoom</translation>
|
<translation>Digitaler Zoom</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="151"/>
|
<location filename="../metadatamodel.cpp" line="153"/>
|
||||||
<source>EXIF version</source>
|
<source>EXIF version</source>
|
||||||
<translation>EXIF-Version</translation>
|
<translation>EXIF-Version</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="154"/>
|
<location filename="../metadatamodel.cpp" line="156"/>
|
||||||
<source>Latitude reference</source>
|
<source>Latitude reference</source>
|
||||||
<translation>Breitengradbezug</translation>
|
<translation>Breitengradbezug</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="156"/>
|
<location filename="../metadatamodel.cpp" line="158"/>
|
||||||
<source>Latitude</source>
|
<source>Latitude</source>
|
||||||
<translation>Breitengrad</translation>
|
<translation>Breitengrad</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="158"/>
|
<location filename="../metadatamodel.cpp" line="160"/>
|
||||||
<source>Longitude reference</source>
|
<source>Longitude reference</source>
|
||||||
<translation>Längengradbezug</translation>
|
<translation>Längengradbezug</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="160"/>
|
<location filename="../metadatamodel.cpp" line="162"/>
|
||||||
<source>Longitude</source>
|
<source>Longitude</source>
|
||||||
<translation>Längengrad</translation>
|
<translation>Längengrad</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="162"/>
|
<location filename="../metadatamodel.cpp" line="164"/>
|
||||||
<source>Altitude reference</source>
|
<source>Altitude reference</source>
|
||||||
<translation>Höhenbezug</translation>
|
<translation>Höhenbezug</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="164"/>
|
<location filename="../metadatamodel.cpp" line="166"/>
|
||||||
<source>Altitude</source>
|
<source>Altitude</source>
|
||||||
<translation>Höhe</translation>
|
<translation>Höhe</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="174"/>
|
<location filename="../metadatamodel.cpp" line="176"/>
|
||||||
<source>%1 x %2</source>
|
<source>%1 x %2</source>
|
||||||
<translation>%1 × %2</translation>
|
<translation>%1 × %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="192"/>
|
<location filename="../metadatamodel.cpp" line="194"/>
|
||||||
<source>%1 : %2</source>
|
<source>%1 : %2</source>
|
||||||
<translation>%1 : %2</translation>
|
<translation>%1 : %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="317"/>
|
<location filename="../metadatamodel.cpp" line="319"/>
|
||||||
<source>Property</source>
|
<source>Property</source>
|
||||||
<translation>Eigenschaft</translation>
|
<translation>Eigenschaft</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="317"/>
|
<location filename="../metadatamodel.cpp" line="319"/>
|
||||||
<source>Value</source>
|
<source>Value</source>
|
||||||
<translation>Wert</translation>
|
<translation>Wert</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -721,126 +726,141 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>SettingsDialog</name>
|
<name>SettingsDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="29"/>
|
<location filename="../settingsdialog.cpp" line="31"/>
|
||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation>Einstellungen</translation>
|
<translation>Einstellungen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="37"/>
|
<location filename="../settingsdialog.cpp" line="39"/>
|
||||||
<source>Options</source>
|
<source>Options</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="49"/>
|
<location filename="../settingsdialog.cpp" line="51"/>
|
||||||
<source>Shortcuts</source>
|
<source>Shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="59"/>
|
<location filename="../settingsdialog.cpp" line="61"/>
|
||||||
<source>Editing shortcuts for action "%1":</source>
|
<source>Editing shortcuts for action "%1":</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="68"/>
|
<location filename="../settingsdialog.cpp" line="70"/>
|
||||||
<source>Failed to set shortcuts</source>
|
<source>Failed to set shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="69"/>
|
<location filename="../settingsdialog.cpp" line="71"/>
|
||||||
<source>Please check if shortcuts are duplicated with existing shortcuts.</source>
|
<source>Please check if shortcuts are duplicated with existing shortcuts.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="76"/>
|
<location filename="../settingsdialog.cpp" line="78"/>
|
||||||
<source>Do nothing</source>
|
<source>Do nothing</source>
|
||||||
<translation>Nichts tun</translation>
|
<translation>Nichts tun</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="77"/>
|
<location filename="../settingsdialog.cpp" line="79"/>
|
||||||
<source>Close the window</source>
|
<source>Close the window</source>
|
||||||
<translation>Fenster schließen</translation>
|
<translation>Fenster schließen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="78"/>
|
<location filename="../settingsdialog.cpp" line="80"/>
|
||||||
<source>Toggle maximize</source>
|
<source>Toggle maximize</source>
|
||||||
<translation>Maximieren umschalten</translation>
|
<translation>Maximieren umschalten</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="79"/>
|
<location filename="../settingsdialog.cpp" line="81"/>
|
||||||
<source>Toggle fullscreen</source>
|
<source>Toggle fullscreen</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="83"/>
|
<location filename="../settingsdialog.cpp" line="85"/>
|
||||||
<source>Zoom in and out</source>
|
<source>Zoom in and out</source>
|
||||||
<translation>Hinein- und Hinauszoomen</translation>
|
<translation>Hinein- und Hinauszoomen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="84"/>
|
<location filename="../settingsdialog.cpp" line="86"/>
|
||||||
<source>View next or previous item</source>
|
<source>View next or previous item</source>
|
||||||
<translation>Zeige nächstes oder vorheriges Element</translation>
|
<translation>Zeige nächstes oder vorheriges Element</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="88"/>
|
<location filename="../settingsdialog.cpp" line="90"/>
|
||||||
<source>Auto size</source>
|
<source>Auto size</source>
|
||||||
<translation>Automatische Größe</translation>
|
<translation>Automatische Größe</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="89"/>
|
<location filename="../settingsdialog.cpp" line="91"/>
|
||||||
<source>Maximized</source>
|
<source>Maximized</source>
|
||||||
<translation>Maximiert</translation>
|
<translation>Maximiert</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="93"/>
|
<location filename="../settingsdialog.cpp" line="92"/>
|
||||||
|
<source>Windowed</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="96"/>
|
||||||
<source>Round (Integer scaling)</source>
|
<source>Round (Integer scaling)</source>
|
||||||
<comment>This option means round up for .5 and above</comment>
|
<comment>This option means round up for .5 and above</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="94"/>
|
<location filename="../settingsdialog.cpp" line="97"/>
|
||||||
<source>Ceil (Integer scaling)</source>
|
<source>Ceil (Integer scaling)</source>
|
||||||
<comment>This option means always round up</comment>
|
<comment>This option means always round up</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="95"/>
|
<location filename="../settingsdialog.cpp" line="98"/>
|
||||||
<source>Floor (Integer scaling)</source>
|
<source>Floor (Integer scaling)</source>
|
||||||
<comment>This option means always round down</comment>
|
<comment>This option means always round down</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="96"/>
|
<location filename="../settingsdialog.cpp" line="99"/>
|
||||||
<source>Follow system (Fractional scaling)</source>
|
<source>Follow system (Fractional scaling)</source>
|
||||||
<comment>This option means don't round</comment>
|
<comment>This option means don't round</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="119"/>
|
<location filename="../settingsdialog.cpp" line="122"/>
|
||||||
<source>Stay on top when start-up</source>
|
<source>Stay on top when start-up</source>
|
||||||
<translation>Beim Start oben bleiben</translation>
|
<translation>Beim Start oben bleiben</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="120"/>
|
<location filename="../settingsdialog.cpp" line="123"/>
|
||||||
|
<source>Use built-in close window animation</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="124"/>
|
||||||
<source>Use light-color checkerboard</source>
|
<source>Use light-color checkerboard</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="121"/>
|
<location filename="../settingsdialog.cpp" line="125"/>
|
||||||
|
<source>Loop the loaded gallery</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="126"/>
|
||||||
<source>Double-click behavior</source>
|
<source>Double-click behavior</source>
|
||||||
<translation>Doppelklickverhalten</translation>
|
<translation>Doppelklickverhalten</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="122"/>
|
<location filename="../settingsdialog.cpp" line="127"/>
|
||||||
<source>Mouse wheel behavior</source>
|
<source>Mouse wheel behavior</source>
|
||||||
<translation>Mausradverhalten</translation>
|
<translation>Mausradverhalten</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="123"/>
|
<location filename="../settingsdialog.cpp" line="128"/>
|
||||||
<source>Default window size</source>
|
<source>Default window size</source>
|
||||||
<translation>Standard-Fenstergröße</translation>
|
<translation>Standard-Fenstergröße</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="124"/>
|
<location filename="../settingsdialog.cpp" line="129"/>
|
||||||
<source>HiDPI scale factor rounding policy</source>
|
<source>HiDPI scale factor rounding policy</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -848,7 +868,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>ShortcutEdit</name>
|
<name>ShortcutEdit</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../shortcutedit.cpp" line="111"/>
|
<location filename="../shortcutedit.cpp" line="109"/>
|
||||||
<source>No shortcuts</source>
|
<source>No shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -856,7 +876,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>ShortcutEditor</name>
|
<name>ShortcutEditor</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../shortcutedit.cpp" line="77"/>
|
<location filename="../shortcutedit.cpp" line="75"/>
|
||||||
<source>Shortcut #%1</source>
|
<source>Shortcut #%1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -864,17 +884,17 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>main</name>
|
<name>main</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="43"/>
|
<location filename="../main.cpp" line="42"/>
|
||||||
<source>Pineapple Pictures</source>
|
<source>Pineapple Pictures</source>
|
||||||
<translation>Pineapple Pictures</translation>
|
<translation>Pineapple Pictures</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="46"/>
|
<location filename="../main.cpp" line="45"/>
|
||||||
<source>List supported image format suffixes, and quit program.</source>
|
<source>List supported image format suffixes, and quit program.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="50"/>
|
<location filename="../main.cpp" line="49"/>
|
||||||
<source>File list.</source>
|
<source>File list.</source>
|
||||||
<translation>Dateiliste.</translation>
|
<translation>Dateiliste.</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|||||||
@@ -1,172 +1,172 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!DOCTYPE TS>
|
<!DOCTYPE TS>
|
||||||
<TS version="2.1">
|
<TS version="2.1" language="en_US">
|
||||||
<context>
|
<context>
|
||||||
<name>AboutDialog</name>
|
<name>AboutDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="27"/>
|
<location filename="../aboutdialog.cpp" line="29"/>
|
||||||
<source>About</source>
|
<source>About</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="30"/>
|
<location filename="../aboutdialog.cpp" line="32"/>
|
||||||
<source>Launch application with image file path as argument to load the file.</source>
|
<source>Launch application with image file path as argument to load the file.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="31"/>
|
<location filename="../aboutdialog.cpp" line="33"/>
|
||||||
<source>Drag and drop image file onto the window is also supported.</source>
|
<source>Drag and drop image file onto the window is also supported.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="32"/>
|
<location filename="../aboutdialog.cpp" line="34"/>
|
||||||
<source>None of the operations in this application will alter the pictures on disk.</source>
|
<source>None of the operations in this application will alter the pictures on disk.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="33"/>
|
<location filename="../aboutdialog.cpp" line="35"/>
|
||||||
<source>Context menu option explanation:</source>
|
<source>Context menu option explanation:</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="40"/>
|
<location filename="../aboutdialog.cpp" line="42"/>
|
||||||
<source>Make window stay on top of all other windows.</source>
|
<source>Make window stay on top of all other windows.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="43"/>
|
<location filename="../aboutdialog.cpp" line="45"/>
|
||||||
<source>Avoid close window accidentally. (eg. by double clicking the window)</source>
|
<source>Avoid close window accidentally. (eg. by double clicking the window)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="46"/>
|
<location filename="../aboutdialog.cpp" line="48"/>
|
||||||
<source>Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.</source>
|
<source>Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="53"/>
|
<location filename="../aboutdialog.cpp" line="55"/>
|
||||||
<source>Version: %1</source>
|
<source>Version: %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="64"/>
|
<location filename="../aboutdialog.cpp" line="66"/>
|
||||||
<source>Logo designed by %1</source>
|
<source>Logo designed by %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="66"/>
|
<location filename="../aboutdialog.cpp" line="68"/>
|
||||||
<source>Built with Qt %1 (%2)</source>
|
<source>Built with Qt %1 (%2)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="67"/>
|
<location filename="../aboutdialog.cpp" line="69"/>
|
||||||
<source>Source code</source>
|
<source>Source code</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="77"/>
|
<location filename="../aboutdialog.cpp" line="79"/>
|
||||||
<source>Contributors</source>
|
<source>Contributors</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="79"/>
|
<location filename="../aboutdialog.cpp" line="81"/>
|
||||||
<source>List of contributors on GitHub</source>
|
<source>List of contributors on GitHub</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="80"/>
|
<location filename="../aboutdialog.cpp" line="82"/>
|
||||||
<source>Thanks to all people who contributed to this project.</source>
|
<source>Thanks to all people who contributed to this project.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="84"/>
|
<location filename="../aboutdialog.cpp" line="86"/>
|
||||||
<source>Translators</source>
|
<source>Translators</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="85"/>
|
<location filename="../aboutdialog.cpp" line="87"/>
|
||||||
<source>I would like to thank the following people who volunteered to translate this application.</source>
|
<source>I would like to thank the following people who volunteered to translate this application.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="129"/>
|
<location filename="../aboutdialog.cpp" line="131"/>
|
||||||
<source>%1 is built on the following free software libraries:</source>
|
<source>%1 is built on the following free software libraries:</source>
|
||||||
<comment>Free as in freedom</comment>
|
<comment>Free as in freedom</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="153"/>
|
<location filename="../aboutdialog.cpp" line="155"/>
|
||||||
<source>&Special Thanks</source>
|
<source>&Special Thanks</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="155"/>
|
<location filename="../aboutdialog.cpp" line="157"/>
|
||||||
<source>&Third-party Libraries</source>
|
<source>&Third-party Libraries</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="91"/>
|
<location filename="../aboutdialog.cpp" line="93"/>
|
||||||
<source>Your Rights</source>
|
<source>Your Rights</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="61"/>
|
<location filename="../aboutdialog.cpp" line="63"/>
|
||||||
<source>Copyright (c) %1 %2</source>
|
<source>Copyright (c) %1 %2</source>
|
||||||
<comment>%1 is year, %2 is the name of copyright holder(s)</comment>
|
<comment>%1 is year, %2 is the name of copyright holder(s)</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="93"/>
|
<location filename="../aboutdialog.cpp" line="95"/>
|
||||||
<source>%1 is released under the MIT License.</source>
|
<source>%1 is released under the MIT License.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="94"/>
|
<location filename="../aboutdialog.cpp" line="96"/>
|
||||||
<source>This license grants people a number of freedoms:</source>
|
<source>This license grants people a number of freedoms:</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="95"/>
|
<location filename="../aboutdialog.cpp" line="97"/>
|
||||||
<source>You are free to use %1, for any purpose</source>
|
<source>You are free to use %1, for any purpose</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="96"/>
|
<location filename="../aboutdialog.cpp" line="98"/>
|
||||||
<source>You are free to distribute %1</source>
|
<source>You are free to distribute %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="97"/>
|
<location filename="../aboutdialog.cpp" line="99"/>
|
||||||
<source>You can study how %1 works and change it</source>
|
<source>You can study how %1 works and change it</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="98"/>
|
<location filename="../aboutdialog.cpp" line="100"/>
|
||||||
<source>You can distribute changed versions of %1</source>
|
<source>You can distribute changed versions of %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="100"/>
|
<location filename="../aboutdialog.cpp" line="102"/>
|
||||||
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
|
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="128"/>
|
<location filename="../aboutdialog.cpp" line="130"/>
|
||||||
<source>Third-party Libraries used by %1</source>
|
<source>Third-party Libraries used by %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="151"/>
|
<location filename="../aboutdialog.cpp" line="153"/>
|
||||||
<source>&Help</source>
|
<source>&Help</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="152"/>
|
<location filename="../aboutdialog.cpp" line="154"/>
|
||||||
<source>&About</source>
|
<source>&About</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="154"/>
|
<location filename="../aboutdialog.cpp" line="156"/>
|
||||||
<source>&License</source>
|
<source>&License</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -174,7 +174,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>GraphicsScene</name>
|
<name>GraphicsScene</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="269"/>
|
<location filename="../mainwindow.cpp" line="276"/>
|
||||||
<location filename="../graphicsscene.cpp" line="100"/>
|
<location filename="../graphicsscene.cpp" line="100"/>
|
||||||
<source>Drag image here</source>
|
<source>Drag image here</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@@ -183,13 +183,13 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>GraphicsView</name>
|
<name>GraphicsView</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../graphicsview.cpp" line="52"/>
|
<location filename="../graphicsview.cpp" line="50"/>
|
||||||
<source>File is not a valid image</source>
|
<source>File is not a valid image</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../graphicsview.cpp" line="56"/>
|
<location filename="../graphicsview.cpp" line="54"/>
|
||||||
<location filename="../graphicsview.cpp" line="60"/>
|
<location filename="../graphicsview.cpp" line="58"/>
|
||||||
<source>Image data is invalid or currently unsupported</source>
|
<source>Image data is invalid or currently unsupported</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -197,38 +197,43 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MainWindow</name>
|
<name>MainWindow</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="180"/>
|
<location filename="../mainwindow.cpp" line="181"/>
|
||||||
<location filename="../mainwindow.cpp" line="540"/>
|
<location filename="../mainwindow.cpp" line="545"/>
|
||||||
<source>File url list is empty</source>
|
<source>File url list is empty</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="438"/>
|
<location filename="../mainwindow.cpp" line="445"/>
|
||||||
<source>&Copy</source>
|
<source>&Copy</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="548"/>
|
<location filename="../mainwindow.cpp" line="553"/>
|
||||||
<source>Image data is invalid</source>
|
<source>Image data is invalid</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="555"/>
|
<location filename="../mainwindow.cpp" line="560"/>
|
||||||
<source>Not supported mimedata: %1</source>
|
<source>Not supported mimedata: %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="764"/>
|
<location filename="../mainwindow.cpp" line="759"/>
|
||||||
<source>Image From Clipboard</source>
|
<source>Image From Clipboard</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="782"/>
|
<location filename="../mainwindow.cpp" line="777"/>
|
||||||
<source>Are you sure you want to move "%1" to recycle bin?</source>
|
<source>Are you sure you want to move "%1" to recycle bin?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="787"/>
|
<location filename="../mainwindow.cpp" line="781"/>
|
||||||
|
<source>Failed to move file to trash</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="782"/>
|
||||||
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
|
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -249,19 +254,19 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="118"/>
|
<location filename="../actionmanager.cpp" line="118"/>
|
||||||
<location filename="../aboutdialog.cpp" line="39"/>
|
<location filename="../aboutdialog.cpp" line="41"/>
|
||||||
<source>Stay on top</source>
|
<source>Stay on top</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="119"/>
|
<location filename="../actionmanager.cpp" line="119"/>
|
||||||
<location filename="../aboutdialog.cpp" line="42"/>
|
<location filename="../aboutdialog.cpp" line="44"/>
|
||||||
<source>Protected mode</source>
|
<source>Protected mode</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="120"/>
|
<location filename="../actionmanager.cpp" line="120"/>
|
||||||
<location filename="../aboutdialog.cpp" line="45"/>
|
<location filename="../aboutdialog.cpp" line="47"/>
|
||||||
<source>Keep transformation</source>
|
<source>Keep transformation</source>
|
||||||
<comment>The 'transformation' means the flip/rotation status that currently applied to the image view</comment>
|
<comment>The 'transformation' means the flip/rotation status that currently applied to the image view</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@@ -347,7 +352,7 @@
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="781"/>
|
<location filename="../mainwindow.cpp" line="776"/>
|
||||||
<location filename="../actionmanager.cpp" line="117"/>
|
<location filename="../actionmanager.cpp" line="117"/>
|
||||||
<source>Move to Trash</source>
|
<source>Move to Trash</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@@ -390,314 +395,314 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MetadataModel</name>
|
<name>MetadataModel</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="41"/>
|
<location filename="../metadatamodel.cpp" line="43"/>
|
||||||
<source>Origin</source>
|
<source>Origin</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="42"/>
|
<location filename="../metadatamodel.cpp" line="44"/>
|
||||||
<source>Image</source>
|
<source>Image</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="46"/>
|
<location filename="../metadatamodel.cpp" line="48"/>
|
||||||
<source>File</source>
|
<source>File</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="43"/>
|
<location filename="../metadatamodel.cpp" line="45"/>
|
||||||
<source>Camera</source>
|
<source>Camera</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="33"/>
|
<location filename="../metadatamodel.cpp" line="35"/>
|
||||||
<source>%1 File</source>
|
<source>%1 File</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="40"/>
|
<location filename="../metadatamodel.cpp" line="42"/>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="44"/>
|
<location filename="../metadatamodel.cpp" line="46"/>
|
||||||
<source>Advanced photo</source>
|
<source>Advanced photo</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="45"/>
|
<location filename="../metadatamodel.cpp" line="47"/>
|
||||||
<source>GPS</source>
|
<source>GPS</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="50"/>
|
<location filename="../metadatamodel.cpp" line="52"/>
|
||||||
<source>Dimensions</source>
|
<source>Dimensions</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="52"/>
|
<location filename="../metadatamodel.cpp" line="54"/>
|
||||||
<source>Aspect ratio</source>
|
<source>Aspect ratio</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="56"/>
|
<location filename="../metadatamodel.cpp" line="58"/>
|
||||||
<source>Frame count</source>
|
<source>Frame count</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="60"/>
|
<location filename="../metadatamodel.cpp" line="62"/>
|
||||||
<source>Name</source>
|
<source>Name</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="62"/>
|
<location filename="../metadatamodel.cpp" line="64"/>
|
||||||
<source>Item type</source>
|
<source>Item type</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="64"/>
|
<location filename="../metadatamodel.cpp" line="66"/>
|
||||||
<source>Folder path</source>
|
<source>Folder path</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="66"/>
|
<location filename="../metadatamodel.cpp" line="68"/>
|
||||||
<source>Size</source>
|
<source>Size</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="68"/>
|
<location filename="../metadatamodel.cpp" line="70"/>
|
||||||
<source>Date created</source>
|
<source>Date created</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="70"/>
|
<location filename="../metadatamodel.cpp" line="72"/>
|
||||||
<source>Date modified</source>
|
<source>Date modified</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="77"/>
|
<location filename="../metadatamodel.cpp" line="79"/>
|
||||||
<source>Title</source>
|
<source>Title</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="79"/>
|
<location filename="../metadatamodel.cpp" line="81"/>
|
||||||
<source>Subject</source>
|
<source>Subject</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="81"/>
|
<location filename="../metadatamodel.cpp" line="83"/>
|
||||||
<source>Rating</source>
|
<source>Rating</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="83"/>
|
<location filename="../metadatamodel.cpp" line="85"/>
|
||||||
<source>Tags</source>
|
<source>Tags</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="85"/>
|
<location filename="../metadatamodel.cpp" line="87"/>
|
||||||
<source>Comments</source>
|
<source>Comments</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="88"/>
|
<location filename="../metadatamodel.cpp" line="90"/>
|
||||||
<source>Authors</source>
|
<source>Authors</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="90"/>
|
<location filename="../metadatamodel.cpp" line="92"/>
|
||||||
<source>Date taken</source>
|
<source>Date taken</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="96"/>
|
<location filename="../metadatamodel.cpp" line="98"/>
|
||||||
<source>Program name</source>
|
<source>Program name</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="98"/>
|
<location filename="../metadatamodel.cpp" line="100"/>
|
||||||
<source>Copyright</source>
|
<source>Copyright</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="101"/>
|
<location filename="../metadatamodel.cpp" line="103"/>
|
||||||
<source>Horizontal resolution</source>
|
<source>Horizontal resolution</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="103"/>
|
<location filename="../metadatamodel.cpp" line="105"/>
|
||||||
<source>Vertical resolution</source>
|
<source>Vertical resolution</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="105"/>
|
<location filename="../metadatamodel.cpp" line="107"/>
|
||||||
<source>Resolution unit</source>
|
<source>Resolution unit</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="107"/>
|
<location filename="../metadatamodel.cpp" line="109"/>
|
||||||
<source>Colour representation</source>
|
<source>Colour representation</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="110"/>
|
<location filename="../metadatamodel.cpp" line="112"/>
|
||||||
<source>Camera maker</source>
|
<source>Camera maker</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="112"/>
|
<location filename="../metadatamodel.cpp" line="114"/>
|
||||||
<source>Camera model</source>
|
<source>Camera model</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="114"/>
|
<location filename="../metadatamodel.cpp" line="116"/>
|
||||||
<source>F-stop</source>
|
<source>F-stop</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="116"/>
|
<location filename="../metadatamodel.cpp" line="118"/>
|
||||||
<source>Exposure time</source>
|
<source>Exposure time</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="118"/>
|
<location filename="../metadatamodel.cpp" line="120"/>
|
||||||
<source>ISO speed</source>
|
<source>ISO speed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="120"/>
|
<location filename="../metadatamodel.cpp" line="122"/>
|
||||||
<source>Exposure bias</source>
|
<source>Exposure bias</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="122"/>
|
<location filename="../metadatamodel.cpp" line="124"/>
|
||||||
<source>Focal length</source>
|
<source>Focal length</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="124"/>
|
<location filename="../metadatamodel.cpp" line="126"/>
|
||||||
<source>Max aperture</source>
|
<source>Max aperture</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="126"/>
|
<location filename="../metadatamodel.cpp" line="128"/>
|
||||||
<source>Metering mode</source>
|
<source>Metering mode</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="128"/>
|
<location filename="../metadatamodel.cpp" line="130"/>
|
||||||
<source>Subject distance</source>
|
<source>Subject distance</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="130"/>
|
<location filename="../metadatamodel.cpp" line="132"/>
|
||||||
<source>Flash mode</source>
|
<source>Flash mode</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="132"/>
|
<location filename="../metadatamodel.cpp" line="134"/>
|
||||||
<source>35mm focal length</source>
|
<source>35mm focal length</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="135"/>
|
<location filename="../metadatamodel.cpp" line="137"/>
|
||||||
<source>Lens model</source>
|
<source>Lens model</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="137"/>
|
<location filename="../metadatamodel.cpp" line="139"/>
|
||||||
<source>Contrast</source>
|
<source>Contrast</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="139"/>
|
<location filename="../metadatamodel.cpp" line="141"/>
|
||||||
<source>Brightness</source>
|
<source>Brightness</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="141"/>
|
<location filename="../metadatamodel.cpp" line="143"/>
|
||||||
<source>Exposure program</source>
|
<source>Exposure program</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="143"/>
|
<location filename="../metadatamodel.cpp" line="145"/>
|
||||||
<source>Saturation</source>
|
<source>Saturation</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="145"/>
|
<location filename="../metadatamodel.cpp" line="147"/>
|
||||||
<source>Sharpness</source>
|
<source>Sharpness</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="147"/>
|
<location filename="../metadatamodel.cpp" line="149"/>
|
||||||
<source>White balance</source>
|
<source>White balance</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="149"/>
|
<location filename="../metadatamodel.cpp" line="151"/>
|
||||||
<source>Digital zoom</source>
|
<source>Digital zoom</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="151"/>
|
<location filename="../metadatamodel.cpp" line="153"/>
|
||||||
<source>EXIF version</source>
|
<source>EXIF version</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="154"/>
|
<location filename="../metadatamodel.cpp" line="156"/>
|
||||||
<source>Latitude reference</source>
|
<source>Latitude reference</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="156"/>
|
<location filename="../metadatamodel.cpp" line="158"/>
|
||||||
<source>Latitude</source>
|
<source>Latitude</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="158"/>
|
<location filename="../metadatamodel.cpp" line="160"/>
|
||||||
<source>Longitude reference</source>
|
<source>Longitude reference</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="160"/>
|
<location filename="../metadatamodel.cpp" line="162"/>
|
||||||
<source>Longitude</source>
|
<source>Longitude</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="162"/>
|
<location filename="../metadatamodel.cpp" line="164"/>
|
||||||
<source>Altitude reference</source>
|
<source>Altitude reference</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="164"/>
|
<location filename="../metadatamodel.cpp" line="166"/>
|
||||||
<source>Altitude</source>
|
<source>Altitude</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="174"/>
|
<location filename="../metadatamodel.cpp" line="176"/>
|
||||||
<source>%1 x %2</source>
|
<source>%1 x %2</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="192"/>
|
<location filename="../metadatamodel.cpp" line="194"/>
|
||||||
<source>%1 : %2</source>
|
<source>%1 : %2</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="317"/>
|
<location filename="../metadatamodel.cpp" line="319"/>
|
||||||
<source>Property</source>
|
<source>Property</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="317"/>
|
<location filename="../metadatamodel.cpp" line="319"/>
|
||||||
<source>Value</source>
|
<source>Value</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -705,126 +710,141 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>SettingsDialog</name>
|
<name>SettingsDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="29"/>
|
<location filename="../settingsdialog.cpp" line="31"/>
|
||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="37"/>
|
<location filename="../settingsdialog.cpp" line="39"/>
|
||||||
<source>Options</source>
|
<source>Options</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="49"/>
|
<location filename="../settingsdialog.cpp" line="51"/>
|
||||||
<source>Shortcuts</source>
|
<source>Shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="59"/>
|
<location filename="../settingsdialog.cpp" line="61"/>
|
||||||
<source>Editing shortcuts for action "%1":</source>
|
<source>Editing shortcuts for action "%1":</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="68"/>
|
<location filename="../settingsdialog.cpp" line="70"/>
|
||||||
<source>Failed to set shortcuts</source>
|
<source>Failed to set shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="69"/>
|
<location filename="../settingsdialog.cpp" line="71"/>
|
||||||
<source>Please check if shortcuts are duplicated with existing shortcuts.</source>
|
<source>Please check if shortcuts are duplicated with existing shortcuts.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="76"/>
|
<location filename="../settingsdialog.cpp" line="78"/>
|
||||||
<source>Do nothing</source>
|
<source>Do nothing</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="77"/>
|
<location filename="../settingsdialog.cpp" line="79"/>
|
||||||
<source>Close the window</source>
|
<source>Close the window</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="78"/>
|
<location filename="../settingsdialog.cpp" line="80"/>
|
||||||
<source>Toggle maximize</source>
|
<source>Toggle maximize</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="79"/>
|
<location filename="../settingsdialog.cpp" line="81"/>
|
||||||
<source>Toggle fullscreen</source>
|
<source>Toggle fullscreen</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="83"/>
|
<location filename="../settingsdialog.cpp" line="85"/>
|
||||||
<source>Zoom in and out</source>
|
<source>Zoom in and out</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="84"/>
|
<location filename="../settingsdialog.cpp" line="86"/>
|
||||||
<source>View next or previous item</source>
|
<source>View next or previous item</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="88"/>
|
<location filename="../settingsdialog.cpp" line="90"/>
|
||||||
<source>Auto size</source>
|
<source>Auto size</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="89"/>
|
<location filename="../settingsdialog.cpp" line="91"/>
|
||||||
<source>Maximized</source>
|
<source>Maximized</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="93"/>
|
<location filename="../settingsdialog.cpp" line="92"/>
|
||||||
|
<source>Windowed</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="96"/>
|
||||||
<source>Round (Integer scaling)</source>
|
<source>Round (Integer scaling)</source>
|
||||||
<comment>This option means round up for .5 and above</comment>
|
<comment>This option means round up for .5 and above</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="94"/>
|
<location filename="../settingsdialog.cpp" line="97"/>
|
||||||
<source>Ceil (Integer scaling)</source>
|
<source>Ceil (Integer scaling)</source>
|
||||||
<comment>This option means always round up</comment>
|
<comment>This option means always round up</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="95"/>
|
<location filename="../settingsdialog.cpp" line="98"/>
|
||||||
<source>Floor (Integer scaling)</source>
|
<source>Floor (Integer scaling)</source>
|
||||||
<comment>This option means always round down</comment>
|
<comment>This option means always round down</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="96"/>
|
<location filename="../settingsdialog.cpp" line="99"/>
|
||||||
<source>Follow system (Fractional scaling)</source>
|
<source>Follow system (Fractional scaling)</source>
|
||||||
<comment>This option means don't round</comment>
|
<comment>This option means don't round</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="119"/>
|
<location filename="../settingsdialog.cpp" line="122"/>
|
||||||
<source>Stay on top when start-up</source>
|
<source>Stay on top when start-up</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<location filename="../settingsdialog.cpp" line="120"/>
|
|
||||||
<source>Use light-color checkerboard</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../settingsdialog.cpp" line="121"/>
|
|
||||||
<source>Double-click behavior</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../settingsdialog.cpp" line="122"/>
|
|
||||||
<source>Mouse wheel behavior</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="123"/>
|
<location filename="../settingsdialog.cpp" line="123"/>
|
||||||
<source>Default window size</source>
|
<source>Use built-in close window animation</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="124"/>
|
<location filename="../settingsdialog.cpp" line="124"/>
|
||||||
|
<source>Use light-color checkerboard</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="125"/>
|
||||||
|
<source>Loop the loaded gallery</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="126"/>
|
||||||
|
<source>Double-click behavior</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="127"/>
|
||||||
|
<source>Mouse wheel behavior</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="128"/>
|
||||||
|
<source>Default window size</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="129"/>
|
||||||
<source>HiDPI scale factor rounding policy</source>
|
<source>HiDPI scale factor rounding policy</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -832,7 +852,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>ShortcutEdit</name>
|
<name>ShortcutEdit</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../shortcutedit.cpp" line="111"/>
|
<location filename="../shortcutedit.cpp" line="109"/>
|
||||||
<source>No shortcuts</source>
|
<source>No shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -840,7 +860,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>ShortcutEditor</name>
|
<name>ShortcutEditor</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../shortcutedit.cpp" line="77"/>
|
<location filename="../shortcutedit.cpp" line="75"/>
|
||||||
<source>Shortcut #%1</source>
|
<source>Shortcut #%1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -848,17 +868,17 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>main</name>
|
<name>main</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="43"/>
|
<location filename="../main.cpp" line="42"/>
|
||||||
<source>Pineapple Pictures</source>
|
<source>Pineapple Pictures</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="46"/>
|
<location filename="../main.cpp" line="45"/>
|
||||||
<source>List supported image format suffixes, and quit program.</source>
|
<source>List supported image format suffixes, and quit program.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="50"/>
|
<location filename="../main.cpp" line="49"/>
|
||||||
<source>File list.</source>
|
<source>File list.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -4,42 +4,42 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>AboutDialog</name>
|
<name>AboutDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="27"/>
|
<location filename="../aboutdialog.cpp" line="29"/>
|
||||||
<source>About</source>
|
<source>About</source>
|
||||||
<translation>Acerca de</translation>
|
<translation>Acerca de</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="30"/>
|
<location filename="../aboutdialog.cpp" line="32"/>
|
||||||
<source>Launch application with image file path as argument to load the file.</source>
|
<source>Launch application with image file path as argument to load the file.</source>
|
||||||
<translation>Inicia la aplicación con la ruta del archivo de la imagen como argumento para cargar la imagen.</translation>
|
<translation>Inicia la aplicación con la ruta del archivo de la imagen como argumento para cargar la imagen.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="31"/>
|
<location filename="../aboutdialog.cpp" line="33"/>
|
||||||
<source>Drag and drop image file onto the window is also supported.</source>
|
<source>Drag and drop image file onto the window is also supported.</source>
|
||||||
<translation>También es posible arrastrar y soltar un archivo de imagen en la ventana.</translation>
|
<translation>También es posible arrastrar y soltar un archivo de imagen en la ventana.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="32"/>
|
<location filename="../aboutdialog.cpp" line="34"/>
|
||||||
<source>None of the operations in this application will alter the pictures on disk.</source>
|
<source>None of the operations in this application will alter the pictures on disk.</source>
|
||||||
<translation>Ninguna de las operaciones en esta aplicación alterará los archivos de imagen.</translation>
|
<translation>Ninguna de las operaciones en esta aplicación alterará los archivos de imagen.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="33"/>
|
<location filename="../aboutdialog.cpp" line="35"/>
|
||||||
<source>Context menu option explanation:</source>
|
<source>Context menu option explanation:</source>
|
||||||
<translation>Explicación de las opciones del menú contextual:</translation>
|
<translation>Explicación de las opciones del menú contextual:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="40"/>
|
<location filename="../aboutdialog.cpp" line="42"/>
|
||||||
<source>Make window stay on top of all other windows.</source>
|
<source>Make window stay on top of all other windows.</source>
|
||||||
<translation>Mantiene la ventana encima de todas las demás ventanas.</translation>
|
<translation>Mantiene la ventana encima de todas las demás ventanas.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="43"/>
|
<location filename="../aboutdialog.cpp" line="45"/>
|
||||||
<source>Avoid close window accidentally. (eg. by double clicking the window)</source>
|
<source>Avoid close window accidentally. (eg. by double clicking the window)</source>
|
||||||
<translation>Evita que se cierre la ventana accidentalmente (por ejemplo, al hacer doble clic en la ventana)</translation>
|
<translation>Evita que se cierre la ventana accidentalmente (por ejemplo, al hacer doble clic en la ventana)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="53"/>
|
<location filename="../aboutdialog.cpp" line="55"/>
|
||||||
<source>Version: %1</source>
|
<source>Version: %1</source>
|
||||||
<translation>Versión: %1</translation>
|
<translation>Versión: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -48,129 +48,129 @@
|
|||||||
<translation type="vanished">Derechos reservados (c) 2020 %1</translation>
|
<translation type="vanished">Derechos reservados (c) 2020 %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="64"/>
|
<location filename="../aboutdialog.cpp" line="66"/>
|
||||||
<source>Logo designed by %1</source>
|
<source>Logo designed by %1</source>
|
||||||
<translation>Logo diseñado por %1</translation>
|
<translation>Logo diseñado por %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="66"/>
|
<location filename="../aboutdialog.cpp" line="68"/>
|
||||||
<source>Built with Qt %1 (%2)</source>
|
<source>Built with Qt %1 (%2)</source>
|
||||||
<translation>Creado con Qt %1 (%2)</translation>
|
<translation>Creado con Qt %1 (%2)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="67"/>
|
<location filename="../aboutdialog.cpp" line="69"/>
|
||||||
<source>Source code</source>
|
<source>Source code</source>
|
||||||
<translation>Código fuente</translation>
|
<translation>Código fuente</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="77"/>
|
<location filename="../aboutdialog.cpp" line="79"/>
|
||||||
<source>Contributors</source>
|
<source>Contributors</source>
|
||||||
<translation>Colaboradores</translation>
|
<translation>Colaboradores</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="79"/>
|
<location filename="../aboutdialog.cpp" line="81"/>
|
||||||
<source>List of contributors on GitHub</source>
|
<source>List of contributors on GitHub</source>
|
||||||
<translation>Lista de colaboradores en GitHub</translation>
|
<translation>Lista de colaboradores en GitHub</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="80"/>
|
<location filename="../aboutdialog.cpp" line="82"/>
|
||||||
<source>Thanks to all people who contributed to this project.</source>
|
<source>Thanks to all people who contributed to this project.</source>
|
||||||
<translation>Gracias a todas las personas que han colaborado en este proyecto.</translation>
|
<translation>Gracias a todas las personas que han colaborado en este proyecto.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="84"/>
|
<location filename="../aboutdialog.cpp" line="86"/>
|
||||||
<source>Translators</source>
|
<source>Translators</source>
|
||||||
<translation>Traductores</translation>
|
<translation>Traductores</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="85"/>
|
<location filename="../aboutdialog.cpp" line="87"/>
|
||||||
<source>I would like to thank the following people who volunteered to translate this application.</source>
|
<source>I would like to thank the following people who volunteered to translate this application.</source>
|
||||||
<translation>Me gustaría dar las gracias a las personas siguientes por ofrecerse a traducir esta aplicación.</translation>
|
<translation>Me gustaría dar las gracias a las personas siguientes por ofrecerse a traducir esta aplicación.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="129"/>
|
<location filename="../aboutdialog.cpp" line="131"/>
|
||||||
<source>%1 is built on the following free software libraries:</source>
|
<source>%1 is built on the following free software libraries:</source>
|
||||||
<comment>Free as in freedom</comment>
|
<comment>Free as in freedom</comment>
|
||||||
<translation>%1 está construido sobre las bibliotecas de software libre siguientes:</translation>
|
<translation>%1 está construido sobre las bibliotecas de software libre siguientes:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="153"/>
|
<location filename="../aboutdialog.cpp" line="155"/>
|
||||||
<source>&Special Thanks</source>
|
<source>&Special Thanks</source>
|
||||||
<translation>Agradecimiento &especial</translation>
|
<translation>Agradecimiento &especial</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="155"/>
|
<location filename="../aboutdialog.cpp" line="157"/>
|
||||||
<source>&Third-party Libraries</source>
|
<source>&Third-party Libraries</source>
|
||||||
<translation>&Bibliotecas de terceros</translation>
|
<translation>&Bibliotecas de terceros</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="91"/>
|
<location filename="../aboutdialog.cpp" line="93"/>
|
||||||
<source>Your Rights</source>
|
<source>Your Rights</source>
|
||||||
<translation>Sus derechos</translation>
|
<translation>Sus derechos</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="46"/>
|
<location filename="../aboutdialog.cpp" line="48"/>
|
||||||
<source>Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.</source>
|
<source>Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.</source>
|
||||||
<translation>Evita restablecer el estado de zoom/rotación/inversión que se aplicó a la vista de la imagen al cambiar entre las imágenes.</translation>
|
<translation>Evita restablecer el estado de zoom/rotación/inversión que se aplicó a la vista de la imagen al cambiar entre las imágenes.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="61"/>
|
<location filename="../aboutdialog.cpp" line="63"/>
|
||||||
<source>Copyright (c) %1 %2</source>
|
<source>Copyright (c) %1 %2</source>
|
||||||
<comment>%1 is year, %2 is the name of copyright holder(s)</comment>
|
<comment>%1 is year, %2 is the name of copyright holder(s)</comment>
|
||||||
<translation>Copyright (c) %1 %2</translation>
|
<translation>Copyright (c) %1 %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="93"/>
|
<location filename="../aboutdialog.cpp" line="95"/>
|
||||||
<source>%1 is released under the MIT License.</source>
|
<source>%1 is released under the MIT License.</source>
|
||||||
<translation>%1 se publica bajo la licencia MIT.</translation>
|
<translation>%1 se publica bajo la licencia MIT.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="94"/>
|
<location filename="../aboutdialog.cpp" line="96"/>
|
||||||
<source>This license grants people a number of freedoms:</source>
|
<source>This license grants people a number of freedoms:</source>
|
||||||
<translation>Esta licencia otorga a las personas una serie de libertades:</translation>
|
<translation>Esta licencia otorga a las personas una serie de libertades:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="95"/>
|
<location filename="../aboutdialog.cpp" line="97"/>
|
||||||
<source>You are free to use %1, for any purpose</source>
|
<source>You are free to use %1, for any purpose</source>
|
||||||
<translation>Es libre de usar %1 para cualquier propósito</translation>
|
<translation>Es libre de usar %1 para cualquier propósito</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="96"/>
|
<location filename="../aboutdialog.cpp" line="98"/>
|
||||||
<source>You are free to distribute %1</source>
|
<source>You are free to distribute %1</source>
|
||||||
<translation>Es libre de distribuir %1</translation>
|
<translation>Es libre de distribuir %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="97"/>
|
<location filename="../aboutdialog.cpp" line="99"/>
|
||||||
<source>You can study how %1 works and change it</source>
|
<source>You can study how %1 works and change it</source>
|
||||||
<translation>Puede estudiar cómo funciona %1 y modificarlo</translation>
|
<translation>Puede estudiar cómo funciona %1 y modificarlo</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="98"/>
|
<location filename="../aboutdialog.cpp" line="100"/>
|
||||||
<source>You can distribute changed versions of %1</source>
|
<source>You can distribute changed versions of %1</source>
|
||||||
<translation>Puede distribuir versiones modificadas de %1</translation>
|
<translation>Puede distribuir versiones modificadas de %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="100"/>
|
<location filename="../aboutdialog.cpp" line="102"/>
|
||||||
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
|
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
|
||||||
<translation>La licencia MIT le garantiza esta libertad. Nadie está autorizado a quitársela.</translation>
|
<translation>La licencia MIT le garantiza esta libertad. Nadie está autorizado a quitársela.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="128"/>
|
<location filename="../aboutdialog.cpp" line="130"/>
|
||||||
<source>Third-party Libraries used by %1</source>
|
<source>Third-party Libraries used by %1</source>
|
||||||
<translation>Bibliotecas de terceros usadas por %1</translation>
|
<translation>Bibliotecas de terceros usadas por %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="151"/>
|
<location filename="../aboutdialog.cpp" line="153"/>
|
||||||
<source>&Help</source>
|
<source>&Help</source>
|
||||||
<translation>Ay&uda</translation>
|
<translation>Ay&uda</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="152"/>
|
<location filename="../aboutdialog.cpp" line="154"/>
|
||||||
<source>&About</source>
|
<source>&About</source>
|
||||||
<translation>&Acerca de</translation>
|
<translation>&Acerca de</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="154"/>
|
<location filename="../aboutdialog.cpp" line="156"/>
|
||||||
<source>&License</source>
|
<source>&License</source>
|
||||||
<translation>&Licencia</translation>
|
<translation>&Licencia</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -178,7 +178,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>GraphicsScene</name>
|
<name>GraphicsScene</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="269"/>
|
<location filename="../mainwindow.cpp" line="276"/>
|
||||||
<location filename="../graphicsscene.cpp" line="100"/>
|
<location filename="../graphicsscene.cpp" line="100"/>
|
||||||
<source>Drag image here</source>
|
<source>Drag image here</source>
|
||||||
<translation>Arrastre una imagen aquí</translation>
|
<translation>Arrastre una imagen aquí</translation>
|
||||||
@@ -191,13 +191,13 @@
|
|||||||
<translation type="vanished">La lista de ubicaciones está vacía</translation>
|
<translation type="vanished">La lista de ubicaciones está vacía</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../graphicsview.cpp" line="52"/>
|
<location filename="../graphicsview.cpp" line="50"/>
|
||||||
<source>File is not a valid image</source>
|
<source>File is not a valid image</source>
|
||||||
<translation>El archivo no es una imagen válida</translation>
|
<translation>El archivo no es una imagen válida</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../graphicsview.cpp" line="56"/>
|
<location filename="../graphicsview.cpp" line="54"/>
|
||||||
<location filename="../graphicsview.cpp" line="60"/>
|
<location filename="../graphicsview.cpp" line="58"/>
|
||||||
<source>Image data is invalid or currently unsupported</source>
|
<source>Image data is invalid or currently unsupported</source>
|
||||||
<translation>Los datos de la imagen no son válidos o no son compatibles</translation>
|
<translation>Los datos de la imagen no son válidos o no son compatibles</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -213,38 +213,43 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MainWindow</name>
|
<name>MainWindow</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="180"/>
|
<location filename="../mainwindow.cpp" line="181"/>
|
||||||
<location filename="../mainwindow.cpp" line="540"/>
|
<location filename="../mainwindow.cpp" line="545"/>
|
||||||
<source>File url list is empty</source>
|
<source>File url list is empty</source>
|
||||||
<translation>La lista de ubicaciones está vacía</translation>
|
<translation>La lista de ubicaciones está vacía</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="438"/>
|
<location filename="../mainwindow.cpp" line="445"/>
|
||||||
<source>&Copy</source>
|
<source>&Copy</source>
|
||||||
<translation>&Copiar</translation>
|
<translation>&Copiar</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="548"/>
|
<location filename="../mainwindow.cpp" line="553"/>
|
||||||
<source>Image data is invalid</source>
|
<source>Image data is invalid</source>
|
||||||
<translation>Los datos de la imagen no son válidos</translation>
|
<translation>Los datos de la imagen no son válidos</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="555"/>
|
<location filename="../mainwindow.cpp" line="560"/>
|
||||||
<source>Not supported mimedata: %1</source>
|
<source>Not supported mimedata: %1</source>
|
||||||
<translation>El tipo MIME no es compatible: %1</translation>
|
<translation>El tipo MIME no es compatible: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="764"/>
|
<location filename="../mainwindow.cpp" line="759"/>
|
||||||
<source>Image From Clipboard</source>
|
<source>Image From Clipboard</source>
|
||||||
<translation>Imagen del portapapeles</translation>
|
<translation>Imagen del portapapeles</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="782"/>
|
<location filename="../mainwindow.cpp" line="777"/>
|
||||||
<source>Are you sure you want to move "%1" to recycle bin?</source>
|
<source>Are you sure you want to move "%1" to recycle bin?</source>
|
||||||
<translation>¿Estás seguro de que quieres mover "%1" a la papelera de reciclaje?</translation>
|
<translation>¿Estás seguro de que quieres mover "%1" a la papelera de reciclaje?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="787"/>
|
<location filename="../mainwindow.cpp" line="781"/>
|
||||||
|
<source>Failed to move file to trash</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="782"/>
|
||||||
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
|
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
|
||||||
<translation>Mover a la papelera ha fallado, puede deberse a un problema con los permisos de los archivos, una limitación del sistema de archivos o una limitación de la plataforma.</translation>
|
<translation>Mover a la papelera ha fallado, puede deberse a un problema con los permisos de los archivos, una limitación del sistema de archivos o una limitación de la plataforma.</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -265,19 +270,19 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="118"/>
|
<location filename="../actionmanager.cpp" line="118"/>
|
||||||
<location filename="../aboutdialog.cpp" line="39"/>
|
<location filename="../aboutdialog.cpp" line="41"/>
|
||||||
<source>Stay on top</source>
|
<source>Stay on top</source>
|
||||||
<translation>Mantener encima</translation>
|
<translation>Mantener encima</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="119"/>
|
<location filename="../actionmanager.cpp" line="119"/>
|
||||||
<location filename="../aboutdialog.cpp" line="42"/>
|
<location filename="../aboutdialog.cpp" line="44"/>
|
||||||
<source>Protected mode</source>
|
<source>Protected mode</source>
|
||||||
<translation>Modo protegido</translation>
|
<translation>Modo protegido</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="120"/>
|
<location filename="../actionmanager.cpp" line="120"/>
|
||||||
<location filename="../aboutdialog.cpp" line="45"/>
|
<location filename="../aboutdialog.cpp" line="47"/>
|
||||||
<source>Keep transformation</source>
|
<source>Keep transformation</source>
|
||||||
<comment>The 'transformation' means the flip/rotation status that currently applied to the image view</comment>
|
<comment>The 'transformation' means the flip/rotation status that currently applied to the image view</comment>
|
||||||
<translation>Conservar la transformación</translation>
|
<translation>Conservar la transformación</translation>
|
||||||
@@ -363,7 +368,7 @@
|
|||||||
<translation>Imagen siguiente</translation>
|
<translation>Imagen siguiente</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="781"/>
|
<location filename="../mainwindow.cpp" line="776"/>
|
||||||
<location filename="../actionmanager.cpp" line="117"/>
|
<location filename="../actionmanager.cpp" line="117"/>
|
||||||
<source>Move to Trash</source>
|
<source>Move to Trash</source>
|
||||||
<translation>Mover a la papelera</translation>
|
<translation>Mover a la papelera</translation>
|
||||||
@@ -406,314 +411,314 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MetadataModel</name>
|
<name>MetadataModel</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="41"/>
|
<location filename="../metadatamodel.cpp" line="43"/>
|
||||||
<source>Origin</source>
|
<source>Origin</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Origen</translation>
|
<translation>Origen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="42"/>
|
<location filename="../metadatamodel.cpp" line="44"/>
|
||||||
<source>Image</source>
|
<source>Image</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Imagen</translation>
|
<translation>Imagen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="46"/>
|
<location filename="../metadatamodel.cpp" line="48"/>
|
||||||
<source>File</source>
|
<source>File</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Archivo</translation>
|
<translation>Archivo</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="43"/>
|
<location filename="../metadatamodel.cpp" line="45"/>
|
||||||
<source>Camera</source>
|
<source>Camera</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Cámara</translation>
|
<translation>Cámara</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="33"/>
|
<location filename="../metadatamodel.cpp" line="35"/>
|
||||||
<source>%1 File</source>
|
<source>%1 File</source>
|
||||||
<translation>Archivo %1</translation>
|
<translation>Archivo %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="40"/>
|
<location filename="../metadatamodel.cpp" line="42"/>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Descripción</translation>
|
<translation>Descripción</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="44"/>
|
<location filename="../metadatamodel.cpp" line="46"/>
|
||||||
<source>Advanced photo</source>
|
<source>Advanced photo</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Foto avanzada</translation>
|
<translation>Foto avanzada</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="45"/>
|
<location filename="../metadatamodel.cpp" line="47"/>
|
||||||
<source>GPS</source>
|
<source>GPS</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>GPS</translation>
|
<translation>GPS</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="50"/>
|
<location filename="../metadatamodel.cpp" line="52"/>
|
||||||
<source>Dimensions</source>
|
<source>Dimensions</source>
|
||||||
<translation>Dimensiones</translation>
|
<translation>Dimensiones</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="52"/>
|
<location filename="../metadatamodel.cpp" line="54"/>
|
||||||
<source>Aspect ratio</source>
|
<source>Aspect ratio</source>
|
||||||
<translation>Relación de aspecto</translation>
|
<translation>Relación de aspecto</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="56"/>
|
<location filename="../metadatamodel.cpp" line="58"/>
|
||||||
<source>Frame count</source>
|
<source>Frame count</source>
|
||||||
<translation>Núm. de imágenes</translation>
|
<translation>Núm. de imágenes</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="60"/>
|
<location filename="../metadatamodel.cpp" line="62"/>
|
||||||
<source>Name</source>
|
<source>Name</source>
|
||||||
<translation>Nombre</translation>
|
<translation>Nombre</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="62"/>
|
<location filename="../metadatamodel.cpp" line="64"/>
|
||||||
<source>Item type</source>
|
<source>Item type</source>
|
||||||
<translation>Tipo de elemento</translation>
|
<translation>Tipo de elemento</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="64"/>
|
<location filename="../metadatamodel.cpp" line="66"/>
|
||||||
<source>Folder path</source>
|
<source>Folder path</source>
|
||||||
<translation>Ruta de la carpeta</translation>
|
<translation>Ruta de la carpeta</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="66"/>
|
<location filename="../metadatamodel.cpp" line="68"/>
|
||||||
<source>Size</source>
|
<source>Size</source>
|
||||||
<translation>Tamaño</translation>
|
<translation>Tamaño</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="68"/>
|
<location filename="../metadatamodel.cpp" line="70"/>
|
||||||
<source>Date created</source>
|
<source>Date created</source>
|
||||||
<translation>Fecha de creación</translation>
|
<translation>Fecha de creación</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="70"/>
|
<location filename="../metadatamodel.cpp" line="72"/>
|
||||||
<source>Date modified</source>
|
<source>Date modified</source>
|
||||||
<translation>Fecha de modificación</translation>
|
<translation>Fecha de modificación</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="77"/>
|
<location filename="../metadatamodel.cpp" line="79"/>
|
||||||
<source>Title</source>
|
<source>Title</source>
|
||||||
<translation>Título</translation>
|
<translation>Título</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="79"/>
|
<location filename="../metadatamodel.cpp" line="81"/>
|
||||||
<source>Subject</source>
|
<source>Subject</source>
|
||||||
<translation>Tema</translation>
|
<translation>Tema</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="81"/>
|
<location filename="../metadatamodel.cpp" line="83"/>
|
||||||
<source>Rating</source>
|
<source>Rating</source>
|
||||||
<translation>Valoración</translation>
|
<translation>Valoración</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="83"/>
|
<location filename="../metadatamodel.cpp" line="85"/>
|
||||||
<source>Tags</source>
|
<source>Tags</source>
|
||||||
<translation>Etiquetas</translation>
|
<translation>Etiquetas</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="85"/>
|
<location filename="../metadatamodel.cpp" line="87"/>
|
||||||
<source>Comments</source>
|
<source>Comments</source>
|
||||||
<translation>Comentarios</translation>
|
<translation>Comentarios</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="88"/>
|
<location filename="../metadatamodel.cpp" line="90"/>
|
||||||
<source>Authors</source>
|
<source>Authors</source>
|
||||||
<translation>Autores</translation>
|
<translation>Autores</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="90"/>
|
<location filename="../metadatamodel.cpp" line="92"/>
|
||||||
<source>Date taken</source>
|
<source>Date taken</source>
|
||||||
<translation>Fecha en que se tomó</translation>
|
<translation>Fecha en que se tomó</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="96"/>
|
<location filename="../metadatamodel.cpp" line="98"/>
|
||||||
<source>Program name</source>
|
<source>Program name</source>
|
||||||
<translation>Nombre del programa</translation>
|
<translation>Nombre del programa</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="98"/>
|
<location filename="../metadatamodel.cpp" line="100"/>
|
||||||
<source>Copyright</source>
|
<source>Copyright</source>
|
||||||
<translation>Copyright</translation>
|
<translation>Copyright</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="101"/>
|
<location filename="../metadatamodel.cpp" line="103"/>
|
||||||
<source>Horizontal resolution</source>
|
<source>Horizontal resolution</source>
|
||||||
<translation>Resolución horizontal</translation>
|
<translation>Resolución horizontal</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="103"/>
|
<location filename="../metadatamodel.cpp" line="105"/>
|
||||||
<source>Vertical resolution</source>
|
<source>Vertical resolution</source>
|
||||||
<translation>Resolución vertical</translation>
|
<translation>Resolución vertical</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="105"/>
|
<location filename="../metadatamodel.cpp" line="107"/>
|
||||||
<source>Resolution unit</source>
|
<source>Resolution unit</source>
|
||||||
<translation>Unidad de resolución</translation>
|
<translation>Unidad de resolución</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="107"/>
|
<location filename="../metadatamodel.cpp" line="109"/>
|
||||||
<source>Colour representation</source>
|
<source>Colour representation</source>
|
||||||
<translation>Representación del color</translation>
|
<translation>Representación del color</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="110"/>
|
<location filename="../metadatamodel.cpp" line="112"/>
|
||||||
<source>Camera maker</source>
|
<source>Camera maker</source>
|
||||||
<translation>Fabricante de la cámara</translation>
|
<translation>Fabricante de la cámara</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="112"/>
|
<location filename="../metadatamodel.cpp" line="114"/>
|
||||||
<source>Camera model</source>
|
<source>Camera model</source>
|
||||||
<translation>Modelo de la cámara</translation>
|
<translation>Modelo de la cámara</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="114"/>
|
<location filename="../metadatamodel.cpp" line="116"/>
|
||||||
<source>F-stop</source>
|
<source>F-stop</source>
|
||||||
<translation>Relación focal</translation>
|
<translation>Relación focal</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="116"/>
|
<location filename="../metadatamodel.cpp" line="118"/>
|
||||||
<source>Exposure time</source>
|
<source>Exposure time</source>
|
||||||
<translation>Tiempo de exposición</translation>
|
<translation>Tiempo de exposición</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="118"/>
|
<location filename="../metadatamodel.cpp" line="120"/>
|
||||||
<source>ISO speed</source>
|
<source>ISO speed</source>
|
||||||
<translation>Sensibilidad ISO</translation>
|
<translation>Sensibilidad ISO</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="120"/>
|
<location filename="../metadatamodel.cpp" line="122"/>
|
||||||
<source>Exposure bias</source>
|
<source>Exposure bias</source>
|
||||||
<translation>Compensación de exposición</translation>
|
<translation>Compensación de exposición</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="122"/>
|
<location filename="../metadatamodel.cpp" line="124"/>
|
||||||
<source>Focal length</source>
|
<source>Focal length</source>
|
||||||
<translation>Distancia focal</translation>
|
<translation>Distancia focal</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="124"/>
|
<location filename="../metadatamodel.cpp" line="126"/>
|
||||||
<source>Max aperture</source>
|
<source>Max aperture</source>
|
||||||
<translation>Apertura máxima</translation>
|
<translation>Apertura máxima</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="126"/>
|
<location filename="../metadatamodel.cpp" line="128"/>
|
||||||
<source>Metering mode</source>
|
<source>Metering mode</source>
|
||||||
<translation>Modo de medición</translation>
|
<translation>Modo de medición</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="128"/>
|
<location filename="../metadatamodel.cpp" line="130"/>
|
||||||
<source>Subject distance</source>
|
<source>Subject distance</source>
|
||||||
<translation>Distancia del sujeto</translation>
|
<translation>Distancia del sujeto</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="130"/>
|
<location filename="../metadatamodel.cpp" line="132"/>
|
||||||
<source>Flash mode</source>
|
<source>Flash mode</source>
|
||||||
<translation>Modo del flash</translation>
|
<translation>Modo del flash</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="132"/>
|
<location filename="../metadatamodel.cpp" line="134"/>
|
||||||
<source>35mm focal length</source>
|
<source>35mm focal length</source>
|
||||||
<translation>Distancia focal de 35 mm</translation>
|
<translation>Distancia focal de 35 mm</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="135"/>
|
<location filename="../metadatamodel.cpp" line="137"/>
|
||||||
<source>Lens model</source>
|
<source>Lens model</source>
|
||||||
<translation>Modelo de la lente</translation>
|
<translation>Modelo de la lente</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="137"/>
|
<location filename="../metadatamodel.cpp" line="139"/>
|
||||||
<source>Contrast</source>
|
<source>Contrast</source>
|
||||||
<translation>Contraste</translation>
|
<translation>Contraste</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="139"/>
|
<location filename="../metadatamodel.cpp" line="141"/>
|
||||||
<source>Brightness</source>
|
<source>Brightness</source>
|
||||||
<translation>Brillo</translation>
|
<translation>Brillo</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="141"/>
|
<location filename="../metadatamodel.cpp" line="143"/>
|
||||||
<source>Exposure program</source>
|
<source>Exposure program</source>
|
||||||
<translation>Programa de exposición</translation>
|
<translation>Programa de exposición</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="143"/>
|
<location filename="../metadatamodel.cpp" line="145"/>
|
||||||
<source>Saturation</source>
|
<source>Saturation</source>
|
||||||
<translation>Saturación</translation>
|
<translation>Saturación</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="145"/>
|
<location filename="../metadatamodel.cpp" line="147"/>
|
||||||
<source>Sharpness</source>
|
<source>Sharpness</source>
|
||||||
<translation>Nitidez</translation>
|
<translation>Nitidez</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="147"/>
|
<location filename="../metadatamodel.cpp" line="149"/>
|
||||||
<source>White balance</source>
|
<source>White balance</source>
|
||||||
<translation>Balance de blancos</translation>
|
<translation>Balance de blancos</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="149"/>
|
<location filename="../metadatamodel.cpp" line="151"/>
|
||||||
<source>Digital zoom</source>
|
<source>Digital zoom</source>
|
||||||
<translation>Zum digital</translation>
|
<translation>Zum digital</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="151"/>
|
<location filename="../metadatamodel.cpp" line="153"/>
|
||||||
<source>EXIF version</source>
|
<source>EXIF version</source>
|
||||||
<translation>Versión de EXIF</translation>
|
<translation>Versión de EXIF</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="154"/>
|
<location filename="../metadatamodel.cpp" line="156"/>
|
||||||
<source>Latitude reference</source>
|
<source>Latitude reference</source>
|
||||||
<translation>Referencia de la latitud</translation>
|
<translation>Referencia de la latitud</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="156"/>
|
<location filename="../metadatamodel.cpp" line="158"/>
|
||||||
<source>Latitude</source>
|
<source>Latitude</source>
|
||||||
<translation>Latitud</translation>
|
<translation>Latitud</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="158"/>
|
<location filename="../metadatamodel.cpp" line="160"/>
|
||||||
<source>Longitude reference</source>
|
<source>Longitude reference</source>
|
||||||
<translation>Referencia de la longitud</translation>
|
<translation>Referencia de la longitud</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="160"/>
|
<location filename="../metadatamodel.cpp" line="162"/>
|
||||||
<source>Longitude</source>
|
<source>Longitude</source>
|
||||||
<translation>Longitud</translation>
|
<translation>Longitud</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="162"/>
|
<location filename="../metadatamodel.cpp" line="164"/>
|
||||||
<source>Altitude reference</source>
|
<source>Altitude reference</source>
|
||||||
<translation>Referencia de la altitud</translation>
|
<translation>Referencia de la altitud</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="164"/>
|
<location filename="../metadatamodel.cpp" line="166"/>
|
||||||
<source>Altitude</source>
|
<source>Altitude</source>
|
||||||
<translation>Altitud</translation>
|
<translation>Altitud</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="174"/>
|
<location filename="../metadatamodel.cpp" line="176"/>
|
||||||
<source>%1 x %2</source>
|
<source>%1 x %2</source>
|
||||||
<translation>%1 x %2</translation>
|
<translation>%1 x %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="192"/>
|
<location filename="../metadatamodel.cpp" line="194"/>
|
||||||
<source>%1 : %2</source>
|
<source>%1 : %2</source>
|
||||||
<translation>%1 : %2</translation>
|
<translation>%1 : %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="317"/>
|
<location filename="../metadatamodel.cpp" line="319"/>
|
||||||
<source>Property</source>
|
<source>Property</source>
|
||||||
<translation>Propiedad</translation>
|
<translation>Propiedad</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="317"/>
|
<location filename="../metadatamodel.cpp" line="319"/>
|
||||||
<source>Value</source>
|
<source>Value</source>
|
||||||
<translation>Valor</translation>
|
<translation>Valor</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -721,126 +726,141 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>SettingsDialog</name>
|
<name>SettingsDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="29"/>
|
<location filename="../settingsdialog.cpp" line="31"/>
|
||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation>Preferencias</translation>
|
<translation>Preferencias</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="37"/>
|
<location filename="../settingsdialog.cpp" line="39"/>
|
||||||
<source>Options</source>
|
<source>Options</source>
|
||||||
<translation>Opciones</translation>
|
<translation>Opciones</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="49"/>
|
<location filename="../settingsdialog.cpp" line="51"/>
|
||||||
<source>Shortcuts</source>
|
<source>Shortcuts</source>
|
||||||
<translation>Atajos</translation>
|
<translation>Atajos</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="59"/>
|
<location filename="../settingsdialog.cpp" line="61"/>
|
||||||
<source>Editing shortcuts for action "%1":</source>
|
<source>Editing shortcuts for action "%1":</source>
|
||||||
<translation>Editando atajos para la acción "%1":</translation>
|
<translation>Editando atajos para la acción "%1":</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="68"/>
|
<location filename="../settingsdialog.cpp" line="70"/>
|
||||||
<source>Failed to set shortcuts</source>
|
<source>Failed to set shortcuts</source>
|
||||||
<translation>No se pudieron establecer accesos directos</translation>
|
<translation>No se pudieron establecer accesos directos</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="69"/>
|
<location filename="../settingsdialog.cpp" line="71"/>
|
||||||
<source>Please check if shortcuts are duplicated with existing shortcuts.</source>
|
<source>Please check if shortcuts are duplicated with existing shortcuts.</source>
|
||||||
<translation>Por favor, verifique si los accesos directos están duplicados.</translation>
|
<translation>Por favor, verifique si los accesos directos están duplicados.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="76"/>
|
<location filename="../settingsdialog.cpp" line="78"/>
|
||||||
<source>Do nothing</source>
|
<source>Do nothing</source>
|
||||||
<translation>No hacer nada</translation>
|
<translation>No hacer nada</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="77"/>
|
<location filename="../settingsdialog.cpp" line="79"/>
|
||||||
<source>Close the window</source>
|
<source>Close the window</source>
|
||||||
<translation>Cerrar la ventana</translation>
|
<translation>Cerrar la ventana</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="78"/>
|
<location filename="../settingsdialog.cpp" line="80"/>
|
||||||
<source>Toggle maximize</source>
|
<source>Toggle maximize</source>
|
||||||
<translation>Maximizar/desmaximizar</translation>
|
<translation>Maximizar/desmaximizar</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="79"/>
|
<location filename="../settingsdialog.cpp" line="81"/>
|
||||||
<source>Toggle fullscreen</source>
|
<source>Toggle fullscreen</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="83"/>
|
<location filename="../settingsdialog.cpp" line="85"/>
|
||||||
<source>Zoom in and out</source>
|
<source>Zoom in and out</source>
|
||||||
<translation>Ampliar y reducir</translation>
|
<translation>Ampliar y reducir</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="84"/>
|
<location filename="../settingsdialog.cpp" line="86"/>
|
||||||
<source>View next or previous item</source>
|
<source>View next or previous item</source>
|
||||||
<translation>Mostrar el elemento siguiente/anterior</translation>
|
<translation>Mostrar el elemento siguiente/anterior</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="88"/>
|
<location filename="../settingsdialog.cpp" line="90"/>
|
||||||
<source>Auto size</source>
|
<source>Auto size</source>
|
||||||
<translation>Tamaño automático</translation>
|
<translation>Tamaño automático</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="89"/>
|
<location filename="../settingsdialog.cpp" line="91"/>
|
||||||
<source>Maximized</source>
|
<source>Maximized</source>
|
||||||
<translation>Maximizar</translation>
|
<translation>Maximizar</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="93"/>
|
<location filename="../settingsdialog.cpp" line="92"/>
|
||||||
|
<source>Windowed</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="96"/>
|
||||||
<source>Round (Integer scaling)</source>
|
<source>Round (Integer scaling)</source>
|
||||||
<comment>This option means round up for .5 and above</comment>
|
<comment>This option means round up for .5 and above</comment>
|
||||||
<translation>Redondeo (escala de enteros)</translation>
|
<translation>Redondeo (escala de enteros)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="94"/>
|
<location filename="../settingsdialog.cpp" line="97"/>
|
||||||
<source>Ceil (Integer scaling)</source>
|
<source>Ceil (Integer scaling)</source>
|
||||||
<comment>This option means always round up</comment>
|
<comment>This option means always round up</comment>
|
||||||
<translation>Ceil (redondear enteros hacia arriba)</translation>
|
<translation>Ceil (redondear enteros hacia arriba)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="95"/>
|
<location filename="../settingsdialog.cpp" line="98"/>
|
||||||
<source>Floor (Integer scaling)</source>
|
<source>Floor (Integer scaling)</source>
|
||||||
<comment>This option means always round down</comment>
|
<comment>This option means always round down</comment>
|
||||||
<translation>Floor (redondear enteros hacia abajo)</translation>
|
<translation>Floor (redondear enteros hacia abajo)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="96"/>
|
<location filename="../settingsdialog.cpp" line="99"/>
|
||||||
<source>Follow system (Fractional scaling)</source>
|
<source>Follow system (Fractional scaling)</source>
|
||||||
<comment>This option means don't round</comment>
|
<comment>This option means don't round</comment>
|
||||||
<translation>Redondeo (redondear los enteros)</translation>
|
<translation>Redondeo (redondear los enteros)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="119"/>
|
<location filename="../settingsdialog.cpp" line="122"/>
|
||||||
<source>Stay on top when start-up</source>
|
<source>Stay on top when start-up</source>
|
||||||
<translation>Mantener encima al inicio</translation>
|
<translation>Mantener encima al inicio</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="120"/>
|
<location filename="../settingsdialog.cpp" line="123"/>
|
||||||
|
<source>Use built-in close window animation</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="124"/>
|
||||||
<source>Use light-color checkerboard</source>
|
<source>Use light-color checkerboard</source>
|
||||||
<translation>Utilice un tablero de ajedrez de color claro</translation>
|
<translation>Utilice un tablero de ajedrez de color claro</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="121"/>
|
<location filename="../settingsdialog.cpp" line="125"/>
|
||||||
|
<source>Loop the loaded gallery</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="126"/>
|
||||||
<source>Double-click behavior</source>
|
<source>Double-click behavior</source>
|
||||||
<translation>Comportamiento del doble clic</translation>
|
<translation>Comportamiento del doble clic</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="122"/>
|
<location filename="../settingsdialog.cpp" line="127"/>
|
||||||
<source>Mouse wheel behavior</source>
|
<source>Mouse wheel behavior</source>
|
||||||
<translation>Comportamiento de la rueda del ratón</translation>
|
<translation>Comportamiento de la rueda del ratón</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="123"/>
|
<location filename="../settingsdialog.cpp" line="128"/>
|
||||||
<source>Default window size</source>
|
<source>Default window size</source>
|
||||||
<translation>Tamaño de la ventana por defecto</translation>
|
<translation>Tamaño de la ventana por defecto</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="124"/>
|
<location filename="../settingsdialog.cpp" line="129"/>
|
||||||
<source>HiDPI scale factor rounding policy</source>
|
<source>HiDPI scale factor rounding policy</source>
|
||||||
<translation>Política de redondeo del factor de escala HiDPI</translation>
|
<translation>Política de redondeo del factor de escala HiDPI</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -848,7 +868,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>ShortcutEdit</name>
|
<name>ShortcutEdit</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../shortcutedit.cpp" line="111"/>
|
<location filename="../shortcutedit.cpp" line="109"/>
|
||||||
<source>No shortcuts</source>
|
<source>No shortcuts</source>
|
||||||
<translation>Sin atajos</translation>
|
<translation>Sin atajos</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -856,7 +876,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>ShortcutEditor</name>
|
<name>ShortcutEditor</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../shortcutedit.cpp" line="77"/>
|
<location filename="../shortcutedit.cpp" line="75"/>
|
||||||
<source>Shortcut #%1</source>
|
<source>Shortcut #%1</source>
|
||||||
<translation>Atajos #%1</translation>
|
<translation>Atajos #%1</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -864,17 +884,17 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>main</name>
|
<name>main</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="43"/>
|
<location filename="../main.cpp" line="42"/>
|
||||||
<source>Pineapple Pictures</source>
|
<source>Pineapple Pictures</source>
|
||||||
<translation>Pineapple Pictures</translation>
|
<translation>Pineapple Pictures</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="46"/>
|
<location filename="../main.cpp" line="45"/>
|
||||||
<source>List supported image format suffixes, and quit program.</source>
|
<source>List supported image format suffixes, and quit program.</source>
|
||||||
<translation>Enumere las extensiones de formato de imagen admitidas y sal del programa.</translation>
|
<translation>Enumere las extensiones de formato de imagen admitidas y sal del programa.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="50"/>
|
<location filename="../main.cpp" line="49"/>
|
||||||
<source>File list.</source>
|
<source>File list.</source>
|
||||||
<translation>Lista de archivos.</translation>
|
<translation>Lista de archivos.</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|||||||
@@ -4,42 +4,42 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>AboutDialog</name>
|
<name>AboutDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="27"/>
|
<location filename="../aboutdialog.cpp" line="29"/>
|
||||||
<source>About</source>
|
<source>About</source>
|
||||||
<translation>À propos</translation>
|
<translation>À propos</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="30"/>
|
<location filename="../aboutdialog.cpp" line="32"/>
|
||||||
<source>Launch application with image file path as argument to load the file.</source>
|
<source>Launch application with image file path as argument to load the file.</source>
|
||||||
<translation>Lancer l'application avec le chemin du fichier image comme argument pour charger le fichier.</translation>
|
<translation>Lancer l'application avec le chemin du fichier image comme argument pour charger le fichier.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="31"/>
|
<location filename="../aboutdialog.cpp" line="33"/>
|
||||||
<source>Drag and drop image file onto the window is also supported.</source>
|
<source>Drag and drop image file onto the window is also supported.</source>
|
||||||
<translation>Le glisser-déposer du fichier image sur la fenêtre est également pris en charge.</translation>
|
<translation>Le glisser-déposer du fichier image sur la fenêtre est également pris en charge.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="32"/>
|
<location filename="../aboutdialog.cpp" line="34"/>
|
||||||
<source>None of the operations in this application will alter the pictures on disk.</source>
|
<source>None of the operations in this application will alter the pictures on disk.</source>
|
||||||
<translation>Aucun opération dans cette application ne modifiera les fichiers image.</translation>
|
<translation>Aucun opération dans cette application ne modifiera les fichiers image.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="33"/>
|
<location filename="../aboutdialog.cpp" line="35"/>
|
||||||
<source>Context menu option explanation:</source>
|
<source>Context menu option explanation:</source>
|
||||||
<translation>Explication des options du menu contextuel :</translation>
|
<translation>Explication des options du menu contextuel :</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="40"/>
|
<location filename="../aboutdialog.cpp" line="42"/>
|
||||||
<source>Make window stay on top of all other windows.</source>
|
<source>Make window stay on top of all other windows.</source>
|
||||||
<translation>Faire en sorte que la fenêtre reste au-dessus de toutes les autres fenêtres.</translation>
|
<translation>Faire en sorte que la fenêtre reste au-dessus de toutes les autres fenêtres.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="43"/>
|
<location filename="../aboutdialog.cpp" line="45"/>
|
||||||
<source>Avoid close window accidentally. (eg. by double clicking the window)</source>
|
<source>Avoid close window accidentally. (eg. by double clicking the window)</source>
|
||||||
<translation>Éviter de fermer la fenêtre accidentellement. (par exemple en cliquant deux fois sur la fenêtre)</translation>
|
<translation>Éviter de fermer la fenêtre accidentellement. (par exemple en cliquant deux fois sur la fenêtre)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="53"/>
|
<location filename="../aboutdialog.cpp" line="55"/>
|
||||||
<source>Version: %1</source>
|
<source>Version: %1</source>
|
||||||
<translation>Version : %1</translation>
|
<translation>Version : %1</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -48,129 +48,129 @@
|
|||||||
<translation type="vanished">Copyright © 2020 %1</translation>
|
<translation type="vanished">Copyright © 2020 %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="64"/>
|
<location filename="../aboutdialog.cpp" line="66"/>
|
||||||
<source>Logo designed by %1</source>
|
<source>Logo designed by %1</source>
|
||||||
<translation>Logo conçu par %1</translation>
|
<translation>Logo conçu par %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="66"/>
|
<location filename="../aboutdialog.cpp" line="68"/>
|
||||||
<source>Built with Qt %1 (%2)</source>
|
<source>Built with Qt %1 (%2)</source>
|
||||||
<translation>Fait avec Qt %1 (%2)</translation>
|
<translation>Fait avec Qt %1 (%2)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="67"/>
|
<location filename="../aboutdialog.cpp" line="69"/>
|
||||||
<source>Source code</source>
|
<source>Source code</source>
|
||||||
<translation>Code source</translation>
|
<translation>Code source</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="77"/>
|
<location filename="../aboutdialog.cpp" line="79"/>
|
||||||
<source>Contributors</source>
|
<source>Contributors</source>
|
||||||
<translation>Contributeurs</translation>
|
<translation>Contributeurs</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="79"/>
|
<location filename="../aboutdialog.cpp" line="81"/>
|
||||||
<source>List of contributors on GitHub</source>
|
<source>List of contributors on GitHub</source>
|
||||||
<translation>Liste des contributeurs sur GitHub</translation>
|
<translation>Liste des contributeurs sur GitHub</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="80"/>
|
<location filename="../aboutdialog.cpp" line="82"/>
|
||||||
<source>Thanks to all people who contributed to this project.</source>
|
<source>Thanks to all people who contributed to this project.</source>
|
||||||
<translation>Merci à toutes les personnes qui ont contribué à ce projet.</translation>
|
<translation>Merci à toutes les personnes qui ont contribué à ce projet.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="84"/>
|
<location filename="../aboutdialog.cpp" line="86"/>
|
||||||
<source>Translators</source>
|
<source>Translators</source>
|
||||||
<translation>Traducteurs</translation>
|
<translation>Traducteurs</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="85"/>
|
<location filename="../aboutdialog.cpp" line="87"/>
|
||||||
<source>I would like to thank the following people who volunteered to translate this application.</source>
|
<source>I would like to thank the following people who volunteered to translate this application.</source>
|
||||||
<translation>Je tiens à remercier les personnes suivantes qui se sont portées volontaires pour traduire cette application.</translation>
|
<translation>Je tiens à remercier les personnes suivantes qui se sont portées volontaires pour traduire cette application.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="129"/>
|
<location filename="../aboutdialog.cpp" line="131"/>
|
||||||
<source>%1 is built on the following free software libraries:</source>
|
<source>%1 is built on the following free software libraries:</source>
|
||||||
<comment>Free as in freedom</comment>
|
<comment>Free as in freedom</comment>
|
||||||
<translation>%1 est basé sur les bibliothèques de logiciels libres suivantes :</translation>
|
<translation>%1 est basé sur les bibliothèques de logiciels libres suivantes :</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="153"/>
|
<location filename="../aboutdialog.cpp" line="155"/>
|
||||||
<source>&Special Thanks</source>
|
<source>&Special Thanks</source>
|
||||||
<translation>&Remerciement spécial</translation>
|
<translation>&Remerciement spécial</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="155"/>
|
<location filename="../aboutdialog.cpp" line="157"/>
|
||||||
<source>&Third-party Libraries</source>
|
<source>&Third-party Libraries</source>
|
||||||
<translation>&Bibliothèques tierces</translation>
|
<translation>&Bibliothèques tierces</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="91"/>
|
<location filename="../aboutdialog.cpp" line="93"/>
|
||||||
<source>Your Rights</source>
|
<source>Your Rights</source>
|
||||||
<translation>Vos droits</translation>
|
<translation>Vos droits</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="46"/>
|
<location filename="../aboutdialog.cpp" line="48"/>
|
||||||
<source>Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.</source>
|
<source>Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="61"/>
|
<location filename="../aboutdialog.cpp" line="63"/>
|
||||||
<source>Copyright (c) %1 %2</source>
|
<source>Copyright (c) %1 %2</source>
|
||||||
<comment>%1 is year, %2 is the name of copyright holder(s)</comment>
|
<comment>%1 is year, %2 is the name of copyright holder(s)</comment>
|
||||||
<translation>Copyright (c) %1 %2</translation>
|
<translation>Copyright (c) %1 %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="93"/>
|
<location filename="../aboutdialog.cpp" line="95"/>
|
||||||
<source>%1 is released under the MIT License.</source>
|
<source>%1 is released under the MIT License.</source>
|
||||||
<translation>%1 est publié sous licence MIT.</translation>
|
<translation>%1 est publié sous licence MIT.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="94"/>
|
<location filename="../aboutdialog.cpp" line="96"/>
|
||||||
<source>This license grants people a number of freedoms:</source>
|
<source>This license grants people a number of freedoms:</source>
|
||||||
<translation>Cette licence accorde aux personnes un certain nombre de libertés :</translation>
|
<translation>Cette licence accorde aux personnes un certain nombre de libertés :</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="95"/>
|
<location filename="../aboutdialog.cpp" line="97"/>
|
||||||
<source>You are free to use %1, for any purpose</source>
|
<source>You are free to use %1, for any purpose</source>
|
||||||
<translation>Vous êtes libre d'utiliser %1, dans n'importe quel but</translation>
|
<translation>Vous êtes libre d'utiliser %1, dans n'importe quel but</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="96"/>
|
<location filename="../aboutdialog.cpp" line="98"/>
|
||||||
<source>You are free to distribute %1</source>
|
<source>You are free to distribute %1</source>
|
||||||
<translation>Vous êtes libre de distribuer %1</translation>
|
<translation>Vous êtes libre de distribuer %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="97"/>
|
<location filename="../aboutdialog.cpp" line="99"/>
|
||||||
<source>You can study how %1 works and change it</source>
|
<source>You can study how %1 works and change it</source>
|
||||||
<translation>Vous pouvez étudier le fonctionnement de %1 et le modifier</translation>
|
<translation>Vous pouvez étudier le fonctionnement de %1 et le modifier</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="98"/>
|
<location filename="../aboutdialog.cpp" line="100"/>
|
||||||
<source>You can distribute changed versions of %1</source>
|
<source>You can distribute changed versions of %1</source>
|
||||||
<translation>Vous pouvez distribuer des versions modifiées de %1</translation>
|
<translation>Vous pouvez distribuer des versions modifiées de %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="100"/>
|
<location filename="../aboutdialog.cpp" line="102"/>
|
||||||
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
|
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
|
||||||
<translation>La licence MIT vous garantit cette liberté. Personne n'est autorisé à l'enlever.</translation>
|
<translation>La licence MIT vous garantit cette liberté. Personne n'est autorisé à l'enlever.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="128"/>
|
<location filename="../aboutdialog.cpp" line="130"/>
|
||||||
<source>Third-party Libraries used by %1</source>
|
<source>Third-party Libraries used by %1</source>
|
||||||
<translation>Bibliothèques tierces utilisées par %1</translation>
|
<translation>Bibliothèques tierces utilisées par %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="151"/>
|
<location filename="../aboutdialog.cpp" line="153"/>
|
||||||
<source>&Help</source>
|
<source>&Help</source>
|
||||||
<translation>&Aide</translation>
|
<translation>&Aide</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="152"/>
|
<location filename="../aboutdialog.cpp" line="154"/>
|
||||||
<source>&About</source>
|
<source>&About</source>
|
||||||
<translation>&À propos</translation>
|
<translation>&À propos</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="154"/>
|
<location filename="../aboutdialog.cpp" line="156"/>
|
||||||
<source>&License</source>
|
<source>&License</source>
|
||||||
<translation>&Licence</translation>
|
<translation>&Licence</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -178,7 +178,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>GraphicsScene</name>
|
<name>GraphicsScene</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="269"/>
|
<location filename="../mainwindow.cpp" line="276"/>
|
||||||
<location filename="../graphicsscene.cpp" line="100"/>
|
<location filename="../graphicsscene.cpp" line="100"/>
|
||||||
<source>Drag image here</source>
|
<source>Drag image here</source>
|
||||||
<translation>Faites glisser l'image ici</translation>
|
<translation>Faites glisser l'image ici</translation>
|
||||||
@@ -191,13 +191,13 @@
|
|||||||
<translation type="vanished">La liste des URL du fichier est vide</translation>
|
<translation type="vanished">La liste des URL du fichier est vide</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../graphicsview.cpp" line="52"/>
|
<location filename="../graphicsview.cpp" line="50"/>
|
||||||
<source>File is not a valid image</source>
|
<source>File is not a valid image</source>
|
||||||
<translation>Le fichier n'est pas une image valide</translation>
|
<translation>Le fichier n'est pas une image valide</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../graphicsview.cpp" line="56"/>
|
<location filename="../graphicsview.cpp" line="54"/>
|
||||||
<location filename="../graphicsview.cpp" line="60"/>
|
<location filename="../graphicsview.cpp" line="58"/>
|
||||||
<source>Image data is invalid or currently unsupported</source>
|
<source>Image data is invalid or currently unsupported</source>
|
||||||
<translation>Les données d'image ne sont pas valides ou ne sont actuellement pas prises en charge</translation>
|
<translation>Les données d'image ne sont pas valides ou ne sont actuellement pas prises en charge</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -213,38 +213,43 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MainWindow</name>
|
<name>MainWindow</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="180"/>
|
<location filename="../mainwindow.cpp" line="181"/>
|
||||||
<location filename="../mainwindow.cpp" line="540"/>
|
<location filename="../mainwindow.cpp" line="545"/>
|
||||||
<source>File url list is empty</source>
|
<source>File url list is empty</source>
|
||||||
<translation>La liste des URL de fichiers est vide</translation>
|
<translation>La liste des URL de fichiers est vide</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="438"/>
|
<location filename="../mainwindow.cpp" line="445"/>
|
||||||
<source>&Copy</source>
|
<source>&Copy</source>
|
||||||
<translation>&Copier</translation>
|
<translation>&Copier</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="548"/>
|
<location filename="../mainwindow.cpp" line="553"/>
|
||||||
<source>Image data is invalid</source>
|
<source>Image data is invalid</source>
|
||||||
<translation>Les données d'image ne sont pas valides</translation>
|
<translation>Les données d'image ne sont pas valides</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="555"/>
|
<location filename="../mainwindow.cpp" line="560"/>
|
||||||
<source>Not supported mimedata: %1</source>
|
<source>Not supported mimedata: %1</source>
|
||||||
<translation>Mimedata non pris en charge : %1</translation>
|
<translation>Mimedata non pris en charge : %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="764"/>
|
<location filename="../mainwindow.cpp" line="759"/>
|
||||||
<source>Image From Clipboard</source>
|
<source>Image From Clipboard</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="782"/>
|
<location filename="../mainwindow.cpp" line="777"/>
|
||||||
<source>Are you sure you want to move "%1" to recycle bin?</source>
|
<source>Are you sure you want to move "%1" to recycle bin?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="787"/>
|
<location filename="../mainwindow.cpp" line="781"/>
|
||||||
|
<source>Failed to move file to trash</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="782"/>
|
||||||
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
|
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -265,19 +270,19 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="118"/>
|
<location filename="../actionmanager.cpp" line="118"/>
|
||||||
<location filename="../aboutdialog.cpp" line="39"/>
|
<location filename="../aboutdialog.cpp" line="41"/>
|
||||||
<source>Stay on top</source>
|
<source>Stay on top</source>
|
||||||
<translation>Rester en-haut</translation>
|
<translation>Rester en-haut</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="119"/>
|
<location filename="../actionmanager.cpp" line="119"/>
|
||||||
<location filename="../aboutdialog.cpp" line="42"/>
|
<location filename="../aboutdialog.cpp" line="44"/>
|
||||||
<source>Protected mode</source>
|
<source>Protected mode</source>
|
||||||
<translation>Mode protégé</translation>
|
<translation>Mode protégé</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="120"/>
|
<location filename="../actionmanager.cpp" line="120"/>
|
||||||
<location filename="../aboutdialog.cpp" line="45"/>
|
<location filename="../aboutdialog.cpp" line="47"/>
|
||||||
<source>Keep transformation</source>
|
<source>Keep transformation</source>
|
||||||
<comment>The 'transformation' means the flip/rotation status that currently applied to the image view</comment>
|
<comment>The 'transformation' means the flip/rotation status that currently applied to the image view</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@@ -363,7 +368,7 @@
|
|||||||
<translation>Image suivant</translation>
|
<translation>Image suivant</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="781"/>
|
<location filename="../mainwindow.cpp" line="776"/>
|
||||||
<location filename="../actionmanager.cpp" line="117"/>
|
<location filename="../actionmanager.cpp" line="117"/>
|
||||||
<source>Move to Trash</source>
|
<source>Move to Trash</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@@ -406,314 +411,314 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MetadataModel</name>
|
<name>MetadataModel</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="41"/>
|
<location filename="../metadatamodel.cpp" line="43"/>
|
||||||
<source>Origin</source>
|
<source>Origin</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Origine</translation>
|
<translation>Origine</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="42"/>
|
<location filename="../metadatamodel.cpp" line="44"/>
|
||||||
<source>Image</source>
|
<source>Image</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Image</translation>
|
<translation>Image</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="46"/>
|
<location filename="../metadatamodel.cpp" line="48"/>
|
||||||
<source>File</source>
|
<source>File</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Fichier</translation>
|
<translation>Fichier</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="43"/>
|
<location filename="../metadatamodel.cpp" line="45"/>
|
||||||
<source>Camera</source>
|
<source>Camera</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Appareil photo</translation>
|
<translation>Appareil photo</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="33"/>
|
<location filename="../metadatamodel.cpp" line="35"/>
|
||||||
<source>%1 File</source>
|
<source>%1 File</source>
|
||||||
<translation>Fichier %1</translation>
|
<translation>Fichier %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="40"/>
|
<location filename="../metadatamodel.cpp" line="42"/>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Description</translation>
|
<translation>Description</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="44"/>
|
<location filename="../metadatamodel.cpp" line="46"/>
|
||||||
<source>Advanced photo</source>
|
<source>Advanced photo</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Photo avancée</translation>
|
<translation>Photo avancée</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="45"/>
|
<location filename="../metadatamodel.cpp" line="47"/>
|
||||||
<source>GPS</source>
|
<source>GPS</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>GPS</translation>
|
<translation>GPS</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="50"/>
|
<location filename="../metadatamodel.cpp" line="52"/>
|
||||||
<source>Dimensions</source>
|
<source>Dimensions</source>
|
||||||
<translation>Dimensions</translation>
|
<translation>Dimensions</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="52"/>
|
<location filename="../metadatamodel.cpp" line="54"/>
|
||||||
<source>Aspect ratio</source>
|
<source>Aspect ratio</source>
|
||||||
<translation>Rapport d'aspect</translation>
|
<translation>Rapport d'aspect</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="56"/>
|
<location filename="../metadatamodel.cpp" line="58"/>
|
||||||
<source>Frame count</source>
|
<source>Frame count</source>
|
||||||
<translation>Nombre d'images</translation>
|
<translation>Nombre d'images</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="60"/>
|
<location filename="../metadatamodel.cpp" line="62"/>
|
||||||
<source>Name</source>
|
<source>Name</source>
|
||||||
<translation>Nom</translation>
|
<translation>Nom</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="62"/>
|
<location filename="../metadatamodel.cpp" line="64"/>
|
||||||
<source>Item type</source>
|
<source>Item type</source>
|
||||||
<translation>Type d'élément</translation>
|
<translation>Type d'élément</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="64"/>
|
<location filename="../metadatamodel.cpp" line="66"/>
|
||||||
<source>Folder path</source>
|
<source>Folder path</source>
|
||||||
<translation>Chemin du dossier</translation>
|
<translation>Chemin du dossier</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="66"/>
|
<location filename="../metadatamodel.cpp" line="68"/>
|
||||||
<source>Size</source>
|
<source>Size</source>
|
||||||
<translation>Taille</translation>
|
<translation>Taille</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="68"/>
|
<location filename="../metadatamodel.cpp" line="70"/>
|
||||||
<source>Date created</source>
|
<source>Date created</source>
|
||||||
<translation>Date créée</translation>
|
<translation>Date créée</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="70"/>
|
<location filename="../metadatamodel.cpp" line="72"/>
|
||||||
<source>Date modified</source>
|
<source>Date modified</source>
|
||||||
<translation>Date modifiée</translation>
|
<translation>Date modifiée</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="77"/>
|
<location filename="../metadatamodel.cpp" line="79"/>
|
||||||
<source>Title</source>
|
<source>Title</source>
|
||||||
<translation>Titre</translation>
|
<translation>Titre</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="79"/>
|
<location filename="../metadatamodel.cpp" line="81"/>
|
||||||
<source>Subject</source>
|
<source>Subject</source>
|
||||||
<translation>Sujet</translation>
|
<translation>Sujet</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="81"/>
|
<location filename="../metadatamodel.cpp" line="83"/>
|
||||||
<source>Rating</source>
|
<source>Rating</source>
|
||||||
<translation>Évaluation</translation>
|
<translation>Évaluation</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="83"/>
|
<location filename="../metadatamodel.cpp" line="85"/>
|
||||||
<source>Tags</source>
|
<source>Tags</source>
|
||||||
<translation>Étiquettes</translation>
|
<translation>Étiquettes</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="85"/>
|
<location filename="../metadatamodel.cpp" line="87"/>
|
||||||
<source>Comments</source>
|
<source>Comments</source>
|
||||||
<translation>Commentaires</translation>
|
<translation>Commentaires</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="88"/>
|
<location filename="../metadatamodel.cpp" line="90"/>
|
||||||
<source>Authors</source>
|
<source>Authors</source>
|
||||||
<translation>Auteurs</translation>
|
<translation>Auteurs</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="90"/>
|
<location filename="../metadatamodel.cpp" line="92"/>
|
||||||
<source>Date taken</source>
|
<source>Date taken</source>
|
||||||
<translation>Date prise</translation>
|
<translation>Date prise</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="96"/>
|
<location filename="../metadatamodel.cpp" line="98"/>
|
||||||
<source>Program name</source>
|
<source>Program name</source>
|
||||||
<translation>Nom du programme</translation>
|
<translation>Nom du programme</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="98"/>
|
<location filename="../metadatamodel.cpp" line="100"/>
|
||||||
<source>Copyright</source>
|
<source>Copyright</source>
|
||||||
<translation>Copyright</translation>
|
<translation>Copyright</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="101"/>
|
<location filename="../metadatamodel.cpp" line="103"/>
|
||||||
<source>Horizontal resolution</source>
|
<source>Horizontal resolution</source>
|
||||||
<translation>Résolution horizontale</translation>
|
<translation>Résolution horizontale</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="103"/>
|
<location filename="../metadatamodel.cpp" line="105"/>
|
||||||
<source>Vertical resolution</source>
|
<source>Vertical resolution</source>
|
||||||
<translation>Résolution verticale</translation>
|
<translation>Résolution verticale</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="105"/>
|
<location filename="../metadatamodel.cpp" line="107"/>
|
||||||
<source>Resolution unit</source>
|
<source>Resolution unit</source>
|
||||||
<translation>Unité de résolution</translation>
|
<translation>Unité de résolution</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="107"/>
|
<location filename="../metadatamodel.cpp" line="109"/>
|
||||||
<source>Colour representation</source>
|
<source>Colour representation</source>
|
||||||
<translation>Représentation des couleurs</translation>
|
<translation>Représentation des couleurs</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="110"/>
|
<location filename="../metadatamodel.cpp" line="112"/>
|
||||||
<source>Camera maker</source>
|
<source>Camera maker</source>
|
||||||
<translation>Fabricant de l'appareil photo</translation>
|
<translation>Fabricant de l'appareil photo</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="112"/>
|
<location filename="../metadatamodel.cpp" line="114"/>
|
||||||
<source>Camera model</source>
|
<source>Camera model</source>
|
||||||
<translation>Modèle d'appareil photo</translation>
|
<translation>Modèle d'appareil photo</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="114"/>
|
<location filename="../metadatamodel.cpp" line="116"/>
|
||||||
<source>F-stop</source>
|
<source>F-stop</source>
|
||||||
<translation>Nombre d'ouverture</translation>
|
<translation>Nombre d'ouverture</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="116"/>
|
<location filename="../metadatamodel.cpp" line="118"/>
|
||||||
<source>Exposure time</source>
|
<source>Exposure time</source>
|
||||||
<translation>Temps d'exposition</translation>
|
<translation>Temps d'exposition</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="118"/>
|
<location filename="../metadatamodel.cpp" line="120"/>
|
||||||
<source>ISO speed</source>
|
<source>ISO speed</source>
|
||||||
<translation>Vitesse ISO</translation>
|
<translation>Vitesse ISO</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="120"/>
|
<location filename="../metadatamodel.cpp" line="122"/>
|
||||||
<source>Exposure bias</source>
|
<source>Exposure bias</source>
|
||||||
<translation>Biais d'exposition</translation>
|
<translation>Biais d'exposition</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="122"/>
|
<location filename="../metadatamodel.cpp" line="124"/>
|
||||||
<source>Focal length</source>
|
<source>Focal length</source>
|
||||||
<translation>Distance focale</translation>
|
<translation>Distance focale</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="124"/>
|
<location filename="../metadatamodel.cpp" line="126"/>
|
||||||
<source>Max aperture</source>
|
<source>Max aperture</source>
|
||||||
<translation>Ouverture maximale</translation>
|
<translation>Ouverture maximale</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="126"/>
|
<location filename="../metadatamodel.cpp" line="128"/>
|
||||||
<source>Metering mode</source>
|
<source>Metering mode</source>
|
||||||
<translation>Mode de mesure</translation>
|
<translation>Mode de mesure</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="128"/>
|
<location filename="../metadatamodel.cpp" line="130"/>
|
||||||
<source>Subject distance</source>
|
<source>Subject distance</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="130"/>
|
<location filename="../metadatamodel.cpp" line="132"/>
|
||||||
<source>Flash mode</source>
|
<source>Flash mode</source>
|
||||||
<translation>Mode flash</translation>
|
<translation>Mode flash</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="132"/>
|
<location filename="../metadatamodel.cpp" line="134"/>
|
||||||
<source>35mm focal length</source>
|
<source>35mm focal length</source>
|
||||||
<translation>Distance focale de 35 mm</translation>
|
<translation>Distance focale de 35 mm</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="135"/>
|
<location filename="../metadatamodel.cpp" line="137"/>
|
||||||
<source>Lens model</source>
|
<source>Lens model</source>
|
||||||
<translation>Modèle d'objectif</translation>
|
<translation>Modèle d'objectif</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="137"/>
|
<location filename="../metadatamodel.cpp" line="139"/>
|
||||||
<source>Contrast</source>
|
<source>Contrast</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="139"/>
|
<location filename="../metadatamodel.cpp" line="141"/>
|
||||||
<source>Brightness</source>
|
<source>Brightness</source>
|
||||||
<translation>Luminosité</translation>
|
<translation>Luminosité</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="141"/>
|
<location filename="../metadatamodel.cpp" line="143"/>
|
||||||
<source>Exposure program</source>
|
<source>Exposure program</source>
|
||||||
<translation>Programme d'exposition</translation>
|
<translation>Programme d'exposition</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="143"/>
|
<location filename="../metadatamodel.cpp" line="145"/>
|
||||||
<source>Saturation</source>
|
<source>Saturation</source>
|
||||||
<translation>Saturation</translation>
|
<translation>Saturation</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="145"/>
|
<location filename="../metadatamodel.cpp" line="147"/>
|
||||||
<source>Sharpness</source>
|
<source>Sharpness</source>
|
||||||
<translation>Netteté</translation>
|
<translation>Netteté</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="147"/>
|
<location filename="../metadatamodel.cpp" line="149"/>
|
||||||
<source>White balance</source>
|
<source>White balance</source>
|
||||||
<translation>Balance des blancs</translation>
|
<translation>Balance des blancs</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="149"/>
|
<location filename="../metadatamodel.cpp" line="151"/>
|
||||||
<source>Digital zoom</source>
|
<source>Digital zoom</source>
|
||||||
<translation>Zoom numérique</translation>
|
<translation>Zoom numérique</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="151"/>
|
<location filename="../metadatamodel.cpp" line="153"/>
|
||||||
<source>EXIF version</source>
|
<source>EXIF version</source>
|
||||||
<translation>Version EXIF</translation>
|
<translation>Version EXIF</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="154"/>
|
<location filename="../metadatamodel.cpp" line="156"/>
|
||||||
<source>Latitude reference</source>
|
<source>Latitude reference</source>
|
||||||
<translation>Référence de latitude</translation>
|
<translation>Référence de latitude</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="156"/>
|
<location filename="../metadatamodel.cpp" line="158"/>
|
||||||
<source>Latitude</source>
|
<source>Latitude</source>
|
||||||
<translation>Latitude</translation>
|
<translation>Latitude</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="158"/>
|
<location filename="../metadatamodel.cpp" line="160"/>
|
||||||
<source>Longitude reference</source>
|
<source>Longitude reference</source>
|
||||||
<translation>Référence de longitude</translation>
|
<translation>Référence de longitude</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="160"/>
|
<location filename="../metadatamodel.cpp" line="162"/>
|
||||||
<source>Longitude</source>
|
<source>Longitude</source>
|
||||||
<translation>Longitude</translation>
|
<translation>Longitude</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="162"/>
|
<location filename="../metadatamodel.cpp" line="164"/>
|
||||||
<source>Altitude reference</source>
|
<source>Altitude reference</source>
|
||||||
<translation>Référence d'altitude</translation>
|
<translation>Référence d'altitude</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="164"/>
|
<location filename="../metadatamodel.cpp" line="166"/>
|
||||||
<source>Altitude</source>
|
<source>Altitude</source>
|
||||||
<translation>Altitude</translation>
|
<translation>Altitude</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="174"/>
|
<location filename="../metadatamodel.cpp" line="176"/>
|
||||||
<source>%1 x %2</source>
|
<source>%1 x %2</source>
|
||||||
<translation>%1 × %2</translation>
|
<translation>%1 × %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="192"/>
|
<location filename="../metadatamodel.cpp" line="194"/>
|
||||||
<source>%1 : %2</source>
|
<source>%1 : %2</source>
|
||||||
<translation>%1 : %2</translation>
|
<translation>%1 : %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="317"/>
|
<location filename="../metadatamodel.cpp" line="319"/>
|
||||||
<source>Property</source>
|
<source>Property</source>
|
||||||
<translation>Propriété</translation>
|
<translation>Propriété</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="317"/>
|
<location filename="../metadatamodel.cpp" line="319"/>
|
||||||
<source>Value</source>
|
<source>Value</source>
|
||||||
<translation>Valeur</translation>
|
<translation>Valeur</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -721,126 +726,141 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>SettingsDialog</name>
|
<name>SettingsDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="29"/>
|
<location filename="../settingsdialog.cpp" line="31"/>
|
||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation>Paramètres</translation>
|
<translation>Paramètres</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="37"/>
|
<location filename="../settingsdialog.cpp" line="39"/>
|
||||||
<source>Options</source>
|
<source>Options</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="49"/>
|
<location filename="../settingsdialog.cpp" line="51"/>
|
||||||
<source>Shortcuts</source>
|
<source>Shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="59"/>
|
<location filename="../settingsdialog.cpp" line="61"/>
|
||||||
<source>Editing shortcuts for action "%1":</source>
|
<source>Editing shortcuts for action "%1":</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="68"/>
|
<location filename="../settingsdialog.cpp" line="70"/>
|
||||||
<source>Failed to set shortcuts</source>
|
<source>Failed to set shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="69"/>
|
<location filename="../settingsdialog.cpp" line="71"/>
|
||||||
<source>Please check if shortcuts are duplicated with existing shortcuts.</source>
|
<source>Please check if shortcuts are duplicated with existing shortcuts.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="76"/>
|
<location filename="../settingsdialog.cpp" line="78"/>
|
||||||
<source>Do nothing</source>
|
<source>Do nothing</source>
|
||||||
<translation>Ne rien faire</translation>
|
<translation>Ne rien faire</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="77"/>
|
<location filename="../settingsdialog.cpp" line="79"/>
|
||||||
<source>Close the window</source>
|
<source>Close the window</source>
|
||||||
<translation>Fermer la fenêtre</translation>
|
<translation>Fermer la fenêtre</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="78"/>
|
<location filename="../settingsdialog.cpp" line="80"/>
|
||||||
<source>Toggle maximize</source>
|
<source>Toggle maximize</source>
|
||||||
<translation>Activer/désactiver l'agrandissement</translation>
|
<translation>Activer/désactiver l'agrandissement</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="79"/>
|
<location filename="../settingsdialog.cpp" line="81"/>
|
||||||
<source>Toggle fullscreen</source>
|
<source>Toggle fullscreen</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="83"/>
|
<location filename="../settingsdialog.cpp" line="85"/>
|
||||||
<source>Zoom in and out</source>
|
<source>Zoom in and out</source>
|
||||||
<translation>Zoom avant et arrière</translation>
|
<translation>Zoom avant et arrière</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="84"/>
|
<location filename="../settingsdialog.cpp" line="86"/>
|
||||||
<source>View next or previous item</source>
|
<source>View next or previous item</source>
|
||||||
<translation>Voir l'élément suivant ou précédent</translation>
|
<translation>Voir l'élément suivant ou précédent</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="88"/>
|
<location filename="../settingsdialog.cpp" line="90"/>
|
||||||
<source>Auto size</source>
|
<source>Auto size</source>
|
||||||
<translation>Taille automatique</translation>
|
<translation>Taille automatique</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="89"/>
|
<location filename="../settingsdialog.cpp" line="91"/>
|
||||||
<source>Maximized</source>
|
<source>Maximized</source>
|
||||||
<translation>Agrandi</translation>
|
<translation>Agrandi</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="93"/>
|
<location filename="../settingsdialog.cpp" line="92"/>
|
||||||
|
<source>Windowed</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="96"/>
|
||||||
<source>Round (Integer scaling)</source>
|
<source>Round (Integer scaling)</source>
|
||||||
<comment>This option means round up for .5 and above</comment>
|
<comment>This option means round up for .5 and above</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="94"/>
|
<location filename="../settingsdialog.cpp" line="97"/>
|
||||||
<source>Ceil (Integer scaling)</source>
|
<source>Ceil (Integer scaling)</source>
|
||||||
<comment>This option means always round up</comment>
|
<comment>This option means always round up</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="95"/>
|
<location filename="../settingsdialog.cpp" line="98"/>
|
||||||
<source>Floor (Integer scaling)</source>
|
<source>Floor (Integer scaling)</source>
|
||||||
<comment>This option means always round down</comment>
|
<comment>This option means always round down</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="96"/>
|
<location filename="../settingsdialog.cpp" line="99"/>
|
||||||
<source>Follow system (Fractional scaling)</source>
|
<source>Follow system (Fractional scaling)</source>
|
||||||
<comment>This option means don't round</comment>
|
<comment>This option means don't round</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="119"/>
|
<location filename="../settingsdialog.cpp" line="122"/>
|
||||||
<source>Stay on top when start-up</source>
|
<source>Stay on top when start-up</source>
|
||||||
<translation>Rester en-haut lors du démarrage</translation>
|
<translation>Rester en-haut lors du démarrage</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="120"/>
|
<location filename="../settingsdialog.cpp" line="123"/>
|
||||||
|
<source>Use built-in close window animation</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="124"/>
|
||||||
<source>Use light-color checkerboard</source>
|
<source>Use light-color checkerboard</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="121"/>
|
<location filename="../settingsdialog.cpp" line="125"/>
|
||||||
|
<source>Loop the loaded gallery</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="126"/>
|
||||||
<source>Double-click behavior</source>
|
<source>Double-click behavior</source>
|
||||||
<translation>Comportement du double-clic</translation>
|
<translation>Comportement du double-clic</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="122"/>
|
<location filename="../settingsdialog.cpp" line="127"/>
|
||||||
<source>Mouse wheel behavior</source>
|
<source>Mouse wheel behavior</source>
|
||||||
<translation>Comportement de la molette de la souris</translation>
|
<translation>Comportement de la molette de la souris</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="123"/>
|
<location filename="../settingsdialog.cpp" line="128"/>
|
||||||
<source>Default window size</source>
|
<source>Default window size</source>
|
||||||
<translation>Taille de la fenêtre par défaut</translation>
|
<translation>Taille de la fenêtre par défaut</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="124"/>
|
<location filename="../settingsdialog.cpp" line="129"/>
|
||||||
<source>HiDPI scale factor rounding policy</source>
|
<source>HiDPI scale factor rounding policy</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -848,7 +868,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>ShortcutEdit</name>
|
<name>ShortcutEdit</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../shortcutedit.cpp" line="111"/>
|
<location filename="../shortcutedit.cpp" line="109"/>
|
||||||
<source>No shortcuts</source>
|
<source>No shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -856,7 +876,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>ShortcutEditor</name>
|
<name>ShortcutEditor</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../shortcutedit.cpp" line="77"/>
|
<location filename="../shortcutedit.cpp" line="75"/>
|
||||||
<source>Shortcut #%1</source>
|
<source>Shortcut #%1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -864,17 +884,17 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>main</name>
|
<name>main</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="43"/>
|
<location filename="../main.cpp" line="42"/>
|
||||||
<source>Pineapple Pictures</source>
|
<source>Pineapple Pictures</source>
|
||||||
<translation>Pineapple Pictures</translation>
|
<translation>Pineapple Pictures</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="46"/>
|
<location filename="../main.cpp" line="45"/>
|
||||||
<source>List supported image format suffixes, and quit program.</source>
|
<source>List supported image format suffixes, and quit program.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="50"/>
|
<location filename="../main.cpp" line="49"/>
|
||||||
<source>File list.</source>
|
<source>File list.</source>
|
||||||
<translation>Liste des fichiers.</translation>
|
<translation>Liste des fichiers.</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|||||||
@@ -4,42 +4,42 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>AboutDialog</name>
|
<name>AboutDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="27"/>
|
<location filename="../aboutdialog.cpp" line="29"/>
|
||||||
<source>About</source>
|
<source>About</source>
|
||||||
<translation>Tentang</translation>
|
<translation>Tentang</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="30"/>
|
<location filename="../aboutdialog.cpp" line="32"/>
|
||||||
<source>Launch application with image file path as argument to load the file.</source>
|
<source>Launch application with image file path as argument to load the file.</source>
|
||||||
<translation>Luncurkan aplikasi dengan lokasi file gambar sebagai argumen untuk memuat file.</translation>
|
<translation>Luncurkan aplikasi dengan lokasi file gambar sebagai argumen untuk memuat file.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="31"/>
|
<location filename="../aboutdialog.cpp" line="33"/>
|
||||||
<source>Drag and drop image file onto the window is also supported.</source>
|
<source>Drag and drop image file onto the window is also supported.</source>
|
||||||
<translation>Tarik dan lepaskan gambar ke jendela juga didukung.</translation>
|
<translation>Tarik dan lepaskan gambar ke jendela juga didukung.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="32"/>
|
<location filename="../aboutdialog.cpp" line="34"/>
|
||||||
<source>None of the operations in this application will alter the pictures on disk.</source>
|
<source>None of the operations in this application will alter the pictures on disk.</source>
|
||||||
<translation>Semua operasi pada aplikasi ini tidak akan mengubah gambar pada diska.</translation>
|
<translation>Semua operasi pada aplikasi ini tidak akan mengubah gambar pada diska.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="33"/>
|
<location filename="../aboutdialog.cpp" line="35"/>
|
||||||
<source>Context menu option explanation:</source>
|
<source>Context menu option explanation:</source>
|
||||||
<translation>Penjelasan opsi menu Context:</translation>
|
<translation>Penjelasan opsi menu Context:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="40"/>
|
<location filename="../aboutdialog.cpp" line="42"/>
|
||||||
<source>Make window stay on top of all other windows.</source>
|
<source>Make window stay on top of all other windows.</source>
|
||||||
<translation>Buat jendela tetap di atas semua jendela lainnya.</translation>
|
<translation>Buat jendela tetap di atas semua jendela lainnya.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="43"/>
|
<location filename="../aboutdialog.cpp" line="45"/>
|
||||||
<source>Avoid close window accidentally. (eg. by double clicking the window)</source>
|
<source>Avoid close window accidentally. (eg. by double clicking the window)</source>
|
||||||
<translation>Hindari penutupan jendela secara tidak sengaja (contoh dengan mengklik jendela dua kali)</translation>
|
<translation>Hindari penutupan jendela secara tidak sengaja (contoh dengan mengklik jendela dua kali)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="53"/>
|
<location filename="../aboutdialog.cpp" line="55"/>
|
||||||
<source>Version: %1</source>
|
<source>Version: %1</source>
|
||||||
<translation>Versi: %1</translation>
|
<translation>Versi: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -48,129 +48,129 @@
|
|||||||
<translation type="vanished">Hak Cipta (c) 2020 %1</translation>
|
<translation type="vanished">Hak Cipta (c) 2020 %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="64"/>
|
<location filename="../aboutdialog.cpp" line="66"/>
|
||||||
<source>Logo designed by %1</source>
|
<source>Logo designed by %1</source>
|
||||||
<translation>Logo didesain oleh %1</translation>
|
<translation>Logo didesain oleh %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="66"/>
|
<location filename="../aboutdialog.cpp" line="68"/>
|
||||||
<source>Built with Qt %1 (%2)</source>
|
<source>Built with Qt %1 (%2)</source>
|
||||||
<translation>Dibuat dengan Qt %1 (%2)</translation>
|
<translation>Dibuat dengan Qt %1 (%2)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="67"/>
|
<location filename="../aboutdialog.cpp" line="69"/>
|
||||||
<source>Source code</source>
|
<source>Source code</source>
|
||||||
<translation>Kode sumber</translation>
|
<translation>Kode sumber</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="77"/>
|
<location filename="../aboutdialog.cpp" line="79"/>
|
||||||
<source>Contributors</source>
|
<source>Contributors</source>
|
||||||
<translation>Kontributor-kontributor</translation>
|
<translation>Kontributor-kontributor</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="79"/>
|
<location filename="../aboutdialog.cpp" line="81"/>
|
||||||
<source>List of contributors on GitHub</source>
|
<source>List of contributors on GitHub</source>
|
||||||
<translation>Daftar kontributor di GitHub</translation>
|
<translation>Daftar kontributor di GitHub</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="80"/>
|
<location filename="../aboutdialog.cpp" line="82"/>
|
||||||
<source>Thanks to all people who contributed to this project.</source>
|
<source>Thanks to all people who contributed to this project.</source>
|
||||||
<translation>Terima kasih kepada semua orang yang telah berkontribusi ke proyek ini.</translation>
|
<translation>Terima kasih kepada semua orang yang telah berkontribusi ke proyek ini.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="84"/>
|
<location filename="../aboutdialog.cpp" line="86"/>
|
||||||
<source>Translators</source>
|
<source>Translators</source>
|
||||||
<translation>Penerjemah</translation>
|
<translation>Penerjemah</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="85"/>
|
<location filename="../aboutdialog.cpp" line="87"/>
|
||||||
<source>I would like to thank the following people who volunteered to translate this application.</source>
|
<source>I would like to thank the following people who volunteered to translate this application.</source>
|
||||||
<translation>Saya ingin berterima kasih orang-orang berikut yang secara sukarela menerjemahkan aplikasi ini.</translation>
|
<translation>Saya ingin berterima kasih orang-orang berikut yang secara sukarela menerjemahkan aplikasi ini.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="129"/>
|
<location filename="../aboutdialog.cpp" line="131"/>
|
||||||
<source>%1 is built on the following free software libraries:</source>
|
<source>%1 is built on the following free software libraries:</source>
|
||||||
<comment>Free as in freedom</comment>
|
<comment>Free as in freedom</comment>
|
||||||
<translation>%1 dibangun dengan perpustakaan perangkat lunak bebas berikut:</translation>
|
<translation>%1 dibangun dengan perpustakaan perangkat lunak bebas berikut:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="153"/>
|
<location filename="../aboutdialog.cpp" line="155"/>
|
||||||
<source>&Special Thanks</source>
|
<source>&Special Thanks</source>
|
||||||
<translation>&Terima kasih</translation>
|
<translation>&Terima kasih</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="155"/>
|
<location filename="../aboutdialog.cpp" line="157"/>
|
||||||
<source>&Third-party Libraries</source>
|
<source>&Third-party Libraries</source>
|
||||||
<translation>& Perpustakaan pihak ketiga</translation>
|
<translation>& Perpustakaan pihak ketiga</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="91"/>
|
<location filename="../aboutdialog.cpp" line="93"/>
|
||||||
<source>Your Rights</source>
|
<source>Your Rights</source>
|
||||||
<translation>Hak Anda</translation>
|
<translation>Hak Anda</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="46"/>
|
<location filename="../aboutdialog.cpp" line="48"/>
|
||||||
<source>Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.</source>
|
<source>Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.</source>
|
||||||
<translation>Hindari mengatur ulang keadaan zoom/rotasi/flip yang diterapkan pada tampilan gambar saat beralih antara gambar.</translation>
|
<translation>Hindari mengatur ulang keadaan zoom/rotasi/flip yang diterapkan pada tampilan gambar saat beralih antara gambar.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="61"/>
|
<location filename="../aboutdialog.cpp" line="63"/>
|
||||||
<source>Copyright (c) %1 %2</source>
|
<source>Copyright (c) %1 %2</source>
|
||||||
<comment>%1 is year, %2 is the name of copyright holder(s)</comment>
|
<comment>%1 is year, %2 is the name of copyright holder(s)</comment>
|
||||||
<translation>Hak Cipta (c) %1 %2</translation>
|
<translation>Hak Cipta (c) %1 %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="93"/>
|
<location filename="../aboutdialog.cpp" line="95"/>
|
||||||
<source>%1 is released under the MIT License.</source>
|
<source>%1 is released under the MIT License.</source>
|
||||||
<translation>%1 diluncurkan di bawah lisensi MIT.</translation>
|
<translation>%1 diluncurkan di bawah lisensi MIT.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="94"/>
|
<location filename="../aboutdialog.cpp" line="96"/>
|
||||||
<source>This license grants people a number of freedoms:</source>
|
<source>This license grants people a number of freedoms:</source>
|
||||||
<translation>Lisensi ini memberikan orang-orang beberapa kebebasan:</translation>
|
<translation>Lisensi ini memberikan orang-orang beberapa kebebasan:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="95"/>
|
<location filename="../aboutdialog.cpp" line="97"/>
|
||||||
<source>You are free to use %1, for any purpose</source>
|
<source>You are free to use %1, for any purpose</source>
|
||||||
<translation>Anda bebas menggunakan %1, untuk tujuan apapun</translation>
|
<translation>Anda bebas menggunakan %1, untuk tujuan apapun</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="96"/>
|
<location filename="../aboutdialog.cpp" line="98"/>
|
||||||
<source>You are free to distribute %1</source>
|
<source>You are free to distribute %1</source>
|
||||||
<translation>Anda bebas mendistribusikan %1</translation>
|
<translation>Anda bebas mendistribusikan %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="97"/>
|
<location filename="../aboutdialog.cpp" line="99"/>
|
||||||
<source>You can study how %1 works and change it</source>
|
<source>You can study how %1 works and change it</source>
|
||||||
<translation>Anda dapat mempelajari bagaimana cara %1 bekerja dan mengubahnya</translation>
|
<translation>Anda dapat mempelajari bagaimana cara %1 bekerja dan mengubahnya</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="98"/>
|
<location filename="../aboutdialog.cpp" line="100"/>
|
||||||
<source>You can distribute changed versions of %1</source>
|
<source>You can distribute changed versions of %1</source>
|
||||||
<translation>Anda dapat mendistribusikan versi %1 yang telah diubah</translation>
|
<translation>Anda dapat mendistribusikan versi %1 yang telah diubah</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="100"/>
|
<location filename="../aboutdialog.cpp" line="102"/>
|
||||||
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
|
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
|
||||||
<translation>Lisensi MIT menjamin kebebasan ini. Tidak ada yang pernah diizinkan untuk mengambilnya.</translation>
|
<translation>Lisensi MIT menjamin kebebasan ini. Tidak ada yang pernah diizinkan untuk mengambilnya.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="128"/>
|
<location filename="../aboutdialog.cpp" line="130"/>
|
||||||
<source>Third-party Libraries used by %1</source>
|
<source>Third-party Libraries used by %1</source>
|
||||||
<translation>Perpustakaan pihak ketiga yang digunakan oleh %1</translation>
|
<translation>Perpustakaan pihak ketiga yang digunakan oleh %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="151"/>
|
<location filename="../aboutdialog.cpp" line="153"/>
|
||||||
<source>&Help</source>
|
<source>&Help</source>
|
||||||
<translation>&Dukungan</translation>
|
<translation>&Dukungan</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="152"/>
|
<location filename="../aboutdialog.cpp" line="154"/>
|
||||||
<source>&About</source>
|
<source>&About</source>
|
||||||
<translation>Tentan&g</translation>
|
<translation>Tentan&g</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="154"/>
|
<location filename="../aboutdialog.cpp" line="156"/>
|
||||||
<source>&License</source>
|
<source>&License</source>
|
||||||
<translation>&Lisensi</translation>
|
<translation>&Lisensi</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -178,7 +178,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>GraphicsScene</name>
|
<name>GraphicsScene</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="269"/>
|
<location filename="../mainwindow.cpp" line="276"/>
|
||||||
<location filename="../graphicsscene.cpp" line="100"/>
|
<location filename="../graphicsscene.cpp" line="100"/>
|
||||||
<source>Drag image here</source>
|
<source>Drag image here</source>
|
||||||
<translation>Tarik gambar ke sini</translation>
|
<translation>Tarik gambar ke sini</translation>
|
||||||
@@ -191,13 +191,13 @@
|
|||||||
<translation type="vanished">Daftar url file kosong</translation>
|
<translation type="vanished">Daftar url file kosong</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../graphicsview.cpp" line="52"/>
|
<location filename="../graphicsview.cpp" line="50"/>
|
||||||
<source>File is not a valid image</source>
|
<source>File is not a valid image</source>
|
||||||
<translation>File bukan gambar yang valid</translation>
|
<translation>File bukan gambar yang valid</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../graphicsview.cpp" line="56"/>
|
<location filename="../graphicsview.cpp" line="54"/>
|
||||||
<location filename="../graphicsview.cpp" line="60"/>
|
<location filename="../graphicsview.cpp" line="58"/>
|
||||||
<source>Image data is invalid or currently unsupported</source>
|
<source>Image data is invalid or currently unsupported</source>
|
||||||
<translation>Data gambar tidak valid atau belum didukung</translation>
|
<translation>Data gambar tidak valid atau belum didukung</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -213,38 +213,43 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MainWindow</name>
|
<name>MainWindow</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="180"/>
|
<location filename="../mainwindow.cpp" line="181"/>
|
||||||
<location filename="../mainwindow.cpp" line="540"/>
|
<location filename="../mainwindow.cpp" line="545"/>
|
||||||
<source>File url list is empty</source>
|
<source>File url list is empty</source>
|
||||||
<translation>Daftar url file kosong</translation>
|
<translation>Daftar url file kosong</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="438"/>
|
<location filename="../mainwindow.cpp" line="445"/>
|
||||||
<source>&Copy</source>
|
<source>&Copy</source>
|
||||||
<translation>&Salin</translation>
|
<translation>&Salin</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="548"/>
|
<location filename="../mainwindow.cpp" line="553"/>
|
||||||
<source>Image data is invalid</source>
|
<source>Image data is invalid</source>
|
||||||
<translation>Data gambar tidak valid</translation>
|
<translation>Data gambar tidak valid</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="555"/>
|
<location filename="../mainwindow.cpp" line="560"/>
|
||||||
<source>Not supported mimedata: %1</source>
|
<source>Not supported mimedata: %1</source>
|
||||||
<translation>Tidak didukung mimedata: %1</translation>
|
<translation>Tidak didukung mimedata: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="764"/>
|
<location filename="../mainwindow.cpp" line="759"/>
|
||||||
<source>Image From Clipboard</source>
|
<source>Image From Clipboard</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="782"/>
|
<location filename="../mainwindow.cpp" line="777"/>
|
||||||
<source>Are you sure you want to move "%1" to recycle bin?</source>
|
<source>Are you sure you want to move "%1" to recycle bin?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="787"/>
|
<location filename="../mainwindow.cpp" line="781"/>
|
||||||
|
<source>Failed to move file to trash</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="782"/>
|
||||||
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
|
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -265,19 +270,19 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="118"/>
|
<location filename="../actionmanager.cpp" line="118"/>
|
||||||
<location filename="../aboutdialog.cpp" line="39"/>
|
<location filename="../aboutdialog.cpp" line="41"/>
|
||||||
<source>Stay on top</source>
|
<source>Stay on top</source>
|
||||||
<translation>Tetap di atas</translation>
|
<translation>Tetap di atas</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="119"/>
|
<location filename="../actionmanager.cpp" line="119"/>
|
||||||
<location filename="../aboutdialog.cpp" line="42"/>
|
<location filename="../aboutdialog.cpp" line="44"/>
|
||||||
<source>Protected mode</source>
|
<source>Protected mode</source>
|
||||||
<translation>Mode Terlindungi</translation>
|
<translation>Mode Terlindungi</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="120"/>
|
<location filename="../actionmanager.cpp" line="120"/>
|
||||||
<location filename="../aboutdialog.cpp" line="45"/>
|
<location filename="../aboutdialog.cpp" line="47"/>
|
||||||
<source>Keep transformation</source>
|
<source>Keep transformation</source>
|
||||||
<comment>The 'transformation' means the flip/rotation status that currently applied to the image view</comment>
|
<comment>The 'transformation' means the flip/rotation status that currently applied to the image view</comment>
|
||||||
<translation>Simpan transformasi</translation>
|
<translation>Simpan transformasi</translation>
|
||||||
@@ -363,7 +368,7 @@
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="781"/>
|
<location filename="../mainwindow.cpp" line="776"/>
|
||||||
<location filename="../actionmanager.cpp" line="117"/>
|
<location filename="../actionmanager.cpp" line="117"/>
|
||||||
<source>Move to Trash</source>
|
<source>Move to Trash</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@@ -406,314 +411,314 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MetadataModel</name>
|
<name>MetadataModel</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="41"/>
|
<location filename="../metadatamodel.cpp" line="43"/>
|
||||||
<source>Origin</source>
|
<source>Origin</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="42"/>
|
<location filename="../metadatamodel.cpp" line="44"/>
|
||||||
<source>Image</source>
|
<source>Image</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Gambar</translation>
|
<translation>Gambar</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="46"/>
|
<location filename="../metadatamodel.cpp" line="48"/>
|
||||||
<source>File</source>
|
<source>File</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Berkas</translation>
|
<translation>Berkas</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="43"/>
|
<location filename="../metadatamodel.cpp" line="45"/>
|
||||||
<source>Camera</source>
|
<source>Camera</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Kamera</translation>
|
<translation>Kamera</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="33"/>
|
<location filename="../metadatamodel.cpp" line="35"/>
|
||||||
<source>%1 File</source>
|
<source>%1 File</source>
|
||||||
<translation>%1 Berkas</translation>
|
<translation>%1 Berkas</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="40"/>
|
<location filename="../metadatamodel.cpp" line="42"/>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Keterangan</translation>
|
<translation>Keterangan</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="44"/>
|
<location filename="../metadatamodel.cpp" line="46"/>
|
||||||
<source>Advanced photo</source>
|
<source>Advanced photo</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="45"/>
|
<location filename="../metadatamodel.cpp" line="47"/>
|
||||||
<source>GPS</source>
|
<source>GPS</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>GPS</translation>
|
<translation>GPS</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="50"/>
|
<location filename="../metadatamodel.cpp" line="52"/>
|
||||||
<source>Dimensions</source>
|
<source>Dimensions</source>
|
||||||
<translation>Dimensi</translation>
|
<translation>Dimensi</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="52"/>
|
<location filename="../metadatamodel.cpp" line="54"/>
|
||||||
<source>Aspect ratio</source>
|
<source>Aspect ratio</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="56"/>
|
<location filename="../metadatamodel.cpp" line="58"/>
|
||||||
<source>Frame count</source>
|
<source>Frame count</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="60"/>
|
<location filename="../metadatamodel.cpp" line="62"/>
|
||||||
<source>Name</source>
|
<source>Name</source>
|
||||||
<translation>Nama</translation>
|
<translation>Nama</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="62"/>
|
<location filename="../metadatamodel.cpp" line="64"/>
|
||||||
<source>Item type</source>
|
<source>Item type</source>
|
||||||
<translation>Jenis item</translation>
|
<translation>Jenis item</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="64"/>
|
<location filename="../metadatamodel.cpp" line="66"/>
|
||||||
<source>Folder path</source>
|
<source>Folder path</source>
|
||||||
<translation>Path folder</translation>
|
<translation>Path folder</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="66"/>
|
<location filename="../metadatamodel.cpp" line="68"/>
|
||||||
<source>Size</source>
|
<source>Size</source>
|
||||||
<translation>Ukuran</translation>
|
<translation>Ukuran</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="68"/>
|
<location filename="../metadatamodel.cpp" line="70"/>
|
||||||
<source>Date created</source>
|
<source>Date created</source>
|
||||||
<translation>Tanggal dibuat</translation>
|
<translation>Tanggal dibuat</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="70"/>
|
<location filename="../metadatamodel.cpp" line="72"/>
|
||||||
<source>Date modified</source>
|
<source>Date modified</source>
|
||||||
<translation>Tanggal dimodifikasi</translation>
|
<translation>Tanggal dimodifikasi</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="77"/>
|
<location filename="../metadatamodel.cpp" line="79"/>
|
||||||
<source>Title</source>
|
<source>Title</source>
|
||||||
<translation>Judul</translation>
|
<translation>Judul</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="79"/>
|
<location filename="../metadatamodel.cpp" line="81"/>
|
||||||
<source>Subject</source>
|
<source>Subject</source>
|
||||||
<translation>Subyek</translation>
|
<translation>Subyek</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="81"/>
|
<location filename="../metadatamodel.cpp" line="83"/>
|
||||||
<source>Rating</source>
|
<source>Rating</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="83"/>
|
<location filename="../metadatamodel.cpp" line="85"/>
|
||||||
<source>Tags</source>
|
<source>Tags</source>
|
||||||
<translation>Tag</translation>
|
<translation>Tag</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="85"/>
|
<location filename="../metadatamodel.cpp" line="87"/>
|
||||||
<source>Comments</source>
|
<source>Comments</source>
|
||||||
<translation>Komentar</translation>
|
<translation>Komentar</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="88"/>
|
<location filename="../metadatamodel.cpp" line="90"/>
|
||||||
<source>Authors</source>
|
<source>Authors</source>
|
||||||
<translation>Penulis</translation>
|
<translation>Penulis</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="90"/>
|
<location filename="../metadatamodel.cpp" line="92"/>
|
||||||
<source>Date taken</source>
|
<source>Date taken</source>
|
||||||
<translation>Tanggal diambil</translation>
|
<translation>Tanggal diambil</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="96"/>
|
<location filename="../metadatamodel.cpp" line="98"/>
|
||||||
<source>Program name</source>
|
<source>Program name</source>
|
||||||
<translation>Nama program</translation>
|
<translation>Nama program</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="98"/>
|
<location filename="../metadatamodel.cpp" line="100"/>
|
||||||
<source>Copyright</source>
|
<source>Copyright</source>
|
||||||
<translation>Hak cipta</translation>
|
<translation>Hak cipta</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="101"/>
|
<location filename="../metadatamodel.cpp" line="103"/>
|
||||||
<source>Horizontal resolution</source>
|
<source>Horizontal resolution</source>
|
||||||
<translation>Resolusi horizontal</translation>
|
<translation>Resolusi horizontal</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="103"/>
|
<location filename="../metadatamodel.cpp" line="105"/>
|
||||||
<source>Vertical resolution</source>
|
<source>Vertical resolution</source>
|
||||||
<translation>Resolusi vertikal</translation>
|
<translation>Resolusi vertikal</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="105"/>
|
<location filename="../metadatamodel.cpp" line="107"/>
|
||||||
<source>Resolution unit</source>
|
<source>Resolution unit</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="107"/>
|
<location filename="../metadatamodel.cpp" line="109"/>
|
||||||
<source>Colour representation</source>
|
<source>Colour representation</source>
|
||||||
<translation type="unfinished">Representasi warna</translation>
|
<translation type="unfinished">Representasi warna</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="110"/>
|
<location filename="../metadatamodel.cpp" line="112"/>
|
||||||
<source>Camera maker</source>
|
<source>Camera maker</source>
|
||||||
<translation>Pembuat kamera</translation>
|
<translation>Pembuat kamera</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="112"/>
|
<location filename="../metadatamodel.cpp" line="114"/>
|
||||||
<source>Camera model</source>
|
<source>Camera model</source>
|
||||||
<translation>Model kamera</translation>
|
<translation>Model kamera</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="114"/>
|
<location filename="../metadatamodel.cpp" line="116"/>
|
||||||
<source>F-stop</source>
|
<source>F-stop</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="116"/>
|
<location filename="../metadatamodel.cpp" line="118"/>
|
||||||
<source>Exposure time</source>
|
<source>Exposure time</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="118"/>
|
<location filename="../metadatamodel.cpp" line="120"/>
|
||||||
<source>ISO speed</source>
|
<source>ISO speed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="120"/>
|
<location filename="../metadatamodel.cpp" line="122"/>
|
||||||
<source>Exposure bias</source>
|
<source>Exposure bias</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="122"/>
|
<location filename="../metadatamodel.cpp" line="124"/>
|
||||||
<source>Focal length</source>
|
<source>Focal length</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="124"/>
|
<location filename="../metadatamodel.cpp" line="126"/>
|
||||||
<source>Max aperture</source>
|
<source>Max aperture</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="126"/>
|
<location filename="../metadatamodel.cpp" line="128"/>
|
||||||
<source>Metering mode</source>
|
<source>Metering mode</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="128"/>
|
<location filename="../metadatamodel.cpp" line="130"/>
|
||||||
<source>Subject distance</source>
|
<source>Subject distance</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="130"/>
|
<location filename="../metadatamodel.cpp" line="132"/>
|
||||||
<source>Flash mode</source>
|
<source>Flash mode</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="132"/>
|
<location filename="../metadatamodel.cpp" line="134"/>
|
||||||
<source>35mm focal length</source>
|
<source>35mm focal length</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="135"/>
|
<location filename="../metadatamodel.cpp" line="137"/>
|
||||||
<source>Lens model</source>
|
<source>Lens model</source>
|
||||||
<translation>Model lensa</translation>
|
<translation>Model lensa</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="137"/>
|
<location filename="../metadatamodel.cpp" line="139"/>
|
||||||
<source>Contrast</source>
|
<source>Contrast</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="139"/>
|
<location filename="../metadatamodel.cpp" line="141"/>
|
||||||
<source>Brightness</source>
|
<source>Brightness</source>
|
||||||
<translation>Kecerahan</translation>
|
<translation>Kecerahan</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="141"/>
|
<location filename="../metadatamodel.cpp" line="143"/>
|
||||||
<source>Exposure program</source>
|
<source>Exposure program</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="143"/>
|
<location filename="../metadatamodel.cpp" line="145"/>
|
||||||
<source>Saturation</source>
|
<source>Saturation</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="145"/>
|
<location filename="../metadatamodel.cpp" line="147"/>
|
||||||
<source>Sharpness</source>
|
<source>Sharpness</source>
|
||||||
<translation>Ketajaman</translation>
|
<translation>Ketajaman</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="147"/>
|
<location filename="../metadatamodel.cpp" line="149"/>
|
||||||
<source>White balance</source>
|
<source>White balance</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="149"/>
|
<location filename="../metadatamodel.cpp" line="151"/>
|
||||||
<source>Digital zoom</source>
|
<source>Digital zoom</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="151"/>
|
<location filename="../metadatamodel.cpp" line="153"/>
|
||||||
<source>EXIF version</source>
|
<source>EXIF version</source>
|
||||||
<translation>Versi EXIF</translation>
|
<translation>Versi EXIF</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="154"/>
|
<location filename="../metadatamodel.cpp" line="156"/>
|
||||||
<source>Latitude reference</source>
|
<source>Latitude reference</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="156"/>
|
<location filename="../metadatamodel.cpp" line="158"/>
|
||||||
<source>Latitude</source>
|
<source>Latitude</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="158"/>
|
<location filename="../metadatamodel.cpp" line="160"/>
|
||||||
<source>Longitude reference</source>
|
<source>Longitude reference</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="160"/>
|
<location filename="../metadatamodel.cpp" line="162"/>
|
||||||
<source>Longitude</source>
|
<source>Longitude</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="162"/>
|
<location filename="../metadatamodel.cpp" line="164"/>
|
||||||
<source>Altitude reference</source>
|
<source>Altitude reference</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="164"/>
|
<location filename="../metadatamodel.cpp" line="166"/>
|
||||||
<source>Altitude</source>
|
<source>Altitude</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="174"/>
|
<location filename="../metadatamodel.cpp" line="176"/>
|
||||||
<source>%1 x %2</source>
|
<source>%1 x %2</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="192"/>
|
<location filename="../metadatamodel.cpp" line="194"/>
|
||||||
<source>%1 : %2</source>
|
<source>%1 : %2</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="317"/>
|
<location filename="../metadatamodel.cpp" line="319"/>
|
||||||
<source>Property</source>
|
<source>Property</source>
|
||||||
<translation>Properti</translation>
|
<translation>Properti</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="317"/>
|
<location filename="../metadatamodel.cpp" line="319"/>
|
||||||
<source>Value</source>
|
<source>Value</source>
|
||||||
<translation>Nilai</translation>
|
<translation>Nilai</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -721,126 +726,141 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>SettingsDialog</name>
|
<name>SettingsDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="29"/>
|
<location filename="../settingsdialog.cpp" line="31"/>
|
||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation>Pengaturan</translation>
|
<translation>Pengaturan</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="37"/>
|
<location filename="../settingsdialog.cpp" line="39"/>
|
||||||
<source>Options</source>
|
<source>Options</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="49"/>
|
<location filename="../settingsdialog.cpp" line="51"/>
|
||||||
<source>Shortcuts</source>
|
<source>Shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="59"/>
|
<location filename="../settingsdialog.cpp" line="61"/>
|
||||||
<source>Editing shortcuts for action "%1":</source>
|
<source>Editing shortcuts for action "%1":</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="68"/>
|
<location filename="../settingsdialog.cpp" line="70"/>
|
||||||
<source>Failed to set shortcuts</source>
|
<source>Failed to set shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="69"/>
|
<location filename="../settingsdialog.cpp" line="71"/>
|
||||||
<source>Please check if shortcuts are duplicated with existing shortcuts.</source>
|
<source>Please check if shortcuts are duplicated with existing shortcuts.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="76"/>
|
<location filename="../settingsdialog.cpp" line="78"/>
|
||||||
<source>Do nothing</source>
|
<source>Do nothing</source>
|
||||||
<translation>Jangan lakukan apapun</translation>
|
<translation>Jangan lakukan apapun</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="77"/>
|
<location filename="../settingsdialog.cpp" line="79"/>
|
||||||
<source>Close the window</source>
|
<source>Close the window</source>
|
||||||
<translation>Tutup jendela</translation>
|
<translation>Tutup jendela</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="78"/>
|
<location filename="../settingsdialog.cpp" line="80"/>
|
||||||
<source>Toggle maximize</source>
|
<source>Toggle maximize</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="79"/>
|
<location filename="../settingsdialog.cpp" line="81"/>
|
||||||
<source>Toggle fullscreen</source>
|
<source>Toggle fullscreen</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="83"/>
|
<location filename="../settingsdialog.cpp" line="85"/>
|
||||||
<source>Zoom in and out</source>
|
<source>Zoom in and out</source>
|
||||||
<translation>Perbesar dan perkecil</translation>
|
<translation>Perbesar dan perkecil</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="84"/>
|
<location filename="../settingsdialog.cpp" line="86"/>
|
||||||
<source>View next or previous item</source>
|
<source>View next or previous item</source>
|
||||||
<translation>Lihat item berikutnya atau sebelumnya</translation>
|
<translation>Lihat item berikutnya atau sebelumnya</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="88"/>
|
<location filename="../settingsdialog.cpp" line="90"/>
|
||||||
<source>Auto size</source>
|
<source>Auto size</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="89"/>
|
<location filename="../settingsdialog.cpp" line="91"/>
|
||||||
<source>Maximized</source>
|
<source>Maximized</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="93"/>
|
<location filename="../settingsdialog.cpp" line="92"/>
|
||||||
|
<source>Windowed</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="96"/>
|
||||||
<source>Round (Integer scaling)</source>
|
<source>Round (Integer scaling)</source>
|
||||||
<comment>This option means round up for .5 and above</comment>
|
<comment>This option means round up for .5 and above</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="94"/>
|
<location filename="../settingsdialog.cpp" line="97"/>
|
||||||
<source>Ceil (Integer scaling)</source>
|
<source>Ceil (Integer scaling)</source>
|
||||||
<comment>This option means always round up</comment>
|
<comment>This option means always round up</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="95"/>
|
<location filename="../settingsdialog.cpp" line="98"/>
|
||||||
<source>Floor (Integer scaling)</source>
|
<source>Floor (Integer scaling)</source>
|
||||||
<comment>This option means always round down</comment>
|
<comment>This option means always round down</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="96"/>
|
<location filename="../settingsdialog.cpp" line="99"/>
|
||||||
<source>Follow system (Fractional scaling)</source>
|
<source>Follow system (Fractional scaling)</source>
|
||||||
<comment>This option means don't round</comment>
|
<comment>This option means don't round</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="119"/>
|
<location filename="../settingsdialog.cpp" line="122"/>
|
||||||
<source>Stay on top when start-up</source>
|
<source>Stay on top when start-up</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<location filename="../settingsdialog.cpp" line="120"/>
|
|
||||||
<source>Use light-color checkerboard</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../settingsdialog.cpp" line="121"/>
|
|
||||||
<source>Double-click behavior</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../settingsdialog.cpp" line="122"/>
|
|
||||||
<source>Mouse wheel behavior</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="123"/>
|
<location filename="../settingsdialog.cpp" line="123"/>
|
||||||
<source>Default window size</source>
|
<source>Use built-in close window animation</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="124"/>
|
<location filename="../settingsdialog.cpp" line="124"/>
|
||||||
|
<source>Use light-color checkerboard</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="125"/>
|
||||||
|
<source>Loop the loaded gallery</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="126"/>
|
||||||
|
<source>Double-click behavior</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="127"/>
|
||||||
|
<source>Mouse wheel behavior</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="128"/>
|
||||||
|
<source>Default window size</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="129"/>
|
||||||
<source>HiDPI scale factor rounding policy</source>
|
<source>HiDPI scale factor rounding policy</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -848,7 +868,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>ShortcutEdit</name>
|
<name>ShortcutEdit</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../shortcutedit.cpp" line="111"/>
|
<location filename="../shortcutedit.cpp" line="109"/>
|
||||||
<source>No shortcuts</source>
|
<source>No shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -856,7 +876,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>ShortcutEditor</name>
|
<name>ShortcutEditor</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../shortcutedit.cpp" line="77"/>
|
<location filename="../shortcutedit.cpp" line="75"/>
|
||||||
<source>Shortcut #%1</source>
|
<source>Shortcut #%1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -864,17 +884,17 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>main</name>
|
<name>main</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="43"/>
|
<location filename="../main.cpp" line="42"/>
|
||||||
<source>Pineapple Pictures</source>
|
<source>Pineapple Pictures</source>
|
||||||
<translation>Pineapple Pictures</translation>
|
<translation>Pineapple Pictures</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="46"/>
|
<location filename="../main.cpp" line="45"/>
|
||||||
<source>List supported image format suffixes, and quit program.</source>
|
<source>List supported image format suffixes, and quit program.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="50"/>
|
<location filename="../main.cpp" line="49"/>
|
||||||
<source>File list.</source>
|
<source>File list.</source>
|
||||||
<translation>Daftar berkas.</translation>
|
<translation>Daftar berkas.</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|||||||
@@ -4,169 +4,169 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>AboutDialog</name>
|
<name>AboutDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="27"/>
|
<location filename="../aboutdialog.cpp" line="29"/>
|
||||||
<source>About</source>
|
<source>About</source>
|
||||||
<translation>Informazioni</translation>
|
<translation>Informazioni</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="30"/>
|
<location filename="../aboutdialog.cpp" line="32"/>
|
||||||
<source>Launch application with image file path as argument to load the file.</source>
|
<source>Launch application with image file path as argument to load the file.</source>
|
||||||
<translation>Avvia l'applicazione con il percorso del file immagine come argomento per caricare il file.</translation>
|
<translation>Avvia l'applicazione con il percorso del file immagine come argomento per caricare il file.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="31"/>
|
<location filename="../aboutdialog.cpp" line="33"/>
|
||||||
<source>Drag and drop image file onto the window is also supported.</source>
|
<source>Drag and drop image file onto the window is also supported.</source>
|
||||||
<translation>È supportato anche il trascinamento del file immagine sulla finestra.</translation>
|
<translation>È supportato anche il trascinamento del file immagine sulla finestra.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="32"/>
|
<location filename="../aboutdialog.cpp" line="34"/>
|
||||||
<source>None of the operations in this application will alter the pictures on disk.</source>
|
<source>None of the operations in this application will alter the pictures on disk.</source>
|
||||||
<translation>Nessuna delle operazioni in questa applicazione altererà le immagini sul disco.</translation>
|
<translation>Nessuna delle operazioni in questa applicazione altererà le immagini sul disco.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="33"/>
|
<location filename="../aboutdialog.cpp" line="35"/>
|
||||||
<source>Context menu option explanation:</source>
|
<source>Context menu option explanation:</source>
|
||||||
<translation>Spiegazione delle opzioni del menu contestuale:</translation>
|
<translation>Spiegazione delle opzioni del menu contestuale:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="40"/>
|
<location filename="../aboutdialog.cpp" line="42"/>
|
||||||
<source>Make window stay on top of all other windows.</source>
|
<source>Make window stay on top of all other windows.</source>
|
||||||
<translation>Fai in modo che la finestra rimanga in cima a tutte le altre finestre.</translation>
|
<translation>Fai in modo che la finestra rimanga in cima a tutte le altre finestre.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="43"/>
|
<location filename="../aboutdialog.cpp" line="45"/>
|
||||||
<source>Avoid close window accidentally. (eg. by double clicking the window)</source>
|
<source>Avoid close window accidentally. (eg. by double clicking the window)</source>
|
||||||
<translation>Evitare di chiudere accidentalmente la finestra. (es. facendo doppio clic sulla finestra)</translation>
|
<translation>Evitare di chiudere accidentalmente la finestra. (es. facendo doppio clic sulla finestra)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="46"/>
|
<location filename="../aboutdialog.cpp" line="48"/>
|
||||||
<source>Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.</source>
|
<source>Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.</source>
|
||||||
<translation>Evitare di reimpostare lo stato di zoom/rotazione/capovolgimento applicato alla visualizzazione dell'immagine quando si passa da un'immagine all'altra.</translation>
|
<translation>Evitare di reimpostare lo stato di zoom/rotazione/capovolgimento applicato alla visualizzazione dell'immagine quando si passa da un'immagine all'altra.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="53"/>
|
<location filename="../aboutdialog.cpp" line="55"/>
|
||||||
<source>Version: %1</source>
|
<source>Version: %1</source>
|
||||||
<translation>Versione: %1</translation>
|
<translation>Versione: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="64"/>
|
<location filename="../aboutdialog.cpp" line="66"/>
|
||||||
<source>Logo designed by %1</source>
|
<source>Logo designed by %1</source>
|
||||||
<translation>Logo disegnato da %1</translation>
|
<translation>Logo disegnato da %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="66"/>
|
<location filename="../aboutdialog.cpp" line="68"/>
|
||||||
<source>Built with Qt %1 (%2)</source>
|
<source>Built with Qt %1 (%2)</source>
|
||||||
<translation>Costruito con Qt %1 (%2)</translation>
|
<translation>Costruito con Qt %1 (%2)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="67"/>
|
<location filename="../aboutdialog.cpp" line="69"/>
|
||||||
<source>Source code</source>
|
<source>Source code</source>
|
||||||
<translation>Codice sorgente</translation>
|
<translation>Codice sorgente</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="77"/>
|
<location filename="../aboutdialog.cpp" line="79"/>
|
||||||
<source>Contributors</source>
|
<source>Contributors</source>
|
||||||
<translation>Contributori</translation>
|
<translation>Contributori</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="79"/>
|
<location filename="../aboutdialog.cpp" line="81"/>
|
||||||
<source>List of contributors on GitHub</source>
|
<source>List of contributors on GitHub</source>
|
||||||
<translation>Elenco dei contributori su GitHub</translation>
|
<translation>Elenco dei contributori su GitHub</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="80"/>
|
<location filename="../aboutdialog.cpp" line="82"/>
|
||||||
<source>Thanks to all people who contributed to this project.</source>
|
<source>Thanks to all people who contributed to this project.</source>
|
||||||
<translation>Grazie a tutte le persone che hanno contribuito a questo progetto.</translation>
|
<translation>Grazie a tutte le persone che hanno contribuito a questo progetto.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="84"/>
|
<location filename="../aboutdialog.cpp" line="86"/>
|
||||||
<source>Translators</source>
|
<source>Translators</source>
|
||||||
<translation>Traduttori</translation>
|
<translation>Traduttori</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="85"/>
|
<location filename="../aboutdialog.cpp" line="87"/>
|
||||||
<source>I would like to thank the following people who volunteered to translate this application.</source>
|
<source>I would like to thank the following people who volunteered to translate this application.</source>
|
||||||
<translation>Vorrei ringraziare le seguenti persone che si sono offerte volontarie per tradurre questa applicazione.</translation>
|
<translation>Vorrei ringraziare le seguenti persone che si sono offerte volontarie per tradurre questa applicazione.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="129"/>
|
<location filename="../aboutdialog.cpp" line="131"/>
|
||||||
<source>%1 is built on the following free software libraries:</source>
|
<source>%1 is built on the following free software libraries:</source>
|
||||||
<comment>Free as in freedom</comment>
|
<comment>Free as in freedom</comment>
|
||||||
<translation>%1 si basa sulle seguenti librerie di software libero:</translation>
|
<translation>%1 si basa sulle seguenti librerie di software libero:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="153"/>
|
<location filename="../aboutdialog.cpp" line="155"/>
|
||||||
<source>&Special Thanks</source>
|
<source>&Special Thanks</source>
|
||||||
<translation>&Ringraziamenti speciali</translation>
|
<translation>&Ringraziamenti speciali</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="155"/>
|
<location filename="../aboutdialog.cpp" line="157"/>
|
||||||
<source>&Third-party Libraries</source>
|
<source>&Third-party Libraries</source>
|
||||||
<translation>&Librerie di terze parti</translation>
|
<translation>&Librerie di terze parti</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="91"/>
|
<location filename="../aboutdialog.cpp" line="93"/>
|
||||||
<source>Your Rights</source>
|
<source>Your Rights</source>
|
||||||
<translation>I tuoi diritti</translation>
|
<translation>I tuoi diritti</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="61"/>
|
<location filename="../aboutdialog.cpp" line="63"/>
|
||||||
<source>Copyright (c) %1 %2</source>
|
<source>Copyright (c) %1 %2</source>
|
||||||
<comment>%1 is year, %2 is the name of copyright holder(s)</comment>
|
<comment>%1 is year, %2 is the name of copyright holder(s)</comment>
|
||||||
<translation>Copyright (c) %1 %2</translation>
|
<translation>Copyright (c) %1 %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="93"/>
|
<location filename="../aboutdialog.cpp" line="95"/>
|
||||||
<source>%1 is released under the MIT License.</source>
|
<source>%1 is released under the MIT License.</source>
|
||||||
<translation>%1 è rilasciato sotto licenza MIT.</translation>
|
<translation>%1 è rilasciato sotto licenza MIT.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="94"/>
|
<location filename="../aboutdialog.cpp" line="96"/>
|
||||||
<source>This license grants people a number of freedoms:</source>
|
<source>This license grants people a number of freedoms:</source>
|
||||||
<translation>Questa licenza garantisce alle persone una serie di libertà:</translation>
|
<translation>Questa licenza garantisce alle persone una serie di libertà:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="95"/>
|
<location filename="../aboutdialog.cpp" line="97"/>
|
||||||
<source>You are free to use %1, for any purpose</source>
|
<source>You are free to use %1, for any purpose</source>
|
||||||
<translation>Sei libero di usare %1, per qualsiasi scopo</translation>
|
<translation>Sei libero di usare %1, per qualsiasi scopo</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="96"/>
|
<location filename="../aboutdialog.cpp" line="98"/>
|
||||||
<source>You are free to distribute %1</source>
|
<source>You are free to distribute %1</source>
|
||||||
<translation>Sei libero di distribuire %1</translation>
|
<translation>Sei libero di distribuire %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="97"/>
|
<location filename="../aboutdialog.cpp" line="99"/>
|
||||||
<source>You can study how %1 works and change it</source>
|
<source>You can study how %1 works and change it</source>
|
||||||
<translation>Puoi studiare come funziona %1 e cambiarlo</translation>
|
<translation>Puoi studiare come funziona %1 e cambiarlo</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="98"/>
|
<location filename="../aboutdialog.cpp" line="100"/>
|
||||||
<source>You can distribute changed versions of %1</source>
|
<source>You can distribute changed versions of %1</source>
|
||||||
<translation>Puoi distribuire versioni modificate di %1</translation>
|
<translation>Puoi distribuire versioni modificate di %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="100"/>
|
<location filename="../aboutdialog.cpp" line="102"/>
|
||||||
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
|
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
|
||||||
<translation>La licenza MIT ti garantisce questa libertà. A nessuno è mai permesso portarlo via.</translation>
|
<translation>La licenza MIT ti garantisce questa libertà. A nessuno è mai permesso portarlo via.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="128"/>
|
<location filename="../aboutdialog.cpp" line="130"/>
|
||||||
<source>Third-party Libraries used by %1</source>
|
<source>Third-party Libraries used by %1</source>
|
||||||
<translation>Librerie di terze parti utilizzate da %1</translation>
|
<translation>Librerie di terze parti utilizzate da %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="151"/>
|
<location filename="../aboutdialog.cpp" line="153"/>
|
||||||
<source>&Help</source>
|
<source>&Help</source>
|
||||||
<translation>&Aiuto</translation>
|
<translation>&Aiuto</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="152"/>
|
<location filename="../aboutdialog.cpp" line="154"/>
|
||||||
<source>&About</source>
|
<source>&About</source>
|
||||||
<translation>&Informazioni</translation>
|
<translation>&Informazioni</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="154"/>
|
<location filename="../aboutdialog.cpp" line="156"/>
|
||||||
<source>&License</source>
|
<source>&License</source>
|
||||||
<translation>&Licenza</translation>
|
<translation>&Licenza</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -174,7 +174,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>GraphicsScene</name>
|
<name>GraphicsScene</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="269"/>
|
<location filename="../mainwindow.cpp" line="276"/>
|
||||||
<location filename="../graphicsscene.cpp" line="100"/>
|
<location filename="../graphicsscene.cpp" line="100"/>
|
||||||
<source>Drag image here</source>
|
<source>Drag image here</source>
|
||||||
<translation>Trascina qui l'immagine</translation>
|
<translation>Trascina qui l'immagine</translation>
|
||||||
@@ -187,13 +187,13 @@
|
|||||||
<translation type="vanished">L'elenco degli URL dei file è vuoto</translation>
|
<translation type="vanished">L'elenco degli URL dei file è vuoto</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../graphicsview.cpp" line="52"/>
|
<location filename="../graphicsview.cpp" line="50"/>
|
||||||
<source>File is not a valid image</source>
|
<source>File is not a valid image</source>
|
||||||
<translation>Il file non è un'immagine valida</translation>
|
<translation>Il file non è un'immagine valida</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../graphicsview.cpp" line="56"/>
|
<location filename="../graphicsview.cpp" line="54"/>
|
||||||
<location filename="../graphicsview.cpp" line="60"/>
|
<location filename="../graphicsview.cpp" line="58"/>
|
||||||
<source>Image data is invalid or currently unsupported</source>
|
<source>Image data is invalid or currently unsupported</source>
|
||||||
<translation>I dati dell'immagine non sono validi o non sono attualmente supportati</translation>
|
<translation>I dati dell'immagine non sono validi o non sono attualmente supportati</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -209,38 +209,43 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MainWindow</name>
|
<name>MainWindow</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="180"/>
|
<location filename="../mainwindow.cpp" line="181"/>
|
||||||
<location filename="../mainwindow.cpp" line="540"/>
|
<location filename="../mainwindow.cpp" line="545"/>
|
||||||
<source>File url list is empty</source>
|
<source>File url list is empty</source>
|
||||||
<translation>L'elenco degli URL dei file è vuoto</translation>
|
<translation>L'elenco degli URL dei file è vuoto</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="438"/>
|
<location filename="../mainwindow.cpp" line="445"/>
|
||||||
<source>&Copy</source>
|
<source>&Copy</source>
|
||||||
<translation>&Copia</translation>
|
<translation>&Copia</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="548"/>
|
<location filename="../mainwindow.cpp" line="553"/>
|
||||||
<source>Image data is invalid</source>
|
<source>Image data is invalid</source>
|
||||||
<translation>I dati dell'immagine non sono validi</translation>
|
<translation>I dati dell'immagine non sono validi</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="555"/>
|
<location filename="../mainwindow.cpp" line="560"/>
|
||||||
<source>Not supported mimedata: %1</source>
|
<source>Not supported mimedata: %1</source>
|
||||||
<translation>Dati mime non supportati: %1</translation>
|
<translation>Dati mime non supportati: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="764"/>
|
<location filename="../mainwindow.cpp" line="759"/>
|
||||||
<source>Image From Clipboard</source>
|
<source>Image From Clipboard</source>
|
||||||
<translation>Immagine dagli appunti</translation>
|
<translation>Immagine dagli appunti</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="782"/>
|
<location filename="../mainwindow.cpp" line="777"/>
|
||||||
<source>Are you sure you want to move "%1" to recycle bin?</source>
|
<source>Are you sure you want to move "%1" to recycle bin?</source>
|
||||||
<translation>Sei sicuro di voler spostare "%1" nel cestino?</translation>
|
<translation>Sei sicuro di voler spostare "%1" nel cestino?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="787"/>
|
<location filename="../mainwindow.cpp" line="781"/>
|
||||||
|
<source>Failed to move file to trash</source>
|
||||||
|
<translation>Impossibile spostare il file nel cestino</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="782"/>
|
||||||
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
|
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
|
||||||
<translation>Lo spostamento nel cestino non è riuscito, potrebbe essere causato da un problema di autorizzazione del file, da una limitazione del file system o da una limitazione della piattaforma.</translation>
|
<translation>Lo spostamento nel cestino non è riuscito, potrebbe essere causato da un problema di autorizzazione del file, da una limitazione del file system o da una limitazione della piattaforma.</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -261,19 +266,19 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="118"/>
|
<location filename="../actionmanager.cpp" line="118"/>
|
||||||
<location filename="../aboutdialog.cpp" line="39"/>
|
<location filename="../aboutdialog.cpp" line="41"/>
|
||||||
<source>Stay on top</source>
|
<source>Stay on top</source>
|
||||||
<translation>Rimani in cima</translation>
|
<translation>Rimani in cima</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="119"/>
|
<location filename="../actionmanager.cpp" line="119"/>
|
||||||
<location filename="../aboutdialog.cpp" line="42"/>
|
<location filename="../aboutdialog.cpp" line="44"/>
|
||||||
<source>Protected mode</source>
|
<source>Protected mode</source>
|
||||||
<translation>Modalità protetta</translation>
|
<translation>Modalità protetta</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="120"/>
|
<location filename="../actionmanager.cpp" line="120"/>
|
||||||
<location filename="../aboutdialog.cpp" line="45"/>
|
<location filename="../aboutdialog.cpp" line="47"/>
|
||||||
<source>Keep transformation</source>
|
<source>Keep transformation</source>
|
||||||
<comment>The 'transformation' means the flip/rotation status that currently applied to the image view</comment>
|
<comment>The 'transformation' means the flip/rotation status that currently applied to the image view</comment>
|
||||||
<translation>Mantieni trasformazione</translation>
|
<translation>Mantieni trasformazione</translation>
|
||||||
@@ -359,7 +364,7 @@
|
|||||||
<translation>Immagine successiva</translation>
|
<translation>Immagine successiva</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="781"/>
|
<location filename="../mainwindow.cpp" line="776"/>
|
||||||
<location filename="../actionmanager.cpp" line="117"/>
|
<location filename="../actionmanager.cpp" line="117"/>
|
||||||
<source>Move to Trash</source>
|
<source>Move to Trash</source>
|
||||||
<translation>Sposta nel cestino</translation>
|
<translation>Sposta nel cestino</translation>
|
||||||
@@ -402,314 +407,314 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MetadataModel</name>
|
<name>MetadataModel</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="41"/>
|
<location filename="../metadatamodel.cpp" line="43"/>
|
||||||
<source>Origin</source>
|
<source>Origin</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Origine</translation>
|
<translation>Origine</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="42"/>
|
<location filename="../metadatamodel.cpp" line="44"/>
|
||||||
<source>Image</source>
|
<source>Image</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Immagine</translation>
|
<translation>Immagine</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="46"/>
|
<location filename="../metadatamodel.cpp" line="48"/>
|
||||||
<source>File</source>
|
<source>File</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>File</translation>
|
<translation>File</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="43"/>
|
<location filename="../metadatamodel.cpp" line="45"/>
|
||||||
<source>Camera</source>
|
<source>Camera</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Camera</translation>
|
<translation>Camera</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="33"/>
|
<location filename="../metadatamodel.cpp" line="35"/>
|
||||||
<source>%1 File</source>
|
<source>%1 File</source>
|
||||||
<translation>%1 File</translation>
|
<translation>%1 File</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="40"/>
|
<location filename="../metadatamodel.cpp" line="42"/>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Descrizione</translation>
|
<translation>Descrizione</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="44"/>
|
<location filename="../metadatamodel.cpp" line="46"/>
|
||||||
<source>Advanced photo</source>
|
<source>Advanced photo</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Foto avanzata</translation>
|
<translation>Foto avanzata</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="45"/>
|
<location filename="../metadatamodel.cpp" line="47"/>
|
||||||
<source>GPS</source>
|
<source>GPS</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>GPS</translation>
|
<translation>GPS</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="50"/>
|
<location filename="../metadatamodel.cpp" line="52"/>
|
||||||
<source>Dimensions</source>
|
<source>Dimensions</source>
|
||||||
<translation>Dimensioni</translation>
|
<translation>Dimensioni</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="52"/>
|
<location filename="../metadatamodel.cpp" line="54"/>
|
||||||
<source>Aspect ratio</source>
|
<source>Aspect ratio</source>
|
||||||
<translation>Proporzioni</translation>
|
<translation>Proporzioni</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="56"/>
|
<location filename="../metadatamodel.cpp" line="58"/>
|
||||||
<source>Frame count</source>
|
<source>Frame count</source>
|
||||||
<translation>Conteggio fotogrammi</translation>
|
<translation>Conteggio fotogrammi</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="60"/>
|
<location filename="../metadatamodel.cpp" line="62"/>
|
||||||
<source>Name</source>
|
<source>Name</source>
|
||||||
<translation>Nome</translation>
|
<translation>Nome</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="62"/>
|
<location filename="../metadatamodel.cpp" line="64"/>
|
||||||
<source>Item type</source>
|
<source>Item type</source>
|
||||||
<translation>Tipo di elemento</translation>
|
<translation>Tipo di elemento</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="64"/>
|
<location filename="../metadatamodel.cpp" line="66"/>
|
||||||
<source>Folder path</source>
|
<source>Folder path</source>
|
||||||
<translation>Percorso cartella</translation>
|
<translation>Percorso cartella</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="66"/>
|
<location filename="../metadatamodel.cpp" line="68"/>
|
||||||
<source>Size</source>
|
<source>Size</source>
|
||||||
<translation>Dimensione</translation>
|
<translation>Dimensione</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="68"/>
|
<location filename="../metadatamodel.cpp" line="70"/>
|
||||||
<source>Date created</source>
|
<source>Date created</source>
|
||||||
<translation>Data di creazione</translation>
|
<translation>Data di creazione</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="70"/>
|
<location filename="../metadatamodel.cpp" line="72"/>
|
||||||
<source>Date modified</source>
|
<source>Date modified</source>
|
||||||
<translation>Data di modifica</translation>
|
<translation>Data di modifica</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="77"/>
|
<location filename="../metadatamodel.cpp" line="79"/>
|
||||||
<source>Title</source>
|
<source>Title</source>
|
||||||
<translation>Titolo</translation>
|
<translation>Titolo</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="79"/>
|
<location filename="../metadatamodel.cpp" line="81"/>
|
||||||
<source>Subject</source>
|
<source>Subject</source>
|
||||||
<translation>Soggetto</translation>
|
<translation>Soggetto</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="81"/>
|
<location filename="../metadatamodel.cpp" line="83"/>
|
||||||
<source>Rating</source>
|
<source>Rating</source>
|
||||||
<translation>Valutazione</translation>
|
<translation>Valutazione</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="83"/>
|
<location filename="../metadatamodel.cpp" line="85"/>
|
||||||
<source>Tags</source>
|
<source>Tags</source>
|
||||||
<translation>Tag</translation>
|
<translation>Tag</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="85"/>
|
<location filename="../metadatamodel.cpp" line="87"/>
|
||||||
<source>Comments</source>
|
<source>Comments</source>
|
||||||
<translation>Commenti</translation>
|
<translation>Commenti</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="88"/>
|
<location filename="../metadatamodel.cpp" line="90"/>
|
||||||
<source>Authors</source>
|
<source>Authors</source>
|
||||||
<translation>Autori</translation>
|
<translation>Autori</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="90"/>
|
<location filename="../metadatamodel.cpp" line="92"/>
|
||||||
<source>Date taken</source>
|
<source>Date taken</source>
|
||||||
<translation>Data scatto</translation>
|
<translation>Data scatto</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="96"/>
|
<location filename="../metadatamodel.cpp" line="98"/>
|
||||||
<source>Program name</source>
|
<source>Program name</source>
|
||||||
<translation>Nome programma</translation>
|
<translation>Nome programma</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="98"/>
|
<location filename="../metadatamodel.cpp" line="100"/>
|
||||||
<source>Copyright</source>
|
<source>Copyright</source>
|
||||||
<translation>Copyright</translation>
|
<translation>Copyright</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="101"/>
|
<location filename="../metadatamodel.cpp" line="103"/>
|
||||||
<source>Horizontal resolution</source>
|
<source>Horizontal resolution</source>
|
||||||
<translation>Risoluzione orizzontale</translation>
|
<translation>Risoluzione orizzontale</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="103"/>
|
<location filename="../metadatamodel.cpp" line="105"/>
|
||||||
<source>Vertical resolution</source>
|
<source>Vertical resolution</source>
|
||||||
<translation>Risoluzione verticale</translation>
|
<translation>Risoluzione verticale</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="105"/>
|
<location filename="../metadatamodel.cpp" line="107"/>
|
||||||
<source>Resolution unit</source>
|
<source>Resolution unit</source>
|
||||||
<translation>Unità di risoluzione</translation>
|
<translation>Unità di risoluzione</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="107"/>
|
<location filename="../metadatamodel.cpp" line="109"/>
|
||||||
<source>Colour representation</source>
|
<source>Colour representation</source>
|
||||||
<translation>Rappresentazione del colore</translation>
|
<translation>Rappresentazione del colore</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="110"/>
|
<location filename="../metadatamodel.cpp" line="112"/>
|
||||||
<source>Camera maker</source>
|
<source>Camera maker</source>
|
||||||
<translation>Produttore macchina fotografica</translation>
|
<translation>Produttore macchina fotografica</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="112"/>
|
<location filename="../metadatamodel.cpp" line="114"/>
|
||||||
<source>Camera model</source>
|
<source>Camera model</source>
|
||||||
<translation>Modello camera</translation>
|
<translation>Modello camera</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="114"/>
|
<location filename="../metadatamodel.cpp" line="116"/>
|
||||||
<source>F-stop</source>
|
<source>F-stop</source>
|
||||||
<translation>F-stop</translation>
|
<translation>F-stop</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="116"/>
|
<location filename="../metadatamodel.cpp" line="118"/>
|
||||||
<source>Exposure time</source>
|
<source>Exposure time</source>
|
||||||
<translation>Tempo di esposizione</translation>
|
<translation>Tempo di esposizione</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="118"/>
|
<location filename="../metadatamodel.cpp" line="120"/>
|
||||||
<source>ISO speed</source>
|
<source>ISO speed</source>
|
||||||
<translation>Velocità ISO</translation>
|
<translation>Velocità ISO</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="120"/>
|
<location filename="../metadatamodel.cpp" line="122"/>
|
||||||
<source>Exposure bias</source>
|
<source>Exposure bias</source>
|
||||||
<translation>Bias d'esposizione</translation>
|
<translation>Bias d'esposizione</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="122"/>
|
<location filename="../metadatamodel.cpp" line="124"/>
|
||||||
<source>Focal length</source>
|
<source>Focal length</source>
|
||||||
<translation>Lunghezza focale</translation>
|
<translation>Lunghezza focale</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="124"/>
|
<location filename="../metadatamodel.cpp" line="126"/>
|
||||||
<source>Max aperture</source>
|
<source>Max aperture</source>
|
||||||
<translation>Massima apertura</translation>
|
<translation>Massima apertura</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="126"/>
|
<location filename="../metadatamodel.cpp" line="128"/>
|
||||||
<source>Metering mode</source>
|
<source>Metering mode</source>
|
||||||
<translation>Modalità di misurazione</translation>
|
<translation>Modalità di misurazione</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="128"/>
|
<location filename="../metadatamodel.cpp" line="130"/>
|
||||||
<source>Subject distance</source>
|
<source>Subject distance</source>
|
||||||
<translation>Distanza del soggetto</translation>
|
<translation>Distanza del soggetto</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="130"/>
|
<location filename="../metadatamodel.cpp" line="132"/>
|
||||||
<source>Flash mode</source>
|
<source>Flash mode</source>
|
||||||
<translation>Modalità flash</translation>
|
<translation>Modalità flash</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="132"/>
|
<location filename="../metadatamodel.cpp" line="134"/>
|
||||||
<source>35mm focal length</source>
|
<source>35mm focal length</source>
|
||||||
<translation>Lunghezza focale 35 mm</translation>
|
<translation>Lunghezza focale 35 mm</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="135"/>
|
<location filename="../metadatamodel.cpp" line="137"/>
|
||||||
<source>Lens model</source>
|
<source>Lens model</source>
|
||||||
<translation>Modello di lente</translation>
|
<translation>Modello di lente</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="137"/>
|
<location filename="../metadatamodel.cpp" line="139"/>
|
||||||
<source>Contrast</source>
|
<source>Contrast</source>
|
||||||
<translation>Contrasto</translation>
|
<translation>Contrasto</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="139"/>
|
<location filename="../metadatamodel.cpp" line="141"/>
|
||||||
<source>Brightness</source>
|
<source>Brightness</source>
|
||||||
<translation>Luminosità</translation>
|
<translation>Luminosità</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="141"/>
|
<location filename="../metadatamodel.cpp" line="143"/>
|
||||||
<source>Exposure program</source>
|
<source>Exposure program</source>
|
||||||
<translation>Programma di esposizione</translation>
|
<translation>Programma di esposizione</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="143"/>
|
<location filename="../metadatamodel.cpp" line="145"/>
|
||||||
<source>Saturation</source>
|
<source>Saturation</source>
|
||||||
<translation>Saturazione</translation>
|
<translation>Saturazione</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="145"/>
|
<location filename="../metadatamodel.cpp" line="147"/>
|
||||||
<source>Sharpness</source>
|
<source>Sharpness</source>
|
||||||
<translation>Nitidezza</translation>
|
<translation>Nitidezza</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="147"/>
|
<location filename="../metadatamodel.cpp" line="149"/>
|
||||||
<source>White balance</source>
|
<source>White balance</source>
|
||||||
<translation>Bilanciamento del bianco</translation>
|
<translation>Bilanciamento del bianco</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="149"/>
|
<location filename="../metadatamodel.cpp" line="151"/>
|
||||||
<source>Digital zoom</source>
|
<source>Digital zoom</source>
|
||||||
<translation>Zoom digitale</translation>
|
<translation>Zoom digitale</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="151"/>
|
<location filename="../metadatamodel.cpp" line="153"/>
|
||||||
<source>EXIF version</source>
|
<source>EXIF version</source>
|
||||||
<translation>Versione EXIF</translation>
|
<translation>Versione EXIF</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="154"/>
|
<location filename="../metadatamodel.cpp" line="156"/>
|
||||||
<source>Latitude reference</source>
|
<source>Latitude reference</source>
|
||||||
<translation>Riferimento di latitudine</translation>
|
<translation>Riferimento di latitudine</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="156"/>
|
<location filename="../metadatamodel.cpp" line="158"/>
|
||||||
<source>Latitude</source>
|
<source>Latitude</source>
|
||||||
<translation>Latitudine</translation>
|
<translation>Latitudine</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="158"/>
|
<location filename="../metadatamodel.cpp" line="160"/>
|
||||||
<source>Longitude reference</source>
|
<source>Longitude reference</source>
|
||||||
<translation>Riferimento di longitudine</translation>
|
<translation>Riferimento di longitudine</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="160"/>
|
<location filename="../metadatamodel.cpp" line="162"/>
|
||||||
<source>Longitude</source>
|
<source>Longitude</source>
|
||||||
<translation>Longitudine</translation>
|
<translation>Longitudine</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="162"/>
|
<location filename="../metadatamodel.cpp" line="164"/>
|
||||||
<source>Altitude reference</source>
|
<source>Altitude reference</source>
|
||||||
<translation>Riferimento altimetrico</translation>
|
<translation>Riferimento altimetrico</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="164"/>
|
<location filename="../metadatamodel.cpp" line="166"/>
|
||||||
<source>Altitude</source>
|
<source>Altitude</source>
|
||||||
<translation>Altitudine</translation>
|
<translation>Altitudine</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="174"/>
|
<location filename="../metadatamodel.cpp" line="176"/>
|
||||||
<source>%1 x %2</source>
|
<source>%1 x %2</source>
|
||||||
<translation>%1 x %2</translation>
|
<translation>%1 x %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="192"/>
|
<location filename="../metadatamodel.cpp" line="194"/>
|
||||||
<source>%1 : %2</source>
|
<source>%1 : %2</source>
|
||||||
<translation>%1 : %2</translation>
|
<translation>%1 : %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="317"/>
|
<location filename="../metadatamodel.cpp" line="319"/>
|
||||||
<source>Property</source>
|
<source>Property</source>
|
||||||
<translation>Proprietà</translation>
|
<translation>Proprietà</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="317"/>
|
<location filename="../metadatamodel.cpp" line="319"/>
|
||||||
<source>Value</source>
|
<source>Value</source>
|
||||||
<translation>Valore</translation>
|
<translation>Valore</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -717,126 +722,141 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>SettingsDialog</name>
|
<name>SettingsDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="29"/>
|
<location filename="../settingsdialog.cpp" line="31"/>
|
||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation>Impostazioni</translation>
|
<translation>Impostazioni</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="37"/>
|
<location filename="../settingsdialog.cpp" line="39"/>
|
||||||
<source>Options</source>
|
<source>Options</source>
|
||||||
<translation>Opzioni</translation>
|
<translation>Opzioni</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="49"/>
|
<location filename="../settingsdialog.cpp" line="51"/>
|
||||||
<source>Shortcuts</source>
|
<source>Shortcuts</source>
|
||||||
<translation>Scorciatoie</translation>
|
<translation>Scorciatoie</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="59"/>
|
<location filename="../settingsdialog.cpp" line="61"/>
|
||||||
<source>Editing shortcuts for action "%1":</source>
|
<source>Editing shortcuts for action "%1":</source>
|
||||||
<translation>Modifica delle scorciatoie per l'azione "%1":</translation>
|
<translation>Modifica delle scorciatoie per l'azione "%1":</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="68"/>
|
<location filename="../settingsdialog.cpp" line="70"/>
|
||||||
<source>Failed to set shortcuts</source>
|
<source>Failed to set shortcuts</source>
|
||||||
<translation>Impossibile impostare le scorciatoie</translation>
|
<translation>Impossibile impostare le scorciatoie</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="69"/>
|
<location filename="../settingsdialog.cpp" line="71"/>
|
||||||
<source>Please check if shortcuts are duplicated with existing shortcuts.</source>
|
<source>Please check if shortcuts are duplicated with existing shortcuts.</source>
|
||||||
<translation>Controlla se i collegamenti sono duplicati con collegamenti esistenti.</translation>
|
<translation>Controlla se i collegamenti sono duplicati con collegamenti esistenti.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="76"/>
|
<location filename="../settingsdialog.cpp" line="78"/>
|
||||||
<source>Do nothing</source>
|
<source>Do nothing</source>
|
||||||
<translation>Non fare nulla</translation>
|
<translation>Non fare nulla</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="77"/>
|
<location filename="../settingsdialog.cpp" line="79"/>
|
||||||
<source>Close the window</source>
|
<source>Close the window</source>
|
||||||
<translation>Chiudi la finestra</translation>
|
<translation>Chiudi la finestra</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="78"/>
|
<location filename="../settingsdialog.cpp" line="80"/>
|
||||||
<source>Toggle maximize</source>
|
<source>Toggle maximize</source>
|
||||||
<translation>Attiva massimizzazione</translation>
|
<translation>Attiva massimizzazione</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="79"/>
|
<location filename="../settingsdialog.cpp" line="81"/>
|
||||||
<source>Toggle fullscreen</source>
|
<source>Toggle fullscreen</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Attiva schermo intero</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="83"/>
|
<location filename="../settingsdialog.cpp" line="85"/>
|
||||||
<source>Zoom in and out</source>
|
<source>Zoom in and out</source>
|
||||||
<translation>Zoom avanti e indietro</translation>
|
<translation>Zoom avanti e indietro</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="84"/>
|
<location filename="../settingsdialog.cpp" line="86"/>
|
||||||
<source>View next or previous item</source>
|
<source>View next or previous item</source>
|
||||||
<translation>Visualizza l'elemento successivo o precedente</translation>
|
<translation>Visualizza l'elemento successivo o precedente</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="88"/>
|
<location filename="../settingsdialog.cpp" line="90"/>
|
||||||
<source>Auto size</source>
|
<source>Auto size</source>
|
||||||
<translation>Dimensione automatica</translation>
|
<translation>Dimensione automatica</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="89"/>
|
<location filename="../settingsdialog.cpp" line="91"/>
|
||||||
<source>Maximized</source>
|
<source>Maximized</source>
|
||||||
<translation>Massimizzato</translation>
|
<translation>Massimizzato</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="93"/>
|
<location filename="../settingsdialog.cpp" line="92"/>
|
||||||
|
<source>Windowed</source>
|
||||||
|
<translation>Finestrato</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="96"/>
|
||||||
<source>Round (Integer scaling)</source>
|
<source>Round (Integer scaling)</source>
|
||||||
<comment>This option means round up for .5 and above</comment>
|
<comment>This option means round up for .5 and above</comment>
|
||||||
<translation>Round (ridimensionamento intero)</translation>
|
<translation>Round (ridimensionamento intero)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="94"/>
|
<location filename="../settingsdialog.cpp" line="97"/>
|
||||||
<source>Ceil (Integer scaling)</source>
|
<source>Ceil (Integer scaling)</source>
|
||||||
<comment>This option means always round up</comment>
|
<comment>This option means always round up</comment>
|
||||||
<translation>Ceil (ridimensionamento intero)</translation>
|
<translation>Ceil (ridimensionamento intero)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="95"/>
|
<location filename="../settingsdialog.cpp" line="98"/>
|
||||||
<source>Floor (Integer scaling)</source>
|
<source>Floor (Integer scaling)</source>
|
||||||
<comment>This option means always round down</comment>
|
<comment>This option means always round down</comment>
|
||||||
<translation>Floor (ridimensionamento intero)</translation>
|
<translation>Floor (ridimensionamento intero)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="96"/>
|
<location filename="../settingsdialog.cpp" line="99"/>
|
||||||
<source>Follow system (Fractional scaling)</source>
|
<source>Follow system (Fractional scaling)</source>
|
||||||
<comment>This option means don't round</comment>
|
<comment>This option means don't round</comment>
|
||||||
<translation>Segui il sistema (scala frazionaria)</translation>
|
<translation>Segui il sistema (scala frazionaria)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="119"/>
|
<location filename="../settingsdialog.cpp" line="122"/>
|
||||||
<source>Stay on top when start-up</source>
|
<source>Stay on top when start-up</source>
|
||||||
<translation>Rimani in cima quando si avvia</translation>
|
<translation>Rimani in cima quando si avvia</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="120"/>
|
<location filename="../settingsdialog.cpp" line="123"/>
|
||||||
|
<source>Use built-in close window animation</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="124"/>
|
||||||
<source>Use light-color checkerboard</source>
|
<source>Use light-color checkerboard</source>
|
||||||
<translation>Utilizzare scacchiera di colore chiaro</translation>
|
<translation>Utilizzare scacchiera di colore chiaro</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="121"/>
|
<location filename="../settingsdialog.cpp" line="125"/>
|
||||||
|
<source>Loop the loaded gallery</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="126"/>
|
||||||
<source>Double-click behavior</source>
|
<source>Double-click behavior</source>
|
||||||
<translation>Comportamento del doppio clic</translation>
|
<translation>Comportamento del doppio clic</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="122"/>
|
<location filename="../settingsdialog.cpp" line="127"/>
|
||||||
<source>Mouse wheel behavior</source>
|
<source>Mouse wheel behavior</source>
|
||||||
<translation>Comportamento della rotellina del mouse</translation>
|
<translation>Comportamento della rotellina del mouse</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="123"/>
|
<location filename="../settingsdialog.cpp" line="128"/>
|
||||||
<source>Default window size</source>
|
<source>Default window size</source>
|
||||||
<translation>Dimensioni predefinite della finestra</translation>
|
<translation>Dimensioni predefinite della finestra</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="124"/>
|
<location filename="../settingsdialog.cpp" line="129"/>
|
||||||
<source>HiDPI scale factor rounding policy</source>
|
<source>HiDPI scale factor rounding policy</source>
|
||||||
<translation>Politica di arrotondamento del fattore di scala HiDPI</translation>
|
<translation>Politica di arrotondamento del fattore di scala HiDPI</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -844,7 +864,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>ShortcutEdit</name>
|
<name>ShortcutEdit</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../shortcutedit.cpp" line="111"/>
|
<location filename="../shortcutedit.cpp" line="109"/>
|
||||||
<source>No shortcuts</source>
|
<source>No shortcuts</source>
|
||||||
<translation>Nessuna scorciatoia</translation>
|
<translation>Nessuna scorciatoia</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -852,7 +872,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>ShortcutEditor</name>
|
<name>ShortcutEditor</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../shortcutedit.cpp" line="77"/>
|
<location filename="../shortcutedit.cpp" line="75"/>
|
||||||
<source>Shortcut #%1</source>
|
<source>Shortcut #%1</source>
|
||||||
<translation>Scorciatoia #%1</translation>
|
<translation>Scorciatoia #%1</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -860,17 +880,17 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>main</name>
|
<name>main</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="43"/>
|
<location filename="../main.cpp" line="42"/>
|
||||||
<source>Pineapple Pictures</source>
|
<source>Pineapple Pictures</source>
|
||||||
<translation>Immagini di Pineapple</translation>
|
<translation>Immagini di Pineapple</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="46"/>
|
<location filename="../main.cpp" line="45"/>
|
||||||
<source>List supported image format suffixes, and quit program.</source>
|
<source>List supported image format suffixes, and quit program.</source>
|
||||||
<translation>Elenca i suffissi dei formati immagine supportati e chiudi il programma.</translation>
|
<translation>Elenca i suffissi dei formati immagine supportati e chiudi il programma.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="50"/>
|
<location filename="../main.cpp" line="49"/>
|
||||||
<source>File list.</source>
|
<source>File list.</source>
|
||||||
<translation>Elenco file.</translation>
|
<translation>Elenco file.</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|||||||
@@ -4,169 +4,169 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>AboutDialog</name>
|
<name>AboutDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="27"/>
|
<location filename="../aboutdialog.cpp" line="29"/>
|
||||||
<source>About</source>
|
<source>About</source>
|
||||||
<translation>情報</translation>
|
<translation>情報</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="30"/>
|
<location filename="../aboutdialog.cpp" line="32"/>
|
||||||
<source>Launch application with image file path as argument to load the file.</source>
|
<source>Launch application with image file path as argument to load the file.</source>
|
||||||
<translation>画像ファイルのパスをパラメータとしてアプリケーションを起動すると、ファイルを読み込みます。</translation>
|
<translation>画像ファイルのパスをパラメータとしてアプリケーションを起動すると、ファイルを読み込みます。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="31"/>
|
<location filename="../aboutdialog.cpp" line="33"/>
|
||||||
<source>Drag and drop image file onto the window is also supported.</source>
|
<source>Drag and drop image file onto the window is also supported.</source>
|
||||||
<translation>画像ファイルをウィンドウにドラッグ&ドロップすることもできます。</translation>
|
<translation>画像ファイルをウィンドウにドラッグ&ドロップすることもできます。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="32"/>
|
<location filename="../aboutdialog.cpp" line="34"/>
|
||||||
<source>None of the operations in this application will alter the pictures on disk.</source>
|
<source>None of the operations in this application will alter the pictures on disk.</source>
|
||||||
<translation>このアプリのどの操作も、ディスク上の写真に変更を加えることはありません。</translation>
|
<translation>このアプリのどの操作も、ディスク上の写真に変更を加えることはありません。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="33"/>
|
<location filename="../aboutdialog.cpp" line="35"/>
|
||||||
<source>Context menu option explanation:</source>
|
<source>Context menu option explanation:</source>
|
||||||
<translation>コンテキストメニューのオプションの説明:</translation>
|
<translation>コンテキストメニューのオプションの説明:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="40"/>
|
<location filename="../aboutdialog.cpp" line="42"/>
|
||||||
<source>Make window stay on top of all other windows.</source>
|
<source>Make window stay on top of all other windows.</source>
|
||||||
<translation>ウィンドウを最前面に表示します。</translation>
|
<translation>ウィンドウを最前面に表示します。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="43"/>
|
<location filename="../aboutdialog.cpp" line="45"/>
|
||||||
<source>Avoid close window accidentally. (eg. by double clicking the window)</source>
|
<source>Avoid close window accidentally. (eg. by double clicking the window)</source>
|
||||||
<translation>誤ってウィンドウを閉じないようにします。(例:ウィンドウをダブルクリックする)</translation>
|
<translation>誤ってウィンドウを閉じないようにします。(例:ウィンドウをダブルクリックする)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="46"/>
|
<location filename="../aboutdialog.cpp" line="48"/>
|
||||||
<source>Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.</source>
|
<source>Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.</source>
|
||||||
<translation>画像を切り替える時に、画像表示に適用されているズーム、回転、反転の状態を維持します。</translation>
|
<translation>画像を切り替える時に、画像表示に適用されているズーム、回転、反転の状態を維持します。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="53"/>
|
<location filename="../aboutdialog.cpp" line="55"/>
|
||||||
<source>Version: %1</source>
|
<source>Version: %1</source>
|
||||||
<translation>バージョン: %1</translation>
|
<translation>バージョン: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="64"/>
|
<location filename="../aboutdialog.cpp" line="66"/>
|
||||||
<source>Logo designed by %1</source>
|
<source>Logo designed by %1</source>
|
||||||
<translation>ロゴデザイン: %1</translation>
|
<translation>ロゴデザイン: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="66"/>
|
<location filename="../aboutdialog.cpp" line="68"/>
|
||||||
<source>Built with Qt %1 (%2)</source>
|
<source>Built with Qt %1 (%2)</source>
|
||||||
<translation>Qt %1 (%2) でビルドされました</translation>
|
<translation>Qt %1 (%2) でビルドされました</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="67"/>
|
<location filename="../aboutdialog.cpp" line="69"/>
|
||||||
<source>Source code</source>
|
<source>Source code</source>
|
||||||
<translation>ソースコード</translation>
|
<translation>ソースコード</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="77"/>
|
<location filename="../aboutdialog.cpp" line="79"/>
|
||||||
<source>Contributors</source>
|
<source>Contributors</source>
|
||||||
<translation>貢献者</translation>
|
<translation>貢献者</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="79"/>
|
<location filename="../aboutdialog.cpp" line="81"/>
|
||||||
<source>List of contributors on GitHub</source>
|
<source>List of contributors on GitHub</source>
|
||||||
<translation>GitHubでの貢献者リスト</translation>
|
<translation>GitHubでの貢献者リスト</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="80"/>
|
<location filename="../aboutdialog.cpp" line="82"/>
|
||||||
<source>Thanks to all people who contributed to this project.</source>
|
<source>Thanks to all people who contributed to this project.</source>
|
||||||
<translation>このプロジェクトに貢献したすべての人に感謝します。</translation>
|
<translation>このプロジェクトに貢献したすべての人に感謝します。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="84"/>
|
<location filename="../aboutdialog.cpp" line="86"/>
|
||||||
<source>Translators</source>
|
<source>Translators</source>
|
||||||
<translation>翻訳者</translation>
|
<translation>翻訳者</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="85"/>
|
<location filename="../aboutdialog.cpp" line="87"/>
|
||||||
<source>I would like to thank the following people who volunteered to translate this application.</source>
|
<source>I would like to thank the following people who volunteered to translate this application.</source>
|
||||||
<translation>このアプリケーションの翻訳にボランティアで参加してくださった以下の方々に感謝します。</translation>
|
<translation>このアプリケーションの翻訳にボランティアで参加してくださった以下の方々に感謝します。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="129"/>
|
<location filename="../aboutdialog.cpp" line="131"/>
|
||||||
<source>%1 is built on the following free software libraries:</source>
|
<source>%1 is built on the following free software libraries:</source>
|
||||||
<comment>Free as in freedom</comment>
|
<comment>Free as in freedom</comment>
|
||||||
<translation>%1は以下のフリーソフトウェア・ライブラリで構築されています。</translation>
|
<translation>%1は以下のフリーソフトウェア・ライブラリで構築されています。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="153"/>
|
<location filename="../aboutdialog.cpp" line="155"/>
|
||||||
<source>&Special Thanks</source>
|
<source>&Special Thanks</source>
|
||||||
<translation>スペシャルサンクス(&S)</translation>
|
<translation>スペシャルサンクス(&S)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="155"/>
|
<location filename="../aboutdialog.cpp" line="157"/>
|
||||||
<source>&Third-party Libraries</source>
|
<source>&Third-party Libraries</source>
|
||||||
<translation>サードパーティライブラリ(&T)</translation>
|
<translation>サードパーティライブラリ(&T)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="91"/>
|
<location filename="../aboutdialog.cpp" line="93"/>
|
||||||
<source>Your Rights</source>
|
<source>Your Rights</source>
|
||||||
<translation>利用者の権利</translation>
|
<translation>利用者の権利</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="61"/>
|
<location filename="../aboutdialog.cpp" line="63"/>
|
||||||
<source>Copyright (c) %1 %2</source>
|
<source>Copyright (c) %1 %2</source>
|
||||||
<comment>%1 is year, %2 is the name of copyright holder(s)</comment>
|
<comment>%1 is year, %2 is the name of copyright holder(s)</comment>
|
||||||
<translation>Copyright (c) %1 %2</translation>
|
<translation>Copyright (c) %1 %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="93"/>
|
<location filename="../aboutdialog.cpp" line="95"/>
|
||||||
<source>%1 is released under the MIT License.</source>
|
<source>%1 is released under the MIT License.</source>
|
||||||
<translation>%1は、MITライセンスのもとで公開されています。</translation>
|
<translation>%1は、MITライセンスのもとで公開されています。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="94"/>
|
<location filename="../aboutdialog.cpp" line="96"/>
|
||||||
<source>This license grants people a number of freedoms:</source>
|
<source>This license grants people a number of freedoms:</source>
|
||||||
<translation>このライセンスは人々に多くの自由を与えます。</translation>
|
<translation>このライセンスは人々に多くの自由を与えます。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="95"/>
|
<location filename="../aboutdialog.cpp" line="97"/>
|
||||||
<source>You are free to use %1, for any purpose</source>
|
<source>You are free to use %1, for any purpose</source>
|
||||||
<translation>%1は、どのような目的にも自由に使用するできます</translation>
|
<translation>%1は、どのような目的にも自由に使用するできます</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="96"/>
|
<location filename="../aboutdialog.cpp" line="98"/>
|
||||||
<source>You are free to distribute %1</source>
|
<source>You are free to distribute %1</source>
|
||||||
<translation>%1を自由に配布することができます</translation>
|
<translation>%1を自由に配布することができます</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="97"/>
|
<location filename="../aboutdialog.cpp" line="99"/>
|
||||||
<source>You can study how %1 works and change it</source>
|
<source>You can study how %1 works and change it</source>
|
||||||
<translation>%1がどのように作動するかを研究し、それを変更することができます</translation>
|
<translation>%1がどのように作動するかを研究し、それを変更することができます</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="98"/>
|
<location filename="../aboutdialog.cpp" line="100"/>
|
||||||
<source>You can distribute changed versions of %1</source>
|
<source>You can distribute changed versions of %1</source>
|
||||||
<translation>変更されたバージョンの %1を配布することができます</translation>
|
<translation>変更されたバージョンの %1を配布することができます</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="100"/>
|
<location filename="../aboutdialog.cpp" line="102"/>
|
||||||
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
|
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
|
||||||
<translation>MITライセンスは、この自由を保証しています。誰もそれを奪うことは許されていません。</translation>
|
<translation>MITライセンスは、この自由を保証しています。誰もそれを奪うことは許されていません。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="128"/>
|
<location filename="../aboutdialog.cpp" line="130"/>
|
||||||
<source>Third-party Libraries used by %1</source>
|
<source>Third-party Libraries used by %1</source>
|
||||||
<translation>%1が使用するサードパーティライブラリ</translation>
|
<translation>%1が使用するサードパーティライブラリ</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="151"/>
|
<location filename="../aboutdialog.cpp" line="153"/>
|
||||||
<source>&Help</source>
|
<source>&Help</source>
|
||||||
<translation>へルプ(&H)</translation>
|
<translation>へルプ(&H)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="152"/>
|
<location filename="../aboutdialog.cpp" line="154"/>
|
||||||
<source>&About</source>
|
<source>&About</source>
|
||||||
<translation>情報(&A)</translation>
|
<translation>情報(&A)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="154"/>
|
<location filename="../aboutdialog.cpp" line="156"/>
|
||||||
<source>&License</source>
|
<source>&License</source>
|
||||||
<translation>ライセンス(&L)</translation>
|
<translation>ライセンス(&L)</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -174,7 +174,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>GraphicsScene</name>
|
<name>GraphicsScene</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="269"/>
|
<location filename="../mainwindow.cpp" line="276"/>
|
||||||
<location filename="../graphicsscene.cpp" line="100"/>
|
<location filename="../graphicsscene.cpp" line="100"/>
|
||||||
<source>Drag image here</source>
|
<source>Drag image here</source>
|
||||||
<translation>ここに画像をドラッグしてください</translation>
|
<translation>ここに画像をドラッグしてください</translation>
|
||||||
@@ -187,13 +187,13 @@
|
|||||||
<translation type="vanished">ファイルURLリストがエンプティーです</translation>
|
<translation type="vanished">ファイルURLリストがエンプティーです</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../graphicsview.cpp" line="52"/>
|
<location filename="../graphicsview.cpp" line="50"/>
|
||||||
<source>File is not a valid image</source>
|
<source>File is not a valid image</source>
|
||||||
<translation>ファイルが有効な画像ではありません</translation>
|
<translation>ファイルが有効な画像ではありません</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../graphicsview.cpp" line="56"/>
|
<location filename="../graphicsview.cpp" line="54"/>
|
||||||
<location filename="../graphicsview.cpp" line="60"/>
|
<location filename="../graphicsview.cpp" line="58"/>
|
||||||
<source>Image data is invalid or currently unsupported</source>
|
<source>Image data is invalid or currently unsupported</source>
|
||||||
<translation>無効またはサポートされていない画像データ</translation>
|
<translation>無効またはサポートされていない画像データ</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -209,38 +209,43 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MainWindow</name>
|
<name>MainWindow</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="180"/>
|
<location filename="../mainwindow.cpp" line="181"/>
|
||||||
<location filename="../mainwindow.cpp" line="540"/>
|
<location filename="../mainwindow.cpp" line="545"/>
|
||||||
<source>File url list is empty</source>
|
<source>File url list is empty</source>
|
||||||
<translation>ファイルurlリストがエンプティーです</translation>
|
<translation>ファイルurlリストがエンプティーです</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="438"/>
|
<location filename="../mainwindow.cpp" line="445"/>
|
||||||
<source>&Copy</source>
|
<source>&Copy</source>
|
||||||
<translation>コピー(&C)</translation>
|
<translation>コピー(&C)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="548"/>
|
<location filename="../mainwindow.cpp" line="553"/>
|
||||||
<source>Image data is invalid</source>
|
<source>Image data is invalid</source>
|
||||||
<translation>画像のデータが無効です</translation>
|
<translation>画像のデータが無効です</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="555"/>
|
<location filename="../mainwindow.cpp" line="560"/>
|
||||||
<source>Not supported mimedata: %1</source>
|
<source>Not supported mimedata: %1</source>
|
||||||
<translation>無効なmimedata: %1</translation>
|
<translation>無効なmimedata: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="764"/>
|
<location filename="../mainwindow.cpp" line="759"/>
|
||||||
<source>Image From Clipboard</source>
|
<source>Image From Clipboard</source>
|
||||||
<translation>クリップボードからの画像</translation>
|
<translation>クリップボードからの画像</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="782"/>
|
<location filename="../mainwindow.cpp" line="777"/>
|
||||||
<source>Are you sure you want to move "%1" to recycle bin?</source>
|
<source>Are you sure you want to move "%1" to recycle bin?</source>
|
||||||
<translation>「%1」をゴミ箱に移動しますか?</translation>
|
<translation>「%1」をゴミ箱に移動しますか?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="787"/>
|
<location filename="../mainwindow.cpp" line="781"/>
|
||||||
|
<source>Failed to move file to trash</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="782"/>
|
||||||
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
|
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
|
||||||
<translation>ゴミ箱への移動に失敗しました。ファイルのアクセス許可や、ファイルシステムの制限、プラットフォームの制限などを確認してください。</translation>
|
<translation>ゴミ箱への移動に失敗しました。ファイルのアクセス許可や、ファイルシステムの制限、プラットフォームの制限などを確認してください。</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -261,19 +266,19 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="118"/>
|
<location filename="../actionmanager.cpp" line="118"/>
|
||||||
<location filename="../aboutdialog.cpp" line="39"/>
|
<location filename="../aboutdialog.cpp" line="41"/>
|
||||||
<source>Stay on top</source>
|
<source>Stay on top</source>
|
||||||
<translation>最前面に表示する</translation>
|
<translation>最前面に表示する</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="119"/>
|
<location filename="../actionmanager.cpp" line="119"/>
|
||||||
<location filename="../aboutdialog.cpp" line="42"/>
|
<location filename="../aboutdialog.cpp" line="44"/>
|
||||||
<source>Protected mode</source>
|
<source>Protected mode</source>
|
||||||
<translation>プロテクトモード</translation>
|
<translation>プロテクトモード</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="120"/>
|
<location filename="../actionmanager.cpp" line="120"/>
|
||||||
<location filename="../aboutdialog.cpp" line="45"/>
|
<location filename="../aboutdialog.cpp" line="47"/>
|
||||||
<source>Keep transformation</source>
|
<source>Keep transformation</source>
|
||||||
<comment>The 'transformation' means the flip/rotation status that currently applied to the image view</comment>
|
<comment>The 'transformation' means the flip/rotation status that currently applied to the image view</comment>
|
||||||
<translation>表示状態を維持する</translation>
|
<translation>表示状態を維持する</translation>
|
||||||
@@ -291,12 +296,12 @@
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="108"/>
|
<location filename="../actionmanager.cpp" line="108"/>
|
||||||
<source>Pause/Resume Animation</source>
|
<source>Pause/Resume Animation</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>一時停止 / 再開のアニメーション</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="109"/>
|
<location filename="../actionmanager.cpp" line="109"/>
|
||||||
<source>Animation Go to Next Frame</source>
|
<source>Animation Go to Next Frame</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>次のフレームへ移動するアニメーション</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="111"/>
|
<location filename="../actionmanager.cpp" line="111"/>
|
||||||
@@ -306,12 +311,12 @@
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="112"/>
|
<location filename="../actionmanager.cpp" line="112"/>
|
||||||
<source>Fit to view</source>
|
<source>Fit to view</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>表示に合わせる</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="113"/>
|
<location filename="../actionmanager.cpp" line="113"/>
|
||||||
<source>Fit to width</source>
|
<source>Fit to width</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>横幅に合わせる</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="116"/>
|
<location filename="../actionmanager.cpp" line="116"/>
|
||||||
@@ -359,7 +364,7 @@
|
|||||||
<translation>次の画像</translation>
|
<translation>次の画像</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="781"/>
|
<location filename="../mainwindow.cpp" line="776"/>
|
||||||
<location filename="../actionmanager.cpp" line="117"/>
|
<location filename="../actionmanager.cpp" line="117"/>
|
||||||
<source>Move to Trash</source>
|
<source>Move to Trash</source>
|
||||||
<translation>ゴミ箱へ移動する</translation>
|
<translation>ゴミ箱へ移動する</translation>
|
||||||
@@ -402,314 +407,314 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MetadataModel</name>
|
<name>MetadataModel</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="41"/>
|
<location filename="../metadatamodel.cpp" line="43"/>
|
||||||
<source>Origin</source>
|
<source>Origin</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>元の場所</translation>
|
<translation>元の場所</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="42"/>
|
<location filename="../metadatamodel.cpp" line="44"/>
|
||||||
<source>Image</source>
|
<source>Image</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>イメージ</translation>
|
<translation>イメージ</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="46"/>
|
<location filename="../metadatamodel.cpp" line="48"/>
|
||||||
<source>File</source>
|
<source>File</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>ファイル</translation>
|
<translation>ファイル</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="43"/>
|
<location filename="../metadatamodel.cpp" line="45"/>
|
||||||
<source>Camera</source>
|
<source>Camera</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>カメラ</translation>
|
<translation>カメラ</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="33"/>
|
<location filename="../metadatamodel.cpp" line="35"/>
|
||||||
<source>%1 File</source>
|
<source>%1 File</source>
|
||||||
<translation>%1 ファイル</translation>
|
<translation>%1 ファイル</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="40"/>
|
<location filename="../metadatamodel.cpp" line="42"/>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>説明</translation>
|
<translation>説明</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="44"/>
|
<location filename="../metadatamodel.cpp" line="46"/>
|
||||||
<source>Advanced photo</source>
|
<source>Advanced photo</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>アドバンストフォト</translation>
|
<translation>アドバンストフォト</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="45"/>
|
<location filename="../metadatamodel.cpp" line="47"/>
|
||||||
<source>GPS</source>
|
<source>GPS</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>GPS</translation>
|
<translation>GPS</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="50"/>
|
<location filename="../metadatamodel.cpp" line="52"/>
|
||||||
<source>Dimensions</source>
|
<source>Dimensions</source>
|
||||||
<translation>解像度</translation>
|
<translation>解像度</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="52"/>
|
<location filename="../metadatamodel.cpp" line="54"/>
|
||||||
<source>Aspect ratio</source>
|
<source>Aspect ratio</source>
|
||||||
<translation>アスペクト比</translation>
|
<translation>アスペクト比</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="56"/>
|
<location filename="../metadatamodel.cpp" line="58"/>
|
||||||
<source>Frame count</source>
|
<source>Frame count</source>
|
||||||
<translation>フレームカウント</translation>
|
<translation>フレームカウント</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="60"/>
|
<location filename="../metadatamodel.cpp" line="62"/>
|
||||||
<source>Name</source>
|
<source>Name</source>
|
||||||
<translation>画像名</translation>
|
<translation>画像名</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="62"/>
|
<location filename="../metadatamodel.cpp" line="64"/>
|
||||||
<source>Item type</source>
|
<source>Item type</source>
|
||||||
<translation>項目の種類</translation>
|
<translation>項目の種類</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="64"/>
|
<location filename="../metadatamodel.cpp" line="66"/>
|
||||||
<source>Folder path</source>
|
<source>Folder path</source>
|
||||||
<translation>フォルダパス</translation>
|
<translation>フォルダパス</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="66"/>
|
<location filename="../metadatamodel.cpp" line="68"/>
|
||||||
<source>Size</source>
|
<source>Size</source>
|
||||||
<translation>サイズ</translation>
|
<translation>サイズ</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="68"/>
|
<location filename="../metadatamodel.cpp" line="70"/>
|
||||||
<source>Date created</source>
|
<source>Date created</source>
|
||||||
<translation>作成日時</translation>
|
<translation>作成日時</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="70"/>
|
<location filename="../metadatamodel.cpp" line="72"/>
|
||||||
<source>Date modified</source>
|
<source>Date modified</source>
|
||||||
<translation>更新日時</translation>
|
<translation>更新日時</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="77"/>
|
<location filename="../metadatamodel.cpp" line="79"/>
|
||||||
<source>Title</source>
|
<source>Title</source>
|
||||||
<translation>タイトル</translation>
|
<translation>タイトル</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="79"/>
|
<location filename="../metadatamodel.cpp" line="81"/>
|
||||||
<source>Subject</source>
|
<source>Subject</source>
|
||||||
<translation>サブジェクト</translation>
|
<translation>サブジェクト</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="81"/>
|
<location filename="../metadatamodel.cpp" line="83"/>
|
||||||
<source>Rating</source>
|
<source>Rating</source>
|
||||||
<translation>評価</translation>
|
<translation>評価</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="83"/>
|
<location filename="../metadatamodel.cpp" line="85"/>
|
||||||
<source>Tags</source>
|
<source>Tags</source>
|
||||||
<translation>タグ</translation>
|
<translation>タグ</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="85"/>
|
<location filename="../metadatamodel.cpp" line="87"/>
|
||||||
<source>Comments</source>
|
<source>Comments</source>
|
||||||
<translation>コメント</translation>
|
<translation>コメント</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="88"/>
|
<location filename="../metadatamodel.cpp" line="90"/>
|
||||||
<source>Authors</source>
|
<source>Authors</source>
|
||||||
<translation>作成者</translation>
|
<translation>作成者</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="90"/>
|
<location filename="../metadatamodel.cpp" line="92"/>
|
||||||
<source>Date taken</source>
|
<source>Date taken</source>
|
||||||
<translation>撮影日時</translation>
|
<translation>撮影日時</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="96"/>
|
<location filename="../metadatamodel.cpp" line="98"/>
|
||||||
<source>Program name</source>
|
<source>Program name</source>
|
||||||
<translation>プログラム名</translation>
|
<translation>プログラム名</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="98"/>
|
<location filename="../metadatamodel.cpp" line="100"/>
|
||||||
<source>Copyright</source>
|
<source>Copyright</source>
|
||||||
<translation>著作権</translation>
|
<translation>著作権</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="101"/>
|
<location filename="../metadatamodel.cpp" line="103"/>
|
||||||
<source>Horizontal resolution</source>
|
<source>Horizontal resolution</source>
|
||||||
<translation>水平解像度</translation>
|
<translation>水平解像度</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="103"/>
|
<location filename="../metadatamodel.cpp" line="105"/>
|
||||||
<source>Vertical resolution</source>
|
<source>Vertical resolution</source>
|
||||||
<translation>垂直解像度</translation>
|
<translation>垂直解像度</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="105"/>
|
<location filename="../metadatamodel.cpp" line="107"/>
|
||||||
<source>Resolution unit</source>
|
<source>Resolution unit</source>
|
||||||
<translation>解像度の単位</translation>
|
<translation>解像度の単位</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="107"/>
|
<location filename="../metadatamodel.cpp" line="109"/>
|
||||||
<source>Colour representation</source>
|
<source>Colour representation</source>
|
||||||
<translation>色空間</translation>
|
<translation>色空間</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="110"/>
|
<location filename="../metadatamodel.cpp" line="112"/>
|
||||||
<source>Camera maker</source>
|
<source>Camera maker</source>
|
||||||
<translation>カメラの製造元</translation>
|
<translation>カメラの製造元</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="112"/>
|
<location filename="../metadatamodel.cpp" line="114"/>
|
||||||
<source>Camera model</source>
|
<source>Camera model</source>
|
||||||
<translation>カメラのモデル</translation>
|
<translation>カメラのモデル</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="114"/>
|
<location filename="../metadatamodel.cpp" line="116"/>
|
||||||
<source>F-stop</source>
|
<source>F-stop</source>
|
||||||
<translation>絞り値</translation>
|
<translation>絞り値</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="116"/>
|
<location filename="../metadatamodel.cpp" line="118"/>
|
||||||
<source>Exposure time</source>
|
<source>Exposure time</source>
|
||||||
<translation>露光時間</translation>
|
<translation>露光時間</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="118"/>
|
<location filename="../metadatamodel.cpp" line="120"/>
|
||||||
<source>ISO speed</source>
|
<source>ISO speed</source>
|
||||||
<translation>ISO速度</translation>
|
<translation>ISO速度</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="120"/>
|
<location filename="../metadatamodel.cpp" line="122"/>
|
||||||
<source>Exposure bias</source>
|
<source>Exposure bias</source>
|
||||||
<translation>露光補正</translation>
|
<translation>露光補正</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="122"/>
|
<location filename="../metadatamodel.cpp" line="124"/>
|
||||||
<source>Focal length</source>
|
<source>Focal length</source>
|
||||||
<translation>焦点距離</translation>
|
<translation>焦点距離</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="124"/>
|
<location filename="../metadatamodel.cpp" line="126"/>
|
||||||
<source>Max aperture</source>
|
<source>Max aperture</source>
|
||||||
<translation>最大口径</translation>
|
<translation>最大口径</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="126"/>
|
<location filename="../metadatamodel.cpp" line="128"/>
|
||||||
<source>Metering mode</source>
|
<source>Metering mode</source>
|
||||||
<translation>測光モード</translation>
|
<translation>測光モード</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="128"/>
|
<location filename="../metadatamodel.cpp" line="130"/>
|
||||||
<source>Subject distance</source>
|
<source>Subject distance</source>
|
||||||
<translation>被写体距離</translation>
|
<translation>被写体距離</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="130"/>
|
<location filename="../metadatamodel.cpp" line="132"/>
|
||||||
<source>Flash mode</source>
|
<source>Flash mode</source>
|
||||||
<translation>フラッシュモード</translation>
|
<translation>フラッシュモード</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="132"/>
|
<location filename="../metadatamodel.cpp" line="134"/>
|
||||||
<source>35mm focal length</source>
|
<source>35mm focal length</source>
|
||||||
<translation>35mm 焦点距離</translation>
|
<translation>35mm 焦点距離</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="135"/>
|
<location filename="../metadatamodel.cpp" line="137"/>
|
||||||
<source>Lens model</source>
|
<source>Lens model</source>
|
||||||
<translation>レンズモデル</translation>
|
<translation>レンズモデル</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="137"/>
|
<location filename="../metadatamodel.cpp" line="139"/>
|
||||||
<source>Contrast</source>
|
<source>Contrast</source>
|
||||||
<translation>コントラスト</translation>
|
<translation>コントラスト</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="139"/>
|
<location filename="../metadatamodel.cpp" line="141"/>
|
||||||
<source>Brightness</source>
|
<source>Brightness</source>
|
||||||
<translation>輝度</translation>
|
<translation>輝度</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="141"/>
|
<location filename="../metadatamodel.cpp" line="143"/>
|
||||||
<source>Exposure program</source>
|
<source>Exposure program</source>
|
||||||
<translation>露光プログラム</translation>
|
<translation>露光プログラム</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="143"/>
|
<location filename="../metadatamodel.cpp" line="145"/>
|
||||||
<source>Saturation</source>
|
<source>Saturation</source>
|
||||||
<translation>彩度</translation>
|
<translation>彩度</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="145"/>
|
<location filename="../metadatamodel.cpp" line="147"/>
|
||||||
<source>Sharpness</source>
|
<source>Sharpness</source>
|
||||||
<translation>シャープネス</translation>
|
<translation>シャープネス</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="147"/>
|
<location filename="../metadatamodel.cpp" line="149"/>
|
||||||
<source>White balance</source>
|
<source>White balance</source>
|
||||||
<translation>ホワイトバランス</translation>
|
<translation>ホワイトバランス</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="149"/>
|
<location filename="../metadatamodel.cpp" line="151"/>
|
||||||
<source>Digital zoom</source>
|
<source>Digital zoom</source>
|
||||||
<translation>デジタルズーム倍率</translation>
|
<translation>デジタルズーム倍率</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="151"/>
|
<location filename="../metadatamodel.cpp" line="153"/>
|
||||||
<source>EXIF version</source>
|
<source>EXIF version</source>
|
||||||
<translation>EXIFバージョン</translation>
|
<translation>EXIFバージョン</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="154"/>
|
<location filename="../metadatamodel.cpp" line="156"/>
|
||||||
<source>Latitude reference</source>
|
<source>Latitude reference</source>
|
||||||
<translation>緯度基準</translation>
|
<translation>緯度基準</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="156"/>
|
<location filename="../metadatamodel.cpp" line="158"/>
|
||||||
<source>Latitude</source>
|
<source>Latitude</source>
|
||||||
<translation>緯度</translation>
|
<translation>緯度</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="158"/>
|
<location filename="../metadatamodel.cpp" line="160"/>
|
||||||
<source>Longitude reference</source>
|
<source>Longitude reference</source>
|
||||||
<translation>経度基準</translation>
|
<translation>経度基準</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="160"/>
|
<location filename="../metadatamodel.cpp" line="162"/>
|
||||||
<source>Longitude</source>
|
<source>Longitude</source>
|
||||||
<translation>経度</translation>
|
<translation>経度</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="162"/>
|
<location filename="../metadatamodel.cpp" line="164"/>
|
||||||
<source>Altitude reference</source>
|
<source>Altitude reference</source>
|
||||||
<translation>高度基準</translation>
|
<translation>高度基準</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="164"/>
|
<location filename="../metadatamodel.cpp" line="166"/>
|
||||||
<source>Altitude</source>
|
<source>Altitude</source>
|
||||||
<translation>高度</translation>
|
<translation>高度</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="174"/>
|
<location filename="../metadatamodel.cpp" line="176"/>
|
||||||
<source>%1 x %2</source>
|
<source>%1 x %2</source>
|
||||||
<translation>%1 × %2</translation>
|
<translation>%1 × %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="192"/>
|
<location filename="../metadatamodel.cpp" line="194"/>
|
||||||
<source>%1 : %2</source>
|
<source>%1 : %2</source>
|
||||||
<translation>%1 : %2</translation>
|
<translation>%1 : %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="317"/>
|
<location filename="../metadatamodel.cpp" line="319"/>
|
||||||
<source>Property</source>
|
<source>Property</source>
|
||||||
<translation>プロパティ</translation>
|
<translation>プロパティ</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="317"/>
|
<location filename="../metadatamodel.cpp" line="319"/>
|
||||||
<source>Value</source>
|
<source>Value</source>
|
||||||
<translation>値</translation>
|
<translation>値</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -717,126 +722,141 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>SettingsDialog</name>
|
<name>SettingsDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="29"/>
|
<location filename="../settingsdialog.cpp" line="31"/>
|
||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation>設定</translation>
|
<translation>設定</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="37"/>
|
<location filename="../settingsdialog.cpp" line="39"/>
|
||||||
<source>Options</source>
|
<source>Options</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>オプション</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="49"/>
|
<location filename="../settingsdialog.cpp" line="51"/>
|
||||||
<source>Shortcuts</source>
|
<source>Shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>ショートカット</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="59"/>
|
<location filename="../settingsdialog.cpp" line="61"/>
|
||||||
<source>Editing shortcuts for action "%1":</source>
|
<source>Editing shortcuts for action "%1":</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>「%1」のショートカットを編集します:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="68"/>
|
<location filename="../settingsdialog.cpp" line="70"/>
|
||||||
<source>Failed to set shortcuts</source>
|
<source>Failed to set shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>ショートカットの設定に失敗しました</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="69"/>
|
<location filename="../settingsdialog.cpp" line="71"/>
|
||||||
<source>Please check if shortcuts are duplicated with existing shortcuts.</source>
|
<source>Please check if shortcuts are duplicated with existing shortcuts.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>既存のショートカットと重複していないことを確認してください。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="76"/>
|
<location filename="../settingsdialog.cpp" line="78"/>
|
||||||
<source>Do nothing</source>
|
<source>Do nothing</source>
|
||||||
<translation>何もしない</translation>
|
<translation>何もしない</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="77"/>
|
<location filename="../settingsdialog.cpp" line="79"/>
|
||||||
<source>Close the window</source>
|
<source>Close the window</source>
|
||||||
<translation>ウィンドウを終了する</translation>
|
<translation>ウィンドウを終了する</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="78"/>
|
<location filename="../settingsdialog.cpp" line="80"/>
|
||||||
<source>Toggle maximize</source>
|
<source>Toggle maximize</source>
|
||||||
<translation>最大サイズに切り替える</translation>
|
<translation>最大サイズに切り替える</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="79"/>
|
<location filename="../settingsdialog.cpp" line="81"/>
|
||||||
<source>Toggle fullscreen</source>
|
<source>Toggle fullscreen</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>フルスクリーン表示に切り替える</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="83"/>
|
<location filename="../settingsdialog.cpp" line="85"/>
|
||||||
<source>Zoom in and out</source>
|
<source>Zoom in and out</source>
|
||||||
<translation>拡大・縮小</translation>
|
<translation>拡大・縮小</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="84"/>
|
<location filename="../settingsdialog.cpp" line="86"/>
|
||||||
<source>View next or previous item</source>
|
<source>View next or previous item</source>
|
||||||
<translation>次の項目または前の項目を表示</translation>
|
<translation>次の項目または前の項目を表示</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="88"/>
|
<location filename="../settingsdialog.cpp" line="90"/>
|
||||||
<source>Auto size</source>
|
<source>Auto size</source>
|
||||||
<translation>オートサイズ</translation>
|
<translation>オートサイズ</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="89"/>
|
<location filename="../settingsdialog.cpp" line="91"/>
|
||||||
<source>Maximized</source>
|
<source>Maximized</source>
|
||||||
<translation>最大化</translation>
|
<translation>最大化</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="93"/>
|
<location filename="../settingsdialog.cpp" line="92"/>
|
||||||
|
<source>Windowed</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="96"/>
|
||||||
<source>Round (Integer scaling)</source>
|
<source>Round (Integer scaling)</source>
|
||||||
<comment>This option means round up for .5 and above</comment>
|
<comment>This option means round up for .5 and above</comment>
|
||||||
<translation>四捨五入 (整数スケーリング)</translation>
|
<translation>四捨五入 (整数スケーリング)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="94"/>
|
<location filename="../settingsdialog.cpp" line="97"/>
|
||||||
<source>Ceil (Integer scaling)</source>
|
<source>Ceil (Integer scaling)</source>
|
||||||
<comment>This option means always round up</comment>
|
<comment>This option means always round up</comment>
|
||||||
<translation>切り上げ (整数スケーリング)</translation>
|
<translation>切り上げ (整数スケーリング)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="95"/>
|
<location filename="../settingsdialog.cpp" line="98"/>
|
||||||
<source>Floor (Integer scaling)</source>
|
<source>Floor (Integer scaling)</source>
|
||||||
<comment>This option means always round down</comment>
|
<comment>This option means always round down</comment>
|
||||||
<translation>切り捨て (整数スケーリング)</translation>
|
<translation>切り捨て (整数スケーリング)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="96"/>
|
<location filename="../settingsdialog.cpp" line="99"/>
|
||||||
<source>Follow system (Fractional scaling)</source>
|
<source>Follow system (Fractional scaling)</source>
|
||||||
<comment>This option means don't round</comment>
|
<comment>This option means don't round</comment>
|
||||||
<translation>システム設定に従う (小数スケーリング)</translation>
|
<translation>システム設定に従う (小数スケーリング)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="119"/>
|
<location filename="../settingsdialog.cpp" line="122"/>
|
||||||
<source>Stay on top when start-up</source>
|
<source>Stay on top when start-up</source>
|
||||||
<translation>起動時に最前面に表示する</translation>
|
<translation>起動時に最前面に表示する</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="120"/>
|
<location filename="../settingsdialog.cpp" line="123"/>
|
||||||
<source>Use light-color checkerboard</source>
|
<source>Use built-in close window animation</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="121"/>
|
<location filename="../settingsdialog.cpp" line="124"/>
|
||||||
|
<source>Use light-color checkerboard</source>
|
||||||
|
<translation>明るい色の格子模様を使用する</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="125"/>
|
||||||
|
<source>Loop the loaded gallery</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="126"/>
|
||||||
<source>Double-click behavior</source>
|
<source>Double-click behavior</source>
|
||||||
<translation>ダブルクリックの動作</translation>
|
<translation>ダブルクリックの動作</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="122"/>
|
<location filename="../settingsdialog.cpp" line="127"/>
|
||||||
<source>Mouse wheel behavior</source>
|
<source>Mouse wheel behavior</source>
|
||||||
<translation>マウスホイールの動作</translation>
|
<translation>マウスホイールの動作</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="123"/>
|
<location filename="../settingsdialog.cpp" line="128"/>
|
||||||
<source>Default window size</source>
|
<source>Default window size</source>
|
||||||
<translation>既定のウィンドウサイズ</translation>
|
<translation>既定のウィンドウサイズ</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="124"/>
|
<location filename="../settingsdialog.cpp" line="129"/>
|
||||||
<source>HiDPI scale factor rounding policy</source>
|
<source>HiDPI scale factor rounding policy</source>
|
||||||
<translation>高DPIスケーリングの四捨五入方法</translation>
|
<translation>高DPIスケーリングの四捨五入方法</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -844,33 +864,33 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>ShortcutEdit</name>
|
<name>ShortcutEdit</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../shortcutedit.cpp" line="111"/>
|
<location filename="../shortcutedit.cpp" line="109"/>
|
||||||
<source>No shortcuts</source>
|
<source>No shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>ショートカットなし</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ShortcutEditor</name>
|
<name>ShortcutEditor</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../shortcutedit.cpp" line="77"/>
|
<location filename="../shortcutedit.cpp" line="75"/>
|
||||||
<source>Shortcut #%1</source>
|
<source>Shortcut #%1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>ショートカット #%1</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>main</name>
|
<name>main</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="43"/>
|
<location filename="../main.cpp" line="42"/>
|
||||||
<source>Pineapple Pictures</source>
|
<source>Pineapple Pictures</source>
|
||||||
<translation>Pineapple Pictures</translation>
|
<translation>Pineapple Pictures</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="46"/>
|
<location filename="../main.cpp" line="45"/>
|
||||||
<source>List supported image format suffixes, and quit program.</source>
|
<source>List supported image format suffixes, and quit program.</source>
|
||||||
<translation>サポートされている画像形式の拡張子を一覧表示し、プログラムを終了します。</translation>
|
<translation>サポートされている画像形式の拡張子を一覧表示し、プログラムを終了します。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="50"/>
|
<location filename="../main.cpp" line="49"/>
|
||||||
<source>File list.</source>
|
<source>File list.</source>
|
||||||
<translation>ファイルリスト</translation>
|
<translation>ファイルリスト</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|||||||
@@ -4,169 +4,169 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>AboutDialog</name>
|
<name>AboutDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="27"/>
|
<location filename="../aboutdialog.cpp" line="29"/>
|
||||||
<source>About</source>
|
<source>About</source>
|
||||||
<translation>정보</translation>
|
<translation>정보</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="30"/>
|
<location filename="../aboutdialog.cpp" line="32"/>
|
||||||
<source>Launch application with image file path as argument to load the file.</source>
|
<source>Launch application with image file path as argument to load the file.</source>
|
||||||
<translation>이미지 파일 경로를 인수로 지정하여 응용 프로그램을 시작하여 파일을 불러옵니다.</translation>
|
<translation>이미지 파일 경로를 인수로 지정하여 응용 프로그램을 시작하여 파일을 불러옵니다.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="31"/>
|
<location filename="../aboutdialog.cpp" line="33"/>
|
||||||
<source>Drag and drop image file onto the window is also supported.</source>
|
<source>Drag and drop image file onto the window is also supported.</source>
|
||||||
<translation>이미지 파일을 창으로 끌어다 놓기도 지원됩니다.</translation>
|
<translation>이미지 파일을 창으로 끌어다 놓기도 지원됩니다.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="32"/>
|
<location filename="../aboutdialog.cpp" line="34"/>
|
||||||
<source>None of the operations in this application will alter the pictures on disk.</source>
|
<source>None of the operations in this application will alter the pictures on disk.</source>
|
||||||
<translation>이 응용 프로그램의 어떤 작업도 디스크의 사진을 변경하지 않습니다.</translation>
|
<translation>이 응용 프로그램의 어떤 작업도 디스크의 사진을 변경하지 않습니다.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="33"/>
|
<location filename="../aboutdialog.cpp" line="35"/>
|
||||||
<source>Context menu option explanation:</source>
|
<source>Context menu option explanation:</source>
|
||||||
<translation>상황에 맞는 메뉴 옵션 설명:</translation>
|
<translation>상황에 맞는 메뉴 옵션 설명:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="40"/>
|
<location filename="../aboutdialog.cpp" line="42"/>
|
||||||
<source>Make window stay on top of all other windows.</source>
|
<source>Make window stay on top of all other windows.</source>
|
||||||
<translation>창이 다른 모든 창 위에 오도록 합니다.</translation>
|
<translation>창이 다른 모든 창 위에 오도록 합니다.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="43"/>
|
<location filename="../aboutdialog.cpp" line="45"/>
|
||||||
<source>Avoid close window accidentally. (eg. by double clicking the window)</source>
|
<source>Avoid close window accidentally. (eg. by double clicking the window)</source>
|
||||||
<translation>실수로 창을 닫지 마십시오. (예: 창을 두 번 클릭하여)</translation>
|
<translation>실수로 창을 닫지 마십시오. (예: 창을 두 번 클릭하여)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="46"/>
|
<location filename="../aboutdialog.cpp" line="48"/>
|
||||||
<source>Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.</source>
|
<source>Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.</source>
|
||||||
<translation>이미지 간 전환 시 이미지 보기에 적용되었던 줌/회전/플립 상태를 재설정하지 마세요.</translation>
|
<translation>이미지 간 전환 시 이미지 보기에 적용되었던 줌/회전/플립 상태를 재설정하지 마세요.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="53"/>
|
<location filename="../aboutdialog.cpp" line="55"/>
|
||||||
<source>Version: %1</source>
|
<source>Version: %1</source>
|
||||||
<translation>버전: %1</translation>
|
<translation>버전: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="64"/>
|
<location filename="../aboutdialog.cpp" line="66"/>
|
||||||
<source>Logo designed by %1</source>
|
<source>Logo designed by %1</source>
|
||||||
<translation>%1에 의해 설계된 로고</translation>
|
<translation>%1에 의해 설계된 로고</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="66"/>
|
<location filename="../aboutdialog.cpp" line="68"/>
|
||||||
<source>Built with Qt %1 (%2)</source>
|
<source>Built with Qt %1 (%2)</source>
|
||||||
<translation>Qt %1(%2)로 빌드됨</translation>
|
<translation>Qt %1(%2)로 빌드됨</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="67"/>
|
<location filename="../aboutdialog.cpp" line="69"/>
|
||||||
<source>Source code</source>
|
<source>Source code</source>
|
||||||
<translation>소스 코드</translation>
|
<translation>소스 코드</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="77"/>
|
<location filename="../aboutdialog.cpp" line="79"/>
|
||||||
<source>Contributors</source>
|
<source>Contributors</source>
|
||||||
<translation>기여자</translation>
|
<translation>기여자</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="79"/>
|
<location filename="../aboutdialog.cpp" line="81"/>
|
||||||
<source>List of contributors on GitHub</source>
|
<source>List of contributors on GitHub</source>
|
||||||
<translation>GitHub의 기여자 목록</translation>
|
<translation>GitHub의 기여자 목록</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="80"/>
|
<location filename="../aboutdialog.cpp" line="82"/>
|
||||||
<source>Thanks to all people who contributed to this project.</source>
|
<source>Thanks to all people who contributed to this project.</source>
|
||||||
<translation>이 프로젝트에 기여해주신 모든 분들께 감사드립니다.</translation>
|
<translation>이 프로젝트에 기여해주신 모든 분들께 감사드립니다.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="84"/>
|
<location filename="../aboutdialog.cpp" line="86"/>
|
||||||
<source>Translators</source>
|
<source>Translators</source>
|
||||||
<translation>번역자</translation>
|
<translation>번역자</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="85"/>
|
<location filename="../aboutdialog.cpp" line="87"/>
|
||||||
<source>I would like to thank the following people who volunteered to translate this application.</source>
|
<source>I would like to thank the following people who volunteered to translate this application.</source>
|
||||||
<translation>이 응용 프로그램 번역에 자원해 주신 다음 분들께 감사의 말씀을 전합니다.</translation>
|
<translation>이 응용 프로그램 번역에 자원해 주신 다음 분들께 감사의 말씀을 전합니다.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="129"/>
|
<location filename="../aboutdialog.cpp" line="131"/>
|
||||||
<source>%1 is built on the following free software libraries:</source>
|
<source>%1 is built on the following free software libraries:</source>
|
||||||
<comment>Free as in freedom</comment>
|
<comment>Free as in freedom</comment>
|
||||||
<translation>%1은 다음과 같은 무료 소프트웨어 라이브러리를 기반으로 합니다:</translation>
|
<translation>%1은 다음과 같은 무료 소프트웨어 라이브러리를 기반으로 합니다:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="153"/>
|
<location filename="../aboutdialog.cpp" line="155"/>
|
||||||
<source>&Special Thanks</source>
|
<source>&Special Thanks</source>
|
||||||
<translation>특별한 감사(&S)</translation>
|
<translation>특별한 감사(&S)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="155"/>
|
<location filename="../aboutdialog.cpp" line="157"/>
|
||||||
<source>&Third-party Libraries</source>
|
<source>&Third-party Libraries</source>
|
||||||
<translation>타사 라이브러리(&T)</translation>
|
<translation>타사 라이브러리(&T)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="91"/>
|
<location filename="../aboutdialog.cpp" line="93"/>
|
||||||
<source>Your Rights</source>
|
<source>Your Rights</source>
|
||||||
<translation>사용자 권한</translation>
|
<translation>사용자 권한</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="61"/>
|
<location filename="../aboutdialog.cpp" line="63"/>
|
||||||
<source>Copyright (c) %1 %2</source>
|
<source>Copyright (c) %1 %2</source>
|
||||||
<comment>%1 is year, %2 is the name of copyright holder(s)</comment>
|
<comment>%1 is year, %2 is the name of copyright holder(s)</comment>
|
||||||
<translation>저작권 (c) %1 %2</translation>
|
<translation>저작권 (c) %1 %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="93"/>
|
<location filename="../aboutdialog.cpp" line="95"/>
|
||||||
<source>%1 is released under the MIT License.</source>
|
<source>%1 is released under the MIT License.</source>
|
||||||
<translation>사용자의 권한 %1은 MIT 라이선스에 따라 릴리스됩니다.</translation>
|
<translation>사용자의 권한 %1은 MIT 라이선스에 따라 릴리스됩니다.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="94"/>
|
<location filename="../aboutdialog.cpp" line="96"/>
|
||||||
<source>This license grants people a number of freedoms:</source>
|
<source>This license grants people a number of freedoms:</source>
|
||||||
<translation>이 라이선스는 다음과 같은 다양한 자유를 제공합니다:</translation>
|
<translation>이 라이선스는 다음과 같은 다양한 자유를 제공합니다:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="95"/>
|
<location filename="../aboutdialog.cpp" line="97"/>
|
||||||
<source>You are free to use %1, for any purpose</source>
|
<source>You are free to use %1, for any purpose</source>
|
||||||
<translation>%1을(를) 어떤 용도로도 자유롭게 사용할 수 있습니다</translation>
|
<translation>%1을(를) 어떤 용도로도 자유롭게 사용할 수 있습니다</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="96"/>
|
<location filename="../aboutdialog.cpp" line="98"/>
|
||||||
<source>You are free to distribute %1</source>
|
<source>You are free to distribute %1</source>
|
||||||
<translation>%1를 무료로 배포할 수 있습니다</translation>
|
<translation>%1를 무료로 배포할 수 있습니다</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="97"/>
|
<location filename="../aboutdialog.cpp" line="99"/>
|
||||||
<source>You can study how %1 works and change it</source>
|
<source>You can study how %1 works and change it</source>
|
||||||
<translation>%1가 작동하는 방식을 연구하고 변경할 수 있습니다</translation>
|
<translation>%1가 작동하는 방식을 연구하고 변경할 수 있습니다</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="98"/>
|
<location filename="../aboutdialog.cpp" line="100"/>
|
||||||
<source>You can distribute changed versions of %1</source>
|
<source>You can distribute changed versions of %1</source>
|
||||||
<translation>변경된 버전의 %1을 배포할 수 있습니다</translation>
|
<translation>변경된 버전의 %1을 배포할 수 있습니다</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="100"/>
|
<location filename="../aboutdialog.cpp" line="102"/>
|
||||||
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
|
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
|
||||||
<translation>MIT 라이선스는 이러한 자유를 보장합니다. 누구도 이를 빼앗을 수 없습니다.</translation>
|
<translation>MIT 라이선스는 이러한 자유를 보장합니다. 누구도 이를 빼앗을 수 없습니다.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="128"/>
|
<location filename="../aboutdialog.cpp" line="130"/>
|
||||||
<source>Third-party Libraries used by %1</source>
|
<source>Third-party Libraries used by %1</source>
|
||||||
<translation>%1에서 사용하는 타사 라이브러리</translation>
|
<translation>%1에서 사용하는 타사 라이브러리</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="151"/>
|
<location filename="../aboutdialog.cpp" line="153"/>
|
||||||
<source>&Help</source>
|
<source>&Help</source>
|
||||||
<translation>도움말(&H)</translation>
|
<translation>도움말(&H)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="152"/>
|
<location filename="../aboutdialog.cpp" line="154"/>
|
||||||
<source>&About</source>
|
<source>&About</source>
|
||||||
<translation>정보(&A)</translation>
|
<translation>정보(&A)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="154"/>
|
<location filename="../aboutdialog.cpp" line="156"/>
|
||||||
<source>&License</source>
|
<source>&License</source>
|
||||||
<translation>라이선스(&L)</translation>
|
<translation>라이선스(&L)</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -174,7 +174,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>GraphicsScene</name>
|
<name>GraphicsScene</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="269"/>
|
<location filename="../mainwindow.cpp" line="276"/>
|
||||||
<location filename="../graphicsscene.cpp" line="100"/>
|
<location filename="../graphicsscene.cpp" line="100"/>
|
||||||
<source>Drag image here</source>
|
<source>Drag image here</source>
|
||||||
<translation>이미지를 여기로 끌기</translation>
|
<translation>이미지를 여기로 끌기</translation>
|
||||||
@@ -187,13 +187,13 @@
|
|||||||
<translation type="vanished">파일 URL 목록이 비어 있습니다</translation>
|
<translation type="vanished">파일 URL 목록이 비어 있습니다</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../graphicsview.cpp" line="52"/>
|
<location filename="../graphicsview.cpp" line="50"/>
|
||||||
<source>File is not a valid image</source>
|
<source>File is not a valid image</source>
|
||||||
<translation>파일이 올바른 이미지가 아닙니다</translation>
|
<translation>파일이 올바른 이미지가 아닙니다</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../graphicsview.cpp" line="56"/>
|
<location filename="../graphicsview.cpp" line="54"/>
|
||||||
<location filename="../graphicsview.cpp" line="60"/>
|
<location filename="../graphicsview.cpp" line="58"/>
|
||||||
<source>Image data is invalid or currently unsupported</source>
|
<source>Image data is invalid or currently unsupported</source>
|
||||||
<translation>이미지 데이터가 잘못되었거나 현재 지원되지 않습니다</translation>
|
<translation>이미지 데이터가 잘못되었거나 현재 지원되지 않습니다</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -209,38 +209,43 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MainWindow</name>
|
<name>MainWindow</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="180"/>
|
<location filename="../mainwindow.cpp" line="181"/>
|
||||||
<location filename="../mainwindow.cpp" line="540"/>
|
<location filename="../mainwindow.cpp" line="545"/>
|
||||||
<source>File url list is empty</source>
|
<source>File url list is empty</source>
|
||||||
<translation>파일 URL 목록이 비어 있습니다</translation>
|
<translation>파일 URL 목록이 비어 있습니다</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="438"/>
|
<location filename="../mainwindow.cpp" line="445"/>
|
||||||
<source>&Copy</source>
|
<source>&Copy</source>
|
||||||
<translation>복사(&C)</translation>
|
<translation>복사(&C)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="548"/>
|
<location filename="../mainwindow.cpp" line="553"/>
|
||||||
<source>Image data is invalid</source>
|
<source>Image data is invalid</source>
|
||||||
<translation>이미지 데이터가 잘못되었습니다</translation>
|
<translation>이미지 데이터가 잘못되었습니다</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="555"/>
|
<location filename="../mainwindow.cpp" line="560"/>
|
||||||
<source>Not supported mimedata: %1</source>
|
<source>Not supported mimedata: %1</source>
|
||||||
<translation>지원되지 않는 mimedata: %1</translation>
|
<translation>지원되지 않는 mimedata: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="764"/>
|
<location filename="../mainwindow.cpp" line="759"/>
|
||||||
<source>Image From Clipboard</source>
|
<source>Image From Clipboard</source>
|
||||||
<translation>클립보드에서 이미지</translation>
|
<translation>클립보드에서 이미지</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="782"/>
|
<location filename="../mainwindow.cpp" line="777"/>
|
||||||
<source>Are you sure you want to move "%1" to recycle bin?</source>
|
<source>Are you sure you want to move "%1" to recycle bin?</source>
|
||||||
<translation>"%1"을 휴지통으로 옮기시겠습니까?</translation>
|
<translation>"%1"을 휴지통으로 옮기시겠습니까?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="787"/>
|
<location filename="../mainwindow.cpp" line="781"/>
|
||||||
|
<source>Failed to move file to trash</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="782"/>
|
||||||
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
|
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
|
||||||
<translation>휴지통으로 이동하지 못했습니다. 파일 권한 문제, 파일 시스템 제한 또는 플랫폼 제한으로 인해 발생할 수 있습니다.</translation>
|
<translation>휴지통으로 이동하지 못했습니다. 파일 권한 문제, 파일 시스템 제한 또는 플랫폼 제한으로 인해 발생할 수 있습니다.</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -261,19 +266,19 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="118"/>
|
<location filename="../actionmanager.cpp" line="118"/>
|
||||||
<location filename="../aboutdialog.cpp" line="39"/>
|
<location filename="../aboutdialog.cpp" line="41"/>
|
||||||
<source>Stay on top</source>
|
<source>Stay on top</source>
|
||||||
<translation>맨 위에 유지</translation>
|
<translation>맨 위에 유지</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="119"/>
|
<location filename="../actionmanager.cpp" line="119"/>
|
||||||
<location filename="../aboutdialog.cpp" line="42"/>
|
<location filename="../aboutdialog.cpp" line="44"/>
|
||||||
<source>Protected mode</source>
|
<source>Protected mode</source>
|
||||||
<translation>보호 모드</translation>
|
<translation>보호 모드</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="120"/>
|
<location filename="../actionmanager.cpp" line="120"/>
|
||||||
<location filename="../aboutdialog.cpp" line="45"/>
|
<location filename="../aboutdialog.cpp" line="47"/>
|
||||||
<source>Keep transformation</source>
|
<source>Keep transformation</source>
|
||||||
<comment>The 'transformation' means the flip/rotation status that currently applied to the image view</comment>
|
<comment>The 'transformation' means the flip/rotation status that currently applied to the image view</comment>
|
||||||
<translation>변형 유지</translation>
|
<translation>변형 유지</translation>
|
||||||
@@ -359,7 +364,7 @@
|
|||||||
<translation>다음 이미지</translation>
|
<translation>다음 이미지</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="781"/>
|
<location filename="../mainwindow.cpp" line="776"/>
|
||||||
<location filename="../actionmanager.cpp" line="117"/>
|
<location filename="../actionmanager.cpp" line="117"/>
|
||||||
<source>Move to Trash</source>
|
<source>Move to Trash</source>
|
||||||
<translation>휴지통으로 이동</translation>
|
<translation>휴지통으로 이동</translation>
|
||||||
@@ -402,314 +407,314 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MetadataModel</name>
|
<name>MetadataModel</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="41"/>
|
<location filename="../metadatamodel.cpp" line="43"/>
|
||||||
<source>Origin</source>
|
<source>Origin</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>기원</translation>
|
<translation>기원</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="42"/>
|
<location filename="../metadatamodel.cpp" line="44"/>
|
||||||
<source>Image</source>
|
<source>Image</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>이미지</translation>
|
<translation>이미지</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="46"/>
|
<location filename="../metadatamodel.cpp" line="48"/>
|
||||||
<source>File</source>
|
<source>File</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>파일</translation>
|
<translation>파일</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="43"/>
|
<location filename="../metadatamodel.cpp" line="45"/>
|
||||||
<source>Camera</source>
|
<source>Camera</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>카메라</translation>
|
<translation>카메라</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="33"/>
|
<location filename="../metadatamodel.cpp" line="35"/>
|
||||||
<source>%1 File</source>
|
<source>%1 File</source>
|
||||||
<translation>%1 파일</translation>
|
<translation>%1 파일</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="40"/>
|
<location filename="../metadatamodel.cpp" line="42"/>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>설명</translation>
|
<translation>설명</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="44"/>
|
<location filename="../metadatamodel.cpp" line="46"/>
|
||||||
<source>Advanced photo</source>
|
<source>Advanced photo</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>고급 사진</translation>
|
<translation>고급 사진</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="45"/>
|
<location filename="../metadatamodel.cpp" line="47"/>
|
||||||
<source>GPS</source>
|
<source>GPS</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>GPS</translation>
|
<translation>GPS</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="50"/>
|
<location filename="../metadatamodel.cpp" line="52"/>
|
||||||
<source>Dimensions</source>
|
<source>Dimensions</source>
|
||||||
<translation>치수</translation>
|
<translation>치수</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="52"/>
|
<location filename="../metadatamodel.cpp" line="54"/>
|
||||||
<source>Aspect ratio</source>
|
<source>Aspect ratio</source>
|
||||||
<translation>종횡비</translation>
|
<translation>종횡비</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="56"/>
|
<location filename="../metadatamodel.cpp" line="58"/>
|
||||||
<source>Frame count</source>
|
<source>Frame count</source>
|
||||||
<translation>프레임 수</translation>
|
<translation>프레임 수</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="60"/>
|
<location filename="../metadatamodel.cpp" line="62"/>
|
||||||
<source>Name</source>
|
<source>Name</source>
|
||||||
<translation>이름</translation>
|
<translation>이름</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="62"/>
|
<location filename="../metadatamodel.cpp" line="64"/>
|
||||||
<source>Item type</source>
|
<source>Item type</source>
|
||||||
<translation>항목 유형</translation>
|
<translation>항목 유형</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="64"/>
|
<location filename="../metadatamodel.cpp" line="66"/>
|
||||||
<source>Folder path</source>
|
<source>Folder path</source>
|
||||||
<translation>폴더 경로</translation>
|
<translation>폴더 경로</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="66"/>
|
<location filename="../metadatamodel.cpp" line="68"/>
|
||||||
<source>Size</source>
|
<source>Size</source>
|
||||||
<translation>크기</translation>
|
<translation>크기</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="68"/>
|
<location filename="../metadatamodel.cpp" line="70"/>
|
||||||
<source>Date created</source>
|
<source>Date created</source>
|
||||||
<translation>만든 날짜</translation>
|
<translation>만든 날짜</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="70"/>
|
<location filename="../metadatamodel.cpp" line="72"/>
|
||||||
<source>Date modified</source>
|
<source>Date modified</source>
|
||||||
<translation>수정 날짜</translation>
|
<translation>수정 날짜</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="77"/>
|
<location filename="../metadatamodel.cpp" line="79"/>
|
||||||
<source>Title</source>
|
<source>Title</source>
|
||||||
<translation>제목</translation>
|
<translation>제목</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="79"/>
|
<location filename="../metadatamodel.cpp" line="81"/>
|
||||||
<source>Subject</source>
|
<source>Subject</source>
|
||||||
<translation>주제</translation>
|
<translation>주제</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="81"/>
|
<location filename="../metadatamodel.cpp" line="83"/>
|
||||||
<source>Rating</source>
|
<source>Rating</source>
|
||||||
<translation>등급</translation>
|
<translation>등급</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="83"/>
|
<location filename="../metadatamodel.cpp" line="85"/>
|
||||||
<source>Tags</source>
|
<source>Tags</source>
|
||||||
<translation>태그</translation>
|
<translation>태그</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="85"/>
|
<location filename="../metadatamodel.cpp" line="87"/>
|
||||||
<source>Comments</source>
|
<source>Comments</source>
|
||||||
<translation>주석</translation>
|
<translation>주석</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="88"/>
|
<location filename="../metadatamodel.cpp" line="90"/>
|
||||||
<source>Authors</source>
|
<source>Authors</source>
|
||||||
<translation>저자</translation>
|
<translation>저자</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="90"/>
|
<location filename="../metadatamodel.cpp" line="92"/>
|
||||||
<source>Date taken</source>
|
<source>Date taken</source>
|
||||||
<translation>촬영 날짜</translation>
|
<translation>촬영 날짜</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="96"/>
|
<location filename="../metadatamodel.cpp" line="98"/>
|
||||||
<source>Program name</source>
|
<source>Program name</source>
|
||||||
<translation>프로그램 이름</translation>
|
<translation>프로그램 이름</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="98"/>
|
<location filename="../metadatamodel.cpp" line="100"/>
|
||||||
<source>Copyright</source>
|
<source>Copyright</source>
|
||||||
<translation>저작권</translation>
|
<translation>저작권</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="101"/>
|
<location filename="../metadatamodel.cpp" line="103"/>
|
||||||
<source>Horizontal resolution</source>
|
<source>Horizontal resolution</source>
|
||||||
<translation>수평 해상도</translation>
|
<translation>수평 해상도</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="103"/>
|
<location filename="../metadatamodel.cpp" line="105"/>
|
||||||
<source>Vertical resolution</source>
|
<source>Vertical resolution</source>
|
||||||
<translation>수직 해상도</translation>
|
<translation>수직 해상도</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="105"/>
|
<location filename="../metadatamodel.cpp" line="107"/>
|
||||||
<source>Resolution unit</source>
|
<source>Resolution unit</source>
|
||||||
<translation>해상도 단위</translation>
|
<translation>해상도 단위</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="107"/>
|
<location filename="../metadatamodel.cpp" line="109"/>
|
||||||
<source>Colour representation</source>
|
<source>Colour representation</source>
|
||||||
<translation>색 표현</translation>
|
<translation>색 표현</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="110"/>
|
<location filename="../metadatamodel.cpp" line="112"/>
|
||||||
<source>Camera maker</source>
|
<source>Camera maker</source>
|
||||||
<translation>카메라 제조업체</translation>
|
<translation>카메라 제조업체</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="112"/>
|
<location filename="../metadatamodel.cpp" line="114"/>
|
||||||
<source>Camera model</source>
|
<source>Camera model</source>
|
||||||
<translation>카메라 모델</translation>
|
<translation>카메라 모델</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="114"/>
|
<location filename="../metadatamodel.cpp" line="116"/>
|
||||||
<source>F-stop</source>
|
<source>F-stop</source>
|
||||||
<translation>F-스톱</translation>
|
<translation>F-스톱</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="116"/>
|
<location filename="../metadatamodel.cpp" line="118"/>
|
||||||
<source>Exposure time</source>
|
<source>Exposure time</source>
|
||||||
<translation>노출 시간</translation>
|
<translation>노출 시간</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="118"/>
|
<location filename="../metadatamodel.cpp" line="120"/>
|
||||||
<source>ISO speed</source>
|
<source>ISO speed</source>
|
||||||
<translation>ISO 속도</translation>
|
<translation>ISO 속도</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="120"/>
|
<location filename="../metadatamodel.cpp" line="122"/>
|
||||||
<source>Exposure bias</source>
|
<source>Exposure bias</source>
|
||||||
<translation>노출 편향</translation>
|
<translation>노출 편향</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="122"/>
|
<location filename="../metadatamodel.cpp" line="124"/>
|
||||||
<source>Focal length</source>
|
<source>Focal length</source>
|
||||||
<translation>초점 거리</translation>
|
<translation>초점 거리</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="124"/>
|
<location filename="../metadatamodel.cpp" line="126"/>
|
||||||
<source>Max aperture</source>
|
<source>Max aperture</source>
|
||||||
<translation>최대 조리개</translation>
|
<translation>최대 조리개</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="126"/>
|
<location filename="../metadatamodel.cpp" line="128"/>
|
||||||
<source>Metering mode</source>
|
<source>Metering mode</source>
|
||||||
<translation>미터링 모드</translation>
|
<translation>미터링 모드</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="128"/>
|
<location filename="../metadatamodel.cpp" line="130"/>
|
||||||
<source>Subject distance</source>
|
<source>Subject distance</source>
|
||||||
<translation>피사체 거리</translation>
|
<translation>피사체 거리</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="130"/>
|
<location filename="../metadatamodel.cpp" line="132"/>
|
||||||
<source>Flash mode</source>
|
<source>Flash mode</source>
|
||||||
<translation>플래시 모드</translation>
|
<translation>플래시 모드</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="132"/>
|
<location filename="../metadatamodel.cpp" line="134"/>
|
||||||
<source>35mm focal length</source>
|
<source>35mm focal length</source>
|
||||||
<translation>35mm 초점 거리</translation>
|
<translation>35mm 초점 거리</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="135"/>
|
<location filename="../metadatamodel.cpp" line="137"/>
|
||||||
<source>Lens model</source>
|
<source>Lens model</source>
|
||||||
<translation>렌즈 모델</translation>
|
<translation>렌즈 모델</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="137"/>
|
<location filename="../metadatamodel.cpp" line="139"/>
|
||||||
<source>Contrast</source>
|
<source>Contrast</source>
|
||||||
<translation>대비</translation>
|
<translation>대비</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="139"/>
|
<location filename="../metadatamodel.cpp" line="141"/>
|
||||||
<source>Brightness</source>
|
<source>Brightness</source>
|
||||||
<translation>밝기</translation>
|
<translation>밝기</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="141"/>
|
<location filename="../metadatamodel.cpp" line="143"/>
|
||||||
<source>Exposure program</source>
|
<source>Exposure program</source>
|
||||||
<translation>노출 프로그램</translation>
|
<translation>노출 프로그램</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="143"/>
|
<location filename="../metadatamodel.cpp" line="145"/>
|
||||||
<source>Saturation</source>
|
<source>Saturation</source>
|
||||||
<translation>채도</translation>
|
<translation>채도</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="145"/>
|
<location filename="../metadatamodel.cpp" line="147"/>
|
||||||
<source>Sharpness</source>
|
<source>Sharpness</source>
|
||||||
<translation>선명도</translation>
|
<translation>선명도</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="147"/>
|
<location filename="../metadatamodel.cpp" line="149"/>
|
||||||
<source>White balance</source>
|
<source>White balance</source>
|
||||||
<translation>화이트 밸런스</translation>
|
<translation>화이트 밸런스</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="149"/>
|
<location filename="../metadatamodel.cpp" line="151"/>
|
||||||
<source>Digital zoom</source>
|
<source>Digital zoom</source>
|
||||||
<translation>디지털 줌</translation>
|
<translation>디지털 줌</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="151"/>
|
<location filename="../metadatamodel.cpp" line="153"/>
|
||||||
<source>EXIF version</source>
|
<source>EXIF version</source>
|
||||||
<translation>EXIF 버전</translation>
|
<translation>EXIF 버전</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="154"/>
|
<location filename="../metadatamodel.cpp" line="156"/>
|
||||||
<source>Latitude reference</source>
|
<source>Latitude reference</source>
|
||||||
<translation>위도 참조</translation>
|
<translation>위도 참조</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="156"/>
|
<location filename="../metadatamodel.cpp" line="158"/>
|
||||||
<source>Latitude</source>
|
<source>Latitude</source>
|
||||||
<translation>위도</translation>
|
<translation>위도</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="158"/>
|
<location filename="../metadatamodel.cpp" line="160"/>
|
||||||
<source>Longitude reference</source>
|
<source>Longitude reference</source>
|
||||||
<translation>경도 참조</translation>
|
<translation>경도 참조</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="160"/>
|
<location filename="../metadatamodel.cpp" line="162"/>
|
||||||
<source>Longitude</source>
|
<source>Longitude</source>
|
||||||
<translation>경도</translation>
|
<translation>경도</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="162"/>
|
<location filename="../metadatamodel.cpp" line="164"/>
|
||||||
<source>Altitude reference</source>
|
<source>Altitude reference</source>
|
||||||
<translation>고도 참조</translation>
|
<translation>고도 참조</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="164"/>
|
<location filename="../metadatamodel.cpp" line="166"/>
|
||||||
<source>Altitude</source>
|
<source>Altitude</source>
|
||||||
<translation>고도</translation>
|
<translation>고도</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="174"/>
|
<location filename="../metadatamodel.cpp" line="176"/>
|
||||||
<source>%1 x %2</source>
|
<source>%1 x %2</source>
|
||||||
<translation>%1 x %2</translation>
|
<translation>%1 x %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="192"/>
|
<location filename="../metadatamodel.cpp" line="194"/>
|
||||||
<source>%1 : %2</source>
|
<source>%1 : %2</source>
|
||||||
<translation>%1 : %2</translation>
|
<translation>%1 : %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="317"/>
|
<location filename="../metadatamodel.cpp" line="319"/>
|
||||||
<source>Property</source>
|
<source>Property</source>
|
||||||
<translation>속성</translation>
|
<translation>속성</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="317"/>
|
<location filename="../metadatamodel.cpp" line="319"/>
|
||||||
<source>Value</source>
|
<source>Value</source>
|
||||||
<translation>값</translation>
|
<translation>값</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -717,126 +722,141 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>SettingsDialog</name>
|
<name>SettingsDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="29"/>
|
<location filename="../settingsdialog.cpp" line="31"/>
|
||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation>설정</translation>
|
<translation>설정</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="37"/>
|
<location filename="../settingsdialog.cpp" line="39"/>
|
||||||
<source>Options</source>
|
<source>Options</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="49"/>
|
<location filename="../settingsdialog.cpp" line="51"/>
|
||||||
<source>Shortcuts</source>
|
<source>Shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="59"/>
|
<location filename="../settingsdialog.cpp" line="61"/>
|
||||||
<source>Editing shortcuts for action "%1":</source>
|
<source>Editing shortcuts for action "%1":</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="68"/>
|
<location filename="../settingsdialog.cpp" line="70"/>
|
||||||
<source>Failed to set shortcuts</source>
|
<source>Failed to set shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="69"/>
|
<location filename="../settingsdialog.cpp" line="71"/>
|
||||||
<source>Please check if shortcuts are duplicated with existing shortcuts.</source>
|
<source>Please check if shortcuts are duplicated with existing shortcuts.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="76"/>
|
<location filename="../settingsdialog.cpp" line="78"/>
|
||||||
<source>Do nothing</source>
|
<source>Do nothing</source>
|
||||||
<translation>아무것도 하지 않음</translation>
|
<translation>아무것도 하지 않음</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="77"/>
|
<location filename="../settingsdialog.cpp" line="79"/>
|
||||||
<source>Close the window</source>
|
<source>Close the window</source>
|
||||||
<translation>창 닫기</translation>
|
<translation>창 닫기</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="78"/>
|
<location filename="../settingsdialog.cpp" line="80"/>
|
||||||
<source>Toggle maximize</source>
|
<source>Toggle maximize</source>
|
||||||
<translation>최대화 전환</translation>
|
<translation>최대화 전환</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="79"/>
|
<location filename="../settingsdialog.cpp" line="81"/>
|
||||||
<source>Toggle fullscreen</source>
|
<source>Toggle fullscreen</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="83"/>
|
<location filename="../settingsdialog.cpp" line="85"/>
|
||||||
<source>Zoom in and out</source>
|
<source>Zoom in and out</source>
|
||||||
<translation>확대 및 축소</translation>
|
<translation>확대 및 축소</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="84"/>
|
<location filename="../settingsdialog.cpp" line="86"/>
|
||||||
<source>View next or previous item</source>
|
<source>View next or previous item</source>
|
||||||
<translation>다음 또는 이전 항목 보기</translation>
|
<translation>다음 또는 이전 항목 보기</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="88"/>
|
<location filename="../settingsdialog.cpp" line="90"/>
|
||||||
<source>Auto size</source>
|
<source>Auto size</source>
|
||||||
<translation>자동 크기</translation>
|
<translation>자동 크기</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="89"/>
|
<location filename="../settingsdialog.cpp" line="91"/>
|
||||||
<source>Maximized</source>
|
<source>Maximized</source>
|
||||||
<translation>최대화</translation>
|
<translation>최대화</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="93"/>
|
<location filename="../settingsdialog.cpp" line="92"/>
|
||||||
|
<source>Windowed</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="96"/>
|
||||||
<source>Round (Integer scaling)</source>
|
<source>Round (Integer scaling)</source>
|
||||||
<comment>This option means round up for .5 and above</comment>
|
<comment>This option means round up for .5 and above</comment>
|
||||||
<translation>라운드 (정수 스케일링)</translation>
|
<translation>라운드 (정수 스케일링)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="94"/>
|
<location filename="../settingsdialog.cpp" line="97"/>
|
||||||
<source>Ceil (Integer scaling)</source>
|
<source>Ceil (Integer scaling)</source>
|
||||||
<comment>This option means always round up</comment>
|
<comment>This option means always round up</comment>
|
||||||
<translation>셰일 (정수 스케일링)</translation>
|
<translation>셰일 (정수 스케일링)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="95"/>
|
<location filename="../settingsdialog.cpp" line="98"/>
|
||||||
<source>Floor (Integer scaling)</source>
|
<source>Floor (Integer scaling)</source>
|
||||||
<comment>This option means always round down</comment>
|
<comment>This option means always round down</comment>
|
||||||
<translation>바닥 (정수 스케일링)</translation>
|
<translation>바닥 (정수 스케일링)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="96"/>
|
<location filename="../settingsdialog.cpp" line="99"/>
|
||||||
<source>Follow system (Fractional scaling)</source>
|
<source>Follow system (Fractional scaling)</source>
|
||||||
<comment>This option means don't round</comment>
|
<comment>This option means don't round</comment>
|
||||||
<translation>팔로우 시스템 (부분 스케일링)</translation>
|
<translation>팔로우 시스템 (부분 스케일링)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="119"/>
|
<location filename="../settingsdialog.cpp" line="122"/>
|
||||||
<source>Stay on top when start-up</source>
|
<source>Stay on top when start-up</source>
|
||||||
<translation>시작 시 맨 위에 유지</translation>
|
<translation>시작 시 맨 위에 유지</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="120"/>
|
<location filename="../settingsdialog.cpp" line="123"/>
|
||||||
|
<source>Use built-in close window animation</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="124"/>
|
||||||
<source>Use light-color checkerboard</source>
|
<source>Use light-color checkerboard</source>
|
||||||
<translation>밝은 색상의 바둑판 사용</translation>
|
<translation>밝은 색상의 바둑판 사용</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="121"/>
|
<location filename="../settingsdialog.cpp" line="125"/>
|
||||||
|
<source>Loop the loaded gallery</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="126"/>
|
||||||
<source>Double-click behavior</source>
|
<source>Double-click behavior</source>
|
||||||
<translation>더블클릭 동작</translation>
|
<translation>더블클릭 동작</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="122"/>
|
<location filename="../settingsdialog.cpp" line="127"/>
|
||||||
<source>Mouse wheel behavior</source>
|
<source>Mouse wheel behavior</source>
|
||||||
<translation>마우스 휠 동작</translation>
|
<translation>마우스 휠 동작</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="123"/>
|
<location filename="../settingsdialog.cpp" line="128"/>
|
||||||
<source>Default window size</source>
|
<source>Default window size</source>
|
||||||
<translation>기본 창 크기</translation>
|
<translation>기본 창 크기</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="124"/>
|
<location filename="../settingsdialog.cpp" line="129"/>
|
||||||
<source>HiDPI scale factor rounding policy</source>
|
<source>HiDPI scale factor rounding policy</source>
|
||||||
<translation>HiDPI 배율 반올림 정책</translation>
|
<translation>HiDPI 배율 반올림 정책</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -844,7 +864,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>ShortcutEdit</name>
|
<name>ShortcutEdit</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../shortcutedit.cpp" line="111"/>
|
<location filename="../shortcutedit.cpp" line="109"/>
|
||||||
<source>No shortcuts</source>
|
<source>No shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -852,7 +872,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>ShortcutEditor</name>
|
<name>ShortcutEditor</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../shortcutedit.cpp" line="77"/>
|
<location filename="../shortcutedit.cpp" line="75"/>
|
||||||
<source>Shortcut #%1</source>
|
<source>Shortcut #%1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -860,17 +880,17 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>main</name>
|
<name>main</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="43"/>
|
<location filename="../main.cpp" line="42"/>
|
||||||
<source>Pineapple Pictures</source>
|
<source>Pineapple Pictures</source>
|
||||||
<translation>파인애플 픽처스</translation>
|
<translation>파인애플 픽처스</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="46"/>
|
<location filename="../main.cpp" line="45"/>
|
||||||
<source>List supported image format suffixes, and quit program.</source>
|
<source>List supported image format suffixes, and quit program.</source>
|
||||||
<translation>지원되는 이미지 형식 접미사를 나열하고 프로그램을 종료합니다.</translation>
|
<translation>지원되는 이미지 형식 접미사를 나열하고 프로그램을 종료합니다.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="50"/>
|
<location filename="../main.cpp" line="49"/>
|
||||||
<source>File list.</source>
|
<source>File list.</source>
|
||||||
<translation>파일 목록.</translation>
|
<translation>파일 목록.</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|||||||
@@ -4,42 +4,42 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>AboutDialog</name>
|
<name>AboutDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="27"/>
|
<location filename="../aboutdialog.cpp" line="29"/>
|
||||||
<source>About</source>
|
<source>About</source>
|
||||||
<translation>Om</translation>
|
<translation>Om</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="30"/>
|
<location filename="../aboutdialog.cpp" line="32"/>
|
||||||
<source>Launch application with image file path as argument to load the file.</source>
|
<source>Launch application with image file path as argument to load the file.</source>
|
||||||
<translation>Kjør programmer ved å angi en filsti som argument for å laste inn filen.</translation>
|
<translation>Kjør programmer ved å angi en filsti som argument for å laste inn filen.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="31"/>
|
<location filename="../aboutdialog.cpp" line="33"/>
|
||||||
<source>Drag and drop image file onto the window is also supported.</source>
|
<source>Drag and drop image file onto the window is also supported.</source>
|
||||||
<translation>Å dra og slippe filen i vinduet støttes også.</translation>
|
<translation>Å dra og slippe filen i vinduet støttes også.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="32"/>
|
<location filename="../aboutdialog.cpp" line="34"/>
|
||||||
<source>None of the operations in this application will alter the pictures on disk.</source>
|
<source>None of the operations in this application will alter the pictures on disk.</source>
|
||||||
<translation>Ingen av operasjonene i dette programmet vil endre bildet som det er lagret.</translation>
|
<translation>Ingen av operasjonene i dette programmet vil endre bildet som det er lagret.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="33"/>
|
<location filename="../aboutdialog.cpp" line="35"/>
|
||||||
<source>Context menu option explanation:</source>
|
<source>Context menu option explanation:</source>
|
||||||
<translation>Forklaring av alternativer i bindeleddsmeny:</translation>
|
<translation>Forklaring av alternativer i bindeleddsmeny:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="40"/>
|
<location filename="../aboutdialog.cpp" line="42"/>
|
||||||
<source>Make window stay on top of all other windows.</source>
|
<source>Make window stay on top of all other windows.</source>
|
||||||
<translation>Få vinduet til å alltid ligge over andre vinduer.</translation>
|
<translation>Få vinduet til å alltid ligge over andre vinduer.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="43"/>
|
<location filename="../aboutdialog.cpp" line="45"/>
|
||||||
<source>Avoid close window accidentally. (eg. by double clicking the window)</source>
|
<source>Avoid close window accidentally. (eg. by double clicking the window)</source>
|
||||||
<translation>Unngå lukking av vinduet ved feiltagelser (f.eks. ved dobbeltklikking av vinduet)</translation>
|
<translation>Unngå lukking av vinduet ved feiltagelser (f.eks. ved dobbeltklikking av vinduet)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="53"/>
|
<location filename="../aboutdialog.cpp" line="55"/>
|
||||||
<source>Version: %1</source>
|
<source>Version: %1</source>
|
||||||
<translation>Versjon: %1</translation>
|
<translation>Versjon: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -48,129 +48,129 @@
|
|||||||
<translation type="vanished">Opphavsrett © 2020 %1</translation>
|
<translation type="vanished">Opphavsrett © 2020 %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="64"/>
|
<location filename="../aboutdialog.cpp" line="66"/>
|
||||||
<source>Logo designed by %1</source>
|
<source>Logo designed by %1</source>
|
||||||
<translation>Logo designet av %1</translation>
|
<translation>Logo designet av %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="66"/>
|
<location filename="../aboutdialog.cpp" line="68"/>
|
||||||
<source>Built with Qt %1 (%2)</source>
|
<source>Built with Qt %1 (%2)</source>
|
||||||
<translation>Bygd med Qt %1 (%2)</translation>
|
<translation>Bygd med Qt %1 (%2)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="67"/>
|
<location filename="../aboutdialog.cpp" line="69"/>
|
||||||
<source>Source code</source>
|
<source>Source code</source>
|
||||||
<translation>Kildekode</translation>
|
<translation>Kildekode</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="77"/>
|
<location filename="../aboutdialog.cpp" line="79"/>
|
||||||
<source>Contributors</source>
|
<source>Contributors</source>
|
||||||
<translation>Bidragsytere</translation>
|
<translation>Bidragsytere</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="79"/>
|
<location filename="../aboutdialog.cpp" line="81"/>
|
||||||
<source>List of contributors on GitHub</source>
|
<source>List of contributors on GitHub</source>
|
||||||
<translation>Liste over bidragsytere på GitHub</translation>
|
<translation>Liste over bidragsytere på GitHub</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="80"/>
|
<location filename="../aboutdialog.cpp" line="82"/>
|
||||||
<source>Thanks to all people who contributed to this project.</source>
|
<source>Thanks to all people who contributed to this project.</source>
|
||||||
<translation>Takk til alle som har bidratt til prosjektet.</translation>
|
<translation>Takk til alle som har bidratt til prosjektet.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="84"/>
|
<location filename="../aboutdialog.cpp" line="86"/>
|
||||||
<source>Translators</source>
|
<source>Translators</source>
|
||||||
<translation>Oversettere</translation>
|
<translation>Oversettere</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="85"/>
|
<location filename="../aboutdialog.cpp" line="87"/>
|
||||||
<source>I would like to thank the following people who volunteered to translate this application.</source>
|
<source>I would like to thank the following people who volunteered to translate this application.</source>
|
||||||
<translation>Takk til følgende dugnadsoversettere.</translation>
|
<translation>Takk til følgende dugnadsoversettere.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="129"/>
|
<location filename="../aboutdialog.cpp" line="131"/>
|
||||||
<source>%1 is built on the following free software libraries:</source>
|
<source>%1 is built on the following free software libraries:</source>
|
||||||
<comment>Free as in freedom</comment>
|
<comment>Free as in freedom</comment>
|
||||||
<translation type="unfinished">%1 er bygd med følgende friprog-bibliotek:</translation>
|
<translation type="unfinished">%1 er bygd med følgende friprog-bibliotek:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="153"/>
|
<location filename="../aboutdialog.cpp" line="155"/>
|
||||||
<source>&Special Thanks</source>
|
<source>&Special Thanks</source>
|
||||||
<translation>&Spesiell takk til</translation>
|
<translation>&Spesiell takk til</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="155"/>
|
<location filename="../aboutdialog.cpp" line="157"/>
|
||||||
<source>&Third-party Libraries</source>
|
<source>&Third-party Libraries</source>
|
||||||
<translation>&Tredjepartslisenser</translation>
|
<translation>&Tredjepartslisenser</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="91"/>
|
<location filename="../aboutdialog.cpp" line="93"/>
|
||||||
<source>Your Rights</source>
|
<source>Your Rights</source>
|
||||||
<translation>Dine rettigheter</translation>
|
<translation>Dine rettigheter</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="46"/>
|
<location filename="../aboutdialog.cpp" line="48"/>
|
||||||
<source>Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.</source>
|
<source>Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.</source>
|
||||||
<translation>Unngå å tilbakestille tilstanden for zoom/rotasjon/speilvending som ble brukt på bildevisningen, når det skiftes mellom bilder.</translation>
|
<translation>Unngå å tilbakestille tilstanden for zoom/rotasjon/speilvending som ble brukt på bildevisningen, når det skiftes mellom bilder.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="61"/>
|
<location filename="../aboutdialog.cpp" line="63"/>
|
||||||
<source>Copyright (c) %1 %2</source>
|
<source>Copyright (c) %1 %2</source>
|
||||||
<comment>%1 is year, %2 is the name of copyright holder(s)</comment>
|
<comment>%1 is year, %2 is the name of copyright holder(s)</comment>
|
||||||
<translation type="unfinished">Opphavsrett © %1 %2</translation>
|
<translation type="unfinished">Opphavsrett © %1 %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="93"/>
|
<location filename="../aboutdialog.cpp" line="95"/>
|
||||||
<source>%1 is released under the MIT License.</source>
|
<source>%1 is released under the MIT License.</source>
|
||||||
<translation>%1 er MIT-lisensiert.</translation>
|
<translation>%1 er MIT-lisensiert.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="94"/>
|
<location filename="../aboutdialog.cpp" line="96"/>
|
||||||
<source>This license grants people a number of freedoms:</source>
|
<source>This license grants people a number of freedoms:</source>
|
||||||
<translation>Lisensen gir den en rekke friheter:</translation>
|
<translation>Lisensen gir den en rekke friheter:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="95"/>
|
<location filename="../aboutdialog.cpp" line="97"/>
|
||||||
<source>You are free to use %1, for any purpose</source>
|
<source>You are free to use %1, for any purpose</source>
|
||||||
<translation>Du kan bruke %1 som du vil</translation>
|
<translation>Du kan bruke %1 som du vil</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="96"/>
|
<location filename="../aboutdialog.cpp" line="98"/>
|
||||||
<source>You are free to distribute %1</source>
|
<source>You are free to distribute %1</source>
|
||||||
<translation>Du kan dele %1</translation>
|
<translation>Du kan dele %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="97"/>
|
<location filename="../aboutdialog.cpp" line="99"/>
|
||||||
<source>You can study how %1 works and change it</source>
|
<source>You can study how %1 works and change it</source>
|
||||||
<translation>Du kan se kildekoden til %1 og endre den</translation>
|
<translation>Du kan se kildekoden til %1 og endre den</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="98"/>
|
<location filename="../aboutdialog.cpp" line="100"/>
|
||||||
<source>You can distribute changed versions of %1</source>
|
<source>You can distribute changed versions of %1</source>
|
||||||
<translation>Du kan distribuere endrede versjoner av %1</translation>
|
<translation>Du kan distribuere endrede versjoner av %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="100"/>
|
<location filename="../aboutdialog.cpp" line="102"/>
|
||||||
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
|
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
|
||||||
<translation>MIT-lisensen garanterer deg disse frihetene.</translation>
|
<translation>MIT-lisensen garanterer deg disse frihetene.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="128"/>
|
<location filename="../aboutdialog.cpp" line="130"/>
|
||||||
<source>Third-party Libraries used by %1</source>
|
<source>Third-party Libraries used by %1</source>
|
||||||
<translation>Tredjepartsbibliotek brukt av %1</translation>
|
<translation>Tredjepartsbibliotek brukt av %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="151"/>
|
<location filename="../aboutdialog.cpp" line="153"/>
|
||||||
<source>&Help</source>
|
<source>&Help</source>
|
||||||
<translation>&Hjelp</translation>
|
<translation>&Hjelp</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="152"/>
|
<location filename="../aboutdialog.cpp" line="154"/>
|
||||||
<source>&About</source>
|
<source>&About</source>
|
||||||
<translation>&Om</translation>
|
<translation>&Om</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="154"/>
|
<location filename="../aboutdialog.cpp" line="156"/>
|
||||||
<source>&License</source>
|
<source>&License</source>
|
||||||
<translation>&Lisens</translation>
|
<translation>&Lisens</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -178,7 +178,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>GraphicsScene</name>
|
<name>GraphicsScene</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="269"/>
|
<location filename="../mainwindow.cpp" line="276"/>
|
||||||
<location filename="../graphicsscene.cpp" line="100"/>
|
<location filename="../graphicsscene.cpp" line="100"/>
|
||||||
<source>Drag image here</source>
|
<source>Drag image here</source>
|
||||||
<translation>Dra bilde hit</translation>
|
<translation>Dra bilde hit</translation>
|
||||||
@@ -191,13 +191,13 @@
|
|||||||
<translation type="vanished">Listen over filnettadresser er tom</translation>
|
<translation type="vanished">Listen over filnettadresser er tom</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../graphicsview.cpp" line="52"/>
|
<location filename="../graphicsview.cpp" line="50"/>
|
||||||
<source>File is not a valid image</source>
|
<source>File is not a valid image</source>
|
||||||
<translation>Filen er ikke et gyldig bilde</translation>
|
<translation>Filen er ikke et gyldig bilde</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../graphicsview.cpp" line="56"/>
|
<location filename="../graphicsview.cpp" line="54"/>
|
||||||
<location filename="../graphicsview.cpp" line="60"/>
|
<location filename="../graphicsview.cpp" line="58"/>
|
||||||
<source>Image data is invalid or currently unsupported</source>
|
<source>Image data is invalid or currently unsupported</source>
|
||||||
<translation>Ugyldig bildedata, eller for tiden ustøttet</translation>
|
<translation>Ugyldig bildedata, eller for tiden ustøttet</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -213,38 +213,43 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MainWindow</name>
|
<name>MainWindow</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="180"/>
|
<location filename="../mainwindow.cpp" line="181"/>
|
||||||
<location filename="../mainwindow.cpp" line="540"/>
|
<location filename="../mainwindow.cpp" line="545"/>
|
||||||
<source>File url list is empty</source>
|
<source>File url list is empty</source>
|
||||||
<translation>Listen over filnettadresser er ugyldig</translation>
|
<translation>Listen over filnettadresser er ugyldig</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="438"/>
|
<location filename="../mainwindow.cpp" line="445"/>
|
||||||
<source>&Copy</source>
|
<source>&Copy</source>
|
||||||
<translation>&Kopier</translation>
|
<translation>&Kopier</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="548"/>
|
<location filename="../mainwindow.cpp" line="553"/>
|
||||||
<source>Image data is invalid</source>
|
<source>Image data is invalid</source>
|
||||||
<translation>Ugyldig bildedata</translation>
|
<translation>Ugyldig bildedata</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="555"/>
|
<location filename="../mainwindow.cpp" line="560"/>
|
||||||
<source>Not supported mimedata: %1</source>
|
<source>Not supported mimedata: %1</source>
|
||||||
<translation>Ustøttet MIME-data: %1</translation>
|
<translation>Ustøttet MIME-data: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="764"/>
|
<location filename="../mainwindow.cpp" line="759"/>
|
||||||
<source>Image From Clipboard</source>
|
<source>Image From Clipboard</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="782"/>
|
<location filename="../mainwindow.cpp" line="777"/>
|
||||||
<source>Are you sure you want to move "%1" to recycle bin?</source>
|
<source>Are you sure you want to move "%1" to recycle bin?</source>
|
||||||
<translation>Er du sikker på at du vil flytte "%1" til papirkurven?</translation>
|
<translation>Er du sikker på at du vil flytte "%1" til papirkurven?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="787"/>
|
<location filename="../mainwindow.cpp" line="781"/>
|
||||||
|
<source>Failed to move file to trash</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="782"/>
|
||||||
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
|
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
|
||||||
<translation>Flytt til papirkurven mislyktes, det kan skyldes filtillatelsesproblem, filsystembegrensning eller plattformbegrensning.</translation>
|
<translation>Flytt til papirkurven mislyktes, det kan skyldes filtillatelsesproblem, filsystembegrensning eller plattformbegrensning.</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -265,19 +270,19 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="118"/>
|
<location filename="../actionmanager.cpp" line="118"/>
|
||||||
<location filename="../aboutdialog.cpp" line="39"/>
|
<location filename="../aboutdialog.cpp" line="41"/>
|
||||||
<source>Stay on top</source>
|
<source>Stay on top</source>
|
||||||
<translation>Behold øverst</translation>
|
<translation>Behold øverst</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="119"/>
|
<location filename="../actionmanager.cpp" line="119"/>
|
||||||
<location filename="../aboutdialog.cpp" line="42"/>
|
<location filename="../aboutdialog.cpp" line="44"/>
|
||||||
<source>Protected mode</source>
|
<source>Protected mode</source>
|
||||||
<translation>Beskyttet modus</translation>
|
<translation>Beskyttet modus</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="120"/>
|
<location filename="../actionmanager.cpp" line="120"/>
|
||||||
<location filename="../aboutdialog.cpp" line="45"/>
|
<location filename="../aboutdialog.cpp" line="47"/>
|
||||||
<source>Keep transformation</source>
|
<source>Keep transformation</source>
|
||||||
<comment>The 'transformation' means the flip/rotation status that currently applied to the image view</comment>
|
<comment>The 'transformation' means the flip/rotation status that currently applied to the image view</comment>
|
||||||
<translation>Behold transformasjon</translation>
|
<translation>Behold transformasjon</translation>
|
||||||
@@ -363,7 +368,7 @@
|
|||||||
<translation>Neste bilde</translation>
|
<translation>Neste bilde</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="781"/>
|
<location filename="../mainwindow.cpp" line="776"/>
|
||||||
<location filename="../actionmanager.cpp" line="117"/>
|
<location filename="../actionmanager.cpp" line="117"/>
|
||||||
<source>Move to Trash</source>
|
<source>Move to Trash</source>
|
||||||
<translation>Flytt til papirkurven</translation>
|
<translation>Flytt til papirkurven</translation>
|
||||||
@@ -406,314 +411,314 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MetadataModel</name>
|
<name>MetadataModel</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="41"/>
|
<location filename="../metadatamodel.cpp" line="43"/>
|
||||||
<source>Origin</source>
|
<source>Origin</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Opprinnelse</translation>
|
<translation>Opprinnelse</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="42"/>
|
<location filename="../metadatamodel.cpp" line="44"/>
|
||||||
<source>Image</source>
|
<source>Image</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Bilde</translation>
|
<translation>Bilde</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="46"/>
|
<location filename="../metadatamodel.cpp" line="48"/>
|
||||||
<source>File</source>
|
<source>File</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Fil</translation>
|
<translation>Fil</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="43"/>
|
<location filename="../metadatamodel.cpp" line="45"/>
|
||||||
<source>Camera</source>
|
<source>Camera</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Kamera</translation>
|
<translation>Kamera</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="33"/>
|
<location filename="../metadatamodel.cpp" line="35"/>
|
||||||
<source>%1 File</source>
|
<source>%1 File</source>
|
||||||
<translation>%1-fil</translation>
|
<translation>%1-fil</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="40"/>
|
<location filename="../metadatamodel.cpp" line="42"/>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Beskrivelse</translation>
|
<translation>Beskrivelse</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="44"/>
|
<location filename="../metadatamodel.cpp" line="46"/>
|
||||||
<source>Advanced photo</source>
|
<source>Advanced photo</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Avansert bilde</translation>
|
<translation>Avansert bilde</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="45"/>
|
<location filename="../metadatamodel.cpp" line="47"/>
|
||||||
<source>GPS</source>
|
<source>GPS</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>GPS</translation>
|
<translation>GPS</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="50"/>
|
<location filename="../metadatamodel.cpp" line="52"/>
|
||||||
<source>Dimensions</source>
|
<source>Dimensions</source>
|
||||||
<translation>Dimensjoner</translation>
|
<translation>Dimensjoner</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="52"/>
|
<location filename="../metadatamodel.cpp" line="54"/>
|
||||||
<source>Aspect ratio</source>
|
<source>Aspect ratio</source>
|
||||||
<translation>Sideforhold</translation>
|
<translation>Sideforhold</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="56"/>
|
<location filename="../metadatamodel.cpp" line="58"/>
|
||||||
<source>Frame count</source>
|
<source>Frame count</source>
|
||||||
<translation type="unfinished">Rammeantall</translation>
|
<translation type="unfinished">Rammeantall</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="60"/>
|
<location filename="../metadatamodel.cpp" line="62"/>
|
||||||
<source>Name</source>
|
<source>Name</source>
|
||||||
<translation>Navn</translation>
|
<translation>Navn</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="62"/>
|
<location filename="../metadatamodel.cpp" line="64"/>
|
||||||
<source>Item type</source>
|
<source>Item type</source>
|
||||||
<translation>Elementstype</translation>
|
<translation>Elementstype</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="64"/>
|
<location filename="../metadatamodel.cpp" line="66"/>
|
||||||
<source>Folder path</source>
|
<source>Folder path</source>
|
||||||
<translation>Mappesti</translation>
|
<translation>Mappesti</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="66"/>
|
<location filename="../metadatamodel.cpp" line="68"/>
|
||||||
<source>Size</source>
|
<source>Size</source>
|
||||||
<translation>Størrelse</translation>
|
<translation>Størrelse</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="68"/>
|
<location filename="../metadatamodel.cpp" line="70"/>
|
||||||
<source>Date created</source>
|
<source>Date created</source>
|
||||||
<translation>Dato opprettet</translation>
|
<translation>Dato opprettet</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="70"/>
|
<location filename="../metadatamodel.cpp" line="72"/>
|
||||||
<source>Date modified</source>
|
<source>Date modified</source>
|
||||||
<translation>Dato endret</translation>
|
<translation>Dato endret</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="77"/>
|
<location filename="../metadatamodel.cpp" line="79"/>
|
||||||
<source>Title</source>
|
<source>Title</source>
|
||||||
<translation>Tittel</translation>
|
<translation>Tittel</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="79"/>
|
<location filename="../metadatamodel.cpp" line="81"/>
|
||||||
<source>Subject</source>
|
<source>Subject</source>
|
||||||
<translation>Emne</translation>
|
<translation>Emne</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="81"/>
|
<location filename="../metadatamodel.cpp" line="83"/>
|
||||||
<source>Rating</source>
|
<source>Rating</source>
|
||||||
<translation>Vurdering</translation>
|
<translation>Vurdering</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="83"/>
|
<location filename="../metadatamodel.cpp" line="85"/>
|
||||||
<source>Tags</source>
|
<source>Tags</source>
|
||||||
<translation>Etiketter</translation>
|
<translation>Etiketter</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="85"/>
|
<location filename="../metadatamodel.cpp" line="87"/>
|
||||||
<source>Comments</source>
|
<source>Comments</source>
|
||||||
<translation>Kommentarer</translation>
|
<translation>Kommentarer</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="88"/>
|
<location filename="../metadatamodel.cpp" line="90"/>
|
||||||
<source>Authors</source>
|
<source>Authors</source>
|
||||||
<translation>Utviklere</translation>
|
<translation>Utviklere</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="90"/>
|
<location filename="../metadatamodel.cpp" line="92"/>
|
||||||
<source>Date taken</source>
|
<source>Date taken</source>
|
||||||
<translation>Dato tatt</translation>
|
<translation>Dato tatt</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="96"/>
|
<location filename="../metadatamodel.cpp" line="98"/>
|
||||||
<source>Program name</source>
|
<source>Program name</source>
|
||||||
<translation>Programnavn</translation>
|
<translation>Programnavn</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="98"/>
|
<location filename="../metadatamodel.cpp" line="100"/>
|
||||||
<source>Copyright</source>
|
<source>Copyright</source>
|
||||||
<translation>Opphavsrett</translation>
|
<translation>Opphavsrett</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="101"/>
|
<location filename="../metadatamodel.cpp" line="103"/>
|
||||||
<source>Horizontal resolution</source>
|
<source>Horizontal resolution</source>
|
||||||
<translation>Vannrett oppløsning</translation>
|
<translation>Vannrett oppløsning</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="103"/>
|
<location filename="../metadatamodel.cpp" line="105"/>
|
||||||
<source>Vertical resolution</source>
|
<source>Vertical resolution</source>
|
||||||
<translation>Loddrett oppløsning</translation>
|
<translation>Loddrett oppløsning</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="105"/>
|
<location filename="../metadatamodel.cpp" line="107"/>
|
||||||
<source>Resolution unit</source>
|
<source>Resolution unit</source>
|
||||||
<translation>Oppløsningsenhet</translation>
|
<translation>Oppløsningsenhet</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="107"/>
|
<location filename="../metadatamodel.cpp" line="109"/>
|
||||||
<source>Colour representation</source>
|
<source>Colour representation</source>
|
||||||
<translation>Fargerepresentasjon</translation>
|
<translation>Fargerepresentasjon</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="110"/>
|
<location filename="../metadatamodel.cpp" line="112"/>
|
||||||
<source>Camera maker</source>
|
<source>Camera maker</source>
|
||||||
<translation>Kamerafabrikat</translation>
|
<translation>Kamerafabrikat</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="112"/>
|
<location filename="../metadatamodel.cpp" line="114"/>
|
||||||
<source>Camera model</source>
|
<source>Camera model</source>
|
||||||
<translation>Kameramodell</translation>
|
<translation>Kameramodell</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="114"/>
|
<location filename="../metadatamodel.cpp" line="116"/>
|
||||||
<source>F-stop</source>
|
<source>F-stop</source>
|
||||||
<translation>Blenderåpning</translation>
|
<translation>Blenderåpning</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="116"/>
|
<location filename="../metadatamodel.cpp" line="118"/>
|
||||||
<source>Exposure time</source>
|
<source>Exposure time</source>
|
||||||
<translation>Eksponeringstid</translation>
|
<translation>Eksponeringstid</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="118"/>
|
<location filename="../metadatamodel.cpp" line="120"/>
|
||||||
<source>ISO speed</source>
|
<source>ISO speed</source>
|
||||||
<translation>ISO-hastighet</translation>
|
<translation>ISO-hastighet</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="120"/>
|
<location filename="../metadatamodel.cpp" line="122"/>
|
||||||
<source>Exposure bias</source>
|
<source>Exposure bias</source>
|
||||||
<translation type="unfinished">Eksponeringskorrigering</translation>
|
<translation type="unfinished">Eksponeringskorrigering</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="122"/>
|
<location filename="../metadatamodel.cpp" line="124"/>
|
||||||
<source>Focal length</source>
|
<source>Focal length</source>
|
||||||
<translation>Brennvidde</translation>
|
<translation>Brennvidde</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="124"/>
|
<location filename="../metadatamodel.cpp" line="126"/>
|
||||||
<source>Max aperture</source>
|
<source>Max aperture</source>
|
||||||
<translation type="unfinished">Maks. blenderåpning</translation>
|
<translation type="unfinished">Maks. blenderåpning</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="126"/>
|
<location filename="../metadatamodel.cpp" line="128"/>
|
||||||
<source>Metering mode</source>
|
<source>Metering mode</source>
|
||||||
<translation type="unfinished">Målingsmodus</translation>
|
<translation type="unfinished">Målingsmodus</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="128"/>
|
<location filename="../metadatamodel.cpp" line="130"/>
|
||||||
<source>Subject distance</source>
|
<source>Subject distance</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="130"/>
|
<location filename="../metadatamodel.cpp" line="132"/>
|
||||||
<source>Flash mode</source>
|
<source>Flash mode</source>
|
||||||
<translation>Blitz-modus</translation>
|
<translation>Blitz-modus</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="132"/>
|
<location filename="../metadatamodel.cpp" line="134"/>
|
||||||
<source>35mm focal length</source>
|
<source>35mm focal length</source>
|
||||||
<translation type="unfinished">35 mm-brennvidde</translation>
|
<translation type="unfinished">35 mm-brennvidde</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="135"/>
|
<location filename="../metadatamodel.cpp" line="137"/>
|
||||||
<source>Lens model</source>
|
<source>Lens model</source>
|
||||||
<translation>Linsemodell</translation>
|
<translation>Linsemodell</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="137"/>
|
<location filename="../metadatamodel.cpp" line="139"/>
|
||||||
<source>Contrast</source>
|
<source>Contrast</source>
|
||||||
<translation>Kontrast</translation>
|
<translation>Kontrast</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="139"/>
|
<location filename="../metadatamodel.cpp" line="141"/>
|
||||||
<source>Brightness</source>
|
<source>Brightness</source>
|
||||||
<translation>Lysstyrke</translation>
|
<translation>Lysstyrke</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="141"/>
|
<location filename="../metadatamodel.cpp" line="143"/>
|
||||||
<source>Exposure program</source>
|
<source>Exposure program</source>
|
||||||
<translation type="unfinished">Eksponeringsprogram</translation>
|
<translation type="unfinished">Eksponeringsprogram</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="143"/>
|
<location filename="../metadatamodel.cpp" line="145"/>
|
||||||
<source>Saturation</source>
|
<source>Saturation</source>
|
||||||
<translation>Metning</translation>
|
<translation>Metning</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="145"/>
|
<location filename="../metadatamodel.cpp" line="147"/>
|
||||||
<source>Sharpness</source>
|
<source>Sharpness</source>
|
||||||
<translation>Skarphet</translation>
|
<translation>Skarphet</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="147"/>
|
<location filename="../metadatamodel.cpp" line="149"/>
|
||||||
<source>White balance</source>
|
<source>White balance</source>
|
||||||
<translation>Hvitbalanse</translation>
|
<translation>Hvitbalanse</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="149"/>
|
<location filename="../metadatamodel.cpp" line="151"/>
|
||||||
<source>Digital zoom</source>
|
<source>Digital zoom</source>
|
||||||
<translation>Digital forstørrelse</translation>
|
<translation>Digital forstørrelse</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="151"/>
|
<location filename="../metadatamodel.cpp" line="153"/>
|
||||||
<source>EXIF version</source>
|
<source>EXIF version</source>
|
||||||
<translation>EXIF-versjon</translation>
|
<translation>EXIF-versjon</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="154"/>
|
<location filename="../metadatamodel.cpp" line="156"/>
|
||||||
<source>Latitude reference</source>
|
<source>Latitude reference</source>
|
||||||
<translation>Breddegradsreferanse</translation>
|
<translation>Breddegradsreferanse</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="156"/>
|
<location filename="../metadatamodel.cpp" line="158"/>
|
||||||
<source>Latitude</source>
|
<source>Latitude</source>
|
||||||
<translation>Breddegrad</translation>
|
<translation>Breddegrad</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="158"/>
|
<location filename="../metadatamodel.cpp" line="160"/>
|
||||||
<source>Longitude reference</source>
|
<source>Longitude reference</source>
|
||||||
<translation>Lengdegradsreferanse</translation>
|
<translation>Lengdegradsreferanse</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="160"/>
|
<location filename="../metadatamodel.cpp" line="162"/>
|
||||||
<source>Longitude</source>
|
<source>Longitude</source>
|
||||||
<translation>Lengdegrad</translation>
|
<translation>Lengdegrad</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="162"/>
|
<location filename="../metadatamodel.cpp" line="164"/>
|
||||||
<source>Altitude reference</source>
|
<source>Altitude reference</source>
|
||||||
<translation>Høydereferanse</translation>
|
<translation>Høydereferanse</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="164"/>
|
<location filename="../metadatamodel.cpp" line="166"/>
|
||||||
<source>Altitude</source>
|
<source>Altitude</source>
|
||||||
<translation>Høyde</translation>
|
<translation>Høyde</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="174"/>
|
<location filename="../metadatamodel.cpp" line="176"/>
|
||||||
<source>%1 x %2</source>
|
<source>%1 x %2</source>
|
||||||
<translation>%1 x %2</translation>
|
<translation>%1 x %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="192"/>
|
<location filename="../metadatamodel.cpp" line="194"/>
|
||||||
<source>%1 : %2</source>
|
<source>%1 : %2</source>
|
||||||
<translation>%1 : %2</translation>
|
<translation>%1 : %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="317"/>
|
<location filename="../metadatamodel.cpp" line="319"/>
|
||||||
<source>Property</source>
|
<source>Property</source>
|
||||||
<translation>Egenskap</translation>
|
<translation>Egenskap</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="317"/>
|
<location filename="../metadatamodel.cpp" line="319"/>
|
||||||
<source>Value</source>
|
<source>Value</source>
|
||||||
<translation>Verdi</translation>
|
<translation>Verdi</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -721,126 +726,141 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>SettingsDialog</name>
|
<name>SettingsDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="29"/>
|
<location filename="../settingsdialog.cpp" line="31"/>
|
||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation>Innstillinger</translation>
|
<translation>Innstillinger</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="37"/>
|
<location filename="../settingsdialog.cpp" line="39"/>
|
||||||
<source>Options</source>
|
<source>Options</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="49"/>
|
<location filename="../settingsdialog.cpp" line="51"/>
|
||||||
<source>Shortcuts</source>
|
<source>Shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="59"/>
|
<location filename="../settingsdialog.cpp" line="61"/>
|
||||||
<source>Editing shortcuts for action "%1":</source>
|
<source>Editing shortcuts for action "%1":</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="68"/>
|
<location filename="../settingsdialog.cpp" line="70"/>
|
||||||
<source>Failed to set shortcuts</source>
|
<source>Failed to set shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="69"/>
|
<location filename="../settingsdialog.cpp" line="71"/>
|
||||||
<source>Please check if shortcuts are duplicated with existing shortcuts.</source>
|
<source>Please check if shortcuts are duplicated with existing shortcuts.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="76"/>
|
<location filename="../settingsdialog.cpp" line="78"/>
|
||||||
<source>Do nothing</source>
|
<source>Do nothing</source>
|
||||||
<translation>Ikke gjør noe</translation>
|
<translation>Ikke gjør noe</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="77"/>
|
<location filename="../settingsdialog.cpp" line="79"/>
|
||||||
<source>Close the window</source>
|
<source>Close the window</source>
|
||||||
<translation>Lukk vinduet</translation>
|
<translation>Lukk vinduet</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="78"/>
|
<location filename="../settingsdialog.cpp" line="80"/>
|
||||||
<source>Toggle maximize</source>
|
<source>Toggle maximize</source>
|
||||||
<translation>Maksimering av/på</translation>
|
<translation>Maksimering av/på</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="79"/>
|
<location filename="../settingsdialog.cpp" line="81"/>
|
||||||
<source>Toggle fullscreen</source>
|
<source>Toggle fullscreen</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="83"/>
|
<location filename="../settingsdialog.cpp" line="85"/>
|
||||||
<source>Zoom in and out</source>
|
<source>Zoom in and out</source>
|
||||||
<translation>Zoom inn og ut</translation>
|
<translation>Zoom inn og ut</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="84"/>
|
<location filename="../settingsdialog.cpp" line="86"/>
|
||||||
<source>View next or previous item</source>
|
<source>View next or previous item</source>
|
||||||
<translation>Vis neste eller forrige element</translation>
|
<translation>Vis neste eller forrige element</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="88"/>
|
<location filename="../settingsdialog.cpp" line="90"/>
|
||||||
<source>Auto size</source>
|
<source>Auto size</source>
|
||||||
<translation type="unfinished">Automatisk størrelse</translation>
|
<translation type="unfinished">Automatisk størrelse</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="89"/>
|
<location filename="../settingsdialog.cpp" line="91"/>
|
||||||
<source>Maximized</source>
|
<source>Maximized</source>
|
||||||
<translation>Maksimert</translation>
|
<translation>Maksimert</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="93"/>
|
<location filename="../settingsdialog.cpp" line="92"/>
|
||||||
|
<source>Windowed</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="96"/>
|
||||||
<source>Round (Integer scaling)</source>
|
<source>Round (Integer scaling)</source>
|
||||||
<comment>This option means round up for .5 and above</comment>
|
<comment>This option means round up for .5 and above</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="94"/>
|
<location filename="../settingsdialog.cpp" line="97"/>
|
||||||
<source>Ceil (Integer scaling)</source>
|
<source>Ceil (Integer scaling)</source>
|
||||||
<comment>This option means always round up</comment>
|
<comment>This option means always round up</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="95"/>
|
<location filename="../settingsdialog.cpp" line="98"/>
|
||||||
<source>Floor (Integer scaling)</source>
|
<source>Floor (Integer scaling)</source>
|
||||||
<comment>This option means always round down</comment>
|
<comment>This option means always round down</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="96"/>
|
<location filename="../settingsdialog.cpp" line="99"/>
|
||||||
<source>Follow system (Fractional scaling)</source>
|
<source>Follow system (Fractional scaling)</source>
|
||||||
<comment>This option means don't round</comment>
|
<comment>This option means don't round</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="119"/>
|
<location filename="../settingsdialog.cpp" line="122"/>
|
||||||
<source>Stay on top when start-up</source>
|
<source>Stay on top when start-up</source>
|
||||||
<translation>Behold i forgrunnen ved oppstart</translation>
|
<translation>Behold i forgrunnen ved oppstart</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="120"/>
|
<location filename="../settingsdialog.cpp" line="123"/>
|
||||||
|
<source>Use built-in close window animation</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="124"/>
|
||||||
<source>Use light-color checkerboard</source>
|
<source>Use light-color checkerboard</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="121"/>
|
<location filename="../settingsdialog.cpp" line="125"/>
|
||||||
|
<source>Loop the loaded gallery</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="126"/>
|
||||||
<source>Double-click behavior</source>
|
<source>Double-click behavior</source>
|
||||||
<translation>Dobbeltklikksoppførsel</translation>
|
<translation>Dobbeltklikksoppførsel</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="122"/>
|
<location filename="../settingsdialog.cpp" line="127"/>
|
||||||
<source>Mouse wheel behavior</source>
|
<source>Mouse wheel behavior</source>
|
||||||
<translation>Musehjulsoppførsel</translation>
|
<translation>Musehjulsoppførsel</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="123"/>
|
<location filename="../settingsdialog.cpp" line="128"/>
|
||||||
<source>Default window size</source>
|
<source>Default window size</source>
|
||||||
<translation>Forvalgt vindusstørrelse</translation>
|
<translation>Forvalgt vindusstørrelse</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="124"/>
|
<location filename="../settingsdialog.cpp" line="129"/>
|
||||||
<source>HiDPI scale factor rounding policy</source>
|
<source>HiDPI scale factor rounding policy</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -848,7 +868,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>ShortcutEdit</name>
|
<name>ShortcutEdit</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../shortcutedit.cpp" line="111"/>
|
<location filename="../shortcutedit.cpp" line="109"/>
|
||||||
<source>No shortcuts</source>
|
<source>No shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -856,7 +876,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>ShortcutEditor</name>
|
<name>ShortcutEditor</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../shortcutedit.cpp" line="77"/>
|
<location filename="../shortcutedit.cpp" line="75"/>
|
||||||
<source>Shortcut #%1</source>
|
<source>Shortcut #%1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -864,17 +884,17 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>main</name>
|
<name>main</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="43"/>
|
<location filename="../main.cpp" line="42"/>
|
||||||
<source>Pineapple Pictures</source>
|
<source>Pineapple Pictures</source>
|
||||||
<translation>Pineapple Pictures</translation>
|
<translation>Pineapple Pictures</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="46"/>
|
<location filename="../main.cpp" line="45"/>
|
||||||
<source>List supported image format suffixes, and quit program.</source>
|
<source>List supported image format suffixes, and quit program.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="50"/>
|
<location filename="../main.cpp" line="49"/>
|
||||||
<source>File list.</source>
|
<source>File list.</source>
|
||||||
<translation>Filliste.</translation>
|
<translation>Filliste.</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|||||||
@@ -4,42 +4,42 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>AboutDialog</name>
|
<name>AboutDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="27"/>
|
<location filename="../aboutdialog.cpp" line="29"/>
|
||||||
<source>About</source>
|
<source>About</source>
|
||||||
<translation>Over</translation>
|
<translation>Over</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="30"/>
|
<location filename="../aboutdialog.cpp" line="32"/>
|
||||||
<source>Launch application with image file path as argument to load the file.</source>
|
<source>Launch application with image file path as argument to load the file.</source>
|
||||||
<translation>Start het programma met het opgegeven afbeeldingsbestandspad.</translation>
|
<translation>Start het programma met het opgegeven afbeeldingsbestandspad.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="31"/>
|
<location filename="../aboutdialog.cpp" line="33"/>
|
||||||
<source>Drag and drop image file onto the window is also supported.</source>
|
<source>Drag and drop image file onto the window is also supported.</source>
|
||||||
<translation>U kunt tevens afbeeldingen naar het venster slepen.</translation>
|
<translation>U kunt tevens afbeeldingen naar het venster slepen.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="32"/>
|
<location filename="../aboutdialog.cpp" line="34"/>
|
||||||
<source>None of the operations in this application will alter the pictures on disk.</source>
|
<source>None of the operations in this application will alter the pictures on disk.</source>
|
||||||
<translation>Geen van de handelingen in dit programma veranderen de afbeeldingen op de schijf.</translation>
|
<translation>Geen van de handelingen in dit programma veranderen de afbeeldingen op de schijf.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="33"/>
|
<location filename="../aboutdialog.cpp" line="35"/>
|
||||||
<source>Context menu option explanation:</source>
|
<source>Context menu option explanation:</source>
|
||||||
<translation>Rechtermuisknopmenu-uitleg:</translation>
|
<translation>Rechtermuisknopmenu-uitleg:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="40"/>
|
<location filename="../aboutdialog.cpp" line="42"/>
|
||||||
<source>Make window stay on top of all other windows.</source>
|
<source>Make window stay on top of all other windows.</source>
|
||||||
<translation>Houdt het venster boven andere vensters.</translation>
|
<translation>Houdt het venster boven andere vensters.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="43"/>
|
<location filename="../aboutdialog.cpp" line="45"/>
|
||||||
<source>Avoid close window accidentally. (eg. by double clicking the window)</source>
|
<source>Avoid close window accidentally. (eg. by double clicking the window)</source>
|
||||||
<translation>Voorkomt per ongeluk sluiten (bijv. door te dubbelklikken op het venster).</translation>
|
<translation>Voorkomt per ongeluk sluiten (bijv. door te dubbelklikken op het venster).</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="53"/>
|
<location filename="../aboutdialog.cpp" line="55"/>
|
||||||
<source>Version: %1</source>
|
<source>Version: %1</source>
|
||||||
<translation>Versie: %1</translation>
|
<translation>Versie: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -48,129 +48,129 @@
|
|||||||
<translation type="vanished">Copyright (c) 2020 %1</translation>
|
<translation type="vanished">Copyright (c) 2020 %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="64"/>
|
<location filename="../aboutdialog.cpp" line="66"/>
|
||||||
<source>Logo designed by %1</source>
|
<source>Logo designed by %1</source>
|
||||||
<translation>Logo gemaakt door %1</translation>
|
<translation>Logo gemaakt door %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="66"/>
|
<location filename="../aboutdialog.cpp" line="68"/>
|
||||||
<source>Built with Qt %1 (%2)</source>
|
<source>Built with Qt %1 (%2)</source>
|
||||||
<translation>Gebouwd met Qt %1 (%2)</translation>
|
<translation>Gebouwd met Qt %1 (%2)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="67"/>
|
<location filename="../aboutdialog.cpp" line="69"/>
|
||||||
<source>Source code</source>
|
<source>Source code</source>
|
||||||
<translation>Broncode</translation>
|
<translation>Broncode</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="77"/>
|
<location filename="../aboutdialog.cpp" line="79"/>
|
||||||
<source>Contributors</source>
|
<source>Contributors</source>
|
||||||
<translation>Bijdragers</translation>
|
<translation>Bijdragers</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="79"/>
|
<location filename="../aboutdialog.cpp" line="81"/>
|
||||||
<source>List of contributors on GitHub</source>
|
<source>List of contributors on GitHub</source>
|
||||||
<translation>Lijst met bijdragers op GitHub</translation>
|
<translation>Lijst met bijdragers op GitHub</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="80"/>
|
<location filename="../aboutdialog.cpp" line="82"/>
|
||||||
<source>Thanks to all people who contributed to this project.</source>
|
<source>Thanks to all people who contributed to this project.</source>
|
||||||
<translation>Met dank aan alle personen die hebben bijgedragen aan dit project.</translation>
|
<translation>Met dank aan alle personen die hebben bijgedragen aan dit project.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="84"/>
|
<location filename="../aboutdialog.cpp" line="86"/>
|
||||||
<source>Translators</source>
|
<source>Translators</source>
|
||||||
<translation>Vertalers</translation>
|
<translation>Vertalers</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="85"/>
|
<location filename="../aboutdialog.cpp" line="87"/>
|
||||||
<source>I would like to thank the following people who volunteered to translate this application.</source>
|
<source>I would like to thank the following people who volunteered to translate this application.</source>
|
||||||
<translation>Ik wil graag de volgende mensen bedanken die vrijwillig hebben bijgedragen aan vertalingen.</translation>
|
<translation>Ik wil graag de volgende mensen bedanken die vrijwillig hebben bijgedragen aan vertalingen.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="129"/>
|
<location filename="../aboutdialog.cpp" line="131"/>
|
||||||
<source>%1 is built on the following free software libraries:</source>
|
<source>%1 is built on the following free software libraries:</source>
|
||||||
<comment>Free as in freedom</comment>
|
<comment>Free as in freedom</comment>
|
||||||
<translation>%1 is gebouwd met de volgende vrijesoftwarebibliotheken:</translation>
|
<translation>%1 is gebouwd met de volgende vrijesoftwarebibliotheken:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="153"/>
|
<location filename="../aboutdialog.cpp" line="155"/>
|
||||||
<source>&Special Thanks</source>
|
<source>&Special Thanks</source>
|
||||||
<translation>&Met dank aan</translation>
|
<translation>&Met dank aan</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="155"/>
|
<location filename="../aboutdialog.cpp" line="157"/>
|
||||||
<source>&Third-party Libraries</source>
|
<source>&Third-party Libraries</source>
|
||||||
<translation>Ex&terne bibliotheken</translation>
|
<translation>Ex&terne bibliotheken</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="91"/>
|
<location filename="../aboutdialog.cpp" line="93"/>
|
||||||
<source>Your Rights</source>
|
<source>Your Rights</source>
|
||||||
<translation>Uw rechten</translation>
|
<translation>Uw rechten</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="46"/>
|
<location filename="../aboutdialog.cpp" line="48"/>
|
||||||
<source>Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.</source>
|
<source>Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.</source>
|
||||||
<translation>Voorkom dat het zoomniveau, de draaiing en spiegeling worden hersteld na wisselen van afbeelding.</translation>
|
<translation>Voorkom dat het zoomniveau, de draaiing en spiegeling worden hersteld na wisselen van afbeelding.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="61"/>
|
<location filename="../aboutdialog.cpp" line="63"/>
|
||||||
<source>Copyright (c) %1 %2</source>
|
<source>Copyright (c) %1 %2</source>
|
||||||
<comment>%1 is year, %2 is the name of copyright holder(s)</comment>
|
<comment>%1 is year, %2 is the name of copyright holder(s)</comment>
|
||||||
<translation>Copyright (c) %1 %2</translation>
|
<translation>Copyright (c) %1 %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="93"/>
|
<location filename="../aboutdialog.cpp" line="95"/>
|
||||||
<source>%1 is released under the MIT License.</source>
|
<source>%1 is released under the MIT License.</source>
|
||||||
<translation>%1 is uitgebracht onder de MIT-licentie.</translation>
|
<translation>%1 is uitgebracht onder de MIT-licentie.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="94"/>
|
<location filename="../aboutdialog.cpp" line="96"/>
|
||||||
<source>This license grants people a number of freedoms:</source>
|
<source>This license grants people a number of freedoms:</source>
|
||||||
<translation>Deze licentie biedt een hoop vrijheden:</translation>
|
<translation>Deze licentie biedt een hoop vrijheden:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="95"/>
|
<location filename="../aboutdialog.cpp" line="97"/>
|
||||||
<source>You are free to use %1, for any purpose</source>
|
<source>You are free to use %1, for any purpose</source>
|
||||||
<translation>U mag %1 gratis gebruiken, voor welk doeleinde dan ook</translation>
|
<translation>U mag %1 gratis gebruiken, voor welk doeleinde dan ook</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="96"/>
|
<location filename="../aboutdialog.cpp" line="98"/>
|
||||||
<source>You are free to distribute %1</source>
|
<source>You are free to distribute %1</source>
|
||||||
<translation>U mag %1 vrij verspreiden</translation>
|
<translation>U mag %1 vrij verspreiden</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="97"/>
|
<location filename="../aboutdialog.cpp" line="99"/>
|
||||||
<source>You can study how %1 works and change it</source>
|
<source>You can study how %1 works and change it</source>
|
||||||
<translation>U kunt bekijken hoe %1 werkt en aanpassingen doen</translation>
|
<translation>U kunt bekijken hoe %1 werkt en aanpassingen doen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="98"/>
|
<location filename="../aboutdialog.cpp" line="100"/>
|
||||||
<source>You can distribute changed versions of %1</source>
|
<source>You can distribute changed versions of %1</source>
|
||||||
<translation>U mag aangepaste versie van %1 vrij verspreiden</translation>
|
<translation>U mag aangepaste versie van %1 vrij verspreiden</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="100"/>
|
<location filename="../aboutdialog.cpp" line="102"/>
|
||||||
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
|
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
|
||||||
<translation>De MIT-licentie garandeert u deze vrijheid, en niemand mag deze vrijheid wegnemen.</translation>
|
<translation>De MIT-licentie garandeert u deze vrijheid, en niemand mag deze vrijheid wegnemen.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="128"/>
|
<location filename="../aboutdialog.cpp" line="130"/>
|
||||||
<source>Third-party Libraries used by %1</source>
|
<source>Third-party Libraries used by %1</source>
|
||||||
<translation>Door %1 gebruikte externe bibliotheken</translation>
|
<translation>Door %1 gebruikte externe bibliotheken</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="151"/>
|
<location filename="../aboutdialog.cpp" line="153"/>
|
||||||
<source>&Help</source>
|
<source>&Help</source>
|
||||||
<translation>&Hulp</translation>
|
<translation>&Hulp</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="152"/>
|
<location filename="../aboutdialog.cpp" line="154"/>
|
||||||
<source>&About</source>
|
<source>&About</source>
|
||||||
<translation>&Over</translation>
|
<translation>&Over</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="154"/>
|
<location filename="../aboutdialog.cpp" line="156"/>
|
||||||
<source>&License</source>
|
<source>&License</source>
|
||||||
<translation>&Licentie</translation>
|
<translation>&Licentie</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -178,7 +178,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>GraphicsScene</name>
|
<name>GraphicsScene</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="269"/>
|
<location filename="../mainwindow.cpp" line="276"/>
|
||||||
<location filename="../graphicsscene.cpp" line="100"/>
|
<location filename="../graphicsscene.cpp" line="100"/>
|
||||||
<source>Drag image here</source>
|
<source>Drag image here</source>
|
||||||
<translation>Sleep een afbeelding hierheen</translation>
|
<translation>Sleep een afbeelding hierheen</translation>
|
||||||
@@ -191,13 +191,13 @@
|
|||||||
<translation type="vanished">De bestandspadlijst is leeg</translation>
|
<translation type="vanished">De bestandspadlijst is leeg</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../graphicsview.cpp" line="52"/>
|
<location filename="../graphicsview.cpp" line="50"/>
|
||||||
<source>File is not a valid image</source>
|
<source>File is not a valid image</source>
|
||||||
<translation>Het bestand is geen afbeelding</translation>
|
<translation>Het bestand is geen afbeelding</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../graphicsview.cpp" line="56"/>
|
<location filename="../graphicsview.cpp" line="54"/>
|
||||||
<location filename="../graphicsview.cpp" line="60"/>
|
<location filename="../graphicsview.cpp" line="58"/>
|
||||||
<source>Image data is invalid or currently unsupported</source>
|
<source>Image data is invalid or currently unsupported</source>
|
||||||
<translation>De afbeeldingsgegevens zijn beschadigd of worden niet ondersteund</translation>
|
<translation>De afbeeldingsgegevens zijn beschadigd of worden niet ondersteund</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -213,40 +213,45 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MainWindow</name>
|
<name>MainWindow</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="180"/>
|
<location filename="../mainwindow.cpp" line="181"/>
|
||||||
<location filename="../mainwindow.cpp" line="540"/>
|
<location filename="../mainwindow.cpp" line="545"/>
|
||||||
<source>File url list is empty</source>
|
<source>File url list is empty</source>
|
||||||
<translation>De bestandspadlijst is leeg</translation>
|
<translation>De bestandspadlijst is leeg</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="438"/>
|
<location filename="../mainwindow.cpp" line="445"/>
|
||||||
<source>&Copy</source>
|
<source>&Copy</source>
|
||||||
<translation>&Kopiëren</translation>
|
<translation>&Kopiëren</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="548"/>
|
<location filename="../mainwindow.cpp" line="553"/>
|
||||||
<source>Image data is invalid</source>
|
<source>Image data is invalid</source>
|
||||||
<translation>Beschadigde afbeeldingsgegevens</translation>
|
<translation>Beschadigde afbeeldingsgegevens</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="555"/>
|
<location filename="../mainwindow.cpp" line="560"/>
|
||||||
<source>Not supported mimedata: %1</source>
|
<source>Not supported mimedata: %1</source>
|
||||||
<translation>Niet-ondersteunde mime-gegevens: %1</translation>
|
<translation>Niet-ondersteunde mime-gegevens: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="764"/>
|
<location filename="../mainwindow.cpp" line="759"/>
|
||||||
<source>Image From Clipboard</source>
|
<source>Image From Clipboard</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Afbeelding van klembord</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="777"/>
|
||||||
|
<source>Are you sure you want to move "%1" to recycle bin?</source>
|
||||||
|
<translation>Weet u zeker dat u “%1” naar de prullenbak wilt verplaatsen?</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="781"/>
|
||||||
|
<source>Failed to move file to trash</source>
|
||||||
|
<translation>Verplaatsen naar prullenbak mislukt</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="782"/>
|
<location filename="../mainwindow.cpp" line="782"/>
|
||||||
<source>Are you sure you want to move "%1" to recycle bin?</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="787"/>
|
|
||||||
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
|
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Het bestand kan niet naar de prullenbak worden verplaatst, mogelijk door een rechtenprobleem of systeembeperking.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="114"/>
|
<location filename="../actionmanager.cpp" line="114"/>
|
||||||
@@ -265,19 +270,19 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="118"/>
|
<location filename="../actionmanager.cpp" line="118"/>
|
||||||
<location filename="../aboutdialog.cpp" line="39"/>
|
<location filename="../aboutdialog.cpp" line="41"/>
|
||||||
<source>Stay on top</source>
|
<source>Stay on top</source>
|
||||||
<translation>Altijd bovenop</translation>
|
<translation>Altijd bovenop</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="119"/>
|
<location filename="../actionmanager.cpp" line="119"/>
|
||||||
<location filename="../aboutdialog.cpp" line="42"/>
|
<location filename="../aboutdialog.cpp" line="44"/>
|
||||||
<source>Protected mode</source>
|
<source>Protected mode</source>
|
||||||
<translation>Beschermde modus</translation>
|
<translation>Beschermde modus</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="120"/>
|
<location filename="../actionmanager.cpp" line="120"/>
|
||||||
<location filename="../aboutdialog.cpp" line="45"/>
|
<location filename="../aboutdialog.cpp" line="47"/>
|
||||||
<source>Keep transformation</source>
|
<source>Keep transformation</source>
|
||||||
<comment>The 'transformation' means the flip/rotation status that currently applied to the image view</comment>
|
<comment>The 'transformation' means the flip/rotation status that currently applied to the image view</comment>
|
||||||
<translation>Bewerkingen onthouden</translation>
|
<translation>Bewerkingen onthouden</translation>
|
||||||
@@ -295,12 +300,12 @@
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="108"/>
|
<location filename="../actionmanager.cpp" line="108"/>
|
||||||
<source>Pause/Resume Animation</source>
|
<source>Pause/Resume Animation</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Animatie pauzeren/hervatten</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="109"/>
|
<location filename="../actionmanager.cpp" line="109"/>
|
||||||
<source>Animation Go to Next Frame</source>
|
<source>Animation Go to Next Frame</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Ga naar volgend animatieframe</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="111"/>
|
<location filename="../actionmanager.cpp" line="111"/>
|
||||||
@@ -310,12 +315,12 @@
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="112"/>
|
<location filename="../actionmanager.cpp" line="112"/>
|
||||||
<source>Fit to view</source>
|
<source>Fit to view</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Inpassen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="113"/>
|
<location filename="../actionmanager.cpp" line="113"/>
|
||||||
<source>Fit to width</source>
|
<source>Fit to width</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Aanpassen aan breedte</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="116"/>
|
<location filename="../actionmanager.cpp" line="116"/>
|
||||||
@@ -350,7 +355,7 @@
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="103"/>
|
<location filename="../actionmanager.cpp" line="103"/>
|
||||||
<source>Rotate left</source>
|
<source>Rotate left</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Naar links draaien</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="105"/>
|
<location filename="../actionmanager.cpp" line="105"/>
|
||||||
@@ -363,10 +368,10 @@
|
|||||||
<translation>Volgende afbeelding</translation>
|
<translation>Volgende afbeelding</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="781"/>
|
<location filename="../mainwindow.cpp" line="776"/>
|
||||||
<location filename="../actionmanager.cpp" line="117"/>
|
<location filename="../actionmanager.cpp" line="117"/>
|
||||||
<source>Move to Trash</source>
|
<source>Move to Trash</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Verplaatsen naar prullenbak</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="121"/>
|
<location filename="../actionmanager.cpp" line="121"/>
|
||||||
@@ -406,314 +411,314 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MetadataModel</name>
|
<name>MetadataModel</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="41"/>
|
<location filename="../metadatamodel.cpp" line="43"/>
|
||||||
<source>Origin</source>
|
<source>Origin</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Oorsprong</translation>
|
<translation>Oorsprong</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="42"/>
|
<location filename="../metadatamodel.cpp" line="44"/>
|
||||||
<source>Image</source>
|
<source>Image</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Afbeelding</translation>
|
<translation>Afbeelding</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="46"/>
|
<location filename="../metadatamodel.cpp" line="48"/>
|
||||||
<source>File</source>
|
<source>File</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Bestand</translation>
|
<translation>Bestand</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="43"/>
|
<location filename="../metadatamodel.cpp" line="45"/>
|
||||||
<source>Camera</source>
|
<source>Camera</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Camera</translation>
|
<translation>Camera</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="33"/>
|
<location filename="../metadatamodel.cpp" line="35"/>
|
||||||
<source>%1 File</source>
|
<source>%1 File</source>
|
||||||
<translation>%1-bestand</translation>
|
<translation>%1-bestand</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="40"/>
|
<location filename="../metadatamodel.cpp" line="42"/>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Omschrijving</translation>
|
<translation>Omschrijving</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="44"/>
|
<location filename="../metadatamodel.cpp" line="46"/>
|
||||||
<source>Advanced photo</source>
|
<source>Advanced photo</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Uitgebreide foto</translation>
|
<translation>Uitgebreide foto</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="45"/>
|
<location filename="../metadatamodel.cpp" line="47"/>
|
||||||
<source>GPS</source>
|
<source>GPS</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>GPS</translation>
|
<translation>GPS</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="50"/>
|
<location filename="../metadatamodel.cpp" line="52"/>
|
||||||
<source>Dimensions</source>
|
<source>Dimensions</source>
|
||||||
<translation>Afmetingen</translation>
|
<translation>Afmetingen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="52"/>
|
<location filename="../metadatamodel.cpp" line="54"/>
|
||||||
<source>Aspect ratio</source>
|
<source>Aspect ratio</source>
|
||||||
<translation>Beeldverhouding</translation>
|
<translation>Beeldverhouding</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="56"/>
|
<location filename="../metadatamodel.cpp" line="58"/>
|
||||||
<source>Frame count</source>
|
<source>Frame count</source>
|
||||||
<translation>Aantal frames</translation>
|
<translation>Aantal frames</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="60"/>
|
<location filename="../metadatamodel.cpp" line="62"/>
|
||||||
<source>Name</source>
|
<source>Name</source>
|
||||||
<translation>Naam</translation>
|
<translation>Naam</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="62"/>
|
<location filename="../metadatamodel.cpp" line="64"/>
|
||||||
<source>Item type</source>
|
<source>Item type</source>
|
||||||
<translation>Soort item</translation>
|
<translation>Soort item</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="64"/>
|
<location filename="../metadatamodel.cpp" line="66"/>
|
||||||
<source>Folder path</source>
|
<source>Folder path</source>
|
||||||
<translation>Bestandspad</translation>
|
<translation>Bestandspad</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="66"/>
|
<location filename="../metadatamodel.cpp" line="68"/>
|
||||||
<source>Size</source>
|
<source>Size</source>
|
||||||
<translation>Grootte</translation>
|
<translation>Grootte</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="68"/>
|
<location filename="../metadatamodel.cpp" line="70"/>
|
||||||
<source>Date created</source>
|
<source>Date created</source>
|
||||||
<translation>Gemaakt op</translation>
|
<translation>Gemaakt op</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="70"/>
|
<location filename="../metadatamodel.cpp" line="72"/>
|
||||||
<source>Date modified</source>
|
<source>Date modified</source>
|
||||||
<translation>Bewerkt op</translation>
|
<translation>Bewerkt op</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="77"/>
|
<location filename="../metadatamodel.cpp" line="79"/>
|
||||||
<source>Title</source>
|
<source>Title</source>
|
||||||
<translation>Naam</translation>
|
<translation>Naam</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="79"/>
|
<location filename="../metadatamodel.cpp" line="81"/>
|
||||||
<source>Subject</source>
|
<source>Subject</source>
|
||||||
<translation>Onderwerp</translation>
|
<translation>Onderwerp</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="81"/>
|
<location filename="../metadatamodel.cpp" line="83"/>
|
||||||
<source>Rating</source>
|
<source>Rating</source>
|
||||||
<translation>Waardering</translation>
|
<translation>Waardering</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="83"/>
|
<location filename="../metadatamodel.cpp" line="85"/>
|
||||||
<source>Tags</source>
|
<source>Tags</source>
|
||||||
<translation>Labels</translation>
|
<translation>Labels</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="85"/>
|
<location filename="../metadatamodel.cpp" line="87"/>
|
||||||
<source>Comments</source>
|
<source>Comments</source>
|
||||||
<translation>Opmerkingen</translation>
|
<translation>Opmerkingen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="88"/>
|
<location filename="../metadatamodel.cpp" line="90"/>
|
||||||
<source>Authors</source>
|
<source>Authors</source>
|
||||||
<translation>Makers</translation>
|
<translation>Makers</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="90"/>
|
<location filename="../metadatamodel.cpp" line="92"/>
|
||||||
<source>Date taken</source>
|
<source>Date taken</source>
|
||||||
<translation>Genomen op</translation>
|
<translation>Genomen op</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="96"/>
|
<location filename="../metadatamodel.cpp" line="98"/>
|
||||||
<source>Program name</source>
|
<source>Program name</source>
|
||||||
<translation>Programmanaam</translation>
|
<translation>Programmanaam</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="98"/>
|
<location filename="../metadatamodel.cpp" line="100"/>
|
||||||
<source>Copyright</source>
|
<source>Copyright</source>
|
||||||
<translation>Copyright</translation>
|
<translation>Copyright</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="101"/>
|
<location filename="../metadatamodel.cpp" line="103"/>
|
||||||
<source>Horizontal resolution</source>
|
<source>Horizontal resolution</source>
|
||||||
<translation>Horizontale resolutie</translation>
|
<translation>Horizontale resolutie</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="103"/>
|
<location filename="../metadatamodel.cpp" line="105"/>
|
||||||
<source>Vertical resolution</source>
|
<source>Vertical resolution</source>
|
||||||
<translation>Verticale resolutie</translation>
|
<translation>Verticale resolutie</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="105"/>
|
<location filename="../metadatamodel.cpp" line="107"/>
|
||||||
<source>Resolution unit</source>
|
<source>Resolution unit</source>
|
||||||
<translation>Resolutie-eenheid</translation>
|
<translation>Resolutie-eenheid</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="107"/>
|
<location filename="../metadatamodel.cpp" line="109"/>
|
||||||
<source>Colour representation</source>
|
<source>Colour representation</source>
|
||||||
<translation>Kleurweergave</translation>
|
<translation>Kleurweergave</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="110"/>
|
<location filename="../metadatamodel.cpp" line="112"/>
|
||||||
<source>Camera maker</source>
|
<source>Camera maker</source>
|
||||||
<translation>Camerafabrikant</translation>
|
<translation>Camerafabrikant</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="112"/>
|
<location filename="../metadatamodel.cpp" line="114"/>
|
||||||
<source>Camera model</source>
|
<source>Camera model</source>
|
||||||
<translation>Cameramodel</translation>
|
<translation>Cameramodel</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="114"/>
|
<location filename="../metadatamodel.cpp" line="116"/>
|
||||||
<source>F-stop</source>
|
<source>F-stop</source>
|
||||||
<translation>Openingsverhouding</translation>
|
<translation>Openingsverhouding</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="116"/>
|
<location filename="../metadatamodel.cpp" line="118"/>
|
||||||
<source>Exposure time</source>
|
<source>Exposure time</source>
|
||||||
<translation>Belichtingstijd</translation>
|
<translation>Belichtingstijd</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="118"/>
|
<location filename="../metadatamodel.cpp" line="120"/>
|
||||||
<source>ISO speed</source>
|
<source>ISO speed</source>
|
||||||
<translation>ISO-snelheid</translation>
|
<translation>ISO-snelheid</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="120"/>
|
<location filename="../metadatamodel.cpp" line="122"/>
|
||||||
<source>Exposure bias</source>
|
<source>Exposure bias</source>
|
||||||
<translation>Belichtingsvertekening</translation>
|
<translation>Belichtingsvertekening</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="122"/>
|
<location filename="../metadatamodel.cpp" line="124"/>
|
||||||
<source>Focal length</source>
|
<source>Focal length</source>
|
||||||
<translation>Focale lengte</translation>
|
<translation>Focale lengte</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="124"/>
|
<location filename="../metadatamodel.cpp" line="126"/>
|
||||||
<source>Max aperture</source>
|
<source>Max aperture</source>
|
||||||
<translation>Max. opening</translation>
|
<translation>Max. opening</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="126"/>
|
<location filename="../metadatamodel.cpp" line="128"/>
|
||||||
<source>Metering mode</source>
|
<source>Metering mode</source>
|
||||||
<translation>Metermodus</translation>
|
<translation>Metermodus</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="128"/>
|
<location filename="../metadatamodel.cpp" line="130"/>
|
||||||
<source>Subject distance</source>
|
<source>Subject distance</source>
|
||||||
<translation>Onderwerpafstand</translation>
|
<translation>Onderwerpafstand</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="130"/>
|
<location filename="../metadatamodel.cpp" line="132"/>
|
||||||
<source>Flash mode</source>
|
<source>Flash mode</source>
|
||||||
<translation>Flitsmodus</translation>
|
<translation>Flitsmodus</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="132"/>
|
<location filename="../metadatamodel.cpp" line="134"/>
|
||||||
<source>35mm focal length</source>
|
<source>35mm focal length</source>
|
||||||
<translation>35mm focale lengte</translation>
|
<translation>35mm focale lengte</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="135"/>
|
<location filename="../metadatamodel.cpp" line="137"/>
|
||||||
<source>Lens model</source>
|
<source>Lens model</source>
|
||||||
<translation>Lensmodel</translation>
|
<translation>Lensmodel</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="137"/>
|
<location filename="../metadatamodel.cpp" line="139"/>
|
||||||
<source>Contrast</source>
|
<source>Contrast</source>
|
||||||
<translation>Contrast</translation>
|
<translation>Contrast</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="139"/>
|
<location filename="../metadatamodel.cpp" line="141"/>
|
||||||
<source>Brightness</source>
|
<source>Brightness</source>
|
||||||
<translation>Helderheid</translation>
|
<translation>Helderheid</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="141"/>
|
<location filename="../metadatamodel.cpp" line="143"/>
|
||||||
<source>Exposure program</source>
|
<source>Exposure program</source>
|
||||||
<translation>Belichtingsprogramma</translation>
|
<translation>Belichtingsprogramma</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="143"/>
|
<location filename="../metadatamodel.cpp" line="145"/>
|
||||||
<source>Saturation</source>
|
<source>Saturation</source>
|
||||||
<translation>Verzadiging</translation>
|
<translation>Verzadiging</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="145"/>
|
<location filename="../metadatamodel.cpp" line="147"/>
|
||||||
<source>Sharpness</source>
|
<source>Sharpness</source>
|
||||||
<translation>Scherpte</translation>
|
<translation>Scherpte</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="147"/>
|
<location filename="../metadatamodel.cpp" line="149"/>
|
||||||
<source>White balance</source>
|
<source>White balance</source>
|
||||||
<translation>Witbalans</translation>
|
<translation>Witbalans</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="149"/>
|
<location filename="../metadatamodel.cpp" line="151"/>
|
||||||
<source>Digital zoom</source>
|
<source>Digital zoom</source>
|
||||||
<translation>Digitale zoom</translation>
|
<translation>Digitale zoom</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="151"/>
|
<location filename="../metadatamodel.cpp" line="153"/>
|
||||||
<source>EXIF version</source>
|
<source>EXIF version</source>
|
||||||
<translation>EXIF-versie</translation>
|
<translation>EXIF-versie</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="154"/>
|
<location filename="../metadatamodel.cpp" line="156"/>
|
||||||
<source>Latitude reference</source>
|
<source>Latitude reference</source>
|
||||||
<translation>Breedtegraadverwijzing</translation>
|
<translation>Breedtegraadverwijzing</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="156"/>
|
<location filename="../metadatamodel.cpp" line="158"/>
|
||||||
<source>Latitude</source>
|
<source>Latitude</source>
|
||||||
<translation>Breedtegraad</translation>
|
<translation>Breedtegraad</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="158"/>
|
<location filename="../metadatamodel.cpp" line="160"/>
|
||||||
<source>Longitude reference</source>
|
<source>Longitude reference</source>
|
||||||
<translation>Lengtegraadverwijzing</translation>
|
<translation>Lengtegraadverwijzing</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="160"/>
|
<location filename="../metadatamodel.cpp" line="162"/>
|
||||||
<source>Longitude</source>
|
<source>Longitude</source>
|
||||||
<translation>Lengtegraad</translation>
|
<translation>Lengtegraad</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="162"/>
|
<location filename="../metadatamodel.cpp" line="164"/>
|
||||||
<source>Altitude reference</source>
|
<source>Altitude reference</source>
|
||||||
<translation>Hoogteverwijzing</translation>
|
<translation>Hoogteverwijzing</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="164"/>
|
<location filename="../metadatamodel.cpp" line="166"/>
|
||||||
<source>Altitude</source>
|
<source>Altitude</source>
|
||||||
<translation>Hoogte</translation>
|
<translation>Hoogte</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="174"/>
|
<location filename="../metadatamodel.cpp" line="176"/>
|
||||||
<source>%1 x %2</source>
|
<source>%1 x %2</source>
|
||||||
<translation>%1 x %2</translation>
|
<translation>%1 x %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="192"/>
|
<location filename="../metadatamodel.cpp" line="194"/>
|
||||||
<source>%1 : %2</source>
|
<source>%1 : %2</source>
|
||||||
<translation>%1 : %2</translation>
|
<translation>%1 : %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="317"/>
|
<location filename="../metadatamodel.cpp" line="319"/>
|
||||||
<source>Property</source>
|
<source>Property</source>
|
||||||
<translation>Eigenschap</translation>
|
<translation>Eigenschap</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="317"/>
|
<location filename="../metadatamodel.cpp" line="319"/>
|
||||||
<source>Value</source>
|
<source>Value</source>
|
||||||
<translation>Waarde</translation>
|
<translation>Waarde</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -721,126 +726,141 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>SettingsDialog</name>
|
<name>SettingsDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="29"/>
|
<location filename="../settingsdialog.cpp" line="31"/>
|
||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation>Instellingen</translation>
|
<translation>Instellingen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="37"/>
|
<location filename="../settingsdialog.cpp" line="39"/>
|
||||||
<source>Options</source>
|
<source>Options</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Opties</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="49"/>
|
<location filename="../settingsdialog.cpp" line="51"/>
|
||||||
<source>Shortcuts</source>
|
<source>Shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Sneltoetsen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="59"/>
|
<location filename="../settingsdialog.cpp" line="61"/>
|
||||||
<source>Editing shortcuts for action "%1":</source>
|
<source>Editing shortcuts for action "%1":</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Bewerken van sneltoetsen voor actie ‘%1’:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="68"/>
|
<location filename="../settingsdialog.cpp" line="70"/>
|
||||||
<source>Failed to set shortcuts</source>
|
<source>Failed to set shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Instellen mislukt</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="69"/>
|
<location filename="../settingsdialog.cpp" line="71"/>
|
||||||
<source>Please check if shortcuts are duplicated with existing shortcuts.</source>
|
<source>Please check if shortcuts are duplicated with existing shortcuts.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Controleer of de gekozen sneltoetsen niet al in gebruik zijn.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="76"/>
|
<location filename="../settingsdialog.cpp" line="78"/>
|
||||||
<source>Do nothing</source>
|
<source>Do nothing</source>
|
||||||
<translation>Niets doen</translation>
|
<translation>Niets doen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="77"/>
|
<location filename="../settingsdialog.cpp" line="79"/>
|
||||||
<source>Close the window</source>
|
<source>Close the window</source>
|
||||||
<translation>Venster sluiten</translation>
|
<translation>Venster sluiten</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="78"/>
|
<location filename="../settingsdialog.cpp" line="80"/>
|
||||||
<source>Toggle maximize</source>
|
<source>Toggle maximize</source>
|
||||||
<translation>Maximaliseren/Demaximaliseren</translation>
|
<translation>Maximaliseren/Demaximaliseren</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="79"/>
|
<location filename="../settingsdialog.cpp" line="81"/>
|
||||||
<source>Toggle fullscreen</source>
|
<source>Toggle fullscreen</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Schermvullende weergave aan/uit</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="83"/>
|
<location filename="../settingsdialog.cpp" line="85"/>
|
||||||
<source>Zoom in and out</source>
|
<source>Zoom in and out</source>
|
||||||
<translation>In-/Uitzoomen</translation>
|
<translation>In-/Uitzoomen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="84"/>
|
<location filename="../settingsdialog.cpp" line="86"/>
|
||||||
<source>View next or previous item</source>
|
<source>View next or previous item</source>
|
||||||
<translation>Ga naar volgende of vorige item</translation>
|
<translation>Ga naar volgende of vorige item</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="88"/>
|
<location filename="../settingsdialog.cpp" line="90"/>
|
||||||
<source>Auto size</source>
|
<source>Auto size</source>
|
||||||
<translation>Automatische grootte</translation>
|
<translation>Automatische grootte</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="89"/>
|
<location filename="../settingsdialog.cpp" line="91"/>
|
||||||
<source>Maximized</source>
|
<source>Maximized</source>
|
||||||
<translation>Gemaximaliseerd</translation>
|
<translation>Gemaximaliseerd</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="93"/>
|
<location filename="../settingsdialog.cpp" line="92"/>
|
||||||
|
<source>Windowed</source>
|
||||||
|
<translation>Venster</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="96"/>
|
||||||
<source>Round (Integer scaling)</source>
|
<source>Round (Integer scaling)</source>
|
||||||
<comment>This option means round up for .5 and above</comment>
|
<comment>This option means round up for .5 and above</comment>
|
||||||
<translation>Rond (geheel getal)</translation>
|
<translation>Rond (geheel getal)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="94"/>
|
<location filename="../settingsdialog.cpp" line="97"/>
|
||||||
<source>Ceil (Integer scaling)</source>
|
<source>Ceil (Integer scaling)</source>
|
||||||
<comment>This option means always round up</comment>
|
<comment>This option means always round up</comment>
|
||||||
<translation>Keil (geheel getal)</translation>
|
<translation>Keil (geheel getal)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="95"/>
|
<location filename="../settingsdialog.cpp" line="98"/>
|
||||||
<source>Floor (Integer scaling)</source>
|
<source>Floor (Integer scaling)</source>
|
||||||
<comment>This option means always round down</comment>
|
<comment>This option means always round down</comment>
|
||||||
<translation>Grond (geheel getal)</translation>
|
<translation>Grond (geheel getal)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="96"/>
|
<location filename="../settingsdialog.cpp" line="99"/>
|
||||||
<source>Follow system (Fractional scaling)</source>
|
<source>Follow system (Fractional scaling)</source>
|
||||||
<comment>This option means don't round</comment>
|
<comment>This option means don't round</comment>
|
||||||
<translation>Systeeminstelling (fractionele schaal)</translation>
|
<translation>Systeeminstelling (fractionele schaal)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="119"/>
|
<location filename="../settingsdialog.cpp" line="122"/>
|
||||||
<source>Stay on top when start-up</source>
|
<source>Stay on top when start-up</source>
|
||||||
<translation>Automatisch altijd bovenop</translation>
|
<translation>Automatisch altijd bovenop</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="120"/>
|
<location filename="../settingsdialog.cpp" line="123"/>
|
||||||
<source>Use light-color checkerboard</source>
|
<source>Use built-in close window animation</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="121"/>
|
<location filename="../settingsdialog.cpp" line="124"/>
|
||||||
|
<source>Use light-color checkerboard</source>
|
||||||
|
<translation>Licht schaakbordpatroon gebruiken</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="125"/>
|
||||||
|
<source>Loop the loaded gallery</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="126"/>
|
||||||
<source>Double-click behavior</source>
|
<source>Double-click behavior</source>
|
||||||
<translation>Dubbelklikgedrag</translation>
|
<translation>Dubbelklikgedrag</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="122"/>
|
<location filename="../settingsdialog.cpp" line="127"/>
|
||||||
<source>Mouse wheel behavior</source>
|
<source>Mouse wheel behavior</source>
|
||||||
<translation>Scrollwielgedrag</translation>
|
<translation>Scrollwielgedrag</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="123"/>
|
<location filename="../settingsdialog.cpp" line="128"/>
|
||||||
<source>Default window size</source>
|
<source>Default window size</source>
|
||||||
<translation>Standaard vensterafmetingen</translation>
|
<translation>Standaard vensterafmetingen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="124"/>
|
<location filename="../settingsdialog.cpp" line="129"/>
|
||||||
<source>HiDPI scale factor rounding policy</source>
|
<source>HiDPI scale factor rounding policy</source>
|
||||||
<translation>HiDPI-schaalfactor - afrondbeleid</translation>
|
<translation>HiDPI-schaalfactor - afrondbeleid</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -848,33 +868,33 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>ShortcutEdit</name>
|
<name>ShortcutEdit</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../shortcutedit.cpp" line="111"/>
|
<location filename="../shortcutedit.cpp" line="109"/>
|
||||||
<source>No shortcuts</source>
|
<source>No shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Geen sneltoetsen</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ShortcutEditor</name>
|
<name>ShortcutEditor</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../shortcutedit.cpp" line="77"/>
|
<location filename="../shortcutedit.cpp" line="75"/>
|
||||||
<source>Shortcut #%1</source>
|
<source>Shortcut #%1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Sneltoets #%1</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>main</name>
|
<name>main</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="43"/>
|
<location filename="../main.cpp" line="42"/>
|
||||||
<source>Pineapple Pictures</source>
|
<source>Pineapple Pictures</source>
|
||||||
<translation>Pineapple Afbeeldingen</translation>
|
<translation>Pineapple Afbeeldingen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="46"/>
|
<location filename="../main.cpp" line="45"/>
|
||||||
<source>List supported image format suffixes, and quit program.</source>
|
<source>List supported image format suffixes, and quit program.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Toon een lijst met ondersteunde afbeeldingsformaten en sluit af.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="50"/>
|
<location filename="../main.cpp" line="49"/>
|
||||||
<source>File list.</source>
|
<source>File list.</source>
|
||||||
<translation>Bestandslijst.</translation>
|
<translation>Bestandslijst.</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|||||||
@@ -4,169 +4,169 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>AboutDialog</name>
|
<name>AboutDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="27"/>
|
<location filename="../aboutdialog.cpp" line="29"/>
|
||||||
<source>About</source>
|
<source>About</source>
|
||||||
<translation>بارے</translation>
|
<translation>بارے</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="30"/>
|
<location filename="../aboutdialog.cpp" line="32"/>
|
||||||
<source>Launch application with image file path as argument to load the file.</source>
|
<source>Launch application with image file path as argument to load the file.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="31"/>
|
<location filename="../aboutdialog.cpp" line="33"/>
|
||||||
<source>Drag and drop image file onto the window is also supported.</source>
|
<source>Drag and drop image file onto the window is also supported.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="32"/>
|
<location filename="../aboutdialog.cpp" line="34"/>
|
||||||
<source>None of the operations in this application will alter the pictures on disk.</source>
|
<source>None of the operations in this application will alter the pictures on disk.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="33"/>
|
<location filename="../aboutdialog.cpp" line="35"/>
|
||||||
<source>Context menu option explanation:</source>
|
<source>Context menu option explanation:</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="40"/>
|
<location filename="../aboutdialog.cpp" line="42"/>
|
||||||
<source>Make window stay on top of all other windows.</source>
|
<source>Make window stay on top of all other windows.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="43"/>
|
<location filename="../aboutdialog.cpp" line="45"/>
|
||||||
<source>Avoid close window accidentally. (eg. by double clicking the window)</source>
|
<source>Avoid close window accidentally. (eg. by double clicking the window)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="46"/>
|
<location filename="../aboutdialog.cpp" line="48"/>
|
||||||
<source>Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.</source>
|
<source>Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="53"/>
|
<location filename="../aboutdialog.cpp" line="55"/>
|
||||||
<source>Version: %1</source>
|
<source>Version: %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="64"/>
|
<location filename="../aboutdialog.cpp" line="66"/>
|
||||||
<source>Logo designed by %1</source>
|
<source>Logo designed by %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="66"/>
|
<location filename="../aboutdialog.cpp" line="68"/>
|
||||||
<source>Built with Qt %1 (%2)</source>
|
<source>Built with Qt %1 (%2)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="67"/>
|
<location filename="../aboutdialog.cpp" line="69"/>
|
||||||
<source>Source code</source>
|
<source>Source code</source>
|
||||||
<translation>سروت دا کوڈ</translation>
|
<translation>سروت دا کوڈ</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="77"/>
|
<location filename="../aboutdialog.cpp" line="79"/>
|
||||||
<source>Contributors</source>
|
<source>Contributors</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="79"/>
|
<location filename="../aboutdialog.cpp" line="81"/>
|
||||||
<source>List of contributors on GitHub</source>
|
<source>List of contributors on GitHub</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="80"/>
|
<location filename="../aboutdialog.cpp" line="82"/>
|
||||||
<source>Thanks to all people who contributed to this project.</source>
|
<source>Thanks to all people who contributed to this project.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="84"/>
|
<location filename="../aboutdialog.cpp" line="86"/>
|
||||||
<source>Translators</source>
|
<source>Translators</source>
|
||||||
<translation>ترجمے والے</translation>
|
<translation>ترجمے والے</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="85"/>
|
<location filename="../aboutdialog.cpp" line="87"/>
|
||||||
<source>I would like to thank the following people who volunteered to translate this application.</source>
|
<source>I would like to thank the following people who volunteered to translate this application.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="129"/>
|
<location filename="../aboutdialog.cpp" line="131"/>
|
||||||
<source>%1 is built on the following free software libraries:</source>
|
<source>%1 is built on the following free software libraries:</source>
|
||||||
<comment>Free as in freedom</comment>
|
<comment>Free as in freedom</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="153"/>
|
<location filename="../aboutdialog.cpp" line="155"/>
|
||||||
<source>&Special Thanks</source>
|
<source>&Special Thanks</source>
|
||||||
<translation>شکریئے</translation>
|
<translation>شکریئے</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="155"/>
|
<location filename="../aboutdialog.cpp" line="157"/>
|
||||||
<source>&Third-party Libraries</source>
|
<source>&Third-party Libraries</source>
|
||||||
<translation>تیجی پارٹی سوفٹویر</translation>
|
<translation>تیجی پارٹی سوفٹویر</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="91"/>
|
<location filename="../aboutdialog.cpp" line="93"/>
|
||||||
<source>Your Rights</source>
|
<source>Your Rights</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="61"/>
|
<location filename="../aboutdialog.cpp" line="63"/>
|
||||||
<source>Copyright (c) %1 %2</source>
|
<source>Copyright (c) %1 %2</source>
|
||||||
<comment>%1 is year, %2 is the name of copyright holder(s)</comment>
|
<comment>%1 is year, %2 is the name of copyright holder(s)</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="93"/>
|
<location filename="../aboutdialog.cpp" line="95"/>
|
||||||
<source>%1 is released under the MIT License.</source>
|
<source>%1 is released under the MIT License.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="94"/>
|
<location filename="../aboutdialog.cpp" line="96"/>
|
||||||
<source>This license grants people a number of freedoms:</source>
|
<source>This license grants people a number of freedoms:</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="95"/>
|
<location filename="../aboutdialog.cpp" line="97"/>
|
||||||
<source>You are free to use %1, for any purpose</source>
|
<source>You are free to use %1, for any purpose</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="96"/>
|
<location filename="../aboutdialog.cpp" line="98"/>
|
||||||
<source>You are free to distribute %1</source>
|
<source>You are free to distribute %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="97"/>
|
<location filename="../aboutdialog.cpp" line="99"/>
|
||||||
<source>You can study how %1 works and change it</source>
|
<source>You can study how %1 works and change it</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="98"/>
|
<location filename="../aboutdialog.cpp" line="100"/>
|
||||||
<source>You can distribute changed versions of %1</source>
|
<source>You can distribute changed versions of %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="100"/>
|
<location filename="../aboutdialog.cpp" line="102"/>
|
||||||
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
|
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="128"/>
|
<location filename="../aboutdialog.cpp" line="130"/>
|
||||||
<source>Third-party Libraries used by %1</source>
|
<source>Third-party Libraries used by %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="151"/>
|
<location filename="../aboutdialog.cpp" line="153"/>
|
||||||
<source>&Help</source>
|
<source>&Help</source>
|
||||||
<translation>مدد</translation>
|
<translation>مدد</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="152"/>
|
<location filename="../aboutdialog.cpp" line="154"/>
|
||||||
<source>&About</source>
|
<source>&About</source>
|
||||||
<translation>بارے</translation>
|
<translation>بارے</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="154"/>
|
<location filename="../aboutdialog.cpp" line="156"/>
|
||||||
<source>&License</source>
|
<source>&License</source>
|
||||||
<translation>لائیسنس</translation>
|
<translation>لائیسنس</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -174,7 +174,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>GraphicsScene</name>
|
<name>GraphicsScene</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="269"/>
|
<location filename="../mainwindow.cpp" line="276"/>
|
||||||
<location filename="../graphicsscene.cpp" line="100"/>
|
<location filename="../graphicsscene.cpp" line="100"/>
|
||||||
<source>Drag image here</source>
|
<source>Drag image here</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@@ -183,13 +183,13 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>GraphicsView</name>
|
<name>GraphicsView</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../graphicsview.cpp" line="52"/>
|
<location filename="../graphicsview.cpp" line="50"/>
|
||||||
<source>File is not a valid image</source>
|
<source>File is not a valid image</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../graphicsview.cpp" line="56"/>
|
<location filename="../graphicsview.cpp" line="54"/>
|
||||||
<location filename="../graphicsview.cpp" line="60"/>
|
<location filename="../graphicsview.cpp" line="58"/>
|
||||||
<source>Image data is invalid or currently unsupported</source>
|
<source>Image data is invalid or currently unsupported</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -197,38 +197,43 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MainWindow</name>
|
<name>MainWindow</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="180"/>
|
<location filename="../mainwindow.cpp" line="181"/>
|
||||||
<location filename="../mainwindow.cpp" line="540"/>
|
<location filename="../mainwindow.cpp" line="545"/>
|
||||||
<source>File url list is empty</source>
|
<source>File url list is empty</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="438"/>
|
<location filename="../mainwindow.cpp" line="445"/>
|
||||||
<source>&Copy</source>
|
<source>&Copy</source>
|
||||||
<translation>کاپی کرو</translation>
|
<translation>کاپی کرو</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="548"/>
|
<location filename="../mainwindow.cpp" line="553"/>
|
||||||
<source>Image data is invalid</source>
|
<source>Image data is invalid</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="555"/>
|
<location filename="../mainwindow.cpp" line="560"/>
|
||||||
<source>Not supported mimedata: %1</source>
|
<source>Not supported mimedata: %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="764"/>
|
<location filename="../mainwindow.cpp" line="759"/>
|
||||||
<source>Image From Clipboard</source>
|
<source>Image From Clipboard</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="782"/>
|
<location filename="../mainwindow.cpp" line="777"/>
|
||||||
<source>Are you sure you want to move "%1" to recycle bin?</source>
|
<source>Are you sure you want to move "%1" to recycle bin?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="787"/>
|
<location filename="../mainwindow.cpp" line="781"/>
|
||||||
|
<source>Failed to move file to trash</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="782"/>
|
||||||
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
|
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -249,19 +254,19 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="118"/>
|
<location filename="../actionmanager.cpp" line="118"/>
|
||||||
<location filename="../aboutdialog.cpp" line="39"/>
|
<location filename="../aboutdialog.cpp" line="41"/>
|
||||||
<source>Stay on top</source>
|
<source>Stay on top</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="119"/>
|
<location filename="../actionmanager.cpp" line="119"/>
|
||||||
<location filename="../aboutdialog.cpp" line="42"/>
|
<location filename="../aboutdialog.cpp" line="44"/>
|
||||||
<source>Protected mode</source>
|
<source>Protected mode</source>
|
||||||
<translation>سرکھیات سیٹنگ</translation>
|
<translation>سرکھیات سیٹنگ</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="120"/>
|
<location filename="../actionmanager.cpp" line="120"/>
|
||||||
<location filename="../aboutdialog.cpp" line="45"/>
|
<location filename="../aboutdialog.cpp" line="47"/>
|
||||||
<source>Keep transformation</source>
|
<source>Keep transformation</source>
|
||||||
<comment>The 'transformation' means the flip/rotation status that currently applied to the image view</comment>
|
<comment>The 'transformation' means the flip/rotation status that currently applied to the image view</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@@ -347,7 +352,7 @@
|
|||||||
<translation>اگلی تصویر</translation>
|
<translation>اگلی تصویر</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="781"/>
|
<location filename="../mainwindow.cpp" line="776"/>
|
||||||
<location filename="../actionmanager.cpp" line="117"/>
|
<location filename="../actionmanager.cpp" line="117"/>
|
||||||
<source>Move to Trash</source>
|
<source>Move to Trash</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@@ -390,314 +395,314 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MetadataModel</name>
|
<name>MetadataModel</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="41"/>
|
<location filename="../metadatamodel.cpp" line="43"/>
|
||||||
<source>Origin</source>
|
<source>Origin</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="42"/>
|
<location filename="../metadatamodel.cpp" line="44"/>
|
||||||
<source>Image</source>
|
<source>Image</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>تصویر</translation>
|
<translation>تصویر</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="46"/>
|
<location filename="../metadatamodel.cpp" line="48"/>
|
||||||
<source>File</source>
|
<source>File</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>فائل</translation>
|
<translation>فائل</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="43"/>
|
<location filename="../metadatamodel.cpp" line="45"/>
|
||||||
<source>Camera</source>
|
<source>Camera</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>کیمرہ</translation>
|
<translation>کیمرہ</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="33"/>
|
<location filename="../metadatamodel.cpp" line="35"/>
|
||||||
<source>%1 File</source>
|
<source>%1 File</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="40"/>
|
<location filename="../metadatamodel.cpp" line="42"/>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>تفصیل</translation>
|
<translation>تفصیل</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="44"/>
|
<location filename="../metadatamodel.cpp" line="46"/>
|
||||||
<source>Advanced photo</source>
|
<source>Advanced photo</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="45"/>
|
<location filename="../metadatamodel.cpp" line="47"/>
|
||||||
<source>GPS</source>
|
<source>GPS</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>گیپیایس</translation>
|
<translation>گیپیایس</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="50"/>
|
<location filename="../metadatamodel.cpp" line="52"/>
|
||||||
<source>Dimensions</source>
|
<source>Dimensions</source>
|
||||||
<translation>ماپ</translation>
|
<translation>ماپ</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="52"/>
|
<location filename="../metadatamodel.cpp" line="54"/>
|
||||||
<source>Aspect ratio</source>
|
<source>Aspect ratio</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="56"/>
|
<location filename="../metadatamodel.cpp" line="58"/>
|
||||||
<source>Frame count</source>
|
<source>Frame count</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="60"/>
|
<location filename="../metadatamodel.cpp" line="62"/>
|
||||||
<source>Name</source>
|
<source>Name</source>
|
||||||
<translation>ناں</translation>
|
<translation>ناں</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="62"/>
|
<location filename="../metadatamodel.cpp" line="64"/>
|
||||||
<source>Item type</source>
|
<source>Item type</source>
|
||||||
<translation>قسم</translation>
|
<translation>قسم</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="64"/>
|
<location filename="../metadatamodel.cpp" line="66"/>
|
||||||
<source>Folder path</source>
|
<source>Folder path</source>
|
||||||
<translation>فولڈر پاتھ</translation>
|
<translation>فولڈر پاتھ</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="66"/>
|
<location filename="../metadatamodel.cpp" line="68"/>
|
||||||
<source>Size</source>
|
<source>Size</source>
|
||||||
<translation>اکار</translation>
|
<translation>اکار</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="68"/>
|
<location filename="../metadatamodel.cpp" line="70"/>
|
||||||
<source>Date created</source>
|
<source>Date created</source>
|
||||||
<translation>بݨاوݨ دی تریخ</translation>
|
<translation>بݨاوݨ دی تریخ</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="70"/>
|
<location filename="../metadatamodel.cpp" line="72"/>
|
||||||
<source>Date modified</source>
|
<source>Date modified</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="77"/>
|
<location filename="../metadatamodel.cpp" line="79"/>
|
||||||
<source>Title</source>
|
<source>Title</source>
|
||||||
<translation>سرلیکھ</translation>
|
<translation>سرلیکھ</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="79"/>
|
<location filename="../metadatamodel.cpp" line="81"/>
|
||||||
<source>Subject</source>
|
<source>Subject</source>
|
||||||
<translation>وِشا</translation>
|
<translation>وِشا</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="81"/>
|
<location filename="../metadatamodel.cpp" line="83"/>
|
||||||
<source>Rating</source>
|
<source>Rating</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="83"/>
|
<location filename="../metadatamodel.cpp" line="85"/>
|
||||||
<source>Tags</source>
|
<source>Tags</source>
|
||||||
<translation>ٹیگ</translation>
|
<translation>ٹیگ</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="85"/>
|
<location filename="../metadatamodel.cpp" line="87"/>
|
||||||
<source>Comments</source>
|
<source>Comments</source>
|
||||||
<translation>ٹپݨیاں</translation>
|
<translation>ٹپݨیاں</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="88"/>
|
<location filename="../metadatamodel.cpp" line="90"/>
|
||||||
<source>Authors</source>
|
<source>Authors</source>
|
||||||
<translation>لیکھک</translation>
|
<translation>لیکھک</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="90"/>
|
<location filename="../metadatamodel.cpp" line="92"/>
|
||||||
<source>Date taken</source>
|
<source>Date taken</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="96"/>
|
<location filename="../metadatamodel.cpp" line="98"/>
|
||||||
<source>Program name</source>
|
<source>Program name</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="98"/>
|
<location filename="../metadatamodel.cpp" line="100"/>
|
||||||
<source>Copyright</source>
|
<source>Copyright</source>
|
||||||
<translation>لائیسنس</translation>
|
<translation>لائیسنس</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="101"/>
|
<location filename="../metadatamodel.cpp" line="103"/>
|
||||||
<source>Horizontal resolution</source>
|
<source>Horizontal resolution</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="103"/>
|
<location filename="../metadatamodel.cpp" line="105"/>
|
||||||
<source>Vertical resolution</source>
|
<source>Vertical resolution</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="105"/>
|
<location filename="../metadatamodel.cpp" line="107"/>
|
||||||
<source>Resolution unit</source>
|
<source>Resolution unit</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="107"/>
|
<location filename="../metadatamodel.cpp" line="109"/>
|
||||||
<source>Colour representation</source>
|
<source>Colour representation</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="110"/>
|
<location filename="../metadatamodel.cpp" line="112"/>
|
||||||
<source>Camera maker</source>
|
<source>Camera maker</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="112"/>
|
<location filename="../metadatamodel.cpp" line="114"/>
|
||||||
<source>Camera model</source>
|
<source>Camera model</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="114"/>
|
<location filename="../metadatamodel.cpp" line="116"/>
|
||||||
<source>F-stop</source>
|
<source>F-stop</source>
|
||||||
<translation>ایف سٹاپ</translation>
|
<translation>ایف سٹاپ</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="116"/>
|
<location filename="../metadatamodel.cpp" line="118"/>
|
||||||
<source>Exposure time</source>
|
<source>Exposure time</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="118"/>
|
<location filename="../metadatamodel.cpp" line="120"/>
|
||||||
<source>ISO speed</source>
|
<source>ISO speed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="120"/>
|
<location filename="../metadatamodel.cpp" line="122"/>
|
||||||
<source>Exposure bias</source>
|
<source>Exposure bias</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="122"/>
|
<location filename="../metadatamodel.cpp" line="124"/>
|
||||||
<source>Focal length</source>
|
<source>Focal length</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="124"/>
|
<location filename="../metadatamodel.cpp" line="126"/>
|
||||||
<source>Max aperture</source>
|
<source>Max aperture</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="126"/>
|
<location filename="../metadatamodel.cpp" line="128"/>
|
||||||
<source>Metering mode</source>
|
<source>Metering mode</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="128"/>
|
<location filename="../metadatamodel.cpp" line="130"/>
|
||||||
<source>Subject distance</source>
|
<source>Subject distance</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="130"/>
|
<location filename="../metadatamodel.cpp" line="132"/>
|
||||||
<source>Flash mode</source>
|
<source>Flash mode</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="132"/>
|
<location filename="../metadatamodel.cpp" line="134"/>
|
||||||
<source>35mm focal length</source>
|
<source>35mm focal length</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="135"/>
|
<location filename="../metadatamodel.cpp" line="137"/>
|
||||||
<source>Lens model</source>
|
<source>Lens model</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="137"/>
|
<location filename="../metadatamodel.cpp" line="139"/>
|
||||||
<source>Contrast</source>
|
<source>Contrast</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="139"/>
|
<location filename="../metadatamodel.cpp" line="141"/>
|
||||||
<source>Brightness</source>
|
<source>Brightness</source>
|
||||||
<translation>چمک</translation>
|
<translation>چمک</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="141"/>
|
<location filename="../metadatamodel.cpp" line="143"/>
|
||||||
<source>Exposure program</source>
|
<source>Exposure program</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="143"/>
|
<location filename="../metadatamodel.cpp" line="145"/>
|
||||||
<source>Saturation</source>
|
<source>Saturation</source>
|
||||||
<translation>سنترپتہ</translation>
|
<translation>سنترپتہ</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="145"/>
|
<location filename="../metadatamodel.cpp" line="147"/>
|
||||||
<source>Sharpness</source>
|
<source>Sharpness</source>
|
||||||
<translation>تکھاپن</translation>
|
<translation>تکھاپن</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="147"/>
|
<location filename="../metadatamodel.cpp" line="149"/>
|
||||||
<source>White balance</source>
|
<source>White balance</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="149"/>
|
<location filename="../metadatamodel.cpp" line="151"/>
|
||||||
<source>Digital zoom</source>
|
<source>Digital zoom</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="151"/>
|
<location filename="../metadatamodel.cpp" line="153"/>
|
||||||
<source>EXIF version</source>
|
<source>EXIF version</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="154"/>
|
<location filename="../metadatamodel.cpp" line="156"/>
|
||||||
<source>Latitude reference</source>
|
<source>Latitude reference</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="156"/>
|
<location filename="../metadatamodel.cpp" line="158"/>
|
||||||
<source>Latitude</source>
|
<source>Latitude</source>
|
||||||
<translation>اکشانش</translation>
|
<translation>اکشانش</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="158"/>
|
<location filename="../metadatamodel.cpp" line="160"/>
|
||||||
<source>Longitude reference</source>
|
<source>Longitude reference</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="160"/>
|
<location filename="../metadatamodel.cpp" line="162"/>
|
||||||
<source>Longitude</source>
|
<source>Longitude</source>
|
||||||
<translation>لمبکار</translation>
|
<translation>لمبکار</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="162"/>
|
<location filename="../metadatamodel.cpp" line="164"/>
|
||||||
<source>Altitude reference</source>
|
<source>Altitude reference</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="164"/>
|
<location filename="../metadatamodel.cpp" line="166"/>
|
||||||
<source>Altitude</source>
|
<source>Altitude</source>
|
||||||
<translation>اُچائی</translation>
|
<translation>اُچائی</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="174"/>
|
<location filename="../metadatamodel.cpp" line="176"/>
|
||||||
<source>%1 x %2</source>
|
<source>%1 x %2</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="192"/>
|
<location filename="../metadatamodel.cpp" line="194"/>
|
||||||
<source>%1 : %2</source>
|
<source>%1 : %2</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="317"/>
|
<location filename="../metadatamodel.cpp" line="319"/>
|
||||||
<source>Property</source>
|
<source>Property</source>
|
||||||
<translation>وشیشتا</translation>
|
<translation>وشیشتا</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="317"/>
|
<location filename="../metadatamodel.cpp" line="319"/>
|
||||||
<source>Value</source>
|
<source>Value</source>
|
||||||
<translation>مُل</translation>
|
<translation>مُل</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -705,126 +710,141 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>SettingsDialog</name>
|
<name>SettingsDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="29"/>
|
<location filename="../settingsdialog.cpp" line="31"/>
|
||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation>سیٹنگاں</translation>
|
<translation>سیٹنگاں</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="37"/>
|
<location filename="../settingsdialog.cpp" line="39"/>
|
||||||
<source>Options</source>
|
<source>Options</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="49"/>
|
<location filename="../settingsdialog.cpp" line="51"/>
|
||||||
<source>Shortcuts</source>
|
<source>Shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="59"/>
|
<location filename="../settingsdialog.cpp" line="61"/>
|
||||||
<source>Editing shortcuts for action "%1":</source>
|
<source>Editing shortcuts for action "%1":</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="68"/>
|
<location filename="../settingsdialog.cpp" line="70"/>
|
||||||
<source>Failed to set shortcuts</source>
|
<source>Failed to set shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="69"/>
|
<location filename="../settingsdialog.cpp" line="71"/>
|
||||||
<source>Please check if shortcuts are duplicated with existing shortcuts.</source>
|
<source>Please check if shortcuts are duplicated with existing shortcuts.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="76"/>
|
<location filename="../settingsdialog.cpp" line="78"/>
|
||||||
<source>Do nothing</source>
|
<source>Do nothing</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="77"/>
|
<location filename="../settingsdialog.cpp" line="79"/>
|
||||||
<source>Close the window</source>
|
<source>Close the window</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="78"/>
|
<location filename="../settingsdialog.cpp" line="80"/>
|
||||||
<source>Toggle maximize</source>
|
<source>Toggle maximize</source>
|
||||||
<translation type="unfinished">ودھو ودھ بدلو</translation>
|
<translation type="unfinished">ودھو ودھ بدلو</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="79"/>
|
<location filename="../settingsdialog.cpp" line="81"/>
|
||||||
<source>Toggle fullscreen</source>
|
<source>Toggle fullscreen</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="83"/>
|
<location filename="../settingsdialog.cpp" line="85"/>
|
||||||
<source>Zoom in and out</source>
|
<source>Zoom in and out</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="84"/>
|
<location filename="../settingsdialog.cpp" line="86"/>
|
||||||
<source>View next or previous item</source>
|
<source>View next or previous item</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="88"/>
|
<location filename="../settingsdialog.cpp" line="90"/>
|
||||||
<source>Auto size</source>
|
<source>Auto size</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="89"/>
|
<location filename="../settingsdialog.cpp" line="91"/>
|
||||||
<source>Maximized</source>
|
<source>Maximized</source>
|
||||||
<translation>ودھ توں ودھ</translation>
|
<translation>ودھ توں ودھ</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="93"/>
|
<location filename="../settingsdialog.cpp" line="92"/>
|
||||||
|
<source>Windowed</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="96"/>
|
||||||
<source>Round (Integer scaling)</source>
|
<source>Round (Integer scaling)</source>
|
||||||
<comment>This option means round up for .5 and above</comment>
|
<comment>This option means round up for .5 and above</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="94"/>
|
<location filename="../settingsdialog.cpp" line="97"/>
|
||||||
<source>Ceil (Integer scaling)</source>
|
<source>Ceil (Integer scaling)</source>
|
||||||
<comment>This option means always round up</comment>
|
<comment>This option means always round up</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="95"/>
|
<location filename="../settingsdialog.cpp" line="98"/>
|
||||||
<source>Floor (Integer scaling)</source>
|
<source>Floor (Integer scaling)</source>
|
||||||
<comment>This option means always round down</comment>
|
<comment>This option means always round down</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="96"/>
|
<location filename="../settingsdialog.cpp" line="99"/>
|
||||||
<source>Follow system (Fractional scaling)</source>
|
<source>Follow system (Fractional scaling)</source>
|
||||||
<comment>This option means don't round</comment>
|
<comment>This option means don't round</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="119"/>
|
<location filename="../settingsdialog.cpp" line="122"/>
|
||||||
<source>Stay on top when start-up</source>
|
<source>Stay on top when start-up</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<location filename="../settingsdialog.cpp" line="120"/>
|
|
||||||
<source>Use light-color checkerboard</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../settingsdialog.cpp" line="121"/>
|
|
||||||
<source>Double-click behavior</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../settingsdialog.cpp" line="122"/>
|
|
||||||
<source>Mouse wheel behavior</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="123"/>
|
<location filename="../settingsdialog.cpp" line="123"/>
|
||||||
<source>Default window size</source>
|
<source>Use built-in close window animation</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="124"/>
|
<location filename="../settingsdialog.cpp" line="124"/>
|
||||||
|
<source>Use light-color checkerboard</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="125"/>
|
||||||
|
<source>Loop the loaded gallery</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="126"/>
|
||||||
|
<source>Double-click behavior</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="127"/>
|
||||||
|
<source>Mouse wheel behavior</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="128"/>
|
||||||
|
<source>Default window size</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="129"/>
|
||||||
<source>HiDPI scale factor rounding policy</source>
|
<source>HiDPI scale factor rounding policy</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -832,7 +852,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>ShortcutEdit</name>
|
<name>ShortcutEdit</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../shortcutedit.cpp" line="111"/>
|
<location filename="../shortcutedit.cpp" line="109"/>
|
||||||
<source>No shortcuts</source>
|
<source>No shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -840,7 +860,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>ShortcutEditor</name>
|
<name>ShortcutEditor</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../shortcutedit.cpp" line="77"/>
|
<location filename="../shortcutedit.cpp" line="75"/>
|
||||||
<source>Shortcut #%1</source>
|
<source>Shortcut #%1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -848,17 +868,17 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>main</name>
|
<name>main</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="43"/>
|
<location filename="../main.cpp" line="42"/>
|
||||||
<source>Pineapple Pictures</source>
|
<source>Pineapple Pictures</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="46"/>
|
<location filename="../main.cpp" line="45"/>
|
||||||
<source>List supported image format suffixes, and quit program.</source>
|
<source>List supported image format suffixes, and quit program.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="50"/>
|
<location filename="../main.cpp" line="49"/>
|
||||||
<source>File list.</source>
|
<source>File list.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
|||||||
@@ -4,42 +4,42 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>AboutDialog</name>
|
<name>AboutDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="27"/>
|
<location filename="../aboutdialog.cpp" line="29"/>
|
||||||
<source>About</source>
|
<source>About</source>
|
||||||
<translation>О программе</translation>
|
<translation>О программе</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="30"/>
|
<location filename="../aboutdialog.cpp" line="32"/>
|
||||||
<source>Launch application with image file path as argument to load the file.</source>
|
<source>Launch application with image file path as argument to load the file.</source>
|
||||||
<translation>Запустите приложение, указав путь к файлу изображения в качестве аргумента для загрузки файла.</translation>
|
<translation>Запустите приложение, указав путь к файлу изображения в качестве аргумента для загрузки файла.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="31"/>
|
<location filename="../aboutdialog.cpp" line="33"/>
|
||||||
<source>Drag and drop image file onto the window is also supported.</source>
|
<source>Drag and drop image file onto the window is also supported.</source>
|
||||||
<translation>Также поддерживается перетаскивание файла изображения в окно.</translation>
|
<translation>Также поддерживается перетаскивание файла изображения в окно.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="32"/>
|
<location filename="../aboutdialog.cpp" line="34"/>
|
||||||
<source>None of the operations in this application will alter the pictures on disk.</source>
|
<source>None of the operations in this application will alter the pictures on disk.</source>
|
||||||
<translation>Ни одна из операций в этом приложении не изменит изображения на диске.</translation>
|
<translation>Ни одна из операций в этом приложении не изменит изображения на диске.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="33"/>
|
<location filename="../aboutdialog.cpp" line="35"/>
|
||||||
<source>Context menu option explanation:</source>
|
<source>Context menu option explanation:</source>
|
||||||
<translation>Пояснение к параметрам контекстного меню:</translation>
|
<translation>Пояснение к параметрам контекстного меню:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="40"/>
|
<location filename="../aboutdialog.cpp" line="42"/>
|
||||||
<source>Make window stay on top of all other windows.</source>
|
<source>Make window stay on top of all other windows.</source>
|
||||||
<translation>Расположить окно поверх всех остальных окон.</translation>
|
<translation>Расположить окно поверх всех остальных окон.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="43"/>
|
<location filename="../aboutdialog.cpp" line="45"/>
|
||||||
<source>Avoid close window accidentally. (eg. by double clicking the window)</source>
|
<source>Avoid close window accidentally. (eg. by double clicking the window)</source>
|
||||||
<translation>Избегать случайного закрытия окна. (например, двойным щелчком по окну)</translation>
|
<translation>Избегать случайного закрытия окна. (например, двойным щелчком по окну)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="53"/>
|
<location filename="../aboutdialog.cpp" line="55"/>
|
||||||
<source>Version: %1</source>
|
<source>Version: %1</source>
|
||||||
<translation>Версия: %1</translation>
|
<translation>Версия: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -48,129 +48,129 @@
|
|||||||
<translation type="vanished">Авторское право (c) 2020 %1</translation>
|
<translation type="vanished">Авторское право (c) 2020 %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="64"/>
|
<location filename="../aboutdialog.cpp" line="66"/>
|
||||||
<source>Logo designed by %1</source>
|
<source>Logo designed by %1</source>
|
||||||
<translation>Логотип разработан %1</translation>
|
<translation>Логотип разработан %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="66"/>
|
<location filename="../aboutdialog.cpp" line="68"/>
|
||||||
<source>Built with Qt %1 (%2)</source>
|
<source>Built with Qt %1 (%2)</source>
|
||||||
<translation>Создано с использованием Qt %1 (%2)</translation>
|
<translation>Создано с использованием Qt %1 (%2)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="67"/>
|
<location filename="../aboutdialog.cpp" line="69"/>
|
||||||
<source>Source code</source>
|
<source>Source code</source>
|
||||||
<translation>Исходный код</translation>
|
<translation>Исходный код</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="77"/>
|
<location filename="../aboutdialog.cpp" line="79"/>
|
||||||
<source>Contributors</source>
|
<source>Contributors</source>
|
||||||
<translation>Участники</translation>
|
<translation>Участники</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="79"/>
|
<location filename="../aboutdialog.cpp" line="81"/>
|
||||||
<source>List of contributors on GitHub</source>
|
<source>List of contributors on GitHub</source>
|
||||||
<translation>Список участников на GitHub</translation>
|
<translation>Список участников на GitHub</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="80"/>
|
<location filename="../aboutdialog.cpp" line="82"/>
|
||||||
<source>Thanks to all people who contributed to this project.</source>
|
<source>Thanks to all people who contributed to this project.</source>
|
||||||
<translation>Спасибо всем, кто внес свой вклад в этот проект.</translation>
|
<translation>Спасибо всем, кто внес свой вклад в этот проект.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="84"/>
|
<location filename="../aboutdialog.cpp" line="86"/>
|
||||||
<source>Translators</source>
|
<source>Translators</source>
|
||||||
<translation>Переводчики</translation>
|
<translation>Переводчики</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="85"/>
|
<location filename="../aboutdialog.cpp" line="87"/>
|
||||||
<source>I would like to thank the following people who volunteered to translate this application.</source>
|
<source>I would like to thank the following people who volunteered to translate this application.</source>
|
||||||
<translation>Я бы хотел поблагодарить следующих людей, которые приняли участие в переводе этого приложения.</translation>
|
<translation>Я бы хотел поблагодарить следующих людей, которые приняли участие в переводе этого приложения.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="129"/>
|
<location filename="../aboutdialog.cpp" line="131"/>
|
||||||
<source>%1 is built on the following free software libraries:</source>
|
<source>%1 is built on the following free software libraries:</source>
|
||||||
<comment>Free as in freedom</comment>
|
<comment>Free as in freedom</comment>
|
||||||
<translation>%1 создан на следующих бесплатных библиотеках программного обеспечения:</translation>
|
<translation>%1 создан на следующих бесплатных библиотеках программного обеспечения:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="153"/>
|
<location filename="../aboutdialog.cpp" line="155"/>
|
||||||
<source>&Special Thanks</source>
|
<source>&Special Thanks</source>
|
||||||
<translation>&Особая благодарность</translation>
|
<translation>&Особая благодарность</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="155"/>
|
<location filename="../aboutdialog.cpp" line="157"/>
|
||||||
<source>&Third-party Libraries</source>
|
<source>&Third-party Libraries</source>
|
||||||
<translation>&Сторонние библиотеки</translation>
|
<translation>&Сторонние библиотеки</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="91"/>
|
<location filename="../aboutdialog.cpp" line="93"/>
|
||||||
<source>Your Rights</source>
|
<source>Your Rights</source>
|
||||||
<translation>Ваши Права</translation>
|
<translation>Ваши Права</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="46"/>
|
<location filename="../aboutdialog.cpp" line="48"/>
|
||||||
<source>Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.</source>
|
<source>Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="61"/>
|
<location filename="../aboutdialog.cpp" line="63"/>
|
||||||
<source>Copyright (c) %1 %2</source>
|
<source>Copyright (c) %1 %2</source>
|
||||||
<comment>%1 is year, %2 is the name of copyright holder(s)</comment>
|
<comment>%1 is year, %2 is the name of copyright holder(s)</comment>
|
||||||
<translation>Copyright (c) %1 %2</translation>
|
<translation>Copyright (c) %1 %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="93"/>
|
<location filename="../aboutdialog.cpp" line="95"/>
|
||||||
<source>%1 is released under the MIT License.</source>
|
<source>%1 is released under the MIT License.</source>
|
||||||
<translation>%1 выпущен под лицензией MIT.</translation>
|
<translation>%1 выпущен под лицензией MIT.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="94"/>
|
<location filename="../aboutdialog.cpp" line="96"/>
|
||||||
<source>This license grants people a number of freedoms:</source>
|
<source>This license grants people a number of freedoms:</source>
|
||||||
<translation>Эта лицензия дает людям ряд свобод:</translation>
|
<translation>Эта лицензия дает людям ряд свобод:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="95"/>
|
<location filename="../aboutdialog.cpp" line="97"/>
|
||||||
<source>You are free to use %1, for any purpose</source>
|
<source>You are free to use %1, for any purpose</source>
|
||||||
<translation>Вы можете свободно использовать %1 для любых целей</translation>
|
<translation>Вы можете свободно использовать %1 для любых целей</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="96"/>
|
<location filename="../aboutdialog.cpp" line="98"/>
|
||||||
<source>You are free to distribute %1</source>
|
<source>You are free to distribute %1</source>
|
||||||
<translation>Вы можете свободно распространять %1</translation>
|
<translation>Вы можете свободно распространять %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="97"/>
|
<location filename="../aboutdialog.cpp" line="99"/>
|
||||||
<source>You can study how %1 works and change it</source>
|
<source>You can study how %1 works and change it</source>
|
||||||
<translation>Вы можете изучать, как работает %1, и изменять его</translation>
|
<translation>Вы можете изучать, как работает %1, и изменять его</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="98"/>
|
<location filename="../aboutdialog.cpp" line="100"/>
|
||||||
<source>You can distribute changed versions of %1</source>
|
<source>You can distribute changed versions of %1</source>
|
||||||
<translation>Вы можете распространять измененные версии %1</translation>
|
<translation>Вы можете распространять измененные версии %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="100"/>
|
<location filename="../aboutdialog.cpp" line="102"/>
|
||||||
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
|
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
|
||||||
<translation>Лицензия MIT гарантирует вам эту свободу. Никому и никогда не разрешается забирать ее.</translation>
|
<translation>Лицензия MIT гарантирует вам эту свободу. Никому и никогда не разрешается забирать ее.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="128"/>
|
<location filename="../aboutdialog.cpp" line="130"/>
|
||||||
<source>Third-party Libraries used by %1</source>
|
<source>Third-party Libraries used by %1</source>
|
||||||
<translation>Сторонние библиотеки, используемые %1</translation>
|
<translation>Сторонние библиотеки, используемые %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="151"/>
|
<location filename="../aboutdialog.cpp" line="153"/>
|
||||||
<source>&Help</source>
|
<source>&Help</source>
|
||||||
<translation>&Помощь</translation>
|
<translation>&Помощь</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="152"/>
|
<location filename="../aboutdialog.cpp" line="154"/>
|
||||||
<source>&About</source>
|
<source>&About</source>
|
||||||
<translation>&О программе</translation>
|
<translation>&О программе</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="154"/>
|
<location filename="../aboutdialog.cpp" line="156"/>
|
||||||
<source>&License</source>
|
<source>&License</source>
|
||||||
<translation>&Лицензия</translation>
|
<translation>&Лицензия</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -178,7 +178,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>GraphicsScene</name>
|
<name>GraphicsScene</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="269"/>
|
<location filename="../mainwindow.cpp" line="276"/>
|
||||||
<location filename="../graphicsscene.cpp" line="100"/>
|
<location filename="../graphicsscene.cpp" line="100"/>
|
||||||
<source>Drag image here</source>
|
<source>Drag image here</source>
|
||||||
<translation>Перетащите изображение сюда</translation>
|
<translation>Перетащите изображение сюда</translation>
|
||||||
@@ -191,13 +191,13 @@
|
|||||||
<translation type="vanished">Список URL-адресов файлов пуст</translation>
|
<translation type="vanished">Список URL-адресов файлов пуст</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../graphicsview.cpp" line="52"/>
|
<location filename="../graphicsview.cpp" line="50"/>
|
||||||
<source>File is not a valid image</source>
|
<source>File is not a valid image</source>
|
||||||
<translation>Файл не является допустимым изображением</translation>
|
<translation>Файл не является допустимым изображением</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../graphicsview.cpp" line="56"/>
|
<location filename="../graphicsview.cpp" line="54"/>
|
||||||
<location filename="../graphicsview.cpp" line="60"/>
|
<location filename="../graphicsview.cpp" line="58"/>
|
||||||
<source>Image data is invalid or currently unsupported</source>
|
<source>Image data is invalid or currently unsupported</source>
|
||||||
<translation>Параметры изображения недействительны или не поддерживаются в настоящее время</translation>
|
<translation>Параметры изображения недействительны или не поддерживаются в настоящее время</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -213,38 +213,43 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MainWindow</name>
|
<name>MainWindow</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="180"/>
|
<location filename="../mainwindow.cpp" line="181"/>
|
||||||
<location filename="../mainwindow.cpp" line="540"/>
|
<location filename="../mainwindow.cpp" line="545"/>
|
||||||
<source>File url list is empty</source>
|
<source>File url list is empty</source>
|
||||||
<translation>Список URL-адресов файлов пуст</translation>
|
<translation>Список URL-адресов файлов пуст</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="438"/>
|
<location filename="../mainwindow.cpp" line="445"/>
|
||||||
<source>&Copy</source>
|
<source>&Copy</source>
|
||||||
<translation>&Скопировать</translation>
|
<translation>&Скопировать</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="548"/>
|
<location filename="../mainwindow.cpp" line="553"/>
|
||||||
<source>Image data is invalid</source>
|
<source>Image data is invalid</source>
|
||||||
<translation>Параметры изображения недействительны</translation>
|
<translation>Параметры изображения недействительны</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="555"/>
|
<location filename="../mainwindow.cpp" line="560"/>
|
||||||
<source>Not supported mimedata: %1</source>
|
<source>Not supported mimedata: %1</source>
|
||||||
<translation>Неподдерживаемые mimedata: %1</translation>
|
<translation>Неподдерживаемые mimedata: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="764"/>
|
<location filename="../mainwindow.cpp" line="759"/>
|
||||||
<source>Image From Clipboard</source>
|
<source>Image From Clipboard</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="782"/>
|
<location filename="../mainwindow.cpp" line="777"/>
|
||||||
<source>Are you sure you want to move "%1" to recycle bin?</source>
|
<source>Are you sure you want to move "%1" to recycle bin?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="787"/>
|
<location filename="../mainwindow.cpp" line="781"/>
|
||||||
|
<source>Failed to move file to trash</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="782"/>
|
||||||
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
|
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -265,19 +270,19 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="118"/>
|
<location filename="../actionmanager.cpp" line="118"/>
|
||||||
<location filename="../aboutdialog.cpp" line="39"/>
|
<location filename="../aboutdialog.cpp" line="41"/>
|
||||||
<source>Stay on top</source>
|
<source>Stay on top</source>
|
||||||
<translation>Поверх всех окон</translation>
|
<translation>Поверх всех окон</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="119"/>
|
<location filename="../actionmanager.cpp" line="119"/>
|
||||||
<location filename="../aboutdialog.cpp" line="42"/>
|
<location filename="../aboutdialog.cpp" line="44"/>
|
||||||
<source>Protected mode</source>
|
<source>Protected mode</source>
|
||||||
<translation>Защищенный режим</translation>
|
<translation>Защищенный режим</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="120"/>
|
<location filename="../actionmanager.cpp" line="120"/>
|
||||||
<location filename="../aboutdialog.cpp" line="45"/>
|
<location filename="../aboutdialog.cpp" line="47"/>
|
||||||
<source>Keep transformation</source>
|
<source>Keep transformation</source>
|
||||||
<comment>The 'transformation' means the flip/rotation status that currently applied to the image view</comment>
|
<comment>The 'transformation' means the flip/rotation status that currently applied to the image view</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@@ -363,7 +368,7 @@
|
|||||||
<translation>Следующее изображение</translation>
|
<translation>Следующее изображение</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="781"/>
|
<location filename="../mainwindow.cpp" line="776"/>
|
||||||
<location filename="../actionmanager.cpp" line="117"/>
|
<location filename="../actionmanager.cpp" line="117"/>
|
||||||
<source>Move to Trash</source>
|
<source>Move to Trash</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@@ -406,314 +411,314 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MetadataModel</name>
|
<name>MetadataModel</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="41"/>
|
<location filename="../metadatamodel.cpp" line="43"/>
|
||||||
<source>Origin</source>
|
<source>Origin</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Происхождение</translation>
|
<translation>Происхождение</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="42"/>
|
<location filename="../metadatamodel.cpp" line="44"/>
|
||||||
<source>Image</source>
|
<source>Image</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Изображение</translation>
|
<translation>Изображение</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="46"/>
|
<location filename="../metadatamodel.cpp" line="48"/>
|
||||||
<source>File</source>
|
<source>File</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Файл</translation>
|
<translation>Файл</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="43"/>
|
<location filename="../metadatamodel.cpp" line="45"/>
|
||||||
<source>Camera</source>
|
<source>Camera</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Камера</translation>
|
<translation>Камера</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="33"/>
|
<location filename="../metadatamodel.cpp" line="35"/>
|
||||||
<source>%1 File</source>
|
<source>%1 File</source>
|
||||||
<translation>%1 Файл</translation>
|
<translation>%1 Файл</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="40"/>
|
<location filename="../metadatamodel.cpp" line="42"/>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Описание</translation>
|
<translation>Описание</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="44"/>
|
<location filename="../metadatamodel.cpp" line="46"/>
|
||||||
<source>Advanced photo</source>
|
<source>Advanced photo</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Расширенное фото</translation>
|
<translation>Расширенное фото</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="45"/>
|
<location filename="../metadatamodel.cpp" line="47"/>
|
||||||
<source>GPS</source>
|
<source>GPS</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>GPS</translation>
|
<translation>GPS</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="50"/>
|
<location filename="../metadatamodel.cpp" line="52"/>
|
||||||
<source>Dimensions</source>
|
<source>Dimensions</source>
|
||||||
<translation>Размеры</translation>
|
<translation>Размеры</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="52"/>
|
<location filename="../metadatamodel.cpp" line="54"/>
|
||||||
<source>Aspect ratio</source>
|
<source>Aspect ratio</source>
|
||||||
<translation>Соотношение сторон</translation>
|
<translation>Соотношение сторон</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="56"/>
|
<location filename="../metadatamodel.cpp" line="58"/>
|
||||||
<source>Frame count</source>
|
<source>Frame count</source>
|
||||||
<translation>Количество кадров</translation>
|
<translation>Количество кадров</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="60"/>
|
<location filename="../metadatamodel.cpp" line="62"/>
|
||||||
<source>Name</source>
|
<source>Name</source>
|
||||||
<translation>Название</translation>
|
<translation>Название</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="62"/>
|
<location filename="../metadatamodel.cpp" line="64"/>
|
||||||
<source>Item type</source>
|
<source>Item type</source>
|
||||||
<translation>Тип элемента</translation>
|
<translation>Тип элемента</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="64"/>
|
<location filename="../metadatamodel.cpp" line="66"/>
|
||||||
<source>Folder path</source>
|
<source>Folder path</source>
|
||||||
<translation>Путь к папке</translation>
|
<translation>Путь к папке</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="66"/>
|
<location filename="../metadatamodel.cpp" line="68"/>
|
||||||
<source>Size</source>
|
<source>Size</source>
|
||||||
<translation>Размер</translation>
|
<translation>Размер</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="68"/>
|
<location filename="../metadatamodel.cpp" line="70"/>
|
||||||
<source>Date created</source>
|
<source>Date created</source>
|
||||||
<translation>Дата создания</translation>
|
<translation>Дата создания</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="70"/>
|
<location filename="../metadatamodel.cpp" line="72"/>
|
||||||
<source>Date modified</source>
|
<source>Date modified</source>
|
||||||
<translation>Дата изменения</translation>
|
<translation>Дата изменения</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="77"/>
|
<location filename="../metadatamodel.cpp" line="79"/>
|
||||||
<source>Title</source>
|
<source>Title</source>
|
||||||
<translation>Заголовок</translation>
|
<translation>Заголовок</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="79"/>
|
<location filename="../metadatamodel.cpp" line="81"/>
|
||||||
<source>Subject</source>
|
<source>Subject</source>
|
||||||
<translation>Тема</translation>
|
<translation>Тема</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="81"/>
|
<location filename="../metadatamodel.cpp" line="83"/>
|
||||||
<source>Rating</source>
|
<source>Rating</source>
|
||||||
<translation>Рейтинг</translation>
|
<translation>Рейтинг</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="83"/>
|
<location filename="../metadatamodel.cpp" line="85"/>
|
||||||
<source>Tags</source>
|
<source>Tags</source>
|
||||||
<translation>Теги</translation>
|
<translation>Теги</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="85"/>
|
<location filename="../metadatamodel.cpp" line="87"/>
|
||||||
<source>Comments</source>
|
<source>Comments</source>
|
||||||
<translation>Комментарии</translation>
|
<translation>Комментарии</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="88"/>
|
<location filename="../metadatamodel.cpp" line="90"/>
|
||||||
<source>Authors</source>
|
<source>Authors</source>
|
||||||
<translation>Авторы</translation>
|
<translation>Авторы</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="90"/>
|
<location filename="../metadatamodel.cpp" line="92"/>
|
||||||
<source>Date taken</source>
|
<source>Date taken</source>
|
||||||
<translation>Дата съемки</translation>
|
<translation>Дата съемки</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="96"/>
|
<location filename="../metadatamodel.cpp" line="98"/>
|
||||||
<source>Program name</source>
|
<source>Program name</source>
|
||||||
<translation>Название программы</translation>
|
<translation>Название программы</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="98"/>
|
<location filename="../metadatamodel.cpp" line="100"/>
|
||||||
<source>Copyright</source>
|
<source>Copyright</source>
|
||||||
<translation>Авторские права</translation>
|
<translation>Авторские права</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="101"/>
|
<location filename="../metadatamodel.cpp" line="103"/>
|
||||||
<source>Horizontal resolution</source>
|
<source>Horizontal resolution</source>
|
||||||
<translation>Разрешение по горизонтали</translation>
|
<translation>Разрешение по горизонтали</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="103"/>
|
<location filename="../metadatamodel.cpp" line="105"/>
|
||||||
<source>Vertical resolution</source>
|
<source>Vertical resolution</source>
|
||||||
<translation>Разрешение по вертикали</translation>
|
<translation>Разрешение по вертикали</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="105"/>
|
<location filename="../metadatamodel.cpp" line="107"/>
|
||||||
<source>Resolution unit</source>
|
<source>Resolution unit</source>
|
||||||
<translation>Единица разрешения</translation>
|
<translation>Единица разрешения</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="107"/>
|
<location filename="../metadatamodel.cpp" line="109"/>
|
||||||
<source>Colour representation</source>
|
<source>Colour representation</source>
|
||||||
<translation>Цветопередача</translation>
|
<translation>Цветопередача</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="110"/>
|
<location filename="../metadatamodel.cpp" line="112"/>
|
||||||
<source>Camera maker</source>
|
<source>Camera maker</source>
|
||||||
<translation>Производитель камеры</translation>
|
<translation>Производитель камеры</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="112"/>
|
<location filename="../metadatamodel.cpp" line="114"/>
|
||||||
<source>Camera model</source>
|
<source>Camera model</source>
|
||||||
<translation>Модель камеры</translation>
|
<translation>Модель камеры</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="114"/>
|
<location filename="../metadatamodel.cpp" line="116"/>
|
||||||
<source>F-stop</source>
|
<source>F-stop</source>
|
||||||
<translation>Величина диафрагмы</translation>
|
<translation>Величина диафрагмы</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="116"/>
|
<location filename="../metadatamodel.cpp" line="118"/>
|
||||||
<source>Exposure time</source>
|
<source>Exposure time</source>
|
||||||
<translation>Время экспозиции</translation>
|
<translation>Время экспозиции</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="118"/>
|
<location filename="../metadatamodel.cpp" line="120"/>
|
||||||
<source>ISO speed</source>
|
<source>ISO speed</source>
|
||||||
<translation>Чувствительность ISO</translation>
|
<translation>Чувствительность ISO</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="120"/>
|
<location filename="../metadatamodel.cpp" line="122"/>
|
||||||
<source>Exposure bias</source>
|
<source>Exposure bias</source>
|
||||||
<translation>Смещение экспозиции</translation>
|
<translation>Смещение экспозиции</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="122"/>
|
<location filename="../metadatamodel.cpp" line="124"/>
|
||||||
<source>Focal length</source>
|
<source>Focal length</source>
|
||||||
<translation>Фокусное расстояние</translation>
|
<translation>Фокусное расстояние</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="124"/>
|
<location filename="../metadatamodel.cpp" line="126"/>
|
||||||
<source>Max aperture</source>
|
<source>Max aperture</source>
|
||||||
<translation>Максимальная апертура</translation>
|
<translation>Максимальная апертура</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="126"/>
|
<location filename="../metadatamodel.cpp" line="128"/>
|
||||||
<source>Metering mode</source>
|
<source>Metering mode</source>
|
||||||
<translation>Режим измерения</translation>
|
<translation>Режим измерения</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="128"/>
|
<location filename="../metadatamodel.cpp" line="130"/>
|
||||||
<source>Subject distance</source>
|
<source>Subject distance</source>
|
||||||
<translation>Расстояние до объекта</translation>
|
<translation>Расстояние до объекта</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="130"/>
|
<location filename="../metadatamodel.cpp" line="132"/>
|
||||||
<source>Flash mode</source>
|
<source>Flash mode</source>
|
||||||
<translation>Режим вспышки</translation>
|
<translation>Режим вспышки</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="132"/>
|
<location filename="../metadatamodel.cpp" line="134"/>
|
||||||
<source>35mm focal length</source>
|
<source>35mm focal length</source>
|
||||||
<translation>Фокусное расстояние 35 мм</translation>
|
<translation>Фокусное расстояние 35 мм</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="135"/>
|
<location filename="../metadatamodel.cpp" line="137"/>
|
||||||
<source>Lens model</source>
|
<source>Lens model</source>
|
||||||
<translation>Модель объектива</translation>
|
<translation>Модель объектива</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="137"/>
|
<location filename="../metadatamodel.cpp" line="139"/>
|
||||||
<source>Contrast</source>
|
<source>Contrast</source>
|
||||||
<translation>Контраст</translation>
|
<translation>Контраст</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="139"/>
|
<location filename="../metadatamodel.cpp" line="141"/>
|
||||||
<source>Brightness</source>
|
<source>Brightness</source>
|
||||||
<translation>Яркость</translation>
|
<translation>Яркость</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="141"/>
|
<location filename="../metadatamodel.cpp" line="143"/>
|
||||||
<source>Exposure program</source>
|
<source>Exposure program</source>
|
||||||
<translation>Программа экспозиции</translation>
|
<translation>Программа экспозиции</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="143"/>
|
<location filename="../metadatamodel.cpp" line="145"/>
|
||||||
<source>Saturation</source>
|
<source>Saturation</source>
|
||||||
<translation>Насыщенность</translation>
|
<translation>Насыщенность</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="145"/>
|
<location filename="../metadatamodel.cpp" line="147"/>
|
||||||
<source>Sharpness</source>
|
<source>Sharpness</source>
|
||||||
<translation>Четкость</translation>
|
<translation>Четкость</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="147"/>
|
<location filename="../metadatamodel.cpp" line="149"/>
|
||||||
<source>White balance</source>
|
<source>White balance</source>
|
||||||
<translation>Баланс белого</translation>
|
<translation>Баланс белого</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="149"/>
|
<location filename="../metadatamodel.cpp" line="151"/>
|
||||||
<source>Digital zoom</source>
|
<source>Digital zoom</source>
|
||||||
<translation>Цифровое увеличение</translation>
|
<translation>Цифровое увеличение</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="151"/>
|
<location filename="../metadatamodel.cpp" line="153"/>
|
||||||
<source>EXIF version</source>
|
<source>EXIF version</source>
|
||||||
<translation>Версия EXIF</translation>
|
<translation>Версия EXIF</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="154"/>
|
<location filename="../metadatamodel.cpp" line="156"/>
|
||||||
<source>Latitude reference</source>
|
<source>Latitude reference</source>
|
||||||
<translation>Ссылка на широту</translation>
|
<translation>Ссылка на широту</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="156"/>
|
<location filename="../metadatamodel.cpp" line="158"/>
|
||||||
<source>Latitude</source>
|
<source>Latitude</source>
|
||||||
<translation>Широта</translation>
|
<translation>Широта</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="158"/>
|
<location filename="../metadatamodel.cpp" line="160"/>
|
||||||
<source>Longitude reference</source>
|
<source>Longitude reference</source>
|
||||||
<translation>Ссылка на долготу</translation>
|
<translation>Ссылка на долготу</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="160"/>
|
<location filename="../metadatamodel.cpp" line="162"/>
|
||||||
<source>Longitude</source>
|
<source>Longitude</source>
|
||||||
<translation>Долгота</translation>
|
<translation>Долгота</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="162"/>
|
<location filename="../metadatamodel.cpp" line="164"/>
|
||||||
<source>Altitude reference</source>
|
<source>Altitude reference</source>
|
||||||
<translation>Ссылка на высоту</translation>
|
<translation>Ссылка на высоту</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="164"/>
|
<location filename="../metadatamodel.cpp" line="166"/>
|
||||||
<source>Altitude</source>
|
<source>Altitude</source>
|
||||||
<translation>Высота</translation>
|
<translation>Высота</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="174"/>
|
<location filename="../metadatamodel.cpp" line="176"/>
|
||||||
<source>%1 x %2</source>
|
<source>%1 x %2</source>
|
||||||
<translation>%1 x %2</translation>
|
<translation>%1 x %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="192"/>
|
<location filename="../metadatamodel.cpp" line="194"/>
|
||||||
<source>%1 : %2</source>
|
<source>%1 : %2</source>
|
||||||
<translation>%1 : %2</translation>
|
<translation>%1 : %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="317"/>
|
<location filename="../metadatamodel.cpp" line="319"/>
|
||||||
<source>Property</source>
|
<source>Property</source>
|
||||||
<translation>Свойство</translation>
|
<translation>Свойство</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="317"/>
|
<location filename="../metadatamodel.cpp" line="319"/>
|
||||||
<source>Value</source>
|
<source>Value</source>
|
||||||
<translation>Значение</translation>
|
<translation>Значение</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -721,126 +726,141 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>SettingsDialog</name>
|
<name>SettingsDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="29"/>
|
<location filename="../settingsdialog.cpp" line="31"/>
|
||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation>Параметры</translation>
|
<translation>Параметры</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="37"/>
|
<location filename="../settingsdialog.cpp" line="39"/>
|
||||||
<source>Options</source>
|
<source>Options</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="49"/>
|
<location filename="../settingsdialog.cpp" line="51"/>
|
||||||
<source>Shortcuts</source>
|
<source>Shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="59"/>
|
<location filename="../settingsdialog.cpp" line="61"/>
|
||||||
<source>Editing shortcuts for action "%1":</source>
|
<source>Editing shortcuts for action "%1":</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="68"/>
|
<location filename="../settingsdialog.cpp" line="70"/>
|
||||||
<source>Failed to set shortcuts</source>
|
<source>Failed to set shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="69"/>
|
<location filename="../settingsdialog.cpp" line="71"/>
|
||||||
<source>Please check if shortcuts are duplicated with existing shortcuts.</source>
|
<source>Please check if shortcuts are duplicated with existing shortcuts.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="76"/>
|
<location filename="../settingsdialog.cpp" line="78"/>
|
||||||
<source>Do nothing</source>
|
<source>Do nothing</source>
|
||||||
<translation>Ничего не делать</translation>
|
<translation>Ничего не делать</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="77"/>
|
<location filename="../settingsdialog.cpp" line="79"/>
|
||||||
<source>Close the window</source>
|
<source>Close the window</source>
|
||||||
<translation>Закрыть окно</translation>
|
<translation>Закрыть окно</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="78"/>
|
<location filename="../settingsdialog.cpp" line="80"/>
|
||||||
<source>Toggle maximize</source>
|
<source>Toggle maximize</source>
|
||||||
<translation>Переключить окно</translation>
|
<translation>Переключить окно</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="79"/>
|
<location filename="../settingsdialog.cpp" line="81"/>
|
||||||
<source>Toggle fullscreen</source>
|
<source>Toggle fullscreen</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="83"/>
|
<location filename="../settingsdialog.cpp" line="85"/>
|
||||||
<source>Zoom in and out</source>
|
<source>Zoom in and out</source>
|
||||||
<translation>Увеличение и уменьшение масштаба</translation>
|
<translation>Увеличение и уменьшение масштаба</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="84"/>
|
<location filename="../settingsdialog.cpp" line="86"/>
|
||||||
<source>View next or previous item</source>
|
<source>View next or previous item</source>
|
||||||
<translation>Следующее или предыдущее изображение</translation>
|
<translation>Следующее или предыдущее изображение</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="88"/>
|
<location filename="../settingsdialog.cpp" line="90"/>
|
||||||
<source>Auto size</source>
|
<source>Auto size</source>
|
||||||
<translation>Авторазмер</translation>
|
<translation>Авторазмер</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="89"/>
|
<location filename="../settingsdialog.cpp" line="91"/>
|
||||||
<source>Maximized</source>
|
<source>Maximized</source>
|
||||||
<translation>Максимизировать</translation>
|
<translation>Максимизировать</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="93"/>
|
<location filename="../settingsdialog.cpp" line="92"/>
|
||||||
|
<source>Windowed</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="96"/>
|
||||||
<source>Round (Integer scaling)</source>
|
<source>Round (Integer scaling)</source>
|
||||||
<comment>This option means round up for .5 and above</comment>
|
<comment>This option means round up for .5 and above</comment>
|
||||||
<translation>Round (целочисленное масштабирование)</translation>
|
<translation>Round (целочисленное масштабирование)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="94"/>
|
<location filename="../settingsdialog.cpp" line="97"/>
|
||||||
<source>Ceil (Integer scaling)</source>
|
<source>Ceil (Integer scaling)</source>
|
||||||
<comment>This option means always round up</comment>
|
<comment>This option means always round up</comment>
|
||||||
<translation>Ceil (целочисленное масштабирование)</translation>
|
<translation>Ceil (целочисленное масштабирование)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="95"/>
|
<location filename="../settingsdialog.cpp" line="98"/>
|
||||||
<source>Floor (Integer scaling)</source>
|
<source>Floor (Integer scaling)</source>
|
||||||
<comment>This option means always round down</comment>
|
<comment>This option means always round down</comment>
|
||||||
<translation>Floor (целочисленное масштабирование)</translation>
|
<translation>Floor (целочисленное масштабирование)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="96"/>
|
<location filename="../settingsdialog.cpp" line="99"/>
|
||||||
<source>Follow system (Fractional scaling)</source>
|
<source>Follow system (Fractional scaling)</source>
|
||||||
<comment>This option means don't round</comment>
|
<comment>This option means don't round</comment>
|
||||||
<translation>Следовать системе (дробное масштабирование)</translation>
|
<translation>Следовать системе (дробное масштабирование)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="119"/>
|
<location filename="../settingsdialog.cpp" line="122"/>
|
||||||
<source>Stay on top when start-up</source>
|
<source>Stay on top when start-up</source>
|
||||||
<translation>Поверх всех окон при запуске</translation>
|
<translation>Поверх всех окон при запуске</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="120"/>
|
<location filename="../settingsdialog.cpp" line="123"/>
|
||||||
|
<source>Use built-in close window animation</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="124"/>
|
||||||
<source>Use light-color checkerboard</source>
|
<source>Use light-color checkerboard</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="121"/>
|
<location filename="../settingsdialog.cpp" line="125"/>
|
||||||
|
<source>Loop the loaded gallery</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="126"/>
|
||||||
<source>Double-click behavior</source>
|
<source>Double-click behavior</source>
|
||||||
<translation>Действие при двойном щелчке</translation>
|
<translation>Действие при двойном щелчке</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="122"/>
|
<location filename="../settingsdialog.cpp" line="127"/>
|
||||||
<source>Mouse wheel behavior</source>
|
<source>Mouse wheel behavior</source>
|
||||||
<translation>Действие колеса мыши</translation>
|
<translation>Действие колеса мыши</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="123"/>
|
<location filename="../settingsdialog.cpp" line="128"/>
|
||||||
<source>Default window size</source>
|
<source>Default window size</source>
|
||||||
<translation>Размер окна по умолчанию</translation>
|
<translation>Размер окна по умолчанию</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="124"/>
|
<location filename="../settingsdialog.cpp" line="129"/>
|
||||||
<source>HiDPI scale factor rounding policy</source>
|
<source>HiDPI scale factor rounding policy</source>
|
||||||
<translation>Политика округления коэффициента масштабирования HiDPI</translation>
|
<translation>Политика округления коэффициента масштабирования HiDPI</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -848,7 +868,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>ShortcutEdit</name>
|
<name>ShortcutEdit</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../shortcutedit.cpp" line="111"/>
|
<location filename="../shortcutedit.cpp" line="109"/>
|
||||||
<source>No shortcuts</source>
|
<source>No shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -856,7 +876,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>ShortcutEditor</name>
|
<name>ShortcutEditor</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../shortcutedit.cpp" line="77"/>
|
<location filename="../shortcutedit.cpp" line="75"/>
|
||||||
<source>Shortcut #%1</source>
|
<source>Shortcut #%1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -864,17 +884,17 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>main</name>
|
<name>main</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="43"/>
|
<location filename="../main.cpp" line="42"/>
|
||||||
<source>Pineapple Pictures</source>
|
<source>Pineapple Pictures</source>
|
||||||
<translation>Pineapple Pictures</translation>
|
<translation>Pineapple Pictures</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="46"/>
|
<location filename="../main.cpp" line="45"/>
|
||||||
<source>List supported image format suffixes, and quit program.</source>
|
<source>List supported image format suffixes, and quit program.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="50"/>
|
<location filename="../main.cpp" line="49"/>
|
||||||
<source>File list.</source>
|
<source>File list.</source>
|
||||||
<translation>Список файлов.</translation>
|
<translation>Список файлов.</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|||||||
@@ -4,42 +4,42 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>AboutDialog</name>
|
<name>AboutDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="27"/>
|
<location filename="../aboutdialog.cpp" line="29"/>
|
||||||
<source>About</source>
|
<source>About</source>
|
||||||
<translation>පිළිබඳව</translation>
|
<translation>පිළිබඳව</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="30"/>
|
<location filename="../aboutdialog.cpp" line="32"/>
|
||||||
<source>Launch application with image file path as argument to load the file.</source>
|
<source>Launch application with image file path as argument to load the file.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="31"/>
|
<location filename="../aboutdialog.cpp" line="33"/>
|
||||||
<source>Drag and drop image file onto the window is also supported.</source>
|
<source>Drag and drop image file onto the window is also supported.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="32"/>
|
<location filename="../aboutdialog.cpp" line="34"/>
|
||||||
<source>None of the operations in this application will alter the pictures on disk.</source>
|
<source>None of the operations in this application will alter the pictures on disk.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="33"/>
|
<location filename="../aboutdialog.cpp" line="35"/>
|
||||||
<source>Context menu option explanation:</source>
|
<source>Context menu option explanation:</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="40"/>
|
<location filename="../aboutdialog.cpp" line="42"/>
|
||||||
<source>Make window stay on top of all other windows.</source>
|
<source>Make window stay on top of all other windows.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="43"/>
|
<location filename="../aboutdialog.cpp" line="45"/>
|
||||||
<source>Avoid close window accidentally. (eg. by double clicking the window)</source>
|
<source>Avoid close window accidentally. (eg. by double clicking the window)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="53"/>
|
<location filename="../aboutdialog.cpp" line="55"/>
|
||||||
<source>Version: %1</source>
|
<source>Version: %1</source>
|
||||||
<translation>අනුවාදය: %1</translation>
|
<translation>අනුවාදය: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -48,129 +48,129 @@
|
|||||||
<translation type="vanished">ප්රකාශන හිමිකම (ඇ) 2020 %1</translation>
|
<translation type="vanished">ප්රකාශන හිමිකම (ඇ) 2020 %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="64"/>
|
<location filename="../aboutdialog.cpp" line="66"/>
|
||||||
<source>Logo designed by %1</source>
|
<source>Logo designed by %1</source>
|
||||||
<translation>ලාංඡනය %1 විසින් නිර්මාණය කරන ලදි</translation>
|
<translation>ලාංඡනය %1 විසින් නිර්මාණය කරන ලදි</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="66"/>
|
<location filename="../aboutdialog.cpp" line="68"/>
|
||||||
<source>Built with Qt %1 (%2)</source>
|
<source>Built with Qt %1 (%2)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="67"/>
|
<location filename="../aboutdialog.cpp" line="69"/>
|
||||||
<source>Source code</source>
|
<source>Source code</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="77"/>
|
<location filename="../aboutdialog.cpp" line="79"/>
|
||||||
<source>Contributors</source>
|
<source>Contributors</source>
|
||||||
<translation>සහදායකයින්</translation>
|
<translation>සහදායකයින්</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="79"/>
|
<location filename="../aboutdialog.cpp" line="81"/>
|
||||||
<source>List of contributors on GitHub</source>
|
<source>List of contributors on GitHub</source>
|
||||||
<translation>ගිට්හබ් හි සහදායකයින්ගේ ලැයිස්තුව</translation>
|
<translation>ගිට්හබ් හි සහදායකයින්ගේ ලැයිස්තුව</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="80"/>
|
<location filename="../aboutdialog.cpp" line="82"/>
|
||||||
<source>Thanks to all people who contributed to this project.</source>
|
<source>Thanks to all people who contributed to this project.</source>
|
||||||
<translation>මෙම ව්යාපෘතියට දායක වූ සියලු දෙනාටම ස්තූතියි.</translation>
|
<translation>මෙම ව්යාපෘතියට දායක වූ සියලු දෙනාටම ස්තූතියි.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="84"/>
|
<location filename="../aboutdialog.cpp" line="86"/>
|
||||||
<source>Translators</source>
|
<source>Translators</source>
|
||||||
<translation>පරිවර්තකයින්</translation>
|
<translation>පරිවර්තකයින්</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="85"/>
|
<location filename="../aboutdialog.cpp" line="87"/>
|
||||||
<source>I would like to thank the following people who volunteered to translate this application.</source>
|
<source>I would like to thank the following people who volunteered to translate this application.</source>
|
||||||
<translation>මෙම යෙදුම පරිවර්තනය කිරීමට ස්වේච්ඡාවෙන් ඉදිරිපත් වූ පහත සඳහන් පුද්ගලයින්ට මම ස්තූතිවන්ත වෙමි.</translation>
|
<translation>මෙම යෙදුම පරිවර්තනය කිරීමට ස්වේච්ඡාවෙන් ඉදිරිපත් වූ පහත සඳහන් පුද්ගලයින්ට මම ස්තූතිවන්ත වෙමි.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="129"/>
|
<location filename="../aboutdialog.cpp" line="131"/>
|
||||||
<source>%1 is built on the following free software libraries:</source>
|
<source>%1 is built on the following free software libraries:</source>
|
||||||
<comment>Free as in freedom</comment>
|
<comment>Free as in freedom</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="153"/>
|
<location filename="../aboutdialog.cpp" line="155"/>
|
||||||
<source>&Special Thanks</source>
|
<source>&Special Thanks</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="155"/>
|
<location filename="../aboutdialog.cpp" line="157"/>
|
||||||
<source>&Third-party Libraries</source>
|
<source>&Third-party Libraries</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="91"/>
|
<location filename="../aboutdialog.cpp" line="93"/>
|
||||||
<source>Your Rights</source>
|
<source>Your Rights</source>
|
||||||
<translation>ඔබගේ අයිතිවාසිකම්</translation>
|
<translation>ඔබගේ අයිතිවාසිකම්</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="46"/>
|
<location filename="../aboutdialog.cpp" line="48"/>
|
||||||
<source>Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.</source>
|
<source>Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="61"/>
|
<location filename="../aboutdialog.cpp" line="63"/>
|
||||||
<source>Copyright (c) %1 %2</source>
|
<source>Copyright (c) %1 %2</source>
|
||||||
<comment>%1 is year, %2 is the name of copyright holder(s)</comment>
|
<comment>%1 is year, %2 is the name of copyright holder(s)</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="93"/>
|
<location filename="../aboutdialog.cpp" line="95"/>
|
||||||
<source>%1 is released under the MIT License.</source>
|
<source>%1 is released under the MIT License.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="94"/>
|
<location filename="../aboutdialog.cpp" line="96"/>
|
||||||
<source>This license grants people a number of freedoms:</source>
|
<source>This license grants people a number of freedoms:</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="95"/>
|
<location filename="../aboutdialog.cpp" line="97"/>
|
||||||
<source>You are free to use %1, for any purpose</source>
|
<source>You are free to use %1, for any purpose</source>
|
||||||
<translation>ඕනෑම කටයුත්තක් සඳහා %1 භාවිතා කිරීමට ඔබට නිදහස තිබේ</translation>
|
<translation>ඕනෑම කටයුත්තක් සඳහා %1 භාවිතා කිරීමට ඔබට නිදහස තිබේ</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="96"/>
|
<location filename="../aboutdialog.cpp" line="98"/>
|
||||||
<source>You are free to distribute %1</source>
|
<source>You are free to distribute %1</source>
|
||||||
<translation>%1 බෙදා හැරීමට ඔබට නිදහස තිබේ</translation>
|
<translation>%1 බෙදා හැරීමට ඔබට නිදහස තිබේ</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="97"/>
|
<location filename="../aboutdialog.cpp" line="99"/>
|
||||||
<source>You can study how %1 works and change it</source>
|
<source>You can study how %1 works and change it</source>
|
||||||
<translation>%1 ක්රියා කරන ආකාරය අධ්යයනය කර එය වෙනස් කළ හැකිය</translation>
|
<translation>%1 ක්රියා කරන ආකාරය අධ්යයනය කර එය වෙනස් කළ හැකිය</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="98"/>
|
<location filename="../aboutdialog.cpp" line="100"/>
|
||||||
<source>You can distribute changed versions of %1</source>
|
<source>You can distribute changed versions of %1</source>
|
||||||
<translation>%1 හි වෙනස් කළ අනුවාදයන් ඔබට බෙදා හැරීමට හැකිය</translation>
|
<translation>%1 හි වෙනස් කළ අනුවාදයන් ඔබට බෙදා හැරීමට හැකිය</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="100"/>
|
<location filename="../aboutdialog.cpp" line="102"/>
|
||||||
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
|
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="128"/>
|
<location filename="../aboutdialog.cpp" line="130"/>
|
||||||
<source>Third-party Libraries used by %1</source>
|
<source>Third-party Libraries used by %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="151"/>
|
<location filename="../aboutdialog.cpp" line="153"/>
|
||||||
<source>&Help</source>
|
<source>&Help</source>
|
||||||
<translation>උපකාර</translation>
|
<translation>උපකාර</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="152"/>
|
<location filename="../aboutdialog.cpp" line="154"/>
|
||||||
<source>&About</source>
|
<source>&About</source>
|
||||||
<translation>පිළිබඳව</translation>
|
<translation>පිළිබඳව</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="154"/>
|
<location filename="../aboutdialog.cpp" line="156"/>
|
||||||
<source>&License</source>
|
<source>&License</source>
|
||||||
<translation>&බලපත්රය</translation>
|
<translation>&බලපත්රය</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -178,7 +178,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>GraphicsScene</name>
|
<name>GraphicsScene</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="269"/>
|
<location filename="../mainwindow.cpp" line="276"/>
|
||||||
<location filename="../graphicsscene.cpp" line="100"/>
|
<location filename="../graphicsscene.cpp" line="100"/>
|
||||||
<source>Drag image here</source>
|
<source>Drag image here</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@@ -191,13 +191,13 @@
|
|||||||
<translation type="obsolete">ගොනු ඒ.ස.නි. (url) ලැයිස්තුව හිස් ය</translation>
|
<translation type="obsolete">ගොනු ඒ.ස.නි. (url) ලැයිස්තුව හිස් ය</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../graphicsview.cpp" line="52"/>
|
<location filename="../graphicsview.cpp" line="50"/>
|
||||||
<source>File is not a valid image</source>
|
<source>File is not a valid image</source>
|
||||||
<translation>ගොනුව වලංගු නොවන රූපයකි</translation>
|
<translation>ගොනුව වලංගු නොවන රූපයකි</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../graphicsview.cpp" line="56"/>
|
<location filename="../graphicsview.cpp" line="54"/>
|
||||||
<location filename="../graphicsview.cpp" line="60"/>
|
<location filename="../graphicsview.cpp" line="58"/>
|
||||||
<source>Image data is invalid or currently unsupported</source>
|
<source>Image data is invalid or currently unsupported</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -209,56 +209,61 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MainWindow</name>
|
<name>MainWindow</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="180"/>
|
<location filename="../mainwindow.cpp" line="181"/>
|
||||||
<location filename="../mainwindow.cpp" line="540"/>
|
<location filename="../mainwindow.cpp" line="545"/>
|
||||||
<source>File url list is empty</source>
|
<source>File url list is empty</source>
|
||||||
<translation>ගොනු ඒ.ස.නි. (url) ලැයිස්තුව හිස් ය</translation>
|
<translation>ගොනු ඒ.ස.නි. (url) ලැයිස්තුව හිස් ය</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="438"/>
|
<location filename="../mainwindow.cpp" line="445"/>
|
||||||
<source>&Copy</source>
|
<source>&Copy</source>
|
||||||
<translation>&පිටපත්</translation>
|
<translation>&පිටපත්</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="548"/>
|
<location filename="../mainwindow.cpp" line="553"/>
|
||||||
<source>Image data is invalid</source>
|
<source>Image data is invalid</source>
|
||||||
<translation>රූපයේ දත්ත වලංගු නොවේ</translation>
|
<translation>රූපයේ දත්ත වලංගු නොවේ</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="555"/>
|
<location filename="../mainwindow.cpp" line="560"/>
|
||||||
<source>Not supported mimedata: %1</source>
|
<source>Not supported mimedata: %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="764"/>
|
<location filename="../mainwindow.cpp" line="759"/>
|
||||||
<source>Image From Clipboard</source>
|
<source>Image From Clipboard</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="782"/>
|
<location filename="../mainwindow.cpp" line="777"/>
|
||||||
<source>Are you sure you want to move "%1" to recycle bin?</source>
|
<source>Are you sure you want to move "%1" to recycle bin?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="787"/>
|
<location filename="../mainwindow.cpp" line="781"/>
|
||||||
|
<source>Failed to move file to trash</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="782"/>
|
||||||
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
|
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="118"/>
|
<location filename="../actionmanager.cpp" line="118"/>
|
||||||
<location filename="../aboutdialog.cpp" line="39"/>
|
<location filename="../aboutdialog.cpp" line="41"/>
|
||||||
<source>Stay on top</source>
|
<source>Stay on top</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="119"/>
|
<location filename="../actionmanager.cpp" line="119"/>
|
||||||
<location filename="../aboutdialog.cpp" line="42"/>
|
<location filename="../aboutdialog.cpp" line="44"/>
|
||||||
<source>Protected mode</source>
|
<source>Protected mode</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="120"/>
|
<location filename="../actionmanager.cpp" line="120"/>
|
||||||
<location filename="../aboutdialog.cpp" line="45"/>
|
<location filename="../aboutdialog.cpp" line="47"/>
|
||||||
<source>Keep transformation</source>
|
<source>Keep transformation</source>
|
||||||
<comment>The 'transformation' means the flip/rotation status that currently applied to the image view</comment>
|
<comment>The 'transformation' means the flip/rotation status that currently applied to the image view</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@@ -354,7 +359,7 @@
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="781"/>
|
<location filename="../mainwindow.cpp" line="776"/>
|
||||||
<location filename="../actionmanager.cpp" line="117"/>
|
<location filename="../actionmanager.cpp" line="117"/>
|
||||||
<source>Move to Trash</source>
|
<source>Move to Trash</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@@ -402,314 +407,314 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MetadataModel</name>
|
<name>MetadataModel</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="41"/>
|
<location filename="../metadatamodel.cpp" line="43"/>
|
||||||
<source>Origin</source>
|
<source>Origin</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="42"/>
|
<location filename="../metadatamodel.cpp" line="44"/>
|
||||||
<source>Image</source>
|
<source>Image</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>පින්තූරය</translation>
|
<translation>පින්තූරය</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="46"/>
|
<location filename="../metadatamodel.cpp" line="48"/>
|
||||||
<source>File</source>
|
<source>File</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>ගොනුව</translation>
|
<translation>ගොනුව</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="43"/>
|
<location filename="../metadatamodel.cpp" line="45"/>
|
||||||
<source>Camera</source>
|
<source>Camera</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="33"/>
|
<location filename="../metadatamodel.cpp" line="35"/>
|
||||||
<source>%1 File</source>
|
<source>%1 File</source>
|
||||||
<translation>ගොනු %1</translation>
|
<translation>ගොනු %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="40"/>
|
<location filename="../metadatamodel.cpp" line="42"/>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>විස්තරය</translation>
|
<translation>විස්තරය</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="44"/>
|
<location filename="../metadatamodel.cpp" line="46"/>
|
||||||
<source>Advanced photo</source>
|
<source>Advanced photo</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="45"/>
|
<location filename="../metadatamodel.cpp" line="47"/>
|
||||||
<source>GPS</source>
|
<source>GPS</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="50"/>
|
<location filename="../metadatamodel.cpp" line="52"/>
|
||||||
<source>Dimensions</source>
|
<source>Dimensions</source>
|
||||||
<translation>මාන</translation>
|
<translation>මාන</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="52"/>
|
<location filename="../metadatamodel.cpp" line="54"/>
|
||||||
<source>Aspect ratio</source>
|
<source>Aspect ratio</source>
|
||||||
<translation>දර්ශන අනුපාතය</translation>
|
<translation>දර්ශන අනුපාතය</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="56"/>
|
<location filename="../metadatamodel.cpp" line="58"/>
|
||||||
<source>Frame count</source>
|
<source>Frame count</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="60"/>
|
<location filename="../metadatamodel.cpp" line="62"/>
|
||||||
<source>Name</source>
|
<source>Name</source>
|
||||||
<translation>නම</translation>
|
<translation>නම</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="62"/>
|
<location filename="../metadatamodel.cpp" line="64"/>
|
||||||
<source>Item type</source>
|
<source>Item type</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="64"/>
|
<location filename="../metadatamodel.cpp" line="66"/>
|
||||||
<source>Folder path</source>
|
<source>Folder path</source>
|
||||||
<translation>ගොනුවේ මාර්ගය</translation>
|
<translation>ගොනුවේ මාර්ගය</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="66"/>
|
<location filename="../metadatamodel.cpp" line="68"/>
|
||||||
<source>Size</source>
|
<source>Size</source>
|
||||||
<translation>ප්රමාණය</translation>
|
<translation>ප්රමාණය</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="68"/>
|
<location filename="../metadatamodel.cpp" line="70"/>
|
||||||
<source>Date created</source>
|
<source>Date created</source>
|
||||||
<translation>සෑදූ දිනය</translation>
|
<translation>සෑදූ දිනය</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="70"/>
|
<location filename="../metadatamodel.cpp" line="72"/>
|
||||||
<source>Date modified</source>
|
<source>Date modified</source>
|
||||||
<translation>වෙනස් කළ දිනය</translation>
|
<translation>වෙනස් කළ දිනය</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="77"/>
|
<location filename="../metadatamodel.cpp" line="79"/>
|
||||||
<source>Title</source>
|
<source>Title</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="79"/>
|
<location filename="../metadatamodel.cpp" line="81"/>
|
||||||
<source>Subject</source>
|
<source>Subject</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="81"/>
|
<location filename="../metadatamodel.cpp" line="83"/>
|
||||||
<source>Rating</source>
|
<source>Rating</source>
|
||||||
<translation>ශ්රේණිගත කිරීම</translation>
|
<translation>ශ්රේණිගත කිරීම</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="83"/>
|
<location filename="../metadatamodel.cpp" line="85"/>
|
||||||
<source>Tags</source>
|
<source>Tags</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="85"/>
|
<location filename="../metadatamodel.cpp" line="87"/>
|
||||||
<source>Comments</source>
|
<source>Comments</source>
|
||||||
<translation>අදහස්</translation>
|
<translation>අදහස්</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="88"/>
|
<location filename="../metadatamodel.cpp" line="90"/>
|
||||||
<source>Authors</source>
|
<source>Authors</source>
|
||||||
<translation>කතුවරුන්</translation>
|
<translation>කතුවරුන්</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="90"/>
|
<location filename="../metadatamodel.cpp" line="92"/>
|
||||||
<source>Date taken</source>
|
<source>Date taken</source>
|
||||||
<translation>ගත් දිනය</translation>
|
<translation>ගත් දිනය</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="96"/>
|
<location filename="../metadatamodel.cpp" line="98"/>
|
||||||
<source>Program name</source>
|
<source>Program name</source>
|
||||||
<translation>වැඩසටහනේ නම</translation>
|
<translation>වැඩසටහනේ නම</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="98"/>
|
<location filename="../metadatamodel.cpp" line="100"/>
|
||||||
<source>Copyright</source>
|
<source>Copyright</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="101"/>
|
<location filename="../metadatamodel.cpp" line="103"/>
|
||||||
<source>Horizontal resolution</source>
|
<source>Horizontal resolution</source>
|
||||||
<translation>තිරස් විභේදනය</translation>
|
<translation>තිරස් විභේදනය</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="103"/>
|
<location filename="../metadatamodel.cpp" line="105"/>
|
||||||
<source>Vertical resolution</source>
|
<source>Vertical resolution</source>
|
||||||
<translation>සිරස් විභේදනය</translation>
|
<translation>සිරස් විභේදනය</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="105"/>
|
<location filename="../metadatamodel.cpp" line="107"/>
|
||||||
<source>Resolution unit</source>
|
<source>Resolution unit</source>
|
||||||
<translation>විභේදන ඒකකය</translation>
|
<translation>විභේදන ඒකකය</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="107"/>
|
<location filename="../metadatamodel.cpp" line="109"/>
|
||||||
<source>Colour representation</source>
|
<source>Colour representation</source>
|
||||||
<translation>වර්ණ නිරූපණය</translation>
|
<translation>වර්ණ නිරූපණය</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="110"/>
|
<location filename="../metadatamodel.cpp" line="112"/>
|
||||||
<source>Camera maker</source>
|
<source>Camera maker</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="112"/>
|
<location filename="../metadatamodel.cpp" line="114"/>
|
||||||
<source>Camera model</source>
|
<source>Camera model</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="114"/>
|
<location filename="../metadatamodel.cpp" line="116"/>
|
||||||
<source>F-stop</source>
|
<source>F-stop</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="116"/>
|
<location filename="../metadatamodel.cpp" line="118"/>
|
||||||
<source>Exposure time</source>
|
<source>Exposure time</source>
|
||||||
<translation>නිරාවරණ කාලය</translation>
|
<translation>නිරාවරණ කාලය</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="118"/>
|
<location filename="../metadatamodel.cpp" line="120"/>
|
||||||
<source>ISO speed</source>
|
<source>ISO speed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="120"/>
|
<location filename="../metadatamodel.cpp" line="122"/>
|
||||||
<source>Exposure bias</source>
|
<source>Exposure bias</source>
|
||||||
<translation>නිරාවරණ නැඹුරුව</translation>
|
<translation>නිරාවරණ නැඹුරුව</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="122"/>
|
<location filename="../metadatamodel.cpp" line="124"/>
|
||||||
<source>Focal length</source>
|
<source>Focal length</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="124"/>
|
<location filename="../metadatamodel.cpp" line="126"/>
|
||||||
<source>Max aperture</source>
|
<source>Max aperture</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="126"/>
|
<location filename="../metadatamodel.cpp" line="128"/>
|
||||||
<source>Metering mode</source>
|
<source>Metering mode</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="128"/>
|
<location filename="../metadatamodel.cpp" line="130"/>
|
||||||
<source>Subject distance</source>
|
<source>Subject distance</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="130"/>
|
<location filename="../metadatamodel.cpp" line="132"/>
|
||||||
<source>Flash mode</source>
|
<source>Flash mode</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="132"/>
|
<location filename="../metadatamodel.cpp" line="134"/>
|
||||||
<source>35mm focal length</source>
|
<source>35mm focal length</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="135"/>
|
<location filename="../metadatamodel.cpp" line="137"/>
|
||||||
<source>Lens model</source>
|
<source>Lens model</source>
|
||||||
<translation>කාච ආකෘතිය</translation>
|
<translation>කාච ආකෘතිය</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="137"/>
|
<location filename="../metadatamodel.cpp" line="139"/>
|
||||||
<source>Contrast</source>
|
<source>Contrast</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="139"/>
|
<location filename="../metadatamodel.cpp" line="141"/>
|
||||||
<source>Brightness</source>
|
<source>Brightness</source>
|
||||||
<translation>දීප්තිය</translation>
|
<translation>දීප්තිය</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="141"/>
|
<location filename="../metadatamodel.cpp" line="143"/>
|
||||||
<source>Exposure program</source>
|
<source>Exposure program</source>
|
||||||
<translation>නිරාවරණ වැඩසටහන</translation>
|
<translation>නිරාවරණ වැඩසටහන</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="143"/>
|
<location filename="../metadatamodel.cpp" line="145"/>
|
||||||
<source>Saturation</source>
|
<source>Saturation</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="145"/>
|
<location filename="../metadatamodel.cpp" line="147"/>
|
||||||
<source>Sharpness</source>
|
<source>Sharpness</source>
|
||||||
<translation>තියුණු බව</translation>
|
<translation>තියුණු බව</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="147"/>
|
<location filename="../metadatamodel.cpp" line="149"/>
|
||||||
<source>White balance</source>
|
<source>White balance</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="149"/>
|
<location filename="../metadatamodel.cpp" line="151"/>
|
||||||
<source>Digital zoom</source>
|
<source>Digital zoom</source>
|
||||||
<translation>සංඛ්යාංක විශාලනය</translation>
|
<translation>සංඛ්යාංක විශාලනය</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="151"/>
|
<location filename="../metadatamodel.cpp" line="153"/>
|
||||||
<source>EXIF version</source>
|
<source>EXIF version</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="154"/>
|
<location filename="../metadatamodel.cpp" line="156"/>
|
||||||
<source>Latitude reference</source>
|
<source>Latitude reference</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="156"/>
|
<location filename="../metadatamodel.cpp" line="158"/>
|
||||||
<source>Latitude</source>
|
<source>Latitude</source>
|
||||||
<translation>අක්ෂාංශ</translation>
|
<translation>අක්ෂාංශ</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="158"/>
|
<location filename="../metadatamodel.cpp" line="160"/>
|
||||||
<source>Longitude reference</source>
|
<source>Longitude reference</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="160"/>
|
<location filename="../metadatamodel.cpp" line="162"/>
|
||||||
<source>Longitude</source>
|
<source>Longitude</source>
|
||||||
<translation>දේශාංශ</translation>
|
<translation>දේශාංශ</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="162"/>
|
<location filename="../metadatamodel.cpp" line="164"/>
|
||||||
<source>Altitude reference</source>
|
<source>Altitude reference</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="164"/>
|
<location filename="../metadatamodel.cpp" line="166"/>
|
||||||
<source>Altitude</source>
|
<source>Altitude</source>
|
||||||
<translation>උන්නතාංශය</translation>
|
<translation>උන්නතාංශය</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="174"/>
|
<location filename="../metadatamodel.cpp" line="176"/>
|
||||||
<source>%1 x %2</source>
|
<source>%1 x %2</source>
|
||||||
<translation>%1 x %2</translation>
|
<translation>%1 x %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="192"/>
|
<location filename="../metadatamodel.cpp" line="194"/>
|
||||||
<source>%1 : %2</source>
|
<source>%1 : %2</source>
|
||||||
<translation>%1 : %2</translation>
|
<translation>%1 : %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="317"/>
|
<location filename="../metadatamodel.cpp" line="319"/>
|
||||||
<source>Property</source>
|
<source>Property</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="317"/>
|
<location filename="../metadatamodel.cpp" line="319"/>
|
||||||
<source>Value</source>
|
<source>Value</source>
|
||||||
<translation>අගය</translation>
|
<translation>අගය</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -717,126 +722,141 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>SettingsDialog</name>
|
<name>SettingsDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="29"/>
|
<location filename="../settingsdialog.cpp" line="31"/>
|
||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation>සැකසුම්</translation>
|
<translation>සැකසුම්</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="37"/>
|
<location filename="../settingsdialog.cpp" line="39"/>
|
||||||
<source>Options</source>
|
<source>Options</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="49"/>
|
<location filename="../settingsdialog.cpp" line="51"/>
|
||||||
<source>Shortcuts</source>
|
<source>Shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="59"/>
|
<location filename="../settingsdialog.cpp" line="61"/>
|
||||||
<source>Editing shortcuts for action "%1":</source>
|
<source>Editing shortcuts for action "%1":</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="68"/>
|
<location filename="../settingsdialog.cpp" line="70"/>
|
||||||
<source>Failed to set shortcuts</source>
|
<source>Failed to set shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="69"/>
|
<location filename="../settingsdialog.cpp" line="71"/>
|
||||||
<source>Please check if shortcuts are duplicated with existing shortcuts.</source>
|
<source>Please check if shortcuts are duplicated with existing shortcuts.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="76"/>
|
<location filename="../settingsdialog.cpp" line="78"/>
|
||||||
<source>Do nothing</source>
|
<source>Do nothing</source>
|
||||||
<translation>කිසිවක් නොකරන්න</translation>
|
<translation>කිසිවක් නොකරන්න</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="77"/>
|
<location filename="../settingsdialog.cpp" line="79"/>
|
||||||
<source>Close the window</source>
|
<source>Close the window</source>
|
||||||
<translation>කවුළුව වහන්න</translation>
|
<translation>කවුළුව වහන්න</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="78"/>
|
<location filename="../settingsdialog.cpp" line="80"/>
|
||||||
<source>Toggle maximize</source>
|
<source>Toggle maximize</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="79"/>
|
<location filename="../settingsdialog.cpp" line="81"/>
|
||||||
<source>Toggle fullscreen</source>
|
<source>Toggle fullscreen</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="83"/>
|
<location filename="../settingsdialog.cpp" line="85"/>
|
||||||
<source>Zoom in and out</source>
|
<source>Zoom in and out</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="84"/>
|
<location filename="../settingsdialog.cpp" line="86"/>
|
||||||
<source>View next or previous item</source>
|
<source>View next or previous item</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="88"/>
|
<location filename="../settingsdialog.cpp" line="90"/>
|
||||||
<source>Auto size</source>
|
<source>Auto size</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="89"/>
|
<location filename="../settingsdialog.cpp" line="91"/>
|
||||||
<source>Maximized</source>
|
<source>Maximized</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="93"/>
|
<location filename="../settingsdialog.cpp" line="92"/>
|
||||||
|
<source>Windowed</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="96"/>
|
||||||
<source>Round (Integer scaling)</source>
|
<source>Round (Integer scaling)</source>
|
||||||
<comment>This option means round up for .5 and above</comment>
|
<comment>This option means round up for .5 and above</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="94"/>
|
<location filename="../settingsdialog.cpp" line="97"/>
|
||||||
<source>Ceil (Integer scaling)</source>
|
<source>Ceil (Integer scaling)</source>
|
||||||
<comment>This option means always round up</comment>
|
<comment>This option means always round up</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="95"/>
|
<location filename="../settingsdialog.cpp" line="98"/>
|
||||||
<source>Floor (Integer scaling)</source>
|
<source>Floor (Integer scaling)</source>
|
||||||
<comment>This option means always round down</comment>
|
<comment>This option means always round down</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="96"/>
|
<location filename="../settingsdialog.cpp" line="99"/>
|
||||||
<source>Follow system (Fractional scaling)</source>
|
<source>Follow system (Fractional scaling)</source>
|
||||||
<comment>This option means don't round</comment>
|
<comment>This option means don't round</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="119"/>
|
<location filename="../settingsdialog.cpp" line="122"/>
|
||||||
<source>Stay on top when start-up</source>
|
<source>Stay on top when start-up</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<location filename="../settingsdialog.cpp" line="120"/>
|
|
||||||
<source>Use light-color checkerboard</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../settingsdialog.cpp" line="121"/>
|
|
||||||
<source>Double-click behavior</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../settingsdialog.cpp" line="122"/>
|
|
||||||
<source>Mouse wheel behavior</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="123"/>
|
<location filename="../settingsdialog.cpp" line="123"/>
|
||||||
<source>Default window size</source>
|
<source>Use built-in close window animation</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="124"/>
|
<location filename="../settingsdialog.cpp" line="124"/>
|
||||||
|
<source>Use light-color checkerboard</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="125"/>
|
||||||
|
<source>Loop the loaded gallery</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="126"/>
|
||||||
|
<source>Double-click behavior</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="127"/>
|
||||||
|
<source>Mouse wheel behavior</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="128"/>
|
||||||
|
<source>Default window size</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="129"/>
|
||||||
<source>HiDPI scale factor rounding policy</source>
|
<source>HiDPI scale factor rounding policy</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -844,7 +864,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>ShortcutEdit</name>
|
<name>ShortcutEdit</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../shortcutedit.cpp" line="111"/>
|
<location filename="../shortcutedit.cpp" line="109"/>
|
||||||
<source>No shortcuts</source>
|
<source>No shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -852,7 +872,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>ShortcutEditor</name>
|
<name>ShortcutEditor</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../shortcutedit.cpp" line="77"/>
|
<location filename="../shortcutedit.cpp" line="75"/>
|
||||||
<source>Shortcut #%1</source>
|
<source>Shortcut #%1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -860,17 +880,17 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>main</name>
|
<name>main</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="43"/>
|
<location filename="../main.cpp" line="42"/>
|
||||||
<source>Pineapple Pictures</source>
|
<source>Pineapple Pictures</source>
|
||||||
<translation>පයින්ඇපල් පික්චර්ස්</translation>
|
<translation>පයින්ඇපල් පික්චර්ස්</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="46"/>
|
<location filename="../main.cpp" line="45"/>
|
||||||
<source>List supported image format suffixes, and quit program.</source>
|
<source>List supported image format suffixes, and quit program.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="50"/>
|
<location filename="../main.cpp" line="49"/>
|
||||||
<source>File list.</source>
|
<source>File list.</source>
|
||||||
<translation>ගොනු ලැයිස්තුව.</translation>
|
<translation>ගොනු ලැයිස්තුව.</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|||||||
886
app/translations/PineapplePictures_ta.ts
Normal file
886
app/translations/PineapplePictures_ta.ts
Normal file
@@ -0,0 +1,886 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE TS>
|
||||||
|
<TS version="2.1" language="ta">
|
||||||
|
<context>
|
||||||
|
<name>AboutDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../aboutdialog.cpp" line="29"/>
|
||||||
|
<source>About</source>
|
||||||
|
<translation>பற்றி</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../aboutdialog.cpp" line="32"/>
|
||||||
|
<source>Launch application with image file path as argument to load the file.</source>
|
||||||
|
<translation>கோப்பை ஏற்ற வாதமாக பட கோப்பு பாதையுடன் பயன்பாட்டைத் தொடங்கவும்.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../aboutdialog.cpp" line="33"/>
|
||||||
|
<source>Drag and drop image file onto the window is also supported.</source>
|
||||||
|
<translation>படக் கோப்பை சாளரத்தில் இழுத்து விடுங்கள்.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../aboutdialog.cpp" line="34"/>
|
||||||
|
<source>None of the operations in this application will alter the pictures on disk.</source>
|
||||||
|
<translation>இந்த பயன்பாட்டில் உள்ள எந்த செயல்பாடுகளும் வட்டில் உள்ள படங்களை மாற்றாது.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../aboutdialog.cpp" line="35"/>
|
||||||
|
<source>Context menu option explanation:</source>
|
||||||
|
<translation>சூழல் பட்டியல் விருப்பம் விளக்கம்:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../aboutdialog.cpp" line="42"/>
|
||||||
|
<source>Make window stay on top of all other windows.</source>
|
||||||
|
<translation>மற்ற எல்லா சன்னல்களுக்கும் மேலாக சாளரத்தை வைக்கவும்.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../aboutdialog.cpp" line="45"/>
|
||||||
|
<source>Avoid close window accidentally. (eg. by double clicking the window)</source>
|
||||||
|
<translation>தற்செயலாக நெருக்கமான சாளரத்தைத் தவிர்க்கவும். (எ.கா. சாளரத்தை இருமுறை சொடுக்கு செய்வதன் மூலம்)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../aboutdialog.cpp" line="48"/>
|
||||||
|
<source>Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.</source>
|
||||||
|
<translation>படங்களுக்கு இடையில் மாறும்போது படக் காட்சிக்கு பயன்படுத்தப்பட்ட சூம்/சுழற்சி/ஃபிளிப் நிலையை மீட்டமைப்பதைத் தவிர்க்கவும்.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../aboutdialog.cpp" line="55"/>
|
||||||
|
<source>Version: %1</source>
|
||||||
|
<translation>பதிப்பு: %1</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../aboutdialog.cpp" line="66"/>
|
||||||
|
<source>Logo designed by %1</source>
|
||||||
|
<translation>லோகோ %1 ஆல் வடிவமைக்கப்பட்டுள்ளது</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../aboutdialog.cpp" line="68"/>
|
||||||
|
<source>Built with Qt %1 (%2)</source>
|
||||||
|
<translation>கியுடி %1 ( %2) உடன் கட்டப்பட்டுள்ளது</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../aboutdialog.cpp" line="69"/>
|
||||||
|
<source>Source code</source>
|
||||||
|
<translation>மூலக் குறியீடு</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../aboutdialog.cpp" line="79"/>
|
||||||
|
<source>Contributors</source>
|
||||||
|
<translation>பங்களிப்பாளர்கள்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../aboutdialog.cpp" line="81"/>
|
||||||
|
<source>List of contributors on GitHub</source>
|
||||||
|
<translation>கிதுபில் பங்களிப்பாளர்களின் பட்டியல்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../aboutdialog.cpp" line="82"/>
|
||||||
|
<source>Thanks to all people who contributed to this project.</source>
|
||||||
|
<translation>இந்த திட்டத்திற்கு பங்களித்த அனைத்து மக்களுக்கும் நன்றி.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../aboutdialog.cpp" line="86"/>
|
||||||
|
<source>Translators</source>
|
||||||
|
<translation>மொழிபெயர்ப்பாளர்கள்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../aboutdialog.cpp" line="87"/>
|
||||||
|
<source>I would like to thank the following people who volunteered to translate this application.</source>
|
||||||
|
<translation>இந்த விண்ணப்பத்தை மொழிபெயர்க்க முன்வந்த பின்வரும் நபர்களுக்கு நன்றி தெரிவிக்க விரும்புகிறேன்.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../aboutdialog.cpp" line="131"/>
|
||||||
|
<source>%1 is built on the following free software libraries:</source>
|
||||||
|
<comment>Free as in freedom</comment>
|
||||||
|
<translation>%1 பின்வரும் இலவச மென்பொருள் நூலகங்களில் கட்டப்பட்டுள்ளது:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../aboutdialog.cpp" line="155"/>
|
||||||
|
<source>&Special Thanks</source>
|
||||||
|
<translation>& சிறப்பு நன்றி</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../aboutdialog.cpp" line="157"/>
|
||||||
|
<source>&Third-party Libraries</source>
|
||||||
|
<translation>மூன்றாம் தரப்பு நூலகங்கள்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../aboutdialog.cpp" line="93"/>
|
||||||
|
<source>Your Rights</source>
|
||||||
|
<translation>உங்கள் உரிமைகள்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../aboutdialog.cpp" line="63"/>
|
||||||
|
<source>Copyright (c) %1 %2</source>
|
||||||
|
<comment>%1 is year, %2 is the name of copyright holder(s)</comment>
|
||||||
|
<translation>பதிப்புரிமை (சி) %1 %2</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../aboutdialog.cpp" line="95"/>
|
||||||
|
<source>%1 is released under the MIT License.</source>
|
||||||
|
<translation>%1 எம்ஐடி உரிமத்தின் கீழ் வெளியிடப்படுகிறது.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../aboutdialog.cpp" line="96"/>
|
||||||
|
<source>This license grants people a number of freedoms:</source>
|
||||||
|
<translation>இந்த உரிமம் மக்களுக்கு பல சுதந்திரங்களை வழங்குகிறது:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../aboutdialog.cpp" line="97"/>
|
||||||
|
<source>You are free to use %1, for any purpose</source>
|
||||||
|
<translation>எந்தவொரு நோக்கத்திற்காகவும் நீங்கள் %1 ஐப் பயன்படுத்த இலவசம்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../aboutdialog.cpp" line="98"/>
|
||||||
|
<source>You are free to distribute %1</source>
|
||||||
|
<translation>%1 ஐ விநியோகிக்க நீங்கள் இலவசம்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../aboutdialog.cpp" line="99"/>
|
||||||
|
<source>You can study how %1 works and change it</source>
|
||||||
|
<translation>%1 எவ்வாறு செயல்படுகிறது என்பதைப் படித்து அதை மாற்றலாம்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../aboutdialog.cpp" line="100"/>
|
||||||
|
<source>You can distribute changed versions of %1</source>
|
||||||
|
<translation>மாற்றப்பட்ட பதிப்புகளை %1 இன் விநியோகிக்கலாம்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../aboutdialog.cpp" line="102"/>
|
||||||
|
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
|
||||||
|
<translation>எம்ஐடி உரிமம் இந்த சுதந்திரத்தை உங்களுக்கு பொறுப்பு செய்கிறது. அதை எடுத்துச் செல்ல யாரும் அனுமதிக்கப்படுவதில்லை.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../aboutdialog.cpp" line="130"/>
|
||||||
|
<source>Third-party Libraries used by %1</source>
|
||||||
|
<translation>%1 ஆல் பயன்படுத்தப்படும் மூன்றாம் தரப்பு நூலகங்கள்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../aboutdialog.cpp" line="153"/>
|
||||||
|
<source>&Help</source>
|
||||||
|
<translation>உதவி (&h)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../aboutdialog.cpp" line="154"/>
|
||||||
|
<source>&About</source>
|
||||||
|
<translation>&பற்றி</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../aboutdialog.cpp" line="156"/>
|
||||||
|
<source>&License</source>
|
||||||
|
<translation>& உரிமம்</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>GraphicsScene</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="276"/>
|
||||||
|
<location filename="../graphicsscene.cpp" line="100"/>
|
||||||
|
<source>Drag image here</source>
|
||||||
|
<translation>படத்தை இங்கே இழுக்கவும்</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>GraphicsView</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../graphicsview.cpp" line="50"/>
|
||||||
|
<source>File is not a valid image</source>
|
||||||
|
<translation>கோப்பு சரியான படம் அல்ல</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../graphicsview.cpp" line="54"/>
|
||||||
|
<location filename="../graphicsview.cpp" line="58"/>
|
||||||
|
<source>Image data is invalid or currently unsupported</source>
|
||||||
|
<translation>படத் தரவு தவறானது அல்லது தற்போது ஆதரிக்கப்படாதது</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>MainWindow</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="181"/>
|
||||||
|
<location filename="../mainwindow.cpp" line="545"/>
|
||||||
|
<source>File url list is empty</source>
|
||||||
|
<translation>கோப்பு முகவரி பட்டியல் காலியாக உள்ளது</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="445"/>
|
||||||
|
<source>&Copy</source>
|
||||||
|
<translation>நகலெடு (&c)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="553"/>
|
||||||
|
<source>Image data is invalid</source>
|
||||||
|
<translation>படத் தரவு தவறானது</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="560"/>
|
||||||
|
<source>Not supported mimedata: %1</source>
|
||||||
|
<translation>மைமெடாட்டாவை ஆதரிக்கவில்லை: %1</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="759"/>
|
||||||
|
<source>Image From Clipboard</source>
|
||||||
|
<translation>கிளிப்போர்டிலிருந்து படம்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="777"/>
|
||||||
|
<source>Are you sure you want to move "%1" to recycle bin?</source>
|
||||||
|
<translation>பின் மறுசுழற்சி செய்ய "%1" ஐ நகர்த்த விரும்புகிறீர்களா?</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="781"/>
|
||||||
|
<source>Failed to move file to trash</source>
|
||||||
|
<translation>கோப்பை குப்பைக்கு நகர்த்துவதில் தோல்வி</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="782"/>
|
||||||
|
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
|
||||||
|
<translation>குப்பைக்கு நகர்வது தோல்வியுற்றது, இது கோப்பு இசைவு சிக்கல், கோப்பு முறைமை வரம்பு அல்லது இயங்குதள வரம்பு ஆகியவற்றால் ஏற்படலாம்.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../actionmanager.cpp" line="114"/>
|
||||||
|
<source>Copy P&ixmap</source>
|
||||||
|
<translation>பி & ஐஎக்ச்மேப்பை நகலெடுக்கவும்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../actionmanager.cpp" line="115"/>
|
||||||
|
<source>Copy &File Path</source>
|
||||||
|
<translation>கோப்பு பாதையை நகலெடுக்கவும்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../actionmanager.cpp" line="133"/>
|
||||||
|
<source>Properties</source>
|
||||||
|
<translation>பண்புகள்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../actionmanager.cpp" line="118"/>
|
||||||
|
<location filename="../aboutdialog.cpp" line="41"/>
|
||||||
|
<source>Stay on top</source>
|
||||||
|
<translation>மேலே இருங்கள்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../actionmanager.cpp" line="119"/>
|
||||||
|
<location filename="../aboutdialog.cpp" line="44"/>
|
||||||
|
<source>Protected mode</source>
|
||||||
|
<translation>பாதுகாக்கப்பட்ட பயன்முறை</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../actionmanager.cpp" line="120"/>
|
||||||
|
<location filename="../aboutdialog.cpp" line="47"/>
|
||||||
|
<source>Keep transformation</source>
|
||||||
|
<comment>The 'transformation' means the flip/rotation status that currently applied to the image view</comment>
|
||||||
|
<translation>மாற்றத்தைத் தொடருங்கள்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../actionmanager.cpp" line="99"/>
|
||||||
|
<source>Zoom in</source>
|
||||||
|
<translation>பெரிதாக்கு</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../actionmanager.cpp" line="100"/>
|
||||||
|
<source>Zoom out</source>
|
||||||
|
<translation>சிறிதாக்கு</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../actionmanager.cpp" line="108"/>
|
||||||
|
<source>Pause/Resume Animation</source>
|
||||||
|
<translation>இடைநிறுத்தம்/அனிமேசனை மீண்டும் தொடங்குங்கள்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../actionmanager.cpp" line="109"/>
|
||||||
|
<source>Animation Go to Next Frame</source>
|
||||||
|
<translation>அனிமேசன் அடுத்த சட்டகத்திற்குச் செல்லுங்கள்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../actionmanager.cpp" line="111"/>
|
||||||
|
<source>Flip &Horizontally</source>
|
||||||
|
<translation>கிடைமட்டமாக புரட்டவும்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../actionmanager.cpp" line="112"/>
|
||||||
|
<source>Fit to view</source>
|
||||||
|
<translation>பார்க்க பொருத்தமானது</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../actionmanager.cpp" line="113"/>
|
||||||
|
<source>Fit to width</source>
|
||||||
|
<translation>அகலத்திற்கு ஏற்றது</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../actionmanager.cpp" line="116"/>
|
||||||
|
<source>&Paste</source>
|
||||||
|
<translation>ஒட்டு (&p)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../actionmanager.cpp" line="101"/>
|
||||||
|
<source>Toggle Checkerboard</source>
|
||||||
|
<translation>செக்கர்போர்டை மாற்றவும்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../actionmanager.cpp" line="95"/>
|
||||||
|
<source>&Open...</source>
|
||||||
|
<translation>& திறந்த ...</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../actionmanager.cpp" line="97"/>
|
||||||
|
<source>Actual size</source>
|
||||||
|
<translation>உண்மையான அளவு</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../actionmanager.cpp" line="98"/>
|
||||||
|
<source>Toggle maximize</source>
|
||||||
|
<translation>அதிகபட்சத்தை மாற்றவும்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../actionmanager.cpp" line="102"/>
|
||||||
|
<source>Rotate right</source>
|
||||||
|
<translation>வலதுபுறம் சுழற்றுங்கள்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../actionmanager.cpp" line="103"/>
|
||||||
|
<source>Rotate left</source>
|
||||||
|
<translation>இடதுபுறம் சுழலும்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../actionmanager.cpp" line="105"/>
|
||||||
|
<source>Previous image</source>
|
||||||
|
<translation>முந்தைய படம்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../actionmanager.cpp" line="106"/>
|
||||||
|
<source>Next image</source>
|
||||||
|
<translation>அடுத்த படம்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="776"/>
|
||||||
|
<location filename="../actionmanager.cpp" line="117"/>
|
||||||
|
<source>Move to Trash</source>
|
||||||
|
<translation>குப்பைக்கு நகர்த்தவும்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../actionmanager.cpp" line="121"/>
|
||||||
|
<source>Configure...</source>
|
||||||
|
<translation>உள்ளமைக்கவும் ...</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../actionmanager.cpp" line="122"/>
|
||||||
|
<source>Help</source>
|
||||||
|
<translation>உதவி</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../actionmanager.cpp" line="125"/>
|
||||||
|
<source>Show in File Explorer</source>
|
||||||
|
<comment>File Explorer is the name of explorer.exe under Windows</comment>
|
||||||
|
<translation>கோப்பு எக்ச்ப்ளோரரில் காண்பி</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../actionmanager.cpp" line="131"/>
|
||||||
|
<source>Show in directory</source>
|
||||||
|
<translation>கோப்பகத்தில் காட்டு</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../actionmanager.cpp" line="134"/>
|
||||||
|
<source>Quit</source>
|
||||||
|
<translation>வெளியேறு</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>MetadataDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatadialog.cpp" line="84"/>
|
||||||
|
<source>Image Metadata</source>
|
||||||
|
<translation>பட மேனிலை தரவு</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>MetadataModel</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="43"/>
|
||||||
|
<source>Origin</source>
|
||||||
|
<comment>Section name.</comment>
|
||||||
|
<translation>தோற்றம்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="44"/>
|
||||||
|
<source>Image</source>
|
||||||
|
<comment>Section name.</comment>
|
||||||
|
<translation>படம்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="48"/>
|
||||||
|
<source>File</source>
|
||||||
|
<comment>Section name.</comment>
|
||||||
|
<translation>கோப்பு</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="45"/>
|
||||||
|
<source>Camera</source>
|
||||||
|
<comment>Section name.</comment>
|
||||||
|
<translation>கேமரா</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="35"/>
|
||||||
|
<source>%1 File</source>
|
||||||
|
<translation>%1 கோப்பு</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="42"/>
|
||||||
|
<source>Description</source>
|
||||||
|
<comment>Section name.</comment>
|
||||||
|
<translation>விவரம்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="46"/>
|
||||||
|
<source>Advanced photo</source>
|
||||||
|
<comment>Section name.</comment>
|
||||||
|
<translation>மேம்பட்ட புகைப்படம்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="47"/>
|
||||||
|
<source>GPS</source>
|
||||||
|
<comment>Section name.</comment>
|
||||||
|
<translation>உலக இடம் காட்டும் அமைப்பு</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="52"/>
|
||||||
|
<source>Dimensions</source>
|
||||||
|
<translation>பரிமாணங்கள்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="54"/>
|
||||||
|
<source>Aspect ratio</source>
|
||||||
|
<translation>அம்ச விகிதம்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="58"/>
|
||||||
|
<source>Frame count</source>
|
||||||
|
<translation>சட்ட எண்ணிக்கை</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="62"/>
|
||||||
|
<source>Name</source>
|
||||||
|
<translation>பெயர்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="64"/>
|
||||||
|
<source>Item type</source>
|
||||||
|
<translation>உருப்படி வகை</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="66"/>
|
||||||
|
<source>Folder path</source>
|
||||||
|
<translation>கோப்புறை பாதை</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="68"/>
|
||||||
|
<source>Size</source>
|
||||||
|
<translation>அளவு</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="70"/>
|
||||||
|
<source>Date created</source>
|
||||||
|
<translation>தேதி உருவாக்கப்பட்டது</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="72"/>
|
||||||
|
<source>Date modified</source>
|
||||||
|
<translation>தேதி மாற்றியமைக்கப்பட்டது</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="79"/>
|
||||||
|
<source>Title</source>
|
||||||
|
<translation>தலைப்பு</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="81"/>
|
||||||
|
<source>Subject</source>
|
||||||
|
<translation>பொருள்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="83"/>
|
||||||
|
<source>Rating</source>
|
||||||
|
<translation>செயல்வரம்பு</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="85"/>
|
||||||
|
<source>Tags</source>
|
||||||
|
<translation>குறிச்சொற்கள்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="87"/>
|
||||||
|
<source>Comments</source>
|
||||||
|
<translation>கருத்துகள்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="90"/>
|
||||||
|
<source>Authors</source>
|
||||||
|
<translation>ஆசிரியர்கள்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="92"/>
|
||||||
|
<source>Date taken</source>
|
||||||
|
<translation>எடுக்கப்பட்ட தேதி</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="98"/>
|
||||||
|
<source>Program name</source>
|
||||||
|
<translation>நிரல் பெயர்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="100"/>
|
||||||
|
<source>Copyright</source>
|
||||||
|
<translation>பதிப்புரிமை</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="103"/>
|
||||||
|
<source>Horizontal resolution</source>
|
||||||
|
<translation>கிடைமட்ட தீர்மானம்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="105"/>
|
||||||
|
<source>Vertical resolution</source>
|
||||||
|
<translation>செங்குத்து தீர்மானம்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="107"/>
|
||||||
|
<source>Resolution unit</source>
|
||||||
|
<translation>தெளிவுத்திறன் அலகு</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="109"/>
|
||||||
|
<source>Colour representation</source>
|
||||||
|
<translation>வண்ண பிரதிநிதித்துவம்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="112"/>
|
||||||
|
<source>Camera maker</source>
|
||||||
|
<translation>கேமரா தயாரிப்பாளர்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="114"/>
|
||||||
|
<source>Camera model</source>
|
||||||
|
<translation>கேமரா மாதிரி</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="116"/>
|
||||||
|
<source>F-stop</source>
|
||||||
|
<translation>எஃப்-ச்டாப்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="118"/>
|
||||||
|
<source>Exposure time</source>
|
||||||
|
<translation>நேரிடுதல் காலம்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="120"/>
|
||||||
|
<source>ISO speed</source>
|
||||||
|
<translation>ஐஎச்ஓ விரைவு</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="122"/>
|
||||||
|
<source>Exposure bias</source>
|
||||||
|
<translation>வெளிப்பாடு சார்பு</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="124"/>
|
||||||
|
<source>Focal length</source>
|
||||||
|
<translation>குவிநீளம், குவியத் தொலைவு</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="126"/>
|
||||||
|
<source>Max aperture</source>
|
||||||
|
<translation>அதிகபட்ச துளை</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="128"/>
|
||||||
|
<source>Metering mode</source>
|
||||||
|
<translation>அளவீட்டு முறை</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="130"/>
|
||||||
|
<source>Subject distance</source>
|
||||||
|
<translation>பொருள் தூரம்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="132"/>
|
||||||
|
<source>Flash mode</source>
|
||||||
|
<translation>ஃபிளாச் பயன்முறை</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="134"/>
|
||||||
|
<source>35mm focal length</source>
|
||||||
|
<translation>35 மிமீ குவிய நீளம்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="137"/>
|
||||||
|
<source>Lens model</source>
|
||||||
|
<translation>லென்ச் மாதிரி</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="139"/>
|
||||||
|
<source>Contrast</source>
|
||||||
|
<translation>மாறுபாடு</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="141"/>
|
||||||
|
<source>Brightness</source>
|
||||||
|
<translation>ஒளி</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="143"/>
|
||||||
|
<source>Exposure program</source>
|
||||||
|
<translation>வெளிப்பாடு திட்டம்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="145"/>
|
||||||
|
<source>Saturation</source>
|
||||||
|
<translation>தெவிட்டல்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="147"/>
|
||||||
|
<source>Sharpness</source>
|
||||||
|
<translation>கூர்மையானது</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="149"/>
|
||||||
|
<source>White balance</source>
|
||||||
|
<translation>வெள்ளை இருப்பு</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="151"/>
|
||||||
|
<source>Digital zoom</source>
|
||||||
|
<translation>டிசிட்டல் சூம்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="153"/>
|
||||||
|
<source>EXIF version</source>
|
||||||
|
<translation>Exif பதிப்பு</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="156"/>
|
||||||
|
<source>Latitude reference</source>
|
||||||
|
<translation>அட்சரேகை குறிப்பு</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="158"/>
|
||||||
|
<source>Latitude</source>
|
||||||
|
<translation>அகலாங்கு</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="160"/>
|
||||||
|
<source>Longitude reference</source>
|
||||||
|
<translation>தீர்க்கரேகை குறிப்பு</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="162"/>
|
||||||
|
<source>Longitude</source>
|
||||||
|
<translation>நெட்டாங்கு</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="164"/>
|
||||||
|
<source>Altitude reference</source>
|
||||||
|
<translation>உயர குறிப்பு</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="166"/>
|
||||||
|
<source>Altitude</source>
|
||||||
|
<translation>குத்துயரம்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="176"/>
|
||||||
|
<source>%1 x %2</source>
|
||||||
|
<translation>%1 ஃச் %2</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="194"/>
|
||||||
|
<source>%1 : %2</source>
|
||||||
|
<translation>%1: %2</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="319"/>
|
||||||
|
<source>Property</source>
|
||||||
|
<translation>சொத்து</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../metadatamodel.cpp" line="319"/>
|
||||||
|
<source>Value</source>
|
||||||
|
<translation>மதிப்பு</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>SettingsDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="31"/>
|
||||||
|
<source>Settings</source>
|
||||||
|
<translation>அமைப்புகள்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="39"/>
|
||||||
|
<source>Options</source>
|
||||||
|
<translation>விருப்பங்கள்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="51"/>
|
||||||
|
<source>Shortcuts</source>
|
||||||
|
<translation>குறுக்குவழிகள்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="61"/>
|
||||||
|
<source>Editing shortcuts for action "%1":</source>
|
||||||
|
<translation>செயலுக்கான குறுக்குவழிகளைத் திருத்துதல் "%1":</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="70"/>
|
||||||
|
<source>Failed to set shortcuts</source>
|
||||||
|
<translation>குறுக்குவழிகளை அமைப்பதில் தோல்வி</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="71"/>
|
||||||
|
<source>Please check if shortcuts are duplicated with existing shortcuts.</source>
|
||||||
|
<translation>தற்போதுள்ள குறுக்குவழிகளுடன் குறுக்குவழிகள் நகல் செய்யப்பட்டுள்ளதா என்று சரிபார்க்கவும்.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="78"/>
|
||||||
|
<source>Do nothing</source>
|
||||||
|
<translation>எதுவும் செய்ய வேண்டாம்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="79"/>
|
||||||
|
<source>Close the window</source>
|
||||||
|
<translation>சாளரத்தை மூடு</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="80"/>
|
||||||
|
<source>Toggle maximize</source>
|
||||||
|
<translation>அதிகபட்சத்தை மாற்றவும்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="81"/>
|
||||||
|
<source>Toggle fullscreen</source>
|
||||||
|
<translation>மாற்று முழுத்திரை</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="85"/>
|
||||||
|
<source>Zoom in and out</source>
|
||||||
|
<translation>உள்ளேயும் வெளியேயும் பெரிதாக்கவும்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="86"/>
|
||||||
|
<source>View next or previous item</source>
|
||||||
|
<translation>அடுத்த அல்லது முந்தைய உருப்படியைக் காண்க</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="90"/>
|
||||||
|
<source>Auto size</source>
|
||||||
|
<translation>வாகன அளவு</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="91"/>
|
||||||
|
<source>Maximized</source>
|
||||||
|
<translation>அதிகபட்சம்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="92"/>
|
||||||
|
<source>Windowed</source>
|
||||||
|
<translation>சாளரம்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="96"/>
|
||||||
|
<source>Round (Integer scaling)</source>
|
||||||
|
<comment>This option means round up for .5 and above</comment>
|
||||||
|
<translation>சுற்று (முழு எண் அளவிடுதல்)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="97"/>
|
||||||
|
<source>Ceil (Integer scaling)</source>
|
||||||
|
<comment>This option means always round up</comment>
|
||||||
|
<translation>சீல் (முழு எண் அளவிடுதல்)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="98"/>
|
||||||
|
<source>Floor (Integer scaling)</source>
|
||||||
|
<comment>This option means always round down</comment>
|
||||||
|
<translation>மாடி (முழு எண் அளவிடுதல்)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="99"/>
|
||||||
|
<source>Follow system (Fractional scaling)</source>
|
||||||
|
<comment>This option means don't round</comment>
|
||||||
|
<translation>கணினியைப் பின்பற்றவும் (பகுதியளவு அளவிடுதல்)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="122"/>
|
||||||
|
<source>Stay on top when start-up</source>
|
||||||
|
<translation>தொடக்கத்தில் இருக்கும்போது மேலே இருங்கள்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="123"/>
|
||||||
|
<source>Use built-in close window animation</source>
|
||||||
|
<translation>உள்ளமைக்கப்பட்ட நெருக்கமான சாளர அனிமேஷனைப் பயன்படுத்தவும்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="124"/>
|
||||||
|
<source>Use light-color checkerboard</source>
|
||||||
|
<translation>ஒளி-வண்ண செக்கர்போர்டைப் பயன்படுத்தவும்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="125"/>
|
||||||
|
<source>Loop the loaded gallery</source>
|
||||||
|
<translation>ஏற்றப்பட்ட கேலரியை சுற்றுங்கள்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="126"/>
|
||||||
|
<source>Double-click behavior</source>
|
||||||
|
<translation>நடத்தை இருமுறை சொடுக்கு செய்யவும்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="127"/>
|
||||||
|
<source>Mouse wheel behavior</source>
|
||||||
|
<translation>சுட்டி சக்கர நடத்தை</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="128"/>
|
||||||
|
<source>Default window size</source>
|
||||||
|
<translation>இயல்புநிலை சாளர அளவு</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="129"/>
|
||||||
|
<source>HiDPI scale factor rounding policy</source>
|
||||||
|
<translation>HIDPI அளவிலான காரணி ரவுண்டிங் கொள்கை</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>ShortcutEdit</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../shortcutedit.cpp" line="109"/>
|
||||||
|
<source>No shortcuts</source>
|
||||||
|
<translation>குறுக்குவழிகள் இல்லை</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>ShortcutEditor</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../shortcutedit.cpp" line="75"/>
|
||||||
|
<source>Shortcut #%1</source>
|
||||||
|
<translation>குறுக்குவழி #%1</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>main</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../main.cpp" line="42"/>
|
||||||
|
<source>Pineapple Pictures</source>
|
||||||
|
<translation>அன்னாசி படங்கள்</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../main.cpp" line="45"/>
|
||||||
|
<source>List supported image format suffixes, and quit program.</source>
|
||||||
|
<translation>ஆதரிக்கப்பட்ட பட வடிவமைப்பு பின்னொட்டுகளை பட்டியலிடுங்கள், மற்றும் நிரல் வெளியேறுதல்.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../main.cpp" line="49"/>
|
||||||
|
<source>File list.</source>
|
||||||
|
<translation>கோப்பு பட்டியல்.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
||||||
@@ -4,42 +4,42 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>AboutDialog</name>
|
<name>AboutDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="27"/>
|
<location filename="../aboutdialog.cpp" line="29"/>
|
||||||
<source>About</source>
|
<source>About</source>
|
||||||
<translation>Hakkında</translation>
|
<translation>Hakkında</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="30"/>
|
<location filename="../aboutdialog.cpp" line="32"/>
|
||||||
<source>Launch application with image file path as argument to load the file.</source>
|
<source>Launch application with image file path as argument to load the file.</source>
|
||||||
<translation>Dosyayı yüklemek için değişken olarak resim dosyası yolu ile uygulamayı çalıştır.</translation>
|
<translation>Dosyayı yüklemek için değişken olarak resim dosyası yolu ile uygulamayı çalıştır.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="31"/>
|
<location filename="../aboutdialog.cpp" line="33"/>
|
||||||
<source>Drag and drop image file onto the window is also supported.</source>
|
<source>Drag and drop image file onto the window is also supported.</source>
|
||||||
<translation>Pencere üzerine resim dosyası sürükle bırak ta destekleniyor.</translation>
|
<translation>Pencere üzerine resim dosyası sürükle bırak ta destekleniyor.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="32"/>
|
<location filename="../aboutdialog.cpp" line="34"/>
|
||||||
<source>None of the operations in this application will alter the pictures on disk.</source>
|
<source>None of the operations in this application will alter the pictures on disk.</source>
|
||||||
<translation>Bu uygulamadaki işlemlerin hiçbiri diskteki resimleri değiştirmeyecektir.</translation>
|
<translation>Bu uygulamadaki işlemlerin hiçbiri diskteki resimleri değiştirmeyecektir.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="33"/>
|
<location filename="../aboutdialog.cpp" line="35"/>
|
||||||
<source>Context menu option explanation:</source>
|
<source>Context menu option explanation:</source>
|
||||||
<translation>İçerik menüsü seçeneği açıklaması:</translation>
|
<translation>İçerik menüsü seçeneği açıklaması:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="40"/>
|
<location filename="../aboutdialog.cpp" line="42"/>
|
||||||
<source>Make window stay on top of all other windows.</source>
|
<source>Make window stay on top of all other windows.</source>
|
||||||
<translation>Pencereyi diğer tüm pencerelerin üzerinde tut.</translation>
|
<translation>Pencereyi diğer tüm pencerelerin üzerinde tut.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="43"/>
|
<location filename="../aboutdialog.cpp" line="45"/>
|
||||||
<source>Avoid close window accidentally. (eg. by double clicking the window)</source>
|
<source>Avoid close window accidentally. (eg. by double clicking the window)</source>
|
||||||
<translation>Pencereyi yanlışlıkla kapatmaktan kaçın. (örn. pencereye çift tıklayarak)</translation>
|
<translation>Pencereyi yanlışlıkla kapatmaktan kaçın. (örn. pencereye çift tıklayarak)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="53"/>
|
<location filename="../aboutdialog.cpp" line="55"/>
|
||||||
<source>Version: %1</source>
|
<source>Version: %1</source>
|
||||||
<translation>Sürüm: %1</translation>
|
<translation>Sürüm: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -48,129 +48,129 @@
|
|||||||
<translation type="vanished">Telif hakkı (c) 2020 %1</translation>
|
<translation type="vanished">Telif hakkı (c) 2020 %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="64"/>
|
<location filename="../aboutdialog.cpp" line="66"/>
|
||||||
<source>Logo designed by %1</source>
|
<source>Logo designed by %1</source>
|
||||||
<translation>Logo tasarımcısı: %1</translation>
|
<translation>Logo tasarımcısı: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="66"/>
|
<location filename="../aboutdialog.cpp" line="68"/>
|
||||||
<source>Built with Qt %1 (%2)</source>
|
<source>Built with Qt %1 (%2)</source>
|
||||||
<translation>Qt %1 (%2) ile inşa edilmiştir</translation>
|
<translation>Qt %1 (%2) ile inşa edilmiştir</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="67"/>
|
<location filename="../aboutdialog.cpp" line="69"/>
|
||||||
<source>Source code</source>
|
<source>Source code</source>
|
||||||
<translation>Kaynak kodu</translation>
|
<translation>Kaynak kodu</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="77"/>
|
<location filename="../aboutdialog.cpp" line="79"/>
|
||||||
<source>Contributors</source>
|
<source>Contributors</source>
|
||||||
<translation>Katkıda bulunanlar</translation>
|
<translation>Katkıda bulunanlar</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="79"/>
|
<location filename="../aboutdialog.cpp" line="81"/>
|
||||||
<source>List of contributors on GitHub</source>
|
<source>List of contributors on GitHub</source>
|
||||||
<translation>Github üzerindeki katkı sağlayıcıların listesi</translation>
|
<translation>Github üzerindeki katkı sağlayıcıların listesi</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="80"/>
|
<location filename="../aboutdialog.cpp" line="82"/>
|
||||||
<source>Thanks to all people who contributed to this project.</source>
|
<source>Thanks to all people who contributed to this project.</source>
|
||||||
<translation>Bu projeye katkı sağlayan herkese teşekkürler.</translation>
|
<translation>Bu projeye katkı sağlayan herkese teşekkürler.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="84"/>
|
<location filename="../aboutdialog.cpp" line="86"/>
|
||||||
<source>Translators</source>
|
<source>Translators</source>
|
||||||
<translation>Çevirmenler</translation>
|
<translation>Çevirmenler</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="85"/>
|
<location filename="../aboutdialog.cpp" line="87"/>
|
||||||
<source>I would like to thank the following people who volunteered to translate this application.</source>
|
<source>I would like to thank the following people who volunteered to translate this application.</source>
|
||||||
<translation>Bu uygulamayı çevirmeye gönüllü olan aşağıdaki kişilere teşekkür etmek istiyorum.</translation>
|
<translation>Bu uygulamayı çevirmeye gönüllü olan aşağıdaki kişilere teşekkür etmek istiyorum.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="129"/>
|
<location filename="../aboutdialog.cpp" line="131"/>
|
||||||
<source>%1 is built on the following free software libraries:</source>
|
<source>%1 is built on the following free software libraries:</source>
|
||||||
<comment>Free as in freedom</comment>
|
<comment>Free as in freedom</comment>
|
||||||
<translation>%1 aşağıdaki özgür yazılım kitaplıkları üzerinde inşa edilmiştir:</translation>
|
<translation>%1 aşağıdaki özgür yazılım kitaplıkları üzerinde inşa edilmiştir:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="153"/>
|
<location filename="../aboutdialog.cpp" line="155"/>
|
||||||
<source>&Special Thanks</source>
|
<source>&Special Thanks</source>
|
||||||
<translation>Özel %Teşekkürler</translation>
|
<translation>Özel %Teşekkürler</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="155"/>
|
<location filename="../aboutdialog.cpp" line="157"/>
|
||||||
<source>&Third-party Libraries</source>
|
<source>&Third-party Libraries</source>
|
||||||
<translation>Üçüncü Par&ti Kitaplıklar</translation>
|
<translation>Üçüncü Par&ti Kitaplıklar</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="91"/>
|
<location filename="../aboutdialog.cpp" line="93"/>
|
||||||
<source>Your Rights</source>
|
<source>Your Rights</source>
|
||||||
<translation>Haklarınız</translation>
|
<translation>Haklarınız</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="46"/>
|
<location filename="../aboutdialog.cpp" line="48"/>
|
||||||
<source>Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.</source>
|
<source>Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.</source>
|
||||||
<translation>Resimler arasında geçiş yaparken resim görünümüne uygulanan yakınlaştırma/döndürme/çevirme durumu sıfırlanmasın.</translation>
|
<translation>Resimler arasında geçiş yaparken resim görünümüne uygulanan yakınlaştırma/döndürme/çevirme durumu sıfırlanmasın.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="61"/>
|
<location filename="../aboutdialog.cpp" line="63"/>
|
||||||
<source>Copyright (c) %1 %2</source>
|
<source>Copyright (c) %1 %2</source>
|
||||||
<comment>%1 is year, %2 is the name of copyright holder(s)</comment>
|
<comment>%1 is year, %2 is the name of copyright holder(s)</comment>
|
||||||
<translation>Telif Hakkı (c) %1 %2</translation>
|
<translation>Telif Hakkı (c) %1 %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="93"/>
|
<location filename="../aboutdialog.cpp" line="95"/>
|
||||||
<source>%1 is released under the MIT License.</source>
|
<source>%1 is released under the MIT License.</source>
|
||||||
<translation>%1, MIT Lisansı altında sunulmuştur.</translation>
|
<translation>%1, MIT Lisansı altında sunulmuştur.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="94"/>
|
<location filename="../aboutdialog.cpp" line="96"/>
|
||||||
<source>This license grants people a number of freedoms:</source>
|
<source>This license grants people a number of freedoms:</source>
|
||||||
<translation>Bu lisans birkaç özgürlüğü kişilere veriyor:</translation>
|
<translation>Bu lisans birkaç özgürlüğü kişilere veriyor:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="95"/>
|
<location filename="../aboutdialog.cpp" line="97"/>
|
||||||
<source>You are free to use %1, for any purpose</source>
|
<source>You are free to use %1, for any purpose</source>
|
||||||
<translation>%1'i herhangi bir amaç için kullanmakta özgürsünüz</translation>
|
<translation>%1'i herhangi bir amaç için kullanmakta özgürsünüz</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="96"/>
|
<location filename="../aboutdialog.cpp" line="98"/>
|
||||||
<source>You are free to distribute %1</source>
|
<source>You are free to distribute %1</source>
|
||||||
<translation>%1'i dağıtmakta özgürsünüz</translation>
|
<translation>%1'i dağıtmakta özgürsünüz</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="97"/>
|
<location filename="../aboutdialog.cpp" line="99"/>
|
||||||
<source>You can study how %1 works and change it</source>
|
<source>You can study how %1 works and change it</source>
|
||||||
<translation>%1'in nasıl çalıştığıyla ilgili çalışabilir ve onu değiştirebilirsiniz</translation>
|
<translation>%1'in nasıl çalıştığıyla ilgili çalışabilir ve onu değiştirebilirsiniz</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="98"/>
|
<location filename="../aboutdialog.cpp" line="100"/>
|
||||||
<source>You can distribute changed versions of %1</source>
|
<source>You can distribute changed versions of %1</source>
|
||||||
<translation>%1'in değiştirilmiş sürümünü dağıtabilirsiniz</translation>
|
<translation>%1'in değiştirilmiş sürümünü dağıtabilirsiniz</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="100"/>
|
<location filename="../aboutdialog.cpp" line="102"/>
|
||||||
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
|
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
|
||||||
<translation>MIT lisansı özgürlüğünüzü garanti eder. Hiç kimsenin özgürlüğünüzü sizden almasına bile izin verilmez.</translation>
|
<translation>MIT lisansı özgürlüğünüzü garanti eder. Hiç kimsenin özgürlüğünüzü sizden almasına bile izin verilmez.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="128"/>
|
<location filename="../aboutdialog.cpp" line="130"/>
|
||||||
<source>Third-party Libraries used by %1</source>
|
<source>Third-party Libraries used by %1</source>
|
||||||
<translation>%1 tarafından kullanılan Üçüncü Parti Kitaplıklar</translation>
|
<translation>%1 tarafından kullanılan Üçüncü Parti Kitaplıklar</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="151"/>
|
<location filename="../aboutdialog.cpp" line="153"/>
|
||||||
<source>&Help</source>
|
<source>&Help</source>
|
||||||
<translation>&Yardım</translation>
|
<translation>&Yardım</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="152"/>
|
<location filename="../aboutdialog.cpp" line="154"/>
|
||||||
<source>&About</source>
|
<source>&About</source>
|
||||||
<translation>H&akkında</translation>
|
<translation>H&akkında</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="154"/>
|
<location filename="../aboutdialog.cpp" line="156"/>
|
||||||
<source>&License</source>
|
<source>&License</source>
|
||||||
<translation>&Lisans</translation>
|
<translation>&Lisans</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -178,7 +178,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>GraphicsScene</name>
|
<name>GraphicsScene</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="269"/>
|
<location filename="../mainwindow.cpp" line="276"/>
|
||||||
<location filename="../graphicsscene.cpp" line="100"/>
|
<location filename="../graphicsscene.cpp" line="100"/>
|
||||||
<source>Drag image here</source>
|
<source>Drag image here</source>
|
||||||
<translation>Resmi buraya sürükleyin</translation>
|
<translation>Resmi buraya sürükleyin</translation>
|
||||||
@@ -191,13 +191,13 @@
|
|||||||
<translation type="vanished">Dosya URL listesi boş</translation>
|
<translation type="vanished">Dosya URL listesi boş</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../graphicsview.cpp" line="52"/>
|
<location filename="../graphicsview.cpp" line="50"/>
|
||||||
<source>File is not a valid image</source>
|
<source>File is not a valid image</source>
|
||||||
<translation>Dosya, geçerli bir resim değil</translation>
|
<translation>Dosya, geçerli bir resim değil</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../graphicsview.cpp" line="56"/>
|
<location filename="../graphicsview.cpp" line="54"/>
|
||||||
<location filename="../graphicsview.cpp" line="60"/>
|
<location filename="../graphicsview.cpp" line="58"/>
|
||||||
<source>Image data is invalid or currently unsupported</source>
|
<source>Image data is invalid or currently unsupported</source>
|
||||||
<translation>Resim verisi geçersiz veya şuan desteklenmiyor</translation>
|
<translation>Resim verisi geçersiz veya şuan desteklenmiyor</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -213,38 +213,43 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MainWindow</name>
|
<name>MainWindow</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="180"/>
|
<location filename="../mainwindow.cpp" line="181"/>
|
||||||
<location filename="../mainwindow.cpp" line="540"/>
|
<location filename="../mainwindow.cpp" line="545"/>
|
||||||
<source>File url list is empty</source>
|
<source>File url list is empty</source>
|
||||||
<translation>Dosya URL listesi boş</translation>
|
<translation>Dosya URL listesi boş</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="438"/>
|
<location filename="../mainwindow.cpp" line="445"/>
|
||||||
<source>&Copy</source>
|
<source>&Copy</source>
|
||||||
<translation>&Kopyala</translation>
|
<translation>&Kopyala</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="548"/>
|
<location filename="../mainwindow.cpp" line="553"/>
|
||||||
<source>Image data is invalid</source>
|
<source>Image data is invalid</source>
|
||||||
<translation>Resim verisi geçersiz</translation>
|
<translation>Resim verisi geçersiz</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="555"/>
|
<location filename="../mainwindow.cpp" line="560"/>
|
||||||
<source>Not supported mimedata: %1</source>
|
<source>Not supported mimedata: %1</source>
|
||||||
<translation>Desteklenmeyen dosya türü verisi: %1</translation>
|
<translation>Desteklenmeyen dosya türü verisi: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="764"/>
|
<location filename="../mainwindow.cpp" line="759"/>
|
||||||
<source>Image From Clipboard</source>
|
<source>Image From Clipboard</source>
|
||||||
<translation>Panodaki Resim</translation>
|
<translation>Panodaki Resim</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="782"/>
|
<location filename="../mainwindow.cpp" line="777"/>
|
||||||
<source>Are you sure you want to move "%1" to recycle bin?</source>
|
<source>Are you sure you want to move "%1" to recycle bin?</source>
|
||||||
<translation>"%1" ögesini geri dönüşüm kutusuna taşımak istediğinizden emin misiniz?</translation>
|
<translation>"%1" ögesini geri dönüşüm kutusuna taşımak istediğinizden emin misiniz?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="787"/>
|
<location filename="../mainwindow.cpp" line="781"/>
|
||||||
|
<source>Failed to move file to trash</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="782"/>
|
||||||
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
|
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
|
||||||
<translation>Çöp kutusuna taşıma başarısız oldu, dosya izin sorunu, dosya sistemi sınırlaması veya platform sınırlamasından kaynaklanıyor olabilir.</translation>
|
<translation>Çöp kutusuna taşıma başarısız oldu, dosya izin sorunu, dosya sistemi sınırlaması veya platform sınırlamasından kaynaklanıyor olabilir.</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -265,19 +270,19 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="118"/>
|
<location filename="../actionmanager.cpp" line="118"/>
|
||||||
<location filename="../aboutdialog.cpp" line="39"/>
|
<location filename="../aboutdialog.cpp" line="41"/>
|
||||||
<source>Stay on top</source>
|
<source>Stay on top</source>
|
||||||
<translation>Üstte tut</translation>
|
<translation>Üstte tut</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="119"/>
|
<location filename="../actionmanager.cpp" line="119"/>
|
||||||
<location filename="../aboutdialog.cpp" line="42"/>
|
<location filename="../aboutdialog.cpp" line="44"/>
|
||||||
<source>Protected mode</source>
|
<source>Protected mode</source>
|
||||||
<translation>Korumalı kip</translation>
|
<translation>Korumalı kip</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="120"/>
|
<location filename="../actionmanager.cpp" line="120"/>
|
||||||
<location filename="../aboutdialog.cpp" line="45"/>
|
<location filename="../aboutdialog.cpp" line="47"/>
|
||||||
<source>Keep transformation</source>
|
<source>Keep transformation</source>
|
||||||
<comment>The 'transformation' means the flip/rotation status that currently applied to the image view</comment>
|
<comment>The 'transformation' means the flip/rotation status that currently applied to the image view</comment>
|
||||||
<translation>Dönüşümü koru</translation>
|
<translation>Dönüşümü koru</translation>
|
||||||
@@ -295,12 +300,12 @@
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="108"/>
|
<location filename="../actionmanager.cpp" line="108"/>
|
||||||
<source>Pause/Resume Animation</source>
|
<source>Pause/Resume Animation</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Canlandırmayı Duraklat/Sürdür</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="109"/>
|
<location filename="../actionmanager.cpp" line="109"/>
|
||||||
<source>Animation Go to Next Frame</source>
|
<source>Animation Go to Next Frame</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Canlandırma Sonraki Kareye Git</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="111"/>
|
<location filename="../actionmanager.cpp" line="111"/>
|
||||||
@@ -363,7 +368,7 @@
|
|||||||
<translation>Sonraki resim</translation>
|
<translation>Sonraki resim</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="781"/>
|
<location filename="../mainwindow.cpp" line="776"/>
|
||||||
<location filename="../actionmanager.cpp" line="117"/>
|
<location filename="../actionmanager.cpp" line="117"/>
|
||||||
<source>Move to Trash</source>
|
<source>Move to Trash</source>
|
||||||
<translation>Çöp Kutusuna Taşı</translation>
|
<translation>Çöp Kutusuna Taşı</translation>
|
||||||
@@ -406,314 +411,314 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MetadataModel</name>
|
<name>MetadataModel</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="41"/>
|
<location filename="../metadatamodel.cpp" line="43"/>
|
||||||
<source>Origin</source>
|
<source>Origin</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Köken</translation>
|
<translation>Köken</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="42"/>
|
<location filename="../metadatamodel.cpp" line="44"/>
|
||||||
<source>Image</source>
|
<source>Image</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Resim</translation>
|
<translation>Resim</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="46"/>
|
<location filename="../metadatamodel.cpp" line="48"/>
|
||||||
<source>File</source>
|
<source>File</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Dosya</translation>
|
<translation>Dosya</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="43"/>
|
<location filename="../metadatamodel.cpp" line="45"/>
|
||||||
<source>Camera</source>
|
<source>Camera</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Kamera</translation>
|
<translation>Kamera</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="33"/>
|
<location filename="../metadatamodel.cpp" line="35"/>
|
||||||
<source>%1 File</source>
|
<source>%1 File</source>
|
||||||
<translation>%1 Dosya</translation>
|
<translation>%1 Dosya</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="40"/>
|
<location filename="../metadatamodel.cpp" line="42"/>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Açıklama</translation>
|
<translation>Açıklama</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="44"/>
|
<location filename="../metadatamodel.cpp" line="46"/>
|
||||||
<source>Advanced photo</source>
|
<source>Advanced photo</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Gelişmiş foto</translation>
|
<translation>Gelişmiş foto</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="45"/>
|
<location filename="../metadatamodel.cpp" line="47"/>
|
||||||
<source>GPS</source>
|
<source>GPS</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>GPS</translation>
|
<translation>GPS</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="50"/>
|
<location filename="../metadatamodel.cpp" line="52"/>
|
||||||
<source>Dimensions</source>
|
<source>Dimensions</source>
|
||||||
<translation>Boyutlar</translation>
|
<translation>Boyutlar</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="52"/>
|
<location filename="../metadatamodel.cpp" line="54"/>
|
||||||
<source>Aspect ratio</source>
|
<source>Aspect ratio</source>
|
||||||
<translation>En boy oranı</translation>
|
<translation>En boy oranı</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="56"/>
|
<location filename="../metadatamodel.cpp" line="58"/>
|
||||||
<source>Frame count</source>
|
<source>Frame count</source>
|
||||||
<translation>Kare sayısı</translation>
|
<translation>Kare sayısı</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="60"/>
|
<location filename="../metadatamodel.cpp" line="62"/>
|
||||||
<source>Name</source>
|
<source>Name</source>
|
||||||
<translation>Adı</translation>
|
<translation>Adı</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="62"/>
|
<location filename="../metadatamodel.cpp" line="64"/>
|
||||||
<source>Item type</source>
|
<source>Item type</source>
|
||||||
<translation>Öge türü</translation>
|
<translation>Öge türü</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="64"/>
|
<location filename="../metadatamodel.cpp" line="66"/>
|
||||||
<source>Folder path</source>
|
<source>Folder path</source>
|
||||||
<translation>Klasör yolu</translation>
|
<translation>Klasör yolu</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="66"/>
|
<location filename="../metadatamodel.cpp" line="68"/>
|
||||||
<source>Size</source>
|
<source>Size</source>
|
||||||
<translation>Boyut</translation>
|
<translation>Boyut</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="68"/>
|
<location filename="../metadatamodel.cpp" line="70"/>
|
||||||
<source>Date created</source>
|
<source>Date created</source>
|
||||||
<translation>Oluşturulma tarihi</translation>
|
<translation>Oluşturulma tarihi</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="70"/>
|
<location filename="../metadatamodel.cpp" line="72"/>
|
||||||
<source>Date modified</source>
|
<source>Date modified</source>
|
||||||
<translation>Değiştirilme tarihi</translation>
|
<translation>Değiştirilme tarihi</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="77"/>
|
<location filename="../metadatamodel.cpp" line="79"/>
|
||||||
<source>Title</source>
|
<source>Title</source>
|
||||||
<translation>Başlık</translation>
|
<translation>Başlık</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="79"/>
|
<location filename="../metadatamodel.cpp" line="81"/>
|
||||||
<source>Subject</source>
|
<source>Subject</source>
|
||||||
<translation>Konu</translation>
|
<translation>Konu</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="81"/>
|
<location filename="../metadatamodel.cpp" line="83"/>
|
||||||
<source>Rating</source>
|
<source>Rating</source>
|
||||||
<translation>Değerlendirme</translation>
|
<translation>Değerlendirme</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="83"/>
|
<location filename="../metadatamodel.cpp" line="85"/>
|
||||||
<source>Tags</source>
|
<source>Tags</source>
|
||||||
<translation>Etiketler</translation>
|
<translation>Etiketler</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="85"/>
|
<location filename="../metadatamodel.cpp" line="87"/>
|
||||||
<source>Comments</source>
|
<source>Comments</source>
|
||||||
<translation>Yorumlar</translation>
|
<translation>Yorumlar</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="88"/>
|
<location filename="../metadatamodel.cpp" line="90"/>
|
||||||
<source>Authors</source>
|
<source>Authors</source>
|
||||||
<translation>Sanatçılar</translation>
|
<translation>Sanatçılar</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="90"/>
|
<location filename="../metadatamodel.cpp" line="92"/>
|
||||||
<source>Date taken</source>
|
<source>Date taken</source>
|
||||||
<translation>Çekilme tarihi</translation>
|
<translation>Çekilme tarihi</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="96"/>
|
<location filename="../metadatamodel.cpp" line="98"/>
|
||||||
<source>Program name</source>
|
<source>Program name</source>
|
||||||
<translation>Program adı</translation>
|
<translation>Program adı</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="98"/>
|
<location filename="../metadatamodel.cpp" line="100"/>
|
||||||
<source>Copyright</source>
|
<source>Copyright</source>
|
||||||
<translation>Telif Hakkı</translation>
|
<translation>Telif Hakkı</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="101"/>
|
<location filename="../metadatamodel.cpp" line="103"/>
|
||||||
<source>Horizontal resolution</source>
|
<source>Horizontal resolution</source>
|
||||||
<translation>Yatay çözünürlük</translation>
|
<translation>Yatay çözünürlük</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="103"/>
|
<location filename="../metadatamodel.cpp" line="105"/>
|
||||||
<source>Vertical resolution</source>
|
<source>Vertical resolution</source>
|
||||||
<translation>Dikey çözünürlük</translation>
|
<translation>Dikey çözünürlük</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="105"/>
|
<location filename="../metadatamodel.cpp" line="107"/>
|
||||||
<source>Resolution unit</source>
|
<source>Resolution unit</source>
|
||||||
<translation>Çözünürlük birimi</translation>
|
<translation>Çözünürlük birimi</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="107"/>
|
<location filename="../metadatamodel.cpp" line="109"/>
|
||||||
<source>Colour representation</source>
|
<source>Colour representation</source>
|
||||||
<translation>Renk sunumu</translation>
|
<translation>Renk sunumu</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="110"/>
|
<location filename="../metadatamodel.cpp" line="112"/>
|
||||||
<source>Camera maker</source>
|
<source>Camera maker</source>
|
||||||
<translation>Kamera üreticisi</translation>
|
<translation>Kamera üreticisi</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="112"/>
|
<location filename="../metadatamodel.cpp" line="114"/>
|
||||||
<source>Camera model</source>
|
<source>Camera model</source>
|
||||||
<translation>Kamera modeli</translation>
|
<translation>Kamera modeli</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="114"/>
|
<location filename="../metadatamodel.cpp" line="116"/>
|
||||||
<source>F-stop</source>
|
<source>F-stop</source>
|
||||||
<translation>Diyafram</translation>
|
<translation>Diyafram</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="116"/>
|
<location filename="../metadatamodel.cpp" line="118"/>
|
||||||
<source>Exposure time</source>
|
<source>Exposure time</source>
|
||||||
<translation>Pozlama süresi</translation>
|
<translation>Pozlama süresi</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="118"/>
|
<location filename="../metadatamodel.cpp" line="120"/>
|
||||||
<source>ISO speed</source>
|
<source>ISO speed</source>
|
||||||
<translation>ISO hızı</translation>
|
<translation>ISO hızı</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="120"/>
|
<location filename="../metadatamodel.cpp" line="122"/>
|
||||||
<source>Exposure bias</source>
|
<source>Exposure bias</source>
|
||||||
<translation>Pozlama sapması</translation>
|
<translation>Pozlama sapması</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="122"/>
|
<location filename="../metadatamodel.cpp" line="124"/>
|
||||||
<source>Focal length</source>
|
<source>Focal length</source>
|
||||||
<translation>Odak uzaklığı</translation>
|
<translation>Odak uzaklığı</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="124"/>
|
<location filename="../metadatamodel.cpp" line="126"/>
|
||||||
<source>Max aperture</source>
|
<source>Max aperture</source>
|
||||||
<translation>Azami açıklık</translation>
|
<translation>Azami açıklık</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="126"/>
|
<location filename="../metadatamodel.cpp" line="128"/>
|
||||||
<source>Metering mode</source>
|
<source>Metering mode</source>
|
||||||
<translation>Ölçme kipi</translation>
|
<translation>Ölçme kipi</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="128"/>
|
<location filename="../metadatamodel.cpp" line="130"/>
|
||||||
<source>Subject distance</source>
|
<source>Subject distance</source>
|
||||||
<translation>Konu mesafesi</translation>
|
<translation>Konu mesafesi</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="130"/>
|
<location filename="../metadatamodel.cpp" line="132"/>
|
||||||
<source>Flash mode</source>
|
<source>Flash mode</source>
|
||||||
<translation>Flaş kipi</translation>
|
<translation>Flaş kipi</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="132"/>
|
<location filename="../metadatamodel.cpp" line="134"/>
|
||||||
<source>35mm focal length</source>
|
<source>35mm focal length</source>
|
||||||
<translation>35mm odak uzaklığı</translation>
|
<translation>35mm odak uzaklığı</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="135"/>
|
<location filename="../metadatamodel.cpp" line="137"/>
|
||||||
<source>Lens model</source>
|
<source>Lens model</source>
|
||||||
<translation>Mercek modeli</translation>
|
<translation>Mercek modeli</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="137"/>
|
<location filename="../metadatamodel.cpp" line="139"/>
|
||||||
<source>Contrast</source>
|
<source>Contrast</source>
|
||||||
<translation>Karşıtlık</translation>
|
<translation>Karşıtlık</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="139"/>
|
<location filename="../metadatamodel.cpp" line="141"/>
|
||||||
<source>Brightness</source>
|
<source>Brightness</source>
|
||||||
<translation>Parlaklık</translation>
|
<translation>Parlaklık</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="141"/>
|
<location filename="../metadatamodel.cpp" line="143"/>
|
||||||
<source>Exposure program</source>
|
<source>Exposure program</source>
|
||||||
<translation>Pozlama programı</translation>
|
<translation>Pozlama programı</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="143"/>
|
<location filename="../metadatamodel.cpp" line="145"/>
|
||||||
<source>Saturation</source>
|
<source>Saturation</source>
|
||||||
<translation>Doygunluk</translation>
|
<translation>Doygunluk</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="145"/>
|
<location filename="../metadatamodel.cpp" line="147"/>
|
||||||
<source>Sharpness</source>
|
<source>Sharpness</source>
|
||||||
<translation>Keskinlik</translation>
|
<translation>Keskinlik</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="147"/>
|
<location filename="../metadatamodel.cpp" line="149"/>
|
||||||
<source>White balance</source>
|
<source>White balance</source>
|
||||||
<translation>Beyaz dengesi</translation>
|
<translation>Beyaz dengesi</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="149"/>
|
<location filename="../metadatamodel.cpp" line="151"/>
|
||||||
<source>Digital zoom</source>
|
<source>Digital zoom</source>
|
||||||
<translation>Dijital yakınlaştırma</translation>
|
<translation>Dijital yakınlaştırma</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="151"/>
|
<location filename="../metadatamodel.cpp" line="153"/>
|
||||||
<source>EXIF version</source>
|
<source>EXIF version</source>
|
||||||
<translation>EXIF sürümü</translation>
|
<translation>EXIF sürümü</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="154"/>
|
<location filename="../metadatamodel.cpp" line="156"/>
|
||||||
<source>Latitude reference</source>
|
<source>Latitude reference</source>
|
||||||
<translation>Enlem kaynağı</translation>
|
<translation>Enlem kaynağı</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="156"/>
|
<location filename="../metadatamodel.cpp" line="158"/>
|
||||||
<source>Latitude</source>
|
<source>Latitude</source>
|
||||||
<translation>Enlem</translation>
|
<translation>Enlem</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="158"/>
|
<location filename="../metadatamodel.cpp" line="160"/>
|
||||||
<source>Longitude reference</source>
|
<source>Longitude reference</source>
|
||||||
<translation>Boylam kaynağı</translation>
|
<translation>Boylam kaynağı</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="160"/>
|
<location filename="../metadatamodel.cpp" line="162"/>
|
||||||
<source>Longitude</source>
|
<source>Longitude</source>
|
||||||
<translation>Boylam</translation>
|
<translation>Boylam</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="162"/>
|
<location filename="../metadatamodel.cpp" line="164"/>
|
||||||
<source>Altitude reference</source>
|
<source>Altitude reference</source>
|
||||||
<translation>Rakım kaynağı</translation>
|
<translation>Rakım kaynağı</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="164"/>
|
<location filename="../metadatamodel.cpp" line="166"/>
|
||||||
<source>Altitude</source>
|
<source>Altitude</source>
|
||||||
<translation>Rakım</translation>
|
<translation>Rakım</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="174"/>
|
<location filename="../metadatamodel.cpp" line="176"/>
|
||||||
<source>%1 x %2</source>
|
<source>%1 x %2</source>
|
||||||
<translation>%1 x %2</translation>
|
<translation>%1 x %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="192"/>
|
<location filename="../metadatamodel.cpp" line="194"/>
|
||||||
<source>%1 : %2</source>
|
<source>%1 : %2</source>
|
||||||
<translation>%1 : %2</translation>
|
<translation>%1 : %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="317"/>
|
<location filename="../metadatamodel.cpp" line="319"/>
|
||||||
<source>Property</source>
|
<source>Property</source>
|
||||||
<translation>Özellik</translation>
|
<translation>Özellik</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="317"/>
|
<location filename="../metadatamodel.cpp" line="319"/>
|
||||||
<source>Value</source>
|
<source>Value</source>
|
||||||
<translation>Değer</translation>
|
<translation>Değer</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -721,126 +726,141 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>SettingsDialog</name>
|
<name>SettingsDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="29"/>
|
<location filename="../settingsdialog.cpp" line="31"/>
|
||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation>Ayarlar</translation>
|
<translation>Ayarlar</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="37"/>
|
<location filename="../settingsdialog.cpp" line="39"/>
|
||||||
<source>Options</source>
|
<source>Options</source>
|
||||||
<translation>Seçenekler</translation>
|
<translation>Seçenekler</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="49"/>
|
<location filename="../settingsdialog.cpp" line="51"/>
|
||||||
<source>Shortcuts</source>
|
<source>Shortcuts</source>
|
||||||
<translation>Kısayollar</translation>
|
<translation>Kısayollar</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="59"/>
|
<location filename="../settingsdialog.cpp" line="61"/>
|
||||||
<source>Editing shortcuts for action "%1":</source>
|
<source>Editing shortcuts for action "%1":</source>
|
||||||
<translation>"%1" için kısayol düzenleniyor:</translation>
|
<translation>"%1" için kısayol düzenleniyor:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="68"/>
|
<location filename="../settingsdialog.cpp" line="70"/>
|
||||||
<source>Failed to set shortcuts</source>
|
<source>Failed to set shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Kısayollar ayarlanamadı</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="69"/>
|
<location filename="../settingsdialog.cpp" line="71"/>
|
||||||
<source>Please check if shortcuts are duplicated with existing shortcuts.</source>
|
<source>Please check if shortcuts are duplicated with existing shortcuts.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="76"/>
|
<location filename="../settingsdialog.cpp" line="78"/>
|
||||||
<source>Do nothing</source>
|
<source>Do nothing</source>
|
||||||
<translation>Hiçbir şey yapma</translation>
|
<translation>Hiçbir şey yapma</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="77"/>
|
<location filename="../settingsdialog.cpp" line="79"/>
|
||||||
<source>Close the window</source>
|
<source>Close the window</source>
|
||||||
<translation>Pencereyi kapat</translation>
|
<translation>Pencereyi kapat</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="78"/>
|
<location filename="../settingsdialog.cpp" line="80"/>
|
||||||
<source>Toggle maximize</source>
|
<source>Toggle maximize</source>
|
||||||
<translation>Tam boyuta geç</translation>
|
<translation>Tam boyuta geç</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="79"/>
|
<location filename="../settingsdialog.cpp" line="81"/>
|
||||||
<source>Toggle fullscreen</source>
|
<source>Toggle fullscreen</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Tam ekranı aç/kapat</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="83"/>
|
<location filename="../settingsdialog.cpp" line="85"/>
|
||||||
<source>Zoom in and out</source>
|
<source>Zoom in and out</source>
|
||||||
<translation>Yaklaştır ve uzaklaştır</translation>
|
<translation>Yaklaştır ve uzaklaştır</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="84"/>
|
<location filename="../settingsdialog.cpp" line="86"/>
|
||||||
<source>View next or previous item</source>
|
<source>View next or previous item</source>
|
||||||
<translation>Sonraki veya önceki ögeyi görüntüle</translation>
|
<translation>Sonraki veya önceki ögeyi görüntüle</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="88"/>
|
<location filename="../settingsdialog.cpp" line="90"/>
|
||||||
<source>Auto size</source>
|
<source>Auto size</source>
|
||||||
<translation>Otomatik boyut</translation>
|
<translation>Otomatik boyut</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="89"/>
|
<location filename="../settingsdialog.cpp" line="91"/>
|
||||||
<source>Maximized</source>
|
<source>Maximized</source>
|
||||||
<translation>Tam boyut</translation>
|
<translation>Tam boyut</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="93"/>
|
<location filename="../settingsdialog.cpp" line="92"/>
|
||||||
|
<source>Windowed</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="96"/>
|
||||||
<source>Round (Integer scaling)</source>
|
<source>Round (Integer scaling)</source>
|
||||||
<comment>This option means round up for .5 and above</comment>
|
<comment>This option means round up for .5 and above</comment>
|
||||||
<translation>Yuvarlak (Tamsayı ölçekleme)</translation>
|
<translation>Yuvarlak (Tamsayı ölçekleme)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="94"/>
|
<location filename="../settingsdialog.cpp" line="97"/>
|
||||||
<source>Ceil (Integer scaling)</source>
|
<source>Ceil (Integer scaling)</source>
|
||||||
<comment>This option means always round up</comment>
|
<comment>This option means always round up</comment>
|
||||||
<translation>Tavan (Tamsayı ölçekleme)</translation>
|
<translation>Tavan (Tamsayı ölçekleme)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="95"/>
|
<location filename="../settingsdialog.cpp" line="98"/>
|
||||||
<source>Floor (Integer scaling)</source>
|
<source>Floor (Integer scaling)</source>
|
||||||
<comment>This option means always round down</comment>
|
<comment>This option means always round down</comment>
|
||||||
<translation>Kat (Tamsayı ölçekleme)</translation>
|
<translation>Kat (Tamsayı ölçekleme)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="96"/>
|
<location filename="../settingsdialog.cpp" line="99"/>
|
||||||
<source>Follow system (Fractional scaling)</source>
|
<source>Follow system (Fractional scaling)</source>
|
||||||
<comment>This option means don't round</comment>
|
<comment>This option means don't round</comment>
|
||||||
<translation>Sistemi takip et (Kesirli ölçekleme)</translation>
|
<translation>Sistemi takip et (Kesirli ölçekleme)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="119"/>
|
<location filename="../settingsdialog.cpp" line="122"/>
|
||||||
<source>Stay on top when start-up</source>
|
<source>Stay on top when start-up</source>
|
||||||
<translation>Açılışta pencerelerin üstünde kal</translation>
|
<translation>Açılışta pencerelerin üstünde kal</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="120"/>
|
<location filename="../settingsdialog.cpp" line="123"/>
|
||||||
|
<source>Use built-in close window animation</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="124"/>
|
||||||
<source>Use light-color checkerboard</source>
|
<source>Use light-color checkerboard</source>
|
||||||
<translation>Açık renk dama tahtası kullan</translation>
|
<translation>Açık renk dama tahtası kullan</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="121"/>
|
<location filename="../settingsdialog.cpp" line="125"/>
|
||||||
|
<source>Loop the loaded gallery</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="126"/>
|
||||||
<source>Double-click behavior</source>
|
<source>Double-click behavior</source>
|
||||||
<translation>Çift tıklama davranışı</translation>
|
<translation>Çift tıklama davranışı</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="122"/>
|
<location filename="../settingsdialog.cpp" line="127"/>
|
||||||
<source>Mouse wheel behavior</source>
|
<source>Mouse wheel behavior</source>
|
||||||
<translation>Fare tekeri davranışı</translation>
|
<translation>Fare tekeri davranışı</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="123"/>
|
<location filename="../settingsdialog.cpp" line="128"/>
|
||||||
<source>Default window size</source>
|
<source>Default window size</source>
|
||||||
<translation>Öntanımlı pencere boyutu</translation>
|
<translation>Öntanımlı pencere boyutu</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="124"/>
|
<location filename="../settingsdialog.cpp" line="129"/>
|
||||||
<source>HiDPI scale factor rounding policy</source>
|
<source>HiDPI scale factor rounding policy</source>
|
||||||
<translation>HiDPI ölçek katsayısı yuvarlama ilkesi</translation>
|
<translation>HiDPI ölçek katsayısı yuvarlama ilkesi</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -848,7 +868,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>ShortcutEdit</name>
|
<name>ShortcutEdit</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../shortcutedit.cpp" line="111"/>
|
<location filename="../shortcutedit.cpp" line="109"/>
|
||||||
<source>No shortcuts</source>
|
<source>No shortcuts</source>
|
||||||
<translation>Kısayol yok</translation>
|
<translation>Kısayol yok</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -856,7 +876,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>ShortcutEditor</name>
|
<name>ShortcutEditor</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../shortcutedit.cpp" line="77"/>
|
<location filename="../shortcutedit.cpp" line="75"/>
|
||||||
<source>Shortcut #%1</source>
|
<source>Shortcut #%1</source>
|
||||||
<translation>Kısayol #%1</translation>
|
<translation>Kısayol #%1</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -864,17 +884,17 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>main</name>
|
<name>main</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="43"/>
|
<location filename="../main.cpp" line="42"/>
|
||||||
<source>Pineapple Pictures</source>
|
<source>Pineapple Pictures</source>
|
||||||
<translation>Ananas Resimler</translation>
|
<translation>Ananas Resimler</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="46"/>
|
<location filename="../main.cpp" line="45"/>
|
||||||
<source>List supported image format suffixes, and quit program.</source>
|
<source>List supported image format suffixes, and quit program.</source>
|
||||||
<translation>Desteklenen resim biçimi son eklerini listele ve programdan çık.</translation>
|
<translation>Desteklenen resim biçimi son eklerini listele ve programdan çık.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="50"/>
|
<location filename="../main.cpp" line="49"/>
|
||||||
<source>File list.</source>
|
<source>File list.</source>
|
||||||
<translation>Dosya list.</translation>
|
<translation>Dosya list.</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|||||||
@@ -4,169 +4,169 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>AboutDialog</name>
|
<name>AboutDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="27"/>
|
<location filename="../aboutdialog.cpp" line="29"/>
|
||||||
<source>About</source>
|
<source>About</source>
|
||||||
<translation>Про додаток</translation>
|
<translation>Про додаток</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="30"/>
|
<location filename="../aboutdialog.cpp" line="32"/>
|
||||||
<source>Launch application with image file path as argument to load the file.</source>
|
<source>Launch application with image file path as argument to load the file.</source>
|
||||||
<translation>Запустіть додаток, вказавши шлях до файлу зображення у якості аргументу для завантаження файлу.</translation>
|
<translation>Запустіть додаток, вказавши шлях до файлу зображення у якості аргументу для завантаження файлу.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="31"/>
|
<location filename="../aboutdialog.cpp" line="33"/>
|
||||||
<source>Drag and drop image file onto the window is also supported.</source>
|
<source>Drag and drop image file onto the window is also supported.</source>
|
||||||
<translation>Також підтримується перетягування файлу зображення у вікно.</translation>
|
<translation>Також підтримується перетягування файлу зображення у вікно.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="32"/>
|
<location filename="../aboutdialog.cpp" line="34"/>
|
||||||
<source>None of the operations in this application will alter the pictures on disk.</source>
|
<source>None of the operations in this application will alter the pictures on disk.</source>
|
||||||
<translation>Жодна з операцій у цьому додатку не змінить зображення на диску.</translation>
|
<translation>Жодна з операцій у цьому додатку не змінить зображення на диску.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="33"/>
|
<location filename="../aboutdialog.cpp" line="35"/>
|
||||||
<source>Context menu option explanation:</source>
|
<source>Context menu option explanation:</source>
|
||||||
<translation>Пояснення пунктів контекстного меню:</translation>
|
<translation>Пояснення пунктів контекстного меню:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="40"/>
|
<location filename="../aboutdialog.cpp" line="42"/>
|
||||||
<source>Make window stay on top of all other windows.</source>
|
<source>Make window stay on top of all other windows.</source>
|
||||||
<translation>Зробити так, щоб вікно залишалося поверх усіх інших вікон.</translation>
|
<translation>Зробити так, щоб вікно залишалося поверх усіх інших вікон.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="43"/>
|
<location filename="../aboutdialog.cpp" line="45"/>
|
||||||
<source>Avoid close window accidentally. (eg. by double clicking the window)</source>
|
<source>Avoid close window accidentally. (eg. by double clicking the window)</source>
|
||||||
<translation>Уникати випадкового закривання вікна. (Наприклад, подвійним клацанням по вікну.)</translation>
|
<translation>Уникати випадкового закривання вікна. (Наприклад, подвійним клацанням по вікну.)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="46"/>
|
<location filename="../aboutdialog.cpp" line="48"/>
|
||||||
<source>Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.</source>
|
<source>Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.</source>
|
||||||
<translation>Уникати скидання стану масштабування/обертання/гортання яке було застосовано до перегляду зображення при перемиканні зображень.</translation>
|
<translation>Уникати скидання стану масштабування/обертання/гортання яке було застосовано до перегляду зображення при перемиканні зображень.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="53"/>
|
<location filename="../aboutdialog.cpp" line="55"/>
|
||||||
<source>Version: %1</source>
|
<source>Version: %1</source>
|
||||||
<translation>Версія: %1</translation>
|
<translation>Версія: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="64"/>
|
<location filename="../aboutdialog.cpp" line="66"/>
|
||||||
<source>Logo designed by %1</source>
|
<source>Logo designed by %1</source>
|
||||||
<translation>Логотип розроблено %1</translation>
|
<translation>Логотип розроблено %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="66"/>
|
<location filename="../aboutdialog.cpp" line="68"/>
|
||||||
<source>Built with Qt %1 (%2)</source>
|
<source>Built with Qt %1 (%2)</source>
|
||||||
<translation>Побудований за допомогою Qt %1 (%2)</translation>
|
<translation>Побудований за допомогою Qt %1 (%2)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="67"/>
|
<location filename="../aboutdialog.cpp" line="69"/>
|
||||||
<source>Source code</source>
|
<source>Source code</source>
|
||||||
<translation>Джерельний код</translation>
|
<translation>Джерельний код</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="77"/>
|
<location filename="../aboutdialog.cpp" line="79"/>
|
||||||
<source>Contributors</source>
|
<source>Contributors</source>
|
||||||
<translation>Учасники</translation>
|
<translation>Учасники</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="79"/>
|
<location filename="../aboutdialog.cpp" line="81"/>
|
||||||
<source>List of contributors on GitHub</source>
|
<source>List of contributors on GitHub</source>
|
||||||
<translation>Список учасників на GitHub</translation>
|
<translation>Список учасників на GitHub</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="80"/>
|
<location filename="../aboutdialog.cpp" line="82"/>
|
||||||
<source>Thanks to all people who contributed to this project.</source>
|
<source>Thanks to all people who contributed to this project.</source>
|
||||||
<translation>Дякуємо всім, хто долучився до цього проєкту.</translation>
|
<translation>Дякуємо всім, хто долучився до цього проєкту.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="84"/>
|
<location filename="../aboutdialog.cpp" line="86"/>
|
||||||
<source>Translators</source>
|
<source>Translators</source>
|
||||||
<translation>Перекладачі</translation>
|
<translation>Перекладачі</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="85"/>
|
<location filename="../aboutdialog.cpp" line="87"/>
|
||||||
<source>I would like to thank the following people who volunteered to translate this application.</source>
|
<source>I would like to thank the following people who volunteered to translate this application.</source>
|
||||||
<translation>Я хотів би подякувати наступним людям, які прийняли участь у перекладі цього додатку.</translation>
|
<translation>Я хотів би подякувати наступним людям, які прийняли участь у перекладі цього додатку.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="129"/>
|
<location filename="../aboutdialog.cpp" line="131"/>
|
||||||
<source>%1 is built on the following free software libraries:</source>
|
<source>%1 is built on the following free software libraries:</source>
|
||||||
<comment>Free as in freedom</comment>
|
<comment>Free as in freedom</comment>
|
||||||
<translation>%1 побудовано на наступних вільних бібліотеках:</translation>
|
<translation>%1 побудовано на наступних вільних бібліотеках:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="153"/>
|
<location filename="../aboutdialog.cpp" line="155"/>
|
||||||
<source>&Special Thanks</source>
|
<source>&Special Thanks</source>
|
||||||
<translation>&Особлива подяка</translation>
|
<translation>&Особлива подяка</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="155"/>
|
<location filename="../aboutdialog.cpp" line="157"/>
|
||||||
<source>&Third-party Libraries</source>
|
<source>&Third-party Libraries</source>
|
||||||
<translation>&Сторонні бібліотеки</translation>
|
<translation>&Сторонні бібліотеки</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="91"/>
|
<location filename="../aboutdialog.cpp" line="93"/>
|
||||||
<source>Your Rights</source>
|
<source>Your Rights</source>
|
||||||
<translation>Ваші права</translation>
|
<translation>Ваші права</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="61"/>
|
<location filename="../aboutdialog.cpp" line="63"/>
|
||||||
<source>Copyright (c) %1 %2</source>
|
<source>Copyright (c) %1 %2</source>
|
||||||
<comment>%1 is year, %2 is the name of copyright holder(s)</comment>
|
<comment>%1 is year, %2 is the name of copyright holder(s)</comment>
|
||||||
<translation>Авторське право (c) %1 %2</translation>
|
<translation>Авторське право (c) %1 %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="93"/>
|
<location filename="../aboutdialog.cpp" line="95"/>
|
||||||
<source>%1 is released under the MIT License.</source>
|
<source>%1 is released under the MIT License.</source>
|
||||||
<translation>%1 випускається за ліцензією MIT.</translation>
|
<translation>%1 випускається за ліцензією MIT.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="94"/>
|
<location filename="../aboutdialog.cpp" line="96"/>
|
||||||
<source>This license grants people a number of freedoms:</source>
|
<source>This license grants people a number of freedoms:</source>
|
||||||
<translation>Ця ліцензія надає людям низку свобод:</translation>
|
<translation>Ця ліцензія надає людям низку свобод:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="95"/>
|
<location filename="../aboutdialog.cpp" line="97"/>
|
||||||
<source>You are free to use %1, for any purpose</source>
|
<source>You are free to use %1, for any purpose</source>
|
||||||
<translation>Ви можете вільно використовувати %1 для будь-яких цілей</translation>
|
<translation>Ви можете вільно використовувати %1 для будь-яких цілей</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="96"/>
|
<location filename="../aboutdialog.cpp" line="98"/>
|
||||||
<source>You are free to distribute %1</source>
|
<source>You are free to distribute %1</source>
|
||||||
<translation>Ви можете вільно розповсюджувати %1</translation>
|
<translation>Ви можете вільно розповсюджувати %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="97"/>
|
<location filename="../aboutdialog.cpp" line="99"/>
|
||||||
<source>You can study how %1 works and change it</source>
|
<source>You can study how %1 works and change it</source>
|
||||||
<translation>Ви можете вивчити, як працює %1, і змінити його</translation>
|
<translation>Ви можете вивчити, як працює %1, і змінити його</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="98"/>
|
<location filename="../aboutdialog.cpp" line="100"/>
|
||||||
<source>You can distribute changed versions of %1</source>
|
<source>You can distribute changed versions of %1</source>
|
||||||
<translation>Ви можете розповсюджувати змінені версії %1</translation>
|
<translation>Ви можете розповсюджувати змінені версії %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="100"/>
|
<location filename="../aboutdialog.cpp" line="102"/>
|
||||||
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
|
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
|
||||||
<translation>Ліцензія MIT гарантує вам цю свободу. Ніхто не має права її відбирати.</translation>
|
<translation>Ліцензія MIT гарантує вам цю свободу. Ніхто не має права її відбирати.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="128"/>
|
<location filename="../aboutdialog.cpp" line="130"/>
|
||||||
<source>Third-party Libraries used by %1</source>
|
<source>Third-party Libraries used by %1</source>
|
||||||
<translation>Сторонні бібліотеки, що використовуються %1</translation>
|
<translation>Сторонні бібліотеки, що використовуються %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="151"/>
|
<location filename="../aboutdialog.cpp" line="153"/>
|
||||||
<source>&Help</source>
|
<source>&Help</source>
|
||||||
<translation>&Допомога</translation>
|
<translation>&Допомога</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="152"/>
|
<location filename="../aboutdialog.cpp" line="154"/>
|
||||||
<source>&About</source>
|
<source>&About</source>
|
||||||
<translation>&Про додаток</translation>
|
<translation>&Про додаток</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="154"/>
|
<location filename="../aboutdialog.cpp" line="156"/>
|
||||||
<source>&License</source>
|
<source>&License</source>
|
||||||
<translation>&Ліцензія</translation>
|
<translation>&Ліцензія</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -174,7 +174,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>GraphicsScene</name>
|
<name>GraphicsScene</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="269"/>
|
<location filename="../mainwindow.cpp" line="276"/>
|
||||||
<location filename="../graphicsscene.cpp" line="100"/>
|
<location filename="../graphicsscene.cpp" line="100"/>
|
||||||
<source>Drag image here</source>
|
<source>Drag image here</source>
|
||||||
<translation>Перетягніть зображення сюди</translation>
|
<translation>Перетягніть зображення сюди</translation>
|
||||||
@@ -187,13 +187,13 @@
|
|||||||
<translation type="vanished">Список URL-адрес файлів порожній</translation>
|
<translation type="vanished">Список URL-адрес файлів порожній</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../graphicsview.cpp" line="52"/>
|
<location filename="../graphicsview.cpp" line="50"/>
|
||||||
<source>File is not a valid image</source>
|
<source>File is not a valid image</source>
|
||||||
<translation>Файл не є дійсним зображенням</translation>
|
<translation>Файл не є дійсним зображенням</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../graphicsview.cpp" line="56"/>
|
<location filename="../graphicsview.cpp" line="54"/>
|
||||||
<location filename="../graphicsview.cpp" line="60"/>
|
<location filename="../graphicsview.cpp" line="58"/>
|
||||||
<source>Image data is invalid or currently unsupported</source>
|
<source>Image data is invalid or currently unsupported</source>
|
||||||
<translation>Дані зображення недійсні або наразі не підтримуються</translation>
|
<translation>Дані зображення недійсні або наразі не підтримуються</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -209,38 +209,43 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MainWindow</name>
|
<name>MainWindow</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="180"/>
|
<location filename="../mainwindow.cpp" line="181"/>
|
||||||
<location filename="../mainwindow.cpp" line="540"/>
|
<location filename="../mainwindow.cpp" line="545"/>
|
||||||
<source>File url list is empty</source>
|
<source>File url list is empty</source>
|
||||||
<translation>Список URL-адрес файлів порожній</translation>
|
<translation>Список URL-адрес файлів порожній</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="438"/>
|
<location filename="../mainwindow.cpp" line="445"/>
|
||||||
<source>&Copy</source>
|
<source>&Copy</source>
|
||||||
<translation>&Скопіювати</translation>
|
<translation>&Скопіювати</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="548"/>
|
<location filename="../mainwindow.cpp" line="553"/>
|
||||||
<source>Image data is invalid</source>
|
<source>Image data is invalid</source>
|
||||||
<translation>Дані зображення недійсні</translation>
|
<translation>Дані зображення недійсні</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="555"/>
|
<location filename="../mainwindow.cpp" line="560"/>
|
||||||
<source>Not supported mimedata: %1</source>
|
<source>Not supported mimedata: %1</source>
|
||||||
<translation>Не підтримується mimedata: %1</translation>
|
<translation>Не підтримується mimedata: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="764"/>
|
<location filename="../mainwindow.cpp" line="759"/>
|
||||||
<source>Image From Clipboard</source>
|
<source>Image From Clipboard</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="782"/>
|
<location filename="../mainwindow.cpp" line="777"/>
|
||||||
<source>Are you sure you want to move "%1" to recycle bin?</source>
|
<source>Are you sure you want to move "%1" to recycle bin?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="787"/>
|
<location filename="../mainwindow.cpp" line="781"/>
|
||||||
|
<source>Failed to move file to trash</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="782"/>
|
||||||
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
|
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -261,19 +266,19 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="118"/>
|
<location filename="../actionmanager.cpp" line="118"/>
|
||||||
<location filename="../aboutdialog.cpp" line="39"/>
|
<location filename="../aboutdialog.cpp" line="41"/>
|
||||||
<source>Stay on top</source>
|
<source>Stay on top</source>
|
||||||
<translation>Поверх всіх вікон</translation>
|
<translation>Поверх всіх вікон</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="119"/>
|
<location filename="../actionmanager.cpp" line="119"/>
|
||||||
<location filename="../aboutdialog.cpp" line="42"/>
|
<location filename="../aboutdialog.cpp" line="44"/>
|
||||||
<source>Protected mode</source>
|
<source>Protected mode</source>
|
||||||
<translation>Захищений режим</translation>
|
<translation>Захищений режим</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="120"/>
|
<location filename="../actionmanager.cpp" line="120"/>
|
||||||
<location filename="../aboutdialog.cpp" line="45"/>
|
<location filename="../aboutdialog.cpp" line="47"/>
|
||||||
<source>Keep transformation</source>
|
<source>Keep transformation</source>
|
||||||
<comment>The 'transformation' means the flip/rotation status that currently applied to the image view</comment>
|
<comment>The 'transformation' means the flip/rotation status that currently applied to the image view</comment>
|
||||||
<translation>Зберігати трансформацію</translation>
|
<translation>Зберігати трансформацію</translation>
|
||||||
@@ -359,7 +364,7 @@
|
|||||||
<translation>Наступне зображення</translation>
|
<translation>Наступне зображення</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="781"/>
|
<location filename="../mainwindow.cpp" line="776"/>
|
||||||
<location filename="../actionmanager.cpp" line="117"/>
|
<location filename="../actionmanager.cpp" line="117"/>
|
||||||
<source>Move to Trash</source>
|
<source>Move to Trash</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@@ -402,314 +407,314 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MetadataModel</name>
|
<name>MetadataModel</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="41"/>
|
<location filename="../metadatamodel.cpp" line="43"/>
|
||||||
<source>Origin</source>
|
<source>Origin</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Походження</translation>
|
<translation>Походження</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="42"/>
|
<location filename="../metadatamodel.cpp" line="44"/>
|
||||||
<source>Image</source>
|
<source>Image</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Зображення</translation>
|
<translation>Зображення</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="46"/>
|
<location filename="../metadatamodel.cpp" line="48"/>
|
||||||
<source>File</source>
|
<source>File</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Файл</translation>
|
<translation>Файл</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="43"/>
|
<location filename="../metadatamodel.cpp" line="45"/>
|
||||||
<source>Camera</source>
|
<source>Camera</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Камера</translation>
|
<translation>Камера</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="33"/>
|
<location filename="../metadatamodel.cpp" line="35"/>
|
||||||
<source>%1 File</source>
|
<source>%1 File</source>
|
||||||
<translation>%1 файл</translation>
|
<translation>%1 файл</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="40"/>
|
<location filename="../metadatamodel.cpp" line="42"/>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Опис</translation>
|
<translation>Опис</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="44"/>
|
<location filename="../metadatamodel.cpp" line="46"/>
|
||||||
<source>Advanced photo</source>
|
<source>Advanced photo</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>Розширене фото</translation>
|
<translation>Розширене фото</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="45"/>
|
<location filename="../metadatamodel.cpp" line="47"/>
|
||||||
<source>GPS</source>
|
<source>GPS</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>GPS</translation>
|
<translation>GPS</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="50"/>
|
<location filename="../metadatamodel.cpp" line="52"/>
|
||||||
<source>Dimensions</source>
|
<source>Dimensions</source>
|
||||||
<translation>Розміри</translation>
|
<translation>Розміри</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="52"/>
|
<location filename="../metadatamodel.cpp" line="54"/>
|
||||||
<source>Aspect ratio</source>
|
<source>Aspect ratio</source>
|
||||||
<translation>Співвідношення сторін</translation>
|
<translation>Співвідношення сторін</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="56"/>
|
<location filename="../metadatamodel.cpp" line="58"/>
|
||||||
<source>Frame count</source>
|
<source>Frame count</source>
|
||||||
<translation>Кількість кадрів</translation>
|
<translation>Кількість кадрів</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="60"/>
|
<location filename="../metadatamodel.cpp" line="62"/>
|
||||||
<source>Name</source>
|
<source>Name</source>
|
||||||
<translation>Ім’я</translation>
|
<translation>Ім’я</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="62"/>
|
<location filename="../metadatamodel.cpp" line="64"/>
|
||||||
<source>Item type</source>
|
<source>Item type</source>
|
||||||
<translation>Тип елемента</translation>
|
<translation>Тип елемента</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="64"/>
|
<location filename="../metadatamodel.cpp" line="66"/>
|
||||||
<source>Folder path</source>
|
<source>Folder path</source>
|
||||||
<translation>Шлях до теки</translation>
|
<translation>Шлях до теки</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="66"/>
|
<location filename="../metadatamodel.cpp" line="68"/>
|
||||||
<source>Size</source>
|
<source>Size</source>
|
||||||
<translation>Розмір</translation>
|
<translation>Розмір</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="68"/>
|
<location filename="../metadatamodel.cpp" line="70"/>
|
||||||
<source>Date created</source>
|
<source>Date created</source>
|
||||||
<translation>Дата створення</translation>
|
<translation>Дата створення</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="70"/>
|
<location filename="../metadatamodel.cpp" line="72"/>
|
||||||
<source>Date modified</source>
|
<source>Date modified</source>
|
||||||
<translation>Дата зміни</translation>
|
<translation>Дата зміни</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="77"/>
|
<location filename="../metadatamodel.cpp" line="79"/>
|
||||||
<source>Title</source>
|
<source>Title</source>
|
||||||
<translation>Назва</translation>
|
<translation>Назва</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="79"/>
|
<location filename="../metadatamodel.cpp" line="81"/>
|
||||||
<source>Subject</source>
|
<source>Subject</source>
|
||||||
<translation>Тема</translation>
|
<translation>Тема</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="81"/>
|
<location filename="../metadatamodel.cpp" line="83"/>
|
||||||
<source>Rating</source>
|
<source>Rating</source>
|
||||||
<translation>Рейтинг</translation>
|
<translation>Рейтинг</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="83"/>
|
<location filename="../metadatamodel.cpp" line="85"/>
|
||||||
<source>Tags</source>
|
<source>Tags</source>
|
||||||
<translation>Мітки</translation>
|
<translation>Мітки</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="85"/>
|
<location filename="../metadatamodel.cpp" line="87"/>
|
||||||
<source>Comments</source>
|
<source>Comments</source>
|
||||||
<translation>Коментарі</translation>
|
<translation>Коментарі</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="88"/>
|
<location filename="../metadatamodel.cpp" line="90"/>
|
||||||
<source>Authors</source>
|
<source>Authors</source>
|
||||||
<translation>Автори</translation>
|
<translation>Автори</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="90"/>
|
<location filename="../metadatamodel.cpp" line="92"/>
|
||||||
<source>Date taken</source>
|
<source>Date taken</source>
|
||||||
<translation>Дата зйомки</translation>
|
<translation>Дата зйомки</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="96"/>
|
<location filename="../metadatamodel.cpp" line="98"/>
|
||||||
<source>Program name</source>
|
<source>Program name</source>
|
||||||
<translation>Назва програми</translation>
|
<translation>Назва програми</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="98"/>
|
<location filename="../metadatamodel.cpp" line="100"/>
|
||||||
<source>Copyright</source>
|
<source>Copyright</source>
|
||||||
<translation>Авторське право</translation>
|
<translation>Авторське право</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="101"/>
|
<location filename="../metadatamodel.cpp" line="103"/>
|
||||||
<source>Horizontal resolution</source>
|
<source>Horizontal resolution</source>
|
||||||
<translation>Роздільна здатність по горизонталі</translation>
|
<translation>Роздільна здатність по горизонталі</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="103"/>
|
<location filename="../metadatamodel.cpp" line="105"/>
|
||||||
<source>Vertical resolution</source>
|
<source>Vertical resolution</source>
|
||||||
<translation>Роздільна здатність по вертикалі</translation>
|
<translation>Роздільна здатність по вертикалі</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="105"/>
|
<location filename="../metadatamodel.cpp" line="107"/>
|
||||||
<source>Resolution unit</source>
|
<source>Resolution unit</source>
|
||||||
<translation>Одиниця роздільної здатності</translation>
|
<translation>Одиниця роздільної здатності</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="107"/>
|
<location filename="../metadatamodel.cpp" line="109"/>
|
||||||
<source>Colour representation</source>
|
<source>Colour representation</source>
|
||||||
<translation>Представлення кольору</translation>
|
<translation>Представлення кольору</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="110"/>
|
<location filename="../metadatamodel.cpp" line="112"/>
|
||||||
<source>Camera maker</source>
|
<source>Camera maker</source>
|
||||||
<translation>Виробник камери</translation>
|
<translation>Виробник камери</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="112"/>
|
<location filename="../metadatamodel.cpp" line="114"/>
|
||||||
<source>Camera model</source>
|
<source>Camera model</source>
|
||||||
<translation>Модель камери</translation>
|
<translation>Модель камери</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="114"/>
|
<location filename="../metadatamodel.cpp" line="116"/>
|
||||||
<source>F-stop</source>
|
<source>F-stop</source>
|
||||||
<translation>Діафрагма (F)</translation>
|
<translation>Діафрагма (F)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="116"/>
|
<location filename="../metadatamodel.cpp" line="118"/>
|
||||||
<source>Exposure time</source>
|
<source>Exposure time</source>
|
||||||
<translation>Час експозиції</translation>
|
<translation>Час експозиції</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="118"/>
|
<location filename="../metadatamodel.cpp" line="120"/>
|
||||||
<source>ISO speed</source>
|
<source>ISO speed</source>
|
||||||
<translation>Чутливість ISO</translation>
|
<translation>Чутливість ISO</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="120"/>
|
<location filename="../metadatamodel.cpp" line="122"/>
|
||||||
<source>Exposure bias</source>
|
<source>Exposure bias</source>
|
||||||
<translation>Зсув експозиції</translation>
|
<translation>Зсув експозиції</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="122"/>
|
<location filename="../metadatamodel.cpp" line="124"/>
|
||||||
<source>Focal length</source>
|
<source>Focal length</source>
|
||||||
<translation>Фокусна відстань</translation>
|
<translation>Фокусна відстань</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="124"/>
|
<location filename="../metadatamodel.cpp" line="126"/>
|
||||||
<source>Max aperture</source>
|
<source>Max aperture</source>
|
||||||
<translation>Максимальна апертура</translation>
|
<translation>Максимальна апертура</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="126"/>
|
<location filename="../metadatamodel.cpp" line="128"/>
|
||||||
<source>Metering mode</source>
|
<source>Metering mode</source>
|
||||||
<translation>Режим вимірювання</translation>
|
<translation>Режим вимірювання</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="128"/>
|
<location filename="../metadatamodel.cpp" line="130"/>
|
||||||
<source>Subject distance</source>
|
<source>Subject distance</source>
|
||||||
<translation>Відстань до об'єкта зйомки</translation>
|
<translation>Відстань до об'єкта зйомки</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="130"/>
|
<location filename="../metadatamodel.cpp" line="132"/>
|
||||||
<source>Flash mode</source>
|
<source>Flash mode</source>
|
||||||
<translation>Режим спалаху</translation>
|
<translation>Режим спалаху</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="132"/>
|
<location filename="../metadatamodel.cpp" line="134"/>
|
||||||
<source>35mm focal length</source>
|
<source>35mm focal length</source>
|
||||||
<translation>Фокусна відстань 35 мм</translation>
|
<translation>Фокусна відстань 35 мм</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="135"/>
|
<location filename="../metadatamodel.cpp" line="137"/>
|
||||||
<source>Lens model</source>
|
<source>Lens model</source>
|
||||||
<translation>Модель об'єктива</translation>
|
<translation>Модель об'єктива</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="137"/>
|
<location filename="../metadatamodel.cpp" line="139"/>
|
||||||
<source>Contrast</source>
|
<source>Contrast</source>
|
||||||
<translation>Контраст</translation>
|
<translation>Контраст</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="139"/>
|
<location filename="../metadatamodel.cpp" line="141"/>
|
||||||
<source>Brightness</source>
|
<source>Brightness</source>
|
||||||
<translation>Яскравість</translation>
|
<translation>Яскравість</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="141"/>
|
<location filename="../metadatamodel.cpp" line="143"/>
|
||||||
<source>Exposure program</source>
|
<source>Exposure program</source>
|
||||||
<translation>Програма експозиції</translation>
|
<translation>Програма експозиції</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="143"/>
|
<location filename="../metadatamodel.cpp" line="145"/>
|
||||||
<source>Saturation</source>
|
<source>Saturation</source>
|
||||||
<translation>Насиченість</translation>
|
<translation>Насиченість</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="145"/>
|
<location filename="../metadatamodel.cpp" line="147"/>
|
||||||
<source>Sharpness</source>
|
<source>Sharpness</source>
|
||||||
<translation>Різкість</translation>
|
<translation>Різкість</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="147"/>
|
<location filename="../metadatamodel.cpp" line="149"/>
|
||||||
<source>White balance</source>
|
<source>White balance</source>
|
||||||
<translation>Баланс білого</translation>
|
<translation>Баланс білого</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="149"/>
|
<location filename="../metadatamodel.cpp" line="151"/>
|
||||||
<source>Digital zoom</source>
|
<source>Digital zoom</source>
|
||||||
<translation>Цифровий зум</translation>
|
<translation>Цифровий зум</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="151"/>
|
<location filename="../metadatamodel.cpp" line="153"/>
|
||||||
<source>EXIF version</source>
|
<source>EXIF version</source>
|
||||||
<translation>Версія EXIF</translation>
|
<translation>Версія EXIF</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="154"/>
|
<location filename="../metadatamodel.cpp" line="156"/>
|
||||||
<source>Latitude reference</source>
|
<source>Latitude reference</source>
|
||||||
<translation>Посилання на широту</translation>
|
<translation>Посилання на широту</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="156"/>
|
<location filename="../metadatamodel.cpp" line="158"/>
|
||||||
<source>Latitude</source>
|
<source>Latitude</source>
|
||||||
<translation>Широта</translation>
|
<translation>Широта</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="158"/>
|
<location filename="../metadatamodel.cpp" line="160"/>
|
||||||
<source>Longitude reference</source>
|
<source>Longitude reference</source>
|
||||||
<translation>Посилання на довготу</translation>
|
<translation>Посилання на довготу</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="160"/>
|
<location filename="../metadatamodel.cpp" line="162"/>
|
||||||
<source>Longitude</source>
|
<source>Longitude</source>
|
||||||
<translation>Довгота</translation>
|
<translation>Довгота</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="162"/>
|
<location filename="../metadatamodel.cpp" line="164"/>
|
||||||
<source>Altitude reference</source>
|
<source>Altitude reference</source>
|
||||||
<translation>Посилання на висоту над рівнем моря</translation>
|
<translation>Посилання на висоту над рівнем моря</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="164"/>
|
<location filename="../metadatamodel.cpp" line="166"/>
|
||||||
<source>Altitude</source>
|
<source>Altitude</source>
|
||||||
<translation>Висота над рівнем моря</translation>
|
<translation>Висота над рівнем моря</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="174"/>
|
<location filename="../metadatamodel.cpp" line="176"/>
|
||||||
<source>%1 x %2</source>
|
<source>%1 x %2</source>
|
||||||
<translation>%1 x %2</translation>
|
<translation>%1 x %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="192"/>
|
<location filename="../metadatamodel.cpp" line="194"/>
|
||||||
<source>%1 : %2</source>
|
<source>%1 : %2</source>
|
||||||
<translation>%1 : %2</translation>
|
<translation>%1 : %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="317"/>
|
<location filename="../metadatamodel.cpp" line="319"/>
|
||||||
<source>Property</source>
|
<source>Property</source>
|
||||||
<translation>Власність</translation>
|
<translation>Власність</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="317"/>
|
<location filename="../metadatamodel.cpp" line="319"/>
|
||||||
<source>Value</source>
|
<source>Value</source>
|
||||||
<translation>Значення</translation>
|
<translation>Значення</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -717,126 +722,141 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>SettingsDialog</name>
|
<name>SettingsDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="29"/>
|
<location filename="../settingsdialog.cpp" line="31"/>
|
||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation>Налаштування</translation>
|
<translation>Налаштування</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="37"/>
|
<location filename="../settingsdialog.cpp" line="39"/>
|
||||||
<source>Options</source>
|
<source>Options</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="49"/>
|
<location filename="../settingsdialog.cpp" line="51"/>
|
||||||
<source>Shortcuts</source>
|
<source>Shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="59"/>
|
<location filename="../settingsdialog.cpp" line="61"/>
|
||||||
<source>Editing shortcuts for action "%1":</source>
|
<source>Editing shortcuts for action "%1":</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="68"/>
|
<location filename="../settingsdialog.cpp" line="70"/>
|
||||||
<source>Failed to set shortcuts</source>
|
<source>Failed to set shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="69"/>
|
<location filename="../settingsdialog.cpp" line="71"/>
|
||||||
<source>Please check if shortcuts are duplicated with existing shortcuts.</source>
|
<source>Please check if shortcuts are duplicated with existing shortcuts.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="76"/>
|
<location filename="../settingsdialog.cpp" line="78"/>
|
||||||
<source>Do nothing</source>
|
<source>Do nothing</source>
|
||||||
<translation>Нічого не робити</translation>
|
<translation>Нічого не робити</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="77"/>
|
<location filename="../settingsdialog.cpp" line="79"/>
|
||||||
<source>Close the window</source>
|
<source>Close the window</source>
|
||||||
<translation>Закрити вікно</translation>
|
<translation>Закрити вікно</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="78"/>
|
<location filename="../settingsdialog.cpp" line="80"/>
|
||||||
<source>Toggle maximize</source>
|
<source>Toggle maximize</source>
|
||||||
<translation>Перемкнути на максимум</translation>
|
<translation>Перемкнути на максимум</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="79"/>
|
<location filename="../settingsdialog.cpp" line="81"/>
|
||||||
<source>Toggle fullscreen</source>
|
<source>Toggle fullscreen</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="83"/>
|
<location filename="../settingsdialog.cpp" line="85"/>
|
||||||
<source>Zoom in and out</source>
|
<source>Zoom in and out</source>
|
||||||
<translation>Збільшення та зменшення</translation>
|
<translation>Збільшення та зменшення</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="84"/>
|
<location filename="../settingsdialog.cpp" line="86"/>
|
||||||
<source>View next or previous item</source>
|
<source>View next or previous item</source>
|
||||||
<translation>Переглянути наступний або попередній елемент</translation>
|
<translation>Переглянути наступний або попередній елемент</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="88"/>
|
<location filename="../settingsdialog.cpp" line="90"/>
|
||||||
<source>Auto size</source>
|
<source>Auto size</source>
|
||||||
<translation>Автоматичний розмір</translation>
|
<translation>Автоматичний розмір</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="89"/>
|
<location filename="../settingsdialog.cpp" line="91"/>
|
||||||
<source>Maximized</source>
|
<source>Maximized</source>
|
||||||
<translation>Максимізувати</translation>
|
<translation>Максимізувати</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="93"/>
|
<location filename="../settingsdialog.cpp" line="92"/>
|
||||||
|
<source>Windowed</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="96"/>
|
||||||
<source>Round (Integer scaling)</source>
|
<source>Round (Integer scaling)</source>
|
||||||
<comment>This option means round up for .5 and above</comment>
|
<comment>This option means round up for .5 and above</comment>
|
||||||
<translation>Round (цілочисельне масштабування)</translation>
|
<translation>Round (цілочисельне масштабування)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="94"/>
|
<location filename="../settingsdialog.cpp" line="97"/>
|
||||||
<source>Ceil (Integer scaling)</source>
|
<source>Ceil (Integer scaling)</source>
|
||||||
<comment>This option means always round up</comment>
|
<comment>This option means always round up</comment>
|
||||||
<translation>Ceil (цілочисельне масштабування)</translation>
|
<translation>Ceil (цілочисельне масштабування)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="95"/>
|
<location filename="../settingsdialog.cpp" line="98"/>
|
||||||
<source>Floor (Integer scaling)</source>
|
<source>Floor (Integer scaling)</source>
|
||||||
<comment>This option means always round down</comment>
|
<comment>This option means always round down</comment>
|
||||||
<translation>Floor (цілочисельне масштабування)</translation>
|
<translation>Floor (цілочисельне масштабування)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="96"/>
|
<location filename="../settingsdialog.cpp" line="99"/>
|
||||||
<source>Follow system (Fractional scaling)</source>
|
<source>Follow system (Fractional scaling)</source>
|
||||||
<comment>This option means don't round</comment>
|
<comment>This option means don't round</comment>
|
||||||
<translation>Стежити за системою (дробове масштабування)</translation>
|
<translation>Стежити за системою (дробове масштабування)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="119"/>
|
<location filename="../settingsdialog.cpp" line="122"/>
|
||||||
<source>Stay on top when start-up</source>
|
<source>Stay on top when start-up</source>
|
||||||
<translation>Поверх всіх вікон під час запуску</translation>
|
<translation>Поверх всіх вікон під час запуску</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="120"/>
|
<location filename="../settingsdialog.cpp" line="123"/>
|
||||||
|
<source>Use built-in close window animation</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="124"/>
|
||||||
<source>Use light-color checkerboard</source>
|
<source>Use light-color checkerboard</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="121"/>
|
<location filename="../settingsdialog.cpp" line="125"/>
|
||||||
|
<source>Loop the loaded gallery</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="126"/>
|
||||||
<source>Double-click behavior</source>
|
<source>Double-click behavior</source>
|
||||||
<translation>Поведінка при подвійному кліку</translation>
|
<translation>Поведінка при подвійному кліку</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="122"/>
|
<location filename="../settingsdialog.cpp" line="127"/>
|
||||||
<source>Mouse wheel behavior</source>
|
<source>Mouse wheel behavior</source>
|
||||||
<translation>Поведінка колеса миші</translation>
|
<translation>Поведінка колеса миші</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="123"/>
|
<location filename="../settingsdialog.cpp" line="128"/>
|
||||||
<source>Default window size</source>
|
<source>Default window size</source>
|
||||||
<translation>Розмір вікна за замовчуванням</translation>
|
<translation>Розмір вікна за замовчуванням</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="124"/>
|
<location filename="../settingsdialog.cpp" line="129"/>
|
||||||
<source>HiDPI scale factor rounding policy</source>
|
<source>HiDPI scale factor rounding policy</source>
|
||||||
<translation>Політика округлення коефіцієнта HiDPI</translation>
|
<translation>Політика округлення коефіцієнта HiDPI</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -844,7 +864,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>ShortcutEdit</name>
|
<name>ShortcutEdit</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../shortcutedit.cpp" line="111"/>
|
<location filename="../shortcutedit.cpp" line="109"/>
|
||||||
<source>No shortcuts</source>
|
<source>No shortcuts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -852,7 +872,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>ShortcutEditor</name>
|
<name>ShortcutEditor</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../shortcutedit.cpp" line="77"/>
|
<location filename="../shortcutedit.cpp" line="75"/>
|
||||||
<source>Shortcut #%1</source>
|
<source>Shortcut #%1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -860,17 +880,17 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>main</name>
|
<name>main</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="43"/>
|
<location filename="../main.cpp" line="42"/>
|
||||||
<source>Pineapple Pictures</source>
|
<source>Pineapple Pictures</source>
|
||||||
<translation>Pineapple Pictures</translation>
|
<translation>Pineapple Pictures</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="46"/>
|
<location filename="../main.cpp" line="45"/>
|
||||||
<source>List supported image format suffixes, and quit program.</source>
|
<source>List supported image format suffixes, and quit program.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="50"/>
|
<location filename="../main.cpp" line="49"/>
|
||||||
<source>File list.</source>
|
<source>File list.</source>
|
||||||
<translation>Список файлів.</translation>
|
<translation>Список файлів.</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|||||||
@@ -4,42 +4,42 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>AboutDialog</name>
|
<name>AboutDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="27"/>
|
<location filename="../aboutdialog.cpp" line="29"/>
|
||||||
<source>About</source>
|
<source>About</source>
|
||||||
<translation>关于</translation>
|
<translation>关于</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="30"/>
|
<location filename="../aboutdialog.cpp" line="32"/>
|
||||||
<source>Launch application with image file path as argument to load the file.</source>
|
<source>Launch application with image file path as argument to load the file.</source>
|
||||||
<translation>以图片文件的路径作为参数运行程序即可直接打开图片文件。</translation>
|
<translation>以图片文件的路径作为参数运行程序即可直接打开图片文件。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="31"/>
|
<location filename="../aboutdialog.cpp" line="33"/>
|
||||||
<source>Drag and drop image file onto the window is also supported.</source>
|
<source>Drag and drop image file onto the window is also supported.</source>
|
||||||
<translation>也支持拖放图片文件到窗口内来加载图片。</translation>
|
<translation>也支持拖放图片文件到窗口内来加载图片。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="32"/>
|
<location filename="../aboutdialog.cpp" line="34"/>
|
||||||
<source>None of the operations in this application will alter the pictures on disk.</source>
|
<source>None of the operations in this application will alter the pictures on disk.</source>
|
||||||
<translation>此程序中所有的操作均不会修改图片文件本身。</translation>
|
<translation>此程序中所有的操作均不会修改图片文件本身。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="33"/>
|
<location filename="../aboutdialog.cpp" line="35"/>
|
||||||
<source>Context menu option explanation:</source>
|
<source>Context menu option explanation:</source>
|
||||||
<translation>菜单项说明:</translation>
|
<translation>菜单项说明:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="40"/>
|
<location filename="../aboutdialog.cpp" line="42"/>
|
||||||
<source>Make window stay on top of all other windows.</source>
|
<source>Make window stay on top of all other windows.</source>
|
||||||
<translation>使窗口始终至于其它非置顶窗口上方。</translation>
|
<translation>使窗口始终至于其它非置顶窗口上方。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="43"/>
|
<location filename="../aboutdialog.cpp" line="45"/>
|
||||||
<source>Avoid close window accidentally. (eg. by double clicking the window)</source>
|
<source>Avoid close window accidentally. (eg. by double clicking the window)</source>
|
||||||
<translation>避免窗口意外关闭。(如:不小心双击了窗口触发了关闭窗口行为)</translation>
|
<translation>避免窗口意外关闭。(如:不小心双击了窗口触发了关闭窗口行为)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="53"/>
|
<location filename="../aboutdialog.cpp" line="55"/>
|
||||||
<source>Version: %1</source>
|
<source>Version: %1</source>
|
||||||
<translation>版本: %1</translation>
|
<translation>版本: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -48,129 +48,129 @@
|
|||||||
<translation type="vanished">版权所有 (c) 2020 %1</translation>
|
<translation type="vanished">版权所有 (c) 2020 %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="64"/>
|
<location filename="../aboutdialog.cpp" line="66"/>
|
||||||
<source>Logo designed by %1</source>
|
<source>Logo designed by %1</source>
|
||||||
<translation>Logo 由 %1 设计</translation>
|
<translation>Logo 由 %1 设计</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="66"/>
|
<location filename="../aboutdialog.cpp" line="68"/>
|
||||||
<source>Built with Qt %1 (%2)</source>
|
<source>Built with Qt %1 (%2)</source>
|
||||||
<translation>使用 Qt %1 (%2) 进行构建</translation>
|
<translation>使用 Qt %1 (%2) 进行构建</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="67"/>
|
<location filename="../aboutdialog.cpp" line="69"/>
|
||||||
<source>Source code</source>
|
<source>Source code</source>
|
||||||
<translation>源代码</translation>
|
<translation>源代码</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="77"/>
|
<location filename="../aboutdialog.cpp" line="79"/>
|
||||||
<source>Contributors</source>
|
<source>Contributors</source>
|
||||||
<translation>贡献者</translation>
|
<translation>贡献者</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="79"/>
|
<location filename="../aboutdialog.cpp" line="81"/>
|
||||||
<source>List of contributors on GitHub</source>
|
<source>List of contributors on GitHub</source>
|
||||||
<translation>GitHub 上的贡献者列表</translation>
|
<translation>GitHub 上的贡献者列表</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="80"/>
|
<location filename="../aboutdialog.cpp" line="82"/>
|
||||||
<source>Thanks to all people who contributed to this project.</source>
|
<source>Thanks to all people who contributed to this project.</source>
|
||||||
<translation>感谢所有参与此项目的朋友。</translation>
|
<translation>感谢所有参与此项目的朋友。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="84"/>
|
<location filename="../aboutdialog.cpp" line="86"/>
|
||||||
<source>Translators</source>
|
<source>Translators</source>
|
||||||
<translation>翻译者</translation>
|
<translation>翻译者</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="85"/>
|
<location filename="../aboutdialog.cpp" line="87"/>
|
||||||
<source>I would like to thank the following people who volunteered to translate this application.</source>
|
<source>I would like to thank the following people who volunteered to translate this application.</source>
|
||||||
<translation>我想要感谢下列自愿参与翻译此应用程序的朋友。</translation>
|
<translation>我想要感谢下列自愿参与翻译此应用程序的朋友。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="129"/>
|
<location filename="../aboutdialog.cpp" line="131"/>
|
||||||
<source>%1 is built on the following free software libraries:</source>
|
<source>%1 is built on the following free software libraries:</source>
|
||||||
<comment>Free as in freedom</comment>
|
<comment>Free as in freedom</comment>
|
||||||
<translation>%1 采用了下列自由软件程序库进行构建:</translation>
|
<translation>%1 采用了下列自由软件程序库进行构建:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="153"/>
|
<location filename="../aboutdialog.cpp" line="155"/>
|
||||||
<source>&Special Thanks</source>
|
<source>&Special Thanks</source>
|
||||||
<translation>致谢(&S)</translation>
|
<translation>致谢(&S)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="155"/>
|
<location filename="../aboutdialog.cpp" line="157"/>
|
||||||
<source>&Third-party Libraries</source>
|
<source>&Third-party Libraries</source>
|
||||||
<translation>第三方程序库(&T)</translation>
|
<translation>第三方程序库(&T)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="91"/>
|
<location filename="../aboutdialog.cpp" line="93"/>
|
||||||
<source>Your Rights</source>
|
<source>Your Rights</source>
|
||||||
<translation>用户的权利</translation>
|
<translation>用户的权利</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="46"/>
|
<location filename="../aboutdialog.cpp" line="48"/>
|
||||||
<source>Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.</source>
|
<source>Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.</source>
|
||||||
<translation>切换图片时,防止重置当前视图的缩放/旋转/翻转状态。</translation>
|
<translation>切换图片时,防止重置当前视图的缩放/旋转/翻转状态。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="61"/>
|
<location filename="../aboutdialog.cpp" line="63"/>
|
||||||
<source>Copyright (c) %1 %2</source>
|
<source>Copyright (c) %1 %2</source>
|
||||||
<comment>%1 is year, %2 is the name of copyright holder(s)</comment>
|
<comment>%1 is year, %2 is the name of copyright holder(s)</comment>
|
||||||
<translation>版权所有 © %1 %2</translation>
|
<translation>版权所有 © %1 %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="93"/>
|
<location filename="../aboutdialog.cpp" line="95"/>
|
||||||
<source>%1 is released under the MIT License.</source>
|
<source>%1 is released under the MIT License.</source>
|
||||||
<translation>%1 是在 MIT 许可协议下发布的。</translation>
|
<translation>%1 是在 MIT 许可协议下发布的。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="94"/>
|
<location filename="../aboutdialog.cpp" line="96"/>
|
||||||
<source>This license grants people a number of freedoms:</source>
|
<source>This license grants people a number of freedoms:</source>
|
||||||
<translation>此许可证赋予人们以下自由的权利:</translation>
|
<translation>此许可证赋予人们以下自由的权利:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="95"/>
|
<location filename="../aboutdialog.cpp" line="97"/>
|
||||||
<source>You are free to use %1, for any purpose</source>
|
<source>You are free to use %1, for any purpose</source>
|
||||||
<translation>任何人都可以为了任何目的自由地使用 %1</translation>
|
<translation>任何人都可以为了任何目的自由地使用 %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="96"/>
|
<location filename="../aboutdialog.cpp" line="98"/>
|
||||||
<source>You are free to distribute %1</source>
|
<source>You are free to distribute %1</source>
|
||||||
<translation>任何人都可以自由地分发 %1</translation>
|
<translation>任何人都可以自由地分发 %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="97"/>
|
<location filename="../aboutdialog.cpp" line="99"/>
|
||||||
<source>You can study how %1 works and change it</source>
|
<source>You can study how %1 works and change it</source>
|
||||||
<translation>任何人都可以自由地研究 %1 的工作原理并对其进行修改</translation>
|
<translation>任何人都可以自由地研究 %1 的工作原理并对其进行修改</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="98"/>
|
<location filename="../aboutdialog.cpp" line="100"/>
|
||||||
<source>You can distribute changed versions of %1</source>
|
<source>You can distribute changed versions of %1</source>
|
||||||
<translation>任何人都可以自由地分发修改过的 %1 版本</translation>
|
<translation>任何人都可以自由地分发修改过的 %1 版本</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="100"/>
|
<location filename="../aboutdialog.cpp" line="102"/>
|
||||||
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
|
<source>The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.</source>
|
||||||
<translation>此软件通过 MIT 许可证赋予用户上述自由,任何人无权剥夺。</translation>
|
<translation>此软件通过 MIT 许可证赋予用户上述自由,任何人无权剥夺。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="128"/>
|
<location filename="../aboutdialog.cpp" line="130"/>
|
||||||
<source>Third-party Libraries used by %1</source>
|
<source>Third-party Libraries used by %1</source>
|
||||||
<translation>%1 使用的第三方程序库</translation>
|
<translation>%1 使用的第三方程序库</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="151"/>
|
<location filename="../aboutdialog.cpp" line="153"/>
|
||||||
<source>&Help</source>
|
<source>&Help</source>
|
||||||
<translation>帮助(&H)</translation>
|
<translation>帮助(&H)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="152"/>
|
<location filename="../aboutdialog.cpp" line="154"/>
|
||||||
<source>&About</source>
|
<source>&About</source>
|
||||||
<translation>关于(&A)</translation>
|
<translation>关于(&A)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../aboutdialog.cpp" line="154"/>
|
<location filename="../aboutdialog.cpp" line="156"/>
|
||||||
<source>&License</source>
|
<source>&License</source>
|
||||||
<translation>软件许可证(&L)</translation>
|
<translation>软件许可证(&L)</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -178,7 +178,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>GraphicsScene</name>
|
<name>GraphicsScene</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="269"/>
|
<location filename="../mainwindow.cpp" line="276"/>
|
||||||
<location filename="../graphicsscene.cpp" line="100"/>
|
<location filename="../graphicsscene.cpp" line="100"/>
|
||||||
<source>Drag image here</source>
|
<source>Drag image here</source>
|
||||||
<translation>拖放图片至此</translation>
|
<translation>拖放图片至此</translation>
|
||||||
@@ -191,13 +191,13 @@
|
|||||||
<translation type="vanished">文件 URL 列表为空</translation>
|
<translation type="vanished">文件 URL 列表为空</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../graphicsview.cpp" line="52"/>
|
<location filename="../graphicsview.cpp" line="50"/>
|
||||||
<source>File is not a valid image</source>
|
<source>File is not a valid image</source>
|
||||||
<translation>文件不是有效的图片文件</translation>
|
<translation>文件不是有效的图片文件</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../graphicsview.cpp" line="56"/>
|
<location filename="../graphicsview.cpp" line="54"/>
|
||||||
<location filename="../graphicsview.cpp" line="60"/>
|
<location filename="../graphicsview.cpp" line="58"/>
|
||||||
<source>Image data is invalid or currently unsupported</source>
|
<source>Image data is invalid or currently unsupported</source>
|
||||||
<translation>图像数据无效或暂未支持</translation>
|
<translation>图像数据无效或暂未支持</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -213,38 +213,43 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MainWindow</name>
|
<name>MainWindow</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="180"/>
|
<location filename="../mainwindow.cpp" line="181"/>
|
||||||
<location filename="../mainwindow.cpp" line="540"/>
|
<location filename="../mainwindow.cpp" line="545"/>
|
||||||
<source>File url list is empty</source>
|
<source>File url list is empty</source>
|
||||||
<translation>文件 URL 列表为空</translation>
|
<translation>文件 URL 列表为空</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="438"/>
|
<location filename="../mainwindow.cpp" line="445"/>
|
||||||
<source>&Copy</source>
|
<source>&Copy</source>
|
||||||
<translation>复制(&C)</translation>
|
<translation>复制(&C)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="548"/>
|
<location filename="../mainwindow.cpp" line="553"/>
|
||||||
<source>Image data is invalid</source>
|
<source>Image data is invalid</source>
|
||||||
<translation>图片数据无效</translation>
|
<translation>图片数据无效</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="555"/>
|
<location filename="../mainwindow.cpp" line="560"/>
|
||||||
<source>Not supported mimedata: %1</source>
|
<source>Not supported mimedata: %1</source>
|
||||||
<translation>不受支持的 MimeData 格式:%1</translation>
|
<translation>不受支持的 MimeData 格式:%1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="764"/>
|
<location filename="../mainwindow.cpp" line="759"/>
|
||||||
<source>Image From Clipboard</source>
|
<source>Image From Clipboard</source>
|
||||||
<translation>剪切板图片</translation>
|
<translation>剪切板图片</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="782"/>
|
<location filename="../mainwindow.cpp" line="777"/>
|
||||||
<source>Are you sure you want to move "%1" to recycle bin?</source>
|
<source>Are you sure you want to move "%1" to recycle bin?</source>
|
||||||
<translation>您确认要将“%1”移动到回收站吗?</translation>
|
<translation>您确认要将“%1”移动到回收站吗?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="787"/>
|
<location filename="../mainwindow.cpp" line="781"/>
|
||||||
|
<source>Failed to move file to trash</source>
|
||||||
|
<translation>无法移动文件至回收站</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="782"/>
|
||||||
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
|
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
|
||||||
<translation>移至回收站失败,这可能由文件权限、文件系统或平台限制导致。</translation>
|
<translation>移至回收站失败,这可能由文件权限、文件系统或平台限制导致。</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -265,19 +270,19 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="118"/>
|
<location filename="../actionmanager.cpp" line="118"/>
|
||||||
<location filename="../aboutdialog.cpp" line="39"/>
|
<location filename="../aboutdialog.cpp" line="41"/>
|
||||||
<source>Stay on top</source>
|
<source>Stay on top</source>
|
||||||
<translation>总在最前</translation>
|
<translation>总在最前</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="119"/>
|
<location filename="../actionmanager.cpp" line="119"/>
|
||||||
<location filename="../aboutdialog.cpp" line="42"/>
|
<location filename="../aboutdialog.cpp" line="44"/>
|
||||||
<source>Protected mode</source>
|
<source>Protected mode</source>
|
||||||
<translation>保护模式</translation>
|
<translation>保护模式</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../actionmanager.cpp" line="120"/>
|
<location filename="../actionmanager.cpp" line="120"/>
|
||||||
<location filename="../aboutdialog.cpp" line="45"/>
|
<location filename="../aboutdialog.cpp" line="47"/>
|
||||||
<source>Keep transformation</source>
|
<source>Keep transformation</source>
|
||||||
<comment>The 'transformation' means the flip/rotation status that currently applied to the image view</comment>
|
<comment>The 'transformation' means the flip/rotation status that currently applied to the image view</comment>
|
||||||
<translation>保持视图变换</translation>
|
<translation>保持视图变换</translation>
|
||||||
@@ -363,7 +368,7 @@
|
|||||||
<translation>下一个图像</translation>
|
<translation>下一个图像</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../mainwindow.cpp" line="781"/>
|
<location filename="../mainwindow.cpp" line="776"/>
|
||||||
<location filename="../actionmanager.cpp" line="117"/>
|
<location filename="../actionmanager.cpp" line="117"/>
|
||||||
<source>Move to Trash</source>
|
<source>Move to Trash</source>
|
||||||
<translation>移至回收站</translation>
|
<translation>移至回收站</translation>
|
||||||
@@ -406,314 +411,314 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>MetadataModel</name>
|
<name>MetadataModel</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="41"/>
|
<location filename="../metadatamodel.cpp" line="43"/>
|
||||||
<source>Origin</source>
|
<source>Origin</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>来源</translation>
|
<translation>来源</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="42"/>
|
<location filename="../metadatamodel.cpp" line="44"/>
|
||||||
<source>Image</source>
|
<source>Image</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>图像</translation>
|
<translation>图像</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="46"/>
|
<location filename="../metadatamodel.cpp" line="48"/>
|
||||||
<source>File</source>
|
<source>File</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>文件</translation>
|
<translation>文件</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="43"/>
|
<location filename="../metadatamodel.cpp" line="45"/>
|
||||||
<source>Camera</source>
|
<source>Camera</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>照相机</translation>
|
<translation>照相机</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="33"/>
|
<location filename="../metadatamodel.cpp" line="35"/>
|
||||||
<source>%1 File</source>
|
<source>%1 File</source>
|
||||||
<translation>%1 文件</translation>
|
<translation>%1 文件</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="40"/>
|
<location filename="../metadatamodel.cpp" line="42"/>
|
||||||
<source>Description</source>
|
<source>Description</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>说明</translation>
|
<translation>说明</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="44"/>
|
<location filename="../metadatamodel.cpp" line="46"/>
|
||||||
<source>Advanced photo</source>
|
<source>Advanced photo</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>高级照片</translation>
|
<translation>高级照片</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="45"/>
|
<location filename="../metadatamodel.cpp" line="47"/>
|
||||||
<source>GPS</source>
|
<source>GPS</source>
|
||||||
<comment>Section name.</comment>
|
<comment>Section name.</comment>
|
||||||
<translation>GPS</translation>
|
<translation>GPS</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="50"/>
|
<location filename="../metadatamodel.cpp" line="52"/>
|
||||||
<source>Dimensions</source>
|
<source>Dimensions</source>
|
||||||
<translation>分辨率</translation>
|
<translation>分辨率</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="52"/>
|
<location filename="../metadatamodel.cpp" line="54"/>
|
||||||
<source>Aspect ratio</source>
|
<source>Aspect ratio</source>
|
||||||
<translation>纵横比</translation>
|
<translation>纵横比</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="56"/>
|
<location filename="../metadatamodel.cpp" line="58"/>
|
||||||
<source>Frame count</source>
|
<source>Frame count</source>
|
||||||
<translation>总帧数</translation>
|
<translation>总帧数</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="60"/>
|
<location filename="../metadatamodel.cpp" line="62"/>
|
||||||
<source>Name</source>
|
<source>Name</source>
|
||||||
<translation>名称</translation>
|
<translation>名称</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="62"/>
|
<location filename="../metadatamodel.cpp" line="64"/>
|
||||||
<source>Item type</source>
|
<source>Item type</source>
|
||||||
<translation>项目类型</translation>
|
<translation>项目类型</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="64"/>
|
<location filename="../metadatamodel.cpp" line="66"/>
|
||||||
<source>Folder path</source>
|
<source>Folder path</source>
|
||||||
<translation>文件夹路径</translation>
|
<translation>文件夹路径</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="66"/>
|
<location filename="../metadatamodel.cpp" line="68"/>
|
||||||
<source>Size</source>
|
<source>Size</source>
|
||||||
<translation>大小</translation>
|
<translation>大小</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="68"/>
|
<location filename="../metadatamodel.cpp" line="70"/>
|
||||||
<source>Date created</source>
|
<source>Date created</source>
|
||||||
<translation>创建日期</translation>
|
<translation>创建日期</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="70"/>
|
<location filename="../metadatamodel.cpp" line="72"/>
|
||||||
<source>Date modified</source>
|
<source>Date modified</source>
|
||||||
<translation>修改日期</translation>
|
<translation>修改日期</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="77"/>
|
<location filename="../metadatamodel.cpp" line="79"/>
|
||||||
<source>Title</source>
|
<source>Title</source>
|
||||||
<translation>标题</translation>
|
<translation>标题</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="79"/>
|
<location filename="../metadatamodel.cpp" line="81"/>
|
||||||
<source>Subject</source>
|
<source>Subject</source>
|
||||||
<translation>主题</translation>
|
<translation>主题</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="81"/>
|
<location filename="../metadatamodel.cpp" line="83"/>
|
||||||
<source>Rating</source>
|
<source>Rating</source>
|
||||||
<translation>评分</translation>
|
<translation>评分</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="83"/>
|
<location filename="../metadatamodel.cpp" line="85"/>
|
||||||
<source>Tags</source>
|
<source>Tags</source>
|
||||||
<translation>标记</translation>
|
<translation>标记</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="85"/>
|
<location filename="../metadatamodel.cpp" line="87"/>
|
||||||
<source>Comments</source>
|
<source>Comments</source>
|
||||||
<translation>备注</translation>
|
<translation>备注</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="88"/>
|
<location filename="../metadatamodel.cpp" line="90"/>
|
||||||
<source>Authors</source>
|
<source>Authors</source>
|
||||||
<translation>作者</translation>
|
<translation>作者</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="90"/>
|
<location filename="../metadatamodel.cpp" line="92"/>
|
||||||
<source>Date taken</source>
|
<source>Date taken</source>
|
||||||
<translation>拍摄日期</translation>
|
<translation>拍摄日期</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="96"/>
|
<location filename="../metadatamodel.cpp" line="98"/>
|
||||||
<source>Program name</source>
|
<source>Program name</source>
|
||||||
<translation>程序名称</translation>
|
<translation>程序名称</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="98"/>
|
<location filename="../metadatamodel.cpp" line="100"/>
|
||||||
<source>Copyright</source>
|
<source>Copyright</source>
|
||||||
<translation>版权</translation>
|
<translation>版权</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="101"/>
|
<location filename="../metadatamodel.cpp" line="103"/>
|
||||||
<source>Horizontal resolution</source>
|
<source>Horizontal resolution</source>
|
||||||
<translation>水平分辨率</translation>
|
<translation>水平分辨率</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="103"/>
|
<location filename="../metadatamodel.cpp" line="105"/>
|
||||||
<source>Vertical resolution</source>
|
<source>Vertical resolution</source>
|
||||||
<translation>垂直分辨率</translation>
|
<translation>垂直分辨率</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="105"/>
|
<location filename="../metadatamodel.cpp" line="107"/>
|
||||||
<source>Resolution unit</source>
|
<source>Resolution unit</source>
|
||||||
<translation>分辨率单位</translation>
|
<translation>分辨率单位</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="107"/>
|
<location filename="../metadatamodel.cpp" line="109"/>
|
||||||
<source>Colour representation</source>
|
<source>Colour representation</source>
|
||||||
<translation>色彩空间</translation>
|
<translation>色彩空间</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="110"/>
|
<location filename="../metadatamodel.cpp" line="112"/>
|
||||||
<source>Camera maker</source>
|
<source>Camera maker</source>
|
||||||
<translation>照相机制造商</translation>
|
<translation>照相机制造商</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="112"/>
|
<location filename="../metadatamodel.cpp" line="114"/>
|
||||||
<source>Camera model</source>
|
<source>Camera model</source>
|
||||||
<translation>照相机型号</translation>
|
<translation>照相机型号</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="114"/>
|
<location filename="../metadatamodel.cpp" line="116"/>
|
||||||
<source>F-stop</source>
|
<source>F-stop</source>
|
||||||
<translation>光圈值</translation>
|
<translation>光圈值</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="116"/>
|
<location filename="../metadatamodel.cpp" line="118"/>
|
||||||
<source>Exposure time</source>
|
<source>Exposure time</source>
|
||||||
<translation>曝光时间</translation>
|
<translation>曝光时间</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="118"/>
|
<location filename="../metadatamodel.cpp" line="120"/>
|
||||||
<source>ISO speed</source>
|
<source>ISO speed</source>
|
||||||
<translation>ISO 感光度</translation>
|
<translation>ISO 感光度</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="120"/>
|
<location filename="../metadatamodel.cpp" line="122"/>
|
||||||
<source>Exposure bias</source>
|
<source>Exposure bias</source>
|
||||||
<translation>曝光补偿</translation>
|
<translation>曝光补偿</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="122"/>
|
<location filename="../metadatamodel.cpp" line="124"/>
|
||||||
<source>Focal length</source>
|
<source>Focal length</source>
|
||||||
<translation>焦距</translation>
|
<translation>焦距</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="124"/>
|
<location filename="../metadatamodel.cpp" line="126"/>
|
||||||
<source>Max aperture</source>
|
<source>Max aperture</source>
|
||||||
<translation>镜头最大光圈</translation>
|
<translation>镜头最大光圈</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="126"/>
|
<location filename="../metadatamodel.cpp" line="128"/>
|
||||||
<source>Metering mode</source>
|
<source>Metering mode</source>
|
||||||
<translation>测光模式</translation>
|
<translation>测光模式</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="128"/>
|
<location filename="../metadatamodel.cpp" line="130"/>
|
||||||
<source>Subject distance</source>
|
<source>Subject distance</source>
|
||||||
<translation>目标距离</translation>
|
<translation>目标距离</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="130"/>
|
<location filename="../metadatamodel.cpp" line="132"/>
|
||||||
<source>Flash mode</source>
|
<source>Flash mode</source>
|
||||||
<translation>闪光灯模式</translation>
|
<translation>闪光灯模式</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="132"/>
|
<location filename="../metadatamodel.cpp" line="134"/>
|
||||||
<source>35mm focal length</source>
|
<source>35mm focal length</source>
|
||||||
<translation>换算至 35mm 焦距</translation>
|
<translation>换算至 35mm 焦距</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="135"/>
|
<location filename="../metadatamodel.cpp" line="137"/>
|
||||||
<source>Lens model</source>
|
<source>Lens model</source>
|
||||||
<translation>镜头型号</translation>
|
<translation>镜头型号</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="137"/>
|
<location filename="../metadatamodel.cpp" line="139"/>
|
||||||
<source>Contrast</source>
|
<source>Contrast</source>
|
||||||
<translation>对比度</translation>
|
<translation>对比度</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="139"/>
|
<location filename="../metadatamodel.cpp" line="141"/>
|
||||||
<source>Brightness</source>
|
<source>Brightness</source>
|
||||||
<translation>亮度</translation>
|
<translation>亮度</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="141"/>
|
<location filename="../metadatamodel.cpp" line="143"/>
|
||||||
<source>Exposure program</source>
|
<source>Exposure program</source>
|
||||||
<translation>曝光程序</translation>
|
<translation>曝光程序</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="143"/>
|
<location filename="../metadatamodel.cpp" line="145"/>
|
||||||
<source>Saturation</source>
|
<source>Saturation</source>
|
||||||
<translation>饱和度</translation>
|
<translation>饱和度</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="145"/>
|
<location filename="../metadatamodel.cpp" line="147"/>
|
||||||
<source>Sharpness</source>
|
<source>Sharpness</source>
|
||||||
<translation>锐度</translation>
|
<translation>锐度</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="147"/>
|
<location filename="../metadatamodel.cpp" line="149"/>
|
||||||
<source>White balance</source>
|
<source>White balance</source>
|
||||||
<translation>白平衡</translation>
|
<translation>白平衡</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="149"/>
|
<location filename="../metadatamodel.cpp" line="151"/>
|
||||||
<source>Digital zoom</source>
|
<source>Digital zoom</source>
|
||||||
<translation>数码变焦倍率</translation>
|
<translation>数码变焦倍率</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="151"/>
|
<location filename="../metadatamodel.cpp" line="153"/>
|
||||||
<source>EXIF version</source>
|
<source>EXIF version</source>
|
||||||
<translation>EXIF 版本</translation>
|
<translation>EXIF 版本</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="154"/>
|
<location filename="../metadatamodel.cpp" line="156"/>
|
||||||
<source>Latitude reference</source>
|
<source>Latitude reference</source>
|
||||||
<translation>纬度基准</translation>
|
<translation>纬度基准</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="156"/>
|
<location filename="../metadatamodel.cpp" line="158"/>
|
||||||
<source>Latitude</source>
|
<source>Latitude</source>
|
||||||
<translation>纬度</translation>
|
<translation>纬度</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="158"/>
|
<location filename="../metadatamodel.cpp" line="160"/>
|
||||||
<source>Longitude reference</source>
|
<source>Longitude reference</source>
|
||||||
<translation>经度基准</translation>
|
<translation>经度基准</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="160"/>
|
<location filename="../metadatamodel.cpp" line="162"/>
|
||||||
<source>Longitude</source>
|
<source>Longitude</source>
|
||||||
<translation>经度</translation>
|
<translation>经度</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="162"/>
|
<location filename="../metadatamodel.cpp" line="164"/>
|
||||||
<source>Altitude reference</source>
|
<source>Altitude reference</source>
|
||||||
<translation>海拔基准</translation>
|
<translation>海拔基准</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="164"/>
|
<location filename="../metadatamodel.cpp" line="166"/>
|
||||||
<source>Altitude</source>
|
<source>Altitude</source>
|
||||||
<translation>海拔</translation>
|
<translation>海拔</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="174"/>
|
<location filename="../metadatamodel.cpp" line="176"/>
|
||||||
<source>%1 x %2</source>
|
<source>%1 x %2</source>
|
||||||
<translation>%1 x %2</translation>
|
<translation>%1 x %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="192"/>
|
<location filename="../metadatamodel.cpp" line="194"/>
|
||||||
<source>%1 : %2</source>
|
<source>%1 : %2</source>
|
||||||
<translation>%1 : %2</translation>
|
<translation>%1 : %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="317"/>
|
<location filename="../metadatamodel.cpp" line="319"/>
|
||||||
<source>Property</source>
|
<source>Property</source>
|
||||||
<translation>属性</translation>
|
<translation>属性</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../metadatamodel.cpp" line="317"/>
|
<location filename="../metadatamodel.cpp" line="319"/>
|
||||||
<source>Value</source>
|
<source>Value</source>
|
||||||
<translation>值</translation>
|
<translation>值</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -721,126 +726,141 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>SettingsDialog</name>
|
<name>SettingsDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="29"/>
|
<location filename="../settingsdialog.cpp" line="31"/>
|
||||||
<source>Settings</source>
|
<source>Settings</source>
|
||||||
<translation>设定</translation>
|
<translation>设定</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="37"/>
|
<location filename="../settingsdialog.cpp" line="39"/>
|
||||||
<source>Options</source>
|
<source>Options</source>
|
||||||
<translation>选项</translation>
|
<translation>选项</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="49"/>
|
<location filename="../settingsdialog.cpp" line="51"/>
|
||||||
<source>Shortcuts</source>
|
<source>Shortcuts</source>
|
||||||
<translation>快捷键</translation>
|
<translation>快捷键</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="59"/>
|
<location filename="../settingsdialog.cpp" line="61"/>
|
||||||
<source>Editing shortcuts for action "%1":</source>
|
<source>Editing shortcuts for action "%1":</source>
|
||||||
<translation>编辑“%1”的快捷键:</translation>
|
<translation>编辑“%1”的快捷键:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="68"/>
|
<location filename="../settingsdialog.cpp" line="70"/>
|
||||||
<source>Failed to set shortcuts</source>
|
<source>Failed to set shortcuts</source>
|
||||||
<translation>快捷键设置失败</translation>
|
<translation>快捷键设置失败</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="69"/>
|
<location filename="../settingsdialog.cpp" line="71"/>
|
||||||
<source>Please check if shortcuts are duplicated with existing shortcuts.</source>
|
<source>Please check if shortcuts are duplicated with existing shortcuts.</source>
|
||||||
<translation>请检查快捷键是否与现有快捷键冲突。</translation>
|
<translation>请检查快捷键是否与现有快捷键冲突。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="76"/>
|
<location filename="../settingsdialog.cpp" line="78"/>
|
||||||
<source>Do nothing</source>
|
<source>Do nothing</source>
|
||||||
<translation>什么也不做</translation>
|
<translation>什么也不做</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="77"/>
|
<location filename="../settingsdialog.cpp" line="79"/>
|
||||||
<source>Close the window</source>
|
<source>Close the window</source>
|
||||||
<translation>关闭窗口</translation>
|
<translation>关闭窗口</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="78"/>
|
<location filename="../settingsdialog.cpp" line="80"/>
|
||||||
<source>Toggle maximize</source>
|
<source>Toggle maximize</source>
|
||||||
<translation>最大化窗口</translation>
|
<translation>最大化窗口</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="79"/>
|
<location filename="../settingsdialog.cpp" line="81"/>
|
||||||
<source>Toggle fullscreen</source>
|
<source>Toggle fullscreen</source>
|
||||||
<translation>全屏窗口</translation>
|
<translation>全屏窗口</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="83"/>
|
<location filename="../settingsdialog.cpp" line="85"/>
|
||||||
<source>Zoom in and out</source>
|
<source>Zoom in and out</source>
|
||||||
<translation>放大和缩小</translation>
|
<translation>放大和缩小</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="84"/>
|
<location filename="../settingsdialog.cpp" line="86"/>
|
||||||
<source>View next or previous item</source>
|
<source>View next or previous item</source>
|
||||||
<translation>查看下一项或上一项</translation>
|
<translation>查看下一项或上一项</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="88"/>
|
<location filename="../settingsdialog.cpp" line="90"/>
|
||||||
<source>Auto size</source>
|
<source>Auto size</source>
|
||||||
<translation>自动大小</translation>
|
<translation>自动大小</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="89"/>
|
<location filename="../settingsdialog.cpp" line="91"/>
|
||||||
<source>Maximized</source>
|
<source>Maximized</source>
|
||||||
<translation>最大化</translation>
|
<translation>最大化</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="93"/>
|
<location filename="../settingsdialog.cpp" line="92"/>
|
||||||
|
<source>Windowed</source>
|
||||||
|
<translation>窗口化</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="96"/>
|
||||||
<source>Round (Integer scaling)</source>
|
<source>Round (Integer scaling)</source>
|
||||||
<comment>This option means round up for .5 and above</comment>
|
<comment>This option means round up for .5 and above</comment>
|
||||||
<translation>四舍五入(整数缩放)</translation>
|
<translation>四舍五入(整数缩放)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="94"/>
|
<location filename="../settingsdialog.cpp" line="97"/>
|
||||||
<source>Ceil (Integer scaling)</source>
|
<source>Ceil (Integer scaling)</source>
|
||||||
<comment>This option means always round up</comment>
|
<comment>This option means always round up</comment>
|
||||||
<translation>向上取整(整数缩放)</translation>
|
<translation>向上取整(整数缩放)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="95"/>
|
<location filename="../settingsdialog.cpp" line="98"/>
|
||||||
<source>Floor (Integer scaling)</source>
|
<source>Floor (Integer scaling)</source>
|
||||||
<comment>This option means always round down</comment>
|
<comment>This option means always round down</comment>
|
||||||
<translation>向下取整(整数缩放)</translation>
|
<translation>向下取整(整数缩放)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="96"/>
|
<location filename="../settingsdialog.cpp" line="99"/>
|
||||||
<source>Follow system (Fractional scaling)</source>
|
<source>Follow system (Fractional scaling)</source>
|
||||||
<comment>This option means don't round</comment>
|
<comment>This option means don't round</comment>
|
||||||
<translation>跟随系统(小数缩放)</translation>
|
<translation>跟随系统(小数缩放)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="119"/>
|
<location filename="../settingsdialog.cpp" line="122"/>
|
||||||
<source>Stay on top when start-up</source>
|
<source>Stay on top when start-up</source>
|
||||||
<translation>启动时保持窗口总在最前</translation>
|
<translation>启动时保持窗口总在最前</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="120"/>
|
<location filename="../settingsdialog.cpp" line="123"/>
|
||||||
|
<source>Use built-in close window animation</source>
|
||||||
|
<translation>使用内置的关闭窗口动画</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="124"/>
|
||||||
<source>Use light-color checkerboard</source>
|
<source>Use light-color checkerboard</source>
|
||||||
<translation>使用亮色棋盘格</translation>
|
<translation>使用亮色棋盘格</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="121"/>
|
<location filename="../settingsdialog.cpp" line="125"/>
|
||||||
|
<source>Loop the loaded gallery</source>
|
||||||
|
<translation>循环所加载的图像列表</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="126"/>
|
||||||
<source>Double-click behavior</source>
|
<source>Double-click behavior</source>
|
||||||
<translation>双击时的行为</translation>
|
<translation>双击时的行为</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="122"/>
|
<location filename="../settingsdialog.cpp" line="127"/>
|
||||||
<source>Mouse wheel behavior</source>
|
<source>Mouse wheel behavior</source>
|
||||||
<translation>鼠标滚轮行为</translation>
|
<translation>鼠标滚轮行为</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="123"/>
|
<location filename="../settingsdialog.cpp" line="128"/>
|
||||||
<source>Default window size</source>
|
<source>Default window size</source>
|
||||||
<translation>默认窗口大小</translation>
|
<translation>默认窗口大小</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../settingsdialog.cpp" line="124"/>
|
<location filename="../settingsdialog.cpp" line="129"/>
|
||||||
<source>HiDPI scale factor rounding policy</source>
|
<source>HiDPI scale factor rounding policy</source>
|
||||||
<translation>HiDPI 高分屏缩放策略</translation>
|
<translation>HiDPI 高分屏缩放策略</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -848,7 +868,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>ShortcutEdit</name>
|
<name>ShortcutEdit</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../shortcutedit.cpp" line="111"/>
|
<location filename="../shortcutedit.cpp" line="109"/>
|
||||||
<source>No shortcuts</source>
|
<source>No shortcuts</source>
|
||||||
<translation>无快捷键</translation>
|
<translation>无快捷键</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -856,7 +876,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>ShortcutEditor</name>
|
<name>ShortcutEditor</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../shortcutedit.cpp" line="77"/>
|
<location filename="../shortcutedit.cpp" line="75"/>
|
||||||
<source>Shortcut #%1</source>
|
<source>Shortcut #%1</source>
|
||||||
<translation>快捷键 %1</translation>
|
<translation>快捷键 %1</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -864,17 +884,17 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>main</name>
|
<name>main</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="43"/>
|
<location filename="../main.cpp" line="42"/>
|
||||||
<source>Pineapple Pictures</source>
|
<source>Pineapple Pictures</source>
|
||||||
<translation>菠萝看图</translation>
|
<translation>菠萝看图</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="46"/>
|
<location filename="../main.cpp" line="45"/>
|
||||||
<source>List supported image format suffixes, and quit program.</source>
|
<source>List supported image format suffixes, and quit program.</source>
|
||||||
<translation>列出所支持的图像格式扩展名,并退出程序。</translation>
|
<translation>列出所支持的图像格式扩展名,并退出程序。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="50"/>
|
<location filename="../main.cpp" line="49"/>
|
||||||
<source>File list.</source>
|
<source>File list.</source>
|
||||||
<translation>文件列表。</translation>
|
<translation>文件列表。</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|||||||
12
appveyor.yml
12
appveyor.yml
@@ -12,18 +12,10 @@ environment:
|
|||||||
QTDIR: C:\Qt\6.8\mingw_64
|
QTDIR: C:\Qt\6.8\mingw_64
|
||||||
MINGW64: C:\Qt\Tools\mingw1310_64
|
MINGW64: C:\Qt\Tools\mingw1310_64
|
||||||
KF_BRANCH: master
|
KF_BRANCH: master
|
||||||
EXIV2_VERSION: "0.28.3"
|
EXIV2_VERSION: "0.28.5"
|
||||||
EXIV2_CMAKE_OPTIONS: "-DEXIV2_ENABLE_BROTLI=OFF -DEXIV2_ENABLE_INIH=OFF -DEXIV2_BUILD_EXIV2_COMMAND=OFF"
|
EXIV2_CMAKE_OPTIONS: "-DEXIV2_ENABLE_BROTLI=OFF -DEXIV2_ENABLE_INIH=OFF -DEXIV2_BUILD_EXIV2_COMMAND=OFF"
|
||||||
PPIC_CMAKE_OPTIONS: "-DPREFER_QT_5=OFF"
|
PPIC_CMAKE_OPTIONS: "-DPREFER_QT_5=OFF"
|
||||||
WINDEPLOYQT_ARGS: "--verbose=2 --no-quick-import --no-translations --no-opengl-sw --no-system-d3d-compiler --skip-plugin-types tls,networkinformation"
|
WINDEPLOYQT_ARGS: "--verbose=2 --no-quick-import --no-translations --no-opengl-sw --no-system-d3d-compiler --skip-plugin-types tls,networkinformation"
|
||||||
- job_name: mingw81_64_qt5_15_2
|
|
||||||
QTDIR: C:\Qt\5.15.2\mingw81_64
|
|
||||||
MINGW64: C:\Qt\Tools\mingw810_64
|
|
||||||
KF_BRANCH: kf5
|
|
||||||
EXIV2_VERSION: "0.27.7"
|
|
||||||
EXIV2_CMAKE_OPTIONS: "-DEXIV2_BUILD_SAMPLES=OFF -DEXIV2_ENABLE_WIN_UNICODE=ON -DEXIV2_BUILD_EXIV2_COMMAND=OFF"
|
|
||||||
PPIC_CMAKE_OPTIONS: "-DPREFER_QT_5=ON"
|
|
||||||
WINDEPLOYQT_ARGS: "--verbose=2 --no-quick-import --no-translations --no-opengl-sw --no-angle --no-system-d3d-compiler"
|
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- mkdir %CMAKE_INSTALL_PREFIX%
|
- mkdir %CMAKE_INSTALL_PREFIX%
|
||||||
@@ -98,7 +90,7 @@ build_script:
|
|||||||
- cd karchive
|
- cd karchive
|
||||||
- mkdir build
|
- mkdir build
|
||||||
- cd build
|
- cd build
|
||||||
- cmake .. -G "Ninja" -DWITH_LIBZSTD=OFF -DWITH_BZIP2=OFF -DWITH_LIBLZMA=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%CMAKE_INSTALL_PREFIX%
|
- cmake .. -G "Ninja" -DBUILD_TESTING=OFF -DWITH_LIBZSTD=OFF -DWITH_BZIP2=OFF -DWITH_LIBLZMA=OFF -DWITH_OPENSSL=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%CMAKE_INSTALL_PREFIX%
|
||||||
- cmake --build . --config Release
|
- cmake --build . --config Release
|
||||||
- cmake --build . --config Release --target install/strip
|
- cmake --build . --config Release --target install/strip
|
||||||
- cd %APPVEYOR_BUILD_FOLDER%
|
- cd %APPVEYOR_BUILD_FOLDER%
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
<li><u>Russian</u>: Sergey Shornikov, Artem, Andrey</li>
|
<li><u>Russian</u>: Sergey Shornikov, Artem, Andrey</li>
|
||||||
<li><u>Sinhala</u>: HelaBasa</li>
|
<li><u>Sinhala</u>: HelaBasa</li>
|
||||||
<li><u>Spanish</u>: Toni Estévez, Génesis Toxical, William(ѕ)ⁿ, gallegonovato</li>
|
<li><u>Spanish</u>: Toni Estévez, Génesis Toxical, William(ѕ)ⁿ, gallegonovato</li>
|
||||||
|
<li><u>Tamil</u>: தமிழ்நேரம் (TamilNeram)</li>
|
||||||
<li><u>Turkish</u>: E-Akcaer, Oğuz Ersen, Sabri Ünal</li>
|
<li><u>Turkish</u>: E-Akcaer, Oğuz Ersen, Sabri Ünal</li>
|
||||||
<li><u>Ukrainian</u>: Dan, volkov, Сергій</li>
|
<li><u>Ukrainian</u>: Dan, volkov, Сергій</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
250
dist/MacOSXBundleInfo.plist.in
vendored
250
dist/MacOSXBundleInfo.plist.in
vendored
@@ -1,114 +1,136 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
<plist version="1.0">
|
<plist version="1.0">
|
||||||
<dict>
|
<dict>
|
||||||
<key>CFBundleDevelopmentRegion</key>
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
<string>English</string>
|
<string>English</string>
|
||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
<string>${MACOSX_BUNDLE_EXECUTABLE_NAME}</string>
|
<string>${MACOSX_BUNDLE_EXECUTABLE_NAME}</string>
|
||||||
<key>CFBundleGetInfoString</key>
|
<key>CFBundleGetInfoString</key>
|
||||||
<string>${MACOSX_BUNDLE_INFO_STRING}</string>
|
<string>${MACOSX_BUNDLE_INFO_STRING}</string>
|
||||||
<key>CFBundleIconFile</key>
|
<key>CFBundleIconFile</key>
|
||||||
<string>${MACOSX_BUNDLE_ICON_FILE}</string>
|
<string>${MACOSX_BUNDLE_ICON_FILE}</string>
|
||||||
<key>CFBundleIdentifier</key>
|
<key>CFBundleIdentifier</key>
|
||||||
<string>${MACOSX_BUNDLE_GUI_IDENTIFIER}</string>
|
<string>${MACOSX_BUNDLE_GUI_IDENTIFIER}</string>
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
<string>6.0</string>
|
<string>6.0</string>
|
||||||
<key>CFBundleLongVersionString</key>
|
<key>CFBundleLongVersionString</key>
|
||||||
<string>${MACOSX_BUNDLE_LONG_VERSION_STRING}</string>
|
<string>${MACOSX_BUNDLE_LONG_VERSION_STRING}</string>
|
||||||
<key>CFBundleName</key>
|
<key>CFBundleName</key>
|
||||||
<string>${MACOSX_BUNDLE_BUNDLE_NAME}</string>
|
<string>${MACOSX_BUNDLE_BUNDLE_NAME}</string>
|
||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>APPL</string>
|
<string>APPL</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>${MACOSX_BUNDLE_SHORT_VERSION_STRING}</string>
|
<string>${MACOSX_BUNDLE_SHORT_VERSION_STRING}</string>
|
||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>${MACOSX_BUNDLE_BUNDLE_VERSION}</string>
|
<string>${MACOSX_BUNDLE_BUNDLE_VERSION}</string>
|
||||||
<key>CSResourcesFileMapped</key>
|
<key>CSResourcesFileMapped</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>NSHumanReadableCopyright</key>
|
<key>NSHumanReadableCopyright</key>
|
||||||
<string>${MACOSX_BUNDLE_COPYRIGHT}</string>
|
<string>${MACOSX_BUNDLE_COPYRIGHT}</string>
|
||||||
<key>CFBundleDocumentTypes</key>
|
<!-- FIXME: this list can't be automatically generated by Qt's CMake API, don't know why. -->
|
||||||
<array>
|
<key>CFBundleLocalizations</key>
|
||||||
<!-- JPEG -->
|
<array>
|
||||||
<dict>
|
<string>en</string>
|
||||||
<key>CFBundleTypeName</key>
|
<string>ca</string>
|
||||||
<string>JPEG Image</string>
|
<string>de</string>
|
||||||
<key>CFBundleTypeExtensions</key>
|
<string>es</string>
|
||||||
<array>
|
<string>fr</string>
|
||||||
<string>jpg</string>
|
<string>id</string>
|
||||||
<string>jpeg</string>
|
<string>it</string>
|
||||||
<string>jfif</string>
|
<string>ja</string>
|
||||||
</array>
|
<string>ko</string>
|
||||||
<key>CFBundleTypeMIMETypes</key>
|
<string>nb_NO</string>
|
||||||
<array>
|
<string>nl</string>
|
||||||
<string>image/jpeg</string>
|
<string>pa_PK</string>
|
||||||
</array>
|
<string>ru</string>
|
||||||
<key>CFBundleTypeRole</key>
|
<string>si</string>
|
||||||
<string>Viewer</string>
|
<string>ta</string>
|
||||||
</dict>
|
<string>tr</string>
|
||||||
<!-- PNG -->
|
<string>uk</string>
|
||||||
<dict>
|
<string>zh_CN</string>
|
||||||
<key>CFBundleTypeName</key>
|
</array>
|
||||||
<string>PNG Image</string>
|
<key>CFBundleDocumentTypes</key>
|
||||||
<key>CFBundleTypeExtensions</key>
|
<array>
|
||||||
<array>
|
<!-- JPEG -->
|
||||||
<string>png</string>
|
<dict>
|
||||||
</array>
|
<key>CFBundleTypeName</key>
|
||||||
<key>CFBundleTypeMIMETypes</key>
|
<string>JPEG Image</string>
|
||||||
<array>
|
<key>CFBundleTypeExtensions</key>
|
||||||
<string>image/png</string>
|
<array>
|
||||||
</array>
|
<string>jpg</string>
|
||||||
<key>CFBundleTypeRole</key>
|
<string>jpeg</string>
|
||||||
<string>Viewer</string>
|
<string>jfif</string>
|
||||||
</dict>
|
</array>
|
||||||
<!-- WebP -->
|
<key>CFBundleTypeMIMETypes</key>
|
||||||
<dict>
|
<array>
|
||||||
<key>CFBundleTypeName</key>
|
<string>image/jpeg</string>
|
||||||
<string>WebP Image</string>
|
</array>
|
||||||
<key>CFBundleTypeExtensions</key>
|
<key>CFBundleTypeRole</key>
|
||||||
<array>
|
<string>Viewer</string>
|
||||||
<string>webp</string>
|
</dict>
|
||||||
</array>
|
<!-- PNG -->
|
||||||
<key>CFBundleTypeMIMETypes</key>
|
<dict>
|
||||||
<array>
|
<key>CFBundleTypeName</key>
|
||||||
<string>image/webp</string>
|
<string>PNG Image</string>
|
||||||
</array>
|
<key>CFBundleTypeExtensions</key>
|
||||||
<key>CFBundleTypeRole</key>
|
<array>
|
||||||
<string>Viewer</string>
|
<string>png</string>
|
||||||
</dict>
|
</array>
|
||||||
<!-- GIF -->
|
<key>CFBundleTypeMIMETypes</key>
|
||||||
<dict>
|
<array>
|
||||||
<key>CFBundleTypeName</key>
|
<string>image/png</string>
|
||||||
<string>GIF Image</string>
|
</array>
|
||||||
<key>CFBundleTypeExtensions</key>
|
<key>CFBundleTypeRole</key>
|
||||||
<array>
|
<string>Viewer</string>
|
||||||
<string>gif</string>
|
</dict>
|
||||||
</array>
|
<!-- WebP -->
|
||||||
<key>CFBundleTypeMIMETypes</key>
|
<dict>
|
||||||
<array>
|
<key>CFBundleTypeName</key>
|
||||||
<string>image/gif</string>
|
<string>WebP Image</string>
|
||||||
</array>
|
<key>CFBundleTypeExtensions</key>
|
||||||
<key>CFBundleTypeRole</key>
|
<array>
|
||||||
<string>Viewer</string>
|
<string>webp</string>
|
||||||
</dict>
|
</array>
|
||||||
<!-- SVG -->
|
<key>CFBundleTypeMIMETypes</key>
|
||||||
<dict>
|
<array>
|
||||||
<key>CFBundleTypeName</key>
|
<string>image/webp</string>
|
||||||
<string>SVG Image</string>
|
</array>
|
||||||
<key>CFBundleTypeExtensions</key>
|
<key>CFBundleTypeRole</key>
|
||||||
<array>
|
<string>Viewer</string>
|
||||||
<string>svg</string>
|
</dict>
|
||||||
</array>
|
<!-- GIF -->
|
||||||
<key>CFBundleTypeMIMETypes</key>
|
<dict>
|
||||||
<array>
|
<key>CFBundleTypeName</key>
|
||||||
<string>image/svg+xml</string>
|
<string>GIF Image</string>
|
||||||
</array>
|
<key>CFBundleTypeExtensions</key>
|
||||||
<key>CFBundleTypeRole</key>
|
<array>
|
||||||
<string>Viewer</string>
|
<string>gif</string>
|
||||||
</dict>
|
</array>
|
||||||
</array>
|
<key>CFBundleTypeMIMETypes</key>
|
||||||
</dict>
|
<array>
|
||||||
</plist>
|
<string>image/gif</string>
|
||||||
|
</array>
|
||||||
|
<key>CFBundleTypeRole</key>
|
||||||
|
<string>Viewer</string>
|
||||||
|
</dict>
|
||||||
|
<!-- SVG -->
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleTypeName</key>
|
||||||
|
<string>SVG Image</string>
|
||||||
|
<key>CFBundleTypeExtensions</key>
|
||||||
|
<array>
|
||||||
|
<string>svg</string>
|
||||||
|
</array>
|
||||||
|
<key>CFBundleTypeMIMETypes</key>
|
||||||
|
<array>
|
||||||
|
<string>image/svg+xml</string>
|
||||||
|
</array>
|
||||||
|
<key>CFBundleTypeRole</key>
|
||||||
|
<string>Viewer</string>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
<name xml:lang="ja">Pineapple Pictures</name>
|
<name xml:lang="ja">Pineapple Pictures</name>
|
||||||
<name xml:lang="nl">Pineapple Afbeeldingen</name>
|
<name xml:lang="nl">Pineapple Afbeeldingen</name>
|
||||||
<name xml:lang="ru">Pineapple Pictures</name>
|
<name xml:lang="ru">Pineapple Pictures</name>
|
||||||
|
<name xml:lang="ta">அன்னாசி படங்கள்</name>
|
||||||
<name xml:lang="uk">Pineapple Pictures</name>
|
<name xml:lang="uk">Pineapple Pictures</name>
|
||||||
<name xml:lang="zh-CN">菠萝看图</name>
|
<name xml:lang="zh-CN">菠萝看图</name>
|
||||||
<summary>Image Viewer</summary>
|
<summary>Image Viewer</summary>
|
||||||
@@ -13,6 +14,7 @@
|
|||||||
<summary xml:lang="ja">画像ビューアー</summary>
|
<summary xml:lang="ja">画像ビューアー</summary>
|
||||||
<summary xml:lang="nl">Afbeeldingsweergave</summary>
|
<summary xml:lang="nl">Afbeeldingsweergave</summary>
|
||||||
<summary xml:lang="ru">Просмотр изображений</summary>
|
<summary xml:lang="ru">Просмотр изображений</summary>
|
||||||
|
<summary xml:lang="ta">பட பார்வையாளர்</summary>
|
||||||
<summary xml:lang="uk">Переглядач зображень</summary>
|
<summary xml:lang="uk">Переглядач зображень</summary>
|
||||||
<summary xml:lang="zh-CN">图像查看器</summary>
|
<summary xml:lang="zh-CN">图像查看器</summary>
|
||||||
<metadata_license>CC0-1.0</metadata_license>
|
<metadata_license>CC0-1.0</metadata_license>
|
||||||
@@ -23,6 +25,7 @@
|
|||||||
<p xml:lang="ja">Pineapple Picturesは、ズームイン時に便利なナビゲーションサムネイルを備えた軽量で使いやすい画像ビューアです。画像管理のサポートは含まれていません。</p>
|
<p xml:lang="ja">Pineapple Picturesは、ズームイン時に便利なナビゲーションサムネイルを備えた軽量で使いやすい画像ビューアです。画像管理のサポートは含まれていません。</p>
|
||||||
<p xml:lang="nl">Pineapple Afbeeldingen is een licht en eenvoudig te gebruiken afbeeldingsweergaveprogramma met miniatuurnavigatie na inzoomen. Het programma heeft echter geen fotobeheermogelijkheid.</p>
|
<p xml:lang="nl">Pineapple Afbeeldingen is een licht en eenvoudig te gebruiken afbeeldingsweergaveprogramma met miniatuurnavigatie na inzoomen. Het programma heeft echter geen fotobeheermogelijkheid.</p>
|
||||||
<p xml:lang="ru">Pineapple Pictures - это легкий и простой в использовании просмотрщик изображений, оснащенный удобной навигацией по миниатюрам при увеличении масштаба и не содержащий никакой поддержки управления изображениями.</p>
|
<p xml:lang="ru">Pineapple Pictures - это легкий и простой в использовании просмотрщик изображений, оснащенный удобной навигацией по миниатюрам при увеличении масштаба и не содержащий никакой поддержки управления изображениями.</p>
|
||||||
|
<p xml:lang="ta">அன்னாசி படங்கள் ஒரு இலகுரக மற்றும் பயன்படுத்த எளிதான பட பார்வையாளராகும், இது பெரிதாக்கும்போது ஒரு எளிமையான வழிசெலுத்தல் சிறுபடத்துடன் வருகிறது, மேலும் எந்த பட மேலாண்மை ஆதரவையும் கொண்டிருக்கவில்லை.</p>
|
||||||
<p xml:lang="uk">Pineapple Pictures – це легкий і простий у використанні переглядач зображень, який постачається зі зручною навігаційною мініатюрою при збільшенні масштабу і не містить жодної підтримки керування зображеннями.</p>
|
<p xml:lang="uk">Pineapple Pictures – це легкий і простий у використанні переглядач зображень, який постачається зі зручною навігаційною мініатюрою при збільшенні масштабу і не містить жодної підтримки керування зображеннями.</p>
|
||||||
<p xml:lang="zh-CN">菠萝看图是一个轻量级易用的图像查看器,在图片放大时提供了方便的鸟瞰导航功能,且不包含任何图片管理功能。</p>
|
<p xml:lang="zh-CN">菠萝看图是一个轻量级易用的图像查看器,在图片放大时提供了方便的鸟瞰导航功能,且不包含任何图片管理功能。</p>
|
||||||
</description>
|
</description>
|
||||||
@@ -48,6 +51,7 @@
|
|||||||
<caption xml:lang="ja">画像ファイル読み込み時のメインウィンドウ</caption>
|
<caption xml:lang="ja">画像ファイル読み込み時のメインウィンドウ</caption>
|
||||||
<caption xml:lang="nl">Hoofdvenster na het laden van een afbeelding</caption>
|
<caption xml:lang="nl">Hoofdvenster na het laden van een afbeelding</caption>
|
||||||
<caption xml:lang="ru">Основное окно после загрузки файла изображения</caption>
|
<caption xml:lang="ru">Основное окно после загрузки файла изображения</caption>
|
||||||
|
<caption xml:lang="ta">ஒரு படக் கோப்பு ஏற்றப்படும் போது முதன்மையான சாளரம்</caption>
|
||||||
<caption xml:lang="uk">Головне вікно після завантаження файлу зображення</caption>
|
<caption xml:lang="uk">Головне вікно після завантаження файлу зображення</caption>
|
||||||
<caption xml:lang="zh-CN">加载图片后的主窗口</caption>
|
<caption xml:lang="zh-CN">加载图片后的主窗口</caption>
|
||||||
<image type="source" width="1503" height="640">https://pineapple-pictures.sourceforge.io/ppic-gui-static.png</image>
|
<image type="source" width="1503" height="640">https://pineapple-pictures.sourceforge.io/ppic-gui-static.png</image>
|
||||||
@@ -58,6 +62,7 @@
|
|||||||
<caption xml:lang="ja">ラスター画像の拡大</caption>
|
<caption xml:lang="ja">ラスター画像の拡大</caption>
|
||||||
<caption xml:lang="nl">Inzoomen op een roosterafbeelding</caption>
|
<caption xml:lang="nl">Inzoomen op een roosterafbeelding</caption>
|
||||||
<caption xml:lang="ru">Масштабирование растрового изображения</caption>
|
<caption xml:lang="ru">Масштабирование растрового изображения</caption>
|
||||||
|
<caption xml:lang="ta">ராச்டர் படத்தில் பெரிதாக்குதல்</caption>
|
||||||
<caption xml:lang="uk">Масштабування растрового зображення</caption>
|
<caption xml:lang="uk">Масштабування растрового зображення</caption>
|
||||||
<caption xml:lang="zh-CN">放大浏览位图</caption>
|
<caption xml:lang="zh-CN">放大浏览位图</caption>
|
||||||
<image type="source" width="771" height="553">https://pineapple-pictures.sourceforge.io/ppic-zoom-raster.png</image>
|
<image type="source" width="771" height="553">https://pineapple-pictures.sourceforge.io/ppic-zoom-raster.png</image>
|
||||||
@@ -68,12 +73,86 @@
|
|||||||
<caption xml:lang="ja">ベクター画像の拡大</caption>
|
<caption xml:lang="ja">ベクター画像の拡大</caption>
|
||||||
<caption xml:lang="nl">Inzoomen op een vectorafbeelding</caption>
|
<caption xml:lang="nl">Inzoomen op een vectorafbeelding</caption>
|
||||||
<caption xml:lang="ru">Масштабирование векторного изображения</caption>
|
<caption xml:lang="ru">Масштабирование векторного изображения</caption>
|
||||||
|
<caption xml:lang="ta">ஒரு திசையன் படத்தில் பெரிதாக்குதல்</caption>
|
||||||
<caption xml:lang="uk">Масштабування векторного зображення</caption>
|
<caption xml:lang="uk">Масштабування векторного зображення</caption>
|
||||||
<caption xml:lang="zh-CN">放大浏览矢量图</caption>
|
<caption xml:lang="zh-CN">放大浏览矢量图</caption>
|
||||||
<image type="source" width="771" height="553">https://pineapple-pictures.sourceforge.io/ppic-zoom-svg.png</image>
|
<image type="source" width="771" height="553">https://pineapple-pictures.sourceforge.io/ppic-zoom-svg.png</image>
|
||||||
</screenshot>
|
</screenshot>
|
||||||
</screenshots>
|
</screenshots>
|
||||||
<releases>
|
<releases>
|
||||||
|
<release type="stable" version="1.1.0" date="2025-07-06T00:00:00Z">
|
||||||
|
<description>
|
||||||
|
<p>This release adds the following features:</p>
|
||||||
|
<ul>
|
||||||
|
<li>New option to disable built-in close window animation</li>
|
||||||
|
<li>New option to disable gallery looping</li>
|
||||||
|
<li>Support load m3u8 as image gallery playlist</li>
|
||||||
|
</ul>
|
||||||
|
<p>This release includes the following change:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Drop Qt 5 support</li>
|
||||||
|
</ul>
|
||||||
|
<p>With contributions from:</p>
|
||||||
|
<p>Heimen Stoffels, albanobattistella, தமிழ்நேரம்</p>
|
||||||
|
</description>
|
||||||
|
</release>
|
||||||
|
<release type="stable" version="1.0.0" date="2025-05-03T00:00:00Z">
|
||||||
|
<description>
|
||||||
|
<p>This release adds the following features:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Support enforces windowed mode on start-up</li>
|
||||||
|
<li>Reload image automatically when current image gets updated</li>
|
||||||
|
</ul>
|
||||||
|
<p>This release fixes the following bug:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Display correct text language on macOS</li>
|
||||||
|
</ul>
|
||||||
|
<p>This release includes the following changes:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Use native text for shortcut editor's label</li>
|
||||||
|
<li>Display native commandline message when possible</li>
|
||||||
|
<li>Merge Qt translations into app applications as well</li>
|
||||||
|
</ul>
|
||||||
|
<p>With contributions from:</p>
|
||||||
|
<p>Heimen Stoffels, albanobattistella, mmahhi</p>
|
||||||
|
</description>
|
||||||
|
</release>
|
||||||
|
<release type="stable" version="0.9.2" date="2025-03-05T00:00:00Z">
|
||||||
|
<description>
|
||||||
|
<p>This release fixes the following bug:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Refer to the right exiv2 CMake module so it can be found on Linux</li>
|
||||||
|
</ul>
|
||||||
|
<p>This release includes the following changes:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Convert DEP5 to REUSE.toml for better REUSE compliance</li>
|
||||||
|
<li>Update translations</li>
|
||||||
|
</ul>
|
||||||
|
<p>With contributions from:</p>
|
||||||
|
<p>Pino Toscano, TamilNeram</p>
|
||||||
|
</description>
|
||||||
|
</release>
|
||||||
|
<release type="stable" version="0.9.1" date="2025-01-25T00:00:00Z">
|
||||||
|
<description>
|
||||||
|
<p>This release adds the following features:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Option to double-click to fullscreen</li>
|
||||||
|
<li>Build-time option to embed translation resources</li>
|
||||||
|
</ul>
|
||||||
|
<p>This release fixes the following bugs:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Fix window size not adjusted when open file on macOS</li>
|
||||||
|
<li>Should center window according to available screen geometry</li>
|
||||||
|
</ul>
|
||||||
|
<p>This release includes the following changes:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Change close window bahavior on macOS</li>
|
||||||
|
<li>Update translations</li>
|
||||||
|
</ul>
|
||||||
|
<p>With contributions from:</p>
|
||||||
|
<p>albanobattistella, Sabri Ünal</p>
|
||||||
|
</description>
|
||||||
|
</release>
|
||||||
<release type="stable" version="0.9.0" date="2024-12-08T00:00:00Z">
|
<release type="stable" version="0.9.0" date="2024-12-08T00:00:00Z">
|
||||||
<description>
|
<description>
|
||||||
<p>This release adds the following features:</p>
|
<p>This release adds the following features:</p>
|
||||||
@@ -168,7 +247,7 @@
|
|||||||
<description>
|
<description>
|
||||||
<p>This release adds the following features:</p>
|
<p>This release adds the following features:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>TIF and TIFF format files in the same folder will now be automatedly added to the gallery</li>
|
<li>TIF and TIFF format files in the same folder will now be automatically added to the gallery</li>
|
||||||
<li>Built-in window resizing now also supports Linux desktop. (macOS might also works as well)</li>
|
<li>Built-in window resizing now also supports Linux desktop. (macOS might also works as well)</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>This release fixes the following bugs:</p>
|
<p>This release fixes the following bugs:</p>
|
||||||
|
|||||||
52
dist/appstream/po/net.blumia.pineapple-pictures.metainfo.ta.po
vendored
Normal file
52
dist/appstream/po/net.blumia.pineapple-pictures.metainfo.ta.po
vendored
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"POT-Creation-Date: 2023-08-22 18:49中国标准时间\n"
|
||||||
|
"PO-Revision-Date: 2025-01-28 09:01+0000\n"
|
||||||
|
"Last-Translator: தமிழ்நேரம் <anishprabu.t@gmail.com>\n"
|
||||||
|
"Language-Team: Tamil <https://hosted.weblate.org/projects/pineapple-pictures/"
|
||||||
|
"appstream-metadata/ta/>\n"
|
||||||
|
"Language: ta\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: Weblate 5.10-dev\n"
|
||||||
|
|
||||||
|
#. (itstool) path: component/name
|
||||||
|
#: net.blumia.pineapple-pictures.metainfo.xml:7
|
||||||
|
msgid "Pineapple Pictures"
|
||||||
|
msgstr "அன்னாசி படங்கள்"
|
||||||
|
|
||||||
|
#. (itstool) path: component/summary
|
||||||
|
#: net.blumia.pineapple-pictures.metainfo.xml:9
|
||||||
|
msgid "Image Viewer"
|
||||||
|
msgstr "பட பார்வையாளர்"
|
||||||
|
|
||||||
|
#. (itstool) path: description/p
|
||||||
|
#: net.blumia.pineapple-pictures.metainfo.xml:12
|
||||||
|
msgid "Pineapple Pictures is a lightweight and easy-to-use image viewer that comes with a handy navigation thumbnail when zoom-in, and doesn't contain any image management support."
|
||||||
|
msgstr ""
|
||||||
|
"அன்னாசி படங்கள் ஒரு இலகுரக மற்றும் பயன்படுத்த எளிதான பட பார்வையாளராகும், இது "
|
||||||
|
"பெரிதாக்கும்போது ஒரு எளிமையான வழிசெலுத்தல் சிறுபடத்துடன் வருகிறது, மேலும் எந்த பட "
|
||||||
|
"மேலாண்மை ஆதரவையும் கொண்டிருக்கவில்லை."
|
||||||
|
|
||||||
|
#. (itstool) path: screenshot/caption
|
||||||
|
#: net.blumia.pineapple-pictures.metainfo.xml:17
|
||||||
|
msgid "Main window when an image file is loaded"
|
||||||
|
msgstr "ஒரு படக் கோப்பு ஏற்றப்படும் போது முதன்மையான சாளரம்"
|
||||||
|
|
||||||
|
#. (itstool) path: screenshot/caption
|
||||||
|
#: net.blumia.pineapple-pictures.metainfo.xml:22
|
||||||
|
msgid "Zooming in a raster image"
|
||||||
|
msgstr "ராச்டர் படத்தில் பெரிதாக்குதல்"
|
||||||
|
|
||||||
|
#. (itstool) path: screenshot/caption
|
||||||
|
#: net.blumia.pineapple-pictures.metainfo.xml:27
|
||||||
|
msgid "Zooming in a vector image"
|
||||||
|
msgstr "ஒரு திசையன் படத்தில் பெரிதாக்குதல்"
|
||||||
|
|
||||||
|
#. (itstool) path: component/developer_name
|
||||||
|
#: net.blumia.pineapple-pictures.metainfo.xml:34
|
||||||
|
msgid "Gary (BLumia) Wang et al."
|
||||||
|
msgstr "கேரி (ப்ளூமியா) வாங் மற்றும் பலர்."
|
||||||
@@ -1,98 +1,101 @@
|
|||||||
# SPDX-FileCopyrightText: 2024 Gary Wang <git@blumia.net>
|
# SPDX-FileCopyrightText: 2025 Gary Wang <git@blumia.net>
|
||||||
#
|
#
|
||||||
# SPDX-License-Identifier: MIT
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
QT += core widgets gui svg
|
QT += core widgets gui svg svgwidgets
|
||||||
greaterThan(QT_MAJOR_VERSION, 5): QT += svgwidgets
|
|
||||||
|
TARGET = ppic
|
||||||
TARGET = ppic
|
TEMPLATE = app
|
||||||
TEMPLATE = app
|
DEFINES += PPIC_VERSION_STRING=\\\"x.y.z\\\"
|
||||||
DEFINES += PPIC_VERSION_STRING=\\\"x.y.z\\\"
|
|
||||||
|
win32 {
|
||||||
# The following define makes your compiler emit warnings if you use
|
DEFINES += FLAG_PORTABLE_MODE_SUPPORT=1
|
||||||
# any feature of Qt which has been marked as deprecated (the exact warnings
|
}
|
||||||
# depend on your compiler). Please consult the documentation of the
|
|
||||||
# deprecated API in order to know how to port your code away from it.
|
# The following define makes your compiler emit warnings if you use
|
||||||
DEFINES += QT_DEPRECATED_WARNINGS
|
# any feature of Qt which has been marked as deprecated (the exact warnings
|
||||||
|
# depend on your compiler). Please consult the documentation of the
|
||||||
# You can also make your code fail to compile if you use deprecated APIs.
|
# deprecated API in order to know how to port your code away from it.
|
||||||
# In order to do so, uncomment the following line.
|
DEFINES += QT_DEPRECATED_WARNINGS
|
||||||
# You can also select to disable deprecated APIs only up to a certain version of Qt.
|
|
||||||
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
|
# You can also make your code fail to compile if you use deprecated APIs.
|
||||||
|
# In order to do so, uncomment the following line.
|
||||||
CONFIG += c++17 lrelease embed_translations
|
# You can also select to disable deprecated APIs only up to a certain version of Qt.
|
||||||
|
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
|
||||||
SOURCES += \
|
|
||||||
app/aboutdialog.cpp \
|
CONFIG += c++17 lrelease embed_translations
|
||||||
app/main.cpp \
|
|
||||||
app/framelesswindow.cpp \
|
SOURCES += \
|
||||||
app/mainwindow.cpp \
|
app/aboutdialog.cpp \
|
||||||
app/graphicsview.cpp \
|
app/main.cpp \
|
||||||
app/bottombuttongroup.cpp \
|
app/framelesswindow.cpp \
|
||||||
app/graphicsscene.cpp \
|
app/mainwindow.cpp \
|
||||||
app/navigatorview.cpp \
|
app/graphicsview.cpp \
|
||||||
app/opacityhelper.cpp \
|
app/bottombuttongroup.cpp \
|
||||||
app/toolbutton.cpp \
|
app/graphicsscene.cpp \
|
||||||
app/settings.cpp \
|
app/navigatorview.cpp \
|
||||||
app/settingsdialog.cpp \
|
app/opacityhelper.cpp \
|
||||||
app/metadatamodel.cpp \
|
app/toolbutton.cpp \
|
||||||
app/metadatadialog.cpp \
|
app/settings.cpp \
|
||||||
app/exiv2wrapper.cpp \
|
app/settingsdialog.cpp \
|
||||||
app/actionmanager.cpp \
|
app/metadatamodel.cpp \
|
||||||
app/playlistmanager.cpp \
|
app/metadatadialog.cpp \
|
||||||
app/shortcutedit.cpp \
|
app/exiv2wrapper.cpp \
|
||||||
app/fileopeneventhandler.cpp
|
app/actionmanager.cpp \
|
||||||
|
app/playlistmanager.cpp \
|
||||||
HEADERS += \
|
app/shortcutedit.cpp \
|
||||||
app/aboutdialog.h \
|
app/fileopeneventhandler.cpp
|
||||||
app/framelesswindow.h \
|
|
||||||
app/mainwindow.h \
|
HEADERS += \
|
||||||
app/graphicsview.h \
|
app/aboutdialog.h \
|
||||||
app/bottombuttongroup.h \
|
app/framelesswindow.h \
|
||||||
app/graphicsscene.h \
|
app/mainwindow.h \
|
||||||
app/navigatorview.h \
|
app/graphicsview.h \
|
||||||
app/opacityhelper.h \
|
app/bottombuttongroup.h \
|
||||||
app/toolbutton.h \
|
app/graphicsscene.h \
|
||||||
app/settings.h \
|
app/navigatorview.h \
|
||||||
app/settingsdialog.h \
|
app/opacityhelper.h \
|
||||||
app/metadatamodel.h \
|
app/toolbutton.h \
|
||||||
app/metadatadialog.h \
|
app/settings.h \
|
||||||
app/exiv2wrapper.h \
|
app/settingsdialog.h \
|
||||||
app/actionmanager.h \
|
app/metadatamodel.h \
|
||||||
app/playlistmanager.h \
|
app/metadatadialog.h \
|
||||||
app/shortcutedit.h \
|
app/exiv2wrapper.h \
|
||||||
app/fileopeneventhandler.h
|
app/actionmanager.h \
|
||||||
|
app/playlistmanager.h \
|
||||||
TRANSLATIONS = \
|
app/shortcutedit.h \
|
||||||
app/translations/PineapplePictures.ts \
|
app/fileopeneventhandler.h
|
||||||
app/translations/PineapplePictures_zh_CN.ts \
|
|
||||||
app/translations/PineapplePictures_de.ts \
|
TRANSLATIONS = \
|
||||||
app/translations/PineapplePictures_es.ts \
|
app/translations/PineapplePictures_en.ts \
|
||||||
app/translations/PineapplePictures_fr.ts \
|
app/translations/PineapplePictures_zh_CN.ts \
|
||||||
app/translations/PineapplePictures_nb_NO.ts \
|
app/translations/PineapplePictures_de.ts \
|
||||||
app/translations/PineapplePictures_nl.ts \
|
app/translations/PineapplePictures_es.ts \
|
||||||
app/translations/PineapplePictures_ru.ts \
|
app/translations/PineapplePictures_fr.ts \
|
||||||
app/translations/PineapplePictures_si.ts \
|
app/translations/PineapplePictures_nb_NO.ts \
|
||||||
app/translations/PineapplePictures_id.ts
|
app/translations/PineapplePictures_nl.ts \
|
||||||
|
app/translations/PineapplePictures_ru.ts \
|
||||||
# Default rules for deployment.
|
app/translations/PineapplePictures_si.ts \
|
||||||
qnx: target.path = /tmp/$${TARGET}/bin
|
app/translations/PineapplePictures_id.ts
|
||||||
else: unix:!android: target.path = /opt/$${TARGET}/bin
|
|
||||||
!isEmpty(target.path): INSTALLS += target
|
# Default rules for deployment.
|
||||||
|
qnx: target.path = /tmp/$${TARGET}/bin
|
||||||
RESOURCES += \
|
else: unix:!android: target.path = /opt/$${TARGET}/bin
|
||||||
assets/resources.qrc
|
!isEmpty(target.path): INSTALLS += target
|
||||||
|
|
||||||
# Generate from svg:
|
RESOURCES += \
|
||||||
# magick convert -density 512x512 -background none app-icon.svg -define icon:auto-resize app-icon.ico
|
assets/resources.qrc
|
||||||
RC_ICONS = assets/icons/app-icon.ico
|
|
||||||
|
# Generate from svg:
|
||||||
# Windows only, for rc file (we're not going to use the .rc file in this repo)
|
# magick convert -density 512x512 -background none app-icon.svg -define icon:auto-resize app-icon.ico
|
||||||
QMAKE_TARGET_PRODUCT = Pineapple Pictures
|
RC_ICONS = assets/icons/app-icon.ico
|
||||||
QMAKE_TARGET_DESCRIPTION = Pineapple Pictures - Image Viewer
|
|
||||||
QMAKE_TARGET_COPYRIGHT = MIT/Expat License - Copyright (C) 2024 Gary Wang
|
# Windows only, for rc file (we're not going to use the .rc file in this repo)
|
||||||
|
QMAKE_TARGET_PRODUCT = Pineapple Pictures
|
||||||
# MSVC only, since QMake doesn't have a CMAKE_CXX_STANDARD_LIBRARIES or cpp_winlibs similar thing
|
QMAKE_TARGET_DESCRIPTION = Pineapple Pictures - Image Viewer
|
||||||
win32-msvc* {
|
QMAKE_TARGET_COPYRIGHT = MIT/Expat License - Copyright (C) 2024 Gary Wang
|
||||||
LIBS += -luser32
|
|
||||||
}
|
# MSVC only, since QMake doesn't have a CMAKE_CXX_STANDARD_LIBRARIES or cpp_winlibs similar thing
|
||||||
|
win32-msvc* {
|
||||||
|
LIBS += -luser32
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user